/* Shared type and spacing scales: all breakpoints use the same hierarchy. */
:root{--ink:#10100f;--paper:#f2efe8;--orange:#f6a72f;--blue:#013b52;--line:rgba(16,16,15,.2);--muted:#625e57;--body:clamp(1rem,.95rem + .2vw,1.125rem);--label:.75rem;--heading:clamp(2.25rem,1.3rem + 3.4vw,4.5rem);--feature:clamp(2rem,1.25rem + 2.3vw,3.5rem);--gutter:clamp(1.25rem,4vw,5rem);--space:clamp(4rem,7vw,7rem);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:var(--body);line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{overflow-wrap:break-word}h2,h3{text-wrap:balance}p{margin:0 0 1.25em}section{padding:var(--space) var(--gutter)}main,nav,footer{max-width:1920px;margin-inline:auto}.noise{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topline{height:3px;background:var(--orange);position:fixed;inset:0 0 auto;z-index:99;transform:scaleX(var(--progress,0));transform-origin:left}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;background:var(--paper);padding:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}
nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--gutter);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:-.04em}.brand img{width:48px;height:38px;object-fit:contain}.brand span{font-size:1.25rem}.menu{display:flex;gap:1.5rem}.menu a,.nav-cta,.eyebrow,.scroll,.section-kicker,.voice-meta,.text-link,.vault-kicker,.vault-index,.vault-location,.vault-bottom,.project-info span,.project-location,.wa,footer,.side-index,.hero-caption,.episode-stamp span,.vault-poster figcaption,.vcr-hud,.vcr-date{font-size:var(--label);line-height:1.5;letter-spacing:.12em;text-transform:uppercase}.menu a{position:relative;padding:.75rem 0}.menu a:after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.menu a:hover:after,.menu a:focus-visible:after{transform:scaleX(1)}.nav-cta{display:flex;align-items:center;gap:.6rem;border:1px solid var(--ink);padding:.8rem 1rem;transition:background .25s}.nav-cta:hover{background:var(--orange)}.nav-wa-icon{width:20px;height:20px}.hamb{display:none;width:44px;height:44px;background:none;border:0;padding:10px}.hamb span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0;transition:transform .3s}
.hero{display:grid;grid-template-columns:1.35fr .65fr;min-height:min(820px,calc(100svh - 88px))}.hero-main{min-width:0;container-type:inline-size;padding:clamp(3rem,6vw,6rem) var(--gutter) 3rem;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;border-right:1px solid var(--line)}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:36px;height:1px;background:var(--orange);flex-shrink:0}.hero h1{font-size:clamp(2rem,5.7vw,7rem);font-size:clamp(1.5rem,11.2cqi,8rem);line-height:1.02;letter-spacing:-.065em;font-weight:700;margin:2.5rem 0}.hero h1 .line1,.hero h1 .line2{display:inline-block;white-space:nowrap}.outline{color:transparent;-webkit-text-stroke:1px var(--ink)}.orange{color:var(--orange)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.hero-copy{max-width:38ch;margin:0}.scroll{writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.scroll:after{content:'';height:62px;width:1px;background:var(--orange);transform-origin:top;animation:pulse 3s ease-in-out 3}.hero-side{position:relative;min-width:0;min-height:440px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#075d82,var(--blue) 65%);isolation:isolate;display:flex;align-items:flex-end;padding:2rem}.hero-side:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:36px 36px}.hero-blueprint{position:absolute;inset:8%;border:1px solid #f6a72f55}.hero-blueprint:before,.hero-blueprint:after{content:'';position:absolute;background:var(--orange)}.hero-blueprint:before{width:52px;height:1px;left:0;top:18%}.hero-blueprint:after{height:52px;width:1px;right:18%;bottom:0}.hero-logo{position:absolute;width:82%;height:55%;object-fit:contain;left:9%;top:18%;z-index:3}.loop-animation{position:absolute;width:112%;height:100%;left:-6%;top:-4%;z-index:2}.loop-animation path{fill:none;stroke:#f6a72fb8;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:.14 .055}.loop-dot{fill:var(--orange)}.hero-caption{position:absolute;top:1.5rem;right:1.5rem;color:#ffffffba;text-align:right;font-size:.6875rem}.side-index{position:relative;z-index:4;color:var(--paper);border-top:1px solid #ffffff66;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;width:100%}.side-index b{color:var(--orange)}.side-big{display:flex;align-items:center;gap:12px;font-size:2.75rem;letter-spacing:-.05em}.flag-real{width:42px;height:28px}.flag-real img{width:100%;height:100%;object-fit:cover}
.marquee{overflow:hidden;background:var(--blue);color:var(--paper);padding:1rem 0;white-space:nowrap}.track{display:flex;width:max-content;animation:marquee 28s linear 2}.track span{font-size:var(--label);text-transform:uppercase;letter-spacing:.13em;flex-shrink:0}.track b{color:var(--orange);padding:0 26px}.marquee:hover .track{animation-play-state:paused}.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-kicker{padding-top:.5rem}.section-title{font-size:var(--heading);line-height:1.08;letter-spacing:-.055em;margin:0;max-width:22ch}.section-title i,.vault-copy em,.manifesto em{font-family:Georgia,serif;font-weight:400}
.voice-feature-grid,.vault-shell{display:grid;grid-template-columns:1.15fr 1fr;background:var(--blue);border-top:3px solid var(--orange)}.voice-photo,.vault-poster{position:relative;min-width:0;overflow:hidden;min-height:580px;margin:0}.voice-photo>img,.vault-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.voice-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#00202f99);pointer-events:none}.episode-stamp{position:absolute;z-index:2;top:1.5rem;left:1.5rem;background:var(--orange);padding:1rem;display:flex;flex-direction:column}.episode-stamp strong{font-size:1.5rem;line-height:1.2;letter-spacing:-.04em}.play-disc{position:absolute;z-index:3;right:1.5rem;bottom:1.5rem;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid white;color:white;background:#013b5299;transition:transform .4s var(--ease),background .3s}.play-disc:hover{background:var(--orange);color:var(--ink);transform:scale(1.08)}.voice-story,.vault-copy{min-width:0;padding:clamp(1.5rem,3vw,3.5rem);color:var(--paper);display:flex;flex-direction:column;align-items:flex-start;position:relative}.voice-brand{width:108px;height:124px;object-fit:contain;margin-bottom:1.5rem}.voice-meta{color:#8af5ef;margin-bottom:1.25rem}.voice-story h3,.vault-copy h2{font-size:var(--feature);line-height:1.1;letter-spacing:-.045em;margin:0 0 1.5rem}.voice-story h3 span,.vault-copy em{color:var(--orange)}.voice-story p,.vault-copy>p{font-size:var(--body);line-height:1.65;color:#ffffffcf}.text-link{display:flex;justify-content:space-between;gap:1rem;width:100%;margin-top:auto;border-top:1px solid #ffffff55;padding-top:1rem;min-height:44px}.text-link:hover{color:var(--orange)}.vault-feature{padding-top:0}.vault-shell{grid-template-columns:1fr 1.15fr}.vault-brand{width:76px;height:88px;object-fit:contain;margin-bottom:1rem}.vault-kicker{color:var(--orange)}.vault-index{margin:1rem 0 2.5rem;color:#ffffffa6}.vault-copy .vault-location{font-size:var(--label);color:#8af5ef}.vault-bottom{width:100%;margin-top:auto;padding-top:1rem;border-top:1px solid #ffffff55;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.vault-bottom a{grid-column:1/-1;color:var(--orange);padding:.5rem 0}.vault-poster>img{filter:sepia(.2) saturate(.8)}.vault-poster figcaption{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;background:#002435dd;color:white;padding:1rem;display:flex;justify-content:space-between}.vault-poster figcaption b{color:var(--orange)}.vcr-lines{position:absolute;inset:0;pointer-events:none;opacity:.15;background:repeating-linear-gradient(0deg,#ffffff22 0 1px,transparent 1px 4px)}.vcr-hud,.vcr-date{position:absolute;color:white;text-shadow:0 1px 4px #10100f}.vcr-hud{top:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between}.vcr-date{right:1.5rem;bottom:6rem}.vault-scan{position:absolute;inset:0;background:linear-gradient(transparent 40%,#ffffff12 50%,transparent 60%);pointer-events:none;opacity:0}.is-visible .vault-scan{animation:scan 3s var(--ease) 1}
.rubrics{border-top:1px solid var(--line)}.rubric-list{border-top:1px solid var(--line)}.rubric{display:grid;grid-template-columns:60px 1.25fr 1fr 36px;gap:1.5rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--line);position:relative;isolation:isolate}.rubric:before{content:'';position:absolute;inset:0;background:var(--orange);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease)}.rubric:hover:before,.rubric:focus-visible:before{transform:scaleY(1)}.rubric-num{font-size:var(--label)}.rubric h3{font-size:var(--feature);line-height:1.1;letter-spacing:-.045em;margin:0}.rubric p{font-size:var(--body);color:var(--muted);margin:0}.rubric:hover p{color:var(--ink)}.arrow{font-size:2rem;transition:transform .4s var(--ease)}.rubric:hover .arrow{transform:rotate(45deg)}.manifesto{background:var(--blue);color:var(--paper);position:relative;overflow:hidden}.manifesto .section-kicker{color:var(--orange)}.manifesto-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:end;position:relative}.manifesto blockquote{font-size:var(--heading);line-height:1.13;letter-spacing:-.05em;margin:0}.manifesto em{color:var(--orange)}.manifesto-copy{color:#ffffffc9}.loop-line{position:absolute;width:520px;height:520px;border:1px solid #f6a72f44;border-radius:50%;right:-210px;top:-210px}.loop-line:after{content:'';position:absolute;inset:70px;border:1px solid #f6a72f33;border-radius:50%}
.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem}.project{grid-column:span 6;min-width:0;border:1px solid var(--line);background:var(--paper)}.project-featured{grid-column:span 7}.project-featured+.project{grid-column:span 5}.project-art{height:clamp(240px,30vw,440px);position:relative;overflow:hidden;background:#d9d7d0}.project-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.project-view{display:none}.project-info{padding:1.5rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem}.project-info strong{display:inline-block;font-size:clamp(1.25rem,1.1rem + .5vw,1.625rem);line-height:1.3;letter-spacing:-.025em;margin-top:.5rem}.project-info span{color:var(--muted)}.project-info>b{color:var(--blue);font-size:var(--label)}.project-description,.project-location{grid-column:1/-1;margin:0}.project-description{color:var(--muted);font-size:var(--body)}.project-location{border-top:1px solid var(--line);padding-top:1rem;color:var(--blue)}.cta{padding-top:0}.cta-box{background:var(--orange);padding:clamp(1.5rem,5vw,5rem);display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:end}.cta h2{font-size:clamp(2.5rem,1.5rem + 4.5vw,6.5rem);line-height:1;letter-spacing:-.06em;margin:0}.cta-right{min-width:0}.wa{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--blue);color:white;padding:1.1rem 1.25rem;max-width:100%;transition:transform .4s var(--ease),background .3s}.wa:hover{background:var(--ink);transform:translateY(-3px)}.wa-icon{width:25px;height:25px;flex-shrink:0}.wa b{margin-left:auto}footer{padding:2rem var(--gutter);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center}.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-links a{padding:.75rem 0}.footer-right{text-align:right}
/* Motion progressively enhances visible content; never blocks reading without JS. */
@keyframes enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{50%{transform:scaleY(.5);opacity:.4}}@keyframes scan{0%{opacity:0;transform:translateY(-60%)}30%,70%{opacity:1}100%{opacity:0;transform:translateY(60%)}}
@media(prefers-reduced-motion:no-preference){.hero h1 .line1{animation:enter 1s .1s var(--ease) both}.hero h1 .line2{animation:enter 1s .25s var(--ease) both}.hero-copy,.hero-logo{animation:enter 1.2s .4s var(--ease) both}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.on{opacity:1;transform:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project:hover .project-art img,.voice-photo:hover>img,.vault-poster:hover>img{transform:scale(1.04)}}
@media(max-width:1050px){.menu{gap:1rem}.nav-cta{font-size:.6875rem;padding:.75rem}.voice-feature-grid,.vault-shell{grid-template-columns:1fr 1fr}.rubric{grid-template-columns:36px 1.1fr 1fr 28px;gap:1rem}}
@media(max-width:900px){nav{height:72px}.nav-cta{display:none}.hamb{display:block;flex-shrink:0}.menu{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 24px #10100f0d}.menu.open{display:flex;flex-direction:column;gap:.25rem}.menu a{min-height:44px}.hamb[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.hamb[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{grid-template-columns:1fr;min-height:0}.hero-main{min-height:480px;border-right:0;padding-block:3rem}.hero h1{margin:2rem 0}.hero-side{min-height:390px}.hero-logo{width:60%;left:20%}.loop-animation{width:90%;left:5%}.section-head{grid-template-columns:1fr;gap:1rem}.section-title{max-width:24ch}.voice-feature-grid,.vault-shell{grid-template-columns:1fr}.voice-photo{min-height:0;height:clamp(280px,55vw,480px)}.voice-story,.vault-copy{padding:clamp(1.5rem,5vw,3rem)}.voice-story h3,.vault-copy h2{max-width:22ch}.voice-story p,.vault-copy>p{max-width:60ch}.text-link{margin-top:1rem}.vault-poster{min-height:0;height:clamp(360px,70vw,620px)}.vault-index{margin-bottom:2rem}.rubric{grid-template-columns:32px minmax(0,1fr) 28px;gap:.75rem 1rem}.rubric p{grid-column:2/4}.rubric .arrow{grid-column:3;grid-row:1}.manifesto-grid{grid-template-columns:1fr;gap:2rem}.manifesto blockquote{max-width:22ch}.manifesto-copy{max-width:60ch}.project,.project-featured,.project-featured+.project{grid-column:span 12}.project-art{height:clamp(240px,55vw,460px)}.cta-box{grid-template-columns:1fr;gap:2rem}.cta-right{max-width:40rem}footer{grid-template-columns:1fr;gap:1rem}.footer-right{text-align:left}}
@media(max-width:480px){.hero-main{min-height:410px}.hero-side{min-height:340px;padding:1.5rem}.hero-logo{width:78%;left:11%}.hero-caption{font-size:.625rem}.scroll{display:none}.project-info{padding:1.25rem}.wa{width:100%;letter-spacing:.08em}.voice-brand{width:88px;height:102px}.rubric{padding:1.5rem 0}.footer-links{gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.loop-dot,.vault-scan{display:none}.reveal{opacity:1!important;transform:none!important}}
/* Built-in visual editor — appears only with ?edition=1 */
.visual-editor[hidden]{display:none}.visual-editor{position:fixed;left:18px;bottom:18px;z-index:10000;font-family:Arial,sans-serif}.editor-fab{border:0;background:var(--orange);color:#10100f;padding:13px 17px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 12px 30px rgba(0,0,0,.2);cursor:pointer}.editor-panel{width:min(340px,calc(100vw - 36px));margin-top:9px;padding:17px;background:rgba(1,38,53,.97);color:white;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 50px rgba(0,0,0,.3);display:none}.edit-mode .editor-panel{display:block}.editor-panel strong{display:block;color:var(--orange);font-size:13px;margin-bottom:6px}.editor-panel p{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);margin:0 0 13px}.editor-actions{display:flex;flex-wrap:wrap;gap:7px}.editor-actions button{border:1px solid rgba(255,255,255,.22);background:transparent;color:white;padding:9px 10px;font-size:10px;font-weight:700;cursor:pointer}.editor-actions button:first-child{background:var(--orange);border-color:var(--orange);color:#10100f}.edit-mode [contenteditable="true"]{outline:1px dashed var(--orange);outline-offset:4px;cursor:text}.edit-mode [contenteditable="true"]:focus{outline:2px solid var(--orange);background:rgba(246,167,47,.09)}.editor-image-btn{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:8;border:1px solid white;background:rgba(1,38,53,.9);color:white;padding:11px 14px;font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.edit-mode .editor-image-btn{display:block}.editor-toast{position:absolute;left:0;bottom:100%;margin-bottom:10px;background:#25D366;color:#071d10;padding:9px 12px;font-size:11px;font-weight:800;opacity:0;transform:translateY(5px);transition:.25s;pointer-events:none}.editor-toast.on{opacity:1;transform:none}@media(max-width:600px){.visual-editor{left:10px;bottom:10px}.editor-fab{padding:11px 13px}.editor-panel{width:calc(100vw - 20px)}}


/* v7 — blue navigation, refined typography and balanced hero */
:root{--font-sans:'Montserrat','Avenir Next','Segoe UI',Arial,sans-serif;--font-editorial:'Cormorant Garamond',Georgia,serif}
body,button,input,textarea,select{font-family:var(--font-sans)}body{font-weight:400;letter-spacing:-.012em}.brand,.hero h1,.section-title,.voice-story h3,.vault-copy h2,.rubric h3,.manifesto blockquote,.project-info strong,.cta-box h2{font-family:var(--font-sans)}.section-title i,.vault-copy em,.manifesto em{font-family:var(--font-editorial);font-weight:600;font-style:italic;letter-spacing:-.025em}.menu a,.nav-cta,.eyebrow,.scroll,.section-kicker,.voice-meta,.text-link,.vault-kicker,.vault-index,.vault-location,.vault-bottom,.project-info span,.project-location,.wa,footer,.side-index,.hero-caption,.episode-stamp span,.vault-poster figcaption,.vcr-hud,.vcr-date{font-family:var(--font-sans);font-weight:600}
nav{background:var(--blue);color:var(--paper);border-bottom-color:rgba(255,255,255,.16);box-shadow:0 10px 32px rgba(1,59,82,.12)}.brand span{color:#fff;transition:color .35s var(--ease),transform .35s var(--ease)}.brand:hover span,.brand:focus-visible span{color:var(--orange);transform:translateX(2px)}.menu a{color:#fff;transition:color .3s var(--ease)}.menu a:hover,.menu a:focus-visible{color:var(--orange)}.menu a:after{background:var(--orange)}.nav-cta{color:#fff;border-color:rgba(255,255,255,.72);background:transparent;transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.nav-cta:hover,.nav-cta:focus-visible{color:var(--orange);border-color:var(--orange);background:rgba(246,167,47,.08);transform:translateY(-2px)}.hamb span{background:#fff}
.hero{min-height:clamp(650px,calc(100svh - 88px),760px)}.hero-main{justify-content:flex-start;gap:0;padding-top:clamp(3.4rem,7vh,5.7rem);padding-bottom:clamp(2.5rem,5vh,4rem)}.hero h1{font-weight:800;line-height:.93;margin:clamp(2rem,4.5vh,3.2rem) 0 0}.hero-bottom{margin-top:clamp(3rem,7vh,5rem);align-items:flex-end}.hero-copy{font-size:clamp(.98rem,.9rem + .18vw,1.08rem);line-height:1.68;max-width:42ch}.scroll{margin-left:auto}.eyebrow{font-weight:600}.section-title{font-weight:700}.voice-story h3,.vault-copy h2,.rubric h3{font-weight:750}.project-info strong{font-weight:700}.cta-box h2{font-weight:800}
@media(max-width:900px){nav{background:var(--blue);color:#fff}.menu{background:var(--blue);border-bottom-color:rgba(255,255,255,.16)}.menu a{color:#fff}.hamb span{background:#fff}.hero{min-height:0}.hero-main{padding-top:3rem;padding-bottom:3rem}.hero-bottom{margin-top:auto}.hero h1{line-height:.94}.section-title i{font-weight:600}}



/* v8 — WhatsApp green interaction and architectural sticker collage */
.nav-cta:hover,.nav-cta:focus-visible{color:#fff;border-color:#25D366;background:#25D366;box-shadow:0 10px 25px rgba(37,211,102,.25);transform:translateY(-2px)}
.hero{min-height:clamp(700px,calc(100svh - 88px),820px)}.hero-main{padding-bottom:clamp(2rem,4vh,3.25rem)}.hero-bottom{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(360px,1.28fr) auto;align-items:end;gap:clamp(1.5rem,3vw,3.5rem);margin-top:clamp(2.5rem,5vh,4.2rem)}.hero-stickers{position:relative;width:100%;height:210px;isolation:isolate}.hero-sticker{position:absolute;margin:0;width:43%;aspect-ratio:1.55;background:#fff;padding:6px 6px 25px;border:1px solid rgba(16,16,15,.18);box-shadow:0 12px 26px rgba(16,16,15,.13);overflow:hidden;transition:transform .45s var(--ease),filter .45s var(--ease),z-index 0s}.hero-sticker img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.16);transition:filter .45s var(--ease),transform .55s var(--ease)}.hero-sticker figcaption{position:absolute;left:8px;right:8px;bottom:4px;font-size:.57rem;line-height:1.4;font-family:var(--font-sans);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink)}.sticker-school{left:1%;bottom:13px;transform:rotate(-6deg);z-index:1}.sticker-pool{left:28%;bottom:20px;transform:rotate(3deg);z-index:3}.sticker-clinic{right:1%;bottom:7px;transform:rotate(-2deg);z-index:2}.sticker-note{position:absolute;right:1%;top:0;z-index:5;color:var(--orange);font:700 .58rem/1.45 var(--font-sans);letter-spacing:.13em;text-transform:uppercase;text-align:right}.hero-sticker:hover{z-index:6}.sticker-school:hover{transform:rotate(-2deg) translateY(-10px)}.sticker-pool:hover{transform:rotate(0) translateY(-10px)}.sticker-clinic:hover{transform:rotate(1deg) translateY(-10px)}.hero-sticker:hover img{filter:grayscale(.15) contrast(1.05);transform:scale(1.025)}.scroll{color:var(--ink);transition:color .3s var(--ease)}.scroll:hover{color:var(--orange)}
@media(prefers-reduced-motion:no-preference){.hero-sticker{animation:stickerIn .85s var(--ease) both}.sticker-school{animation-delay:.58s}.sticker-pool{animation-delay:.72s}.sticker-clinic{animation-delay:.86s}@keyframes stickerIn{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}}
@media(max-width:1180px) and (min-width:901px){.hero-bottom{grid-template-columns:minmax(210px,.72fr) minmax(280px,1.1fr) auto;gap:1.5rem}.hero-stickers{height:180px}.hero-sticker{width:46%}.sticker-pool{left:27%}}
@media(max-width:900px){.hero{min-height:0}.hero-bottom{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}.hero-stickers{height:180px;max-width:620px}.scroll{display:none}.hero-sticker{width:42%}}
@media(max-width:600px){.hero-stickers{height:150px}.hero-sticker{width:47%;padding:4px 4px 20px}.sticker-school{left:0}.sticker-pool{left:27%}.sticker-clinic{right:0}.sticker-note{display:none}.hero-sticker figcaption{font-size:.48rem;left:6px}.hero-copy{max-width:34ch}}



/* v9 — senior layout polish, clean triptych and restrained motion */
.hero-bottom{grid-template-columns:minmax(245px,.7fr) minmax(460px,1.3fr) auto;gap:clamp(1.75rem,3vw,3.75rem)}
.hero-stickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(10px,1.1vw,18px);height:auto;min-height:195px;padding-top:30px;overflow:visible}
.hero-sticker{position:relative!important;inset:auto!important;width:100%;aspect-ratio:1.48;margin:0;z-index:1!important;transform-origin:50% 80%;box-shadow:0 14px 28px rgba(16,16,15,.12)}
.sticker-school{transform:rotate(-2.2deg)}.sticker-pool{transform:rotate(1.4deg);translate:0 -5px}.sticker-clinic{transform:rotate(-1deg)}
.sticker-note{top:0;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:max-content;max-width:100%;white-space:nowrap;text-align:center;font-size:.56rem}
.sticker-school:hover{transform:rotate(-.5deg);translate:0 -10px}.sticker-pool:hover{transform:rotate(0);translate:0 -14px}.sticker-clinic:hover{transform:rotate(.5deg);translate:0 -10px}
.section-head{align-items:center}.section-kicker{padding-top:0;font-weight:700;color:var(--blue)}
@media(min-width:901px){.section-head{grid-template-columns:minmax(210px,1fr) minmax(0,2fr);column-gap:clamp(2rem,4vw,5rem)}.section-kicker{justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:220px;line-height:1.45}.section-kicker:before{content:'';display:block;width:34px;height:2px;margin:0 auto .7rem;background:var(--orange);transform-origin:center}.section-title{font-size:clamp(2.7rem,4.4vw,4.25rem);line-height:1.02;max-width:21ch}}
.project-info strong{transition:color .35s var(--ease),letter-spacing .45s var(--ease)}.project-info>b,.rubric .arrow,.text-link b,.nav-cta b,.wa b{display:inline-block;transition:transform .35s var(--ease)}.project:hover .project-info strong{color:var(--blue);letter-spacing:.01em}.project:hover .project-info>b,.rubric:hover .arrow,.text-link:hover b,.nav-cta:hover b,.wa:hover b{transform:translate(4px,-4px)}
.project-art{isolation:isolate}.project-art:after{content:'';position:absolute;inset:-35% -80%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 39%,rgba(255,255,255,.28) 49%,transparent 59%);transform:translateX(-55%);transition:transform .9s var(--ease)}.project:hover .project-art:after{transform:translateX(55%)}
@media(prefers-reduced-motion:no-preference){.motion-ready .section-head.reveal .section-title{clip-path:inset(0 0 100% 0);transform:translateY(22px);transition:clip-path 1s var(--ease),transform 1s var(--ease)}.motion-ready .section-head.reveal.on .section-title{clip-path:inset(0);transform:none}.motion-ready .section-head.reveal .section-kicker:before{transform:scaleX(0);transition:transform .8s .18s var(--ease)}.motion-ready .section-head.reveal.on .section-kicker:before{transform:scaleX(1)}.hero-sticker{animation-name:stickerIn,stickerBreathe;animation-duration:.85s,6.5s;animation-timing-function:var(--ease),ease-in-out;animation-fill-mode:both,both;animation-iteration-count:1,infinite;animation-direction:normal,alternate}.sticker-school{animation-delay:.58s,1.7s}.sticker-pool{animation-delay:.72s,2.1s}.sticker-clinic{animation-delay:.86s,2.5s}@keyframes stickerBreathe{from{filter:drop-shadow(0 2px 0 rgba(1,59,82,0));}to{filter:drop-shadow(0 7px 10px rgba(1,59,82,.1));}}}
@media(max-width:1280px) and (min-width:901px){.hero-bottom{grid-template-columns:minmax(220px,.7fr) minmax(360px,1.15fr) auto;gap:1.5rem}.hero-stickers{min-height:170px}.hero-sticker figcaption{letter-spacing:.07em}}
@media(max-width:900px){.section-head{align-items:start}.section-kicker{justify-self:start;text-align:left;display:block;color:var(--blue)}.hero-stickers{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:170px;padding-top:28px}.hero-sticker{width:100%}.sticker-note{left:0;transform:none;text-align:left}}
@media(max-width:600px){.hero-stickers{grid-template-columns:repeat(3,minmax(100px,1fr));overflow-x:auto;overflow-y:visible;padding:28px 5px 15px;min-height:155px;scrollbar-width:none}.hero-stickers::-webkit-scrollbar{display:none}.hero-sticker{min-width:100px}.sticker-note{left:5px}.section-title{line-height:1.05}}



/* v10 — complete project titles and direct social network footer */
footer{grid-template-columns:minmax(135px,.65fr) minmax(420px,1.7fr) minmax(170px,.65fr);align-items:center;gap:clamp(1.5rem,3vw,4rem)}.footer-copy{white-space:nowrap}.footer-socials{display:flex;align-items:center;justify-content:center;gap:clamp(.9rem,1.5vw,1.5rem)}.footer-social-label{font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.social-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px}.social-link{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;color:inherit;transition:color .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}.social-link svg{width:19px;height:19px}.social-link:after{content:attr(data-network);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:5;padding:5px 7px;background:var(--ink);color:var(--paper);font-size:.54rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,5px);pointer-events:none;transition:opacity .25s,transform .25s}.social-link:hover,.social-link:focus-visible{transform:translateY(-4px);background:rgba(255,255,255,.7);box-shadow:0 9px 18px rgba(16,16,15,.12)}.social-link:hover:after,.social-link:focus-visible:after{opacity:1;transform:translate(-50%,0)}.social-telegram:hover,.social-telegram:focus-visible{color:#229ED9}.social-email:hover,.social-email:focus-visible{color:#EA4335}.social-instagram:hover,.social-instagram:focus-visible{color:#E4405F}.social-tiktok:hover,.social-tiktok:focus-visible{color:#111}.social-youtube:hover,.social-youtube:focus-visible{color:#FF0000}.social-linkedin:hover,.social-linkedin:focus-visible{color:#0A66C2}.footer-end{display:flex;align-items:flex-end;justify-content:flex-end;gap:clamp(1rem,2vw,2rem)}.footer-top{white-space:nowrap;transition:color .3s var(--ease),transform .3s var(--ease)}.footer-top:hover{color:var(--orange);transform:translateY(-3px)}
@media(max-width:1050px){footer{grid-template-columns:1fr 2fr}.footer-end{grid-column:1/-1;justify-content:space-between}.footer-socials{justify-content:flex-end}}
@media(max-width:700px){footer{grid-template-columns:1fr;align-items:start}.footer-socials{justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:.75rem}.social-list{justify-content:flex-start}.footer-end{grid-column:auto;width:100%;align-items:flex-end}.social-link{width:40px;height:40px}.social-link:after{display:none}}



/* v11 — bespoke animated render carousel, no external widget */
.render-carousel{min-width:0;width:100%;position:relative}.render-carousel-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:8px;font:700 .58rem/1.3 var(--font-sans);letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}.render-carousel-top>span:before{content:'';display:inline-block;width:24px;height:1px;margin-right:9px;vertical-align:middle;background:var(--orange)}.render-carousel-tools{display:flex;align-items:center;gap:6px}.render-carousel-count{min-width:52px;text-align:center;color:var(--muted)}.render-carousel-count b{color:var(--orange)}.render-carousel-tools button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(16,16,15,.24);border-radius:50%;background:transparent;color:var(--ink);font-size:.9rem;line-height:1;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.render-carousel-tools button:hover,.render-carousel-tools button:focus-visible{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}.render-carousel-viewport{min-width:0;overflow:hidden;padding:12px 7px 18px;touch-action:pan-y;cursor:grab}.render-carousel-viewport:active{cursor:grabbing}.render-carousel-track{display:flex;align-items:center;gap:14px;will-change:transform;transition:transform .8s var(--ease)}.render-slide{flex:0 0 150px;min-width:0;display:block;outline-offset:3px}.render-polaroid{position:relative;margin:0;padding:6px 6px 24px;background:#fff;border:1px solid rgba(16,16,15,.16);box-shadow:0 10px 22px rgba(16,16,15,.12);transform:rotate(var(--tilt,-1deg)) scale(.95);transform-origin:50% 78%;transition:transform .65s var(--ease),box-shadow .65s var(--ease),opacity .45s;opacity:.74}.render-slide:nth-child(2n) .render-polaroid{--tilt:1.2deg}.render-slide:nth-child(3n) .render-polaroid{--tilt:-.45deg}.render-polaroid img{width:100%;aspect-ratio:1.48;object-fit:cover;filter:grayscale(1) contrast(1.12);transition:filter .7s var(--ease),transform .9s var(--ease)}.render-polaroid figcaption{position:absolute;left:8px;right:8px;bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font:700 .5rem/1.5 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.render-slide.is-focus .render-polaroid,.render-slide:hover .render-polaroid,.render-slide:focus-visible .render-polaroid{transform:rotate(0) scale(1.035) translateY(-3px);box-shadow:0 17px 34px rgba(1,59,82,.2);opacity:1}.render-slide.is-focus .render-polaroid img{filter:grayscale(.15) contrast(1.04) saturate(.94)}.render-slide:hover .render-polaroid img,.render-slide:focus-visible .render-polaroid img{filter:grayscale(0) contrast(1.02);transform:scale(1.025)}.render-carousel-bottom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.render-carousel-dots{display:flex;gap:5px}.render-carousel-dots i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(16,16,15,.22);transition:width .35s var(--ease),background .35s}.render-carousel-dots i.on{width:17px;border-radius:5px;background:var(--orange)}.render-carousel-progress{height:1px;overflow:hidden;background:rgba(16,16,15,.13)}.render-carousel-progress i{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}.render-carousel.is-playing .render-carousel-progress i{animation:renderProgress 4.8s linear both}@keyframes renderProgress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){.render-carousel{animation:renderCarouselIn 1s .5s var(--ease) both}.render-slide:nth-child(1) .render-polaroid{animation:renderCardIn .8s .55s var(--ease) both}.render-slide:nth-child(2) .render-polaroid{animation:renderCardIn .8s .68s var(--ease) both}.render-slide:nth-child(3) .render-polaroid{animation:renderCardIn .8s .81s var(--ease) both}@keyframes renderCarouselIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes renderCardIn{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}}
@media(max-width:900px){.render-carousel{max-width:720px}.render-carousel-viewport{padding-inline:5px}.render-polaroid figcaption{font-size:.49rem}}
@media(max-width:600px){.render-carousel-top{align-items:flex-start}.render-carousel-top>span{max-width:15ch}.render-carousel-track{gap:11px}.render-carousel-viewport{padding-bottom:14px}.render-polaroid{padding:5px 5px 22px}.render-polaroid figcaption{left:7px;right:7px}}
@media(prefers-reduced-motion:reduce){.render-carousel-track,.render-polaroid,.render-polaroid img{transition:none}.render-carousel-progress{display:none}}



/* v12 — responsive hero polish, softer palette, replaying CTA and blue footer */
:root{--orange:#d69a42;--orange-soft:#e6bd7a}
@media(min-width:901px){.hero-bottom{grid-template-columns:minmax(220px,.56fr) minmax(570px,1.44fr) auto;gap:clamp(1.5rem,2.4vw,2.8rem)}.render-carousel-viewport{padding-top:16px;padding-bottom:24px}.render-polaroid{padding:8px 8px 28px}.render-polaroid figcaption{left:10px;right:10px;bottom:5px;font-size:.56rem}.render-carousel-top{font-size:.62rem}.render-carousel-tools button{width:34px;height:34px}}
@media(max-width:1280px) and (min-width:901px){.hero-bottom{grid-template-columns:minmax(200px,.54fr) minmax(500px,1.4fr) auto;gap:1.25rem}.hero-copy{font-size:.96rem}.render-polaroid figcaption{font-size:.52rem}}
@media(max-width:900px){.hero{display:flex!important;flex-direction:column!important;min-height:0!important}.hero-main{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;min-height:0!important;width:100%!important;padding:clamp(2.5rem,7vw,4rem) var(--gutter) clamp(2.25rem,6vw,3.5rem)!important;overflow:hidden}.hero-main>div:first-child{width:100%}.hero h1{margin:clamp(1.8rem,5vw,2.6rem) 0 0!important}.hero-bottom{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;margin-top:clamp(2.5rem,7vw,4rem)!important;gap:clamp(1.6rem,5vw,2.4rem)!important}.hero-copy{order:1;width:100%;max-width:40ch;margin:0!important}.render-carousel{order:2;width:100%!important;max-width:none!important;min-width:0!important;overflow:hidden}.render-carousel-viewport{width:100%;max-width:100%;min-width:0;overflow:hidden}.render-carousel-track{width:max-content;max-width:none}.render-slide{min-width:0}.hero-bottom>.scroll{display:none!important}.hero-side{width:100%;min-height:390px}.render-polaroid{transform:rotate(var(--tilt,-1deg)) scale(.97);opacity:.82}}
@media(max-width:600px){.hero-main{padding:2.35rem 1.2rem 2.2rem!important}.eyebrow{font-size:.64rem}.hero h1{font-size:clamp(2.45rem,12vw,3.35rem)!important;line-height:.93!important;letter-spacing:-.06em}.hero-bottom{margin-top:2.35rem!important;gap:1.45rem!important}.hero-copy{font-size:.94rem;line-height:1.65;max-width:31ch}.render-carousel{padding-inline:1px}.render-carousel-top{font-size:.56rem;margin-bottom:5px}.render-carousel-tools{gap:5px}.render-carousel-count{min-width:48px}.render-carousel-tools button{width:32px;height:32px}.render-carousel-viewport{padding:10px 5px 17px}.render-polaroid{padding:7px 7px 26px;transform:rotate(0) scale(.98)}.render-polaroid figcaption{left:9px;right:9px;font-size:.54rem}.render-slide.is-focus .render-polaroid{transform:scale(1) translateY(-2px)}.render-carousel-bottom{gap:9px}.hero-side{min-height:340px}}
.cta{background:var(--paper)}.cta-box{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#0b3040 0%,var(--blue) 66%,#075a74 100%);color:#fff;border-top:2px solid var(--orange);box-shadow:0 24px 60px rgba(1,59,82,.18)}.cta-box:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,black 45%,black)}.cta-box:after{content:'';position:absolute;right:clamp(1.5rem,4vw,4rem);top:0;width:1px;height:36%;background:var(--orange);opacity:.75}.cta-box h2{font-size:clamp(2.85rem,5.35vw,6.1rem)!important;line-height:.88;letter-spacing:-.055em;margin:0}.cta-box h2 span{display:inline-block;will-change:transform,opacity}.cta-right p{color:rgba(255,255,255,.8)}.cta .wa{color:#fff!important;background:transparent!important;border:1px solid rgba(255,255,255,.58)!important;transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}.cta .wa:hover,.cta .wa:focus-visible{background:#25D366!important;border-color:#25D366!important;color:#062b15!important;transform:translateY(-4px);box-shadow:0 13px 30px rgba(37,211,102,.28)}.cta-anim-ready .cta-box h2 span{opacity:0}.cta-anim-ready.cta-in-view .cta-box h2 span:first-child{animation:ctaLineOne .85s .05s var(--ease) both}.cta-anim-ready.cta-in-view .cta-box h2 span:last-child{animation:ctaLineTwo .85s .18s var(--ease) both}.cta-anim-ready.cta-in-view .cta .wa,.cta-anim-ready.cta-in-view .wa{animation:ctaButtonIn .7s .68s var(--ease) both}@keyframes ctaLineOne{from{opacity:0;transform:translate3d(-48px,22px,0);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes ctaLineTwo{from{opacity:0;transform:translate3d(48px,22px,0);clip-path:inset(0 0 0 100%)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes ctaButtonIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
footer{background:var(--blue)!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.035)}footer .footer-social-label{color:var(--orange)}footer .social-link{color:#fff;border-color:rgba(255,255,255,.42);background:transparent}footer .social-link svg{transition:transform .35s var(--ease)}footer .social-link:hover,footer .social-link:focus-visible{background:#fff;border-color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.2)}footer .social-link:hover svg,footer .social-link:focus-visible svg{transform:scale(1.12) rotate(-4deg)}footer .footer-top{color:rgba(255,255,255,.78)}footer .footer-top:hover{color:var(--orange)}footer .footer-right{color:#fff}footer .footer-copy{color:rgba(255,255,255,.72)}footer .social-link:after{background:var(--orange);color:var(--blue)}
@media(max-width:700px){.cta-box h2{font-size:clamp(2.5rem,12vw,4.1rem)!important}.cta-box{gap:2.3rem}.cta-box:after{height:22%}footer{padding-top:2.2rem;padding-bottom:2.2rem}.footer-socials{width:100%}.social-list{gap:10px}.footer-end{padding-top:.5rem}}
@media(prefers-reduced-motion:reduce){.cta-anim-ready .cta-box h2 span{opacity:1}.cta-anim-ready.cta-in-view .cta-box h2 span,.cta-anim-ready.cta-in-view .wa{animation:none}}



/* v13 — mobile contact, safe carousel edges, CTA fit, Reel modal and restored VCR */
.mobile-wa{display:none}
@media(max-width:900px){nav{gap:10px}.nav-cta{display:none!important}.mobile-wa{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-left:auto;padding:8px 10px;border:1px solid rgba(255,255,255,.58);border-radius:999px;color:#fff;background:rgba(255,255,255,.04);font:800 .57rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;overflow:hidden;transition:color .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}.mobile-wa:before{content:'';position:absolute;inset:0;background:#25D366;transform:translateY(105%);transition:transform .38s var(--ease);z-index:-1}.mobile-wa svg{width:16px;height:16px;transition:transform .4s var(--ease)}.mobile-wa:hover,.mobile-wa:focus-visible,.mobile-wa:active{color:#062b15;border-color:#25D366;transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,211,102,.25)}.mobile-wa:hover:before,.mobile-wa:focus-visible:before,.mobile-wa:active:before{transform:none}.mobile-wa:hover svg,.mobile-wa:focus-visible svg{transform:rotate(-8deg) scale(1.08)}.hamb{margin-left:0!important}}
@media(max-width:360px){.mobile-wa{width:36px;height:36px;padding:0}.mobile-wa span{display:none}}
.render-carousel-viewport{padding-left:16px!important;padding-right:16px!important}.render-slide{overflow:visible}.render-carousel-track{padding-block:2px}
@media(max-width:600px){.render-carousel-viewport{padding-left:11px!important;padding-right:11px!important}.render-slide.is-focus .render-polaroid{transform:scale(.985) translateY(-2px)}}
.cta-box h2{max-width:100%;padding-right:.16em;overflow:visible}.cta-box h2 span{display:inline-block;max-width:100%;white-space:nowrap}
@media(max-width:700px){.cta-box{grid-template-columns:minmax(0,1fr)!important;padding-left:clamp(1.25rem,6vw,2.1rem)!important;padding-right:clamp(1.25rem,6vw,2.1rem)!important;overflow:hidden}.cta-box h2{width:100%;font-size:clamp(2.25rem,10.2vw,3.55rem)!important;line-height:.9!important;letter-spacing:-.065em!important;padding-right:.22em}.cta-right{width:100%;min-width:0}}
/* The archival image regains its analog VCR character. */
.vault-poster{position:relative;isolation:isolate;overflow:hidden;background:#07171d}.vault-poster>img{filter:sepia(.18) grayscale(.15) contrast(1.18) brightness(.82) saturate(.72);transform:scale(1.012);transition:filter .8s var(--ease),transform 1.2s var(--ease)}.vault-poster:hover>img{filter:sepia(.08) grayscale(0) contrast(1.12) brightness(.9) saturate(.86);transform:scale(1.025)}.vault-poster .vcr-lines{display:block!important;position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.32;background:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 4px),linear-gradient(90deg,rgba(255,0,52,.025),transparent 38%,rgba(0,180,255,.035));mix-blend-mode:screen;animation:vcrNoise .22s steps(2,end) infinite}.vault-poster .vault-scan{display:block!important;position:absolute;z-index:4;left:0;right:0;top:-24%;height:18%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(221,245,255,.18),rgba(255,255,255,.42),transparent);mix-blend-mode:screen;filter:blur(1px);animation:vcrScan 4.4s linear infinite}.vault-poster .vcr-hud,.vault-poster .vcr-date{display:flex!important;position:absolute;z-index:5;color:#f4f1e7;text-shadow:1px 1px 0 #111;font:700 .62rem/1 var(--font-mono,monospace);letter-spacing:.11em}.vault-poster .vcr-hud{top:18px;left:18px;right:18px;justify-content:space-between}.vault-poster .vcr-date{right:18px;bottom:52px}.vault-poster:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 65px rgba(0,0,0,.55);background:radial-gradient(circle at 48% 40%,transparent 30%,rgba(0,0,0,.22) 100%)}@keyframes vcrScan{0%{transform:translateY(0)}100%{transform:translateY(690%)}}@keyframes vcrNoise{0%{transform:translateY(0)}50%{transform:translateY(1px)}100%{transform:translateY(-1px)}}
/* Instagram is loaded only after the visitor presses play. */
.reel-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s}.reel-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.reel-backdrop{position:absolute;inset:0;background:rgba(2,17,23,.86);backdrop-filter:blur(13px)}.reel-dialog{position:relative;width:min(450px,100%);height:min(790px,90vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--blue);border:1px solid rgba(255,255,255,.2);box-shadow:0 28px 90px rgba(0,0,0,.48);transform:translateY(24px) scale(.97);transition:transform .45s var(--ease);overflow:hidden}.reel-modal.is-open .reel-dialog{transform:none}.reel-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.14);color:#fff}.reel-dialog header span{display:block;color:var(--orange);font:700 .54rem/1.3 var(--font-sans);letter-spacing:.11em;text-transform:uppercase}.reel-dialog header h2{margin:3px 0 0;font:800 1.08rem/1.1 var(--font-sans);letter-spacing:-.02em}.reel-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;font:300 1.55rem/1 var(--font-sans);transition:background .3s,color .3s,transform .3s}.reel-close:hover,.reel-close:focus-visible{background:var(--orange);border-color:var(--orange);color:var(--blue);transform:rotate(90deg)}.reel-stage{position:relative;min-height:0;background:#f7f5ef;overflow:hidden}.reel-stage iframe{position:relative;z-index:2;width:100%;height:100%;border:0;background:#fff}.reel-loader{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--blue);font:700 .58rem/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.reel-loader i{width:28px;height:28px;border:2px solid rgba(1,59,82,.18);border-top-color:var(--orange);border-radius:50%;animation:reelSpin .8s linear infinite}.reel-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--blue)!important;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.65)!important;font:700 .52rem/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.reel-dialog>footer a{color:#fff}.reel-dialog>footer a:hover{color:var(--orange)}body.reel-open{overflow:hidden}@keyframes reelSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){.reel-modal{padding:0}.reel-dialog{width:100%;height:100%;max-height:none;border:0}.reel-dialog>header{padding:12px 14px}.reel-dialog>footer{padding:11px 14px}}
@media(prefers-reduced-motion:reduce){.vault-poster .vcr-lines,.vault-poster .vault-scan,.reel-loader i{animation:none}.reel-dialog,.reel-modal{transition:none}}



/* v14 — centered matching marks, smaller CTA, numberless rubrics and ArchiVault player */
.voice-story .voice-brand,.vault-copy .vault-brand{position:relative!important;inset:auto!important;float:none!important;display:block!important;height:auto!important;object-fit:contain!important;object-position:center!important;margin-left:auto!important;margin-right:auto!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important}.voice-story .voice-brand{width:clamp(145px,19vw,245px)!important;margin-bottom:clamp(1rem,2vw,1.7rem)!important}.vault-copy .vault-brand{width:clamp(92px,11vw,145px)!important;margin-bottom:clamp(1rem,2vw,1.5rem)!important}
.vault-play-disc{z-index:8!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;background:rgba(1,59,82,.84)!important;border-color:rgba(255,255,255,.8)!important;color:#fff!important;box-shadow:0 13px 38px rgba(0,0,0,.36)}.vault-play-disc:hover,.vault-play-disc:focus-visible{background:var(--orange)!important;color:var(--blue)!important;border-color:var(--orange)!important;transform:translate(-50%,-50%) scale(1.1)!important}.vault-play-disc span{transform:translateX(2px)}
.cta-box h2{font-size:clamp(2.35rem,4.25vw,5rem)!important;line-height:.91!important;letter-spacing:-.052em!important;padding-right:.08em!important}.cta-box h2 span{overflow:visible!important;clip-path:none!important}
@keyframes ctaLineOne{from{opacity:0;transform:translate3d(-34px,16px,0)}to{opacity:1;transform:none}}@keyframes ctaLineTwo{from{opacity:0;transform:translate3d(34px,16px,0)}to{opacity:1;transform:none}}
.rubric{grid-template-columns:minmax(240px,.78fr) minmax(280px,1.22fr) auto!important}.rubric h3{grid-column:1}.rubric p{grid-column:2}.rubric .arrow{grid-column:3}
@media(max-width:700px){.voice-story .voice-brand{width:clamp(128px,46vw,190px)!important}.vault-copy .vault-brand{width:clamp(88px,29vw,125px)!important}.cta-box h2{font-size:clamp(1.85rem,8.1vw,2.65rem)!important;line-height:.94!important;letter-spacing:-.045em!important;padding-right:.18em!important}.rubric{grid-template-columns:minmax(0,1fr) auto!important;column-gap:18px!important}.rubric h3{grid-column:1;grid-row:1}.rubric p{grid-column:1;grid-row:2}.rubric .arrow{grid-column:2;grid-row:1/span 2;align-self:center}.vault-play-disc{width:62px!important;height:62px!important}}



/* v15 — editorial hero balance, safe titles and continuous motion */
/* A more restrained ArchiVoice signature inside its panel. */
.voice-story .voice-brand{width:clamp(108px,11vw,164px)!important;margin-bottom:clamp(.8rem,1.5vw,1.25rem)!important}
/* Center the editorial introduction in the white hero field. */
.hero-bottom{align-items:center!important}.hero-copy{align-self:center!important;justify-self:center!important;margin:0!important;max-width:27ch;font-family:var(--font-editorial)!important;font-size:clamp(1.28rem,1.38vw,1.55rem)!important;font-style:italic;font-weight:600;line-height:1.38!important;letter-spacing:.005em;color:#24231f}
/* Architectural entrance: mass, outline, accent and drawing rule arrive separately. */
.hero h1{position:relative;overflow:visible!important;isolation:isolate}.hero h1 .line1,.hero h1 .line2,.hero h1 .outline,.hero h1 .orange{display:inline-block;will-change:transform,opacity,filter}.hero h1 .line1{animation:heroMassIn 1s .08s cubic-bezier(.18,.86,.24,1) both}.hero h1 .line2{animation:heroOutlineIn 1.15s .2s cubic-bezier(.18,.86,.24,1) both}.hero h1 .outline{animation:heroOutlineGlow 5.4s 1.5s ease-in-out infinite}.hero h1 .orange{transform-origin:50% 82%;animation:heroBangIn .72s .78s cubic-bezier(.18,1.45,.35,1) both,heroBangPulse 4.8s 1.7s ease-in-out infinite}.hero h1:after{content:'';position:absolute;left:.02em;bottom:-.16em;width:min(42%,320px);height:2px;background:linear-gradient(90deg,var(--orange),var(--blue),transparent);transform:scaleX(0);transform-origin:left;animation:heroRuleDraw 1.25s .62s var(--ease) both}@keyframes heroMassIn{from{opacity:0;transform:translate3d(-46px,24px,0) scaleX(.94);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}@keyframes heroOutlineIn{from{opacity:0;transform:translate3d(54px,28px,0);letter-spacing:.04em}to{opacity:1;transform:none;letter-spacing:inherit}}@keyframes heroBangIn{0%{opacity:0;transform:translateY(-.22em) rotate(-12deg) scale(.55)}70%{opacity:1;transform:translateY(.03em) rotate(3deg) scale(1.14)}100%{opacity:1;transform:none}}@keyframes heroBangPulse{0%,86%,100%{filter:drop-shadow(0 0 0 rgba(214,154,66,0));transform:translateY(0)}92%{filter:drop-shadow(0 0 12px rgba(214,154,66,.42));transform:translateY(-.035em)}}@keyframes heroOutlineGlow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 18px rgba(1,59,82,.09)}}@keyframes heroRuleDraw{to{transform:scaleX(1)}}
/* Kicker labels are readable throughout all editorial sections. */
.section-kicker{font-family:var(--font-sans)!important;font-size:clamp(.7rem,.76vw,.84rem)!important;font-weight:800!important;line-height:1.35!important;letter-spacing:.14em!important;opacity:1!important}.section-kicker:before{height:2px!important;width:32px!important}.manifesto .section-kicker{color:var(--orange)!important}
/* Center the manifesto composition and remove the dead space above its copy. */
.manifesto .section-head{margin-bottom:clamp(1.35rem,2.4vw,2.7rem)!important}.manifesto-grid{align-items:center!important;min-height:0!important}.manifesto-copy{align-self:center!important;justify-self:center!important;margin:0!important;padding:0!important}.manifesto-copy p:first-child{margin-top:0!important}.manifesto-copy p:last-child{margin-bottom:0!important}
/* Descenders and italic titles remain fully visible; reveal without clipping. */
.section-head,.section-head.reveal,.section-title,.section-title i{overflow:visible!important;clip-path:none!important}.section-title{line-height:.94!important;padding-top:.03em!important;padding-bottom:.18em!important}.section-title i{display:inline-block;padding-bottom:.12em;margin-bottom:-.12em}.section-head.reveal .section-title{clip-path:none!important}.section-head.reveal.in .section-title{clip-path:none!important}
/* Both ticker bands keep moving continuously. */
.marquee{overflow:hidden!important}.marquee-track{display:flex!important;width:max-content!important;min-width:max-content!important;will-change:transform;animation:archiloopTicker 27s linear infinite!important}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:running!important}@keyframes archiloopTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:900px){.hero-copy{justify-self:start!important;max-width:31ch;font-size:clamp(1.12rem,4.6vw,1.35rem)!important;line-height:1.42!important}.voice-story .voice-brand{width:clamp(98px,33vw,138px)!important}.manifesto-grid{align-items:start!important}.manifesto-copy{justify-self:start!important}.section-kicker{font-size:.7rem!important}}
@media(prefers-reduced-motion:reduce){.hero h1 .line1,.hero h1 .line2,.hero h1 .outline,.hero h1 .orange,.hero h1:after{animation:none!important;opacity:1;transform:none;filter:none}.marquee-track{animation-duration:70s!important}}



/* v16 — housing-first selection, seamless ticker and compact editorial sections */
/* Both editorial marks now use exactly the same visual width. */
.voice-story .voice-brand,.vault-copy .vault-brand{width:clamp(108px,11vw,164px)!important;max-width:164px!important;margin-left:auto!important;margin-right:auto!important}
/* Remove oversized header voids while preserving the two-column editorial hierarchy. */
.voice-feature,.vault-feature,.rubrics,.manifesto,.works{padding-top:clamp(3.2rem,5.2vw,5.4rem)!important;padding-bottom:clamp(3.2rem,5.8vw,5.8rem)!important}.section-head,.voice-feature>.section-head,.vault-feature>.section-head,.rubrics>.section-head,.manifesto>.section-head,.works>.section-head{height:auto!important;min-height:0!important;max-height:none!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:clamp(1.8rem,3.2vw,3.4rem)!important;align-items:end!important;row-gap:.9rem!important}.section-head .section-kicker,.section-head .section-title{margin-top:0!important;margin-bottom:0!important}.rubric-list,.work-grid,.voice-feature-grid,.vault-shell,.manifesto-grid{margin-top:0!important}
/* Four repeated spans form two equal animation halves: no disappearance or white tail. */
.track{gap:0!important;animation:archiloopTicker 34s linear infinite!important}.track>span{display:block!important;flex:0 0 auto!important;white-space:nowrap!important}@keyframes archiloopTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:900px){.voice-story .voice-brand,.vault-copy .vault-brand{width:clamp(98px,33vw,138px)!important;max-width:138px!important}.voice-feature,.vault-feature,.rubrics,.manifesto,.works{padding-top:3.2rem!important;padding-bottom:3.5rem!important}.section-head,.voice-feature>.section-head,.vault-feature>.section-head,.rubrics>.section-head,.manifesto>.section-head,.works>.section-head{margin-bottom:2rem!important;row-gap:.65rem!important}}



/* v17 — complete project grid, Archi101 feature and editorial logo lockups */
/* Logos live beside the editorial heading rather than inside the blue stories. */
.branded-section-head .section-title-lockup{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,3.6rem);min-width:0}.section-title-lockup .section-title{flex:1;min-width:0}.section-mark{display:block;flex:0 0 auto;width:auto!important;max-width:none!important;height:clamp(64px,6.2vw,88px);object-fit:contain;margin:0!important;filter:drop-shadow(0 8px 18px rgba(1,59,82,.12));transform-origin:center;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}.section-title-lockup:hover .section-mark{transform:rotate(-4deg) scale(1.055);filter:drop-shadow(0 10px 22px rgba(247,168,63,.22))}.section-mark-archi101{height:clamp(72px,7vw,96px)}
/* The blue-panel copy is centered vertically now that the mark has moved into the heading. */
.voice-story,.vault-copy,.archi101-story{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important}.voice-story .voice-meta,.vault-copy .vault-kicker,.archi101-story .voice-meta{margin-top:0!important}.vault-copy .vault-bottom{margin-top:clamp(1.4rem,2.4vw,2.6rem)!important}.voice-story .text-link,.archi101-story .text-link{margin-top:clamp(1.2rem,2.2vw,2.2rem)!important}
/* Preserve the two showcase projects, then close the lower grid with coffee shop + kitchen. */
@media(min-width:901px){#project-school{grid-column:1/-1!important}.work-grid #project-coffee,.work-grid #project-kitchen{align-self:stretch}}
#project-kitchen .project-art img{object-position:center center}
/* Archi101 uses the established ArchiVoice proportions and controls. */
.archi101-feature{border-top:1px solid rgba(1,59,82,.14)}.archi101-feature-grid{align-items:stretch}.archi101-photo{aspect-ratio:16/9;min-height:clamp(320px,33vw,520px)}.archi101-photo>img{width:100%;height:100%;object-fit:cover;object-position:center}.archi101-play-disc{border:0;cursor:pointer}.archi101-preview-link{background:none;border:0;padding-left:0;padding-right:0;text-align:left;cursor:pointer;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.12em}.archi101-stamp strong{font-size:1.05rem}
/* Lightweight local preview modal, ready for a Reel URL. */
html.archi101-modal-open{overflow:hidden}.archi101-preview-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(1rem,3vw,2.6rem);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}.archi101-preview-modal[hidden]{display:none}.archi101-preview-modal.is-open{opacity:1;visibility:visible}.archi101-preview-backdrop{position:absolute;inset:0;border:0;background:rgba(2,12,17,.82);backdrop-filter:blur(12px);cursor:pointer}.archi101-preview-dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);width:min(1120px,96vw);max-height:90vh;overflow:auto;background:#f2efe8;border:1px solid rgba(247,168,63,.65);box-shadow:0 30px 90px rgba(0,0,0,.4);transform:translateY(18px) scale(.985);transition:transform .3s cubic-bezier(.2,.8,.2,1)}.archi101-preview-modal.is-open .archi101-preview-dialog{transform:none}.archi101-preview-close{position:absolute;right:12px;top:10px;z-index:2;width:42px;height:42px;border:1px solid rgba(247,168,63,.65);background:#013b52;color:#f7a83f;font-size:1.8rem;line-height:1;cursor:pointer}.archi101-preview-media{min-height:360px;background:#08151b}.archi101-preview-media img{width:100%;height:100%;min-height:360px;object-fit:cover}.archi101-preview-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem);color:#10100f}.archi101-preview-copy>span{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#00558b}.archi101-preview-copy h2{font-family:var(--font-editorial);font-size:clamp(2rem,3.3vw,3.5rem);line-height:.98;margin:1rem 0}.archi101-preview-copy p{line-height:1.7;color:#45433f}.archi101-preview-copy a{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(1,59,82,.25);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}
@media(max-width:900px){.branded-section-head .section-title-lockup{grid-column:1;gap:1rem}.section-mark{height:56px}.section-mark-archi101{height:62px}.archi101-photo{aspect-ratio:4/3;min-height:0}.archi101-preview-dialog{grid-template-columns:1fr;width:min(680px,96vw)}.archi101-preview-media,.archi101-preview-media img{min-height:230px}.archi101-preview-copy{padding:1.6rem}.archi101-preview-copy h2{font-size:2.2rem}}
@media(max-width:520px){.section-title-lockup{align-items:center!important}.section-title-lockup .section-title{font-size:clamp(2.25rem,12vw,3.25rem)!important}.section-mark{height:48px}.section-mark-archi101{height:54px}.archi101-preview-dialog{max-height:92vh}.archi101-preview-media,.archi101-preview-media img{min-height:190px}}



/* v18 — final refinements: blue logo badges, gapless projects and Reel playback */
/* Compact blue badge on the LEFT of every editorial title. */
.branded-section-head .section-title-lockup{justify-content:flex-start!important;align-items:center!important;gap:clamp(1.15rem,2.2vw,2.6rem)!important}.section-mark-badge{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 auto;width:clamp(78px,6.6vw,104px);height:clamp(78px,6.6vw,104px);overflow:hidden;background:linear-gradient(145deg,#013b52,#00558b);border:1px solid rgba(247,168,63,.8);box-shadow:0 14px 30px rgba(1,59,82,.16);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}.section-mark-badge::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:14px 14px}.section-mark-badge .section-mark{display:block!important;width:auto!important;max-width:78%!important;height:72%!important;max-height:72%!important;object-fit:contain!important;margin:0!important;filter:drop-shadow(0 4px 10px rgba(0,0,0,.22))!important;transform:none!important}.section-title-lockup:hover .section-mark-badge{transform:translateY(-4px) rotate(-2deg);box-shadow:0 18px 36px rgba(1,59,82,.24)}
/* Six equal cards: housing + school, pool + clinic, coffee shop + kitchen. */
@media(min-width:901px){.work-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;align-items:stretch!important;gap:clamp(1.35rem,2vw,2.3rem)!important}.work-grid .project,.work-grid .project-featured,.work-grid #project-school{grid-column:auto!important;grid-row:auto!important;width:auto!important;max-width:none!important;height:100%!important;margin:0!important}.work-grid .project-art{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;overflow:hidden!important}.work-grid .project-art img{width:100%!important;height:100%!important;object-fit:cover!important}.work-grid .project-info{height:100%;overflow:visible!important}.works .section-head{margin-bottom:clamp(1.8rem,2.8vw,2.8rem)!important}}
/* Archi101 Reel is lazy-loaded only when the viewer opens it. */
.archi101-stamp{display:grid!important;place-items:center!important}.archi101-stamp strong{font-size:.82rem!important;letter-spacing:.09em!important}.archi101-preview-media{display:grid!important;place-items:center!important;padding:1rem;background:#07141a!important}.archi101-preview-media iframe{display:block;width:min(100%,560px);height:min(78vh,720px);border:0;background:#fff}.archi101-preview-link{display:flex!important;width:100%;justify-content:space-between;text-decoration:none!important}
/* Vision follows the last project without an accidental white spacer. */
.works+ .manifesto{margin-top:0!important}.manifesto{scroll-margin-top:80px}
@media(max-width:900px){.branded-section-head .section-title-lockup{gap:.9rem!important}.section-mark-badge{width:66px;height:66px}.work-grid{display:grid!important;grid-template-columns:1fr!important;gap:1.4rem!important}.work-grid .project,.work-grid .project-featured,.work-grid #project-school{grid-column:1!important;width:100%!important;margin:0!important}.work-grid .project-art{aspect-ratio:16/10!important;height:auto!important}.archi101-preview-media{padding:.5rem}.archi101-preview-media iframe{width:100%;height:72vh;max-height:690px}}
@media(max-width:520px){.section-mark-badge{width:56px;height:56px}.section-mark-badge .section-mark{max-width:80%!important;height:74%!important;max-height:74%!important}.branded-section-head .section-title-lockup{align-items:center!important}.archi101-preview-media iframe{height:68vh}}



/* v19 — repaired project copy, centered labels, mobile containment and fluid motion */
html{scroll-behavior:smooth}
/* Small editorial labels now sit on the same vertical axis as their paired heading. */
.section-head,.branded-section-head,.voice-heading,.vault-heading,.archi101-heading,.works>.section-head,.rubrics>.section-head{align-items:center!important}.section-kicker{align-self:center!important;justify-self:start!important;margin-top:0!important;margin-bottom:0!important;transform:none!important}.section-title-lockup{align-self:center!important}.manifesto>.section-head{align-items:center!important}.manifesto .section-kicker{align-self:center!important}
/* Restore a natural information flow inside every project card. */
.work-grid{align-items:start!important}.work-grid .project{display:block!important;align-self:start!important;height:auto!important;min-height:0!important;overflow:visible!important}.work-grid .project-info{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-auto-rows:auto!important;align-content:start!important;align-items:start!important;column-gap:1.25rem!important;row-gap:0!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:clamp(1.25rem,2vw,2rem)!important}.work-grid .project-info>div:first-child{grid-column:1!important;grid-row:1!important;min-width:0!important}.work-grid .project-info>b{position:static!important;grid-column:2!important;grid-row:1!important;align-self:start!important;margin:0!important;transform:none!important}.work-grid .project-description{position:static!important;grid-column:1/-1!important;grid-row:auto!important;display:block!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;opacity:1!important;visibility:visible!important;transform:none!important;margin:clamp(1rem,1.5vw,1.45rem) 0 0!important;padding:clamp(.9rem,1.25vw,1.2rem) 0 0!important;border-top:1px solid rgba(1,59,82,.18)!important;line-height:1.68!important;align-self:start!important}.work-grid .project-location{position:static!important;grid-column:1/-1!important;grid-row:auto!important;width:auto!important;height:auto!important;margin:1rem 0 0!important;padding:.9rem 0 0!important;transform:none!important;align-self:start!important}
/* The Archi101 image and its play control remain strictly inside the mobile card. */
.archi101-feature,.archi101-feature-grid,.archi101-photo{min-width:0!important;max-width:100%!important}.archi101-photo{position:relative!important;overflow:hidden!important}.archi101-photo>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}.archi101-photo .archi101-play-disc{position:absolute!important;left:auto!important;right:clamp(.8rem,1.8vw,1.25rem)!important;bottom:clamp(.8rem,1.8vw,1.25rem)!important;transform:none!important;margin:0!important}
/* Reel-only Archi101 popup on the same deep-blue visual base as the other players. */
.archi101-preview-dialog{display:block!important;grid-template-columns:none!important;width:min(560px,94vw)!important;max-height:92vh!important;overflow:hidden!important;background:#013b52!important;border:1px solid rgba(247,168,63,.7)!important}.archi101-preview-media{display:grid!important;place-items:center!important;width:100%!important;min-height:0!important;padding:0!important;background:#013b52!important}.archi101-preview-media iframe{display:block!important;width:100%!important;height:min(88vh,760px)!important;max-height:88vh!important;border:0!important;background:#013b52!important}
/* Restrained motion: enough personality without making the page heavy. */
.section-mark-badge{animation:badgeDrift 6.5s ease-in-out infinite;will-change:transform}.branded-section-head:nth-of-type(2) .section-mark-badge{animation-delay:-2.1s}.project{transition:transform .48s cubic-bezier(.2,.8,.2,1),box-shadow .48s ease}.project-art{overflow:hidden}.project-art img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease;transform:translateZ(0)}@media(hover:hover){.project:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(1,59,82,.1)}.project:hover .project-art img{transform:scale(1.025) translateZ(0)}}.voice-story,.vault-copy,.archi101-story{position:relative;overflow:hidden}.voice-story::after,.vault-copy::after,.archi101-story::after{content:"";position:absolute;inset:auto -30% 0;height:1px;background:linear-gradient(90deg,transparent,rgba(247,168,63,.75),transparent);animation:storyLine 7s linear infinite;pointer-events:none}
@keyframes badgeDrift{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-4px,0) rotate(-1deg)}}@keyframes storyLine{0%{transform:translateX(-35%);opacity:0}12%,82%{opacity:1}100%{transform:translateX(35%);opacity:0}}
/* Defer below-the-fold painting while preserving stable scroll dimensions. */
.voice-feature,.vault-feature,.archi101-feature,.rubrics,.cta{content-visibility:auto;contain-intrinsic-size:auto 760px}
@media(max-width:900px){.section-head,.branded-section-head,.works>.section-head,.rubrics>.section-head{align-items:center!important}.section-kicker{align-self:center!important}.work-grid .project-info{padding:1.25rem!important;column-gap:.8rem!important}.work-grid .project-description{margin-top:1rem!important;padding-top:.9rem!important;line-height:1.62!important}.archi101-feature{overflow:hidden!important}.archi101-feature-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.archi101-photo{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.archi101-photo .archi101-play-disc{right:.85rem!important;bottom:.85rem!important}.archi101-preview-dialog{width:min(520px,94vw)!important}.archi101-preview-media iframe{height:min(86vh,720px)!important}}
@media(max-width:520px){.archi101-feature{padding-left:clamp(1rem,5vw,1.35rem)!important;padding-right:clamp(1rem,5vw,1.35rem)!important}.archi101-preview-dialog{width:94vw!important}.archi101-preview-media iframe{height:82vh!important}.work-grid .project-info{grid-template-columns:minmax(0,1fr) auto!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section-mark-badge,.voice-story::after,.vault-copy::after,.archi101-story::after{animation:none!important}.project,.project-art img{transition:none!important}.project:hover,.project:hover .project-art img{transform:none!important}}



/* v20 — final delivery: Archi101 hover parity and project locations */
/* Match the same tactile image zoom used by the two other editorial thumbnails. */
.archi101-photo>img{transform-origin:center center!important;transition:transform .78s cubic-bezier(.2,.8,.2,1),filter .55s ease!important;will-change:transform}@media(hover:hover) and (pointer:fine){.archi101-photo:hover>img,.archi101-photo:focus-within>img{transform:scale(1.035)!important;filter:saturate(1.035) contrast(1.02)!important}}
/* Archi101 now inherits the exact text-link typography, rule and spacing of ArchiVoice. */
.archi101-story>.text-link{font-size:inherit;text-transform:inherit;letter-spacing:inherit;width:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-decoration:none!important}
@media(prefers-reduced-motion:reduce){.archi101-photo>img,.archi101-photo:hover>img,.archi101-photo:focus-within>img{transition:none!important;transform:none!important;filter:none!important}}



/* v21 — replayable viewport motion, ArchiLoop light wave and numberless projects */
/* With the numeric marker removed, every project heading and paragraph uses the full card width. */
.work-grid .project-info{grid-template-columns:minmax(0,1fr)!important}.work-grid .project-info>div:first-child{grid-column:1/-1!important}.work-grid .project-description,.work-grid .project-location{grid-column:1/-1!important}
/* Siri-inspired but restrained: a slim ArchiLoop blue/yellow light wave under the hero title. */
.hero h1::after,.hero h1::before{content:"";position:absolute;left:.02em;bottom:-.16em;width:min(42%,320px);border-radius:999px;transform:scaleX(1);transform-origin:left;pointer-events:none}.hero h1::after{z-index:2;height:2px;background:linear-gradient(90deg,#013b52 0%,#00558b 18%,#f7a83f 38%,#ffe5a3 49%,#f7a83f 60%,#00558b 80%,#013b52 100%);background-size:280% 100%;box-shadow:0 0 4px rgba(1,85,139,.14);animation:heroRuleDraw 1.15s .58s var(--ease) both,archiloopSiriWave 4.8s 1.65s ease-in-out infinite!important}.hero h1::before{z-index:1;height:4px;background:linear-gradient(90deg,rgba(1,59,82,.08),rgba(0,85,139,.38),rgba(247,168,63,.55),rgba(0,85,139,.34),rgba(1,59,82,.08));background-size:260% 100%;filter:blur(5px);opacity:.3;animation:heroRuleDraw 1.15s .58s var(--ease) both,archiloopSiriGlow 4.8s 1.65s ease-in-out infinite!important}@keyframes archiloopSiriWave{0%,100%{background-position:0% 50%;box-shadow:0 0 3px rgba(1,85,139,.1)}35%{background-position:65% 50%;box-shadow:0 0 7px rgba(247,168,63,.22)}70%{background-position:100% 50%;box-shadow:0 0 6px rgba(0,85,139,.2)}}@keyframes archiloopSiriGlow{0%,100%{background-position:0% 50%;opacity:.18}45%{background-position:75% 50%;opacity:.42}75%{background-position:100% 50%;opacity:.25}}
/* Restart the hero mass/outline/accent construction after a full viewport departure. */
@media(prefers-reduced-motion:no-preference){html.motion-ready .hero:not(.hero-replay-on) h1 .line1,html.motion-ready .hero:not(.hero-replay-on) h1 .line2,html.motion-ready .hero:not(.hero-replay-on) h1 .outline,html.motion-ready .hero:not(.hero-replay-on) h1 .orange{animation:none!important;opacity:0!important}html.motion-ready .hero:not(.hero-replay-on) h1::before,html.motion-ready .hero:not(.hero-replay-on) h1::after{animation:none!important;opacity:0!important;transform:scaleX(0)!important}html.motion-ready .hero.hero-replay-on h1 .line1{animation:heroMassIn 1s .08s cubic-bezier(.18,.86,.24,1) both!important}html.motion-ready .hero.hero-replay-on h1 .line2{animation:heroOutlineIn 1.15s .2s cubic-bezier(.18,.86,.24,1) both!important}html.motion-ready .hero.hero-replay-on h1 .outline{animation:heroOutlineGlow 5.4s 1.5s ease-in-out infinite!important}html.motion-ready .hero.hero-replay-on h1 .orange{animation:heroBangIn .72s .78s cubic-bezier(.18,1.45,.35,1) both,heroBangPulse 4.8s 1.7s ease-in-out infinite!important}html.motion-ready .hero.hero-replay-on h1::after{animation:heroRuleDraw 1.15s .58s var(--ease) both,archiloopSiriWave 4.8s 1.65s ease-in-out infinite!important}html.motion-ready .hero.hero-replay-on h1::before{animation:heroRuleDraw 1.15s .58s var(--ease) both,archiloopSiriGlow 4.8s 1.65s ease-in-out infinite!important}}
@media(prefers-reduced-motion:reduce){.hero h1::before,.hero h1::after{animation:none!important;transform:scaleX(1)!important}.hero h1::before{opacity:.18!important}.hero h1::after{opacity:1!important}}



/* v22 — iPhone 13 typography containment and platform-neutral interface icons */
.ui-icon{display:block;width:1em;height:1em;overflow:visible;flex:none}.ui-icon-play{fill:currentColor;stroke:none}.ui-icon-up,.ui-icon-nav{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ui-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;flex:none}.ui-arrow .ui-icon{width:100%;height:100%}.play-disc .ui-play{display:grid!important;place-items:center;width:100%!important;height:100%!important;color:currentColor;line-height:0}.play-disc .ui-icon-play{width:1.45rem;height:1.45rem;transform:translateX(1px)}.text-link{display:flex;align-items:center;gap:1rem}.text-link .ui-arrow{margin-left:auto}.nav-cta .ui-arrow,.wa .ui-arrow{margin-left:.2rem}.project-view{display:inline-flex;align-items:center;gap:.45rem}.project-view .ui-arrow{width:1em;height:1em}.vault-bottom a,.reel-dialog footer a{display:inline-flex;align-items:center;gap:.42rem}.rubric .arrow{display:grid;place-items:center}.rubric .arrow .ui-icon{width:1.3rem;height:1.3rem}.render-carousel-tools button{display:grid;place-items:center}.render-carousel-tools button .ui-icon{width:1.25rem;height:1.25rem}.vcr-play-label{display:inline-flex;align-items:center;gap:.42rem}.vcr-play-label .ui-icon{width:.75rem;height:.75rem}
/* The headline now fits a 390px iPhone viewport and the outlined line keeps clean, independent glyph spacing. */
@media(max-width:600px){.hero-main>div:first-child{min-width:0;max-width:100%;overflow:visible}.hero h1{box-sizing:border-box;width:100%!important;max-width:100%!important;font-size:clamp(2rem,10.15vw,2.85rem)!important;line-height:.94!important;letter-spacing:0!important;margin-right:0!important}.hero h1 .line1,.hero h1 .line2{box-sizing:border-box;max-width:100%;white-space:nowrap}.hero h1 .line1{letter-spacing:-.048em!important}.hero h1 .line2{letter-spacing:-.012em!important}.hero h1 .outline{font-family:var(--font-sans)!important;font-weight:700!important;letter-spacing:.005em!important;-webkit-text-stroke:1px var(--ink)!important;text-rendering:geometricPrecision;font-kerning:normal}.hero h1 .orange{margin-left:.05em}.hero h1::before,.hero h1::after{width:min(46%,180px)}}
@media(max-width:360px){.hero h1{font-size:clamp(1.82rem,9.9vw,2.3rem)!important}.hero h1 .line1{letter-spacing:-.052em!important}.hero h1 .outline{letter-spacing:-.005em!important}}



/* v23 — robust responsive typography from 280px to 600px, including iOS Safari */
html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;max-width:100%;overflow-x:clip}body{max-width:100%;overflow-x:clip}.keep-word{display:inline-block;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
@media(max-width:600px){
  :root{--gutter:clamp(.9rem,4.6vw,1.35rem)}
  .hero-main{padding-left:var(--gutter)!important;padding-right:var(--gutter)!important}
  .hero h1{width:100%!important;max-width:100%!important;font-size:clamp(1.85rem,9.55vw,2.55rem)!important;line-height:.95!important;letter-spacing:0!important}
  .hero h1 .line1,.hero h1 .line2{display:block!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important}
  .hero h1 .line1{letter-spacing:-.042em!important}
  .hero h1 .line2{letter-spacing:0!important}
  .hero h1 .outline{font-family:var(--font-sans)!important;font-weight:600!important;letter-spacing:.045em!important;font-kerning:none!important;font-variant-ligatures:none!important;font-feature-settings:"kern" 0,"liga" 0!important;-webkit-text-stroke:.72px var(--ink)!important;paint-order:stroke fill;text-rendering:geometricPrecision}
  .hero h1 .orange{margin-left:.07em!important}
  .section-title-lockup .section-title{font-size:clamp(1.8rem,9.3vw,2.65rem)!important;line-height:.98!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .archi101-heading .section-title{font-size:clamp(1.55rem,7.7vw,2.18rem)!important;line-height:1!important;letter-spacing:-.035em!important}
  .archi101-heading .keep-word{letter-spacing:-.045em}
  .branded-section-head .section-title-lockup{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:clamp(.65rem,2.8vw,.95rem)!important;width:100%;max-width:100%}
  .section-mark-badge{width:clamp(48px,14vw,58px)!important;height:clamp(48px,14vw,58px)!important}
  .render-carousel-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:.55rem!important;width:100%!important;min-width:0}
  .render-carousel-tools{min-width:0;gap:4px!important}.render-carousel-tools button{width:clamp(28px,8.2vw,34px)!important;height:clamp(28px,8.2vw,34px)!important}.render-carousel-count{min-width:44px!important;font-size:.64rem!important}
  .voice-story h3,.vault-copy h2{overflow-wrap:normal;word-break:normal;hyphens:none}
}
@media(max-width:420px){
  nav{padding-left:clamp(.8rem,4vw,1.1rem)!important;padding-right:clamp(.8rem,4vw,1.1rem)!important;gap:.55rem!important}
  .brand{min-width:0;gap:.5rem!important}.brand img{width:clamp(44px,13vw,54px)!important;height:auto!important}.brand span{font-size:clamp(1.15rem,6.1vw,1.52rem)!important;white-space:nowrap}
  .mobile-wa{flex:none;padding:.52rem clamp(.55rem,2.8vw,.8rem)!important;gap:.35rem!important;font-size:clamp(.58rem,2.7vw,.7rem)!important;letter-spacing:.07em!important}.mobile-wa svg{width:1.12rem!important;height:1.12rem!important}
  .hamb{flex:none;width:36px!important}
  .eyebrow{max-width:100%;font-size:clamp(.56rem,2.8vw,.66rem)!important;letter-spacing:.12em!important}
  .hero-copy{max-width:100%!important}
  .archi101-heading .section-title{font-size:clamp(1.48rem,7.45vw,1.98rem)!important}
}
@media(max-width:340px){
  .mobile-wa span{display:none}.mobile-wa{width:38px!important;height:38px!important;padding:0!important;display:grid!important;place-items:center!important}
  .hero h1{font-size:clamp(1.72rem,9.35vw,1.98rem)!important}.hero h1 .line1{letter-spacing:-.047em!important}.hero h1 .outline{letter-spacing:.035em!important;-webkit-text-stroke:.65px var(--ink)!important}
  .section-title-lockup .section-title{font-size:clamp(1.65rem,8.9vw,1.9rem)!important}.archi101-heading .section-title{font-size:clamp(1.4rem,7.2vw,1.58rem)!important;letter-spacing:-.04em!important}
  .section-mark-badge{width:46px!important;height:46px!important}.render-carousel-top>span{max-width:11ch!important}.render-carousel-count{min-width:40px!important}.render-carousel-tools button{width:28px!important;height:28px!important}
}

/* v25 — clean outlined lettering, remotely controlled announcement and section bridge */
.hero h1 .line2{letter-spacing:0!important}
.hero h1 .outline{
  display:inline-block!important;
  color:transparent!important;
  -webkit-text-stroke:0 transparent!important;
  letter-spacing:0!important;
  font-kerning:none!important;
  font-variant-ligatures:none!important;
  font-feature-settings:"kern" 0,"liga" 0!important;
  filter:none!important;
  text-shadow:none!important;
  backface-visibility:hidden;
}
.outline-letters{
  display:inline-flex!important;
  align-items:baseline;
  column-gap:.11em;
  white-space:nowrap;
  letter-spacing:0!important;
  filter:none!important;
  transform:translateZ(0);
}
.outline-letters>span:not(.outline-gap){
  display:block;
  flex:0 0 auto;
  color:rgba(1,59,82,.035)!important;
  -webkit-text-stroke:.68px var(--ink)!important;
  paint-order:stroke fill;
  letter-spacing:0!important;
  font-family:var(--font-sans)!important;
  font-weight:500!important;
  font-kerning:none!important;
  font-variant-ligatures:none!important;
  filter:none!important;
  text-shadow:none!important;
}
.outline-letters>.outline-gap{display:block;flex:0 0 .28em;width:.28em}
.hero h1 .orange{margin-left:.06em}
.announcement-bar{
  position:relative;
  z-index:25;
  margin:0;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,#efc681 0%,#f2bd68 46%,#f4cb88 76%,#efc681 100%)!important;
  color:var(--blue)!important;
  border-top:1px solid rgba(1,59,82,.15);
  border-bottom:1px solid rgba(1,59,82,.22);
  box-shadow:0 7px 20px rgba(1,59,82,.07);
  white-space:nowrap;
}
.announcement-bar[hidden]{display:none!important}
.announcement-bar:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.2) 46%,transparent 54%);
  transform:translateX(-110%);
  animation:announcementSheen 9s ease-in-out infinite;
}
.announcement-bar .track{
  display:flex!important;
  align-items:center;
  width:max-content!important;
  min-width:max-content!important;
  height:43px;
  gap:0!important;
  will-change:transform;
  animation:archiloopTicker 32s linear infinite!important;
}
.announcement-bar:hover .track,.announcement-bar:focus-within .track{animation-play-state:running!important}
.announcement-item{
  display:inline-flex;
  align-items:center;
  gap:1rem;
  flex:0 0 auto;
  min-height:43px;
  padding:0 2rem;
  color:var(--blue);
  text-decoration:none;
  font-family:var(--font-sans);
  font-size:clamp(.69rem,.74vw,.82rem);
  font-weight:800;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.announcement-item:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.announcement-label{
  flex:0 0 auto;
  padding-right:1rem;
  border-right:1px solid rgba(1,59,82,.35);
  color:var(--blue)!important;
  font:inherit!important;
  font-size:.63rem!important;
  letter-spacing:.14em!important;
  opacity:.74;
}
.announcement-copy{color:var(--blue)!important;font:inherit!important;letter-spacing:inherit!important}
.announcement-arrow{
  width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--blue);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round
}
@keyframes announcementSheen{0%,70%{transform:translateX(-110%)}86%,100%{transform:translateX(110%)}}
.hero-project-bridge{
  position:relative;
  z-index:3;
  height:48px;
  background:var(--blue);
  color:var(--paper);
  border-top:1px solid rgba(247,168,63,.52);
  border-bottom:1px solid rgba(255,255,255,.12);
  overflow:hidden;
}
.hero-project-bridge:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.2) 80px)
}
.hero-project-bridge a{
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
  height:100%;
  padding:0 clamp(1rem,3.6vw,4.5rem);
  color:var(--paper);
  text-decoration:none;
  font-family:var(--font-sans);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.bridge-index{color:var(--orange)}
.bridge-title{white-space:nowrap}
.bridge-line{position:relative;display:block;flex:1;height:1px;background:rgba(242,239,232,.27);overflow:hidden}
.bridge-line i{position:absolute;inset:0 auto 0 0;width:24%;background:linear-gradient(90deg,var(--orange),#ffd58f);animation:bridgePulse 5s ease-in-out infinite}
.bridge-action{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap}
.bridge-action svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@keyframes bridgePulse{0%,100%{transform:translateX(-20%);opacity:.72}50%{transform:translateX(320%);opacity:1}}
@media(max-width:700px){
  .outline-letters{column-gap:.09em}
  .outline-letters>span:not(.outline-gap){-webkit-text-stroke:.56px var(--ink)!important;font-weight:500!important}
  .outline-letters>.outline-gap{flex-basis:.24em;width:.24em}
  .announcement-bar .track{height:39px}
  .announcement-item{min-height:39px;gap:.66rem;padding:0 1rem;font-size:.62rem;letter-spacing:.082em}
  .announcement-label{padding-right:.66rem;font-size:.54rem!important;letter-spacing:.1em!important}
  .announcement-arrow{width:14px;height:14px}
  .hero-project-bridge{height:42px}
  .hero-project-bridge a{gap:.65rem;padding:0 1rem;font-size:.58rem;letter-spacing:.105em}
  .bridge-index{display:none}
  .bridge-action{font-size:0;width:18px;gap:0}
  .bridge-action svg{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){
  .announcement-bar:after,.bridge-line i{animation:none!important}
  .announcement-bar .track{animation-duration:70s!important}
}

/* v27 — LOOP SIGNAL: solid typography, orbiting O and continuous energy flow */
.hero h1 .line2{display:block!important;width:auto!important;max-width:100%!important;line-height:.9!important;margin-top:.015em!important;letter-spacing:0!important;filter:none!important;white-space:nowrap!important}
.loop-title{position:relative;display:inline-flex;align-items:center;max-width:100%;padding:0 .025em .16em 0;font-family:var(--font-sans);font-size:1.08em;font-weight:650;line-height:.9;letter-spacing:-.018em;isolation:isolate;transform:scaleX(1.12);transform-origin:left center}
.loop-title__part{display:inline-block;color:var(--blue);background:linear-gradient(90deg,#10252e 0%,#10252e 38%,#00558b 46%,#F7A83F 50%,#00558b 54%,#10252e 62%,#10252e 100%);background-size:285% 100%;background-position:135% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:loopTitleFlow 4.8s linear infinite;filter:drop-shadow(0 8px 18px rgba(1,59,82,.05))}
.loop-title__part--lead{margin-right:.025em}.loop-title__part--tail{margin-left:.018em;animation-delay:-2.4s}
.loop-title__o{position:relative;display:inline-grid;place-items:center;width:.7em;height:.7em;flex:0 0 .7em;margin:.035em .018em 0 .01em;transform:translateY(-.005em)}
.loop-title__o svg{display:block;width:100%;height:100%;overflow:visible}
.loop-title__o-base,.loop-title__o-energy{fill:none;vector-effect:non-scaling-stroke}
.loop-title__o-base{stroke:rgba(16,37,46,.82);stroke-width:7px}
.loop-title__o-energy{stroke:url(#hero-loop-ring);stroke-width:8px;stroke-linecap:round;stroke-dasharray:.22 .78;animation:loopOrbit 2.65s linear infinite;filter:drop-shadow(0 0 4px rgba(247,168,63,.35))}
.loop-title__o-dot{fill:#F7A83F;transform-box:view-box;transform-origin:50px 50px;animation:loopDotOrbit 2.65s linear infinite;filter:drop-shadow(0 0 5px rgba(247,168,63,.55))}
.loop-title__bang{display:inline-block;margin-left:.055em;color:var(--orange);font-weight:750;animation:loopBang 2.65s ease-in-out infinite}
.loop-title__wave{position:absolute;z-index:-1;left:0;right:0;bottom:.015em;width:100%;height:.12em;min-height:5px;overflow:visible}
.loop-title__wave-base,.loop-title__wave-energy{fill:none;vector-effect:non-scaling-stroke}
.loop-title__wave-base{stroke:rgba(1,59,82,.24);stroke-width:2px}
.loop-title__wave-energy{stroke:url(#hero-loop-wave);stroke-width:3px;stroke-linecap:round;stroke-dasharray:.14 .86;animation:loopWave 3.4s linear infinite;filter:drop-shadow(0 0 3px rgba(0,85,139,.45))}
@keyframes loopTitleFlow{from{background-position:135% 50%}to{background-position:-35% 50%}}
@keyframes loopOrbit{to{stroke-dashoffset:-1}}
@keyframes loopDotOrbit{to{transform:rotate(360deg)}}
@keyframes loopWave{to{stroke-dashoffset:-1}}
@keyframes loopBang{0%,100%{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(-.035em)}}
@media(max-width:700px){.loop-title{font-size:.98em;letter-spacing:-.026em;transform:scaleX(1.06)}.loop-title__o{width:.68em;height:.68em;flex-basis:.68em}.loop-title__o-base{stroke-width:6px}.loop-title__o-energy{stroke-width:7px}.loop-title__wave{height:.1em}}
@media(max-width:340px){.loop-title{font-size:.92em;transform:scaleX(1.04)}.loop-title__bang{margin-left:.035em}}
@media(prefers-reduced-motion:reduce){.loop-title__part,.loop-title__o-energy,.loop-title__o-dot,.loop-title__bang,.loop-title__wave-energy{animation:none!important}.loop-title__part{background-position:50% 50%}}
