/* ========================================================================== 
   Jessy Fransiska: Sadar · Bertumbuh · Berakar
   Design system: warm ivory, deep maroon, aged gold, sage root-green
   Display: Fraunces (soft old-style serif) / Body: Karla / Utility: Karla uppercase
   Signature motif: a single branching "root/vine" line that runs through the
   page, echoing "Berakar" (rooted) and the leaf mark she already uses.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Karla:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root{
  --cream:      #F6EFE4;
  --paper:      #FFFBF3;
  --line:       #E8DCC8;
  --maroon-900: #3F3226;
  --maroon-700: #5B4636;
  --maroon-600: #6E5843;
  --maroon-500: #82694F;
  --gold-700:   #A15A2E;
  --gold-600:   #C97A4A;
  --gold-300:   #E8B98F;
  --sage-700:   #55614C;
  --sage-600:   #7A8B6F;
  --sage-300:   #C3CEB4;
  --ink:        #2B2420;
  --ink-soft:   #7A6F63;
  --shadow:     0 20px 50px -25px rgba(63, 50, 38, 0.35);
  --radius-lg:  28px;
  --radius-md:  16px;
  --maxw:       1160px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Karla', sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

h1,h2,h3,h4,.serif{
  font-family:'Fraunces', serif;
  font-weight:500;
  color:var(--maroon-700);
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-0.01em;
  font-optical-sizing:auto;
  text-wrap:balance;
}
h1{ font-size:clamp(2.4rem, 5vw, 4rem); font-weight:500; }
h2{ font-size:clamp(1.8rem, 3.4vw, 2.6rem); }
h3{ font-size:clamp(1.3rem, 2.2vw, 1.6rem); }
p{ margin:0 0 1.1em; color:var(--ink); text-wrap:pretty; }
em{ font-family:'Fraunces', serif; font-style:italic; color:var(--maroon-600); }

.container{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.wrap-narrow{ max-width:740px; margin:0 auto; padding:0 28px; }

.eyebrow{
  font-family:'Karla', sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
  font-weight:700;
  color:var(--gold-700);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  margin-bottom:.9em;
}
.eyebrow::before{
  content:none;
  display:none;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.55em;
  font-family:'Karla',sans-serif;
  font-weight:700;
  font-size:.95rem;
  padding:.9em 1.6em;
  border-radius:999px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.btn-primary{ background:var(--maroon-700); color:var(--cream); box-shadow:var(--shadow); }
.btn-primary:hover{ background:var(--maroon-600); transform:translateY(-2px); }
.btn-ghost{ background:transparent; border-color:var(--maroon-700); color:var(--maroon-700); }
.btn-ghost:hover{ background:var(--maroon-700); color:var(--cream); }
.btn-gold{ background:var(--gold-600); color:var(--maroon-900); }
.btn-gold:hover{ background:var(--gold-300); transform:translateY(-2px); }
.btn-sm{ padding:.6em 1.2em; font-size:.85rem; }

/* ---------- header / nav ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(246,239,228,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
  max-width:var(--maxw); margin:0 auto;
}
.brand{
  font-family:'Fraunces', serif;
  font-size:1.35rem;
  color:var(--maroon-700);
  display:flex; align-items:baseline; gap:.4em;
}
.brand small{
  font-family:'Karla',sans-serif;
  font-size:.6rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sage-700);
  font-weight:700;
}
.brand-logo{
  flex:0 0 auto;
  width:clamp(176px,16vw,220px);
  align-items:center;
}
.brand-logo img{ width:100%; height:auto; }
.nav-links{ display:flex; align-items:center; gap:30px; }
.nav-links a{
  font-size:.92rem; font-weight:600; color:var(--ink);
  position:relative; padding:4px 0;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--gold-600); transition:width .25s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after{ width:100%; }
.nav-links a.active{ color:var(--maroon-700); }
.nav-links .mobile-cta{ display:none; }
.nav-links .menu-mobile-only{ display:none; }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--maroon-700); margin:5px 0; }

@media (max-width: 1120px){
	.brand-logo{ width:190px; }
  .nav-links{
    position:fixed; inset:64px 0 0 0; background:var(--cream);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 28px 30px; transform:translateY(-8px);
    opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
    border-top:1px solid var(--line);
  }
  .nav-links.open{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .nav-links a{ padding:14px 0; width:100%; border-bottom:1px solid var(--line); }
  .nav-toggle{ display:block; }
  .nav-cta .btn-ghost{ display:none; }
  .nav-links .mobile-cta{ display:inline-flex; margin-top:14px; }
  .nav-links .menu-mobile-only{ display:block; }
}

/* ---------- root/vine signature motif ---------- */
.root-divider{ width:100%; height:64px; display:block; margin:0 auto; opacity:.55; }
.root-divider path{ stroke:var(--gold-600); }

.leaf-bullet{ color:var(--sage-600); margin-right:.5em; }

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden;
  padding:64px 0 40px;
}
.hero-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;
}
.hero h1{ margin-bottom:.4em; }
.hero .lede{ font-size:1.15rem; color:var(--ink-soft); max-width:46ch; }
.hero-actions{ display:flex; gap:16px; margin-top:1.6em; flex-wrap:wrap; }
.hero-figure{
  position:relative; width:100%; max-width:480px; justify-self:center; border-radius:var(--radius-lg);
  overflow:hidden; background:var(--maroon-700);
  box-shadow:var(--shadow);
}
.hero-figure img{ width:100%; height:100%; object-fit:cover; display:block; }
.home-hero-portrait{ margin:0; background:#E8E1D9; }
.home-hero-portrait img{ aspect-ratio:4/5; object-position:center 12%; }
.home-hero-portrait figcaption{
  position:absolute; left:18px; right:18px; bottom:18px; padding:14px 16px;
  border-radius:14px; background:rgba(63,50,38,.88); color:var(--cream);
  font-family:'Fraunces',serif; font-size:1.05rem; line-height:1.35;
}
.home-hero-portrait figcaption span{ display:block; margin-top:3px; color:#E8DCCE; font-family:'Karla',sans-serif; font-size:.72rem; }
.hero-figure .quote-chip{
  position:absolute; left:20px; bottom:20px; right:20px;
  background:rgba(63,50,38,.82); color:var(--cream);
  padding:18px 20px; border-radius:14px;
  font-family:'Fraunces',serif; font-style:italic; font-size:1.02rem;
}
.hero-stats{
  display:flex; gap:30px; margin-top:34px; flex-wrap:wrap;
}
.hero-stats div{ min-width:110px; }
.hero-stats .num{ font-family:'Fraunces',serif; font-size:2rem; color:var(--maroon-700); }
.hero-stats .label{ font-size:.82rem; color:var(--ink-soft); }

@media(max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-figure{ order:-1; max-height:420px; }
}

/* ---------- sections ---------- */
section{ padding:76px 0; }
.section-alt{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-maroon{ background:var(--maroon-700); color:var(--cream); }
.section-maroon h2, .section-maroon .eyebrow{ color:var(--cream); }
.section-maroon .eyebrow::before{ background:var(--gold-300); }
.section-maroon p{ color:#E6D6C7; }
.section-head{ max-width:640px; margin-bottom:48px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* ---------- pillar / card grid ---------- */
.grid{ display:grid; gap:26px; }
.grid-5{ grid-template-columns:repeat(5,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
@media(max-width:1000px){ .grid-5{ grid-template-columns:repeat(2,1fr); } .grid-3{grid-template-columns:1fr 1fr;} }
@media(max-width:640px){ .grid-5,.grid-3,.grid-2{ grid-template-columns:1fr; } }

.pillar-card{
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-md); padding:26px 22px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pillar-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold-300); }
.pillar-card .mark{ font-family:'Fraunces',serif; font-style:italic; color:var(--gold-700); font-size:.85rem; }
.pillar-card h3{ margin:.3em 0 .4em; font-size:1.15rem; }
.pillar-card p{ color:var(--ink-soft); font-size:.94rem; margin-bottom:.6em; }
.pillar-card a.card-link{ font-size:.85rem; font-weight:700; color:var(--maroon-700); }

.pillar-showcase{
  display:grid; grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);
  gap:32px; align-items:stretch;
}
.pillar-showcase-visual{
  position:relative; overflow:hidden; min-height:100%; margin:0;
  border-radius:var(--radius-lg); background:var(--paper);
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.pillar-showcase-visual img{ width:100%; height:100%; object-fit:cover; }
.pillar-showcase-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pillar-showcase-list .pillar-card{ display:flex; flex-direction:column; padding:22px 20px; }
.pillar-showcase-list .pillar-card p{ flex:1; }
.pillar-showcase-list .pillar-card:last-child{ grid-column:1 / -1; }
@media(max-width:940px){
  .pillar-showcase{ grid-template-columns:1fr; }
  .pillar-showcase-visual{ min-height:0; aspect-ratio:3 / 2; }
}
@media(max-width:620px){
  .pillar-showcase-list{ grid-template-columns:1fr; }
  .pillar-showcase-list .pillar-card:last-child{ grid-column:auto; }
}

/* ---------- article/post cards ---------- */
.post-card{
  display:flex; flex-direction:column; background:var(--paper);
  border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
  height:100%;
}
.post-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.post-card-image{
  width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center;
  background:#E9E2D8; border-bottom:1px solid var(--line);
}
.post-card-image[src*="/personal/"]{ object-position:center 36%; }
.post-card .tag{
  font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700;
  color:var(--sage-700); padding:20px 22px 0;
}
.post-card h2,.post-card h3{ padding:.4em 22px 0; font-size:1.2rem; }
.post-card p{ padding:0 22px; color:var(--ink-soft); font-size:.93rem; flex:1; }
.post-card .meta{
  padding:16px 22px 22px; font-size:.8rem; color:var(--gold-700); font-weight:700;
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--line); margin-top:14px;
}

.article-library-tools{
  display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(210px,.85fr) auto auto;
  gap:14px; align-items:end; margin:0 0 18px; padding:20px;
  border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 12px 30px rgba(63,50,38,.06);
}
.article-library-tools label{ display:grid; gap:7px; }
.article-library-tools label > span{
  color:var(--ink-soft); font-size:.74rem; font-weight:700; letter-spacing:.02em;
}
.article-library-tools input,
.article-library-tools select{
  width:100%; min-height:48px; padding:10px 13px; border:1px solid var(--line);
  border-radius:12px; background:#fff; color:var(--ink); font:inherit; font-size:.88rem;
}
.article-library-tools input:focus,
.article-library-tools select:focus{
  outline:3px solid rgba(201,122,74,.18); border-color:var(--gold-600);
}
.article-library-tools .btn{ min-height:48px; white-space:nowrap; }
.article-reset-link{
  min-height:48px; display:inline-flex; align-items:center; justify-content:center;
  color:var(--maroon-700); font-size:.82rem; font-weight:700;
}
.article-result-note{ margin:0 0 28px; color:var(--ink-soft); font-size:.84rem; }

.tag-pill{
  display:inline-block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em;
  font-weight:700; padding:.4em .9em; border-radius:999px;
  background:var(--sage-300); color:var(--sage-700);
}
.tag-pill.maroon{ background:#EDD9CB; color:var(--maroon-700); }
.tag-pill.gold{ background:#F0DCC4; color:var(--gold-700); }

/* ---------- quote / pull ---------- */
.pull-quote{
  font-family:'Fraunces',serif; font-style:italic; font-size:1.5rem;
  color:var(--maroon-700); border-left:3px solid var(--gold-600);
  padding:.2em 0 .2em 1em; margin:2em 0;
}
.pull-quote cite{ display:block; font-style:normal; font-size:.8rem; margin-top:.6em; color:var(--ink-soft); }

/* ---------- article body ---------- */
.article-head{ padding:56px 0 30px; text-align:center; }
.article-head .tag-pill{ margin-bottom:1.2em; }
.article-head .lede{ color:var(--ink-soft); font-size:1.08rem; max-width:60ch; margin:0 auto; }
.article-cover{
  width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px;
}
.article-cover .box{
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow);
  background:linear-gradient(135deg, var(--maroon-700), var(--maroon-900));
  padding:64px 40px; text-align:center;
}
.article-featured{
  width:min(calc(100% - 56px),900px); margin:0 auto; overflow:hidden;
  border-radius:var(--radius-lg); background:#E9E2D8; border:1px solid var(--line); box-shadow:var(--shadow);
}
.article-featured img{ width:100%; max-height:600px; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.article-featured img[src*="/personal/"]{
  width:auto; max-width:100%; height:auto; max-height:640px; margin:0 auto;
  aspect-ratio:auto; object-fit:contain; object-position:center;
}
.longform{
  width:min(calc(100% - 40px),760px); margin:0 auto; padding:58px 0 84px;
  color:var(--ink); font-size:1.02rem; line-height:1.82;
}
.longform > p{ margin:0 0 1.35em; }
.longform h2{ margin:2.05em 0 .65em; font-size:clamp(1.5rem,3vw,2.05rem); line-height:1.22; }
.longform h3{ margin:1.65em 0 .55em; color:var(--maroon-700); font-size:1.05rem; line-height:1.4; }
.longform .article-opening{
  margin-bottom:1.8em; color:var(--maroon-700); font-family:'Fraunces',serif;
  font-size:clamp(1.2rem,2.6vw,1.48rem); line-height:1.58;
}
.article-note{
  margin:30px 0; padding:22px 24px; border-left:4px solid var(--gold-600);
  border-radius:0 16px 16px 0; background:#F7EFE4;
}
.article-note strong{ display:block; margin-bottom:4px; color:var(--maroon-700); }
.article-note p{ margin:0; color:var(--ink-soft); font-size:.9rem; }
.article-practice-list{
  display:grid; gap:12px; margin:24px 0; padding:0; list-style:none; counter-reset:article-step;
}
.article-practice-list li{
  counter-increment:article-step; display:grid; grid-template-columns:42px 1fr; gap:4px 14px;
  padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:var(--paper);
}
.article-practice-list li::before{
  content:counter(article-step); grid-row:1 / span 2; display:grid; place-items:center;
  width:38px; height:38px; border-radius:50%; background:var(--sage-300); color:var(--sage-700);
  font-family:'Fraunces',serif; font-weight:700;
}
.article-practice-list strong{ color:var(--maroon-700); line-height:1.35; }
.article-practice-list span{ color:var(--ink-soft); font-size:.9rem; line-height:1.65; }
.reflection-box{
  margin:42px 0; padding:28px; border:1px solid rgba(88,111,76,.24);
  border-radius:20px; background:#E8EEE3;
}
.reflection-box h2{ margin:.35em 0 .75em; font-size:1.45rem; }
.reflection-box ul{ margin:0; padding-left:1.25em; }
.reflection-box li{ margin:.45em 0; }
.longform blockquote{
  margin:38px 0; padding:6px 0 6px 22px; border-left:3px solid var(--gold-600);
  color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.35rem; font-style:italic; line-height:1.55;
}
.article-sources{
  margin-top:54px; padding-top:30px; border-top:1px solid var(--line);
}
.article-sources h2{ margin-top:0; font-size:1.25rem; }
.article-sources ul{ padding-left:1.2em; }
.article-sources li{ margin:.55em 0; font-size:.84rem; }
.article-sources p{ color:var(--ink-soft); font-size:.83rem; line-height:1.65; }

@media(max-width:880px){
  .article-library-tools{ grid-template-columns:1fr 1fr; }
  .article-library-tools .btn,.article-reset-link{ width:100%; }
}
@media(max-width:620px){
  .article-library-tools{ grid-template-columns:1fr; padding:16px; }
  .longform{ width:min(calc(100% - 32px),760px); padding:42px 0 66px; font-size:.98rem; }
  .article-featured{ width:calc(100% - 32px); border-radius:18px; }
  .article-featured img{ aspect-ratio:4/3; max-height:520px; }
  .article-featured img[src*="/personal/"]{ aspect-ratio:auto; max-height:520px; }
  .article-practice-list li{ grid-template-columns:36px 1fr; padding:16px; }
  .article-practice-list li::before{ width:34px; height:34px; }
  .reflection-box{ padding:22px 20px; }
}
.article-body{ padding:50px 0 30px; }
.article-body h2{ font-size:1.5rem; margin-top:1.4em; }
.article-body ul,.article-body ol{ padding-left:1.35em; }
.article-body li{ margin-bottom:.5em; }
.article-body > p,.article-body > ul,.article-body > ol,.article-body > blockquote{ max-width:100%; }
.article-body a:not(.btn){ color:var(--maroon-700); text-decoration:underline; text-underline-offset:3px; }
.article-body .has-medium-font-size{ color:var(--ink-soft); font-size:1.08rem; }
.article-body .has-small-font-size{ color:var(--ink-soft); font-size:.8rem; }
.article-body hr{ margin:42px 0; border:0; border-top:1px solid var(--line); }
.article-meta-row{
  display:flex; gap:14px; align-items:center; justify-content:center;
  font-size:.85rem; color:var(--ink-soft); margin-top:1em;
}
.article-cta{
  background:var(--paper); border:1px solid var(--gold-300);
  border-radius:var(--radius-md); padding:34px 30px; text-align:center; margin-top:3em;
}
.article-empty{
  grid-column:1 / -1; max-width:680px; margin:0 auto; padding:34px;
  border:1px solid var(--line); border-radius:var(--radius-md); background:var(--paper); text-align:center;
}

/* ---------- worksheet ---------- */
.worksheet-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:34px; margin-bottom:28px;
}
.worksheet-card .wnum{
  font-family:'Fraunces',serif; font-style:italic; color:var(--gold-700); font-size:1.1rem;
}
.check-row{ display:flex; gap:.6em; align-items:flex-start; margin-bottom:.5em; color:var(--ink-soft); }
.check-row .box{ width:16px;height:16px;border:1.5px solid var(--maroon-500); border-radius:4px; flex:none; margin-top:3px; }
.fill-line{ border-bottom:1px solid var(--line); height:1.6em; margin:.4em 0 1em; }
table.ws-table{ width:100%; border-collapse:collapse; margin:1em 0; }
table.ws-table th, table.ws-table td{ border:1px solid var(--line); padding:.6em .7em; font-size:.88rem; text-align:left; }
table.ws-table th{ background:var(--cream); color:var(--maroon-700); }

@media print{
  .site-header, .site-footer, .no-print{ display:none !important; }
  body{ background:#fff; }
}

/* ---------- testimonial / social proof ---------- */
.quote-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:26px; font-family:'Fraunces',serif; font-style:italic; color:var(--maroon-700);
}
.quote-card footer{ margin-top:1em; font-family:'Karla',sans-serif; font-style:normal; font-size:.82rem; color:var(--ink-soft); font-weight:700; }

/* ---------- footer ---------- */
.site-footer{
  background:var(--maroon-900); color:#E6D8C9; padding:60px 0 30px;
}
.site-footer h4{ color:var(--gold-300); font-size:1rem; font-family:'Karla',sans-serif; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1em;}
.site-footer a{ color:#E6D8C9; opacity:.85; }
.site-footer a:hover{ opacity:1; text-decoration:underline; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.footer-bottom{
  margin-top:50px; padding-top:24px; border-top:1px solid rgba(230,216,201,.15);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:.82rem; opacity:.7;
}
@media(max-width:800px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- utility ---------- */
.reveal{ opacity:1; transform:none; }
body.js-reveal .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
body.js-reveal .reveal.in{ opacity:1; transform:translateY(0); }
.center{ text-align:center; }
.mt-lg{ margin-top:48px; }
.small{ font-size:.85rem; color:var(--ink-soft); }
.divider-leaf{ text-align:center; color:var(--sage-600); font-size:1.4rem; margin:8px 0 0; }

/* ---------- conversion and payment experience ---------- */
.hero-contact-note{
  display:inline-flex; align-items:center; gap:9px; margin-top:20px;
  color:var(--sage-700); font-size:.9rem; font-weight:700;
}
.hero-contact-note:hover{ color:var(--maroon-700); }
.status-dot{
  width:9px; height:9px; border-radius:50%; background:#25D366;
  box-shadow:0 0 0 5px rgba(37,211,102,.12);
}
.hero-identity{
  position:absolute; left:18px; right:18px; bottom:18px;
  display:flex; flex-direction:column; gap:2px;
  padding:14px 16px; border:1px solid rgba(255,255,255,.24);
  border-radius:14px; background:rgba(43,36,32,.72); color:var(--cream);
  backdrop-filter:blur(12px);
}
.hero-identity strong{ font-family:'Fraunces',serif; font-size:1.05rem; }
.hero-identity span{ color:#E6D8C9; font-size:.76rem; }
.btn-light-outline{ background:transparent; border-color:rgba(255,255,255,.55); color:var(--cream); }
.btn-light-outline:hover{ background:var(--cream); color:var(--maroon-700); }
.final-actions{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.payment-invite{
  padding:54px 0; background:linear-gradient(135deg,#EFE3D3 0%,#F8F1E7 100%);
  border-top:1px solid var(--line);
}
.payment-invite-grid{
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  align-items:center; gap:54px;
}
.payment-invite-grid h2{ max-width:19ch; }
.payment-invite-grid p{ color:var(--ink-soft); max-width:58ch; margin-bottom:0; }
.payment-invite-actions{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.text-link{ color:var(--maroon-700); font-weight:700; font-size:.92rem; }
.text-link:hover{ color:var(--gold-700); }

.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:80;
  display:flex; align-items:center; gap:9px; min-height:50px;
  padding:8px 17px 8px 8px; border-radius:999px;
  background:#1FAF5B; color:#fff; font-weight:700; font-size:.88rem;
  box-shadow:0 14px 35px rgba(18,102,54,.3);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wa-float:hover{ color:#fff; background:#168C49; transform:translateY(-2px); box-shadow:0 18px 40px rgba(18,102,54,.36); }
.wa-float-icon{
  display:grid; place-items:center; width:34px; height:34px;
  border-radius:50%; background:rgba(255,255,255,.18); font-size:1.25rem;
}

.payment-hero{ padding:58px 0 38px; text-align:center; }
.payment-shell{
  display:grid; grid-template-columns:minmax(300px,.9fr) minmax(280px,1.1fr);
  gap:48px; align-items:center; max-width:960px; margin:0 auto;
}
.qris-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:20px; box-shadow:var(--shadow); text-align:center;
}
.qris-card img{ width:100%; max-width:420px; margin:0 auto; border-radius:16px; }
.qris-merchant{
  margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line);
  color:var(--maroon-700); font-weight:700; font-size:.88rem;
}
.payment-guide h2{ margin-bottom:.7em; }
.payment-steps{ display:grid; gap:13px; margin:22px 0 28px; }
.payment-step{ display:flex; gap:13px; align-items:flex-start; }
.payment-step b{
  display:grid; place-items:center; flex:none; width:30px; height:30px;
  border-radius:50%; background:var(--maroon-700); color:var(--cream);
  font-family:'Fraunces',serif; font-size:.86rem;
}
.payment-step p{ margin:2px 0 0; color:var(--ink-soft); font-size:.94rem; }
.payment-notice{
  padding:16px 18px; border-radius:14px; background:#F0E3D0;
  border:1px solid var(--gold-300); color:var(--maroon-700); font-size:.88rem;
}
.payment-actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.product-showcase{
  display:grid; grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);
  gap:52px; align-items:center; margin-top:34px;
}
.product-cover{
  width:100%; max-width:430px; justify-self:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:14px; box-shadow:var(--shadow); transform:rotate(-1.5deg);
}
.product-cover img{ border-radius:15px; }
.product-copy .tag-pill{ margin-bottom:18px; }
/* QR kontak WhatsApp pernah tersimpan di beberapa versi konten lama.
   Semua jejak visualnya disembunyikan, sementara tombol WhatsApp tetap aktif. */
.scan-card,
.community-contact-qr,
.movement-contact-card,
div[style*="inline-flex"]:has(img[src*="whatsapp-qr-clean"]),
div[style*="inline-grid"]:has(img[src*="whatsapp-qr-clean"]),
a:has(> img[src*="whatsapp-qr-clean"]),
img[src*="whatsapp-qr-clean"]{
  display:none !important;
}
.movement-join-grid.qr-contact-removed,
.payment-invite-grid.qr-contact-removed{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.impact-source-note{ margin:.8rem 0 0; color:var(--ink-soft); font-size:.74rem; line-height:1.55; }

@media(max-width:900px){
  .desktop-contact{ display:none; }
  .payment-invite-grid,.payment-shell,.product-showcase{ grid-template-columns:1fr; }
  .payment-invite-grid{ gap:26px; }
  .payment-shell{ max-width:640px; }
  .product-cover{ max-width:480px; margin:0 auto; transform:none; }
}
@media(max-width:640px){
  .wa-float{ right:14px; bottom:14px; padding-right:13px; }
  .wa-float span:last-child{ display:none; }
  .payment-actions{ flex-direction:column; }
  .payment-actions .btn{ justify-content:center; width:100%; }
}

/* ---------- Esensi Muslimah Circle ---------- */
@media(min-width:1121px){ .nav-links{ gap:22px; } }
.community-feature{
  padding:84px 0; overflow:hidden;
  background:linear-gradient(145deg,#F4EEE5 0%,#ECE5DB 100%);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.community-feature-grid{
  display:grid; grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  align-items:center; gap:70px;
}
.community-visual{
  position:relative; min-height:550px; overflow:hidden;
  border-radius:32px; background:#E7DAD0;
  box-shadow:var(--shadow);
}
.community-visual::before{
  content:""; position:absolute; width:360px; height:360px; border-radius:50%;
  left:50%; top:48%; transform:translate(-50%,-50%);
  background:rgba(255,251,243,.72);
}
.community-mark{
  position:absolute; z-index:2; top:24px; left:24px;
  padding:10px 14px; border-radius:13px; background:rgba(255,251,243,.88);
  backdrop-filter:blur(10px);
}
.community-mark img{ width:110px; height:auto; }
.community-group-image{
  position:absolute; z-index:1; left:50%; bottom:0; transform:translateX(-50%);
  width:min(82%,430px); height:auto;
}
.community-copy h2{ font-size:clamp(2.2rem,4vw,3.25rem); }
.community-lede{ font-size:1.08rem; color:var(--ink-soft); max-width:55ch; }
.community-leader-note{
  display:flex; flex-direction:column; gap:2px; margin:24px 0;
  padding:18px 20px; border-left:3px solid var(--sage-600);
  background:rgba(255,251,243,.7); border-radius:0 14px 14px 0;
}
.community-leader-note span{ color:var(--ink-soft); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.community-leader-note strong{ color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.25rem; }
.community-leader-note small{ color:var(--sage-700); font-size:.84rem; }
.community-mini-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0;
}
.community-mini-stats div{
  padding:15px 13px; border-radius:14px; background:var(--paper); border:1px solid var(--line);
}
.community-mini-stats strong{ display:block; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.22rem; }
.community-mini-stats span{ display:block; color:var(--ink-soft); font-size:.72rem; line-height:1.4; margin-top:3px; }

.esensi-hero{
  position:relative; overflow:hidden; padding:70px 0 40px;
  background:linear-gradient(135deg,#F7F1E8 0%,#EDE4DA 100%);
}
.esensi-hero::after{
  content:""; position:absolute; width:480px; height:480px; border-radius:50%;
  right:-140px; top:-170px; background:rgba(196,206,180,.35);
}
.esensi-hero-grid{
  position:relative; z-index:1; display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(330px,.96fr); gap:70px; align-items:center;
}
.esensi-kicker-logo{ width:130px; margin-bottom:24px; }
.esensi-hero h1{ max-width:13ch; font-size:clamp(2.7rem,5.3vw,4.6rem); }
.esensi-hero .lede{ max-width:53ch; color:var(--ink-soft); }
.esensi-hero-visual{ position:relative; width:100%; max-width:520px; min-height:540px; margin:0 auto; }
.esensi-hero-visual::before{
  content:""; position:absolute; inset:50px 10px 0; border-radius:46% 46% 28px 28px;
  background:linear-gradient(180deg,#E9D6D0 0%,#D9C8BC 100%);
}
.esensi-hero-visual img{ position:absolute; z-index:1; bottom:0; left:50%; transform:translateX(-50%); width:min(86%,440px); }
.esensi-role-chip{
  position:absolute; z-index:2; left:8px; bottom:24px; max-width:260px;
  padding:15px 18px; border-radius:15px; background:rgba(255,251,243,.92);
  box-shadow:var(--shadow); color:var(--maroon-700);
}
.esensi-role-chip strong{ display:block; font-family:'Fraunces',serif; font-size:1.08rem; }
.esensi-role-chip span{ display:block; color:var(--ink-soft); font-size:.76rem; margin-top:3px; }
.esensi-stat-strip{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden;
  border-radius:20px; background:var(--line); border:1px solid var(--line); margin-top:34px;
}
.esensi-stat-strip div{ padding:18px; background:rgba(255,251,243,.84); }
.esensi-stat-strip strong{ display:block; font-family:'Fraunces',serif; color:var(--maroon-700); font-size:1.35rem; }
.esensi-stat-strip span{ color:var(--ink-soft); font-size:.76rem; }

.esensi-section{ padding:84px 0; }
.esensi-section-soft{ background:#F4EFE7; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.esensi-values{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.esensi-value-card{
  padding:25px 18px; border-radius:16px; background:var(--paper); border:1px solid var(--line);
}
.esensi-value-card b{ display:block; color:var(--gold-700); font-family:'Fraunces',serif; font-size:1.15rem; margin-bottom:7px; }
.esensi-value-card p{ margin:0; color:var(--ink-soft); font-size:.86rem; }
.learning-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.learning-card{
  position:relative; padding:28px; border-radius:20px; background:var(--paper);
  border:1px solid var(--line); overflow:hidden;
}
.learning-card::before{
  content:attr(data-number); position:absolute; top:2px; right:14px;
  color:rgba(201,122,74,.1); font-family:'Fraunces',serif; font-size:4.8rem;
}
.learning-card h3{ position:relative; font-size:1.28rem; }
.learning-card p{ position:relative; margin:0; color:var(--ink-soft); font-size:.92rem; }
.format-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.format-card{
  padding:26px; border-radius:18px; color:var(--cream); background:var(--maroon-700);
  border:1px solid rgba(232,185,143,.22);
}
.format-card .format-icon{ font-size:1.6rem; margin-bottom:12px; }
.format-card h3{ color:var(--cream); }
.format-card p{ margin:0; color:#E6D8C9; font-size:.9rem; }
.leader-grid{ display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:62px; align-items:center; }
.leader-photo{
  position:relative; width:100%; max-width:440px; justify-self:center; overflow:hidden; border-radius:28px; background:#E5DED4; box-shadow:var(--shadow);
}
.leader-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.leader-copy .pull-quote{ font-size:1.25rem; }
.role-cloud{ display:flex; flex-wrap:wrap; gap:9px; margin:24px 0 30px; }
.role-cloud span{
  padding:7px 12px; border-radius:999px; background:#E8E0D5;
  color:var(--maroon-700); font-size:.78rem; font-weight:700;
}
.community-contact{
  padding:72px 0; background:var(--maroon-700); color:var(--cream);
}
.community-contact-grid{ display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.community-contact-grid.community-contact-single{ grid-template-columns:minmax(0,760px); justify-content:center; }
.community-contact-grid:has(.community-contact-qr),
.safe-contact-grid:has(.movement-contact-card){ grid-template-columns:minmax(0,760px); justify-content:center; }
.community-contact h2{ color:var(--cream); max-width:18ch; }
.community-contact p{ color:#E6D8C9; max-width:58ch; }

@media(max-width:1000px){
  .community-feature-grid,.esensi-hero-grid,.leader-grid{ grid-template-columns:1fr; }
  .community-visual{ min-height:520px; max-width:600px; width:100%; margin:0 auto; }
  .esensi-hero-visual{ min-height:520px; max-width:560px; width:100%; margin:0 auto; }
  .esensi-values{ grid-template-columns:repeat(2,1fr); }
  .learning-grid,.format-grid{ grid-template-columns:1fr; }
}
@media(max-width:700px){
  .community-feature{ padding:62px 0; }
  .community-feature-grid{ gap:38px; }
  .community-mini-stats,.esensi-stat-strip{ grid-template-columns:1fr; }
  .community-visual{ min-height:430px; }
  .esensi-hero{ padding-top:50px; }
  .esensi-hero-grid{ gap:24px; }
  .esensi-hero-visual{ min-height:440px; }
  .esensi-values{ grid-template-columns:1fr; }
  .community-contact-grid{ grid-template-columns:1fr; }
}

/* ---------- Gerakan Ibu Berkisah & Tegal Read Aloud ---------- */
.movement-feature{
  padding:84px 0; background:#E8EEE3; border-bottom:1px solid var(--line);
}
.movement-feature-grid{
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);
  gap:70px; align-items:center;
}
.movement-copy h2{ max-width:19ch; }
.movement-role-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:27px 0; }
.movement-role-row div{
  padding:17px 18px; border-radius:15px; background:rgba(255,251,243,.75);
  border:1px solid rgba(88,111,76,.2);
}
.movement-role-row span{ display:block; color:var(--sage-700); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.movement-role-row strong{ display:block; margin-top:4px; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.08rem; }
.movement-manifesto{
  position:relative; overflow:hidden; min-height:390px; padding:48px;
  border-radius:30px; color:var(--cream); background:var(--maroon-700); box-shadow:var(--shadow);
}
.movement-manifesto::after{
  content:""; position:absolute; width:230px; height:230px; right:-75px; bottom:-90px;
  border:1px solid rgba(232,185,143,.3); border-radius:50%;
}
.movement-manifesto-mark{
  display:grid; place-items:center; width:64px; height:64px; border-radius:50%;
  background:var(--gold-300); color:var(--maroon-900); font-family:'Fraunces',serif; font-weight:700;
}
.movement-manifesto h3{ color:var(--cream); max-width:15ch; margin-top:34px; }
.movement-manifesto p{ color:#E6D8C9; font-size:.9rem; max-width:36ch; }
.movement-manifesto-list{ display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.movement-manifesto-list span{ padding:7px 11px; border:1px solid rgba(255,255,255,.24); border-radius:999px; font-size:.74rem; }

.movement-hero{
  padding:72px 0 60px; overflow:hidden;
  background:linear-gradient(135deg,#F6EFE3 0%,#E6EEDF 100%);
}
.movement-hero-grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:72px; align-items:center; }
.movement-hero h1{ max-width:14ch; font-size:clamp(2.65rem,5.2vw,4.65rem); }
.movement-hero .lede{ max-width:58ch; color:var(--ink-soft); }
.movement-join-note{ margin:18px 0 0; color:var(--sage-700); font-size:.83rem; font-weight:700; }
.movement-hero-art{ position:relative; min-height:540px; }
.movement-hero-art::before{
  content:""; position:absolute; width:410px; height:410px; left:50%; top:50%;
  transform:translate(-50%,-50%); border-radius:50%; background:rgba(255,251,243,.68);
  border:1px solid rgba(117,94,78,.12);
}
.story-book{
  position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-3deg);
  width:280px; min-height:350px; padding:40px 34px; border-radius:10px 24px 24px 10px;
  background:var(--maroon-700); box-shadow:0 28px 60px rgba(69,31,38,.24);
  display:flex; flex-direction:column; justify-content:center;
}
.story-book::before{ content:""; position:absolute; left:15px; top:0; bottom:0; width:1px; background:rgba(232,185,143,.4); }
.story-book span{ color:var(--gold-300); font-size:.72rem; letter-spacing:.2em; font-weight:700; }
.story-book strong{ color:var(--cream); font-family:'Fraunces',serif; font-size:3rem; line-height:.96; margin:16px 0 35px; }
.story-book small{ color:#E6D8C9; font-size:.78rem; }
.story-orbit{
  position:absolute; z-index:3; display:grid; place-items:center; width:82px; height:82px;
  border-radius:50%; background:var(--paper); color:var(--maroon-700); border:1px solid var(--line);
  box-shadow:var(--shadow); font-family:'Fraunces',serif; font-size:.9rem;
}
.orbit-one{ right:8px; top:75px; }.orbit-two{ left:8px; bottom:90px; }.orbit-three{ right:24px; bottom:40px; }

.movement-roles-section,.knowledge-section,.movement-founder-section{ padding:84px 0; }
.movement-role-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.movement-role-card{
  padding:38px; border-radius:24px; border:1px solid var(--line); background:var(--paper); box-shadow:0 10px 35px rgba(69,31,38,.06);
}
.movement-role-card.role-readaloud{ border-top:5px solid var(--sage-600); }
.movement-role-card.role-gib{ border-top:5px solid var(--gold-600); }
.role-label{ display:inline-block; margin-bottom:16px; padding:5px 10px; border-radius:999px; background:#E8EEE3; color:var(--sage-700); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.movement-role-card p{ color:var(--ink-soft); }
.movement-role-card ul{ padding-left:1.2em; margin:20px 0 0; color:var(--ink-soft); font-size:.9rem; }
.movement-role-card li{ margin-bottom:8px; }

.movement-programs-section{ padding:84px 0; background:var(--maroon-700); }
.movement-programs-section h2{ color:var(--cream); }
.movement-programs-section .section-head p{ color:#E6D8C9; }
.movement-program-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.movement-program-card{
  display:flex; flex-direction:column; min-height:320px; padding:28px 24px;
  border-radius:19px; background:rgba(255,251,243,.07); border:1px solid rgba(232,185,143,.27);
}
.movement-program-card h3{ color:var(--cream); font-size:1.25rem; }
.movement-program-card p{ color:#E6D8C9; font-size:.88rem; flex:1; }
.program-number{ color:var(--gold-300); font-family:'Fraunces',serif; font-size:2rem; margin-bottom:28px; }
.program-format{ color:var(--gold-300); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }

.knowledge-section{ background:#F3EDE5; border-bottom:1px solid var(--line); }
.knowledge-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.knowledge-card{ padding:32px; border-radius:20px; background:var(--paper); border:1px solid var(--line); }
.knowledge-icon{
  display:grid; place-items:center; width:48px; height:48px; margin-bottom:24px; border-radius:50%;
  background:var(--maroon-700); color:var(--gold-300); font-family:'Fraunces',serif; font-size:1.2rem;
}
.knowledge-card p{ color:var(--ink-soft); font-size:.92rem; }
.movement-reading-section{ padding:84px 0; }

.movement-founder-section{ background:#E8EEE3; }
.movement-founder-grid{ display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); align-items:center; gap:62px; }
.movement-founder-photo{ overflow:hidden; border-radius:28px; box-shadow:var(--shadow); background:#DAD8CE; }
.movement-founder-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.movement-founder-roles{ display:flex; flex-wrap:wrap; gap:9px; margin:25px 0; }
.movement-founder-roles span{ padding:8px 12px; border-radius:999px; background:rgba(255,251,243,.76); border:1px solid rgba(88,111,76,.18); color:var(--maroon-700); font-size:.77rem; font-weight:700; }

.movement-join-section{ padding:72px 0; background:var(--maroon-900); color:var(--cream); }
.movement-join-grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); align-items:center; gap:56px; }
.movement-join-grid.movement-join-single{ grid-template-columns:minmax(0,760px); justify-content:center; }
.movement-join-section h2{ color:var(--cream); max-width:17ch; }
.movement-join-section p{ color:#E6D8C9; max-width:58ch; }

@media(max-width:1100px){
  .movement-program-grid{ grid-template-columns:repeat(2,1fr); }
  .movement-hero-grid,.movement-feature-grid,.movement-founder-grid,.movement-join-grid{ grid-template-columns:1fr; }
  .movement-hero-art{ max-width:560px; width:100%; margin:0 auto; }
  .movement-manifesto{ max-width:620px; }
}
@media(max-width:780px){
  .movement-role-cards,.knowledge-grid{ grid-template-columns:1fr; }
  .movement-role-row{ grid-template-columns:1fr; }
  .movement-hero{ padding-top:48px; }
}
@media(max-width:600px){
  .movement-feature,.movement-roles-section,.movement-programs-section,.knowledge-section,.movement-reading-section,.movement-founder-section{ padding:62px 0; }
  .movement-program-grid{ grid-template-columns:1fr; }
  .movement-program-card{ min-height:0; }
  .movement-hero-art{ min-height:440px; }
  .story-book{ width:235px; min-height:310px; padding:34px 28px; }
  .story-book strong{ font-size:2.45rem; }
  .story-orbit{ width:66px; height:66px; font-size:.76rem; }
}

/* ---------- Audience paths, credentials & collaboration ---------- */
.starting-point-section{
  padding:84px 0; background:#F3EDE5; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.starting-point-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.starting-point-card{
  display:flex; flex-direction:column; min-height:290px; padding:27px 23px;
  border-radius:20px; background:var(--paper); border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(69,31,38,.05);
}
.starting-point-card h3{ font-size:1.15rem; line-height:1.25; }
.starting-point-card p{ flex:1; color:var(--ink-soft); font-size:.88rem; }
.starting-point-card a{ color:var(--maroon-700); font-size:.82rem; font-weight:800; }

.credential-grid{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr); gap:64px; align-items:center;
}
.credential-list{ display:flex; flex-wrap:wrap; gap:9px; margin:25px 0; }
.credential-list span{
  padding:8px 12px; border-radius:999px; background:var(--paper); border:1px solid var(--line);
  color:var(--maroon-700); font-size:.77rem; font-weight:700;
}
.credential-visual{
  position:relative; display:block; overflow:hidden; border-radius:24px; background:var(--paper);
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.credential-visual img{ width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center; }
.credential-visual span{
  position:absolute; left:15px; right:15px; bottom:15px; padding:11px 13px; border-radius:12px;
  background:rgba(69,31,38,.9); color:var(--cream); font-size:.78rem; font-weight:700; text-align:center;
}
.collab-section{ padding:84px 0; background:#F8F3EB; }
.collab-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.collab-grid article{ padding:30px; border-radius:20px; background:var(--paper); border:1px solid var(--line); }
.collab-grid article span{ color:var(--gold-700); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.collab-grid article h3{ margin-top:10px; }
.collab-grid article p{ margin-bottom:0; color:var(--ink-soft); font-size:.9rem; }
.profile-impact-list{ display:grid; gap:9px; margin-top:25px; }
.profile-impact-list div{
  display:grid; grid-template-columns:70px 1fr; gap:12px; align-items:center;
  padding:11px 14px; border-radius:13px; background:var(--paper); border:1px solid var(--line);
}
.profile-impact-list strong{ color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.35rem; }
.profile-impact-list span{ color:var(--ink-soft); font-size:.78rem; }

/* ---------- Literacy program detail ---------- */
.readaloud-logo{ width:92px; height:92px; margin-bottom:18px; border-radius:18px; object-fit:contain; background:#fff; padding:7px; border:1px solid var(--line); }
.tegal-profile-preview{
  position:relative; display:block; max-width:760px; margin:40px auto 0; overflow:hidden;
  border-radius:26px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow);
}
.tegal-profile-preview img{ width:100%; max-height:720px; object-fit:cover; object-position:center top; }
.tegal-profile-preview span{
  position:absolute; left:18px; right:18px; bottom:18px; padding:13px 16px; border-radius:13px;
  background:rgba(69,31,38,.92); color:var(--cream); font-size:.82rem; font-weight:700; text-align:center;
}
.tegal-impact-strip{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; margin:38px 0 24px;
  border-radius:20px; background:rgba(232,185,143,.32); border:1px solid rgba(232,185,143,.32);
}
.tegal-impact-strip div{ padding:21px; background:var(--maroon-700); color:var(--cream); text-align:center; }
.tegal-impact-strip strong{ display:block; color:var(--gold-300); font-family:'Fraunces',serif; font-size:1.75rem; }
.tegal-impact-strip span{ display:block; margin-top:4px; color:#E6D8C9; font-size:.75rem; }
.tegal-profile-showcase{ display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:24px; align-items:stretch; }
.tegal-profile-showcase .tegal-profile-preview{ max-width:none; width:100%; margin:0; }
.tegal-profile-showcase .tegal-profile-preview img{ height:100%; max-height:none; aspect-ratio:16/9; object-fit:cover; }
.tegal-action-photo{
  position:relative; overflow:hidden; min-height:430px; margin:0; border-radius:26px;
  background:#DED7CF; border:1px solid var(--line); box-shadow:var(--shadow);
}
.tegal-action-photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.tegal-action-photo figcaption{
  position:absolute; left:15px; right:15px; bottom:15px; padding:13px 15px; border-radius:13px;
  background:rgba(69,31,38,.9); color:var(--cream); font-size:.78rem; line-height:1.5;
}
.tegal-gallery-intro{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:42px;
  align-items:end; margin:42px 0 22px;
}
.tegal-gallery-intro h3{ max-width:24ch; margin-bottom:0; font-size:1.55rem; }
.tegal-gallery-intro p{ margin:0; color:var(--ink-soft); }
.tegal-activity-gallery{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tegal-activity-gallery figure,.tegal-mini-gallery figure{
  position:relative; overflow:hidden; margin:0; border-radius:20px;
  background:#DED7CF; border:1px solid var(--line); box-shadow:0 14px 34px rgba(63,50,38,.08);
}
.tegal-activity-gallery .tegal-gallery-feature{ grid-column:1 / -1; }
.tegal-activity-gallery img,.tegal-mini-gallery img{ width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.tegal-activity-gallery figcaption,.tegal-mini-gallery figcaption{
  position:absolute; left:12px; right:12px; bottom:12px; padding:11px 13px;
  border-radius:12px; background:rgba(63,50,38,.88); color:var(--cream);
  font-size:.72rem; line-height:1.45;
}
.tegal-community-profile{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr); gap:58px; align-items:center;
}
.tegal-mini-gallery{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.tegal-mini-gallery .tegal-mini-wide{ grid-column:1 / -1; }
.weekly-rhythm-section{ padding:84px 0; background:#F6F0E7; }
.weekly-rhythm-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:12px; }
.weekly-rhythm-grid article{ min-height:215px; padding:24px 17px; border-radius:18px; background:var(--paper); border:1px solid var(--line); }
.weekly-rhythm-grid b{ display:block; margin-bottom:24px; color:var(--gold-700); font-family:'Fraunces',serif; font-size:1.25rem; }
.weekly-rhythm-grid strong{ display:block; color:var(--maroon-700); line-height:1.25; }
.weekly-rhythm-grid p{ margin-bottom:0; color:var(--ink-soft); font-size:.78rem; }
.research-notes-section{ padding:84px 0; background:#E8EEE3; }
.research-notes-grid{ display:grid; grid-template-columns:minmax(300px,.84fr) minmax(0,1.16fr); gap:62px; align-items:center; }
.research-visual{ overflow:hidden; border-radius:26px; background:var(--paper); border:1px solid rgba(88,111,76,.2); box-shadow:var(--shadow); }
.research-visual img{ width:100%; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.research-links{ display:grid; gap:10px; margin-top:24px; }
.research-links a{
  padding:12px 15px; border-radius:12px; background:rgba(255,251,243,.72); border:1px solid rgba(88,111,76,.2);
  color:var(--maroon-700); font-size:.82rem; font-weight:700;
}

/* ---------- Campaign keluarga berkisah ---------- */
.family-product-section{
  padding:92px 0; overflow:hidden; background:linear-gradient(155deg,#F8F2E8 0%,#EDF2E8 100%);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.family-campaign-head{ max-width:900px; margin:0 auto; text-align:center; }
.campaign-hashtag{
  display:inline-flex; margin-bottom:18px; padding:8px 13px; border-radius:999px;
  background:var(--maroon-700); color:var(--gold-300); font-size:.76rem; font-weight:800; letter-spacing:.08em;
}
.family-campaign-head .eyebrow{ justify-content:center; }
.family-campaign-head h2{ max-width:20ch; margin-left:auto; margin-right:auto; }
.family-campaign-head > p{ max-width:70ch; margin-left:auto; margin-right:auto; color:var(--ink-soft); }
.soft-urgency-note{
  display:grid; grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr); gap:24px; align-items:center;
  margin:34px auto 0; padding:20px 24px; border-radius:18px; text-align:left;
  background:rgba(255,251,243,.78); border:1px solid rgba(88,111,76,.22);
}
.soft-urgency-note strong{ color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.08rem; }
.soft-urgency-note span{ color:var(--ink-soft); font-size:.88rem; }
.family-value-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:42px; }
.family-value-grid article{ padding:25px 21px; border-radius:18px; background:rgba(255,251,243,.76); border:1px solid var(--line); }
.family-value-grid article > span{ color:var(--gold-700); font-family:'Fraunces',serif; font-size:1.3rem; }
.family-value-grid h3{ margin:17px 0 8px; font-size:1.08rem; }
.family-value-grid p{ margin:0; color:var(--ink-soft); font-size:.82rem; }
.product-section-head{ margin-top:82px; }
.product-choice-map{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:22px; }
.product-choice-map a{
  display:flex; flex-direction:column; min-height:168px; padding:22px 20px; border-radius:17px;
  background:rgba(255,251,243,.78); border:1px solid var(--line); transition:transform .2s ease,border-color .2s ease;
}
.product-choice-map a:hover{ transform:translateY(-3px); border-color:rgba(201,122,74,.5); }
.product-choice-map span{ color:var(--ink-soft); font-size:.75rem; line-height:1.45; }
.product-choice-map strong{ margin:14px 0 5px; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.02rem; }
.product-choice-map small{ margin-top:auto; color:var(--gold-700); font-size:.7rem; font-weight:700; }
.catalog-price-note{
  max-width:850px; margin:22px auto 30px; padding:13px 17px; border-radius:14px;
  background:#E8EEE3; color:var(--ink-soft); font-size:.78rem; text-align:center;
}
.catalog-price-note strong{ color:var(--sage-700); }
.family-product-grid{ display:grid; grid-template-columns:1fr; gap:24px; max-width:1100px; margin:0 auto; }
.family-product-card{
  display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); overflow:hidden; scroll-margin-top:100px;
  border-radius:23px; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 34px rgba(69,31,38,.06);
}
.family-product-featured{ background:linear-gradient(135deg,#FFFBF3 0%,#F7EFE4 100%); border-color:rgba(201,122,74,.34); }
.product-image{ align-self:center; aspect-ratio:1; margin:25px; overflow:hidden; border-radius:18px; background:#F4E3C8; }
.product-image img{ width:100%; height:100%; object-fit:cover; }
.product-copy{ display:flex; flex-direction:column; padding:28px 25px; }
.product-topline{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product-age{
  align-self:flex-start; padding:6px 10px; border-radius:999px; background:#E8EEE3;
  color:var(--sage-700); font-size:.67rem; font-weight:800; letter-spacing:.05em;
}
.product-price{ color:var(--gold-700); font-size:.78rem; font-weight:800; }
.product-copy h3{ margin:17px 0 10px; font-size:1.35rem; }
.product-copy p{ margin:0 0 16px; color:var(--ink-soft); font-size:.86rem; }
.product-need{ padding-left:14px; border-left:3px solid var(--gold-300); }
.product-need strong{ color:var(--maroon-700); font-family:'Fraunces',serif; font-size:.95rem; line-height:1.5; }
.product-specs{ display:flex; flex-wrap:wrap; gap:7px; margin:1px 0 16px; }
.product-specs span{ padding:6px 9px; border-radius:999px; background:#F3EDE5; color:var(--ink-soft); font-size:.67rem; font-weight:700; }
.product-includes{ font-size:.78rem !important; }
.product-includes b{ color:var(--maroon-700); }
.product-chat{ align-self:flex-start; margin-top:auto; color:var(--maroon-700); font-size:.78rem; font-weight:800; }
.product-guidance-card{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:44px; align-items:center;
  margin-top:28px; padding:34px 38px; border-radius:23px; background:var(--maroon-700); color:var(--cream);
}
.product-guidance-card h3{ color:var(--cream); margin-bottom:9px; }
.product-guidance-card p{ margin:0; color:#E6D8C9; font-size:.87rem; }
.product-guidance-actions{ display:grid; justify-items:start; gap:14px; }
.product-guidance-actions .text-link{ color:var(--gold-300); }

@media(max-width:1100px){
  .starting-point-grid{ grid-template-columns:repeat(3,1fr); }
  .weekly-rhythm-grid{ grid-template-columns:repeat(4,1fr); }
  .family-value-grid{ grid-template-columns:repeat(2,1fr); }
  .product-choice-map{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px){
  .credential-grid,.research-notes-grid{ grid-template-columns:1fr; }
  .credential-visual,.research-visual{ max-width:570px; width:100%; margin:0 auto; }
  .collab-grid{ grid-template-columns:1fr; }
  .tegal-profile-showcase,.product-guidance-card{ grid-template-columns:1fr; }
  .tegal-action-photo{ min-height:600px; }
  .tegal-profile-showcase .tegal-profile-preview img{ height:auto; }
  .family-product-card{ grid-template-columns:1fr; }
  .product-image{ width:calc(100% - 50px); max-width:520px; justify-self:center; }
}
@media(max-width:700px){
  .starting-point-section,.collab-section,.weekly-rhythm-section,.research-notes-section,.family-product-section{ padding:62px 0; }
  .starting-point-grid{ grid-template-columns:1fr; }
  .starting-point-card{ min-height:0; }
  .weekly-rhythm-grid{ grid-template-columns:repeat(2,1fr); }
  .tegal-impact-strip,.family-value-grid,.family-product-grid{ grid-template-columns:1fr; }
  .product-choice-map{ grid-template-columns:1fr; }
  .product-choice-map a{ min-height:0; }
  .soft-urgency-note{ grid-template-columns:1fr; gap:8px; }
  .product-section-head{ margin-top:62px; }
  .product-guidance-card{ padding:28px 24px; }
  .product-topline{ align-items:flex-start; flex-direction:column; }
}
@media(max-width:460px){
  .weekly-rhythm-grid{ grid-template-columns:1fr; }
  .weekly-rhythm-grid article{ min-height:0; }
  .tegal-action-photo{ min-height:480px; }
}


/* ---------- Ruang Aman Ibu ---------- */
.safe-space-home{
  padding:88px 0; background:linear-gradient(145deg,#F7F1E8 0%,#E9EEE3 100%);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.safe-space-home-grid{ display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:68px; align-items:center; }
.safe-space-home-visual{
  width:100%; justify-self:center; overflow:hidden; max-width:500px; border-radius:46% 46% 24px 24px; background:rgba(255,251,243,.72);
  border:1px solid rgba(88,111,76,.18); box-shadow:0 28px 65px rgba(63,50,38,.13);
}
.safe-space-home-visual img{ width:100%; height:auto; }
.safe-space-home h2{ max-width:18ch; }
.safe-space-home p{ max-width:60ch; color:var(--ink-soft); }
.safe-home-quote{
  margin:26px 0 0; padding:17px 20px; border-left:3px solid var(--gold-600); border-radius:0 14px 14px 0;
  background:rgba(255,251,243,.7); color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.12rem; font-style:italic;
}
.safe-space-home .hero-actions{ align-items:center; }

.safe-hero{ padding:58px 0 78px; overflow:hidden; background:linear-gradient(135deg,#F8F3EA 0%,#EEF1E8 100%); }
.safe-hero-grid{ display:grid; grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr); gap:72px; align-items:center; }
.safe-logo-frame{
  overflow:hidden; border-radius:34px; background:var(--paper); border:1px solid rgba(88,111,76,.18);
  box-shadow:0 30px 70px rgba(63,50,38,.14);
}
.safe-logo-frame img{ width:100%; height:auto; }
.safe-hero-copy h1{ max-width:15ch; font-size:clamp(2.55rem,4.8vw,4.35rem); }
.safe-hero-copy .lede{ max-width:57ch; color:var(--ink-soft); }
.safe-whisper{
  max-width:56ch; margin:24px 0; padding:18px 20px; border-radius:16px; background:rgba(255,251,243,.75);
  border:1px solid rgba(201,122,74,.22); color:var(--sage-700); font-family:'Fraunces',serif; font-size:1rem; line-height:1.55;
}
.safe-path-section{ padding:88px 0; background:#F5EFE6; }
.safe-path-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.safe-path-grid article{
  display:flex; flex-direction:column; min-height:355px; padding:34px 30px; border-radius:24px; background:var(--paper);
  border:1px solid var(--line); box-shadow:0 14px 38px rgba(63,50,38,.055);
}
.safe-path-number{ color:var(--gold-700); font-family:'Fraunces',serif; font-size:1rem; font-style:italic; }
.safe-path-grid h3{ margin:28px 0 15px; font-size:1.35rem; }
.safe-path-grid p{ flex:1; color:var(--ink-soft); font-size:.92rem; }
.safe-path-grid a{ color:var(--maroon-700); font-size:.83rem; font-weight:800; }
.safe-voice-section{ padding:90px 0; background:#E9EEE3; border-top:1px solid rgba(88,111,76,.14); }
.safe-voice-grid{ display:grid; grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr); gap:68px; align-items:center; }
.safe-voice-visual{ margin:0; overflow:hidden; border-radius:24px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.safe-voice-visual img{ width:100%; height:auto; }
.safe-voice-visual figcaption,.story-voice-visual figcaption{
  padding:11px 16px; background:var(--paper); border-top:1px solid var(--line); color:var(--ink-soft); font-size:.75rem; text-align:center;
}
.safe-practice-list{ display:grid; gap:10px; margin:27px 0 30px; }
.safe-practice-list div{ display:grid; grid-template-columns:145px 1fr; gap:15px; padding:14px 16px; border-radius:14px; background:rgba(255,251,243,.72); border:1px solid rgba(88,111,76,.18); }
.safe-practice-list strong{ color:var(--maroon-700); font-family:'Fraunces',serif; }
.safe-practice-list span{ color:var(--ink-soft); font-size:.84rem; }
.safe-boundary-section{ padding:76px 0; background:#F7F1E8; }
.safe-boundary-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:56px; align-items:center; }
.safe-boundary-card{ padding:29px 30px; border-radius:22px; background:#F2DED2; border:1px solid rgba(201,122,74,.23); }
.safe-boundary-card h3{ font-size:1.22rem; }
.safe-boundary-card p{ margin:0; color:var(--ink-soft); font-size:.9rem; }
.safe-contact-section{ padding:76px 0; background:var(--maroon-900); color:var(--cream); }
.safe-contact-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:58px; align-items:center; }
.safe-contact-grid.safe-contact-single{ grid-template-columns:minmax(0,760px); justify-content:center; }
.safe-contact-section h2{ max-width:19ch; color:var(--cream); }
.safe-contact-section p{ max-width:58ch; color:#E6D8C9; }

/* ---------- Gerakan Ibu Berkisah visual story system ---------- */
.movement-hero-photo{ max-width:460px; margin:0 auto; text-align:center; }
.movement-hero-photo img{
  width:100%; height:auto; border-radius:50%; background:var(--paper); border:12px solid rgba(255,251,243,.72);
  box-shadow:0 30px 70px rgba(63,50,38,.18);
}
.movement-hero-photo figcaption{ max-width:42ch; margin:17px auto 0; color:var(--ink-soft); font-size:.78rem; line-height:1.55; }
.story-voice-section{ padding:88px 0; background:#F7EFE4; border-bottom:1px solid var(--line); }
.story-voice-grid{ display:grid; grid-template-columns:minmax(310px,.82fr) minmax(0,1.18fr); gap:68px; align-items:center; }
.story-voice-visual{ width:100%; max-width:520px; justify-self:center; margin:0; overflow:hidden; border-radius:24px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.story-voice-visual img{ width:100%; height:auto; }
.story-voice-points{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:27px 0 30px; }
.story-voice-points div{ padding:17px 15px; border-radius:15px; background:var(--paper); border:1px solid var(--line); }
.story-voice-points strong{ display:block; margin-bottom:7px; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.02rem; }
.story-voice-points span{ display:block; color:var(--ink-soft); font-size:.78rem; line-height:1.5; }

.siroh-gallery-section{ padding:92px 0; background:linear-gradient(155deg,#EEEADF 0%,#F8F1E7 100%); border-top:1px solid var(--line); }
.siroh-gallery-head{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:54px; align-items:end; margin-bottom:42px; }
.siroh-gallery-head h2{ max-width:20ch; margin-bottom:0; }
.siroh-gallery-head > p{ margin:0; color:var(--ink-soft); }
.siroh-gallery{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.siroh-sheet{
  overflow:hidden; border-radius:22px; background:var(--paper); border:1px solid var(--line);
  box-shadow:0 12px 38px rgba(63,50,38,.075); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.siroh-sheet:hover{ transform:translateY(-4px); border-color:rgba(201,122,74,.42); box-shadow:0 24px 48px rgba(63,50,38,.13); }
.siroh-sheet img{ width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; background:#EFE7D8; }
.siroh-sheet span{ display:block; padding:16px 18px 18px; color:var(--ink-soft); font-size:.82rem; line-height:1.55; }
.siroh-sheet b{ display:block; margin-bottom:4px; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.02rem; }
.siroh-sheet:last-child{ grid-column:auto; width:100%; justify-self:stretch; }
.gallery-join-card{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:42px; align-items:center; margin-top:38px; padding:32px 34px;
  border-radius:24px; background:var(--paper); border:1px solid var(--line); box-shadow:0 14px 36px rgba(63,50,38,.06);
}
.gallery-join-card h3{ max-width:24ch; }
.gallery-join-card p{ max-width:65ch; margin:0; color:var(--ink-soft); font-size:.88rem; }

/* ---------- Editorial details ---------- */
.article-cover-safe .box{ background:linear-gradient(135deg,var(--maroon-700),#74816A); }
.article-cover-safe .box p{ max-width:48ch; margin:0 auto; color:var(--cream); font-family:'Fraunces',serif; font-size:1.32rem; font-style:italic; line-height:1.55; }
.article-opening{ padding:18px 20px; border-radius:15px; background:#E9EEE3; color:var(--sage-700); }
.article-body blockquote{ margin:26px 0; padding:18px 22px; border-left:3px solid var(--gold-600); background:#F4ECE1; border-radius:0 14px 14px 0; }
.article-body blockquote p{ margin:0; color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.04rem; }
.article-body .footnotes{ margin-top:38px; padding:21px 22px; border-radius:16px; background:#F3EDE5; color:var(--ink-soft); font-size:.76rem; overflow-wrap:anywhere; }
.article-body .footnotes ol{ padding-left:1.2rem; }
.article-body .footnotes li{ margin-bottom:9px; }
.article-body .footnotes p{ margin:0; color:var(--ink-soft); }
.article-body .footnotes a{ color:var(--maroon-700); font-weight:700; text-decoration:underline; text-underline-offset:2px; }

@media(max-width:1000px){
  .safe-space-home-grid,.safe-hero-grid,.safe-voice-grid,.safe-boundary-grid,.safe-contact-grid,.story-voice-grid,.siroh-gallery-head{ grid-template-columns:1fr; }
  .safe-space-home-visual,.safe-logo-frame,.safe-voice-visual,.story-voice-visual{ max-width:590px; width:100%; margin-left:auto; margin-right:auto; }
  .safe-hero-copy{ max-width:760px; }
  .safe-path-grid{ grid-template-columns:repeat(2,1fr); }
  .siroh-gallery-head{ gap:16px; }
  .siroh-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-join-card{ grid-template-columns:1fr; gap:22px; }
}
@media(max-width:700px){
  .safe-space-home,.safe-hero,.safe-path-section,.safe-voice-section,.safe-boundary-section,.safe-contact-section,.story-voice-section,.siroh-gallery-section{ padding:62px 0; }
  .safe-space-home-grid,.safe-hero-grid,.safe-voice-grid,.story-voice-grid{ gap:38px; }
  .safe-path-grid,.siroh-gallery{ grid-template-columns:1fr; }
  .safe-path-grid article{ min-height:0; padding:28px 24px; }
  .safe-practice-list div{ grid-template-columns:1fr; gap:4px; }
  .story-voice-points{ grid-template-columns:1fr; }
  .siroh-sheet:last-child{ grid-column:auto; width:100%; }
  .gallery-join-card{ padding:27px 24px; }
  .movement-hero-photo{ max-width:440px; }
}
@media(max-width:460px){
  .safe-logo-frame{ border-radius:22px; }
  .siroh-sheet span{ padding:14px 15px 16px; }
}

/* ---------- About intro and featured program ---------- */
.about-intro{ padding:58px 0 40px; overflow:hidden; }
.about-intro-grid{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:64px; align-items:start;
}
.about-intro-lede{
  max-width:45ch; margin-bottom:1.25em;
  color:var(--maroon-600); font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.2rem,2vw,1.42rem); font-style:italic; line-height:1.55;
}
.about-intro-photo{
  width:100%; max-width:500px; justify-self:center; margin:0; overflow:hidden; border-radius:30px;
  background:#EFEAEB; border:1px solid var(--line); box-shadow:var(--shadow);
}
.about-intro-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.about-intro-photo figcaption{
  padding:14px 18px; background:var(--paper); border-top:1px solid var(--line);
  color:var(--ink-soft); font-size:.76rem; line-height:1.55;
}
.about-featured-program{ padding:32px 0 88px; }
.about-featured-shell{
  display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:48px; align-items:center; padding:52px;
  border-radius:30px; background:linear-gradient(135deg,var(--maroon-700),var(--maroon-900));
  box-shadow:var(--shadow); overflow:hidden;
}
.about-featured-copy h2{ color:var(--cream); }
.about-featured-copy p{ color:#E8DCCE; }
.about-featured-copy .eyebrow{ color:var(--gold-300); }
.featured-program-lede{ font-family:'Fraunces',Georgia,serif; font-size:1.14rem; line-height:1.6; }
.about-featured-benefits{ display:grid; gap:12px; }
.about-featured-benefits article{
  display:grid; grid-template-columns:46px 1fr; gap:16px; align-items:start;
  padding:20px; border-radius:18px; background:rgba(255,251,243,.96);
  border:1px solid rgba(232,185,143,.32);
}
.about-featured-benefits article > span{
  display:flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:50%; background:#F0E3D4; color:var(--gold-700);
  font-family:'Fraunces',Georgia,serif; font-size:.82rem;
}
.about-featured-benefits h3{ margin:2px 0 6px; font-size:1.08rem; }
.about-featured-benefits p{ margin:0; color:var(--ink-soft); font-size:.85rem; line-height:1.55; }
.about-program-note{
  max-width:76ch; margin:16px auto 0; text-align:center;
  color:var(--ink-soft); font-size:.75rem; line-height:1.55;
}

/* ---------- Contact and privacy ---------- */
.contact-hero{ padding:64px 0; background:linear-gradient(135deg,#F6EFE4 0%,#E9EEE3 100%); }
.contact-hero-grid{ display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr); gap:66px; align-items:center; }
.contact-hero h1{ max-width:16ch; }
.contact-hero .lede{ max-width:62ch; color:var(--ink-soft); }
.contact-hero-photo{ overflow:hidden; margin:0; border-radius:28px; background:#E4DDD4; border:1px solid var(--line); box-shadow:var(--shadow); }
.contact-hero-photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; }
.contact-hero-photo figcaption{ padding:14px 16px; color:var(--ink-soft); font-size:.73rem; line-height:1.45; background:var(--paper); }
.contact-expectation-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.contact-expectation-grid article{ padding:28px 25px; border:1px solid var(--line); border-radius:19px; background:var(--paper); }
.contact-expectation-grid article > span{ color:var(--gold-700); font-family:'Fraunces',serif; font-size:1.25rem; }
.contact-expectation-grid h2{ margin-top:18px; font-size:1.25rem; }
.contact-expectation-grid p{ margin:0; color:var(--ink-soft); font-size:.88rem; }
.contact-form-section{ padding:88px 0; }
.contact-form-grid{ display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:58px; align-items:start; }
.contact-privacy-note{ margin-top:30px; padding:24px; border-radius:18px; background:#E8EEE3; border:1px solid rgba(88,111,76,.18); }
.contact-privacy-note h3{ font-size:1.15rem; }
.contact-privacy-note p{ color:var(--ink-soft); font-size:.84rem; }
.contact-privacy-note a{ color:var(--maroon-700); text-decoration:underline; overflow-wrap:anywhere; }
.contact-form-card{ padding:32px; border-radius:24px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.jessy-contact-form{ display:grid; gap:18px; }
.jessy-contact-form label{ display:grid; gap:7px; color:var(--maroon-700); font-weight:700; font-size:.84rem; }
.jessy-contact-form label small{ color:var(--ink-soft); font-weight:400; }
.form-row-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.jessy-contact-form input,.jessy-contact-form select,.jessy-contact-form textarea{
  width:100%; min-height:48px; padding:12px 13px; border:1px solid #D7C9B4; border-radius:12px;
  background:#FFFEFA; color:var(--ink); font:inherit; font-size:.92rem;
}
.jessy-contact-form textarea{ min-height:170px; resize:vertical; }
.jessy-contact-form input:focus,.jessy-contact-form select:focus,.jessy-contact-form textarea:focus{ outline:3px solid rgba(201,122,74,.2); border-color:var(--gold-600); }
.form-consent{ grid-template-columns:20px 1fr !important; align-items:start; font-weight:400 !important; color:var(--ink-soft) !important; }
.form-consent input{ min-height:0; width:18px; height:18px; margin-top:3px; }
.form-footnote{ margin:0; color:var(--ink-soft); font-size:.72rem; }
.contact-honeypot{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-notice{ display:grid; gap:3px; margin-bottom:20px; padding:15px 17px; border-radius:13px; font-size:.84rem; }
.form-success{ background:#E8EEE3; border:1px solid rgba(88,111,76,.25); }
.form-error{ background:#F5E3DE; border:1px solid rgba(126,61,54,.22); }
.learning-lineage-section{ padding:88px 0; background:#F7F1E8; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.learning-lineage-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.learning-lineage-grid article{ padding:26px 23px; border-radius:19px; background:var(--paper); border:1px solid var(--line); }
.learning-lineage-grid article span{ color:var(--gold-700); font-size:.69rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.learning-lineage-grid h3{ margin-top:11px; font-size:1.18rem; }
.learning-lineage-grid p{ margin:0; color:var(--ink-soft); font-size:.86rem; }
.learning-lineage-closing{ display:flex; gap:28px; align-items:center; justify-content:space-between; margin-top:22px; padding:25px 27px; border-radius:19px; background:#E8EEE3; }
.learning-lineage-closing p{ max-width:70ch; margin:0; color:var(--ink-soft); }
.community-proof-links{ display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:20px; }
.community-proof-links span{ color:var(--ink-soft); font-size:.75rem; font-weight:700; }
.community-proof-links a{ padding:7px 10px; border-radius:999px; background:#E8EEE3; color:var(--sage-700); border:1px solid rgba(88,111,76,.18); font-size:.7rem; font-weight:700; }
@media(max-width:980px){
  .about-intro-grid,.about-featured-shell,.contact-hero-grid,.contact-form-grid,.tegal-community-profile,.tegal-gallery-intro{ grid-template-columns:1fr; }
  .about-intro-photo{ width:100%; max-width:590px; margin:0 auto; order:-1; }
  .about-featured-shell{ gap:34px; }
  .contact-hero-photo{ max-width:520px; order:-1; }
  .contact-expectation-grid{ grid-template-columns:1fr; }
  .tegal-gallery-intro{ gap:20px; }
  .tegal-mini-gallery{ max-width:680px; }
  .learning-lineage-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px){
  .about-intro{ padding-top:34px; }
  .about-intro-grid{ gap:38px; }
  .about-intro-photo{ max-width:440px; border-radius:22px; }
  .about-featured-program{ padding:20px 0 62px; }
  .about-featured-shell{ padding:30px 22px; border-radius:22px; }
  .about-featured-benefits article{ grid-template-columns:40px 1fr; gap:12px; padding:17px 15px; }
  .about-featured-benefits article > span{ width:38px; height:38px; }
  .about-featured-copy .hero-actions .btn{ width:100%; justify-content:center; }
  .contact-hero,.contact-form-section{ padding:54px 0; }
  .contact-form-card{ padding:24px 18px; }
  .form-row-two,.tegal-activity-gallery,.tegal-mini-gallery{ grid-template-columns:1fr; }
  .tegal-activity-gallery .tegal-gallery-feature,.tegal-mini-gallery .tegal-mini-wide{ grid-column:auto; }
  .tegal-activity-gallery figcaption,.tegal-mini-gallery figcaption{ position:static; border-radius:0; background:var(--paper); color:var(--ink-soft); }
  .learning-lineage-section{ padding:62px 0; }
  .learning-lineage-grid{ grid-template-columns:1fr; }
  .learning-lineage-closing{ flex-direction:column; align-items:flex-start; }
}

/* ---------- Personal narrative and documentary photos ---------- */
.home-personal-story,.about-lived-story,.program-origin-section,.community-lived-section,.movement-field-note{
  padding:88px 0;
}
.home-personal-story{ background:#F7F1E8; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-personal-story-grid,.about-lived-grid,.program-origin-grid,.community-lived-grid,.movement-field-grid{
  display:grid; grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr); gap:68px; align-items:center;
}
.home-personal-story-photo,.program-origin-photo,.movement-field-photo{
  margin:0; overflow:hidden; border-radius:26px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow);
}
.home-personal-story-photo{ width:100%; max-width:500px; justify-self:center; }
.home-personal-story-photo img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center 25%; }
.program-origin-photo,.movement-field-photo{ width:100%; max-width:600px; justify-self:center; }
.program-origin-photo img,.movement-field-photo img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.home-personal-story-photo figcaption,.program-origin-photo figcaption,.movement-field-photo figcaption{
  padding:14px 18px; color:var(--ink-soft); background:var(--paper); border-top:1px solid var(--line); font-size:.78rem; line-height:1.55;
}
.home-personal-story blockquote,.about-lived-story blockquote,.program-origin-section blockquote,.community-lived-section blockquote,.movement-field-note blockquote{
  margin:26px 0; padding:18px 21px; border-left:3px solid var(--gold-600); border-radius:0 14px 14px 0;
  background:rgba(255,251,243,.76); color:var(--maroon-700); font-family:'Fraunces',serif; font-size:1.05rem; line-height:1.6;
}
.about-lived-story{ background:#EEEADF; border-top:1px solid var(--line); }
.about-lived-grid{ grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); }
.about-photo-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:13px; }
.about-photo-grid figure{ margin:0; overflow:hidden; border-radius:18px; background:var(--paper); border:1px solid var(--line); }
.about-photo-grid .about-photo-main{ grid-column:1/-1; }
.about-photo-grid img{ width:100%; height:210px; object-fit:cover; }
.about-photo-grid .about-photo-main img{ height:320px; }
.about-photo-grid figcaption{ padding:10px 13px; color:var(--ink-soft); font-size:.7rem; line-height:1.4; }
.program-origin-section{ background:#F3EDE5; }
.program-origin-grid{ grid-template-columns:minmax(340px,.94fr) minmax(0,1.06fr); }
.program-origin-photo img{ min-height:0; }
.community-lived-section{ background:#E9EEE3; border-top:1px solid rgba(88,111,76,.15); border-bottom:1px solid rgba(88,111,76,.15); }
.community-lived-grid{ grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr); }
.community-lived-photos{ display:grid; width:100%; max-width:560px; justify-self:center; grid-template-columns:1fr; gap:13px; }
.community-lived-photos figure{ margin:0; overflow:hidden; border-radius:20px; background:var(--paper); border:1px solid rgba(88,111,76,.18); box-shadow:0 14px 34px rgba(63,50,38,.08); }
.community-lived-photos img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.community-lived-photos .community-photo-wide img{ height:auto; aspect-ratio:16/10; }
.community-lived-photos > p{ margin:0; color:var(--ink-soft); font-size:.72rem; text-align:center; }
.movement-field-note{ background:#F5EFE6; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.movement-field-grid{ grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr); }
.movement-field-photo img{ min-height:0; object-position:center; }

@media(max-width:1000px){
  .home-personal-story-grid,.about-lived-grid,.program-origin-grid,.community-lived-grid,.movement-field-grid{ grid-template-columns:1fr; }
  .home-personal-story-photo,.program-origin-photo,.movement-field-photo,.about-photo-grid,.community-lived-photos{ max-width:650px; width:100%; margin-left:auto; margin-right:auto; }
  .home-personal-story-photo img{ height:auto; max-height:680px; }
  .program-origin-photo img,.movement-field-photo img{ min-height:0; }
}
@media(max-width:700px){
  .home-personal-story,.about-lived-story,.program-origin-section,.community-lived-section,.movement-field-note{ padding:62px 0; }
  .home-personal-story-grid,.about-lived-grid,.program-origin-grid,.community-lived-grid,.movement-field-grid{ gap:38px; }
  .about-photo-grid img,.about-photo-grid .about-photo-main img,.community-lived-photos img,.community-lived-photos .community-photo-wide img{ height:auto; aspect-ratio:4/3; }
  .article-featured{ width:calc(100% - 40px); border-radius:20px; }
}
@media(max-width:520px){
  .about-photo-grid{ grid-template-columns:1fr; }
  .about-photo-grid .about-photo-main{ grid-column:auto; }
}

/* WordPress navigation compatibility */
.nav-links{ margin:0; padding:0; list-style:none; }
.nav-links li{ margin:0; list-style:none; }
.custom-logo-link{ display:inline-flex; align-items:center; }
.custom-logo-link img{ width:auto; height:42px; }
.nav-links .current-menu-item > a::after,
.nav-links .current-menu-ancestor > a::after{ width:100%; }
.nav-links .current-menu-item > a,
.nav-links .current-menu-ancestor > a{ color:var(--maroon-700); }
@media(max-width:1120px){ .nav-links li{ width:100%; } }
