:root{--green:#44633E;--deep:#2E4729;--darkest:#243A21;--linen:#F4F0EA;--blush:#EAD9D0;--rose:#9E4B3C;--accent:#C4471B;--ink:#2B2A27;--muted:#5F5A52;--line:#E2DACE}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Prompt',system-ui,sans-serif;font-weight:300;color:var(--ink);background:var(--linen);line-height:1.6;font-size:16px}
img{display:block;max-width:100%}
a{color:var(--green)}a:hover{color:var(--deep)}
h1,h2{margin:0;font-weight:500;color:var(--deep);line-height:1.1}
h2{font-size:clamp(34px,5vw,52px)}
p{margin:0}
em{font-style:italic}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.narrow{max-width:860px}
.muted{color:var(--muted)}.small{font-size:14px}
.accent{color:var(--accent);font-weight:400;font-size:15px}
.center{text-align:center;display:flex;justify-content:center}
.eyebrow{font-size:13px;letter-spacing:.2em;color:var(--accent);font-weight:400;margin-bottom:8px}
.eyebrow.rose{color:var(--rose)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.stack-20,.stack-24,.stack-32,.stack-40{display:flex;flex-direction:column}
.stack-20{gap:20px}.stack-24{gap:24px}.stack-32{gap:32px}.stack-40{gap:40px}

.topbar{background:var(--green);color:var(--linen);font-size:13px;padding:8px 24px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px;text-align:center}
.nav{padding-top:16px;padding-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{border-radius:26px}
.brand span{font-size:24px;letter-spacing:.24em;color:var(--deep);font-weight:500}
.nav-links{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:15px}
.nav-links a{text-decoration:none;color:var(--ink)}

.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;border-radius:999px;font-weight:400;border:1px solid var(--green);transition:background .15s}
.btn:hover{background:var(--deep);color:#fff}
.btn-sm{padding:12px 24px;font-size:15px}
.btn-lg{padding:15px 32px;font-size:17px}
.btn-ghost{background:transparent;color:var(--deep)}
.btn-ghost:hover{background:#fff;color:var(--deep)}
.btn-light{background:var(--linen);color:var(--deep);border-color:var(--linen);padding:14px 28px}
.btn-light:hover{background:#fff;color:var(--deep)}
.btn-outline-light{border:1px solid var(--linen);color:var(--linen);text-decoration:none;padding:13px 27px;border-radius:999px}
.btn-outline-light:hover{background:rgba(255,255,255,.1);color:#fff}

.hero{padding-top:24px;padding-bottom:72px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-text{flex:1 1 440px;display:flex;flex-direction:column;gap:24px}
.hero h1{font-size:clamp(48px,7vw,72px);line-height:1.02}
.hero h1 em{color:var(--rose)}
.lead{font-size:clamp(17px,2vw,20px);line-height:1.7;max-width:520px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--muted)}
.ticks span{display:flex;align-items:center;gap:8px}
.ticks svg{width:18px;height:18px;fill:none;stroke:var(--green);stroke-width:1.6}
.hero-media{flex:1 1 420px;display:flex;gap:16px;align-items:flex-end}
.arch-tall{flex:3 1 0;border-radius:240px 240px 24px 24px;overflow:hidden;height:560px;background:#E6DFD4}
.hero-side{flex:2 1 0;display:flex;flex-direction:column;gap:16px}
.hero-side .card-img{height:240px;border-radius:24px}
.price-card{background:#fff;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}
.price-card .serif{font-size:40px;color:var(--deep);line-height:1}

.card-img{border-radius:16px;overflow:hidden;background:#E6DFD4}
.card-img img,.arch img,.arch-tall img,.arch-room img{width:100%;height:100%;object-fit:cover}

.band{padding:88px 0}
.band.white{background:#fff}
.band.blush{background:var(--blush)}
.band.green{background:var(--green);color:var(--linen)}
.band.green h2{color:var(--linen)}
.band.deep{background:var(--deep);color:var(--linen)}
.band.deep h2{color:var(--linen);font-size:clamp(32px,4vw,44px)}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.section-head p{max-width:460px}

.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.svc{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:12px}
.svc .muted{font-size:15px}
.arch{height:320px;border-radius:160px 160px 16px 16px;overflow:hidden;background:#E6DFD4}
.svc-name{font-size:28px;color:var(--deep);line-height:1.1}

.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split>*{flex:1 1 420px}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pair .card-img{height:300px}
.pair .offset{margin-top:48px}
#lips h2 em{font-style:italic}
#lips p{font-size:17px}
.panel{background:#fff;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:16px}
.panel-title{font-weight:400;color:var(--deep)}
.heal{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:16px;font-size:14px}
.heal div{display:flex;flex-direction:column;gap:4px}
.heal .serif{font-size:22px;color:var(--rose)}

.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{font-family:inherit;font-size:14px;border:1px solid #CFC6B8;background:transparent;color:var(--ink);padding:9px 19px;border-radius:999px;cursor:pointer}
.filters button.on{background:var(--deep);border-color:var(--deep);color:#fff}
.gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.gallery figure{margin:0;display:flex;flex-direction:column;gap:8px}
.gallery figure[hidden]{display:none}
.gallery .card-img{aspect-ratio:4/5}
.gallery figcaption{font-size:14px;color:var(--muted)}

blockquote{margin:0;background:var(--linen);color:var(--ink);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px}
blockquote .serif{font-size:26px;line-height:1.3;color:var(--deep)}

.grid-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.price-box{border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column}
.box-title{font-size:30px;color:var(--deep);margin-bottom:8px}
.line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #EFE9E0}
.line:last-of-type{border-bottom:0}
.line b{font-weight:400;white-space:nowrap}
.line small{font-size:13px;color:var(--muted)}
.note{font-size:13px;color:var(--rose);margin-top:8px}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:center}
.stats div{background:#fff;border-radius:16px;padding:20px 8px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.stats .serif{font-size:32px;color:var(--deep);line-height:1.1}
.studio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.arch-room{height:460px;border-radius:200px 200px 16px 16px;overflow:hidden}
.studio-side{display:flex;flex-direction:column;gap:16px}
.studio-side .card-img{height:222px}

.step{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:20px;background:var(--linen)}
.step .serif{font-size:44px;color:var(--accent);line-height:1}
.step b{font-weight:400;font-size:18px}

details{background:#fff;border-radius:16px;padding:20px 24px}
summary{font-weight:400;font-size:17px;cursor:pointer}
details p{margin-top:12px}

.contact{display:flex;flex-direction:column;gap:8px}
.contact a{color:var(--linen)}
.map{min-height:360px;border-radius:20px;overflow:hidden;background:#3C5937}
.map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}

footer{background:var(--darkest);color:#C9D3C4;padding:24px;font-size:13px;text-align:center}

.float-line{display:none;position:fixed;right:16px;bottom:16px;z-index:10;background:#06C755;color:#fff;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:400;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.float-line:hover{color:#fff}

@media (max-width:720px){
  .band{padding:64px 0}
  .nav-links{order:3;width:100%;justify-content:space-between;font-size:14px}
  .hero{gap:32px;padding-bottom:48px}
  .arch-tall{height:420px}
  .hero-side .card-img{height:180px}
  .price-card .serif{font-size:32px}
  .pair .card-img{height:220px}
  .arch-room{height:340px}
  .studio-side .card-img{height:162px}
  .split{gap:36px}
  .float-line{display:block}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .arch{height:220px;border-radius:110px 110px 12px 12px}
  .svc-name{font-size:22px}
  .svc .muted{font-size:13px}
  footer{padding-bottom:84px}
}

.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:20;max-width:720px;margin:0 auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:14px}
.consent p{flex:1 1 320px}
.consent-actions{display:flex;gap:10px;margin-left:auto}
.consent button{font-family:inherit;font-size:14px;border-radius:999px;padding:10px 20px;cursor:pointer}
.consent-no{background:transparent;border:1px solid #CFC6B8;color:var(--ink)}
.consent-yes{background:var(--green);border:1px solid var(--green);color:#fff}
body.has-consent .float-line{display:none}
.legal{padding:48px 24px 88px}
.legal h1{font-size:clamp(34px,5vw,48px);margin-bottom:24px}
.legal h2{font-size:24px;margin:32px 0 8px;font-family:'Prompt',system-ui,sans-serif;font-weight:400}
.legal p,.legal li{color:var(--muted)}
.legal button{font-family:inherit;font-size:15px;margin-top:16px;padding:12px 24px;border-radius:999px;border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer}
.is-promo s{opacity:.7;font-weight:300}
