:root{
  --cream:#F8F3EB; --ink:#211713; --head:#302621; --copper:#A6652A; --copper-soft:#BE824C; --champagne:#D5AC84; --body:#493A30; --line:#E2CDB4; --tint:#F1E6D7;
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --text:"EB Garamond","Cormorant Garamond",Georgia,"Times New Roman",serif;
  box-sizing:border-box;color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--cream);color:var(--body);font-family:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
img{max-width:100%}

/* hero (home) */
.hero{position:relative;height:clamp(440px,29vw,570px);width:100%;background:var(--cream) url("images/bg.jpg") center 88%/cover no-repeat;display:flex;flex-direction:column;align-items:center}
.nav{position:absolute;inset:0 0 auto 0;display:flex;justify-content:space-between;align-items:center;padding:clamp(18px,2vw,34px) clamp(20px,8vw,135px) 0;font-family:var(--serif);font-weight:600;font-size:clamp(12px,.85vw,14.5px);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);z-index:2}
.nav ul{display:flex;gap:clamp(18px,2.4vw,42px);list-style:none;margin:0;padding:0}
.nav .book{border-bottom:1px solid var(--copper-soft);padding-bottom:4px}
.nav a{transition:color .2s}.nav a:hover,.nav a[aria-current]{color:var(--copper)}
.hero-inner{margin-top:clamp(36px,3.2vw,52px);text-align:center;padding:0 16px;display:flex;flex-direction:column;align-items:center}
.logo{display:block;width:clamp(170px,16vw,270px);height:auto;margin:0 auto clamp(2px,.4vw,8px)}
h1{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(33px,5.3vw,92px);line-height:1;letter-spacing:-.012em;color:var(--ink)}
.sub{margin:clamp(10px,1vw,18px) 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(15px,1.7vw,29px);letter-spacing:.11em;color:var(--head);display:flex;gap:.9em;align-items:center;flex-wrap:wrap;justify-content:center}
.sub i{width:.34em;height:.34em;border-radius:50%;background:var(--copper);display:inline-block}
.tag{margin:clamp(14px,1.9vw,30px) 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(22px,2.5vw,43px);color:var(--copper)}

/* hero (inner pages) */
.page-hero{position:relative;width:100%;min-height:clamp(330px,25vw,420px);background:var(--cream) url("images/bg.jpg") center 70%/cover no-repeat;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(84px,7vw,110px) 18px clamp(26px,2.6vw,40px)}
.page-hero .logo{width:clamp(96px,8.5vw,138px);margin-bottom:6px}
.page-hero h1{font-size:clamp(30px,3.9vw,64px);max-width:20em}
.page-hero .brand{margin:clamp(8px,.9vw,14px) 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(20px,2vw,33px);color:var(--copper)}

/* shared type */
h2{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(16px,1.45vw,25px);letter-spacing:.14em;text-transform:uppercase;color:var(--head)}
.it{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--copper)}

/* home cards */
.offerings{display:grid;grid-template-columns:repeat(3,1fr);max-width:1672px;margin:0 auto;padding:clamp(18px,1.9vw,30px) 0 clamp(40px,4vw,70px)}
.card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 clamp(18px,4.5vw,80px)}
.card + .card::before{content:"";position:absolute;left:0;top:clamp(14px,1.5vw,24px);bottom:clamp(10px,1vw,16px);width:1px;background:var(--line)}
.card h2{white-space:normal;min-height:2.5em;display:flex;align-items:center;justify-content:center;line-height:1.25;max-width:15em}
.card .it{margin:4px 0 12px;font-size:clamp(18px,1.4vw,24px)}
.card p{margin:0;max-width:21em;font-size:clamp(15.5px,1.12vw,19px);line-height:1.38;color:var(--body)}
.more{margin-top:18px;font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper);border-bottom:1px solid var(--copper-soft);padding-bottom:3px;display:inline-block}
.more:hover{color:var(--ink)}
.arch{position:relative;width:min(100%,318px);aspect-ratio:318/228;border:1px solid var(--copper-soft);border-bottom:0;border-radius:999px 999px 0 0;padding:5px 5px 0;margin-bottom:24px}
.arch .ph{display:block;width:100%;height:100%;overflow:hidden;border-radius:999px 999px 0 0}
.arch img{display:block;width:104%;max-width:none;height:100%;margin-left:-2%;object-fit:cover}
.arch .star{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);width:62px;height:34px;background:var(--cream);border-radius:34px 34px 0 0;display:flex;justify-content:center;align-items:flex-start;padding-top:6px;color:var(--copper)}

/* reflections teaser (home) */
.teaser{text-align:center;padding:clamp(10px,2vw,30px) 20px clamp(48px,5vw,80px)}
.teaser blockquote{margin:0 auto 14px;max-width:34em;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(22px,2vw,32px);line-height:1.35;color:var(--head)}
.teaser cite{display:block;font-style:normal;font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper);margin-bottom:6px}

/* about */
.about{background:var(--tint);padding:clamp(48px,6vw,100px) clamp(20px,8vw,135px)}
.about .wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.about img{width:calc(100% - 20px);margin:10px;height:auto;display:block;border-radius:999px 999px 0 0;box-shadow:0 0 0 7px var(--tint),0 0 0 8px var(--copper-soft);aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
.about h2{font-size:clamp(20px,1.8vw,28px);margin-bottom:6px}
.about .it{font-size:clamp(20px,1.8vw,28px);margin:0 0 18px}
.about p{margin:0 0 14px;font-size:clamp(16.5px,1.2vw,20px);line-height:1.55;max-width:34em}

/* offering pages */
.offer{max-width:1120px;margin:0 auto;padding:clamp(40px,5vw,84px) clamp(20px,6vw,60px);display:grid;grid-template-columns:minmax(0,318px) minmax(0,1fr);gap:clamp(30px,5vw,84px);align-items:start}
.offer .arch{margin-bottom:0}
.offer .lead{margin:0 0 16px;font-size:clamp(23px,2.1vw,33px);line-height:1.25}
.offer p{margin:0 0 16px;font-size:clamp(17px,1.25vw,20.5px);line-height:1.6;max-width:36em}
.offer h2{margin:26px 0 12px}
.stars{list-style:none;margin:0 0 18px;padding:0}
.stars li{position:relative;padding-left:30px;margin:0 0 9px;font-size:clamp(16.5px,1.2vw,20px);line-height:1.5;max-width:36em}
.stars li::before{content:"\2726";position:absolute;left:0;top:0;color:var(--copper)}
.offer .avail{margin:20px 0 26px;font-family:var(--serif);font-weight:600;font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}
.btn{display:inline-block;border:1px solid var(--copper);color:var(--copper);padding:14px 34px;font-family:var(--serif);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:13.5px;transition:background .2s,color .2s}
.btn:hover{background:var(--copper);color:var(--cream)}
.faq{max-width:840px;margin:0 auto;padding:0 20px clamp(44px,5vw,80px)}
.faq h2{text-align:center;margin-bottom:22px}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 2px;font-family:var(--serif);font-weight:600;font-size:clamp(19px,1.5vw,23px);color:var(--head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--copper);flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0 0 20px;padding:0 2px;font-size:clamp(16.5px,1.2vw,19.5px);line-height:1.6}
.related{text-align:center;padding:0 20px clamp(40px,4vw,64px);margin:0;font-family:var(--serif);font-size:clamp(18px,1.4vw,22px)}
.related a{color:var(--copper);border-bottom:1px solid var(--copper-soft)}

/* reflections page */
.intro{max-width:46em;margin:0 auto;text-align:center;padding:clamp(38px,4vw,64px) 22px 8px;font-size:clamp(18px,1.4vw,22px);line-height:1.55}
.quotes{max-width:1100px;margin:0 auto;padding:clamp(24px,3vw,44px) clamp(20px,5vw,50px) clamp(44px,5vw,84px);column-count:2;column-gap:clamp(30px,4vw,64px)}
.q{break-inside:avoid;margin:0 0 clamp(30px,3vw,46px);padding-top:18px;border-top:1px solid var(--line)}
.q blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(19px,1.5vw,24px);line-height:1.42;color:var(--head);position:relative}
.q blockquote::before{content:"\201C";display:block;font-size:54px;line-height:.7;color:var(--copper-soft);margin-bottom:6px}
.q cite{display:block;margin-top:14px;font-style:normal;font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}
.q figcaption{margin:0}
figure.q{margin-left:0;margin-right:0}

/* call to action + footer */
.call{background:var(--tint);text-align:center;padding:clamp(48px,6vw,90px) 20px clamp(56px,6vw,100px)}
.call h2{margin-bottom:8px;font-size:clamp(20px,1.8vw,28px)}
.call .it{font-size:clamp(20px,1.8vw,28px);margin:0 auto 22px}
.call p{margin:0 auto 24px;max-width:30em;font-size:clamp(16px,1.2vw,19.5px);line-height:1.5}
.call .sign{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--copper);font-size:clamp(22px,1.8vw,28px);margin:26px auto 0}
footer{text-align:center;padding:30px 20px 38px;font-family:var(--serif);font-size:14.5px;letter-spacing:.06em;color:#6f6152}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-bottom:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;color:var(--head)}
footer nav a:hover{color:var(--copper)}

@media (max-width:900px){
  .hero{height:auto;min-height:560px;background-position:30% 100%}
  .nav{flex-wrap:wrap;gap:12px 20px;justify-content:center;font-size:11.5px;letter-spacing:.16em;padding-left:14px;padding-right:14px}
  .nav ul{gap:12px 16px;flex-wrap:wrap;justify-content:center}
  .hero-inner{margin-top:110px}
  .page-hero{padding-top:128px;background-position:30% 100%}
  .offerings{grid-template-columns:1fr;gap:44px;padding-top:36px}
  .card + .card::before{left:12%;right:12%;top:-22px;bottom:auto;width:auto;height:1px}
  .card{padding:0 28px}
  .card h2{min-height:0}
  .about .wrap,.offer{grid-template-columns:minmax(0,1fr)}
  .about img{max-width:300px;margin:10px auto}
  .offer .arch{margin:0 auto}
  .quotes{column-count:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* meditations page */
.tracks{max-width:860px;margin:0 auto;padding:clamp(24px,3vw,44px) 20px 10px}
.track{padding:26px 0;border-top:1px solid var(--line);text-align:center}
.track:last-child{border-bottom:1px solid var(--line)}
.track .meta{font-family:var(--serif);font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin-bottom:10px}
.track h2{font-size:clamp(20px,1.9vw,30px);letter-spacing:.04em;text-transform:none;line-height:1.25;margin:0 auto 10px;max-width:24em}
.track p{margin:0 auto;max-width:32em;font-size:clamp(16.5px,1.2vw,19.5px);line-height:1.55}
.track .more{margin-top:16px}
.next{max-width:720px;margin:0 auto;text-align:center;padding:10px 20px clamp(44px,5vw,76px)}
.next h2{margin-bottom:12px}
.next p{margin:0 0 12px;font-size:clamp(16.5px,1.2vw,19.5px);line-height:1.55}
.next .links a{color:var(--copper);border-bottom:1px solid var(--copper-soft)}

.call .mail{margin:0 auto 22px}.call .mail a{color:var(--copper);border-bottom:1px solid var(--copper-soft)}

/* ---- refinements (round 2) ---- */
.logo-link{display:block}
.hero::before,.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
   linear-gradient(to bottom,rgba(248,243,235,.94) 0,rgba(248,243,235,.7) 56px,rgba(248,243,235,0) 150px),
   radial-gradient(ellipse 46% 74% at 50% 66%,rgba(248,243,235,.6),rgba(248,243,235,0) 74%)}
.hero-inner,.page-hero > *:not(.nav){position:relative;z-index:1}
.nav{z-index:3;text-shadow:0 0 12px rgba(248,243,235,.95),0 0 3px rgba(248,243,235,.9)}
.tag{color:#8E531C;font-weight:600;text-shadow:0 0 16px rgba(248,243,235,.98),0 0 5px rgba(248,243,235,.95)}
.sub,.hero h1,.page-hero h1{text-shadow:0 0 18px rgba(248,243,235,.85)}
.page-hero .brand{color:#8E531C;font-weight:600;text-shadow:0 0 14px rgba(248,243,235,.95)}
.card h2{min-height:0}
.offerings{padding-top:clamp(34px,3.4vw,58px);padding-bottom:clamp(52px,5vw,90px)}
.teaser{padding:clamp(52px,5.5vw,96px) 20px clamp(52px,5.5vw,96px)}

.stars5{display:block;color:var(--copper-soft);letter-spacing:.3em;font-size:15px;margin-bottom:12px;line-height:1}
.q blockquote::before{display:none}
.q{padding-top:22px}
.teaser .stars5{margin-bottom:18px}

.call .alt{margin:22px auto 0;font-size:clamp(15px,1.1vw,17.5px);line-height:1.7;color:var(--body)}
.call .alt a{color:var(--copper);border-bottom:1px solid var(--copper-soft)}
.call .alt strong{font-weight:500;color:var(--head)}

/* meditations: visual cards */
a.arch{display:block}
.meds{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(40px,4.5vw,70px) clamp(28px,4vw,60px);max-width:1160px;margin:0 auto;padding:clamp(34px,4vw,60px) 24px clamp(30px,3vw,48px)}
.med{width:min(100%,330px);display:flex;flex-direction:column;align-items:center;text-align:center}
.med .arch{width:100%;margin-bottom:26px}
.med .arch img{transition:transform .6s ease}
.med .arch:hover img{transform:scale(1.04)}
.med .arch .star.play{width:58px;height:34px;padding-top:7px}
.med .meta{font-family:var(--serif);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin-bottom:10px;line-height:1.5}
.med h2{font-size:clamp(20px,1.7vw,26px);letter-spacing:.03em;text-transform:none;line-height:1.25;margin:0 0 10px;max-width:14em}
.med p{margin:0;max-width:22em;font-size:clamp(16px,1.1vw,18.5px);line-height:1.5}
.med .more{margin-top:16px}
@media (prefers-reduced-motion:reduce){.med .arch img{transition:none}}

/* ---- round 3 ---- */
.card h2{font-weight:700;font-size:clamp(18px,1.65vw,28px)}
.offer-hero h1{font-weight:600}

/* meditations hero (split) */
.med-hero{background:linear-gradient(180deg,var(--tint) 0,var(--cream) 100%);min-height:0;align-items:stretch;text-align:left;padding:clamp(100px,9vw,132px) 24px clamp(40px,4vw,70px)}
.med-hero::before{display:none}
.med-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(32px,6vw,100px);align-items:center;max-width:1040px;margin:0 auto;width:100%}
.med-text .logo-link{display:inline-block}
.med-text .logo{width:92px;margin:0 0 12px}
.med-text h1{font-size:clamp(34px,4.4vw,70px);text-align:left;max-width:none}
.med-text .brand{text-align:left}
.med-text .lead{margin:20px 0 0;max-width:30em;font-size:clamp(17px,1.3vw,21px);line-height:1.6;color:var(--body);text-shadow:none}
.med-hero .arch{width:100%;max-width:340px;aspect-ratio:318/330;margin:0 auto}
.med-hero h1,.med-hero .brand{text-shadow:none}

.med .rev{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(17px,1.25vw,20px);line-height:1.4;color:var(--head);max-width:20em}
.med .rev cite{display:block;margin-top:8px;font-style:normal;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper);font-weight:600}
.meds{align-items:flex-start}

/* worked with */
.worked{max-width:1000px;margin:0 auto;text-align:center;padding:clamp(6px,1vw,16px) 20px clamp(54px,5.5vw,92px)}
.worked .label{margin:0 0 16px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(18px,1.4vw,22px);color:var(--copper)}
.worked ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 0}
.worked li{font-family:var(--serif);font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(13px,1.15vw,18px);color:var(--head)}
.worked li + li::before{content:"\2726";color:var(--copper-soft);margin:0 clamp(14px,1.8vw,28px);font-size:.8em;letter-spacing:0}
.worked a{border-bottom:1px solid var(--copper-soft)}
.worked a:hover{color:var(--copper)}

/* featured reflection */
.featured-q{max-width:880px;margin:0 auto;text-align:center;padding:clamp(40px,4.5vw,72px) 24px clamp(10px,1.5vw,20px)}
.featured-q .stars5{margin-bottom:18px}
.featured-q blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,1.9vw,30px);line-height:1.42;color:var(--head)}
.featured-q cite{display:block;margin-top:18px;font-style:normal;font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}

@media (max-width:900px){
  .med-hero{padding-top:128px}
  .med-grid{grid-template-columns:minmax(0,1fr)}
  .med-hero .arch{max-width:300px}
  .worked li + li::before{margin:0 12px}
}

/* round 3 fixes */
.worked{max-width:1240px}
.worked li{letter-spacing:.15em}
.worked li + li::before{margin:0 clamp(12px,1.4vw,22px)}
.med-hero .arch{margin-bottom:22px}
@media (max-width:900px){
  .worked ul{gap:10px 24px}
  .worked li + li::before{display:none}
  .worked li{letter-spacing:.12em}
}

/* about photo: larger in the arch */
.about .wrap{grid-template-columns:minmax(0,440px) 1fr}
.about img{object-position:center 30%}
@media (max-width:900px){.about .wrap{grid-template-columns:minmax(0,1fr)}.about img{max-width:340px}}

/* booking buttons */
.call .btn{margin:6px 8px}

/* live reading + personal section */
.call .live{margin:0 auto 14px;font-family:var(--serif);font-weight:600;font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}
.offer .avail{margin:20px 0 14px}
.personal{max-width:760px;margin:0 auto;text-align:center;padding:clamp(8px,2vw,24px) 24px clamp(44px,5vw,76px)}
.personal h2{margin-bottom:10px}
.personal .it{margin:0 0 18px;font-size:clamp(21px,1.8vw,28px);line-height:1.3}
.personal p{margin:0 auto 14px;max-width:34em;font-size:clamp(17px,1.25vw,20px);line-height:1.6}
.personal p.it{max-width:none}
