
/* One alignment system; restrained typography, existing brand retained. */
:root{--header-height:88px;--page-gutter:36px}
.container,.nav .container{width:min(1320px,calc(100% - var(--page-gutter) * 2))}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.nav-inner{height:var(--header-height);grid-template-columns:auto minmax(0,1fr) auto auto;gap:24px}
.brand-lockup{grid-template-columns:54px auto;column-gap:12px;align-items:center}
.brand-mark{width:54px;align-self:center}
.brand-text{height:auto;gap:9px;align-self:center}
.brand-name{font-size:22px;transform:none;letter-spacing:.02em}
.brand-subtitle{font-size:10px;line-height:1.3;letter-spacing:.025em}
.nav-links{gap:22px;min-width:0}
.nav-links a{min-height:44px;display:inline-flex;align-items:center;letter-spacing:0}
.phone-link{font-size:14px;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center}
.nav .cta,.mobile-nav-cta{font-size:14px;letter-spacing:.015em;text-transform:none;font-weight:600;min-height:48px;padding:0 20px}
.hero{padding-top:var(--header-height);min-height:0}
.hero-grid{min-height:clamp(660px,calc(100svh - var(--header-height)),820px)}
.hero-copy{width:52%;max-width:680px;padding:64px 0}
.hero h1{font-size:clamp(68px,5.6vw,90px);line-height:1.02;letter-spacing:-.045em;max-width:680px;overflow-wrap:normal}
.hero .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.14em;margin-bottom:24px}
.hero-note{margin-top:28px;display:block}
.hero-text{font-size:18px;line-height:1.6;max-width:510px;margin:0}
.hero-actions{display:flex;margin-top:28px;gap:20px}
.hero-project-link{font-size:16px;line-height:1.4;min-height:44px;padding:8px 0;letter-spacing:0}
.hero-frame::after{background:linear-gradient(90deg,rgba(243,240,234,.98) 0%,rgba(243,240,234,.96) 25%,rgba(243,240,234,.87) 35%,rgba(243,240,234,.62) 45%,rgba(243,240,234,.16) 58%,transparent 68%)}
.hero-frame img{object-position:60% center}
.hero-frame:hover img{transform:none}
.mobile-nav-panel{top:var(--header-height);max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}
.menu-toggle{flex-shrink:0;min-width:44px;min-height:44px}
.nav a:focus-visible,.menu-toggle:focus-visible,.hero a:focus-visible,.mobile-bar a:focus-visible{outline:2px solid #665030;outline-offset:5px}
body.mobile-menu-open .mobile-bar{visibility:hidden;pointer-events:none}
@media(max-width:1320px){
  .nav-links{display:none}
  .nav-inner{grid-template-columns:minmax(0,1fr) auto auto auto;gap:20px}
  .nav .cta{display:inline-flex}
  .menu-toggle{display:inline-flex}
}
@media(max-width:1060px){
  :root{--header-height:80px;--page-gutter:28px}
  .nav-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:18px}
  .nav-inner>.phone-link{display:none}
  .hero-grid{display:flex;align-items:center;min-height:650px}
  .hero-copy{width:64%;padding:52px 0}
  .hero h1{font-size:clamp(56px,6.5vw,68px)}
  .hero-frame{position:absolute;top:0;bottom:0;left:calc((100vw - 100%) / -2);right:calc((100vw - 100%) / -2);width:auto;margin:0;min-height:0}
  .hero-frame::after{background:linear-gradient(90deg,rgba(243,240,234,.98) 0%,rgba(243,240,234,.93) 36%,rgba(243,240,234,.75) 48%,rgba(243,240,234,.25) 65%,transparent 80%)}
  .hero-text{font-size:17px;max-width:440px}
}
@media(max-width:700px){
  :root{--header-height:68px;--page-gutter:22px}
  .nav-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .nav .cta{display:none}
  .brand-lockup{grid-template-columns:38px auto;column-gap:8px}
  .brand-mark{width:38px}
  .brand-name{font-size:15px}
  .brand-subtitle{display:none}
  .hero{padding:var(--header-height) 0 0;min-height:0}
  .hero-grid{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-copy,.hero-note{display:contents}
  .hero h1{grid-row:1;font-size:clamp(40px,10.8vw,48px);line-height:1.06;letter-spacing:-.04em;margin:28px 0 26px;max-width:540px}
  .hero-frame{grid-row:2;position:relative;inset:auto;width:calc(100% + var(--page-gutter) * 2);margin-left:calc(var(--page-gutter) * -1);height:clamp(230px,66vw,320px);min-height:0}
  .hero-frame img{object-position:68% center}
  .hero-frame::after{background:linear-gradient(180deg,rgba(243,240,234,.05),transparent 25%)}
  .hero-text{grid-row:3;font-size:16px;line-height:1.6;margin:24px 0 0;max-width:560px}
  .hero-actions{grid-row:4;display:flex;margin:14px 0 30px}
  .hero-project-link{font-size:16px;min-height:44px}
  body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .mobile-bar{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:6px;gap:6px}
  .mobile-bar a{font-size:14px;line-height:1.3;letter-spacing:.01em;text-transform:none;min-height:48px;font-weight:600}
  .mobile-quiz{background:#b08a52;color:#17140f}
  .mobile-nav-inner{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .nav *,.hero *,.mobile-nav-panel{transition:none!important}
}
