/* Reading pages (blog articles, privacy, terms, the session booking page).
   Loads AFTER /assets/editorial-refresh.css and only adds the long-form reading layer on top of that shared system:
   ivory silk hero, a 68ch reading column, a contents rail on legal pages and styled pull quotes. */
.reading main{padding-top:64px}
.reading section{border-top:0}

/* Hero: kicker, two-tone title, meta line. */
.rhero{position:relative;overflow:hidden;background:var(--bg);padding:64px 0 0}
.rhero .wrap{position:relative}
.rhero-copy{max-width:880px;margin:0 auto;text-align:center}
.rhero .kicker{justify-content:center;font-size:11px;letter-spacing:.2em}
.rhero .kicker a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(216,161,59,.45)}
.rhero .kicker a:hover{border-bottom-color:var(--gold)}
.rhero h1{font-size:clamp(36px,4.4vw,58px);font-weight:600;line-height:1.1;letter-spacing:-.03em;margin:20px auto 22px;text-wrap:balance}
.rhero h1 .glow{display:inline}
.rhero .dek{font-size:clamp(17px,1.5vw,20px);line-height:1.62;color:var(--ink2);max-width:40em;margin:0 auto}
.artmeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;margin:28px 0 0;font-size:14px;color:var(--ink2)}
.artmeta img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 20%;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(216,161,59,.55)}
.artmeta b{color:var(--ink);font-weight:600}
.artmeta .dot{color:var(--gold)}
.stamp{display:inline-flex;align-items:center;gap:10px;margin:22px 0 0;font-size:14px;color:var(--ink2)}
.stamp .pip{width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 4px rgba(31,122,77,.14)}
.rhero.legal-hero{padding:72px 0 64px}

/* Cover image sits across the hero edge, half on ivory, half on the reading band. */
.cover{position:relative;max-width:1040px;margin:44px auto 0;padding:0 var(--gutter)}
.cover img{width:100%;height:auto;aspect-ratio:1280/719;border-radius:var(--r);box-shadow:var(--shadow);background:var(--green)}
.cover::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:38%;background:#fff;z-index:-1}
.rhero.has-cover{padding-bottom:0}
.rhero.has-cover .silk{bottom:30%}

/* Reading band. */
.readband{background:#fff;padding:56px 0 96px}
.prose{max-width:68ch;margin:0 auto;font-size:18px;line-height:1.78;color:#26352D}
.prose>p{margin:0 0 1.25em}
.prose h2{font-size:clamp(26px,2.4vw,32px);line-height:1.22;font-weight:600;letter-spacing:-.02em;margin:2.1em 0 .7em;color:var(--ink);text-wrap:balance}
.prose h3{font-size:clamp(19px,1.6vw,21px);line-height:1.35;font-weight:600;letter-spacing:-.01em;margin:1.8em 0 .55em;color:var(--green)}
.prose a{color:var(--green2);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(31,106,69,.32)}
.prose a:hover{border-bottom-color:var(--green2)}
.prose strong{color:var(--ink);font-weight:600}
.prose ul,.prose ol{margin:0 0 1.4em;padding:0;list-style:none}
.prose li{position:relative;padding-left:30px;margin:0 0 .75em}
.prose ul>li::before{content:"";position:absolute;left:6px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.prose ol{counter-reset:n}
.prose ol>li{counter-increment:n}
.prose ol>li::before{content:counter(n);position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--gold-soft);font:600 12px/22px var(--display);text-align:center}

/* Key takeaways card. */
.tldr{background:var(--bg);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:18px;padding:26px 30px;margin:0 0 2.2em}
.tldr .lab,.tldr h4{font:600 11px var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);margin:0 0 14px}
.tldr ul{margin:0}.tldr li{font-size:16px;line-height:1.65;margin-bottom:.6em}.tldr li:last-child{margin-bottom:0}
.tldr p{font-size:16px;line-height:1.7;margin:0 0 10px}.tldr p:last-child{margin:0}

/* Pull quotes. */
.pull,.prose>p.lede{position:relative;margin:2em 0;padding:6px 0 6px 30px;border-left:3px solid var(--gold);font:300 clamp(22px,2.2vw,28px)/1.42 var(--display);letter-spacing:-.01em;color:var(--green)}
.pull{margin:2.2em -2ch}
.pull strong,.prose>p.lede strong{font-weight:600}
@media(max-width:820px){.pull{margin:1.8em 0}}

/* FAQ. */
.prose details{border-top:1px solid var(--line);padding:0}
.prose details:last-of-type{border-bottom:1px solid var(--line)}
.prose summary{list-style:none;cursor:pointer;position:relative;padding:20px 44px 20px 0;font:600 17px/1.45 var(--display);color:var(--ink)}
.prose summary::-webkit-details-marker{display:none}
.prose summary::after{content:"";position:absolute;right:6px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--emerald-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E3B2A' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .25s ease}
.prose details[open] summary::after{transform:rotate(45deg)}
.prose details .a{padding:0 0 22px;font-size:16px;line-height:1.72;color:var(--ink2)}

/* Author card and the quiet end links. */
.authorbox{display:flex;gap:22px;align-items:flex-start;max-width:68ch;margin:56px auto 0;padding:28px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line)}
.authorbox img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.authorbox h4{font:600 19px var(--display);margin:4px 0 2px;color:var(--ink)}
.authorbox .role{font:600 11px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin-bottom:10px}
.authorbox p{font-size:15px;line-height:1.7;color:var(--ink2);margin:0}
.authorbox a{color:var(--green2);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(31,106,69,.32)}
.endlinks{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 28px;max-width:68ch;margin:36px auto 0;padding-top:24px;border-top:1px solid var(--line);font:500 15px var(--display)}
.endlinks a{color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.endlinks a:hover{color:var(--green2);text-decoration:underline;text-underline-offset:4px}

/* Legal pages: contents rail beside the reading column. */
.legalband{background:#fff;padding:64px 0 104px}
.legalgrid{display:grid;grid-template-columns:240px minmax(0,68ch);gap:64px;justify-content:center;align-items:start}
.toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.toc summary{list-style:none;font:600 11px var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);margin:0 0 14px;cursor:default}
.toc summary::-webkit-details-marker{display:none}
.toc a{display:block;font-size:14px;line-height:1.4;color:var(--ink2);text-decoration:none;padding:7px 0 7px 14px;border-left:2px solid var(--line);transition:color .18s,border-color .18s}
.toc a:hover,.toc a.on{color:var(--green);border-left-color:var(--gold)}
.toc a.on{font-weight:600}
.legal{font-size:17px;line-height:1.76;color:#26352D;max-width:68ch}
.legal .sec{margin-top:56px;scroll-margin-top:96px}
.legal .sec:first-of-type{margin-top:0}
.legal>p{margin:0 0 2.4em;color:var(--ink2)}
.legal h2{display:flex;gap:14px;align-items:baseline;font-size:clamp(23px,2.2vw,28px);line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:0 0 18px;color:var(--ink)}
.legal h2 .num{flex:none;font:600 12px var(--display);letter-spacing:.1em;color:var(--gold-text);background:var(--amber-tint);border:1px solid rgba(216,161,59,.4);border-radius:8px;padding:5px 9px;transform:translateY(-3px)}
.legal h3{font-size:18px;line-height:1.4;font-weight:600;color:var(--green);margin:28px 0 10px}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 18px;padding:0;list-style:none}
.legal li{position:relative;padding-left:24px;margin:0 0 10px}
.legal li::before{content:"";position:absolute;left:3px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.legal a{color:var(--green2);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(31,106,69,.32);overflow-wrap:anywhere}
.legal a:hover{border-bottom-color:var(--green2)}
.legal strong{color:var(--ink);font-weight:600}
.legal hr{border:0;border-top:1px solid var(--line);margin:48px 0 0}
.legal .tldr{margin-bottom:44px}

@media(max-width:1000px){
  .legalgrid{grid-template-columns:minmax(0,1fr);gap:28px;max-width:68ch;margin:0 auto}
  .toc{position:static;max-height:none;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px 20px}
  .toc summary{margin:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:28px}
  .toc summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold-text);border-bottom:2px solid var(--gold-text);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
  .toc[open] summary{margin-bottom:10px}
  .toc[open] summary::after{transform:rotate(225deg)}
  .toc a{border-left:0;padding:8px 0}
}
@media(max-width:700px){
  .rhero{padding:36px 0 0}
  .rhero.legal-hero{padding:40px 0 40px}
  .rhero h1{font-size:34px;line-height:1.12;margin:14px auto 16px}
  .rhero .kicker{font-size:10px;letter-spacing:.14em}
  .rhero .dek{font-size:16.5px;line-height:1.58}
  .artmeta{font-size:13px;margin-top:20px;gap:6px 10px}
  .artmeta img{width:38px;height:38px}
  .cover{margin-top:28px}
  .cover img{border-radius:16px}
  .readband{padding:36px 0 64px}
  .prose{font-size:17px;line-height:1.74}
  .prose h2{font-size:25px}
  .tldr{padding:20px 20px;border-radius:14px}
  .tldr li{font-size:15px}
  .pull,.prose>p.lede{padding-left:20px;font-size:21px}
  .authorbox{flex-direction:column;gap:14px;padding:22px}
  .authorbox img{width:68px;height:68px}
  .legalband{padding:36px 0 72px}
  .legal{font-size:16px}
  .legal h2{font-size:22px;gap:10px}
}

/* Booking page: the calendar sits in the hero card, so it is visible without hunting for it. */
.book-hero .hero-grid{align-items:start}
.book-hero .hero-copy{padding-top:28px}
.facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.facts li{font:500 13px var(--display);color:var(--green);background:#fff;border:1px solid var(--line2);border-radius:999px;padding:7px 14px}
.bookcard{background:#fff;border:1px solid var(--gold);border-radius:var(--r);padding:28px 26px 22px;box-shadow:var(--shadow);scroll-margin-top:84px}
.bookcard .kicker{font-size:10px;letter-spacing:.12em}.bookcard .kicker::before{display:none}
.bookcard h2{font-size:28px;line-height:1.2;margin:12px 0 10px}
.bookcard .lede{font-size:15px;line-height:1.6;color:var(--ink2);margin:0 0 16px}
.bookbox{border-radius:16px;overflow:hidden;background:#F4F0E7;border:1px solid var(--line)}
.bookbox iframe{display:block;width:100%;min-height:660px;border:0;overflow:hidden}
.bookcard .note{font-size:13px;margin:14px 0 0}
.leave-list{margin:0;padding:0;list-style:none}
.leave-list li{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;padding:22px 0;border-top:1px solid rgba(240,195,106,.25)}
.leave-list li:first-child{border-top:0;padding-top:0}
.leave-list .n{grid-row:span 2;font:300 30px/1.1 var(--display);color:var(--gold-soft)}
.leave-list h3{font-size:21px;line-height:1.3;color:var(--bg)}
.leave-list p{margin:0;color:#d3dfd6;font-size:16px;line-height:1.65}
.book-close .btn{margin-top:4px}
@media(max-width:1000px){.book-hero .hero-grid{grid-template-columns:1fr}.book-hero .hero-copy{padding-top:0;max-width:680px}.bookcard{max-width:680px;width:100%}}
@media(max-width:700px){.bookcard{padding:22px 16px 18px;border-radius:18px}.bookcard h2{font-size:24px}.bookbox iframe{min-height:720px}.facts li{font-size:12px;padding:6px 12px}.leave-list h3{font-size:19px}.leave-list p{font-size:15px}}
.pull p{margin:0}
/* Round 2 fixes after the 375/390/768/1440 review. */
.rhero h1 .lt{display:block}
.prose,.authorbox,.endlinks{font-size:18px}
.endlinks a{font-size:15px}
@media(min-width:1001px){.book-hero .hero-grid{grid-template-columns:1.08fr 1fr;gap:56px}}
.book-hero h1{font-size:clamp(38px,3.7vw,54px);line-height:1.1}
@media(max-width:700px){
  .artmeta span.dot:nth-of-type(2){flex-basis:100%;height:0;overflow:hidden;font-size:0}
  .rhero .dek{font-size:16px}
  .book-hero h1{font-size:36px}
  .facts{gap:8px;margin-top:18px}
}
@media(max-width:700px){.book-hero{padding-top:22px}.book-hero h1{margin:12px 0 14px}.book-hero .lead{font-size:15.5px;line-height:1.5;margin-bottom:18px}}
@media(max-width:400px){.book-hero h1{font-size:31px}.book-hero .kicker{font-size:9px}}
.leave-list li{grid-template-columns:46px 1fr}
