:root{
  --cream:#f7f0e7; --paper:#fffdf9; --sage:#879b88; --sage-dark:#526957;
  --terracotta:#b86f5e; --rose:#d99a91; --ink:#2f302d; --muted:#6f706b;
  --line:#dfd3c5; --shadow:0 12px 35px rgba(61,48,37,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Georgia,"Times New Roman",serif;line-height:1.65}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,70px)}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.brand-script{font-family:"Brush Script MT","Segoe Script",cursive;font-size:28px}
.brand span:last-child{font-size:11px;letter-spacing:.08em;color:var(--sage-dark)}
.nav{display:none;position:absolute;right:clamp(18px,5vw,70px);top:100%;min-width:230px;background:var(--paper);padding:15px 20px;flex-direction:column;gap:4px;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;box-shadow:var(--shadow);font-size:14px}.nav.open{display:flex}
.nav a{text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--sage)}
.menu-toggle{display:block;border:0;background:transparent;font-size:28px;line-height:1;padding:6px 2px;cursor:pointer;color:var(--ink)}
.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}
.hero-photo{min-height:620px;background-image:url("assets/doreen-henna-sunset.jpg");background-size:cover;background-position:center 35%}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,7vw,90px);background:linear-gradient(135deg,#f5e7d8,#fbf5ee)}
.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--sage-dark);margin:0 0 10px;font-weight:bold}
h1{font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(60px,8vw,110px);line-height:.9;font-weight:400;margin:0 0 28px}
h2{font-size:clamp(30px,4vw,52px);line-height:1.1;margin:0 0 20px}
h3{font-size:21px;margin:8px 0}
p{font-size:17px}
.hero-quote{font-size:21px;color:#5c625c}
.button{display:inline-block;align-self:flex-start;margin-top:15px;background:var(--sage-dark);color:white;text-decoration:none;padding:12px 22px;border-radius:999px;box-shadow:var(--shadow)}
.section{padding:90px clamp(20px,6vw,100px);max-width:1200px;margin:auto}
.intro{text-align:center}
.intro>p:not(.eyebrow),.section-heading>p:not(.eyebrow){max-width:780px;margin:0 auto 35px}

.home-about-preview{max-width:900px;margin:45px auto 0;background:#fffaf4;border:1px solid var(--line);border-radius:24px;padding:32px 34px;box-shadow:var(--shadow)}
.home-about-preview h3{font-family:Georgia,"Times New Roman",serif;font-size:32px;margin:0 0 10px}
.home-about-preview p:not(.eyebrow){max-width:760px;margin:0 0 8px}
.home-about-preview .button{margin-top:12px}

.cards{display:grid;gap:18px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;text-decoration:none;box-shadow:var(--shadow);transition:.2s}
.card:hover{transform:translateY(-3px)}
.card span{font-size:30px}
.card p{font-size:15px;color:var(--muted)}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.about-image-wrap{background:#eadccc;padding:14px;border-radius:28px;box-shadow:var(--shadow)}
.about-image-wrap img{display:block;width:100%;border-radius:18px}
.about-copy p{font-size:17px}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.value-grid div{background:#f2e9df;border-radius:15px;padding:17px}
.value-grid strong,.value-grid span{display:block}
.value-grid span{font-size:14px;color:var(--muted);margin-top:5px}
.tinted{background:#edf1ea;max-width:none}
.tinted>*{max-width:1200px;margin-left:auto;margin-right:auto}
.section-heading{text-align:center}

.topic-area{max-width:1200px;margin:70px auto 0;padding:55px 0 0;border-top:1px solid rgba(52,68,57,.15)}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.topic-card{background:#fffaf4;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow)}
.topic-card>span{font-size:31px;line-height:1}
.topic-card h3{margin:0 0 5px}
.topic-card p{margin:0;font-size:15px;color:var(--muted)}
.action-box{max-width:1000px;margin:55px auto 0;background:#f5e7d8;border-radius:24px;padding:34px 38px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.action-box h2{font-size:clamp(28px,4vw,42px);margin-bottom:10px}
.action-box p:not(.eyebrow){margin:0;max-width:650px}
.action-box .button{flex:0 0 auto}
@media(max-width:900px){
.cards.three{grid-template-columns:1fr}
  .nav{left:0;right:0;top:100%;min-width:0;border-left:0;border-right:0;border-radius:0 0 18px 18px}
.topic-grid{grid-template-columns:1fr}.action-box{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.topic-area{margin-top:55px;padding-top:45px}.action-box{padding:28px 22px}}

.quote-box{margin-top:35px;background:#fffaf4;border-left:5px solid var(--terracotta);padding:25px 30px;font-size:23px;font-style:italic;max-width:850px!important}
.soft-note{background:#f3e9df;padding:18px 22px;border-radius:16px}

.grief-section{max-width:1200px}
.grief-hero{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:center}
.grief-photo img{width:100%;max-width:470px;border-radius:50%;display:block;margin:auto;box-shadow:var(--shadow)}
.grief-intro p:not(.eyebrow){max-width:720px}
.grief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}
.grief-card{background:#fffaf4;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.grief-card>span{font-size:30px}
.grief-card h3{font-size:23px;margin:12px 0 8px}
.grief-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.grief-note{margin:35px auto 20px;background:#f5e7d8;border-radius:24px;padding:30px 34px;max-width:900px;text-align:center}
.grief-note h3{font-size:25px;margin:0 0 10px}
.grief-note p{margin:0;color:#5c625c}
.grief-section>.soft-note{max-width:850px;margin:20px auto 0}
@media(max-width:900px){
.cards.three{grid-template-columns:1fr}
  .nav{left:0;right:0;top:100%;min-width:0;border-left:0;border-right:0;border-radius:0 0 18px 18px}
.grief-hero{grid-template-columns:1fr;gap:35px}.grief-grid{grid-template-columns:1fr}}
@media(max-width:560px){.grief-grid{margin-top:45px}.grief-card{padding:23px}.grief-note{padding:26px 20px}}
.info-list{max-width:850px;margin:35px auto 0;display:grid;gap:15px}
.info-list>div{display:flex;gap:18px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}
.info-list span{font-size:28px}
.info-list h3{margin:0}
.info-list p{margin:4px 0 0;font-size:15px;color:var(--muted)}
.recommendation-grid{max-width:1050px;margin:35px auto 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.recommendation-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:25px;display:flex;flex-direction:column;align-items:flex-start}
.recommendation-card .button{margin-top:auto}
.rec-icon{font-size:2rem;margin-bottom:10px}
.rec-label{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:var(--sage);margin:0 0 7px}
.recommendation-card h3{margin:0 0 10px}
.recommendation-card p:not(.rec-label){margin-bottom:22px}
.rec-icon{font-size:38px}
.disclosure{max-width:850px;margin:auto;text-align:center;font-size:13px;color:var(--muted)}
.closing{text-align:center;padding-top:110px;padding-bottom:110px}
footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:25px clamp(20px,6vw,80px);background:#344439;color:#f7f0e7;font-size:13px}
footer a{text-decoration:none}
@media(max-width:900px){
.cards.three{grid-template-columns:1fr}
  .nav{left:0;right:0;top:100%;min-width:0;border-left:0;border-right:0;border-radius:0 0 18px 18px}

  .hero{grid-template-columns:1fr}
  .hero-photo{min-height:390px}
  .cards.four,.value-grid{grid-template-columns:1fr 1fr}
  .about,.grief{grid-template-columns:1fr;gap:35px}
}
@media(max-width:560px){
  .site-header{padding:12px 16px}
  .brand-script{font-size:24px}
  .hero-photo{min-height:330px}
  .hero-content{padding:38px 22px}
  h1{font-size:62px}
  h2{font-size:34px}
  .section{padding:65px 20px}
  .cards.four,.value-grid{grid-template-columns:1fr}
  p{font-size:16px}
}

.legal-page{max-width:900px;margin:0 auto;padding-top:90px;padding-bottom:90px}.legal-page h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);margin:0 0 18px;color:var(--ink)}.legal-page h2{font-family:Georgia,serif;font-size:28px;margin:42px 0 12px;color:var(--ink)}.legal-page p{max-width:760px;line-height:1.8}.legal-page a{color:var(--sage-dark);font-weight:700}.legal-intro{font-size:18px}.nav-static{display:flex!important;position:static!important}.nav-static a{white-space:nowrap}@media(max-width:760px){.nav-static{display:flex!important}.legal-page{padding-top:55px;padding-bottom:55px}.legal-page h2{font-size:24px}}

.petition-area{max-width:1000px;margin:65px auto 0;padding-top:55px;border-top:1px solid var(--line)}
.petition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px}
.petition-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);padding:26px}
.petition-card-jette{padding:0}
.petition-card-jette>img{display:block;width:100%;height:220px;object-fit:cover}
.petition-card-body{padding:26px}
.petition-card-head{display:flex;gap:14px;align-items:flex-start}
.petition-icon{font-size:31px;line-height:1}
.petition-card h3{margin:4px 0 8px;font-size:24px}
.petition-card p{color:var(--muted);font-size:15px;line-height:1.7}
.status-pill{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:#eee5da;color:var(--sage-dark)}
.status-live{background:#e7efe8}
.status-follow{background:#eee9df}
.status-done{background:#eee5e0}
.status-personal{background:#f4e3d6}
.text-button{display:inline-block;margin-top:8px;color:var(--sage-dark);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(65,91,75,.35);padding-bottom:2px}
.text-button:hover{border-bottom-color:var(--sage-dark)}
.petition-note{margin:22px auto 0;max-width:850px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:900px){
.cards.three{grid-template-columns:1fr}
  .nav{left:0;right:0;top:100%;min-width:0;border-left:0;border-right:0;border-radius:0 0 18px 18px}
.petition-grid{grid-template-columns:1fr}}
@media(max-width:560px){.petition-area{margin-top:50px;padding-top:45px}.petition-card{padding:22px}.petition-card-jette{padding:0}.petition-card-body{padding:22px}.petition-card-jette>img{height:205px}}

.help-intro{max-width:850px;margin:0 auto 28px;padding:18px 22px;background:#f4eadf;border-left:4px solid var(--sage);border-radius:14px;color:#4f5148}
.help-grid{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.help-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}
.help-icon{font-size:34px;margin-bottom:8px}.help-card h3{margin:0 0 8px}.help-card p{font-size:15px;color:var(--muted);margin:0 0 12px}.help-card ul{margin:0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.65}.help-card .button{margin-top:18px}
.help-source{max-width:850px;margin:30px auto 0;padding:28px;background:#eef1e9;border:1px solid var(--line);border-radius:20px}.help-source h3{margin-top:0}.help-source p{color:var(--muted)}.help-links{display:flex;gap:12px;flex-wrap:wrap}.button.secondary{background:transparent;color:var(--sage-dark);border:1px solid var(--sage-dark);box-shadow:none}.source-note{font-size:12px!important;margin-top:20px!important}
@media(max-width:700px){.help-grid{grid-template-columns:1fr}.help-card{padding:22px}.help-links{flex-direction:column}.help-links .button{width:fit-content}}

.partner-box{margin:1rem 0;padding:1rem;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid rgba(90,70,50,.12)}
.partner-box p{margin:.45rem 0 0}
.button-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.small-note{font-size:.85rem;opacity:.72;margin-top:.8rem}


.affiliate-label { margin: 1rem 0 .35rem; font-size: .78rem; letter-spacing: .08em; font-weight: 700; }

/* Leckerli-Workbook */
.workbook-cover {
  display: block;
  width: min(100%, 300px);
  margin: 1rem auto 1.2rem;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(54, 42, 32, 0.12);
}
.workbook-card .button {
  margin-top: .25rem;
}
