/* ============================================================
   BTS FREIGHT v13.1 — Editorial Luxury, Two-Tone
   Dark hero/stats/cases + warm cream content sections
   Playfair Display (serif) + Inter (sans)
   ============================================================ */

/* === FONTS ================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/Inter-300.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/Inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Inter-600.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/PlayfairDisplay-400.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/PlayfairDisplay-400i.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/PlayfairDisplay-500.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url('/assets/fonts/PlayfairDisplay-500i.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/PlayfairDisplay-600.woff2') format('woff2')}

/* === TOKENS ================================================= */
:root {
  /* Dark palette (hero, footer) — true neutral, near-black */
  --dark:       #0A0A0B;
  --dark-2:     #161617;
  --dark-3:     #1D1D1F;
  --ink:        #F5F5F7;
  --ink-2:      #A1A1A6;
  --ink-dim:    #86868B;
  --border-d:   rgba(255,255,255,.10);
  --border-dm:  rgba(255,255,255,.18);

  /* Light palette — cool Apple neutrals (was warm cream) */
  --cream:      #FFFFFF;
  --cream-2:    #F5F5F7;
  --cream-3:    #EBEBEF;
  --stone:      #1D1D1F;
  --stone-2:    #515154;
  --stone-3:    #86868B;
  --border-l:   #E8E8ED;
  --border-lm:  #D2D2D7;
  --border-mid: #E8E8ED;

  /* Accent */
  --red:        #E11D14;
  --red-h:      #C8201A;

  /* Type — single clean sans (Inter). No serif. */
  --serif:      'Inter', system-ui, sans-serif;
  --sans:       'Inter', system-ui, sans-serif;

  /* Shape + depth — 2026 soft UI */
  --radius-sm:  12px;
  --radius:     20px;
  --radius-lg:  32px;
  --radius-pill:980px;
  --shadow-sm:  0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.04);
  --shadow:     0 2px 8px rgba(0,0,0,.04), 0 12px 40px rgba(0,0,0,.07);
  --shadow-lg:  0 8px 24px rgba(0,0,0,.08), 0 24px 64px rgba(0,0,0,.12);

  /* Scale */
  --step--1: clamp(.8rem,1.8vw,.875rem);
  --step-0:  clamp(.9375rem,2vw,1rem);
  --step-1:  clamp(1.1rem,2.4vw,1.25rem);
  --step-2:  clamp(1.3rem,3vw,1.625rem);
  --step-3:  clamp(1.6rem,3.8vw,2.2rem);
  --step-4:  clamp(2rem,5vw,3rem);
  --step-5:  clamp(2.6rem,6.5vw,4.25rem);
  --step-6:  clamp(3.4rem,8.5vw,6.25rem);
  --step-7:  clamp(4.5rem,12vw,9rem);
  --gutter:  clamp(1.25rem,5vw,4rem);
  --max:     1280px;
  --ease:    cubic-bezier(.25,.46,.45,.94);
  --ease-o:  cubic-bezier(.2,0,0,1);
}

/* === RESET ================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);font-size:var(--step-0);font-weight:400;line-height:1.65;color:var(--stone);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-weight:inherit;line-height:1.06;letter-spacing:-.025em}
::selection{background:var(--red);color:#fff}

/* === FOCUS ================================================== */
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* === SKIP LINK ============================================== */
.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;background:var(--red);color:#fff;padding:.5rem 1rem;font-size:var(--step--1);font-weight:600;border-radius:2px;transition:top .2s}
.skip-link:focus{top:1rem}

/* === LAYOUT ================================================= */
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:780px}
.container--wide{max-width:1440px}

/* === DARK SURFACE CONTEXT =================================== */
/* Any element inside .on-dark gets the dark palette colors */
.on-dark{background:var(--dark);color:var(--ink)}
.on-dark .eyebrow{color:var(--ink-dim)}
.on-dark .section-head h2{color:var(--ink)}
.on-dark .section-head p{color:var(--ink-2)}

/* === TYPOGRAPHY ============================================= */
/* Eyebrow — refined small label, no aggressive uppercase trope */
.eyebrow{display:inline-block;font-size:var(--step--1);font-weight:600;letter-spacing:0;text-transform:none;color:var(--red)}

/* === BUTTONS — pill, soft, modern ========================== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.6rem;font-size:var(--step-0);font-weight:500;letter-spacing:-.01em;text-transform:none;border:1px solid var(--border-lm);border-radius:var(--radius-pill);color:var(--stone);background:transparent;white-space:nowrap;transition:background .25s var(--ease),border-color .25s,color .25s,transform .15s,box-shadow .25s}
.btn:hover{background:var(--cream-2);border-color:transparent}
.btn:active{transform:scale(.97)}
.btn--accent{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 4px 16px rgba(225,29,20,.25);position:relative;overflow:hidden}
.btn--accent:hover{background:var(--red-h);border-color:var(--red-h);box-shadow:0 6px 22px rgba(225,29,20,.32)}
.btn--accent::after{content:'';position:absolute;top:-50%;left:0;width:45%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-220%) rotate(18deg);animation:btnshine 5s ease-in-out infinite;pointer-events:none}
.btn--accent > *{position:relative;z-index:1}
@keyframes btnshine{0%{transform:translateX(-220%) rotate(18deg)}20%,100%{transform:translateX(420%) rotate(18deg)}}
.btn--ghost-d{background:transparent;border-color:var(--border-dm);color:var(--ink)}
.btn--ghost-d:hover{background:rgba(255,255,255,.1);border-color:var(--border-dm)}
.btn__arrow{font-size:1.05em;transition:transform .2s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}

/* === NAV — solid white bar always (matches pro freight refs; logo always legible) === */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid var(--border-l);transition:box-shadow .35s var(--ease)}
.nav__links a{color:var(--stone-2)}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--stone)}
.nav__phone{color:var(--stone-3)}
.nav__phone:hover{color:var(--stone)}
.nav.is-scrolled{box-shadow:0 1px 16px rgba(0,0,0,.08)}
.nav__row{display:flex;align-items:center;gap:2rem;height:72px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand__logo{height:36px;width:auto}
.nav__links{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.75rem);flex:1;margin-left:1rem}
.nav__links a{font-size:var(--step--1);font-weight:500;letter-spacing:.02em;transition:color .2s}
.nav__actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
.nav__phone{font-size:var(--step--1);font-weight:500;letter-spacing:.02em;transition:color .2s}

/* Menu toggle */
.menu-toggle{display:none;align-items:center;gap:.5rem;font-size:var(--step--1);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-2);transition:color .2s}
.menu-toggle:hover{color:var(--stone)}
.menu-toggle__dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--red);animation:redpulse 2.6s ease-in-out infinite}
@keyframes redpulse{0%,100%{opacity:1}50%{opacity:.35}}

/* Mobile panel */
.menu-panel{position:fixed;inset:0;background:var(--dark);z-index:99;display:flex;flex-direction:column;padding:5rem var(--gutter) 3rem;gap:.1rem;transform:translateX(100%);transition:transform .42s var(--ease-o);overflow-y:auto}
.menu-panel.is-open{transform:none}
.menu-panel a{display:flex;align-items:baseline;justify-content:space-between;padding:1rem 0;font-size:var(--step-3);font-family:var(--serif);font-weight:500;border-bottom:1px solid var(--border-d);color:var(--ink);transition:color .2s}
.menu-panel a small{font-family:var(--sans);font-size:var(--step--1);color:var(--ink-dim);font-weight:400}
.menu-panel a:hover{color:var(--red)}
.menu-panel__phones{display:flex;flex-direction:column;gap:.35rem;margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--border-d)}
.menu-panel__phones a{font-family:var(--sans);font-size:var(--step-1);font-weight:500;border:none;padding:.25rem 0;color:var(--ink-dim)}
.menu-panel__phones a:hover{color:var(--ink)}
.menu-panel__cta{margin-top:1.75rem;align-self:flex-start;font-family:var(--sans) !important;font-size:var(--step--1) !important;border:none !important;padding:.85rem 1.75rem !important}
.menu-close{position:absolute;top:1.5rem;right:var(--gutter);width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;line-height:1;color:var(--ink-dim);border-radius:50%;transition:background .2s,color .2s}
.menu-close:hover{background:var(--dark-3);color:var(--ink)}

/* === HERO =================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(3rem,7vw,5.5rem);overflow:hidden;background:var(--dark)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(9,9,11,.82) 0%,rgba(9,9,11,.6) 38%,rgba(9,9,11,.25) 72%,rgba(9,9,11,.05) 100%),linear-gradient(to bottom,rgba(9,9,11,.35) 0%,rgba(9,9,11,0) 35%,rgba(9,9,11,.45) 100%);pointer-events:none}
.hero__bg{position:absolute;inset:0;overflow:hidden}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:center 28%;animation:kenburns 30s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{0%{transform:scale(1.06) translate(0,0)}100%{transform:scale(1.2) translate(-2.5%,-1.5%)}}
.hero__body{position:relative;z-index:2;padding-top:9rem}
.hero__pre{display:flex;align-items:center;gap:.875rem;margin-bottom:1.5rem}
.hero__pre-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--red);animation:redpulse 2.4s ease-in-out infinite}
.hero__eyebrow{font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,237,231,.5)}
.hero__title{font-family:var(--serif);font-size:var(--step-6);font-weight:500;line-height:1.0;letter-spacing:-.01em;margin-bottom:1.75rem;max-width:14ch;color:var(--ink)}
.hero__title em{font-style:italic;color:rgba(240,237,231,.45)}
.hero__lede{font-size:var(--step-1);color:rgba(240,237,231,.65);line-height:1.7;max-width:50ch;margin-bottom:2.25rem}
.hero__cta-row{display:flex;flex-wrap:wrap;gap:.875rem;margin-bottom:3.5rem}
.hero__stats{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(240,237,231,.15);padding-top:1.75rem}
.hero__stat{padding-right:2.25rem;border-right:1px solid rgba(240,237,231,.12);margin-right:2.25rem}
.hero__stat:last-child{border-right:none;padding-right:0;margin-right:0}
.hero__stat b{display:block;font-family:var(--serif);font-size:var(--step-3);font-weight:500;line-height:1.1;color:var(--ink);margin-bottom:.2rem}
.hero__stat span{font-size:var(--step--1);color:var(--ink-2);letter-spacing:.03em;line-height:1.3}
.hero__scroll{position:absolute;bottom:2rem;right:var(--gutter);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.625rem;font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);writing-mode:vertical-rl}
.hero__scroll::before{content:'';display:block;width:1px;height:48px;background:linear-gradient(to bottom,transparent,var(--ink-dim));animation:scrollbar 2.2s ease-in-out infinite}
@keyframes scrollbar{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* === LOGO WALL ============================================== */
.logo-wall{overflow:hidden;border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);background:#fff;padding:1.25rem 0}
.logo-wall__track{display:flex;align-items:center;width:max-content;animation:marquee 40s linear infinite}
/* ticker runs continuously — no pause on hover */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-wall__cell{display:flex;align-items:center;justify-content:center;padding:0 2.5rem;border-right:1px solid var(--border-l);height:46px;flex-shrink:0}
.logo-wall__cell:last-child{border-right:none}
.logo-wall__cell img{height:22px;width:auto;object-fit:contain;filter:brightness(0);opacity:.4;transition:opacity .25s}
.logo-wall__cell:hover img{opacity:.8}
.logo-wall__name{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-3);white-space:nowrap;transition:color .2s}
.logo-wall__cell:hover .logo-wall__name{color:var(--stone)}

/* === PROOF IN NUMBERS — dark, dramatic ====================== */
.proof{background:var(--cream);color:var(--stone)}
.proof__grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--border-d)}
.proof__cell{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,3vw,3rem);border-right:1px solid var(--border-d);border-top:1px solid var(--border-d);border-bottom:1px solid var(--border-d);transition:background .25s}
.proof__cell:hover{background:var(--dark-2)}
.proof__num{display:block;font-family:var(--serif);font-size:var(--step-7);font-weight:400;line-height:.88;letter-spacing:-.03em;color:var(--ink);margin-bottom:1.25rem;transition:color .3s}
.proof__cell:hover .proof__num{color:var(--red)}
.proof__label{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);line-height:1.5}

/* === SERVICE ROWS — light, readable ========================= */
.service-rows-section{background:#fff}
.service-rows{width:100%}
.service-row{display:grid;grid-template-columns:3.5rem 1fr 44px;align-items:start;gap:1.5rem;padding:2rem 0;border-top:1px solid var(--border-l);position:relative;transition:background .25s}
.service-row:last-child{border-bottom:1px solid var(--border-l)}
.service-row:hover{background:var(--cream)}
/* bg div stays absolutely positioned — doesn't affect grid */
.service-row__bg{position:absolute;inset:0;background:center/cover no-repeat;background-image:var(--img,none);opacity:0;pointer-events:none}
.service-row__num{position:relative;z-index:1;font-size:var(--step--1);font-weight:600;letter-spacing:.08em;color:var(--stone-3);font-variant-numeric:tabular-nums;padding-top:.35rem;transition:color .2s}
.service-row:hover .service-row__num{color:var(--red)}
.service-row__body{position:relative;z-index:1}
.service-row__title{display:block;font-family:var(--serif);font-size:var(--step-4);font-weight:500;line-height:1.05;color:var(--stone);margin-bottom:.5rem;transition:color .2s}
.service-row:hover .service-row__title{color:var(--red)}
.service-row__desc{display:block;font-size:var(--step-0);color:var(--stone-2);line-height:1.65}
.service-row__arrow{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1.5px solid var(--border-lm);border-radius:50%;color:var(--stone-3);font-size:1.1rem;flex-shrink:0;margin-top:.15rem;transition:background .25s,border-color .25s,color .25s,transform .25s}
.service-row:hover .service-row__arrow{background:var(--red);border-color:var(--red);color:#fff;transform:translateX(4px)}

/* === SECTION ================================================ */
.section{padding-block:clamp(4rem,8vw,7rem)}
.section--cream,.section--cream-2,.section--white,
.manifesto,.page-hero,.nygff,.always-on,.proof,.featured-case,
.contact-section,.faqs-section,.section,.footer{
  --ink:var(--stone);--ink-2:var(--stone-2);--ink-dim:#6E6E73;
  --border-d:var(--border-l);--border-dm:var(--border-lm);--dark:var(--cream);--dark-2:var(--cream-2);--border-mid:var(--border-l);
}
/* Re-assert dark palette where it must stay dark */
.hero,.on-dark,.section--dark{
  --ink:#F5F5F7;--ink-2:#A1A1A6;--ink-dim:#86868B;
  --border-d:rgba(255,255,255,.10);--border-dm:rgba(255,255,255,.18);--border-mid:rgba(255,255,255,.18);
}
.section--cream{background:var(--cream);color:var(--stone)}
.section--cream-2{background:var(--cream-2);color:var(--stone)}
.section--white{background:#fff;color:var(--stone)}
.section--cream .btn,.section--cream-2 .btn,.section--white .btn{color:var(--stone);border-color:var(--border-lm)}
.section--cream .btn:hover,.section--cream-2 .btn:hover,.section--white .btn:hover{background:var(--cream-2);border-color:var(--border-lm)}
.section--cream .section-head h2,.section--cream-2 .section-head h2,.section--white .section-head h2{color:var(--stone)}
.section--cream .section-head>p,.section--cream-2 .section-head>p,.section--white .section-head>p{color:var(--stone-2)}
.section--cream .eyebrow,.section--cream-2 .eyebrow,.section--white .eyebrow{color:var(--stone-3)}
.section--dark{background:var(--dark);color:var(--ink)}
.section--dark .section-head .eyebrow{color:var(--ink-dim)}
.section--dark .section-head h2{color:var(--ink)}
.section--dark .section-head p{color:var(--ink-2)}
.section-head{margin-bottom:clamp(2.5rem,5vw,4rem)}
.section-head .eyebrow{margin-bottom:1rem}
.section-head h2{font-family:var(--sans);font-size:var(--step-5);font-weight:600;margin-bottom:1rem;color:var(--stone);letter-spacing:-.03em;line-height:1.05}
.section-head h2 em{font-style:normal;color:var(--stone-3)}
.section-head > p{font-size:var(--step-1);color:var(--stone-2);max-width:52ch;line-height:1.6}

/* === MANIFESTO — dark band ================================== */
.manifesto{background:#fff;color:var(--stone);padding-block:clamp(5rem,10vw,9rem);border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l)}
.manifesto__kicker{font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:2.25rem;display:block}
.manifesto__body{font-family:var(--serif);font-size:clamp(1.25rem,2.8vw,2.25rem);font-weight:400;line-height:1.5;color:var(--ink);max-width:none}
.manifesto__body em{font-style:italic;color:var(--ink-2)}
.manifesto__sign{margin-top:2.25rem;font-size:var(--step--1);color:var(--ink-dim);letter-spacing:.06em}

/* === FEATURED CASE — dark, photo =========================== */
.featured-case{position:relative;overflow:hidden;background:var(--cream-2);padding-block:clamp(4rem,8vw,7rem)}
.featured-case__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform 8s var(--ease)}
.featured-case:hover .featured-case__img{transform:scale(1.04)}
.featured-case__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,9,11,.97) 0%,rgba(9,9,11,.5) 50%,rgba(9,9,11,.08) 100%)}
.featured-case__body{position:relative;z-index:2;width:100%;display:block}
.featured-case__meta{font-size:var(--step--1);color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.875rem;display:block}
.featured-case__title{font-family:var(--serif);font-size:var(--step-5);font-weight:500;line-height:1.05;color:var(--ink);max-width:16ch;margin-bottom:1.25rem}
.featured-case__stats{display:flex;gap:2rem;flex-wrap:wrap}
.featured-case__stat b{display:block;font-family:var(--serif);font-size:var(--step-3);font-weight:500;color:var(--ink);line-height:1}
.featured-case__stat span{font-size:var(--step--1);color:var(--ink-2);letter-spacing:.04em}
.featured-case__cta{flex-shrink:0;align-self:flex-end}

/* === WORK / CASE CARDS — dark, photo ======================= */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#000}
.case{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--dark-2);display:flex;flex-direction:column;justify-content:flex-end}
.case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.case:hover img{transform:scale(1.05)}
.case::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(9,9,11,.95) 0%,rgba(9,9,11,.35) 55%,transparent 100%);transition:opacity .4s}
.case__meta{position:relative;z-index:2;padding:1.5rem}
.case__cat{display:block;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:.35rem}
.case__title{display:block;font-family:var(--serif);font-size:var(--step-2);font-weight:500;color:var(--ink);line-height:1.2;margin-bottom:.4rem}
.case__detail{display:block;font-size:var(--step--1);color:var(--ink-2);line-height:1.4}

/* Work page wide grid */
.cases--wide{grid-template-columns:repeat(4,1fr)}
.cases--wide .case{aspect-ratio:2/3}

/* === TRUST STRIP — light ==================================== */
.trust{background:#fff;border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);padding:2rem 0;overflow:hidden}
.trust__row{display:flex;flex-wrap:wrap;gap:0}
.trust__cell{display:flex;flex-direction:column;gap:.25rem;padding:1rem 2rem;border-right:1px solid var(--border-l);flex:1;min-width:130px}
.trust__cell:first-child{padding-left:0}
.trust__cell:last-child{border-right:none}
.trust__badge{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.trust__desc{font-size:.72rem;color:var(--stone-3);line-height:1.45}

/* === STORY (two-column) — light ============================= */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.story--reverse{direction:rtl}
.story--reverse > *{direction:ltr}
.story__media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-lg)}
.story__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.story__media:hover img{transform:scale(1.03)}
.story__tag{position:absolute;top:1.25rem;left:1.25rem;background:rgba(246,243,236,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.3rem .8rem;border-radius:2px;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-2);z-index:2;border:1px solid var(--border-l)}
.story__body{display:flex;flex-direction:column;gap:1.25rem}
.story__body h2{font-family:var(--serif);font-size:var(--step-4);font-weight:500;line-height:1.1;color:var(--stone)}
.story__body p{font-size:var(--step-0);color:var(--stone-2);line-height:1.75}
.story__body p em{font-style:italic;color:var(--stone)}
.story__stats{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1.25rem;border-top:1px solid var(--border-l);margin-top:.25rem}
.story__stats div{display:flex;flex-direction:column;gap:.15rem}
.story__stats b{font-family:var(--serif);font-size:var(--step-3);font-weight:500;line-height:1;color:var(--stone)}
.story__stats small{font-size:var(--step--1);color:var(--stone-3);letter-spacing:.04em}

/* === PULL QUOTES — light mid-tone ========================== */
.pq-row{background:var(--cream-2);padding-block:clamp(3.5rem,7vw,6rem);border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l)}
.pq-row__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--border-l)}
.pq{padding:2rem 2.5rem;border-right:1px solid var(--border-l)}
.pq p{font-family:var(--serif);font-size:var(--step-2);font-weight:400;font-style:italic;line-height:1.5;color:var(--stone);margin-bottom:1.25rem}
.pq footer{font-size:var(--step--1);color:var(--stone-3)}
.pq footer cite{font-style:normal;font-weight:600;color:var(--stone)}

/* === WORLD MAP — cream ===================================== */
.world-map-section{background:var(--cream)}
.world-map{margin:0;border:1px solid var(--border-l);border-radius:1px;overflow:hidden;background:#fff;padding:2rem}
.wm__svg{width:100%;height:auto}
.wm__land{fill:#E8E4DC}
.wm__route{stroke:rgba(200,32,26,.3);stroke-width:.6px}
.wm__dot{fill:var(--stone-3)}
.wm__city--hub .wm__dot{fill:var(--red)}
.wm__pulse{fill:none;stroke:var(--red);stroke-width:1px;animation:cityPulse 2.4s ease-out infinite;opacity:0}
.wm__city--hub .wm__pulse{animation-duration:1.8s}
@keyframes cityPulse{0%{r:4px;opacity:.8}100%{r:14px;opacity:0}}
.wm__label{fill:var(--stone-2);font-family:var(--sans);font-size:8px;font-weight:500}
.wm__city--hub .wm__label{fill:var(--stone);font-weight:600}
.wm__caption{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-l)}
.wm__legend{display:flex;align-items:center;gap:.5rem;font-size:var(--step--1);color:var(--stone-3)}
.wm__key{display:block;width:8px;height:8px;border-radius:50%;background:var(--stone-3)}
.wm__key--hub{background:var(--red)}

/* === CONTACT — light ======================================== */
.contact-section{background:#fff}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.contact__info{display:flex;flex-direction:column;gap:2.5rem}
.office h3{font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-d)}
.office p{font-size:var(--step-0);color:var(--ink-2);line-height:1.7;margin-bottom:.75rem}
.office a{display:block;font-size:var(--step-0);color:var(--ink-2);transition:color .2s;line-height:1.8}
.office a:hover{color:var(--ink)}
.office .phone{font-family:var(--serif);font-size:var(--step-3);font-weight:500;color:var(--ink);display:block;line-height:1.2;margin-top:.35rem;transition:color .2s}
.office .phone:hover{color:var(--red)}

/* Form */
.form{display:flex;flex-direction:column;gap:1.25rem}
.field{display:flex;flex-direction:column;gap:.5rem}
.field label{font-size:var(--step--1);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--stone-2)}
.field input,.field textarea,.field select{background:var(--cream);border:1.5px solid var(--border-l);border-radius:2px;color:var(--stone);padding:.85rem 1rem;font-size:var(--step-0);transition:border-color .2s,background .2s;width:100%;-webkit-appearance:none;appearance:none}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--red);background:#fff}
.field input::placeholder,.field textarea::placeholder{color:var(--stone-3)}
.field textarea{resize:vertical;min-height:120px}
.field__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form__note{font-size:var(--step--1);color:var(--stone-3);line-height:1.5}
.form__status{font-size:var(--step--1);font-weight:500;min-height:1.4em;transition:color .2s}
.form__status[data-state="ok"]{color:#16a34a}
.form__status[data-state="err"]{color:var(--red)}
.form__status[data-state="sending"]{color:var(--stone-3)}
.form__urgent{display:flex;align-items:center;gap:.625rem;cursor:pointer;padding:.75rem 1rem;background:var(--cream);border:1.5px solid var(--border-l);border-radius:2px;transition:border-color .2s}
.form__urgent:has(input:checked){border-color:var(--red);background:#fff5f5}
.form__urgent input[type="checkbox"]{width:16px;height:16px;border:1.5px solid var(--border-lm);background:transparent;border-radius:2px;padding:0;cursor:pointer;accent-color:var(--red);flex-shrink:0}
.form__urgent-text{font-size:var(--step--1);color:var(--stone-2)}
.form__urgent-text strong{color:var(--stone);font-weight:600}

/* === SPEC TABLES =========================================== */
.specs{overflow-x:auto;margin-top:2rem}
.specs table{width:100%;border-collapse:collapse;font-size:var(--step--1)}
.specs th{text-align:left;padding:.75rem 1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-3);border-bottom:1.5px solid var(--border-lm);white-space:nowrap}
.specs td{padding:.875rem 1rem;border-bottom:1px solid var(--border-l);color:var(--stone-2);vertical-align:top;line-height:1.5}
.specs td:first-child{font-weight:600;color:var(--stone);white-space:nowrap}
.specs tr:hover td{background:var(--cream)}

/* === ROSTER ================================================ */
.roster{display:block}
.roster__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border-l)}
.roster__grid li{font-size:var(--step-1);font-weight:500;letter-spacing:-.02em;color:var(--stone);padding:1rem .5rem 1rem 0;border-bottom:1px solid var(--border-l);transition:color .2s,padding-left .2s}
.roster__grid li:hover{color:var(--red);padding-left:.5rem}
.roster__grid li a{color:inherit;text-decoration:none;display:block}
@media(max-width:900px){.roster__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.roster__grid{grid-template-columns:1fr}}
.roster__cols{columns:3;column-gap:1.5rem}
.roster__cols li{font-size:var(--step--1);color:var(--ink-2);padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.12);break-inside:avoid;transition:color .2s}
.roster__cols li:hover{color:#fff}

/* === PAGE HERO — dark ====================================== */
.page-hero{background:var(--cream-2);color:var(--stone);padding-top:clamp(8rem,14vw,11rem);padding-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--border-l)}
.page-hero .eyebrow{margin-bottom:1.25rem;color:var(--ink-dim)}
.page-hero h1{font-family:var(--sans);font-size:var(--step-6);font-weight:600;line-height:1.0;margin-bottom:1.25rem;max-width:16ch;color:var(--ink);letter-spacing:-.04em}
.page-hero p{font-size:var(--step-1);color:var(--ink-2);max-width:50ch;line-height:1.6}

/* === GLOSSARY — light ======================================= */
.glossary{display:flex;flex-direction:column}
.glossary__term{display:grid;grid-template-columns:13rem 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--border-l);align-items:baseline}
.glossary__term:first-child{border-top:1px solid var(--border-l)}
.glossary__word{font-size:var(--step-0);font-weight:600;color:var(--stone)}
.glossary__def{font-size:var(--step-0);color:var(--stone-2);line-height:1.7}

/* === LOCATIONS — light ====================================== */
.location-credits{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border-l);border-radius:1px;overflow:hidden;margin:2.5rem 0;background:#fff}
.location-credit{flex:1;min-width:180px;padding:1.5rem 2rem;border-right:1px solid var(--border-l)}
.location-credit:last-child{border-right:none}
.location-credit__label{font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-3);display:block;margin-bottom:.35rem}
.location-credit__val{font-family:var(--serif);font-size:var(--step-3);font-weight:500;color:var(--red);display:block;line-height:1.1}

/* === NOT YOUR GENERAL FREIGHT FORWARDER ==================== */
.nygff{background:var(--cream);color:var(--stone);padding-block:clamp(5rem,10vw,9rem)}
.nygff__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(3rem,7vw,8rem);align-items:start}
.nygff__kicker{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:1.5rem}
.nygff__title{font-family:var(--serif);font-size:var(--step-6);font-weight:500;line-height:1.0;color:var(--ink);letter-spacing:-.01em}
.nygff__body p{font-size:var(--step-1);color:var(--ink-2);line-height:1.75;margin-bottom:1.25rem}
.nygff__pride{font-family:var(--serif);font-size:var(--step-2);font-style:italic;color:var(--ink) !important;border-left:3px solid var(--red);padding-left:1.25rem;margin-top:2rem !important}
.nygff__stats{display:flex;gap:3rem;padding-top:2rem;border-top:1px solid var(--border-d);margin-top:2rem}
.nygff__stat{display:flex;flex-direction:column;gap:.25rem}
.nygff__stat b{display:block;font-family:var(--serif);font-size:var(--step-5);font-weight:400;line-height:1;color:var(--red)}
.nygff__stat span{font-size:var(--step--1);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim)}

/* === WAREHOUSE ============================================= */
.warehouse-section{}
.warehouse__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);align-items:start}
.warehouse__title{font-family:var(--serif);font-size:var(--step-5);font-weight:500;line-height:1.05;color:var(--stone);margin:1rem 0 1.25rem}
.warehouse__body{font-size:var(--step-1);color:var(--stone-2);line-height:1.7;margin-bottom:1.5rem}
.warehouse__features{display:flex;flex-direction:column;gap:.625rem}
.warehouse__features li{display:flex;align-items:baseline;gap:.75rem;font-size:var(--step-0);color:var(--stone-2);padding:.5rem 0;border-bottom:1px solid var(--border-l)}
.warehouse__features li:last-child{border-bottom:none}
.warehouse__feat-mark{color:var(--red);font-weight:700;flex-shrink:0}
.warehouse__aside{display:flex;flex-direction:column;gap:1.5rem}
.warehouse__card{background:#fff;border:1px solid var(--border-l);border-radius:2px;padding:2rem}
.warehouse__card--dark{background:var(--dark);border-color:var(--dark)}
.warehouse__card-label{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-3);margin-bottom:1rem}
.warehouse__card--dark .warehouse__card-label{color:var(--ink-dim)}
.warehouse__card-body{font-size:var(--step-0);color:var(--stone-2);line-height:1.7;font-style:italic}
.warehouse__card--dark .warehouse__card-body{color:var(--ink-2)}
.warehouse__card-attr{display:block;font-size:var(--step--1);font-weight:600;color:var(--stone-3);margin-top:1rem;font-style:normal}
.warehouse__card-link{display:inline-block;margin-top:1.25rem;font-size:var(--step--1);font-weight:600;letter-spacing:.04em;color:var(--red);transition:color .2s}
.warehouse__card-link:hover{color:var(--red-h)}

/* === MANIFESTO — wider text ================================= */

/* === CAPABILITIES GRID ===================================== */
.cap-section{}
.cap__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.cap{padding:2.5rem 2rem;border-right:1px solid var(--border-l);border-bottom:1px solid var(--border-l);transition:background .2s}
.cap:hover{background:#fff}
.cap__mark{font-family:var(--serif);font-size:var(--step-6);font-weight:400;line-height:.9;color:var(--cream-3);margin-bottom:1.5rem;transition:color .3s}
.cap:hover .cap__mark{color:var(--red)}
.cap__title{font-family:var(--serif);font-size:var(--step-2);font-weight:500;line-height:1.2;color:var(--stone);margin-bottom:1rem}
.cap__body{font-size:var(--step--1);color:var(--stone-2);line-height:1.7}

/* === HOW IT WORKS ========================================== */
.how-section{}
.how__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--stone);margin-top:1rem}
.how__step{padding:2rem 2.5rem 2rem 2.5rem}
.how__step:first-child{padding-left:0}
.how__step:last-child{padding-right:0}
.how__step+.how__step{border-left:1px solid var(--border-l)}
.how__n{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;color:var(--red);margin-bottom:1.25rem;margin-top:1.5rem}
.how__title{font-family:var(--serif);font-size:var(--step-3);font-weight:500;color:var(--stone);margin-bottom:.875rem;line-height:1.1}
.how__body{font-size:var(--step-0);color:var(--stone-2);line-height:1.7}

/* === ALWAYS ON — dark CTA ================================== */
.always-on{background:var(--cream);color:var(--stone);padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--border-l)}
.always-on__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);align-items:center}
.always-on__status{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.always-on__dot{display:block;width:10px;height:10px;border-radius:50%;background:#22c55e;animation:greenPulse 2s ease-in-out infinite;flex-shrink:0}
@keyframes greenPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
.always-on__live{font-size:var(--step--1);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#22c55e}
.always-on__title{font-family:var(--serif);font-size:var(--step-5);font-weight:500;line-height:1.05;color:var(--ink);margin-bottom:1.25rem}
.always-on__body{font-size:var(--step-1);color:var(--ink-2);line-height:1.7}
.always-on__offices{display:flex;flex-direction:column;gap:2rem}
.always-on__office{padding:1.5rem 2rem;border:1px solid var(--border-d);border-radius:2px;background:var(--dark-2)}
.always-on__region{display:block;font-size:var(--step--1);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.625rem}
.always-on__phone{display:block;font-family:var(--serif);font-size:var(--step-4);font-weight:500;color:var(--ink);line-height:1.1;margin-bottom:.5rem;transition:color .2s}
.always-on__phone:hover{color:var(--red)}
.always-on__tz{font-size:var(--step--1);color:var(--ink-dim)}

/* === ANCHOR NAV ============================================ */
.anchor-nav{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(calc(100% + 2rem));z-index:90;background:#fff;border:1px solid var(--border-lm);border-radius:100px;box-shadow:0 4px 24px rgba(0,0,0,.12);padding:.4rem .625rem;display:flex;align-items:center;gap:.1rem;transition:transform .4s var(--ease-o);white-space:nowrap}
.anchor-nav.is-visible{transform:translateX(-50%) translateY(0)}
.anchor-nav a{padding:.45rem .9rem;border-radius:100px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-3);transition:background .2s,color .2s}
.anchor-nav a:hover{background:var(--cream);color:var(--stone)}
.anchor-nav__cta{background:var(--red) !important;color:#fff !important;margin-left:.25rem}
.anchor-nav__cta:hover{background:var(--red-h) !important}

/* === FAQ — light ============================================ */
.faqs{display:flex;flex-direction:column}
.faq{border-bottom:1px solid var(--border-l)}
.faq summary{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;font-size:var(--step-0);font-weight:600;color:var(--stone);cursor:pointer;list-style:none;gap:1rem;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--red)}
.faq summary::after{content:'+';font-size:1.5rem;font-weight:300;flex-shrink:0;transition:transform .3s var(--ease);color:var(--stone-3)}
.faq[open] summary::after{transform:rotate(45deg)}
.faq__body{padding-bottom:1.5rem;font-size:var(--step-0);color:var(--stone-2);line-height:1.75;max-width:60ch}

/* === FOOTER — dark ========================================== */
.footer{background:#fff;color:var(--stone-2);border-top:1px solid var(--border-l);padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:2.5rem}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);margin-bottom:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--border-l)}
.footer__brand{display:flex;gap:1.75rem;align-items:flex-start}
.footer__brand-text{flex:1}
.footer__logo{height:128px;width:auto;flex-shrink:0}
@media(max-width:560px){
  .footer__brand{gap:1.25rem}
  .footer__logo{height:104px}
}
.footer__tagline{font-size:var(--step--1);color:var(--stone-3);line-height:1.7;max-width:34ch}
.footer__phone{display:block;font-size:var(--step-2);font-weight:600;letter-spacing:-.02em;color:var(--stone);margin-top:1.5rem;transition:color .2s}
.footer__phone:hover{color:var(--red)}
.footer__phone-note{display:block;font-size:var(--step--2);color:var(--stone-3);margin-top:.25rem}
.footer__tagline a{color:var(--stone-2);text-decoration:none;font-weight:500;transition:color .2s}
.footer__tagline a:hover{color:var(--red)}
.footer__social{display:flex;gap:1.25rem;margin-top:1.75rem;flex-wrap:wrap}
.footer__social a{font-size:var(--step--1);font-weight:500;color:var(--stone-3);transition:color .2s}
.footer__social a:hover{color:var(--red)}
.footer h4{font-size:var(--step--2);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--stone-3);margin-bottom:1.25rem}
.footer ul{display:flex;flex-direction:column;gap:.7rem}
.footer li a{font-size:var(--step--1);color:var(--stone-2);transition:color .2s}
.footer li a:hover{color:var(--red)}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:var(--step--2);color:var(--stone-3)}
.footer__bottom a{color:var(--stone-2);transition:color .2s}
.footer__bottom a:hover{color:var(--red)}

/* === 404 ==================================================== */
.not-found{min-height:80svh;display:grid;place-items:center;text-align:center;padding-top:7rem}
.not-found h1{font-family:var(--serif);font-size:var(--step-7);font-weight:400;color:var(--cream-2);line-height:1;margin-bottom:.5rem}
.not-found p{font-size:var(--step-1);color:var(--stone-2);margin:1rem 0 2.5rem}

/* === REVEAL ================================================= */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal]:nth-child(2){transition-delay:.08s}
[data-reveal]:nth-child(3){transition-delay:.16s}
[data-reveal]:nth-child(4){transition-delay:.24s}
[data-reveal]:nth-child(5){transition-delay:.32s}

/* === RESPONSIVE ============================================ */
@media(max-width:1024px){
  .proof__grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
  .footer__grid > div:first-child{grid-column:1/-1}
  .cases--wide{grid-template-columns:repeat(3,1fr)}
  .nav__phone{display:none}
}
@media(max-width:860px){
  .nygff__grid{grid-template-columns:1fr}
  .nygff__stats{gap:1.5rem;flex-wrap:wrap}
  .warehouse__grid{grid-template-columns:1fr}
  .excl__grid{grid-template-columns:1fr}
  .excl__stats{gap:1.5rem}
  .cap__grid{grid-template-columns:1fr 1fr}
  .how__steps{grid-template-columns:1fr 1fr}
  .how__step+.how__step{border-left:none;border-top:1px solid var(--border-l);padding-left:0;padding-top:2rem}
  .always-on__grid{grid-template-columns:1fr}
  .pq-row__grid{grid-template-columns:1fr}
  .pq{border-right:none;border-bottom:1px solid var(--border-l)}
  .pq:last-child{border-bottom:none}
  .cases{grid-template-columns:repeat(2,1fr)}
  .cases--wide{grid-template-columns:repeat(2,1fr)}
  .story{grid-template-columns:1fr}
  .story--reverse{direction:ltr}
  .roster{grid-template-columns:1fr}
  .roster__cols{columns:2}
  .glossary__term{grid-template-columns:1fr;gap:.5rem}
  .contact__grid{grid-template-columns:1fr}
  .featured-case__body{grid-template-columns:1fr}
  .featured-case__cta{display:none}
  .trust__row{flex-direction:column}
  .trust__cell{border-right:none;border-bottom:1px solid var(--border-l)}
  .trust__cell:last-child{border-bottom:none}
}
@media(max-width:720px){
  .nav__links{display:none}
  .nav__actions{display:none}
  .menu-toggle{display:flex}
  .hero__stats{flex-wrap:wrap;gap:1rem 0}
  .hero__stat{padding-right:1.5rem;margin-right:1.5rem}
  .proof__grid{grid-template-columns:repeat(2,1fr)}
  .service-row{grid-template-columns:3rem 1fr 40px}
  .service-row__title{font-size:var(--step-3)}
  .cases{grid-template-columns:1fr}
  .cases--wide{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .roster__cols{columns:1}
  .field__row{grid-template-columns:1fr}
  .anchor-nav{display:none}
  .featured-case__title{font-size:var(--step-4)}
}
@media(max-width:480px){
  .cap__grid{grid-template-columns:1fr}
  .how__steps{grid-template-columns:1fr}
  .proof__grid{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr}
  .cases--wide{grid-template-columns:1fr}
}

/* === PRINT ================================================= */
@media print{
  .nav,.menu-panel,.anchor-nav,.hero__scroll,.logo-wall{display:none}
  body{background:#fff;color:#000}
}

/* === REDUCED MOTION ======================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  [data-reveal]{opacity:1;transform:none}
}

/* === HOMEPAGE INTRO — "of course it's BTS" ================= */
.intro__lead{max-width:820px}
.intro__lead h2{font-size:var(--step-4);font-weight:600;letter-spacing:-.03em;line-height:1.08;color:var(--stone);margin:.875rem 0 1.25rem}
.intro__lead p{font-size:var(--step-1);color:var(--stone-2);line-height:1.65}
.intro__points{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border-l);margin-top:clamp(2.5rem,5vw,4rem)}
.intro__point{padding:1.75rem 1.5rem 0 0;border-right:1px solid var(--border-l);display:flex;flex-direction:column;gap:.5rem}
.intro__point:last-child{border-right:none;padding-right:0}
.intro__point-key{font-size:var(--step-2);font-weight:600;letter-spacing:-.02em;color:var(--red)}
.intro__point-text{font-size:var(--step--1);color:var(--stone-2);line-height:1.55}
@media(max-width:860px){.intro__points{grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem}.intro__point{border-right:none;padding:1.5rem 1rem 0 0}}
@media(max-width:480px){.intro__points{grid-template-columns:1fr}.intro__point{padding-right:0}}

/* === CASE STUDY STAT ROW (clean, not giant) ================ */
.case-stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;margin-bottom:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l)}
.case-stat{padding:clamp(1.25rem,2.5vw,1.75rem) 1.5rem clamp(1.25rem,2.5vw,1.75rem) 0;border-right:1px solid var(--border-l);display:flex;flex-direction:column;gap:.4rem}
.case-stat:last-child{border-right:none}
.case-stat__val{font-family:var(--sans);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;color:var(--stone)}
.case-stat__label{font-size:var(--step--2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-3)}
@media(max-width:640px){
  .case-stats{grid-auto-flow:row;grid-auto-columns:auto}
  .case-stat{border-right:none;border-bottom:1px solid var(--border-l);padding:1rem 0}
  .case-stat:last-child{border-bottom:none}
}

/* === WORK STRIP "PEEK" (fades next row to imply more) ====== */
.cases-peek{position:relative;padding-bottom:5.5rem}
.cases-grid--peek{grid-template-columns:repeat(3,1fr);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 52%,transparent 90%);mask-image:linear-gradient(to bottom,#000 0%,#000 52%,transparent 90%)}
.cases-peek__fade{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;z-index:2}
@media(max-width:1024px){.cases-grid--peek{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .cases-grid--peek{grid-template-columns:1fr;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 92%)}
}

/* === TRANSIT — animated global network (pre-footer) ======== */
.transit{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 72% 50%,#16161C 0%,#0C0C0F 55%,#0A0A0B 100%);padding-block:clamp(3.5rem,7vw,6rem)}
.transit__inner{position:relative;z-index:2;display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.transit__copy .eyebrow{color:rgba(245,245,247,.55);margin-bottom:1rem}
.transit__copy h2{font-family:var(--sans);font-size:var(--step-4);font-weight:600;letter-spacing:-.03em;line-height:1.08;color:#fff;margin-bottom:1rem;max-width:18ch}
.transit__copy p{font-size:var(--step-0);color:rgba(245,245,247,.7);line-height:1.7;margin-bottom:1.75rem;max-width:46ch}
/* Map area — clean v12 world map (viewBox 1000x500) shares the network coordinate space. */
.transit__map{position:relative;aspect-ratio:1000/305}
.tm__world{opacity:.2}
.tm__svg{width:100%;height:auto;overflow:visible}
.tm__arc{fill:none;stroke:rgba(255,255,255,.32);stroke-width:.7;stroke-dasharray:1.5 4;stroke-linecap:round}
.tm__dot{fill:rgba(255,255,255,.45)}
.tm__pkg{fill:#fff;filter:drop-shadow(0 0 3px rgba(225,29,20,1)) drop-shadow(0 0 6px rgba(225,29,20,.85))}
.tm__pkg--rev{filter:drop-shadow(0 0 3px rgba(120,170,255,1)) drop-shadow(0 0 6px rgba(120,170,255,.8))}
.tm__hub-dot{fill:#fff;filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}
.tm__hub-pulse{fill:none;stroke:var(--red);stroke-width:1.1;opacity:0;animation:tmPulse 3s ease-out infinite}
.tm__hub:nth-child(2) .tm__hub-pulse{animation-delay:.5s}
.tm__hub:nth-child(4) .tm__hub-pulse{animation-delay:1s}
.tm__hub:nth-child(6) .tm__hub-pulse{animation-delay:1.5s}
.tm__hub:nth-child(8) .tm__hub-pulse{animation-delay:2s}
@keyframes tmPulse{0%{r:3.4px;opacity:.85}100%{r:15px;opacity:0}}
.tm__hub-label{fill:rgba(245,245,247,.85);font-family:var(--sans);font-size:9px;font-weight:500}
.transit__bokeh{position:absolute;border-radius:50%;filter:blur(48px);opacity:.5;z-index:1;pointer-events:none}
.transit__bokeh--1{width:340px;height:340px;background:radial-gradient(circle,rgba(225,29,20,.5),transparent 70%);top:-80px;right:8%;animation:bokehFloat 14s ease-in-out infinite}
.transit__bokeh--2{width:260px;height:260px;background:radial-gradient(circle,rgba(225,29,20,.35),transparent 70%);bottom:-60px;left:30%;animation:bokehFloat 18s ease-in-out infinite reverse}
.transit__bokeh--3{width:200px;height:200px;background:radial-gradient(circle,rgba(120,160,255,.28),transparent 70%);top:30%;left:-40px;animation:bokehFloat 16s ease-in-out infinite}
@keyframes bokehFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-18px) scale(1.12)}}
@media(max-width:860px){.transit__inner{grid-template-columns:1fr;gap:2rem}.transit__map{order:-1}.tm__hub-label{font-size:18px}}

/* === PHOTOGRAPHIC PAGE HERO (overview pages) =============== */
.hero-band{position:relative;overflow:hidden;background:var(--dark);min-height:clamp(360px,52vh,520px);display:flex;align-items:flex-end;padding-top:6rem;padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-band::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(10,10,11,.9) 0%,rgba(10,10,11,.55) 45%,rgba(10,10,11,.25) 100%),linear-gradient(to right,rgba(10,10,11,.6) 0%,rgba(10,10,11,.1) 70%)}
.hero-band__inner{position:relative;z-index:2;width:100%}
.hero-band--center{align-items:center;text-align:center}
.hero-band--center .hero-band__inner{margin-inline:auto}
.hero-band .eyebrow{color:rgba(245,245,247,.65);margin-bottom:1rem}
.hero-band h1{font-family:var(--sans);font-size:clamp(2.4rem,5.5vw,4.25rem);font-weight:600;line-height:1.02;letter-spacing:-.035em;color:#fff;max-width:18ch;margin-bottom:1rem}
.hero-band p{font-size:var(--step-1);color:rgba(245,245,247,.8);line-height:1.55;max-width:52ch}

/* === V13.1 COMPONENT SYSTEM ================================ */

/* Consolidated headline weight — Apple-style semibold + tight tracking on all component titles */
.case-card__body h3,.blog-card__title,.tool-card__title,.location-card h3,
.service-row__body h2,.featured-case__body h2,.nygff__copy h2,.always-on__copy h2,
.storage-feat h3,.storage-home__body h2,.blog-strip-card h3,.svc-item__title,
.blog-post__body h2,.blog-post__body h3,.container-card__body h2{
  font-weight:600;letter-spacing:-.025em;line-height:1.1
}

/* Hero */
.hero{min-height:100svh;display:flex;overflow:hidden;background:var(--dark)}
.hero__container{display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(2.5rem,5vw,4rem);min-height:100svh;padding-top:7rem;padding-bottom:clamp(2.5rem,4vw,3.5rem);position:relative;z-index:2;width:100%}
.hero__copy{max-width:760px}
.hero__copy .eyebrow{color:rgba(240,237,231,.5);margin-bottom:1.25rem}
.hero__copy h1{font-family:var(--sans);font-size:clamp(3rem,7vw,5.75rem);font-weight:600;line-height:1.0;margin-bottom:1.5rem;color:var(--ink);letter-spacing:-.04em}
.hero__copy h1 em{font-style:normal;color:rgba(245,245,247,.55)}
.hero__sub{font-size:var(--step-0);color:rgba(240,237,231,.75);line-height:1.8;margin-bottom:2rem}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
/* Horizontal stat bar pinned to the bottom of the hero */
.hero__stats{display:flex;border-top:1px solid rgba(240,237,231,.18);padding-top:clamp(1.5rem,3vw,2rem)}
.hero__stat{flex:1;display:flex;flex-direction:column;gap:.35rem;padding-right:1.5rem;border-right:1px solid rgba(240,237,231,.12)}
.hero__stat:last-child{border-right:none;padding-right:0}
.hero__stat-val{font-family:var(--sans);font-size:clamp(2rem,4.5vw,3.25rem);font-weight:600;color:var(--ink);line-height:1;letter-spacing:-.03em}
.hero__stat-label{font-size:var(--step--2);color:rgba(240,237,231,.55);letter-spacing:.04em;text-transform:uppercase;max-width:14ch}
@media(max-width:640px){
  .hero__stats{flex-wrap:wrap;gap:1.5rem 0}
  .hero__stat{flex:0 0 50%;padding-right:1.25rem}
  .hero__stat:nth-child(2){border-right:none;padding-right:0}
}

/* Buttons (variants) — light-context defaults; dark cascade flips them */
.btn--outline{border-color:var(--border-lm);color:var(--stone);background:transparent}
.btn--outline:hover{background:var(--cream-2);border-color:var(--border-lm);color:var(--stone)}
.btn--ghost{border-color:transparent;color:var(--stone-2);background:transparent}
.btn--ghost:hover{border-color:var(--border-lm);color:var(--stone);background:transparent}
.on-dark .btn--outline,.section--dark .btn--outline,.hero .btn--outline{border-color:var(--border-dm);color:var(--ink)}
.on-dark .btn--outline:hover,.section--dark .btn--outline:hover,.hero .btn--outline:hover{background:rgba(255,255,255,.07);border-color:rgba(240,237,231,.4);color:var(--ink)}

/* Logo wall — real images on light */
.logo-wall{background:var(--cream-2);border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);padding:1rem 0;overflow:hidden}
.logo-wall__track{display:flex;align-items:center;width:max-content;animation:marquee 35s linear infinite;list-style:none;padding:0;margin:0}
.logo-wall__track li{display:flex;align-items:center;gap:2.5rem;padding:0 1.25rem;height:48px;flex-shrink:0;font-size:var(--step-0);font-weight:500;letter-spacing:-.01em;color:var(--stone-2);white-space:nowrap;transition:color .2s}
.logo-wall__track li::after{content:'·';color:var(--border-lm);font-weight:400}
.logo-wall__track li:hover{color:var(--red)}

/* Service list */
.svc-items{border-top:1px solid var(--border-l)}
.svc-item{display:grid;grid-template-columns:3.5rem 1fr 1fr 2rem;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--border-l);text-decoration:none;color:inherit;transition:padding .2s}
.svc-item:hover{padding-left:.75rem}
.svc-item__num{font-size:var(--step--2);font-weight:700;letter-spacing:.1em;color:var(--stone-3);font-variant-numeric:tabular-nums}
.svc-item__title{font-family:var(--serif);font-size:var(--step-3);color:var(--stone);font-weight:400;line-height:1}
.svc-item__desc{font-size:var(--step--1);color:var(--stone-2);line-height:1.5}
.svc-item__arrow{font-size:var(--step-1);color:var(--stone-3);justify-self:end;transition:transform .2s,color .2s}
.svc-item:hover .svc-item__arrow{transform:translateX(4px);color:var(--red)}
@media(max-width:768px){
  .svc-item{grid-template-columns:2.5rem 1fr 2rem}
  .svc-item__desc{display:none}
}

/* Dark section cascade — any .on-dark or .section--dark child gets ink colors */
.on-dark,.section--dark,.hero{--border-mid:var(--border-dm)}
.on-dark .eyebrow,.section--dark .eyebrow{color:var(--ink-dim)}
.on-dark .section-head h2,.section--dark .section-head h2{color:var(--ink)}
.on-dark .section-head>p,.section--dark .section-head>p{color:var(--ink-2)}
.on-dark .btn,.section--dark .btn{color:var(--ink);border-color:var(--border-dm)}
.on-dark .btn:hover,.section--dark .btn:hover{background:rgba(255,255,255,.07);border-color:var(--border-d)}
.featured-case.on-dark,.featured-case{background:var(--dark)}

/* Logo wall — text ticker on light */
.logo-wall{background:var(--cream-2);border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);padding:.875rem 0;overflow:hidden}

/* Proof cards — borderless, big numbers */
.proof__card{padding:clamp(1.5rem,3vw,2.25rem) clamp(1rem,2vw,1.5rem);text-align:center}
.proof__val{display:block;font-size:var(--step-7);font-weight:600;line-height:.9;color:var(--stone);margin-bottom:.75rem;letter-spacing:-.04em}
.proof__label{color:var(--stone-3);font-size:var(--step--1)}

/* Service rows v13 */
.service-row--left,.service-row--right{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:center;padding:clamp(2.5rem,5vw,4.5rem) 0;border-top:1px solid var(--border-l)}
.service-row--left{grid-template-columns:1fr 1fr}
.service-row--right{grid-template-columns:1fr 1fr}
.service-row--right .service-row__media{order:2}
.service-row--right .service-row__body{order:1}
.service-row__media{overflow:hidden;aspect-ratio:4/3;position:relative;border-radius:var(--radius-lg)}
.service-row__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.service-row--left:hover .service-row__media img,.service-row--right:hover .service-row__media img{transform:scale(1.04)}
.service-row__body .eyebrow{margin-bottom:.75rem}
.service-row__body h2{font-family:var(--serif);font-size:var(--step-3);margin-bottom:1rem;color:var(--stone)}
.service-row__body p{font-size:var(--step--1);color:var(--stone-2);line-height:1.7;margin-bottom:1.25rem}
.service-row__credits{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-bottom:1.5rem}
.service-row__credits li{font-size:var(--step--2);color:var(--stone-2);padding:.25rem .75rem;border:1px solid var(--border-l)}

/* NYGFF v13 */
.nygff__inner{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.nygff__copy .eyebrow{margin-bottom:.875rem}
.nygff__copy h2{font-family:var(--serif);font-size:var(--step-4);margin-bottom:1rem;color:var(--ink)}
.nygff__copy p{font-size:var(--step--1);color:var(--ink-2);line-height:1.75;margin-bottom:1.5rem}
.nygff__badges{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex-shrink:0}
.nygff__badge{border:1px solid var(--border-dm);padding:1.25rem 1.5rem;text-align:center}
.nygff__badge-val{display:block;font-family:var(--serif);font-size:var(--step-4);color:var(--red);line-height:1.1}
.nygff__badge-label{display:block;font-size:var(--step--2);color:var(--ink-dim);letter-spacing:.06em;text-transform:uppercase;margin-top:.375rem}

/* Manifesto v13 */
.manifesto__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:start}
.manifesto__pull{font-family:var(--sans);font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:600;line-height:1.08;color:var(--ink);letter-spacing:-.035em}
.manifesto__pull em{font-style:normal;color:var(--red)}
.manifesto__body p{font-family:var(--sans);font-size:var(--step-1);color:var(--stone-2);line-height:1.7;margin-bottom:1.25rem}
.manifesto__body p:last-child{margin-bottom:0}
.manifesto__body strong{color:var(--ink);font-weight:600}

/* Featured case v13 */
.featured-case__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.featured-case__media{overflow:hidden;aspect-ratio:4/5;position:relative;border-radius:var(--radius-lg)}
.featured-case__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.featured-case__inner:hover .featured-case__media img{transform:scale(1.04)}
.featured-case__tag{position:absolute;top:1rem;left:1rem;background:var(--red);color:#fff;font-size:var(--step--2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;z-index:1}
.featured-case__body .eyebrow{margin-bottom:.875rem}
.featured-case__body h2{font-family:var(--serif);font-size:var(--step-4);margin-bottom:1rem;color:var(--ink)}
.featured-case__body p{font-size:var(--step-0);color:var(--stone-2);line-height:1.65;margin-bottom:1.5rem}
.featured-case__stats{display:flex;gap:2.5rem;flex-wrap:wrap;padding:1.25rem 0;border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);margin-bottom:1.5rem}
.featured-case__stat{display:flex;flex-direction:column;gap:.25rem}
.featured-case__stat-val{font-family:var(--sans);font-size:var(--step-3);color:var(--stone);font-weight:600;line-height:1;letter-spacing:-.02em}
.featured-case__stat-label{font-size:var(--step--2);color:var(--stone-3);letter-spacing:.02em}
.featured-case__tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-bottom:1.75rem}
.featured-case__tags li{font-size:var(--step--2);color:var(--stone-2);padding:.3rem .8rem;border-radius:var(--radius-pill);background:var(--cream-2)}

/* Cases grid + cards */
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.case-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.case-card__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}
.case-card__media{overflow:hidden;aspect-ratio:16/10;position:relative}
.case-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.case-card:hover .case-card__media img{transform:scale(1.05)}
.case-card__cat{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:var(--stone);font-size:var(--step--2);font-weight:600;letter-spacing:.02em;padding:.3rem .75rem;border-radius:var(--radius-pill);z-index:1}
.case-card__body{padding:1.5rem 1.625rem 1.75rem;flex:1;display:flex;flex-direction:column;gap:.5rem}
.case-card__meta{font-size:var(--step--2);font-weight:600;letter-spacing:.01em;color:var(--red)}
.case-card__body h3{font-family:var(--serif);font-size:var(--step-1);color:var(--stone);line-height:1.3}
.case-card__body p{font-size:var(--step--1);color:var(--stone-2);line-height:1.6;flex:1}
.case-card__tags{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;padding:0;margin-top:auto}
.case-card__tags li{font-size:var(--step--2);color:var(--stone-2);padding:.25rem .7rem;border-radius:var(--radius-pill);background:var(--cream-2)}

/* Clean red accent bar replacing the old emoji icons */
.cap__card::before,.storage-feat::before,.tool-card::before{content:'';display:block;width:30px;height:3px;background:var(--red);border-radius:2px;margin-bottom:1.25rem}

/* Capabilities v13 — soft cards */
.cap__card{padding:2rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.cap__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.cap__icon{display:block;font-size:var(--step-2);line-height:1;margin-bottom:1rem}
.cap__card h3{font-size:var(--step-2);font-weight:600;color:var(--stone);margin-bottom:.75rem;letter-spacing:-.02em}
.cap__card p{font-size:var(--step--1);color:var(--stone-2);line-height:1.65}

/* Always-on v13 */
.always-on__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:center}
.always-on__copy .eyebrow{margin-bottom:.875rem}
.always-on__copy h2{font-family:var(--serif);font-size:var(--step-4);margin-bottom:1rem;color:var(--ink)}
.always-on__copy p{font-size:var(--step--1);color:var(--ink-dim);line-height:1.75;margin-bottom:1.5rem}
.always-on__clocks{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.always-on__clock{padding:1.25rem;border:1px solid var(--border-d);display:flex;flex-direction:column;gap:.25rem}
.always-on__city{font-size:var(--step--2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}
.always-on__time{font-family:var(--serif);font-size:var(--step-3);color:var(--ink);line-height:1.1}
.always-on__tz{font-size:var(--step--2);color:var(--ink-dim)}

/* Trust grid v13 */
.trust__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.trust__grid .trust__badge{border:none;border-radius:var(--radius-sm);padding:1.5rem 1.625rem;display:flex;flex-direction:column;gap:.5rem;background:#fff;box-shadow:var(--shadow-sm)}
.trust__grid .trust__badge strong{font-size:var(--step--1);font-weight:600;color:var(--stone)}
.trust__grid .trust__badge span{font-size:var(--step--2);color:var(--stone-2);line-height:1.55}

/* Container pages */
.container-grid{display:grid;grid-template-columns:1fr;gap:3rem}
.container-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border:none;border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.container-card__media{overflow:hidden;min-height:300px}
.container-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.container-card:hover .container-card__media img{transform:scale(1.04)}
.container-card__body{padding:2.5rem;display:flex;flex-direction:column;gap:1rem}
.container-card__body h2{font-family:var(--serif);font-size:var(--step-3);color:var(--stone)}
.container-card__body p{font-size:var(--step--1);color:var(--stone-2);line-height:1.7;flex:1}
.container-card__specs{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}
.container-card__specs li{font-size:var(--step--1);color:var(--stone-2);padding:.5rem 0;border-bottom:1px solid var(--border-l)}
.container-card__specs li:last-child{border-bottom:none}

/* Footer grid fix (6 columns) */
.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr !important}

/* V13.1 responsive additions */
@media(max-width:1200px){
  .footer__grid{grid-template-columns:1fr 1fr 1fr !important}
  .footer__grid > div:first-child{grid-column:1/-1}
  .nygff__inner{grid-template-columns:1fr}
  .nygff__badges{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr}
  .hero__proof{flex-direction:row;border-left:none;padding-left:0;border-top:1px solid rgba(240,237,231,.15);padding-top:1.5rem;margin-top:1.5rem}
  .service-row--left,.service-row--right{grid-template-columns:1fr}
  .service-row--right .service-row__media{order:0}
  .manifesto__inner{grid-template-columns:1fr}
  .featured-case__inner{grid-template-columns:1fr}
  .featured-case__media{aspect-ratio:16/9}
  .always-on__inner{grid-template-columns:1fr}
  .cases-grid{grid-template-columns:repeat(2,1fr)}
  .trust__grid{grid-template-columns:repeat(2,1fr)}
  .container-card{grid-template-columns:1fr}
  .container-card__media{min-height:220px}
}
@media(max-width:640px){
  .hero__stat-val{font-size:var(--step-3)}
  .cases-grid{grid-template-columns:1fr}
  .trust__grid{grid-template-columns:1fr}
  .always-on__clocks{grid-template-columns:1fr 1fr}
  .nygff__badges{grid-template-columns:1fr 1fr}
  .footer__grid{grid-template-columns:1fr 1fr !important}
}
@media(max-width:480px){
  .footer__grid{grid-template-columns:1fr !important}
  .hero__proof{flex-direction:column}
}

/* === BLOG ================================================== */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}
.blog-card{border:1px solid var(--border-mid);display:flex;flex-direction:column;transition:border-color .2s}
.blog-card{background:#fff;border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.blog-card__link{color:inherit;text-decoration:none;display:flex;flex-direction:column;flex:1}
.blog-card__media{position:relative;overflow:hidden;aspect-ratio:16/9}
.blog-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.blog-card:hover .blog-card__media img{transform:scale(1.04)}
.blog-card__cat{position:absolute;top:1rem;left:1rem;background:var(--red);color:#fff;font-size:var(--step--2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .625rem}
.blog-card__body{padding:1.5rem;display:flex;flex-direction:column;flex:1;gap:.625rem}
.blog-card__date{font-size:var(--step--2);color:var(--stone-3);letter-spacing:.06em;text-transform:uppercase}
.blog-card__title{font-family:var(--serif);font-size:var(--step-1);line-height:1.3;color:var(--stone)}
.blog-card__excerpt{font-size:var(--step--1);color:var(--stone-2);line-height:1.6;flex:1}
.blog-card__read{font-size:var(--step--1);font-weight:600;color:var(--red);margin-top:.5rem}
/* Blog post hero + feature image */
.page-hero--post h1{max-width:20ch}
.post-hero__meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.post-hero__cat{background:var(--red);color:#fff;font-size:var(--step--2);font-weight:600;letter-spacing:.02em;padding:.3rem .85rem;border-radius:var(--radius-pill)}
.post-hero__date{font-size:var(--step--1);color:var(--stone-3)}
.post-hero__excerpt{font-size:var(--step-1);color:var(--stone-2);line-height:1.6;max-width:54ch;margin-top:1.25rem}
.post-feature{margin:0 0 clamp(2rem,4vw,3.5rem);border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/8;box-shadow:var(--shadow)}
.post-feature img{width:100%;height:100%;object-fit:cover;display:block}
.blog-post{max-width:740px}
.blog-post__meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-mid)}
.blog-post__body p{margin-bottom:1.25rem;font-size:var(--step-0);line-height:1.8;color:var(--stone-2)}
.blog-post__body h2{font-size:var(--step-2);margin:2.5rem 0 1rem;color:var(--stone)}
.blog-post__body h3{font-size:var(--step-1);margin:2rem 0 .75rem;color:var(--stone)}
.blog-post__body ul{list-style:disc;padding-left:1.5rem;margin-bottom:1.25rem}
.blog-post__body ul li{font-size:var(--step-0);color:var(--stone-2);margin-bottom:.5rem;line-height:1.65}
.blog-post__body strong{color:var(--stone);font-weight:600}

/* === TOOLS ================================================= */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.tool-card{border:none;border-radius:var(--radius);padding:1.875rem;display:flex;flex-direction:column;gap:.75rem;background:#fff;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.tool-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.tool-card__icon{font-size:var(--step-2);line-height:1}
.tool-card__title{font-family:var(--serif);font-size:var(--step-1);color:var(--stone)}
.tool-card__desc{font-size:var(--step--1);color:var(--stone-2);line-height:1.6;flex:1}
.tool-card__link{font-size:var(--step--1);font-weight:600;color:var(--red)}
.tool-card a{color:inherit;text-decoration:none}

/* === CHARGEABLE WEIGHT CALCULATOR ========================== */
.calc{max-width:820px}
.calc__units{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.25rem;border:1px solid var(--border-l);background:#fff}
.calc__units label{display:flex;align-items:center;gap:.5rem;font-size:var(--step--1);font-weight:500;cursor:pointer;color:var(--stone)}
.calc__piece{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end;margin-bottom:.75rem}
.calc__piece-remove{background:none;border:1px solid var(--border-l);color:var(--stone-3);padding:.6rem .875rem;cursor:pointer;font-size:var(--step-0);transition:border-color .2s,color .2s;line-height:1}
.calc__piece-remove:hover{border-color:var(--red);color:var(--red)}
.calc__add{background:none;border:1px solid var(--border-lm);color:var(--stone);padding:.7rem 1.25rem;cursor:pointer;font-size:var(--step--1);font-weight:500;margin-top:.5rem;transition:border-color .2s}
.calc__add:hover{border-color:var(--red);color:var(--red)}
.calc__results{margin-top:2rem;border:1px solid var(--border-l);background:#fff}
.calc__results-head{padding:1rem 1.25rem;background:var(--cream-2);border-bottom:1px solid var(--border-l)}
.calc__results-head h3{font-size:var(--step-0);font-family:var(--sans);font-weight:600;color:var(--stone)}
.calc__table{width:100%;border-collapse:collapse;font-size:var(--step--1)}
.calc__table th{text-align:left;padding:.625rem 1.25rem;color:var(--stone-3);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:var(--step--2);border-bottom:1px solid var(--border-l)}
.calc__table td{padding:.75rem 1.25rem;color:var(--stone);border-bottom:1px solid var(--border-l)}
.calc__table tr:last-child td{border-bottom:none}
.calc__table .is-chargeable{color:var(--red);font-weight:600}
.calc__total{padding:1rem 1.25rem;border-top:1px solid var(--border-l);display:flex;flex-wrap:wrap;gap:2rem;background:var(--cream-2)}
.calc__total-item{display:flex;flex-direction:column;gap:.25rem}
.calc__total-label{font-size:var(--step--2);color:var(--stone-3);text-transform:uppercase;letter-spacing:.08em}
.calc__total-val{font-size:var(--step-1);font-family:var(--serif);color:var(--stone);font-weight:500}
.calc__note{padding:.75rem 1.25rem;font-size:var(--step--2);color:var(--stone-3);border-top:1px solid var(--border-l)}

/* === PHOTO NEED BADGE ====================================== */
.photo-need-tag{position:absolute;bottom:0;left:0;right:0;background:rgba(200,32,26,.93);color:#fff;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.4rem .875rem;font-family:var(--sans);z-index:2;line-height:1.5;pointer-events:none}

/* === WAREHOUSE GALLERY ==================================== */
.wh-gallery{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:3rem}
.wh-gallery__front{grid-column:1/-1;overflow:hidden;aspect-ratio:16/7;border-radius:var(--radius-lg)}
.wh-gallery__front img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.wh-gallery__front:hover img{transform:scale(1.03)}
.wh-gallery__cage{overflow:hidden;aspect-ratio:1/1;border-radius:var(--radius-lg)}
.wh-gallery__cage img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.wh-gallery__cage:hover img{transform:scale(1.04)}

/* === STORAGE HOMEPAGE CALLOUT ============================== */
.storage-home{display:grid;grid-template-columns:1fr 1fr;gap:0;border:none;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.storage-home__media{position:relative;overflow:hidden;min-height:400px}
.storage-home__media img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform .6s ease}
.storage-home:hover .storage-home__media img{transform:scale(1.04)}
.storage-home__body{padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.25rem;background:rgba(255,255,255,.02)}
.storage-home__body h2{font-size:var(--step-3);line-height:1.2}
.storage-home__body p{font-size:var(--step--1);color:var(--ink-dim);line-height:1.7}
.storage-home__pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}
.storage-home__pill{font-size:var(--step--2);padding:.3rem .875rem;border:1px solid var(--border-mid);color:var(--ink-dim)}
@media(max-width:768px){
  .storage-home{grid-template-columns:1fr}
  .storage-home__media{min-height:260px;position:relative}
  .storage-home__media img{position:static;height:260px}
  .wh-gallery{grid-template-columns:1fr}
  .wh-gallery__front{aspect-ratio:4/3}
}

/* === STORAGE =============================================== */
.storage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.storage-feat{border:none;border-radius:var(--radius);padding:1.875rem;background:#fff;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.storage-feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.storage-feat h3{font-size:var(--step-1);margin-bottom:.75rem}
.storage-feat p{font-size:var(--step--1);color:var(--stone-2);line-height:1.65}
.storage-callout{background:rgba(255,255,255,.03);border:1px solid var(--border-mid);padding:2rem;margin-top:2rem;display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap}
.storage-callout__icon{font-size:3rem;line-height:1;flex-shrink:0}
.storage-callout__body{flex:1;min-width:200px}
.storage-callout__body h3{font-size:var(--step-2);margin-bottom:.75rem}
.storage-callout__body p{font-size:var(--step--1);color:var(--ink-dim);line-height:1.65;margin-bottom:1rem}

/* === CITY PAGES ============================================ */
.city-badges{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.5rem}
.city-badge{font-size:var(--step--2);font-weight:600;padding:.4rem 1rem;border-radius:var(--radius-pill);background:rgba(225,29,20,.08);color:var(--red)}
.city-studios{margin-top:2rem}
.city-studios h3{font-size:var(--step-0);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--stone-3);margin-bottom:1rem}
.city-studios ul{display:flex;flex-wrap:wrap;gap:.5rem}
.city-studios li{font-size:var(--step--1);color:var(--stone-2);padding:.35rem .875rem;border-radius:var(--radius-pill);background:var(--cream-2)}

/* === LOCATION CARD ========================================= */
.location-card{border:none;border-radius:var(--radius);padding:1.875rem;display:block;text-decoration:none;color:inherit;background:#fff;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-o),box-shadow .35s var(--ease)}
.location-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.location-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.location-card__state{font-size:var(--step--2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-3)}
.location-card__rate{font-size:var(--step--2);font-weight:700;color:var(--red)}
.location-card h3{font-size:var(--step-1);font-family:var(--serif);color:var(--stone);margin-bottom:.625rem;line-height:1.3}
.location-card p{font-size:var(--step--1);color:var(--stone-2);line-height:1.6;margin-bottom:1rem}
.location-card__hubs{font-size:var(--step--2);color:var(--stone-3)}
.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}

@media(max-width:640px){
  .calc__piece{grid-template-columns:1fr 1fr}
  .calc__piece-remove{grid-column:1/-1}
  .calc__table th:nth-child(2),.calc__table td:nth-child(2){display:none}
}

/* === TESTIMONIALS ========================================= */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.testimonial{border:none;border-radius:var(--radius);padding:2.25rem;display:flex;flex-direction:column;gap:1.25rem;position:relative;background:#fff;box-shadow:var(--shadow-sm)}
.testimonial::before{content:'\201C';font-family:var(--serif);font-size:4rem;line-height:1;color:var(--red);opacity:.4;position:absolute;top:.5rem;left:1.25rem}
.testimonial__quote{font-family:var(--serif);font-size:var(--step-1);line-height:1.55;color:var(--stone);font-style:italic;padding-top:1.5rem}
.testimonial__attr{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-top:auto}
.testimonial__name{font-size:var(--step--1);font-weight:600;color:var(--stone)}
.testimonial__sep{color:var(--border-lm)}
.testimonial__role{font-size:var(--step--1);color:var(--stone-3)}

/* === BLOG STRIP =========================================== */
.blog-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.blog-strip-card{border:1px solid var(--border-l);padding:1.75rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s;background:#fff}
.blog-strip-card:hover{border-color:var(--border-lm)}
.blog-strip-card__cat{font-size:var(--step--2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.blog-strip-card h3{font-family:var(--serif);font-size:var(--step-1);color:var(--stone);line-height:1.35;flex:1}
.blog-strip-card__date{font-size:var(--step--2);color:var(--stone-3)}
@media(max-width:768px){.blog-strip{grid-template-columns:1fr}}

/* === FAQ SECTION =========================================== */
.faqs-section .faqs{max-width:780px;margin:0 auto}
.faq{border-bottom:1px solid var(--border-l);padding:0}
.faq summary{padding:1.25rem 0;cursor:pointer;font-size:var(--step-0);font-weight:500;color:var(--stone);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-size:var(--step-1);color:var(--stone-3);flex-shrink:0;transition:transform .2s}
.faq[open] summary::after{transform:rotate(45deg);color:var(--red)}
.faq p{color:var(--stone-2)}
.faq p{padding:0 0 1.5rem;font-size:var(--step--1);color:var(--ink-dim);line-height:1.7;max-width:640px}
