
@font-face{font-family:'Playfair Display';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}
:root{
  --oat:#F7F2EC; --coral:#F4A28E; --coral-hover:#EE8F78; --coral-ink:#3A2620; --sand:#D4C4B7; --terra:#C29B84; --terra-deep:#8E5E48; --sage:#8A9A86; --oak:#C5B19D;
  --bone:#F4EFE8; --ivory:#FAF7F2; --ink:#3B322C; --soft:#6A5D53; --line:#D9CCBE;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--oat) url(plaster.jpg) center/700px repeat;color:var(--ink);font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:.005em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}
.eyebrow{font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-deep);font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 30px;border-radius:999px;font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s}
.btn-solid{background:var(--coral);color:var(--coral-ink)}
.btn-solid:hover{background:var(--coral-hover)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--coral)}
.btn-line:hover{background:rgba(255,255,255,.4)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(250,246,241,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(185,167,151,.35)}
.bar{display:flex;align-items:center;justify-content:flex-end;height:58px}
.logo{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.logo b{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:.32em}
.logo i{font-style:normal;font-size:10.5px;letter-spacing:.42em;color:var(--terra-deep);margin-top:4px;padding-left:2px}
nav.links{display:none;gap:34px;align-items:center}
nav.links a{text-decoration:none;font-size:16px;letter-spacing:.04em}
nav.links a:hover{color:var(--terra-deep)}
.menu-btn{width:48px;height:48px;margin-right:-10px;border:0;background:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;cursor:pointer}
.menu-btn span{width:24px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .25s}
.menu-open .menu-btn span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){opacity:0}
.menu-open .menu-btn span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
.drawer{display:none;border-top:1px solid rgba(185,167,151,.35);padding:10px 22px 26px}
.menu-open .drawer{display:block}
.drawer a{display:block;padding:15px 0;font-family:var(--serif);font-size:30px;text-decoration:none;border-bottom:1px solid rgba(185,167,151,.3)}
.drawer .btn{margin-top:22px;width:100%}

/* hero */
.hero{position:relative}
.hero-photo{position:relative;aspect-ratio:982/1602;max-height:calc(100svh - 40px);width:100%;overflow:hidden}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 20%}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(35,26,22,.34) 0%,rgba(35,26,22,.08) 34%,rgba(35,26,22,.06) 48%,rgba(30,22,18,.42) 74%,rgba(30,22,18,.18) 100%)}
.wordmark{position:absolute;z-index:2;left:0;right:0;top:6%;text-align:center;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.wordmark b{display:block;font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(76px,24vw,150px);line-height:.9;letter-spacing:.04em}
.wordmark i{display:block;font-style:normal;font-family:'Montserrat',var(--sans);font-weight:600;font-size:clamp(15px,4.6vw,26px);letter-spacing:.42em;margin-top:12px;padding-left:.42em}
.tagline{position:absolute;z-index:2;left:6%;right:6%;top:60%;margin:0;text-align:center;color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,6.2vw,36px);line-height:1.35;text-shadow:0 2px 18px rgba(0,0,0,.45);text-wrap:balance}
.hero-text{position:relative;text-align:center;padding:34px 22px 40px}
.hero-text h1,.h1like{display:block;font-size:38px;font-weight:500;line-height:1.1}
.h1like em{font-style:italic;color:var(--terra-deep)}
.hero-text h1 em{font-style:italic;font-weight:400;color:var(--terra-deep)}
.hero-text p{max-width:30ch;margin:16px auto 0;color:var(--soft);font-size:18px}
.hero-cta{display:flex;flex-direction:column;gap:12px;margin:30px auto 0;max-width:340px}

/* sections */
section{padding:64px 0}
.head{text-align:center;max-width:620px;margin:0 auto 40px}
.head h2{font-size:46px;margin-top:10px}
.head p{color:var(--soft);margin-top:14px}
.panel{background:rgba(255,253,250,.8);border:1px solid rgba(225,213,200,.9)}

/* classes */
.cards{display:grid;gap:22px}
.card{border-radius:200px 200px 22px 22px;padding:60px 24px 30px;text-align:center;display:flex;flex-direction:column;align-items:center}
.card .when{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-deep);font-weight:500}
.card h3{font-size:38px;font-weight:600;margin:14px 0 6px}
.card .sub{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--terra-deep)}
.card p.desc{margin:18px 0 24px;color:var(--ink);text-align:left;font-size:17.5px;line-height:1.7;max-width:34ch}
.meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:16px;color:var(--soft);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;margin-bottom:24px}
.card .btn{margin-top:auto;width:100%}
.card.private{background:rgba(138,154,134,.10);border-color:rgba(138,154,134,.4)}

/* photo band */
.duo{display:grid;gap:14px;grid-template-columns:1fr 1fr;padding:0 22px;max-width:1120px;margin:0 auto}
.duo img{width:100%;height:300px;object-fit:cover;border-radius:999px 999px 18px 18px}
.duo img.b{margin-top:44px}

/* booking */
.book{border-radius:26px;padding:30px 20px;max-width:640px;margin:0 auto}
.book legend,.book .lbl{font-family:var(--serif);font-size:28px;font-weight:600;margin-bottom:12px;padding:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:72px;padding:14px 18px;border-radius:16px;border:1px solid #CDBDAE;background:var(--ivory);font-family:var(--sans);text-align:left;color:var(--ink);cursor:pointer}
.opt .t{display:flex;flex-direction:column;line-height:1.3}
.opt .t b{font-family:var(--serif);font-size:22px;font-weight:600}
.opt .t small{font-size:15.5px;color:var(--soft);display:block}
.opt .s{font-size:15px;font-weight:500;white-space:nowrap;color:var(--terra-deep)}
.opt[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ivory)}
.opt[aria-pressed=true] small,.opt[aria-pressed=true] .s{color:#E8DCCD}
.opt:disabled{background:rgba(255,255,255,.3);border-style:dashed;color:#A09184;cursor:not-allowed}
.opt:disabled .s,.opt:disabled small{color:#A09184}
.fields{display:flex;flex-direction:column;gap:16px;margin-top:26px}
.fields label{display:flex;flex-direction:column;gap:6px;font-size:16px;font-weight:500;letter-spacing:.02em}
.fields input,.fields textarea{font:inherit;font-weight:400;font-size:18px;padding:15px 16px;border:1px solid #CDBDAE;border-radius:14px;background:#FFFDFA;color:var(--ink);width:100%}
.fields textarea{min-height:96px;resize:vertical}
.fields input:focus,.fields textarea:focus,.opt:focus-visible,.btn:focus-visible{outline:2px solid var(--terra-deep);outline-offset:2px}
.note{background:rgba(194,155,132,.18);border-radius:14px;padding:15px 16px;font-size:16px;line-height:1.55;color:#4A3C33}
.note strong{color:var(--terra-deep);font-weight:500}
#bookMsg{display:none;color:#9B2C1F;font-weight:500;font-size:16px}
#bookBtn{width:100%;margin-top:4px}
#bookDone{display:none;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:16px 0}
#bookDone h3{font-size:38px}
#bookDone p{color:var(--soft)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* about */
.about{display:grid;gap:34px;align-items:center}
.about-img{position:relative;max-width:420px;margin:0 auto;width:100%}
.about-img img{width:100%;aspect-ratio:4/5.4;object-fit:cover;border-radius:999px 999px 20px 20px}
.about-txt h2{font-size:46px;margin:10px 0 18px}
.about-txt p+p{margin-top:16px}
.badge{display:inline-block;margin-top:22px;padding:10px 18px;border-radius:999px;border:1px solid #BCA997;font-size:15px;color:var(--soft)}

/* faq */
.faq{max-width:720px;margin:0 auto}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.2}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);font-weight:300;font-size:26px;color:var(--terra-deep)}
details[open] summary::after{content:"–"}
details p{padding:0 0 22px;color:var(--soft)}

.faqgrid{display:grid;gap:36px}
.faq-img img{width:100%;height:320px;object-fit:cover;object-position:40% 60%;border-radius:999px 999px 20px 20px}
/* footer */
footer{padding:56px 0 40px;text-align:center;border-top:1px solid rgba(185,167,151,.4)}
footer .logo{align-items:center;display:inline-flex}
footer .logo b{font-size:40px}
footer .links2{display:flex;flex-direction:column;gap:8px;margin:24px 0}
footer .links2 a{text-decoration:none;color:var(--soft)}
footer small{font-size:14px;color:#8C7E72}

@media (min-width:820px){
  body{font-size:19px}
  .wrap{padding:0 40px}
  nav.links{display:flex}
  .bar{justify-content:center}
  .menu-btn,.drawer{display:none!important}
  .bar{height:76px}
  .logo b{font-size:32px}
  html{scroll-padding-top:84px}
  .hero{display:grid;grid-template-columns:1fr 1fr;height:min(calc(100vh - 77px),860px);min-height:620px;overflow:hidden}
  .hero-photo{aspect-ratio:auto;max-height:none;height:auto;order:2}
  .hero-photo img{object-position:30% 22%}
  .wordmark b{font-size:clamp(90px,9vw,140px)}
  .wordmark i{font-size:22px}
  .tagline{font-size:clamp(26px,2.4vw,36px);top:70%;left:10%;right:10%}
  .hero-text{margin:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:60px 56px 60px max(40px,calc((100vw - 1120px)/2 + 40px))}
  .hero-text h1,.h1like{font-size:62px}
  .hero-text p{margin:22px 0 0;font-size:20px}
  .hero-cta{flex-direction:row;margin:36px 0 0;max-width:none}
  section{padding:110px 0}
  .head h2{font-size:58px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .duo{gap:28px;padding:0 40px}
  .duo img{height:560px}
  .duo img.b{margin-top:90px}
  .book{padding:46px 44px}
  .about{grid-template-columns:5fr 6fr;gap:70px}
  .about-txt h2{font-size:58px}
  .faqgrid{grid-template-columns:5fr 7fr;gap:70px;align-items:center}
  .faqgrid .head{text-align:left;margin-left:0}
  .faq-img img{height:620px}
  footer .links2{flex-direction:row;justify-content:center;gap:34px}
}

/* multi-page additions */
.pagehead{padding:56px 0 8px;text-align:center}
.pagehead h1{font-size:48px;margin-top:10px}
.pagehead p{color:var(--soft);max-width:36ch;margin:14px auto 0}
.card .actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:auto}
.card .actions .btn{width:100%}
.detail{display:grid;gap:30px}
.detail-img img{width:100%;height:400px;object-fit:cover;border-radius:999px 999px 20px 20px}
.detail h1{font-size:46px;margin:10px 0 6px}
.detail .sub{font-family:var(--serif);font-style:italic;font-size:23px;color:var(--terra-deep)}
.detail p.lead{margin-top:18px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:26px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts span{display:block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-deep);font-weight:500}
.facts b{font-weight:400;font-size:18px}
.steps{display:grid;gap:14px;margin-top:8px}
.step{display:flex;gap:18px;align-items:flex-start;padding:20px;border-radius:18px}
.step i{font-style:normal;font-family:var(--serif);font-size:30px;line-height:1;color:var(--terra-deep);min-width:34px}
.step h3{font-size:25px;font-weight:600}
.step p{color:var(--soft);margin-top:4px}
.backlink{display:inline-block;margin-top:18px;color:var(--soft);font-size:16px}
.nav-current{color:var(--terra-deep)!important}
@media (min-width:820px){
  .pagehead{padding:90px 0 10px}
  .pagehead h1{font-size:66px}
  .detail{grid-template-columns:5fr 6fr;gap:70px;align-items:start}
  .detail-img{position:sticky;top:110px}
  .detail-img img{height:640px}
  .detail h1{font-size:64px}
  .steps{grid-template-columns:1fr 1fr}
}

/* about page (stacked editorial) */
.eyebrow{font-size:14.5px!important;letter-spacing:.26em!important}
.eyebrow.big{font-size:17px!important;letter-spacing:.28em!important}
.story{padding:56px 0 40px}
.story-col{max-width:760px}
.story-h{font-size:46px;margin:12px 0 26px}
.story-img{margin:0 0 30px}
.story-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.story-txt p+p{margin-top:16px}
.story-txt .quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45;color:var(--terra-deep);margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.story-txt .sig{font-family:var(--serif);font-size:20px;margin-top:14px}
.story-btns{display:flex;flex-direction:column;gap:12px;margin-top:14px;max-width:420px}
@media (min-width:820px){
  .story{padding:100px 0 50px}
  .eyebrow{font-size:15px!important}
  .eyebrow.big{font-size:19px!important}
  .story-h{font-size:72px}
  .story-img img{aspect-ratio:4/3;object-position:50% 35%}
  .story-txt{font-size:18px}
  .story-txt .quote{font-size:30px}
}

.home .hero-stack{position:absolute;z-index:3;left:0;right:0;bottom:3.5%;display:flex;flex-direction:column;align-items:center;padding:0 4%}
.home .wordmark,.home .tagline{position:static;margin:0}
.home .wordmark b{font-size:32.5vw;letter-spacing:0;line-height:.85}
.home .wordmark i{font-size:5.6vw;letter-spacing:.5em;margin-top:10px}
.home .tagline{font-size:clamp(17px,4.9vw,24px);margin-top:4.2vh;max-width:22em}
@media (max-width:380px){.crow b{font-size:16px}}
.home-btns{padding:40px 0 10px}
.home-btns .wrap{display:flex;flex-direction:column;gap:12px;max-width:440px}
@media (min-width:820px){.home-btns{padding:60px 0 20px}.home-btns .wrap{flex-direction:row;justify-content:center;max-width:none}.home-btns .btn{min-width:240px}}
.home .tagline{margin-bottom:1vh}
.home .hero-btns .btn{flex:1;min-height:46px;padding:0 8px;font-size:11px;letter-spacing:.16em;white-space:nowrap}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.home .hero-photo::before{background:linear-gradient(to bottom,rgba(35,26,22,.16) 0%,rgba(35,26,22,.04) 35%,rgba(30,22,18,.12) 55%,rgba(30,22,18,.3) 75%,rgba(25,18,14,.62) 100%)!important}
.home main{min-height:0}
.home .hero-photo::before{background:linear-gradient(to bottom,rgba(35,26,22,.18) 0%,rgba(35,26,22,.05) 30%,rgba(30,22,18,.22) 50%,rgba(30,22,18,.18) 70%,rgba(25,18,14,.55) 100%)}
.home .hero-bg{display:none}
@media (min-width:820px){
  .home .hero{display:block;position:relative;height:calc(100vh - 77px);min-height:640px;max-height:none}
  .home .hero-bg{display:block;position:absolute;inset:0;background:url(hero_alana.jpg) center/cover;filter:blur(40px) saturate(.9);transform:scale(1.15);opacity:.9}
  .home .hero-photo{position:relative;height:100%!important;max-width:none;margin:0 auto;aspect-ratio:auto!important;width:calc(max(100vh - 77px,640px) * 982 / 1602)!important;box-shadow:0 30px 80px -30px rgba(40,30,25,.45);overflow:visible!important}
  .home .hero{overflow:hidden}
  .home .hero-photo img{object-position:50% 50%}
  .home .hero-stack{left:-50%;right:-50%;bottom:4%}
  .home .wordmark b{font-size:27vh}
  .home .wordmark i{font-size:4vh}
  .home .tagline{font-size:3.2vh;max-width:24em}
  .home .hero-btns{width:auto;justify-content:center}
  .home .hero-btns .btn{flex:none;min-width:210px;min-height:52px;font-size:12.5px}
}

.about-img img{border-radius:4px!important;aspect-ratio:4/5!important}
.about-img,.philo-img{position:relative}
.about-img::after,.philo-img::after{content:'';position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--terra);border-radius:4px;z-index:-1}
.about-img,.philo-img{z-index:0;margin-right:14px}

/* philosophy */
.philo{padding:72px 0}
.philo .grid{display:grid;gap:34px}
.philo-img img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:55% 45%;border-radius:4px}
.philo h2{font-size:40px;margin:12px 0 20px}
.philo p+p{margin-top:16px}
.philo .quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45;color:var(--terra-deep);margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.philo .sig{font-family:var(--serif);font-size:20px;margin-top:14px}
/* photo cards */
.pcards{display:grid;gap:20px}
.pcard{position:relative;display:block;border-radius:28px;overflow:hidden;aspect-ratio:4/5;text-decoration:none;color:#fff;background:#D9CBBB}
.pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pcard:hover img{transform:scale(1.03)}
.pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(46,36,30,0) 30%,rgba(46,36,30,.38) 55%,rgba(40,30,25,.8) 100%)}
.pcard .in{text-shadow:0 1px 12px rgba(0,0,0,.25)}
.pcard.texture .in{text-shadow:none}
.pcard .in{position:absolute;z-index:1;left:26px;right:26px;bottom:26px}
.pcard .d{font-size:11.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;opacity:.95}
.pcard h3{font-size:34px;margin:8px 0 6px;color:#fff}
.pcard p{font-size:15.5px;line-height:1.6;opacity:.95}
.pcard .go{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:3px}
.pcard.texture{background:linear-gradient(160deg,#EFE3D6,#E2CDBB 55%,#D7B9A3);color:var(--ink)}
.pcard.texture::after{display:none}
.pcard.texture h3{color:var(--ink)}
.pcard.texture .big{position:absolute;top:18%;left:0;right:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:120px;color:rgba(255,255,255,.55)}
.pcard.texture .go{border-color:var(--ink)}
@media (min-width:820px){
  .philo{padding:120px 0}
  .philo .grid{grid-template-columns:6fr 5fr;gap:80px;align-items:center}
  .philo-img{order:2}
  .philo-img img{aspect-ratio:4/5}
  .philo h2{font-size:62px}
  .philo .quote{font-size:28px}
  .pcards{grid-template-columns:repeat(3,1fr);gap:24px}
}

/* ===== Editorial type system ===== */
@font-face{font-family:'Playfair Display';font-weight:400;font-style:italic;font-display:swap;src:url(fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:300 400;font-style:normal;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2')}
:root{--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',system-ui,-apple-system,sans-serif;--ink:#2E2622;--soft:#5E524A}
body{font-size:16.5px;line-height:1.8;letter-spacing:.005em}
h1,h2,h3{font-weight:400!important;letter-spacing:-.005em;line-height:1.12}
h1 em,h2 em,h3 em,.h1like em{font-style:italic;color:var(--terra-deep)}
.eyebrow{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.3em}
.btn{font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;min-height:54px}
.head h2,.pagehead h1{font-size:44px}
.card h3{font-size:32px}
.card .sub,.detail .sub{font-family:var(--serif);font-style:italic;font-size:19px}
.card .when{font-size:12.5px;font-weight:600;letter-spacing:.26em}
.card p.desc{font-size:16px;line-height:1.8}
.meta{font-size:14px;letter-spacing:.06em}
.detail h1{font-size:42px}
.facts span{font-size:11.5px;font-weight:600;letter-spacing:.26em}
.facts b{font-family:var(--serif);font-size:19px}
.step i{font-family:var(--serif);font-style:italic;font-size:26px}
.step h3{font-size:22px}
.step p{font-size:15.5px;line-height:1.7}
summary{font-family:var(--serif)!important;font-weight:400!important;font-size:21px!important}
details p{font-size:16px}
.book legend,.book .lbl{font-family:var(--serif);font-weight:400!important;font-size:25px}
.opt .t b{font-family:var(--serif);font-weight:400;font-size:20px}
.opt .t small{font-size:13.5px;letter-spacing:.03em}
.opt .s{font-size:13px;letter-spacing:.08em}
.fields label{font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.about-txt h2{font-size:44px}
.badge{font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
nav.links a{font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.drawer a{font-family:var(--serif);font-size:30px}
footer .logo b{font-family:var(--serif);font-weight:400}
.logo b{font-family:var(--serif);font-weight:400}
.logo i{font-family:var(--sans);font-weight:600}
/* home hero fills the screen */
.home .hero-photo{aspect-ratio:auto;height:calc(100svh - 58px);max-height:none}
/* editorial contact */
.contact{padding:84px 0 70px;background:rgba(255,253,250,.65);border-top:1px solid var(--line)}
.contact h2{font-size:46px;text-align:center;margin:12px 0 10px}
.contact .intro{text-align:center;color:var(--soft);max-width:34ch;margin:0 auto 34px}
.crow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-top:1px solid var(--line);text-decoration:none}
.crow:last-of-type{border-bottom:1px solid var(--line)}
.crow span{font-size:11.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--terra-deep);display:block;margin-bottom:4px}
.crow b{font-family:var(--serif);font-weight:400;font-size:18px;overflow-wrap:anywhere}
.crow>div{min-width:0}
body,h1,h2,h3,b{font-variant-numeric:lining-nums}
.about-txt h1{margin-bottom:18px}
.crow .arr{font-family:var(--serif);font-size:26px;color:var(--terra-deep);flex:none}
.contact .btn{width:100%;margin-top:34px}
.about-h,.book-h{font-size:44px!important}
@media (min-width:820px){.about-h,.book-h{font-size:72px!important}}
@media (min-width:820px){
  body{font-size:17px}
  .head h2,.pagehead h1{font-size:76px}
  .detail h1{font-size:66px}
  .about-txt h2{font-size:66px}
  .card h3{font-size:34px}
  .contact{padding:120px 0 100px}
  .contact h2{font-size:72px}
  .contact .rows{max-width:760px;margin:0 auto}
  .contact .btn{width:auto;display:flex;margin:40px auto 0;max-width:320px}
  .crow b{font-size:26px}
}

.hintro{padding:64px 0 80px!important}
.hintro-grid{max-width:700px;text-align:center}
.hintro .lead{font-family:var(--serif);font-size:27px;line-height:1.45;color:var(--ink)}
.hintro .lead em{font-style:italic;color:var(--terra-deep)}
.hintro .rule{display:block;width:56px;height:1px;background:var(--terra);margin:34px auto}
.hintro-body p+p{margin-top:18px}
.hintro-body p{color:var(--soft);font-size:16.5px;line-height:1.9}
.ryt-home{flex-direction:column;text-align:center;gap:14px;margin-top:44px;padding-top:34px}
.ryt-home img{width:120px;height:120px}
@media (min-width:820px){
  .hintro{padding:120px 0 120px!important}
  .hintro-grid{max-width:1240px;display:grid;grid-template-columns:1fr 1fr;gap:40px 90px;text-align:left;align-items:start}
  .hintro .lead{font-size:clamp(34px,3vw,46px);line-height:1.3}
  .hintro .rule{margin:34px 0 0}
  .hintro-body p{font-size:18.5px}
  .ryt-home{grid-column:1/-1;flex-direction:row;justify-content:center;text-align:left;gap:26px;margin-top:30px}
}

/* ===== v7 ===== */
/* drawer book button */
.drawer a.btn{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:0 24px;border-bottom:0;display:flex}
/* home: photo only, header floats over it */
.home header{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.home .menu-btn span{background:#fff}
.home header.menu-open{background:rgba(250,246,241,.97)}
.home header.menu-open .menu-btn span{background:var(--ink)}
.home .hero-photo{height:100svh!important;max-height:none!important;aspect-ratio:auto!important;width:100%!important}
.home .hero-photo img{object-position:40% 30%}
.home .hero-bg{display:none!important}
.home main{padding:0}
/* contact rows: no arrows, centred */
.crow{display:block;text-align:center;padding:20px 0}
.crow span{margin-bottom:6px}
.crow b{display:block}
/* about badge */
.ryt{display:flex;align-items:center;gap:20px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.ryt img{width:96px;height:96px;flex:none}
.ryt span{display:block;font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--terra-deep)}
.ryt b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;margin-top:4px}
.ryt small{display:block;color:var(--soft);font-size:14px;margin-top:2px}
/* classes page */
.classes-hero{padding:0!important}
.cdet>div:first-child{grid-column:1/-1}
.home header .links a.nav-current{color:#fff!important;border-bottom:1px solid rgba(255,255,255,.8)}
.classes-hero img{width:100%;height:52vh;min-height:300px;max-height:620px;object-fit:cover;object-position:40% 60%;display:block}
.cjump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding-bottom:10px;max-width:760px}
.cjump a{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--terra);padding-bottom:3px}
.cls{max-width:760px;padding-top:56px;padding-bottom:56px;border-top:1px solid var(--line);margin-top:40px}
.cls h2{font-size:42px;margin:10px 0 6px}
.cls .csub{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--terra-deep);margin-bottom:22px}
.cls h2+p{margin-top:18px}
.cls>p+p{margin-top:16px}
.cls .lvl{font-weight:600;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra-deep);margin-right:8px}
.cls h3{font-size:26px;margin:38px 0 14px}
.cls h4{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--terra-deep);margin:0 0 8px}
.cpair{display:grid;gap:24px;margin-top:34px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bring{list-style:none;padding:0;margin:0}
.bring li{padding:10px 0;border-bottom:1px solid var(--line)}
.bring li:first-child{border-top:1px solid var(--line)}
.cdet{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.cdet dt{font-size:11.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--terra-deep)}
.cdet dd{margin:4px 0 0;font-family:var(--serif);font-size:19px;line-height:1.35}
.policy{margin-top:22px;font-size:14.5px;color:var(--soft);font-style:italic}
.steps2{margin:0;padding-left:22px}
.steps2 li{padding:6px 0}
.steps2 li::marker{font-family:var(--serif);color:var(--terra-deep)}
.cbtn{margin-top:30px;width:100%}
@media (min-width:820px){
  .home header .links a{color:#fff}
  .home header .links a.btn{color:var(--coral-ink)}
  .home .hero{height:100vh!important;min-height:620px}
  .home .hero-photo{height:100vh!important;width:100%!important;margin:0!important;box-shadow:none!important;overflow:hidden!important}
  .home .hero-photo img{object-position:50% 34%}
  .home .hero-stack{left:0!important;right:0!important;bottom:5%!important}
  .home .wordmark b{font-size:min(30vh,19vw)!important}
  .home .wordmark i{font-size:min(4.2vh,2.6vw)!important}
  .home .tagline{font-size:min(3.4vh,2vw)!important}
  .classes-hero img{height:62vh}
  .cls{padding-top:80px;padding-bottom:70px}
  .cls h2{font-size:60px}
  .cpair{grid-template-columns:1fr 1fr;gap:40px}
  .cdet{grid-template-columns:1fr 1fr;gap:22px 40px}
  .cdet>div:first-child{grid-column:auto}
  .cbtn{width:auto;min-width:320px}
  .wrap{max-width:1240px}
  .cls{max-width:1100px}
  .cls>p,.cls>h3{max-width:none}
  .cjump{max-width:1100px}
  .story-col{max-width:1100px}
  .story-txt{columns:2;column-gap:70px}
  .story-txt p{break-inside:avoid}
  .story-txt .quote,.story-txt .sig,.story-txt .eyebrow,.story-btns{column-span:all}
  .story-img img{aspect-ratio:16/9}
  .contact{padding:90px 0 80px!important}
  .contact h2{margin:10px 0 8px}
  .contact .intro{margin:0 auto 26px}
  .crow{padding:18px 0}
  .faq{max-width:1100px}
  .pg-book .book{max-width:860px;padding:54px 60px}
  .pg-book .opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .pg-book .fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
  .pg-book .fields>.lbl,.pg-book .fields>#noteWrap,.pg-book .fields>.note,.pg-book .fields>#bookMsg,.pg-book .fields>#bookBtn,.pg-book .fields>p{grid-column:1/-1}
  .crow b{font-size:26px}
}
