
:root{
  --ink:#2b3028;
  --sage:#6f7764;
  --sage-dark:#505848;
  --sage-light:#d8ddcf;
  --cream:#f3ede3;
  --paper:#faf7f0;
  --clay:#b88f78;
  --line:rgba(43,48,40,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.concept-note{height:28px;display:flex;align-items:center;justify-content:center;background:#31372d;color:#cbd0c3;font-size:8px;letter-spacing:.17em}
.header{height:84px;position:absolute;top:28px;left:0;right:0;z-index:20;padding:0 clamp(18px,5vw,74px);display:flex;align-items:center;justify-content:space-between;color:white}
.logo{display:flex;flex-direction:column;line-height:.85}
.logo span{font-family:"Italiana",serif;font-size:29px;letter-spacing:.08em}
.logo small{font-size:6px;letter-spacing:.32em;margin-top:8px;opacity:.68}
.nav{display:flex;gap:30px;font-size:11px}
.nav a{opacity:.8}
.header-cta{font-size:10px;border:1px solid rgba(255,255,255,.46);padding:12px 17px;border-radius:999px}
.hero{min-height:730px;height:calc(100svh - 28px);position:relative;color:white;overflow:hidden}
.hero-photo{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1900&q=88") center 48%/cover no-repeat;transform:scale(1.015)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,45,36,.79),rgba(40,45,36,.47) 50%,rgba(40,45,36,.12)),linear-gradient(0deg,rgba(40,45,36,.5),transparent 43%)}
.grain{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}
.hero-copy{position:absolute;z-index:2;left:clamp(21px,7vw,110px);bottom:180px;max-width:820px}
.eyebrow,.kicker{font-size:9px;letter-spacing:.23em;font-weight:600;color:#9c715b}
.eyebrow{color:#e8d7c4;margin:0 0 21px}
.hero h1,.section h2,.approach h2,.gift-section h2{font-family:"Italiana",serif;font-weight:400;letter-spacing:-.018em}
.hero h1{font-size:clamp(54px,7.7vw,101px);line-height:.96;margin:0}
.hero h1 em,.section h2 em,.approach h2 em,.gift-section h2 em{font-style:italic;color:#e3c8aa}
.lead{max-width:570px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.81);margin:25px 0 29px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{height:51px;padding:0 21px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:11px;font-weight:600}
.primary{background:#e9ddca;color:#34372f}
.ghost{border:1px solid rgba(255,255,255,.43)}
.hero-trust{position:absolute;z-index:3;left:clamp(21px,7vw,110px);bottom:35px;border-top:1px solid rgba(255,255,255,.22);padding-top:18px;display:flex;align-items:center;gap:20px}
.score{display:flex;align-items:center;gap:10px}
.score strong{font-family:"Italiana",serif;font-size:33px;font-weight:400}
.score span,.stars{color:#e7c081;letter-spacing:4px;font-size:10px}
.hero-trust>div:last-child{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.24);padding-left:20px}
.hero-trust>div:last-child strong{font-size:11px}
.hero-trust small{font-size:8px;opacity:.62;margin-top:4px}
.section{padding:105px clamp(20px,6vw,90px)}
.intro{max-width:1000px;margin:auto;text-align:center}
.section h2,.approach h2,.gift-section h2{font-size:clamp(44px,5.7vw,75px);line-height:1.04;margin:16px 0 23px}
.body-copy{max-width:690px;margin:auto;color:#6c7068;font-size:14px;line-height:1.85}
.section-title{margin-bottom:36px}
.needs{padding-top:45px}
.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.need-card{min-height:390px;padding:27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.25s;background:#faf7f0}
.need-card:hover{background:#f0ebdf;transform:translateY(-3px)}
.need-no{font-size:8px;letter-spacing:.16em;color:#999b94}
.need-icon{font-family:"Italiana",serif;font-size:45px;color:#8c9680;margin:auto 0 9px}
.need-card h3{font-family:"Italiana",serif;font-size:33px;font-weight:400;margin:0 0 12px}
.need-card p{font-size:11px;line-height:1.7;color:#73776e;min-height:58px}
.need-card button{border:0;border-top:1px solid var(--line);padding:14px 0 0;margin-top:17px;background:none;color:#50584a;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.approach{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#66705e;color:white}
.approach-photo{background:url("https://images.unsplash.com/photo-1600334089648-b0d9d3028eb2?auto=format&fit=crop&w=1400&q=86") center/cover no-repeat;min-height:600px}
.approach-copy{padding:80px clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:center}
.approach-copy .kicker{color:#d9b9a1}
.approach h2{font-size:clamp(45px,5.1vw,68px)}
.approach-copy>p{font-size:13px;line-height:1.8;color:#d4dacd;max-width:560px}
.steps{margin-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.steps>div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:40px 130px 1fr;align-items:center}
.steps span{font-size:8px;color:#d7b99e}
.steps strong{font-family:"Italiana",serif;font-weight:400;font-size:20px}
.steps small{font-size:9px;color:#bbc3b5}
.menu{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.menu-copy>p:last-child{font-size:12px;line-height:1.8;color:#72766e;max-width:500px}
.menu-list{border-top:1px solid var(--line)}
.menu-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:15px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line)}
.menu-list span{font-size:8px;color:#999d95}
.menu-list strong{font-family:"Italiana",serif;font-size:22px;font-weight:400}
.menu-list small{font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#91958e}
.gift-section{height:610px;position:relative;color:white;display:flex;align-items:center}
.gift-bg{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1608571423902-eed4a5ad8108?auto=format&fit=crop&w=1800&q=86") center/cover no-repeat}
.gift-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,57,48,.82),rgba(52,57,48,.35),rgba(52,57,48,.15))}
.gift-copy{position:relative;z-index:2;margin-left:clamp(22px,7vw,110px);max-width:680px}
.light-kicker{color:#e3c7ae}
.gift-section h2{font-size:clamp(48px,5.8vw,76px)}
.gift-copy>p{font-size:13px;color:#e1e5dd;max-width:490px;line-height:1.7;margin-bottom:25px}
.cream{background:#f0e4d3;color:#343a31}
.reviews{background:#33382f;color:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center}
.reviews-score small{font-size:8px;letter-spacing:.18em;color:#b7bdaf}
.reviews-score strong{font-family:"Italiana",serif;font-size:116px;font-weight:400;line-height:.9;display:block;margin-top:19px}
.reviews-score span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#aab1a4;margin-top:8px}
.review-text{border-left:1px solid rgba(255,255,255,.18);padding-left:8vw}
.review-text .kicker{color:#d6b69f}
.review-text blockquote{font-family:"Italiana",serif;font-size:clamp(31px,3.8vw,52px);line-height:1.15;margin:18px 0 24px}
.review-text>p{font-size:11px;line-height:1.8;color:#bcc2b7;max-width:610px}
.review-text a{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#e0c0a8}
.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;background:#f0e9dc}
.booking-intro>p{font-size:12px;line-height:1.8;color:#74766e;max-width:530px}
.contact{margin-top:30px;border-top:1px solid rgba(43,48,40,.14)}
.contact a{display:flex;flex-direction:column;padding:15px 0;border-bottom:1px solid rgba(43,48,40,.14)}
.contact small,.booking-form label>span{font-size:7px;letter-spacing:.16em;color:#92938c}
.contact strong{font-size:12px;margin-top:4px}
.booking-form{background:#fff;padding:35px;box-shadow:0 18px 60px rgba(55,59,50,.09);display:flex;flex-direction:column;gap:14px}
.booking-form label{display:flex;flex-direction:column;gap:7px}
.booking-form input,.booking-form select{height:50px;padding:0 13px;background:#faf9f6;border:1px solid #ddded9;color:#343932;outline:none;border-radius:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.booking-form button{height:54px;border:0;background:#687260;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:10px;font-weight:600;cursor:pointer}
.booking-form button b{font-size:16px}
.booking-form>small{font-size:8px;color:#989a93}
footer{background:#2e332b;color:white;padding:38px clamp(20px,6vw,90px) 105px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.footer-logo{display:flex;flex-direction:column}
.footer-logo strong{font-family:"Italiana",serif;font-size:27px;font-weight:400;letter-spacing:.08em}
.footer-logo span{font-size:6px;letter-spacing:.23em;margin-top:5px;color:#afb6aa}
footer p{font-size:7px;color:#8f978a;max-width:640px;text-align:right;line-height:1.6}
.mobile-bar{display:none}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .header{height:68px;padding:0 18px}
  .nav,.header-cta{display:none}
  .logo span{font-size:24px}
  .hero{min-height:710px}
  .hero-photo{background-position:60% center}
  .hero-overlay{background:linear-gradient(0deg,rgba(40,45,36,.84),rgba(40,45,36,.42) 62%,rgba(40,45,36,.25))}
  .hero-copy{left:20px;right:20px;bottom:145px}
  .hero h1{font-size:clamp(51px,14vw,68px)}
  .lead{font-size:12px;margin:18px 0 22px}
  .hero-actions .btn{width:100%}
  .hero-actions .ghost{display:none}
  .hero-trust{left:20px;right:20px;bottom:26px}
  .section{padding:72px 20px}
  .intro{text-align:left}
  .body-copy{margin-left:0}
  .section h2,.approach h2,.gift-section h2{font-size:44px}
  .needs{padding-top:35px}
  .needs-grid{grid-template-columns:1fr 1fr}
  .need-card{min-height:310px;padding:20px}
  .need-card h3{font-size:28px}
  .approach{grid-template-columns:1fr}
  .approach-photo{min-height:430px}
  .approach-copy{padding:58px 22px}
  .steps>div{grid-template-columns:35px 105px 1fr}
  .menu{grid-template-columns:1fr;gap:35px}
  .menu-list>div{grid-template-columns:30px 1fr}
  .menu-list small{display:none}
  .gift-section{height:580px}
  .gift-overlay{background:linear-gradient(0deg,rgba(52,57,48,.84),rgba(52,57,48,.3))}
  .gift-copy{margin:0 20px;align-self:flex-end;padding-bottom:75px}
  .reviews{grid-template-columns:1fr;gap:35px}
  .reviews-score strong{font-size:88px}
  .review-text{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:32px}
  .booking{grid-template-columns:1fr;gap:38px;padding-bottom:125px}
  .booking-form{padding:24px 18px}
  footer{display:block}
  footer p{text-align:left;margin-top:17px}
  .mobile-bar{position:fixed;z-index:50;left:9px;right:9px;bottom:9px;background:rgba(47,53,44,.95);backdrop-filter:blur(12px);padding:6px;border-radius:16px;display:grid;grid-template-columns:.7fr 1.5fr;box-shadow:0 14px 35px rgba(0,0,0,.24)}
  .mobile-bar a{height:47px;display:flex;align-items:center;justify-content:center;color:white;font-size:10px;font-weight:600}
  .mobile-bar .mobile-primary{background:#eee3d1;color:#343a31;border-radius:11px}
}
@media(max-width:430px){
  .hero h1{font-size:51px}
  .needs-grid{grid-template-columns:1fr}
  .need-card{min-height:260px}
  .form-row{grid-template-columns:1fr}
}
