/* ============================================================
   Lady Talk Matters Health Hub — "Warm editorial" design system
   Display: Fraunces (serif)  ·  Body: Hanken Grotesk
   ============================================================ */
:root{
  --paper:#f5efe4;        /* warm cream base   */
  --paper-2:#efe7d8;      /* alt section       */
  --card:#fffdf8;         /* warm white card   */
  --ink:#26201d;          /* warm near-black   */
  --ink-2:#4a403b;        /* secondary ink     */
  --muted:#7a6f67;        /* muted body        */
  --berry:#9d2b50;        /* signature accent  */
  --berry-deep:#7c1f3e;
  --ochre:#c0843a;        /* honey accent      */
  --sage:#5e7560;         /* muted sage        */
  --line:rgba(38,32,29,.16);
  --line-soft:rgba(38,32,29,.09);
  --shadow:0 18px 50px -28px rgba(54,30,24,.45);
  --radius:6px;
  --radius-lg:14px;
  --max:1200px;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Hanken Grotesk',system-ui,-apple-system,Segoe UI,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);
  line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;letter-spacing:-.005em;
}
/* subtle paper grain */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::selection{background:var(--berry);color:var(--paper)}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:560;letter-spacing:-.02em;line-height:1.05;font-optical-sizing:auto}
h1 em,h2 em{font-style:italic;color:var(--berry);font-weight:500}

.skip-link{position:absolute;left:-999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:var(--ink);color:var(--paper);padding:.75rem 1rem;border-radius:4px;z-index:99}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Announce bar ---------- */
.announce{display:flex;gap:1rem;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);padding:.6rem 1rem;font-size:.85rem;flex-wrap:wrap}
.announce span{background:var(--berry);padding:.2rem .6rem;border-radius:999px;font-weight:700;letter-spacing:.02em}
.announce p{margin:0;color:rgba(245,239,228,.78)}
.announce a{text-decoration:underline;text-underline-offset:3px;font-weight:700}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1.5rem;padding:1rem clamp(1rem,4vw,3rem);background:rgba(245,239,228,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;min-width:max-content}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--berry);color:var(--paper);font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.03em}
.brand strong{display:block;line-height:1.05;font-family:var(--font-display);font-weight:560;font-size:1.12rem}
.brand small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em}
.site-nav{display:flex;gap:1.4rem;margin-left:auto}
.site-nav a{color:var(--ink-2);font-size:.96rem;font-weight:500;position:relative;padding:.15rem 0}
.site-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--berry);transition:width .25s ease}
.site-nav a:hover{color:var(--ink)}
.site-nav a:hover::after{width:100%}
.header-actions{display:flex;gap:.6rem}
.menu-toggle{display:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid transparent;border-radius:999px;padding:.8rem 1.3rem;font-family:var(--font-body);font-weight:600;font-size:.97rem;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn-primary{background:var(--berry);color:var(--paper)}
.btn-primary:hover{background:var(--berry-deep);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{transform:translateY(-2px)}
.btn-light{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn-light:hover{border-color:var(--ink)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--berry);color:var(--berry)}

/* ---------- Layout primitives ---------- */
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(1.1rem,3vw,2rem)}
.section-pad{padding:clamp(3.5rem,7vw,6rem) 0}
.section-pad.compact{padding-top:3rem}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;color:var(--berry);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem}
.eyebrow::before{content:"";width:1.6rem;height:1.5px;background:var(--berry)}
.lead{font-size:1.18rem;color:var(--ink-2);max-width:54ch;line-height:1.55}

/* ---------- Hero (home) ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,6vw,5.5rem) 0 clamp(3.5rem,7vw,6rem);background:linear-gradient(180deg,var(--paper) 0,var(--paper-2) 100%)}
.hero::after{content:"";position:absolute;right:-6%;top:-20%;width:46vw;height:46vw;max-width:640px;max-height:640px;border-radius:50%;background:radial-gradient(circle,rgba(157,43,80,.10),transparent 68%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;position:relative}
.hero h1{font-size:clamp(2.7rem,6.2vw,5rem);letter-spacing:-.035em;margin:.2rem 0 1.3rem;max-width:15ch}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.8rem 0 1.4rem}
.safety-note{color:var(--muted);font-size:.9rem;margin:0;padding-left:1rem;border-left:2px solid var(--ochre)}

/* hero "contents" panel */
.hero-index{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem 1.5rem;box-shadow:var(--shadow)}
.hero-index-label{margin:.1rem 0 .9rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--muted)}
.hero-index-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.95rem 0;border-top:1px solid var(--line-soft);transition:padding .25s ease}
.hero-index-row:first-of-type{border-top:0}
.hero-index-row .num{font-family:var(--font-display);font-size:1.5rem;color:var(--berry);font-weight:520;width:2ch}
.hero-index-row .t strong{display:block;font-family:var(--font-display);font-size:1.18rem;font-weight:560;line-height:1.1}
.hero-index-row .t small{display:block;color:var(--muted);font-size:.86rem;margin-top:.1rem}
.hero-index-row .arrow{color:var(--muted);transition:transform .25s ease,color .25s ease}
.hero-index-row:hover{padding-left:.5rem}
.hero-index-row:hover .arrow{transform:translateX(4px);color:var(--berry)}

/* ---------- Section headings ---------- */
.section-heading{max-width:60ch;margin-bottom:2.4rem}
.section-heading h2{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.03em}
.row-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:none}
.row-heading a{color:var(--berry);font-weight:700;text-underline-offset:4px}
.row-heading a:hover{text-decoration:underline}

/* ---------- Pathway grid ---------- */
.pathway-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.pathway-card{padding:1.6rem 1.4rem 1.5rem;background:var(--card);transition:background .25s ease,transform .25s ease}
.pathway-card span{font-family:var(--font-display);color:var(--berry);font-weight:560;font-size:1.6rem}
.pathway-card h3{font-size:1.3rem;margin:.7rem 0 .5rem}
.pathway-card p{color:var(--muted);margin:0;font-size:.96rem}
.pathway-card:hover{background:var(--paper)}

/* ---------- Split / feature sections ---------- */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.split-grid h2,.info-card h2,.trust-grid h2,.signup-grid h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
.split-grid p{color:var(--ink-2);font-size:1.06rem}
.reverse{grid-template-columns:1fr 1fr}
.feature-band{background:var(--paper-2)}
.assistant-preview{background:var(--paper-2)}
.muted{background:var(--paper-2)}

.modern-card{padding:1.8rem}
.dark-card{background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:2rem}
.dark-card h2{color:var(--paper)}
.dark-card p{color:rgba(245,239,228,.74)}
.dark-card .tag{background:rgba(245,239,228,.12);color:var(--paper)}

.tag,.resource-card span,.article-card .tag{display:inline-flex;border-radius:999px;padding:.32rem .7rem;background:transparent;border:1px solid var(--line);color:var(--sage);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}

.icon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.icon-list div{background:var(--card);padding:1.3rem}
.icon-list strong{font-family:var(--font-display);font-weight:560;font-size:1.08rem}
.icon-list p{margin:.3rem 0 0;color:var(--muted);font-size:.94rem}

.steps-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;display:grid;gap:1rem;background:var(--card)}
.steps-card div{display:grid;grid-template-columns:48px 1fr;gap:.2rem 1rem;align-items:start;border-bottom:1px solid var(--line-soft);padding-bottom:1rem}
.steps-card div:last-child{border-bottom:0;padding-bottom:0}
.steps-card span{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--berry);color:var(--paper);font-family:var(--font-display);font-weight:560}
.steps-card strong{font-family:var(--font-display);font-weight:560;font-size:1.1rem}
.steps-card p{margin:0;color:var(--muted)}

/* ---------- Resource / article cards ---------- */
.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.resource-card,.article-card{padding:1.4rem 1.3rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;gap:.55rem}
.resource-card:hover,.article-card:hover{transform:translateY(-4px);border-color:var(--berry);box-shadow:var(--shadow)}
.resource-card h3,.article-card h3{font-size:1.18rem;margin:.5rem 0 .15rem;line-height:1.15}
.resource-card p,.article-card p{color:var(--muted);font-size:.95rem;margin:0}
.resource-card a,.article-card a{margin-top:auto;font-weight:700;color:var(--berry);text-underline-offset:4px}
.resource-card a:hover,.article-card a:hover{text-decoration:underline}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.pill-row{display:flex;gap:.45rem;flex-wrap:wrap;margin:.4rem 0}
.pill{display:inline-flex;padding:.3rem .6rem;border-radius:999px;background:var(--paper-2);color:var(--ink-2);font-size:.74rem;font-weight:600}

/* ---------- Info / trust / signup ---------- */
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.info-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;background:var(--card)}
.info-card h2{font-size:1.5rem;margin:.4rem 0 .7rem}
.info-card p{color:var(--muted)}
.trust-section{background:var(--ink);color:var(--paper)}
.trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem)}
.trust-grid h2{color:var(--paper)}
.trust-grid p{color:rgba(245,239,228,.72)}
.trust-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(245,239,228,.14);border:1px solid rgba(245,239,228,.14);border-radius:var(--radius-lg);overflow:hidden}
.trust-cards div{background:var(--ink);padding:1.3rem}
.trust-cards strong{font-family:var(--font-display);font-weight:560;color:var(--paper);font-size:1.06rem}
.trust-cards p{margin:.3rem 0 0}
.signup-band{background:linear-gradient(120deg,var(--paper-2),#e7dcc8)}
.signup-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}

/* ---------- Forms ---------- */
.form-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;background:var(--card)}
.form-card label{display:grid;gap:.35rem;color:var(--ink-2);font-size:.88rem;font-weight:600}
.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:.85rem .95rem;font:inherit;background:var(--paper);color:var(--ink);transition:border-color .2s ease}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--berry)}
.form-card .btn,.form-card label:nth-child(3),.form-card .form-note,.form-card .cf-turnstile,.form-card .form-status{grid-column:1/-1}
.form-note{font-size:.82rem;color:var(--muted);margin:0}
.form-wide{max-width:760px}
.form-status{margin:0;font-size:.92rem;font-weight:600;min-height:1.2em}
.form-status[data-state="pending"]{color:var(--muted)}
.form-status[data-state="success"]{color:var(--sage)}
.form-status[data-state="error"]{color:var(--berry)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--paper);padding:3.2rem 0 1.3rem}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem;max-width:var(--max);margin:0 auto;padding:0 clamp(1.1rem,3vw,2rem)}
.footer-grid>div>p{color:rgba(245,239,228,.6)}
.site-footer a{display:block;color:rgba(245,239,228,.72);margin:.45rem 0;font-size:.95rem}
.site-footer a:hover{color:var(--paper)}
.footer-brand{color:var(--paper)}
.footer-brand .brand-mark{background:var(--paper);color:var(--ink)}
.site-footer h3{font-family:var(--font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(245,239,228,.55);font-weight:700}
.footer-bottom{text-align:center;color:rgba(245,239,228,.5);border-top:1px solid rgba(245,239,228,.14);margin:2.2rem auto 0;padding-top:1.2rem;max-width:var(--max);font-size:.88rem}

/* ---------- Interior page hero & content ---------- */
.page-hero{background:linear-gradient(180deg,var(--paper),var(--paper-2));padding:clamp(3.5rem,7vw,5.5rem) 0;border-bottom:1px solid var(--line)}
.page-hero .container{max-width:920px}
.page-hero h1{font-size:clamp(2.4rem,5.5vw,4.2rem);letter-spacing:-.03em;margin:0 0 1rem}
.content-section{padding:clamp(2.5rem,5vw,4rem) 0}
.content-section.alt{background:var(--paper-2)}
.rich-copy{display:grid;gap:1.1rem}
.rich-copy h2{font-size:clamp(1.7rem,3vw,2.5rem)}
.rich-copy h3{font-size:1.25rem;margin:.3rem 0;font-family:var(--font-display);font-weight:560}
.rich-copy p,.rich-copy li{color:var(--ink-2)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.3rem,3vw,2rem)}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.callout{border-left:3px solid var(--berry);background:var(--card);padding:1.1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-2)}
.safe-box{background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:1.6rem}
.safe-box h3{color:var(--paper);font-family:var(--font-display);font-weight:560}
.safe-box p,.safe-box li{color:rgba(245,239,228,.78)}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}
.small-note{font-size:.9rem;color:var(--muted)}
.topic-band{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem}
.topic-band h3{font-family:var(--font-display);font-weight:560;font-size:1.3rem;margin-top:0}

.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}
.check-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem;position:relative;padding-left:2.6rem}
.check-list li::before{content:"";position:absolute;left:.85rem;top:1.05rem;width:1rem;height:.55rem;border-left:2px solid var(--berry);border-bottom:2px solid var(--berry);transform:rotate(-45deg)}

/* article layout */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(1.5rem,4vw,2.5rem);align-items:start}
.article-main{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.4rem)}
.article-main h2{font-size:1.6rem;margin-top:2rem}
.article-main h2:first-child{margin-top:0}
.article-main p{color:var(--ink-2)}
.article-side{position:sticky;top:108px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem}
.article-side a{display:block;color:var(--berry);font-weight:600;margin:.7rem 0;text-underline-offset:3px}
.article-side a:hover{text-decoration:underline}

.content-grid{display:grid;gap:1rem}
.content-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem}
.demo-warning{background:#fbf0df;border:1px solid rgba(192,132,58,.4);border-radius:var(--radius);padding:1rem;color:#7d531f}

/* ---------- Resource filter ---------- */
.resource-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.8rem}
.resource-filter button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.55rem .95rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--ink-2);cursor:pointer;transition:.2s ease}
.resource-filter button:hover{border-color:var(--berry);color:var(--berry)}
.resource-filter button.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Appointment prep ---------- */
.prep-app{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.output-box{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;min-height:360px;font-size:.95rem;line-height:1.55}
.notice{border-left:3px solid var(--ochre);background:var(--card);padding:1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-2)}

/* ---------- AI assistant ---------- */
.assistant-hero{background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.assistant-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.3rem;align-items:start}
.assistant-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.assistant-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line);background:var(--paper)}
.assistant-top strong{font-family:var(--font-display);font-weight:560}
.assistant-top span{display:block;color:var(--muted);font-size:.84rem}
.status-dot{display:inline-flex!important;align-items:center;gap:.4rem;border:1px solid rgba(94,117,96,.4);background:rgba(94,117,96,.1);color:var(--sage)!important;border-radius:999px;padding:.3rem .65rem;font-weight:700;font-size:.8rem}
.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage)}
.chat-window{min-height:420px;max-height:520px;overflow:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.85rem;background:var(--card)}
.chat-message{max-width:84%;border-radius:var(--radius-lg);padding:.85rem 1.05rem;line-height:1.5}
.chat-message p{margin:0;color:inherit}
.chat-message.bot{align-self:flex-start;background:var(--paper-2);color:var(--ink);border-bottom-left-radius:4px}
.chat-message.user{align-self:flex-end;background:var(--berry);color:var(--paper);border-bottom-right-radius:4px}
.chat-message small{display:block;margin-top:.6rem;color:var(--muted);line-height:1.5}
.chat-message.user small{color:rgba(245,239,228,.78)}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:1rem;border-top:1px solid var(--line);background:var(--card)}
.chat-form input{width:100%;border:1px solid var(--line);border-radius:999px;padding:.9rem 1.1rem;font:inherit;background:var(--paper)}
.chat-form input:focus{outline:none;border-color:var(--berry)}
.assistant-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.1rem;display:grid;gap:.6rem}
.assistant-side h3{margin:.2rem 0;font-family:var(--font-display);font-weight:560}
.assistant-side button{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:.75rem .85rem;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;transition:.2s ease}
.assistant-side button:hover{border-color:var(--berry);color:var(--berry)}

/* ---------- Motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) backwards}
.hero-copy>*:nth-child(1){animation-delay:.05s}
.hero-copy>*:nth-child(2){animation-delay:.13s}
.hero-copy>*:nth-child(3){animation-delay:.21s}
.hero-copy>*:nth-child(4){animation-delay:.29s}
.hero-copy>*:nth-child(5){animation-delay:.37s}
.hero-index{animation:rise .8s cubic-bezier(.2,.7,.2,1) .3s backwards}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .site-nav,.header-actions{display:none}
  .menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.6rem .9rem;font:inherit;font-weight:600;cursor:pointer}
  .site-nav.open{display:flex;position:absolute;top:100%;left:1rem;right:1rem;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow);gap:.4rem}
  .site-nav.open a::after{display:none}
  .hero-grid,.split-grid,.reverse,.trust-grid,.signup-grid,.prep-app,.two-col,.three-col,.article-layout,.assistant-shell{grid-template-columns:1fr}
  .pathway-grid,.resource-grid,.article-grid{grid-template-columns:repeat(2,1fr)}
  .three-grid,.footer-grid{grid-template-columns:1fr}
  .icon-list,.trust-cards{grid-template-columns:1fr}
  .article-side{position:relative;top:auto}
  .announce{flex-wrap:wrap}
}
@media (max-width:600px){
  .hero h1{font-size:2.5rem}
  .pathway-grid,.resource-grid,.article-grid{grid-template-columns:1fr}
  .form-card{grid-template-columns:1fr}
  .row-heading{display:block}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
}

/* ============================================================
   DEPTH PASS — cycle motif · atmosphere · reveals · micro-detail
   ============================================================ */

/* Recurring "cycle / phase" mark on every eyebrow (brand device) */
.eyebrow::before{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--berry);background:radial-gradient(circle,var(--ochre) 0 2px,transparent 2.6px)}

/* Hero atmosphere: faint concentric cycle rings */
.hero::before{content:"";position:absolute;right:-7%;top:-34%;width:660px;height:660px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle, transparent 0 26px, rgba(38,32,29,.06) 26px 27px);
  -webkit-mask:radial-gradient(circle,#000 36%,transparent 70%);mask:radial-gradient(circle,#000 36%,transparent 70%)}

/* Atmosphere inside the dark moments */
.trust-section,.dark-card{position:relative;overflow:hidden}
.trust-section::before,.dark-card::before{content:"";position:absolute;right:-90px;bottom:-130px;width:360px;height:360px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle, transparent 0 22px, rgba(245,239,228,.07) 22px 23px);
  -webkit-mask:radial-gradient(circle,#000 38%,transparent 72%);mask:radial-gradient(circle,#000 38%,transparent 72%)}
.trust-section .container,.dark-card>*{position:relative;z-index:1}

/* Card hover: accent line sweeps in */
.resource-card,.article-card{position:relative;overflow:hidden}
.resource-card::after,.article-card::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;
  background:linear-gradient(90deg,var(--berry),var(--ochre));transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.resource-card:hover::after,.article-card:hover::after{transform:scaleX(1)}

/* Animated underline for in-content links */
.rich-copy a:not(.btn),.article-main p a:not(.btn){color:var(--berry);
  background-image:linear-gradient(var(--berry),var(--berry));background-size:0% 1.5px;background-repeat:no-repeat;background-position:left 100%;
  transition:background-size .3s ease;padding-bottom:1px}
.rich-copy a:not(.btn):hover,.article-main p a:not(.btn):hover{background-size:100% 1.5px}

/* Editorial rhythm in articles: hairline-separated sections */
.article-main h2{border-top:1px solid var(--line-soft);padding-top:1.5rem;margin-top:1.9rem}

/* Pull-quote utility (available for editorial use) */
.pull-quote{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.32;color:var(--ink);border-top:2px solid var(--berry);border-bottom:1px solid var(--line);padding:1.1rem 0;margin:1.8rem 0;max-width:38ch}

/* Scroll reveal — class added by JS only, so no-JS shows everything */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* Focus-visible polish */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.5px solid var(--berry);outline-offset:2px;border-radius:3px}

/* Berry scrollbar (webkit) */
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:var(--paper-2)}
::-webkit-scrollbar-thumb{background:var(--berry);border:3px solid var(--paper-2);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--berry-deep)}

/* ============================================================
   FURTHER — statement moment · phase dividers · pathway identity
   ============================================================ */
:root{--plum:#7a3360}

/* Per-pathway accent identity */
.pathway-card{position:relative}
.pathway-card::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc,var(--berry));transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.pathway-card:hover::after{transform:scaleY(1)}
.pathway-grid .pathway-card:nth-child(1){--acc:var(--berry)}
.pathway-grid .pathway-card:nth-child(2){--acc:var(--plum)}
.pathway-grid .pathway-card:nth-child(3){--acc:var(--ochre)}
.pathway-grid .pathway-card:nth-child(4){--acc:var(--sage)}
.pathway-card span{color:var(--acc,var(--berry))}
.hero-index a.hero-index-row:nth-of-type(1) .num{color:var(--berry)}
.hero-index a.hero-index-row:nth-of-type(2) .num{color:var(--plum)}
.hero-index a.hero-index-row:nth-of-type(3) .num{color:var(--ochre)}
.hero-index a.hero-index-row:nth-of-type(4) .num{color:var(--sage)}

/* Cycle-phase divider (waxing crescent → full) */
.phase-rule{display:flex;align-items:center;justify-content:center;gap:.65rem;max-width:var(--max);margin:0 auto;padding:clamp(2rem,5vw,3.4rem) clamp(1.1rem,3vw,2rem)}
.phase-rule::before,.phase-rule::after{content:"";flex:1;max-width:32%;height:1px;background:var(--line)}
.phase-rule i{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--berry);flex:none;background:linear-gradient(90deg,var(--berry) var(--f,0%),transparent var(--f,0%))}
.phase-rule i.p0{--f:0%}.phase-rule i.p1{--f:27%}.phase-rule i.p2{--f:52%}.phase-rule i.p3{--f:76%}.phase-rule i.p4{--f:100%}

/* Statement moment (full-bleed dark anchor) */
.statement{background:var(--ink);color:var(--paper);padding:clamp(4rem,9vw,7rem) 0;position:relative;overflow:hidden}
.statement::before{content:"";position:absolute;left:-120px;top:50%;transform:translateY(-50%);width:520px;height:520px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle, transparent 0 26px, rgba(245,239,228,.06) 26px 27px);
  -webkit-mask:radial-gradient(circle,#000 40%,transparent 72%);mask:radial-gradient(circle,#000 40%,transparent 72%)}
.statement .container{position:relative;z-index:1;max-width:980px}
.statement .eyebrow{color:var(--ochre)}
.statement .eyebrow::before{border-color:var(--ochre);background:radial-gradient(circle,var(--paper) 0 2px,transparent 2.6px)}
.statement-line{font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4.8vw,3.7rem);line-height:1.1;letter-spacing:-.02em;max-width:19ch;margin:.3rem 0 1.2rem;color:var(--paper);text-wrap:balance}
.statement-line em{font-style:italic;color:var(--ochre)}
.statement-sub{color:rgba(245,239,228,.76);max-width:54ch;font-size:1.12rem;margin:0 0 1.9rem}

/* Footer atmosphere */
.site-footer{position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle, transparent 0 24px, rgba(245,239,228,.05) 24px 25px);
  -webkit-mask:radial-gradient(circle,#000 42%,transparent 72%);mask:radial-gradient(circle,#000 42%,transparent 72%)}
.footer-grid,.footer-bottom{position:relative;z-index:1}

/* Premium micro-typography */
body{font-feature-settings:"liga" 1,"calt" 1;font-variant-numeric:oldstyle-nums}
.hero-index-row .num,.pathway-card span,.steps-card span,.brand-mark,.statement-line,h1,h2,h3{font-variant-numeric:lining-nums}
h1,h2,.statement-line{text-wrap:balance}
.lead,.statement-sub{text-wrap:pretty}
.hero h1{hanging-punctuation:first}

/* ============================================================
   EVEN FURTHER — per-pathway theming · footer wordmark · 404
   ============================================================ */
:root{--accent:var(--berry)}
.theme-periods{--accent:#9d2b50}
.theme-endo{--accent:#7a3360}
.theme-parents{--accent:#a86a26}
.theme-schools{--accent:#506a55}

/* themed pages take on their accent for hero + editorial details */
[class*="theme-"] .page-hero{background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--accent) 13%,var(--paper-2)));border-bottom-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
[class*="theme-"] .eyebrow{color:var(--accent)}
[class*="theme-"] .eyebrow::before{border-color:var(--accent)}
[class*="theme-"] .callout{border-left-color:var(--accent)}
[class*="theme-"] .check-list li::before{border-color:var(--accent)}
[class*="theme-"] .topic-band h3{color:var(--accent)}
[class*="theme-"] .article-card a{color:var(--accent)}
[class*="theme-"] .article-card:hover{border-color:var(--accent)}
[class*="theme-"] .resource-card:hover::after,[class*="theme-"] .article-card:hover::after{background:linear-gradient(90deg,var(--accent),var(--ochre))}
[class*="theme-"] .resource-filter button:hover,[class*="theme-"] .resource-filter button.is-active{border-color:var(--accent)}
[class*="theme-"] .resource-filter button.is-active{background:var(--accent);color:var(--paper)}

/* giant faint wordmark watermark in the footer (CSS-only, all pages) */
.site-footer::after{content:"Lady Talk Matters";position:absolute;left:clamp(1rem,3vw,2rem);bottom:-.16em;
  font-family:var(--font-display);font-weight:560;font-size:clamp(3rem,11vw,8.5rem);line-height:.8;letter-spacing:-.03em;
  color:rgba(245,239,228,.045);white-space:nowrap;pointer-events:none;z-index:0}

/* 404 page */
.notfound{min-height:62vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.notfound::before{content:"";position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:560px;height:560px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle, transparent 0 26px, rgba(38,32,29,.06) 26px 27px);
  -webkit-mask:radial-gradient(circle,#000 36%,transparent 70%);mask:radial-gradient(circle,#000 36%,transparent 70%)}
.notfound .inner{position:relative;z-index:1;max-width:620px;padding:clamp(3rem,8vw,6rem) clamp(1.1rem,3vw,2rem)}
.notfound .code{font-family:var(--font-display);font-weight:560;font-size:clamp(4rem,12vw,8rem);line-height:.9;letter-spacing:-.04em;color:var(--ink)}
.notfound .code em{font-style:italic;color:var(--berry)}
.notfound h1{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:1rem 0 .8rem}
.notfound p{color:var(--ink-2);font-size:1.1rem;margin:0 auto 1.8rem;max-width:46ch}
.notfound .cta-row{justify-content:center}

/* Real brand emblem as a small footer accent (header keeps the refined mark) */
.footer-brand .brand-mark{background:var(--paper) url('ltm-emblem.png') center/76% no-repeat;color:transparent;font-size:0}

/* Photo feature (authentic imagery) */
.photo-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.photo-wrap{position:relative}
.photo-wrap::before{content:"";position:absolute;left:-16px;bottom:-16px;width:62%;height:58%;background:var(--ochre);opacity:.16;border-radius:var(--radius-lg);z-index:0}
.photo-frame{position:relative;z-index:1;margin:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);background:var(--card)}
.photo-frame img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.photo-frame figcaption{padding:.7rem 1rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
@media (max-width:980px){.photo-grid{grid-template-columns:1fr}.photo-wrap{max-width:420px;margin:0 auto}}
