:root { --ink:#1d1b2d; --indigo:#484fa2; --mid:#6869b0; --light:#a8a6d2; --pale:#c9cbec; --paper:#f4f5f6; --warm:#f2f0ec; --navy:#1d2433; --line:rgba(29,27,45,.18); --type-h1:clamp(4.4rem,7.4vw,8rem); --type-h2:clamp(3rem,4.55vw,5rem); --type-h3:clamp(1.55rem,2.05vw,2.2rem); --body-size:1rem; --body-line:1.72; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img,video { display:block; width:100%; }
svg { width:1.15rem; height:1.15rem; flex:0 0 auto; }
.section { padding:clamp(88px,10vw,156px) clamp(24px,7vw,108px); }
h1,h2,h3,blockquote { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; }
h1 em,h2 em { color:var(--pale); font-weight:400; }

.site-header { height:92px; padding:0 clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:36px; position:absolute; inset:0 0 auto; z-index:10; color:#fff; border-bottom:1px solid rgba(255,255,255,.24); }
.brand img { width:clamp(170px,15vw,225px); height:auto; filter:brightness(0) invert(1); }
.desktop-nav { display:flex; gap:28px; align-items:center; }
.desktop-nav a,.desktop-nav summary,.header-link { font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.desktop-nav>a,.desktop-nav summary { opacity:.82; }
.desktop-nav>a:hover,.desktop-nav summary:hover,.desktop-nav [aria-current="page"] { opacity:1; }
.nav-dropdown { position:relative; }
.nav-dropdown summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:9px; white-space:nowrap; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-dropdown summary>span { width:7px; height:7px; margin-top:-4px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; }
.nav-dropdown[open] summary>span { margin-top:3px; transform:rotate(225deg); }
.desktop-nav .nav-dropdown-menu { width:310px; padding:22px 12px 12px; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:var(--navy); border:1px solid rgba(255,255,255,.2); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.desktop-nav .nav-dropdown-menu a { padding:15px 16px; display:block; color:#fff; font-size:.65rem; line-height:1.45; opacity:.86; }
.desktop-nav .nav-dropdown-menu a:hover { background:rgba(255,255,255,.08); opacity:1; }
.header-link { justify-self:end; display:inline-flex; gap:10px; align-items:center; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.7); }
.mobile-nav { display:none; }
.sr-only { width:1px; height:1px; padding:0; position:absolute; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.hero { min-height:100svh; position:relative; display:flex; align-items:end; overflow:hidden; background:var(--navy) url("/assets/infradigm-hero.webp") center/cover no-repeat; color:#fff; }
.hero-video { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,18,31,.9),rgba(17,18,31,.52) 48%,rgba(17,18,31,.18) 78%),linear-gradient(0deg,rgba(17,18,31,.84),transparent 60%); }
.hero-grid { position:absolute; inset:92px 0 0; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:8.333vw 8.333vw; mask-image:linear-gradient(to right,#000,transparent 78%); }
.hero-content { width:min(1050px,76vw); padding:0 7vw clamp(122px,12vh,160px); position:relative; z-index:2; }
.eyebrow { margin:0 0 28px; display:flex; align-items:center; gap:16px; color:var(--pale); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.mini-mark { width:28px; height:24px; display:inline-flex; align-items:center; gap:3px; overflow:hidden; }
.mini-mark i { width:7px; height:22px; background:var(--indigo); transform:skewY(-36deg); }
.mini-mark i:nth-child(2) { background:var(--mid); }
.mini-mark i:nth-child(3) { background:var(--light); }
h1 { margin:0; font-size:clamp(4.2rem,8.4vw,9.4rem); line-height:.92; }
.hero-content h1>span,.hero-content h1>em { display:block; }
.hero-content h1>em { margin-top:.035em; }
.hero-lower { max-width:760px; margin-top:46px; padding-top:28px; border-top:1px solid rgba(255,255,255,.35); display:grid; grid-template-columns:1fr auto; gap:42px; align-items:center; }
.hero-lower p { max-width:610px; margin:0; color:rgba(255,255,255,.84); font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.62; }
.circle-link { width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.68); border-radius:50%; transition:.2s; }
.circle-link:hover { background:#fff; color:var(--ink); }
.hero-note { width:clamp(220px,22vw,340px); min-height:250px; padding:26px; position:absolute; right:5vw; bottom:74px; z-index:3; background:rgba(72,79,162,.86); backdrop-filter:blur(10px); display:flex; flex-direction:column; }
.hero-note span { font-size:.61rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero-note strong { margin:auto 0 20px; font:400 clamp(1.25rem,1.7vw,1.7rem)/1.25 Georgia,serif; }
.hero-note em { max-width:250px; color:rgba(255,255,255,.76); font-size:.72rem; line-height:1.5; }
.hero-ticker { height:74px; position:absolute; inset:auto 0 0; z-index:4; overflow:hidden; display:flex; align-items:center; background:rgba(17,18,31,.8); backdrop-filter:blur(12px); font-size:.67rem; font-weight:800; line-height:1; letter-spacing:.1em; text-transform:uppercase; }
.hero-ticker-track { width:100%; height:100%; display:flex; align-items:center; }
.hero-ticker-set { width:100%; height:100%; padding:0 7vw; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.hero-ticker-set[aria-hidden="true"] { display:none; }
.hero-ticker a { position:relative; display:inline-flex; align-items:center; white-space:nowrap; transition:color .2s ease; }
.hero-ticker a:before { content:"+"; margin-right:9px; color:var(--pale); }
.hero-ticker a:after { content:""; height:1px; position:absolute; right:0; bottom:-7px; left:18px; background:var(--pale); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.hero-ticker a:hover,.hero-ticker a:focus-visible { color:var(--pale); outline:0; }
.hero-ticker a:hover:after,.hero-ticker a:focus-visible:after { transform:scaleX(1); }

.section-label { display:flex; gap:14px; align-items:center; color:var(--indigo); }
.section-label span { width:34px; height:34px; display:grid; place-items:center; border:1px solid currentColor; font-size:.58rem; }
.section-label p { margin:0; font-size:.64rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.section-label.light { color:var(--pale); }
.manifesto { display:grid; grid-template-columns:.42fr 1.25fr .5fr; gap:clamp(42px,7vw,110px); align-items:start; background:var(--warm); }
.manifesto h2 { margin:0 0 38px; font-size:clamp(2.7rem,4.2vw,4.9rem); line-height:1.04; }
.manifesto-copy>p { max-width:720px; margin:0; color:#5e5c68; font-size:1rem; line-height:1.75; }
.manifesto-aside { padding-top:92px; }
.manifesto-aside p { margin:0 0 24px; color:#5e5c68; line-height:1.75; }
.underlined { display:inline-flex; align-items:center; gap:12px; padding-bottom:8px; border-bottom:1px solid; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }

figcaption span { color:var(--indigo); font-size:.58rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
figcaption b { font:400 1.2rem Georgia,serif; }

.services { background:var(--navy); color:var(--paper); }
.services-heading { display:grid; grid-template-columns:.74fr 1.26fr; gap:clamp(65px,9vw,140px); align-items:end; }
.services-heading h2 { margin:45px 0 0; font-size:clamp(3.2rem,5.2vw,6rem); line-height:.98; }
.services-intro p { max-width:760px; margin:0 0 24px; color:#b9bbc4; line-height:1.75; }
.service-outcomes { margin:clamp(65px,8vw,118px) 0; padding:28px 0 0; border-top:1px solid rgba(255,255,255,.22); }
.outcomes-label,.service-how span { margin:0; color:var(--pale); font-size:.59rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.service-outcomes>div { margin-top:28px; display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid rgba(255,255,255,.22); }
.service-outcomes article { min-height:250px; padding:34px clamp(20px,2.6vw,42px); border-right:1px solid rgba(255,255,255,.22); }
.service-outcomes article:first-child { padding-left:0; }
.service-outcomes article:last-child { border-right:0; }
.service-outcomes h3 { margin:0 0 62px; font:400 clamp(1.55rem,2.1vw,2.25rem)/1.12 Georgia,serif; }
.service-outcomes article p { margin:0; color:#b9bbc4; font-size:.88rem; line-height:1.65; }
.service-how { margin:0 0 26px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.service-how p { margin:0; font:400 clamp(1.6rem,2.6vw,2.8rem)/1 Georgia,serif; }
.service-list { border-top:1px solid rgba(255,255,255,.22); }
.service-row { min-height:190px; padding:30px 4px; display:grid; grid-template-columns:45px minmax(220px,.8fr) 1fr 30px; align-items:center; gap:25px; border-bottom:1px solid rgba(255,255,255,.22); transition:.25s; }
.service-row:hover { padding-left:20px; padding-right:20px; background:var(--indigo); color:#fff; }
.service-number { align-self:start; color:var(--pale); font-size:.62rem; font-weight:800; }
.service-row h3 { margin:0; font:400 clamp(1.55rem,2.1vw,2.35rem)/1.12 Georgia,serif; }
.service-row p { margin:0; color:#b9bbc4; line-height:1.65; font-size:.9rem; }
.service-row:hover p { color:rgba(255,255,255,.82); }
.service-row-link { color:inherit; }
.service-row-link:focus-visible { outline:3px solid var(--pale); outline-offset:4px; background:var(--indigo); }

.approach { display:block; background:var(--paper); }
.approach-copy { max-width:1500px; margin:0 auto; padding:clamp(88px,10vw,156px) clamp(34px,7vw,108px); }
.approach-copy h2 { margin:46px 0 38px; font-size:clamp(3.3rem,5.6vw,6.5rem); line-height:.97; }
.approach-copy h2 em { color:var(--indigo); }
.approach-lead { max-width:650px; margin:0; color:#575664; font-size:clamp(1.1rem,1.5vw,1.35rem); line-height:1.65; }
.approach-definition { max-width:650px; margin:28px 0 0; color:#575664; line-height:1.7; }
.approach-principles { margin-top:50px; border-top:1px solid var(--line); }
.principles-label { margin:0; padding:18px 0 12px; color:var(--indigo); font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.approach-principles .principle { min-height:106px; padding:24px 0; display:grid; grid-template-columns:34px 1fr; gap:20px; align-items:start; border-bottom:1px solid var(--line); }
.principle>div { display:grid; grid-template-columns:minmax(160px,.72fr) 1fr; gap:26px; align-items:baseline; }
.principle-mark { width:23px; height:28px; display:flex; align-items:center; gap:4px; overflow:hidden; }
.principle-mark i { width:7px; height:24px; background:var(--indigo); transform:skewY(-36deg); }
.principle-mark i:last-child { margin-top:8px; background:var(--light); }
.approach-principles strong { font:400 1.2rem Georgia,serif; }
.approach-principles .principle p { margin:0; color:#6c6b77; font-size:.86rem; line-height:1.55; }
.approach-payoff { margin:32px 0 0; color:var(--indigo); font:italic 400 1.35rem/1.4 Georgia,serif; }
.tension-visual { min-height:clamp(340px,31vw,470px); position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; }
.tension-half { display:flex; align-items:center; justify-content:center; }
.tension-left { padding-right:clamp(62px,8vw,140px); background:var(--indigo); color:#fff; }
.tension-right { padding-left:clamp(62px,8vw,140px); background:var(--pale); color:var(--ink); }
.tension-half span { font:400 clamp(2.6rem,5vw,5.8rem)/1 Georgia,serif; letter-spacing:-.045em; }
.tension-pivot { width:clamp(138px,13vw,180px); height:clamp(138px,13vw,180px); position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%) rotate(45deg); background:var(--navy); color:#fff; display:grid; place-items:center; box-shadow:0 30px 70px rgba(29,27,45,.28); }
.tension-pivot b { text-align:center; font:700 clamp(.67rem,.9vw,.86rem)/1.35 Arial,Helvetica,sans-serif; letter-spacing:.08em; text-transform:uppercase; transform:rotate(-45deg); }
.tension-pivot i { width:130%; height:1px; position:absolute; background:rgba(255,255,255,.38); transform:rotate(-45deg); }
.tension-visual small { position:absolute; left:50%; bottom:35px; transform:translateX(-50%); white-space:nowrap; font-size:.57rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }

.sectors { padding:clamp(88px,9vw,140px) clamp(24px,7vw,108px) 0; position:relative; overflow:hidden; background:var(--ink); color:var(--paper); }
.sectors:before { content:""; width:32vw; height:1px; position:absolute; right:-5vw; top:112px; background:rgba(201,203,236,.42); transform:rotate(-38deg); transform-origin:right center; }
.sector-heading { margin-bottom:clamp(52px,6vw,88px); display:grid; grid-template-columns:1.25fr .55fr; gap:clamp(50px,10vw,160px); align-items:end; }
.sector-heading h2 { margin:46px 0 0; font-size:clamp(3rem,5.6vw,6.6rem); line-height:.96; }
.sector-heading>p { max-width:480px; margin:0 0 7px; color:#b9bbc4; font-size:clamp(.95rem,1.2vw,1.1rem); line-height:1.72; }
.sector-landscape { height:clamp(420px,47vw,700px); margin:0; position:relative; overflow:hidden; }
.sector-landscape img { height:100%; object-fit:cover; object-position:center 48%; filter:grayscale(.18) saturate(.72) contrast(1.04); }
.sector-landscape:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(29,27,45,.52),transparent 48%),linear-gradient(0deg,rgba(29,27,45,.7),transparent 42%),rgba(72,79,162,.13); mix-blend-mode:multiply; }
.sector-landscape figcaption { min-width:270px; padding:20px 24px; position:absolute; left:0; top:0; z-index:2; background:rgba(244,245,246,.94); display:flex; flex-direction:column; gap:7px; }
.sector-landscape figcaption b { color:var(--navy); }
.sector-signal { width:clamp(120px,12vw,180px); height:clamp(120px,12vw,180px); position:absolute; right:clamp(18px,3vw,44px); bottom:clamp(18px,3vw,44px); z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid rgba(255,255,255,.52); background:rgba(29,27,45,.28); backdrop-filter:blur(8px); }
.sector-signal i { width:clamp(15px,1.6vw,23px); height:clamp(58px,6vw,88px); background:var(--indigo); transform:skewY(-36deg); }
.sector-signal i:nth-child(2) { margin-top:17px; background:var(--mid); }
.sector-signal i:nth-child(3) { margin-top:34px; background:var(--pale); }
.sector-explorer { position:relative; }
.sector-tile { scroll-margin-top:28px; }
.sector-directory { display:grid; grid-template-columns:repeat(6,1fr); border-inline:1px solid rgba(255,255,255,.18); }
.sector-tile { min-height:158px; padding:28px 20px 24px; position:relative; display:flex; flex-direction:column; justify-content:space-between; border:0; border-right:1px solid rgba(255,255,255,.18); background:transparent; color:inherit; text-align:left; cursor:pointer; transition:background .25s,color .25s; }
.sector-tile:last-child { border-right:0; }
.sector-tile:hover,.sector-tile:focus-visible,.sector-tile[aria-expanded="true"] { background:var(--indigo); color:#fff; outline:0; }
.sector-directory span { color:var(--pale); font-size:.57rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.sector-directory strong { padding-right:16px; font:400 clamp(1.2rem,1.8vw,1.8rem)/1.05 Georgia,serif; }
.sector-directory i { width:7px; height:7px; position:absolute; right:18px; bottom:28px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.sector-tile[aria-expanded="true"] i { bottom:31px; transform:rotate(135deg); }
.sector-detail[hidden] { display:none; }
.sector-detail { min-height:420px; position:relative; display:grid; grid-template-columns:minmax(260px,.36fr) minmax(0,1fr); border:1px solid rgba(255,255,255,.18); border-top:0; background:#242233; }
.sector-detail-heading { padding:clamp(38px,4vw,62px); border-right:1px solid rgba(255,255,255,.18); }
.sector-detail-heading>span { color:var(--pale); font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sector-detail-heading h3 { margin:32px 0 18px; font:400 clamp(2.8rem,4.6vw,5.2rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.sector-detail-heading p { max-width:210px; margin:0; color:#aeb0ba; font-size:.72rem; font-weight:700; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.sector-detail-copy { max-height:420px; padding:clamp(38px,4.5vw,68px) clamp(42px,6vw,92px) 70px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:var(--mid) rgba(255,255,255,.08); scrollbar-width:thin; }
.sector-detail-copy:focus-visible { outline:1px solid var(--pale); outline-offset:-5px; }
.sector-detail-copy p { max-width:970px; margin:0 0 24px; color:#d2d3da; font-size:clamp(.94rem,1.05vw,1.08rem); line-height:1.75; }
.sector-detail-copy p:last-child { margin-bottom:0; }
.sector-scroll-note { position:absolute; right:clamp(24px,3vw,48px); bottom:24px; color:#888b96; font-size:.55rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }

.team { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(65px,9vw,140px); background:var(--warm); }
.team-copy { align-self:center; }
.team-copy h2 { margin:46px 0 45px; font-size:clamp(3.1rem,5vw,5.9rem); line-height:.99; }
.team-copy h2 em { color:var(--indigo); }
.team-copy>p { max-width:590px; color:#5d5b68; line-height:1.75; }
.button { margin-top:30px; padding:18px 22px; display:inline-flex; gap:14px; align-items:center; background:var(--ink); color:#fff; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.team-image { min-height:720px; margin:0; position:relative; overflow:hidden; }
.team-image img { height:100%; object-fit:cover; filter:saturate(.58) contrast(1.03); }
.team-image:after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(29,27,45,.1); }
.team-image figcaption { min-width:210px; padding:20px 24px; position:absolute; left:0; bottom:0; z-index:2; background:var(--paper); display:flex; flex-direction:column; gap:7px; }
.photo-mark { width:118px; height:118px; position:absolute; right:28px; top:28px; z-index:2; background:rgba(244,245,246,.88); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; gap:7px; }
.photo-mark i { width:18px; height:62px; background:var(--indigo); transform:skewY(-36deg); }
.photo-mark i:nth-child(2) { background:var(--mid); margin-top:12px; }
.photo-mark i:nth-child(3) { background:var(--light); margin-top:24px; }

.purpose { position:relative; overflow:hidden; background:var(--indigo); color:#fff; }
.purpose:after { content:""; width:34vw; height:1px; position:absolute; right:-8vw; top:18%; background:rgba(201,203,236,.28); transform:rotate(-38deg); transform-origin:right center; }
.purpose-layout { margin-top:clamp(55px,7vw,100px); padding-top:clamp(34px,4vw,54px); position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:clamp(70px,10vw,160px); border-top:1px solid rgba(255,255,255,.35); }
.purpose-heading { min-height:460px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; }
.purpose h2 { max-width:9ch; margin:0; }
.purpose h2 em { color:var(--pale); }
.purpose-heading .mini-mark i { background:var(--pale); }
.purpose-statements { border-left:1px solid rgba(255,255,255,.28); }
.purpose-lead { margin:0; padding:0 0 clamp(46px,5vw,70px) clamp(34px,4vw,60px); color:#fff; font:400 clamp(1.4rem,2vw,2rem)/1.42 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.purpose-point { padding:clamp(28px,3vw,42px) 0 clamp(28px,3vw,42px) clamp(34px,4vw,60px); display:grid; grid-template-columns:150px 1fr; gap:clamp(24px,4vw,58px); border-top:1px solid rgba(255,255,255,.28); }
.purpose-point span { color:var(--pale); font-size:.6rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.purpose-point p { max-width:620px; margin:0; color:rgba(255,255,255,.78); font-size:var(--body-size); line-height:var(--body-line); letter-spacing:.002em; }
.contact { background:var(--paper); }
.contact-kicker { margin:0 0 38px; color:var(--indigo); font-size:.7rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.contact h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.88; }
.contact h2 em { color:var(--indigo); }
.contact-link { margin-top:75px; padding:28px 0; border-block:1px solid; display:flex; justify-content:space-between; align-items:center; font:400 clamp(1.4rem,2.2vw,2.2rem)/1.2 Georgia,serif; }
.contact-link svg { width:2rem; height:2rem; color:var(--indigo); }

footer { padding:72px 7vw 30px; background:var(--navy); color:var(--paper); display:grid; grid-template-columns:1fr; gap:45px; }
.footer-brand-block { display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
.footer-brand { width:220px; display:block; }
.footer-brand img { height:auto; filter:brightness(0) invert(1); opacity:.95; }
.footer-brand-block p { max-width:500px; margin:0; color:#aeb0ba; line-height:1.6; }
.footer-nav { padding:34px 0; border-block:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:minmax(260px,1.55fr) minmax(170px,.75fr) minmax(160px,.7fr); gap:clamp(42px,7vw,110px); }
.footer-nav-group { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.footer-nav-group>span,.footer-partners>span { margin-bottom:9px; color:var(--pale); font-size:.58rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.footer-nav a { color:#d4d5dc; font-size:.68rem; font-weight:800; line-height:1.45; letter-spacing:.065em; text-transform:uppercase; transition:color .2s; }
.footer-nav a:hover,.footer-nav a:focus-visible,.footer-nav a[aria-current="page"] { color:#fff; }
.footer-partners { display:flex; flex-direction:column; align-items:flex-start; }
.footer-partners img { width:150px; height:auto; margin-top:3px; }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; color:#8f929d; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; }
.footer-bottom a { padding-bottom:3px; color:var(--paper); border-bottom:1px solid rgba(255,255,255,.35); }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto; }
  .desktop-nav,.header-link { display:none; }
  .mobile-nav { display:block; justify-self:end; position:relative; }
  .mobile-nav summary { list-style:none; cursor:pointer; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-menu-toggle { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.38); }
  .hamburger { width:18px; height:14px; display:flex; flex-direction:column; justify-content:space-between; }
  .hamburger i { width:100%; height:1px; display:block; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
  .mobile-nav[open] .hamburger i:first-child { transform:translateY(6.5px) rotate(45deg); }
  .mobile-nav[open] .hamburger i:nth-child(2) { opacity:0; }
  .mobile-nav[open] .hamburger i:last-child { transform:translateY(-6.5px) rotate(-45deg); }
  .mobile-nav nav { width:min(380px,calc(100vw - 32px)); min-height:min(600px,calc(100svh - 96px)); max-height:calc(100svh - 92px); padding:30px 28px; position:absolute; right:0; top:50px; display:flex; flex-direction:column; gap:25px; overflow-y:auto; background:var(--navy); box-shadow:0 24px 60px rgba(0,0,0,.24); }
  .mobile-nav nav>a,.mobile-nav .nav-dropdown>summary { font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
  .mobile-nav .nav-dropdown { position:static; }
  .mobile-nav .nav-dropdown>summary { justify-content:space-between; }
  .mobile-nav .nav-dropdown-menu { margin-top:18px; padding:4px 0 4px 18px; border-left:1px solid rgba(201,203,236,.48); }
  .mobile-nav .nav-dropdown-menu a { padding:8px 0; display:block; color:var(--pale); font-size:.65rem; font-weight:700; line-height:1.45; letter-spacing:.055em; text-transform:uppercase; }
  .hero-content { width:80vw; }
  .hero-note { display:none; }
  .manifesto { grid-template-columns:.4fr 1.2fr; }
  .manifesto-aside { grid-column:2; padding-top:0; }
  .services-heading,.team { grid-template-columns:1fr; }
  .service-outcomes>div { grid-template-columns:1fr 1fr; }
  .service-outcomes article:nth-child(2) { border-right:0; }
  .service-outcomes article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.22); }
  .tension-visual { min-height:380px; }
  .sector-heading { grid-template-columns:1fr; gap:34px; }
  .sector-directory { grid-template-columns:repeat(3,1fr); }
  .sector-tile:nth-child(3) { border-right:0; }
  .sector-tile:nth-child(-n+3) { border-bottom:1px solid rgba(255,255,255,.18); }
  .sector-detail { grid-template-columns:minmax(220px,.38fr) minmax(0,1fr); }
  .team-image { min-height:660px; }
}

@media (max-width:700px) {
  .site-header { height:76px; padding:0 20px; }
  .brand img { width:165px; }
  .hero { min-height:820px; }
  .hero-grid { inset:76px 0 0; background-size:25vw 25vw; }
  .hero-video { object-position:58% center; }
  .hero-content { width:100%; padding:0 20px 116px; }
  .eyebrow { margin-bottom:24px; font-size:.58rem; }
  h1 { font-size:clamp(3.65rem,18vw,5.1rem); line-height:.94; }
  .hero-lower { margin-top:34px; grid-template-columns:1fr; gap:22px; }
  .hero-lower p { font-size:.93rem; }
  .circle-link { display:none; }
  .hero-ticker { height:72px; }
  .hero-ticker-track { width:max-content; min-height:100%; animation:hero-sector-scroll 24s linear infinite; will-change:transform; }
  .hero-ticker-set { width:auto; height:72px; min-width:max-content; padding:0 42px 0 22px; justify-content:flex-start; align-items:center; gap:42px; }
  .hero-ticker-set[aria-hidden="true"] { display:flex; }
  .hero-ticker:hover .hero-ticker-track,.hero-ticker:focus-within .hero-ticker-track { animation-play-state:paused; }
  .section { padding:82px 22px; }
  .manifesto { grid-template-columns:1fr; gap:50px; }
  .manifesto-aside { grid-column:1; }
  .manifesto h2 { font-size:2.65rem; }
  .services { gap:55px; }
  .services-heading h2,.approach-copy h2,.sector-heading h2,.team-copy h2 { font-size:3rem; }
  .service-row { min-height:auto; padding:28px 0; grid-template-columns:32px 1fr 24px; gap:15px; }
  .service-row h3 { font-size:1.7rem; }
  .service-row p { grid-column:2/4; }
  .service-arrow { grid-column:3; grid-row:1; }
  .service-outcomes { margin:58px 0; }
  .service-outcomes>div { grid-template-columns:1fr; }
  .service-outcomes article { min-height:0; padding:30px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }
  .service-outcomes article:last-child { border-bottom:0; }
  .service-outcomes h3 { margin-bottom:22px; }
  .service-how { align-items:start; flex-direction:column; }
  .approach-copy { padding:82px 22px; }
  .approach-principles .principle { grid-template-columns:28px 1fr; gap:14px; }
  .principle>div { grid-template-columns:1fr; gap:8px; }
  .tension-visual { min-height:290px; }
  .tension-left { padding-right:48px; }
  .tension-right { padding-left:48px; }
  .tension-pivot { width:108px; height:108px; }
  .tension-pivot b { font-size:.57rem; }
  .tension-half span { font-size:clamp(1.55rem,7vw,2.2rem); }
  .tension-visual small { bottom:18px; font-size:.48rem; }
  .sectors { padding:82px 22px 0; }
  .sector-heading { margin-bottom:46px; }
  .sector-landscape { height:430px; }
  .sector-landscape figcaption { min-width:0; right:58px; }
  .sector-signal { width:92px; height:92px; }
  .sector-signal i { width:12px; height:43px; }
  .sector-directory { grid-template-columns:1fr 1fr; }
  .sector-tile { min-height:128px; padding:22px 16px 20px; }
  .sector-tile:nth-child(3) { border-right:1px solid rgba(255,255,255,.18); }
  .sector-tile:nth-child(-n+4) { border-bottom:1px solid rgba(255,255,255,.18); }
  .sector-tile:nth-child(even) { border-right:0; }
  .sector-directory strong { font-size:1.35rem; }
  .sector-detail { min-height:0; grid-template-columns:1fr; }
  .sector-detail-heading { padding:34px 24px 26px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .sector-detail-heading h3 { margin:20px 0 12px; font-size:2.75rem; }
  .sector-detail-copy { max-height:380px; padding:30px 24px 62px; }
  .sector-detail-copy p { font-size:.93rem; }
  .sector-scroll-note { right:24px; bottom:20px; }
  .team { gap:65px; }
  .team-image { min-height:480px; }
  .photo-mark { width:84px; height:84px; right:16px; top:16px; }
  .photo-mark i { width:13px; height:45px; }
  .purpose-layout { margin-top:48px; padding-top:30px; gap:38px; }
  .purpose-heading { min-height:0; gap:34px; }
  .purpose h2 { max-width:10ch; }
  .purpose-lead { padding:30px 0 38px; font-size:1.35rem; }
  .purpose-point { grid-template-columns:1fr; gap:14px; padding:28px 0; }
  .contact h2 { font-size:4rem; }
  .contact-link { margin-top:50px; }
  footer { padding:60px 22px 26px; gap:30px; }
  .footer-brand-block { gap:18px; }
  .footer-nav { grid-template-columns:1fr; gap:34px; }
  .footer-nav-group { gap:13px; }
  .footer-partners img { width:140px; }
  .footer-bottom { gap:20px; flex-direction:column; }
}

@keyframes hero-sector-scroll { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }

@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .hero-ticker { overflow-x:auto; scrollbar-width:none; }
  .hero-ticker::-webkit-scrollbar { display:none; }
  .hero-ticker-track { animation:none; }
  .hero-ticker-set[aria-hidden="true"] { display:none; }
}

@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.hero-video{display:none}*{transition:none!important} }

/* Our Team page */
body.modal-open { overflow:hidden; }
.profile-modal[hidden] { display:none !important; }
.team-header { position:absolute; }
.team-header a[aria-current="page"] { opacity:1; }
.team-hero { min-height:92svh; padding:92px 7vw 94px; position:relative; overflow:hidden; display:flex; align-items:flex-end; background:var(--navy); color:#fff; }
.team-hero:before { content:""; width:58vw; height:58vw; position:absolute; right:-16vw; top:-25vw; border:1px solid rgba(201,203,236,.24); border-radius:50%; }
.team-hero:after { content:""; width:42vw; height:1px; position:absolute; right:-6vw; bottom:27%; background:rgba(201,203,236,.42); transform:rotate(-38deg); transform-origin:right center; }
.team-hero-grid { position:absolute; inset:92px 0 0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:8.333vw 8.333vw; mask-image:linear-gradient(to right,#000,transparent 78%); }
.team-hero-content { width:min(1240px,86vw); position:relative; z-index:2; }
.team-hero h1 { max-width:1200px; font-size:clamp(4.2rem,8.1vw,9rem); line-height:.88; }
.team-hero-intro { max-width:820px; margin-top:48px; padding-top:28px; display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; border-top:1px solid rgba(255,255,255,.35); }
.team-hero-intro p { max-width:680px; margin:0; color:rgba(255,255,255,.8); font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.65; }
.team-hero-signal { width:clamp(180px,19vw,290px); height:clamp(180px,19vw,290px); position:absolute; right:7vw; top:20%; z-index:1; display:flex; align-items:center; justify-content:center; gap:15px; border:1px solid rgba(255,255,255,.24); transform:rotate(45deg); }
.team-hero-signal i { width:clamp(20px,2.2vw,34px); height:clamp(84px,9vw,136px); background:var(--indigo); transform:skewY(-36deg) rotate(-45deg); }
.team-hero-signal i:nth-child(2) { margin-top:28px; background:var(--mid); }
.team-hero-signal i:nth-child(3) { margin-top:56px; background:var(--pale); }
.team-hero-index { height:62px; padding:0 7vw; position:absolute; inset:auto 0 0; z-index:3; display:flex; align-items:center; gap:clamp(32px,7vw,110px); border-top:1px solid rgba(255,255,255,.16); background:rgba(17,18,31,.48); font-size:.61rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.team-hero-index span:before { content:"+"; margin-right:9px; color:var(--pale); }

.team-intro { display:grid; grid-template-columns:.45fr 1.2fr .65fr; gap:clamp(42px,7vw,110px); align-items:start; background:var(--warm); }
.team-intro h2 { margin:0; font-size:clamp(3rem,5.2vw,6.1rem); line-height:.99; }
.team-intro h2 em { color:var(--indigo); }
.team-intro-copy { padding-top:8px; }
.team-intro-copy p { margin:0 0 24px; color:#5d5b68; line-height:1.75; }

.director-roster { padding:0 7vw clamp(92px,10vw,150px); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--warm); }
.director-card { min-width:0; background:var(--ink); color:#fff; }
.director-trigger { width:100%; padding:0; border:0; display:block; overflow:hidden; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.director-portrait { aspect-ratio:.73; position:relative; overflow:hidden; background:#cccdd5; }
.director-portrait img { height:100%; object-fit:cover; object-position:center; filter:grayscale(.18) saturate(.58) contrast(1.03); transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s; }
.director-card-1 .director-portrait img { object-position:51% center; }
.director-card-2 .director-portrait img { object-position:50% 34%; }
.director-card-3 .director-portrait img { object-position:50% 28%; }
.director-trigger:hover .director-portrait img,.director-trigger:focus-visible .director-portrait img { transform:scale(1.035); filter:grayscale(0) saturate(.76) contrast(1.02); }
.director-trigger:focus-visible { outline:3px solid var(--pale); outline-offset:3px; position:relative; z-index:2; }
.director-portrait:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(29,27,45,.67),transparent 38%),rgba(72,79,162,.08); pointer-events:none; }
.director-number { width:52px; height:52px; position:absolute; left:0; top:0; z-index:2; display:grid; place-items:center; background:rgba(244,245,246,.94); color:var(--indigo); font-size:.61rem; font-weight:800; }
.director-view { position:absolute; right:24px; bottom:24px; z-index:2; display:flex; gap:10px; align-items:center; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:.3s; }
.director-trigger:hover .director-view,.director-trigger:focus-visible .director-view { opacity:1; transform:none; }
.director-meta { min-height:210px; padding:30px clamp(22px,2.4vw,38px) 34px; position:relative; border-top:1px solid rgba(255,255,255,.16); }
.director-meta>span { color:var(--pale); font-size:.57rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.director-meta h3 { margin:25px 0 14px; font-size:clamp(2rem,2.9vw,3.4rem); line-height:.98; }
.director-meta p { max-width:300px; margin:0; color:#b9bbc4; font-size:.78rem; line-height:1.5; text-transform:uppercase; letter-spacing:.045em; }
.portrait-placeholder { background:var(--indigo); color:#fff; display:grid; place-items:center; }
.portrait-placeholder:before { content:""; position:absolute; inset:9%; border:1px solid rgba(255,255,255,.22); transform:rotate(45deg); }
.portrait-placeholder>span { position:absolute; left:24px; bottom:24px; z-index:2; color:rgba(255,255,255,.68); font-size:.58rem; font-weight:800; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; }
.placeholder-mark { display:flex; align-items:center; justify-content:center; gap:9px; transform:scale(1.1); }
.placeholder-mark i { width:22px; height:96px; background:#fff; transform:skewY(-36deg); }
.placeholder-mark i:nth-child(2) { margin-top:22px; opacity:.7; }
.placeholder-mark i:nth-child(3) { margin-top:44px; opacity:.4; }

.team-belief { background:var(--indigo); color:#fff; }
.team-belief blockquote { max-width:1300px; margin:68px 0; font-size:clamp(3.1rem,6.5vw,7.7rem); line-height:.98; }
.team-belief-lower { padding-top:34px; border-top:1px solid rgba(255,255,255,.35); display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; }
.team-belief-lower p { max-width:650px; margin:0; color:rgba(255,255,255,.78); line-height:1.72; }
.team-belief-lower .mini-mark i { background:var(--pale); }

.profile-modal { position:fixed; inset:0; z-index:100; padding:clamp(18px,3vw,48px); display:grid; place-items:center; background:rgba(18,19,30,.88); backdrop-filter:blur(10px); animation:modal-fade .22s ease-out; }
.profile-panel { width:min(1180px,100%); max-height:calc(100svh - clamp(36px,6vw,96px)); position:relative; display:grid; grid-template-columns:.78fr 1.22fr; overflow:auto; background:var(--paper); box-shadow:0 32px 100px rgba(0,0,0,.4); animation:modal-rise .32s cubic-bezier(.2,.7,.2,1); }
.profile-close { height:50px; padding:0 19px; position:absolute; right:18px; top:18px; z-index:5; display:flex; align-items:center; gap:13px; border:1px solid rgba(29,27,45,.2); background:rgba(244,245,246,.93); color:var(--ink); cursor:pointer; font-size:.59rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.profile-close i,.profile-close i:after { width:16px; height:1px; display:block; background:currentColor; transform:rotate(45deg); }
.profile-close i:after { content:""; transform:rotate(90deg); }
.profile-close:focus-visible { outline:3px solid var(--indigo); outline-offset:3px; }
.profile-visual { min-height:760px; position:relative; overflow:hidden; background:#d5d5dc; }
.profile-visual img { height:100%; object-fit:cover; object-position:center; filter:grayscale(.2) saturate(.62); }
.profile-visual-steve-naumovski img { object-position:50% 24%; }
.profile-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(29,27,45,.68),transparent 46%),rgba(72,79,162,.08); pointer-events:none; }
.profile-visual-label { position:absolute; left:32px; bottom:30px; z-index:3; display:flex; flex-direction:column; gap:6px; color:#fff; }
.profile-visual-label span { color:var(--pale); font-size:.57rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.profile-visual-label b { font:400 2.4rem/1 Georgia,serif; }
.profile-content { padding:clamp(70px,7vw,104px) clamp(38px,5vw,78px) 62px; }
.profile-kicker { margin:0 0 20px; color:var(--indigo); font-size:.59rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.profile-content h2 { margin:0; font-size:clamp(3.2rem,5vw,5.6rem); line-height:.9; }
.profile-role { max-width:540px; margin:24px 0 34px; color:var(--indigo); font-size:.73rem; font-weight:800; line-height:1.55; letter-spacing:.075em; text-transform:uppercase; }
.profile-focus { margin:0 0 34px; padding:24px 0; border-block:1px solid var(--line); font:400 clamp(1.45rem,2vw,2rem)/1.3 Georgia,serif; }
.profile-bio p { margin:0 0 18px; color:#555461; font-size:.92rem; line-height:1.72; }
.profile-testimonial { margin:30px 0 0; padding:24px 0 24px 24px; border-left:3px solid var(--indigo); }
.profile-testimonial p { margin:0 0 13px; color:var(--ink); font:italic 400 1.05rem/1.55 Georgia,serif; letter-spacing:0; }
.profile-testimonial cite { color:var(--indigo); font:700 .66rem/1.4 Arial,Helvetica,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.profile-strengths { margin-top:32px; padding-top:25px; border-top:1px solid var(--line); }
.profile-strengths>span { color:var(--indigo); font-size:.57rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.profile-strengths ul { margin:18px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; list-style:none; }
.profile-strengths li { padding-left:16px; position:relative; color:#454451; font-size:.82rem; }
.profile-strengths li:before { content:"+"; position:absolute; left:0; color:var(--indigo); }
.linkedin-link { margin-top:34px; padding-bottom:8px; display:inline-flex; align-items:center; gap:12px; border-bottom:1px solid; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
@keyframes modal-fade { from { opacity:0; } }
@keyframes modal-rise { from { opacity:0; transform:translateY(16px); } }

@media (max-width:1100px) {
  .purpose-layout { grid-template-columns:1fr; gap:50px; }
  .purpose-heading { min-height:0; gap:48px; }
  .purpose h2 { max-width:12ch; }
  .purpose-statements { border-left:0; border-top:1px solid rgba(255,255,255,.28); }
  .purpose-lead { padding:38px 0 50px; }
  .purpose-point { padding-left:0; }
  .team-hero-signal { opacity:.62; right:4vw; top:24%; }
  .team-intro { grid-template-columns:.4fr 1.2fr; }
  .team-intro-copy { grid-column:2; }
  .director-roster { grid-template-columns:1fr 1fr; }
  .director-card-3 { grid-column:1/-1; width:50%; justify-self:center; }
  .profile-panel { grid-template-columns:.7fr 1.3fr; }
}

@media (max-width:700px) {
  .team-hero { min-height:760px; padding:76px 22px 88px; }
  .team-hero-grid { inset:76px 0 0; background-size:25vw 25vw; }
  .team-hero h1 { font-size:clamp(3.7rem,17vw,5.1rem); }
  .team-hero-signal { width:130px; height:130px; right:-18px; top:21%; opacity:.48; }
  .team-hero-signal i { width:15px; height:62px; }
  .team-hero-signal i:nth-child(2) { margin-top:15px; }
  .team-hero-signal i:nth-child(3) { margin-top:30px; }
  .team-hero-intro { margin-top:36px; grid-template-columns:1fr; gap:20px; }
  .team-hero-intro .circle-link { display:none; }
  .team-hero-index { padding:0 22px; gap:25px; overflow:hidden; }
  .team-hero-index span:nth-child(n+4) { display:none; }
  .team-intro { grid-template-columns:1fr; gap:42px; }
  .team-intro h2 { font-size:3rem; }
  .team-intro-copy { grid-column:1; }
  .director-roster { padding:0 22px 82px; grid-template-columns:1fr; gap:2px; }
  .director-card-3 { grid-column:auto; width:100%; }
  .director-portrait { aspect-ratio:.82; }
  .director-meta { min-height:185px; }
  .director-view { opacity:1; transform:none; }
  .team-belief blockquote { margin:54px 0; font-size:3.25rem; }
  .team-belief-lower { grid-template-columns:1fr; }
  .profile-modal { padding:0; place-items:stretch; }
  .profile-panel { max-height:100svh; grid-template-columns:1fr; }
  .profile-visual { min-height:460px; }
  .profile-content { padding:56px 24px 48px; }
  .profile-content h2 { font-size:3.4rem; }
  .profile-close { right:12px; top:12px; }
  .profile-strengths ul { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) { .profile-modal,.profile-panel{animation:none}.director-portrait img{transition:none} }

/* About and Systems Engineering pages */
.inner-header { position:absolute; }
.inner-header a[aria-current="page"] { opacity:1; }
.inner-hero { min-height:88svh; padding:130px 7vw 102px; position:relative; overflow:hidden; display:flex; align-items:flex-end; background:var(--navy); color:#fff; }
.inner-hero:before { content:""; width:56vw; height:56vw; position:absolute; right:-20vw; top:-29vw; border:1px solid rgba(201,203,236,.2); border-radius:50%; }
.inner-hero:after { content:""; width:44vw; height:1px; position:absolute; right:-5vw; top:42%; background:rgba(201,203,236,.4); transform:rotate(-38deg); transform-origin:right center; }
.inner-hero-grid { position:absolute; inset:92px 0 0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:8.333vw 8.333vw; mask-image:linear-gradient(to right,#000,transparent 80%); }
.inner-hero-content { width:min(1260px,82vw); position:relative; z-index:2; }
.inner-hero h1 { max-width:1260px; font-size:clamp(4.1rem,7.6vw,8.6rem); line-height:.89; }
.inner-hero-intro { max-width:840px; margin-top:48px; padding-top:28px; border-top:1px solid rgba(255,255,255,.35); display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.inner-hero-intro p { max-width:710px; margin:0; color:rgba(255,255,255,.8); font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.65; }
.inner-hero-mark { width:clamp(180px,19vw,290px); height:clamp(180px,19vw,290px); position:absolute; right:7vw; top:22%; z-index:1; display:flex; align-items:center; justify-content:center; gap:15px; border:1px solid rgba(255,255,255,.23); transform:rotate(45deg); }
.inner-hero-mark i { width:clamp(20px,2.2vw,34px); height:clamp(84px,9vw,136px); background:var(--indigo); transform:skewY(-36deg) rotate(-45deg); }
.inner-hero-mark i:nth-child(2) { margin-top:28px; background:var(--mid); }
.inner-hero-mark i:nth-child(3) { margin-top:56px; background:var(--pale); }
.inner-hero-index { height:62px; padding:0 7vw; position:absolute; inset:auto 0 0; z-index:3; display:flex; align-items:center; gap:clamp(32px,7vw,110px); border-top:1px solid rgba(255,255,255,.16); background:rgba(17,18,31,.48); font-size:.61rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.inner-hero-index span:before { content:"+"; margin-right:9px; color:var(--pale); }

.about-intro { display:grid; grid-template-columns:.4fr 1.05fr .55fr; gap:clamp(42px,7vw,110px); align-items:start; background:var(--warm); }
.about-intro-main h2,.about-outcomes-heading h2,.about-people h2,.sesa-intro h2,.lifecycle-heading h2,.sesa-contact h2 { margin:0; font-size:clamp(3rem,5.1vw,6rem); line-height:.98; }
.about-intro-main h2 em,.about-outcomes-heading h2 em,.about-people h2 em,.sesa-intro h2 em,.lifecycle-heading h2 em,.sesa-contact h2 em { color:var(--indigo); }
.about-intro-main>p { max-width:720px; margin:42px 0 0; color:#5d5b68; font-size:1.05rem; line-height:1.75; }
.about-intro aside { padding-top:8px; }
.about-intro aside p { margin:0 0 24px; color:#5d5b68; line-height:1.75; }

.about-approach { background:var(--navy); color:#fff; }
.about-approach-heading { display:grid; grid-template-columns:.4fr 1.05fr .55fr; gap:clamp(42px,7vw,110px); align-items:end; }
.about-approach-heading h2,.about-proof h2,.track-record h2,.capability-heading h2 { margin:0; font-size:clamp(3.1rem,5.5vw,6.5rem); line-height:.97; }
.about-approach-heading>p,.capability-heading>p { margin:0 0 4px; color:#b9bbc4; line-height:1.72; }
.approach-cards { margin-top:clamp(66px,8vw,116px); display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid rgba(255,255,255,.22); }
.approach-cards article { min-height:390px; padding:38px clamp(24px,3vw,48px); border-right:1px solid rgba(255,255,255,.22); }
.approach-cards article:first-child { padding-left:0; }
.approach-cards article:last-child { border-right:0; }
.approach-cards h3 { margin:86px 0 24px; font:400 clamp(1.8rem,2.7vw,3rem)/1.05 Georgia,serif; }
.approach-cards p { max-width:360px; margin:0; color:#b9bbc4; font-size:.9rem; line-height:1.72; }

.about-outcomes { background:var(--paper); }
.about-outcomes-heading { margin-top:60px; display:grid; grid-template-columns:1.2fr .55fr; gap:clamp(55px,9vw,140px); align-items:end; }
.about-outcomes-heading>p { max-width:520px; margin:0 0 5px; color:#5d5b68; line-height:1.75; }
.about-outcome-grid { margin-top:70px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.about-outcome-grid article { min-height:290px; padding:34px clamp(26px,4vw,60px) 36px 0; position:relative; border-bottom:1px solid var(--line); }
.about-outcome-grid article:nth-child(even) { padding-left:clamp(26px,4vw,60px); border-left:1px solid var(--line); }
.about-outcome-grid article>span { width:28px; height:5px; display:block; background:var(--indigo); transform:skewY(-18deg); }
.about-outcome-grid h3 { margin:60px 0 20px; font:400 clamp(1.7rem,2.5vw,2.7rem)/1.1 Georgia,serif; }
.about-outcome-grid p { max-width:520px; margin:0; color:#5d5b68; line-height:1.7; }

.about-proof { background:var(--indigo); color:#fff; }
.about-proof h2 { max-width:1180px; margin:65px 0 72px; }
.about-proof h2 em,.track-record h2 em,.capability-heading h2 em { color:var(--pale); }
.about-proof-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.3); }
.about-proof-grid p { min-height:120px; margin:0; padding:31px 50px 31px 28px; border-bottom:1px solid rgba(255,255,255,.3); font:400 clamp(1.2rem,1.8vw,1.8rem)/1.3 Georgia,serif; }
.about-proof-grid p:nth-child(even) { border-left:1px solid rgba(255,255,255,.3); }
.about-proof-grid p:before { content:"+"; margin-right:18px; color:var(--pale); font:700 .8rem Arial,Helvetica,sans-serif; }

.about-people { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(65px,9vw,140px); background:var(--warm); }
.about-people-copy { align-self:center; }
.about-people h2 { margin:46px 0 38px; }
.about-people-copy>p { max-width:590px; color:#5d5b68; line-height:1.75; }
.about-people figure { min-height:700px; margin:0; position:relative; overflow:hidden; }
.about-people figure img { height:100%; object-fit:cover; filter:saturate(.58) contrast(1.03); }
.about-people figcaption { min-width:210px; padding:20px 24px; position:absolute; left:0; bottom:0; background:var(--paper); display:flex; flex-direction:column; gap:7px; }

.sesa-hero { padding-bottom:56px; background:linear-gradient(120deg,#1d2433 0%,#1d1b2d 68%,#343a83 100%); }
.sesa-intro { display:grid; grid-template-columns:.4fr 1.05fr .55fr; gap:clamp(42px,7vw,110px); align-items:start; background:var(--warm); }
.sesa-intro>div:last-child { padding-top:8px; }
.sesa-intro>div:last-child p { margin:0 0 24px; color:#5d5b68; line-height:1.75; }

.capability-section { background:var(--ink); color:#fff; }
.sesa-capabilities-light { background:var(--paper); color:var(--ink); }
.sesa-capabilities-light .capability-heading h2 em { color:var(--indigo); }
.sesa-capabilities-light .capability-grid li { color:#5d5b68; }
.capability-heading { display:grid; grid-template-columns:.38fr 1.12fr .5fr; gap:clamp(42px,7vw,110px); align-items:end; }
.capability-grid { margin-top:clamp(70px,8vw,120px); display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.22); }
.capability-grid article { min-height:520px; padding:38px clamp(23px,3vw,45px); border-right:1px solid rgba(255,255,255,.22); border-bottom:1px solid rgba(255,255,255,.22); }
.capability-grid article:nth-child(3n+1) { padding-left:0; }
.capability-grid article:nth-child(3n) { border-right:0; }
.capability-card-head { min-height:150px; }
.capability-card-head h3 { margin:34px 0 0; font:400 clamp(1.65rem,2.4vw,2.65rem)/1.08 Georgia,serif; }
.capability-grid ul { margin:0; padding:26px 0 0; border-top:1px solid rgba(255,255,255,.2); list-style:none; }
.capability-grid li { padding:0 0 13px 17px; position:relative; color:#b9bbc4; font-size:.84rem; line-height:1.55; }
.capability-grid li:before { content:"+"; position:absolute; left:0; color:var(--pale); }

.lifecycle-section { background:var(--paper); }
.lifecycle-heading { margin-top:60px; display:grid; grid-template-columns:1.15fr .55fr; gap:clamp(55px,9vw,140px); align-items:end; }
.lifecycle-heading>p { max-width:520px; margin:0 0 5px; color:#5d5b68; line-height:1.75; }
.lifecycle-strip { margin-top:70px; display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); }
.lifecycle-strip article { min-height:250px; padding:34px clamp(20px,2.8vw,42px); border-right:1px solid var(--line); }
.lifecycle-strip article:first-child { padding-left:0; }
.lifecycle-strip article:last-child { border-right:0; }
.lifecycle-strip span { color:var(--indigo); font-size:.61rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.lifecycle-strip p { margin:80px 0 0; font:400 clamp(1.25rem,1.8vw,1.75rem)/1.3 Georgia,serif; }

.track-record { background:var(--indigo); color:#fff; }
.selected-projects { border-top:1px solid rgba(255,255,255,.3); }
.track-record h2 { max-width:1160px; margin:65px 0 70px; }
.project-record { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.3); }
.project-record article { min-height:130px; padding:29px 45px 29px 0; display:grid; grid-template-columns:5px 1fr; gap:22px; align-items:start; border-bottom:1px solid rgba(255,255,255,.3); }
.project-record article:nth-child(even) { padding-left:45px; border-left:1px solid rgba(255,255,255,.3); }
.project-record article>span { width:5px; height:42px; background:var(--pale); transform:skewY(-18deg); }
.project-record p { margin:0; font:400 clamp(1.1rem,1.55vw,1.45rem)/1.4 Georgia,serif; }

.project-gallery { margin-top:clamp(70px,8vw,120px); padding-top:28px; border-top:1px solid rgba(255,255,255,.3); }
.project-gallery-stage { aspect-ratio:2/1; min-height:430px; position:relative; overflow:hidden; background:#141522; cursor:grab; touch-action:pan-y; user-select:none; }
.project-gallery-stage:active { cursor:grabbing; }
.project-gallery-stage figure { margin:0; position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .7s ease,transform 1.1s cubic-bezier(.2,.7,.2,1); transform:scale(1.025); }
.project-gallery-stage figure.is-active { opacity:1; transform:scale(1); }
.project-gallery-stage figure:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(12,13,28,.1) 30%,rgba(12,13,28,.84) 100%); }
.project-gallery-stage img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04); }
.project-gallery-stage figcaption { position:absolute; z-index:2; left:clamp(22px,4vw,64px); bottom:clamp(26px,4vw,58px); display:flex; flex-direction:column; gap:9px; }
.project-gallery-stage figcaption span { color:var(--pale); font-size:.64rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.project-gallery-stage figcaption strong { font:400 clamp(2.1rem,4.3vw,5.3rem)/.95 Georgia,serif; }
.project-gallery-progress { min-width:155px; padding:18px 20px; position:absolute; z-index:3; left:0; top:0; display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; background:rgba(17,18,31,.82); backdrop-filter:blur(10px); font-size:.63rem; font-weight:800; letter-spacing:.12em; }
.project-gallery-progress i { height:1px; background:rgba(255,255,255,.45); }
.project-gallery-controls { position:absolute; z-index:4; right:0; top:0; display:flex; }
.project-gallery-controls button { width:68px; height:68px; padding:21px; border:0; border-left:1px solid rgba(255,255,255,.25); background:rgba(17,18,31,.82); color:#fff; cursor:pointer; backdrop-filter:blur(10px); transition:background .2s ease,color .2s ease; }
.project-gallery-controls button:hover,.project-gallery-controls button:focus-visible { background:#fff; color:var(--ink); }
.project-gallery-controls svg { width:100%; height:100%; }
.project-gallery-thumbs { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-top:10px; }
.project-gallery-thumbs button { aspect-ratio:1.45/1; min-width:0; padding:0; position:relative; overflow:hidden; border:1px solid transparent; background:#11121f; color:#fff; cursor:pointer; opacity:.58; transition:opacity .2s ease,border-color .2s ease,transform .2s ease; }
.project-gallery-thumbs button:hover,.project-gallery-thumbs button[aria-selected="true"] { opacity:1; border-color:var(--pale); transform:translateY(-3px); }
.project-gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.project-gallery-thumbs span { width:27px; height:25px; position:absolute; right:0; bottom:0; display:grid; place-items:center; background:rgba(17,18,31,.82); font-size:.56rem; font-weight:800; letter-spacing:.08em; }
@media (prefers-reduced-motion:reduce) {
  .project-gallery-stage figure,.project-gallery-thumbs button { transition:none; }
}

.sesa-contact { display:grid; grid-template-columns:1fr .75fr; gap:clamp(65px,10vw,160px); align-items:end; background:var(--warm); }
.sesa-contact h2 { margin:46px 0 32px; }
.sesa-contact>div>p { max-width:630px; margin:0; color:#5d5b68; line-height:1.75; }
.sesa-contact aside { padding:36px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); background:var(--paper); }
.sesa-contact aside>span { font:400 2.2rem/1 Georgia,serif; }
.sesa-contact aside>strong { margin:18px 0 34px; color:var(--indigo); font-size:.68rem; line-height:1.55; letter-spacing:.08em; text-transform:uppercase; }
.sesa-contact aside>a:not(.button) { margin-bottom:12px; padding-bottom:5px; border-bottom:1px solid var(--line); font-size:.9rem; overflow-wrap:anywhere; }

@media (max-width:1100px) {
  .inner-hero-mark { opacity:.56; right:3vw; }
  .about-intro,.sesa-intro { grid-template-columns:.38fr 1fr; }
  .about-intro aside,.sesa-intro>div:last-child { grid-column:2; }
  .about-approach-heading,.capability-heading { grid-template-columns:.38fr 1fr; }
  .about-approach-heading>p,.capability-heading>p { grid-column:2; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .capability-grid article:nth-child(3n+1) { padding-left:clamp(23px,3vw,45px); }
  .capability-grid article:nth-child(3n) { border-right:1px solid rgba(255,255,255,.22); }
  .capability-grid article:nth-child(odd) { padding-left:0; }
  .capability-grid article:nth-child(even) { border-right:0; }
  .about-people,.sesa-contact { grid-template-columns:1fr; }
  .about-people figure { min-height:620px; }
}

@media (max-width:700px) {
  .inner-hero { min-height:780px; padding:110px 22px 88px; }
  .sesa-hero { padding-bottom:44px; }
  .inner-hero-grid { inset:76px 0 0; background-size:25vw 25vw; }
  .inner-hero-content { width:100%; }
  .inner-hero h1 { font-size:clamp(3.35rem,15vw,4.7rem); }
  .inner-hero-intro { margin-top:36px; grid-template-columns:1fr; gap:20px; }
  .inner-hero-mark { width:125px; height:125px; right:-22px; top:19%; opacity:.4; }
  .inner-hero-mark i { width:14px; height:58px; }
  .inner-hero-mark i:nth-child(2) { margin-top:14px; }
  .inner-hero-mark i:nth-child(3) { margin-top:28px; }
  .inner-hero-index { padding:0 22px; gap:24px; overflow:hidden; }
  .inner-hero-index span:nth-child(n+4) { display:none; }
  .about-intro,.sesa-intro,.about-approach-heading,.capability-heading { grid-template-columns:1fr; gap:42px; }
  .about-intro aside,.sesa-intro>div:last-child,.about-approach-heading>p,.capability-heading>p { grid-column:1; }
  .about-intro-main h2,.about-outcomes-heading h2,.about-people h2,.sesa-intro h2,.lifecycle-heading h2,.sesa-contact h2 { font-size:3rem; }
  .about-approach-heading h2,.about-proof h2,.track-record h2,.capability-heading h2 { font-size:3.15rem; }
  .approach-cards { grid-template-columns:1fr; }
  .approach-cards article { min-height:0; padding:34px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }
  .approach-cards article:first-child { padding-left:0; }
  .approach-cards h3 { margin:50px 0 18px; }
  .about-outcomes-heading,.lifecycle-heading { grid-template-columns:1fr; gap:35px; }
  .about-outcome-grid,.about-proof-grid,.project-record { grid-template-columns:1fr; }
  .about-outcome-grid article,.about-outcome-grid article:nth-child(even) { min-height:0; padding:32px 0; border-left:0; }
  .about-outcome-grid h3 { margin:42px 0 18px; }
  .about-proof-grid p,.about-proof-grid p:nth-child(even) { min-height:0; padding:26px 0; border-left:0; }
  .about-people figure { min-height:480px; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article,.capability-grid article:nth-child(3n+1),.capability-grid article:nth-child(3n),.capability-grid article:nth-child(odd),.capability-grid article:nth-child(even) { min-height:0; padding:34px 0; border-right:0; }
  .capability-card-head { min-height:130px; }
  .lifecycle-strip { grid-template-columns:1fr; }
  .lifecycle-strip article { min-height:0; padding:28px 0; border-right:0; border-bottom:1px solid var(--line); }
  .lifecycle-strip p { margin:42px 0 0; }
  .project-record article,.project-record article:nth-child(even) { min-height:0; padding:26px 0; border-left:0; }
  .project-gallery { margin-top:58px; padding-top:18px; }
  .project-gallery-stage { aspect-ratio:4/5; min-height:0; }
  .project-gallery-stage figcaption { max-width:75%; }
  .project-gallery-stage figcaption strong { font-size:2.65rem; }
  .project-gallery-controls button { width:54px; height:54px; padding:16px; }
  .project-gallery-progress { min-width:126px; padding:15px 16px; }
  .project-gallery-thumbs { grid-template-columns:repeat(7,84px); overflow-x:auto; padding:0 0 10px; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .project-gallery-thumbs button { scroll-snap-align:start; }
  .sesa-contact aside { padding:28px 22px; }
}

.sesa-capabilities-light .capability-grid,
.sesa-capabilities-light .capability-grid ul,
.sesa-capabilities-light .capability-grid article { border-color:var(--line); }

/* Contact page */
.contact-header { position:absolute; }
.contact-header a[aria-current="page"] { opacity:1; }
.contact-hero { min-height:82svh; padding:130px 7vw 105px; position:relative; overflow:hidden; display:flex; align-items:flex-end; background:var(--navy); color:#fff; }
.contact-hero:after { content:""; width:44vw; height:1px; position:absolute; right:-5vw; top:43%; background:rgba(201,203,236,.42); transform:rotate(-38deg); transform-origin:right center; }
.contact-hero-grid { position:absolute; inset:92px 0 0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:8.333vw 8.333vw; mask-image:linear-gradient(to right,#000,transparent 80%); }
.contact-hero-content { width:min(1180px,78vw); position:relative; z-index:2; }
.contact-hero h1 { max-width:1180px; font-size:clamp(4.1rem,7.9vw,8.8rem); line-height:.88; }
.contact-hero-content>p:last-child { max-width:720px; margin:46px 0 0; padding-top:28px; border-top:1px solid rgba(255,255,255,.35); color:rgba(255,255,255,.8); font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.65; }
.contact-hero-signal { width:clamp(175px,18vw,275px); height:clamp(175px,18vw,275px); position:absolute; right:7vw; top:23%; z-index:1; display:flex; align-items:center; justify-content:center; gap:15px; border:1px solid rgba(255,255,255,.23); transform:rotate(45deg); }
.contact-hero-signal i { width:clamp(20px,2.1vw,32px); height:clamp(80px,8.5vw,130px); background:var(--indigo); transform:skewY(-36deg) rotate(-45deg); }
.contact-hero-signal i:nth-child(2) { margin-top:27px; background:var(--mid); }
.contact-hero-signal i:nth-child(3) { margin-top:54px; background:var(--pale); }
.contact-hero-index { height:62px; padding:0 7vw; position:absolute; inset:auto 0 0; z-index:3; display:flex; align-items:center; gap:clamp(32px,7vw,110px); border-top:1px solid rgba(255,255,255,.16); background:rgba(17,18,31,.48); font-size:.61rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.contact-hero-index span:before { content:"+"; margin-right:9px; color:var(--pale); }

.enquiry-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(65px,9vw,145px); background:var(--warm); }
.enquiry-intro { align-self:start; position:sticky; top:48px; }
.enquiry-intro h2 { margin:46px 0 36px; font-size:clamp(3.2rem,5vw,5.8rem); line-height:.98; }
.enquiry-intro h2 em { color:var(--indigo); }
.enquiry-intro>p { max-width:510px; color:#5d5b68; line-height:1.75; }
.enquiry-form { padding:clamp(32px,4.8vw,70px); background:var(--paper); border:1px solid var(--line); }
.form-honeypot { display:none; }
#enquiry { scroll-margin-top:24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.form-field { margin-bottom:34px; }
.form-field label { margin-bottom:12px; display:block; color:var(--ink); font-size:.61rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.form-field label span { color:var(--indigo); }
.form-field input,.form-field select,.form-field textarea { width:100%; padding:15px 0; border:0; border-bottom:1px solid rgba(29,27,45,.35); border-radius:0; outline:0; background:transparent; color:var(--ink); font:400 1.03rem/1.5 Arial,Helvetica,sans-serif; }
.form-field select { cursor:pointer; }
.form-field textarea { min-height:155px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--indigo); box-shadow:0 1px 0 var(--indigo); }
.form-submit { padding-top:8px; display:flex; gap:35px; align-items:center; justify-content:space-between; }
.form-submit>p { max-width:360px; margin:0; color:#73717d; font-size:.7rem; line-height:1.5; }
.form-submit button { min-width:190px; padding:18px 22px; border:0; display:inline-flex; gap:14px; align-items:center; justify-content:space-between; background:var(--ink); color:#fff; cursor:pointer; font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; transition:background .2s; }
.form-submit button:hover { background:var(--indigo); }
.form-submit button:focus-visible { outline:3px solid var(--indigo); outline-offset:3px; }

.contact-expect { background:var(--indigo); color:#fff; }
.expect-grid { margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.3); border-bottom:1px solid rgba(255,255,255,.3); }
.expect-grid article { min-height:330px; padding:38px clamp(24px,3vw,48px) 38px 0; }
.expect-grid article+article { padding-left:clamp(24px,3vw,48px); border-left:1px solid rgba(255,255,255,.3); }
.expect-grid span { color:var(--pale); font-size:.59rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.expect-grid h3 { margin:72px 0 22px; font-size:clamp(1.9rem,2.7vw,3rem); line-height:1.08; letter-spacing:-.04em; }
.expect-grid p { max-width:360px; margin:0; color:rgba(255,255,255,.72); font-size:.88rem; line-height:1.7; }

.thanks-content { min-height:100svh; padding:150px 7vw 90px; position:relative; display:grid; place-items:center; overflow:hidden; background:var(--navy); color:#fff; }
.thanks-card { width:min(950px,100%); position:relative; z-index:2; text-align:center; }
.thanks-card h1 { font-size:clamp(4rem,8vw,8.5rem); line-height:.88; }
.thanks-card>p { max-width:630px; margin:42px auto 0; color:rgba(255,255,255,.76); font-size:1.05rem; line-height:1.7; }
.thanks-card .button { margin-top:42px; }

@media (max-width:1100px) {
  .contact-hero-signal { opacity:.55; right:3vw; }
  .enquiry-section { grid-template-columns:1fr; }
  .enquiry-intro { position:static; }
}

@media (max-width:700px) {
  .contact-hero { min-height:760px; padding:110px 22px 88px; }
  .contact-hero-grid { inset:76px 0 0; background-size:25vw 25vw; }
  .contact-hero-content { width:100%; }
  .contact-hero h1 { font-size:clamp(3.55rem,16vw,4.9rem); }
  .contact-hero-content>p:last-child { margin-top:36px; font-size:.94rem; }
  .contact-hero-signal { width:125px; height:125px; right:-22px; top:20%; opacity:.42; }
  .contact-hero-signal i { width:14px; height:58px; }
  .contact-hero-signal i:nth-child(2) { margin-top:14px; }
  .contact-hero-signal i:nth-child(3) { margin-top:28px; }
  .contact-hero-index { padding:0 22px; gap:24px; overflow:hidden; }
  .contact-hero-index span:nth-child(n+4) { display:none; }
  .enquiry-intro h2 { font-size:3rem; }
  .enquiry-form { padding:34px 22px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .form-submit { align-items:stretch; flex-direction:column; }
  .form-submit button { width:100%; }
  .expect-grid { grid-template-columns:1fr; }
  .expect-grid article { min-height:0; padding:32px 0; }
  .expect-grid article+article { padding-left:0; border-top:1px solid rgba(255,255,255,.3); border-left:0; }
  .expect-grid h3 { margin:40px 0 18px; font-size:2rem; }
  .thanks-content { padding:130px 22px 70px; }
}

/* Shared typography system */
body h1 { font-family:Georgia,"Times New Roman",serif; font-size:var(--type-h1); font-weight:400; line-height:.92; letter-spacing:-.05em; text-wrap:balance; overflow-wrap:normal; word-break:normal; }
body h2 { font-family:Georgia,"Times New Roman",serif; font-size:var(--type-h2); font-weight:400; line-height:1; letter-spacing:-.045em; text-wrap:balance; overflow-wrap:normal; word-break:normal; }
body h3 { font-family:Georgia,"Times New Roman",serif; font-size:var(--type-h3); font-weight:400; line-height:1.14; letter-spacing:-.03em; text-wrap:balance; overflow-wrap:normal; word-break:normal; }
.hero-lower p,.manifesto-copy>p,.manifesto-aside p,.services-intro p,.service-outcomes article p,.service-row p,.approach-lead,.approach-definition,.approach-principles .principle p,.sector-heading>p,.sector-detail-copy p,.team-copy>p,.purpose-copy p,.footer-brand-block p,.team-hero-intro p,.team-intro-copy p,.team-belief-lower p,.profile-bio p,.inner-hero-intro p,.about-intro-main>p,.about-intro aside p,.about-approach-heading>p,.approach-cards p,.about-outcomes-heading>p,.about-outcome-grid p,.about-people-copy>p,.sesa-intro>div:last-child p,.capability-heading>p,.capability-grid li,.lifecycle-heading>p,.sesa-contact>div>p,.contact-hero-content>p:last-child,.enquiry-intro>p,.expect-grid p,.thanks-card>p { font-family:Arial,Helvetica,sans-serif; font-size:var(--body-size); line-height:var(--body-line); letter-spacing:.002em; }
.team-intro { grid-template-columns:.34fr 1.3fr .66fr; }
.team-intro h2 { max-width:15ch; }

@media (max-width:1100px) {
  :root { --type-h1:clamp(3.8rem,8.5vw,5.8rem); --type-h2:clamp(2.7rem,5.7vw,4.1rem); --type-h3:clamp(1.5rem,3vw,2rem); --body-size:.98rem; }
  .team-intro { grid-template-columns:.3fr 1.4fr; }
}

@media (max-width:700px) {
  :root { --type-h1:clamp(3.05rem,14vw,4.3rem); --type-h2:clamp(2.4rem,10.8vw,3.2rem); --type-h3:clamp(1.45rem,7vw,1.8rem); --body-size:.95rem; --body-line:1.68; }
  .team-intro { grid-template-columns:1fr; }
  .team-intro h2 { max-width:12ch; }
  .purpose-layout { margin-top:48px; padding-top:30px; gap:38px; }
  .purpose-heading { gap:34px; }
  .purpose h2 { max-width:10ch; }
  .purpose-lead { padding:30px 0 38px; font-size:1.35rem; }
  .purpose-point { grid-template-columns:1fr; gap:14px; padding:28px 0; }
}
