:root{
  --sage:#a2baae;
  --sage-dark:#789589;
  --cream:#f4eee1;
  --text:#2f3437;
  --muted:#6f7678;
  --line:#e7ece8;
  --white:#fff;
  --copper:#d3b7a5;
  --soft:#f8f8f8;
  --max:1120px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Helvetica Neue",Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65;font-size:16px;font-weight:300}.topbar{height:78px;display:flex;align-items:center;justify-content:center;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(0,0,0,.04)}.nav{width:min(var(--max),92vw);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.nav-left,.nav-right{display:flex;gap:36px;align-items:center}.nav-left{justify-content:flex-end}.nav-right{justify-content:flex-start}.nav a{text-decoration:none;color:#3e4346;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:500}.nav a:hover{color:var(--sage-dark)}.brand{display:inline-flex;align-items:center;justify-content:center;border:2px solid #3a3d3e;color:#222;height:24px;min-width:86px;font-size:18px;font-weight:700;letter-spacing:.08em;line-height:1;padding:0 7px;position:relative}.brand small{font-size:7px;font-weight:400;letter-spacing:.05em;position:absolute;right:7px;bottom:-7px;background:#fff;padding:0 2px}.hero{width:min(1400px,calc(100vw - 36px));margin:0 auto;background:var(--cream);min-height:365px;display:flex;align-items:center;justify-content:center;text-align:center}.hero h1{color:#fff;font-weight:300;font-size:34px;margin:0 0 12px;letter-spacing:.02em}.hero p{color:#fff;margin:0 0 20px;font-size:12px;letter-spacing:.12em}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--sage-dark);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:11px;border-radius:3px;padding:13px 24px;border:1px solid rgba(255,255,255,.25);transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(.95)}section{padding:70px 22px}.container{width:min(var(--max),92vw);margin:0 auto}.narrow{width:min(720px,92vw);margin:0 auto;text-align:center}.icon{color:var(--copper);font-size:30px;line-height:1;margin-bottom:18px}.icon::before{content:"✤"}h2{font-weight:300;text-align:center;font-size:29px;margin:0 0 28px;letter-spacing:.01em}h3{font-weight:300;font-size:26px;margin:0 0 18px}.subline{width:58px;height:1px;background:var(--line);margin:0 auto 22px}.lead{color:var(--muted);font-size:14px}.intro-grid{display:grid;grid-template-columns:1fr 300px;gap:80px;align-items:center;margin-top:56px}.intro-text{text-align:center}.portrait{width:100%;height:auto;display:block}.sage-section{background:var(--sage);color:#fff;padding:64px 22px}.sage-section h2,.sage-section .lead{color:#fff}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:42px}.card{background:#fff;color:var(--text);text-align:center;box-shadow:0 2px 0 rgba(0,0,0,.02)}.card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.card-body{padding:18px 14px 24px}.card h3{font-size:18px;margin:0 0 2px}.role{font-size:13px;color:#596063;margin-bottom:18px}.card p{font-size:12px;color:#697073;margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 80px;margin-top:64px;text-align:center}.service .icon{margin-bottom:10px}.service h4{font-size:17px;font-weight:300;margin:0 0 12px}.service p{font-size:13px;color:var(--muted);margin:0}.prices{background:var(--soft)}.price-wrap{width:min(760px,92vw);margin:0 auto}.price-note{text-align:center;font-size:13px;color:#6d7477;margin-bottom:42px}.price-box{background:#fff;border:1px solid #eef1ef;margin:0 0 38px}.price-title{background:var(--sage);color:#fff;text-align:center;font-size:26px;font-weight:300;padding:18px 20px}.price-list{padding:20px 28px}.row{display:grid;grid-template-columns:1fr auto;gap:20px;border-bottom:1px solid #edf0ef;padding:13px 0}.row:last-child{border-bottom:none}.row strong{font-size:13px;letter-spacing:.05em}.row span{font-weight:500;white-space:nowrap}.desc{font-size:12px;color:#7a8082;margin-top:2px}.opening-grid{display:grid;grid-template-columns:1fr 310px;gap:80px;align-items:center}.hours{text-align:center}.hours table{margin:20px auto 0;border-collapse:collapse;font-size:14px;color:#4d5356}.hours td{padding:3px 12px;text-align:left}.review{text-align:center;padding-top:20px}.review-card{display:inline-block;max-width:520px;color:#4d5356}.avatar{width:54px;height:54px;border-radius:50%;background:#6f75f0;color:#fff;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-weight:600}.stars{color:#e7a92b;letter-spacing:2px}.contact{background:var(--sage);color:#fff;text-align:center;padding:76px 22px}.contact h2,.contact .lead{color:#fff}.footer{background:#f7f7f7;padding:34px 22px;color:#6a7072;font-size:13px}.footer-inner{width:min(var(--max),92vw);margin:0 auto;display:flex;justify-content:space-between;gap:25px;align-items:center}.footer a{color:#4b5355;text-decoration:none;margin-left:18px}.legal-page{padding:78px 22px}.legal-page .container{max-width:850px}.legal-page h1{font-weight:300;text-align:center;font-size:38px;margin:0 0 54px}.legal-page h2{text-align:left;font-size:24px;margin-top:34px}.legal-page p,.legal-page li{color:#555d60}.legal-page hr{border:0;border-top:1px solid #eceeed;margin:34px 0}.mobile-menu{display:none}
@media(max-width:900px){.topbar{height:auto;padding:18px 0}.nav{display:flex;flex-direction:column;gap:16px}.nav-left,.nav-right{justify-content:center;flex-wrap:wrap;gap:18px}.hero{min-height:300px}.hero h1{font-size:28px}.intro-grid,.opening-grid{grid-template-columns:1fr;gap:34px}.portrait{max-width:330px;margin:0 auto}.team-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr;gap:34px}.footer-inner{flex-direction:column;text-align:center}.footer a{margin:0 9px}}
@media(max-width:560px){body{font-size:15px}.team-grid{grid-template-columns:1fr}.price-list{padding:16px}.row{grid-template-columns:1fr}.nav a{font-size:10px}.hero{width:100%;min-height:260px}.hero h1{font-size:24px}section{padding:52px 18px}.contact{padding:58px 18px}}
