:root{
  --navy:#0B1933; --midnight:#14294B; --orange:#F5A623; --offwhite:#F7F7F4; --white:#FFFFFF;
  --grey:#737D8C; --text:#0B1933; --text-2:#4B5566; --line:#E3E4DF; --line-dark:rgba(255,255,255,.14);
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1240px; --gutter:clamp(20px,3.5vw,44px);
  --display:'Archivo', 'Helvetica Neue', Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--display);font-stretch:100%;font-size:15px;line-height:1.6;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Type */
.display{font-family:var(--display);font-stretch:110%;font-weight:800;letter-spacing:-.035em;line-height:.95;margin:0}
.h2{font-family:var(--display);font-stretch:108%;font-weight:750;letter-spacing:-.03em;line-height:1.02;font-size:clamp(26px,2.8vw,42px);margin:0}
.h3{font-stretch:105%;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0}
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.01em;margin:0 0 18px}
.kicker::before{content:"";width:32px;height:2px;background:var(--orange)}
.lead{font-size:clamp(15px,1.05vw,17px);line-height:1.65;color:var(--text-2);max-width:56ch;margin:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:0 20px;border-radius:999px;font-weight:650;font-size:14px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}
.btn svg{transition:transform .45s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-orange{background:var(--orange);color:var(--navy)}
.btn-orange:hover{background:var(--white)}
.btn-ghost{border-color:rgba(255,255,255,.35);color:var(--white)}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--midnight)}

/* Photo frames: navy gradient shows if an image fails */
.ph{position:relative;overflow:hidden;background:linear-gradient(150deg,#1D3560,#0B1933)}
.ph img{width:100%;height:100%;object-fit:cover}

/* Top bar */
.topbar{background:var(--navy);color:#B7C0CE;font-size:13px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-top:8px;padding-bottom:8px}
.topbar span{display:inline-flex;align-items:center;gap:9px}
.topbar svg{flex:none}
.topbar-left{display:flex;flex-wrap:wrap;gap:10px 30px}
.topbar{position:relative;z-index:60}
.flag{display:block;flex:none;width:22px;height:11px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.lang-menu{position:relative;margin-left:auto}
.lang-menu summary{list-style:none;display:flex;align-items:center;gap:8px;padding:3px 8px;border-radius:999px;cursor:pointer;color:#FFFFFF;font-weight:700;font-size:12px;letter-spacing:.06em;user-select:none;transition:background-color .2s}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary:hover,.lang-menu[open] summary{background:rgba(255,255,255,.1)}
.lang-menu summary:focus-visible{outline:2px solid #F5A623;outline-offset:2px}
.lang-menu .chev{transition:transform .2s}
.lang-menu[open] .chev{transform:rotate(180deg)}
.lang-menu ul{position:absolute;right:0;top:calc(100% + 8px);margin:0;padding:6px;list-style:none;min-width:160px;background:#FFFFFF;border-radius:10px;box-shadow:0 14px 34px rgba(11,25,51,.22)}
.lang-menu li a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;color:#0B1933;font-size:14px;font-weight:600;text-decoration:none}
.lang-menu li a .flag{box-shadow:0 0 0 1px rgba(11,25,51,.12)}
.lang-menu li a:hover,.lang-menu li a:focus-visible{background:#F7F7F4;outline:none}
.lang-menu li a[aria-current="true"]{background:#FFF4E0}
.lang-menu li a[aria-current="true"]::after{content:"";margin-left:auto;width:7px;height:7px;border-radius:50%;background:#F5A623}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.site-header.scrolled{border-color:var(--line);box-shadow:0 10px 30px rgba(11,25,51,.06)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px;transition:height .4s var(--ease)}
.site-header.scrolled .wrap{height:56px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-mark{width:36px;height:36px;border-radius:12px;background:var(--navy);display:grid;place-items:center;flex:none}
.brand-name{display:flex;flex-direction:column;line-height:1.05}
.brand-name strong{font-stretch:108%;font-weight:800;font-size:15px;letter-spacing:-.02em}
.brand-name span{font-size:12px;color:var(--grey);font-weight:500;margin-top:3px}
.main-nav{display:flex;gap:6px}
.main-nav a{position:relative;padding:10px 16px;font-weight:600;font-size:14px;text-decoration:none;color:var(--navy)}
.main-nav a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.main-nav a:hover::after,.main-nav a[aria-current="true"]::after{transform:scaleX(1);transform-origin:left}
.header-cta{display:flex;align-items:center;gap:26px}
.call{display:flex;align-items:center;gap:12px;text-decoration:none}
.call-icon{width:36px;height:36px;border-radius:999px;border:1.5px solid var(--line);display:grid;place-items:center}
.call small{display:block;font-size:12px;color:var(--grey);line-height:1.2}
.call strong{font-size:14px;font-weight:700}
.menu-btn{display:none;width:48px;height:48px;border-radius:999px;border:1.5px solid var(--line);background:transparent;cursor:pointer;place-items:center}

/* Hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);height:calc(100vh - 100px);height:calc(100svh - 100px);min-height:480px;max-height:880px;background:var(--navy);color:var(--white);overflow:hidden}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:clamp(28px,5.5vh,64px) clamp(24px,4vw,64px) clamp(18px,3vh,32px) max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)))}
.hero-ghost{position:absolute;left:-2vw;bottom:-4vw;font-stretch:112%;font-weight:900;font-size:22vw;line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;user-select:none;z-index:0;white-space:nowrap}
.hero-copy > *:not(.hero-ghost):not(.deco){position:relative;z-index:1}
.hero .kicker{color:#C9D1DD}
.hero h1{font-size:clamp(34px,min(4vw,7.6vh),68px)}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .line > span{display:block}
.hero-sub{margin:clamp(14px,2.4vh,24px) 0 0;max-width:48ch;font-size:clamp(14px,1vw,16px);line-height:1.65;color:#C9D1DD}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(18px,3.2vh,30px)}
.hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line-dark)}
.scroll-cue{display:inline-flex;align-items:center;gap:14px;color:#C9D1DD;font-size:14px;text-decoration:none}
.scroll-cue i{position:relative;width:22px;height:34px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px}
.scroll-cue i::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--orange);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.hero-phone small{display:block;font-size:13px;color:#9DA8B9}
.hero-phone strong{font-size:15px}

.hero-visual{position:relative;min-height:0}
.hero-slides{position:absolute;inset:0}
/* Wipe reveal: the next photo is uncovered by a moving mask edge (clip-path) on top of
   the current one. The photos themselves are never scaled or moved, so they stay sharp
   with no shimmer. .leaving keeps the old photo visible underneath during the wipe;
   .rev (set by the slider script) wipes from the left when going backwards. */
.hero-slides .ph{position:absolute;inset:0;z-index:0;clip-path:inset(0 0 0 100%)}
.hero-slides.rev .ph{clip-path:inset(0 100% 0 0)}
.hero-slides .ph.leaving{z-index:1;clip-path:inset(0)}
.hero-slides .ph.active{z-index:2;clip-path:inset(0);transition:clip-path 1.2s var(--ease)}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,25,51,.55),rgba(11,25,51,0) 35%),linear-gradient(0deg,rgba(11,25,51,.5),rgba(11,25,51,0) 40%);pointer-events:none}
.hero-inset{position:absolute;z-index:3;right:clamp(20px,3vw,48px);top:clamp(28px,4vw,56px);width:clamp(110px,10vw,170px);aspect-ratio:3/4;border:6px solid var(--white);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.hero-orange{position:absolute;z-index:2;right:clamp(20px,3vw,48px);top:clamp(28px,4vw,56px);width:clamp(110px,10vw,170px);aspect-ratio:3/4;background:var(--orange);transform:translate(18px,18px)}
.hero-card{position:absolute;z-index:3;left:0;bottom:0;width:min(400px,84%);background:var(--white);color:var(--navy);padding:18px 22px 16px}
.hero-card .count{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:13px;color:var(--grey);font-weight:600}
.hero-card .tag{display:inline-flex;align-items:center;gap:10px;color:var(--navy)}
.hero-card .tag::before{content:"";width:10px;height:10px;border-radius:999px;background:var(--orange)}
.hero-card h2{font-size:clamp(17px,1.25vw,21px)}
.hero-card p{margin:6px 0 0;color:var(--text-2);font-size:14px;line-height:1.6}
.slide-text{transition:opacity .5s var(--ease),transform .6s var(--ease)}
.slide-text.out{opacity:0;transform:translateY(10px)}
.slide-ctrl{display:flex;align-items:center;gap:12px;margin-top:14px}
.slide-ctrl button.arrow{width:36px;height:36px;border-radius:999px;border:1.5px solid var(--line);background:var(--white);display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s}
.slide-ctrl button.arrow:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.progress{flex:1;display:flex;gap:6px}
.progress button{flex:1;height:22px;border:0;padding:0;background:transparent;cursor:pointer;position:relative}
.progress button::before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;background:var(--line)}
.progress button span{position:absolute;left:0;top:10px;height:2px;width:0;background:var(--orange)}
.progress button.active span{animation:fill var(--dur,6s) linear forwards}
.progress button.done span{width:100%}
.paused .progress button.active span{animation-play-state:paused}
@keyframes fill{to{width:100%}}
.hero-vert{position:absolute;z-index:3;right:clamp(14px,1.4vw,22px);bottom:40px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;letter-spacing:.2em;color:rgba(255,255,255,.8)}

/* Section rhythm */
.section{padding:clamp(64px,7.5vw,112px) 0}
.section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px 80px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.bg-off{background:var(--offwhite)}

/* Services mosaic */
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(190px,16vw,250px);gap:16px;grid-template-areas:
 "c c c c c c c s s s s s"
 "c c c c c c c t t t t t"
 "a a a a a f f f f f f f"
 "a a a a a v v v v v v v"
 "x x x x x x x x x x x x"}
.tile{position:relative;display:block;overflow:hidden;border-radius:6px;color:var(--white);text-decoration:none;isolation:isolate;background:var(--navy)}
.tile .ph{position:absolute;inset:0;z-index:-2}
/* Hover: colour lift only (no zoom, so the photo never shimmers) */
.tile .ph img{transition:filter .6s var(--ease)}
.tile:hover .ph img,.tile:focus-visible .ph img{filter:saturate(1.18) contrast(1.06) brightness(1.06)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,25,51,.08) 20%,rgba(11,25,51,.88) 92%);transition:background .6s var(--ease)}
.tile:hover::before,.tile:focus-visible::before{background:linear-gradient(180deg,rgba(11,25,51,.35) 0%,rgba(11,25,51,.94) 80%)}
.tile-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,1.8vw,30px)}
.tile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(11,25,51,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.18)}
.tile-arrow{flex:none;width:44px;height:44px;border-radius:999px;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;transition:background .45s var(--ease),border-color .45s var(--ease),transform .6s var(--ease),color .3s}
.tile:hover .tile-arrow,.tile:focus-visible .tile-arrow{background:var(--orange);border-color:var(--orange);color:var(--navy);transform:rotate(-45deg)}
.tile h3{font-size:clamp(18px,1.6vw,25px)}
.tile.big h3{font-size:clamp(24px,2.3vw,34px)}
.tile .desc{margin:6px 0 0;max-width:46ch;font-size:14px;line-height:1.55;color:#DCE2EB}
.acts-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.tile:hover .acts-wrap,.tile:focus-visible .acts-wrap{grid-template-rows:1fr}
.acts{overflow:hidden;min-height:0}
.acts ul{list-style:none;margin:0;padding:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.acts li{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:13px;line-height:1.35}
.t-c{grid-area:c}.t-s{grid-area:s}.t-t{grid-area:t}.t-a{grid-area:a}.t-f{grid-area:f}.t-v{grid-area:v}.t-x{grid-area:x}
.t-x .tile-inner{flex-direction:row;align-items:flex-end;gap:40px}
.t-x .tile-inner > div:first-child{flex:1}
@media (hover:none){.acts-wrap{grid-template-rows:1fr}}

/* Divisions index */
.index{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(40px,6vw,96px);align-items:start}
.index-preview{position:sticky;top:96px}
.index-preview .ph{aspect-ratio:4/5;border-radius:6px}
.index-preview .ph img{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease)}
.index-preview .ph img.on{opacity:1}
.index-preview .badge{position:absolute;left:24px;bottom:24px;z-index:2;background:var(--white);padding:16px 20px;border-radius:4px;font-size:15px;font-weight:600;min-width:200px}
.index-preview .badge strong{display:block;font-stretch:108%;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.03em}
.index-list{border-top:1px solid var(--navy)}
.row{border-bottom:1px solid var(--line)}
.row-btn{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 0;background:none;border:0;text-align:left;cursor:pointer}
.row-btn .num{font-size:15px;font-weight:600;color:var(--grey)}
.row-btn .title{font-stretch:108%;font-weight:750;font-size:clamp(18px,1.7vw,26px);letter-spacing:-.03em;line-height:1.05;transition:transform .6s var(--ease),color .3s}
.row-btn:hover .title,.row.open .row-btn .title{transform:translateX(12px)}
.row-btn .plus{width:42px;height:42px;border-radius:999px;border:1.5px solid var(--line);display:grid;place-items:center;transition:background .4s var(--ease),border-color .4s,transform .5s var(--ease)}
.row-btn:hover .plus{border-color:var(--navy)}
.row.open .plus{background:var(--orange);border-color:var(--orange);transform:rotate(45deg)}
.row-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.row.open .row-body{grid-template-rows:1fr}
.row-body > div{overflow:hidden;min-height:0}
.row-body ul{list-style:none;margin:0;padding:0 0 26px 90px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.row-body li{position:relative;padding-left:22px;font-size:14px;line-height:1.5;color:var(--text-2)}
.row-body li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--orange)}

/* About */
.about{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.about-media{grid-column:1 / span 7;position:relative;padding-bottom:80px}
.about-main{height:clamp(300px,32vw,440px);width:86%;border-radius:6px}
.about-second{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:4/5;border:10px solid var(--offwhite);border-radius:6px}
.about-stamp{position:absolute;left:clamp(16px,3vw,40px);bottom:30px;z-index:3;background:var(--orange);color:var(--navy);padding:20px 22px;width:min(220px,50%);border-radius:4px}
.about-stamp strong{display:block;font-stretch:110%;font-weight:850;font-size:clamp(38px,3.8vw,54px);line-height:.9;letter-spacing:-.05em}
.about-stamp span{display:block;margin-top:8px;font-weight:600;font-size:14px;line-height:1.35}
.about-copy{grid-column:9 / span 4}
.about-copy .h2{font-size:clamp(24px,2.2vw,34px)}
.about-copy .lead{margin-top:20px}
.highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:28px;border-top:1px solid var(--line)}
.hl{padding:18px 16px 18px 0;border-bottom:1px solid var(--line)}
.hl:nth-child(odd){border-right:1px solid var(--line)}
.hl:nth-child(even){padding-left:20px}
.hl svg{margin-bottom:10px;width:26px;height:26px}
.hl strong{display:block;font-size:15px;font-weight:700;line-height:1.3}
.hl span{display:block;margin-top:3px;font-size:13px;color:var(--text-2);line-height:1.5}

/* Stats */
.stats{position:relative;background:var(--navy);color:var(--white);overflow:hidden}
.stats-ghost{position:absolute;right:-3vw;top:50%;transform:translateY(-50%);font-stretch:112%;font-weight:900;font-size:15vw;line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);white-space:nowrap;pointer-events:none}
.stats .wrap{position:relative;padding-top:clamp(60px,6.5vw,96px);padding-bottom:clamp(60px,6.5vw,96px)}
.stats-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:44px}
.stats-head .h2{font-size:clamp(24px,2.3vw,34px);max-width:18ch}
.stats-head p{max-width:44ch;color:#B7C0CE;margin:0;font-size:15px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-dark)}
.stat{padding:30px 28px 6px 0;border-right:1px solid var(--line-dark)}
.stat + .stat{padding-left:28px}
.stat:last-child{border-right:0}
.stat .n{display:block;font-stretch:110%;font-weight:800;font-size:clamp(42px,4.2vw,66px);line-height:.9;letter-spacing:-.05em;color:var(--white)}
.stat .n sup{font-size:.35em;color:var(--orange);vertical-align:top;margin-left:4px}
.stat .l{display:block;margin-top:12px;font-size:15px;font-weight:600;line-height:1.4}
.stat .d{display:block;margin-top:6px;font-size:13px;color:#9DA8B9;line-height:1.5}

/* CTA band */
.band{position:relative;color:var(--white);overflow:hidden;background:var(--midnight)}
.band .ph{position:absolute;inset:-12% 0;z-index:0}
.band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,25,51,.94) 0%,rgba(11,25,51,.8) 45%,rgba(11,25,51,.35) 100%)}
.band .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:end;padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(72px,8vw,120px)}
.band .display{font-size:clamp(30px,3.4vw,52px)}
.band-side{display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.band-side .tel small{display:block;color:#C9D1DD;font-size:15px}
.band-side .tel strong{font-stretch:108%;font-size:clamp(19px,1.6vw,24px);font-weight:750;letter-spacing:-.02em}

/* Contact */
.contact-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:40px}
.contact-head .display{font-size:clamp(32px,3.8vw,58px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;border-radius:8px;overflow:hidden;box-shadow:0 40px 90px rgba(11,25,51,.12)}
.contact-panel{position:relative;background:var(--navy);color:var(--white);padding:clamp(26px,3vw,44px);overflow:hidden;isolation:isolate}
.contact-panel .ph{position:absolute;inset:0;z-index:-1;opacity:.22}
.contact-panel .ph img{filter:grayscale(1)}
.contact-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(11,25,51,.4),rgba(11,25,51,.95) 70%)}
.contact-panel h3{font-size:clamp(19px,1.5vw,23px);margin-bottom:12px}
.contact-panel > p{color:#C9D1DD;margin:0 0 28px;max-width:36ch}
.c-item{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line-dark)}
.c-item:last-of-type{border-bottom:1px solid var(--line-dark)}
.c-icon{flex:none;width:42px;height:42px;border-radius:999px;background:rgba(245,166,35,.14);display:grid;place-items:center}
.c-item small{display:block;color:#9DA8B9;font-size:14px}
.c-item strong{display:block;font-weight:600;font-size:15px;line-height:1.45;margin-top:2px}
.contact-form{background:var(--white);padding:clamp(26px,3vw,44px)}
.contact-form h3{font-size:clamp(19px,1.5vw,23px);margin-bottom:8px}
.contact-form > p{color:var(--text-2);margin:0 0 24px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.field{display:flex;flex-direction:column;gap:9px}
.field.full{grid-column:1 / -1}
.field label{font-size:14px;font-weight:600}
.field input,.field select,.field textarea{width:100%;padding:12px 0;border:0;border-bottom:1.5px solid #CDD1D8;background:transparent;font-size:15px;color:var(--navy);border-radius:0;transition:border-color .3s}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B1933' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;padding-right:28px}
.field textarea{resize:vertical;min-height:96px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--text-2);line-height:1.5}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:none}
.form-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:26px}
.form-foot small{color:var(--grey);font-size:14px}
.form-done{display:none;padding:30px 0}
.form-done.show{display:block}
.form-done h3{font-size:24px}
.form-done p{color:var(--text-2)}

/* Footer */
.footer{background:#071226;color:#B7C0CE;overflow:hidden}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:40px;padding-top:72px;padding-bottom:48px}
.footer h4{color:var(--white);font-size:17px;font-weight:700;margin:0 0 20px}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px}
.footer a{text-decoration:none;transition:color .25s}
.footer a:hover{color:var(--orange)}
.footer p{margin:16px 0 0;font-size:15px;line-height:1.7;max-width:34ch}
.footer-word{font-stretch:112%;font-weight:900;font-size:clamp(44px,8.5vw,130px);line-height:.8;letter-spacing:-.06em;color:var(--midnight);white-space:nowrap;margin:0;padding:0 var(--gutter);transform:translateY(.12em)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;padding-bottom:24px;font-size:14px}


.brand-logo{display:block;height:52px;width:auto;transition:height .4s var(--ease)}
.site-header.scrolled .brand-logo{height:44px}
.footer-logo{height:64px}
@media (max-width:640px){.brand-logo{height:40px}.footer-logo{height:52px}}
/* Decorative backgrounds */
.section{position:relative;overflow:clip}
.section > .wrap{position:relative;z-index:1}
.deco{position:absolute;pointer-events:none;z-index:0}
.deco-lines{width:min(44vw,600px);height:720px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='720' viewBox='0 0 600 720'%3E%3Cg fill='none' stroke='%230B1933' stroke-opacity='.13' stroke-width='1.4'%3E%3Cpath d='M0 70H170L250 150H430'/%3E%3Cpath d='M0 130H130L210 210H350L410 270H560'/%3E%3Cpath d='M0 200H95L175 280H300'/%3E%3Cpath d='M0 290H210L290 370H520'/%3E%3Cpath d='M0 350H150L230 430H370L430 490'/%3E%3Cpath d='M0 420H115L195 500H330'/%3E%3Cpath d='M0 510H250L330 590H560'/%3E%3Cpath d='M0 580H90L150 640H260'/%3E%3Cpath d='M70 0V50L130 110H220'/%3E%3Cpath d='M210 0V35L265 90H390L440 140'/%3E%3Cpath d='M320 0V20L360 60H520'/%3E%3Cpath d='M0 650H300L340 690'/%3E%3Ccircle cx='430' cy='150' r='5'/%3E%3Ccircle cx='560' cy='270' r='5'/%3E%3Ccircle cx='300' cy='280' r='5'/%3E%3Ccircle cx='520' cy='370' r='5'/%3E%3Ccircle cx='430' cy='490' r='5'/%3E%3Ccircle cx='330' cy='500' r='5'/%3E%3Ccircle cx='560' cy='590' r='5'/%3E%3Ccircle cx='260' cy='640' r='5'/%3E%3Ccircle cx='220' cy='110' r='5'/%3E%3Ccircle cx='440' cy='140' r='5'/%3E%3Ccircle cx='520' cy='60' r='5'/%3E%3Ccircle cx='340' cy='690' r='5'/%3E%3Ccircle cx='170' cy='70' r='5'/%3E%3Ccircle cx='210' cy='210' r='5'/%3E%3Ccircle cx='95' cy='200' r='5'/%3E%3Ccircle cx='150' cy='350' r='5'/%3E%3Ccircle cx='115' cy='420' r='5'/%3E%3Ccircle cx='250' cy='510' r='5'/%3E%3Crect x='470' y='410' width='16' height='16'/%3E%3Crect x='495' y='410' width='16' height='16'/%3E%3Crect x='470' y='435' width='16' height='16'/%3E%3Crect x='380' y='640' width='16' height='16'/%3E%3Crect x='405' y='640' width='16' height='16'/%3E%3Crect x='520' y='200' width='16' height='16'/%3E%3C/g%3E%3C/svg%3E") no-repeat left top/contain}
.deco-left{left:0;top:30px;-webkit-mask-image:linear-gradient(90deg,#000 25%,transparent 90%);mask-image:linear-gradient(90deg,#000 25%,transparent 90%)}
.deco-right{right:0;top:60px;transform:scaleX(-1);-webkit-mask-image:linear-gradient(90deg,#000 25%,transparent 90%);mask-image:linear-gradient(90deg,#000 25%,transparent 90%)}
.deco-bottom{top:auto;bottom:-60px}
.deco-light{inset:0;width:auto;height:auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='720' viewBox='0 0 600 720'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='.08' stroke-width='1.4'%3E%3Cpath d='M0 70H170L250 150H430'/%3E%3Cpath d='M0 130H130L210 210H350L410 270H560'/%3E%3Cpath d='M0 200H95L175 280H300'/%3E%3Cpath d='M0 290H210L290 370H520'/%3E%3Cpath d='M0 350H150L230 430H370L430 490'/%3E%3Cpath d='M0 420H115L195 500H330'/%3E%3Cpath d='M0 510H250L330 590H560'/%3E%3Cpath d='M0 580H90L150 640H260'/%3E%3Cpath d='M70 0V50L130 110H220'/%3E%3Cpath d='M210 0V35L265 90H390L440 140'/%3E%3Cpath d='M320 0V20L360 60H520'/%3E%3Cpath d='M0 650H300L340 690'/%3E%3Ccircle cx='430' cy='150' r='5'/%3E%3Ccircle cx='560' cy='270' r='5'/%3E%3Ccircle cx='300' cy='280' r='5'/%3E%3Ccircle cx='520' cy='370' r='5'/%3E%3Ccircle cx='430' cy='490' r='5'/%3E%3Ccircle cx='330' cy='500' r='5'/%3E%3Ccircle cx='560' cy='590' r='5'/%3E%3Ccircle cx='260' cy='640' r='5'/%3E%3Ccircle cx='220' cy='110' r='5'/%3E%3Ccircle cx='440' cy='140' r='5'/%3E%3Ccircle cx='520' cy='60' r='5'/%3E%3Ccircle cx='340' cy='690' r='5'/%3E%3Ccircle cx='170' cy='70' r='5'/%3E%3Ccircle cx='210' cy='210' r='5'/%3E%3Ccircle cx='95' cy='200' r='5'/%3E%3Ccircle cx='150' cy='350' r='5'/%3E%3Ccircle cx='115' cy='420' r='5'/%3E%3Ccircle cx='250' cy='510' r='5'/%3E%3Crect x='470' y='410' width='16' height='16'/%3E%3Crect x='495' y='410' width='16' height='16'/%3E%3Crect x='470' y='435' width='16' height='16'/%3E%3Crect x='380' y='640' width='16' height='16'/%3E%3Crect x='405' y='640' width='16' height='16'/%3E%3Crect x='520' y='200' width='16' height='16'/%3E%3C/g%3E%3C/svg%3E") no-repeat left -40px bottom -80px/560px auto;-webkit-mask-image:linear-gradient(0deg,#000 10%,transparent 75%);mask-image:linear-gradient(0deg,#000 10%,transparent 75%)}
.deco-grid{width:min(48vw,680px);height:620px;background-image:linear-gradient(rgba(11,25,51,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(11,25,51,.09) 1px,transparent 1px),linear-gradient(rgba(11,25,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(11,25,51,.04) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;-webkit-mask-image:radial-gradient(ellipse at 0% 30%,#000 5%,transparent 65%);mask-image:radial-gradient(ellipse at 0% 30%,#000 5%,transparent 65%)}
.deco-grid-l{left:0;top:0}
.deco-rings{width:700px;height:700px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700' viewBox='0 0 700 700'%3E%3Cg fill='none' stroke='%230B1933' stroke-opacity='.1' stroke-width='1.3'%3E%3Ccircle cx='350' cy='350' r='40'/%3E%3Ccircle cx='350' cy='350' r='74'/%3E%3Ccircle cx='350' cy='350' r='108'/%3E%3Ccircle cx='350' cy='350' r='142'/%3E%3Ccircle cx='350' cy='350' r='176'/%3E%3Ccircle cx='350' cy='350' r='210'/%3E%3Ccircle cx='350' cy='350' r='244'/%3E%3Ccircle cx='350' cy='350' r='278'/%3E%3Ccircle cx='350' cy='350' r='312'/%3E%3Ccircle cx='350' cy='350' r='346'/%3E%3C/g%3E%3Ccircle cx='350' cy='16' r='6' fill='%23F5A623'/%3E%3Ccircle cx='74' cy='250' r='4' fill='%23F5A623'/%3E%3C/svg%3E") no-repeat center/contain}
.deco-rings-r{right:-330px;top:120px}
.deco-hatch{width:420px;height:360px;background:repeating-linear-gradient(-45deg,rgba(11,25,51,.09) 0 1px,transparent 1px 14px);-webkit-mask-image:radial-gradient(ellipse at center,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 15%,transparent 70%)}
.deco-hatch-br{right:-40px;bottom:-20px}
.deco-hatch-bl{left:-60px;bottom:-40px}
.deco-dots{width:560px;height:440px;background-image:radial-gradient(rgba(11,25,51,.26) 1.3px,transparent 1.7px);background-size:13px 13px;-webkit-mask-image:radial-gradient(ellipse at center,#000 10%,transparent 68%);mask-image:radial-gradient(ellipse at center,#000 10%,transparent 68%)}
.deco-dots.light{background-image:radial-gradient(rgba(255,255,255,.16) 1.3px,transparent 1.7px)}
.deco-dots-r{right:-80px;bottom:30px}
.deco-dots-l{left:-90px;top:60px}
.deco-dots-tr{right:-60px;top:-40px}
.vert-word{position:absolute;left:clamp(8px,1.6vw,28px);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:upright;font-weight:300;font-size:clamp(44px,4vw,64px);line-height:1;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(11,25,51,.14);pointer-events:none;z-index:0}
.vert-word.right{left:auto;right:clamp(8px,1.6vw,28px)}
.about-main{position:relative;z-index:1}
.about-second{z-index:2}
.about-quarter{position:absolute;z-index:0;left:-56px;top:34%;width:170px;height:170px;background:var(--orange);border-top-left-radius:100%}
.about-bar{position:absolute;z-index:0;left:calc(86% + 14px);top:0;width:10px;height:120px;background:var(--orange)}
.about-ring{position:absolute;z-index:3;left:calc(54% - 85px);top:30%;width:170px;height:170px;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.contact-stack{position:relative}
.contact-offset{position:absolute;z-index:0;right:-22px;bottom:-22px;width:44%;height:72%;background:var(--orange);border-radius:8px}
.contact-stack .contact-grid{position:relative;z-index:1}
.band-dots{position:absolute;z-index:1;right:4vw;top:40px;width:360px;height:260px}
@media (max-width:1360px){.vert-word{display:none}}
@media (max-width:960px){.deco-lines{opacity:.6}.about-quarter{left:-24px;width:110px;height:110px}.about-ring{width:120px;height:120px}.contact-offset{right:-10px;bottom:-10px}}
/* Reveal animations (only with JS, and never with reduced motion) */
.js [data-reveal]{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}
/* Photos are revealed by a wipe (moving mask edge); the photo itself is not scaled */
.js [data-img]{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease);transition-delay:var(--d,0s)}
.js [data-img].in{clip-path:inset(0 0 0 0)}
.js .hero h1 .line > span{transform:translateY(105%);transition:transform 1.2s var(--ease);transition-delay:var(--d,0s)}
.js .loaded .hero h1 .line > span{transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js [data-reveal],.js [data-img],.js [data-img] img,.js .hero h1 .line > span,.hero-slides .ph img{opacity:1 !important;transform:none !important;clip-path:none !important}
}

/* Responsive */
@media (max-width:1180px){
  .main-nav,.call{display:none}
  .menu-btn{display:grid}
  .main-nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--white);padding:12px var(--gutter) 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(11,25,51,.08)}
  .main-nav.open a{padding:14px 0;font-size:20px}
  .main-nav.open a::after{left:0;right:auto;width:40px}
  .about-copy{grid-column:8 / span 5}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .hero{grid-template-columns:1fr;height:auto;max-height:none;min-height:0}
  .hero-visual{min-height:440px}
  .hero-copy{padding-left:var(--gutter)}
  .section-head,.contact-head,.band .wrap{grid-template-columns:1fr}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:320px;grid-template-areas:"c c" "s t" "a a" "f v" "x x"}
  .t-x .tile-inner{flex-direction:column;align-items:flex-start;justify-content:space-between}
  .index{grid-template-columns:1fr}
  .index-preview{display:none}
  .about-media,.about-copy{grid-column:1 / -1}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(3){padding-left:0}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .topbar .topbar-hide{display:none}
  .site-header .wrap{height:58px}
  .header-cta .btn{display:none}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:auto;grid-template-areas:"c" "s" "t" "a" "f" "v" "x"}
  .tile{min-height:420px}
  .row-btn{grid-template-columns:40px minmax(0,1fr) auto;gap:12px}
  .row-body ul{grid-template-columns:1fr;padding-left:52px}
  .highlights{grid-template-columns:1fr}
  .hl:nth-child(odd){border-right:0}
  .hl:nth-child(even){padding-left:0}
  .stat-grid{grid-template-columns:1fr}
  .stat,.stat + .stat{border-right:0;padding-left:0;border-bottom:1px solid var(--line-dark);padding-bottom:32px}
  .fields{grid-template-columns:1fr}
  .hero-card{width:100%;padding:26px 24px}
  .hero-inset,.hero-orange{width:120px}
  .footer-top{grid-template-columns:1fr}
}

/* Form states */
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#C0392B}
.field-error{font-size:13px;color:#B03A2E;min-height:0}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}
.form-done .done-icon{width:56px;height:56px;border-radius:999px;background:rgba(245,166,35,.16);display:grid;place-items:center;margin-bottom:18px}

