:root{
  --red:#ef252d;
  --red2:#ff3940;
  --black:#080808;
  --panel:#101010;
  --panel2:#151515;
  --white:#f7f7f5;
  --muted:#aaa;
  --line:rgba(255,255,255,.14);
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--red);color:#fff}
.skip-link{position:fixed;left:12px;top:-100px;z-index:1000;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}
.container-wide{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.section-pad{padding:120px 0}
.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--red);margin:0 0 22px}
.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.js .reveal:not(.is-visible):not(.in){opacity:0;transform:translateY(32px)}
.reveal.in{opacity:1;transform:none}
.reveal.is-visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}

.site-header{position:fixed;z-index:100;left:0;right:0;top:0;transition:background .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(7,7,7,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}
.nav-shell{width:min(var(--max),calc(100% - 72px));height:92px;margin-inline:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}
.brand img{width:205px;height:auto}.desktop-nav{justify-self:center;display:flex;gap:38px}.desktop-nav a{font-size:13px;color:#ddd;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:2px;background:var(--red);transition:.25s}.desktop-nav a:hover:after{width:100%}
.nav-actions{display:flex;gap:10px}.nav-actions a{height:48px;padding:0 18px;border-radius:7px;display:grid;place-items:center;font-size:13px;font-weight:800;transition:.25s}.nav-call{background:var(--red)}.nav-call:hover{background:var(--red2);transform:translateY(-1px)}.nav-text{border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.22)}.nav-text:hover{background:rgba(255,255,255,.08)}
.menu-toggle,.mobile-menu{display:none}

.hero{min-height:100svh;position:relative;display:grid;align-items:end;overflow:hidden;background:#0a0a0a}.hero-media{position:absolute;inset:0;background-image:url('assets/hero-vancouver-v2.jpg');background-size:cover;background-position:center 42%;transform:scale(1.025);animation:heroZoom 16s ease-out both}@keyframes heroZoom{from{transform:scale(1.085)}to{transform:scale(1.025)}}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.65) 40%,rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 45%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .35fr;align-items:end;padding-bottom:104px;gap:70px}.hero-copy{max-width:850px}.kicker{color:#ddd}.kicker b{color:var(--red);margin:0 4px}.hero h1{font-size:clamp(68px,8.4vw,148px);font-weight:950;letter-spacing:-.07em;line-height:.78;margin:0;text-transform:uppercase}.hero h1 span{color:var(--red)}.hero-lead{max-width:610px;font-size:clamp(18px,2vw,28px);line-height:1.32;color:#f0f0ee;margin:30px 0 34px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:62px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:0 22px;border:1px solid transparent;transition:.25s;cursor:pointer}.button strong,.button small{display:block}.button strong{font-size:15px}.button small{font-size:10px;margin-top:2px;color:rgba(255,255,255,.72)}.button-icon{font-size:20px}.button-red{background:var(--red);color:#fff}.button-red:hover{background:var(--red2);transform:translateY(-2px)}.button-glass{background:rgba(5,5,5,.35);border-color:rgba(255,255,255,.55);backdrop-filter:blur(8px)}.button-glass:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.hero-note{justify-self:end;text-align:right;padding-bottom:20px}.hero-note .hairline{display:block;width:90px;height:1px;background:var(--red);margin:0 0 15px auto}.hero-note p{font-size:10px;letter-spacing:.18em;margin:0 0 10px;color:#ddd}.hero-note strong{font-size:24px;line-height:1.05;font-style:italic;font-weight:600}.scroll-cue{position:absolute;z-index:3;right:36px;bottom:28px;display:flex;align-items:center;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;transform:rotate(90deg);transform-origin:right bottom}.scroll-cue i{display:block;width:42px;height:1px;background:#fff}

.ticker{overflow:hidden;background:var(--red);white-space:nowrap;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(0,0,0,.25)}.ticker-track{display:inline-flex;align-items:center;gap:28px;min-width:max-content;padding:18px 0;animation:ticker 30s linear infinite;font-size:12px;font-weight:900;letter-spacing:.2em}.ticker-track b{opacity:.55}@keyframes ticker{to{transform:translateX(-50%)}}

.section-dark{background:#0b0b0b}.section-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:100px;margin-bottom:60px}.section-intro h2,.work-head h2{font-size:clamp(50px,6vw,96px);line-height:.9;letter-spacing:-.055em;margin:0}.section-intro>p{font-size:18px;line-height:1.6;color:#aaa;max-width:570px;margin:0 0 7px}.service-showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.service-card{height:520px;position:relative;overflow:hidden;background:#151515;isolation:isolate}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.92) contrast(1.04)}.service-card .card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 30%,rgba(0,0,0,.9) 100%),linear-gradient(90deg,rgba(0,0,0,.32),transparent);z-index:1}.card-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.card-copy>span{font-size:10px;color:#ddd;letter-spacing:.15em}.card-copy h3{font-size:26px;line-height:1;margin:8px 0 10px;letter-spacing:-.03em}.card-copy p{margin:0;color:#ddd;font-size:13px;line-height:1.45}.service-card>a{position:absolute;z-index:3;right:18px;top:18px;width:39px;height:39px;border-radius:50%;border:1px solid rgba(255,255,255,.65);display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:.25s}.service-card:hover img{transform:scale(1.06);filter:saturate(1.05) contrast(1.08)}.service-card:hover>a{opacity:1;transform:none}.service-card:hover .card-copy h3{color:#fff}

.statement{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;background:#0e0e0e}.statement-image{background:url('https://images.unsplash.com/photo-1757356664215-4302d5b4a92d?auto=format&fit=crop&w=2600&q=90') center/cover no-repeat;min-height:720px}.statement-copy{padding:110px clamp(40px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.statement-copy h2{font-size:clamp(54px,6vw,92px);line-height:.88;letter-spacing:-.06em;margin:0 0 36px}.statement-copy h2 span{color:var(--red)}.statement-lead{font-size:20px!important;color:#f0f0ee!important}.statement-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;color:#aaa;max-width:620px}.text-arrow{margin-top:30px;display:flex;align-items:center;gap:22px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.text-arrow span{color:var(--red);font-size:22px;transition:.25s}.text-arrow:hover span{transform:translateX(6px)}

.proof-band{display:grid;grid-template-columns:repeat(4,1fr);background:#090909;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 36px}.proof-item{min-height:130px;padding:28px 26px;display:flex;align-items:center;gap:18px}.proof-item+.proof-item{border-left:1px solid var(--line)}.proof-item>span{width:54px;min-width:54px;height:54px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900}.proof-item strong,.proof-item small{display:block}.proof-item strong{font-size:14px}.proof-item small{font-size:11px;color:#888;margin-top:5px}

.work-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.work-head a{font-size:13px;color:#ddd}.work-head a span{color:var(--red);margin-left:12px}.project-grid{display:grid;grid-template-columns:1.15fr .85fr 1.15fr .85fr;gap:10px}.project{position:relative;height:460px;margin:0;overflow:hidden;background:#161616}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.8))}.project figcaption{position:absolute;z-index:2;left:22px;bottom:20px}.project figcaption span,.project figcaption strong{display:block}.project figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin-bottom:5px}.project figcaption strong{font-size:16px}.project:hover img{transform:scale(1.05)}

.contact{position:relative;overflow:hidden;background:#0a0a0a;padding:130px 0}.contact-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.86) 46%,rgba(0,0,0,.62) 100%),url('assets/hero-vancouver-v2.jpg') center 45%/cover no-repeat;opacity:.95}.contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:120px;align-items:start}.contact-copy h2{font-size:clamp(72px,8vw,126px);line-height:.78;letter-spacing:-.07em;margin:0 0 30px;text-transform:uppercase}.contact-copy>p:not(.eyebrow){color:#bbb;max-width:480px;font-size:17px;line-height:1.6}.contact-direct{display:grid;gap:18px;margin-top:42px}.contact-direct a{display:block;border-top:1px solid rgba(255,255,255,.18);padding-top:14px;max-width:460px}.contact-direct small,.contact-direct strong{display:block}.contact-direct small{font-size:9px;letter-spacing:.17em;color:#777}.contact-direct strong{font-size:16px;margin-top:6px}
.quote-form{background:rgba(16,16,16,.86);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);padding:38px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{display:grid;gap:8px;margin-bottom:16px}.quote-form label>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#aaa;font-weight:800}.quote-form input,.quote-form textarea,.quote-form select{width:100%;background:#0c0c0c;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:0;padding:14px 14px;outline:0}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--red)}.quote-form textarea{resize:vertical}.form-button{width:100%;justify-content:space-between;margin-top:6px;border:0}.form-button span{font-size:20px}.hp{position:absolute!important;left:-9999px!important}

.site-footer{background:#050505;border-top:1px solid rgba(255,255,255,.1);padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:70px}.footer-brand img{width:220px}.footer-brand p{max-width:430px;color:#777;font-size:13px;line-height:1.6}.footer-grid>div:not(.footer-brand){padding-top:8px}.footer-grid small{display:block;color:#666;font-size:9px;letter-spacing:.17em;margin-bottom:17px}.footer-grid a,.footer-grid span{display:block;color:#aaa;font-size:13px;margin:8px 0}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:60px;padding-top:22px;display:flex;justify-content:space-between;color:#555;font-size:11px}.footer-bottom a{color:#777}.mobile-cta{display:none}

@media(max-width:1200px){
  .desktop-nav{gap:20px}.nav-actions .nav-text{display:none}
  .service-showcase{grid-template-columns:repeat(3,1fr)}.service-card{height:460px}.service-card:nth-child(4),.service-card:nth-child(5){height:420px}
  .project-grid{grid-template-columns:1fr 1fr}.project{height:430px}
  .contact-grid{gap:70px}
}
@media(max-width:900px){
  .container-wide,.nav-shell{width:min(100% - 34px,var(--max))}.nav-shell{height:78px;grid-template-columns:auto 1fr auto}.brand img{width:180px}.desktop-nav,.nav-actions{display:none}.menu-toggle{display:block;justify-self:end;width:42px;height:42px;border:0;background:transparent;position:relative;z-index:110}.menu-toggle i{position:absolute;left:7px;right:7px;height:2px;background:#fff;transition:.25s}.menu-toggle i:first-child{top:15px}.menu-toggle i:last-child{top:25px}.menu-toggle[aria-expanded="true"] i:first-child{top:20px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{top:20px;transform:rotate(-45deg)}
  .mobile-menu{display:flex;position:fixed;z-index:105;inset:0;background:#080808;transform:translateY(-100%);transition:.45s cubic-bezier(.2,.8,.2,1);padding:110px 26px 34px;flex-direction:column;gap:0}.mobile-menu.open{transform:none}.mobile-menu>a{font-size:34px;font-weight:850;letter-spacing:-.03em;padding:14px 0;border-bottom:1px solid #222}.mobile-menu .mobile-action{font-size:15px;text-align:center;border:1px solid #444;margin-top:18px;padding:16px}.mobile-menu .mobile-action.red{background:var(--red);border-color:var(--red);margin-top:auto}
  .hero-grid{grid-template-columns:1fr;padding-bottom:105px}.hero-note{display:none}.hero-vignette{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.32)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 55%)}.hero h1{font-size:clamp(58px,13vw,105px)}.scroll-cue{display:none}
  .section-pad{padding:86px 0}.section-intro{grid-template-columns:1fr;gap:26px}.section-intro>p{max-width:700px}.service-showcase{grid-template-columns:1fr 1fr}.service-card{height:430px}.service-card:nth-child(5){grid-column:1/-1;height:380px}
  .statement{grid-template-columns:1fr}.statement-image{min-height:520px}.statement-copy{padding:80px 34px}.proof-band{grid-template-columns:1fr 1fr;padding:0}.proof-item:nth-child(3){border-left:0;border-top:1px solid var(--line)}.proof-item:nth-child(4){border-top:1px solid var(--line)}
  .contact{padding:90px 0}.contact-grid{grid-template-columns:1fr;gap:55px}.contact-copy h2{font-size:clamp(66px,14vw,110px)}
  .footer-grid{grid-template-columns:1.6fr 1fr 1fr}.footer-grid>div:last-child{display:none}
}
@media(max-width:620px){
  body{padding-bottom:64px}.container-wide,.nav-shell{width:calc(100% - 28px)}.nav-shell{height:72px}.brand img{width:165px}
  .hero{min-height:780px}.hero-media{background-position:60% center}.hero-vignette{background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.62) 70%,rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.8),transparent 60%)}.hero-grid{padding-bottom:72px}.kicker{font-size:9px;letter-spacing:.12em}.hero h1{font-size:clamp(54px,18vw,78px);line-height:.82}.hero-lead{font-size:17px;margin:22px 0 25px;max-width:360px}.hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button{min-height:58px;padding:0 14px}.button strong{font-size:13px}.button small{font-size:8px}.button-icon{display:none}
  .ticker-track{padding:15px 0;font-size:10px;gap:20px}.section-pad{padding:72px 0}.section-intro h2,.work-head h2{font-size:51px}.section-intro>p{font-size:15px}.service-showcase{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){height:430px;grid-column:auto}.service-card>a{opacity:1;transform:none}.card-copy h3{font-size:28px}
  .statement-image{min-height:420px}.statement-copy{padding:70px 20px}.statement-copy h2{font-size:54px}.statement-lead{font-size:18px!important}.proof-band{grid-template-columns:1fr}.proof-item+.proof-item{border-left:0;border-top:1px solid var(--line)}.proof-item{min-height:105px;padding:22px 20px}
  .work-head{align-items:flex-start}.work-head>a{display:none}.project-grid{grid-template-columns:1fr}.project{height:370px}.contact{padding:74px 0}.contact-grid{gap:42px}.contact-copy h2{font-size:64px}.contact-copy>p:not(.eyebrow){font-size:15px}.field-row{grid-template-columns:1fr}.quote-form{padding:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-brand{grid-column:1/-1}.footer-bottom{display:grid;gap:8px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:90;left:0;right:0;bottom:0;height:64px;background:#090909;border-top:1px solid #2a2a2a}.mobile-cta a{display:grid;place-items:center;font-weight:900;font-size:14px}.mobile-cta a:first-child{background:var(--red)}.mobile-cta a+ a{border-left:1px solid #333}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-media,.ticker-track,.service-card img,.project img{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.service-card:nth-child(4) img{object-position:center 35%}

/* Mobile-first polish — desktop/tablet above remains unchanged */
@media(max-width:620px){
  html{scroll-padding-top:72px}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom));}
  .container-wide,.nav-shell{width:calc(100% - 32px)}

  .site-header{background:linear-gradient(180deg,rgba(5,5,5,.92),rgba(5,5,5,.55) 72%,transparent);}
  .site-header.scrolled{background:rgba(7,7,7,.94)}
  .nav-shell{height:70px}
  .brand img{width:152px}
  .menu-toggle{width:40px;height:40px;margin-right:-5px}

  .mobile-menu{padding:94px 20px calc(24px + env(safe-area-inset-bottom));}
  .mobile-menu>a{font-size:30px;padding:13px 2px}
  .mobile-menu .mobile-action{border-radius:7px;margin-top:12px;padding:15px}

  .hero{min-height:100svh;max-height:none;align-items:end}
  .hero-media{background-position:61% center;transform:none;animation:none}
  .hero-vignette{background:
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.24) 30%,rgba(0,0,0,.77) 67%,rgba(0,0,0,.96) 100%),
    linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.18) 86%)}
  .hero-grid{padding-top:128px;padding-bottom:92px;align-self:end}
  .hero-copy{max-width:none}
  .kicker{font-size:9px;line-height:1.5;letter-spacing:.11em;margin-bottom:14px;max-width:340px}
  .kicker b{margin:0 2px}
  .hero h1{font-size:clamp(54px,15.7vw,64px);line-height:.84;letter-spacing:-.06em;max-width:360px}
  .hero-lead{font-size:16px;line-height:1.42;margin:18px 0 22px;max-width:325px;color:#e8e8e5}
  .hero-buttons{grid-template-columns:1fr;gap:9px;max-width:350px}
  .hero-buttons .button{min-height:54px;width:100%;justify-content:flex-start;padding:0 17px}
  .hero-buttons .button-icon{display:grid;width:25px;font-size:17px}
  .hero-buttons .button strong{font-size:14px}
  .hero-buttons .button small{font-size:9px}
  .ticker-track{padding:12px 0;font-size:9px;gap:17px;letter-spacing:.16em}

  .section-pad{padding:62px 0}
  .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:14px}
  .section-intro{gap:19px;margin-bottom:31px}
  .section-intro h2,.work-head h2{font-size:clamp(39px,11.5vw,46px);line-height:.94;letter-spacing:-.045em}
  .section-intro>p{font-size:14px;line-height:1.6;color:#aaa}

  .service-showcase{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 16px 8px 0;margin-right:-16px;scrollbar-width:none}
  .service-showcase::-webkit-scrollbar{display:none}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){flex:0 0 min(82vw,330px);height:385px;grid-column:auto;scroll-snap-align:start;border-radius:10px}
  .service-card .card-shade{background:linear-gradient(180deg,rgba(0,0,0,.04) 30%,rgba(0,0,0,.92) 100%)}
  .card-copy{left:20px;right:20px;bottom:19px}
  .card-copy h3{font-size:25px;margin:7px 0 8px}
  .card-copy p{font-size:12px;max-width:260px}
  .service-card>a{width:38px;height:38px;right:14px;top:14px;background:rgba(0,0,0,.2);backdrop-filter:blur(4px)}

  .statement{min-height:0}
  .statement-copy{padding:62px 16px 54px}
  .statement-copy h2{font-size:clamp(46px,13vw,56px);line-height:.91;margin-bottom:25px}
  .statement-lead{font-size:17px!important;line-height:1.5!important}
  .statement-copy>p:not(.eyebrow){font-size:14px;line-height:1.65}
  .text-arrow{margin-top:22px;font-size:11px}
  .statement-image{min-height:330px;background-position:center 48%}

  .proof-band{grid-template-columns:1fr 1fr;padding:0}
  .proof-item,.proof-item+.proof-item{min-height:118px;padding:18px 15px;border-left:0;border-top:0;gap:11px}
  .proof-item:nth-child(even){border-left:1px solid var(--line)}
  .proof-item:nth-child(n+3){border-top:1px solid var(--line)}
  .proof-item>span{width:40px;min-width:40px;height:40px;font-size:10px}
  .proof-item strong{font-size:12px;line-height:1.25}
  .proof-item small{font-size:9px;line-height:1.35;margin-top:4px}

  .work-head{margin-bottom:28px}
  .project-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 16px 8px 0;margin-right:-16px;scrollbar-width:none}
  .project-grid::-webkit-scrollbar{display:none}
  .project{flex:0 0 min(83vw,335px);height:335px;scroll-snap-align:start;border-radius:10px}
  .project figcaption{left:18px;bottom:17px}
  .project figcaption strong{font-size:14px}

  .contact{padding:62px 0 66px}
  .contact-bg{background:linear-gradient(180deg,rgba(0,0,0,.91),rgba(0,0,0,.97)),url('assets/hero-vancouver-v2.jpg') 61% center/cover no-repeat}
  .contact-grid{gap:34px}
  .contact-copy h2{font-size:clamp(50px,15vw,60px);line-height:.85;letter-spacing:-.055em;margin-bottom:20px}
  .contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.55}
  .contact-direct{gap:12px;margin-top:27px}
  .contact-direct a{padding-top:11px}
  .contact-direct strong{font-size:14px;overflow-wrap:anywhere}
  .quote-form{padding:19px;border-radius:9px;background:rgba(12,12,12,.93)}
  .quote-form label{margin-bottom:13px}
  .quote-form input,.quote-form textarea,.quote-form select{min-height:48px;padding:12px 12px;font-size:16px;border-radius:5px}
  .quote-form textarea{min-height:120px}
  .form-button{min-height:52px}

  .site-footer{padding:50px 0 22px}
  .footer-grid{grid-template-columns:1fr;gap:25px}
  .footer-brand{grid-column:auto}
  .footer-brand img{width:178px}
  .footer-brand p{font-size:12px}
  .footer-grid>div:last-child{display:block}
  .footer-grid small{margin-bottom:11px}
  .footer-grid a,.footer-grid span{font-size:12px;margin:6px 0}
  .footer-bottom{margin-top:34px;padding-top:16px;font-size:10px}

  .mobile-cta{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(8,8,8,.97);backdrop-filter:blur(12px)}
  .mobile-cta a{font-size:13px;letter-spacing:.02em}
}

@media(max-width:380px){
  .hero-grid{padding-bottom:82px}
  .hero h1{font-size:52px}
  .hero-lead{font-size:15px}
  .section-intro h2,.work-head h2{font-size:38px}
  .service-card,.service-card:nth-child(4),.service-card:nth-child(5){flex-basis:84vw;height:365px}
  .proof-item{padding:16px 12px}
  .proof-item>span{display:none}
  .statement-copy h2{font-size:45px}
  .contact-copy h2{font-size:49px}
}
