:root{
  --brand-blue:#17425B;--bg:#102f42;--panel:#17425B;--panel2:#1d4d68;--text:#f5f2ea;--muted:#c3ced3;--line:rgba(226,236,240,.16);--gold:#bfa46a;--cream:#f1eadc;--green:#6f8178;
  --max:1180px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Avenir Next,Helvetica Neue,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} img{max-width:100%;display:block} .wrap{width:min(var(--max),calc(100% - 56px));margin:auto}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(23,66,91,.24);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.site-header .links,.site-header .brand-logo{filter:drop-shadow(0 2px 10px rgba(0,0,0,.32))}.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.brand{display:inline-flex;align-items:center}.brand-logo{display:block;width:clamp(230px,22vw,340px);height:auto}.brand span{display:none}.links{display:flex;gap:24px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.94);font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.55)}.links a:hover{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.7)}.nav-cta{border:1px solid rgba(255,255,255,.58);padding:10px 16px;border-radius:999px;color:#fff;background:rgba(255,255,255,.06);box-shadow:0 2px 10px rgba(0,0,0,.18);text-shadow:0 1px 5px rgba(0,0,0,.35)}.hero{min-height:92vh;position:relative;display:grid;align-items:end;overflow:hidden;background:var(--bg)}.hero.short{min-height:70vh}.hero-media{position:absolute;inset:0}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.16) 48%,rgba(0,0,0,.02)),linear-gradient(0deg,rgba(7,18,26,.72),transparent 30%)}.hero-media img,.hero-media iframe{width:100%;height:100%;object-fit:cover}.vimeo-bg{position:absolute;inset:0;width:100%;height:100%;border:0}.hero-copy{position:relative;z-index:2;padding:130px 0 76px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-weight:700;margin-bottom:18px}.hero h1,.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.2vw,46px);line-height:1.08;letter-spacing:-.025em;margin:0 0 20px;max-width:720px}.lead{font-size:clamp(16px,1.25vw,18px);color:var(--cream);max-width:720px;line-height:1.45}.button-row{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;border:1px solid rgba(255,255,255,.25);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.btn.primary{background:var(--cream);color:#141414;border-color:var(--cream)}.btn:hover{transform:translateY(-1px)}section{padding:92px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.05;margin:0;letter-spacing:-.035em}.section-head p{max-width:520px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--panel);padding:34px;min-height:265px;display:flex;flex-direction:column;justify-content:space-between}.service-card h3{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.05;margin:0 0 16px}.service-card p{color:var(--muted);margin:0}.service-card .num{color:var(--gold);font-size:12px;letter-spacing:.18em}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.tile{position:relative;min-height:320px;overflow:hidden;background:var(--panel)}.tile.large{grid-column:span 7;min-height:540px}.tile.medium{grid-column:span 5;min-height:540px}.tile.third{grid-column:span 4}.tile.half{grid-column:span 6}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.tile:hover img{transform:scale(1.035)}.caption{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.split-img{min-height:560px;object-fit:cover;width:100%}.kicker-list{display:grid;gap:18px;margin-top:28px}.kicker{border-top:1px solid var(--line);padding-top:18px}.kicker strong{display:block;color:#fff}.kicker span{color:var(--muted)}.dark-panel{background:linear-gradient(135deg,#12364b,#17425B);border-block:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:#12364b;padding:28px}.stat b{font-family:var(--serif);font-size:40px;font-weight:400}.stat span{display:block;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.video-shell{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid var(--line)}.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.page-nav{background:#12364b;border-block:1px solid var(--line);position:sticky;top:70px;z-index:10}.page-nav .wrap{display:flex;gap:20px;overflow:auto}.page-nav a{white-space:nowrap;padding:16px 0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.cta{padding:100px 0;background:radial-gradient(circle at 20% 0%,rgba(191,164,106,.18),transparent 28%),#102f42}.cta-box{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;border:1px solid var(--line);padding:45px;background:rgba(226,236,240,.04)}.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.05;margin:0 0 14px}.cta p{color:var(--muted);margin:0}.footer{padding:36px 0;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.footer .wrap{display:flex;justify-content:space-between;gap:20px}.subpage-hero-card{position:absolute;right:7vw;bottom:70px;width:min(420px,35vw);z-index:2;background:rgba(7,18,26,.72);border:1px solid var(--line);padding:24px;backdrop-filter:blur(10px)}.subpage-hero-card p{color:var(--muted);margin:8px 0 0}.mock-note{border:1px solid rgba(199,168,107,.35);background:rgba(199,168,107,.08);color:#e6d3a6;padding:12px 14px;border-radius:10px;font-size:13px;margin-top:24px;max-width:720px}@media(max-width:900px){.links{display:none}.hero h1,.page-title{font-size:32px}.section-head,.split,.cta-box{grid-template-columns:1fr;display:grid}.service-grid,.stats{grid-template-columns:1fr}.tile,.tile.large,.tile.medium,.tile.third,.tile.half{grid-column:span 12;min-height:330px}.subpage-hero-card{display:none}.footer .wrap{display:block}.hero-copy{padding-bottom:60px}section{padding:64px 0}}

/* v7 research-driven polish */
.proof-strip{border-block:1px solid var(--line);background:rgba(226,236,240,.035);padding:18px 0}.proof-strip .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.proof-strip b{color:var(--text);font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.project-card img{height:300px;width:100%;object-fit:cover}.project-card .body{padding:22px}.project-card .meta{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.project-card h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.05;margin:0 0 10px}.project-card p{margin:0;color:var(--muted)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-step{background:var(--panel);padding:30px}.process-step .num{color:var(--gold);font-size:12px;letter-spacing:.16em}.process-step h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:12px 0}.process-step p{color:var(--muted);margin:0}.quote-band{font-family:var(--serif);font-size:clamp(28px,3.2vw,48px);line-height:1.12;letter-spacing:-.035em;max-width:980px}.small-copy{color:var(--muted);font-size:15px;max-width:700px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.pill{border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.pill.active{background:var(--cream);color:#17425B;border-color:var(--cream)}@media(max-width:900px){.project-grid,.process{grid-template-columns:1fr}.project-card img{height:260px}.proof-strip .wrap{display:grid;gap:10px}}


/* Homepage video hero test — true full-bleed Vimeo intro under fixed header */
html, body{overflow-x:hidden;}
.hero.hero-video-full{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  padding:0 !important;
  background:#000 !important;
}
.hero.hero-video-full .hero-media{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100vw !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
}
.hero.hero-video-full .hero-media:after{display:none !important;}
.hero.hero-video-full .vimeo-bg{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  display:block !important;
  width:100vw !important;
  height:100% !important;
  max-width:none !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  pointer-events:none !important;
}
.hero-actions{
  padding:26px 0 62px !important;
  background:var(--bg) !important;
}
.hero-actions .button-row{
  justify-content:center !important;
  margin-top:0 !important;
}
@media(max-width:900px){
  .hero.hero-video-full{margin-top:0 !important;}
  .hero.hero-video-full .hero-media{aspect-ratio:16 / 9 !important;}
}

/* Mobile header fix — keep SFP logo uncropped over video */
@media(max-width:900px){
  .site-header{
    overflow:visible;
  }
  .nav{
    justify-content:center;
    padding:14px 0 12px;
  }
  .brand{
    width:100%;
    justify-content:center;
  }
  .brand-logo{
    width:min(76vw,260px);
    max-width:260px;
    height:auto;
    object-fit:contain;
  }
}
@media(max-width:420px){
  .wrap{width:min(var(--max),calc(100% - 34px));}
  .brand-logo{
    width:min(82vw,245px);
  }
  .nav{
    padding:12px 0 10px;
  }
}

/* Sitewide clean media hero rule — media under glass header, no text overlay */
.hero.hero-clean-media{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  padding:0 !important;
  background:#000 !important;
}
.hero.hero-clean-media .hero-media{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100vw !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#000 !important;
}
.hero.hero-clean-media .hero-media:after{display:none !important;}
.hero.hero-clean-media .hero-media img,
.hero.hero-clean-media .hero-media iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border:0 !important;
}
@media(max-width:900px){
  .hero.hero-clean-media .hero-media{aspect-ratio:4 / 5 !important;}
}


/* 2026-06-12 homepage revenue positioning pass */
.home-intro{
  padding:64px 0 78px;
  background:radial-gradient(circle at 18% 0%, rgba(191,164,106,.18), transparent 30%), linear-gradient(180deg, #102f42, #12364b);
  border-bottom:1px solid var(--line);
}
.home-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:42px;
  align-items:end;
}
.home-intro h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(38px,5vw,72px);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:920px;
  margin:0 0 22px;
}
.home-intro .lead{
  max-width:780px;
  font-size:clamp(17px,1.4vw,21px);
}
.home-intro-card{
  border:1px solid var(--line);
  background:rgba(226,236,240,.055);
  padding:24px;
  display:grid;
  gap:10px;
}
.home-intro-card strong{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
}
.home-intro-card span{
  color:var(--cream);
  font-size:15px;
  line-height:1.45;
}
.service-grid.service-grid-four{
  grid-template-columns:repeat(4,1fr);
}
.service-grid-four .service-card{
  min-height:300px;
  padding:28px;
}
.service-grid-four .service-card h3{
  font-size:24px;
}
@media(max-width:1050px){
  .home-intro-grid{grid-template-columns:1fr;}
  .service-grid.service-grid-four{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .home-intro{padding:48px 0 58px;}
  .service-grid.service-grid-four{grid-template-columns:1fr;}
}

/* 2026-06-12 sitewide page intro / SEO clarity pass */
.page-intro{
  padding:54px 0 66px;
  background:radial-gradient(circle at 14% 0%, rgba(191,164,106,.16), transparent 28%), linear-gradient(180deg, #102f42, #12364b);
  border-bottom:1px solid var(--line);
}
.page-intro h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(36px,4.7vw,66px);
  line-height:1;
  letter-spacing:-.045em;
  max-width:980px;
  margin:0 0 20px;
}
.page-intro .lead{
  max-width:820px;
  font-size:clamp(17px,1.35vw,20px);
}
@media(max-width:900px){
  .page-intro{padding:44px 0 54px;}
}


/* 2026-06-12 modern commercial typography pass — one sans family, calmer hero scale */
:root{
  --serif: Inter, Avenir Next, Helvetica Neue, Arial, sans-serif;
  --sans: Inter, Avenir Next, Helvetica Neue, Arial, sans-serif;
}
.hero h1,
.page-title,
.section-head h2,
.cta h2,
.quote-band,
.project-card h3,
.service-card h3,
.process-step h3,
.home-intro h1,
.page-intro h1{
  font-family:var(--sans) !important;
  font-weight:720 !important;
  letter-spacing:-.045em;
}
.home-intro{
  padding:48px 0 58px !important;
}
.home-intro h1{
  font-size:clamp(32px,3.65vw,52px) !important;
  line-height:1.03 !important;
  max-width:820px !important;
  margin-bottom:18px !important;
}
.home-intro .lead{
  font-size:clamp(16px,1.15vw,18px) !important;
  line-height:1.5 !important;
  max-width:720px !important;
}
.page-intro h1{
  font-size:clamp(32px,3.7vw,52px) !important;
  line-height:1.04 !important;
  max-width:860px !important;
}
.section-head h2,
.cta h2,
.page-title{
  font-size:clamp(28px,2.9vw,42px) !important;
  line-height:1.08 !important;
}
.quote-band{
  font-size:clamp(26px,2.9vw,42px) !important;
  line-height:1.14 !important;
}
.service-card h3,
.project-card h3,
.process-step h3{
  letter-spacing:-.03em;
}

/* 2026-06-12 correction — remove chunky/playful headline treatment */
:root{
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.home-intro{
  padding:42px 0 54px !important;
}
.home-intro-grid{
  grid-template-columns:minmax(0, 1fr) 340px !important;
  gap:48px !important;
  align-items:center !important;
}
.home-intro h1,
.page-intro h1{
  font-family:var(--sans) !important;
  font-weight:520 !important;
  font-size:clamp(30px,3.15vw,44px) !important;
  line-height:1.14 !important;
  letter-spacing:-.026em !important;
  max-width:760px !important;
  text-wrap:balance;
}
.home-intro .eyebrow,
.page-intro .eyebrow{
  font-size:11px !important;
  letter-spacing:.18em !important;
  margin-bottom:15px !important;
  color:rgba(191,164,106,.92) !important;
}
.home-intro .lead,
.page-intro .lead{
  font-size:clamp(15.5px,1.05vw,17px) !important;
  line-height:1.58 !important;
  max-width:690px !important;
  color:rgba(241,234,220,.9) !important;
}
.section-head h2,
.cta h2,
.page-title,
.quote-band{
  font-weight:520 !important;
  letter-spacing:-.028em !important;
}
.service-card h3,
.project-card h3,
.process-step h3{
  font-weight:560 !important;
  letter-spacing:-.025em !important;
}
@media(max-width:1050px){
  .home-intro-grid{grid-template-columns:1fr !important;}
}

/* 2026-06-12 Studio Recall + Ema Peter homepage direction pass */
:root{
  --bg:#0d2838;
  --panel:#113348;
  --panel2:#163f56;
  --ink:#f7f2e8;
  --stone:#c9c1b3;
  --soft-line:rgba(247,242,232,.14);
}
body{background:var(--bg);}
.site-header{background:rgba(13,40,56,.34) !important;border-bottom:1px solid rgba(247,242,232,.09) !important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.links{gap:22px;font-size:11px;letter-spacing:.16em;font-weight:640;color:rgba(247,242,232,.9)}
.nav-cta{padding:9px 14px;background:rgba(247,242,232,.055);border-color:rgba(247,242,232,.42)}
.home-cinematic.hero.hero-video-full .hero-media{aspect-ratio:16/8.9 !important;}
.studio-opening{padding:58px 0 48px !important;background:linear-gradient(180deg,#0d2838,#102f42);border-bottom:1px solid var(--soft-line)}
.studio-opening-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.68fr);gap:64px;align-items:end}
.studio-opening h1{margin:0;font-family:var(--sans) !important;font-weight:460 !important;font-size:clamp(31px,3.55vw,54px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;max-width:900px;color:var(--ink)}
.opening-copy{border-left:1px solid var(--soft-line);padding-left:30px;color:rgba(247,242,232,.82)}
.opening-copy p{margin:0;max-width:480px;font-size:16px;line-height:1.62;color:rgba(247,242,232,.82)}
.opening-copy .button-row{margin-top:28px}
.project-index{padding:0 !important;background:#0b2230;border-block:1px solid var(--soft-line)}
.project-index-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--soft-line)}
.index-link{min-height:170px;padding:25px 22px 24px;border-right:1px solid var(--soft-line);display:flex;flex-direction:column;justify-content:space-between;transition:background .2s ease,color .2s ease}
.index-link:hover{background:rgba(247,242,232,.065)}
.index-link span{font-size:11px;letter-spacing:.18em;color:rgba(191,164,106,.95)}
.index-link strong{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.index-link em{display:block;font-style:normal;color:rgba(247,242,232,.62);font-size:13px;line-height:1.45;max-width:230px}
.selected-work{padding:88px 0 !important;background:#102f42}
.selected-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,440px);gap:48px;align-items:end;margin-bottom:34px}
.selected-head h2,.quiet-proof h2{font-family:var(--sans) !important;font-weight:470 !important;font-size:clamp(28px,3vw,43px);line-height:1.1;letter-spacing:-.035em;margin:0;color:var(--ink);text-wrap:balance}
.selected-head p{margin:0;color:rgba(247,242,232,.66);line-height:1.58}
.editorial-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-auto-rows:275px;gap:16px}
.editorial-card{position:relative;overflow:hidden;background:#071923;border:1px solid var(--soft-line)}
.editorial-card.large{grid-row:span 2}
.editorial-card.tall{grid-row:span 2}
.editorial-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease;filter:saturate(.92) contrast(1.02)}
.editorial-card:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
.editorial-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.72));pointer-events:none}
.editorial-card div{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.editorial-card span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,242,232,.68);margin-bottom:7px}
.editorial-card h3{margin:0;font-family:var(--sans) !important;font-weight:500 !important;font-size:clamp(19px,1.8vw,30px);line-height:1.08;letter-spacing:-.03em;color:#fff}
.quiet-proof{padding:82px 0 !important;background:#0b2230;border-block:1px solid var(--soft-line)}
.proof-columns{display:grid;grid-template-columns:minmax(0,.78fr) minmax(320px,1fr);gap:72px;align-items:start}
.proof-list{display:grid;gap:22px;border-left:1px solid var(--soft-line);padding-left:34px}
.proof-list p{margin:0;color:rgba(247,242,232,.68);font-size:15px;line-height:1.62}
.proof-list strong{display:block;color:var(--ink);font-weight:560;margin-bottom:3px}
.cta{background:radial-gradient(circle at 12% 0%,rgba(191,164,106,.13),transparent 30%),#102f42 !important}
.cta-box{background:rgba(247,242,232,.035) !important;border-color:var(--soft-line) !important}
.cta h2{font-family:var(--sans) !important;font-weight:470 !important;letter-spacing:-.035em !important}
.btn{transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn.primary{background:var(--ink);border-color:var(--ink);color:#102f42}.btn:not(.primary):hover{background:rgba(247,242,232,.06);border-color:rgba(247,242,232,.48)}
@media(max-width:1050px){
  .studio-opening-grid,.selected-head,.proof-columns{grid-template-columns:1fr;gap:28px}.opening-copy,.proof-list{border-left:0;padding-left:0}.project-index-grid{grid-template-columns:repeat(2,1fr)}.editorial-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.editorial-card.large{grid-column:span 2}.editorial-card.tall{grid-row:span 1}
}
@media(max-width:720px){
  .home-cinematic.hero.hero-video-full .hero-media{aspect-ratio:4/5 !important}.studio-opening{padding:42px 0 40px !important}.studio-opening h1{font-size:clamp(28px,9vw,38px)}.project-index-grid{grid-template-columns:1fr}.index-link{min-height:132px}.editorial-grid{grid-template-columns:1fr;grid-auto-rows:240px}.editorial-card.large{grid-column:auto;grid-row:span 1}.selected-work,.quiet-proof{padding:58px 0 !important}
}

/* 2026-06-12 still-led homepage correction — references are photography-first */
.hero.hero-still-home{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  padding:0 !important;
  background:#071923 !important;
}
.hero.hero-still-home .hero-media{
  position:relative !important;
  inset:auto !important;
  display:block !important;
  width:100vw !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  overflow:hidden !important;
  background:#071923 !important;
}
.hero.hero-still-home .hero-media:after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(7,25,35,.06),rgba(7,25,35,.18) 72%,rgba(13,40,56,.54)) !important;
  pointer-events:none !important;
}
.hero.hero-still-home img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:saturate(.94) contrast(1.03) !important;
}
@media(max-width:720px){
  .hero.hero-still-home .hero-media{aspect-ratio:4/5 !important;}
  .hero.hero-still-home img{object-position:center center !important;}
}

/* 2026-06-12 composition pass — still-led editorial homepage */
.hero.hero-still-home .hero-media{aspect-ratio:16/8.25 !important;}
.hero-caption{
  position:absolute;
  left:clamp(24px,4.5vw,72px);
  right:clamp(24px,4.5vw,72px);
  bottom:22px;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-top:14px;
  border-top:1px solid rgba(247,242,232,.34);
  color:rgba(247,242,232,.82);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.studio-opening{padding:50px 0 42px !important;}
.studio-opening-grid{grid-template-columns:minmax(0,1.22fr) minmax(300px,.58fr) !important;gap:72px !important;}
.studio-opening h1{font-size:clamp(30px,3.25vw,49px) !important;line-height:1.12 !important;max-width:940px !important;}
.opening-copy p{font-size:15px !important;line-height:1.68 !important;color:rgba(247,242,232,.74) !important;}
.project-index{background:#091f2c !important;}
.index-link{min-height:148px !important;padding:22px 20px 20px !important;}
.index-link strong{font-size:20px !important;font-weight:480 !important;}
.index-link em{font-size:12.5px !important;color:rgba(247,242,232,.56) !important;}
.selected-work{padding:76px 0 84px !important;}
.selected-head{margin-bottom:26px !important;}
.selected-head h2,.quiet-proof h2{font-size:clamp(27px,2.65vw,39px) !important;line-height:1.13 !important;}
.selected-head p{font-size:14.5px;line-height:1.65;color:rgba(247,242,232,.6)}
.editorial-grid{grid-template-columns:1.06fr .94fr !important;grid-auto-rows:260px !important;gap:14px !important;}
.editorial-card{border-color:rgba(247,242,232,.11) !important;}
.editorial-card div{left:20px !important;right:20px !important;bottom:18px !important;}
.editorial-card span{font-size:9.5px !important;color:rgba(247,242,232,.62) !important;}
.editorial-card h3{font-size:clamp(18px,1.55vw,26px) !important;font-weight:470 !important;}
.quiet-proof{padding:68px 0 !important;}
.proof-columns{gap:84px !important;}
.proof-list p{font-size:14.5px !important;color:rgba(247,242,232,.64) !important;}
.cta{padding:74px 0 !important;}
@media(max-width:1050px){
  .studio-opening-grid{grid-template-columns:1fr !important;gap:26px !important;}
  .hero-caption{font-size:9.5px;}
}
@media(max-width:720px){
  .hero.hero-still-home .hero-media{aspect-ratio:4/5 !important;}
  .hero-caption{display:none;}
  .studio-opening{padding:38px 0 36px !important;}
}

/* 2026-06-12 nav readability adjustment */
.links{
  font-size:12px !important;
  letter-spacing:.13em !important;
}
.nav-cta{
  padding:10px 16px !important;
}
@media(max-width:1100px){
  .links{gap:18px !important;font-size:11.5px !important;letter-spacing:.12em !important;}
}

/* 2026-06-12 hero crop adjustment — reveal top building lettering under fixed header */
.hero.hero-still-home img{
  object-position:center 42% !important;
}
@media(max-width:720px){
  .hero.hero-still-home img{object-position:center 45% !important;}
}

/* 2026-06-12 mobile-only hamburger navigation */
.mobile-menu-toggle,
.mobile-menu{display:none;}
@media(max-width:900px){
  .nav{position:relative;justify-content:center !important;}
  .mobile-menu-toggle{
    display:inline-grid;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    place-items:center;
    gap:0;
    border:1px solid rgba(247,242,232,.28);
    border-radius:999px;
    background:rgba(247,242,232,.055);
    color:var(--ink);
    padding:0;
    z-index:35;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-toggle span{
    display:block;
    width:17px;
    height:1.5px;
    background:rgba(247,242,232,.92);
    border-radius:2px;
    transition:transform .2s ease, opacity .2s ease;
    grid-column:1;
    grid-row:1;
  }
  .mobile-menu-toggle span:nth-child(1){transform:translateY(-6px);}
  .mobile-menu-toggle span:nth-child(3){transform:translateY(6px);}
  .mobile-menu-toggle.is-open span:nth-child(1){transform:rotate(42deg);}
  .mobile-menu-toggle.is-open span:nth-child(2){opacity:0;}
  .mobile-menu-toggle.is-open span:nth-child(3){transform:rotate(-42deg);}
  .mobile-menu[hidden]{display:none !important;}
  .mobile-menu{
    display:grid;
    position:fixed;
    z-index:30;
    top:67px;
    left:14px;
    right:14px;
    padding:18px;
    gap:2px;
    border:1px solid rgba(247,242,232,.14);
    border-radius:22px;
    background:rgba(9,31,44,.94);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 24px 70px rgba(0,0,0,.42);
  }
  .mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 14px;
    color:rgba(247,242,232,.92);
    border-bottom:1px solid rgba(247,242,232,.08);
    font-size:13px;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:560;
  }
  .mobile-menu a:last-child{border-bottom:0;}
  .mobile-menu a:after{content:"›";font-size:18px;color:rgba(191,164,106,.86);letter-spacing:0;}
  .mobile-menu .mobile-menu-cta{
    margin-top:10px;
    justify-content:center;
    border:1px solid rgba(247,242,232,.28);
    border-radius:999px;
    background:rgba(247,242,232,.08);
  }
  .mobile-menu .mobile-menu-cta:after{content:"";}
}
@media(min-width:901px){
  .mobile-menu-open .mobile-menu{display:none !important;}
}

/* 2026-06-12 nav color refinement — warm white with gold interaction */
.links a{
  color:rgba(247,242,232,.94) !important;
}
.links a:hover,
.links a:focus-visible{
  color:rgba(191,164,106,.98) !important;
}
.nav-cta{
  color:rgba(247,242,232,.96) !important;
  border-color:rgba(247,242,232,.44) !important;
}
.nav-cta:hover,
.nav-cta:focus-visible{
  color:rgba(191,164,106,.98) !important;
  border-color:rgba(191,164,106,.72) !important;
  background:rgba(191,164,106,.08) !important;
}

/* 2026-06-12 nav shadow cleanup — crisp text, gold only on hover */
.site-header .links,
.site-header .brand-logo{
  filter:none !important;
}
.links,
.links a,
.nav-cta{
  text-shadow:none !important;
  box-shadow:none !important;
}
.links a:hover,
.links a:focus-visible,
.nav-cta:hover,
.nav-cta:focus-visible{
  text-shadow:none !important;
  box-shadow:none !important;
}

/* 2026-06-12 hero caption legibility refinement */
.hero.hero-still-home .hero-media:after{
  background:
    linear-gradient(180deg, rgba(7,25,35,.04), rgba(7,25,35,.12) 58%, rgba(6,18,26,.62) 100%),
    linear-gradient(0deg, rgba(6,18,26,.46), rgba(6,18,26,0) 34%) !important;
}
.hero-caption{
  bottom:28px !important;
  padding-top:16px !important;
  border-top-color:rgba(247,242,232,.46) !important;
  color:rgba(247,242,232,.92) !important;
  font-size:11px !important;
  font-weight:620 !important;
  letter-spacing:.145em !important;
  text-shadow:0 2px 10px rgba(0,0,0,.62) !important;
}
@media(max-width:1050px){
  .hero-caption{
    font-size:10.5px !important;
    letter-spacing:.13em !important;
  }
}

/* 2026-06-12 hero caption gradient pullback — protect the photograph */
.hero.hero-still-home .hero-media:after{
  background:
    linear-gradient(0deg, rgba(6,18,26,.38), rgba(6,18,26,.18) 10%, rgba(6,18,26,0) 24%) !important;
}
.hero-caption{
  text-shadow:0 2px 8px rgba(0,0,0,.68) !important;
}

/* 2026-06-12 header logo readability bump */
.brand-logo{
  width:clamp(255px,24vw,385px) !important;
}
@media(max-width:900px){
  .brand-logo{
    width:min(82vw,292px) !important;
    max-width:292px !important;
  }
}
@media(max-width:420px){
  .brand-logo{
    width:min(84vw,276px) !important;
    max-width:276px !important;
  }
}

/* 2026-06-12 mobile portrait hero caption bar */
@media(max-width:720px){
  .hero.hero-still-home .hero-media{
    overflow:visible !important;
    margin-bottom:0 !important;
  }
  .hero-caption{
    display:flex !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:3 !important;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    width:100% !important;
    padding:13px 20px 14px !important;
    border-top:1px solid rgba(247,242,232,.18) !important;
    border-bottom:1px solid rgba(247,242,232,.10) !important;
    background:#091f2c !important;
    color:rgba(247,242,232,.88) !important;
    font-size:9.5px !important;
    font-weight:620 !important;
    letter-spacing:.12em !important;
    line-height:1.35 !important;
    text-shadow:none !important;
  }
  .hero-caption span:last-child{
    text-align:right;
    color:rgba(191,164,106,.92) !important;
  }
}
@media(max-width:390px){
  .hero-caption{
    padding-left:16px !important;
    padding-right:16px !important;
    font-size:9px !important;
    gap:10px;
  }
}

/* 2026-06-12 revert mobile caption bar — keep caption only as hero-image overlay */
@media(max-width:720px){
  .hero.hero-still-home .hero-media{
    overflow:hidden !important;
    margin-bottom:0 !important;
  }
  .hero-caption{
    display:flex !important;
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    bottom:16px !important;
    width:auto !important;
    z-index:3 !important;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
    padding:10px 0 0 !important;
    border-top:1px solid rgba(247,242,232,.38) !important;
    border-bottom:0 !important;
    background:transparent !important;
    color:rgba(247,242,232,.92) !important;
    font-size:9px !important;
    font-weight:620 !important;
    letter-spacing:.105em !important;
    line-height:1.35 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.7) !important;
  }
  .hero-caption span:last-child{
    text-align:right;
    color:rgba(247,242,232,.9) !important;
    max-width:52%;
  }
  .hero.hero-still-home .hero-media:after{
    background:linear-gradient(0deg, rgba(6,18,26,.36), rgba(6,18,26,.12) 18%, rgba(6,18,26,0) 38%) !important;
  }
}
@media(max-width:390px){
  .hero-caption{
    left:16px !important;
    right:16px !important;
    bottom:14px !important;
    font-size:8.5px !important;
    gap:10px;
  }
}

/* 2026-06-12 mobile caption no-wrap refinement */
.caption-mobile{display:none;}
@media(max-width:720px){
  .caption-desktop{display:none;}
  .caption-mobile{display:inline;white-space:nowrap;}
  .hero-caption span:last-child{max-width:none !important;white-space:nowrap;}
}

/* 2026-06-12 tighten hero-to-intro transition */
.studio-opening{
  padding-top:26px !important;
}
@media(max-width:720px){
  .studio-opening{
    padding-top:24px !important;
  }
}

/* 2026-06-12 match intro bottom padding to tightened top rhythm */
.studio-opening{
  padding-bottom:32px !important;
}
@media(max-width:720px){
  .studio-opening{
    padding-bottom:32px !important;
  }
}

/* 2026-06-12 tighten Selected Work top after removing service index */
.selected-work{
  padding-top:34px !important;
}
@media(max-width:720px){
  .selected-work{
    padding-top:30px !important;
  }
}

/* 2026-06-12 tighten Selected Work section rhythm */
.selected-work{
  padding-bottom:52px !important;
}
.selected-head{
  margin-bottom:18px !important;
}
.quiet-proof{
  padding-top:48px !important;
}
@media(max-width:720px){
  .selected-work{
    padding-bottom:44px !important;
  }
  .selected-head{
    margin-bottom:16px !important;
  }
  .quiet-proof{
    padding-top:42px !important;
  }
}

/* 2026-06-12 tighter section transitions around Selected Work / Commercial Clarity */
.selected-work{
  padding-top:24px !important;
  padding-bottom:34px !important;
}
.quiet-proof{
  padding-top:32px !important;
  padding-bottom:44px !important;
}
@media(max-width:720px){
  .selected-work{
    padding-top:22px !important;
    padding-bottom:30px !important;
  }
  .quiet-proof{
    padding-top:30px !important;
    padding-bottom:38px !important;
  }
}

/* 2026-06-12 tighter Commercial Clarity to CTA transition */
.quiet-proof{
  padding-bottom:28px !important;
}
.cta{
  padding-top:28px !important;
}
@media(max-width:720px){
  .quiet-proof{
    padding-bottom:24px !important;
  }
  .cta{
    padding-top:24px !important;
  }
}

/* 2026-06-12 compact footer padding */
.footer{
  padding:18px 0 !important;
}
.footer .wrap{
  align-items:center;
}
@media(max-width:720px){
  .footer{
    padding:16px 0 !important;
  }
}

/* 2026-06-12 homepage vertical rhythm normalization */
:root{
  --home-section-pad:28px;
  --home-section-pad-mobile:24px;
  --home-grid-gap:14px;
}
.studio-opening,
.selected-work,
.quiet-proof,
.cta{
  padding-top:var(--home-section-pad) !important;
  padding-bottom:var(--home-section-pad) !important;
}
.selected-head{
  margin-bottom:18px !important;
}
.editorial-grid{
  gap:var(--home-grid-gap) !important;
}
.cta-box{
  margin:0 !important;
}
.footer{
  padding-top:16px !important;
  padding-bottom:16px !important;
}
@media(max-width:720px){
  .studio-opening,
  .selected-work,
  .quiet-proof,
  .cta{
    padding-top:var(--home-section-pad-mobile) !important;
    padding-bottom:var(--home-section-pad-mobile) !important;
  }
  .selected-head{
    margin-bottom:16px !important;
  }
  .editorial-grid{
    gap:12px !important;
  }
}

/* 2026-06-12 recenter CTA card while preserving approved padding rhythm */
.cta-box{
  margin-left:auto !important;
  margin-right:auto !important;
  width:min(var(--max), calc(100% - 56px)) !important;
}
@media(max-width:720px){
  .cta-box{
    width:min(var(--max), calc(100% - 34px)) !important;
  }
}

/* 2026-06-23 About page desktop intro correction — quieter than homepage hero */
.about-page .page-intro{
  padding-top:118px !important;
  padding-bottom:36px !important;
}
.about-page .page-intro h1{
  font-size:clamp(32px,3vw,42px) !important;
  line-height:1.08 !important;
  max-width:780px !important;
  margin-bottom:16px !important;
}
.about-page .page-intro .lead{
  font-size:clamp(15px,1.05vw,17px) !important;
  line-height:1.5 !important;
  max-width:820px !important;
}
.about-page .page-intro .button-row{
  margin-top:24px !important;
}
.about-page .page-intro .btn{
  padding:11px 16px !important;
  font-size:11px !important;
}
@media(max-width:900px){
  .about-page .page-intro{
    padding-top:96px !important;
    padding-bottom:30px !important;
  }
  .about-page .page-intro h1{
    font-size:clamp(28px,7vw,36px) !important;
    line-height:1.09 !important;
  }
  .about-page .page-intro .button-row{
    margin-top:20px !important;
  }
}

/* 2026-06-23 homepage editorial restraint pass — creative portfolio, not sales page */
body:not(.about-page) .studio-opening h1{
  font-size:clamp(25px,2.25vw,36px) !important;
  line-height:1.16 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
  max-width:760px !important;
}
body:not(.about-page) .studio-opening{
  padding-top:24px !important;
  padding-bottom:26px !important;
}
body:not(.about-page) .studio-opening-grid{
  grid-template-columns:minmax(0,.98fr) minmax(300px,.62fr) !important;
  gap:58px !important;
  align-items:center !important;
}
body:not(.about-page) .opening-copy p{
  font-size:14.5px !important;
  line-height:1.58 !important;
  max-width:500px !important;
}
body:not(.about-page) .opening-copy .button-row{
  margin-top:20px !important;
}
body:not(.about-page) .hero.hero-still-home .hero-media{
  aspect-ratio:16/8.6 !important;
}
body:not(.about-page) .hero.hero-still-home img{
  object-position:center 48% !important;
}
body:not(.about-page) .selected-head h2,
body:not(.about-page) .quiet-proof h2,
body:not(.about-page) .cta h2{
  font-size:clamp(24px,2.15vw,34px) !important;
  line-height:1.16 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
}
body:not(.about-page) .selected-head p,
body:not(.about-page) .proof-list p,
body:not(.about-page) .cta p{
  font-size:14px !important;
  line-height:1.58 !important;
}
body:not(.about-page) .btn{
  padding:10px 15px !important;
  font-size:10.5px !important;
  letter-spacing:.13em !important;
}
@media(max-width:1050px){
  body:not(.about-page) .studio-opening-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}
@media(max-width:720px){
  body:not(.about-page) .studio-opening h1{
    font-size:clamp(24px,7vw,32px) !important;
    line-height:1.15 !important;
  }
  body:not(.about-page) .hero.hero-still-home .hero-media{
    aspect-ratio:4/5 !important;
  }
  body:not(.about-page) .hero.hero-still-home img{
    object-position:center 48% !important;
  }
}

/* 2026-07-09 launch-readiness mobile containment pass */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
body *{
  min-width:0;
}
.wrap{
  max-width:100%;
}
.studio-opening-grid,
.selected-head,
.proof-columns,
.cta-box,
.split,
.project-grid,
.process,
.service-grid,
.stats,
.editorial-grid{
  min-width:0;
}
.cta-box{
  width:100% !important;
}
@media(max-width:720px){
  .wrap{
    width:calc(100% - 34px) !important;
  }
  .site-header{
    overflow:visible !important;
  }
  .nav{
    display:flex !important;
    min-width:0 !important;
  }
  .brand{
    min-width:0 !important;
    max-width:calc(100% - 58px) !important;
  }
  .brand-logo{
    width:min(68vw,250px) !important;
    max-width:250px !important;
  }
  .mobile-menu-toggle{
    right:0 !important;
    flex:0 0 auto !important;
  }
  .mobile-menu{
    left:12px !important;
    right:12px !important;
    width:auto !important;
  }
  .studio-opening-grid,
  .selected-head,
  .proof-columns,
  .cta-box,
  .split{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
  }
  .opening-copy,
  .selected-head p,
  .proof-list,
  .cta-box > *,
  .split > *{
    max-width:100% !important;
  }
  .button-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
  }
  .button-row .btn,
  .hero-actions .btn,
  .cta-box .btn{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.25 !important;
  }
  .hero-actions{
    padding:18px 0 30px !important;
  }
  .hero-caption{
    display:none !important;
  }
  .editorial-grid,
  .project-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-rows:auto !important;
    gap:14px !important;
  }
  .editorial-card,
  .editorial-card.large,
  .editorial-card.tall{
    grid-column:auto !important;
    min-height:300px !important;
    height:auto !important;
  }
  .editorial-card img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .project-card img{
    height:245px !important;
  }
  .page-intro,
  .studio-opening,
  .selected-work,
  .quiet-proof,
  .cta,
  section{
    overflow:hidden;
  }
}


/* 2026-07-09 hard mobile clamp — final override layer before launch QA */
@media(max-width:720px){
  html,
  body,
  main,
  header,
  footer{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  main,
  section,
  .site-header,
  .footer{
    position:relative;
    left:auto !important;
    right:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .wrap,
  .nav,
  .studio-opening-grid,
  .selected-head,
  .proof-columns,
  .cta-box,
  .split,
  .project-grid,
  .process,
  .service-grid,
  .stats,
  .editorial-grid,
  .page-intro .wrap,
  .hero-actions .wrap,
  .footer .wrap{
    width:auto !important;
    max-width:none !important;
    margin-left:17px !important;
    margin-right:17px !important;
  }
  .nav{
    margin-left:17px !important;
    margin-right:17px !important;
  }
  .page-intro .wrap,
  .studio-opening-grid,
  .selected-head,
  .proof-columns,
  .cta-box,
  .split,
  .project-grid,
  .process,
  .service-grid,
  .stats,
  .editorial-grid{
    box-sizing:border-box !important;
  }
  .page-intro h1,
  .studio-opening h1,
  .selected-head h2,
  .quiet-proof h2,
  .cta h2,
  .page-title,
  .lead,
  .opening-copy p,
  .selected-head p,
  .proof-list p,
  .cta p,
  p,
  h1,
  h2,
  h3{
    max-width:100% !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  .button-row{
    max-width:100% !important;
  }
  .btn,
  .btn.primary,
  .nav-cta,
  .mobile-menu-cta{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .hero.hero-still-home,
  .hero.hero-clean-media,
  .hero.hero-video-full{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .hero.hero-still-home .hero-media,
  .hero.hero-clean-media .hero-media,
  .hero.hero-video-full .hero-media{
    width:100% !important;
    max-width:100% !important;
  }
  .editorial-card div{
    left:16px !important;
    right:16px !important;
  }
  .cta-box{
    padding:24px !important;
  }
}


/* 2026-07-09 mobile gutter safety — keep copy off viewport edge */
@media(max-width:720px){
  .wrap,
  .nav,
  .studio-opening-grid,
  .selected-head,
  .proof-columns,
  .cta-box,
  .split,
  .project-grid,
  .process,
  .service-grid,
  .stats,
  .editorial-grid,
  .page-intro .wrap,
  .hero-actions .wrap,
  .footer .wrap{
    margin-left:28px !important;
    margin-right:28px !important;
  }
  .page-intro h1,
  .studio-opening h1,
  .selected-head h2,
  .quiet-proof h2,
  .cta h2,
  .page-title,
  .lead,
  .opening-copy p,
  .selected-head p,
  .proof-list p,
  .cta p{
    padding-right:2px !important;
  }
}
@media(max-width:420px){
  .wrap,
  .nav,
  .studio-opening-grid,
  .selected-head,
  .proof-columns,
  .cta-box,
  .split,
  .project-grid,
  .process,
  .service-grid,
  .stats,
  .editorial-grid,
  .page-intro .wrap,
  .hero-actions .wrap,
  .footer .wrap{
    margin-left:30px !important;
    margin-right:30px !important;
  }
  .brand-logo{
    width:min(62vw,230px) !important;
  }
}


/* 2026-07-09 restore approved SFP blue-glass button system */
.btn,
.btn.primary,
.nav-cta,
.mobile-menu-cta{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:10px 17px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  isolation:isolate !important;
  color:rgba(255,255,255,.94) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.035) 45%, rgba(0,0,0,.08)),
    rgba(23,66,91,.42) !important;
  border:1px solid rgba(235,246,250,.34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 8px 24px rgba(0,0,0,.16) !important;
  backdrop-filter:blur(14px) saturate(122%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(122%) !important;
  font-size:11px !important;
  font-weight:720 !important;
  letter-spacing:.095em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  transform:none !important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease,text-shadow .18s ease !important;
}
.btn::before,
.nav-cta::before,
.mobile-menu-cta::before{
  content:"" !important;
  position:absolute !important;
  inset:1px 1px auto 1px !important;
  height:46% !important;
  border-radius:999px 999px 18px 18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0)) !important;
  opacity:.68 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
.btn:hover,
.btn:focus-visible,
.btn.primary:hover,
.btn.primary:focus-visible,
.nav-cta:hover,
.nav-cta:focus-visible,
.mobile-menu-cta:hover,
.mobile-menu-cta:focus-visible,
.site-header .nav-cta:hover,
.site-header .nav-cta:focus-visible{
  color:#fff !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06) 45%, rgba(0,0,0,.06)),
    rgba(23,66,91,.58) !important;
  border-color:rgba(245,250,252,.62) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.26),
    inset 0 -1px 0 rgba(0,0,0,.10),
    0 11px 30px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.06) inset !important;
  text-shadow:0 0 8px rgba(255,255,255,.28) !important;
  transform:translateY(-1px) !important;
}
.btn:focus-visible,
.nav-cta:focus-visible,
.mobile-menu-cta:focus-visible{
  outline:2px solid rgba(191,164,106,.72) !important;
  outline-offset:3px !important;
}
body:not(.about-page) .studio-opening .btn:not(.primary){
  padding:10px 17px !important;
  border:1px solid rgba(235,246,250,.34) !important;
  border-radius:999px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.035) 45%, rgba(0,0,0,.08)),
    rgba(23,66,91,.42) !important;
  color:rgba(255,255,255,.94) !important;
}
body:not(.about-page) .studio-opening .btn:not(.primary)::after{
  content:"" !important;
}
body:not(.about-page) .studio-opening .btn:not(.primary):hover,
body:not(.about-page) .studio-opening .btn:not(.primary):focus-visible{
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06) 45%, rgba(0,0,0,.06)),
    rgba(23,66,91,.58) !important;
  border-color:rgba(245,250,252,.62) !important;
  transform:translateY(-1px) !important;
}
@media(max-width:720px){
  .btn,
  .btn.primary,
  .nav-cta,
  .mobile-menu-cta{
    min-height:42px !important;
    padding:11px 16px !important;
    font-size:10.5px !important;
    letter-spacing:.085em !important;
  }
}


/* 2026-07-09 mobile hero/header restore — image-backed glass header + caption line */
@media(max-width:720px){
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:40 !important;
    background:
      linear-gradient(180deg, rgba(7,25,35,.58), rgba(7,25,35,.28) 68%, rgba(7,25,35,.10)) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    backdrop-filter:blur(12px) saturate(125%) !important;
    -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
  }
  .site-header .nav{
    min-height:72px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
    margin-left:22px !important;
    margin-right:22px !important;
  }
  .brand-logo{
    width:min(64vw,232px) !important;
    max-width:232px !important;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,.42)) !important;
  }
  .mobile-menu-toggle{
    background:rgba(7,25,35,.18) !important;
    border-color:rgba(255,255,255,.28) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 4px 14px rgba(0,0,0,.16) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  .mobile-menu{
    top:76px !important;
  }
  .hero.hero-still-home{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  .hero.hero-still-home .hero-media{
    aspect-ratio:4 / 5 !important;
    overflow:hidden !important;
  }
  .hero.hero-still-home .hero-media:after{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:
      linear-gradient(180deg, rgba(7,25,35,.28), rgba(7,25,35,.03) 26%, rgba(7,25,35,0) 54%),
      linear-gradient(0deg, rgba(6,18,26,.48), rgba(6,18,26,.18) 17%, rgba(6,18,26,0) 38%) !important;
    pointer-events:none !important;
    z-index:1 !important;
  }
  .hero.hero-still-home img{
    object-position:center 34% !important;
  }
  .hero-caption{
    display:flex !important;
    position:absolute !important;
    left:24px !important;
    right:24px !important;
    bottom:18px !important;
    z-index:3 !important;
    width:auto !important;
    justify-content:space-between !important;
    align-items:flex-end !important;
    gap:14px !important;
    padding:10px 0 0 !important;
    border-top:1px solid rgba(247,242,232,.48) !important;
    border-bottom:0 !important;
    background:transparent !important;
    color:rgba(255,255,255,.94) !important;
    font-size:8.8px !important;
    font-weight:720 !important;
    letter-spacing:.105em !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
    text-shadow:0 2px 10px rgba(0,0,0,.78) !important;
    overflow:visible !important;
  }
  .hero-caption span{
    display:block !important;
    color:rgba(255,255,255,.94) !important;
    white-space:nowrap !important;
    max-width:50% !important;
  }
  .hero-caption span:last-child{
    text-align:right !important;
  }
}
@media(max-width:390px){
  .hero-caption{
    left:20px !important;
    right:20px !important;
    bottom:16px !important;
    font-size:8.2px !important;
    gap:10px !important;
    letter-spacing:.095em !important;
  }
  .site-header .nav{
    margin-left:20px !important;
    margin-right:20px !important;
  }
}


/* 2026-07-09 portrait final hero fix — pull image under header, full caption */
@media(max-width:720px) and (orientation:portrait){
  .site-header{
    height:78px !important;
    background:
      linear-gradient(180deg, rgba(7,25,35,.38), rgba(7,25,35,.16) 72%, rgba(7,25,35,0)) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    box-shadow:none !important;
  }
  main{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  .hero.hero-still-home{
    position:relative !important;
    margin-top:-78px !important;
    padding-top:78px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    background:#071923 !important;
  }
  .hero.hero-still-home .hero-media{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:4 / 5 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  .hero.hero-still-home img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 34% !important;
  }
  .hero-caption{
    display:flex !important;
    left:18px !important;
    right:18px !important;
    bottom:16px !important;
    gap:8px !important;
    font-size:7.7px !important;
    letter-spacing:.075em !important;
    border-top:1px solid rgba(247,242,232,.52) !important;
  }
  .hero-caption span{
    flex:0 1 auto !important;
    max-width:none !important;
    min-width:0 !important;
    white-space:nowrap !important;
  }
  .hero-caption span:first-child{
    max-width:44% !important;
  }
  .hero-caption span:last-child{
    max-width:56% !important;
  }
}
@media(max-width:390px) and (orientation:portrait){
  .hero-caption{
    left:16px !important;
    right:16px !important;
    font-size:7.2px !important;
    letter-spacing:.065em !important;
  }
}


/* 2026-07-09 portrait caption final — one compact line under hero */
@media(max-width:720px) and (orientation:portrait){
  .site-header{
    background:rgba(7,25,35,.10) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    backdrop-filter:blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter:blur(10px) saturate(120%) !important;
  }
  .hero-caption{
    display:block !important;
    left:22px !important;
    right:22px !important;
    bottom:17px !important;
    padding-top:9px !important;
    border-top:1px solid rgba(247,242,232,.54) !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:7.35px !important;
    letter-spacing:.052em !important;
    line-height:1 !important;
    color:rgba(255,255,255,.95) !important;
    text-shadow:0 2px 10px rgba(0,0,0,.82) !important;
  }
  .hero-caption span{
    display:none !important;
  }
  .hero-caption::after{
    content:"DOWNTOWN ORLANDO / COMMERCIAL ARCHITECTURE" !important;
    display:block !important;
  }
}
@media(max-width:390px) and (orientation:portrait){
  .hero-caption{
    left:18px !important;
    right:18px !important;
    font-size:6.9px !important;
    letter-spacing:.04em !important;
  }
}


/* 2026-07-09 portrait homepage copy width — less cramped, landscape unchanged */
@media(max-width:720px) and (orientation:portrait){
  body:not(.about-page) .studio-opening-grid{
    margin-left:18px !important;
    margin-right:18px !important;
    gap:18px !important;
  }
  body:not(.about-page) .studio-opening h1{
    max-width:100% !important;
    font-size:clamp(24px,7.15vw,30px) !important;
    line-height:1.18 !important;
    letter-spacing:-.026em !important;
    text-wrap:balance;
  }
  body:not(.about-page) .opening-copy p{
    max-width:100% !important;
    line-height:1.58 !important;
  }
}
@media(max-width:390px) and (orientation:portrait){
  body:not(.about-page) .studio-opening-grid{
    margin-left:16px !important;
    margin-right:16px !important;
  }
  body:not(.about-page) .studio-opening h1{
    font-size:clamp(23px,7vw,28px) !important;
    line-height:1.18 !important;
  }
}


/* 2026-07-09 portrait/mobile intro copy legibility — warm off-white, still secondary */
@media(max-width:720px){
  body:not(.about-page) .opening-copy p{
    color:rgba(247,242,232,.88) !important;
  }
}


/* 2026-07-09 mobile intro copy brighter pass — visibly warmer white */
@media(max-width:720px){
  body:not(.about-page) .opening-copy p{
    color:rgba(250,247,239,.96) !important;
    font-weight:390 !important;
  }
}


/* 2026-07-09 Selected Work case-study hierarchy — project title first */
.editorial-card h3{
  margin:0 0 7px !important;
}
.editorial-card span{
  margin:0 !important;
  color:rgba(247,242,232,.68) !important;
}
@media(max-width:720px){
  .editorial-card h3{
    margin-bottom:6px !important;
  }
}


/* 2026-07-09 Selected Work descriptors — brighter but still secondary */
.editorial-card span{
  color:rgba(255,255,255,.88) !important;
  letter-spacing:.145em !important;
  text-shadow:0 2px 8px rgba(0,0,0,.72) !important;
}
@media(max-width:720px){
  .editorial-card span{
    color:rgba(255,255,255,.9) !important;
    letter-spacing:.13em !important;
  }
}


/* 2026-07-09 case-study page system — restrained editorial project portfolios */
.case-hero{padding:0;background:#071923;}
.case-hero-media{position:relative;min-height:58vh;max-height:760px;overflow:hidden;background:#071923;}
.case-hero-media img{width:100%;height:100%;min-height:58vh;object-fit:cover;display:block;filter:saturate(.94) contrast(1.02);}
.case-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,25,35,.34),rgba(7,25,35,0) 34%,rgba(7,25,35,.56));pointer-events:none;}
.case-hero-caption{position:absolute;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);bottom:24px;z-index:2;border-top:1px solid rgba(247,242,232,.42);padding-top:10px;color:rgba(255,255,255,.9);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.7);}
.case-intro{padding:34px 0 38px;background:#071923;}
.case-intro-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.62fr);gap:58px;align-items:end;}
.case-back{display:inline-block;margin-bottom:13px;color:rgba(191,164,106,.86);font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;}
.case-intro h1{margin:0;color:#fff;font-size:clamp(34px,5.2vw,76px);line-height:.98;letter-spacing:-.055em;font-weight:430;}
.case-intro p{margin:0 0 20px;color:rgba(247,242,232,.84);font-size:15px;line-height:1.62;}
.case-gallery{padding:20px 0 58px;background:#071923;}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.case-frame{margin:0;min-height:360px;background:#0b2330;border:1px solid rgba(247,242,232,.10);overflow:hidden;}
.case-frame:nth-child(1),.case-frame:nth-child(6),.case-frame:nth-child(11){grid-column:span 2;min-height:520px;}
.case-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94) contrast(1.02);}
@media(max-width:720px){.case-hero-media,.case-hero-media img{min-height:62vh}.case-intro{padding:28px 0 30px}.case-intro-grid{grid-template-columns:1fr;gap:22px;margin-left:18px!important;margin-right:18px!important}.case-intro h1{font-size:clamp(34px,11vw,48px);line-height:1.02}.case-grid{grid-template-columns:1fr;gap:12px;margin-left:18px!important;margin-right:18px!important}.case-frame,.case-frame:nth-child(1),.case-frame:nth-child(6),.case-frame:nth-child(11){grid-column:auto;min-height:280px}.case-hero-caption{left:18px;right:18px;font-size:8.5px;letter-spacing:.12em}}

/* 2026-07-09 case-study mobile containment fix */
@media(max-width:720px){
  .case-intro-grid,
  .case-grid{
    width:auto !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }
  .case-intro-grid > *,
  .case-intro p,
  .case-intro h1{
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
  }
  .case-intro p{
    padding-right:2px !important;
  }
}

/* 2026-07-09 case-study mobile hard width clamp */
@media(max-width:720px){
  .case-intro .wrap.case-intro-grid,
  .case-gallery .wrap.case-grid{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
    margin-left:18px !important;
    margin-right:18px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .case-intro-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  .case-intro-grid div,
  .case-intro-grid p,
  .case-intro-grid h1{
    width:auto !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }
}

/* 2026-07-09 case-study mobile intro text conservative measure */
@media(max-width:720px){
  .case-intro .wrap.case-intro-grid{
    width:calc(100vw - 56px) !important;
    max-width:calc(100vw - 56px) !important;
    margin-left:28px !important;
    margin-right:28px !important;
  }
  .case-intro-grid > div,
  .case-intro-grid p,
  .case-intro-grid h1,
  .case-intro-grid .btn{
    max-width:calc(100vw - 56px) !important;
  }
  .case-intro p{
    font-size:14.5px !important;
    line-height:1.58 !important;
  }
}

/* 2026-07-11 non-home typography restraint — match approved homepage scale; homepage remains untouched */
.site-subpage .page-intro h1,
.site-subpage .case-intro h1,
.site-subpage .page-title{
  font-family:var(--sans) !important;
  font-size:clamp(25px,2.25vw,36px) !important;
  line-height:1.16 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
  max-width:760px !important;
  text-wrap:balance;
}
.site-subpage .section-head h2,
.site-subpage .cta h2,
.site-subpage .quote-band{
  font-family:var(--sans) !important;
  font-size:clamp(24px,2.15vw,34px) !important;
  line-height:1.16 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
  text-wrap:balance;
}
.site-subpage .lead,
.site-subpage .page-intro .lead,
.site-subpage .section-head p,
.site-subpage .cta p,
.site-subpage .case-intro p,
.site-subpage .small-copy,
.site-subpage .process-step p,
.site-subpage .service-card p,
.site-subpage .project-card p,
.site-subpage .kicker span{
  font-size:14px !important;
  line-height:1.58 !important;
}
.site-subpage .page-intro{
  padding-top:112px !important;
  padding-bottom:42px !important;
}
.site-subpage .eyebrow,
.site-subpage .case-back,
.site-subpage .project-card .meta,
.site-subpage .process-step .num,
.site-subpage .service-card .num{
  font-size:10.5px !important;
  letter-spacing:.16em !important;
}
.site-subpage .project-card h3,
.site-subpage .process-step h3,
.site-subpage .service-card h3{
  font-family:var(--sans) !important;
  font-size:clamp(19px,1.55vw,26px) !important;
  line-height:1.12 !important;
  font-weight:470 !important;
  letter-spacing:-.025em !important;
}
.site-subpage .btn{
  padding:10px 15px !important;
  font-size:10.5px !important;
  letter-spacing:.13em !important;
}
.case-study-page .case-intro{
  padding:30px 0 34px !important;
}
.case-study-page .case-intro-grid{
  grid-template-columns:minmax(0,.98fr) minmax(300px,.62fr) !important;
  gap:58px !important;
  align-items:center !important;
}
.case-study-page .case-hero-caption{
  font-size:9.5px !important;
  letter-spacing:.14em !important;
}
@media(max-width:720px){
  .site-subpage .page-intro h1,
  .site-subpage .case-intro h1,
  .site-subpage .page-title{
    font-size:clamp(24px,7vw,32px) !important;
    line-height:1.15 !important;
  }
  .site-subpage .section-head h2,
  .site-subpage .cta h2,
  .site-subpage .quote-band{
    font-size:clamp(23px,6.7vw,31px) !important;
    line-height:1.16 !important;
  }
  .site-subpage .page-intro{
    padding-top:96px !important;
    padding-bottom:34px !important;
  }
  .case-study-page .case-intro{
    padding:26px 0 30px !important;
  }
  .case-study-page .case-intro-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}

/* 2026-07-11 blue continuity pass — reduce black fallbacks across non-home/case-study pages */
.site-subpage{
  background:#0d2838 !important;
}
.site-subpage main,
.site-subpage section,
.site-subpage .page-intro,
.site-subpage .case-intro,
.site-subpage .case-gallery{
  background:#0d2838 !important;
}
.site-subpage .hero,
.site-subpage .hero-clean-media,
.site-subpage .case-hero,
.site-subpage .case-hero-media{
  background:#0d2838 !important;
}
.site-subpage .case-gallery,
.site-subpage .case-grid{
  background:#0d2838 !important;
}
.site-subpage .case-frame,
.site-subpage .project-card,
.site-subpage .service-card,
.site-subpage .process-step,
.site-subpage .stat{
  background:#113348 !important;
  border-color:rgba(247,242,232,.12) !important;
}
.site-subpage .dark-panel,
.site-subpage .page-nav{
  background:linear-gradient(180deg,#113348,#17425B) !important;
  border-color:rgba(247,242,232,.12) !important;
}
.site-subpage .cta{
  background:radial-gradient(circle at 20% 0%,rgba(191,164,106,.14),transparent 30%),linear-gradient(180deg,#0d2838,#12364b) !important;
}
.site-subpage .cta-box{
  background:rgba(23,66,91,.48) !important;
  border-color:rgba(247,242,232,.14) !important;
}
.site-subpage .case-hero-media:after{
  background:linear-gradient(180deg,rgba(13,40,56,.28),rgba(13,40,56,0) 34%,rgba(13,40,56,.58)) !important;
}
.site-subpage .hero-media:after{
  background:linear-gradient(90deg,rgba(13,40,56,.42),rgba(13,40,56,.12) 48%,rgba(13,40,56,.02)),linear-gradient(0deg,rgba(13,40,56,.66),transparent 30%) !important;
}

/* 2026-07-11 image-first case study correction */
.case-study-page .case-intro.case-intro-compact{
  padding:22px 0 20px !important;
}
.case-study-page .case-intro.case-intro-compact .case-intro-grid{
  gap:34px !important;
  align-items:end !important;
}
.case-study-page .case-intro.case-intro-compact p{
  max-width:520px !important;
  margin:0 !important;
}
.case-study-page .case-intro.case-intro-compact + .case-gallery{
  padding-top:18px !important;
}
.case-study-page .case-intro.case-intro-compact .case-back{
  margin-bottom:8px !important;
}
@media(max-width:720px){
  .case-study-page .case-intro.case-intro-compact{
    padding:20px 0 16px !important;
  }
  .case-study-page .case-intro.case-intro-compact .case-intro-grid{
    gap:14px !important;
  }
}

/* 2026-07-11 case-study CTA tightening — no decorative gradient, image-first close */
.case-study-page .cta{
  padding:44px 0 34px !important;
  background:#0d2838 !important;
}
.case-study-page .cta-box{
  padding:26px 28px !important;
  gap:24px !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  background:#113348 !important;
  border-color:rgba(247,242,232,.13) !important;
  align-items:center !important;
}
.case-study-page .cta h2{
  margin-bottom:8px !important;
}
.case-study-page .cta p{
  max-width:620px !important;
}
.case-study-page .footer{
  background:#0d2838 !important;
}
@media(max-width:720px){
  .case-study-page .cta{
    padding:30px 0 26px !important;
  }
  .case-study-page .cta-box{
    grid-template-columns:1fr !important;
    padding:22px !important;
    gap:18px !important;
  }
}

/* 2026-08-06 canonical case-study gallery/CTA/footer rhythm.
   Approved case studies keep a visible breathing gap between final gallery images and CTA/footer.
   Do not restore old padding-bottom:0 rules here; scripts/audit-assets.py guards this. */
.case-study-page .case-gallery{
  padding-bottom:28px !important;
}
.case-study-page .case-gallery + .cta{
  padding-top:16px !important;
  padding-bottom:0 !important;
}
.case-study-page .cta + .footer,
.case-study-page .footer{
  padding-top:0 !important;
  padding-bottom:18px !important;
}
@media(max-width:720px) and (orientation:portrait){
  .case-study-page .case-gallery{
    padding-bottom:20px !important;
  }
  .case-study-page .case-gallery + .cta{
    padding-top:12px !important;
    padding-bottom:0 !important;
  }
  .case-study-page .footer{
    padding-top:0 !important;
    padding-bottom:14px !important;
  }
}
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .case-study-page .case-gallery{
    padding-bottom:14px !important;
  }
}

/* 2026-07-11 case-study footer/CTA color match */
.case-study-page .cta,
.case-study-page .footer{
  background:#0d2838 !important;
}
.case-study-page .cta-box,
.case-study-page .footer{
  border-color:rgba(247,242,232,.10) !important;
}
.case-study-page .footer{
  border-top:1px solid rgba(247,242,232,.08) !important;
  color:rgba(247,242,232,.58) !important;
}

/* 2026-07-11 case-study footer match visible CTA banner */
.case-study-page .footer{
  background:#113348 !important;
  border-top:0 !important;
}
.case-study-page .cta{
  background:#0d2838 !important;
}
.case-study-page .cta-box{
  background:#113348 !important;
}

/* 2026-07-11 remove case-study CTA/footer separator completely */
.case-study-page .cta-box,
.case-study-page .footer{
  border-top:0 !important;
  border-bottom:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:none !important;
}
.case-study-page .cta-box{
  outline:0 !important;
}

/* 2026-07-11 case-study intro banner matches CTA banner */
.case-study-page .case-intro.case-intro-compact{
  background:#0d2838 !important;
  padding:16px 0 0 !important;
}
.case-study-page .case-intro.case-intro-compact .case-intro-grid{
  background:#113348 !important;
  padding:26px 28px !important;
  gap:28px !important;
  align-items:end !important;
}
.case-study-page .case-intro.case-intro-compact + .case-gallery{
  padding-top:16px !important; /* match case image grid gap */
}
.case-study-page .case-intro.case-intro-compact h1{
  margin-bottom:0 !important;
}
.case-study-page .case-intro.case-intro-compact p{
  max-width:560px !important;
}
@media(max-width:720px){
  .case-study-page .case-intro.case-intro-compact{
    padding:12px 0 0 !important;
  }
  .case-study-page .case-intro.case-intro-compact .case-intro-grid{
    padding:22px !important;
    gap:14px !important;
  }
  .case-study-page .case-intro.case-intro-compact + .case-gallery{
    padding-top:12px !important; /* match mobile case image grid gap */
  }
}

/* 2026-07-11 case-study full-width intro banner under hero */
.case-study-page .case-intro.case-intro-compact{
  background:#113348 !important;
  padding:0 !important;
}
.case-study-page .case-intro.case-intro-compact .case-intro-grid{
  background:transparent !important;
  padding:26px 0 !important;
  gap:28px !important;
  align-items:end !important;
}
.case-study-page .case-hero + .case-intro.case-intro-compact{
  margin-top:0 !important;
}
.case-study-page .case-intro.case-intro-compact + .case-gallery{
  padding-top:16px !important;
}
@media(max-width:720px){
  .case-study-page .case-intro.case-intro-compact .case-intro-grid{
    padding:22px 0 !important;
    gap:14px !important;
  }
  .case-study-page .case-intro.case-intro-compact + .case-gallery{
    padding-top:12px !important;
  }
}

/* 2026-07-11 tighten case-study intro banner padding */
.case-study-page .case-intro.case-intro-compact .case-intro-grid{
  padding-top:15px !important;
  padding-bottom:15px !important;
}
@media(max-width:720px){
  .case-study-page .case-intro.case-intro-compact .case-intro-grid{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

/* 2026-07-11 tighten case-study eyebrow/title relationship */
.case-study-page .case-intro.case-intro-compact .case-back{
  margin-bottom:4px !important;
}

/* 2026-07-11 portfolio lightbox — desktop + mobile full-image viewer */
.portfolio-lightbox-trigger{
  cursor:zoom-in;
}
.portfolio-lightbox-open{
  overflow:hidden !important;
}
.portfolio-lightbox[hidden]{
  display:none !important;
}
.portfolio-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  background:rgba(6,22,32,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:clamp(16px,3vw,42px);
}
.portfolio-lightbox-figure{
  margin:0;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.portfolio-lightbox-image{
  max-width:min(100%,1600px);
  max-height:calc(100vh - 96px);
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 24px 80px rgba(0,0,0,.42);
  pointer-events:auto;
}
.portfolio-lightbox-count{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:rgba(247,242,232,.68);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.portfolio-lightbox-close,
.portfolio-lightbox-nav{
  position:fixed;
  z-index:10000;
  border:0;
  color:#f7f2e8;
  background:rgba(17,51,72,.76);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  display:grid;
  place-items:center;
  line-height:1;
}
.portfolio-lightbox-close{
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:999px;
  font-size:30px;
  font-weight:300;
}
.portfolio-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:72px;
  border-radius:999px;
  font-size:42px;
  font-weight:200;
}
.portfolio-lightbox-prev{left:18px;}
.portfolio-lightbox-next{right:18px;}
.portfolio-lightbox-close:hover,
.portfolio-lightbox-nav:hover,
.portfolio-lightbox-close:focus-visible,
.portfolio-lightbox-nav:focus-visible{
  background:rgba(23,66,91,.95);
  outline:1px solid rgba(247,242,232,.28);
}
@media(max-width:720px){
  .portfolio-lightbox{
    padding:12px;
  }
  .portfolio-lightbox-image{
    max-width:100%;
    max-height:calc(100vh - 86px);
    box-shadow:none;
  }
  .portfolio-lightbox-close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    font-size:28px;
  }
  .portfolio-lightbox-nav{
    width:40px;
    height:60px;
    font-size:34px;
    background:rgba(17,51,72,.58);
  }
  .portfolio-lightbox-prev{left:10px;}
  .portfolio-lightbox-next{right:10px;}
  .portfolio-lightbox-count{
    bottom:14px;
  }
}

/* 2026-07-11 portfolio lightbox slide transition */
.portfolio-lightbox-stage{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.portfolio-lightbox-stage .portfolio-lightbox-image{
  transition:transform 260ms ease-out, opacity 260ms ease-out;
  will-change:transform, opacity;
}
.portfolio-lightbox-image-incoming{
  position:absolute;
  inset:auto;
}
@media(prefers-reduced-motion:reduce){
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    transition:none !important;
  }
}

/* 2026-07-11 lightbox two-layer slide fix — no desktop bounce-back */
.portfolio-lightbox-stage{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}
.portfolio-lightbox-stage .portfolio-lightbox-image{
  position:absolute !important;
  max-width:min(100%,1600px) !important;
  max-height:calc(100vh - 96px) !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  will-change:transform, opacity !important;
}
@media(max-width:720px){
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    max-width:100% !important;
    max-height:calc(100vh - 86px) !important;
  }
}


/* PORTFOLIO MOBILE VIEWER RULE:
   Any portfolio/gallery lightbox must be true full-screen on phones.
   Portrait uses contain to preserve the whole image.
   Phone landscape uses cover to fill edge-to-edge horizontally with no side gutters. */

/* 2026-07-11 mobile portfolio lightbox rule — true full-screen phone viewer */
@media(max-width:720px){
  .portfolio-lightbox{
    inset:0 !important;
    width:100vw !important;
    width:100dvw !important;
    height:100vh !important;
    height:100dvh !important;
    padding:0 !important;
    background:#061620 !important;
  }
  .portfolio-lightbox-figure,
  .portfolio-lightbox-stage{
    width:100vw !important;
    width:100dvw !important;
    height:100vh !important;
    height:100dvh !important;
  }
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    max-width:100vw !important;
    max-width:100dvw !important;
    max-height:100vh !important;
    max-height:100dvh !important;
    object-fit:contain !important;
    box-shadow:none !important;
  }
  .portfolio-lightbox-close{
    top:calc(env(safe-area-inset-top,0px) + 10px) !important;
    right:calc(env(safe-area-inset-right,0px) + 10px) !important;
    background:rgba(6,22,32,.68) !important;
  }
  .portfolio-lightbox-prev{
    left:calc(env(safe-area-inset-left,0px) + 6px) !important;
  }
  .portfolio-lightbox-next{
    right:calc(env(safe-area-inset-right,0px) + 6px) !important;
  }
  .portfolio-lightbox-count{
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px) !important;
    background:rgba(6,22,32,.48) !important;
    padding:4px 8px !important;
    border-radius:999px !important;
  }
}

/* 2026-07-11 mobile lightbox control safe-edge refinement */
@media(max-width:720px){
  .portfolio-lightbox-prev{
    left:calc(env(safe-area-inset-left,0px) + 12px) !important;
  }
  .portfolio-lightbox-next{
    right:calc(env(safe-area-inset-right,0px) + 12px) !important;
  }
}

/* 2026-07-11 mobile landscape lightbox — full rotated viewport */
@media(max-width:950px) and (orientation:landscape){
  .portfolio-lightbox{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    width:100dvw !important;
    height:100vh !important;
    height:100dvh !important;
    min-width:100vw !important;
    min-height:100vh !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
    background:#061620 !important;
  }
  .portfolio-lightbox-figure,
  .portfolio-lightbox-stage{
    width:100vw !important;
    width:100dvw !important;
    height:100vh !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    max-width:100vw !important;
    max-width:100dvw !important;
    max-height:100vh !important;
    max-height:100dvh !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    box-shadow:none !important;
  }
  .portfolio-lightbox-close{
    top:calc(env(safe-area-inset-top,0px) + 8px) !important;
    right:calc(env(safe-area-inset-right,0px) + 10px) !important;
  }
  .portfolio-lightbox-prev{
    left:calc(env(safe-area-inset-left,0px) + 12px) !important;
  }
  .portfolio-lightbox-next{
    right:calc(env(safe-area-inset-right,0px) + 12px) !important;
  }
  .portfolio-lightbox-count{
    bottom:calc(env(safe-area-inset-bottom,0px) + 8px) !important;
  }
}

/* 2026-07-11 mobile landscape portfolio viewer — image fills screen */
@media(max-width:950px) and (orientation:landscape){
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    width:100vw !important;
    width:100dvw !important;
    height:100vh !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
  }
}

/* 2026-07-11 case-study gallery phone landscape — remove false bottom padding */
@media(max-width:950px) and (orientation:landscape){
  .case-gallery .wrap.case-grid{
    gap:12px !important;
  }
  .case-frame,
  .case-frame:nth-child(1),
  .case-frame:nth-child(6),
  .case-frame:nth-child(11){
    min-height:0 !important;
    aspect-ratio:3 / 2 !important;
  }
  .case-frame:nth-child(1),
  .case-frame:nth-child(6),
  .case-frame:nth-child(11){
    aspect-ratio:16 / 9 !important;
  }
  .case-frame img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}

/* 2026-07-11 homepage selected-work phone landscape — equal case-study cards */
@media(max-width:950px) and (orientation:landscape){
  .selected-work .editorial-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows:clamp(132px,30vw,190px) !important;
    gap:12px !important;
  }
  .selected-work .editorial-card,
  .selected-work .editorial-card.large,
  .selected-work .editorial-card.tall{
    grid-column:auto !important;
    grid-row:auto !important;
    min-height:0 !important;
  }
  .selected-work .editorial-card img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .selected-work .editorial-card div{
    left:14px !important;
    right:14px !important;
    bottom:12px !important;
  }
  .selected-work .editorial-card h3{
    font-size:clamp(15px,2.4vw,19px) !important;
    line-height:1.08 !important;
  }
  .selected-work .editorial-card span{
    font-size:8px !important;
    letter-spacing:.13em !important;
    margin-bottom:5px !important;
  }
}

/* 2026-07-11 homepage selected-work true phone landscape — no featured card */
@media(orientation:landscape) and (max-height:520px), (orientation:landscape) and (hover:none) and (pointer:coarse){
  .selected-work .wrap.editorial-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-rows:clamp(118px,28vh,156px) !important;
    gap:10px !important;
  }
  .selected-work .wrap.editorial-grid > .editorial-card,
  .selected-work .wrap.editorial-grid > .editorial-card.large,
  .selected-work .wrap.editorial-grid > .editorial-card.tall{
    grid-column:span 1 !important;
    grid-row:span 1 !important;
    width:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
  }
  .selected-work .wrap.editorial-grid > .editorial-card img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
}

/* 2026-07-11 homepage selected-work hard landscape-phone override */
@media screen and (orientation:landscape) and (max-height:700px){
  section.selected-work div.wrap.editorial-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-rows:150px !important;
    gap:10px !important;
  }
  section.selected-work div.wrap.editorial-grid a.editorial-card,
  section.selected-work div.wrap.editorial-grid a.editorial-card.large,
  section.selected-work div.wrap.editorial-grid a.editorial-card.tall{
    grid-column:1 span !important;
    grid-row:1 span !important;
    min-height:0 !important;
    height:150px !important;
    max-height:150px !important;
  }
  section.selected-work div.wrap.editorial-grid a.editorial-card img{
    height:150px !important;
    min-height:0 !important;
    max-height:150px !important;
    object-fit:cover !important;
  }
}

/* 2026-07-11 homepage selected-work phone landscape — normal card size, no oversized MF card */
@media screen and (orientation:landscape) and (max-height:700px){
  section.selected-work div.wrap.editorial-grid{
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:250px !important;
    gap:16px !important;
  }
  section.selected-work div.wrap.editorial-grid a.editorial-card,
  section.selected-work div.wrap.editorial-grid a.editorial-card.large,
  section.selected-work div.wrap.editorial-grid a.editorial-card.tall{
    grid-column:auto !important;
    grid-row:auto !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
  }
  section.selected-work div.wrap.editorial-grid a.editorial-card img,
  section.selected-work div.wrap.editorial-grid a.editorial-card.large img,
  section.selected-work div.wrap.editorial-grid a.editorial-card.tall img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
  }
}

/* 2026-07-11 Cagan portrait-phone unit flow — keep web/landscape order intact */
@media(max-width:720px) and (orientation:portrait){
  .cagan-case-study .case-grid .case-frame:nth-child(1){order:1;}
  .cagan-case-study .case-grid .case-frame:nth-child(2){order:2;}
  .cagan-case-study .case-grid .case-frame:nth-child(3){order:3;}
  .cagan-case-study .case-grid .case-frame:nth-child(4){order:4;}
  .cagan-case-study .case-grid .case-frame:nth-child(5){order:5;}
  .cagan-case-study .case-grid .case-frame:nth-child(6){order:6;}
  .cagan-case-study .case-grid .case-frame:nth-child(11){order:7;} /* kitchen first in unit section */
  .cagan-case-study .case-grid .case-frame:nth-child(7){order:8;}  /* living/kitchen angle */
  .cagan-case-study .case-grid .case-frame:nth-child(8){order:9;}  /* first true bedroom */
  .cagan-case-study .case-grid .case-frame:nth-child(10){order:10;} /* bathroom between bedrooms */
  .cagan-case-study .case-grid .case-frame:nth-child(9){order:11;} /* second true bedroom */
  .cagan-case-study .case-grid .case-frame:nth-child(12){order:12;}
  .cagan-case-study .case-grid .case-frame:nth-child(13){order:13;}
}

/* 2026-07-11 eyebrow system alignment — homepage size, case-study positioning */
.selected-head .eyebrow,
.quiet-proof .eyebrow,
.studio-opening .eyebrow{
  margin-bottom:6px !important;
}
.case-study-page .case-intro.case-intro-compact .case-back{
  font-size:12px !important;
  letter-spacing:.22em !important;
  font-weight:700 !important;
  margin-bottom:6px !important;
  color:var(--gold) !important;
}
@media(max-width:720px){
  .selected-head .eyebrow,
  .quiet-proof .eyebrow,
  .studio-opening .eyebrow{
    margin-bottom:6px !important;
  }
  .case-study-page .case-intro.case-intro-compact .case-back{
    font-size:12px !important;
    letter-spacing:.22em !important;
    margin-bottom:6px !important;
  }
}


/* 2026-07-13 case-study intro subline vertical centering */
.case-study-page .case-intro.case-intro-compact .case-intro-grid{
  align-items:center !important;
}
@media(max-width:720px){
  .case-study-page .case-intro.case-intro-compact .case-intro-grid{
    align-items:start !important;
  }
}




/* 2026-07-13 homepage bottom — uses case-study CTA/footer template */
.home-page .quiet-proof.proof-strip,
.home-page .cta,
.home-page .footer{
  background:#113348 !important;
}
.home-page .quiet-proof.proof-strip{
  border:0 !important;
  padding-top:26px !important;
  padding-bottom:14px !important;
}
.home-page .proof-strip-inner{
  display:block !important;
  width:min(var(--max), calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 !important;
  border:0 !important;
  text-align:center !important;
}
.home-page .proof-strip .eyebrow{
  display:block !important;
  text-align:center !important;
}
.home-page .proof-strip p{
  margin:0 !important;
  max-width:none !important;
  width:100% !important;
  color:#fff !important;
  font-size:clamp(15px,1.25vw,18px) !important;
  line-height:1.45 !important;
  letter-spacing:-.01em !important;
  text-align:center !important;
  text-transform:none !important;
  text-wrap:balance !important;
}
.home-page .cta{
  padding-top:16px !important;
  padding-bottom:0 !important;
}
.home-page .cta-box{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:26px 28px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:center !important;
  background:#113348 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.home-page .cta h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:clamp(24px,2.15vw,34px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
}
.home-page .cta p{
  max-width:620px !important;
  margin:0 !important;
  color:rgba(247,242,232,.74) !important;
}
.home-page .cta .btn{
  justify-self:end !important;
}
.home-page .footer{
  padding-top:0 !important;
  padding-bottom:18px !important;
  border:0 !important;
  color:rgba(247,242,232,.68) !important;
}
.home-page .footer .wrap{
  width:min(var(--max), calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.home-page .footer span:last-child{
  color:rgba(247,242,232,.60) !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    padding-top:22px !important;
    padding-bottom:12px !important;
  }
  .home-page .proof-strip-inner,
  .home-page .footer .wrap{
    width:calc(100% - 56px) !important;
  }
  .home-page .cta-box{
    width:100% !important;
  }
  .home-page .proof-strip p{
    font-size:15px !important;
    line-height:1.5 !important;
  }
  .home-page .cta{
    padding-top:12px !important;
  }
  .home-page .cta-box{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:22px 0 !important;
  }
  .home-page .cta h2{
    font-size:clamp(24px,7vw,32px) !important;
  }
  .home-page .cta .btn{
    justify-self:start !important;
    width:auto !important;
  }
  .home-page .footer{
    padding-bottom:16px !important;
  }
  .home-page .footer .wrap{
    display:grid !important;
    gap:8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* 2026-07-13 top-level subpage bottom — match approved case-study CTA/footer template
   Scope excludes homepage and case-study pages. */
.site-subpage:not(.case-study-page) .cta,
.site-subpage:not(.case-study-page) .footer{
  background:#113348 !important;
}
.site-subpage:not(.case-study-page) .cta{
  padding-top:16px !important;
  padding-bottom:0 !important;
}
.site-subpage:not(.case-study-page) .cta-box{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:26px 28px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:center !important;
  background:#113348 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.site-subpage:not(.case-study-page) .cta h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:clamp(24px,2.15vw,34px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
}
.site-subpage:not(.case-study-page) .cta p{
  max-width:620px !important;
  margin:0 !important;
  color:rgba(247,242,232,.74) !important;
}
.site-subpage:not(.case-study-page) .cta .btn{
  justify-self:end !important;
  width:auto !important;
}
.site-subpage:not(.case-study-page) .footer{
  padding-top:0 !important;
  padding-bottom:18px !important;
  border:0 !important;
  color:rgba(247,242,232,.68) !important;
}
.site-subpage:not(.case-study-page) .footer .wrap{
  width:min(var(--max), calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}
.site-subpage:not(.case-study-page) .footer span:last-child{
  color:rgba(247,242,232,.60) !important;
}
@media(max-width:720px){
  .site-subpage:not(.case-study-page) .cta{
    padding-top:12px !important;
  }
  .site-subpage:not(.case-study-page) .cta-box{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:22px 28px !important;
  }
  .site-subpage:not(.case-study-page) .cta h2{
    font-size:clamp(24px,7vw,32px) !important;
  }
  .site-subpage:not(.case-study-page) .cta .btn{
    justify-self:start !important;
    width:auto !important;
  }
  .site-subpage:not(.case-study-page) .footer{
    padding-bottom:16px !important;
  }
  .site-subpage:not(.case-study-page) .footer .wrap{
    width:calc(100% - 56px) !important;
    display:grid !important;
    gap:8px !important;
  }
}


/* 2026-07-13 top-level subpage system — align with approved case-study design language
   Scope: active top-level subpages only. Do not touch homepage or case-study pages. */
.site-subpage:not(.case-study-page){
  background:#0d2838 !important;
}
.site-subpage:not(.case-study-page) main,
.site-subpage:not(.case-study-page) section{
  background:#0d2838 !important;
}
.site-subpage:not(.case-study-page) .page-intro{
  padding-top:118px !important;
  padding-bottom:32px !important;
  background:#0d2838 !important;
}
.site-subpage:not(.case-study-page) .page-intro .wrap{
  width:min(var(--max), calc(100% - 56px)) !important;
}
.site-subpage:not(.case-study-page) .page-title,
.site-subpage:not(.case-study-page) .section-head h2,
.site-subpage:not(.case-study-page) .split h2,
.site-subpage:not(.case-study-page) .quote-band,
.site-subpage:not(.case-study-page) .process-step h3,
.site-subpage:not(.case-study-page) .service-card h3,
.site-subpage:not(.case-study-page) .project-card h3{
  font-family:var(--sans) !important;
  font-weight:440 !important;
  letter-spacing:-.03em !important;
  color:#fff !important;
}
.site-subpage:not(.case-study-page) .page-title{
  font-size:clamp(34px,5.2vw,76px) !important;
  line-height:.98 !important;
  max-width:1040px !important;
  margin-bottom:18px !important;
}
.site-subpage:not(.case-study-page) .lead,
.site-subpage:not(.case-study-page) .section-head p,
.site-subpage:not(.case-study-page) .split p,
.site-subpage:not(.case-study-page) .small-copy,
.site-subpage:not(.case-study-page) .process-step p,
.site-subpage:not(.case-study-page) .service-card p,
.site-subpage:not(.case-study-page) .project-card p{
  color:rgba(247,242,232,.74) !important;
}
.site-subpage:not(.case-study-page) .hero-clean-media,
.site-subpage:not(.case-study-page) .hero-video-full{
  background:#0d2838 !important;
  padding:0 !important;
}
.site-subpage:not(.case-study-page) .hero-clean-media .hero-media,
.site-subpage:not(.case-study-page) .hero-video-full .hero-media{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:16/8.8 !important;
}
.site-subpage:not(.case-study-page) .hero-clean-media .hero-media img,
.site-subpage:not(.case-study-page) .hero-video-full .hero-media img,
.site-subpage:not(.case-study-page) .hero-video-full .hero-media iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.site-subpage:not(.case-study-page) .hero-actions{
  padding:16px 0 24px !important;
  background:#0d2838 !important;
}
.site-subpage:not(.case-study-page) .page-nav,
.site-subpage:not(.case-study-page) .dark-panel{
  background:#113348 !important;
  border:0 !important;
}
.site-subpage:not(.case-study-page) .dark-panel{
  padding-top:38px !important;
  padding-bottom:38px !important;
}
.site-subpage:not(.case-study-page) .section-head,
.site-subpage:not(.case-study-page) .split{
  gap:28px !important;
  align-items:center !important;
}
.site-subpage:not(.case-study-page) .section-head{
  margin-bottom:18px !important;
}
.site-subpage:not(.case-study-page) .gallery,
.site-subpage:not(.case-study-page) .project-grid,
.site-subpage:not(.case-study-page) .service-grid,
.site-subpage:not(.case-study-page) .process{
  gap:16px !important;
  background:transparent !important;
  border:0 !important;
}
.site-subpage:not(.case-study-page) .tile,
.site-subpage:not(.case-study-page) .project-card,
.site-subpage:not(.case-study-page) .service-card,
.site-subpage:not(.case-study-page) .process-step,
.site-subpage:not(.case-study-page) .stat{
  background:#113348 !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-subpage:not(.case-study-page) .project-card,
.site-subpage:not(.case-study-page) .service-card,
.site-subpage:not(.case-study-page) .process-step{
  padding:26px 28px !important;
}
.site-subpage:not(.case-study-page) .project-card{
  padding:0 !important;
}
.site-subpage:not(.case-study-page) .project-card .body{
  padding:22px 24px !important;
}
.site-subpage:not(.case-study-page) .tile{
  min-height:360px !important;
}
.site-subpage:not(.case-study-page) .tile.large,
.site-subpage:not(.case-study-page) .tile.medium{
  min-height:520px !important;
}
.site-subpage:not(.case-study-page) .caption{
  background:linear-gradient(transparent,rgba(8,22,32,.78)) !important;
  color:#fff !important;
}
.site-subpage:not(.case-study-page) .cta,
.site-subpage:not(.case-study-page) .footer{
  background:#113348 !important;
}
@media(max-width:900px){
  .site-subpage:not(.case-study-page) .page-intro{
    padding-top:96px !important;
    padding-bottom:28px !important;
  }
  .site-subpage:not(.case-study-page) .page-title{
    font-size:clamp(34px,10vw,52px) !important;
    line-height:1.02 !important;
  }
  .site-subpage:not(.case-study-page) .hero-clean-media .hero-media,
  .site-subpage:not(.case-study-page) .hero-video-full .hero-media{
    aspect-ratio:4/5 !important;
  }
  .site-subpage:not(.case-study-page) .section-head,
  .site-subpage:not(.case-study-page) .split{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .site-subpage:not(.case-study-page) .gallery,
  .site-subpage:not(.case-study-page) .project-grid,
  .site-subpage:not(.case-study-page) .service-grid,
  .site-subpage:not(.case-study-page) .process{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}


/* 2026-07-13 video poster treatment — avoid black iframe/loading boxes in image-led pages */
.site-subpage:not(.case-study-page) .video-shell.video-poster-link{
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  border:0 !important;
  background:#113348 !important;
  min-height:420px !important;
  aspect-ratio:16/10 !important;
}
.site-subpage:not(.case-study-page) .video-shell.video-poster-link img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .7s ease !important;
}
.site-subpage:not(.case-study-page) .video-shell.video-poster-link:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(13,40,56,.08),rgba(13,40,56,.68)) !important;
  pointer-events:none !important;
}
.site-subpage:not(.case-study-page) .video-shell.video-poster-link:hover img{
  transform:scale(1.035) !important;
}
.site-subpage:not(.case-study-page) .video-shell.video-poster-link .caption{
  z-index:2 !important;
}
@media(max-width:720px){
  .site-subpage:not(.case-study-page) .video-shell.video-poster-link{
    min-height:300px !important;
  }
}


/* 2026-07-13 structural top-level template pages — literal case-study-derived markup */
.top-level-template-page .case-hero-caption a,
.top-level-template-page .case-frame{
  text-decoration:none !important;
}
.top-level-template-page .template-frame{
  position:relative !important;
  display:block !important;
}
.top-level-template-page .template-frame figcaption,
.top-level-template-page .template-frame > figcaption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2 !important;
  padding:26px !important;
  background:linear-gradient(transparent,rgba(8,22,32,.82)) !important;
  color:#fff !important;
}
.top-level-template-page .template-frame figcaption strong{
  display:block !important;
  margin:0 0 5px !important;
  font-size:clamp(20px,2vw,30px) !important;
  line-height:1.05 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
}
.top-level-template-page .template-frame figcaption span{
  display:block !important;
  color:rgba(247,242,232,.72) !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.top-level-template-page .template-copy-card{
  display:grid !important;
  place-items:center !important;
  padding:30px !important;
  background:#113348 !important;
  border:0 !important;
}
.top-level-template-page .template-copy-card div{
  max-width:620px !important;
}
.top-level-template-page .template-copy-card strong{
  display:block !important;
  color:#fff !important;
  font-size:clamp(22px,2.2vw,34px) !important;
  line-height:1.08 !important;
  font-weight:440 !important;
  letter-spacing:-.03em !important;
  margin-bottom:10px !important;
}
.top-level-template-page .template-copy-card p{
  margin:0 !important;
  color:rgba(247,242,232,.74) !important;
  font-size:15px !important;
  line-height:1.58 !important;
}
.top-level-template-page .case-back[href="portfolio.html"],
.top-level-template-page .case-back[href="contact.html"]{
  pointer-events:auto !important;
}
@media(max-width:720px){
  .top-level-template-page .template-frame figcaption{
    padding:20px !important;
  }
  .top-level-template-page .template-copy-card{
    padding:24px !important;
  }
}


/* 2026-07-13 top-level template cleanup — text cards should not behave like giant image frames */
.top-level-template-page .case-grid .template-copy-card,
.top-level-template-page .case-grid .template-copy-card:nth-child(1),
.top-level-template-page .case-grid .template-copy-card:nth-child(6),
.top-level-template-page .case-grid .template-copy-card:nth-child(11){
  grid-column:auto !important;
  min-height:300px !important;
}
.top-level-template-page .case-grid .template-copy-card:nth-child(1),
.top-level-template-page .case-grid .template-copy-card:nth-child(6),
.top-level-template-page .case-grid .template-copy-card:nth-child(11){
  grid-column:span 2 !important;
}
.top-level-template-page.contact-template-page .case-hero-media img{
  object-position:center 46% !important;
}
.top-level-template-page.contact-template-page .template-copy-card{
  place-items:center start !important;
}
.top-level-template-page .case-gallery{
  scroll-margin-top:96px !important;
}
@media(max-width:720px){
  .top-level-template-page .case-grid .template-copy-card,
  .top-level-template-page .case-grid .template-copy-card:nth-child(1),
  .top-level-template-page .case-grid .template-copy-card:nth-child(6),
  .top-level-template-page .case-grid .template-copy-card:nth-child(11){
    grid-column:auto !important;
    min-height:240px !important;
  }
}


/* 2026-07-13 About page — editorial photographer-reference structure, not case-study clone */
.editorial-about-page{
  background:#0d2838 !important;
}
.editorial-about-page .about-editorial-hero{
  padding:0 !important;
  background:#0d2838 !important;
}
.editorial-about-page .about-editorial-media{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16/8.8 !important;
  overflow:hidden !important;
  background:#0d2838 !important;
}
.editorial-about-page .about-editorial-media:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(13,40,56,.08),rgba(13,40,56,.58)) !important;
}
.editorial-about-page .about-editorial-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 48% !important;
}
.editorial-about-page .about-editorial-intro{
  background:#113348 !important;
  padding:0 !important;
}
.editorial-about-page .about-editorial-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.62fr) !important;
  gap:28px !important;
  align-items:center !important;
  padding:26px 0 !important;
}
.editorial-about-page .about-editorial-grid h1{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(34px,5.2vw,76px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  font-weight:430 !important;
}
.editorial-about-page .about-editorial-grid p,
.editorial-about-page .about-feature-grid p{
  color:rgba(247,242,232,.78) !important;
  font-size:15px !important;
  line-height:1.62 !important;
  margin:0 0 12px !important;
}
.editorial-about-page .about-editorial-feature{
  background:#0d2838 !important;
  padding:16px 0 0 !important;
}
.editorial-about-page .about-feature-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.editorial-about-page .about-feature-grid figure{
  margin:0 !important;
  min-height:520px !important;
  overflow:hidden !important;
  background:#113348 !important;
}
.editorial-about-page .about-feature-grid img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.editorial-about-page .about-feature-grid > div{
  background:#113348 !important;
  padding:30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.editorial-about-page .about-feature-grid h2{
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:clamp(30px,3.2vw,46px) !important;
  line-height:1.05 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
}
.editorial-about-page .about-credentials{
  margin-top:14px !important;
  color:rgba(191,164,106,.86) !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  line-height:1.6 !important;
}
.editorial-about-page .cta,
.editorial-about-page .footer{
  background:#113348 !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-media{
    aspect-ratio:4/5 !important;
  }
  .editorial-about-page .about-editorial-grid,
  .editorial-about-page .about-feature-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .editorial-about-page .about-editorial-grid{
    padding:22px 0 !important;
  }
  .editorial-about-page .about-editorial-grid h1{
    font-size:clamp(34px,11vw,48px) !important;
    line-height:1.02 !important;
  }
  .editorial-about-page .about-feature-grid figure{
    min-height:320px !important;
  }
  .editorial-about-page .about-feature-grid > div{
    padding:24px !important;
  }
}


/* 2026-07-13 About title restraint — follow photographer-reference scale, not giant hero type */
.editorial-about-page .about-editorial-grid h1{
  max-width:820px !important;
  font-size:clamp(30px,3.15vw,48px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
}
.editorial-about-page .about-editorial-intro{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.editorial-about-page .about-editorial-grid{
  padding-top:24px !important;
  padding-bottom:24px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-grid h1{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.1 !important;
  }
}


/* 2026-07-13 About first viewport balance */
.editorial-about-page .about-editorial-media{
  aspect-ratio:16/7.6 !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-media{
    aspect-ratio:4/4.7 !important;
  }
}


/* 2026-07-13 Contact page — editorial utility page, not case-study clone */
.editorial-contact-page{
  background:#0d2838 !important;
}
.editorial-contact-page .contact-editorial-hero{
  padding:0 !important;
  background:#0d2838 !important;
}
.editorial-contact-page .contact-editorial-media{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16/7.8 !important;
  overflow:hidden !important;
  background:#0d2838 !important;
}
.editorial-contact-page .contact-editorial-media:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(13,40,56,.04),rgba(13,40,56,.58)) !important;
}
.editorial-contact-page .contact-editorial-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 52% !important;
}
.editorial-contact-page .contact-editorial-intro{
  background:#113348 !important;
  padding:0 !important;
}
.editorial-contact-page .contact-editorial-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.62fr) !important;
  gap:28px !important;
  align-items:center !important;
  padding:26px 0 !important;
}
.editorial-contact-page .contact-editorial-grid h1{
  margin:0 !important;
  max-width:820px !important;
  color:#fff !important;
  font-size:clamp(30px,3.15vw,48px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
}
.editorial-contact-page .contact-editorial-grid p,
.editorial-contact-page .contact-inquiry p{
  color:rgba(247,242,232,.78) !important;
  font-size:15px !important;
  line-height:1.62 !important;
  margin:0 0 12px !important;
}
.editorial-contact-page .contact-inquiry{
  background:#0d2838 !important;
  padding:16px 0 0 !important;
}
.editorial-contact-page .contact-inquiry-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  background:#113348 !important;
  padding:30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.editorial-contact-page .contact-note h2,
.editorial-contact-page .contact-card h2{
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:clamp(28px,2.9vw,42px) !important;
  line-height:1.06 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
}
.editorial-contact-page .contact-card .btn{
  align-self:flex-start !important;
  margin-top:12px !important;
}
.editorial-contact-page .contact-lanes{
  margin-top:14px !important;
  color:rgba(191,164,106,.86) !important;
  font-size:11px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  line-height:1.6 !important;
}
.editorial-contact-page .footer{
  background:#113348 !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-editorial-media{
    aspect-ratio:4/4.7 !important;
  }
  .editorial-contact-page .contact-editorial-grid,
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .editorial-contact-page .contact-editorial-grid{
    padding:22px 0 !important;
  }
  .editorial-contact-page .contact-editorial-grid h1{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.1 !important;
  }
  .editorial-contact-page .contact-note,
  .editorial-contact-page .contact-card{
    padding:24px !important;
  }
}


/* 2026-07-13 Contact first viewport balance — utility action should appear sooner */
.editorial-contact-page .contact-editorial-media{
  aspect-ratio:16/6.9 !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-editorial-media{
    aspect-ratio:4/4.35 !important;
  }
}


/* 2026-07-13 homepage proof-to-CTA divider */
.home-page .cta-box{
  border-top:1px solid rgba(255,255,255,.32) !important;
}


/* 2026-07-13 homepage CTA subline — one desktop line, tighter close */
.home-page .cta p{
  max-width:none !important;
  white-space:nowrap !important;
}
.home-page .cta-box{
  padding-bottom:20px !important;
}
.home-page .footer{
  padding-bottom:16px !important;
}
@media(max-width:900px){
  .home-page .cta p{
    white-space:normal !important;
  }
}


/* 2026-07-13 footer social icons */
.footer-social{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
}
.footer-social a{
  display:inline-grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  color:#fff !important;
  opacity:.88 !important;
  transition:opacity .2s ease, transform .2s ease !important;
}
.footer-social a:hover,
.footer-social a:focus-visible{
  opacity:1 !important;
  transform:translateY(-1px) !important;
  outline:0 !important;
}
.footer-social svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}
@media(max-width:720px){
  .footer-social{
    justify-content:flex-start !important;
    gap:13px !important;
  }
}


/* 2026-07-13 footer breathing room — separate CTA content from copyright/social row */
.home-page .footer,
.case-study-page .footer,
.site-subpage .footer{
  padding-top:10px !important;
}
@media(max-width:720px){
  .home-page .footer,
  .case-study-page .footer,
  .site-subpage .footer{
    padding-top:10px !important;
  }
}


/* 2026-07-13 sitewide footer breathing room */
.footer{
  padding-top:10px !important;
}


/* 2026-07-13 homepage proof band — darker and closer to image grid */
.home-page .quiet-proof.proof-strip{
  background:#0d2838 !important;
  padding-top:14px !important;
  padding-bottom:12px !important;
}
.home-page .proof-strip .eyebrow{
  margin-bottom:6px !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}


/* 2026-07-13 homepage selected-work/proof/CTA color rhythm correction */
.home-page .selected-work,
.home-page .editorial-grid{
  background:#0d2838 !important;
}
.home-page .quiet-proof.proof-strip{
  background:#0d2838 !important;
  padding-top:14px !important;
  padding-bottom:6px !important;
}
.home-page .cta{
  padding-top:6px !important;
}
.home-page .cta-box{
  border-top:0 !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    padding-top:12px !important;
    padding-bottom:6px !important;
  }
  .home-page .cta{
    padding-top:6px !important;
  }
}


/* 2026-07-13 homepage proof text vertical centering */
.home-page .quiet-proof.proof-strip{
  display:flex !important;
  align-items:center !important;
  min-height:92px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.home-page .proof-strip-inner{
  display:block !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    min-height:104px !important;
  }
}


/* 2026-07-13 homepage purpose band top spacing balance */
.home-page .selected-work{
  padding-bottom:14px !important;
}
.home-page .quiet-proof.proof-strip{
  min-height:86px !important;
}
@media(max-width:720px){
  .home-page .selected-work{
    padding-bottom:12px !important;
  }
  .home-page .quiet-proof.proof-strip{
    min-height:96px !important;
  }
}


/* 2026-07-13 homepage purpose band exact equal padding */
.home-page .quiet-proof.proof-strip{
  display:block !important;
  min-height:0 !important;
  padding-top:22px !important;
  padding-bottom:22px !important;
}
.home-page .proof-strip .eyebrow{
  margin-top:0 !important;
  margin-bottom:6px !important;
}
.home-page .proof-strip p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.home-page .cta{
  padding-top:6px !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    min-height:0 !important;
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
}


/* 2026-07-13 homepage purpose band top padding reduction */
.home-page .quiet-proof.proof-strip{
  padding-top:10px !important;
  padding-bottom:22px !important;
}
@media(max-width:720px){
  .home-page .quiet-proof.proof-strip{
    padding-top:10px !important;
    padding-bottom:20px !important;
  }
}


/* 2026-07-13 homepage intro banner matches footer banner color */
.home-page .studio-opening{
  background:#113348 !important;
  border-bottom:0 !important;
}


/* 2026-07-13 template banner color rule
   Banner panels use the shared lighter blue #113348. Page/gallery background uses #0d2838.
   Intro banners and footer/CTA banners must match unless deliberately overridden after design review. */
:root{
  --sfp-page-bg:#0d2838;
  --sfp-banner-bg:#113348;
}
.home-page .studio-opening,
.home-page .cta,
.home-page .footer,
.case-study-page .case-intro.case-intro-compact,
.case-study-page .case-intro.case-intro-compact .case-intro-grid,
.case-study-page .cta-box,
.case-study-page .footer,
.top-level-template-page .case-intro.case-intro-compact,
.top-level-template-page .case-intro.case-intro-compact .case-intro-grid,
.top-level-template-page .cta-box,
.top-level-template-page .footer,
.editorial-about-page .about-editorial-intro,
.editorial-about-page .cta,
.editorial-about-page .footer,
.editorial-contact-page .contact-editorial-intro,
.editorial-contact-page .footer{
  background:var(--sfp-banner-bg) !important;
}
.home-page .selected-work,
.home-page .quiet-proof.proof-strip,
.case-study-page .case-gallery,
.top-level-template-page .case-gallery,
.editorial-about-page .about-editorial-feature,
.editorial-contact-page .contact-inquiry{
  background:var(--sfp-page-bg) !important;
}


/* 2026-07-13 current homepage hero image framing — keep Truist logo/lettering visible.
   This is intentionally asset-specific. If home-hero.jpg is replaced, remove or change
   the image framing class instead of treating this crop as a global hero rule. */
.home-page .hero.hero-still-home img.hero-image-framing-truist{
  object-position:center 22% !important;
}
@media(max-width:720px){
  .home-page .hero.hero-still-home img.hero-image-framing-truist{
    object-position:center 18% !important;
  }
}


/* 2026-07-13 homepage mobile tuning — Stephen-directed landscape/portrait fixes */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  /* Current Truist hero only: keep rooftop logo/lettering visible below the fixed header. */
  .home-page .hero.hero-still-home img.hero-image-framing-truist{
    object-position:center 8% !important;
  }
  .home-page .hero.hero-still-home .hero-media{
    aspect-ratio:16/6.1 !important;
  }

  /* Intro: keep wording and actions balanced in landscape, buttons stacked to the side. */
  .home-page .studio-opening{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
  .home-page .studio-opening-grid{
    grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr) !important;
    gap:22px !important;
    align-items:center !important;
  }
  .home-page .studio-opening h1{
    font-size:clamp(25px,4.4vw,34px) !important;
    line-height:1.08 !important;
  }
  .home-page .opening-copy{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) max-content !important;
    gap:16px !important;
    align-items:center !important;
  }
  .home-page .opening-copy p{
    margin:0 !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
  }
  .home-page .opening-copy .button-row{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin:0 !important;
    width:auto !important;
  }
  .home-page .opening-copy .btn{
    width:100% !important;
    min-width:158px !important;
    white-space:nowrap !important;
  }

  /* Purpose line: use one line only when it fits comfortably; otherwise balanced centered wrap. */
  .home-page .quiet-proof.proof-strip{
    padding-top:9px !important;
    padding-bottom:16px !important;
  }
  .home-page .proof-strip-inner{
    width:calc(100% - 42px) !important;
  }
  .home-page .proof-strip p{
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    font-size:clamp(13.5px,2.05vw,16px) !important;
    line-height:1.35 !important;
    white-space:normal !important;
    text-wrap:balance !important;
  }
}
@media (orientation:landscape) and (min-width:860px) and (max-width:950px) and (max-height:540px){
  .home-page .proof-strip p{
    white-space:nowrap !important;
  }
}

@media (orientation:portrait) and (max-width:720px){
  /* Portrait CTA: give copy breathing room and center the button horizontally only in portrait. */
  .home-page .cta-box{
    width:calc(100% - 64px) !important;
    padding-top:24px !important;
    padding-bottom:24px !important;
    gap:16px !important;
  }
  .home-page .cta h2,
  .home-page .cta p{
    max-width:100% !important;
  }
  .home-page .cta p{
    line-height:1.55 !important;
  }
  .home-page .cta .btn{
    justify-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    width:auto !important;
  }
}


/* 2026-07-13 homepage portrait CTA centering correction */
@media (orientation:portrait) and (max-width:720px){
  .home-page .cta{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .home-page .cta-box{
    width:calc(100% - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:center !important;
    justify-items:center !important;
  }
  .home-page .cta h2,
  .home-page .cta p{
    width:100% !important;
    text-align:center !important;
    text-wrap:balance !important;
  }
  .home-page .cta .btn{
    display:inline-flex !important;
    justify-self:center !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* 2026-07-13 homepage mobile landscape intro refinement:
   headline left, stacked buttons right, descriptive copy spans under both. */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .home-page .studio-opening-grid{
    grid-template-columns:minmax(0,1fr) max-content !important;
    grid-template-areas:
      "intro-title intro-actions"
      "intro-copy intro-copy" !important;
    column-gap:24px !important;
    row-gap:12px !important;
    align-items:center !important;
  }
  .home-page .studio-opening-grid > div:first-child{
    grid-area:intro-title !important;
  }
  .home-page .opening-copy{
    display:contents !important;
  }
  .home-page .opening-copy .button-row{
    grid-area:intro-actions !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin:0 !important;
    align-self:center !important;
    justify-self:end !important;
  }
  .home-page .opening-copy p{
    grid-area:intro-copy !important;
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    text-align:left !important;
    font-size:13.75px !important;
    line-height:1.45 !important;
    text-wrap:balance !important;
  }
}


/* 2026-07-13 mobile landscape intro copy true full-span correction */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .home-page .studio-opening-grid{
    grid-template-columns:minmax(0,1fr) max-content !important;
  }
  .home-page .opening-copy p{
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
    max-width:100% !important;
  }
}


/* 2026-07-13 mobile landscape intro copy max-width override */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  body.home-page .studio-opening-grid .opening-copy p{
    max-width:none !important;
    width:calc(100vw - 56px) !important;
  }
}


/* 2026-07-13 mobile landscape intro button optical alignment */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .home-page .opening-copy .button-row{
    align-self:center !important;
    transform:translateY(-8px) !important;
  }
}


/* 2026-07-13 mobile landscape intro copy full-width centered under title/actions */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  body.home-page .studio-opening-grid .opening-copy p{
    display:block !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
    text-wrap:balance !important;
  }
}
@media (orientation:landscape) and (min-width:820px) and (max-width:950px) and (max-height:540px){
  body.home-page .studio-opening-grid .opening-copy p{
    white-space:nowrap !important;
    font-size:13px !important;
  }
}


/* 2026-07-13 mobile landscape intro copy: centered balanced wrap, no overflow */
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  body.home-page .studio-opening-grid .opening-copy p{
    white-space:normal !important;
    overflow-wrap:normal !important;
    text-align:center !important;
    width:100% !important;
    max-width:760px !important;
    justify-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-wrap:balance !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
  }
}


/* 2026-07-13 homepage portrait first-screen CTA visibility */
@media (orientation:portrait) and (max-width:720px){
  .home-page .hero.hero-still-home .hero-media{
    aspect-ratio:4/4.35 !important;
  }
  .home-page .hero.hero-still-home img.hero-image-framing-truist{
    object-position:center 16% !important;
  }
  .home-page .studio-opening{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
  .home-page .studio-opening-grid{
    gap:18px !important;
  }
  .home-page .studio-opening .eyebrow{
    margin-bottom:9px !important;
  }
  .home-page .studio-opening h1{
    font-size:clamp(27px,8.4vw,35px) !important;
    line-height:1.06 !important;
  }
  .home-page .opening-copy p{
    font-size:14px !important;
    line-height:1.5 !important;
  }
  .home-page .opening-copy .button-row{
    margin-top:16px !important;
    gap:10px !important;
  }
}


/* 2026-07-13 top-level page main-title typography rule
   Stephen rule: follow the template as a system. Eligible service/work landing pages
   use the same restrained main-title scale as the locked editorial title system.
   Excludes homepage/main, About, Start a Project/Contact, active case-study pages,
   and project/card titles unless Stephen explicitly approves touching those. */
:root{
  --sfp-main-title-size:clamp(30px,3.15vw,48px);
  --sfp-main-title-size-mobile:clamp(28px,8vw,38px);
}
body.site-subpage.top-level-template-page .case-intro.case-intro-compact h1{
  font-family:var(--sans) !important;
  font-size:var(--sfp-main-title-size) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
  max-width:820px !important;
  text-wrap:balance !important;
}
@media(max-width:720px){
  body.site-subpage.top-level-template-page .case-intro.case-intro-compact h1{
    font-size:var(--sfp-main-title-size-mobile) !important;
    line-height:1.1 !important;
  }
}


/* 2026-07-13 complete main-page title typography rule
   Stephen correction: main page titles include homepage/main, About, Start a Project/Contact,
   and eligible service/work landing pages. Still excludes active case-study pages and card/project titles. */
.home-page .studio-opening h1,
.editorial-about-page .about-editorial-grid h1,
.editorial-contact-page .contact-editorial-grid h1,
body.site-subpage.top-level-template-page .case-intro.case-intro-compact h1{
  font-family:var(--sans) !important;
  font-size:var(--sfp-main-title-size) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
  max-width:820px !important;
  text-wrap:balance !important;
}
@media(max-width:720px){
  .home-page .studio-opening h1,
  .editorial-about-page .about-editorial-grid h1,
  .editorial-contact-page .contact-editorial-grid h1,
  body.site-subpage.top-level-template-page .case-intro.case-intro-compact h1{
    font-size:var(--sfp-main-title-size-mobile) !important;
    line-height:1.1 !important;
  }
}


/* 2026-07-13 homepage main title specificity correction for complete title system */
body.home-page .studio-opening h1{
  font-size:var(--sfp-main-title-size) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
  max-width:820px !important;
}
@media(max-width:720px){
  body.home-page .studio-opening h1{
    font-size:var(--sfp-main-title-size-mobile) !important;
    line-height:1.1 !important;
  }
}

/* 2026-07-14 reviews/testimonials page */
.reviews-page .site-header .links{gap:18px;font-size:12px;}
.reviews-page .reviews-intro .case-intro-grid{align-items:end;}
.reviews-actions{margin-top:22px;}
.reviews-feature{padding:58px 0;background:linear-gradient(180deg,#12364b,#102f42);border-block:1px solid var(--line);}
.reviews-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:48px;align-items:center;}
.reviews-feature .quote-band{font-family:var(--sans);font-weight:430;font-size:clamp(30px,3.35vw,50px);line-height:1.08;letter-spacing:-.045em;color:var(--text);margin:0;}
.reviews-feature-card{border:1px solid var(--line);background:rgba(226,236,240,.055);padding:26px;}
.reviews-feature-card p{margin:0 0 16px;color:var(--cream);font-size:16px;line-height:1.56;}
.reviews-feature-card span{display:block;color:var(--muted);font-size:13px;line-height:1.5;}
.reviews-grid-section{padding:72px 0 82px;background:#0f2d3f;}
.reviews-head h2{font-family:var(--sans);font-weight:430;font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.04em;max-width:760px;}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.testimonial-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:330px;padding:28px;border:1px solid var(--line);background:rgba(226,236,240,.045);}
.testimonial-card.featured{grid-column:span 2;background:linear-gradient(135deg,rgba(191,164,106,.16),rgba(226,236,240,.055));}
.testimonial-card blockquote{margin:0;color:var(--cream);font-family:var(--serif);font-size:clamp(22px,2.1vw,32px);line-height:1.2;letter-spacing:-.025em;}
.testimonial-card:not(.featured) blockquote{font-size:21px;line-height:1.28;}
.testimonial-card cite{display:block;font-style:normal;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:13px;line-height:1.45;}
.testimonial-card cite strong{display:block;color:var(--text);font-size:14px;margin-bottom:4px;}
.reviews-proof-strip{padding:64px 0;background:#102f42;border-top:1px solid var(--line);}
.reviews-proof-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:start;}
.reviews-proof-grid h2{font-family:var(--sans);font-size:clamp(26px,2.7vw,39px);font-weight:430;line-height:1.1;letter-spacing:-.035em;margin:0;}
.proof-paths{display:grid;gap:12px;}
.proof-paths a{display:grid;gap:5px;border:1px solid var(--line);background:rgba(226,236,240,.04);padding:18px 20px;transition:background .2s ease, transform .2s ease;}
.proof-paths a:hover{background:rgba(226,236,240,.075);transform:translateY(-1px);}
.proof-paths strong{color:var(--text);font-size:13px;text-transform:uppercase;letter-spacing:.15em;}
.proof-paths span{color:var(--muted);font-size:14px;line-height:1.5;}
@media(max-width:1020px){
  .site-header .links{gap:14px;font-size:11px;}
  .reviews-feature-grid,.reviews-proof-grid{grid-template-columns:1fr;}
  .testimonial-grid{grid-template-columns:1fr 1fr;}
  .testimonial-card.featured{grid-column:span 2;}
}
@media(max-width:720px){
  .reviews-feature,.reviews-grid-section,.reviews-proof-strip{padding:48px 0;}
  .testimonial-grid{grid-template-columns:1fr;}
  .testimonial-card,.testimonial-card.featured{grid-column:auto;min-height:0;padding:23px;}
  .testimonial-card blockquote,.testimonial-card:not(.featured) blockquote{font-size:20px;line-height:1.28;}
}

/* 2026-07-14 reviews pass visual tightening */
.site-header .links{gap:18px;font-size:12px;}
.testimonial-card.featured{grid-column:span 2;}
.testimonial-card:nth-child(6){grid-column:span 3;min-height:0;}
.testimonial-card:nth-child(6) blockquote{font-size:clamp(22px,2.1vw,30px);}
.reviews-page .reviews-hero .case-hero-media img{object-position:center 48%;}
@media(max-width:720px){
  .testimonial-card:nth-child(6){grid-column:auto;}
  .reviews-page .reviews-hero .case-hero-media{aspect-ratio:4/3 !important;}
  .reviews-page .reviews-hero .case-hero-media img{object-position:center center;}
}

/* 2026-07-14 Client Notes page — restrained editorial proof */
.client-notes-page{background:#102f42;}
.client-notes-page .site-header .links{gap:18px;font-size:12px;}
.client-notes-shell{padding:148px 0 74px;background:linear-gradient(180deg,#102f42 0%,#12364b 100%);min-height:calc(100vh - 90px);}
.client-notes-wrap{max-width:900px;}
.client-notes-kicker{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:24px;}
.client-notes-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(250px,.75fr);gap:54px;align-items:end;padding-bottom:46px;border-bottom:1px solid var(--line);}
.client-notes-intro h1{margin:0;font-family:var(--sans);font-weight:430;font-size:clamp(30px,3.2vw,46px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance;color:var(--text);}
.client-notes-intro p{margin:0;color:var(--muted);font-size:15px;line-height:1.55;max-width:360px;}
.client-note-lead{margin:54px 0 48px;padding:0 0 50px;border-bottom:1px solid var(--line);}
.client-note-lead blockquote{margin:0 0 24px;font-family:var(--serif);font-size:clamp(34px,4.6vw,64px);line-height:1.05;letter-spacing:-.045em;color:var(--cream);max-width:780px;}
.client-note-lead figcaption,.client-note-row cite{font-style:normal;color:var(--muted);font-size:13px;line-height:1.45;}
.client-note-lead strong,.client-note-row strong{display:block;color:var(--text);font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;}
.client-note-list{display:grid;}
.client-note-row{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:44px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start;}
.client-note-row blockquote{margin:0;color:var(--cream);font-family:var(--serif);font-size:21px;line-height:1.34;letter-spacing:-.018em;}
.client-note-row cite span{display:block;}
.client-notes-footer{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-top:34px;color:var(--muted);font-size:13px;}
.client-notes-footer p{margin:0;}
.client-notes-footer a{color:var(--cream);border-bottom:1px solid rgba(241,234,220,.45);}
.client-notes-project-link{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;white-space:nowrap;}
@media(max-width:900px){
  .client-notes-shell{padding:120px 0 58px;}
  .client-notes-intro{grid-template-columns:1fr;gap:18px;padding-bottom:34px;}
  .client-notes-intro p{max-width:620px;}
  .client-note-lead{margin:40px 0 32px;padding-bottom:36px;}
  .client-note-row{grid-template-columns:1fr;gap:14px;padding:24px 0;}
  .client-note-row blockquote{font-size:20px;}
  .client-notes-footer{display:grid;gap:18px;}
}
@media(max-width:520px){
  .client-notes-shell{padding:104px 0 48px;}
  .client-notes-kicker{margin-bottom:16px;}
  .client-note-lead blockquote{font-size:clamp(32px,10vw,46px);}
  .client-note-row blockquote{font-size:19px;line-height:1.32;}
}

/* 2026-07-14 Client Notes final tightening */
.client-note-row blockquote{max-width:650px;}
.client-notes-project-link{justify-self:start;display:inline-block;width:max-content;}
.client-notes-footer a.client-notes-project-link{border-bottom-color:rgba(241,234,220,.55);}
@media(max-width:900px){
  .client-note-row blockquote{max-width:680px;}
  .client-notes-footer p{max-width:560px;}
}
@media(max-width:520px){
  .client-notes-footer{padding-top:28px;}
}

/* 2026-07-14 Client Notes typography correction
   Stephen rule: no giant words. Match restrained editorial website scale. */
.client-notes-intro h1{
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  max-width:560px !important;
}
.client-note-lead blockquote{
  font-family:var(--sans) !important;
  font-size:clamp(25px,2.55vw,36px) !important;
  line-height:1.16 !important;
  letter-spacing:-.04em !important;
  max-width:620px !important;
}
.client-note-row blockquote{
  font-family:var(--sans) !important;
  font-size:clamp(15px,1.2vw,18px) !important;
  line-height:1.48 !important;
  letter-spacing:-.015em !important;
  max-width:590px !important;
}
.client-note-lead{
  margin:42px 0 36px !important;
  padding-bottom:38px !important;
}
.client-note-row{
  padding:22px 0 !important;
}
.client-notes-intro{
  padding-bottom:34px !important;
}
@media(max-width:720px){
  .client-notes-intro h1{
    font-size:clamp(24px,7vw,31px) !important;
  }
  .client-note-lead blockquote{
    font-size:clamp(24px,7.2vw,32px) !important;
  }
  .client-note-row blockquote{
    font-size:16px !important;
    line-height:1.45 !important;
  }
}

/* 2026-07-14 Client Notes layout system correction
   Use the approved page system: lighter intro/title band, uniform rows, standard CTA/footer. */
.client-notes-title-band{
  padding:126px 0 38px !important;
  background:#17425B !important;
  border-bottom:1px solid rgba(226,236,240,.16) !important;
}
.client-notes-title-band .client-notes-wrap,
.client-notes-shell .client-notes-wrap{
  max-width:900px !important;
}
.client-notes-title-band .client-notes-kicker{
  color:#d3bb7f !important;
  margin-bottom:16px !important;
}
.client-notes-title-band .client-notes-intro{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.72fr) !important;
  gap:52px !important;
  align-items:end !important;
  padding:0 !important;
  border:0 !important;
}
.client-notes-title-band .client-notes-intro h1{
  color:#fff !important;
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  max-width:560px !important;
}
.client-notes-title-band .client-notes-intro p{
  color:rgba(247,242,232,.78) !important;
  font-size:15px !important;
  line-height:1.55 !important;
  max-width:380px !important;
}
.client-notes-shell{
  min-height:0 !important;
  padding:0 0 34px !important;
  background:#102f42 !important;
}
.client-note-list{
  border-top:0 !important;
}
.client-note-lead{
  display:none !important;
}
.client-note-row{
  grid-template-columns:minmax(0,1fr) 240px !important;
  gap:44px !important;
  padding:22px 0 !important;
  border-bottom:1px solid rgba(226,236,240,.16) !important;
}
.client-note-row blockquote{
  font-family:var(--sans) !important;
  font-size:clamp(15px,1.2vw,18px) !important;
  line-height:1.48 !important;
  letter-spacing:-.015em !important;
  max-width:590px !important;
  color:rgba(247,242,232,.9) !important;
}
.client-note-row cite{
  color:rgba(195,206,211,.86) !important;
}
.client-notes-google{
  margin:22px 0 0 !important;
  max-width:560px !important;
  color:rgba(195,206,211,.86) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.client-notes-google a{
  color:#f1eadc !important;
  border-bottom:1px solid rgba(241,234,220,.45) !important;
}
.client-notes-footer{
  display:none !important;
}
.client-notes-page .cta{
  background:#113348 !important;
}
.client-notes-page .footer{
  background:#113348 !important;
}
@media(max-width:900px){
  .client-notes-title-band{padding:112px 0 32px !important;}
  .client-notes-title-band .client-notes-intro{grid-template-columns:1fr !important;gap:14px !important;}
  .client-note-row{grid-template-columns:1fr !important;gap:12px !important;padding:20px 0 !important;}
}
@media(max-width:520px){
  .client-notes-title-band{padding:100px 0 30px !important;}
  .client-notes-shell{padding-bottom:28px !important;}
  .client-note-row blockquote{font-size:16px !important;line-height:1.45 !important;}
}

/* 2026-07-14 Client Notes cascade fix: title band must use approved lighter banner palette. */
body.client-notes-page .client-notes-title-band,
body.client-notes-page .client-notes-title-band .client-notes-wrap,
body.client-notes-page .client-notes-title-band .client-notes-intro{
  background:var(--sfp-banner-bg) !important;
}
body.client-notes-page .client-notes-shell{
  background:var(--sfp-page-bg) !important;
}

/* 2026-07-14 Client Notes section heads: Google Reviews / Client Reviews */
body.client-notes-page .client-review-section-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:28px !important;
  align-items:end !important;
  padding:30px 0 16px !important;
  border-bottom:1px solid rgba(226,236,240,.16) !important;
}
body.client-notes-page .client-review-section-head h2{
  margin:0 !important;
  color:#f5f2ea !important;
  font-family:var(--sans) !important;
  font-size:clamp(18px,1.65vw,23px) !important;
  line-height:1.15 !important;
  letter-spacing:-.025em !important;
  font-weight:430 !important;
}
body.client-notes-page .client-review-section-head p{
  margin:0 !important;
  color:rgba(195,206,211,.86) !important;
  font-size:12px !important;
  line-height:1.4 !important;
  text-align:right !important;
}
body.client-notes-page .client-review-section-head-secondary{
  margin-top:22px !important;
}
body.client-notes-page .client-review-section-head + .client-note-list .client-note-row:first-child{
  border-top:0 !important;
}
@media(max-width:720px){
  body.client-notes-page .client-review-section-head{
    display:grid !important;
    gap:6px !important;
    padding:26px 0 14px !important;
  }
  body.client-notes-page .client-review-section-head p{
    text-align:left !important;
  }
}

/* 2026-07-14 Client Notes intro tightening after review */
body.client-notes-page .client-notes-title-band{
  padding-top:116px !important;
  padding-bottom:32px !important;
}
body.client-notes-page .client-notes-title-band .client-notes-intro{
  grid-template-columns:minmax(0,1fr) minmax(260px,.64fr) !important;
  gap:34px !important;
  align-items:center !important;
}
body.client-notes-page .client-notes-title-band .client-notes-kicker{
  margin-bottom:12px !important;
}
body.client-notes-page .client-notes-title-band .client-notes-intro p{
  align-self:center !important;
  max-width:360px !important;
}
@media(max-width:900px){
  body.client-notes-page .client-notes-title-band{
    padding-top:106px !important;
    padding-bottom:28px !important;
  }
  body.client-notes-page .client-notes-title-band .client-notes-intro{
    gap:10px !important;
  }
}
@media(max-width:520px){
  body.client-notes-page .client-notes-title-band{
    padding-top:96px !important;
    padding-bottom:26px !important;
  }
}

/* 2026-07-14 Client Notes intro visible correction: stacked, tighter, no floating right copy */
body.client-notes-page .client-notes-title-band{
  padding-top:104px !important;
  padding-bottom:28px !important;
}
body.client-notes-page .client-notes-title-band .client-notes-intro{
  display:block !important;
}
body.client-notes-page .client-notes-title-band .client-notes-intro h1{
  max-width:720px !important;
  margin-bottom:10px !important;
}
body.client-notes-page .client-notes-title-band .client-notes-intro p{
  max-width:640px !important;
  margin:0 !important;
  align-self:auto !important;
}
body.client-notes-page .client-notes-title-band .client-notes-kicker{
  margin-bottom:10px !important;
}
@media(max-width:520px){
  body.client-notes-page .client-notes-title-band{
    padding-top:92px !important;
    padding-bottom:24px !important;
  }
}

/* 2026-07-14 review section scroll test — show roughly four rows, keep page compact */
body.client-notes-page .client-note-list{
  max-height:560px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  padding-right:14px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(241,234,220,.35) rgba(226,236,240,.06) !important;
}
body.client-notes-page .client-note-list::-webkit-scrollbar{
  width:6px !important;
}
body.client-notes-page .client-note-list::-webkit-scrollbar-track{
  background:rgba(226,236,240,.06) !important;
}
body.client-notes-page .client-note-list::-webkit-scrollbar-thumb{
  background:rgba(241,234,220,.35) !important;
  border-radius:999px !important;
}
body.client-notes-page .client-review-section-head p::after{
  content:" · scroll for more";
  color:rgba(195,206,211,.62);
}
@media(max-width:720px){
  body.client-notes-page .client-note-list{
    max-height:650px !important;
    padding-right:10px !important;
  }
}

/* 2026-07-14 three-visible review expansion test — no carousel, no inner scroll */
body.client-notes-page .client-note-list{
  max-height:none !important;
  overflow:visible !important;
  padding-right:0 !important;
}
body.client-notes-page .client-review-section-head p::after{
  content:"" !important;
}
body.client-notes-page .client-note-list.review-collapsed .client-note-row:nth-child(n+4){
  display:none !important;
}
body.client-notes-page .client-note-list.review-expanded .client-note-row{
  display:grid !important;
}
body.client-notes-page .review-toggle{
  appearance:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(241,234,220,.45) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#f1eadc !important;
  cursor:pointer !important;
  display:inline-block !important;
  font:inherit !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  line-height:1.4 !important;
  margin:18px 0 0 !important;
  padding:0 0 2px !important;
  text-transform:uppercase !important;
}
body.client-notes-page .review-toggle:hover,
body.client-notes-page .review-toggle:focus-visible{
  color:#fff !important;
  border-bottom-color:#fff !important;
}
body.client-notes-page .client-notes-google{
  margin-top:10px !important;
}

/* 2026-07-14 Google review actions row */
body.client-notes-page .review-actions-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  gap:24px !important;
  margin-top:18px !important;
}
body.client-notes-page .review-actions-row .review-toggle,
body.client-notes-page .review-actions-row .client-notes-google{
  margin:0 !important;
}
body.client-notes-page .review-actions-row .client-notes-google{
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  line-height:1.4 !important;
  text-transform:uppercase !important;
  text-align:right !important;
  white-space:nowrap !important;
}
@media(max-width:620px){
  body.client-notes-page .review-actions-row{
    display:grid !important;
    justify-content:start !important;
    gap:10px !important;
  }
  body.client-notes-page .review-actions-row .client-notes-google{
    text-align:left !important;
    white-space:normal !important;
  }
}

/* 2026-07-14 review section title color: match eyebrow gold */
body.client-notes-page .client-review-section-head h2{
  color:var(--gold) !important;
}

/* 2026-07-14 subtle glass-blue review section headers */
body.client-notes-page .client-review-section-head{
  background:linear-gradient(135deg, rgba(31,79,104,.34), rgba(10,34,49,.16)) !important;
  border:1px solid rgba(226,236,240,.12) !important;
  border-bottom-color:rgba(226,236,240,.18) !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  padding:16px 18px !important;
  margin:30px 0 10px !important;
}
body.client-notes-page .client-review-section-head-secondary{
  margin-top:34px !important;
}
@supports ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))){
  body.client-notes-page .client-review-section-head{
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }
}
@media(max-width:720px){
  body.client-notes-page .client-review-section-head{
    padding:14px 15px !important;
    margin:26px 0 8px !important;
    border-radius:12px !important;
  }
}

/* 2026-07-14 glass review headers: white section titles */
body.client-notes-page .client-review-section-head h2{
  color:#f5f2ea !important;
}

/* 2026-07-14 Client Notes intro optical vertical balance */
body.client-notes-page .client-notes-title-band{
  padding-top:122px !important;
  padding-bottom:16px !important;
}
@media(max-width:520px){
  body.client-notes-page .client-notes-title-band{
    padding-top:108px !important;
    padding-bottom:18px !important;
  }
}

/* 2026-07-14 sitewide CTA/footer template alignment lock
   CTA content edges align to footer left/right edges across home, top-level, and case-study pages. */
.home-page .footer .wrap,
.site-subpage:not(.case-study-page) .footer .wrap,
.case-study-page .footer .wrap{
  box-sizing:border-box !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.home-page .footer-social,
.site-subpage:not(.case-study-page) .footer-social,
.case-study-page .footer-social{
  justify-content:flex-end !important;
  margin-left:auto !important;
}

/* 2026-07-14 sitewide CTA/footer max-width gutter correction
   At desktop widths, CTA content must use the same outer template gutter as the footer wrap. */
:root{
  --sfp-template-edge-gutter:max(28px, calc((100vw - var(--max)) / 2));
}
.home-page .cta-box,
.site-subpage:not(.case-study-page) .cta-box,
.case-study-page .cta-box{
  padding-left:var(--sfp-template-edge-gutter) !important;
  padding-right:var(--sfp-template-edge-gutter) !important;
}
@media(max-width:720px){
  .home-page .cta-box,
  .site-subpage:not(.case-study-page) .cta-box{
    padding-left:28px !important;
    padding-right:28px !important;
  }
  .case-study-page .cta-box{
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

/* 2026-07-14 mobile portrait footer polish: centered legal/social row */
@media(max-width:520px) and (orientation:portrait){
  .home-page .footer .wrap,
  .site-subpage:not(.case-study-page) .footer .wrap,
  .case-study-page .footer .wrap{
    display:grid !important;
    justify-items:center !important;
    text-align:center !important;
    gap:12px !important;
    width:calc(100% - 28px) !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .home-page .footer .wrap > span,
  .site-subpage:not(.case-study-page) .footer .wrap > span,
  .case-study-page .footer .wrap > span{
    display:block !important;
    max-width:none !important;
    width:100% !important;
    white-space:nowrap !important;
    font-size:clamp(9px,2.55vw,11px) !important;
    letter-spacing:-.01em !important;
  }
  .home-page .footer-social,
  .site-subpage:not(.case-study-page) .footer-social,
  .case-study-page .footer-social{
    justify-content:center !important;
    justify-self:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* 2026-07-14 mobile portrait footer centering correction */
@media(max-width:520px) and (orientation:portrait){
  .home-page .footer .wrap,
  .site-subpage:not(.case-study-page) .footer .wrap,
  .case-study-page .footer .wrap{
    grid-template-columns:1fr !important;
    justify-content:center !important;
  }
  .home-page .footer .wrap > span,
  .site-subpage:not(.case-study-page) .footer .wrap > span,
  .case-study-page .footer .wrap > span{
    justify-self:center !important;
  }
  .home-page .footer-social,
  .site-subpage:not(.case-study-page) .footer-social,
  .case-study-page .footer-social{
    width:max-content !important;
    max-width:100% !important;
    place-self:center !important;
  }
}

/* 2026-07-15 Inquire page — clearer project-intake section */
.editorial-contact-page .inquiry-detail-list{
  list-style:none !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px 18px !important;
  padding:0 !important;
  margin:4px 0 0 !important;
}
.editorial-contact-page .inquiry-detail-list li{
  position:relative !important;
  padding-left:16px !important;
  color:rgba(247,242,232,.82) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.editorial-contact-page .inquiry-detail-list li:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.72em !important;
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background:rgba(191,164,106,.9) !important;
}
.editorial-contact-page .response-note{
  color:rgba(191,164,106,.9) !important;
  font-size:12px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-top:4px !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-detail-list{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
}

/* 2026-07-15 Inquire page — research-refined service area line */
.editorial-contact-page .contact-service-area{
  color:rgba(191,164,106,.88) !important;
  font-size:12px !important;
  letter-spacing:.11em !important;
  line-height:1.55 !important;
  text-transform:uppercase !important;
  margin-top:14px !important;
}

/* 2026-07-15 Inquire page — calm supporting-copy capitalization */
.editorial-contact-page .contact-service-area,
.editorial-contact-page .response-note{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.editorial-contact-page .contact-service-area{
  color:rgba(247,242,232,.74) !important;
}
.editorial-contact-page .response-note{
  color:rgba(191,164,106,.9) !important;
}

/* 2026-07-15 Inquire page — stack intro copy under title */
.editorial-contact-page .contact-editorial-grid{
  grid-template-columns:minmax(0,760px) !important;
  justify-content:start !important;
  gap:16px !important;
  align-items:start !important;
}
.editorial-contact-page .contact-editorial-grid h1{
  max-width:760px !important;
  margin-bottom:0 !important;
}
.editorial-contact-page .contact-editorial-grid p{
  max-width:680px !important;
}

/* 2026-07-15 Inquire page — let intro wording breathe wider */
.editorial-contact-page .contact-editorial-grid{
  grid-template-columns:minmax(0,1020px) !important;
}
.editorial-contact-page .contact-editorial-grid h1{
  max-width:880px !important;
}
.editorial-contact-page .contact-editorial-grid p{
  max-width:980px !important;
}

/* 2026-07-15 Inquire page — fluid intro that adapts to window width */
.editorial-contact-page .contact-editorial-grid{
  grid-template-columns:1fr !important;
  gap:18px !important;
  width:100% !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child{
  width:100% !important;
}
.editorial-contact-page .contact-editorial-grid > div:last-child{
  display:grid !important;
  grid-template-columns:minmax(420px,1.4fr) minmax(280px,.7fr) !important;
  gap:clamp(24px,5vw,76px) !important;
  align-items:start !important;
  width:100% !important;
}
.editorial-contact-page .contact-editorial-grid h1{
  max-width:none !important;
}
.editorial-contact-page .contact-editorial-grid p{
  max-width:none !important;
}
.editorial-contact-page .contact-service-area{
  margin-top:0 !important;
  max-width:360px !important;
  justify-self:end !important;
}
@media(max-width:860px){
  .editorial-contact-page .contact-editorial-grid > div:last-child{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .editorial-contact-page .contact-service-area{
    max-width:none !important;
    justify-self:start !important;
  }
}

/* 2026-07-15 Inquire page — repair intro gutter and safe responsive flow */
.editorial-contact-page .contact-editorial-intro .wrap{
  width:min(var(--max),calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-editorial-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  width:100% !important;
  padding:26px 0 !important;
}
.editorial-contact-page .contact-editorial-grid > div:last-child{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr) !important;
  gap:clamp(24px,4vw,64px) !important;
  align-items:start !important;
  width:100% !important;
}
.editorial-contact-page .contact-editorial-grid h1,
.editorial-contact-page .contact-editorial-grid p{
  max-width:none !important;
}
.editorial-contact-page .contact-service-area{
  max-width:360px !important;
  margin-top:0 !important;
  justify-self:end !important;
}
@media(max-width:860px){
  .editorial-contact-page .contact-editorial-intro .wrap{
    width:min(var(--max),calc(100% - 36px)) !important;
  }
  .editorial-contact-page .contact-editorial-grid > div:last-child{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .editorial-contact-page .contact-service-area{
    max-width:none !important;
    justify-self:start !important;
  }
}

/* 2026-07-15 Inquire page — final stacked intro, full available content width */
.editorial-contact-page .contact-editorial-intro .wrap{
  width:min(var(--max),calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-editorial-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  width:100% !important;
  padding:26px 0 !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child,
.editorial-contact-page .contact-editorial-grid > div:last-child{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
.editorial-contact-page .contact-editorial-grid h1,
.editorial-contact-page .contact-editorial-grid p,
.editorial-contact-page .contact-service-area{
  width:100% !important;
  max-width:none !important;
}
.editorial-contact-page .contact-service-area{
  margin-top:12px !important;
  justify-self:auto !important;
}
@media(max-width:860px){
  .editorial-contact-page .contact-editorial-intro .wrap{
    width:min(var(--max),calc(100% - 36px)) !important;
  }
}

/* 2026-07-15 Inquire page — single continuous light-blue inquiry panel */
.editorial-contact-page .contact-inquiry{
  background:#113348 !important;
  padding:0 !important;
}
.editorial-contact-page .contact-inquiry .wrap{
  width:min(var(--max),calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-inquiry-grid{
  background:#113348 !important;
  gap:0 !important;
  align-items:stretch !important;
}
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  background:#113348 !important;
  padding:34px 0 !important;
}
.editorial-contact-page .contact-note{
  padding-right:34px !important;
}
.editorial-contact-page .contact-card{
  padding-left:34px !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-inquiry .wrap{
    width:min(var(--max),calc(100% - 36px)) !important;
  }
  .editorial-contact-page .contact-note,
  .editorial-contact-page .contact-card{
    padding:26px 0 !important;
  }
}

/* 2026-07-15 Inquire page — force full-bleed light-blue inquiry/footer band */
.editorial-contact-page .contact-inquiry{
  background:#113348 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:0 0 0 100vmax #113348 !important;
  clip-path:inset(0 -100vmax) !important;
}
.editorial-contact-page .contact-inquiry .wrap,
.editorial-contact-page .contact-inquiry-grid,
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  background:#113348 !important;
}
.editorial-contact-page .contact-inquiry-grid{
  gap:0 !important;
  border:0 !important;
}
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  box-shadow:none !important;
  border:0 !important;
}
.editorial-contact-page .footer{
  background:#113348 !important;
  box-shadow:0 0 0 100vmax #113348 !important;
  clip-path:inset(0 -100vmax) !important;
  border-top:0 !important;
}

/* 2026-07-15 Inquire page — hard viewport-width blue band, no side gutters */
.editorial-contact-page .contact-inquiry,
.editorial-contact-page .footer{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  background:#113348 !important;
  box-shadow:none !important;
  clip-path:none !important;
  border:0 !important;
}
.editorial-contact-page .contact-inquiry .wrap,
.editorial-contact-page .footer .wrap{
  width:min(var(--max),calc(100vw - 56px)) !important;
  max-width:min(var(--max),calc(100vw - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  background:transparent !important;
}
.editorial-contact-page .contact-inquiry-grid,
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-inquiry .wrap,
  .editorial-contact-page .footer .wrap{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
}

/* 2026-07-15 Inquire page — absolute full-viewport blue backing, defeats wrapper gutters */
.editorial-contact-page{
  overflow-x:hidden !important;
}
.editorial-contact-page .contact-inquiry,
.editorial-contact-page .footer{
  position:relative !important;
  isolation:isolate !important;
  background:transparent !important;
}
.editorial-contact-page .contact-inquiry::before,
.editorial-contact-page .footer::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:50% !important;
  width:100vw !important;
  transform:translateX(-50%) !important;
  background:#113348 !important;
  z-index:-1 !important;
  pointer-events:none !important;
}
.editorial-contact-page .contact-inquiry .wrap,
.editorial-contact-page .footer .wrap,
.editorial-contact-page .contact-inquiry-grid,
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  background:transparent !important;
}

/* 2026-07-15 Inquire page — align lower inquiry columns vertically */
.editorial-contact-page .contact-inquiry-grid{
  align-items:start !important;
}
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  justify-content:flex-start !important;
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.editorial-contact-page .contact-note .eyebrow,
.editorial-contact-page .contact-card .eyebrow{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
.editorial-contact-page .contact-note h2,
.editorial-contact-page .contact-card h2{
  margin-top:0 !important;
  margin-bottom:16px !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-note,
  .editorial-contact-page .contact-card{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
}

/* 2026-07-15 Inquire page — response note and CTA on one row */
.editorial-contact-page .inquiry-action-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-top:18px !important;
}
.editorial-contact-page .inquiry-action-row .response-note{
  margin:0 !important;
  flex:1 1 auto !important;
}
.editorial-contact-page .inquiry-action-row .btn{
  flex:0 0 auto !important;
  margin:0 !important;
  white-space:nowrap !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-action-row{
    display:grid !important;
    gap:14px !important;
    align-items:start !important;
  }
  .editorial-contact-page .inquiry-action-row .btn{
    width:max-content !important;
    max-width:100% !important;
  }
}

/* 2026-07-15 Inquire page — left-column CTA aligned with right response note */
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  display:flex !important;
  flex-direction:column !important;
}
.editorial-contact-page .inquiry-left-cta{
  align-self:flex-start !important;
  margin-top:auto !important;
  width:min(100%, 360px) !important;
}
.editorial-contact-page .inquiry-right-note{
  margin-top:auto !important;
  margin-bottom:0 !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-left-cta{
    margin-top:22px !important;
    width:max-content !important;
    max-width:100% !important;
  }
  .editorial-contact-page .inquiry-right-note{
    margin-top:18px !important;
  }
}

/* 2026-07-15 Inquire page — full-width left CTA aligned to right response note */
.editorial-contact-page .inquiry-left-cta{
  display:flex !important;
  width:100% !important;
  max-width:none !important;
  align-self:stretch !important;
  margin-top:auto !important;
}
.editorial-contact-page .inquiry-detail-list{
  margin-bottom:34px !important;
}
.editorial-contact-page .inquiry-right-note{
  margin-top:auto !important;
  margin-bottom:0 !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-left-cta{
    width:100% !important;
    max-width:none !important;
    margin-top:26px !important;
  }
  .editorial-contact-page .inquiry-detail-list{
    margin-bottom:0 !important;
  }
  .editorial-contact-page .inquiry-right-note{
    min-height:0 !important;
    display:block !important;
  }
}

/* 2026-07-15 Inquire page — align CTA top with response-note top */
.editorial-contact-page .inquiry-right-note{
  align-items:flex-start !important;
  padding-top:0 !important;
}
.editorial-contact-page .inquiry-left-cta{
  min-height:46px !important;
}

/* 2026-07-15 Inquire page — CTA below both columns, full width */
.editorial-contact-page .inquiry-left-cta{
  min-height:0 !important;
  width:auto !important;
  max-width:none !important;
  margin-top:0 !important;
}
.editorial-contact-page .inquiry-detail-list{
  margin-bottom:0 !important;
}
.editorial-contact-page .inquiry-right-note{
  min-height:0 !important;
  display:block !important;
  margin-top:18px !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
}
.editorial-contact-page .inquiry-full-cta-row{
  grid-column:1 / -1 !important;
  margin-top:30px !important;
  width:100% !important;
}
.editorial-contact-page .inquiry-full-cta-row .btn{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-full-cta-row{
    margin-top:24px !important;
  }
}

/* 2026-07-15 Inquire page — tighten full-width CTA spacing */
.editorial-contact-page .inquiry-full-cta-row{
  margin-top:14px !important;
}
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  padding-bottom:22px !important;
}
.editorial-contact-page .contact-inquiry-grid{
  row-gap:0 !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-full-cta-row{
    margin-top:16px !important;
  }
}

/* 2026-07-15 Inquire page — restore site-rhythm space below CTA before footer */
.editorial-contact-page .inquiry-full-cta-row{
  padding-bottom:32px !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-full-cta-row{
    padding-bottom:28px !important;
  }
}

/* 2026-07-15 Inquire page — tighten gap from columns to full-width CTA */
.editorial-contact-page .inquiry-full-cta-row{
  margin-top:6px !important;
}
@media(max-width:720px){
  .editorial-contact-page .inquiry-full-cta-row{
    margin-top:8px !important;
  }
}

/* 2026-07-15 Inquire page — remove column bottom padding causing CTA gap */
.editorial-contact-page .contact-note,
.editorial-contact-page .contact-card{
  padding-bottom:0 !important;
}
.editorial-contact-page .inquiry-full-cta-row{
  margin-top:8px !important;
  padding-bottom:32px !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-note,
  .editorial-contact-page .contact-card{
    padding-bottom:0 !important;
  }
  .editorial-contact-page .inquiry-full-cta-row{
    margin-top:12px !important;
    padding-bottom:28px !important;
  }
}

/* 2026-07-15 Inquire page — equalize top inquiry columns */
.editorial-contact-page .contact-inquiry-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:1fr !important;
  }
}


/* 2026-07-15 TITLE SCALE CONTRACT — all large site titles match Inquire page title size
   Stephen directive: big titles across the site should use the same size as the Inquire title.
   This is intentionally broad and late in the cascade so bespoke page rules cannot override it. */
:root{
  --sfp-inquire-title-size-desktop:clamp(28px,2.85vw,42px);
  --sfp-inquire-title-size-mobile:clamp(28px,7.8vw,38px);
  --sfp-inquire-title-line:1.1;
  --sfp-inquire-title-tracking:-.04em;
}
body main h1,
body main .page-title,
body main .hero h1,
body main .hero-copy h1,
body main .studio-opening h1,
body main .case-intro h1,
body main .case-intro-grid h1,
body main .case-intro-compact h1,
body main .contact-editorial-grid h1,
body main .client-notes-intro h1{
  font-size:var(--sfp-inquire-title-size-desktop) !important;
  line-height:var(--sfp-inquire-title-line) !important;
  letter-spacing:var(--sfp-inquire-title-tracking) !important;
}
@media(max-width:720px){
  body main h1,
  body main .page-title,
  body main .hero h1,
  body main .hero-copy h1,
  body main .studio-opening h1,
  body main .case-intro h1,
  body main .case-intro-grid h1,
  body main .case-intro-compact h1,
  body main .contact-editorial-grid h1,
  body main .client-notes-intro h1{
    font-size:var(--sfp-inquire-title-size-mobile) !important;
    line-height:var(--sfp-inquire-title-line) !important;
  }
}

/* 2026-07-15 COMPUTED UNIFORM TITLE FIX — desktop big titles same actual size */
@media(min-width:721px){
  body main h1,
  body main .page-title,
  body main .hero h1,
  body main .hero-copy h1,
  body main .studio-opening h1,
  body main .case-intro h1,
  body main .case-intro-grid h1,
  body main .case-intro-compact h1,
  body main .contact-editorial-grid h1,
  body main .client-notes-intro h1{
    font-size:42px !important;
    line-height:1.1 !important;
    letter-spacing:-.04em !important;
  }
}
@media(max-width:720px){
  body main h1,
  body main .page-title,
  body main .hero h1,
  body main .hero-copy h1,
  body main .studio-opening h1,
  body main .case-intro h1,
  body main .case-intro-grid h1,
  body main .case-intro-compact h1,
  body main .contact-editorial-grid h1,
  body main .client-notes-intro h1{
    font-size:clamp(28px,7.8vw,38px) !important;
    line-height:1.1 !important;
    letter-spacing:-.04em !important;
  }
}

/* 2026-07-15 Case-study title parity — match Inquire/home title visibly */
body.site-subpage.case-study-page main h1,
body.site-subpage.case-study-page main .case-intro h1,
body.site-subpage.case-study-page main .case-intro-grid h1,
body.site-subpage main .case-intro h1,
body.site-subpage main .case-intro-grid h1{
  font-size:42px !important;
  line-height:1.1 !important;
  letter-spacing:-.04em !important;
}
@media(max-width:720px){
  body.site-subpage.case-study-page main h1,
  body.site-subpage.case-study-page main .case-intro h1,
  body.site-subpage.case-study-page main .case-intro-grid h1,
  body.site-subpage main .case-intro h1,
  body.site-subpage main .case-intro-grid h1{
    font-size:clamp(28px,7.8vw,38px) !important;
    line-height:1.1 !important;
  }
}

/* 2026-07-15 Inquire lower section — preserve approved wide/open desktop layout */
@media(min-width:861px){
  .editorial-contact-page .contact-inquiry .wrap,
  .editorial-contact-page .footer .wrap{
    width:min(1360px,calc(100vw - 56px)) !important;
    max-width:min(1360px,calc(100vw - 56px)) !important;
  }
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:minmax(560px,1fr) minmax(430px,.82fr) !important;
    column-gap:clamp(72px,8vw,132px) !important;
    align-items:start !important;
  }
  .editorial-contact-page .contact-note{
    padding-right:0 !important;
  }
  .editorial-contact-page .contact-card{
    padding-left:0 !important;
  }
  .editorial-contact-page .contact-note h2,
  .editorial-contact-page .contact-card h2{
    white-space:nowrap !important;
  }
  .editorial-contact-page .inquiry-detail-list{
    columns:1 !important;
    max-width:620px !important;
  }
  .editorial-contact-page .contact-card p{
    max-width:520px !important;
  }
  .editorial-contact-page .inquiry-full-cta-row{
    grid-column:1 / -1 !important;
    width:100% !important;
    margin-top:8px !important;
    padding-bottom:32px !important;
  }
}
@media(min-width:721px) and (max-width:860px){
  .editorial-contact-page .contact-inquiry .wrap,
  .editorial-contact-page .footer .wrap{
    width:calc(100vw - 44px) !important;
    max-width:calc(100vw - 44px) !important;
  }
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr) !important;
    column-gap:44px !important;
  }
  .editorial-contact-page .contact-note h2,
  .editorial-contact-page .contact-card h2{
    white-space:normal !important;
  }
}

/* 2026-07-15 Inquire lower section — mid-width guardrail, keep open layout without overflow */
@media(min-width:1120px){
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:minmax(540px,1fr) minmax(390px,.82fr) !important;
    column-gap:clamp(64px,7vw,120px) !important;
  }
}
@media(min-width:861px) and (max-width:1119px){
  .editorial-contact-page .contact-inquiry .wrap,
  .editorial-contact-page .footer .wrap{
    width:calc(100vw - 44px) !important;
    max-width:calc(100vw - 44px) !important;
  }
  .editorial-contact-page .contact-inquiry-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
    column-gap:clamp(42px,5vw,58px) !important;
  }
  .editorial-contact-page .contact-note h2,
  .editorial-contact-page .contact-card h2{
    white-space:nowrap !important;
    font-size:clamp(23px,2.35vw,30px) !important;
  }
}

/* 2026-07-15 Inquire intro — centered block, left-aligned content */
.editorial-contact-page .contact-editorial-intro .wrap{
  width:min(980px,calc(100vw - 56px)) !important;
  max-width:min(980px,calc(100vw - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-editorial-grid{
  display:block !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child,
.editorial-contact-page .contact-editorial-grid > div:last-child{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
.editorial-contact-page .contact-editorial-grid .eyebrow,
.editorial-contact-page .contact-editorial-grid h1,
.editorial-contact-page .contact-editorial-grid p,
.editorial-contact-page .contact-service-area{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
.editorial-contact-page .contact-editorial-grid p{
  max-width:900px !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-editorial-intro .wrap{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
}

/* 2026-07-15 Inquire intro correction — centered text across the page */
.editorial-contact-page .contact-editorial-intro .wrap{
  width:min(1360px,calc(100vw - 56px)) !important;
  max-width:min(1360px,calc(100vw - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.editorial-contact-page .contact-editorial-grid{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child,
.editorial-contact-page .contact-editorial-grid > div:last-child{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.editorial-contact-page .contact-editorial-grid .eyebrow,
.editorial-contact-page .contact-editorial-grid h1,
.editorial-contact-page .contact-editorial-grid p,
.editorial-contact-page .contact-service-area{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.editorial-contact-page .contact-editorial-grid h1{
  max-width:100% !important;
}
.editorial-contact-page .contact-editorial-grid p{
  max-width:1120px !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-editorial-intro .wrap{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
  }
}

/* 2026-07-15 Inquire intro — eyebrow aligns with title left edge; title/copy remain centered */
.editorial-contact-page .contact-editorial-grid > div:first-child{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:left !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child .eyebrow{
  display:block !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:10px !important;
  text-align:left !important;
}
.editorial-contact-page .contact-editorial-grid > div:first-child h1{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:28px !important;
  text-align:center !important;
}
.editorial-contact-page .contact-editorial-grid > div:last-child{
  margin-top:0 !important;
  text-align:center !important;
}
.editorial-contact-page .contact-editorial-grid > div:last-child p:first-child{
  margin-top:0 !important;
}
@media(max-width:720px){
  .editorial-contact-page .contact-editorial-grid > div:first-child,
  .editorial-contact-page .contact-editorial-grid > div:first-child h1{
    width:100% !important;
  }
}

/* 2026-07-15 GLOBAL EYEBROW/TITLE RULE
   Stephen directive: homepage + approved case-study template are the source of truth.
   Every eyebrow/title pair sitewide uses the same gap. Do not override locally. */
:root{
  --sfp-eyebrow-title-gap:6px;
}
body main .eyebrow,
body main .case-back,
body main .case-eyebrow{
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2{
  margin-top:0 !important;
}
@media(max-width:720px){
  body main .eyebrow,
  body main .case-back,
  body main .case-eyebrow{
    margin-bottom:var(--sfp-eyebrow-title-gap) !important;
  }
}

/* 2026-07-15 GLOBAL EYEBROW/TITLE VISUAL GAP FIX
   The coded gap must match the approved homepage/case-study template visually,
   not only by margin math. Tighten eyebrow line box so the visible gap lands. */
body main .eyebrow,
body main .case-back,
body main .case-eyebrow{
  display:block !important;
  line-height:1 !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2{
  margin-top:0 !important;
  padding-top:0 !important;
}
.editorial-contact-page .contact-note .eyebrow,
.editorial-contact-page .contact-card .eyebrow{
  line-height:1 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
.editorial-contact-page .contact-note h2,
.editorial-contact-page .contact-card h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-15 GLOBAL EYEBROW/TITLE FINAL TIGHT GAP
   Visual QA showed 6px still too loose in rendered section headings. */
:root{
  --sfp-eyebrow-title-gap:0px;
}
body main .eyebrow,
body main .case-back,
body main .case-eyebrow{
  line-height:1 !important;
  margin-bottom:0 !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-15 TEMPLATE EYEBROW VALUES — computed from approved homepage/case-study template
   Source values at 1440px: eyebrow 12px / line-height 12px / letter-spacing .22em / weight 700 / gap 6px. */
:root{
  --sfp-eyebrow-title-gap:6px;
  --sfp-eyebrow-font-size:12px;
  --sfp-eyebrow-line-height:1;
  --sfp-eyebrow-letter-spacing:.22em;
  --sfp-eyebrow-font-weight:700;
}
body main .eyebrow,
body main .case-back,
body main .case-eyebrow{
  font-size:var(--sfp-eyebrow-font-size) !important;
  line-height:var(--sfp-eyebrow-line-height) !important;
  letter-spacing:var(--sfp-eyebrow-letter-spacing) !important;
  font-weight:var(--sfp-eyebrow-font-weight) !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-15 Inquire eyebrow specificity fix — force template values over older page overrides */
body.editorial-contact-page main .contact-inquiry .contact-note .eyebrow,
body.editorial-contact-page main .contact-inquiry .contact-card .eyebrow{
  font-size:var(--sfp-eyebrow-font-size) !important;
  line-height:var(--sfp-eyebrow-line-height) !important;
  letter-spacing:var(--sfp-eyebrow-letter-spacing) !important;
  font-weight:var(--sfp-eyebrow-font-weight) !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body.editorial-contact-page main .contact-inquiry .contact-note .eyebrow + h2,
body.editorial-contact-page main .contact-inquiry .contact-card .eyebrow + h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-15 Inquire portrait — reduce both lower section titles together */
@media(max-width:720px) and (orientation:portrait){
  body.editorial-contact-page main .contact-inquiry .contact-note h2,
  body.editorial-contact-page main .contact-inquiry .contact-card h2{
    font-size:clamp(24px,6.25vw,30px) !important;
    line-height:1.08 !important;
  }
}

/* 2026-07-15 Inquire portrait — stronger phone title fit, both lower titles together */
@media(max-width:720px) and (orientation:portrait){
  body.editorial-contact-page main .contact-inquiry .contact-note h2,
  body.editorial-contact-page main .contact-inquiry .contact-card h2{
    font-size:clamp(21px,5.45vw,26px) !important;
    line-height:1.1 !important;
    letter-spacing:-.035em !important;
    text-wrap:balance !important;
  }
}

/* 2026-07-15 Inquire landscape — keep both lower section titles matched and one-line */
@media(max-width:920px) and (orientation:landscape){
  body.editorial-contact-page main .contact-inquiry .contact-note h2,
  body.editorial-contact-page main .contact-inquiry .contact-card h2{
    font-size:clamp(20px,2.8vw,24px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
    text-wrap:normal !important;
  }
}

/* 2026-07-15 SITEWIDE SUBTITLE SCALE
   Stephen directive: section/subtitles must be smaller than main page titles sitewide.
   Main/page h1 titles keep the Inquire/title scale; h2 subtitle treatments use this smaller role scale. */
:root{
  --sfp-subtitle-size-desktop:clamp(26px,2.35vw,34px);
  --sfp-subtitle-size-mobile:clamp(23px,6vw,29px);
  --sfp-subtitle-line:1.1;
  --sfp-subtitle-tracking:-.035em;
}
body main .section-head h2,
body main .cta h2,
body main .contact-note h2,
body main .contact-card h2,
body main .reviews-head h2,
body main .reviews-proof-grid h2,
body.client-notes-page main .client-review-section-head h2{
  font-size:var(--sfp-subtitle-size-desktop) !important;
  line-height:var(--sfp-subtitle-line) !important;
  letter-spacing:var(--sfp-subtitle-tracking) !important;
}
@media(max-width:720px){
  body main .section-head h2,
  body main .cta h2,
  body main .contact-note h2,
  body main .contact-card h2,
  body main .reviews-head h2,
  body main .reviews-proof-grid h2,
  body.client-notes-page main .client-review-section-head h2{
    font-size:var(--sfp-subtitle-size-mobile) !important;
    line-height:var(--sfp-subtitle-line) !important;
  }
}
@media(max-width:920px) and (orientation:landscape){
  body main .contact-note h2,
  body main .contact-card h2{
    font-size:clamp(20px,2.8vw,24px) !important;
    line-height:1.08 !important;
    white-space:nowrap !important;
  }
}

/* 2026-07-15 Subtitle scale specificity fix — Inquire lower h2 must follow sitewide subtitle role */
body.editorial-contact-page main .contact-inquiry .contact-note h2,
body.editorial-contact-page main .contact-inquiry .contact-card h2{
  font-size:var(--sfp-subtitle-size-desktop) !important;
  line-height:var(--sfp-subtitle-line) !important;
  letter-spacing:var(--sfp-subtitle-tracking) !important;
}
@media(max-width:720px){
  body.editorial-contact-page main .contact-inquiry .contact-note h2,
  body.editorial-contact-page main .contact-inquiry .contact-card h2{
    font-size:var(--sfp-subtitle-size-mobile) !important;
    line-height:var(--sfp-subtitle-line) !important;
  }
}
@media(max-width:920px) and (orientation:landscape){
  body.editorial-contact-page main .contact-inquiry .contact-note h2,
  body.editorial-contact-page main .contact-inquiry .contact-card h2{
    font-size:clamp(20px,2.8vw,24px) !important;
    line-height:1.08 !important;
    white-space:nowrap !important;
  }
}


/* 2026-07-24 About page — restrained selected clients proof, text-first */
.editorial-about-page .about-selected-clients{
  background:#0d2838 !important;
  padding:16px 0 0 !important;
}
.editorial-about-page .about-clients-inner{
  display:grid !important;
  grid-template-columns:minmax(0,.62fr) minmax(360px,1fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.editorial-about-page .about-clients-head,
.editorial-about-page .about-clients-list{
  background:#113348 !important;
  border:1px solid rgba(247,242,232,.08) !important;
}
.editorial-about-page .about-clients-head{
  padding:30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.editorial-about-page .about-clients-head h2{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(28px,2.65vw,40px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
  text-wrap:balance !important;
}
.editorial-about-page .about-clients-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 !important;
}
.editorial-about-page .about-clients-list div{
  padding:26px 28px !important;
  border-right:1px solid rgba(247,242,232,.08) !important;
  border-bottom:1px solid rgba(247,242,232,.08) !important;
}
.editorial-about-page .about-clients-list div:nth-child(2n){
  border-right:0 !important;
}
.editorial-about-page .about-clients-list div:nth-last-child(-n+2){
  border-bottom:0 !important;
}
.editorial-about-page .about-clients-list span{
  display:block !important;
  margin:0 0 8px !important;
  color:rgba(191,164,106,.9) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
}
.editorial-about-page .about-clients-list p{
  margin:0 !important;
  color:rgba(247,242,232,.78) !important;
  font-size:15px !important;
  line-height:1.62 !important;
}
@media(max-width:860px){
  .editorial-about-page .about-clients-inner,
  .editorial-about-page .about-clients-list{
    grid-template-columns:1fr !important;
  }
  .editorial-about-page .about-clients-list div,
  .editorial-about-page .about-clients-list div:nth-child(2n),
  .editorial-about-page .about-clients-list div:nth-last-child(-n+2){
    border-right:0 !important;
    border-bottom:1px solid rgba(247,242,232,.08) !important;
  }
  .editorial-about-page .about-clients-list div:last-child{
    border-bottom:0 !important;
  }
}
@media(max-width:720px){
  .editorial-about-page .about-clients-head,
  .editorial-about-page .about-clients-list div{
    padding:24px !important;
  }
}

/* 2026-07-24 About page — logo-led selected clients, quieter photographer provenance */
.editorial-about-page .about-logo-proof{
  background:#0d2838 !important;
  padding:16px 0 0 !important;
}
.editorial-about-page .about-logo-proof-inner{
  background:#102f42 !important;
  border:1px solid rgba(247,242,232,.075) !important;
  padding:34px 34px 30px !important;
}
.editorial-about-page .about-logo-proof h2{
  max-width:720px !important;
  margin:0 0 28px !important;
  color:#fff !important;
  font-size:clamp(26px,2.45vw,38px) !important;
  line-height:1.1 !important;
  letter-spacing:-.04em !important;
  font-weight:430 !important;
  text-wrap:balance !important;
}
.editorial-about-page .about-logo-cloud{
  display:grid !important;
  grid-template-columns:repeat(9,minmax(0,1fr)) !important;
  gap:1px !important;
  background:rgba(247,242,232,.08) !important;
  border:1px solid rgba(247,242,232,.08) !important;
}
.editorial-about-page .about-logo-cloud figure{
  min-height:116px !important;
  margin:0 !important;
  padding:18px 12px 14px !important;
  background:#102f42 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:11px !important;
}
.editorial-about-page .about-logo-cloud img{
  display:block !important;
  max-width:74px !important;
  max-height:46px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  filter:grayscale(1) brightness(1.72) contrast(.82) opacity(.82) !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  color:rgba(247,242,232,.52) !important;
  font-size:10px !important;
  line-height:1.25 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  text-align:center !important;
}
.editorial-about-page .about-logo-wordmark span{
  color:rgba(247,242,232,.82) !important;
  font-family:var(--serif) !important;
  font-size:21px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  filter:opacity(.82) !important;
}
@media(max-width:1120px){
  .editorial-about-page .about-logo-cloud{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof-inner{
    padding:24px !important;
  }
  .editorial-about-page .about-logo-proof h2{
    margin-bottom:22px !important;
  }
  .editorial-about-page .about-logo-cloud{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .editorial-about-page .about-logo-cloud figure{
    min-height:108px !important;
  }
}

/* 2026-07-24 About logo proof refinement — remove corporate cell grid */
.editorial-about-page .about-logo-proof-inner{
  background:#0f2d3f !important;
  border-top:1px solid rgba(247,242,232,.09) !important;
  border-bottom:1px solid rgba(247,242,232,.09) !important;
  border-left:0 !important;
  border-right:0 !important;
  padding:34px 0 32px !important;
}
.editorial-about-page .about-logo-proof h2{
  max-width:660px !important;
  margin-bottom:30px !important;
}
.editorial-about-page .about-logo-cloud{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  column-gap:36px !important;
  row-gap:24px !important;
  background:transparent !important;
  border:0 !important;
}
.editorial-about-page .about-logo-cloud figure{
  min-height:0 !important;
  width:auto !important;
  min-width:112px !important;
  max-width:148px !important;
  padding:0 !important;
  background:transparent !important;
  gap:9px !important;
}
.editorial-about-page .about-logo-cloud img{
  max-width:82px !important;
  max-height:38px !important;
  opacity:.72 !important;
  filter:grayscale(1) contrast(.9) brightness(1.25) !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  max-width:140px !important;
  color:rgba(247,242,232,.48) !important;
  font-size:9.5px !important;
  letter-spacing:.075em !important;
}
.editorial-about-page .about-logo-wordmark span{
  font-family:var(--sans) !important;
  font-size:15px !important;
  font-weight:520 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:rgba(247,242,232,.68) !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof-inner{
    padding:26px 0 !important;
  }
  .editorial-about-page .about-logo-cloud{
    column-gap:22px !important;
    row-gap:22px !important;
  }
  .editorial-about-page .about-logo-cloud figure{
    min-width:120px !important;
    max-width:calc(50% - 12px) !important;
  }
}

/* 2026-07-24 About logo proof readability pass */
.editorial-about-page .about-logo-cloud{
  column-gap:32px !important;
  row-gap:20px !important;
}
.editorial-about-page .about-logo-cloud figure{
  min-width:118px !important;
}
.editorial-about-page .about-logo-cloud img{
  max-width:88px !important;
  max-height:42px !important;
  opacity:.86 !important;
  filter:grayscale(1) contrast(.95) brightness(1.55) !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  color:rgba(247,242,232,.62) !important;
}
.editorial-about-page .about-logo-wordmark span{
  color:rgba(247,242,232,.82) !important;
}

/* 2026-07-24 About logo proof final balance */
.editorial-about-page .about-logo-cloud{
  justify-content:center !important;
}
.editorial-about-page .about-logo-cloud img{
  opacity:.92 !important;
  filter:grayscale(1) contrast(1) brightness(1.75) !important;
}

/* 2026-07-24 About logo proof — single-line manual carousel rail */
.editorial-about-page .about-logo-proof-inner{
  overflow:hidden !important;
}
.editorial-about-page .about-logo-rail-shell{
  position:relative !important;
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) 36px !important;
  gap:14px !important;
  align-items:center !important;
}
.editorial-about-page .about-logo-cloud{
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:42px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x proximity !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important;
  padding:4px 2px 14px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(247,242,232,.22) transparent !important;
}
.editorial-about-page .about-logo-cloud::-webkit-scrollbar{
  height:3px !important;
}
.editorial-about-page .about-logo-cloud::-webkit-scrollbar-track{
  background:transparent !important;
}
.editorial-about-page .about-logo-cloud::-webkit-scrollbar-thumb{
  background:rgba(247,242,232,.22) !important;
  border-radius:999px !important;
}
.editorial-about-page .about-logo-cloud figure{
  flex:0 0 142px !important;
  min-width:142px !important;
  max-width:142px !important;
  scroll-snap-align:center !important;
}
.editorial-about-page .about-logo-cloud img{
  max-width:112px !important;
  max-height:54px !important;
  opacity:.96 !important;
  filter:grayscale(1) contrast(1.06) brightness(1.9) !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  opacity:1 !important;
  filter:grayscale(1) brightness(3.8) contrast(1.25) !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman img{
  max-width:124px !important;
  max-height:64px !important;
  opacity:1 !important;
  filter:grayscale(1) brightness(2.25) contrast(1.2) !important;
}
.editorial-about-page .about-logo-wordmark span{
  font-size:18px !important;
  color:rgba(247,242,232,.92) !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  color:rgba(247,242,232,.66) !important;
}
.editorial-about-page .about-logo-arrow{
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(247,242,232,.18) !important;
  border-radius:999px !important;
  background:rgba(247,242,232,.035) !important;
  color:rgba(247,242,232,.72) !important;
  font-size:25px !important;
  line-height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 0 3px !important;
  cursor:pointer !important;
  transition:background .18s ease,color .18s ease,border-color .18s ease !important;
}
.editorial-about-page .about-logo-arrow:hover,
.editorial-about-page .about-logo-arrow:focus-visible{
  background:rgba(247,242,232,.09) !important;
  color:#fff !important;
  border-color:rgba(247,242,232,.34) !important;
  outline:none !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-rail-shell{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .editorial-about-page .about-logo-arrow{
    display:none !important;
  }
  .editorial-about-page .about-logo-cloud{
    gap:30px !important;
    padding-bottom:12px !important;
  }
  .editorial-about-page .about-logo-cloud figure{
    flex-basis:132px !important;
    min-width:132px !important;
    max-width:132px !important;
  }
  .editorial-about-page .about-logo-cloud img{
    max-width:108px !important;
    max-height:52px !important;
  }
}

/* 2026-07-24 About logo carousel — force Ritz mark white */
.editorial-about-page .about-logo-cloud .logo-ritz img{
  opacity:1 !important;
  filter:invert(1) grayscale(1) brightness(2.8) contrast(1.75) !important;
}

/* 2026-07-24 About logo carousel — optical balance for darker/smaller marks */
.editorial-about-page .about-logo-cloud .logo-cagan img{
  opacity:1 !important;
  filter:invert(1) grayscale(1) brightness(2.6) contrast(1.65) !important;
}
.editorial-about-page .about-logo-cloud .logo-secure img{
  max-width:128px !important;
  max-height:58px !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:124px !important;
  max-height:58px !important;
}

/* 2026-07-24 About logo carousel — use proper Ritz wordmark/crest asset */
.editorial-about-page .about-logo-cloud .logo-ritz{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:156px !important;
  max-height:72px !important;
  opacity:1 !important;
  filter:invert(1) grayscale(1) brightness(2.4) contrast(1.35) !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman{
  flex-basis:154px !important;
  min-width:154px !important;
  max-width:154px !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman img{
  max-width:138px !important;
  max-height:72px !important;
}

/* 2026-07-24 About logo carousel — transparent white logo assets */
.editorial-about-page .about-logo-cloud .logo-cagan img,
.editorial-about-page .about-logo-cloud .logo-suchman img,
.editorial-about-page .about-logo-cloud .logo-ritz img{
  filter:none !important;
  opacity:.94 !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:158px !important;
  max-height:76px !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman img{
  max-width:134px !important;
  max-height:66px !important;
}
.editorial-about-page .about-logo-cloud .logo-cagan img{
  max-width:118px !important;
  max-height:56px !important;
}

/* 2026-07-24 About logo carousel — seamless slow loop structure */
.editorial-about-page .about-logo-cloud{
  gap:0 !important;
}
.editorial-about-page .about-logo-set{
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:42px !important;
  padding-right:42px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-set{
    gap:30px !important;
    padding-right:30px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .editorial-about-page .about-logo-cloud{
    scroll-behavior:auto !important;
  }
}

/* 2026-07-24 About logo carousel — Stephen feedback pass: eyebrow-only, larger readable rail, invisible controls */
.editorial-about-page .about-logo-proof-inner > .eyebrow{
  max-width:860px !important;
  margin:0 0 24px !important;
  color:rgba(191,164,106,.96) !important;
  font-size:12px !important;
  line-height:1.45 !important;
  letter-spacing:.16em !important;
}
.editorial-about-page .about-logo-proof h2{
  display:none !important;
}
.editorial-about-page .about-logo-rail-shell{
  grid-template-columns:1fr !important;
  gap:0 !important;
}
.editorial-about-page .about-logo-arrow{
  position:absolute !important;
  inset-block:0 !important;
  z-index:2 !important;
  width:72px !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:transparent !important;
  opacity:0 !important;
  pointer-events:auto !important;
}
.editorial-about-page .about-logo-arrow-prev{
  left:0 !important;
}
.editorial-about-page .about-logo-arrow-next{
  right:0 !important;
}
.editorial-about-page .about-logo-cloud{
  cursor:pointer !important;
  padding:6px 0 18px !important;
}
.editorial-about-page .about-logo-set{
  gap:50px !important;
  padding-right:50px !important;
}
.editorial-about-page .about-logo-cloud figure{
  flex-basis:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  gap:12px !important;
}
.editorial-about-page .about-logo-cloud img{
  max-width:136px !important;
  max-height:68px !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  max-width:168px !important;
  color:rgba(247,242,232,.78) !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
  letter-spacing:.085em !important;
}
.editorial-about-page .about-logo-wordmark span{
  font-size:22px !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz{
  flex-basis:218px !important;
  min-width:218px !important;
  max-width:218px !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:192px !important;
  max-height:88px !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman{
  flex-basis:184px !important;
  min-width:184px !important;
  max-width:184px !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman img{
  max-width:164px !important;
  max-height:82px !important;
}
.editorial-about-page .about-logo-cloud .logo-secure img{
  max-width:162px !important;
  max-height:74px !important;
}
.editorial-about-page .about-logo-cloud .logo-cagan img{
  max-width:142px !important;
  max-height:72px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof-inner > .eyebrow{
    font-size:11.5px !important;
    margin-bottom:20px !important;
  }
  .editorial-about-page .about-logo-set{
    gap:36px !important;
    padding-right:36px !important;
  }
  .editorial-about-page .about-logo-cloud figure{
    flex-basis:152px !important;
    min-width:152px !important;
    max-width:152px !important;
  }
  .editorial-about-page .about-logo-cloud img{
    max-width:126px !important;
    max-height:64px !important;
  }
  .editorial-about-page .about-logo-cloud figcaption{
    font-size:11px !important;
  }
}

/* 2026-07-24 About logo carousel — make edge clipping feel intentional */
.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%) !important;
}

/* 2026-07-24 About logo carousel — stronger editorial edge fade */
.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 86%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 86%,transparent 100%) !important;
}

/* 2026-07-24 About logo banner — full-bleed CSS marquee, no JS scroll fighting */
.editorial-about-page .about-logo-proof{
  background:#113348 !important;
  padding:0 !important;
  margin-top:16px !important;
  overflow:hidden !important;
}
.editorial-about-page .about-logo-proof-inner{
  background:transparent !important;
  border:0 !important;
  padding:30px 0 28px !important;
  overflow:hidden !important;
}
.editorial-about-page .about-logo-proof-inner > .eyebrow{
  margin:0 0 22px !important;
}
.editorial-about-page .about-logo-rail-shell{
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
}
.editorial-about-page .about-logo-arrow{
  display:none !important;
}
.editorial-about-page .about-logo-cloud{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow:hidden !important;
  cursor:default !important;
  padding:6px 0 12px !important;
  scrollbar-width:none !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%) !important;
}
.editorial-about-page .about-logo-cloud::-webkit-scrollbar{
  display:none !important;
}
.editorial-about-page .about-logo-set{
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:50px !important;
  padding-right:50px !important;
  animation:sfp-about-logo-marquee 42s linear infinite !important;
  will-change:transform !important;
}
.editorial-about-page .about-logo-cloud:hover .about-logo-set,
.editorial-about-page .about-logo-cloud:focus-within .about-logo-set{
  animation-play-state:paused !important;
}
@keyframes sfp-about-logo-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-100%,0,0)}
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof{
    margin-top:12px !important;
  }
  .editorial-about-page .about-logo-proof-inner{
    padding:26px 0 24px !important;
  }
  .editorial-about-page .about-logo-cloud{
    overflow-x:auto !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .editorial-about-page .about-logo-set{
    animation:none !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .editorial-about-page .about-logo-set{
    animation:none !important;
  }
  .editorial-about-page .about-logo-cloud{
    overflow-x:auto !important;
  }
}

/* 2026-07-24 About logo marquee — readability lift after full-bleed pass */
.editorial-about-page .about-logo-set{
  gap:58px !important;
  padding-right:58px !important;
}
.editorial-about-page .about-logo-cloud figure{
  flex-basis:188px !important;
  min-width:188px !important;
  max-width:188px !important;
}
.editorial-about-page .about-logo-cloud img{
  max-width:152px !important;
  max-height:78px !important;
  opacity:1 !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  color:rgba(247,242,232,.86) !important;
  font-size:12px !important;
}
.editorial-about-page .about-logo-cloud .logo-cagan img{
  max-width:158px !important;
  max-height:80px !important;
  opacity:1 !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz{
  flex-basis:240px !important;
  min-width:240px !important;
  max-width:240px !important;
}
.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:214px !important;
  max-height:96px !important;
  opacity:1 !important;
}

/* 2026-07-24 About logo marquee — short title and continuous motion on mobile */
.editorial-about-page .about-logo-proof-inner > .eyebrow{
  max-width:none !important;
  white-space:normal !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-cloud{
    overflow:hidden !important;
    scroll-snap-type:none !important;
    -webkit-overflow-scrolling:auto !important;
  }
  .editorial-about-page .about-logo-set{
    animation:sfp-about-logo-marquee 46s linear infinite !important;
  }
}
@media(max-width:720px) and (prefers-reduced-motion:reduce){
  .editorial-about-page .about-logo-set{
    animation:none !important;
  }
  .editorial-about-page .about-logo-cloud{
    overflow-x:auto !important;
  }
}

/* 2026-07-24 About logo marquee — do not pause on click/hover */
.editorial-about-page .about-logo-cloud:hover .about-logo-set,
.editorial-about-page .about-logo-cloud:focus-within .about-logo-set{
  animation-play-state:running !important;
}

/* 2026-07-24 About page — contain marquee/mobile horizontal overflow */
.editorial-about-page{
  overflow-x:hidden !important;
}
.editorial-about-page main,
.editorial-about-page section{
  max-width:100vw !important;
  overflow-x:hidden !important;
}

/* 2026-07-24 About logo rail — storage proof correction: Platinum/Storelocal, not Secure Store */
.editorial-about-page .about-logo-cloud .logo-platinum{
  flex-basis:214px !important;
  min-width:214px !important;
  max-width:214px !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:190px !important;
  max-height:90px !important;
  opacity:1 !important;
  filter:none !important;
}

/* 2026-07-24 About logo rail — normalize WRH/Ramser/BHHS to muted transparent mono */
.editorial-about-page .about-logo-cloud img[src$="wrh-realty-white.png"],
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"],
.editorial-about-page .about-logo-cloud img[src$="bhhs-florida-realty-white.png"]{
  filter:none !important;
  opacity:.9 !important;
}
.editorial-about-page .about-logo-cloud img[src$="wrh-realty-white.png"]{
  max-width:142px !important;
  max-height:72px !important;
}
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:126px !important;
  max-height:68px !important;
}
.editorial-about-page .about-logo-cloud img[src$="bhhs-florida-realty-white.png"]{
  max-width:146px !important;
  max-height:74px !important;
}

/* 2026-07-24 About logo rail — optical balance after mono normalization */
.editorial-about-page .about-logo-cloud .logo-cagan img{
  opacity:1 !important;
  max-width:154px !important;
  max-height:78px !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:176px !important;
  max-height:82px !important;
  opacity:.92 !important;
}
.editorial-about-page .about-logo-cloud img[src$="wrh-realty-white.png"]{
  max-width:150px !important;
  max-height:76px !important;
  opacity:.94 !important;
}
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:138px !important;
  max-height:74px !important;
  opacity:.94 !important;
}

/* 2026-07-24 About logo rail — Cagan source logo was favicon-quality; use restrained wordmark */
.editorial-about-page .about-logo-cloud .logo-cagan span{
  font-size:22px !important;
  letter-spacing:.14em !important;
  opacity:.94 !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum{
  flex-basis:196px !important;
  min-width:196px !important;
  max-width:196px !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:166px !important;
  max-height:78px !important;
}

/* 2026-07-24 About logo rail — prevent first logo from reading clipped */
.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 91%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,#000 0,#000 91%,transparent 100%) !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum{
  flex-basis:184px !important;
  min-width:184px !important;
  max-width:184px !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:154px !important;
  max-height:72px !important;
  opacity:.88 !important;
}
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:148px !important;
  max-height:80px !important;
  opacity:.98 !important;
}

/* 2026-07-24 About logo rail — edge gutters so moving captions do not look sharply clipped */
.editorial-about-page .about-logo-cloud{
  padding-left:46px !important;
  padding-right:46px !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%) !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-cloud{
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

/* 2026-07-24 About logo rail — reduce Platinum optical weight */
.editorial-about-page .about-logo-cloud .logo-platinum{
  flex-basis:168px !important;
  min-width:168px !important;
  max-width:168px !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:138px !important;
  max-height:66px !important;
  opacity:.82 !important;
}

/* 2026-07-24 About logo rail — restore Cagan logo mark per Stephen */
.editorial-about-page .about-logo-cloud .logo-cagan img{
  display:block !important;
  max-width:154px !important;
  max-height:78px !important;
  opacity:.94 !important;
  filter:none !important;
}

/* 2026-07-24 About logo rail — thin outline containers for WRH/Ramser */
.editorial-about-page .about-logo-cloud .logo-boxed{
  border:1px solid rgba(247,242,232,.18) !important;
  border-radius:6px !important;
  padding:14px 16px 12px !important;
  background:rgba(247,242,232,.018) !important;
}
.editorial-about-page .about-logo-cloud .logo-wrh,
.editorial-about-page .about-logo-cloud .logo-ramser{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}

/* 2026-07-24 About logo rail — box only the WRH/Ramser logo mark, not caption */
.editorial-about-page .about-logo-cloud .logo-boxed{
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  background:transparent !important;
}
.editorial-about-page .about-logo-cloud .logo-boxed img{
  border:1px solid rgba(247,242,232,.18) !important;
  border-radius:6px !important;
  padding:13px 15px !important;
  background:rgba(247,242,232,.018) !important;
  box-sizing:content-box !important;
}

/* 2026-07-24 About logo rail — WRH/Ramser mark box like Suchman, square corners */
.editorial-about-page .about-logo-cloud .logo-boxed img{
  border-radius:0 !important;
  border-color:rgba(247,242,232,.24) !important;
  background:transparent !important;
  padding:14px 16px !important;
}
.editorial-about-page .about-logo-cloud .logo-wrh img{
  min-width:92px !important;
  min-height:46px !important;
}
.editorial-about-page .about-logo-cloud .logo-ramser img{
  min-width:92px !important;
  min-height:46px !important;
}

/* 2026-07-24 About logo rail — reduce WRH/Ramser boxes + logos to Suchman scale */
.editorial-about-page .about-logo-cloud .logo-wrh,
.editorial-about-page .about-logo-cloud .logo-ramser{
  flex-basis:154px !important;
  min-width:154px !important;
  max-width:154px !important;
}
.editorial-about-page .about-logo-cloud .logo-boxed img{
  padding:9px 11px !important;
  min-width:0 !important;
  min-height:0 !important;
}
.editorial-about-page .about-logo-cloud .logo-wrh img,
.editorial-about-page .about-logo-cloud img[src$="wrh-realty-white.png"]{
  max-width:108px !important;
  max-height:50px !important;
}
.editorial-about-page .about-logo-cloud .logo-ramser img,
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:104px !important;
  max-height:50px !important;
}

/* 2026-07-24 About logo rail — Ramser caption/baseline alignment fix */
.editorial-about-page .about-logo-cloud figure{
  justify-content:flex-end !important;
}
.editorial-about-page .about-logo-cloud figure::before{
  content:"" !important;
  display:block !important;
  height:82px !important;
  order:0 !important;
}
.editorial-about-page .about-logo-cloud figure > img,
.editorial-about-page .about-logo-cloud figure > span{
  order:1 !important;
}
.editorial-about-page .about-logo-cloud figure > figcaption{
  order:2 !important;
}
.editorial-about-page .about-logo-cloud .logo-ramser{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-ramser figcaption{
  max-width:178px !important;
  white-space:normal !important;
}
.editorial-about-page .about-logo-cloud .logo-ramser img,
.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:108px !important;
  max-height:50px !important;
}

/* 2026-07-24 About logo rail — remove accidental eyebrow-to-logo spacer */
.editorial-about-page .about-logo-cloud figure::before{
  display:none !important;
  content:none !important;
  height:0 !important;
}
.editorial-about-page .about-logo-proof-inner > .eyebrow{
  margin-bottom:12px !important;
}
.editorial-about-page .about-logo-cloud{
  padding-top:0 !important;
}
.editorial-about-page .about-logo-cloud figure{
  justify-content:center !important;
}
.editorial-about-page .about-logo-cloud figcaption{
  min-height:30px !important;
}

/* 2026-07-24 About logo rail — BHHS inverted outline badge, no filled white box */
.editorial-about-page .about-logo-cloud img[src$="bhhs-florida-realty-outline-white.png"]{
  filter:none !important;
  opacity:.92 !important;
  max-width:146px !important;
  max-height:74px !important;
}

/* 2026-07-24 About logo rail — enlarge BHHS outline mark to match WRH/Ramser */
.editorial-about-page .about-logo-cloud .logo-bhhs{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-bhhs img,
.editorial-about-page .about-logo-cloud img[src$="bhhs-florida-realty-outline-white.png"]{
  max-width:118px !important;
  max-height:58px !important;
  opacity:1 !important;
  filter:none !important;
  padding:9px 11px !important;
}

/* 2026-07-24 About logo rail — BHHS: enlarge logo only, no extra WRH/Ramser box */
.editorial-about-page .about-logo-cloud .logo-bhhs{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-bhhs img,
.editorial-about-page .about-logo-cloud img[src$="bhhs-florida-realty-outline-white.png"]{
  max-width:146px !important;
  max-height:74px !important;
  opacity:1 !important;
  filter:none !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* 2026-07-24 About logo rail — real Karisma/Suchman/Homestead logo assets */
.editorial-about-page .about-logo-cloud .logo-karisma{
  flex-basis:218px !important;
  min-width:218px !important;
  max-width:218px !important;
}
.editorial-about-page .about-logo-cloud .logo-karisma img{
  max-width:196px !important;
  max-height:74px !important;
  opacity:.95 !important;
  filter:none !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman{
  flex-basis:206px !important;
  min-width:206px !important;
  max-width:206px !important;
}
.editorial-about-page .about-logo-cloud .logo-suchman img,
.editorial-about-page .about-logo-cloud img[src$="suchman-retail-group-white.png"]{
  max-width:184px !important;
  max-height:72px !important;
  opacity:.95 !important;
  filter:none !important;
}
.editorial-about-page .about-logo-cloud .logo-homestead{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-homestead img,
.editorial-about-page .about-logo-cloud img[src$="homestead-real-estate-outline-white.png"]{
  max-width:146px !important;
  max-height:74px !important;
  opacity:.96 !important;
  filter:none !important;
}

/* 2026-07-24 About logo rail — remove redundant captions under self-reading wordmarks */
.editorial-about-page .about-logo-cloud .logo-platinum figcaption,
.editorial-about-page .about-logo-cloud .logo-suchman figcaption,
.editorial-about-page .about-logo-cloud .logo-ritz figcaption,
.editorial-about-page .about-logo-cloud .logo-karisma figcaption{
  display:none !important;
}
.editorial-about-page .about-logo-cloud .logo-platinum,
.editorial-about-page .about-logo-cloud .logo-suchman,
.editorial-about-page .about-logo-cloud .logo-ritz,
.editorial-about-page .about-logo-cloud .logo-karisma{
  gap:0 !important;
}

/* 2026-07-24 About logo rail — align no-caption wordmarks and reduce Karisma */
.editorial-about-page .about-logo-cloud .logo-platinum,
.editorial-about-page .about-logo-cloud .logo-suchman,
.editorial-about-page .about-logo-cloud .logo-ritz,
.editorial-about-page .about-logo-cloud .logo-karisma{
  padding-bottom:30px !important;
}
.editorial-about-page .about-logo-cloud .logo-karisma img{
  max-width:168px !important;
  max-height:64px !important;
  opacity:.92 !important;
}

/* 2026-07-24 About logo rail — Homestead: remove outer badge, enlarge logo mark */
.editorial-about-page .about-logo-cloud .logo-homestead{
  flex-basis:206px !important;
  min-width:206px !important;
  max-width:206px !important;
}
.editorial-about-page .about-logo-cloud .logo-homestead img,
.editorial-about-page .about-logo-cloud img[src$="homestead-real-estate-white.png"]{
  max-width:184px !important;
  max-height:92px !important;
  opacity:.96 !important;
  filter:none !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* 2026-07-24 About logo rail — reduce Homestead after visual review */
.editorial-about-page .about-logo-cloud .logo-homestead{
  flex-basis:178px !important;
  min-width:178px !important;
  max-width:178px !important;
}
.editorial-about-page .about-logo-cloud .logo-homestead img,
.editorial-about-page .about-logo-cloud img[src$="homestead-real-estate-white.png"]{
  max-width:142px !important;
  max-height:70px !important;
  opacity:.9 !important;
}

/* 2026-07-24 About logo rail — tighten horizontal spacing between logos */
.editorial-about-page .about-logo-set{
  gap:40px !important;
  padding-right:40px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-set{
    gap:28px !important;
    padding-right:28px !important;
  }
}

/* 2026-07-24 About logo rail — tighter logo spacing per Stephen */
.editorial-about-page .about-logo-set{
  gap:28px !important;
  padding-right:28px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-set{
    gap:20px !important;
    padding-right:20px !important;
  }
}

/* 2026-07-24 About logo rail — final small spacing tighten */
.editorial-about-page .about-logo-set{
  gap:22px !important;
  padding-right:22px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-set{
    gap:16px !important;
    padding-right:16px !important;
  }
}

/* 2026-07-24 About logo rail — reduce bottom space before CTA/footer banner */
.editorial-about-page .about-logo-proof-inner{
  padding-bottom:18px !important;
}
.editorial-about-page .about-logo-cloud{
  padding-bottom:6px !important;
}
.editorial-about-page .about-selected-clients + .cta{
  padding-top:72px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof-inner{
    padding-bottom:16px !important;
  }
  .editorial-about-page .about-logo-cloud{
    padding-bottom:4px !important;
  }
  .editorial-about-page .about-selected-clients + .cta{
    padding-top:52px !important;
  }
}

/* 2026-07-24 About bottom close — restore homepage/template CTA/footer spacing; homepage untouched */
.editorial-about-page .about-selected-clients + .cta{
  padding-top:16px !important;
  padding-bottom:0 !important;
}
.editorial-about-page .about-selected-clients + .cta .cta-box{
  padding:26px 28px !important;
}
.editorial-about-page .footer{
  padding-top:0 !important;
  padding-bottom:18px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-selected-clients + .cta{
    padding-top:12px !important;
  }
  .editorial-about-page .about-selected-clients + .cta .cta-box{
    padding:22px 0 !important;
  }
  .editorial-about-page .footer{
    padding-bottom:16px !important;
  }
}

/* 2026-07-24 Sitewide phone CTA/footer lock — mirror approved homepage mobile portrait/landscape; homepage untouched */
@media (orientation:portrait) and (max-width:720px){
  body.site-subpage:not(.home-page) .cta{
    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:12px !important;
    padding-bottom:0 !important;
  }
  body.site-subpage:not(.home-page) .cta-box{
    width:calc(100% - 56px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:22px 0 !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    text-align:center !important;
    justify-items:center !important;
  }
  body.site-subpage:not(.home-page) .cta h2,
  body.site-subpage:not(.home-page) .cta p{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    text-wrap:balance !important;
  }
  body.site-subpage:not(.home-page) .cta p{
    line-height:1.55 !important;
  }
  body.site-subpage:not(.home-page) .cta .btn{
    display:inline-flex !important;
    justify-self:center !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    width:auto !important;
  }
  body.site-subpage:not(.home-page) .footer{
    padding-top:0 !important;
    padding-bottom:16px !important;
  }
  body.site-subpage:not(.home-page) .footer .wrap{
    width:calc(100% - 56px) !important;
    display:grid !important;
    gap:8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  body.site-subpage:not(.home-page) .cta{
    padding-top:16px !important;
    padding-bottom:0 !important;
  }
  body.site-subpage:not(.home-page) .cta-box{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:26px 28px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:24px !important;
    align-items:center !important;
    text-align:left !important;
    justify-items:stretch !important;
  }
  body.site-subpage:not(.home-page) .cta h2,
  body.site-subpage:not(.home-page) .cta p{
    width:auto !important;
    text-align:left !important;
  }
  body.site-subpage:not(.home-page) .cta p{
    max-width:620px !important;
  }
  body.site-subpage:not(.home-page) .cta .btn{
    justify-self:end !important;
    margin-left:0 !important;
    margin-right:0 !important;
    width:auto !important;
  }
  body.site-subpage:not(.home-page) .footer{
    padding-top:0 !important;
    padding-bottom:18px !important;
  }
  body.site-subpage:not(.home-page) .footer .wrap{
    width:min(var(--max), calc(100% - 56px)) !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:20px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* 2026-07-24 About logo marquee — swipe/drag both directions without scroll fighting */
.editorial-about-page .about-logo-set{
  animation:none !important;
}
.editorial-about-page .about-logo-cloud{
  touch-action:pan-y !important;
  user-select:none !important;
  cursor:grab !important;
}
.editorial-about-page .about-logo-cloud.is-dragging{
  cursor:grabbing !important;
}
.editorial-about-page .about-logo-cloud img{
  -webkit-user-drag:none !important;
  user-drag:none !important;
  pointer-events:none !important;
}

/* 2026-07-24 About logo marquee — stronger right-edge fade for moving partial logos */
.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%) !important;
}

/* 2026-07-25 sitewide footer/CTA lock — homepage footer is the master template.
   Keep every active page on the same CTA/footer structure, grid edge, spacing,
   background, and responsive behavior. This intentionally overrides older
   top-level, case-study, reviews, about, and inquire one-off footer rules. */
.home-page .cta,
body.site-subpage .cta,
.home-page .footer,
body.site-subpage .footer{
  background:#113348 !important;
}
.home-page .cta,
body.site-subpage .cta{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  width:auto !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-top:16px !important;
  padding-bottom:0 !important;
  border:0 !important;
  box-shadow:none !important;
  clip-path:none !important;
}
.home-page .cta::before,
body.site-subpage .cta::before,
.home-page .footer::before,
body.site-subpage .footer::before{
  content:none !important;
  display:none !important;
}
.home-page .cta-box,
body.site-subpage .cta-box{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-top:26px !important;
  padding-bottom:26px !important;
  padding-left:var(--sfp-template-edge-gutter) !important;
  padding-right:var(--sfp-template-edge-gutter) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:center !important;
  background:#113348 !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.home-page .cta h2,
body.site-subpage .cta h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-family:var(--sans) !important;
  font-weight:470 !important;
  font-size:clamp(24px,2.15vw,34px) !important;
  line-height:1.12 !important;
  letter-spacing:-.025em !important;
  text-align:left !important;
}
.home-page .cta p,
body.site-subpage .cta p{
  max-width:620px !important;
  margin:0 !important;
  color:rgba(247,242,232,.74) !important;
  text-align:left !important;
}
.home-page .cta .btn,
body.site-subpage .cta .btn{
  justify-self:end !important;
  width:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.home-page .footer,
body.site-subpage .footer{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  width:auto !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-top:0 !important;
  padding-bottom:18px !important;
  border:0 !important;
  box-shadow:none !important;
  clip-path:none !important;
  color:rgba(247,242,232,.68) !important;
}
.home-page .footer .wrap,
body.site-subpage .footer .wrap{
  width:min(var(--max), calc(100% - 56px)) !important;
  max-width:min(var(--max), calc(100% - 56px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:20px !important;
  padding:0 !important;
  box-sizing:border-box !important;
  background:transparent !important;
}
.home-page .footer .wrap > span,
body.site-subpage .footer .wrap > span{
  color:rgba(247,242,232,.68) !important;
}
.home-page .footer-social,
body.site-subpage .footer-social{
  justify-content:flex-end !important;
  justify-self:end !important;
  margin-left:auto !important;
  margin-right:0 !important;
}
@media(max-width:720px){
  .home-page .cta,
  body.site-subpage .cta{
    padding-top:12px !important;
    padding-bottom:0 !important;
  }
  .home-page .cta-box,
  body.site-subpage .cta-box{
    width:calc(100% - 56px) !important;
    max-width:calc(100% - 56px) !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:22px 0 !important;
    text-align:left !important;
    justify-items:start !important;
  }
  .home-page .cta h2,
  body.site-subpage .cta h2,
  .home-page .cta p,
  body.site-subpage .cta p{
    width:100% !important;
    max-width:100% !important;
    text-align:left !important;
    text-wrap:balance !important;
  }
  .home-page .cta .btn,
  body.site-subpage .cta .btn{
    justify-self:start !important;
    width:auto !important;
  }
  .home-page .footer,
  body.site-subpage .footer{
    padding-bottom:16px !important;
  }
  .home-page .footer .wrap,
  body.site-subpage .footer .wrap{
    width:calc(100% - 56px) !important;
    max-width:calc(100% - 56px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:start !important;
    text-align:left !important;
    gap:8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .home-page .footer .wrap > span,
  body.site-subpage .footer .wrap > span{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    font-size:11px !important;
    letter-spacing:0 !important;
    text-align:left !important;
  }
  .home-page .footer-social,
  body.site-subpage .footer-social{
    justify-content:flex-start !important;
    justify-self:start !important;
    place-self:start !important;
    margin-left:0 !important;
    margin-right:0 !important;
    width:auto !important;
    max-width:100% !important;
  }
}
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .home-page .cta,
  body.site-subpage .cta{
    padding-top:16px !important;
    padding-bottom:0 !important;
  }
  .home-page .cta-box,
  body.site-subpage .cta-box{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:26px 28px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:24px !important;
    align-items:center !important;
    text-align:left !important;
    justify-items:stretch !important;
  }
  .home-page .cta h2,
  body.site-subpage .cta h2,
  .home-page .cta p,
  body.site-subpage .cta p{
    width:auto !important;
    text-align:left !important;
  }
  .home-page .cta p,
  body.site-subpage .cta p{
    max-width:620px !important;
  }
  .home-page .cta .btn,
  body.site-subpage .cta .btn{
    justify-self:end !important;
    margin-left:0 !important;
    margin-right:0 !important;
    width:auto !important;
  }
  .home-page .footer,
  body.site-subpage .footer{
    padding-top:0 !important;
    padding-bottom:18px !important;
  }
  .home-page .footer .wrap,
  body.site-subpage .footer .wrap{
    width:min(var(--max), calc(100% - 56px)) !important;
    max-width:min(var(--max), calc(100% - 56px)) !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:20px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .home-page .footer-social,
  body.site-subpage .footer-social{
    justify-content:flex-end !important;
    justify-self:end !important;
    margin-left:auto !important;
    margin-right:0 !important;
  }
}

/* 2026-07-25 sitewide footer/CTA lock specificity patch — defeats older page-specific mobile/contact/about rules. */
body.site-subpage:not(.home-page) section.cta > .wrap.cta-box,
body.site-subpage.case-study-page section.cta > .wrap.cta-box,
body.site-subpage.editorial-about-page section.cta > .wrap.cta-box,
body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box,
body.site-subpage.client-notes-page section.cta > .wrap.cta-box{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:26px var(--sfp-template-edge-gutter) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:center !important;
  justify-items:stretch !important;
  text-align:left !important;
}
body.site-subpage:not(.home-page) footer.footer > .wrap,
body.site-subpage.case-study-page footer.footer > .wrap,
body.site-subpage.editorial-about-page footer.footer > .wrap,
body.site-subpage.editorial-contact-page footer.footer > .wrap,
body.site-subpage.client-notes-page footer.footer > .wrap{
  width:min(var(--max), calc(100% - 56px)) !important;
  max-width:min(var(--max), calc(100% - 56px)) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  justify-items:stretch !important;
  text-align:left !important;
}
@media(max-width:720px){
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box{
    width:calc(100% - 56px) !important;
    max-width:calc(100% - 56px) !important;
    padding:22px 0 !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    justify-items:start !important;
    text-align:left !important;
  }
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box h2,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box p,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box h2,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box h2,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box h2,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box p,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box h2,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box p{
    text-align:left !important;
    justify-self:start !important;
  }
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box .btn,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box .btn{
    justify-self:start !important;
  }
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    width:calc(100% - 56px) !important;
    max-width:calc(100% - 56px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:start !important;
    justify-items:start !important;
    text-align:left !important;
    gap:8px !important;
  }
  body.site-subpage:not(.home-page) footer.footer > .wrap > span,
  body.site-subpage.case-study-page footer.footer > .wrap > span,
  body.site-subpage.editorial-about-page footer.footer > .wrap > span,
  body.site-subpage.editorial-contact-page footer.footer > .wrap > span,
  body.site-subpage.client-notes-page footer.footer > .wrap > span{
    text-align:left !important;
    justify-self:start !important;
    white-space:normal !important;
  }
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    justify-content:flex-start !important;
    justify-self:start !important;
    place-self:start !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* 2026-07-25 exact computed footer parity with homepage master. */
body.site-subpage:not(.home-page) section.cta > .wrap.cta-box,
body.site-subpage.case-study-page section.cta > .wrap.cta-box,
body.site-subpage.editorial-about-page section.cta > .wrap.cta-box,
body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box,
body.site-subpage.client-notes-page section.cta > .wrap.cta-box{
  justify-items:normal !important;
  text-align:start !important;
}
body.site-subpage:not(.home-page) footer.footer > .wrap,
body.site-subpage.case-study-page footer.footer > .wrap,
body.site-subpage.editorial-about-page footer.footer > .wrap,
body.site-subpage.editorial-contact-page footer.footer > .wrap,
body.site-subpage.client-notes-page footer.footer > .wrap{
  justify-content:space-between !important;
  justify-items:normal !important;
  text-align:start !important;
}
body.site-subpage:not(.home-page) footer.footer .footer-social,
body.site-subpage.case-study-page footer.footer .footer-social,
body.site-subpage.editorial-about-page footer.footer .footer-social,
body.site-subpage.editorial-contact-page footer.footer .footer-social,
body.site-subpage.client-notes-page footer.footer .footer-social{
  text-align:start !important;
}
@media(max-width:720px){
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    justify-content:space-between !important;
    justify-items:start !important;
    text-align:left !important;
  }
}

/* 2026-07-25 exact footer icon size lock — prevent inline SVGs from expanding to intrinsic viewport size. */
.home-page footer.footer .footer-social,
body.site-subpage footer.footer .footer-social{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.home-page footer.footer .footer-social a,
body.site-subpage footer.footer .footer-social a{
  display:inline-grid !important;
  place-items:center !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  color:#fff !important;
  opacity:.88 !important;
  overflow:hidden !important;
}
.home-page footer.footer .footer-social svg,
body.site-subpage footer.footer .footer-social svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  fill:currentColor !important;
  flex:0 0 18px !important;
}
@media(max-width:720px){
  .home-page footer.footer .footer-social,
  body.site-subpage footer.footer .footer-social{
    gap:13px !important;
  }
}

/* 2026-07-25 mobile exact parity keywords with homepage master. */
@media(max-width:720px){
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box{
    justify-items:start !important;
    text-align:left !important;
  }
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    text-align:left !important;
  }
}

/* 2026-07-25 mobile-only footer centering restore
   Stephen approved: footer should be centered on phones in portrait and landscape, sitewide.
   Desktop/tablet footer lock remains unchanged. */
@media(max-width:720px), (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .home-page footer.footer > .wrap,
  body.site-subpage footer.footer > .wrap,
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
    gap:10px !important;
  }
  .home-page footer.footer > .wrap > span,
  body.site-subpage footer.footer > .wrap > span,
  body.site-subpage:not(.home-page) footer.footer > .wrap > span,
  body.site-subpage.case-study-page footer.footer > .wrap > span,
  body.site-subpage.editorial-about-page footer.footer > .wrap > span,
  body.site-subpage.editorial-contact-page footer.footer > .wrap > span,
  body.site-subpage.client-notes-page footer.footer > .wrap > span{
    width:100% !important;
    max-width:100% !important;
    justify-self:center !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .home-page footer.footer .footer-social,
  body.site-subpage footer.footer .footer-social,
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    width:max-content !important;
    max-width:100% !important;
    justify-content:center !important;
    justify-self:center !important;
    place-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

/* 2026-07-25 mobile footer centering breakpoint correction
   Covers larger phone landscape viewports that exceed 950px CSS width. */
@media (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .home-page footer.footer > .wrap,
  body.site-subpage footer.footer > .wrap,
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
    gap:10px !important;
  }
  .home-page footer.footer > .wrap > span,
  body.site-subpage footer.footer > .wrap > span,
  body.site-subpage:not(.home-page) footer.footer > .wrap > span,
  body.site-subpage.case-study-page footer.footer > .wrap > span,
  body.site-subpage.editorial-about-page footer.footer > .wrap > span,
  body.site-subpage.editorial-contact-page footer.footer > .wrap > span,
  body.site-subpage.client-notes-page footer.footer > .wrap > span{
    width:100% !important;
    max-width:100% !important;
    justify-self:center !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .home-page footer.footer .footer-social,
  body.site-subpage footer.footer .footer-social,
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    width:max-content !important;
    max-width:100% !important;
    justify-content:center !important;
    justify-self:center !important;
    place-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}

/* 2026-07-25 mobile footer splitter alignment fix
   The splitter belongs to the centered footer content column on phones, not the full viewport shell. */
@media(max-width:720px), (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .home-page footer.footer,
  body.site-subpage footer.footer,
  body.site-subpage:not(.home-page) footer.footer,
  body.site-subpage.case-study-page footer.footer,
  body.site-subpage.editorial-about-page footer.footer,
  body.site-subpage.editorial-contact-page footer.footer,
  body.site-subpage.client-notes-page footer.footer{
    border-top:0 !important;
  }
  .home-page footer.footer > .wrap,
  body.site-subpage footer.footer > .wrap,
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    border-top:1px solid var(--line) !important;
    padding-top:10px !important;
  }
}

/* 2026-07-25 mobile footer WORD alignment correction
   Stephen's rule: on phones, the footer copyright words and social icons are centered left-to-right. */
@media(max-width:720px), (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  footer.footer > .wrap,
  .footer > .wrap,
  .home-page footer.footer > .wrap,
  body.site-subpage footer.footer > .wrap,
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  footer.footer > .wrap > span,
  .footer > .wrap > span,
  .home-page footer.footer > .wrap > span,
  body.site-subpage footer.footer > .wrap > span,
  body.site-subpage:not(.home-page) footer.footer > .wrap > span,
  body.site-subpage.case-study-page footer.footer > .wrap > span,
  body.site-subpage.editorial-about-page footer.footer > .wrap > span,
  body.site-subpage.editorial-contact-page footer.footer > .wrap > span,
  body.site-subpage.client-notes-page footer.footer > .wrap > span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    text-align:center !important;
    text-align-last:center !important;
  }
  footer.footer .footer-social,
  .footer .footer-social,
  .home-page footer.footer .footer-social,
  body.site-subpage footer.footer .footer-social,
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    display:flex !important;
    width:max-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    justify-self:center !important;
    place-self:center !important;
    text-align:center !important;
  }
}

/* 2026-07-25 mobile CTA + footer master alignment restore
   Stephen's locked mobile rule: CTA heading, supporting words, button, copyright, and social icons are centered as one composition on phones. */
@media(max-width:720px), (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .home-page section.cta,
  body.site-subpage section.cta,
  body.site-subpage:not(.home-page) section.cta,
  body.site-subpage.case-study-page section.cta,
  body.site-subpage.editorial-about-page section.cta,
  body.site-subpage.editorial-contact-page section.cta,
  body.site-subpage.client-notes-page section.cta{
    text-align:center !important;
  }
  .home-page section.cta > .wrap.cta-box,
  body.site-subpage section.cta > .wrap.cta-box,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .home-page section.cta > .wrap.cta-box h2,
  .home-page section.cta > .wrap.cta-box p,
  body.site-subpage section.cta > .wrap.cta-box h2,
  body.site-subpage section.cta > .wrap.cta-box p,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box h2,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box p,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box h2,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box h2,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box h2,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box p,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box h2,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box p{
    width:100% !important;
    max-width:620px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    text-align:center !important;
    text-align-last:center !important;
  }
  .home-page section.cta > .wrap.cta-box .btn,
  body.site-subpage section.cta > .wrap.cta-box .btn,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box .btn,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box .btn,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box .btn{
    justify-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  footer.footer > .wrap,
  .footer > .wrap,
  .home-page footer.footer > .wrap,
  body.site-subpage footer.footer > .wrap,
  body.site-subpage:not(.home-page) footer.footer > .wrap,
  body.site-subpage.case-study-page footer.footer > .wrap,
  body.site-subpage.editorial-about-page footer.footer > .wrap,
  body.site-subpage.editorial-contact-page footer.footer > .wrap,
  body.site-subpage.client-notes-page footer.footer > .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-content:center !important;
    justify-items:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  footer.footer > .wrap > span,
  .footer > .wrap > span,
  .home-page footer.footer > .wrap > span,
  body.site-subpage footer.footer > .wrap > span,
  body.site-subpage:not(.home-page) footer.footer > .wrap > span,
  body.site-subpage.case-study-page footer.footer > .wrap > span,
  body.site-subpage.editorial-about-page footer.footer > .wrap > span,
  body.site-subpage.editorial-contact-page footer.footer > .wrap > span,
  body.site-subpage.client-notes-page footer.footer > .wrap > span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    text-align:center !important;
    text-align-last:center !important;
  }
  footer.footer .footer-social,
  .footer .footer-social,
  .home-page footer.footer .footer-social,
  body.site-subpage footer.footer .footer-social,
  body.site-subpage:not(.home-page) footer.footer .footer-social,
  body.site-subpage.case-study-page footer.footer .footer-social,
  body.site-subpage.editorial-about-page footer.footer .footer-social,
  body.site-subpage.editorial-contact-page footer.footer .footer-social,
  body.site-subpage.client-notes-page footer.footer .footer-social{
    width:max-content !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    justify-self:center !important;
    place-self:center !important;
    text-align:center !important;
  }
}
/* 2026-07-26 desktop/tablet CTA subline parity — mirror the homepage one-line footer CTA without changing the locked phone CTA/footer system. */
@media(min-width:721px) and (min-height:601px){
  .home-page section.cta > .wrap.cta-box p,
  body.site-subpage section.cta > .wrap.cta-box p,
  body.site-subpage:not(.home-page) section.cta > .wrap.cta-box p,
  body.site-subpage.case-study-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-about-page section.cta > .wrap.cta-box p,
  body.site-subpage.editorial-contact-page section.cta > .wrap.cta-box p,
  body.site-subpage.client-notes-page section.cta > .wrap.cta-box p{
    max-width:none !important;
    white-space:nowrap !important;
    text-wrap:nowrap !important;
  }
}

/* 2026-07-26 About page no-hero editorial opening — Stephen approved removing the top hero image concept. */
.editorial-about-page .about-editorial-hero{
  display:none !important;
}
.editorial-about-page .about-editorial-intro{
  padding-top:118px !important;
  background:#113348 !important;
}
.editorial-about-page .about-editorial-grid{
  min-height:0 !important;
  padding-top:44px !important;
  padding-bottom:42px !important;
  align-items:end !important;
}
.editorial-about-page .about-editorial-grid h1{
  max-width:900px !important;
}
.editorial-about-page .about-editorial-grid > div:last-child{
  align-self:end !important;
  max-width:590px !important;
}
.editorial-about-page .about-editorial-feature{
  padding-top:16px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-intro{
    padding-top:86px !important;
  }
  .editorial-about-page .about-editorial-grid{
    padding-top:30px !important;
    padding-bottom:30px !important;
    align-items:start !important;
  }
  .editorial-about-page .about-editorial-grid > div:last-child{
    max-width:none !important;
  }
}

/* 2026-07-26 About no-hero phone-landscape balance — reduce top air after removing hero. */
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-editorial-intro{
    padding-top:72px !important;
  }
  .editorial-about-page .about-editorial-grid{
    padding-top:20px !important;
    padding-bottom:22px !important;
    align-items:start !important;
  }
  .editorial-about-page .about-editorial-grid h1{
    font-size:clamp(28px,5vw,38px) !important;
    line-height:1.08 !important;
  }
}

/* 2026-07-26 About no-hero feature image — hold architectural detail in the in-page image. */
.editorial-about-page .about-feature-grid img{
  object-position:center center !important;
}

/* 2026-07-26 About intro full-width editorial profile — Stephen approved smaller headline and copy across page. */
.editorial-about-page .about-editorial-grid.about-editorial-grid-full{
  display:block !important;
  padding-top:42px !important;
  padding-bottom:38px !important;
}
.editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
  width:100% !important;
  max-width:1120px !important;
  font-size:clamp(28px,2.7vw,40px) !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
.editorial-about-page .about-intro-copy{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  width:100% !important;
  max-width:1120px !important;
  margin-top:22px !important;
}
.editorial-about-page .about-intro-copy p{
  margin:0 !important;
  max-width:none !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
    font-size:clamp(27px,7.2vw,34px) !important;
    line-height:1.12 !important;
  }
  .editorial-about-page .about-intro-copy{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:18px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
    font-size:clamp(26px,3.7vw,34px) !important;
  }
  .editorial-about-page .about-intro-copy{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
    margin-top:14px !important;
  }
}

/* 2026-07-26 About intro full-width constraint fix — old split-column rule was still narrowing the only intro child. */
.editorial-about-page .about-editorial-grid.about-editorial-grid-full > div,
.editorial-about-page .about-editorial-grid.about-editorial-grid-full > div:last-child{
  width:100% !important;
  max-width:none !important;
}
.editorial-about-page .about-editorial-grid.about-editorial-grid-full h1,
.editorial-about-page .about-editorial-grid.about-editorial-grid-full .about-intro-copy{
  width:100% !important;
  max-width:1120px !important;
}

/* 2026-07-26 final sitewide eyebrow/title lock — enforce approved homepage/template eyebrow size + spacing after all one-off rules. */
:root{
  --sfp-eyebrow-title-gap:6px;
  --sfp-eyebrow-font-size:12px;
  --sfp-eyebrow-line-height:1;
  --sfp-eyebrow-letter-spacing:.22em;
  --sfp-eyebrow-font-weight:700;
}
body main .eyebrow,
body main .case-back,
body main .case-eyebrow{
  display:block !important;
  font-size:var(--sfp-eyebrow-font-size) !important;
  line-height:var(--sfp-eyebrow-line-height) !important;
  letter-spacing:var(--sfp-eyebrow-letter-spacing) !important;
  font-weight:var(--sfp-eyebrow-font-weight) !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-26 About intro title full-wrap correction — wide, not huge. */
.editorial-about-page .about-editorial-grid.about-editorial-grid-full h1,
.editorial-about-page .about-editorial-grid.about-editorial-grid-full .about-intro-copy{
  width:100% !important;
  max-width:100% !important;
}
.editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
  font-size:clamp(27px,2.35vw,35px) !important;
  line-height:1.13 !important;
  letter-spacing:-.032em !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
    font-size:clamp(26px,6.9vw,33px) !important;
    line-height:1.13 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
    font-size:clamp(25px,3.25vw,31px) !important;
    line-height:1.12 !important;
  }
}

/* 2026-07-26 final high-specificity eyebrow lock — defeats About/contact/logo one-off eyebrow overrides. */
body main .eyebrow,
body main .case-back,
body main .case-eyebrow,
body.site-subpage main .eyebrow,
body.home-page main .eyebrow,
body.editorial-about-page main .eyebrow,
body.editorial-contact-page main .eyebrow,
body.case-study-page main .case-back,
body.case-study-page main .case-eyebrow,
body.case-study-page main .eyebrow,
body.top-level-template-page main .eyebrow{
  display:block !important;
  font-size:var(--sfp-eyebrow-font-size) !important;
  line-height:var(--sfp-eyebrow-line-height) !important;
  letter-spacing:var(--sfp-eyebrow-letter-spacing) !important;
  font-weight:var(--sfp-eyebrow-font-weight) !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}
body main .eyebrow + h1,
body main .eyebrow + h2,
body main .eyebrow + h3,
body main .case-back + h1,
body main .case-back + h2,
body main .case-eyebrow + h1,
body main .case-eyebrow + h2,
body.editorial-about-page main .eyebrow + h1,
body.editorial-about-page main .eyebrow + h2,
body.editorial-contact-page main .eyebrow + h1,
body.editorial-contact-page main .eyebrow + h2,
body.case-study-page main .case-back + h1,
body.case-study-page main .case-eyebrow + h1,
body.top-level-template-page main .eyebrow + h1{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* 2026-07-26 About logo-rail label eyebrow normalization — keep all eyebrow-style labels on the same token values. */
body.editorial-about-page main .about-logo-proof-inner > .eyebrow{
  display:block !important;
  font-size:var(--sfp-eyebrow-font-size) !important;
  line-height:var(--sfp-eyebrow-line-height) !important;
  letter-spacing:var(--sfp-eyebrow-letter-spacing) !important;
  font-weight:var(--sfp-eyebrow-font-weight) !important;
  margin-top:0 !important;
  margin-bottom:var(--sfp-eyebrow-title-gap) !important;
}

/* 2026-07-26 About mobile density reduction — shorter mobile title and defer secondary copy below first viewport. */
.editorial-about-page .about-title-mobile,
.editorial-about-page .about-mobile-deferred-copy{
  display:none !important;
}
@media(max-width:720px){
  .editorial-about-page .about-title-desktop,
  .editorial-about-page .about-intro-secondary{
    display:none !important;
  }
  .editorial-about-page .about-title-mobile,
  .editorial-about-page .about-mobile-deferred-copy{
    display:block !important;
  }
  .editorial-about-page .about-editorial-intro{
    padding-top:80px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full h1{
    font-size:clamp(25px,6.6vw,31px) !important;
    line-height:1.12 !important;
  }
  .editorial-about-page .about-intro-copy{
    margin-top:14px !important;
  }
  .editorial-about-page .about-editorial-grid p,
  .editorial-about-page .about-feature-grid p{
    font-size:14.5px !important;
    line-height:1.56 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-title-desktop,
  .editorial-about-page .about-intro-secondary{
    display:none !important;
  }
  .editorial-about-page .about-title-mobile,
  .editorial-about-page .about-mobile-deferred-copy{
    display:block !important;
  }
  .editorial-about-page .about-editorial-intro{
    padding-top:66px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
}

/* 2026-07-26 About page Stephen portrait placement — use the cropped working portrait as the main About image. */
.editorial-about-page .about-feature-grid{
  grid-template-columns:minmax(280px,.52fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.editorial-about-page .about-feature-grid figure{
  min-height:0 !important;
  aspect-ratio:4/5 !important;
}
.editorial-about-page .about-feature-grid img[src$="stephen-about-bts.jpg"]{
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:720px){
  .editorial-about-page .about-feature-grid{
    grid-template-columns:1fr !important;
  }
  .editorial-about-page .about-feature-grid figure{
    aspect-ratio:4/5 !important;
    min-height:0 !important;
  }
}

/* 2026-07-26 About bio copy mobile balance — keep the fuller Stephen copy readable without crowding. */
@media(max-width:720px){
  .editorial-about-page .about-feature-grid > div{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
  .editorial-about-page .about-feature-grid h2{
    font-size:27px !important;
    line-height:1.08 !important;
    margin-bottom:14px !important;
  }
  .editorial-about-page .about-feature-grid .about-credentials{
    font-size:11.5px !important;
    line-height:1.7 !important;
    letter-spacing:.08em !important;
  }
}

/* 2026-07-26 About credentials sentence-case lock. */
.editorial-about-page .about-credentials{
  text-transform:none !important;
}

/* 2026-07-26 About approach heading scale reduction — keep bio card from reading like a second hero. */
.editorial-about-page .about-feature-grid h2{
  font-size:clamp(32px,2.55vw,38px) !important;
  line-height:1.08 !important;
  letter-spacing:-.032em !important;
}
@media(max-width:720px){
  .editorial-about-page .about-feature-grid h2{
    font-size:24.5px !important;
    line-height:1.12 !important;
  }
}

/* 2026-07-26 About credentials refined tag line — white, smaller, desktop one-line. */
.editorial-about-page .about-credentials{
  color:rgba(247,242,232,.86) !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
  letter-spacing:.105em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}
@media(max-width:980px){
  .editorial-about-page .about-credentials{
    white-space:normal !important;
  }
}
@media(max-width:720px){
  .editorial-about-page .about-feature-grid .about-credentials{
    color:rgba(247,242,232,.86) !important;
    font-size:10.75px !important;
    line-height:1.65 !important;
    letter-spacing:.08em !important;
    text-transform:none !important;
    white-space:normal !important;
  }
}

/* 2026-07-26 About credentials final specificity lock. */
.editorial-about-page .about-feature-grid .about-credentials{
  color:rgba(247,242,232,.86) !important;
  font-size:10.5px !important;
  line-height:1.45 !important;
  letter-spacing:.105em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}
@media(max-width:980px){
  .editorial-about-page .about-feature-grid .about-credentials{
    white-space:normal !important;
  }
}
@media(max-width:720px){
  .editorial-about-page .about-feature-grid .about-credentials{
    font-size:10.75px !important;
    line-height:1.65 !important;
    letter-spacing:.08em !important;
  }
}

/* 2026-07-26 About page vertical rhythm tighten — align closer to homepage rhythm without touching global/CTA/footer locks. */
.editorial-about-page .about-editorial-intro{
  padding-top:92px !important;
}
.editorial-about-page .about-editorial-grid.about-editorial-grid-full{
  padding-top:30px !important;
  padding-bottom:28px !important;
}
.editorial-about-page .about-intro-copy{
  margin-top:18px !important;
}
.editorial-about-page .about-editorial-feature{
  padding-top:0 !important;
}
.editorial-about-page .about-feature-grid > div{
  padding-top:26px !important;
  padding-bottom:26px !important;
}
.editorial-about-page .about-logo-proof{
  padding-top:58px !important;
  padding-bottom:52px !important;
}
.editorial-about-page .about-logo-proof-inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.editorial-about-page .about-selected-clients + .cta{
  padding-top:70px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-editorial-intro{
    padding-top:68px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:18px !important;
    padding-bottom:20px !important;
  }
  .editorial-about-page .about-intro-copy{
    margin-top:12px !important;
  }
  .editorial-about-page .about-editorial-feature{
    padding-top:0 !important;
  }
  .editorial-about-page .about-feature-grid > div{
    padding-top:28px !important;
    padding-bottom:30px !important;
  }
  .editorial-about-page .about-logo-proof{
    padding-top:46px !important;
    padding-bottom:44px !important;
  }
  .editorial-about-page .about-selected-clients + .cta{
    padding-top:58px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-editorial-intro{
    padding-top:58px !important;
  }
  .editorial-about-page .about-editorial-grid.about-editorial-grid-full{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  .editorial-about-page .about-logo-proof{
    padding-top:42px !important;
    padding-bottom:40px !important;
  }
}

/* 2026-07-26 About landscape nav clearance — keep tightened rhythm without tucking eyebrow under fixed header. */
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-editorial-intro{
    padding-top:68px !important;
  }
}

/* 2026-07-26 About matched vertical gaps — match intro-copy→portrait gap; do not alter logo sizing. */
.editorial-about-page .about-logo-proof{
  margin-top:0 !important;
  padding-top:28px !important;
  padding-bottom:8px !important;
}
.editorial-about-page .about-selected-clients + .cta{
  padding-top:0 !important;
}
.editorial-about-page .about-selected-clients + .cta .cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof{
    margin-top:0 !important;
    padding-top:20px !important;
    padding-bottom:6px !important;
  }
  .editorial-about-page .about-selected-clients + .cta{
    padding-top:0 !important;
  }
  .editorial-about-page .about-selected-clients + .cta .cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-logo-proof{
    margin-top:0 !important;
    padding-top:14px !important;
    padding-bottom:4px !important;
  }
  .editorial-about-page .about-selected-clients + .cta{
    padding-top:0 !important;
  }
  .editorial-about-page .about-selected-clients + .cta .cta-box{
    padding-top:10px !important;
  }
}

/* 2026-07-26 About CTA title gap match — match logo-rail→CTA title to intro-copy→portrait gap; no logo sizing changes. */
body.editorial-about-page main .about-selected-clients + section.cta{
  padding-top:0 !important;
}
body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  body.editorial-about-page main .about-selected-clients + section.cta{
    padding-top:0 !important;
  }
  body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main .about-selected-clients + section.cta{
    padding-top:0 !important;
  }
  body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
    padding-top:10px !important;
  }
}

/*
  SFP gap-rhythm rule — locked 2026-07-26.
  For page designs with repeated content-to-section transitions, do not invent independent
  top/bottom padding per section. Measure the first approved local transition gap from the
  rendered page (example: bottom of intro copy → top of next image/card block), then reuse
  that same visual gap for equivalent downstream transitions on that page.
  About page measured targets: desktop 28px, phone portrait 20px, phone landscape 14px.
  This rule controls spacing only; do not resize logos/images/content to fake a gap.
*/
:root{
  --sfp-local-gap-about-desktop:28px;
  --sfp-local-gap-about-mobile:20px;
  --sfp-local-gap-about-landscape:14px;
}
.editorial-about-page .about-logo-proof{
  padding-top:var(--sfp-local-gap-about-desktop) !important;
}
body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
  padding-top:20px !important; /* yields the same 28px visual logo-rail→CTA-title gap */
}
@media(max-width:720px){
  .editorial-about-page .about-logo-proof{
    padding-top:var(--sfp-local-gap-about-mobile) !important;
  }
  body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
    padding-top:14px !important; /* yields the same 20px visual logo-rail→CTA-title gap */
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  .editorial-about-page .about-logo-proof{
    padding-top:var(--sfp-local-gap-about-landscape) !important;
  }
  body.editorial-about-page main .about-selected-clients + section.cta .wrap.cta-box{
    padding-top:10px !important; /* yields the same 14px visual logo-rail→CTA-title gap */
  }
}

/*
  2026-07-26 Sitewide CTA/footer entrance rule.
  Applies only to pages with section.cta. Contact/no-CTA pages are not affected.
  Keep footer CTA behavior consistent sitewide: the section itself starts flush after the
  preceding content band, and the CTA box supplies the first visual breathing room.
  Do not tune homepage/About/case-study footer entrances separately unless Stephen explicitly
  approves an exception.
*/
body.home-page main > section.cta,
body.site-subpage main > section.cta{
  padding-top:0 !important;
}
body.home-page main > section.cta > .wrap.cta-box,
body.site-subpage main > section.cta > .wrap.cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  body.home-page main > section.cta,
  body.site-subpage main > section.cta{
    padding-top:0 !important;
  }
  body.home-page main > section.cta > .wrap.cta-box,
  body.site-subpage main > section.cta > .wrap.cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.home-page main > section.cta,
  body.site-subpage main > section.cta{
    padding-top:0 !important;
  }
  body.home-page main > section.cta > .wrap.cta-box,
  body.site-subpage main > section.cta > .wrap.cta-box{
    padding-top:10px !important;
  }
}

/* 2026-07-26 Sitewide CTA/footer entrance specificity lock — beats older page-specific CTA padding. */
body.home-page main > section.cta,
body.site-subpage main > section.cta,
body.site-subpage:not(.home-page) main > section.cta,
body.site-subpage.case-study-page main > section.cta,
body.site-subpage.editorial-about-page main > section.cta,
body.site-subpage.client-notes-page main > section.cta{
  padding-top:0 !important;
}
body.home-page main > section.cta > .wrap.cta-box,
body.site-subpage main > section.cta > .wrap.cta-box,
body.site-subpage:not(.home-page) main > section.cta > .wrap.cta-box,
body.site-subpage.case-study-page main > section.cta > .wrap.cta-box,
body.site-subpage.editorial-about-page main > section.cta > .wrap.cta-box,
body.site-subpage.client-notes-page main > section.cta > .wrap.cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  body.home-page main > section.cta,
  body.site-subpage main > section.cta,
  body.site-subpage:not(.home-page) main > section.cta,
  body.site-subpage.case-study-page main > section.cta,
  body.site-subpage.editorial-about-page main > section.cta,
  body.site-subpage.client-notes-page main > section.cta{
    padding-top:0 !important;
  }
  body.home-page main > section.cta > .wrap.cta-box,
  body.site-subpage main > section.cta > .wrap.cta-box,
  body.site-subpage:not(.home-page) main > section.cta > .wrap.cta-box,
  body.site-subpage.case-study-page main > section.cta > .wrap.cta-box,
  body.site-subpage.editorial-about-page main > section.cta > .wrap.cta-box,
  body.site-subpage.client-notes-page main > section.cta > .wrap.cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.home-page main > section.cta,
  body.site-subpage main > section.cta,
  body.site-subpage:not(.home-page) main > section.cta,
  body.site-subpage.case-study-page main > section.cta,
  body.site-subpage.editorial-about-page main > section.cta,
  body.site-subpage.client-notes-page main > section.cta{
    padding-top:0 !important;
  }
  body.home-page main > section.cta > .wrap.cta-box,
  body.site-subpage main > section.cta > .wrap.cta-box,
  body.site-subpage:not(.home-page) main > section.cta > .wrap.cta-box,
  body.site-subpage.case-study-page main > section.cta > .wrap.cta-box,
  body.site-subpage.editorial-about-page main > section.cta > .wrap.cta-box,
  body.site-subpage.client-notes-page main > section.cta > .wrap.cta-box{
    padding-top:10px !important;
  }
}

/* 2026-07-26 About intro banner-blue correction — intro/banner panels use the locked SFP design blue. */
body.editorial-about-page main > section.about-editorial-intro{
  background:var(--sfp-banner-bg,#113348) !important;
}

/* 2026-07-26 About middle-panel simplification — keep banner-blue intro rule, remove competing blue slab from portrait/Approach row. */
body.editorial-about-page main > section.about-editorial-feature{
  background:var(--sfp-page-bg,#0d2838) !important;
}
body.editorial-about-page .about-feature-grid > div{
  background:transparent !important;
  border:1px solid rgba(247,242,232,.08) !important;
  border-left:0 !important;
}
body.editorial-about-page .about-feature-grid figure{
  background:var(--sfp-page-bg,#0d2838) !important;
}
@media(max-width:720px){
  body.editorial-about-page .about-feature-grid > div{
    border-left:1px solid rgba(247,242,232,.08) !important;
    border-top:0 !important;
  }
}

/* 2026-07-26 About middle-panel mobile cleanup — no accidental border/overlap after removing blue slab. */
@media(max-width:720px){
  body.editorial-about-page .about-feature-grid{
    gap:0 !important;
  }
  body.editorial-about-page .about-feature-grid > div{
    border:0 !important;
    background:var(--sfp-page-bg,#0d2838) !important;
  }
}

/* 2026-07-26 About middle-panel tablet/landscape containment — prevent portrait grid item from spilling under Approach text. */
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page .about-feature-grid > figure,
  body.editorial-about-page .about-feature-grid > div{
    min-width:0 !important;
    max-width:100% !important;
  }
  body.editorial-about-page .about-feature-grid > figure{
    width:100% !important;
    aspect-ratio:auto !important;
  }
  body.editorial-about-page .about-feature-grid > figure img{
    width:100% !important;
    max-width:100% !important;
  }
}

/* 2026-07-26 About middle-section gap/outline correction — match approved local gap above portrait row, remove Approach card outline. */
body.editorial-about-page main > section.about-editorial-feature{
  padding-top:var(--sfp-local-gap-about-desktop,28px) !important;
}
body.editorial-about-page .about-feature-grid > div{
  border:0 !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature{
    padding-top:var(--sfp-local-gap-about-mobile,20px) !important;
  }
  body.editorial-about-page .about-feature-grid > div{
    border:0 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature{
    padding-top:var(--sfp-local-gap-about-landscape,14px) !important;
  }
  body.editorial-about-page .about-feature-grid > div{
    border:0 !important;
  }
}

/* 2026-07-26 About artistic profile opening — portrait + About/Approach card replaces separate title band. */
body.editorial-about-page main > section.about-editorial-feature-primary{
  background:var(--sfp-banner-bg,#113348) !important;
  padding-top:118px !important;
  padding-bottom:var(--sfp-local-gap-about-desktop,28px) !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid{
  grid-template-columns:minmax(300px,.48fr) minmax(0,1fr) !important;
  gap:18px !important;
  align-items:stretch !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure,
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid > div{
  background:transparent !important;
  border:0 !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
  aspect-ratio:4/5 !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-copy{
  padding:34px 34px 32px !important;
  justify-content:center !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary h1{
  margin:0 0 18px !important;
  color:#fff !important;
  font-size:clamp(32px,3.05vw,46px) !important;
  line-height:1.07 !important;
  letter-spacing:-.038em !important;
  font-weight:430 !important;
  max-width:780px !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-lede{
  color:rgba(247,242,232,.88) !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
  margin-top:24px !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary h2{
  font-size:clamp(25px,2vw,32px) !important;
  line-height:1.1 !important;
  margin-bottom:14px !important;
}
body.editorial-about-page main > section.about-selected-clients.about-logo-proof{
  background:var(--sfp-page-bg,#0d2838) !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary{
    padding-top:88px !important;
    padding-bottom:var(--sfp-local-gap-about-mobile,20px) !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-copy{
    padding:26px 0 28px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:clamp(29px,8vw,38px) !important;
    line-height:1.08 !important;
    margin-bottom:15px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:22px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h2{
    font-size:24.5px !important;
    line-height:1.12 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary{
    padding-top:74px !important;
    padding-bottom:var(--sfp-local-gap-about-landscape,14px) !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid{
    grid-template-columns:minmax(220px,.42fr) minmax(0,1fr) !important;
    gap:16px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-copy{
    padding:20px 0 20px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:clamp(26px,3.4vw,32px) !important;
    margin-bottom:12px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid p{
    font-size:13.8px !important;
    line-height:1.48 !important;
    margin-bottom:9px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:16px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h2{
    font-size:22px !important;
    margin-bottom:10px !important;
  }
}

/* 2026-07-26 About artistic profile containment correction — keep portrait inside its column after the title-card removal. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  aspect-ratio:auto !important;
  box-sizing:border-box !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    aspect-ratio:4/5 !important;
  }
}

/* 2026-07-26 About profile heading parity — make the About title match the Approach title scale. */
body.editorial-about-page main > section.about-editorial-feature-primary h1{
  font-size:clamp(25px,2vw,32px) !important;
  line-height:1.1 !important;
  letter-spacing:-.032em !important;
  margin-bottom:16px !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:24.5px !important;
    line-height:1.12 !important;
    margin-bottom:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:22px !important;
    line-height:1.1 !important;
    margin-bottom:10px !important;
  }
}

/* 2026-07-26 About portrait frame + editorial image strip — subtle artistry without turning About into portfolio. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
  border:1.5px solid rgba(247,242,232,.48) !important;
  box-shadow:0 0 0 1px rgba(191,164,106,.12) !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure img{
  display:block !important;
}
body.editorial-about-page main > section.about-editorial-image-strip{
  background:var(--sfp-page-bg,#0d2838) !important;
  padding-top:var(--sfp-local-gap-about-desktop,28px) !important;
  padding-bottom:0 !important;
}
body.editorial-about-page .about-image-strip-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
body.editorial-about-page .about-image-strip-grid figure{
  margin:0 !important;
  overflow:hidden !important;
  aspect-ratio:16/10 !important;
  background:rgba(17,51,72,.55) !important;
}
body.editorial-about-page .about-image-strip-grid img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
body.editorial-about-page .about-image-strip-grid figure:first-child img{
  object-position:center center !important;
}
body.editorial-about-page .about-image-strip-grid figure:nth-child(2) img{
  object-position:center center !important;
}
body.editorial-about-page .about-image-strip-grid figure:nth-child(3) img{
  object-position:center center !important;
}
body.editorial-about-page main .about-editorial-image-strip + section.cta{
  padding-top:0 !important;
}
body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    border-width:1px !important;
  }
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:var(--sfp-local-gap-about-mobile,20px) !important;
  }
  body.editorial-about-page .about-image-strip-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body.editorial-about-page .about-image-strip-grid figure{
    aspect-ratio:16/9 !important;
  }
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    border-width:1px !important;
  }
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:var(--sfp-local-gap-about-landscape,14px) !important;
  }
  body.editorial-about-page .about-image-strip-grid{
    gap:8px !important;
  }
  body.editorial-about-page .about-image-strip-grid figure{
    aspect-ratio:16/8.6 !important;
  }
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:10px !important;
  }
}

/* 2026-07-26 About logo-to-image-strip gap correction — total visual gap follows local rule: 28 / 20 / 14. */
body.editorial-about-page main > section.about-editorial-image-strip{
  padding-top:20px !important; /* combines with 8px logo-section bottom padding to yield 28px visual gap */
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:14px !important; /* combines with 6px logo-section bottom padding to yield 20px visual gap */
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:10px !important; /* combines with 4px logo-section bottom padding to yield 14px visual gap */
  }
}

/* 2026-07-26 About portrait frame visibility — Stephen requested a thicker white border around portrait. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
  border:3px solid rgba(247,242,232,.72) !important;
  box-shadow:0 0 0 1px rgba(191,164,106,.16) !important;
}
@media(max-width:720px), (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    border-width:2px !important;
  }
}

/* 2026-07-26 About strip image frame — echo portrait frame more quietly. */
body.editorial-about-page .about-image-strip-grid figure{
  border:1px solid rgba(247,242,232,.42) !important;
  box-shadow:0 0 0 1px rgba(191,164,106,.10) !important;
  box-sizing:border-box !important;
}
body.editorial-about-page .about-image-strip-grid img{
  display:block !important;
}

/* 2026-07-26 About image-strip-to-CTA gap correction — match local About rhythm after adding image strip. */
body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
  padding-top:var(--sfp-local-gap-about-desktop,28px) !important;
}
@media(max-width:720px){
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:var(--sfp-local-gap-about-mobile,20px) !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:var(--sfp-local-gap-about-landscape,14px) !important;
  }
}

/* 2026-07-26 About strip image frame visibility — Stephen requested thicker borders around strip images. */
body.editorial-about-page .about-image-strip-grid figure{
  border:2px solid rgba(247,242,232,.62) !important;
  box-shadow:0 0 0 1px rgba(191,164,106,.14) !important;
}
@media(max-width:720px), (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page .about-image-strip-grid figure{
    border-width:1.5px !important;
  }
}

/* 2026-07-26 About visible image-strip-to-CTA gap — external gap before footer card, not hidden inside CTA padding. */
body.editorial-about-page main > section.about-editorial-image-strip{
  padding-bottom:var(--sfp-local-gap-about-desktop,28px) !important;
}
body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
  padding-top:20px !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-bottom:var(--sfp-local-gap-about-mobile,20px) !important;
  }
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-bottom:var(--sfp-local-gap-about-landscape,14px) !important;
  }
  body.editorial-about-page main .about-editorial-image-strip + section.cta .wrap.cta-box{
    padding-top:10px !important;
  }
}

/* 2026-07-26 About client-logo proof panel refinement — quiet editorial frame so logos feel intentionally anchored. */
body.editorial-about-page main > section.about-selected-clients.about-logo-proof{
  padding-top:var(--sfp-local-gap-about-desktop,28px) !important;
  padding-bottom:8px !important;
}
body.editorial-about-page .about-logo-proof-inner{
  border-top:1px solid rgba(247,242,232,.18) !important;
  border-bottom:1px solid rgba(247,242,232,.12) !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}
body.editorial-about-page .about-logo-proof-inner > .eyebrow{
  color:rgba(191,164,106,.92) !important;
  margin-bottom:14px !important;
}
body.editorial-about-page .about-logo-rail-shell{
  position:relative !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-selected-clients.about-logo-proof{
    padding-top:var(--sfp-local-gap-about-mobile,20px) !important;
    padding-bottom:6px !important;
  }
  body.editorial-about-page .about-logo-proof-inner{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  body.editorial-about-page .about-logo-proof-inner > .eyebrow{
    margin-bottom:12px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-selected-clients.about-logo-proof{
    padding-top:var(--sfp-local-gap-about-landscape,14px) !important;
    padding-bottom:4px !important;
  }
  body.editorial-about-page .about-logo-proof-inner{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
  body.editorial-about-page .about-logo-proof-inner > .eyebrow{
    margin-bottom:10px !important;
  }
}

/* 2026-07-26 About logo proof panel gap calibration — preserve exact logo-to-image rhythm after adding proof-panel rules. */
body.editorial-about-page main > section.about-editorial-image-strip{
  padding-top:21px !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:13px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-image-strip{
    padding-top:9px !important;
  }
}

/* 2026-07-26 About logo proof panel bottom-balance — move lower divider up to mirror the top divider/eyebrow spacing. */
body.editorial-about-page .about-logo-proof-inner{
  padding-bottom:10px !important;
}
@media(max-width:720px){
  body.editorial-about-page .about-logo-proof-inner{
    padding-bottom:8px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page .about-logo-proof-inner{
    padding-bottom:6px !important;
  }
}

/* 2026-07-26 About logo proof panel balanced frame — lower divider spacing mirrors top divider-to-eyebrow spacing. */
body.editorial-about-page .about-logo-proof-inner{
  padding-bottom:18px !important;
}
@media(max-width:720px){
  body.editorial-about-page .about-logo-proof-inner{
    padding-bottom:14px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page .about-logo-proof-inner{
    padding-bottom:10px !important;
  }
}

/* 2026-07-26 About/Approach editorial divider — subtle gold rule between statement and approach. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
  position:relative !important;
  margin-top:30px !important;
  padding-top:22px !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:54px !important;
  height:1px !important;
  background:rgba(191,164,106,.72) !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:26px !important;
    padding-top:18px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
    width:48px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:18px !important;
    padding-top:14px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
    width:44px !important;
  }
}

/* 2026-07-26 About/Approach divider refinement — longer editorial rule, not full-width corporate divider. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
  margin-top:28px !important;
  padding-top:24px !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
  width:148px !important;
  background:rgba(191,164,106,.68) !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:24px !important;
    padding-top:20px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
    width:118px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:17px !important;
    padding-top:15px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow::before{
    width:104px !important;
  }
}

/* 2026-07-26 About/Approach divider position — move rule upward so it divides the two statements evenly. */
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
  margin-top:18px !important;
  padding-top:34px !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:16px !important;
    padding-top:28px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:11px !important;
    padding-top:21px !important;
  }
}


/* 2026-07-27 About cinematic work-image moment — Stephen approved Wesley industrial as the single Central Florida commercial image. */
body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid{
  grid-template-columns:1fr !important;
  gap:0 !important;
}
body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid figure{
  aspect-ratio:16/6.7 !important;
  border:2px solid rgba(247,242,232,.62) !important;
}
body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid img{
  object-position:center center !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid figure{
    aspect-ratio:16/9 !important;
    border-width:1.5px !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid figure{
    aspect-ratio:16/6.2 !important;
    border-width:1.5px !important;
  }
}

/* 2026-07-27 About logo rail optical-only pass — no copy/block changes; just balance, spacing, edge fade. */
body.editorial-about-page .about-logo-proof-inner > .eyebrow{
  margin-bottom:15px !important;
}
body.editorial-about-page .about-logo-cloud{
  padding-top:2px !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 92%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 92%,transparent 100%) !important;
}
body.editorial-about-page .about-logo-set{
  gap:30px !important;
  padding-right:30px !important;
}
body.editorial-about-page .about-logo-cloud .logo-cagan img{
  max-width:146px !important;
  max-height:72px !important;
  opacity:.9 !important;
}
body.editorial-about-page .about-logo-cloud .logo-platinum img{
  max-width:144px !important;
  max-height:68px !important;
  opacity:.9 !important;
}
body.editorial-about-page .about-logo-cloud .logo-suchman img,
body.editorial-about-page .about-logo-cloud img[src$="suchman-retail-group-white.png"]{
  opacity:.98 !important;
}
body.editorial-about-page .about-logo-cloud .logo-ritz img{
  opacity:.94 !important;
}
body.editorial-about-page .about-logo-cloud .logo-boxed img{
  border-color:rgba(247,242,232,.16) !important;
  padding:8px 10px !important;
  opacity:.9 !important;
}
body.editorial-about-page .about-logo-cloud .logo-wrh img,
body.editorial-about-page .about-logo-cloud img[src$="wrh-realty-white.png"]{
  max-width:104px !important;
  max-height:48px !important;
}
body.editorial-about-page .about-logo-cloud .logo-ramser img,
body.editorial-about-page .about-logo-cloud img[src$="ramser-development-white.png"]{
  max-width:102px !important;
  max-height:48px !important;
}
@media(max-width:720px){
  body.editorial-about-page .about-logo-proof-inner > .eyebrow{
    margin-bottom:13px !important;
  }
  body.editorial-about-page .about-logo-set{
    gap:22px !important;
    padding-right:22px !important;
  }
}

/* 2026-07-27 About logo rail edge-fade micro-adjust — keep logos readable a bit longer at right edge. */
body.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 95%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 95%,transparent 100%) !important;
}

/* 2026-07-27 About full-page award audit micro-pass — spacing/crop/type only, no new sections or copy. */
body.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 97%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 97%,transparent 100%) !important;
}
body.editorial-about-page .about-logo-cloud .logo-ritz{
  flex-basis:228px !important;
  min-width:228px !important;
  max-width:228px !important;
}
body.editorial-about-page .about-logo-cloud .logo-ritz img{
  max-width:164px !important;
  max-height:88px !important;
}
@media(max-width:720px){
  body.editorial-about-page .about-feature-grid{
    padding-top:8px !important;
  }
  body.editorial-about-page main > section.about-selected-clients.about-logo-proof,
  body.editorial-about-page .about-logo-proof{
    padding-top:16px !important;
  }
  body.editorial-about-page .about-logo-proof-inner > .eyebrow{
    margin-bottom:11px !important;
  }
  body.editorial-about-page main > section.about-cinematic-work-moment{
    padding-top:16px !important;
  }
  body.site-subpage.editorial-about-page main > section.cta > .wrap.cta-box{
    gap:12px !important;
  }
  body.site-subpage.editorial-about-page .cta h2{
    font-size:26px !important;
    line-height:1.08 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-selected-clients.about-logo-proof,
  body.editorial-about-page .about-logo-proof{
    padding-top:12px !important;
  }
  body.editorial-about-page .about-logo-proof-inner > .eyebrow{
    margin-bottom:10px !important;
  }
  body.editorial-about-page main > section.about-cinematic-work-moment{
    padding-top:12px !important;
  }
}

/* 2026-07-27 About logo rail final edge polish — less aggressive right fade so Ritz does not look accidentally chopped. */
body.editorial-about-page .about-logo-cloud{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 99%,transparent 100%) !important;
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 99%,transparent 100%) !important;
}
body.editorial-about-page .about-logo-cloud{
  padding-right:58px !important;
}

/* 2026-07-27 About mobile screenshot fixes — one-image rule, intentional heading wrap, cleaner phone landscape. */
body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid,
body.editorial-about-page main > section.about-editorial-image-strip.about-cinematic-work-moment .about-image-strip-grid{
  grid-template-columns:1fr !important;
}
body.editorial-about-page main > section.about-cinematic-work-moment .about-image-strip-grid figure:nth-child(n+2),
body.editorial-about-page main > section.about-editorial-image-strip.about-cinematic-work-moment .about-image-strip-grid figure:nth-child(n+2){
  display:none !important;
}
body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-title span{
  display:inline !important;
}
@media(max-width:720px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-title{
    text-wrap:balance !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-title span{
    display:block !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page .site-header,
  body.editorial-about-page .site-header *{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  body.editorial-about-page .nav{
    padding-top:7px !important;
    padding-bottom:7px !important;
  }
  body.editorial-about-page .brand-logo{
    width:min(42vw,188px) !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary{
    padding-top:54px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid{
    grid-template-columns:minmax(168px,.34fr) minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    aspect-ratio:4/4.6 !important;
    align-self:start !important;
    max-height:calc(100vh - 70px) !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure img{
    height:100% !important;
    object-fit:cover !important;
    object-position:center 18% !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-copy{
    padding-top:10px !important;
    padding-bottom:12px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:clamp(22px,3vw,28px) !important;
    margin-bottom:8px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid p{
    font-size:13px !important;
    line-height:1.42 !important;
    margin-bottom:7px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:10px !important;
    padding-top:16px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-title{
    font-size:20px !important;
    line-height:1.1 !important;
    margin-bottom:7px !important;
  }
}

/* 2026-07-27 About phone-landscape stack — match portrait-mode structure instead of squeezed desktop columns. */
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    align-items:start !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure{
    width:100% !important;
    max-width:100% !important;
    aspect-ratio:16/8.2 !important;
    max-height:none !important;
    align-self:auto !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid figure img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 24% !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-copy{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary h1{
    font-size:clamp(22px,4vw,29px) !important;
    margin-bottom:8px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid p{
    font-size:13.2px !important;
    line-height:1.44 !important;
    margin-bottom:7px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-eyebrow{
    margin-top:12px !important;
    padding-top:17px !important;
  }
  body.editorial-about-page main > section.about-editorial-feature-primary .about-approach-title{
    font-size:21px !important;
    line-height:1.1 !important;
    margin-bottom:7px !important;
  }
}

/* 2026-07-27 separate homepage award concept — scoped to index-award-concept.html only. */
body.home-award-concept-page .site-header{
  background:linear-gradient(180deg,rgba(5,15,21,.54),rgba(5,15,21,.16)) !important;
  border-bottom-color:rgba(247,242,232,.06) !important;
  backdrop-filter:blur(8px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.02) !important;
}
body.home-award-concept-page .nav{min-height:68px !important;}
body.home-award-concept-page .links a{opacity:.78 !important;}
body.home-award-concept-page .links a:hover{opacity:1 !important;}
body.home-award-concept-page .nav-cta{
  background:transparent !important;
  color:var(--cream) !important;
  border-color:rgba(247,242,232,.22) !important;
}
body.home-award-concept-page .home-concept-cover .hero-media{
  aspect-ratio:16/8.35 !important;
}
body.home-award-concept-page .home-concept-cover .hero-media:after{
  background:
    linear-gradient(180deg,rgba(3,12,17,.08),rgba(3,12,17,.06) 48%,rgba(3,12,17,.72) 100%),
    linear-gradient(90deg,rgba(3,12,17,.18),transparent 36%,rgba(3,12,17,.10)) !important;
}
body.home-award-concept-page .hero-caption{
  bottom:26px !important;
  opacity:.78 !important;
}
body.home-award-concept-page .home-concept-intro{
  margin-top:0 !important;
  padding:46px 0 64px !important;
  background:linear-gradient(180deg,#0d2838 0%,#102f42 100%) !important;
  border-bottom:1px solid rgba(247,242,232,.08) !important;
}
body.home-award-concept-page .home-concept-intro-inner{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.38fr) !important;
  column-gap:72px !important;
  row-gap:22px !important;
  align-items:end !important;
}
body.home-award-concept-page .home-concept-intro .eyebrow{
  grid-column:1 / -1 !important;
}
body.home-award-concept-page .home-concept-intro h1{
  margin:0 !important;
  max-width:860px !important;
  font-family:var(--sans) !important;
  font-size:clamp(38px,5.1vw,76px) !important;
  line-height:.98 !important;
  font-weight:430 !important;
  letter-spacing:-.055em !important;
  color:var(--cream) !important;
  text-wrap:balance !important;
}
body.home-award-concept-page .home-concept-intro p{
  margin:0 !important;
  max-width:430px !important;
  color:rgba(247,242,232,.72) !important;
  font-size:15.5px !important;
  line-height:1.58 !important;
}
body.home-award-concept-page .home-concept-intro .button-row{
  grid-column:2 !important;
  margin-top:20px !important;
}
body.home-award-concept-page .btn{
  box-shadow:none !important;
  border-color:rgba(247,242,232,.18) !important;
  background:transparent !important;
}
body.home-award-concept-page .btn.primary{
  background:var(--cream) !important;
  border-color:var(--cream) !important;
  color:#123246 !important;
}
body.home-award-concept-page .home-concept-work{
  padding:90px 0 104px !important;
  background:#102f42 !important;
}
body.home-award-concept-page .selected-head{
  margin-bottom:30px !important;
}
body.home-award-concept-page .selected-head h2{
  max-width:820px !important;
  font-size:clamp(27px,3vw,46px) !important;
  line-height:1.05 !important;
}
body.home-award-concept-page .home-concept-sequence{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}
body.home-award-concept-page .home-feature{
  position:relative !important;
  display:block !important;
  min-height:460px !important;
  overflow:hidden !important;
  border:1px solid rgba(247,242,232,.12) !important;
  background:#071923 !important;
  color:var(--cream) !important;
  text-decoration:none !important;
}
body.home-award-concept-page .home-feature-wide{
  grid-column:1 / -1 !important;
  min-height:560px !important;
}
body.home-award-concept-page .home-feature img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:saturate(.94) contrast(1.02) !important;
  transition:transform .7s ease, filter .7s ease !important;
}
body.home-award-concept-page .home-feature:hover img{
  transform:scale(1.022) !important;
  filter:saturate(1) contrast(1.04) !important;
}
body.home-award-concept-page .home-feature:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.76) 100%) !important;
  pointer-events:none !important;
}
body.home-award-concept-page .home-feature div{
  position:absolute !important;
  left:28px !important;
  right:28px !important;
  bottom:26px !important;
  z-index:2 !important;
  max-width:620px !important;
}
body.home-award-concept-page .home-feature span{
  display:block !important;
  margin-bottom:8px !important;
  color:rgba(247,242,232,.70) !important;
  font-size:10px !important;
  letter-spacing:.19em !important;
  text-transform:uppercase !important;
}
body.home-award-concept-page .home-feature h3{
  margin:0 !important;
  max-width:680px !important;
  font-family:var(--sans) !important;
  font-weight:440 !important;
  font-size:clamp(24px,3vw,44px) !important;
  line-height:1.03 !important;
  letter-spacing:-.04em !important;
  color:#fff !important;
}
body.home-award-concept-page .home-feature:not(.home-feature-wide) h3{
  font-size:clamp(22px,2.15vw,34px) !important;
}
body.home-award-concept-page .home-feature-wide img{object-position:center 48% !important;}
body.home-award-concept-page .home-feature:nth-child(2) img{object-position:center 54% !important;}
body.home-award-concept-page .home-feature:nth-child(3) img{object-position:center 58% !important;}
body.home-award-concept-page .home-feature-urban img{object-position:center 44% !important;}
body.home-award-concept-page .home-concept-proof{
  padding:24px 0 !important;
  background:rgba(226,236,240,.028) !important;
}
@media(max-width:900px){
  body.home-award-concept-page .home-concept-intro-inner{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  body.home-award-concept-page .home-concept-intro .button-row{
    grid-column:auto !important;
  }
  body.home-award-concept-page .home-concept-sequence{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  body.home-award-concept-page .home-feature,
  body.home-award-concept-page .home-feature-wide{
    grid-column:auto !important;
    min-height:430px !important;
  }
}
@media(max-width:720px){
  body.home-award-concept-page .nav{min-height:60px !important;}
  body.home-award-concept-page .home-concept-cover .hero-media{
    aspect-ratio:4/4.8 !important;
  }
  body.home-award-concept-page .home-concept-cover img{
    object-position:center 48% !important;
  }
  body.home-award-concept-page .hero-caption{display:none !important;}
  body.home-award-concept-page .home-concept-intro{
    padding:34px 0 48px !important;
  }
  body.home-award-concept-page .home-concept-intro-inner{
    margin-left:28px !important;
    margin-right:28px !important;
    width:auto !important;
    max-width:none !important;
  }
  body.home-award-concept-page .home-concept-intro h1{
    font-size:clamp(33px,10vw,45px) !important;
    line-height:1 !important;
  }
  body.home-award-concept-page .home-concept-intro p{
    font-size:14.5px !important;
  }
  body.home-award-concept-page .home-concept-work{
    padding:64px 0 72px !important;
  }
  body.home-award-concept-page .selected-head h2{
    font-size:clamp(26px,8vw,36px) !important;
    line-height:1.08 !important;
  }
  body.home-award-concept-page .home-feature,
  body.home-award-concept-page .home-feature-wide{
    min-height:360px !important;
  }
  body.home-award-concept-page .home-feature div{
    left:20px !important;
    right:20px !important;
    bottom:20px !important;
  }
  body.home-award-concept-page .home-feature h3,
  body.home-award-concept-page .home-feature:not(.home-feature-wide) h3{
    font-size:24px !important;
    line-height:1.06 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.home-award-concept-page .home-concept-cover .hero-media{
    aspect-ratio:16/6.9 !important;
  }
  body.home-award-concept-page .home-concept-intro{
    padding:30px 0 44px !important;
  }
  body.home-award-concept-page .home-concept-intro h1{
    font-size:clamp(32px,6vw,52px) !important;
  }
  body.home-award-concept-page .home-feature,
  body.home-award-concept-page .home-feature-wide{
    min-height:360px !important;
  }
}

/* 2026-07-27 homepage opening title quieting — match Reviews title scale; do not change sitewide title contract. */
body.home-page:not(.home-award-concept-page) main .studio-opening h1{
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
}
@media(max-width:720px){
  body.home-page:not(.home-award-concept-page) main .studio-opening h1{
    font-size:26px !important;
    line-height:1.15 !important;
  }
}
@media(orientation:landscape) and (max-width:1024px) and (max-height:600px){
  body.home-page:not(.home-award-concept-page) main .studio-opening h1{
    font-size:26px !important;
    line-height:1.15 !important;
  }
}

/* 2026-07-27 SITEWIDE TITLE SCALE LOCK — Stephen approved Reviews/home title size as the default for SFP big titles.
   Start all future SFP page title builds here unless Stephen explicitly changes the standard. */
body:not(.home-award-concept-page) main h1,
body:not(.home-award-concept-page) main .page-title,
body:not(.home-award-concept-page) main .hero h1,
body:not(.home-award-concept-page) main .hero-copy h1,
body:not(.home-award-concept-page) main .studio-opening h1,
body:not(.home-award-concept-page) main .case-intro h1,
body:not(.home-award-concept-page) main .case-intro-grid h1,
body:not(.home-award-concept-page) main .case-intro-compact h1,
body:not(.home-award-concept-page) main .contact-editorial-grid h1,
body:not(.home-award-concept-page) main .client-notes-intro h1,
body:not(.home-award-concept-page) main .about-feature-grid h1,
body:not(.home-award-concept-page) main .about-feature-copy h1{
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
}
@media(max-width:720px){
  body:not(.home-award-concept-page) main h1,
  body:not(.home-award-concept-page) main .page-title,
  body:not(.home-award-concept-page) main .hero h1,
  body:not(.home-award-concept-page) main .hero-copy h1,
  body:not(.home-award-concept-page) main .studio-opening h1,
  body:not(.home-award-concept-page) main .case-intro h1,
  body:not(.home-award-concept-page) main .case-intro-grid h1,
  body:not(.home-award-concept-page) main .case-intro-compact h1,
  body:not(.home-award-concept-page) main .contact-editorial-grid h1,
  body:not(.home-award-concept-page) main .client-notes-intro h1,
  body:not(.home-award-concept-page) main .about-feature-grid h1,
  body:not(.home-award-concept-page) main .about-feature-copy h1{
    font-size:26px !important;
    line-height:1.15 !important;
    letter-spacing:-.035em !important;
  }
}

/* 2026-07-27 SITEWIDE TITLE SCALE LOCK — specificity reinforcement for bespoke SFP templates.
   Keeps top-level service pages, case studies, and About on the approved Reviews/home title size. */
html body.site-subpage.top-level-template-page main section.case-intro.case-intro-compact .case-intro-grid h1,
html body.site-subpage.case-study-page main section.case-intro.case-intro-compact .case-intro-grid h1,
html body.site-subpage.case-study-page main section.case-intro .case-intro-grid h1,
html body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid .about-feature-copy h1,
html body.about-page.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid h1,
html body:not(.home-award-concept-page) main section.page-intro h1,
html body:not(.home-award-concept-page) main section.contact-hero h1,
html body:not(.home-award-concept-page) main section.client-notes-intro h1{
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
}
@media(max-width:720px){
  html body.site-subpage.top-level-template-page main section.case-intro.case-intro-compact .case-intro-grid h1,
  html body.site-subpage.case-study-page main section.case-intro.case-intro-compact .case-intro-grid h1,
  html body.site-subpage.case-study-page main section.case-intro .case-intro-grid h1,
  html body.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid .about-feature-copy h1,
  html body.about-page.editorial-about-page main > section.about-editorial-feature-primary .about-feature-grid h1,
  html body:not(.home-award-concept-page) main section.page-intro h1,
  html body:not(.home-award-concept-page) main section.contact-hero h1,
  html body:not(.home-award-concept-page) main section.client-notes-intro h1{
    font-size:26px !important;
    line-height:1.15 !important;
    letter-spacing:-.035em !important;
  }
}

/* 2026-07-28 Cagan strategy fallback for cached iPhone Home Screen app shells */
.cagan-case-study .case-visual-strategy{
  background:#071b25;
  color:rgba(247,242,232,.84);
  margin:0;
  padding:0 !important;
}
.cagan-case-study .case-visual-strategy .wrap{
  display:block;
  padding-top:28px;
  padding-bottom:0;
}
.cagan-case-study .visual-kicker{
  margin:0 0 8px;
  color:#d6b06a;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:800;
  text-align:center;
}
.cagan-case-study .case-visual-strategy h2{
  margin:0 auto;
  color:#fff;
  font-family:var(--sans) !important;
  font-weight:430 !important;
  font-size:clamp(26px,2.35vw,34px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  max-width:980px;
  text-align:center;
}
.cagan-case-study .visual-copy{
  margin:18px auto 0;
  color:rgba(247,242,232,.8);
  font-size:14.4px;
  line-height:1.56;
  max-width:1220px;
  text-align:center;
  text-wrap:balance;
}
.cagan-case-study .visual-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin:22px auto 0;
  max-width:1220px;
  text-align:center;
}
.cagan-case-study .visual-meta dt{
  margin:0 0 7px;
  color:#d6b06a;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.68rem;
  font-weight:800;
}
.cagan-case-study .visual-meta dd{
  margin:0;
  color:rgba(247,242,232,.82);
  font-size:13.2px;
  line-height:1.38;
  white-space:nowrap;
}
.cagan-case-study .case-visual-strategy + .case-gallery{padding-top:28px !important;}
@media(max-width:900px){
  .cagan-case-study .case-visual-strategy .wrap{
    width:calc(100vw - 64px) !important;
    max-width:calc(100vw - 64px) !important;
    margin-left:32px !important;
    margin-right:32px !important;
    padding-top:20px;
    padding-bottom:0;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  .cagan-case-study .case-visual-strategy h2,
  .cagan-case-study .visual-copy,
  .cagan-case-study .visual-meta,
  .cagan-case-study .visual-meta > *,
  .cagan-case-study .visual-meta dd{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
  .cagan-case-study .case-visual-strategy h2{
    font-size:26px !important;
    line-height:1.15 !important;
    letter-spacing:-.035em !important;
  }
  .cagan-case-study .visual-copy{
    font-size:.94rem;
    line-height:1.52;
    text-align:left;
    margin-top:14px;
  }
  .cagan-case-study .visual-meta{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:16px 0 0;
    text-align:left !important;
  }
  .cagan-case-study .case-visual-strategy + .case-gallery{padding-top:20px !important;}
}
@media(max-width:520px) and (orientation:portrait){
  .cagan-case-study .case-visual-strategy .wrap{
    width:calc(100vw - 88px) !important;
    max-width:calc(100vw - 88px) !important;
    margin-left:44px !important;
    margin-right:44px !important;
  }
}

/* 2026-07-28 mobile portrait lightbox backplate — restrained gallery-wall treatment */
@media(max-width:720px) and (orientation:portrait){
  .portfolio-lightbox{
    isolation:isolate !important;
    background:#061620 !important;
  }
  .portfolio-lightbox::before{
    content:"";
    position:absolute;
    inset:-18px;
    z-index:0;
    background-image:linear-gradient(rgba(6,22,32,.52),rgba(6,22,32,.62)),var(--portfolio-lightbox-backplate);
    background-size:cover;
    background-position:center;
    filter:blur(24px) saturate(.82) contrast(.92);
    transform:scale(1.08);
    opacity:.78;
    pointer-events:none;
  }
  .portfolio-lightbox::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:radial-gradient(circle at 50% 48%,rgba(247,242,232,.07),transparent 42%),linear-gradient(180deg,rgba(6,22,32,.44),rgba(6,22,32,.22) 44%,rgba(6,22,32,.62));
    pointer-events:none;
  }
  .portfolio-lightbox-figure,
  .portfolio-lightbox-stage,
  .portfolio-lightbox-close,
  .portfolio-lightbox-nav,
  .portfolio-lightbox-count{
    position:relative !important;
    z-index:2 !important;
  }
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    max-width:100vw !important;
    max-width:100dvw !important;
    max-height:82vh !important;
    max-height:82dvh !important;
    box-shadow:0 18px 46px rgba(0,0,0,.28) !important;
  }
  .portfolio-lightbox-nav{
    width:34px !important;
    height:52px !important;
    font-size:29px !important;
    color:rgba(247,242,232,.82) !important;
    background:rgba(6,22,32,.34) !important;
  }
  .portfolio-lightbox-prev{
    left:calc(env(safe-area-inset-left,0px) + 8px) !important;
  }
  .portfolio-lightbox-next{
    right:calc(env(safe-area-inset-right,0px) + 8px) !important;
  }
  .portfolio-lightbox-count{
    color:rgba(247,242,232,.78) !important;
    background:rgba(6,22,32,.52) !important;
  }
}

/* 2026-07-28 mobile portrait lightbox control correction */
@media(max-width:720px) and (orientation:portrait){
  .portfolio-lightbox-figure,
  .portfolio-lightbox-stage{
    position:relative !important;
    z-index:2 !important;
  }
  .portfolio-lightbox-close,
  .portfolio-lightbox-nav,
  .portfolio-lightbox-count{
    position:fixed !important;
    z-index:3 !important;
  }
  .portfolio-lightbox-close{
    width:38px !important;
    height:38px !important;
    font-size:25px !important;
    top:calc(env(safe-area-inset-top,0px) + 12px) !important;
    right:calc(env(safe-area-inset-right,0px) + 12px) !important;
  }
  .portfolio-lightbox-stage .portfolio-lightbox-image{
    margin:auto !important;
  }
}

/* 2026-07-28 mobile lightbox navigation simplification — swipe-first phone viewer */
@media(max-width:950px){
  .portfolio-lightbox-prev,
  .portfolio-lightbox-next{
    display:none !important;
  }
}

/* 2026-07-28 Cagan case-study hero caption lock — keep label visibly over image, not reading as detached blue band */
body.cagan-case-polish .case-hero-caption{
  bottom:clamp(42px,5.4vw,68px) !important;
  padding-top:12px !important;
  border-top-color:rgba(247,242,232,.52) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.76) !important;
}
@media(max-width:720px){
  body.cagan-case-polish .case-hero-caption{
    bottom:28px !important;
  }
}

/* 2026-07-28 Cagan hero caption template correction — follow approved homepage overlay construction */
body.cagan-case-polish .case-hero-media{
  position:relative !important;
  overflow:hidden !important;
}
body.cagan-case-polish .case-hero-media img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
}
body.cagan-case-polish .case-hero-caption{
  bottom:28px !important;
  padding-top:16px !important;
  border-top-color:rgba(247,242,232,.46) !important;
  background:transparent !important;
  text-shadow:0 2px 8px rgba(0,0,0,.68) !important;
}
body.cagan-case-polish .case-hero-media:after{
  background:linear-gradient(0deg,rgba(6,18,26,.38),rgba(6,18,26,.18) 10%,rgba(6,18,26,0) 24%) !important;
}
@media(max-width:720px){
  body.cagan-case-polish .case-hero-caption{
    bottom:28px !important;
  }
}

/* 2026-07-28 shared final case-study polish layer — Cagan template generalized for remaining case studies */
body.case-study-polish .case-hero-media{
  position:relative !important;
  overflow:hidden !important;
  min-height:min(78vh,880px);
}
body.case-study-polish .case-hero-media img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  filter:saturate(1.03) contrast(1.03);
}
body.case-study-polish .case-hero-caption{
  bottom:28px !important;
  padding-top:16px !important;
  border-top-color:rgba(247,242,232,.46) !important;
  background:transparent !important;
  text-shadow:0 2px 8px rgba(0,0,0,.68) !important;
}
body.case-study-polish .case-hero-media:after{
  background:linear-gradient(0deg,rgba(6,18,26,.38),rgba(6,18,26,.18) 10%,rgba(6,18,26,0) 24%) !important;
}
body.case-study-polish .case-intro-compact{background:linear-gradient(135deg,#173b4b 0%,#1e5062 100%);}
body.case-study-polish .case-intro-grid{align-items:end;}
body.case-study-polish .case-intro-grid > *,
body.case-study-polish .case-intro p{min-width:0;}
body.case-study-polish .case-intro p{max-width:560px !important;font-size:14px !important;line-height:1.58 !important;text-align:left;margin-left:0 !important;}
body.case-study-polish main > section.case-visual-strategy{background:#071b25;color:rgba(247,242,232,.84);margin:0;padding:0 !important;}
body.case-study-polish .case-visual-strategy .wrap{display:block;padding-top:28px;padding-bottom:0;}
body.case-study-polish .visual-kicker{margin:0 0 8px;color:#d6b06a;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:800;text-align:center;}
body.case-study-polish .case-visual-strategy h2{margin:0 auto;color:#fff;font-family:var(--sans) !important;font-weight:430 !important;font-size:clamp(26px,2.35vw,34px) !important;line-height:1.15 !important;letter-spacing:-.035em !important;max-width:980px;text-align:center;}
body.case-study-polish .visual-copy{margin:18px auto 0;color:rgba(247,242,232,.8);font-size:14.4px;line-height:1.56;max-width:980px;text-align:center;text-wrap:balance;}
body.case-study-polish .visual-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:22px auto 0;max-width:1220px;text-align:center;}
body.case-study-polish .visual-meta dt{margin:0 0 7px;color:#d6b06a;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800;}
body.case-study-polish .visual-meta dd{margin:0;color:rgba(247,242,232,.82);font-size:13.2px;line-height:1.38;white-space:nowrap;}
body.case-study-polish .case-visual-strategy + .case-gallery{padding-top:28px !important;}
body.case-study-polish .cta h2{letter-spacing:-.035em;}
@media(min-width:761px){
  body.case-study-polish .case-intro.case-intro-compact .case-intro-grid{grid-template-columns:minmax(0,.95fr) minmax(320px,.62fr) !important;justify-content:stretch !important;}
  body.case-study-polish .case-intro.case-intro-compact h1{white-space:nowrap !important;}
  html body.case-study-polish main section.case-intro.case-intro-compact .case-intro-grid p{max-width:560px !important;width:auto !important;text-align:left !important;margin-left:0 !important;}
}
@media(min-width:901px){
  html body.case-study-polish main section.cta .cta-box{grid-template-columns:minmax(0,1fr) auto !important;column-gap:48px !important;}
  html body.case-study-polish main section.cta .cta-box > div,
  html body.case-study-polish main section.cta .cta-box p{max-width:860px !important;}
}
@media(max-width:900px){
  html body.case-study-polish main section.case-intro.case-intro-compact .wrap.case-intro-grid,
  html body.case-study-polish main section.case-visual-strategy .wrap{width:calc(100vw - 64px) !important;max-width:calc(100vw - 64px) !important;margin-left:32px !important;margin-right:32px !important;padding-left:0 !important;padding-right:0 !important;box-sizing:border-box !important;}
  html body.case-study-polish main section.case-intro.case-intro-compact .case-intro-grid > *,
  html body.case-study-polish main section.case-intro.case-intro-compact p,
  html body.case-study-polish main section.case-visual-strategy h2,
  html body.case-study-polish main section.case-visual-strategy .visual-copy,
  html body.case-study-polish main section.case-visual-strategy .visual-meta,
  html body.case-study-polish main section.case-visual-strategy .visual-meta > *,
  html body.case-study-polish main section.case-visual-strategy .visual-meta dd{max-width:100% !important;min-width:0 !important;box-sizing:border-box !important;overflow-wrap:break-word !important;}
  html body.case-study-polish main section.case-visual-strategy .visual-meta{grid-template-columns:1fr !important;gap:12px !important;text-align:left !important;}
  html body.case-study-polish main section.case-visual-strategy .visual-meta dd{white-space:normal !important;}
}
@media(max-width:760px){
  body.case-study-polish .case-hero-media{min-height:68vh;}
  body.case-study-polish .case-intro-grid{grid-template-columns:1fr;gap:14px;}
  body.case-study-polish .case-intro p{max-width:none;white-space:normal;overflow:visible;text-align:left;margin-left:0 !important;}
  body.case-study-polish .case-visual-strategy .wrap{display:block !important;width:calc(100vw - 56px) !important;max-width:calc(100vw - 56px) !important;margin-left:28px !important;margin-right:28px !important;padding-top:20px;padding-bottom:0;padding-left:0 !important;padding-right:0 !important;box-sizing:border-box;}
  body.case-study-polish .case-visual-strategy h2{font-size:26px !important;line-height:1.15 !important;letter-spacing:-.035em !important;}
  body.case-study-polish .visual-copy{font-size:.94rem;line-height:1.52;text-align:left;margin-top:14px;}
  body.case-study-polish .visual-meta{grid-template-columns:1fr;gap:12px;margin:16px 0 0;text-align:left;}
  body.case-study-polish .case-visual-strategy + .case-gallery{padding-top:20px !important;}
}
@media(max-width:520px) and (orientation:portrait){
  body.case-study-polish .case-hero-media,
  body.case-study-polish .case-hero-media img{min-height:56vh !important;}
  html body.case-study-polish main section.case-intro.case-intro-compact .wrap.case-intro-grid,
  html body.case-study-polish main section.case-visual-strategy .wrap{width:calc(100vw - 88px) !important;max-width:calc(100vw - 88px) !important;margin-left:44px !important;margin-right:44px !important;}
}
@media(max-width:900px) and (orientation:landscape){
  html body.case-study-polish main section.cta .cta-box{grid-template-columns:1fr !important;justify-items:center !important;text-align:center !important;padding-top:10px !important;gap:12px !important;}
  html body.case-study-polish main section.cta .cta-box > div,
  html body.case-study-polish main section.cta h2,
  html body.case-study-polish main section.cta p{max-width:620px !important;text-align:center !important;}
  html body.case-study-polish main section.cta .btn{justify-self:center !important;}
  html body.case-study-polish footer.footer,
  html body.case-study-polish footer.footer .wrap,
  html body.case-study-polish footer.footer .footer-social{text-align:center !important;justify-content:center !important;}
}

/* 2026-07-28 remaining case-study mobile text containment fix */
@media(max-width:520px){
  html body.case-study-polish main section.case-intro.case-intro-compact .wrap.case-intro-grid,
  html body.case-study-polish main section.case-visual-strategy .wrap{
    width:auto !important;
    max-width:none !important;
    margin-left:28px !important;
    margin-right:28px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body.case-study-polish main section.case-intro.case-intro-compact .case-intro-grid h1,
  html body.case-study-polish main section.case-visual-strategy h2,
  html body.case-study-polish main section.case-visual-strategy .visual-copy,
  html body.case-study-polish main section.case-visual-strategy .visual-meta,
  html body.case-study-polish main section.case-visual-strategy .visual-meta dd{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    box-sizing:border-box !important;
  }
  html body.case-study-polish main section.case-intro.case-intro-compact .case-intro-grid h1{
    font-size:clamp(25px,7.2vw,31px) !important;
    line-height:1.08 !important;
  }
  html body.case-study-polish main section.case-visual-strategy h2{
    font-size:25px !important;
    text-align:center !important;
  }
}

/* 2026-07-28 Work landing page — curated portfolio index, not case-study clone */
.work-landing-page .work-hero{position:relative;min-height:min(78vh,860px);padding:0;overflow:hidden;background:#071b25;}
.work-landing-page .work-hero-media{position:absolute;inset:0;overflow:hidden;}
.work-landing-page .work-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.02);}
.work-landing-page .work-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,20,.48),rgba(3,14,20,.12) 46%,rgba(3,14,20,.18)),linear-gradient(0deg,rgba(6,18,26,.48),rgba(6,18,26,.16) 24%,rgba(6,18,26,0) 54%);}
.work-landing-page .work-hero-caption{position:absolute;left:clamp(24px,4vw,48px);right:clamp(24px,4vw,48px);bottom:28px;z-index:2;border-top:1px solid rgba(247,242,232,.46);padding-top:16px;color:rgba(247,242,232,.92);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.68);}
.work-landing-page .work-opening{padding:34px 0 34px;background:linear-gradient(135deg,#173b4b 0%,#1e5062 100%);}
.work-landing-page .work-opening-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,.65fr);gap:56px;align-items:end;}
.work-landing-page .work-opening h1{margin:0;color:#fff;font-family:var(--sans);font-weight:430;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.045em;max-width:900px;}
.work-landing-page .work-opening-copy{max-width:590px;color:rgba(247,242,232,.84);font-size:14.5px;line-height:1.58;}
.work-landing-page .work-opening-copy p{margin:0;}
.work-landing-page .work-opening-copy p+p{margin-top:12px;}
.work-landing-page .work-opening-note{color:rgba(247,242,232,.64);font-size:13px;}
.work-landing-page .work-featured{padding:42px 0 44px;background:#071b25;}
.work-landing-page .work-section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:24px;}
.work-landing-page .work-section-head h2,.work-landing-page .work-range-copy h2{margin:0;color:#fff;font-family:var(--sans);font-weight:430;font-size:clamp(28px,2.9vw,42px);line-height:1.08;letter-spacing:-.04em;}
.work-landing-page .work-section-head p{margin:0;max-width:520px;color:rgba(247,242,232,.68);font-size:13.5px;line-height:1.52;}
.work-landing-page .work-feature-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.work-landing-page .work-card{position:relative;display:block;grid-column:span 6;min-height:430px;overflow:hidden;background:#102f42;border:1px solid rgba(247,242,232,.10);}
.work-landing-page .work-card-large{grid-column:span 7;min-height:620px;}
.work-landing-page .work-card:nth-child(2){grid-column:span 5;min-height:620px;}
.work-landing-page .work-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.work-landing-page .work-card:hover img{transform:scale(1.025);}
.work-landing-page .work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,18,.82),rgba(3,12,18,.16) 44%,rgba(3,12,18,0));}
.work-landing-page .work-card div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;}
.work-landing-page .work-card span{display:block;margin-bottom:8px;color:#d6b06a;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;}
.work-landing-page .work-card h3{margin:0;font-family:var(--sans);font-weight:520;font-size:clamp(22px,2.2vw,34px);line-height:1.04;letter-spacing:-.035em;}
.work-landing-page .work-card p{margin:10px 0 0;max-width:520px;color:rgba(247,242,232,.78);font-size:13.5px;line-height:1.45;}
.work-landing-page .work-range{padding:42px 0;background:linear-gradient(135deg,#102f42 0%,#173b4b 100%);}
.work-landing-page .work-range-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(420px,1fr);gap:52px;align-items:start;}
.work-landing-page .work-range-copy p{margin:16px 0 0;color:rgba(247,242,232,.72);font-size:14px;line-height:1.58;max-width:620px;}
.work-landing-page .work-range-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(247,242,232,.14);border:1px solid rgba(247,242,232,.14);}
.work-landing-page .work-range-list a{display:block;min-height:150px;padding:22px;background:rgba(7,27,37,.92);}
.work-landing-page .work-range-list strong{display:block;color:#fff;font-size:17px;letter-spacing:-.02em;margin-bottom:8px;}
.work-landing-page .work-range-list span{display:block;color:rgba(247,242,232,.70);font-size:13px;line-height:1.48;}
.work-landing-page .work-strip{padding:0;background:#071b25;}
.work-landing-page .work-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.work-landing-page .work-strip-grid img{width:100%;height:34vw;max-height:430px;min-height:240px;object-fit:cover;filter:saturate(1.02) contrast(1.02);}
.work-landing-page .work-strip-grid img:nth-child(2),.work-landing-page .work-strip-grid img:nth-child(4){margin-top:28px;}
.work-landing-page main>section.cta{padding-top:0;}
@media(max-width:900px){
  .work-landing-page .work-hero{min-height:64vh;}
  .work-landing-page .work-opening{padding:26px 0;}
  .work-landing-page .work-opening-grid,.work-landing-page .work-range-grid{grid-template-columns:1fr;gap:18px;}
  .work-landing-page .work-opening h1{font-size:clamp(30px,8vw,42px);}
  .work-landing-page .work-section-head{display:block;margin-bottom:18px;}
  .work-landing-page .work-section-head p{margin-top:12px;}
  .work-landing-page .work-featured{padding:30px 0 32px;}
  .work-landing-page .work-card,.work-landing-page .work-card-large,.work-landing-page .work-card:nth-child(2){grid-column:span 12;min-height:390px;}
  .work-landing-page .work-range{padding:30px 0;}
  .work-landing-page .work-range-list{grid-template-columns:1fr;}
  .work-landing-page .work-range-list a{min-height:auto;padding:18px;}
  .work-landing-page .work-strip-grid{grid-template-columns:1fr 1fr;}
  .work-landing-page .work-strip-grid img{height:52vw;min-height:190px;}
  .work-landing-page .work-strip-grid img:nth-child(2),.work-landing-page .work-strip-grid img:nth-child(4){margin-top:0;}
}
@media(max-width:520px){
  .work-landing-page .work-hero{min-height:56vh;}
  .work-landing-page .work-hero-caption{left:28px;right:28px;bottom:28px;font-size:9px;letter-spacing:.14em;}
  .work-landing-page .work-opening .wrap,.work-landing-page .work-featured .wrap,.work-landing-page .work-range .wrap{width:calc(100% - 56px);}
  .work-landing-page .work-opening-copy,.work-landing-page .work-card p,.work-landing-page .work-range-copy p,.work-landing-page .work-range-list span{font-size:13.5px;}
  .work-landing-page .work-card,.work-landing-page .work-card-large,.work-landing-page .work-card:nth-child(2){min-height:330px;}
  .work-landing-page .work-card div{left:18px;right:18px;bottom:18px;}
  .work-landing-page .work-card h3{font-size:24px;}
  .work-landing-page .work-strip-grid{grid-template-columns:1fr;}
  .work-landing-page .work-strip-grid img{height:72vw;min-height:240px;}
}

/* 2026-07-28 portfolio gallery system — Work/category pages are curated galleries, not case-study clones */
.portfolio-gallery-page{background:#071b25;color:#f7f2e8;}
.portfolio-gallery-page .portfolio-hero{position:relative;min-height:min(76vh,840px);overflow:hidden;background:#071b25;}
.portfolio-gallery-page .portfolio-hero-media{position:absolute;inset:0;overflow:hidden;}
.portfolio-gallery-page .portfolio-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) contrast(1.03);}
.portfolio-gallery-page .portfolio-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,20,.46),rgba(4,14,20,.06) 48%,rgba(4,14,20,.16)),linear-gradient(0deg,rgba(5,18,25,.54),rgba(5,18,25,.12) 36%,rgba(5,18,25,0));}
.portfolio-gallery-page .portfolio-hero-caption{position:absolute;left:clamp(24px,4vw,48px);right:clamp(24px,4vw,48px);bottom:28px;z-index:2;border-top:1px solid rgba(247,242,232,.46);padding-top:16px;color:rgba(247,242,232,.92);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.68);}
.portfolio-gallery-page .portfolio-opening{background:#071b25;padding:30px 0 28px;}
.portfolio-gallery-page .portfolio-opening .wrap{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:clamp(26px,5vw,72px);align-items:end;}
.portfolio-gallery-page .portfolio-opening h1{margin:0;color:#fff;font-family:var(--sans);font-weight:420;font-size:clamp(38px,7.2vw,112px);line-height:.9;letter-spacing:-.075em;}
.portfolio-gallery-page .portfolio-opening p{margin:0;max-width:780px;color:rgba(247,242,232,.72);font-size:clamp(14px,1.35vw,18px);line-height:1.5;letter-spacing:-.01em;}
.portfolio-gallery-page .category-opening h1{font-size:clamp(36px,5.8vw,86px);}
.portfolio-gallery-page .portfolio-mosaic{background:#071b25;padding:0 0 30px;}
.portfolio-gallery-page .portfolio-mosaic-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:12px;}
.portfolio-gallery-page .portfolio-tile{position:relative;display:block;grid-column:span 4;min-height:360px;overflow:hidden;background:#102f42;border:1px solid rgba(247,242,232,.08);color:#f7f2e8;}
.portfolio-gallery-page .portfolio-tile.tile-large{grid-column:span 7;grid-row:span 2;min-height:720px;}
.portfolio-gallery-page .portfolio-tile.tile-wide{grid-column:span 8;min-height:430px;}
.portfolio-gallery-page .portfolio-tile.tile-tall{grid-column:span 5;grid-row:span 2;min-height:720px;}
.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-large{grid-column:span 7;min-height:680px;}
.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-tall{grid-column:span 5;min-height:680px;}
.portfolio-gallery-page .portfolio-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .85s ease,filter .85s ease;}
.portfolio-gallery-page .portfolio-tile:hover img{transform:scale(1.022);filter:saturate(1.04) contrast(1.04);}
.portfolio-gallery-page .portfolio-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,18,.66),rgba(3,12,18,.08) 42%,rgba(3,12,18,0));opacity:.9;pointer-events:none;}
.portfolio-gallery-page .portfolio-tile span,.portfolio-gallery-page .portfolio-tile figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:rgba(247,242,232,.88);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.portfolio-gallery-page .portfolio-links{background:#071b25;padding:4px 0 30px;}
.portfolio-gallery-page .portfolio-links .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:center;border-top:1px solid rgba(247,242,232,.14);padding-top:22px;}
.portfolio-gallery-page .portfolio-links a{color:rgba(247,242,232,.74);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;}
.portfolio-gallery-page .portfolio-links a:hover{color:#d6b06a;}
.portfolio-gallery-page main>section.cta{padding-top:0;}
@media(max-width:980px){
  .portfolio-gallery-page .portfolio-hero{min-height:62vh;}
  .portfolio-gallery-page .portfolio-opening{padding:24px 0 22px;}
  .portfolio-gallery-page .portfolio-opening .wrap{grid-template-columns:1fr;gap:12px;}
  .portfolio-gallery-page .portfolio-opening h1{font-size:clamp(38px,13vw,72px);}
  .portfolio-gallery-page .portfolio-mosaic-grid{gap:10px;}
  .portfolio-gallery-page .portfolio-tile,.portfolio-gallery-page .portfolio-tile.tile-large,.portfolio-gallery-page .portfolio-tile.tile-wide,.portfolio-gallery-page .portfolio-tile.tile-tall,.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-large,.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-tall{grid-column:span 12;grid-row:auto;min-height:420px;}
  .portfolio-gallery-page .portfolio-mosaic{padding-bottom:24px;}
}
@media(max-width:520px){
  .portfolio-gallery-page .portfolio-hero{min-height:54vh;}
  .portfolio-gallery-page .portfolio-hero-caption{left:28px;right:28px;bottom:28px;font-size:9px;letter-spacing:.14em;}
  .portfolio-gallery-page .portfolio-opening .wrap,.portfolio-gallery-page .portfolio-mosaic .wrap,.portfolio-gallery-page .portfolio-links .wrap{width:calc(100% - 56px);}
  .portfolio-gallery-page .portfolio-opening{padding:22px 0 18px;}
  .portfolio-gallery-page .portfolio-opening p{font-size:13.5px;line-height:1.52;}
  .portfolio-gallery-page .portfolio-tile,.portfolio-gallery-page .portfolio-tile.tile-large,.portfolio-gallery-page .portfolio-tile.tile-wide,.portfolio-gallery-page .portfolio-tile.tile-tall,.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-large,.portfolio-gallery-page .category-mosaic .portfolio-tile.tile-tall{min-height:320px;}
  .portfolio-gallery-page .portfolio-tile span,.portfolio-gallery-page .portfolio-tile figcaption{left:14px;right:14px;bottom:14px;font-size:9px;letter-spacing:.13em;}
  .portfolio-gallery-page .portfolio-links{padding-bottom:24px;}
  .portfolio-gallery-page .portfolio-links .wrap{justify-content:flex-start;gap:9px 16px;}
}

/* 2026-07-28 category portfolio discipline — category pages use a calmer gallery grid than master Work */
.portfolio-gallery-page.category-portfolio-page .portfolio-hero-shade{background:linear-gradient(90deg,rgba(4,14,20,.34),rgba(4,14,20,.05) 50%,rgba(4,14,20,.12)),linear-gradient(0deg,rgba(5,18,25,.42),rgba(5,18,25,.10) 36%,rgba(5,18,25,0));}
.portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile,
.portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-large,
.portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-wide,
.portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-tall{grid-column:span 6;grid-row:auto;min-height:520px;}
.portfolio-gallery-page.residential-portfolio-page .portfolio-hero-shade{background:linear-gradient(90deg,rgba(4,14,20,.24),rgba(4,14,20,.03) 52%,rgba(4,14,20,.10)),linear-gradient(0deg,rgba(5,18,25,.34),rgba(5,18,25,.08) 38%,rgba(5,18,25,0));}
@media(max-width:980px){
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-large,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-wide,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-tall{grid-column:span 12;min-height:420px;}
}
@media(max-width:520px){
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-large,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-wide,
  .portfolio-gallery-page.category-portfolio-page .category-mosaic .portfolio-tile.tile-tall{min-height:320px;}
}

/* 2026-07-28 Work pure gallery correction — tiles open lightbox; navigation is separate */
.work-pure-gallery-page .portfolio-hero-work{min-height:min(72vh,820px);}
.work-pure-gallery-page .portfolio-hero-work .portfolio-hero-media img{object-position:50% 48%;}
.work-pure-gallery-page .work-pure-opening{padding:28px 0 26px;}
.work-pure-gallery-page .work-pure-opening .wrap{grid-template-columns:minmax(160px,.24fr) minmax(0,1fr);}
.work-pure-gallery-page .work-pure-opening h1{font-size:clamp(46px,8vw,120px);}
.work-pure-gallery-page .work-pure-opening p{max-width:820px;}
.work-pure-gallery-page .work-pure-mosaic{padding-bottom:26px;}
.work-pure-gallery-page .work-pure-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:stretch;grid-auto-flow:row;}
.work-pure-gallery-page .work-pure-grid .portfolio-tile{grid-row:auto;min-height:auto;aspect-ratio:4/3;cursor:zoom-in;}
.work-pure-gallery-page .work-pure-grid .tile-lead{grid-column:span 8;aspect-ratio:16/10;}
.work-pure-gallery-page .work-pure-grid .tile-side{grid-column:span 4;aspect-ratio:8/10;}
.work-pure-gallery-page .work-pure-grid .tile-third{grid-column:span 4;aspect-ratio:4/3;}
.work-pure-gallery-page .work-pure-grid .tile-half{grid-column:span 6;aspect-ratio:16/10;}
.work-pure-gallery-page .work-pure-grid .tile-quarter{grid-column:span 3;aspect-ratio:3/4;}
.work-pure-gallery-page .work-pure-grid .portfolio-tile:focus-within{outline:2px solid rgba(214,176,106,.9);outline-offset:3px;}
.work-pure-gallery-page .work-explore-links{padding-top:0;padding-bottom:16px;}
.work-pure-gallery-page .work-story-links{padding-top:0;padding-bottom:30px;}
.work-pure-gallery-page .portfolio-links .wrap{justify-content:flex-start;}
.work-pure-gallery-page .portfolio-links span{color:rgba(247,242,232,.48);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-right:8px;}
.work-pure-gallery-page .work-story-links .wrap{border-top:0;padding-top:0;}
@media(max-width:980px){
  .work-pure-gallery-page .work-pure-opening .wrap{grid-template-columns:1fr;gap:10px;}
  .work-pure-gallery-page .work-pure-grid .portfolio-tile,
  .work-pure-gallery-page .work-pure-grid .tile-lead,
  .work-pure-gallery-page .work-pure-grid .tile-side,
  .work-pure-gallery-page .work-pure-grid .tile-third,
  .work-pure-gallery-page .work-pure-grid .tile-half,
  .work-pure-gallery-page .work-pure-grid .tile-quarter{grid-column:span 12;aspect-ratio:4/3;min-height:0;}
}
@media(max-width:520px){
  .work-pure-gallery-page .portfolio-hero-work{min-height:52vh;}
  .work-pure-gallery-page .work-pure-opening{padding:22px 0 18px;}
  .work-pure-gallery-page .portfolio-links .wrap{gap:8px 14px;}
  .work-pure-gallery-page .portfolio-links span{flex-basis:100%;}
}

/* 2026-07-28 Work pure gallery phone-landscape correction */
@media(max-width:980px) and (orientation:landscape){
  .work-pure-gallery-page .work-pure-grid .portfolio-tile,
  .work-pure-gallery-page .work-pure-grid .tile-third,
  .work-pure-gallery-page .work-pure-grid .tile-quarter{grid-column:span 6;aspect-ratio:4/3;}
  .work-pure-gallery-page .work-pure-grid .tile-lead,
  .work-pure-gallery-page .work-pure-grid .tile-side,
  .work-pure-gallery-page .work-pure-grid .tile-half{grid-column:span 6;aspect-ratio:4/3;}
}

/* 2026-07-28 Work pure gallery polish — header does not cover gallery content */
.work-pure-gallery-page .site-header{position:absolute;}
.work-pure-gallery-page .work-pure-grid .portfolio-tile figcaption{font-size:10px;letter-spacing:.11em;text-transform:none;font-weight:650;color:rgba(247,242,232,.86);}
.work-pure-gallery-page .work-pure-grid .portfolio-tile:after{background:linear-gradient(0deg,rgba(3,12,18,.50),rgba(3,12,18,.04) 38%,rgba(3,12,18,0));}

/* 2026-07-28 category pure gallery correction — category images are galleries, not mixed navigation */
.category-pure-gallery-page .site-header{position:absolute;}
.category-pure-gallery-page .category-pure-mosaic{padding-bottom:26px;}
.category-pure-gallery-page .category-pure-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;align-items:stretch;grid-auto-flow:row;}
.category-pure-gallery-page .category-pure-grid .portfolio-tile{grid-row:auto;min-height:auto;aspect-ratio:4/3;cursor:zoom-in;}
.category-pure-gallery-page .category-pure-grid .tile-lead{grid-column:span 8;aspect-ratio:16/10;}
.category-pure-gallery-page .category-pure-grid .tile-side{grid-column:span 4;aspect-ratio:8/10;}
.category-pure-gallery-page .category-pure-grid .tile-third{grid-column:span 4;aspect-ratio:4/3;}
.category-pure-gallery-page .category-pure-grid .tile-half{grid-column:span 6;aspect-ratio:16/10;}
.category-pure-gallery-page .category-pure-grid .tile-quarter{grid-column:span 3;aspect-ratio:3/4;}
.category-pure-gallery-page .category-pure-grid .portfolio-tile figcaption{font-size:10px;letter-spacing:.11em;text-transform:none;font-weight:650;color:rgba(247,242,232,.86);}
.category-pure-gallery-page .category-pure-grid .portfolio-tile:after{background:linear-gradient(0deg,rgba(3,12,18,.50),rgba(3,12,18,.04) 38%,rgba(3,12,18,0));}
.category-pure-gallery-page .category-explore-links{padding-top:0;padding-bottom:16px;}
.category-pure-gallery-page .category-story-links{padding-top:0;padding-bottom:30px;}
.category-pure-gallery-page .portfolio-links .wrap{justify-content:flex-start;}
.category-pure-gallery-page .portfolio-links span{color:rgba(247,242,232,.48);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-right:8px;}
.category-pure-gallery-page .category-story-links .wrap{border-top:0;padding-top:0;}
@media(max-width:980px){
  .category-pure-gallery-page .category-pure-grid .portfolio-tile,
  .category-pure-gallery-page .category-pure-grid .tile-lead,
  .category-pure-gallery-page .category-pure-grid .tile-side,
  .category-pure-gallery-page .category-pure-grid .tile-third,
  .category-pure-gallery-page .category-pure-grid .tile-half,
  .category-pure-gallery-page .category-pure-grid .tile-quarter{grid-column:span 12;aspect-ratio:4/3;min-height:0;}
}
@media(max-width:980px) and (orientation:landscape){
  .category-pure-gallery-page .category-pure-grid .portfolio-tile,
  .category-pure-gallery-page .category-pure-grid .tile-lead,
  .category-pure-gallery-page .category-pure-grid .tile-side,
  .category-pure-gallery-page .category-pure-grid .tile-third,
  .category-pure-gallery-page .category-pure-grid .tile-half,
  .category-pure-gallery-page .category-pure-grid .tile-quarter{grid-column:span 6;aspect-ratio:4/3;}
}
@media(max-width:520px){
  .category-pure-gallery-page .portfolio-links .wrap{gap:8px 14px;}
  .category-pure-gallery-page .portfolio-links span{flex-basis:100%;}
}

/* 2026-07-28 portfolio rhythm pages — use approved case-study gallery rhythm without case-study wording */
.portfolio-rhythm-page .case-back{display:inline-block;color:#d6b06a;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:800;margin-bottom:4px;}
.portfolio-rhythm-page .portfolio-rhythm-intro{background:#113348!important;padding:0!important;}
.portfolio-rhythm-page .portfolio-rhythm-intro .case-intro-grid{align-items:end;padding-top:15px!important;padding-bottom:15px!important;}
.portfolio-rhythm-page .portfolio-rhythm-intro h1{font-family:var(--sans)!important;font-weight:430!important;letter-spacing:-.045em!important;margin-bottom:0!important;}
.portfolio-rhythm-page .portfolio-rhythm-intro p{font-size:14px!important;line-height:1.58!important;color:rgba(247,242,232,.84)!important;max-width:680px!important;margin:0!important;}
.portfolio-rhythm-page .portfolio-rhythm-intro + .portfolio-rhythm-gallery{padding-top:16px!important;}
@media(max-width:720px){
  .portfolio-rhythm-page .portfolio-rhythm-intro .case-intro-grid{padding-top:14px!important;padding-bottom:14px!important;gap:14px!important;}
  .portfolio-rhythm-page .portfolio-rhythm-intro + .portfolio-rhythm-gallery{padding-top:12px!important;}
}
.portfolio-rhythm-page .portfolio-rhythm-gallery .case-frame{cursor:zoom-in;}
.portfolio-rhythm-page .portfolio-rhythm-gallery .case-frame img{filter:saturate(1.01) contrast(1.02);}
.portfolio-rhythm-page .portfolio-rhythm-links{background:#071923;padding:0 0 28px;}
.portfolio-rhythm-page .portfolio-rhythm-links .wrap{display:grid;gap:14px;border-top:1px solid rgba(247,242,232,.14);padding-top:18px;}
.portfolio-rhythm-page .portfolio-rhythm-links div{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;}
.portfolio-rhythm-page .portfolio-rhythm-links span{color:rgba(247,242,232,.48);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-right:6px;}
.portfolio-rhythm-page .portfolio-rhythm-links a{color:rgba(247,242,232,.76);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.portfolio-rhythm-page .portfolio-rhythm-links a:hover{color:#d6b06a;}
.portfolio-rhythm-page main>section.cta{padding-top:0;}
@media(min-width:761px){
  .portfolio-rhythm-page .portfolio-rhythm-intro .case-intro-grid{grid-template-columns:minmax(0,.62fr) minmax(320px,.72fr)!important;}
}
@media(max-width:720px){
  .portfolio-rhythm-page .portfolio-rhythm-links .wrap{width:calc(100% - 56px);}
  .portfolio-rhythm-page .portfolio-rhythm-links div{gap:8px 14px;}
  .portfolio-rhythm-page .portfolio-rhythm-links span{flex-basis:100%;}
}

/* 2026-07-28 portfolio rhythm caption lock — follow approved 28px/16px hero caption geometry */
.portfolio-rhythm-page .case-hero-caption{bottom:28px!important;padding-top:16px!important;}

/* 2026-07-28 portfolio rhythm header behavior — do not cover gallery/intro while scrolling */
.portfolio-rhythm-page .site-header{position:absolute;}
.portfolio-rhythm-page .portfolio-rhythm-intro,
.portfolio-rhythm-page .portfolio-rhythm-gallery{scroll-margin-top:96px;}

/* 2026-08-04 homepage portrait opening alignment — Stephen-approved. */
@media (orientation: portrait) and (max-width: 720px){
  body.home-page main section.studio-opening .wrap.studio-opening-grid{
    text-align:center !important;
    justify-items:center !important;
  }
  body.home-page main section.studio-opening .studio-opening-grid > div,
  body.home-page main section.studio-opening .eyebrow,
  body.home-page main section.studio-opening h1,
  body.home-page main section.studio-opening .opening-copy,
  body.home-page main section.studio-opening .opening-copy p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.home-page main section.studio-opening h1{
    max-width:660px !important;
    text-wrap:balance !important;
  }
  body.home-page main section.studio-opening .opening-copy p{
    max-width:340px !important;
    text-wrap:balance !important;
  }
  body.home-page main section.studio-opening .opening-copy .button-row{
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* 2026-08-04 LOCKED MOBILE TEMPLATES
   Homepage portrait opening and Cagan-derived case-study mobile layout are source-of-truth templates.
   Do not change without Stephen approval + phone portrait/landscape verification. */
@media (orientation: portrait) and (max-width: 720px){
  body.home-page main section.studio-opening .wrap.studio-opening-grid{
    text-align:center !important;
    justify-items:center !important;
  }
  body.home-page main section.studio-opening .studio-opening-grid > div,
  body.home-page main section.studio-opening .eyebrow,
  body.home-page main section.studio-opening h1,
  body.home-page main section.studio-opening .opening-copy,
  body.home-page main section.studio-opening .opening-copy p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.home-page main section.studio-opening h1{
    max-width:660px !important;
    text-wrap:balance !important;
  }
  body.home-page main section.studio-opening .opening-copy p{
    max-width:340px !important;
    text-wrap:balance !important;
  }
  body.home-page main section.studio-opening .opening-copy .button-row{
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (orientation: landscape) and (max-width: 950px) and (max-height: 540px){
  body.case-study-page .case-hero-media,
  body.case-study-page .case-hero-media img{
    min-height:clamp(390px,106vh,430px) !important;
  }
  body.case-study-page .case-hero-media img{
    object-position:center center !important;
  }
}

@media (max-width: 900px){
  body.case-study-page main section.case-intro.case-intro-compact .wrap.case-intro-grid{
    text-align:center !important;
    justify-items:center !important;
  }
  body.case-study-page main section.case-intro.case-intro-compact .case-back,
  body.case-study-page main section.case-intro.case-intro-compact h1,
  body.case-study-page main section.case-intro.case-intro-compact p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.case-study-page main section.case-intro.case-intro-compact p{
    max-width:680px !important;
  }
  body.case-study-page main section.case-visual-strategy .wrap{
    width:calc(100vw - 56px) !important;
    max-width:680px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body.case-study-page main section.case-visual-strategy .visual-kicker,
  body.case-study-page main section.case-visual-strategy h2,
  body.case-study-page main section.case-visual-strategy .visual-copy,
  body.case-study-page main section.case-visual-strategy .visual-meta,
  body.case-study-page main section.case-visual-strategy .visual-meta dt,
  body.case-study-page main section.case-visual-strategy .visual-meta dd{
    text-align:center !important;
  }
  body.case-study-page main section.case-visual-strategy .visual-meta{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  body.case-study-page main section.case-visual-strategy .visual-meta dd{
    white-space:normal !important;
  }
}

@media (max-width: 520px) and (orientation: portrait){
  body.case-study-page main section.case-intro.case-intro-compact .wrap.case-intro-grid{
    width:calc(100vw - 48px) !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:24px !important;
    margin-right:24px !important;
  }
  body.case-study-page main section.case-intro.case-intro-compact h1{
    font-size:clamp(22px,6vw,23.5px) !important;
    line-height:1.08 !important;
    letter-spacing:-.04em !important;
    white-space:nowrap !important;
  }
  body.case-study-page main section.case-intro.case-intro-compact p{
    font-size:13.5px !important;
    line-height:1.5 !important;
    max-width:330px !important;
  }
}


/* 2026-08-06 Stephen-approved Motion gallery text-card correction.
   The “Motion should support the photographs” card is a gallery copy card, not a hero/CTA/footer slab. */
.video-template-page .case-grid .template-copy-card,
.video-template-page .case-grid .template-copy-card:nth-child(1),
.video-template-page .case-grid .template-copy-card:nth-child(6),
.video-template-page .case-grid .template-copy-card:nth-child(11){
  background:var(--sfp-page-bg, #0d2838) !important;
  min-height:0 !important;
  padding:16px 0 !important;
}
.video-template-page .case-grid .template-copy-card div{
  max-width:720px !important;
}
.video-template-page .case-grid .template-copy-card strong{
  margin-bottom:8px !important;
}
@media(max-width:720px){
  .video-template-page .case-grid .template-copy-card,
  .video-template-page .case-grid .template-copy-card:nth-child(1),
  .video-template-page .case-grid .template-copy-card:nth-child(6),
  .video-template-page .case-grid .template-copy-card:nth-child(11){
    padding:12px 0 !important;
    min-height:0 !important;
  }
}

/* 2026-08-06 Stephen-approved Motion copy-card image-gap tightening.
   Reduce only the space between the gallery images and the “Motion should support…” card. */
.video-template-page .case-grid .template-copy-card:nth-child(6){
  padding-top:4px !important;
}
@media(max-width:720px){
  .video-template-page .case-grid .template-copy-card:nth-child(6){
    padding-top:4px !important;
  }
}


/* 2026-08-06 category portfolio gallery-to-CTA rhythm.
   Category portfolios no longer use the Explore/link scaffold; gallery needs approved breathing room before CTA/footer. */
.category-rhythm-page .portfolio-rhythm-gallery{
  padding-bottom:28px !important;
}
@media (max-width:720px) and (orientation:portrait){
  .category-rhythm-page .portfolio-rhythm-gallery{
    padding-bottom:20px !important;
  }
}
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .category-rhythm-page .portfolio-rhythm-gallery{
    padding-bottom:14px !important;
  }
}

/* 2026-08-06 Work portfolio gallery-to-CTA rhythm.
   Work no longer uses the Explore/link scaffold; gallery needs approved breathing room before CTA/footer. */
.work-rhythm-page .portfolio-rhythm-gallery{
  padding-bottom:28px !important;
}
@media (max-width:720px) and (orientation:portrait){
  .work-rhythm-page .portfolio-rhythm-gallery{
    padding-bottom:20px !important;
  }
}
@media (orientation:landscape) and (max-width:950px) and (max-height:540px){
  .work-rhythm-page .portfolio-rhythm-gallery{
    padding-bottom:14px !important;
  }
}

/* 2026-08-06 Stephen-approved Motion centered copy treatment.
   Motion is a concept/video page: center the title banner and gallery copy statement without changing case-study templates. */
.video-template-page .case-intro.case-intro-compact .wrap.case-intro-grid{
  grid-template-columns:1fr !important;
  justify-items:center !important;
  text-align:center !important;
  gap:10px !important;
}
.video-template-page .case-intro.case-intro-compact .case-intro-grid > div,
.video-template-page .case-intro.case-intro-compact .case-back,
.video-template-page .case-intro.case-intro-compact h1,
.video-template-page .case-intro.case-intro-compact p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.video-template-page .case-intro.case-intro-compact h1{
  max-width:1120px !important;
  text-wrap:balance !important;
}
.video-template-page .case-intro.case-intro-compact p{
  max-width:920px !important;
  text-wrap:balance !important;
}
.video-template-page .case-grid .template-copy-card:nth-child(6){
  text-align:center !important;
  justify-items:center !important;
  place-items:center !important;
}
.video-template-page .case-grid .template-copy-card:nth-child(6) div,
.video-template-page .case-grid .template-copy-card:nth-child(6) strong,
.video-template-page .case-grid .template-copy-card:nth-child(6) p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.video-template-page .case-grid .template-copy-card:nth-child(6) div{
  max-width:960px !important;
}
.video-template-page .case-grid .template-copy-card:nth-child(6) p{
  max-width:860px !important;
  text-wrap:balance !important;
}

/* 2026-08-06 Stephen-approved portfolio/category centered title-banner treatment.
   Work, Multifamily, Commercial, and Residential are portfolio/category statements, not case-study split intros. */
.portfolio-rhythm-page .portfolio-rhythm-intro .wrap.case-intro-grid{
  grid-template-columns:1fr !important;
  justify-items:center !important;
  text-align:center !important;
  gap:10px !important;
}
.portfolio-rhythm-page .portfolio-rhythm-intro .case-intro-grid > div,
.portfolio-rhythm-page .portfolio-rhythm-intro .case-back,
.portfolio-rhythm-page .portfolio-rhythm-intro h1,
.portfolio-rhythm-page .portfolio-rhythm-intro p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.portfolio-rhythm-page .portfolio-rhythm-intro h1{
  max-width:1120px !important;
  text-wrap:balance !important;
}
.portfolio-rhythm-page .portfolio-rhythm-intro p{
  max-width:920px !important;
  text-wrap:balance !important;
}

/* 2026-08-08 Motion hero Vimeo embed: replace only the hero image, preserving hero sizing. */
.video-template-page .case-hero-media.motion-hero-embed{
  background:#050d12;
}
.video-template-page .case-hero-media.motion-hero-embed .motion-vimeo-hero{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
}
.video-template-page .case-hero-media.motion-hero-embed iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block !important;
}

/* 2026-08-08 Motion portrait hero lock.
   Stephen-approved direction: video starts at the bottom of the mobile title/header,
   caption overlays the video, and the intro banner touches the video bottom edge. */
@media (orientation: portrait) and (max-width: 720px){
  body.video-template-page .case-hero{
    padding-top:78px !important;
    background:var(--sfp-page-bg,#0d2838) !important;
  }
  body.video-template-page .case-hero-media.motion-hero-embed{
    min-height:0 !important;
    height:56.25vw !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#050d12 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-embed .motion-vimeo-hero,
  body.video-template-page .case-hero-media.motion-hero-embed iframe{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-embed:after{
    background:linear-gradient(180deg,rgba(13,40,56,.05),rgba(13,40,56,0) 42%,rgba(5,13,18,.62)) !important;
  }
  body.video-template-page .case-hero-caption{
    left:18px !important;
    right:18px !important;
    bottom:12px !important;
    z-index:3 !important;
    padding-top:8px !important;
    border-top-color:rgba(247,242,232,.48) !important;
    color:rgba(255,255,255,.92) !important;
    font-size:8.5px !important;
    letter-spacing:.12em !important;
    text-shadow:0 2px 10px rgba(0,0,0,.72) !important;
  }
  body.video-template-page .case-hero + .case-intro.case-intro-compact{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  body.video-template-page .case-intro.case-intro-compact .case-intro-grid{
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
}

/* 2026-08-08 Motion local hero video.
   Replaces temporary Vimeo iframe with optimized local autoplay/muted/loop media. */
body.video-template-page .case-hero-media.motion-hero-local{
  background:#050d12;
}
body.video-template-page .case-hero-media.motion-hero-local video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.96) contrast(1.02);
}
@media (orientation: portrait) and (max-width: 720px){
  body.video-template-page .case-hero-media.motion-hero-local{
    min-height:0 !important;
    height:56.25vw !important;
    max-height:none !important;
    overflow:hidden !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local video{
    min-height:0 !important;
  }
}

/* 2026-08-08 Motion portrait intro containment after local hero video.
   Prevent headline/body clipping in narrow portrait viewports. */
@media (orientation: portrait) and (max-width: 720px){
  body.video-template-page .case-intro.case-intro-compact{
    overflow:hidden !important;
  }
  body.video-template-page .case-intro.case-intro-compact .case-intro-grid{
    width:auto !important;
    max-width:none !important;
    margin-left:18px !important;
    margin-right:18px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  body.video-template-page .case-intro.case-intro-compact .case-intro-grid > div,
  body.video-template-page .case-intro.case-intro-compact h1,
  body.video-template-page .case-intro.case-intro-compact p,
  body.video-template-page .case-intro.case-intro-compact .case-back{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
}

/* 2026-08-08 Motion mobile landscape hero lock.
   Short viewport fix: keep the local hero video visible under the header and keep
   the Motion / Property Video / Atmosphere caption inside the video, not clipped. */
@media (orientation: landscape) and (max-height: 520px){
  body.video-template-page .case-hero{
    padding-top:64px !important;
    background:#0d2838 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local{
    min-height:0 !important;
    height:calc(100vh - 64px) !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#050d12 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    min-height:0 !important;
    background:#050d12 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local:after{
    background:linear-gradient(180deg,rgba(13,40,56,.02),rgba(13,40,56,0) 42%,rgba(5,13,18,.68)) !important;
  }
  body.video-template-page .case-hero-caption{
    left:16px !important;
    right:16px !important;
    bottom:10px !important;
    z-index:3 !important;
    padding-top:6px !important;
    font-size:8px !important;
    line-height:1.15 !important;
    letter-spacing:.105em !important;
    border-top-color:rgba(247,242,232,.44) !important;
  }
  body.video-template-page .case-hero + .case-intro.case-intro-compact{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

/* 2026-08-08 Motion mobile landscape full-bleed correction.
   Stephen rejected contain/side gutters: video must fill edge-to-edge. */
@media (orientation: landscape) and (max-height: 520px){
  body.video-template-page .case-hero{
    padding-top:64px !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local{
    height:calc(100vh - 64px) !important;
    min-height:0 !important;
    max-height:none !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  body.video-template-page .case-hero-caption{
    bottom:14px !important;
    padding-top:5px !important;
    font-size:8px !important;
    line-height:1.1 !important;
    letter-spacing:.10em !important;
  }
}

/* 2026-08-08 Motion mobile landscape: desktop-like hero behavior.
   Video runs behind the header/title banner and fills edge-to-edge like web. */
@media (orientation: landscape) and (max-height: 520px){
  body.video-template-page .case-hero{
    padding-top:0 !important;
    background:#050d12 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local{
    min-height:0 !important;
    height:100vh !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#050d12 !important;
  }
  body.video-template-page .case-hero-media.motion-hero-local video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  body.video-template-page .case-hero-caption{
    left:16px !important;
    right:16px !important;
    bottom:16px !important;
    z-index:3 !important;
    padding-top:5px !important;
    font-size:8px !important;
    line-height:1.12 !important;
    letter-spacing:.10em !important;
  }
}

/* 2026-08-08 Motion portfolio inline Vimeo prototype.
   One-card test: video plays in its portfolio window; visitor can use Vimeo fullscreen. */
.video-template-page .case-frame.motion-inline-vimeo-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  background:#050d12 !important;
}
.video-template-page .case-frame.motion-inline-vimeo-card:nth-child(1){
  min-height:0 !important;
}
.video-template-page .motion-inline-vimeo-window{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  background:#050d12 !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
.video-template-page .motion-inline-vimeo-window iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  display:block !important;
}
.video-template-page .motion-inline-vimeo-card figcaption{
  position:static !important;
  display:block !important;
  padding:18px 20px 19px !important;
  background:#081923 !important;
  border-top:1px solid rgba(247,242,232,.10) !important;
}
.video-template-page .motion-inline-vimeo-card figcaption strong{
  display:block !important;
  color:#fff !important;
  font-size:clamp(18px,1.6vw,25px) !important;
  line-height:1.08 !important;
  font-weight:440 !important;
  letter-spacing:-.025em !important;
  margin:0 0 5px !important;
}
.video-template-page .motion-inline-vimeo-card figcaption span{
  display:block !important;
  color:rgba(247,242,232,.68) !important;
  font-size:10px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
@media(max-width:720px){
  .video-template-page .motion-inline-vimeo-card figcaption{
    padding:15px 16px 16px !important;
  }
}

/* 2026-08-08 Motion mobile intro final containment.
   Keeps the Motion headline/body centered and wrapped inside the phone viewport. */
@media (max-width:720px){
  body.video-template-page .case-intro.case-intro-compact,
  body.video-template-page .case-intro.case-intro-compact *{
    box-sizing:border-box !important;
  }
  body.video-template-page .case-intro.case-intro-compact .case-intro-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:calc(100% - 36px) !important;
    max-width:calc(100% - 36px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    justify-items:center !important;
    text-align:center !important;
    overflow:visible !important;
  }
  body.video-template-page .case-intro.case-intro-compact .case-intro-grid > div,
  body.video-template-page .case-intro.case-intro-compact h1,
  body.video-template-page .case-intro.case-intro-compact p,
  body.video-template-page .case-intro.case-intro-compact .case-back{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  body.video-template-page .case-intro.case-intro-compact h1{
    font-size:clamp(31px,9.4vw,43px) !important;
    line-height:1.03 !important;
    letter-spacing:-.052em !important;
  }
  body.video-template-page .case-intro.case-intro-compact p{
    font-size:13.5px !important;
    line-height:1.48 !important;
  }
}

/* 2026-08-09 Motion Vimeo poster restore.
   Keeps inline Vimeo cards visually polished before play and after end. */
.video-template-page .motion-inline-vimeo-poster,
.video-template-page .motion-vimeo-poster{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  cursor:pointer !important;
  background:#050d12 !important;
  overflow:hidden !important;
  opacity:1 !important;
  transition:opacity .22s ease, visibility .22s ease !important;
}
.video-template-page .motion-vimeo-poster.is-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.video-template-page .motion-vimeo-poster img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  filter:saturate(.96) contrast(1.03) brightness(.88) !important;
  transform:scale(1.001) !important;
}
.video-template-page .motion-vimeo-poster::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(5,13,18,.06),rgba(5,13,18,.20)) !important;
  pointer-events:none !important;
}
.video-template-page .motion-vimeo-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:3 !important;
  width:62px !important;
  height:62px !important;
  border-radius:999px !important;
  transform:translate(-50%,-50%) !important;
  background:rgba(247,242,232,.92) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.38) !important;
}
.video-template-page .motion-vimeo-play::before{
  content:"" !important;
  position:absolute !important;
  left:25px !important;
  top:19px !important;
  border-top:12px solid transparent !important;
  border-bottom:12px solid transparent !important;
  border-left:18px solid #07121a !important;
}
.video-template-page .motion-vimeo-poster:hover .motion-vimeo-play{
  background:#fff !important;
  transform:translate(-50%,-50%) scale(1.045) !important;
}
@media(max-width:720px){
  .video-template-page .motion-vimeo-play{
    width:54px !important;
    height:54px !important;
  }
  .video-template-page .motion-vimeo-play::before{
    left:22px !important;
    top:16px !important;
  }
}

/* 2026-08-09 Motion pacing: one cinematic hero, then smaller curated windows, then a later featured anchor. */
body.video-template-page .case-grid > .motion-inline-vimeo-card,
body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(1),
body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(6),
body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(11){
  grid-column:auto !important;
  min-height:0 !important;
}
body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video{
  grid-column:span 2 !important;
}
body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video figcaption{
  padding:20px 22px 21px !important;
}
body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video figcaption strong{
  font-size:clamp(21px,2.1vw,31px) !important;
}
@media(max-width:720px){
  body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video{
    grid-column:auto !important;
  }
}

/* 2026-08-09 Motion alternating rhythm: second full-width feature acts as the closing cinematic proof point. */
body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video:nth-child(6) figcaption{
  background:#071721 !important;
}












/* 2026-08-09 Motion phone-landscape repair: full cinematic cards, compact captions, no side-panel/list treatment. */
@media (max-width: 920px) and (max-height: 480px) and (orientation: landscape){
  body.video-template-page .site-header{
    position:absolute !important;
  }
  body.video-template-page .case-hero + .case-intro.case-intro-compact{
    padding-top:22px !important;
  }
  body.video-template-page .case-gallery{
    padding-top:14px !important;
  }
  body.video-template-page .case-gallery .wrap.case-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:calc(100vw - 56px) !important;
    max-width:820px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    gap:14px !important;
  }
  body.video-template-page .case-grid > .motion-inline-vimeo-card,
  body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(1),
  body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(6),
  body.video-template-page .case-grid > .motion-inline-vimeo-card:nth-child(11),
  body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video{
    display:flex !important;
    flex-direction:column !important;
    grid-column:auto !important;
    aspect-ratio:auto !important;
    min-height:0 !important;
    height:auto !important;
    background:#06131b !important;
  }
  body.video-template-page .motion-inline-vimeo-window,
  body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video .motion-inline-vimeo-window{
    width:100% !important;
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    height:auto !important;
  }
  body.video-template-page .motion-inline-vimeo-card figcaption,
  body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video figcaption{
    position:static !important;
    display:block !important;
    min-height:0 !important;
    padding:11px 14px 12px !important;
    background:#081923 !important;
    border-left:0 !important;
    border-top:1px solid rgba(247,242,232,.10) !important;
  }
  body.video-template-page .motion-inline-vimeo-card figcaption strong,
  body.video-template-page .case-grid > .motion-inline-vimeo-card.motion-featured-video figcaption strong{
    font-size:clamp(16px,2.35vw,20px) !important;
    line-height:1.04 !important;
    margin:0 0 3px !important;
    letter-spacing:-.025em !important;
  }
  body.video-template-page .motion-inline-vimeo-card figcaption span{
    font-size:8px !important;
    line-height:1.16 !important;
    letter-spacing:.12em !important;
  }
}

/* 2026-08-09 Motion phone-landscape intro clearance: keep the small Motion label from clipping. */
@media (max-width: 920px) and (max-height: 480px) and (orientation: landscape){
  body.video-template-page .case-intro.case-intro-compact .case-back{
    display:block !important;
    margin-top:2px !important;
    margin-bottom:7px !important;
    line-height:1.2 !important;
  }
}
