/* =========================================================
   HOMEPAGE: editorial redesign
   Loaded only by index.html, after style.css. Everything is
   scoped to body.theme so the other pages are not affected.
   ========================================================= */

body.theme{
  --cream:#F4F6F8;
  --cream-deep:#E8ECF0;
  --tan:#9FAAB4;
  --tan-line:#D3D9E0;
  --green:#1A3866;
  --green-deep:#0B2038;
  --sage:#7B8896;
  --charcoal:#14203A;
  --muted:#5B6472;
  --serif:'Newsreader','Source Serif 4',Georgia,serif;
  --hmax:1320px;
  background:var(--cream);
  color:var(--charcoal);
}
body.theme h1,
body.theme h2,
body.theme h3{font-family:var(--serif);font-weight:400;letter-spacing:-0.02em;color:inherit;}
body.theme .hwrap{max-width:var(--hmax);margin:0 auto;padding:0 48px;width:100%;}

/* ---------- NAV ---------- */
body.theme header.site{background:rgba(244,246,248,0.94);border-bottom:1px solid var(--tan-line);}
body.theme nav.wrap{max-width:var(--hmax);padding:18px 48px;}
body.theme .logo-name{color:var(--green);}
body.theme .logo-sub{color:var(--muted);}
body.theme .nav-links{gap:38px;}
body.theme .nav-links a{color:var(--muted);font-size:0.9rem;letter-spacing:0.01em;}
body.theme .nav-links a:hover{color:var(--charcoal);}
body.theme .nav-cta{
  background:transparent;color:var(--green)!important;
  border:1px solid var(--green);border-radius:0;
  padding:10px 20px;font-weight:500;
  transition:background .2s,color .2s;
}
body.theme .nav-cta:hover{background:var(--green);color:var(--cream)!important;}
body.theme .menu-toggle{color:var(--green);}

/* shared understated link: text + thin arrow */
.h-link{
  display:inline-flex;align-items:center;gap:14px;
  font-size:0.98rem;font-weight:500;letter-spacing:0.02em;
  padding-bottom:8px;border-bottom:1px solid currentColor;
}
.h-link .arr{display:inline-block;transition:transform .25s ease;}
.h-link:hover .arr{transform:translateX(6px);}

/* ---------- 1. HERO ---------- */
.h-hero{
  position:relative;color:#FFF;overflow:hidden;
  min-height:calc(100vh - 92px);min-height:calc(100svh - 92px);
  display:flex;align-items:flex-end;
  background-color:var(--green-deep);
}
.h-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(180deg,rgba(11,32,56,0.28) 0%,rgba(11,32,56,0.10) 30%,rgba(11,32,56,0.78) 100%),
    linear-gradient(90deg,rgba(11,32,56,0.55) 0%,rgba(11,32,56,0) 70%),
    url('union-station.jpg') center 38%/cover no-repeat;
  transform-origin:60% 55%;
  animation:heroZoom 26s ease-out forwards;
}
.h-hero .hwrap{position:relative;z-index:1;}
.h-hero .hwrap{padding-top:120px;padding-bottom:84px;}
.h-hero h1{
  font-size:clamp(2.2rem,4.5vw,4.3rem);
  line-height:1.08;letter-spacing:-0.025em;
  max-width:19ch;color:#FFF;
  text-shadow:0 2px 30px rgba(6,18,34,0.35);
}
.h-hero-foot{
  margin-top:52px;display:grid;grid-template-columns:minmax(0,560px) auto;
  gap:48px;align-items:end;justify-content:space-between;
  padding-top:32px;border-top:1px solid rgba(255,255,255,0.35);
}
.h-hero-foot p{margin:0;font-size:1.08rem;line-height:1.7;color:#F2EFE7;text-shadow:0 1px 14px rgba(6,18,34,0.4);}
.h-hero .h-link{color:#FFF;white-space:nowrap;}

/* ---------- 2. STATEMENT ---------- */
.h-statement{background:var(--cream);padding:150px 0 130px;}
.h-st-grid{display:grid;grid-template-columns:0.95fr 1fr;gap:110px;align-items:center;}
.h-st-img{
  position:relative;min-height:600px;border-radius:10px;
  background:
    linear-gradient(180deg,rgba(11,32,56,0.05),rgba(11,32,56,0.25)),
    url('union-station.jpg') 47% 62%/270% auto no-repeat;
  background-color:var(--navy-deep,#0B2038);
}
.h-st-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;border-radius:10px;}
/* thin silver corner accent, echoing the reference layout */
.h-st-media{position:relative;}
.h-st-media::before{
  content:"";position:absolute;top:-22px;right:-22px;width:46%;height:46%;
  border-top:2px solid var(--tan);border-right:2px solid var(--tan);border-top-right-radius:14px;
}
.h-st-media .h-st-img{z-index:1;}
.h-statement h2{
  font-size:clamp(2.3rem,4.4vw,4.1rem);line-height:1.06;color:var(--green);max-width:13ch;
}
.h-st-copy p{margin:34px 0 0;font-size:1.18rem;line-height:1.8;color:var(--muted);max-width:42ch;}
.h-principles{
  margin-top:120px;display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--tan-line);padding-top:56px;
}
.h-principle{padding:0 44px;border-left:1px solid var(--tan-line);}
.h-principle:first-child{padding-left:0;border-left:none;}
.h-principle svg{width:38px;height:38px;stroke:var(--green);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:26px;}
.h-principle h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;letter-spacing:-0.01em;color:var(--green);margin:0 0 14px;}
.h-principle p{margin:0;font-size:1.02rem;line-height:1.7;color:var(--muted);max-width:28ch;}

/* ---------- 3. WHO WE SERVE ---------- */
.h-serve{background:var(--cream-deep);padding:130px 0 140px;border-top:1px solid var(--tan-line);}
.h-serve-head{margin-bottom:64px;}
.h-serve-head h2{font-size:clamp(2.4rem,4.6vw,4.2rem);line-height:1.05;color:var(--green);}
.h-serve-head p{margin:16px 0 0;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.6rem);font-style:italic;color:var(--muted);}
.h-serve-body{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:stretch;}

.h-stage{
  position:relative;min-height:560px;overflow:hidden;background:var(--green-deep);
}
.h-panel{
  position:absolute;inset:0;opacity:0;transition:opacity .6s ease;
}
.h-panel.on{opacity:1;}
.h-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;}
.h-panel::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,32,56,0) 55%,rgba(11,32,56,0.6) 100%);
}
.h-panel .cap{
  position:absolute;left:32px;bottom:28px;z-index:2;color:#FFF;
  font-family:var(--serif);font-size:1.5rem;letter-spacing:-0.01em;
}
/* Tonal fallbacks, visible until real photos are dropped into /images */
.h-panel.p1{background:linear-gradient(135deg,#2C5088 0%,#0F2A4E 100%);}
.h-panel.p2{background:linear-gradient(135deg,#8593A3 0%,#3B4C63 100%);}
.h-panel.p3{background:linear-gradient(135deg,#4A5B73 0%,#1A2A42 100%);}
.h-panel.p4{background:linear-gradient(135deg,#6B84A6 0%,#243B5E 100%);}
.h-panel.p5{background:linear-gradient(135deg,#A9B4C0 0%,#52627A 100%);}

.h-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--charcoal);align-self:center;width:100%;}
.h-list li{border-bottom:1px solid var(--tan-line);}
.h-list li:last-child{border-bottom:1px solid var(--charcoal);}
.h-list a{
  display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px;
  padding:30px 4px;color:var(--charcoal);
  transition:color .25s,padding-left .3s ease;
}
.h-list .t{font-family:var(--serif);font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.15;letter-spacing:-0.015em;}
.h-list .arr{font-size:1.2rem;color:var(--sage);opacity:0;transform:translateX(-8px);transition:opacity .25s,transform .3s;}
.h-list a:hover,.h-list a:focus-visible,.h-list a.on{color:var(--green);padding-left:14px;}
.h-list a:hover .arr,.h-list a:focus-visible .arr,.h-list a.on .arr{opacity:1;transform:none;}

/* ---------- 4. OWNERS ---------- */
.h-owners{
  position:relative;overflow:hidden;color:#FFF;padding:170px 0 200px;
  background:
    radial-gradient(130% 60% at 50% 120%,rgba(150,172,204,0.85) 0%,rgba(84,112,160,0.55) 32%,rgba(26,56,102,0) 68%),
    linear-gradient(180deg,#0A1B33 0%,#11274B 42%,#1D3D74 100%);
}
.h-owners::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .65 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
.h-owners .hwrap{position:relative;z-index:1;max-width:1180px;}
.h-owners-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start;}
.h-owners h2{font-size:clamp(2.4rem,4.6vw,4.2rem);line-height:1.06;font-weight:300;color:#FFF;max-width:11ch;}
.h-owners-copy p{margin:34px 0 0;font-size:1.1rem;line-height:1.95;color:#DCE4EF;max-width:42ch;}
.h-nav{list-style:none;margin:0;padding:34px 0 0;}
.h-nav li{border-bottom:1px solid rgba(255,255,255,0.85);}
.h-nav a{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:34px 4px 26px;font-family:'DM Sans',sans-serif;font-weight:400;
  font-size:clamp(1.35rem,2.1vw,1.75rem);letter-spacing:-0.005em;color:#FFF;
  transition:padding-left .3s ease;
}
.h-nav .arr{width:40px;height:40px;flex:none;fill:none;stroke:#7FA3E0;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease,stroke .3s;}
.h-nav a:hover{padding-left:14px;}
.h-nav a:hover .arr{transform:translate(4px,-4px);stroke:#B9CFF3;}

/* ---------- 5. WHY STRAWBERRY HILL ---------- */
.h-why{background:var(--cream);padding:150px 0;}
.h-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;}
.h-why-img{
  position:relative;min-height:640px;overflow:hidden;
  background:linear-gradient(160deg,#B4BEC9 0%,#5D6F89 60%,#1F3253 100%);
}
.h-why-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;}
.h-why-img .cap{
  position:absolute;left:24px;bottom:20px;z-index:2;color:rgba(255,255,255,0.85);
  font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;
}
.h-why h2{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.04;color:var(--green);margin-bottom:44px;}
.h-why-text p{margin:0 0 24px;font-size:1.18rem;line-height:1.8;color:var(--charcoal);max-width:46ch;}
.h-why-text p.standard{
  margin:48px 0 0;padding-top:32px;border-top:1px solid var(--charcoal);
  font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.3rem);
  line-height:1.25;color:var(--green);letter-spacing:-0.015em;max-width:22ch;
}

/* ---------- 6. FINAL CTA ---------- */
.h-cta{background:var(--cream-deep);border-top:1px solid var(--tan-line);padding:150px 0 160px;}
.h-cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:96px;align-items:end;}
.h-cta h2{font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.02;color:var(--green);max-width:11ch;}
.h-cta p{margin:0 0 40px;font-size:1.15rem;line-height:1.75;color:var(--muted);max-width:36ch;}
.h-cta .h-link{color:var(--green);font-size:1.15rem;}

/* ---------- FOOTER (homepage tone) ---------- */
body.theme footer{background:var(--green-deep);color:#9AA6B2;}
body.theme footer .logo-name{color:#FFFFFF;}
body.theme footer .logo-sub{color:var(--tan);}
body.theme footer .footer-services{border-top-color:rgba(244,246,248,0.14);color:var(--tan);}
body.theme footer .footer-services span{color:#5C6F88;}
body.theme footer .disclaimer{border-top-color:rgba(244,246,248,0.10);}
body.theme footer .copyright{color:#6D7B8C;}
body.theme footer .wrap{max-width:var(--hmax);padding:0 48px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  body.theme .hwrap,body.theme nav.wrap,body.theme footer .wrap{padding-left:24px;padding-right:24px;}
  body.theme .nav-links{background:var(--cream);}
  .h-hero{min-height:calc(100svh - 72px);}
  .h-hero .hwrap{padding-top:80px;padding-bottom:56px;}
  .h-hero-foot{grid-template-columns:1fr;gap:28px;margin-top:36px;}
  .h-statement{padding:90px 0 80px;}
  .h-statement-top,.h-owners-grid,.h-why-grid,.h-cta-grid,.h-serve-body{grid-template-columns:1fr;gap:48px;}
  .h-principles{grid-template-columns:1fr;gap:36px;margin-top:64px;}
  .h-principle p{max-width:none;}
  .h-serve{padding:80px 0 90px;}
  .h-serve-head{margin-bottom:40px;}
  .h-stage{min-height:340px;}
  .h-list a{padding:22px 2px;}
  .h-list .arr{opacity:1;transform:none;}
  .h-owners,.h-why,.h-cta{padding:90px 0;}
  .h-nav a{padding:26px 2px;}
  .h-why-img{min-height:380px;}
}
@media (prefers-reduced-motion:reduce){
  .h-panel{transition:none;}
}

@media (max-width:1000px){
  .h-st-grid,.h-owners-grid{grid-template-columns:1fr;gap:56px;}
  .h-st-img{min-height:380px;}
  .h-st-media::before{display:none;}
  .h-principles{grid-template-columns:1fr;margin-top:72px;padding-top:40px;}
  .h-principle,.h-principle:first-child{padding:32px 0;border-left:none;border-top:1px solid var(--tan-line);}
  .h-principle:first-child{border-top:none;padding-top:0;}
  .h-principle p{max-width:none;}
  .h-owners{padding:100px 0 120px;}
  .h-nav{padding-top:0;}
}

/* ================= SUBTLE MOTION ================= */
@keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.06);}}
@keyframes riseIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.h-hero h1{animation:riseIn 1.1s cubic-bezier(.2,.7,.2,1) .15s both;}
.h-hero-foot{animation:riseIn 1.1s cubic-bezier(.2,.7,.2,1) .5s both;}

/* fade-up on scroll (only active when JS is running, so content is never hidden without it) */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
.js .rv.d1{transition-delay:.14s;}
.js .rv.in{opacity:1;transform:none;}

/* industry image swap: image settles in, caption rises */
.h-panel img{transform:scale(1.07);transition:transform 1.6s cubic-bezier(.2,.7,.2,1);}
.h-panel.on img{transform:scale(1);}
.h-panel .cap{opacity:0;transform:translateY(10px);transition:opacity .6s ease .15s,transform .7s ease .15s;}
.h-panel.on .cap{opacity:1;transform:none;}

/* nav tightens once you scroll */
body.theme header.site{transition:box-shadow .3s ease,background .3s ease;}
body.theme nav.wrap{transition:padding .3s ease;}
body.theme .logo img{transition:height .3s ease;}
body.theme header.site.scrolled{box-shadow:0 8px 28px rgba(11,32,56,0.08);}
body.theme header.site.scrolled nav.wrap{padding-top:10px;padding-bottom:10px;}
body.theme header.site.scrolled .logo img{height:36px;}

@media (prefers-reduced-motion:reduce){
  .h-hero::before{animation:none;}
  .h-hero h1,.h-hero-foot{animation:none;}
  .js .rv{opacity:1;transform:none;transition:none;}
  .h-panel img,.h-panel .cap,body.theme header.site,body.theme nav.wrap,body.theme .logo img{transition:none;}
  .h-panel img{transform:none;}
  .h-panel .cap{opacity:1;transform:none;}
}

/* ================= NAV: INDUSTRIES DROPDOWN ================= */
body.theme .nav-dd{position:relative;}
body.theme .nav-dd-btn{
  display:inline-flex;align-items:center;gap:8px;padding:0;background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:0.9rem;letter-spacing:0.01em;color:var(--muted);transition:color .15s;
}
body.theme .nav-dd-btn:hover,body.theme .nav-dd.active .nav-dd-btn{color:var(--charcoal);}
body.theme .nav-dd-btn svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;}
body.theme .nav-dd:hover .nav-dd-btn svg,body.theme .nav-dd.open .nav-dd-btn svg{transform:rotate(180deg);}
body.theme .nav-dd-menu{
  position:absolute;top:100%;left:-24px;padding-top:20px;min-width:330px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .2s ease,transform .25s ease,visibility .2s;
}
body.theme .nav-dd-inner{background:#FFF;border:1px solid var(--tan-line);box-shadow:0 18px 44px rgba(11,32,56,0.12);padding:10px 0;}
body.theme .nav-dd:hover .nav-dd-menu,body.theme .nav-dd:focus-within .nav-dd-menu,body.theme .nav-dd.open .nav-dd-menu{opacity:1;visibility:visible;transform:none;}
body.theme .nav-dd-menu a{display:block;padding:13px 26px;font-size:0.93rem;color:var(--charcoal);transition:background .15s,color .15s,padding-left .2s;}
body.theme .nav-dd-menu a:hover{background:var(--cream);color:var(--green);padding-left:32px;}
body.theme .nav-links a.active{color:var(--charcoal);}
@media (max-width:900px){
  body.theme .nav-dd-btn svg{display:none;}
  body.theme .nav-dd-menu{position:static;opacity:1;visibility:visible;transform:none;padding:8px 0 0 14px;min-width:0;}
  body.theme .nav-dd-inner{border:none;box-shadow:none;padding:0;background:transparent;}
  body.theme .nav-dd-menu a{padding:8px 0;font-size:0.9rem;color:var(--muted);}
  body.theme .nav-dd-menu a:hover{background:none;padding-left:0;}
}
/* closing CTA on a light page section */
.h-cta.on-light{background:var(--cream);}
.h-cta.wide h2{max-width:18ch;font-size:clamp(1.9rem,3.2vw,2.7rem);}
.h-link.sm{font-size:0.95rem;padding-bottom:6px;}

/* ---- Services mega dropdown ---- */
body.theme .nav-dd-menu.mega{min-width:600px;left:-40px;}
body.theme .nav-dd-menu.mega .nav-dd-inner{display:grid;grid-template-columns:1fr 1fr;padding:12px 10px 18px;}
body.theme .nav-dd-menu.mega .nav-all{grid-column:1/-1;margin:0 8px 8px;padding:14px 18px;border-bottom:1px solid var(--tan-line);font-weight:500;color:var(--green);}
body.theme .nav-dd-menu.mega .nav-all:hover{padding-left:24px;}
body.theme .nav-col-h{padding:10px 26px 8px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600;}
body.theme .nav-dd-menu.mega .nav-col a{padding:11px 26px;}
@media (max-width:900px){
  body.theme .nav-dd-menu.mega{min-width:0;left:0;}
  body.theme .nav-dd-menu.mega .nav-dd-inner{display:block;padding:0;}
  body.theme .nav-dd-menu.mega .nav-all{margin:0;padding:8px 0;border:0;}
  body.theme .nav-col-h{padding:12px 0 4px;}
  body.theme .nav-dd-menu.mega .nav-col a{padding:6px 0;}
}

/* ================= FOOTER (gradient) ================= */
body.theme footer.sf{position:relative;overflow:hidden;padding:96px 0 34px;color:#C9D6E8;font-size:.95rem;
  background:radial-gradient(120% 55% at 50% 125%,rgba(150,172,204,0.65) 0%,rgba(84,112,160,0.4) 34%,rgba(26,56,102,0) 70%),linear-gradient(180deg,#0A1B33 0%,#11274B 55%,#1A3866 100%);}
body.theme footer.sf::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .65 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body.theme .sf-wrap{position:relative;z-index:1;max-width:var(--hmax);margin:0 auto;padding:0 48px;}
body.theme .sf-grid{display:grid;grid-template-columns:1.3fr 1.2fr 1fr 1.4fr;gap:48px;padding-bottom:64px;}
body.theme .sf-brand .logo{display:inline-flex;}
body.theme .sf-brand p{margin:24px 0 30px;max-width:30ch;line-height:1.7;color:#DCE4EF;font-size:1rem;}
body.theme .sf-btn{display:inline-block;padding:14px 26px;background:#F4F6F8;color:var(--green);font-weight:500;font-size:.95rem;transition:background .25s,transform .25s;}
body.theme .sf-btn:hover{background:#FFF;transform:translateY(-2px);}
body.theme .sf-col h3{margin:6px 0 20px;font-family:'DM Sans',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#9FB7DA;}
body.theme .sf-col ul{list-style:none;margin:0;padding:0;}
body.theme .sf-col li{margin:0 0 12px;}
body.theme .sf-col a{color:#E6ECF5;line-height:1.4;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s ease,color .2s;padding-bottom:2px;}
body.theme .sf-col a:hover{color:#FFF;background-size:100% 1px;}
body.theme .sf-reach{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:12px;}
body.theme .sf-reach a{width:fit-content;font-size:.92rem;}
body.theme .sf-in{display:inline-flex;align-items:center;gap:9px;}
body.theme .sf-in svg{width:18px;height:18px;fill:currentColor;}
body.theme .sf-legal{padding-top:28px;border-top:1px solid rgba(255,255,255,.2);}
body.theme .sf-legal p{margin:0;max-width:980px;font-size:.78rem;line-height:1.75;color:#93A6C0;}
body.theme .sf-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px;font-size:.8rem;color:#93A6C0;}
body.theme .sf-top{color:#DCE4EF;transition:color .2s;}
body.theme .sf-top:hover{color:#FFF;}
@media(max-width:1180px){body.theme .sf-grid{grid-template-columns:1fr 1fr;}body.theme .sf-brand{grid-column:1/-1;}}
@media(max-width:700px){body.theme footer.sf{padding:70px 0 28px;}body.theme .sf-wrap{padding:0 24px;}body.theme .sf-grid{grid-template-columns:1fr 1fr;gap:34px 24px;}body.theme .sf-contact{grid-column:1/-1;}}

body.theme .sf-special{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);}
body.theme .sf-special summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#FFF;font-weight:500;}
body.theme .sf-special summary::-webkit-details-marker{display:none;}
body.theme .sf-special summary::after{content:"+";font-size:1.4rem;line-height:1;color:#9FB7DA;transition:transform .3s;}
body.theme .sf-special details[open] summary::after{transform:rotate(45deg);}
body.theme .sf-special summary:hover{color:#B9CFF3;}
body.theme .sf-special details ul{margin:16px 0 0;padding-left:14px;border-left:1px solid rgba(255,255,255,.25);animation:sfDrop .4s ease both;}
body.theme .sf-special details li{margin-bottom:10px;}
@keyframes sfDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
body.theme .sf-legal{padding-top:22px;}
body.theme .sf-disc-text{margin:0 0 26px;max-width:980px;font-size:.78rem;line-height:1.75;color:#93A6C0;}
.js body.theme .sf-disc-text{display:none;}
.js body.theme .sf-disc-text.open{display:block;animation:sfDrop .35s ease both;}
body.theme .sf-base{margin-top:0;}
body.theme .sf-base-r{display:flex;gap:28px;align-items:center;}
body.theme .sf-disc-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:#DCE4EF;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35);}
body.theme .sf-disc-btn:hover{color:#FFF;text-decoration-color:#FFF;}
body.theme footer.sf{padding:88px 0 28px;}
body.theme .sf-grid{padding-bottom:56px;}
@media(max-width:700px){body.theme .sf-grid{grid-template-columns:1fr;}body.theme .sf-base-r{gap:20px;}}

/* footer v3: simple */
body.theme .sf-grid{grid-template-columns:1.6fr 1fr 1.2fr;gap:64px;padding-bottom:64px;}
body.theme .sf-help ul{display:flex;flex-direction:column;gap:6px;}
body.theme .sf-help li{margin:0;}
body.theme .sf-help a{font-family:var(--serif);font-size:1.7rem;font-weight:300;line-height:1.35;color:#FFF;}
body.theme .sf-reach{margin-top:0;padding-top:0;border-top:0;gap:16px;}
body.theme .sf-reach a{font-size:1.02rem;color:#E6ECF5;}
body.theme .sf-reach a:hover{color:#FFF;}
body.theme .sf-brand p{max-width:34ch;}
@media(max-width:1180px){body.theme .sf-grid{grid-template-columns:1fr 1fr;gap:48px 40px;}}
@media(max-width:700px){body.theme .sf-grid{grid-template-columns:1fr;gap:40px;}body.theme .sf-help a{font-size:1.5rem;}}

/* Services dropdown: single column + nested Special situations */
body.theme .nav-dd-menu .nav-all{margin:0 10px 6px;padding:13px 16px;border-bottom:1px solid var(--tan-line);font-weight:500;color:var(--green);}
body.theme .nav-dd-menu .nav-all:hover{padding-left:22px;}
body.theme .nav-dd-menu .nav-col-h{padding:12px 26px 6px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600;}
body.theme .nav-sub{margin:6px 10px 4px;border-top:1px solid var(--tan-line);}
body.theme .nav-sub summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.93rem;color:var(--charcoal);transition:background .15s,color .15s;}
body.theme .nav-sub summary::-webkit-details-marker{display:none;}
body.theme .nav-sub summary::after{content:"+";font-size:1.25rem;line-height:1;color:var(--sage);transition:transform .25s;}
body.theme .nav-sub[open] summary::after{transform:rotate(45deg);}
body.theme .nav-sub summary:hover{background:var(--cream);color:var(--green);}
body.theme .nav-sub-list{margin:0 0 6px 16px;border-left:2px solid var(--tan-line);animation:sfDrop .3s ease both;}
body.theme .nav-sub-list a{padding:10px 18px;font-size:.88rem;}
@media (max-width:900px){
  body.theme .nav-dd-menu .nav-all{margin:0;padding:8px 0;border:0;}
  body.theme .nav-dd-menu .nav-col-h{padding:10px 0 4px;}
  body.theme .nav-sub{margin:4px 0;border:0;}
  body.theme .nav-sub summary{padding:8px 0;font-size:.9rem;color:var(--muted);}
  body.theme .nav-sub-list{margin-left:10px;}
}

/* ---- homepage CTA buttons ---- */
.h-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:34px;}
.h-btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;font-size:.98rem;font-weight:500;letter-spacing:.01em;
  background:var(--green);color:#FFF;border:1px solid var(--green);transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;}
.h-btn .arr{display:inline-block;transition:transform .25s ease;}
.h-btn:hover{background:var(--green-deep);border-color:var(--green-deep);transform:translateY(-2px);box-shadow:0 14px 28px -16px rgba(11,32,56,.6);}
.h-btn:hover .arr{transform:translateX(5px);}
.h-btn.light{background:#F4F6F8;color:var(--green);border-color:#F4F6F8;}
.h-btn.light:hover{background:#FFF;color:var(--green);border-color:#FFF;}
.h-btn.ghost{background:transparent;color:#FFF;border-color:rgba(255,255,255,.65);}
.h-btn.ghost:hover{background:rgba(255,255,255,.14);border-color:#FFF;}
.h-btn.ghost.dark{color:var(--green);border-color:var(--green);}
.h-btn.ghost.dark:hover{background:var(--green);color:#FFF;}
.h-hero-foot .h-btns{margin-top:0;justify-content:flex-end;}
.h-owners .h-btns{margin-top:40px;}
.h-why-text .h-btns{margin-top:40px;}
.h-cta .h-btns{margin-top:0;}
.h-serve-cta{margin-top:72px;padding-top:40px;border-top:1px solid var(--tan-line);display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.h-serve-cta p{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.9rem);color:var(--green);max-width:28ch;line-height:1.3;}
.h-serve-cta .h-btns{margin-top:0;}
@media(max-width:900px){.h-hero-foot .h-btns{justify-content:flex-start;}.h-btn{padding:14px 22px;}}

.h-st-img img{object-position:55% 50%;}

/* Strawberry Hill photo pair */
.h-why-fig{position:relative;margin:0;}
.h-why-fig .h-why-img{min-height:640px;}
.h-why-inset{position:absolute;right:-32px;bottom:64px;width:46%;aspect-ratio:10/7;border:8px solid var(--cream);box-shadow:0 22px 44px -20px rgba(11,32,56,.55);overflow:hidden;background:var(--cream-deep);}
.h-why-inset img{width:100%;height:100%;object-fit:cover;display:block;}
.h-why-fig figcaption{margin-top:16px;font-size:.88rem;line-height:1.5;color:var(--muted);max-width:44ch;}
@media(max-width:900px){.h-why-fig .h-why-img{min-height:380px;}.h-why-inset{right:12px;bottom:70px;width:52%;}}

/* 1955 photo shown in full (no crop), wider column */
.h-why-grid:has(.h-why-fig){grid-template-columns:1.3fr 1fr;gap:80px;}
.h-why-fig .h-why-img{min-height:0;aspect-ratio:960/594;}
.h-why-fig.has-inset .h-why-inset{bottom:-40px;right:-28px;width:44%;}
.h-why-fig.has-inset figcaption{margin-top:64px;}
@media(max-width:900px){
  .h-why-grid:has(.h-why-fig){grid-template-columns:1fr;gap:48px;}
  .h-why-fig .h-why-img{min-height:0;}
  .h-why-fig.has-inset .h-why-inset{right:8px;bottom:-32px;width:50%;}
}

/* about page: inset anchored to the photo (stage), caption always clear of it */
.h-why-stage{position:relative;}
.h-why-fig.has-inset .h-why-inset{bottom:-40px;right:-28px;width:42%;}
.h-why-fig.has-inset figcaption{margin-top:64px;max-width:none;}
@media(max-width:900px){
  .h-why-fig{max-width:640px;}
  .h-why-fig.has-inset .h-why-inset{right:12px;bottom:-32px;width:46%;}
  .h-why-fig.has-inset figcaption{margin-top:52px;}
}
