/* White-theme overrides — load AFTER site.css */
:root{
  --bg:#FFFFFF; --bg-soft:#F3F5F4; --bg-tint:#F3F5F4;
  --panel:#FFFFFF;
  --ink:#0A2B29; --muted:#33524E;
  --line:rgba(140,110,51,.35); --line-strong:rgba(140,110,51,.6);
}
body{ background:#FFFFFF; }
/* header on white */
.site-header.scrolled{ background:rgba(255,255,255,.94); box-shadow:0 1px 0 rgba(240,169,57,.3); }
.nav a{ color:var(--ink); }
.nav a.active{ color:var(--copper); }
.burger span{ background:var(--ink); }
.logo-mark,.logo-word{ filter:none; }
/* pages with a photo hero keep light header until scroll */
body.hero-photo-page .site-header:not(.scrolled) .nav a{ color:var(--cream); }
body.hero-photo-page .site-header:not(.scrolled) .logo-mark,
body.hero-photo-page .site-header:not(.scrolled) .logo-word{ filter:brightness(0) invert(1); }
body.hero-photo-page .site-header:not(.scrolled) .burger span{ background:var(--cream); }
/* photo hero text stays cream over dark overlay */
.page-hero.has-photo h1{ color:var(--cream); }
.page-hero.has-photo .lead{ color:var(--cream-muted); }
/* topo art much fainter on white */
.page-hero .topo-waves{ opacity:.22; } .page-hero .topo-rings{ opacity:.18; }
.page-hero.has-photo .topo-waves,.page-hero.has-photo .topo-rings{ opacity:.14; }
/* cards & panels on white */
.proj{ border:1px solid rgba(10,43,41,.1); box-shadow:0 20px 44px -34px rgba(10,43,41,.35); }
.proj:hover{ box-shadow:0 26px 52px -30px rgba(10,43,41,.4); border-color:rgba(10,43,41,.18); }
.feat .cell{ background:#FFFFFF; }
.feat .cell:hover{ background:var(--bg-soft); }
/* dark bands keep cream text (stat-strip, cta-band, footer, contact-info, mobile menu) */
.stat-strip .num,.cta-band h2,.site-footer h4{ color:var(--cream); }
.mobile-menu a{ color:var(--cream); }
/* contact form on light */
.contact-form{ background:var(--bg-soft); }
.contact-form .field label{ color:var(--muted); }
.field input,.field textarea,.field select{ background:#FFFFFF; color:var(--ink); }
.form-ok{ color:var(--cream); }
/* buttons & links: dark text on light bg for contrast */
.btn{ color:var(--ink); }
.btn.on-dark,.cta-band .btn,.contact-info .btn,.site-footer .btn{ color:var(--copper); }
.btn:hover,.btn.solid{ color:#0A2B29; }
.tlink{ color:#8C6E33; }
.eyebrow{ color:#8C6E33; }
.cta-band .eyebrow,.site-footer .eyebrow,.stat-strip .eyebrow,.contact-info .eyebrow,.page-hero.has-photo .eyebrow{ color:var(--copper); }
.btn:hover{ box-shadow:0 16px 32px -14px rgba(10,43,41,.3); }

/* header + menu matched to home page */
.site-header{padding:0;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 46%,rgba(255,255,255,.32) 78%,rgba(255,255,255,0) 100%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.header-inner{padding:30px 0 26px;gap:30px;transition:padding .35s var(--ease)}
.site-header.scrolled{padding:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(240,169,57,.25)}
.site-header.scrolled .header-inner{padding:14px 0 12px}
.logo{gap:16px;margin-left:14px}
.logo-mark{height:62px}
.logo-word{height:42px}
.site-header.scrolled .logo-mark{height:52px}
.nav{gap:40px}
.nav a{font-family:var(--f-body);font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--ink);padding:4px 0}
.nav a::after{bottom:-2px;background:var(--copper)}
.burger span{background:var(--ink)}
.mobile-menu{background:#FFFFFF;padding:48px;gap:6px}
.mobile-menu a{font-size:30px;font-weight:700;letter-spacing:.04em;color:var(--ink);padding:12px 0;text-transform:uppercase;border-bottom:1px solid rgba(10,43,41,.14)}
.mobile-menu a:hover{color:var(--copper)}
.mobile-close{top:26px;right:28px;color:var(--ink);font-size:38px}
@media(max-width:1020px){.nav{display:none}.burger{display:flex}.logo-mark{height:52px}.logo-word{height:36px}}
@media(max-width:520px){.logo-mark{height:44px}.logo-word{height:30px}}
