:root{--navy:#06305a;--deep:#031a33;--cyan:#0a9bd6;--earth:#766a47;--sand:#ece4d2;--paper:#f7f4ec;--ink:#0b2036;--r:28px;--ease:cubic-bezier(.77,0,.18,1);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
:root[data-theme=x]{}
*,*:before,*:after{box-sizing:inherit;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font:400 17px/1.65 Figtree,system-ui,sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
h1,h2,h3{font-family:'Orbitron',Figtree,sans-serif;line-height:1;letter-spacing:-.035em;font-weight:800;color:var(--navy)}
h1{font-size:clamp(3rem,9vw,8.4rem)}h2{font-size:clamp(2.2rem,5.4vw,4.6rem)}h3{font-size:1.5rem;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.w{width:min(1240px,92vw);margin:auto}
/* nav */
nav{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);z-index:50;margin:14px auto;width:min(1240px,94vw);display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 22px;border-radius:99px;background:rgba(247,244,236,.82);backdrop-filter:blur(16px);box-shadow:0 8px 40px rgba(3,26,51,.18)}
nav .logo img{height:40px}nav ul{display:flex;gap:6px;list-style:none;padding:0}
nav ul a{padding:10px 16px;border-radius:99px;font-weight:500;font-size:.95rem;transition:.3s}nav ul a:hover,nav ul a.on{background:var(--navy);color:#fff}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:99px;background:var(--cyan);color:#fff;font-weight:500;border:0;cursor:pointer;font-size:1rem;font-family:inherit;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,155,214,.45)}
.btn.ghost{background:transparent;border:1.5px solid currentColor}.btn.sm{padding:11px 22px}
.btn i{width:9px;height:9px;border-right:2px solid;border-top:2px solid;transform:rotate(45deg)}
#burger{display:none;background:var(--navy);color:#fff;border:0;border-radius:99px;padding:11px 18px;font:inherit}
/* pages */
.page{display:none;min-height:100vh}.page.on{display:block}
#curtain{position:fixed;inset:0;z-index:90;pointer-events:none;display:flex;flex-direction:column}
#curtain b{flex:1;transform:translateX(-101%)}#curtain b:nth-child(1){background:var(--cyan)}#curtain b:nth-child(2){background:var(--navy)}#curtain b:nth-child(3){background:var(--earth)}#curtain b:nth-child(4){background:var(--deep)}
#curtain.go b{animation:cv 1s var(--ease) both}#curtain.go b:nth-child(2){animation-delay:.06s}#curtain.go b:nth-child(3){animation-delay:.12s}#curtain.go b:nth-child(4){animation-delay:.18s}
@keyframes cv{0%{transform:translateX(-101%)}45%,55%{transform:translateX(0)}100%{transform:translateX(101%)}}
#load{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-items:center;transition:transform 1s var(--ease)}
#load img{width:110px;animation:spin 2.2s var(--ease) infinite}#load.out{transform:translateY(-101%)}
@keyframes spin{to{transform:rotate(360deg)}}
/* hero */
.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden;padding:170px 0 90px;min-height:100vh;display:flex;align-items:center}
.hero h1{color:#fff;max-width:9.5em}.hero h1 span{display:block;overflow:hidden;padding-bottom:.08em}.hero h1 em{display:block;font-style:normal;transform:translateY(110%);animation:up 1.1s var(--ease) forwards}
.hero h1 span:nth-child(2) em{animation-delay:.12s;color:var(--cyan)}.hero h1 span:nth-child(3) em{animation-delay:.24s;color:#cdbf94}
@keyframes up{to{transform:none}}
.hero p{max-width:34em;margin:32px 0;color:#b9c9d9;font-size:1.15rem}.hero .row{display:flex;gap:14px;flex-wrap:wrap}
.orb{position:absolute;right:-6vw;top:50%;width:min(52vw,720px);aspect-ratio:1;translate:0 -46%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 18px rgba(10,155,214,.12),0 0 0 60px rgba(118,106,71,.12)}
.orb img{width:100%;height:100%;object-fit:cover;scale:1.15}
.waves{position:absolute;left:0;bottom:0;width:200%;height:220px;opacity:.9;animation:drift 22s linear infinite}
.waves path{fill:none;stroke-width:2.5}@keyframes drift{to{transform:translateX(-50%)}}
.scroll{position:absolute;bottom:34px;left:4vw;font-size:.8rem;color:#8fa6bc;display:flex;gap:12px;align-items:center}.scroll:after{content:"";width:60px;height:1px;background:var(--cyan)}
/* sections */
section.s{padding:clamp(80px,12vw,160px) 0}.dark{background:var(--navy);color:#dbe6f0}.dark h2,.dark h3{color:#fff}.sandbg{background:var(--sand)}
.lead{font-size:1.25rem;max-width:36em}.tag{font-weight:500;color:var(--earth);margin-bottom:18px;display:block}
.mq{background:var(--cyan);color:#fff;overflow:hidden;white-space:nowrap;padding:22px 0;font:800 clamp(1.4rem,3vw,2.4rem)/1 'Orbitron',sans-serif;letter-spacing:-.02em}
.mq div{display:inline-block;animation:mq 30s linear infinite}.mq span{margin:0 28px;opacity:.55}@keyframes mq{to{transform:translateX(-50%)}}
.two{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}.stats b{display:block;font:800 clamp(2.6rem,6vw,5rem)/1 'Orbitron',sans-serif;color:var(--cyan);letter-spacing:-.04em}.stats small{color:var(--earth);font-size:.95rem}
.ph{border-radius:var(--r);overflow:hidden;position:relative;background:var(--deep)}.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.ph:hover img{transform:scale(1.07)}
.excavator-card img{object-position:center 60%}
.arch{border-radius:999px 999px var(--r) var(--r);aspect-ratio:3/4}
.rv{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease)}.rv.in{clip-path:inset(0)}
.fd{opacity:0;transform:translateY(34px);transition:1s var(--ease)}.fd.in{opacity:1;transform:none}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:60px}
.svc#svcHome{grid-template-columns:repeat(2,minmax(0,1fr))}
#svcHome .card .ph{aspect-ratio:16/7}
#svcHome .card .t{padding:18px 20px 22px}
#svcHome .card h3{font-size:1.25rem}
#svcHome .card ul{margin-top:10px;gap:6px}
#svcHome .card li{font-size:.76rem;padding:4px 9px}
.card{border-radius:var(--r);background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .6s var(--ease),box-shadow .6s;box-shadow:0 2px 0 rgba(6,48,90,.06)}.card:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(6,48,90,.18)}
.card .ph{border-radius:0;aspect-ratio:4/3}.card div.t{padding:26px 28px 32px}.card p{margin-top:10px;color:#41566b;font-size:.97rem}
.card ul{list-style:none;padding:0;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.card li{font-size:.82rem;padding:5px 12px;border-radius:99px;background:var(--sand);color:var(--earth);font-weight:500}
.srow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;margin-bottom:clamp(60px,9vw,130px)}.srow:nth-child(even) .ph{order:2}.srow .ph{aspect-ratio:5/4}
.srow ul{margin:20px 0 28px;padding:0;list-style:none;columns:2;gap:20px}.srow li{padding:9px 0;border-bottom:1px solid rgba(6,48,90,.15);break-inside:avoid;font-size:.97rem}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;margin-top:50px;background:rgba(255,255,255,.18);border-radius:var(--r);overflow:hidden}.vals div{background:var(--navy);padding:34px 30px;transition:background .4s}.vals div:hover{background:var(--deep)}.vals p{font-size:.95rem;color:#a9bdd0;margin-top:10px}
.certs h2{font-size:clamp(2rem,4.5vw,3.5rem);margin-top:8px}.cert-carousel{display:flex;align-items:center;gap:16px;margin-top:36px}.cert-window{overflow:hidden;flex:1;min-width:0}.cert-track{display:flex;gap:18px;width:100%;transition:transform .45s ease}.cert-logo{flex:0 0 calc((100% - 36px)/3);height:116px;padding:16px 22px;background:#fff;border:1px solid rgba(6,48,90,.1);display:flex;align-items:center;justify-content:center;overflow:hidden}.cert-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.cert-arrow{width:38px;height:38px;flex:none;border:1px solid rgba(6,48,90,.25);border-radius:50%;background:#fff;color:var(--navy);font:500 1.35rem/1 Figtree,sans-serif;cursor:pointer;transition:background .2s,color .2s}.cert-arrow:hover{background:var(--navy);color:#fff}.cert-dots{display:flex;justify-content:center;gap:9px;margin-top:20px}.cert-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(6,48,90,.25);cursor:pointer}.cert-dot[aria-current="true"]{background:var(--cyan);transform:scale(1.2)}
@media(max-width:620px){.cert-carousel{gap:8px}.cert-arrow{width:30px;height:30px}.cert-logo{height:88px;padding:8px}}
.mvv{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:50px}.mvv div{background:#fff;border-radius:var(--r);padding:34px}.mvv h3{color:var(--earth);margin-bottom:12px}
.gal{columns:3 280px;column-gap:20px;margin-top:50px}.gal figure{break-inside:avoid;margin-bottom:20px;position:relative;border-radius:var(--r);overflow:hidden}.gal img{width:100%;transition:transform 1.4s var(--ease)}.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;background:linear-gradient(transparent,rgba(3,26,51,.88));color:#fff;transform:translateY(40%);opacity:0;transition:.6s var(--ease)}.gal figure:hover figcaption{transform:none;opacity:1}.gal figcaption b{font:800 1.3rem 'Orbitron',sans-serif;display:block}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.chips button{border:1.5px solid var(--navy);background:none;color:var(--navy);padding:9px 20px;border-radius:99px;font:500 .95rem Figtree;cursor:pointer;transition:.3s}.chips button.on,.chips button:hover{background:var(--navy);color:#fff}
.cta{background:var(--deep);color:#fff;text-align:center;padding:clamp(90px,13vw,170px) 0;position:relative;overflow:hidden}.cta h2{color:#fff;max-width:11em;margin:0 auto 34px}.cta:before{content:"";position:absolute;inset:auto -10% -55% -10%;height:100%;border-radius:50%;background:radial-gradient(closest-side,rgba(10,155,214,.4),transparent)}
.cta>*{position:relative}
form{display:grid;gap:18px}label{display:grid;gap:6px;font-weight:500;font-size:.92rem}input,select,textarea{font:inherit;padding:16px 18px;border-radius:16px;border:1.5px solid rgba(6,48,90,.2);background:#fff;color:var(--ink);transition:.3s}input:focus,select:focus,textarea:focus{border-color:var(--cyan);outline:0;box-shadow:0 0 0 4px rgba(10,155,214,.18)}
.info a{display:block;font:800 clamp(1.3rem,2.4vw,1.9rem)/1.3 'Orbitron',sans-serif;color:var(--navy);letter-spacing:-.02em;transition:color .3s}.info a:hover{color:var(--cyan)}.info small{display:block;color:var(--earth);margin:26px 0 4px}
.tile{background:#fff;border-radius:var(--r);padding:20px;display:inline-block;margin-top:34px}.tile img{height:84px}
.pg{padding-top:150px}.pg h1{font-size:clamp(2.8rem,8vw,7rem);max-width:10em}
footer{background:var(--deep);color:#9db3c8;padding:80px 0 40px}footer .g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}footer h3{color:#fff;font-size:1.1rem;margin-bottom:14px}footer a{display:block;padding:3px 0;transition:color .3s}footer a:hover{color:var(--cyan)}footer .tile{margin:0 0 20px}footer small{display:block;margin-top:60px;border-top:1px solid rgba(255,255,255,.12);padding-top:24px}
#top{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;border:0;background:var(--navy);color:#fff;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(20px);transition:.5s var(--ease);display:grid;place-items:center}#top.show{opacity:1;pointer-events:auto;transform:none}#top:hover{background:var(--cyan)}
#top svg{position:absolute;inset:0;rotate:-90deg}#top circle{fill:none;stroke-width:3}#top i{width:12px;height:12px;border-left:2.5px solid;border-top:2.5px solid;transform:translateY(3px) rotate(45deg)}
#bar{position:fixed;top:0;left:0;height:4px;width:0;background:linear-gradient(90deg,var(--cyan),var(--earth));z-index:95}
@media(max-width:860px){#burger{display:block}nav ul{position:absolute;top:70px;left:0;right:0;flex-direction:column;background:var(--paper);border-radius:var(--r);padding:14px;display:none;box-shadow:0 20px 50px rgba(3,26,51,.25)}nav ul.open{display:flex}nav .btn.sm{display:none}.orb{position:relative;right:auto;translate:none;width:80vw;margin:50px auto 0}.hero{display:block;padding-top:130px}.two,.srow,footer .g{grid-template-columns:1fr}.srow:nth-child(even) .ph{order:0}.srow ul{columns:1}.scroll{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before{animation-duration:.01s!important;transition-duration:.01s!important}.rv{clip-path:none}.fd{opacity:1;transform:none}.hero h1 em{transform:none}html{scroll-behavior:auto}}

/* ---- v2: industrial editorial ---- */
:root{--r:0px;--ease:cubic-bezier(.65,0,.25,1)}
body{font-size:17px}
h1,h2{letter-spacing:-.045em}
nav{margin:0;width:100%;left:0;border-radius:0;padding:10px max(4vw,calc((100vw - 1240px)/2));background:rgba(247,244,236,.92);box-shadow:none;border-bottom:1px solid rgba(6,48,90,.14)}
nav .logo img{height:42px}
nav ul a{border-radius:0;padding:12px 16px}nav ul a:hover,nav ul a.on{background:none;color:var(--navy);box-shadow:inset 0 -3px var(--cyan)}
.btn{border-radius:0;padding:17px 30px;font-weight:600;letter-spacing:.01em;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);transition:background .4s var(--ease),transform .4s var(--ease)}
.btn:hover{transform:none;box-shadow:none;background:var(--navy)}.btn.ghost{clip-path:none;border-radius:0}.btn.ghost:hover{background:#fff;color:var(--deep)}
.cta .btn:hover,.dark .btn:hover,.hero .btn:hover{background:#fff;color:var(--deep)}
.btn.sm{padding:12px 22px}#burger{border-radius:0}
.btn i{transition:transform .4s var(--ease)}.btn:hover i{transform:translateX(5px) rotate(45deg)}
.tag{display:flex;align-items:center;gap:16px;font-weight:600;color:var(--earth)}.tag:before{content:"";width:52px;height:2px;background:var(--cyan)}
/* hero: architectural split */

.hero h1{font-size:clamp(3rem,7.6vw,7.4rem);max-width:7em}
.orb{top:0;bottom:0;right:0;width:50vw;aspect-ratio:auto;translate:none;border-radius:0;box-shadow:none;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.orb:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,51,.85),rgba(3,26,51,.1) 55%),linear-gradient(0deg,rgba(3,26,51,.6),transparent 40%)}
.orb img{scale:1.2;filter:saturate(.9) contrast(1.05)}
.waves{opacity:.55;height:160px;animation-duration:50s;z-index:2}.scroll{z-index:3}
.hero p{max-width:30em}
/* imagery: rectangular, cinematic */
.ph{border-radius:0}.ph img{filter:saturate(.88) contrast(1.06);transition:transform 1.8s var(--ease)}.ph:hover img,.gal figure:hover img{transform:scale(1.04)}
.ph:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,26,51,.35),transparent 55%);pointer-events:none}
.arch{border-radius:0;aspect-ratio:4/5;overflow:visible;background:none}.arch img{position:relative;z-index:1}
.arch:before{content:"";position:absolute;inset:26px -26px -26px 26px;border:2px solid var(--cyan);z-index:0}.arch:after{display:none}
.rv{clip-path:inset(0 100% 0 0);transition:clip-path 1.5s var(--ease)}.rv.in{clip-path:inset(0)}.arch.rv{clip-path:none;opacity:0;transition:opacity 1.2s var(--ease)}.arch.rv.in{opacity:1}
.fd{transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.mq{animation:none;font-size:clamp(1.2rem,2.4vw,1.9rem);background:var(--navy);color:#fff;border-top:3px solid var(--cyan);padding:26px 0}.mq div{animation-duration:70s}
.stats>div{border-left:2px solid var(--cyan);padding-left:18px}
/* cards, panels */
.card{border-radius:0;box-shadow:none;border-top:4px solid var(--cyan);position:relative}.card:hover{transform:none;box-shadow:none}
.card:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--earth);transition:width .8s var(--ease)}.card:hover:after{width:100%}
.card li,.chips button{border-radius:0}.card li{background:none;border:1px solid rgba(118,106,71,.5)}
.vals{border-radius:0;background:rgba(255,255,255,.14);gap:1px}.vals div{padding:40px 30px;transition:background .6s var(--ease)}
.mvv div{border-radius:0;border-left:4px solid var(--cyan)}
.srow .ph{aspect-ratio:3/2}.srow li{padding:11px 0 11px 18px;position:relative}.srow li:before{content:"";position:absolute;left:0;top:50%;width:8px;height:2px;background:var(--cyan)}
.gal{columns:3 280px;column-gap:16px}.gal figure{border-radius:0;margin-bottom:16px}
.gal figcaption{transform:none;opacity:0;transition:opacity .7s var(--ease);border-left:4px solid var(--cyan);padding:50px 20px 20px}.gal figure:hover figcaption{opacity:1}
.chips button{padding:11px 22px;font-weight:600}
input,select,textarea{border-radius:0;border-width:0 0 2px;border-color:rgba(6,48,90,.3);background:rgba(255,255,255,.7)}input:focus,select:focus,textarea:focus{box-shadow:none;border-color:var(--cyan);background:#fff}
.tile{border-radius:0;border-bottom:4px solid var(--cyan)}
/* cinematic band */
.band{position:relative;min-height:80vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--deep);color:#fff}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;scale:1.25;filter:saturate(.8) contrast(1.1)}
.band:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(3,26,51,.95),rgba(3,26,51,.25) 60%,rgba(3,26,51,.5))}
.band .w{position:relative;z-index:2;padding:0 0 70px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end}.band h2{color:#fff}.band p{color:#c3d3e2;border-left:3px solid var(--cyan);padding-left:20px}
.cta:before{display:none}.cta{background:linear-gradient(135deg,var(--deep) 60%,var(--navy))}.cta h2{margin-bottom:40px}
#top{border-radius:0;width:56px;height:56px}#top svg{rotate:0deg}#top rect{fill:none;stroke-width:3}
#load img{animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{50%{opacity:.35}}#load{transition:transform .9s var(--ease)}
#curtain b:nth-child(n+2){display:none}#curtain b:nth-child(1){background:var(--deep);border-right:4px solid var(--cyan)}#curtain.go b{animation-duration:.9s}
@media(max-width:860px){nav ul{border-radius:0}.orb{position:relative;width:100%;aspect-ratio:4/3;margin:44px 0 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.hero{padding-top:120px}.band .w{grid-template-columns:1fr}.arch:before{inset:16px -10px -16px 10px}.hero:before{background-size:25vw 100%}}

/* services imagery */
.strip{display:flex;gap:4px;height:58vh;min-height:360px;margin-top:60px;width:100%}
.strip button{flex:1;position:relative;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--deep);transition:flex 1s var(--ease)}
.strip button:hover,.strip button:focus-visible{flex:2.4}
.strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.06);transition:transform 1.6s var(--ease)}.strip button:hover img{transform:scale(1.06)}
.strip button:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,26,51,.9),transparent 55%)}
.strip span{position:absolute;left:22px;bottom:22px;right:22px;z-index:2;color:#fff;font:800 clamp(1.1rem,2vw,1.7rem)/1.1 'Orbitron',sans-serif;letter-spacing:-.02em;text-align:left;border-left:4px solid var(--cyan);padding-left:14px}
.comp{position:relative;padding:0 16% 16% 0}.comp:before{content:"";position:absolute;left:-22px;top:-22px;width:46%;height:46%;background:var(--sand);z-index:0}
.comp .ph{position:relative;z-index:1}.comp .m{aspect-ratio:4/3}.comp .d{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:1;border:10px solid var(--paper);z-index:2}
.srow:nth-child(even) .comp{order:2;padding:0 0 16% 16%}.srow:nth-child(even) .comp:before{left:auto;right:-22px}.srow:nth-child(even) .comp .d{right:auto;left:0}
.srow .d img{scale:1.6;object-position:80% 60%}
@media(max-width:860px){.strip{flex-wrap:wrap;height:auto}.strip button{flex:1 1 48%;height:200px}.strip button:hover{flex:1 1 48%}.srow:nth-child(even) .comp{order:0}}
.svc.big{margin-top:0;grid-template-columns:repeat(3,1fr);gap:24px}.card.big .ph{aspect-ratio:3/2}.card.big .t h3{font:800 1.15rem/1.3 'Orbitron',sans-serif;color:var(--navy);margin:0 0 14px}
.card.big .t{display:flex;flex-direction:column;flex:1;padding:24px 26px 28px}.card.big .t p{margin:0}.card.big ul{margin-bottom:24px}.card.big .btn{margin-top:auto;align-self:flex-start}
@media(max-width:1000px){.svc.big{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.svc.big{grid-template-columns:1fr}}
@media(max-width:620px){.svc#svcHome{grid-template-columns:1fr}}

/* ---- v3: commanding hero ---- */
.hero{display:flex;align-items:center;min-height:100vh;padding:150px 0 190px}.hero:before{display:none}
.hero .orb{position:absolute;inset:0;width:100%;right:auto;top:0;bottom:0;clip-path:none;translate:none}
.hero .orb:after{background:linear-gradient(90deg,rgba(3,26,51,.94) 0,rgba(3,26,51,.7) 48%,rgba(3,26,51,.2) 100%),linear-gradient(0deg,rgba(3,26,51,.95),transparent 38%)}
.hero .orb img{scale:1.1;animation:kb 22s var(--ease) both}@keyframes kb{from{scale:1.04}to{scale:1.2}}
.hc{position:relative;z-index:3}
.hero .tag{color:#cdbf94;margin-bottom:26px}
.hero h1{text-transform:uppercase;font-size:clamp(3.4rem,11.5vw,10.5rem);line-height:.88;letter-spacing:-.04em;max-width:none;margin:0}
.hero h1 span{padding-bottom:.04em}.hero h1 span:nth-child(2) em{color:var(--cyan)}.hero h1 span:nth-child(3) em{color:#fff}
.hero p{font-size:1.2rem;color:#d3dfeb;max-width:30em;border-left:4px solid var(--cyan);padding-left:20px;margin:36px 0}
.hero .btn{padding:20px 34px;font-size:1.05rem}.hero .btn.ghost{border-color:rgba(255,255,255,.7)}
.hb{position:absolute;left:0;right:0;bottom:14px;z-index:3;background:rgba(3,26,51,.82);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.18)}
.hb .w{display:grid;grid-template-columns:repeat(4,1fr)}.hb .w>div{padding:22px 24px;border-left:1px solid rgba(255,255,255,.14);color:#b9c9d9;font-size:.92rem;line-height:1.3}.hb .w>div:first-child{border-left:0;padding-left:0}
.hb b{display:block;font:800 clamp(1.7rem,3.2vw,2.8rem)/1 'Orbitron',sans-serif;color:#fff;letter-spacing:-.03em;margin-bottom:6px}
@media(max-width:860px){.hero{display:flex;padding:120px 0 330px}.hero .orb{position:absolute;aspect-ratio:auto;width:100%;margin:0}.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.96),rgba(3,26,51,.6))}.hb .w{grid-template-columns:1fr 1fr}.hb .w>div{padding:14px 16px;border-top:1px solid rgba(255,255,255,.14)}.hb .w>div:nth-child(odd){border-left:0;padding-left:0}.hb .w>div:nth-child(-n+2){border-top:0}.hero p{font-size:1.05rem}}

/* v3.1 hero fit */
.hero{min-height:100vh;min-height:100svh;padding:112px 0 150px}
.hero h1{font-size:clamp(2.8rem,min(9.6vw,14.5vh),9rem)}
.hero .tag{margin-bottom:18px;font-size:.95rem}
.hero p{font-size:1.1rem;margin:24px 0 28px;max-width:34em}
.hero .btn{padding:17px 30px;font-size:1rem}
.hb .w>div{padding:16px 22px}.hb b{font-size:clamp(1.4rem,2.6vw,2.2rem)}
@media(max-width:860px){.hero{padding:100px 0 250px}.hero h1{font-size:clamp(2.8rem,15vw,5rem)}.hero .row{gap:10px}.hero .btn{padding:15px 22px}.hb .w>div{padding:12px 14px}.hb b{font-size:1.4rem}}
@media(max-height:620px) and (min-width:861px){.hero h1{font-size:clamp(2.4rem,12vh,5rem)}.hero p{display:none}}

/* v3.2 tighter fit */
.hero{padding:100px 0 138px}
.hero h1{font-size:clamp(2.8rem,min(9vw,12.8vh),8.5rem)}
.hero p{margin:20px 0 24px}
@media(max-width:860px){.hero{padding:92px 0 128px}.hero h1{font-size:clamp(2.6rem,min(13vw,10.5vh),4.4rem)}.hero p{font-size:1rem;margin:18px 0 22px}.hb .w>div:nth-child(n+3){display:none}.hb .w>div{border-top:0!important}}

/* v3.3 phone polish */
@media(max-width:860px){
h1,h2{letter-spacing:-.025em;word-spacing:.06em}
h2{font-size:clamp(2rem,9vw,3rem);line-height:1.04}
.hero{align-items:flex-end;padding:92px 0 128px}
.hero .orb img{object-position:68% 40%;animation:none;scale:1.25}
.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.98) 0,rgba(3,26,51,.9) 40%,rgba(3,26,51,.25) 72%,rgba(3,26,51,.45) 100%)}
.hero h1{letter-spacing:-.03em}
.hero .tag{font-size:.85rem}
.lead{font-size:1.1rem;line-height:1.6}
section.s{padding:72px 0}
}
@media(max-width:860px){.hero .tag{text-shadow:0 1px 10px rgba(3,26,51,.95),0 0 3px rgba(3,26,51,.9);color:#e6dcb8}.hero h1{text-shadow:0 2px 16px rgba(3,26,51,.5)}}
.haz{display:none!important}.hb{bottom:0}.hero{padding-bottom:124px}@media(max-width:860px){.hero{padding-bottom:114px}}

/* v4: logo iris transition */
#curtain{display:block;visibility:hidden;z-index:90}#curtain.go{visibility:visible}
#curtain .hole{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;width:230vmax;height:230vmax;box-shadow:0 0 0 200vmax var(--paper);border:3px solid var(--cyan);pointer-events:none}
#curtain.go .hole{animation:iris 1.7s both}
@keyframes iris{0%{width:230vmax;height:230vmax;border-width:3px;animation-timing-function:cubic-bezier(.75,0,.25,1)}30%{border-width:3px}32%,66%{width:0;height:0;border-width:0;animation-timing-function:cubic-bezier(.75,0,.25,1)}68%{border-width:0}72%,100%{border-width:3px}100%{width:230vmax;height:230vmax}}
#curtain .lg{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;justify-items:center;gap:12px;opacity:0}
#curtain.go .lg{animation:lgf 1.7s linear both}
@keyframes lgf{0%,30%{opacity:0}40%,64%{opacity:1}74%,100%{opacity:0}}
#curtain .lg img{width:118px;height:auto}
#curtain.go .lg img{animation:emb 1.7s both}
@keyframes emb{0%,28%{rotate:-140deg;scale:.55;animation-timing-function:cubic-bezier(.16,1,.3,1)}56%,100%{rotate:0deg;scale:1}}
#curtain .lg svg{width:190px;height:30px;fill:none;stroke-width:3;stroke-linecap:round;overflow:visible}
#curtain .lg path{stroke-dasharray:260;stroke-dashoffset:260}
#curtain.go .lg path{animation:dw 1.7s both}#curtain.go .lg path:nth-child(2){animation-delay:.05s}#curtain.go .lg path:nth-child(3){animation-delay:.1s}
@keyframes dw{0%,34%{stroke-dashoffset:260;animation-timing-function:cubic-bezier(.4,0,.2,1)}60%,100%{stroke-dashoffset:0}}
#curtain .lg span{font:800 clamp(1.5rem,4vw,2.2rem)/1 'Orbitron',sans-serif;letter-spacing:-.03em;color:var(--navy)}
#curtain.go .lg span{animation:nm 1.7s both}@keyframes nm{0%,38%{translate:0 14px}58%,100%{translate:0 0}}
#curtain.incoming.go .hole{animation:irisIn 1.13s both}
@keyframes irisIn{0%,57%{width:0;height:0;border-width:0}60%{border-width:0}100%{width:230vmax;height:230vmax;border-width:3px}}
#curtain.incoming.go .lg{animation:lgIn 1.13s linear both}
@keyframes lgIn{0%,12%{opacity:0}22%,46%{opacity:1}58%,100%{opacity:0}}
#curtain.incoming.go .lg img{animation:embIn 1.13s both}
@keyframes embIn{0%{rotate:-140deg;scale:.55}45%,100%{rotate:0deg;scale:1}}
#curtain.incoming.go .lg path{animation:dwIn 1.13s both}
#curtain.incoming.go .lg path:nth-child(2){animation-delay:.03s}#curtain.incoming.go .lg path:nth-child(3){animation-delay:.06s}
@keyframes dwIn{0%{stroke-dashoffset:260}40%,100%{stroke-dashoffset:0}}
#curtain.incoming.go .lg span{animation:nmIn 1.13s both}
@keyframes nmIn{0%{translate:0 14px}22%,100%{translate:0 0}}
html.transition-in #curtain{visibility:visible}
html.transition-in #curtain .hole{width:0;height:0;border-width:0}
html.transition-in #load{display:none!important}
#top svg{width:100%;height:100%;overflow:visible}#top rect{fill:none;stroke-width:3;stroke-linejoin:miter;stroke-linecap:butt;transition:stroke-dashoffset .15s linear}#top:hover #ring{stroke:#fff}

/* v4.1 framed photo */
.arch{aspect-ratio:auto;padding:14px;border:2px solid var(--cyan);overflow:visible;background:none}
.arch:before,.arch:after{display:none!important}
.arch img{position:static;display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:42% 50%;filter:saturate(.88) contrast(1.06)}
.arch.rv{clip-path:none}
@media(max-width:860px){.arch{padding:10px}.arch img{aspect-ratio:4/3}}

/* v4.2 reveal fix: clip the image, not the observed box */
.rv,.rv.in{clip-path:none!important}
.rv img{clip-path:inset(0 100% 0 0);transition:clip-path 1.5s var(--ease),transform 1.8s var(--ease)}
.rv.in img{clip-path:inset(0)}
.arch.rv img{clip-path:none!important}
@media(prefers-reduced-motion:reduce){.rv img{clip-path:none}}
@media(max-width:860px){.band{min-height:62vh}.band img{scale:1.08;object-position:38% 50%}.band .w{padding-bottom:44px}}

/* v5: branded loader */
#load{background:none;display:block;transition:none;transform:none!important}
#load.out{pointer-events:none}
#load .hole{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;width:0;height:0;border:0 solid var(--cyan);box-shadow:0 0 0 200vmax var(--paper)}
#load.out .hole{animation:opn 1.1s cubic-bezier(.7,0,.25,1) .15s forwards}
@keyframes opn{0%{width:0;height:0;border-width:0}8%{border-width:0}16%{border-width:3px}100%{width:230vmax;height:230vmax;border-width:3px}}
#load .lg{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;justify-items:center;gap:14px;transition:opacity .45s,scale .6s var(--ease)}
#load.out .lg{opacity:0;scale:.92}
#load .lg img{width:116px;height:auto;animation:emb2 1.5s cubic-bezier(.16,1,.3,1) both}
@keyframes emb2{0%{rotate:-140deg;scale:.5;opacity:0}30%{opacity:1}100%{rotate:0deg;scale:1;opacity:1}}
#load svg{width:190px;height:30px;fill:none;stroke-width:3;stroke-linecap:round;overflow:visible}
#load path{stroke-dasharray:260;stroke-dashoffset:260;animation:dw2 1.2s cubic-bezier(.4,0,.2,1) .45s forwards}#load path:nth-child(2){animation-delay:.52s}#load path:nth-child(3){animation-delay:.6s}
@keyframes dw2{to{stroke-dashoffset:0}}
#load .tl{font:500 .85rem/1.3 Figtree,sans-serif;color:var(--earth);letter-spacing:.04em;text-align:center;animation:lf .9s ease .9s both}
@keyframes lf{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
#load .pb{width:190px;height:2px;background:rgba(6,48,90,.15);overflow:hidden}#load .pb i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--earth));transform:scaleX(0);transform-origin:left}
#load #pc{font:800 .8rem/1 'Orbitron',sans-serif;color:var(--navy);letter-spacing:.04em}
body:not(.ready){overflow:hidden}
body:not(.ready) .hero h1 em,body:not(.ready) .hero .orb img{animation-play-state:paused!important}

#load .wm{display:grid;justify-items:center;gap:6px;animation:lf 1s cubic-bezier(.16,1,.3,1) .85s both}
#load .wm b{font:800 clamp(2.3rem,9vw,3.4rem)/.9 'Orbitron',sans-serif;color:var(--navy);letter-spacing:-.02em}
#load .wm i{font:500 clamp(.72rem,2.6vw,.9rem)/1 Figtree,sans-serif;font-style:normal;color:var(--earth);letter-spacing:.42em;padding-left:.42em}
#load .tl{animation-delay:1.25s;font-size:.8rem;opacity:.9}
#load .lg{gap:16px}
.dark .card h3,.card h3{color:var(--navy);font-size:1.5rem;letter-spacing:-.02em;margin-bottom:2px}.dark .card p{color:#41566b}

/* v6: desktop refinement */
@media(min-width:861px){
h1,h2{letter-spacing:-.03em}
.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:112px 0 0;min-height:100vh;min-height:100svh}
.hero .w.hc{flex:1;width:min(1240px,92vw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:clamp(30px,5vw,90px);align-content:center;align-items:end;padding:36px 0 56px}
.hero .tag{grid-column:1/-1;grid-row:1}
.hero h1{grid-column:1;grid-row:2/4;font-size:clamp(3.4rem,8vw,9rem);letter-spacing:-.035em}
.hero p{display:block;grid-column:2;grid-row:2;align-self:end;margin:0 0 26px;font-size:1.12rem;max-width:30em}
.hero .row{grid-column:2;grid-row:3}
.hb{position:relative;bottom:auto}
}
/* gallery: clean editorial grid */
.gal{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(200px,23vw,330px);gap:16px;grid-auto-flow:dense}
.gal figure{margin:0;height:100%}.gal figure img{height:100%;object-fit:cover}
.gal figure:nth-child(1){grid-row:span 2}
#galHome figure:nth-child(4){grid-column:span 2}
#gal figure:nth-child(6){grid-column:1/-1}
@media(max-width:860px){.gal{grid-template-columns:1fr;grid-auto-rows:240px}.gal figure:nth-child(1){grid-row:span 1}#galHome figure:nth-child(4),#gal figure:nth-child(6){grid-column:auto}}
.gal figure:nth-child(1) img{object-position:78% 50%}#galHome+.btn{margin-top:44px}

/* v7: vector hero scene */
.hero .orb svg{width:100%;height:100%;display:block}
.hero .orb:after{background:linear-gradient(90deg,rgba(3,26,51,.82) 0,rgba(3,26,51,.4) 46%,rgba(3,26,51,0) 100%),linear-gradient(0deg,rgba(3,26,51,.55),transparent 30%)}
.r1{animation:dr 42s ease-in-out infinite alternate}.r2{animation:dr 30s ease-in-out infinite alternate-reverse}@keyframes dr{to{transform:translateX(-70px)}}
.sun{transform-origin:1010px 540px;animation:gl 9s ease-in-out infinite alternate}@keyframes gl{to{opacity:.82;transform:scale(1.05)}}
.arm{transform-origin:1215px 640px;animation:am 11s ease-in-out infinite}@keyframes am{50%{transform:rotate(-2.4deg)}}
.dp{opacity:0;animation:fl 7s ease-in-out infinite}.dp.d2{animation-delay:2s}.dp.d3{animation-delay:4s}@keyframes fl{0%{opacity:0;transform:translateY(10px)}40%{opacity:.5}100%{opacity:0;transform:translateY(-50px)}}
@media(max-width:860px){.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.97) 0,rgba(3,26,51,.82) 42%,rgba(3,26,51,.1) 75%,rgba(3,26,51,.3) 100%)}}

/* v7.1 hero layout with scene on the right */
@media(min-width:861px){
.hero .w.hc{display:block;padding:40px 46% 60px 0}
.hero h1{font-size:clamp(3rem,6.3vw,7.2rem);letter-spacing:-.035em}
.hero p{margin:24px 0 26px;font-size:1.1rem}
.hero .orb:after{background:linear-gradient(90deg,rgba(3,26,51,.86) 0,rgba(3,26,51,.5) 38%,rgba(3,26,51,0) 62%),linear-gradient(0deg,rgba(3,26,51,.5),transparent 28%)}
}

@media(min-width:861px){.hero .w.hc{padding:20px 46% 40px 0}.hero h1{font-size:clamp(3rem,5.7vw,6.8rem)}.hero p{margin:20px 0 22px}.hero .tag{margin-bottom:14px}}
@media(max-width:860px){.hero .tag{display:none}.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.97) 0,rgba(3,26,51,.8) 44%,rgba(3,26,51,.05) 78%,rgba(3,26,51,.25) 100%)}}

/* v8: photographic hero */
.hero .orb img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;scale:1.04;filter:none;animation:kb2 26s ease-out both}
@keyframes kb2{from{scale:1.02}to{scale:1.1}}
.hero .orb:after{background:linear-gradient(90deg,rgba(3,26,51,.9) 0,rgba(3,26,51,.62) 34%,rgba(3,26,51,.12) 66%,rgba(3,26,51,0) 100%),linear-gradient(0deg,rgba(3,26,51,.7),transparent 30%),linear-gradient(180deg,rgba(3,26,51,.45),transparent 22%)}
@media(max-width:860px){.hero .orb img{object-position:66% 50%;scale:1.06;animation:none}.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.97) 0,rgba(3,26,51,.84) 42%,rgba(3,26,51,.2) 72%,rgba(3,26,51,.35) 100%)}}
.band img{scale:1.14;object-position:30% 55%;filter:none}@media(max-width:860px){.band{min-height:66vh}.band img{scale:1.06;object-position:24% 50%}}
.band:before{background:linear-gradient(0deg,rgba(3,26,51,.9) 0,rgba(3,26,51,.5) 26%,rgba(3,26,51,0) 56%),linear-gradient(180deg,rgba(3,26,51,.3),transparent 18%)}.band h2{text-shadow:0 2px 18px rgba(3,26,51,.55)}@media(max-width:860px){.band h2{font-size:clamp(1.8rem,8.4vw,2.4rem)}.band:before{background:linear-gradient(0deg,rgba(3,26,51,.94) 0,rgba(3,26,51,.55) 34%,rgba(3,26,51,0) 62%)}}

/* v9: fixed-backdrop band: photo stays still, page slides over it */
.band{min-height:100vh;min-height:100svh;overflow:hidden}
.band img{position:absolute;left:0;top:0;bottom:auto;width:100%;height:100vh;height:100lvh;scale:1;translate:0 0;object-fit:cover;object-position:32% 55%;will-change:translate}
@media(max-width:860px){.band{min-height:80svh}.band img{object-position:72% 50%}}

/* v10: slimmer services ticker */
.mq{padding:17px 0;font-size:clamp(.98rem,1.75vw,1.4rem);font-weight:700;letter-spacing:-.005em;color:rgba(255,255,255,.93);border-top:2px solid var(--cyan);background:var(--navy);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq div{animation:mq 90s linear infinite;will-change:transform}
.mq span{margin:0 22px;opacity:.4}
@media(max-width:860px){.mq{padding:14px 0;font-size:.98rem}.mq span{margin:0 16px}}

.mq{-webkit-mask-image:none;mask-image:none;position:relative}
.mq:before,.mq:after{content:"";position:absolute;top:0;bottom:0;width:7%;z-index:2;pointer-events:none}
.mq:before{left:0;background:linear-gradient(90deg,var(--navy),rgba(6,48,90,0))}.mq:after{right:0;background:linear-gradient(270deg,var(--navy),rgba(6,48,90,0))}
.hb{border-bottom:2px solid var(--cyan)}

/* v11: smooth scrolling */
#bar{width:100%!important;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(247,244,236,.97)}
.hb{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(3,26,51,.88)}
.band{position:relative;clip-path:inset(0)!important;overflow:visible}
.band img{position:fixed!important;left:0;top:0;width:100%;height:100vh;height:100lvh;translate:none!important;will-change:auto}

/* Mobile content visibility: keep the complete hero and all proof points visible. */
@media(max-width:860px){
.hero .tag{display:block}
.hero{padding-bottom:176px}
.hb .w{grid-template-columns:repeat(2,minmax(0,1fr))}
.hb .w>div:nth-child(n+3){display:block}
.hb .w>div{padding:12px 10px;border-top:1px solid rgba(255,255,255,.14)!important;font-size:.82rem}
.hb .w>div:nth-child(odd){border-left:0;padding-left:0}
.hb .w>div:nth-child(-n+2){border-top:0!important}
.hb b{font-size:1.25rem}
}

/* Show image colors without the navy tint overlays. */
.hero .orb:after,.ph:after,.band:before,.strip button:after{background:none!important}

/* Keep the groundworks photo clear while giving its white copy enough contrast. */
.band:before{background:linear-gradient(0deg,rgba(3,26,51,.78) 0,rgba(3,26,51,.34) 52%,rgba(3,26,51,.12) 100%)!important}
@media(max-width:860px){.band:before{background:linear-gradient(0deg,rgba(3,26,51,.86) 0,rgba(3,26,51,.4) 58%,rgba(3,26,51,.14) 100%)!important}}

/* Mobile hero copy sits on a focused dark panel for clear contrast over the photo. */
@media(max-width:860px){
.hero .w.hc{position:relative;z-index:2;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.hero p{display:none!important}
.hero h1{margin:0 0 clamp(38px,10vw,52px);line-height:.96}
.hero .row{gap:12px}
.hero .orb img{object-position:78% 42%;scale:1.12;filter:brightness(.62)}
.hero h1{color:#fff;text-shadow:0 2px 12px rgba(3,26,51,.35)}
.hero p{color:#fff;text-shadow:none}
.hero .tag{color:#f0dfaa;text-shadow:none}
}

/* Remove remaining photo tints while keeping captions readable. */
.gal figcaption{background:none!important;text-shadow:0 1px 5px rgba(3,26,51,.9)}
.ph.rv img{clip-path:none!important;filter:none}
@media(max-width:860px){.hero .orb img{filter:none}}
h1,h2,h3{font-family:'Orbitron',sans-serif;letter-spacing:0;line-height:1.08}
.hero h1{letter-spacing:0;line-height:.96}
.card h3,.gal figcaption b,.strip span,.card.big .ph b,.mq,#curtain .lg span,#load .wm b{letter-spacing:0}
.vals{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:860px){.vals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vals{grid-template-columns:1fr}}
.hero .orb:after{background:linear-gradient(90deg,rgba(3,26,51,.9) 0%,rgba(3,26,51,.66) 32%,rgba(3,26,51,.22) 66%,rgba(3,26,51,.08) 100%),linear-gradient(0deg,rgba(3,26,51,.74) 0%,rgba(3,26,51,.28) 36%,transparent 70%)!important}
@media(max-width:860px){.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.96) 0%,rgba(3,26,51,.82) 38%,rgba(3,26,51,.2) 76%,rgba(3,26,51,.32) 100%)!important}}
h1,h2,h3{text-transform:capitalize}
.hero h1{text-transform:capitalize}
/* Keep the hero photo proportional and avoid the progressive zoom crop. */
.hero .orb img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;scale:1;animation:none}
@media(max-width:860px){.hero .orb img{object-position:100% 50%;scale:1;animation:none}}
.pg h1{font-size:clamp(2.35rem,4.5vw,4rem);line-height:1.12;max-width:12em}
.careers-layout{align-items:start}
.careers-copy h1{max-width:11em;margin:20px 0;font-size:clamp(2.7rem,5.4vw,4.4rem);line-height:1.08}
.careers-copy p,.careers-status p{max-width:34em;color:#41566b;font-size:1.08rem;line-height:1.75}
.careers-status{border-left:3px solid var(--cyan);padding:10px 0 10px clamp(22px,4vw,42px)}
.careers-status h2{margin:20px 0;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.12}
@media(max-width:860px){.careers-layout{gap:42px}.careers-copy h1{font-size:clamp(2.5rem,8vw,3.7rem)}.careers-status{padding-left:22px}}
nav ul .mobile-quote{display:none}
@media(max-width:860px){nav ul .mobile-quote{display:block;margin-top:4px;padding-top:10px;border-top:1px solid rgba(6,48,90,.14)}nav ul .mobile-quote a.btn{display:flex;justify-content:center;width:100%;padding:13px 18px;border-radius:99px;background:var(--cyan);color:#fff;box-shadow:none}}

/* Gentle, continuous hero photo movement on all screen sizes. */
@keyframes heroSlowZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero .orb img{animation:heroSlowZoom 32s ease-in-out infinite alternate}

/* Stronger mobile hero shade behind the headline and calls to action. */
@media(max-width:860px){
.hero .orb:after{background:linear-gradient(0deg,rgba(3,26,51,.84) 0%,rgba(3,26,51,.82) 42%,rgba(3,26,51,.62) 62%,rgba(3,26,51,.48) 82%,rgba(3,26,51,.68) 100%)!important}
.hero .tag{text-shadow:0 2px 8px rgba(3,26,51,.9),0 0 3px rgba(3,26,51,.75)}
.hero h1{text-shadow:0 2px 18px rgba(3,26,51,.8)}
}
