/* Mira Engineers — Main Stylesheet
 * Generated from miraengineers_final.html
 * To migrate images: search for data-migrate attributes in the HTML
 */


:root{--ink:#0b0f14;--ink-p:#161c24;--ink-r:#1c2330;--rule:rgba(255,255,255,0.07);--orange:#d4622a;--orange-s:rgba(212,98,42,0.10);--gold:#b89a5c;--white:#ede8e0;--wm:#a8a39c;--wd:#807a73;--gs:rgba(58,122,74,0.14);--gb:rgba(58,122,74,0.32);--gt:#7abf8a}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--white);font-family:"DM Sans",sans-serif;font-weight:300;font-size:15px;line-height:1.7;overflow-x:hidden}
.ey{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--orange);margin-bottom:14px;display:block}
h2.st{font-family:"Instrument Serif",serif;font-size:clamp(32px,4vw,52px);line-height:1.1;color:var(--white);margin-bottom:16px;font-weight:400}
h2.st em{font-style:italic;color:var(--gold)}
.sb{color:var(--wm);font-size:16px;max-width:520px;line-height:1.8}
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;background:rgba(11,15,20,0.85);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s}
nav.scrolled{background:rgba(11,15,20,0.98);border-bottom:1px solid var(--rule);box-shadow:0 4px 20px rgba(0,0,0,0.4)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-logo img{width:34px;height:34px;object-fit:contain;border-radius:50%}
.nav-logo span{font-family:"Instrument Serif",serif;font-size:17px;color:var(--white)}
.nl{display:flex;gap:22px;list-style:none;align-items:center}
.nl a{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--wm);text-decoration:none;transition:color .2s}
.nl a:hover{color:var(--white)}
.nc{border:1px solid var(--orange);color:var(--orange)!important;padding:8px 14px;transition:background .2s!important,color .2s!important}
.nc:hover{background:var(--orange)!important;color:var(--ink)!important}
.lang-switcher{position:relative;display:flex;align-items:center;margin-left:8px}
.lang-current{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--wm);background:none;border:1px solid var(--rule);padding:5px 10px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:border-color .2s}
.lang-current:hover{border-color:var(--orange);color:var(--white)}
.lang-current::after{content:"▾";font-size:10px;opacity:.6}
.lang-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--ink-r);border:1px solid var(--rule);min-width:140px;z-index:10}
.lang-dropdown.open{display:block}
.lang-option{display:flex;align-items:center;gap:10px;padding:10px 14px;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wm);text-decoration:none;transition:background .15s,color .15s}
.lang-option:hover,.lang-option.active{background:var(--ink-p);color:var(--white)}
.lang-option.active .lang-code{color:var(--gt)}
.lang-code{color:var(--orange);min-width:22px}
.mobile-menu-btn{display:none;background:none;border:1px solid var(--rule);color:var(--white);font-size:20px;cursor:pointer;padding:6px 12px;line-height:1;border-radius:4px}
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:130px 52px 80px;align-items:center;gap:60px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.hero::after{content:"";position:absolute;top:0;right:0;width:55%;height:100%;background:radial-gradient(ellipse 70% 80% at 80% 40%,rgba(212,98,42,0.05) 0%,transparent 70%);pointer-events:none}
.hero-left{position:relative;z-index:1}
.trust-pills{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.tp{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:5px 11px;border:1px solid var(--rule);color:var(--wm)}
.tp.v{border-color:var(--gb);color:var(--gt);background:var(--gs)}
.tp.gp{border-color:rgba(184,154,92,0.4);color:var(--gold);background:rgba(184,154,92,0.08)}
.hero h1{font-family:"Instrument Serif",serif;font-size:clamp(36px,4.6vw,62px);line-height:1.08;font-weight:400;margin-bottom:16px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:15px;color:var(--wm);margin-bottom:8px;line-height:1.7;max-width:520px}
.trust-line{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:1.5px;color:var(--gt);margin-bottom:28px;padding:8px 14px;border:1px solid var(--gb);background:var(--gs);display:inline-block}
.hero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:32px}
.btn-p{background:var(--orange);color:var(--ink);padding:13px 26px;text-align:center;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:500;display:inline-block;transition:opacity .2s,transform .15s}
.btn-p:hover{opacity:.88;transform:translateY(-1px)}
.btn-g{color:var(--wm);padding:13px 0;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:color .2s;border-bottom:1px solid var(--rule)}
.btn-g:hover{color:var(--white)}
.hero-right{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px}
.hp{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:grayscale(10%);transition:filter .3s}
.hp:hover{filter:grayscale(0%)}
.hp.s2{grid-column:span 2;aspect-ratio:2/1}
.ticker{background:var(--ink-p);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow:hidden;padding:11px 0}
.tt{display:flex;animation:ticker 38s linear infinite;white-space:nowrap}
.tt span{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--wd);padding:0 26px}
.tt span.sep{color:var(--orange);padding:0}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.export-band{background:var(--ink-r);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:52px}
.eb-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.eb-left h2{font-family:"Instrument Serif",serif;font-size:clamp(28px,3vw,42px);line-height:1.1;color:var(--white);margin-bottom:12px;font-weight:400}
.eb-left h2 em{font-style:italic;color:var(--gold)}
.eb-left p{color:var(--wm);font-size:15px;line-height:1.8;margin-bottom:20px}
.eb-list{display:flex;flex-direction:column;gap:6px}
.eb-item{font-size:13px;color:var(--wm);display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.eb-item::before{content:"→";color:var(--orange);font-size:12px;flex-shrink:0}
.eb-item:last-child{border-bottom:none}
.eb-right{display:flex;flex-direction:column;gap:2px}
.eb-card{background:var(--ink-p);border:1px solid var(--rule);padding:20px 22px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s}
.eb-card:hover{border-color:rgba(212,98,42,.3)}
.eb-card-icon{font-size:18px;opacity:.8;flex-shrink:0}
.eb-card-title{font-size:13px;font-weight:500;color:var(--white);margin-bottom:4px}
.eb-card-body{font-size:12px;color:var(--wm);line-height:1.65}
.cb{background:var(--ink-p);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 52px}
.cb-label{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--wd);text-align:center;margin-bottom:16px}
.cb-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cb-tag{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wm);padding:6px 14px;border:1px solid var(--rule);transition:border-color .2s,color .2s}
.cb-tag:hover{border-color:rgba(212,98,42,.4);color:var(--white)}
section{padding:84px 52px}
section.alt{background:var(--ink-p)}
.sh{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:44px;align-items:end}
.cap-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule)}
.cap-card{background:var(--ink-p);padding:28px 22px;transition:background .2s;position:relative;overflow:hidden}
.cap-card:hover{background:var(--ink-r)}
.cap-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.cap-card:hover::after{transform:scaleX(1)}
.cap-icon{font-size:22px;margin-bottom:14px;display:block}
.cap-title{font-size:13px;font-weight:500;color:var(--white);margin-bottom:7px}
.cap-body{font-size:12px;color:var(--wm);line-height:1.7}
.hww{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background:var(--rule)}
.hww-step{background:var(--ink-p);padding:24px 18px;text-align:center;transition:background .2s;position:relative;overflow:hidden}
.hww-step:hover,.hww-step::after{background:var(--ink-r)}
.hww-step::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .3s;transform-origin:left;background:var(--orange)}
.hww-step:hover::after{transform:scaleX(1)}
.hww-n{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;color:var(--orange);margin-bottom:9px}
.hww-icon{font-size:20px;margin-bottom:9px;display:block}
.hww-title{font-size:12px;font-weight:500;color:var(--white);margin-bottom:5px}
.hww-body{font-size:11px;color:var(--wd);line-height:1.6}
.quality-intro{background:var(--ink-r);border:1px solid var(--rule);border-left:3px solid var(--orange);padding:24px 28px;margin-bottom:36px}
.qi-text{font-family:"Instrument Serif",serif;font-style:italic;font-size:18px;color:var(--gold);line-height:1.5}
.pf{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin-bottom:44px}
.pf::before{content:"";position:absolute;top:35px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--orange),transparent)}
.pf-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 10px}
.pf-dot{width:70px;height:70px;border:1px solid var(--rule);background:var(--ink-r);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:13px;position:relative;z-index:1;transition:border-color .3s,background .3s}
.pf-step:hover .pf-dot{border-color:var(--orange);background:var(--orange-s)}
.pf-name{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);margin-bottom:6px}
.pf-ctrl{font-size:10px;color:var(--wd);background:var(--ink-r);padding:3px 7px;border:1px solid var(--rule);margin-top:3px}
.og{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule)}
.oc{background:var(--ink-p);padding:26px 22px;transition:background .2s}
.oc:hover{background:var(--ink-r)}
.oc-n{font-family:"Instrument Serif",serif;font-size:36px;color:var(--orange);line-height:1;margin-bottom:8px}
.oc-title{font-weight:500;font-size:13px;color:var(--white);margin-bottom:6px}
.oc-body{font-size:12px;color:var(--wm);line-height:1.7}
.dev-box{background:var(--ink-r);border:1px solid var(--rule);border-left:3px solid var(--orange);padding:28px 34px;margin-top:32px}
.dev-title{font-family:"Instrument Serif",serif;font-size:19px;color:var(--white);margin-bottom:6px}
.dev-sub{font-size:13px;color:var(--wm);margin-bottom:20px}
.dev-steps-interactive{display:flex;flex-direction:column;gap:2px}
.dsi-step{background:var(--ink-p);cursor:pointer;transition:background .2s;border-left:3px solid transparent}
.dsi-step:hover,.dsi-step.open{background:var(--ink-r);border-left-color:var(--orange)}
.dsi-top{display:flex;align-items:center;gap:14px;padding:16px 18px}
.dsi-n{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;color:var(--orange);min-width:36px}
.dsi-t{font-size:12px;font-weight:500;color:var(--white);flex:1}
.dsi-chevron{font-size:16px;color:var(--orange);transition:transform .2s;min-width:20px;text-align:center}
.dsi-step.open .dsi-chevron{transform:rotate(45deg)}
.dsi-detail{display:none;padding:0 18px 16px 68px;font-size:12px;color:var(--wm);line-height:1.75}
.dsi-step.open .dsi-detail{display:block}
.qv-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule)}
.qv-card{background:var(--ink-p);display:grid;grid-template-columns:180px 1fr;transition:background .2s}
.qv-card:hover{background:var(--ink-r)}
.qv-img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(20%);transition:filter .3s;min-height:200px}
.qv-card:hover .qv-img{filter:grayscale(0%)}
.qv-content{padding:28px 26px}
.qv-badge{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);border:1px solid rgba(212,98,42,.35);padding:3px 9px;display:inline-block;margin-bottom:10px}
.qv-title{font-weight:500;font-size:15px;color:var(--white);margin-bottom:8px}
.qv-body{font-size:12px;color:var(--wm);line-height:1.75}
.timeline-wrap{overflow-x:auto}
.timeline-table{width:100%;border-collapse:collapse;background:var(--ink-p)}
.timeline-table thead tr{background:var(--ink-r)}
.timeline-table th{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);padding:14px 20px;text-align:left;border-bottom:2px solid var(--orange)}
.timeline-table td{padding:16px 20px;font-size:13px;color:var(--wm);border-bottom:1px solid var(--rule);vertical-align:top}
.timeline-table td:first-child{color:var(--white);font-weight:500;white-space:nowrap}
.timeline-table tbody tr:hover td{background:var(--ink-r);color:var(--white)}
.tl-n{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1px;color:var(--orange);margin-right:8px}
.tl-time{font-family:"DM Mono",monospace;font-size:11px;color:var(--white);letter-spacing:1px;white-space:nowrap}
.tl-ongoing td{background:var(--ink-r)}
.tl-ongoing .tl-time{color:var(--gt)}
.dfm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule)}
.dfm-card{background:var(--ink-p);padding:0;transition:background .2s;display:flex;flex-direction:column;overflow:hidden}
.dfm-card:hover{background:var(--ink-r)}
.dfm-header{padding:28px 26px 0}
.dfm-icon{font-size:24px;margin-bottom:12px}
.dfm-title{font-weight:500;font-size:14px;color:var(--white);margin-bottom:8px;line-height:1.3}
.dfm-body{font-size:12px;color:var(--wm);line-height:1.75;flex:1;padding:0 26px}
.dfm-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;margin-top:16px;background:rgba(255,255,255,0.03);border-top:1px solid var(--rule)}
.dfm-pages{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd)}
.dfm-dl{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);text-decoration:none;display:flex;align-items:center;gap:5px;transition:color .2s}
.dfm-dl:hover{color:var(--white)}
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule)}
.cert-card{background:var(--ink-p);padding:26px 22px;transition:background .2s}
.cert-card:hover{background:var(--ink-r)}
.cert-badge{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:4px 9px;border:1px solid rgba(212,98,42,.35);color:var(--orange);display:inline-block;margin-bottom:12px}
.cert-badge.gb{border-color:rgba(184,154,92,.4);color:var(--gold)}
.cert-badge.ib{border-color:rgba(100,160,220,.4);color:#7ab8e8}
.cert-title{font-weight:500;font-size:14px;color:var(--white);margin-bottom:7px}
.cert-detail{font-size:12px;color:var(--wm);line-height:1.7}
.cert-num{font-family:"DM Mono",monospace;font-size:10px;color:var(--wd);margin-top:10px}
.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule)}
.aw{background:var(--ink-p);padding:24px 22px;transition:background .2s}
.aw:hover{background:var(--ink-r)}
.aw-org{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.aw-title{font-weight:500;font-size:13px;color:var(--white);margin-bottom:5px}
.aw-body{font-size:12px;color:var(--wm);line-height:1.7}
.testimonial{background:var(--ink-r);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:26px 32px;margin-top:32px}
.t-q{font-family:"Instrument Serif",serif;font-style:italic;font-size:17px;color:var(--gold);line-height:1.6;margin-bottom:10px}
.t-a{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd)}
/* GALLERY — 3 cols on desktop so images show large */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:grayscale(10%);transition:filter .3s,transform .3s}
.gallery img:hover{filter:grayscale(0%);transform:scale(1.03);z-index:2;position:relative}
/* INDUSTRY BAR */
.industry-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--rule);margin-top:2px}
.ib-cell{background:var(--ink-p);padding:14px 16px;text-align:center}
.ib-name{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:5px}
.ib-parts{font-size:11px;color:var(--wd);line-height:1.5}
.mg{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule)}
.mp{background:var(--ink-p);padding:24px}
.mp-t{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:12px;border-bottom:1px solid var(--rule);padding-bottom:8px}
.mr{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.03)}
.mr:last-child{border-bottom:none}
.mr-n{font-size:13px;color:var(--white)}
.mr-q{font-family:"DM Mono",monospace;font-size:11px;color:var(--orange);letter-spacing:1px}
.sus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule)}
.sus-card{background:var(--ink-p);padding:28px 22px;transition:background .2s;display:flex;flex-direction:column}
.sus-card:hover{background:var(--ink-r)}
.sus-icon{font-size:26px;margin-bottom:12px}
.sus-title{font-weight:500;font-size:13px;color:var(--white);margin-bottom:8px}
.sus-body{font-size:12px;color:var(--wm);line-height:1.75;flex:1}
.sus-stat{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule)}
.sus-num{font-family:"Instrument Serif",serif;font-size:22px;color:var(--gt);display:block;margin-bottom:2px}
.sus-label{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--wd);line-height:1.4;display:block}
.map-wrap{background:var(--ink-p);border:1px solid var(--rule);overflow:hidden;margin-bottom:2px}
.world-map-svg{width:100%;height:auto;display:block}
.route-line{stroke-dasharray:5,4;animation:dash 3s linear infinite}
@keyframes dash{to{stroke-dashoffset:-18}}
.export-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--rule)}
.es-card{background:var(--ink-p);padding:22px 18px;text-align:center;transition:background .2s}
.es-card:hover{background:var(--ink-r)}
.es-n{font-family:"Instrument Serif",serif;font-size:26px;color:var(--orange);line-height:1;margin-bottom:6px}
.es-l{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd)}
.filter-signal{text-align:center;padding:32px 52px;background:var(--ink-p);border-top:1px solid var(--rule)}
.filter-signal p{font-size:14px;color:var(--wm);max-width:640px;margin:0 auto;line-height:1.8}
.closing-section{background:var(--ink-r);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:64px 52px;text-align:center}
.closing-section h2{font-family:"Instrument Serif",serif;font-size:clamp(28px,3.5vw,46px);color:var(--white);font-weight:400;margin-bottom:16px;line-height:1.15}
.closing-section h2 em{font-style:italic;color:var(--gold)}
.closing-section p{color:var(--wm);font-size:16px;max-width:600px;margin:0 auto 32px;line-height:1.8}
.closing-list{list-style:none;display:inline-flex;flex-direction:column;gap:8px;text-align:left;margin:0 auto 32px;padding:0}
.closing-list li{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gt);display:flex;gap:10px;align-items:center}
.cl{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}
.contact-left{display:flex;flex-direction:column;gap:11px}
.ca{background:var(--gs);border:1px solid var(--gb);padding:18px 20px;margin-bottom:5px}
.ca-t{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gt);margin-bottom:9px}
.ca-list{display:flex;flex-direction:column;gap:5px}
.ca-item{font-size:12px;color:var(--wm);display:flex;gap:8px;align-items:center}
.ca-item::before{content:"✓";color:var(--gt);font-size:11px}
.cd{background:var(--ink-r);border:1px solid var(--rule);padding:14px 18px;display:flex;gap:12px;align-items:center}
.cd-icon{font-size:16px;opacity:.7;flex-shrink:0}
.cd-l{font-family:"DM Mono",monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--wd);margin-bottom:3px}
.cd-v{font-size:13px;color:var(--white)}
.cd-v a{color:var(--orange);text-decoration:none}
.cd-v a:hover{text-decoration:underline}
form{display:flex;flex-direction:column;gap:10px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input,select,textarea{background:var(--ink-r);border:1px solid var(--rule);color:var(--white);font-family:"DM Sans",sans-serif;font-size:13px;font-weight:300;padding:12px 14px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
input:focus,select:focus,textarea:focus{border-color:rgba(212,98,42,.5)}
input::placeholder,textarea::placeholder{color:var(--wd)}
select option{background:var(--ink-r)}
textarea{resize:vertical;min-height:96px}
.upload-zone{border:1px dashed var(--wd);padding:14px;text-align:center;cursor:pointer;transition:border-color .2s;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd);display:block}
.upload-zone:hover{border-color:var(--orange);color:var(--orange)}
.fs{background:var(--orange);color:var(--ink);border:none;padding:13px 30px;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:opacity .2s,transform .15s;align-self:flex-start}
.fs:hover{opacity:.88;transform:translateY(-1px)}
.fs:disabled{opacity:.6;cursor:not-allowed;transform:none;background:var(--wd);color:var(--white)}
.fs.success{background:var(--green,#3a7a4a);color:var(--white)}

.fn{font-size:11px;color:var(--wd);line-height:1.6}
.fn a{color:var(--orange);text-decoration:none}
footer{background:var(--ink);border-top:1px solid var(--rule);padding:28px 52px;display:flex;flex-direction:column;gap:12px}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-left{display:flex;align-items:center;gap:9px}
.footer-logo-img{width:26px;height:26px;object-fit:contain;border-radius:50%;opacity:.65}
.footer-name{font-family:"Instrument Serif",serif;font-size:15px;color:var(--wm)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--wd);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--rule);padding-top:12px}
.footer-copy{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.8px;color:var(--wd)}
.footer-signal{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gt)}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;z-index:999;inset:0;background:rgba(11,15,20,0.95);backdrop-filter:blur(5px);align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.lightbox.active{display:flex;opacity:1}
.lightbox img{max-width:90%;max-height:90vh;object-fit:contain;box-shadow:0 20px 50px rgba(0,0,0,0.5);border:1px solid var(--rule);border-radius:4px}
.lb-close{position:absolute;top:28px;right:36px;color:var(--white);font-size:34px;cursor:pointer;background:none;border:none;line-height:1;transition:color .2s}
.lb-close:hover{color:var(--orange)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);color:var(--white);font-size:28px;cursor:pointer;background:rgba(11,15,20,0.6);border:1px solid var(--rule);padding:10px 16px;line-height:1;transition:background .2s,color .2s;user-select:none}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{background:var(--orange);color:var(--ink)}
.lb-caption{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:"DM Mono",monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--wm);text-align:center;white-space:nowrap}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){
  nav{padding:0 20px}
  .mobile-menu-btn{display:block}
  .lang-switcher{display:none}
  .nl{display:none;flex-direction:column;position:absolute;top:66px;left:0;right:0;background:rgba(11,15,20,0.98);padding:20px 24px;gap:14px;border-bottom:1px solid var(--rule)}
  .nl.open{display:flex}
  .hero{grid-template-columns:1fr;padding:112px 20px 52px;gap:36px}
  .hero-right{grid-template-columns:1fr 1fr}
  .hp.s2{grid-column:span 2}
  section{padding:48px 20px}
  .cb,.eb-inner{padding:20px;display:flex;flex-direction:column;gap:32px}
  .export-band{padding:40px 20px}
  .sh{grid-template-columns:1fr;gap:16px}
  .hww{grid-template-columns:1fr 1fr 1fr}
  .cap-layout{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:1fr 1fr}
  .awards-grid,.og,.mg,.cl{grid-template-columns:1fr}
  .pf{grid-template-columns:1fr 1fr;gap:18px}
  .pf::before{display:none}
  .gallery{grid-template-columns:1fr 1fr}
  .industry-bar{grid-template-columns:1fr 1fr}
  .fr{grid-template-columns:1fr}
  .qv-grid,.dfm-grid,.sus-grid{grid-template-columns:1fr}
  .qv-card{grid-template-columns:1fr;grid-template-rows:200px auto}
  .export-stats{grid-template-columns:1fr 1fr}
  .closing-section,.filter-signal{padding:44px 20px}
  .footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}
  footer{padding:22px 20px}
  .dsi-detail{padding-left:30px}
}

/* ── Screen-reader only utility ─────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── SVG icon sizing in component slots ─────────────────────────────────── */
.cap-icon svg{display:block;color:var(--orange)}
.hww-icon svg{display:block;color:var(--orange)}
.sus-icon svg{display:block;color:var(--orange)}
.pf-dot svg{color:var(--wm);transition:color .3s}
.pf-step:hover .pf-dot svg{color:var(--orange)}

/* ── Missing mobile grid resets (900px) ─────────────────────────────────── */
@media(max-width:900px){
  .dfm-grid{grid-template-columns:1fr 1fr}
  .sus-grid{grid-template-columns:1fr 1fr}
  .qv-grid{grid-template-columns:1fr}
  .qv-card{grid-template-columns:140px 1fr}
  .industry-bar{grid-template-columns:repeat(2,1fr)}
  .export-stats{grid-template-columns:repeat(3,1fr)}
  .closing-section{padding:44px 20px}
  .filter-signal{padding:24px 20px}
  .eb-inner{grid-template-columns:1fr}
}

/* ── Small phone (≤ 540px) ──────────────────────────────────────────────── */
@media(max-width:540px){
  nav{padding:0 16px}
  section{padding:36px 16px}
  .hero h1{font-size:clamp(26px,8vw,38px)}
  h2.st{font-size:clamp(22px,7vw,32px)}
  .dfm-grid{grid-template-columns:1fr}
  .sus-grid{grid-template-columns:1fr}
  .cert-grid{grid-template-columns:1fr}
  .hww{grid-template-columns:1fr 1fr}
  .pf{grid-template-columns:repeat(3,1fr)}
  .qv-card{grid-template-columns:1fr;grid-template-rows:auto auto}
  .qv-img{min-height:180px;height:180px}
  .industry-bar{grid-template-columns:1fr}
  .export-stats{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr}
  .hero-right{grid-template-columns:1fr 1fr}
  .mg{grid-template-columns:1fr}
  .fr{grid-template-columns:1fr}
  .timeline-table th,.timeline-table td{padding:10px 12px;font-size:12px}
  .footer-links{flex-wrap:wrap;gap:8px 16px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}
  .cl{gap:32px}
  .closing-section h2{font-size:clamp(22px,6vw,32px)}
}


/* ── Form submission states ─────────────────────────────────────────────── */
.fs.submitting{opacity:.7;cursor:not-allowed;pointer-events:none}
.fs.submitting::after{content:" …"}
#formError{display:none;background:rgba(180,40,40,0.12);border:1px solid rgba(180,40,40,0.35);
  color:#e07070;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:1px;
  padding:12px 16px;line-height:1.6;margin-top:4px}


/* ── Reduced motion ─────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .tt{animation:none}
  .route-line{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* ── Utility classes replacing common inline styles ─────────────────────── */
.note-band{text-align:center;padding:18px 52px;background:var(--ink-r);border-bottom:1px solid var(--rule)}
.note-band-label{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.section-sub{font-size:14px;color:var(--wm);margin-bottom:32px;max-width:760px;line-height:1.8}
.timeline-note{font-size:12px;color:var(--wd);margin-top:16px;text-align:center;font-family:"DM Mono",monospace;letter-spacing:1px;text-transform:uppercase}
.dfm-note{font-size:14px;color:var(--wm);max-width:720px;margin-bottom:28px;line-height:1.8;border-left:3px solid var(--orange);padding-left:16px;font-style:italic}
.dfm-body-pt{padding-top:10px}
.awards-mt{margin-top:2px}
.aw-icon{margin-bottom:9px;color:var(--orange)}
.mr-separator{border-top:1px solid var(--rule);margin-top:6px;padding-top:9px}
.mr-n-muted{color:var(--wm)}
.dfm-link-plain{text-decoration:none}
.gallery img{cursor:zoom-in}
.success-icon{font-size:48px;margin-bottom:20px}
.success-h{font-family:"Instrument Serif",serif;font-size:24px;color:var(--gt);font-weight:400;margin-bottom:12px}
.success-p{color:var(--wm);font-size:14px;max-width:380px;line-height:1.8;margin-bottom:24px}
.success-checks{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}
.success-check{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gt)}
.success-direct{font-size:12px;color:var(--wd)}
.success-direct a{color:var(--orange);text-decoration:none}
.form-success-wrap{display:none;flex-direction:column;align-items:center;justify-content:center;padding:52px 32px;text-align:center;background:var(--ink-r);border:1px solid var(--gb)}


/* ── Light mode colour scheme ───────────────────────────────────────────── */
[data-theme="light"] {
  --ink:     #f5f3ef;
  --ink-p:   #eceae5;
  --ink-r:   #e3e0da;
  --rule:    rgba(0,0,0,0.09);
  --orange:  #c2521e;
  --orange-s:rgba(194,82,30,0.10);
  --gold:    #8b6f30;
  --white:   #1a1612;
  --wm:      #4a4540;
  --wd:      #726e69;
  --gs:      rgba(30,100,50,0.10);
  --gb:      rgba(30,100,50,0.25);
  --gt:      #2a7a40;
}
[data-theme="light"] body {
  color: var(--white);
  background: var(--ink);
}
[data-theme="light"] nav {
  background: rgba(245,243,239,0.88);
}
[data-theme="light"] nav.scrolled {
  background: rgba(245,243,239,0.98);
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
[data-theme="light"] .nav-logo span,
[data-theme="light"] .nl a { color: var(--wm); }
[data-theme="light"] .nl a:hover { color: var(--white); }
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea {
  background: var(--ink-r);
  border-color: var(--rule);
  color: var(--white);
}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder { color: var(--wd); }
[data-theme="light"] .hero::before {
  background-image:
    linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,0.04) 1px, transparent 1px);
}
[data-theme="light"] .hero::after {
  background: radial-gradient(ellipse 70% 80% at 80% 40%,
    rgba(194,82,30,0.07) 0%, transparent 70%);
}
[data-theme="light"] .world-map-svg rect:first-child { fill: var(--ink-p); }
[data-theme="light"] .lightbox {
  background: rgba(245,243,239,0.95);
}
[data-theme="light"] .lb-close,
[data-theme="light"] .lb-prev,
[data-theme="light"] .lb-next { color: var(--white); }
[data-theme="light"] .lightbox img {
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

/* ── Theme toggle button ─────────────────────────────────────────────────── */
.theme-toggle {
  background: none;
  border: 1px solid var(--rule);
  color: var(--wm);
  cursor: pointer;
  padding: 5px 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  transition: border-color .2s, color .2s;
  line-height: 1;
}
.theme-toggle:hover {
  border-color: var(--orange);
  color: var(--orange);
}
.theme-toggle svg { display: block; pointer-events: none; }
/* show sun in dark mode, moon in light mode */
.theme-toggle .icon-sun  { display: block; }
.theme-toggle .icon-moon { display: none; }
[data-theme="light"] .theme-toggle .icon-sun  { display: none; }
[data-theme="light"] .theme-toggle .icon-moon { display: block; }

@media(max-width:900px) {
  .theme-toggle { margin-left: 8px; }
}


/* ── Light mode: component-level overrides ──────────────────────────────── */
[data-theme="light"] .ticker { background: var(--ink-p); border-color: var(--rule); }
[data-theme="light"] .tt span { color: var(--wd); }
[data-theme="light"] .tt span.sep { color: var(--orange); }
[data-theme="light"] footer { background: var(--ink); border-color: var(--rule); }
[data-theme="light"] .footer-copy,
[data-theme="light"] .footer-signal { color: var(--wd); }
[data-theme="light"] .footer-links a { color: var(--wd); }
[data-theme="light"] .footer-links a:hover { color: var(--white); }
[data-theme="light"] .cb-tag { color: var(--wm); border-color: var(--rule); }
[data-theme="light"] .cb-tag:hover { color: var(--white); border-color: rgba(194,82,30,.4); }
[data-theme="light"] .tp { color: var(--wm); border-color: var(--rule); }
[data-theme="light"] .tp.v { color: var(--gt); border-color: var(--gb); background: var(--gs); }
[data-theme="light"] .cert-card,
[data-theme="light"] .aw,
[data-theme="light"] .dfm-card,
[data-theme="light"] .cap-card,
[data-theme="light"] .qv-card,
[data-theme="light"] .sus-card,
[data-theme="light"] .hww-step,
[data-theme="light"] .oc,
[data-theme="light"] .eb-card,
[data-theme="light"] .mp,
[data-theme="light"] .es-card { background: var(--ink-p); }
[data-theme="light"] .cert-card:hover,
[data-theme="light"] .aw:hover,
[data-theme="light"] .dfm-card:hover,
[data-theme="light"] .cap-card:hover,
[data-theme="light"] .qv-card:hover,
[data-theme="light"] .sus-card:hover,
[data-theme="light"] .hww-step:hover,
[data-theme="light"] .oc:hover,
[data-theme="light"] .eb-card:hover,
[data-theme="light"] .es-card:hover { background: var(--ink-r); }
[data-theme="light"] .timeline-table { background: var(--ink-p); }
[data-theme="light"] .timeline-table thead tr { background: var(--ink-r); }
[data-theme="light"] .timeline-table td { border-color: var(--rule); }
[data-theme="light"] .timeline-table tbody tr:hover td { background: var(--ink-r); }
[data-theme="light"] select option { background: var(--ink-r); color: var(--white); }
[data-theme="light"] .lang-dropdown { background: var(--ink-r); border-color: var(--rule); }
[data-theme="light"] .lang-option { color: var(--wm); }
[data-theme="light"] .lang-option:hover,
[data-theme="light"] .lang-option.active { background: var(--ink-p); color: var(--white); }
[data-theme="light"] .lb-caption { color: var(--wm); }
[data-theme="light"] #formError { background: rgba(160,30,30,0.10); border-color: rgba(160,30,30,0.3); color: #c0505050; }
[data-theme="light"] .success-check { color: var(--gt); }
[data-theme="light"] .pf-dot { border-color: var(--rule); background: var(--ink-r); }
[data-theme="light"] .dsi-step { background: var(--ink-p); }
[data-theme="light"] .dsi-step:hover,
[data-theme="light"] .dsi-step.open { background: var(--ink-r); }
[data-theme="light"] .dev-box,
[data-theme="light"] .quality-intro,
[data-theme="light"] .testimonial { background: var(--ink-r); border-color: var(--rule); }
[data-theme="light"] .export-band { background: var(--ink-r); }
[data-theme="light"] .filter-signal { background: var(--ink-p); }
[data-theme="light"] .closing-section { background: var(--ink-r); }
[data-theme="light"] .cb { background: var(--ink-p); }
[data-theme="light"] .cd { background: var(--ink-r); border-color: var(--rule); }
[data-theme="light"] .ca { background: var(--gs); border-color: var(--gb); }

/* ── Ticker pause on hover ───────────────────────────────────────────────── */
.ticker:hover .tt { animation-play-state: paused; }


/* ── Gallery figure/figcaption ──────────────────────────────────────────── */
.gallery figure { margin: 0; position: relative; overflow: hidden; }
.gallery figcaption {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(11,15,20,.75));
  color: var(--wm); font-family: "DM Mono", monospace;
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 24px 12px 10px; opacity: 0; transition: opacity .3s;
  pointer-events: none;
}
.gallery figure:hover figcaption,
.gallery figure:focus-within figcaption { opacity: 1; }
[data-theme="light"] .gallery figcaption {
  background: linear-gradient(transparent, rgba(245,243,239,.85));
  color: var(--wd);
}



/* ════════════════════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE POLISH
   Tested against: iPhone SE (375px), iPhone 14 (390px), Pixel 7 (412px),
   iPad Mini (768px)
   ════════════════════════════════════════════════════════════════════════════ */

/* ── Touch target enforcement — all interactive elements ≥ 44px ─────────── */
.btn-p,.btn-g,.fs,.nc,.lang-current,.theme-toggle,
.lb-close,.lb-prev,.lb-next,.dsi-top,
.dfm-dl,.nav-logo,.nl a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.btn-p,.fs,.nc { justify-content: center; }
.btn-g { padding-top: 0; padding-bottom: 0; }

/* ── Minimum font size — nothing below 11px on screen ───────────────────── */
@media(max-width:900px) {
  .ey,.cb-label,.cb-tag,.cert-badge,.aw-org,.dfm-pages,
  .hww-n,.hww-body,.pf-ctrl,.tl-n,.footer-copy,
  .es-l,.cd-l,.ca-t,.ca-item,.fn,.nav-logo span {
    font-size: 11px;
  }
}

/* ── 768px — Tablet ──────────────────────────────────────────────────────── */
@media(max-width:768px) {
  /* Hero: reduce top padding */
  .hero { padding: 96px 20px 48px; min-height: auto; }

  /* How we work: 2 columns */
  .hww { grid-template-columns: 1fr 1fr; }

  /* Process flow: 3 columns */
  .pf { grid-template-columns: repeat(3,1fr); }

  /* Timeline: ensure scroll hint visible */
  .timeline-wrap { -webkit-overflow-scrolling: touch; position: relative; }
  .timeline-wrap::after {
    content: "← scroll →";
    display: block;
    text-align: center;
    font-family: "DM Mono", monospace;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--wd);
    padding: 8px 0 0;
    opacity: 0.7;
  }

  /* Map SVG: let it scroll on small tablets */
  .map-wrap { overflow-x: auto; }

  /* Export stats: 3 cols */
  .export-stats { grid-template-columns: repeat(3,1fr); }

  /* Cert grid: 2 cols */
  .cert-grid { grid-template-columns: 1fr 1fr; }
}

/* ── 540px — Large phone / small phone landscape ────────────────────────── */
@media(max-width:540px) {
  /* Form submit button — full width on small screens */
  .fs { align-self: stretch; width: 100%; }

  /* Hero CTA buttons stack */
  .hero-cta { flex-direction: column; align-items: flex-start; gap: 8px; }
  .btn-p { width: 100%; justify-content: center; }
  .btn-g { width: auto; }

  /* Process flow: 2 columns */
  .pf { grid-template-columns: 1fr 1fr; }

  /* How we work: 2 columns */
  .hww { grid-template-columns: 1fr 1fr; }

  /* Export stats: 2 columns */
  .export-stats { grid-template-columns: 1fr 1fr; }

  /* Closing list: full width */
  .closing-list { width: 100%; }

  /* Trust pills: tighten */
  .trust-pills { gap: 6px; }
  .tp { font-size: 9px; padding: 4px 8px; }

  /* Lightbox: larger touch areas */
  .lb-prev { left: 4px; padding: 14px 18px; }
  .lb-next { right: 4px; padding: 14px 18px; }
  .lb-close { top: 16px; right: 16px; font-size: 28px; padding: 8px; }

  /* Gallery: single column */
  .gallery { grid-template-columns: 1fr; }

  /* Map: fixed height + scroll on phones */
  .map-wrap { overflow-x: auto; }
  .world-map-svg { min-width: 480px; }

  /* Quality validation: image height */
  .qv-img { height: 200px; min-height: 200px; }

  /* DFM cards footer */
  .dfm-foot { flex-direction: column; gap: 8px; align-items: flex-start; }

  /* Timeline scroll hint always visible */
  .timeline-wrap::after { opacity: 1; }

  /* Testimonial */
  .testimonial { padding: 20px; }
  .t-q { font-size: 15px; }

  /* Section heading */
  .sh { gap: 12px; }

  /* Contact cards */
  .cd { padding: 12px 14px; }

  /* Hero photo grid: hide on very small */
  .hero-right { display: none; }
  .hero { min-height: auto; }
}

/* ── 390px — iPhone 14 Pro / standard modern phone ─────────────────────── */
@media(max-width:390px) {
  nav { padding: 0 14px; }
  section { padding: 32px 14px; }
  .export-band { padding: 32px 14px; }
  .closing-section { padding: 36px 14px; }
  .filter-signal { padding: 20px 14px; }
  footer { padding: 20px 14px; }

  /* Headings */
  .hero h1 { font-size: clamp(24px,9vw,34px); }
  h2.st { font-size: clamp(20px,7vw,28px); }

  /* Trust pills: wrap to 2 per row */
  .trust-pills { gap: 5px; }

  /* Capabilities: single column */
  .cap-layout { grid-template-columns: 1fr; }

  /* DFM grid: single column */
  .dfm-grid { grid-template-columns: 1fr; }

  /* Cert: single column */
  .cert-grid { grid-template-columns: 1fr; }

  /* Sustainability: single column */
  .sus-grid { grid-template-columns: 1fr; }

  /* Process flow: 2 cols */
  .pf { grid-template-columns: 1fr 1fr; }

  /* HWW steps: 2 cols */
  .hww { grid-template-columns: 1fr 1fr; }

  /* Pf-dot size */
  .pf-dot { width: 54px; height: 54px; font-size: 16px; }

  /* Stats */
  .export-stats { grid-template-columns: 1fr 1fr; }
  .es-n { font-size: 20px; }

  /* Form row: always single col */
  .fr { grid-template-columns: 1fr; }

  /* OG grid: single column */
  .og { grid-template-columns: 1fr; }

  /* Timeline note smaller */
  .timeline-note { font-size: 10px; letter-spacing: 0.5px; }

  /* Closing CTA button */
  .closing-section .btn-p { width: 100%; }

  /* cb tags: tighter */
  .cb { padding: 20px 14px; }
  .cb-logos { gap: 6px; }
  .cb-tag { font-size: 9px; padding: 5px 10px; }

  /* Awards grid */
  .awards-grid { grid-template-columns: 1fr; }

  /* Contact */
  .cl { gap: 24px; }
}

/* ── Mobile nav: show theme toggle inside menu ───────────────────────────── */
@media(max-width:900px) {
  /* Move theme toggle into the nav flow on mobile */
  .theme-toggle {
    border: none;
    background: none;
    padding: 0;
    min-height: 44px;
    width: 44px;
    justify-content: center;
  }
  /* Keep it always visible — it becomes a compact icon only */
  .theme-toggle .icon-sun svg,
  .theme-toggle .icon-moon svg { width: 18px; height: 18px; }
}

/* ── Gallery figcaption on mobile ────────────────────────────────────────── */
@media(max-width:540px) {
  .gallery figcaption {
    opacity: 1; /* Always show on mobile — no hover available */
    font-size: 9px;
    padding: 18px 8px 8px;
  }
}

/* ── Image rendering on high-DPI phones ──────────────────────────────────── */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi) {
  .hp,.qv-img,.gallery img { image-rendering: -webkit-optimize-contrast; }
}

/* ── Scrollbar styling — mobile browsers ─────────────────────────────────── */
.timeline-wrap::-webkit-scrollbar { height: 3px; }
.timeline-wrap::-webkit-scrollbar-track { background: var(--ink-r); }
.timeline-wrap::-webkit-scrollbar-thumb { background: var(--orange); border-radius: 2px; }
