:root{--ink:#211D18;--ink2:#2B2620;--bg:#FAF7F1;--sand:#F1EAE0;--cream:#FFFDF9;--brass:#A97E42;--brass-d:#8A6733;--muted:#6E675C;--line:rgba(33,29,24,.14);--line-inv:rgba(250,247,241,.16);--font-head:'Fraunces',Georgia,'Times New Roman',serif;--font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--wrap:1120px;--pad-y:clamp(56px,8vw,104px);--radius:18px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:1.0625rem}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:20px;padding-right:20px}
section{padding-top:var(--pad-y);padding-bottom:var(--pad-y)}
h1,h2,h3,.display{font-family:var(--font-head);font-weight:420;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(2.35rem,5.6vw,4.15rem)}
h2{font-size:clamp(1.85rem,3.4vw,2.8rem)}
h3{font-size:1.25rem;font-weight:500;line-height:1.3}
.kicker{font-family:var(--font-body);font-weight:600;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:18px}
.lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted);max-width:36em;margin-top:18px}
.tick{color:var(--brass);font-weight:600;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:.95rem;letter-spacing:.01em;padding:17px 30px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease;min-height:48px}
.btn:hover{transform:translateY(-1px)}
.btn--brass{background:var(--brass);color:#FFFDF9}
.btn--brass:hover{background:var(--brass-d)}
.btn--ink{background:var(--ink);color:var(--bg)}
.btn--ghost{border-color:currentColor;background:transparent}
.med-nav{position:sticky;top:0;z-index:50;background:rgba(250,247,241,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.med-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}
.med-wm{font-family:var(--font-head);font-weight:500;font-size:1.02rem;letter-spacing:.02em;white-space:nowrap}
.med-wm em{font-style:italic;color:var(--brass)}
.med-nav__links{display:none;gap:28px;font-size:.93rem;color:var(--muted)}
.med-nav__links a:hover{color:var(--ink)}
.med-nav__cta{padding:11px 22px;min-height:42px;font-size:.875rem;white-space:nowrap}
@media(min-width:860px){.med-nav__links{display:flex}}
.hero{position:relative;background:var(--ink);color:#FAF6EE;padding:0;min-height:min(92vh,880px);display:flex;align-items:flex-end;overflow:hidden}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,20,15,.34) 0%,rgba(24,20,15,.38) 45%,rgba(24,20,15,.9) 100%)}
.hero__inner{position:relative;z-index:2;padding:150px 20px 54px;width:100%}
.hero h1{max-width:15em;text-wrap:balance}
.hero .kicker{color:#D9B98A}
.hero__sub{margin:20px 0 32px;font-size:clamp(1.05rem,1.7vw,1.28rem);color:#EAE1D2;max-width:33em}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero__trust{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line-inv)}
.hero__trust span{display:flex;gap:9px;align-items:baseline;font-size:.9rem;color:#D9CFBF}
.offer{background:var(--sand)}
.offer__row{display:grid;gap:44px;align-items:center}
.offer__price{font-family:var(--font-head);font-weight:420;font-size:clamp(3.1rem,7vw,4.7rem);line-height:1;margin:10px 0 6px}
.offer__price small{font-size:.38em;font-weight:500;color:var(--muted);letter-spacing:.01em}
.offer__list{margin-top:26px;display:grid;gap:13px}
.offer__list li{display:flex;gap:12px;align-items:baseline;font-size:1rem}
.offer__note{margin-top:22px;font-size:.85rem;color:var(--muted)}
.offer__media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--cream)}
.offer__media img{width:100%;height:100%;object-fit:cover}
.offer .btn{margin-top:28px}
@media(min-width:900px){.offer__row{grid-template-columns:1.05fr .95fr;gap:72px}}
.treat__grid{display:grid;gap:14px;margin-top:38px;grid-template-columns:1fr}
.card{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.card h3{margin-bottom:8px}
.card p{font-size:.95rem;color:var(--muted)}
@media(min-width:620px){.treat__grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.treat__grid{grid-template-columns:repeat(3,1fr)}}
.why__row{display:grid;gap:44px;align-items:center}
.why__media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--cream)}
.why__media img{width:100%;height:100%;object-fit:cover}
.steps{margin-top:30px;display:grid;gap:22px}
.steps li{display:flex;gap:18px;align-items:baseline}
.steps__n{font-family:var(--font-head);font-size:1.5rem;color:var(--brass);flex:none;width:1.4em}
.steps h3{margin-bottom:4px}
.steps p{font-size:.97rem;color:var(--muted)}
@media(min-width:900px){.why__row{grid-template-columns:.95fr 1.05fr;gap:72px}}
.book{background:var(--ink);color:#FAF6EE;padding-top:clamp(60px,8vw,110px);padding-bottom:clamp(60px,8vw,110px)}
.book .kicker{color:#D9B98A}
.book .lede{color:#CFC5B2}
.book__inner{display:grid;gap:48px}
.book__form{display:grid;gap:14px;margin-top:30px}
.book__form>input,.book__form>select{width:100%;background:#FFFDF9;border:0;border-radius:999px;color:var(--ink);padding:17px 26px;font-size:1rem;font-family:var(--font-body);appearance:none;-webkit-appearance:none}
.book__form>select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236E675C' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 24px center}
.book__form>input::placeholder{color:#6E675C}
.book__form>input:focus,.book__form>select:focus{outline:2px solid var(--brass);outline-offset:2px}
.book__form .btn{width:100%;margin-top:8px}
.book__fine{font-size:.82rem;color:#9C927F;margin-top:14px;text-align:center}
.book__thanks{text-align:center;padding:36px 8px}
.book__thanks-tick{display:inline-flex;width:54px;height:54px;border-radius:999px;background:var(--brass);color:#FFFDF9;font-size:1.5rem;align-items:center;justify-content:center;margin-bottom:16px}
.book__thanks h3{margin-bottom:10px}
.book__thanks p{color:#CFC5B2}
.faq__list{margin-top:26px;border-top:1px solid var(--line-inv)}
.faq__item{border-bottom:1px solid var(--line-inv)}
.faq__item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:var(--font-head);font-weight:500;font-size:1.08rem}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:1.35rem;color:#9C927F;flex:none;transition:transform .2s ease}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding:0 0 20px;color:#CFC5B2;font-size:.97rem;max-width:44em}
@media(min-width:940px){.book__inner{grid-template-columns:1.05fr .95fr;gap:76px;align-items:start}}
.med-footer{background:var(--ink);color:#B7AC99;font-size:.94rem;padding:58px 0 34px;border-top:1px solid var(--line-inv)}
.med-footer__grid{display:grid;gap:32px}
.med-footer h4{font-family:var(--font-body);font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#EDE5D6;margin-bottom:14px}
.med-footer p{margin-bottom:10px}
.med-footer__links{display:grid;gap:9px}
.med-footer a:hover{color:#F5EFE3}
.med-footer .med-wm{color:#F5EFE3;font-size:1.1rem}
.med-footer__tag{margin-top:14px;max-width:27em}
.med-footer__fine{margin-top:40px;padding-top:22px;border-top:1px solid var(--line-inv);font-size:.8rem;color:#8B8170;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
@media(min-width:820px){.med-footer__grid{grid-template-columns:2fr 1fr 1fr}}
.cms-footer,.site-footer{background:var(--ink);color:#B7AC99}
@media(max-width:540px){.hero h1{font-size:clamp(1.9rem,8.6vw,2.5rem)}.med-wm{font-size:.86rem}.med-nav__cta{padding:9px 15px;font-size:.8rem}.hero__inner{padding-top:120px}}