/* RRJET / graphite, ivory and champagne. Extends the existing vanilla CSS. */
@font-face{font-family:Manrope;src:url('fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
:root{--bg:#20211f;--bg-2:#272824;--surface:#2b2c27;--surface-2:#34352f;--text:#f2efe7;--text-2:#c3c1b7;--text-3:#aaa99f;--accent:#d4bc91;--accent-hover:#e5cfaa;--accent-ink:#28251e;--accent-soft:rgba(212,188,145,.13);--line:rgba(231,222,203,.14);--line-strong:rgba(231,222,203,.27);--radius:4px;--radius-sm:3px;--nav-h:76px;--shadow:0 20px 50px -30px #151611;--z-nav:10;--z-noise:2;--z-skip:30}
html{scroll-padding-top:120px;scrollbar-color:#8c816b var(--bg)}
body{font-family:Manrope,Arial,sans-serif;font-weight:400;line-height:1.7}
main:focus{outline:none}.container{width:min(100% - 112px,1328px)}
.mono,.chapter-label,.eyebrow,.num{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}
.noise{opacity:.025;position:fixed;z-index:var(--z-noise)}
section{scroll-margin-top:112px}.section{padding:112px 0 124px}
h1,h2,h3{text-wrap:balance}h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;color:var(--accent)}
.section-head{max-width:100%;display:grid;grid-template-columns:1.15fr .75fr;column-gap:9%;align-items:end}
.section-head .eyebrow{grid-column:1/-1}.section-head h2{font-size:clamp(38px,4.2vw,62px);font-weight:500;line-height:1.1;letter-spacing:-.045em;max-width:20ch}
.section-head p{font-size:15px;line-height:1.85;max-width:43ch;margin:0 0 5px}
.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:400;color:var(--accent);margin-bottom:28px;gap:12px}.eyebrow::before{width:20px}
.btn{border-radius:3px;padding:17px 23px;min-height:50px;font-size:12px;font-weight:600;gap:22px;box-shadow:none;letter-spacing:.005em}
.btn-primary,.btn-primary:hover{box-shadow:none}.btn-primary{background:var(--accent)}.btn svg,.link-arrow svg{stroke-width:1.5;width:18px;height:18px}
.btn-ghost{border-color:var(--line-strong);background:transparent}.link-arrow{font-size:12px;gap:16px;font-weight:500}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip-link{position:fixed}.skip-link:focus{top:100px}
/* A constant opaque base keeps navigation legible over every chapter. */
.nav{inset:22px 32px auto;height:76px;max-width:1440px;margin:auto;background:rgba(34,35,31,.94);border:1px solid rgba(238,229,209,.2);border-radius:7px;box-shadow:0 10px 40px -25px #090a07;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav.is-scrolled{background:rgba(34,35,31,.96);border-color:rgba(238,229,209,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav .container{width:100%;padding:0 24px;gap:18px}.brand{gap:12px;font-size:16px;letter-spacing:-.045em;white-space:nowrap}.brand svg{width:35px;height:35px}.brand span small{font-size:8px;letter-spacing:.055em;color:var(--text-2);margin-top:4px;font-weight:400}.nav .brand rect{animation:none}
.nav-links{position:relative;gap:0;isolation:isolate}.nav-links a{padding:11px 14px;color:var(--text-2);font-size:11px;min-height:44px;border-radius:3px}.nav-links a.is-active{background:transparent;color:var(--text)}.nav-links li:not(.nav-indicator){position:relative;z-index:1}
.nav-indicator{position:absolute;left:0;top:0;height:100%;width:1px;list-style:none;background:rgba(237,223,195,.07);border-radius:3px;opacity:0;transform-origin:left;transition:transform 250ms var(--ease-in-out),opacity 200ms ease;pointer-events:none}.nav-indicator::after{content:"";position:absolute;left:18%;right:18%;bottom:3px;height:1px;background:var(--accent)}
.nav .nav-cta{font-size:11px;padding:14px 18px;min-height:42px;white-space:nowrap}.nav-toggle{border-radius:3px;width:44px;height:44px}.nav-toggle svg{width:19px}
.mobile-menu{inset:14px 14px auto auto;width:min(480px,calc(100% - 28px));max-height:calc(100dvh - 28px);height:auto;border:1px solid var(--line-strong);border-radius:5px;padding:22px 28px 28px;background:#252621;color:var(--text);margin:0;opacity:1;transform:none;pointer-events:auto;overflow:auto;box-shadow:0 30px 100px #1118;backdrop-filter:none}
.mobile-menu:not([open]){display:none}.mobile-menu::backdrop{background:rgba(13,15,11,.72);backdrop-filter:blur(6px)}.mobile-menu nav{display:block}.mobile-menu nav>a:not(.btn){font-size:30px;letter-spacing:-.04em;padding:13px 0}.mobile-menu nav>a:not(.btn)::after{content:'↗';float:right;font-size:22px;color:var(--accent)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.menu-top .mono{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.menu-close{width:44px;height:44px;cursor:pointer;border:1px solid var(--line-strong);border-radius:3px;background:transparent;color:var(--text);font-size:19px}.menu-foot{font-size:14px;margin-top:26px}.menu-foot span{display:block;color:var(--text-3);font-size:11px;margin-top:6px}.mobile-menu .btn{margin-top:24px;font-size:13px;border:0}
/* Intro: an architectural image framed as a concept, with the brand's plan motif. */
.hero{min-height:min(900px,100svh);padding:0;display:flex;align-items:stretch;overflow:hidden;background:#242520}
.hero-image{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-image img{width:100%;height:115%;max-width:none;object-fit:cover;object-position:62% 35%;opacity:.84;will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(24,26,22,.83),rgba(24,26,22,.42) 46%,rgba(24,26,22,.04) 80%),linear-gradient(0deg,rgba(24,26,22,.88),transparent 35%,rgba(24,26,22,.2))}
.hero .hero-content{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:160px;padding-bottom:28px;min-height:min(900px,100svh)}
.hero-topline{display:flex;justify-content:space-between;align-items:center}.hero-topline .eyebrow{margin:0;color:var(--text);font-size:10px}.hero-location{font-size:9px;letter-spacing:.1em;color:var(--text-2)}
.hero-copy{padding:74px 0 76px;position:relative}.hero h1{font-size:clamp(64px,7.7vw,118px);font-weight:400;line-height:1.04;letter-spacing:-.055em;max-width:100%;text-wrap:initial}.title-line{display:block;width:fit-content}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.058em;color:#ddc59b;line-height:.95;font-size:1.11em}.hero p{font-size:14px;line-height:1.8;margin-top:30px;color:#dbd8ce;max-width:40ch}.hero-actions{gap:32px;margin-top:28px}.hero-actions .btn{padding:18px 22px}.hero-actions .link-arrow{color:#f0ede5}
.hero-bottom{margin-top:auto;border-top:1px solid rgba(243,232,209,.3);padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#dedbd1;font-size:10px}.hero-bottom .mono{color:var(--accent);font-size:10px;letter-spacing:.08em}.scroll-cue{display:inline-flex;align-items:center;gap:13px}.scroll-cue>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #e4dac44d;border-radius:50%;font-size:14px}.image-caption{position:absolute;right:20px;bottom:130px;writing-mode:vertical-rl;font-size:8px;color:#d5d0c2;letter-spacing:.06em}.hero-drawing{position:absolute;right:8%;top:18%;width:35%;opacity:.22;color:#f6deb7;z-index:1;pointer-events:none}.hero-drawing svg{width:100%;overflow:visible}.hero-drawing path{fill:none;stroke:currentColor;stroke-width:.75}.hero-drawing .dimension{stroke-dasharray:3 4}
/* Calm ivory interval and the same modular brand in blueprint form. */
.light-section{--text:#282b24;--text-2:#595c51;--text-3:#626256;--accent:#756040;--line:rgba(40,43,36,.2);background:#efede4;color:var(--text)}
.opportunity-grid{display:grid;grid-template-columns:1fr 2.8fr 1.25fr;gap:40px;align-items:start}.chapter-label{font-size:9px;letter-spacing:.1em;line-height:1.8;padding-top:8px;color:var(--text-3)}
.opportunity h2,.result h2{font-size:clamp(32px,3.5vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.18}.opportunity h2 em,.result h2 em{color:#7c694b}.opportunity-copy p{font-size:14px;color:var(--text-2);max-width:52ch;line-height:1.9;margin-top:28px}.opportunity-copy .opportunity-answer{font-weight:600;color:var(--text);font-size:13px;margin-top:25px}
.plan-mark{position:relative;max-width:220px;width:100%;justify-self:end;padding:22px;border:1px solid #a69c8766;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#b1a89733 19px,#b1a89733 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,#b1a89733 19px,#b1a89733 20px);color:#8d7b5d}.plan-mark svg{width:100%;opacity:.6}.plan-mark use{fill:none}.plan-mark span{display:block;font-size:7px;letter-spacing:.08em;text-align:center;white-space:nowrap;margin-top:20px}.plan-cross{position:absolute;width:16px;height:16px;top:-8px;left:-8px}.plan-cross::before,.plan-cross::after{content:'';position:absolute;background:#8d7b5d}.plan-cross::before{width:16px;height:1px;top:8px}.plan-cross::after{height:16px;width:1px;left:8px}.cross-b{inset:auto -8px -8px auto}
/* Divisions: one anchor composition, then an editorial rhythm. */
#services{background:var(--bg)}.bento{margin-top:54px;gap:0;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;border-top:1px solid var(--line)}
.bento .s-1{grid-column:span 6;grid-row:span 2;padding:210px 48px 42px 0;border-right:1px solid var(--line)}.bento .s-2,.bento .s-3{grid-column:span 6;padding:70px 0 38px 48px}.bento .s-4{grid-column:span 12;padding:74px 0 32px;min-height:260px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px}
.tile{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:0;overflow:hidden;transition:none}.tile::before{display:none}.tile .num{top:28px;left:48px;font-size:9px;color:var(--accent);letter-spacing:.12em}.tile.s-1 .num,.tile.s-4 .num{left:0}.tile.s-4 .num{top:28px}.tile h3,.s-1 h3{font-size:clamp(25px,2.5vw,35px);font-weight:500;line-height:1.18;letter-spacing:-.045em}.s-1 h3{font-size:44px}.division-label{display:block;font-size:10px;letter-spacing:.035em;color:var(--accent);margin-top:16px}.tile p{font-size:13px;line-height:1.85;margin-top:12px;max-width:47ch}.tile ul{gap:7px;margin-top:21px}.tile li{background:transparent;color:var(--text-2);font-size:10px;padding:4px 8px;border-radius:2px;border-color:var(--line)}.tile-more{font-size:11px;margin-top:25px;gap:20px}.division-drawing{position:absolute!important;right:0;top:28px;width:240px;color:#c8b58f;opacity:.24;pointer-events:none}.division-drawing svg{width:100%}.s-4>div:not(.fiber-viz){position:static}.s-4 .fiber-viz{inset:0 0 0 42%;opacity:.36}.s-4 .fiber-viz path.glow{animation:none;stroke-dasharray:none}.s-4 ul{position:relative;justify-content:end;max-width:390px;justify-self:end;margin:0}.s-4 .num{position:absolute}
@media(hover:hover) and (pointer:fine){.tile:hover{transform:none;border-color:var(--line-strong)}.tile:hover .division-label{color:var(--accent-hover)}.trade:hover{transform:none}.link-arrow:hover,.tile-more:hover{color:var(--accent-hover)}}
/* Construction is a story controlled by scroll. No endless render loop. */
.process{background:#232420;border-color:var(--line);isolation:isolate}.process-layout{margin-top:58px}.process-pin{display:grid;grid-template-columns:.75fr 1.15fr;gap:9%;align-items:start}.process-visual{grid-column:2;grid-row:1}.steps{grid-column:1;grid-row:1}.process-visual{position:sticky;top:135px;min-width:0;border:1px solid var(--line);background:radial-gradient(ellipse at 45% 45%,#33352b55,transparent 70%);padding:22px 24px 20px;overflow:hidden}.drawing-top{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.11em;color:var(--text-3)}.drawing-top span:first-child{color:var(--accent)}
.hero-canvas{position:relative;inset:auto;height:380px;z-index:0;background:none;will-change:auto;overflow:hidden}.hero-canvas canvas{position:absolute;inset:0;width:100%;height:100%}.scene-fallback{width:100%;height:100%;color:var(--accent);opacity:.6}.has-webgl .scene-fallback{visibility:hidden}.hero-aside{gap:0}.hero-aside .card-glass{padding:0;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none}.hero-aside .stage{margin:0}.hero-aside .stage strong{font-size:14px;font-weight:500}.hero-aside .stage .mono{font-size:10px;color:var(--accent)}.hero-aside .bar{height:1px;margin-top:17px;background:var(--line)}.hero-aside .stages{margin-top:15px;gap:6px}.hero-aside .stages span{font-size:7px;color:var(--text-3);letter-spacing:.045em}.hero-aside .stages .on{color:var(--accent)}.model-caption{font-size:7px;color:var(--text-3);letter-spacing:.12em;margin-top:30px}
.steps{display:block;margin:0}.steps::before,.steps .track{display:none}.step{min-height:370px;padding:34px 0 70px 30px;border-left:1px solid var(--line)}.step:last-child{min-height:330px;padding-bottom:40px}.step .dot{top:36px;left:-4px;width:7px;height:7px;border:0;background:#636657}.step .dot::after{inset:0;width:7px;height:7px;background:var(--accent);transform:none;opacity:0;transition:opacity 200ms ease}.step.is-current .dot::after{opacity:1}.step .idx{font-size:10px;color:var(--accent)}.step h3{font-size:25px;line-height:1.2;font-weight:500;margin-top:20px;max-width:18ch;letter-spacing:-.035em}.step p{font-size:13px;margin-top:18px;line-height:1.9;max-width:38ch}.step .meta{font-size:10px;letter-spacing:.02em;margin-top:24px;color:var(--accent)}
/* People and equipment retain the complete original capability lists. */
.workforce .grid{margin-top:0;grid-template-columns:1fr 1.2fr;gap:9%}.workforce .section-head{display:block}.workforce .section-head h2{font-size:clamp(35px,4vw,54px)}.workforce .section-head p{margin-top:25px;font-size:13px;line-height:1.9}.workforce .facts{margin-top:32px}.workforce .fact{grid-template-columns:1fr 1.4fr;gap:12px;padding:16px 0;font-size:11px}.fact dt{color:var(--text-3)}.fact dd{text-align:right;color:var(--text)}.trades{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.trade{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:23px 20px;min-width:0}.trade:nth-child(odd){border-right:1px solid var(--line)}.trade svg{width:22px;height:22px;stroke-width:1.2}.trade strong{font-size:12px;font-weight:500;margin-top:18px}.trade span{font-size:10px;margin-top:5px}.trade.is-photo{grid-column:1/-1;grid-row:2;padding:22px;display:flex;justify-content:space-between;align-items:center;border-right:0;min-height:130px;background:#2b2d25}.trade.is-photo::after{display:none}.trade.is-photo strong{max-width:12ch;font-size:15px;margin:0;order:-1}.crew-number{font-size:90px;line-height:1;color:var(--accent);letter-spacing:-.06em;font-family:Georgia,serif}.crew-number span{font-size:35px;display:inline;color:var(--accent);vertical-align:top}
.machinery{background:var(--bg);border-top:0}.equipment-list{margin-top:50px}.equipment-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.machine{min-width:0;flex-direction:column;align-items:start;gap:22px;padding:25px 19px 27px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent}.machine svg{width:28px;height:28px;stroke:var(--accent);stroke-width:1.2}.machine strong{font-size:11px;font-weight:500;line-height:1.4}.machine span{font-size:9px;margin-top:7px;color:var(--text-3)}.machinery .split{grid-template-columns:1.3fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}.panel{border:0;border-radius:0;background:var(--bg-2);padding:34px}.panel.photo{min-height:300px;padding-top:160px;background:#2e3027}.panel.photo::after{background:linear-gradient(0deg,#2e3027 15%,transparent)}.panel.photo>.machine-drawing{position:absolute;inset:-20px 15px auto auto;width:340px;opacity:.32;z-index:0;color:var(--accent)}.panel h3{font-size:20px;font-weight:500;letter-spacing:-.03em}.panel p{font-size:12px;line-height:1.9;max-width:44ch}.panel .list{gap:12px;margin-top:24px}.panel .list li{font-size:12px}.panel .list li::before{width:4px;height:4px;border-radius:0}.panel .link-arrow{color:var(--accent);font-size:11px}
/* The handover repeats the brand as a completed, solid structure. */
.result-grid{display:grid;grid-template-columns:1fr 3.4fr 1fr;gap:38px;align-items:start}.result h2{font-size:clamp(32px,3.15vw,48px)}.result p{font-size:13px;color:var(--text-2);margin-top:25px;max-width:48ch;line-height:1.9}.result-deliverables{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px}.result-deliverables span{font-size:10px;color:#555a4a;display:inline-flex;gap:8px;align-items:center}.result-deliverables span::before{content:'✓';color:#756040}.result-mark{align-self:center;max-width:170px;margin-left:auto;width:100%;color:#5a5c4e}.result-mark svg{width:120px;margin:auto}.result-mark>span{display:block;font-size:7px;text-align:center;letter-spacing:.08em;margin-top:24px;white-space:nowrap}
/* The final invitation carries the same type, line and material language. */
.contact .section-head{display:block}.contact .section-head h2{max-width:none;font-size:clamp(42px,5.5vw,80px);line-height:1.12}.contact .section-head p{margin-top:25px;font-size:13px}.contact .grid{grid-template-columns:1.2fr 1fr;gap:9%;margin-top:58px}.form{gap:24px}.form .row{gap:24px}.field{gap:8px;min-width:0}.field label{font-size:11px;color:var(--text-2)}.field input,.field textarea,.field select{font-size:14px;background:#282924;border-radius:2px;padding:14px 16px;border-color:#777969;color:var(--text);min-height:50px}.field input::placeholder,.field textarea::placeholder{color:var(--text-3);font-size:12px}.field textarea{min-height:145px}.field .err{color:#f0b5a0;font-size:11px}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:#f0b5a0}.form-foot{gap:18px}.form-foot small{font-size:10px;max-width:27ch;line-height:1.7}.form-status{font-size:12px;background:var(--surface);border-radius:2px}.contact-card{background:transparent;border:0;border-radius:0}.contact-card .top{padding:0 0 25px}.contact-card .top h3{font-size:17px;font-weight:500;max-width:28ch;line-height:1.5;letter-spacing:-.02em}.contact-card .top p{font-size:12px;max-width:34ch;margin-top:12px}.contact-card .item{padding:16px 0;grid-template-columns:68px minmax(0,1fr);gap:18px;font-size:11px}.contact-card .item dd{overflow-wrap:anywhere}.contact-card .item dt{font-size:10px}.contact-card .qr{padding:28px 0 0;gap:22px;background:none;grid-template-columns:132px minmax(0,1fr)}.qr-tag{width:132px;rotate:none;padding:8px;border-radius:3px;background:#efede4;box-shadow:none;cursor:default;--tag-ink:#20211f;--accent:#756040}.qr-tag::before{display:none}.qr-tag img{width:100%;height:auto;display:block}.qr-tag .foot{font-size:5px;margin-top:4px;color:#5d584a}.qr-tag .foot .state{display:none}.contact-card .qr strong{font-size:12px;font-weight:500}.contact-card .qr span{font-size:10px;line-height:1.8;margin-top:7px}.contact-download{display:inline-flex;gap:12px;align-items:center;margin-top:14px;color:var(--accent);font-size:10px}.contact-download span{color:inherit!important;font-size:14px!important;margin:0!important}
footer{background:#1b1d19;padding:48px 0 25px;font-size:10px;color:var(--text-3)}.footer-wordmark.container{display:flex;justify-content:space-between;align-items:start;font-size:clamp(60px,12.2vw,180px);line-height:1;letter-spacing:-.07em;font-weight:500;color:#53574a;padding-bottom:55px;gap:0;white-space:nowrap}.footer-wordmark>span{font-size:20px;letter-spacing:0;color:var(--accent);margin-top:14px}footer .container{gap:24px}footer .brand{font-size:14px}footer .brand svg{width:28px;height:28px}footer .brand small{font-size:7px}footer .legal{font-size:10px;line-height:2;margin-top:18px}footer nav{gap:21px}footer nav a{min-height:32px;display:flex;align-items:center}footer .bottom{margin-top:15px;padding-top:22px;font-size:9px}
/* Content is readable by default. WAAPI adds reveals only when available. */
.rise,.reveal,.reveal.in{opacity:1;transform:none;animation:none;transition:none}.reveal:focus-within{opacity:1!important;transform:none!important}.keyboard-nav *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(min-width:1100px){.nav-links{display:flex}.nav-cta{display:inline-flex}.nav-toggle{display:none}}
@media(max-width:1099px){.nav-links,.nav .nav-cta{display:none}.nav-toggle{display:inline-flex}.container{width:calc(100% - 72px)}.hero .hero-content{padding-top:155px}.hero h1{font-size:clamp(70px,9vw,105px)}.hero-copy{padding:100px 0 90px}.hero{min-height:850px}.hero .hero-content{min-height:850px}.hero-image img{object-position:64% 30%}.section-head{column-gap:6%;grid-template-columns:1.2fr 1fr}.opportunity-grid{grid-template-columns:1fr 3fr;gap:28px}.plan-mark{display:none}.result-grid{grid-template-columns:1fr 3fr;gap:28px}.result-mark{display:none}.process-pin{grid-template-columns:1fr 1.1fr;gap:5%}.hero-canvas{height:320px}.process-visual{padding:18px}.drawing-top{font-size:7px}.workforce .grid{gap:6%}.equipment-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.machine{padding:24px 12px}.contact .grid{gap:6%}.contact-card .qr{grid-template-columns:112px 1fr;gap:16px}.qr-tag{width:112px}.s-1 h3{font-size:37px}.bento .s-1{padding-right:32px}.bento .s-2,.bento .s-3{padding-left:32px}.tile .num{left:32px}}
@media(max-width:767px){html{scroll-padding-top:100px}.container{width:calc(100% - 40px)}.section{padding:70px 0 78px}.nav{inset:12px 14px auto;height:66px;border-radius:5px}.nav .container{padding:0 14px}.brand{font-size:14px;gap:9px}.brand svg{width:30px;height:30px}.brand span small{font-size:7px}.nav-toggle{width:40px;height:40px}.hero,.hero .hero-content{min-height:760px;min-height:max(760px,100svh)}.hero .hero-content{padding-top:124px;padding-bottom:24px}.hero-topline .eyebrow{font-size:8px;letter-spacing:.1em}.hero-location{display:none}.hero-copy{padding:100px 0 85px}.hero h1{font-size:clamp(49px,10.6vw,79px);line-height:1.1;letter-spacing:-.055em}.hero h1 em{font-size:1.07em}.hero p{font-size:13px;margin-top:26px;line-height:1.85}.hero-actions{gap:22px;margin-top:30px}.hero-actions .btn{font-size:11px;padding:17px 17px;gap:16px}.hero-actions .link-arrow{font-size:10px;gap:8px}.hero-bottom{font-size:9px;padding-top:20px;gap:10px}.hero-bottom>span:not(.mono){display:none}.hero-image img{object-position:62% 20%;height:110%;opacity:.72}.hero-shade{background:linear-gradient(90deg,rgba(24,26,22,.66),rgba(24,26,22,.1)),linear-gradient(0deg,#20211f 0%,transparent 60%)}.hero-drawing{right:-20%;width:75%;top:30%;opacity:.2}.image-caption{font-size:8px;right:8px;bottom:100px}.section-head{display:block}.section-head h2{font-size:38px;max-width:20ch}.section-head p{font-size:13px;margin-top:25px;max-width:44ch}.eyebrow{font-size:9px;margin-bottom:25px}.opportunity-grid,.result-grid{display:block}.chapter-label{margin-bottom:27px;font-size:8px;padding:0}.opportunity h2,.result h2{font-size:34px}.opportunity-copy p,.result p{font-size:12px;margin-top:23px}.opportunity-copy .opportunity-answer{font-size:12px}.bento{display:block;margin-top:36px}.bento .s-1{border-right:0;padding:160px 0 35px}.bento .s-2,.bento .s-3,.bento .s-4{padding:65px 0 34px}.bento .s-4{display:block;min-height:0}.tile .num{left:0;top:23px;font-size:8px}.s-1 h3{font-size:37px}.tile h3{font-size:29px}.tile p{font-size:12px}.tile ul{gap:6px}.tile li{font-size:9px}.division-label{font-size:9px;margin-top:12px}.division-drawing{width:190px;right:10px;top:12px}.tile-more{font-size:10px}.s-4 ul{margin-top:25px;justify-content:start}.s-4 .fiber-viz{inset:30% -45% 0 20%;opacity:.22}.process-layout{margin-top:32px}.process-pin{display:block}.process-visual{position:relative;top:auto;z-index:auto;padding:14px 16px;background:#272923;box-shadow:none}.hero-canvas{height:220px}.drawing-top{font-size:6px}.hero-aside .stage strong{font-size:12px}.hero-aside .stage .mono{font-size:9px}.hero-aside .bar{margin-top:11px}.hero-aside .stages{margin-top:9px}.hero-aside .stages span{font-size:6px}.model-caption{display:none}.steps{margin-top:20px}.step{min-height:340px;padding:30px 0 55px 24px;margin-left:5px}.step:last-child{min-height:280px}.step h3{font-size:26px;margin-top:14px;max-width:24ch}.step p{font-size:12px;max-width:48ch;margin-top:14px}.step .meta{margin-top:20px}.step .dot{top:32px}.workforce .grid{display:block}.workforce .section-head h2{font-size:38px}.workforce .section-head p{font-size:12px}.workforce .facts{margin-top:26px}.workforce .fact{font-size:10px;grid-template-columns:1fr 1.8fr}.trades{margin-top:45px}.trade{padding:23px 18px}.trade strong{font-size:12px}.trade span{font-size:10px}.trade.is-photo{grid-row:2;min-height:120px}.equipment-list{margin-top:35px}.equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.machine{padding:22px 17px;gap:16px}.machine strong{font-size:11px}.machine span{font-size:9px}.machinery .split{display:block;margin-top:25px}.panel{padding:28px 24px}.panel.photo{min-height:280px;border-bottom:1px solid var(--line)}.panel.photo>.machine-drawing{width:310px}.panel p,.panel .list li{font-size:11px}.result h2{font-size:31px}.result-deliverables{display:grid;gap:13px;margin-top:25px}.result-deliverables span{font-size:10px}.contact .section-head h2{font-size:39px;line-height:1.17;max-width:20ch}.contact .section-head p{font-size:12px}.contact .grid{display:block;margin-top:36px}.form .row{grid-template-columns:1fr;gap:20px}.form{gap:20px}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:11px}.form-foot{gap:14px}.form-foot small{max-width:none;font-size:9px}.form-foot .btn{width:100%;justify-content:space-between}.contact-card{margin-top:55px;border-top:1px solid var(--line);padding-top:30px}.contact-card .top h3{font-size:18px}.contact-card .item{font-size:12px;grid-template-columns:70px minmax(0,1fr)}.contact-card .qr{grid-template-columns:124px 1fr;gap:24px}.qr-tag{width:124px}.contact-card .qr strong{font-size:12px}.contact-card .qr span{font-size:11px}.contact-download{font-size:11px}footer{padding-top:35px}footer .container{grid-template-columns:1fr}.footer-wordmark.container{font-size:12.1vw;padding-bottom:32px}.footer-wordmark>span{font-size:12px;margin-top:5px}footer nav{gap:18px;font-size:10px}footer .bottom{font-size:8px;display:grid;gap:12px}.btn-ghost{font-size:11px}}
@media(max-width:380px){.container{width:calc(100% - 36px)}.hero h1{font-size:10.4vw}.hero-copy{padding-top:90px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero,.hero .hero-content{min-height:750px}.hero-canvas{height:180px}.contact .section-head h2{font-size:35px}.section-head h2{font-size:35px}.opportunity h2{font-size:31px}.contact-card .qr{grid-template-columns:110px 1fr;gap:18px}.qr-tag{width:110px}.mobile-menu{padding:18px 22px}.mobile-menu nav>a:not(.btn){font-size:25px}.menu-top{margin-bottom:18px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image img{will-change:auto;transform:none!important}.hero-drawing{transform:none!important}.rise,.reveal,.reveal.in{opacity:1;transform:none;animation:none}.nav-indicator{transition:opacity 150ms ease}.btn,.link-arrow svg,.tile-more svg,.trade,.qr-tag{transition:color 150ms ease,background-color 150ms ease;transform:none!important;translate:none!important;rotate:none!important}.fiber-viz path,.hero-aside .cue svg,.qr .hint i{animation:none!important}.process-visual{position:relative;top:auto}}
@media(prefers-reduced-transparency:reduce){.nav,.nav.is-scrolled{background:#22231f;backdrop-filter:none}.noise{display:none}}
@media print{.nav,.mobile-menu,.hero-image,.hero-drawing,.noise,.hero-canvas,.qr-tag,.form,.hero-actions{display:none!important}body,section,footer{background:white!important;color:#222!important}*{color:#222!important}.hero,.hero .hero-content{min-height:0;padding:30px 0}.hero-copy{padding:20px 0}.section{padding:25px 0}.container{width:100%}.process-visual{position:static}.step{min-height:0;padding:20px}.footer-wordmark{display:none!important}}
/* Final accessibility refinements. */
section{scroll-margin-top:12px}.step{scroll-margin-top:140px}.mobile-menu nav .btn{display:flex;justify-content:space-between;padding:16px 18px}.hero-actions .link-arrow,.tile-more,.contact-download{min-height:44px;align-items:center}.contact-download{margin-top:4px}.tile-more{margin-top:12px}.hero-actions .link-arrow{font-size:11px}.plan-mark span,.result-mark>span,.model-caption{font-size:8px}.field{scroll-margin-top:120px}.form-status a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.step{scroll-margin-top:12px}.hero-actions{gap:20px}.hero-actions .link-arrow{font-size:11px}.hero-actions .btn{gap:13px}.hero-aside .stages span{font-size:7px}.drawing-top{font-size:7px}.contact .section-head h2{max-width:none}}
@media(max-width:380px){.hero-actions{gap:16px}}
html.keyboard-nav{scroll-behavior:auto}


.story-read-all { display: none; }
/* Native sticky stays bounded by the four-stage story. Small viewport units do
   not change when Safari's browser chrome expands or collapses. */
.process-visual { top: 120px; }
.hero-canvas { height: clamp(110px, calc(100svh - 300px), 380px); }
@media (min-width: 768px) and (max-height: 600px) {
  .process-visual { top: 100px; padding: 12px 18px; }
  .hero-canvas { height: clamp(90px, calc(100svh - 240px), 240px); }
  .model-caption { display: none; }
}
@media (max-width: 767px) {
  .process-visual { position: relative; top: auto; }
  .hero-canvas { height: 220px; }
  .process.is-story-ready .process-layout {
    height: calc(var(--story-panel-height) + 240svh);
  }
  .process.is-story-ready .process-pin { position: sticky; top: 90px; }
  .process.is-story-ready .process-visual { padding: 12px 16px; }
  .process.is-story-ready .hero-canvas { height: clamp(90px, calc(27svh - 72px), 180px); }
  .process.is-story-ready .steps { display: grid; margin-top: 20px; }
  .process.is-story-ready .story-read-all {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    min-height: 44px; margin-top: 8px; border: 0; border-top: 1px solid var(--line);
    padding: 8px 0; color: var(--accent); background: transparent; font-size: 11px; cursor: pointer;
  }
  .steps { scroll-margin-top: 110px; }
  .process.is-story-ready .step {
    grid-area: 1 / 1; min-height: 0; margin-left: 5px;
    padding: 8px 0 12px 24px; visibility: hidden; opacity: 0;
    transition: opacity 180ms ease;
  }
  .process.is-story-ready .step.is-current { visibility: visible; opacity: 1; }
  .process.is-story-ready .step .dot { top: 15px; }
  .process.is-story-ready .step h3 { font-size: 24px; margin-top: 10px; }
  .process.is-story-ready .step p { margin-top: 12px; }
  .process.is-story-ready .step .meta { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .process-visual, .process.is-story-ready .process-pin { position: relative; top: auto; }
  .process.is-story-ready .process-layout { height: auto; }
  .process.is-story-ready .steps { display: block; }
  .process.is-story-ready .step { visibility: visible; opacity: 1; transition: none; }
  .process.is-story-ready .story-read-all { display: none; }
}
@media print {
  .process.is-story-ready .process-layout { height: auto; }
  .process.is-story-ready .process-pin { position: static; }
  .process.is-story-ready .steps { display: block; }
  .process.is-story-ready .step { visibility: visible; opacity: 1; }
}
