:root{--cream-50:#FBF8F1;--cream-100:#F6EFE1;--cream-200:#EEE3CC;--sand-300:#DCCBA8;--sand-400:#C7B190;--sage-100:#E7ECDD;--sage-400:#9EB187;--sage-700:#56643F;--sage-900:#333D26;--terracotta-200:#EFC9AE;--terracotta-500:#BE6E3E;--terracotta-600:#A6572C;--ink-900:#3A3226;--ink-700:#574E3F;--ink-500:#857A66;--display:'Cormorant Garamond','Iowan Old Style',Georgia,serif;--body:'Lora',Georgia,serif;--sans:'Jost','Segoe UI',sans-serif;--shadow:0 1px 2px rgba(70,50,30,.06),0 16px 40px rgba(70,50,30,.10);--w:1040px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-50);color:var(--ink-900);font-family:var(--body);font-size:17px;line-height:1.65}
a{color:var(--sage-700);text-decoration:none}a:hover{color:var(--terracotta-500)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;color:var(--ink-900);margin:0;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
.wrap{max-width:var(--w);margin:0 auto}
.eyebrow{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta-500)}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:15px;letter-spacing:.04em;font-weight:500;padding:14px 28px;border-radius:999px;background:var(--terracotta-500);color:var(--cream-50);border:1px solid transparent;transition:background-color .2s}
.btn:hover{background:var(--terracotta-600);color:var(--cream-50)}
.btn.lg{padding:17px 34px;font-size:16px}
.btn.outline{background:transparent;color:var(--sage-700);border-color:var(--sage-700)}
.btn.outline:hover{background:var(--sage-100);color:var(--sage-700)}
.card{background:var(--cream-100);border:1px solid var(--sand-300);border-radius:28px;box-shadow:var(--shadow)}
.photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.heading{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.heading h1,.heading h2{font-size:clamp(34px,5vw,44px);line-height:1.15}
.heading .sub{font-size:20px;color:var(--ink-700);max-width:60ch}
.divider{display:flex;align-items:center;justify-content:center;gap:10px}.divider span{width:48px;height:1px;background:var(--sage-400)}.divider i{width:7px;height:7px;border-radius:50%;background:var(--terracotta-500)}
header{position:sticky;top:0;z-index:20;background:var(--cream-50);border-bottom:1px solid var(--sand-300)}
header .wrap{padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.brand{font-family:var(--display);font-size:24px;font-weight:500;color:var(--ink-900);letter-spacing:.01em}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
nav a{font-family:var(--sans);font-size:15px;letter-spacing:.03em;color:var(--ink-700)}
nav a.on{color:var(--terracotta-500)}
section{padding:96px 24px}
.hero{background:linear-gradient(180deg,var(--sage-100) 0%,var(--cream-50) 100%);padding:96px 24px 64px}
.grid2{display:grid;gap:64px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center}
.hero h1{font-size:clamp(40px,6vw,60px);line-height:1.15;letter-spacing:-.01em}
.row{display:flex;flex-wrap:wrap;gap:16px}
.quote{text-align:center;max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:24px;align-items:center}
.quote blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(24px,3.4vw,32px);line-height:1.35;color:var(--sage-700)}
.quote figcaption{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}
.cards{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:64px}
.svc{padding:32px;display:flex;flex-direction:column;gap:16px;color:inherit}
.svc:hover{border-color:var(--sand-400);color:inherit}
.svc h3{font-size:24px;font-weight:600;line-height:1.35}
.svc p{color:var(--ink-700)}
.more{font-family:var(--sans);font-size:15px;color:var(--sage-700);letter-spacing:.03em}
.tq{margin:0;background:var(--cream-50);border:1px solid var(--sand-300);border-radius:28px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.tq blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.65;color:var(--sage-700)}
.tq figcaption{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500)}
.prose{display:flex;flex-direction:column;gap:24px;color:var(--ink-700)}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:48px}
.pills a{font-family:var(--sans);font-size:15px;letter-spacing:.03em;padding:12px 22px;border-radius:999px;border:1px solid var(--sand-300);color:var(--ink-700)}
.pills a:hover{background:var(--sage-700);border-color:transparent;color:var(--cream-50)}
.service{max-width:900px;margin:0 auto 48px;padding:64px;scroll-margin-top:110px}
.service h2{font-size:clamp(32px,4.5vw,44px);line-height:1.15;margin:16px 0 24px}
.service .lead{font-size:20px;color:var(--ink-700);max-width:62ch}
.service .body{display:flex;flex-direction:column;gap:16px;margin-top:32px;max-width:66ch;color:var(--ink-700)}
.service h3{font-size:24px;font-weight:600;line-height:1.35;margin-top:16px}
.service ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.service li{display:flex;gap:16px}.service li::before{content:'\2022';color:var(--terracotta-500);flex:none}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:32px;margin-top:48px;padding-top:48px;border-top:1px solid var(--sand-300)}
.meta .lbl{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-700);margin-bottom:12px}
.meta .push{margin-left:auto}
.event{padding:32px;display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.event .txt{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px;color:var(--ink-700)}
.event h3{font-size:32px;line-height:1.35}
.event .lede{font-family:var(--display);font-style:italic;font-size:20px;line-height:1.35;color:var(--sage-700)}
.event .side{flex:0 1 260px;min-width:200px;display:grid;gap:16px}
.event .side img{border-radius:14px;border:1px solid var(--sand-300);width:100%}
.dash{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.dash li{display:flex;gap:16px}.dash li::before{content:'\2014';color:var(--terracotta-500);flex:none}
.details{margin-top:12px;padding-top:16px;border-top:1px solid var(--sand-300);display:flex;flex-direction:column;gap:8px}
.closing{font-family:var(--display);font-style:italic;font-size:20px;color:var(--sage-700);margin-top:8px}
.soft{background:var(--sage-100);border-radius:28px;padding:32px;text-align:center}
.rate{padding:32px;display:flex;flex-direction:column;gap:16px}
.rate .price{font-family:var(--display);font-size:44px;font-weight:500;line-height:1}
.book{background:var(--sage-900);text-align:center;color:var(--cream-200)}
.book h2{font-size:clamp(32px,4.5vw,44px);line-height:1.15;color:var(--cream-100);margin:16px 0 24px}
.book .eyebrow,.book figcaption{color:var(--terracotta-200)}
.contact{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;margin-top:48px}
.contact a{color:var(--cream-200)}.contact a:hover{color:var(--terracotta-200)}
footer{border-top:1px solid var(--sand-300);padding:48px 24px}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;font-family:var(--sans);font-size:15px;color:var(--ink-500)}
footer nav a{color:var(--ink-500)}
footer .c{display:flex;flex-direction:column;gap:8px;text-align:right}
footer .c a{color:var(--ink-500)}
@media (max-width:640px){section{padding:64px 20px}.service{padding:32px 24px}.meta .push{margin-left:0}footer .c{text-align:left}}
