/* NTWV "Botanical Serenity" design system, ported from the Framer site. */
:root{--ivory:#F8F5EF;--green:#4D6757;--deep:#36513F;--sage:#A8C3B0;--eucalyptus:#7FA28A;--gold:#C8A97E;--taupe:#B6A79B;--blush:#DDB9B0;--stone:#E9E5DF;--ink:#3F3F3F;--muted:#6d6c67;--cream:#fffdf7;--line:rgba(77,103,87,.18);--moss:#4D6757}
*{box-sizing:border-box}
body.ntwv-site{margin:0;min-height:100vh;background:linear-gradient(180deg,#fffdf8 0%,var(--ivory) 42%,#eef4ec 100%);color:var(--ink);font-family:Montserrat, sans-serif}
.ntwv-site a{color:inherit;text-decoration:none}
.ntwv-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,62px);backdrop-filter:blur(18px);background:rgba(248,245,239,.9);border-bottom:1px solid var(--line)}.ntwv-logo{display:flex;align-items:center;gap:12px}.ntwv-logo img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:1px solid rgba(200,169,126,.46);background:#fff}.ntwv-logo small{font-family:Montserrat, sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--deep)}.ntwv-header nav{display:flex;gap:22px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.ntwv-header nav a{opacity:.76}.ntwv-pill,.ntwv-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--deep);color:var(--ivory)!important;padding:13px 20px;font-weight:900;box-shadow:0 18px 42px rgba(77,103,87,.2)}.ntwv-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(310px,.68fr);gap:clamp(32px,6vw,92px);align-items:center;padding:clamp(50px,7vw,98px) clamp(20px,5vw,86px) 48px}.ntwv-kicker,.ntwv-section-title p,.card-tag{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:var(--eucalyptus)}.ntwv-hero h1,.ntwv-page-hero h1{font-family:Cormorant Garamond, serif;font-weight:700;font-size:clamp(52px,8vw,104px);line-height:.92;letter-spacing:0;margin:14px 0 22px;max-width:900px;color:var(--deep)}.ntwv-lede,.ntwv-page-hero p{font-size:clamp(18px,2vw,23px);line-height:1.65;color:var(--muted);max-width:720px}.ntwv-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.ntwv-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(77,103,87,.24);border-radius:6px;padding:13px 20px;font-weight:900;background:rgba(255,253,247,.62)}.ntwv-trustline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:720px}.ntwv-trustline span{padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:rgba(255,253,247,.7);font-size:13px;font-weight:800;color:var(--deep)}.ntwv-hero-card{position:relative;min-height:500px;border-radius:8px;padding:34px;background:linear-gradient(180deg,#fffdf8,#f3f0ea);box-shadow:0 28px 80px rgba(63,63,63,.13);border:1px solid rgba(200,169,126,.34);overflow:hidden;text-align:center}.ntwv-hero-card img{display:block;width:min(260px,88%);aspect-ratio:1;margin:0 auto 20px;border-radius:50%;object-fit:cover;border:1px solid rgba(200,169,126,.45);background:#fff}.ntwv-hero-card h3{position:relative;font-family:Cormorant Garamond, serif;font-size:42px;line-height:1;color:var(--deep);letter-spacing:0;margin:22px 0 28px}.appointment-card-line{position:relative;display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid var(--line);font-weight:800;text-align:left}.appointment-card-line span{color:var(--muted)}.ntwv-note{position:relative;margin-top:26px;border-radius:8px;background:var(--deep);color:var(--ivory);padding:18px;line-height:1.55;text-align:left}.ntwv-section{padding:64px clamp(20px,5vw,86px)}.ntwv-section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.ntwv-section-title h2,.ntwv-experience h2,.ntwv-booking-panel h2,.ntwv-final h2{font-family:Cormorant Garamond, serif;font-size:clamp(38px,5.8vw,76px);line-height:1;letter-spacing:0;color:var(--deep);margin:0;max-width:780px}.ntwv-section-title span,.ntwv-booking-panel span,.ntwv-arch-card span{max-width:480px;color:var(--muted);line-height:1.7}.ntwv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:4px}.ntwv-treatment-card{min-height:255px;border-radius:8px;padding:24px;background:rgba(255,253,247,.78);border:1px solid var(--line);box-shadow:0 18px 60px rgba(63,63,63,.08);position:relative;overflow:hidden}.ntwv-treatment-card:before{content:"";position:absolute;inset:auto 18px 18px auto;width:86px;height:86px;border-radius:50%;background:var(--tone);opacity:.32}.ntwv-treatment-card small{font-weight:900;color:var(--gold)}.ntwv-treatment-card h3{font-family:Cormorant Garamond, serif;font-size:34px;color:var(--deep);letter-spacing:0;margin:28px 0 12px}.ntwv-treatment-card p{color:var(--muted);line-height:1.6}.ntwv-treatment-card strong{position:absolute;bottom:24px;left:24px;color:var(--deep)}.ntwv-experience{display:grid;grid-template-columns:.78fr 1fr;gap:24px;padding:56px clamp(20px,5vw,86px)}.ntwv-arch-card{border-radius:8px;background:var(--deep);color:var(--ivory);padding:40px;min-height:360px;display:flex;flex-direction:column;justify-content:end}.ntwv-arch-card h2{color:var(--ivory)}.ntwv-arch-card span{color:rgba(255,253,247,.78)}.ntwv-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ntwv-step{border-radius:8px;padding:24px;background:rgba(255,253,247,.68);border:1px solid var(--line)}.ntwv-step small{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:white;font-weight:900}.ntwv-step h3{font-family:Cormorant Garamond, serif;font-size:32px;color:var(--deep);letter-spacing:0;margin:18px 0 8px}.ntwv-step p{color:var(--muted);line-height:1.62}.ntwv-booking-panel{margin:56px clamp(20px,5vw,86px);border-radius:8px;background:linear-gradient(135deg,var(--deep),var(--eucalyptus));color:var(--ivory);padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:center;box-shadow:0 28px 80px rgba(77,103,87,.2)}.ntwv-booking-panel .ntwv-kicker,.ntwv-booking-panel h2{color:var(--ivory)}.ntwv-booking-panel span{color:rgba(255,253,247,.82)}.ntwv-book-card{display:grid;gap:12px}.full{width:100%;background:rgba(255,253,247,.96)!important;color:var(--deep)!important}.ntwv-book-card .ntwv-secondary{border-color:rgba(255,255,255,.3)}.ntwv-final{padding:64px 20px 82px;text-align:center}.ntwv-final p{font-weight:900;color:var(--eucalyptus);letter-spacing:.18em;text-transform:uppercase}.ntwv-final h2{margin:0 auto 28px}.ntwv-final a{display:inline-flex;border-radius:6px;background:var(--gold);color:#fff;padding:15px 24px;font-weight:900}.ntwv-page-hero{padding:clamp(50px,7vw,92px) clamp(20px,5vw,86px) 34px;background:linear-gradient(180deg,#fffdf8,var(--ivory))}.ntwv-footer{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;padding:24px clamp(20px,5vw,86px);border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:800}
.ntwv-hero-studio{position:relative;border-radius:8px;min-height:520px;overflow:hidden;box-shadow:0 28px 80px rgba(63,63,63,.16);border:1px solid rgba(200,169,126,.34);background:var(--stone)}.ntwv-hero-studio img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}.ntwv-studio-caption{position:absolute;left:18px;right:18px;bottom:18px;border-radius:8px;background:rgba(255,253,247,.92);padding:20px;border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 54px rgba(40,39,36,.15)}.ntwv-studio-caption h3{font-family:Cormorant Garamond, serif;font-size:34px;line-height:1.05;color:var(--deep);letter-spacing:0;margin:8px 0 0}.ntwv-studio-section{padding:56px clamp(20px,5vw,86px);background:rgba(255,253,247,.54)}.ntwv-studio-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr) minmax(220px,.7fr);grid-auto-rows:minmax(210px,280px);gap:14px}.ntwv-studio-grid img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid rgba(77,103,87,.16);box-shadow:0 18px 54px rgba(40,39,36,.12);background:var(--stone)}.ntwv-studio-grid .wide{grid-row:span 2}
.ntwv-treatment-catalog{display:grid;gap:18px}.ntwv-treatment-group{border:1px solid var(--line);border-radius:8px;background:rgba(255,253,247,.76);box-shadow:0 18px 60px rgba(63,63,63,.08);padding:22px;position:relative;overflow:hidden}.ntwv-treatment-group:before{content:"";position:absolute;inset:0 auto auto 0;width:6px;height:100%;background:var(--tone)}.ntwv-treatment-group h3{font-family:Cormorant Garamond, serif;font-size:38px;color:var(--deep);letter-spacing:0;margin:0 0 16px}.ntwv-treatment-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ntwv-treatment-items .ntwv-treatment-card{min-height:132px;border-radius:8px;padding:16px;background:rgba(255,255,255,.58);border:1px solid rgba(77,103,87,.13);box-shadow:none;position:relative;overflow:visible;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.ntwv-treatment-items .ntwv-treatment-card:before{display:none}.ntwv-treatment-card small{font-weight:900;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.ntwv-treatment-card h4{font-family:Cormorant Garamond, serif;font-size:26px;line-height:1.02;color:var(--deep);letter-spacing:0;margin:6px 0 0}.ntwv-treatment-items .ntwv-treatment-card strong{position:static;color:var(--deep);font-weight:900;white-space:nowrap}.ntwv-book-treatment{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--deep);color:var(--ivory)!important;padding:11px 14px;font-size:13px;font-weight:900}
.ntwv-legal-page{padding:clamp(40px,6vw,80px) clamp(18px,5vw,86px) 70px}.ntwv-legal-card{border:1px solid rgba(255,255,255,.82);border-radius:24px;background:linear-gradient(180deg,rgba(255,253,247,.94),rgba(248,240,227,.86));box-shadow:0 34px 100px rgba(51,71,51,.16);padding:clamp(28px,5vw,58px);max-width:880px;margin:0 auto}.ntwv-legal-card h1{font-family:Cormorant Garamond, serif;font-size:clamp(42px,6vw,72px);line-height:.94;letter-spacing:-.03em;color:var(--green);margin:12px 0 18px}.ntwv-legal-card p{font-size:18px;line-height:1.7;color:var(--muted)}.ntwv-legal-card .ntwv-legal-links{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}.ntwv-legal-card .ntwv-legal-links a{border-radius:14px;padding:11px 16px;background:rgba(51,71,51,.06);font-weight:900;color:var(--green)}
.ntwv-voucher{margin:0 clamp(20px,5vw,86px) 8px;border-radius:8px;border:1px solid var(--line);background:rgba(255,253,247,.8);box-shadow:0 18px 60px rgba(63,63,63,.08);padding:clamp(26px,4vw,42px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.ntwv-voucher h2{font-family:Cormorant Garamond, serif;font-size:clamp(34px,4.5vw,52px);line-height:1;color:var(--deep);margin:10px 0 12px}.ntwv-voucher p{color:var(--muted);line-height:1.7;max-width:620px;margin:0}
@media (max-width:900px){.ntwv-header{position:relative;align-items:flex-start;flex-wrap:wrap}.ntwv-header nav{display:none}.ntwv-logo small{max-width:180px}.ntwv-hero{grid-template-columns:1fr;padding-top:34px;gap:22px}.ntwv-hero h1,.ntwv-page-hero h1{font-size:50px;line-height:.96}.ntwv-lede{font-size:18px;line-height:1.55}.ntwv-hero-studio,.ntwv-hero-studio img{min-height:360px}.ntwv-trustline{grid-template-columns:1fr}.ntwv-section-title{display:block}.ntwv-grid{grid-template-columns:1fr}.ntwv-treatment-items{grid-template-columns:1fr}.ntwv-studio-grid{grid-template-columns:1fr;grid-auto-rows:auto}.ntwv-studio-grid img,.ntwv-studio-grid .wide{grid-row:auto;aspect-ratio:4/3}.ntwv-experience{grid-template-columns:1fr}.ntwv-steps{grid-template-columns:1fr}.ntwv-booking-panel{grid-template-columns:1fr;margin-inline:16px}.ntwv-voucher{grid-template-columns:1fr}.ntwv-footer{flex-direction:column}.ntwv-pill{display:none}}
