/* Arbound / WEB 02 — brandbook palette, exact solid swatches.
   The font family references the licensed face only if installed locally.
   No third-party font files or external trackers are bundled. */
:root{
  --black:#000000; --white:#ffffff;
  --gray-1:#666666; --gray-2:#b3b3b3; --gray-3:#cccccc;
  --blue-1:#2448ff; --blue-2:#4569ff; --blue-3:#668bff;
  --blue-4:#99b6ff; --blue-5:#cadcff;
  --paper:var(--white); --surface:var(--white);
  --ink:var(--black); --muted:var(--gray-1); --line:var(--gray-3);
  --shell:1400px;
  --font:Arial,Helvetica,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body,button{font-synthesis:weight}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--blue-5);color:var(--black)}
.shell{width:calc(100% - 112px);max-width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;z-index:300;top:-100px;left:20px;background:var(--white);color:var(--black);padding:12px 18px;border:2px solid var(--blue-1)}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--blue-2);outline-offset:5px}

/* MENU — official white + brand blue horizontal mark on solid black. */
.topline{height:3px;background:var(--black)}
.topline span{display:block;height:100%;width:10%;background:var(--blue-1)}
.site-header{position:sticky;top:0;z-index:100;background:var(--black);color:var(--white);border-bottom:1px solid var(--gray-1)}
.header-inner{height:88px;display:flex;align-items:center;gap:40px}
.wordmark,.footer-wordmark{display:inline-flex;flex:none;align-items:center;min-width:0}
.wordmark img{width:192px;height:auto}
.primary-nav{display:flex;gap:31px;align-items:center;margin-left:auto}
.primary-nav a{font-size:12px;font-weight:700;letter-spacing:.035em;white-space:nowrap;transition:color .25s ease}
.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--blue-4)}
.header-cta{font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--blue-2);padding:15px 18px;white-space:nowrap;transition:background .25s ease,color .25s ease;margin-left:0}
.header-cta:hover,.header-cta:focus-visible{background:var(--blue-1);border-color:var(--blue-1);color:var(--white)}
.header-cta span{color:var(--blue-3);margin-left:20px;font-size:17px;font-weight:400}
.header-cta:hover span{color:var(--white)}
.nav-toggle{display:none}

/* HERO */
.hero{background:var(--white);overflow:hidden}
.hero-shell{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:44px;min-height:740px}
.hero-copy{position:relative;padding-block:104px 72px;z-index:1}
.eyebrow,.small-label,.section-index,.rail-note,.card-foot,.contact-detail>span,.footer-location>span{font-size:10px;font-weight:800;letter-spacing:.15em}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gray-1)}
.eyebrow-mark{display:block;flex:none;background:var(--blue-1);width:7px;height:7px}
.eyebrow-slash{color:var(--blue-1);margin-inline:4px}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(50px,5.35vw,84px);line-height:1.055;letter-spacing:-.068em;font-weight:780;margin:32px 0 34px;white-space:nowrap}
.hero h1 em,.statement h2 em{font-style:normal;color:var(--blue-1)}
.period{color:var(--blue-1)}
.hero-description{font-size:17px;line-height:1.75;max-width:520px;color:var(--gray-1);margin:0}
.hero-actions{display:flex;align-items:center;gap:35px;margin-top:40px}
.button{min-height:56px;padding:0 22px;display:inline-flex;gap:42px;align-items:center;justify-content:space-between;font-size:11px;font-weight:760;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;transition:transform .25s ease,background .25s ease,color .25s ease}
.button:hover{transform:translateY(-3px)}
.button span{font-size:19px;line-height:1;font-weight:400;color:var(--blue-3)}
.button-dark{background:var(--black);color:var(--white)}
.button-dark:hover{background:var(--blue-1)}
.button-dark:hover span{color:var(--white)}
.button-light{background:var(--white);color:var(--black);margin-top:29px}
.button-light:hover{background:var(--blue-5)}
.button-light span{color:var(--blue-1)}
.text-link{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--black);padding-bottom:10px;white-space:nowrap}
.text-link span{color:var(--blue-1);font-size:18px;margin-left:12px}
.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0;padding:32px 0 42px}
.hero-visual>svg{width:min(100%,590px);max-height:625px}
.visual-coordinate{position:absolute;font-size:10px;font-weight:740;letter-spacing:.14em;color:var(--gray-1)}
.visual-coordinate-top{top:57px;right:0}
.visual-coordinate-bottom{bottom:50px;right:0;display:flex;gap:11px;align-items:center}
.visual-coordinate-bottom span{width:21px;height:1px;background:var(--blue-1)}
.hero-bottom{min-height:70px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--gray-3);font-size:10px;font-weight:790;letter-spacing:.14em;color:var(--gray-1)}
.hero-bottom .divide{color:var(--blue-1);margin:0 8px}
.scroll-indicator span{color:var(--blue-1);font-size:18px;margin-left:15px}
.path-draw{stroke-dasharray:650;stroke-dashoffset:0}
.js-motion .path-draw{stroke-dashoffset:650;animation:hero-route 2.4s .35s cubic-bezier(.2,.75,.2,1) forwards}
.pulse{transform-origin:400px 150px;animation:node-pulse 3.8s ease-in-out infinite}

/* STRUCTURE AND ANIMATED RULES */
.section{padding:138px 0}
.section-grid,.section-heading,.principles-heading{display:grid;grid-template-columns:208px 1fr;gap:65px}
.section-rail{display:flex;flex-direction:column;align-items:flex-start}
.section-index{color:var(--blue-1);white-space:nowrap}
.rail-line{width:1px;height:130px;background:var(--gray-3);margin:27px 0 23px 5px;position:relative}
.rail-line::after{content:"";position:absolute;inset:0;background:var(--blue-1);transform-origin:bottom center;transform:scaleY(1)}
.js-motion .rail-line::after{transform:scaleY(0);transition:transform 1.3s cubic-bezier(.15,.8,.2,1)}
.js-motion .rail-line.is-visible::after{transform:scaleY(1)}
.rail-note{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--gray-2)}
.display-title{font-size:clamp(38px,4.2vw,66px);line-height:1.13;letter-spacing:-.063em;font-weight:770;margin:0}
.display-title span{color:var(--gray-1)}
[data-line="horizontal"]{position:relative}
[data-line="horizontal"]::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--blue-1);transform:scaleX(1);transform-origin:left center;pointer-events:none}
.js-motion [data-line="horizontal"]::before{transform:scaleX(0);transition:transform 1.25s cubic-bezier(.15,.8,.2,1)}
.js-motion [data-line="horizontal"].is-visible::before{transform:scaleX(1)}

/* ABOUT + photography */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:61px}
.lead-copy{font-size:24px;line-height:1.36;letter-spacing:-.035em;max-width:420px;margin:0}
.support-copy{font-size:15px;line-height:1.85;color:var(--gray-1);max-width:460px;margin:0}
.photo-duo{display:grid;grid-template-columns:1.4fr .85fr;gap:16px;height:340px;margin-top:70px}
.photo-slot{position:relative;overflow:hidden;margin:0;background:var(--gray-3);min-height:0;isolation:isolate}
.photo-slot-tall{background:var(--gray-2)}
.photo-slot-image .slot-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.92);transform:scale(1.02)}
.photo-slot-wide .slot-media{object-position:center center}
.photo-slot-tall .slot-media{object-position:45% 18%}
.photo-slot-image::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38));z-index:0}
.photo-slot-badge{position:absolute;top:22px;left:22px;z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:28px;padding:0 12px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.16);font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.photo-slot-badge::before{content:"";width:6px;height:6px;background:var(--blue-1);display:block;flex:none}
.photo-slot-art{position:absolute;inset:0;background:linear-gradient(128deg,transparent 28%,rgba(255,255,255,.2) 28.06%,transparent 28.3%,transparent 63%,rgba(255,255,255,.16) 63.1%,transparent 63.3%);opacity:.82;z-index:1}
.photo-slot::after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.6);pointer-events:none}
.photo-slot figcaption{position:absolute;left:30px;right:30px;bottom:30px;display:flex;justify-content:space-between;align-items:end;gap:14px;font-size:9px;line-height:1.4;font-weight:800;letter-spacing:.14em;color:var(--white);z-index:2;text-shadow:0 1px 1px rgba(0,0,0,.4)}
.photo-slot-tall figcaption{display:block}
.photo-slot-tall figcaption span{display:block;margin-top:8px}
.photo-cross{width:21px;height:21px;display:block;position:absolute}
.photo-cross::before,.photo-cross::after{content:"";position:absolute;background:rgba(102,139,255,.92)}
.photo-cross::before{width:21px;height:1px;left:0;top:10px}
.photo-cross::after{width:1px;height:21px;top:0;left:10px}
.photo-cross-a{left:50%;top:43%;opacity:.7}
.photo-cross-b{right:10%;top:14%;opacity:.4}
.definition-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:65px;border-bottom:1px solid var(--gray-3)}
.definition-strip>div{padding:25px 10px 30px 0}
.definition-strip>div+div{border-left:1px solid var(--gray-3);padding-left:34px}
.definition-strip span{display:block;font-size:10px;letter-spacing:.12em;font-weight:750;color:var(--gray-1);margin-bottom:20px}
.definition-strip b{font-size:18px;font-weight:750;letter-spacing:-.035em}

/* WHAT WE DO */
.expertise-section{background:var(--surface);border-top:1px solid var(--gray-3)}
.section-heading{align-items:start;margin-bottom:76px}
.section-heading p{font-size:16px;line-height:1.75;color:var(--gray-1);max-width:500px;margin:30px 0 0}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--gray-2)}
.expertise-card{padding:27px 37px 30px 0;display:flex;flex-direction:column;justify-content:space-between;min-height:348px}
.expertise-card+.expertise-card{border-left:1px solid var(--gray-2);padding-left:38px}
.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--blue-1)}
.card-top>span:first-child{font-size:11px;letter-spacing:.14em;font-weight:800}
.card-plus{font-size:44px;font-weight:200;line-height:.9;color:var(--blue-1)}
.expertise-card h3{font-size:25px;line-height:1.16;letter-spacing:-.045em;max-width:310px;margin:0 0 18px}
.expertise-card p{font-size:14px;line-height:1.8;color:var(--gray-1);max-width:340px;margin:0}
.card-foot{font-size:9px;letter-spacing:.14em;color:var(--gray-1);margin-top:40px}

/* SUPPLIERS — exact geometric alignment is guaranteed by one SVG coordinate system. */
.suppliers-section{position:relative;overflow:hidden;color:var(--white);background:var(--black)}
.suppliers-grid-overlay{position:absolute;inset:0;pointer-events:none;opacity:.20;background-image:linear-gradient(to right,var(--gray-1) 1px,transparent 1px),linear-gradient(to bottom,var(--gray-1) 1px,transparent 1px);background-size:105px 105px;mask-image:linear-gradient(to right,transparent,#000)}
.suppliers-layout{position:relative;display:grid;grid-template-columns:.76fr 1fr;gap:11%;min-height:470px}
.section-index-light{color:var(--blue-4)}
.suppliers-left{display:flex;flex-direction:column;justify-content:space-between}
.supplier-graphic{position:relative;width:100%;max-width:520px;align-self:end;margin-top:70px}
.supplier-graphic svg{width:100%;overflow:visible}
.sg-caption{display:block;margin-top:10px;color:var(--gray-2);font-size:10px;letter-spacing:.14em;font-weight:750}
.supplier-path{transition:stroke-dashoffset 1.75s cubic-bezier(.18,.8,.2,1)}
.supplier-ping{transform-origin:475px 42px;animation:node-pulse 4s ease-in-out infinite}
.suppliers-right{padding:12px 0 15px}
.small-label{color:var(--gray-2)}
.suppliers-right h2{font-size:clamp(48px,5vw,77px);letter-spacing:-.065em;line-height:1.1;font-weight:750;margin:28px 0 47px}
.suppliers-right>p{font-size:15px;line-height:1.85;color:var(--gray-2);max-width:650px;margin:0 0 24px}
.suppliers-right>.supplier-lead{font-size:24px;line-height:1.5;color:var(--white);letter-spacing:-.025em}

/* PRINCIPLES */
.principles-heading{align-items:start}
.principles-heading>p{grid-column:2;max-width:520px;font-size:16px;line-height:1.75;color:var(--gray-1);margin:4px 0 55px}
.principles-list{list-style:none;margin:0;padding:0}
.principles-list li{display:grid;grid-template-columns:110px 1fr .8fr 25px;gap:15px;align-items:center;min-height:100px;border-bottom:1px solid var(--gray-3);font-size:23px;font-weight:700;letter-spacing:-.04em}
.principle-number{color:var(--blue-1);font-size:11px;letter-spacing:.12em;font-weight:810}
.principle-detail{font-size:13px;letter-spacing:0;font-weight:400;color:var(--gray-1)}
.principle-mark{color:var(--blue-1);font-size:21px;font-weight:400}

/* MOVING EDITORIAL BAND: three slow layers + drifting trajectories.
   Empty media slot reserved for eventual real footage / photography. */
.statement{position:relative;isolation:isolate;overflow:hidden;background:var(--black);color:var(--white);padding:114px 0 125px}
.statement-media{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0) 26%,rgba(255,255,255,.018) 100%)}
.statement-media::before{content:"";position:absolute;top:-14%;left:-42%;width:38%;height:130%;background:linear-gradient(90deg,rgba(36,72,255,0),rgba(102,139,255,.18) 20%,rgba(202,220,255,.5) 48%,rgba(102,139,255,.18) 76%,rgba(36,72,255,0));filter:blur(22px);mix-blend-mode:screen;opacity:.9;animation:glow-sweep 8s linear infinite}
.statement-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52) 55%,rgba(0,0,0,.74))}
.statement-media-plane{position:absolute;width:75%;height:180%;top:-35%;transform:skew(-18deg);opacity:.48;will-change:transform}
.statement-media-plane-a{left:-28%;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.12) 39%,transparent 40%,transparent 72%,rgba(102,139,255,.9) 72.2%,transparent 72.5%);animation:plane-cross-a 23s linear infinite alternate}
.statement-media-plane-b{left:50%;background:linear-gradient(80deg,transparent 15%,rgba(69,105,255,.9) 16%,transparent 17%,transparent 47%,rgba(255,255,255,.14) 48%,transparent 49%);animation:plane-cross-b 29s linear infinite alternate}
.statement-media-plane-c{left:27%;background:repeating-linear-gradient(90deg,transparent 0,transparent 104px,rgba(255,255,255,.18) 105px,transparent 106px);opacity:.2;animation:plane-cross-c 33s linear infinite alternate}
.statement-trails{position:absolute;inset:-8%;width:116%;height:116%;opacity:.9;animation:trails-drift 18s ease-in-out infinite alternate}
.statement-media-note{position:absolute;right:var(--section-right,5%);bottom:20px;font-size:9px;letter-spacing:.14em;color:var(--gray-2);opacity:.88;z-index:1}
.statement-inner{position:relative;display:grid;grid-template-columns:190px 1fr 155px;align-items:start;gap:35px}
.statement-inner>span{font-size:10px;font-weight:785;letter-spacing:.14em;color:var(--gray-3);margin-top:14px}
.statement-inner>span:last-child{text-align:right}
.statement h2{font-size:clamp(37px,4.1vw,66px);line-height:1.16;letter-spacing:-.06em;font-weight:760;margin:0;min-width:400px}
.statement h2 em{color:var(--blue-3)}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:1fr .7fr;gap:13%;align-items:start}
.contact-heading h2{margin:31px 0}
.contact-heading>p{font-size:16px;line-height:1.8;color:var(--gray-1);max-width:465px}
.contact-button{margin-top:30px}
.contact-details{border-bottom:1px solid var(--gray-3)}
.contact-detail{padding:27px 0 29px;border-bottom:1px solid var(--gray-3)}
.contact-detail:last-child{border-bottom:0}
.contact-detail>span{display:block;color:var(--gray-1);margin-bottom:13px}
.contact-detail>strong,.contact-detail>a{font-size:21px;line-height:1.35;font-weight:740;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-detail>a:hover{color:var(--blue-1)}
.contact-detail p{font-size:13px;color:var(--gray-1);margin:8px 0 0}

/* FOOTER + PRIVACY */
.site-footer{background:var(--black);color:var(--white);padding:76px 0 0}
.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:46px;padding-bottom:82px}
.footer-wordmark img{width:235px;height:auto}
.footer-main p{font-size:13px;line-height:1.8;color:var(--gray-2)}
.footer-menu{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-content:start;padding-top:8px}
.footer-menu a{font-size:12px;color:var(--gray-3);transition:color .2s}
.footer-menu a:hover,.footer-location a:hover{color:var(--blue-4)}
.footer-location{position:relative}
.footer-location>span{color:var(--gray-2);font-size:10px}
.footer-location>p{font-size:16px;margin:14px 0 36px;color:var(--white)}
.footer-location>a{font-size:13px;color:var(--gray-2)}
.footer-monogram{width:35px;height:auto;opacity:.85;margin-top:33px}
.footer-bottom{min-height:72px;border-top:1px solid var(--gray-1);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.09em;color:var(--gray-2)}
.footer-bottom a:hover{color:var(--white)}
.legal-main{max-width:880px;padding:96px 0 140px}
.legal-main h1{font-size:clamp(44px,6vw,72px);letter-spacing:-.06em;margin:22px 0 35px}
.legal-main h2{font-size:21px;letter-spacing:-.025em;margin:36px 0 12px}
.legal-main p{line-height:1.85;color:var(--gray-1);max-width:740px}
.legal-main a{color:var(--blue-1);text-decoration:underline}
.draft-notice{border:1px solid var(--blue-1);background:var(--blue-5);padding:18px 21px;font-size:13px;line-height:1.65;margin:18px 0 45px}
.legal-main .draft-note{font-size:12px;margin-top:55px}

/* Varied scroll choreography. Default: content visible without JS. */
[data-reveal]{opacity:1;transform:none;filter:none;clip-path:none}
.js-motion [data-reveal]{opacity:0;transition-property:opacity,transform,filter,clip-path;transition-duration:850ms;transition-timing-function:cubic-bezier(.18,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.js-motion [data-reveal="rise"]{transform:translate3d(0,37px,0)}
.js-motion [data-reveal="from-left"]{transform:translate3d(-43px,0,0)}
.js-motion [data-reveal="from-right"]{transform:translate3d(43px,0,0)}
.js-motion [data-reveal="scale"]{transform:scale(.965)}
.js-motion [data-reveal="focus"]{transform:scale(1.022);filter:blur(7px)}
.js-motion [data-reveal="clip-up"]{transform:translateY(13px);clip-path:inset(15% 0 0 0)}
.js-motion [data-reveal].is-visible{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}
@keyframes hero-route{to{stroke-dashoffset:0}}
@keyframes node-pulse{0%,100%{opacity:.15;transform:scale(1)}50%{opacity:.5;transform:scale(1.26)}}
@keyframes plane-cross-a{from{transform:skew(-18deg) translateX(-7%)}to{transform:skew(-18deg) translateX(23%)}}
@keyframes plane-cross-b{from{transform:skew(-18deg) translateX(12%)}to{transform:skew(-18deg) translateX(-22%)}}
@keyframes plane-cross-c{from{transform:skew(-18deg) translateX(-10%)}to{transform:skew(-18deg) translateX(19%)}}
@keyframes trails-drift{from{transform:translate3d(-5%,4%,0)}to{transform:translate3d(5%,-4%,0)}}
@keyframes glow-sweep{from{transform:translateX(0)}to{transform:translateX(390%)}}

/* Progressive disclosure on smaller screens. */
@media(min-width:1600px){.hero-shell{min-height:805px}.hero h1{font-size:clamp(50px,5.35vw,84px);line-height:1.055;letter-spacing:-.068em;font-weight:780;margin:32px 0 34px;white-space:nowrap}}
@media(max-width:1160px){
 .shell{width:calc(100% - 76px)}.header-inner{gap:22px}.primary-nav{gap:18px}
 .hero-shell{gap:12px;grid-template-columns:1.14fr .86fr;min-height:635px}.hero h1{font-size:clamp(50px,5.35vw,84px);line-height:1.055;letter-spacing:-.068em;font-weight:780;margin:32px 0 34px;white-space:nowrap}
 .section-grid,.section-heading,.principles-heading{grid-template-columns:158px 1fr;gap:45px}
 .suppliers-layout{gap:8%}.expertise-card{padding-right:22px}.expertise-card+.expertise-card{padding-left:24px}
 .statement-inner{grid-template-columns:135px 1fr 112px;gap:24px}
}
@media(max-width:880px){
 html{scroll-padding-top:80px}.shell{width:calc(100% - 50px)}
 .header-inner{height:75px}.wordmark img{width:164px}
 .header-cta{font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--blue-2);padding:15px 18px;white-space:nowrap;transition:background .25s ease,color .25s ease;margin-left:0}.nav-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;order:3;background:transparent;border:1px solid var(--gray-1);cursor:pointer}
 .nav-toggle span{display:block;width:20px;height:1.5px;background:var(--white);transition:transform .2s}
 .nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
 .nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .primary-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--black);border-bottom:1px solid var(--gray-1);padding:18px 25px 28px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 19px 22px rgba(0,0,0,.2)}
 .primary-nav.is-open{display:flex}.primary-nav a{font-size:12px;font-weight:700;letter-spacing:.035em;white-space:nowrap;transition:color .25s ease}
 .hero-shell{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:84px 0 35px}.hero h1{font-size:clamp(50px,5.35vw,84px);line-height:1.055;letter-spacing:-.068em;font-weight:780;margin:32px 0 34px;white-space:nowrap}
 .hero-visual{max-height:430px;padding:0;margin-top:0}.hero-visual>svg{width:min(82%,520px);max-height:430px}.visual-coordinate-top{top:14px}.visual-coordinate-bottom{bottom:10px}
 .section{padding:100px 0}.section-grid,.section-heading,.principles-heading{grid-template-columns:1fr;gap:29px}
 .section-rail{flex-direction:row;align-items:center}.rail-line,.rail-note{display:none}
 .about-grid{margin-top:42px}.photo-duo{margin-top:54px;height:310px}
 .section-heading{margin-bottom:50px}.expertise-card{min-height:330px}.expertise-card h3{font-size:25px;line-height:1.16;letter-spacing:-.045em;max-width:310px;margin:0 0 18px}
 .suppliers-layout{grid-template-columns:1fr;gap:25px}.supplier-graphic{max-width:360px;margin-top:35px;align-self:start}
 .suppliers-right h2{font-size:clamp(48px,5vw,77px);letter-spacing:-.065em;line-height:1.1;font-weight:750;margin:28px 0 47px}.principles-heading>p{grid-column:1;margin:0 0 22px}
 .principles-list li{display:grid;grid-template-columns:110px 1fr .8fr 25px;gap:15px;align-items:center;min-height:100px;border-bottom:1px solid var(--gray-3);font-size:23px;font-weight:700;letter-spacing:-.04em}.principle-detail{font-size:13px;letter-spacing:0;font-weight:400;color:var(--gray-1)}
 .statement{padding:100px 0 110px}.statement-inner{grid-template-columns:1fr;gap:25px}.statement-inner>span:last-child{text-align:left}
 .contact-layout{gap:9%}.contact-detail>a,.contact-detail>strong{font-size:18px}
}
@media(max-width:620px){
 .shell{width:calc(100% - 42px)}.site-header .wordmark img{width:160px}.header-cta{font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--blue-2);padding:15px 18px;white-space:nowrap;transition:background .25s ease,color .25s ease;margin-left:0}
 .hero-copy{padding:69px 0 30px}.eyebrow{font-size:9px;gap:8px}.hero h1{font-size:clamp(50px,5.35vw,84px);line-height:1.055;letter-spacing:-.068em;font-weight:780;margin:32px 0 34px;white-space:nowrap}
 .hero h1 br{display:none}.hero-description{font-size:17px;line-height:1.75;max-width:520px;color:var(--gray-1);margin:0}.hero-actions{flex-direction:column;align-items:flex-start;gap:26px;margin-top:34px}
 .hero-visual{height:304px}.hero-visual>svg{width:100%;height:290px}.visual-coordinate-top{top:0}.visual-coordinate-bottom{font-size:8px;bottom:0}
 .hero-bottom{min-height:61px;font-size:9px}.scroll-indicator{display:none}
 .section{padding:77px 0}.display-title{font-size:clamp(38px,4.2vw,66px);line-height:1.13;letter-spacing:-.063em;font-weight:770;margin:0}
 .about-grid{grid-template-columns:1fr;gap:24px;margin-top:31px}.lead-copy{font-size:24px;line-height:1.36;letter-spacing:-.035em;max-width:420px;margin:0}.support-copy{font-size:15px;line-height:1.85;color:var(--gray-1);max-width:460px;margin:0}
 .photo-duo{height:auto;grid-template-columns:1fr;gap:14px;margin-top:44px}.photo-slot-wide{height:250px}.photo-slot-tall{height:160px}.photo-slot figcaption{left:24px;right:24px;bottom:25px;display:block}.photo-slot figcaption span{display:block;margin-top:7px}
 .definition-strip{grid-template-columns:1fr;margin-top:51px}.definition-strip>div{padding:19px 0}.definition-strip>div+div{padding-left:0;border-left:0;border-top:1px solid var(--gray-3)}.definition-strip span{margin-bottom:10px}.definition-strip b{font-size:18px;font-weight:750;letter-spacing:-.035em}
 .section-heading p{font-size:16px;line-height:1.75;color:var(--gray-1);max-width:500px;margin:30px 0 0}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:290px;padding:22px 0 27px}.expertise-card+.expertise-card{border-left:0;border-top:1px solid var(--gray-2);padding-left:0}.expertise-card h3{font-size:25px;line-height:1.16;letter-spacing:-.045em;max-width:310px;margin:0 0 18px}
 .suppliers-right h2{font-size:clamp(48px,5vw,77px);letter-spacing:-.065em;line-height:1.1;font-weight:750;margin:28px 0 47px}.suppliers-right>.supplier-lead{font-size:24px;line-height:1.5;color:var(--white);letter-spacing:-.025em}.suppliers-right>p{font-size:15px;line-height:1.85;color:var(--gray-2);max-width:650px;margin:0 0 24px}.supplier-graphic{margin-top:20px;max-width:100%}
 .principles-list li{display:grid;grid-template-columns:110px 1fr .8fr 25px;gap:15px;align-items:center;min-height:100px;border-bottom:1px solid var(--gray-3);font-size:23px;font-weight:700;letter-spacing:-.04em}
 .statement{padding:80px 0 92px}.statement h2{font-size:clamp(37px,4.1vw,66px);line-height:1.16;letter-spacing:-.06em;font-weight:760;margin:0;min-width:400px}.statement-media-note{font-size:8px}
 .contact-layout{grid-template-columns:1fr;gap:60px}.contact-heading h2{margin:22px 0}
 .footer-main{grid-template-columns:1fr;gap:43px;padding-bottom:57px}.footer-wordmark img{width:200px}.footer-menu{max-width:310px}
 .footer-bottom{flex-wrap:wrap;padding:21px 0;font-size:9px}.footer-bottom>span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js-motion [data-reveal]{opacity:1;transform:none;filter:none;clip-path:none}
 .js-motion [data-line]::before,.js-motion .rail-line::after{transform:scale(1)}
 .js-motion [data-draw-path]{stroke-dashoffset:0!important}
 .path-draw{stroke-dashoffset:0!important}
}
/* Individually drawn separators: vertical bottom -> top, horizontal left -> right. */
.definition-strip>div+div,.expertise-card+.expertise-card{border-left:0;position:relative}
.definition-strip>div+div::after,.expertise-card+.expertise-card::after{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--gray-2);transform-origin:bottom center}
.js-motion .definition-strip>div+div::after,.js-motion .expertise-card+.expertise-card::after{transform:scaleY(0);transition:transform 1.05s cubic-bezier(.18,.75,.2,1)}
.js-motion .definition-strip>div+div.is-visible::after,.js-motion .expertise-card+.expertise-card.is-visible::after{transform:scaleY(1)}
.principles-list li,.contact-detail{border-bottom:0;position:relative}
.principles-list li::after,.contact-detail::after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0;background:var(--gray-3);transform-origin:left center}
.js-motion .principles-list li::after,.js-motion .contact-detail::after{transform:scaleX(0);transition:transform 1.08s cubic-bezier(.18,.75,.2,1)}
.js-motion .principles-list li.is-visible::after,.js-motion .contact-detail.is-visible::after{transform:scaleX(1)}
.contact-detail:last-child::after{display:none}
@media(max-width:620px){.expertise-card+.expertise-card::after,.definition-strip>div+div::after{display:none}.expertise-card+.expertise-card{border-top:1px solid var(--gray-2)}.definition-strip>div+div{border-top:1px solid var(--gray-3)}}
@media(prefers-reduced-motion:reduce){.js-motion .definition-strip>div+div::after,.js-motion .expertise-card+.expertise-card::after{transform:scaleY(1)}.js-motion .principles-list li::after,.js-motion .contact-detail::after{transform:scaleX(1)}}
