:root{color-scheme:dark;--ink:#0B1512;--pine:#12241E;--line:#27392F;--bone:#EDE8DC;--mute:#A9A595;--brass:#B8944F;--brass-hi:#EAD9A8;
--display:'Cormorant Garamond','Iowan Old Style',Georgia,serif;--text:'Jost','Avenir Next','Helvetica Neue',sans-serif;--gut:clamp(16px,5vw,88px)}
*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--text);font-size:17px;line-height:1.65;font-weight:300;overflow-x:clip}
h1,h2,h3,p,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--brass-hi);outline-offset:4px}
img{display:block;max-width:100%}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass)}
.display{font-family:var(--display);font-weight:300;line-height:1;letter-spacing:-.01em;text-wrap:balance}
.display em{font-style:italic;color:var(--brass-hi)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border:1px solid var(--brass);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:background .3s,color .3s}
.btn:hover{background:var(--brass);color:var(--ink)}
.btn--solid{background:var(--brass);color:var(--ink)}
.btn--solid:hover{background:var(--brass-hi)}
.btn svg{width:16px;height:16px;flex:none}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--gut);background:rgba(11,21,18,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px}
.brand svg{width:34px;height:34px;flex:none}
.brand span{font-family:var(--display);font-size:20px;letter-spacing:.26em;font-weight:500}
.nav__links{display:flex;gap:32px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.nav__links a:hover{color:var(--brass-hi)}
.nav__cta{display:flex;align-items:center;gap:24px}
.nav__tel{font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--brass-hi);white-space:nowrap}
.nav .btn{min-height:44px;padding:0 18px}
.crumbs{padding:22px var(--gut) 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);display:flex;flex-wrap:wrap;gap:8px}
.crumbs a:hover{color:var(--brass-hi)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line)}
.hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(40px,6vw,90px) var(--gut) clamp(60px,8vw,120px)}
.hero__copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.hero h1{font-size:clamp(42px,5.6vw,92px)}
.hero__lede{font-size:clamp(17px,1.4vw,21px);color:var(--bone);opacity:.86;max-width:52ch}
.hero__row{display:flex;flex-wrap:wrap;gap:14px}
.photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--pine)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;left:14px;bottom:12px;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;background:rgba(7,14,12,.74);padding:7px 11px}
.band{padding:clamp(60px,8vw,120px) var(--gut);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(28px,6vw,100px)}
.band--light{background:var(--bone);color:var(--ink);border-top:0}
.band--light .eyebrow{color:#8C6B30}
.band--light .display em{color:#8C6B30}
.band__head{display:flex;flex-direction:column;gap:14px}
.band__head h2{font-size:clamp(34px,4.2vw,64px)}
.ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));column-gap:40px;border-top:1px solid #C9C2B1}
.ticks li{padding:16px 0;border-bottom:1px solid #C9C2B1;font-weight:400}
.notes{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.notes li{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:20px}
.notes h3{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.15;color:var(--brass-hi)}
.notes p{color:var(--mute);max-width:60ch}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px;counter-reset:s}
.steps li{counter-increment:s;border-top:1px solid var(--brass);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-size:22px;color:var(--brass)}
.steps b{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.15}
.steps span{color:var(--mute);font-size:15px;line-height:1.5}
.faq{border-top:1px solid var(--line)}
.faq div{padding:26px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.faq dt{font-family:var(--display);font-size:clamp(23px,2.1vw,30px);line-height:1.2}
.faq dd{color:var(--mute);max-width:64ch}
.cost{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:26px}
.cost__fig{font-family:var(--display);font-weight:300;font-size:clamp(56px,7vw,112px);line-height:.95;color:var(--brass-hi);font-variant-numeric:tabular-nums}
.cost__fig small{display:block;font-family:var(--text);font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.cost__fig span{font-family:var(--text);font-size:15px;font-weight:400;letter-spacing:.06em;color:var(--mute);margin-left:12px}
.cost__range{font-size:19px}
.cost__range b{font-weight:500;color:var(--bone)}
.cost__label{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-top:14px}
.cost__list li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--mute)}
.cost__list li:first-child{border-top:1px solid var(--line)}
.cost__fine,.cost>p:last-child{font-size:14px;color:var(--mute);max-width:64ch}
.links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border-top:1px solid var(--line)}
.links a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:17px 4px;border-bottom:1px solid var(--line);font-family:var(--display);font-size:23px;line-height:1.15;transition:color .3s,padding .3s}
.links a:hover{color:var(--brass-hi);padding-left:12px}
.links a span{font-family:var(--text);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.group{display:flex;flex-direction:column;gap:14px;padding-bottom:36px}
.group h2{font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);font-family:var(--text)}
.cta{padding:clamp(70px,10vw,150px) var(--gut);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:30px;align-items:flex-start}
.cta h2{font-size:clamp(40px,6.4vw,110px)}
.cta p{color:var(--mute);max-width:56ch}
.foot{padding:40px var(--gut) 120px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px;font-size:15px;color:var(--mute)}
.foot h2{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-bottom:12px;font-family:var(--text)}
.foot a:hover{color:var(--brass-hi)}
.foot li{padding:3px 0}
.callbar{display:none}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (max-width:1100px){.nav__tel{display:none}}
@media (max-width:860px){
  .nav__links,.nav__book{display:none}
  .hero,.band{grid-template-columns:minmax(0,1fr)}
  .notes li{grid-template-columns:minmax(0,1fr);gap:8px}
  .callbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:18;background:rgba(7,14,12,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
  .callbar a:first-child{background:var(--brass);color:var(--ink)}
  .callbar a:last-child{border:1px solid var(--brass)}
  .callbar svg{width:16px;height:16px}
}
@media (min-width:861px){.nav__call{display:none}}
@media (max-width:480px){.brand span{display:none}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
