/* ============ TOKENS ============ */
:root{
  color-scheme: light;
  --cream:#F5F0E2;       /* brochure page colour, sampled */
  --cream-2:#FAF6EB;
  --ivory:#FEFCF7;
  --sage:#ADBEAE;        /* brochure cover sage */
  --sage-pale:#DEE5DB;
  --sage-mist:#EDF1EA;
  --sage-deep:#718A74;
  --blush:#EED1D0;
  --blush-pale:#F8E9E6;
  --red:#A92F2C;         /* banner gradient, deep end */
  --red-2:#BB473A;
  --terra:#CD594A;       /* logo gradient */
  --terra-2:#E2725B;     /* logo gradient */
  --ink:#231F20;
  --ink-2:#4B4542;
  --muted:#89807A;
  --line:#E0D6C0;
  --line-soft:#EBE3D4;
  --shadow:0 1px 2px rgba(35,31,32,.04),0 12px 40px -12px rgba(35,31,32,.10);
  --shadow-lift:0 2px 6px rgba(35,31,32,.06),0 28px 60px -20px rgba(35,31,32,.18);
  --arch:52% 52% 6px 6px / 38% 38% 6px 6px;
  --maxw:1240px;
}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:'Jost','Helvetica Neue',Arial,sans-serif;
  font-size:16px;line-height:1.7;font-weight:300;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
::selection{background:var(--blush);color:var(--ink);}

/* ============ TYPE ============ */
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em;}
.d1{font-size:clamp(2.9rem,8.2vw,5.6rem);font-weight:300;}
.d2{font-size:clamp(2.1rem,5.2vw,3.7rem);font-weight:300;}
.d3{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:400;}
.d4{font-size:clamp(1.18rem,2.1vw,1.45rem);font-weight:500;}
p{margin:0 0 1.1em;}
.lede{font-size:clamp(1.02rem,1.7vw,1.16rem);color:var(--ink-2);line-height:1.78;max-width:60ch;}
.script{font-family:'Parisienne',cursive;font-weight:400;color:var(--terra);line-height:1;}
.eyebrow{
  font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;font-weight:500;
  color:var(--terra);display:block;
}
.eyebrow.sage{color:var(--sage-deep);}
.eyebrow.muted{color:var(--muted);}
.num{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:2.5rem;font-weight:300;
  color:var(--terra);opacity:.5;line-height:1;font-variant-numeric:tabular-nums;
}
a{color:inherit;}

/* ============ LAYOUT ============ */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:clamp(18px,4.5vw,56px);}
.wrap-narrow{max-width:900px;}
section{padding-block:clamp(56px,8.5vw,120px);}
.rule{height:1px;background:var(--line-soft);border:0;margin:0;}

/* ============ HEADER ============ */
.hdr{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:90;
  isolation:isolate;
  background:color-mix(in srgb,var(--cream) 88%,transparent);
  backdrop-filter:saturate(1.3) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s;
}
.hdr.scrolled{border-bottom-color:var(--line-soft);}
.hdr-in{display:flex;align-items:center;gap:20px;height:70px;}
.brandmark{display:flex;align-items:center;gap:0;flex:0 0 auto;cursor:pointer;background:none;border:0;padding:0;color:var(--ink);}
.brandmark svg{height:34px;width:auto;aspect-ratio:896/357;display:block;}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);margin-left:auto;}
.nav a{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;
  text-decoration:none;color:var(--ink-2);position:relative;padding-block:6px;white-space:nowrap;
}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);}
.nav a[aria-current="page"]{color:var(--ink);}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  padding:13px 24px;border-radius:2px;text-decoration:none;border:1px solid transparent;
  cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s;
  font-family:inherit;line-height:1;
}
.btn-solid{background:var(--red);color:#FDF8EC;}
.btn-solid:hover{background:var(--terra);}
.btn-line{border-color:var(--terra);color:var(--terra);background:transparent;}
.btn-line:hover{background:var(--terra);color:#FDF8EC;}
.btn-ghost{border-color:var(--line);color:var(--ink-2);background:transparent;}
.btn-ghost:hover{border-color:var(--terra);color:var(--terra);}
.hdr .btn{padding:11px 20px;}
.nav a.btn-solid{color:#FDF8EC;}
.nav a.btn-solid::after{display:none;}
.drawer a.btn-solid{color:#FDF8EC;font-family:inherit;font-size:.72rem;border-bottom:0;}
.burger{display:none;background:none;border:0;padding:8px;margin-left:auto;cursor:pointer;color:var(--ink);}
.burger svg{display:block;}

.drawer{
  position:fixed;inset:0;z-index:95;background:var(--cream);
  padding:calc(env(safe-area-inset-top,0px) + 80px) 26px 40px;
  display:flex;flex-direction:column;gap:2px;overflow-y:auto;
}
.drawer a{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.9rem;font-weight:300;
  text-decoration:none;color:var(--ink);padding-block:11px;border-bottom:1px solid var(--line-soft);
}
.drawer .btn{margin-top:26px;align-self:flex-start;}
.drawer-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 22px);right:22px;background:none;border:0;color:var(--ink);cursor:pointer;padding:8px;}

@media (max-width:940px){
  .nav{display:none;}
  .burger{display:block;}
}

main{padding-top:0;}

/* ============ FRAMES (photography placeholders) ============ */
.frame{
  position:relative;width:100%;background:var(--sage-mist);
  border:1px solid var(--line-soft);overflow:hidden;
  display:flex;align-items:flex-end;
}
.frame::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(60% 45% at 50% 18%, color-mix(in srgb,var(--blush-pale) 70%,transparent), transparent 70%),
    linear-gradient(160deg, color-mix(in srgb,var(--sage-pale) 60%,transparent), transparent 62%);
  pointer-events:none;
}
.frame.arched{border-radius:var(--arch);}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.frame.has-img::before{background:linear-gradient(180deg,transparent 62%,rgba(35,31,32,.16));}
.frame.r43{aspect-ratio:4/3;}
.frame.r11{aspect-ratio:1/1;}
.frame.r34{aspect-ratio:3/4;}
.frame.r23{aspect-ratio:2/3;}
.frame.r169{aspect-ratio:16/9;}
.frame.r219{aspect-ratio:21/9;}
.shot{
  position:relative;margin:0;padding:14px 16px;width:100%;
  font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;
  color:var(--sage-deep);font-weight:500;
  background:color-mix(in srgb,var(--cream) 78%,transparent);
  border-top:1px solid var(--line-soft);
}
.shot b{display:block;font-weight:600;letter-spacing:.2em;color:var(--terra);font-size:.6rem;margin-bottom:3px;}
@media (max-width:640px){.shot{font-size:.58rem;padding:11px 12px;}}

/* ============ HERO ============ */
.hero{padding-block:clamp(34px,5vw,60px) clamp(40px,6vw,80px);}
.hero-grid:has(> :only-child){grid-template-columns:1fr;}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,5vw,68px);align-items:center;}
.hero-kicker{display:flex;align-items:center;gap:13px;margin-bottom:24px;}
.hero-kicker .line{height:1px;width:52px;background:var(--terra);opacity:.55;}
.hero h1 .script{display:block;font-size:clamp(3.3rem,9.6vw,6.6rem);margin:-.06em 0 -.04em;}
.hero-sub{margin-top:26px;}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:38px;padding-top:22px;
  border-top:1px solid var(--line-soft);
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;}}

/* ============ DISCIPLINES ============ */
.disc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media (max-width:1040px){.disc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.disc-grid{grid-template-columns:1fr;}}
.disc{
  background:var(--cream);padding:clamp(24px,3vw,34px);text-align:left;
  display:flex;flex-direction:column;gap:11px;min-height:212px;
  border:0;font-family:inherit;cursor:pointer;color:inherit;
  transition:background .35s;
}
.disc:hover{background:var(--ivory);}
.disc .num{font-size:1.5rem;}
.disc h3{font-size:1.5rem;}
.disc p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.65;}
.disc .go{
  margin-top:auto;font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--terra);display:flex;align-items:center;gap:8px;
}
.disc .go span{transition:transform .35s;}
.disc:hover .go span{transform:translateX(5px);}
.disc.pending .go{color:var(--sage-deep);}

/* ============ SPLIT / EDITORIAL ============ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,72px);align-items:center;}
.split.narrowfirst{grid-template-columns:.85fr 1.15fr;}
.split.wide{grid-template-columns:1.15fr .85fr;}
.split:has(> :only-child){grid-template-columns:1fr;}
@media (max-width:860px){.split,.split.narrowfirst,.split.wide{grid-template-columns:1fr;}}
.stack{display:flex;flex-direction:column;gap:20px;align-items:flex-start;}

.sec-head{margin-bottom:clamp(30px,4.5vw,54px);}
.sec-head .eyebrow{margin-bottom:16px;}
.sec-head p{max-width:56ch;color:var(--ink-2);margin-top:14px;}

/* ============ SERVICE LISTS ============ */
.menu-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,4vw,56px);}
.mgroup h4{
  font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  font-weight:600;color:var(--terra);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.mgroup ul{list-style:none;margin:0;padding:0;}
.mgroup li{
  padding:11px 0;border-bottom:1px solid var(--line-soft);
  font-size:.96rem;color:var(--ink-2);display:flex;justify-content:space-between;gap:14px;align-items:baseline;
}
.mgroup li:last-child{border-bottom:0;}
.mgroup li em{font-style:normal;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}

.ritual{
  display:grid;grid-template-columns:minmax(180px,.9fr) 2fr;gap:clamp(12px,3vw,40px);
  padding-block:24px;border-bottom:1px solid var(--line-soft);align-items:start;
}
.ritual:last-of-type{border-bottom:0;}
.ritual h4{font-size:1.4rem;}
.ritual p{margin:0;font-size:.94rem;color:var(--ink-2);}
@media (max-width:620px){.ritual{grid-template-columns:1fr;gap:6px;}}

/* ============ CARDS ============ */
.mapcard{border:1px solid var(--line);background:var(--ivory);border-radius:3px;overflow:hidden;margin-bottom:22px;}
.mapcard-top{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;background:var(--sage-mist);border-bottom:1px solid var(--line-soft);color:var(--sage-deep);}
.mapcard-top strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:500;color:var(--ink);line-height:1.2;}
.mapcard-top span{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.mapcard-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.mapcard-body p{margin:0;font-size:.92rem;color:var(--ink-2);}
.vidgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.6vw,18px);}
.vid{position:relative;aspect-ratio:9/16;overflow:hidden;border:1px solid var(--line-soft);background:var(--sage-mist);border-radius:2px;}
.vid iframe{position:absolute;top:50%;left:50%;width:100%;height:calc(100% + 180px);transform:translate(-50%,-50%);border:0;pointer-events:none;}
.vid-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s ease;}
.vid.playing .vid-poster{opacity:0;}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(35,31,32,.22));pointer-events:none;}
@media (max-width:1040px){.vidgrid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:700px){
  .vidgrid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-inline:clamp(18px,4.5vw,56px);margin-inline:calc(clamp(18px,4.5vw,56px)*-1);
    scroll-padding-inline:clamp(18px,4.5vw,56px);scrollbar-width:none;}
  .vidgrid::-webkit-scrollbar{display:none;}
  .vid{flex:0 0 58vw;scroll-snap-align:start;}
}
.looks{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.8vw,20px);}
@media (max-width:900px){.looks{grid-template-columns:repeat(3,1fr);}}
@media (max-width:620px){.looks{grid-template-columns:repeat(2,1fr);}}
.look{margin:0;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,262px),1fr));gap:clamp(16px,2.4vw,26px);}
.card{
  background:var(--ivory);border:1px solid var(--line-soft);padding:clamp(22px,2.6vw,30px);
  display:flex;flex-direction:column;gap:12px;
}
.card h4{font-size:1.38rem;}
.card p{font-size:.9rem;color:var(--ink-2);margin:0;}
.taglist{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.tag{
  font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;
  border:1px solid var(--line);color:var(--muted);border-radius:2px;
}
.tag.t{border-color:color-mix(in srgb,var(--terra) 40%,transparent);color:var(--terra);}

/* ============ QUOTE / PROOF ============ */
.proof{background:var(--sage-mist);border-block:1px solid var(--line-soft);}
.proof-grid{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,64px);align-items:center;}
.rating{text-align:center;padding-right:clamp(0px,3vw,40px);}
.rating .big{font-family:'Cormorant Garamond',serif;font-size:4.4rem;line-height:1;color:var(--terra);font-weight:300;}
.stars{color:var(--terra);letter-spacing:.18em;font-size:.9rem;margin-top:6px;}
.rating small{display:block;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:10px;}
blockquote{
  margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.3rem,2.6vw,1.85rem);
  font-weight:300;line-height:1.42;font-style:italic;color:var(--ink);
}
blockquote cite{
  display:block;font-family:'Jost',sans-serif;font-style:normal;font-size:.66rem;
  letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:18px;
}
@media (max-width:760px){.proof-grid{grid-template-columns:1fr;}.rating{text-align:left;padding:0;}}


/* ============ REVIEWS ============ */
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(26px,3.5vw,42px);}
.rev-nav{display:flex;gap:10px;}
.rev-btn{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--ivory);
  color:var(--terra);display:grid;place-items:center;cursor:pointer;
  transition:background .3s,color .3s,border-color .3s,opacity .3s;
}
.rev-btn:hover{background:var(--red);border-color:var(--red);color:#FDF8EC;}
.rev-btn:disabled{opacity:.35;cursor:default;}
.rev-btn:disabled:hover{background:var(--ivory);color:var(--terra);border-color:var(--line);}

.rev-rail{
  display:flex;gap:clamp(16px,2vw,24px);
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  padding:18px clamp(18px,4.5vw,56px) 52px;
  scroll-padding-inline:clamp(18px,4.5vw,56px);
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.rev-rail::-webkit-scrollbar{display:none;}
.rev-rail:focus-visible{outline:2px solid var(--terra);outline-offset:-4px;}
.rev{
  flex:0 0 clamp(248px,25vw,300px);
  scroll-snap-align:start;
  background:#FFFFFF;border:1px solid rgba(224,214,192,.9);border-radius:4px;
  padding:clamp(24px,2.4vw,30px);margin:0;
  min-height:clamp(340px,26vw,392px);
  display:flex;flex-direction:column;gap:16px;
  box-shadow:
    0 1px 1px rgba(35,31,32,.06),
    0 6px 10px -2px rgba(35,31,32,.09),
    0 18px 28px -10px rgba(35,31,32,.22),
    0 36px 52px -24px rgba(35,31,32,.40);
  transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s cubic-bezier(.2,.7,.3,1);
}
.rev:hover{
  transform:translateY(-6px);
  box-shadow:
    0 1px 1px rgba(35,31,32,.06),
    0 10px 16px -4px rgba(35,31,32,.11),
    0 28px 44px -12px rgba(35,31,32,.26),
    0 54px 72px -26px rgba(35,31,32,.46);
}
.rev-stars{color:var(--terra);letter-spacing:.2em;font-size:.82rem;line-height:1;}
.rev-q{
  margin:0;font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.06rem,1.35vw,1.18rem);line-height:1.52;color:#231F20;font-weight:400;
}
.rev-by{margin-top:auto;padding-top:16px;border-top:1px solid rgba(224,214,192,.85);}
.rev-n{display:block;font-size:.82rem;font-weight:500;color:#231F20;letter-spacing:.02em;}
.rev-w{display:block;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#8A807A;margin-top:5px;}
@media (max-width:520px){ .rev{flex-basis:80vw;} }

/* ============ BANNER ============ */
.banner{
  background:linear-gradient(100deg,var(--red) 0%,var(--red-2) 46%,var(--terra-2) 100%);
  color:#FBF3E4;
}
.banner .eyebrow{color:color-mix(in srgb,#FBF3E4 78%,transparent);}
.banner h2,.banner h3{color:#FDF8EC;}
.banner p{color:color-mix(in srgb,#FBF3E4 88%,transparent);}
.banner .btn-line{border-color:color-mix(in srgb,#FBF3E4 60%,transparent);color:#FDF8EC;}
.banner .btn-line:hover{background:#FDF8EC;color:var(--red);}
.banner .rule{background:color-mix(in srgb,#FBF3E4 24%,transparent);}

/* ============ NOTE / BRIEF BLOCKS ============ */
.brief{
  border:1px dashed var(--sage-deep);background:var(--sage-mist);
  padding:clamp(20px,2.6vw,30px);border-radius:3px;
}
.brief .eyebrow{color:var(--sage-deep);margin-bottom:12px;}
.brief h4{font-family:'Jost',sans-serif;font-size:1rem;font-weight:500;letter-spacing:.01em;margin-bottom:10px;}
.brief ul{margin:0;padding-left:18px;}
.brief li{font-size:.9rem;color:var(--ink-2);margin-bottom:7px;}
.brief li::marker{color:var(--sage-deep);}

/* ============ FORM ============ */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1/-1;}
label{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:500;}
input,select,textarea{
  font-family:inherit;font-size:.95rem;font-weight:300;color:var(--ink);
  background:var(--ivory);border:1px solid var(--line);border-radius:2px;
  padding:13px 14px;width:100%;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--terra);outline-offset:1px;border-color:transparent;}
textarea{min-height:110px;resize:vertical;}
.formnote{font-size:.78rem;color:var(--muted);grid-column:1/-1;margin:0;}
@media (max-width:620px){.form{grid-template-columns:1fr;}}

/* ============ FOOTER ============ */
.ftr{background:#13100E;color:#EDE5D4;padding-block:clamp(48px,6vw,80px) 0;border-top:1px solid var(--line);}
.ftr a{color:#EDE5D4;text-decoration:none;}
.ftr a:hover{color:var(--terra-2);}
.ftr-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:clamp(26px,4vw,50px);}
.ftr h5{
  font-family:'Jost',sans-serif;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:color-mix(in srgb,#EDE5D4 52%,transparent);margin:0 0 16px;
}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.9rem;}
.ftr .mark svg{height:120px;width:auto;aspect-ratio:522/894;display:block;color:#EDE5D4;}
.ftr p{font-size:.88rem;color:color-mix(in srgb,#EDE5D4 72%,transparent);}
.ftr-base{
  margin-top:clamp(36px,5vw,58px);padding-block:22px;
  border-top:1px solid color-mix(in srgb,#EDE5D4 14%,transparent);
  display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;
  font-size:.72rem;color:color-mix(in srgb,#EDE5D4 54%,transparent);
}
@media (max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.ftr-grid{grid-template-columns:1fr;}}

/* ============ STICKY MOBILE CTA ============ */
.mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  background:color-mix(in srgb,var(--cream) 94%,transparent);
  backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);
  gap:10px;
}
.mobile-cta .btn{flex:1;justify-content:center;}
@media (max-width:700px){.mobile-cta{display:flex;} body{padding-bottom:78px;}}


/* ============ FLOATING WHATSAPP ============ */
.wa{
  position:fixed;right:20px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:85;
  display:flex;align-items:center;gap:0;
  height:56px;padding:0;border-radius:999px;
  background:#25D366;color:#fff;text-decoration:none;
  box-shadow:0 4px 10px rgba(35,31,32,.14),0 14px 34px -10px rgba(35,31,32,.36);
  overflow:hidden;max-width:56px;
  transition:max-width .45s cubic-bezier(.2,.7,.3,1), box-shadow .35s, transform .35s;
}
.wa:hover,.wa:focus-visible{max-width:280px;transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(35,31,32,.16),0 22px 46px -12px rgba(35,31,32,.44);}
.wa-ico{flex:0 0 56px;width:56px;height:56px;display:grid;place-items:center;}
.wa-ico svg{width:27px;height:27px;display:block;}
.wa-txt{
  white-space:nowrap;padding-right:24px;font-size:.78rem;font-weight:500;
  letter-spacing:.06em;line-height:1;
}
@media (max-width:700px){
  .wa{bottom:calc(88px + env(safe-area-inset-bottom,0px));right:16px;}
}
@media (prefers-reduced-motion: reduce){ .wa{transition:none;} }

/* ============ BOTANICAL DIVIDER ============ */
.botanical{display:block;margin:0 auto;width:clamp(120px,18vw,190px);height:auto;color:var(--sage);opacity:.85;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}


/* ---- WordPress helpers ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:var(--red);color:#FDF8EC;padding:10px 16px;border-radius:2px;}
.admin-bar .hdr{top:32px;}
@media screen and (max-width:782px){ .admin-bar .hdr{top:46px;} }


/* ---- Suppress Astra parent chrome ---- */
#ast-scroll-top,.ast-scroll-top-icon,.ast-scroll-to-top-right{display:none!important;}

/* Resets Astra used to provide (its stylesheet no longer loads). */
a{color:inherit;text-decoration:none;}
a:hover,a:focus{text-decoration:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
figure{margin:0;}
svg{display:block;}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px;}

/* Journal (/journal/) */
.jrnl{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);}
@media (max-width:900px){.jrnl{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.jrnl{grid-template-columns:1fr;}}
.jcard{display:flex;flex-direction:column;background:var(--ivory);border:1px solid var(--line-soft);overflow:hidden;}
.jcard-img{aspect-ratio:3/2;overflow:hidden;background:var(--sage-mist);}
.jcard-img img{width:100%;height:100%;object-fit:cover;}
.jcard-body{padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:10px;flex:1;}
.jcard-date{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.jcard h3{font-size:1.32rem;line-height:1.2;}
.jcard p{font-size:.88rem;color:var(--ink-2);margin:0;line-height:1.7;}
.jcard .go{margin-top:auto;padding-top:14px;}
.post-hero{max-width:820px;margin-inline:auto;}
.post-body{max-width:720px;margin-inline:auto;font-size:1.02rem;line-height:1.85;color:var(--ink-2);}
.post-body h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:1.7em 0 .5em;color:var(--ink);}
.post-body h3{font-size:clamp(1.3rem,2.4vw,1.6rem);margin:1.5em 0 .45em;color:var(--ink);}
.post-body p{margin:0 0 1.2em;}
.post-body ul,.post-body ol{margin:0 0 1.2em;padding-left:1.2em;list-style:disc;}
.post-body ol{list-style:decimal;}
.post-body li{margin-bottom:.45em;}
.post-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:720px;margin-inline:auto;}
.empty-note{color:var(--muted);font-size:.95rem;}
