:root{
  --charcoal:#17120f;
  --charcoal-2:#241a15;
  --paper:#fbf5e9;
  --mat:#f3ead8;
  --mat-deep:#e8d9bf;
  --cream:#fff9ef;
  --brick:#9f2b22;
  --brick-deep:#741d18;
  --oak:#b47a43;
  --sage:#59613f;
  --sage-dark:#3f472f;
  --ink:#211a15;
  --muted:#67594d;
  --line:rgba(33,26,21,.2);
  --light-line:rgba(251,245,233,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--charcoal)}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;margin:0;line-height:1.04;letter-spacing:-.012em;font-weight:560}
h1{font-size:clamp(3.4rem,7.2vw,6.2rem);max-width:8.6ch;color:var(--paper);text-wrap:balance;text-shadow:0 3px 26px rgba(0,0,0,.58)}
h2{font-size:clamp(2.15rem,4.6vw,4.45rem);text-wrap:balance;color:var(--ink)}
h3{font-size:clamp(1.22rem,2vw,1.58rem);letter-spacing:0;color:inherit}
p{margin:0;color:var(--muted);max-width:68ch}.wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}.topbar{position:fixed;z-index:20;top:12px;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.topbar-inner{width:min(1180px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 14px 12px 16px;border:1px solid rgba(255,255,255,.58);border-radius:20px;background:rgba(255,249,239,.72);backdrop-filter:blur(16px) saturate(1.28);-webkit-backdrop-filter:blur(16px) saturate(1.28);box-shadow:0 18px 48px rgba(23,18,15,.18);pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:52px;height:36px;border:2px solid var(--charcoal);box-shadow:inset 0 0 0 4px rgba(255,249,239,.82);display:grid;place-items:center;font-family:"Fraunces",serif;font-weight:650;letter-spacing:.13em;font-size:.76rem;color:var(--brick)}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-family:"Fraunces",serif;font-size:1.06rem;color:var(--charcoal)}.brand-copy small{font-size:.78rem;color:#5d5046;letter-spacing:.03em}.nav-links{display:flex;align-items:center;gap:24px;font-size:.94rem;color:#3a3029}.nav-links a{text-decoration:none}.top-phone{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;background:var(--brick);color:#fff;text-decoration:none;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.hero{position:relative;min-height:100svh;background:var(--charcoal);display:grid;align-items:end;overflow:hidden}.hero #hero-img{position:absolute;inset:0;width:100%;height:100%;min-height:68vh;object-fit:cover;object-position:58% 50%;filter:saturate(.95) contrast(1.03)}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,12,8,.92) 0%,rgba(18,12,8,.8) 26%,rgba(18,12,8,.34) 58%,rgba(18,12,8,.08) 100%),linear-gradient(0deg,rgba(18,12,8,.58) 0%,rgba(18,12,8,.1) 48%,rgba(18,12,8,.34) 100%)}.hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 44px));margin:0 auto;padding:150px 0 82px}.hero-proof{font-weight:700;color:#f0d7b1;margin-bottom:18px;letter-spacing:.02em}.hero-lede{font-size:clamp(1.18rem,2.2vw,1.42rem);color:rgba(251,245,233,.86);max-width:38ch;margin-top:24px;text-shadow:0 2px 18px rgba(0,0,0,.45)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 22px;border-radius:999px;text-decoration:none;font-weight:700;line-height:1;border:1.5px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brick);color:#fff}.btn-primary:hover{background:var(--brick-deep)}.btn-secondary{color:var(--paper);border-color:rgba(251,245,233,.72);background:rgba(251,245,233,.08)}.btn-secondary:hover{background:var(--paper);color:var(--charcoal)}.btn-light{color:var(--paper);border-color:rgba(251,245,233,.55);background:transparent}.btn-light:hover{background:var(--paper);color:var(--charcoal)}section{padding:clamp(62px,7vw,104px) 0}.band-mat{background:var(--mat)}.band-cream{background:var(--cream)}.band-brick{background:var(--brick);color:var(--paper)}.band-sage{background:var(--sage);color:var(--paper)}.band-dark{background:var(--charcoal);color:var(--paper)}.intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.78fr);gap:clamp(42px,6vw,78px);align-items:stretch}.intro-copy{display:flex;flex-direction:column;justify-content:center}.intro-copy h2{margin-bottom:28px}.intro-copy p{font-size:1.08rem;color:#514437;margin-bottom:18px}.studio-figure{margin:0;display:grid;grid-template-rows:1fr auto;border-left:1px solid rgba(33,26,21,.25);padding-left:24px}.studio-figure img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;border:12px solid var(--paper);outline:1px solid rgba(33,26,21,.22)}figcaption{font-size:.94rem;line-height:1.35;color:inherit;opacity:.78;margin-top:14px}.proof-band{background:var(--brick-deep);color:var(--paper);padding:42px 0}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line)}.proof-grid>div{padding:28px 30px;border-right:1px solid var(--light-line)}.proof-grid>div:last-child{border-right:0}.step-number{font-family:"Fraunces",serif;color:#f0c68d;font-size:1.1rem}.proof-grid h3{margin:9px 0 8px;color:#fff}.proof-grid p{color:rgba(251,245,233,.78);font-size:1rem}.wide-head{display:grid;grid-template-columns:.95fr 1fr;gap:42px;align-items:end;margin-bottom:46px;border-bottom:1px solid var(--line);padding-bottom:34px}.wide-head p{font-size:1.12rem;color:#5b4f43}.service-ledger{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-ledger article{padding:34px 32px;min-height:220px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(243,234,216,.42),rgba(243,234,216,0))}.service-ledger h3{margin-bottom:14px;color:var(--brick-deep)}.service-ledger p{color:#52463c;font-size:1.05rem}.reviews-grid{display:grid;grid-template-columns:minmax(280px,.72fr) 1.25fr;gap:clamp(40px,6vw,80px);align-items:start}.reviews h2{color:#fff}.reviews-headline{position:sticky;top:118px}.reviews-headline p{color:rgba(251,245,233,.8);font-size:1.1rem;margin-top:22px}.quote-stack{display:grid;gap:20px}.quote{margin:0;padding:28px 30px;border-top:1px solid rgba(251,245,233,.42);border-bottom:1px solid rgba(251,245,233,.22);background:rgba(23,18,15,.16)}.quote-large{padding-top:34px}.quote blockquote{margin:0;white-space:pre-line;font-family:"Fraunces",Georgia,serif;font-size:clamp(1.12rem,2vw,1.42rem);line-height:1.42;color:#fff}.quote figcaption{margin-top:18px;color:#f0c68d;font-weight:700;opacity:1}.studio-grid{display:grid;grid-template-columns:.86fr 1fr;gap:clamp(38px,6vw,74px);align-items:center}.studio h2{color:#fff}.studio-note p{color:rgba(251,245,233,.84);font-size:1.1rem;margin-top:22px}.text-link{display:inline-flex;margin-top:26px;color:#fff;text-decoration:none;border-bottom:2px solid rgba(251,245,233,.72);font-weight:700}.storefront-figure{margin:0}.storefront-figure img{width:100%;max-height:560px;object-fit:cover;border:14px solid rgba(251,245,233,.92);outline:1px solid rgba(251,245,233,.38)}.visit-grid{display:grid;grid-template-columns:.78fr 1.1fr;gap:clamp(36px,6vw,72px);align-items:stretch}.visit h2{color:#fff}.visit-copy{display:flex;flex-direction:column;justify-content:center}.visit-copy>p{font-size:1.16rem;color:rgba(251,245,233,.82);margin-top:22px}.contact-lines{margin:30px 0 0;padding:22px 0;border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line)}.contact-lines p{color:rgba(251,245,233,.85);margin:3px 0}.contact-lines strong{color:#fff}.visit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.map-wrap{min-height:520px;border:1px solid var(--light-line);background:#0e0b09}.map-wrap iframe{display:block;width:100%;height:100%;min-height:520px;border:0;filter:saturate(.86) contrast(.96)}.footer{background:#0e0b09;color:rgba(251,245,233,.72);padding:26px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer p{color:rgba(251,245,233,.72)}.footer strong{color:#fff}.footer a{color:#fff;font-weight:700;text-decoration:none}
@media (max-width:900px){.nav-links{display:none}.hero{display:flex;flex-direction:column;min-height:auto;padding-top:0}.hero #hero-img{position:relative;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:16/11;object-position:center 52%;filter:saturate(1.02) contrast(1)}.hero-scrim{display:none}.hero-copy{width:100%;padding:34px 22px 46px;background:var(--charcoal);margin:0}.hero-proof{font-size:1rem;margin-bottom:14px}.hero h1{font-size:clamp(2.45rem,13vw,4.1rem);max-width:9.5ch}.hero-lede{font-size:1.12rem;max-width:34ch}.hero-actions .btn{width:100%;max-width:420px}.intro-grid,.wide-head,.reviews-grid,.studio-grid,.visit-grid{grid-template-columns:1fr}.studio-figure{border-left:0;border-top:1px solid rgba(33,26,21,.25);padding-left:0;padding-top:24px}.studio-figure img{min-height:360px}.proof-grid{grid-template-columns:1fr}.proof-grid>div{border-right:0;border-bottom:1px solid var(--light-line)}.proof-grid>div:last-child{border-bottom:0}.service-ledger{grid-template-columns:1fr}.reviews-headline{position:static}.map-wrap,.map-wrap iframe{min-height:390px}.footer-inner{align-items:flex-start;flex-direction:column}.topbar-inner{padding:10px 12px}.brand-copy small{display:none}.top-phone{padding:10px 12px;font-size:.92rem}}
@media (max-width:520px){body{font-size:18px}.wrap{width:min(100% - 34px,1180px)}.brand-mark{width:46px;height:32px}.brand-copy strong{font-size:.96rem}.top-phone{font-size:.88rem;min-height:40px}.topbar{top:10px}.hero-copy{padding-top:30px}.hero h1{letter-spacing:-.006em}.intro-copy p,.studio-note p,.visit-copy>p{font-size:1.02rem}.service-ledger article{padding:28px 22px}.quote{padding:24px 22px}.quote blockquote{font-size:1.08rem}.proof-grid>div{padding:24px 4px}.btn{width:100%;padding-inline:18px}.storefront-figure img{border-width:10px}}
