
:root{
  --bg:#f6f7f1;
  --bg-soft:#eef2e5;
  --text:#203026;
  --muted:#5e6c61;
  --line:rgba(121,145,112,.18);
  --line-strong:rgba(121,145,112,.28);
  --surface:rgba(255,255,255,.94);
  --surface-soft:#edf2e6;
  --accent:#7c9b71;
  --accent-strong:#5d7d58;
  --accent-soft:#dfe9d8;
  --ocean:#5ca6c8;
  --ocean-soft:#e6f4fa;
  --warm:#e89a3d;
  --warm-soft:#fff1de;
  --festive:#1f5f4d;
  --shadow:0 18px 48px rgba(34,48,39,.08);
  --shadow-soft:0 12px 28px rgba(34,48,39,.05);
  --radius:24px;
  --radius-sm:18px;
  --max:1160px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left, rgba(181,201,167,.32), transparent 32%),radial-gradient(circle at top right, rgba(225,234,214,.72), transparent 26%),linear-gradient(180deg,#f8faf5 0%,var(--bg) 35%,#f3f5ee 100%);line-height:1.65}
body.page-ocean{background:radial-gradient(circle at top right, rgba(137,193,223,.35), transparent 28%),radial-gradient(circle at left, rgba(188,226,240,.35), transparent 25%),linear-gradient(180deg,#f6fbfe 0%, #edf6fa 30%, #f6f7f1 100%)}
body.page-colorful{background:radial-gradient(circle at top left, rgba(255,217,165,.35), transparent 30%),radial-gradient(circle at top right, rgba(202,235,181,.35), transparent 25%),linear-gradient(180deg,#fffdf8 0%, #faf6ed 35%, #f6f7f1 100%)}
body.page-kitchen{background:radial-gradient(circle at top left, rgba(204,228,198,.35), transparent 30%),radial-gradient(circle at top right, rgba(255,236,210,.4), transparent 25%),linear-gradient(180deg,#fafcf8 0%, #f5f7ef 35%, #f6f7f1 100%)}
body.page-festive{background:radial-gradient(circle at top right, rgba(46,109,88,.18), transparent 30%),radial-gradient(circle at left, rgba(235,215,185,.24), transparent 30%),linear-gradient(180deg,#f8faf7 0%, #f1f5ef 35%, #f6f7f1 100%)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
p{margin:0 0 1rem}
h1,h2,h3{margin:0 0 1rem;line-height:1.08;letter-spacing:-.03em}
main{overflow:clip}
.container{width:min(calc(100% - 2rem),var(--max));margin:0 auto}
.narrow{max-width:840px}.section{padding:5rem 0}.section-tight{padding:3rem 0}
.kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;background:var(--surface-soft);border:1px solid rgba(122,145,112,.15);color:var(--accent-strong);font-size:.92rem;font-weight:800;letter-spacing:.01em;margin-bottom:1.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--accent-strong);font-weight:800;margin-bottom:1rem}
.section-title{font-size:clamp(2rem,4vw,3.4rem);max-width:14ch}.section-intro{max-width:52rem;color:var(--muted);font-size:1.08rem}
.small-heading{font-size:1.3rem;margin-bottom:.8rem}.subtitle{font-size:1.06rem;color:var(--muted)}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:rgba(248,250,245,.84);border-bottom:1px solid rgba(122,145,112,.14)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem;padding:.8rem 0}
.brand{display:flex;align-items:center;gap:.72rem}.brand-mark{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#94b281 0%,#6a8b61 100%);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(106,139,97,.24)}
.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:1.06rem;letter-spacing:-.04em}.brand-copy small{font-size:.8rem;color:var(--muted);margin-top:.18rem}
.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.nav a{color:var(--muted);font-weight:700;padding:.78rem .96rem;border-radius:999px;transition:background .18s ease,color .18s ease,transform .18s ease}.nav a:hover,.nav a.active{background:rgba(255,255,255,.9);color:var(--text);transform:translateY(-1px)}
.button,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.2rem;padding:.9rem 1.25rem;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.18s ease;text-align:center}
.button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;box-shadow:0 14px 26px rgba(95,127,88,.18)}
.button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(95,127,88,.24)}.button-secondary{background:#fff;border-color:rgba(122,145,112,.18);box-shadow:var(--shadow-soft)}.button-secondary:hover{transform:translateY(-1px);background:var(--surface-soft)}.full{width:100%}
.hero{padding:5.2rem 0 4.2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:2rem;align-items:stretch}.hero-copy h1{font-size:clamp(2.7rem,5vw,4.8rem);max-width:10.6ch}.hero-copy p{font-size:1.1rem;max-width:44rem;color:var(--muted)}.hero-actions,.button-row{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.7rem}
.hero-card,.card,.book-card,.copy-box,.portrait-card,.review-box,.callout{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.hero-card{padding:1.6rem;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(238,243,232,.96))}.quote{font-size:clamp(1.35rem,3vw,2rem);max-width:28ch;letter-spacing:-.04em}.hero-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.35rem}.badge-item{padding:1rem;border-radius:18px;background:rgba(255,255,255,.84);border:1px solid rgba(122,145,112,.14)}.badge-item strong{display:block;margin-bottom:.18rem}.badge-item span{font-size:.95rem;color:var(--muted)}
.info-grid,.values-grid,.preview-grid,.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cards-grid .card{padding:1.35rem}.card{padding:1.35rem}.books-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2rem}.book-card{display:grid;grid-template-columns:180px 1fr;gap:1rem;padding:1rem;align-items:start}.book-card .book-thumb{width:100%;aspect-ratio:.68/1;object-fit:cover;border-radius:18px;box-shadow:0 12px 24px rgba(0,0,0,.12)}.book-card.colorful{background:linear-gradient(180deg,rgba(255,252,246,.98),rgba(255,247,233,.98))}.book-card.ocean{background:linear-gradient(180deg,rgba(246,252,255,.98),rgba(235,246,251,.98))}.book-card.soft{background:linear-gradient(180deg,rgba(248,250,246,.98),rgba(241,245,238,.98))}
.category-block + .category-block{margin-top:3rem}.category-head{margin-bottom:1rem}.page-hero{padding:4.5rem 0 2.4rem}.about-grid,.two-col{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1.5rem;align-items:start}.portrait-card{padding:1rem}.portrait{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px}.copy-box{padding:1.5rem}.stack{display:grid;gap:1rem}.callout{padding:1.4rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.book-hero{padding:4.5rem 0 2rem}.book-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:2rem;align-items:start}.book-cover-wrap{display:grid;gap:.8rem}.book-cover{width:100%;border-radius:28px;box-shadow:0 22px 40px rgba(0,0,0,.15)}.book-copy h1{font-size:clamp(2.2rem,4vw,3.6rem)}.feature-list{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.7rem}.feature-list li{padding-left:1.7rem;position:relative}.feature-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent-strong);font-weight:900}.review-box{padding:1.5rem}.review-text{font-style:italic}.review-author{font-weight:800;margin-top:.8rem}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-thumb{width:100%;border-radius:18px;margin:.4rem 0 1rem}.cover-note,.notice{font-size:.94rem;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--line-strong);border-radius:16px;padding:.9rem 1rem}.footer-brand{font-weight:900;font-size:1.05rem;letter-spacing:-.04em;margin-bottom:.25rem}.footer-copy{color:var(--muted)}.notice{margin-top:1rem}.site-footer{border-top:1px solid rgba(122,145,112,.14);background:rgba(250,251,247,.86);margin-top:4rem}.footer-grid{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.6rem 0}.footer-links{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted)}
.download-list{display:grid;gap:1rem}
.download-list a{font-weight:700;color:var(--accent-strong)}
@media (max-width:980px){.hero-grid,.about-grid,.two-col,.book-layout{grid-template-columns:1fr}.books-grid,.info-grid,.values-grid,.preview-grid,.cards-grid{grid-template-columns:1fr}}
@media (max-width:720px){.header-row{align-items:flex-start;flex-direction:column}.nav{width:100%;justify-content:flex-start}.brand-copy small{display:none}.hero{padding-top:3.6rem}.hero-copy h1,.book-copy h1{font-size:clamp(2.15rem,8vw,3rem)}.book-card{grid-template-columns:1fr}.book-card .book-thumb{max-width:260px}.callout,.footer-grid{flex-direction:column;align-items:flex-start}.section,.page-hero,.book-hero{padding-top:3.2rem;padding-bottom:2rem}}


.prose{padding:1.8rem 1.8rem 1.2rem}
.prose h2{font-size:1.28rem;margin:1.9rem 0 .8rem}
.prose h3{font-size:1.02rem;margin:1.2rem 0 .5rem}
.prose ul{margin:.3rem 0 1.1rem 1.2rem;padding:0}
.prose li{margin:.3rem 0;color:var(--text)}
.prose a{color:var(--accent-strong);font-weight:700}
.legal-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1.5rem;align-items:start}
.aside-card{padding:1.35rem}
.aside-card p:last-child,.prose p:last-child{margin-bottom:0}
.photo-note{font-size:.94rem;color:var(--muted);margin-top:.7rem}
@media (max-width:980px){.legal-grid{grid-template-columns:1fr}}

.brand{gap:.9rem;min-width:0}
.brand-logo{width:72px;height:72px;object-fit:contain;flex:0 0 auto;border-radius:18px;box-shadow:0 10px 24px rgba(106,139,97,.18)}
.brand-copy strong{font-size:1.18rem;letter-spacing:-.04em}
.brand-copy small{font-size:.82rem;color:var(--muted);margin-top:.2rem}
.footer-brand-wrap{display:flex;align-items:center;gap:.85rem}
.footer-logo{width:54px;height:54px;object-fit:contain;border-radius:14px}
@media (max-width:720px){.brand-logo{width:64px;height:64px}.brand-copy strong{font-size:1.08rem}}


/* Mobile header refinement */
.site-header{box-shadow:0 6px 20px rgba(34,48,39,.04)}
.brand{position:relative;z-index:1}
.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}

@media (max-width:720px){
  .site-header{background:rgba(248,250,245,.94)}
  .header-row{gap:.85rem;padding:.7rem 0 .8rem}
  .brand{width:100%;gap:.8rem;align-items:center}
  .brand-logo{width:56px;height:56px;border-radius:16px;box-shadow:0 8px 20px rgba(106,139,97,.14)}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:1.02rem;line-height:1.05}
  .brand-copy small{display:block;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .nav{
    width:100%;
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    gap:.55rem;
    padding:0 0 .15rem;
    margin:0 -.1rem;
  }
  .nav a{
    flex:0 0 auto;
    padding:.72rem .95rem;
    font-size:.94rem;
    line-height:1;
    background:rgba(255,255,255,.74);
    border:1px solid rgba(122,145,112,.14);
    box-shadow:0 6px 14px rgba(34,48,39,.04);
  }
  .nav a.active{background:linear-gradient(135deg,var(--accent-soft) 0%, #edf3e9 100%)}
  .hero{padding-top:2.9rem}
}

@media (max-width:420px){
  .container{width:min(calc(100% - 1.2rem),var(--max))}
  .header-row{gap:.75rem}
  .brand-logo{width:52px;height:52px}
  .brand-copy strong{font-size:.98rem}
  .brand-copy small{font-size:.7rem}
  .nav a{padding:.68rem .88rem;font-size:.9rem}
}

/* Accessibility */
.skip-link{position:absolute;left:1rem;top:-3rem;padding:.8rem 1rem;border-radius:999px;background:#203026;color:#fff;font-weight:800;z-index:200;transition:top .18s ease}
.skip-link:focus{top:1rem}

/* Desktop polish */
.site-header{box-shadow:0 8px 28px rgba(34,48,39,.05)}
.header-row{min-height:5.4rem}
.hero{padding:5.8rem 0 4.8rem}
.hero-grid{gap:2.4rem}
.hero-card{padding:1.85rem}
.card,.book-card,.copy-box,.portrait-card,.review-box,.callout{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card:hover,.book-card:hover,.callout:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(34,48,39,.10);border-color:rgba(121,145,112,.24)}
.books-grid{gap:1.35rem}
.book-card{grid-template-columns:190px 1fr;padding:1.15rem}
.book-card h3{margin-bottom:.6rem}
.book-card p{margin-bottom:1rem}
.book-card .button,.book-card .button-secondary{margin-top:.1rem}
.section-intro{line-height:1.72}
.footer-links a:hover{color:var(--text)}

/* Mid-size screens */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy p{max-width:60rem}
  .hero-card{max-width:none}
}

/* Mobile refinement */
@media (max-width:720px){
  .section-title{max-width:none}
  .hero{padding:2.9rem 0 2.5rem}
  .hero-grid{gap:1.2rem}
  .hero-card{padding:1.25rem}
  .hero-badges{grid-template-columns:1fr}
  .section-intro,.hero-copy p,.subtitle{font-size:1rem}
  .cards-grid .card,.card,.copy-box,.review-box,.callout{padding:1.15rem}
  .books-grid{gap:1rem}
  .book-card{grid-template-columns:1fr;padding:1rem}
  .book-card .book-thumb{max-width:220px;margin-inline:auto}
  .about-grid,.two-col,.book-layout,.legal-grid{gap:1rem}
  .portrait{max-width:320px;margin-inline:auto}
  .footer-links{gap:.8rem .95rem}
}

@media (max-width:480px){
  h1,h2,h3{letter-spacing:-.025em}
  .kicker{font-size:.84rem;padding:.42rem .78rem}
  .button,.button-secondary{width:100%}
  .hero-actions,.button-row{gap:.7rem}
  .quote{font-size:1.28rem}
}

/* Brand refresh */
.header-row{gap:1.4rem}
.brand{gap:1rem}
.brand-logo{width:94px;height:94px;border-radius:24px;box-shadow:0 16px 34px rgba(106,139,97,.18)}
.brand-copy strong{font-size:1.38rem}
.brand-copy small{font-size:.9rem;max-width:26rem}
.footer-logo{width:72px;height:72px;border-radius:20px}

.hero-home{padding:6.2rem 0 4.8rem}
.hero-grid-home{grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:2.6rem;align-items:center}
.hero-copy-home h1{max-width:12ch;font-size:clamp(3rem,5vw,5.2rem)}
.hero-copy-home p{max-width:42rem;font-size:1.12rem}
.hero-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.hero-highlights div{padding:1rem 1.05rem;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(122,145,112,.18);box-shadow:0 12px 24px rgba(34,48,39,.05)}
.hero-highlights strong{display:block;margin-bottom:.28rem}
.hero-highlights span{font-size:.95rem;color:var(--muted)}
.hero-brand-panel{padding:2rem;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(234,241,228,.98));border-color:rgba(121,145,112,.16)}
.hero-brand-logo{width:min(100%,420px);display:block;margin:0 auto 1rem;border-radius:34px;box-shadow:0 24px 44px rgba(74,94,67,.16)}
.hero-brand-tagline{font-size:1.05rem;text-align:center;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}
.brand-pill-row{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-bottom:1.15rem}
.brand-pill{display:inline-flex;align-items:center;padding:.58rem .9rem;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(122,145,112,.18);font-size:.9rem;font-weight:800;color:var(--muted)}
.hero-brand-note{padding:1rem 1.1rem;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(122,145,112,.16)}
.hero-brand-note strong{display:block;margin-bottom:.35rem}
.hero-brand-note span{color:var(--muted)}
.info-grid-home .card h3{margin-bottom:.5rem}
.info-grid-home .card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,240,.98))}

@media (max-width:720px){
  .brand-logo{width:78px;height:78px;border-radius:20px}
  .brand-copy strong{font-size:1.18rem}
  .brand-copy small{display:block;font-size:.8rem;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%}
  .hero-home{padding:3.1rem 0 2.7rem}
  .hero-grid-home{grid-template-columns:1fr;gap:1.3rem}
  .hero-copy-home h1{font-size:clamp(2.25rem,9vw,3.35rem);max-width:none}
  .hero-highlights{grid-template-columns:1fr}
  .hero-brand-panel{padding:1.2rem}
  .hero-brand-logo{width:min(100%,360px);margin-bottom:.85rem;border-radius:24px}
  .brand-pill-row{justify-content:flex-start}
  .hero-brand-tagline{text-align:left}
}

@media (max-width:420px){
  .brand-logo{width:72px;height:72px}
  .brand-copy strong{font-size:1.1rem}
}
