:root{
  --green:#0fa84f;
  --green-dark:#08773a;
  --green-soft:#e9f8df;
  --leaf:#2ab463;
  --blue:#245cba;
  --violet:#2f2d8d;
  --cream:#fff8db;
  --sun:#ffd860;
  --brown:#9b3f18;
  --ink:#17211b;
  --muted:#5d6a61;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(14,74,38,.16);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fffef6;line-height:1.65;font-size:18px}
a{color:var(--green-dark);text-decoration:none;font-weight:700}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1160px,92vw);margin-inline:auto}
.narrow{width:min(860px,90vw)}
.skip-link{position:absolute;left:-999px;top:auto;background:var(--ink);color:white;padding:10px 14px;z-index:99}
.skip-link:focus{left:12px;top:12px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,246,.92);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.05)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand-logo{width:240px;max-height:74px;object-fit:contain;mix-blend-mode:multiply}
.primary-nav .menu{list-style:none;display:flex;gap:18px;align-items:center;margin:0;padding:0}
.primary-nav a{color:var(--ink);font-size:15px;font-weight:800;padding:10px 8px;border-radius:999px}
.primary-nav a:hover{background:var(--green-soft);text-decoration:none}
.menu-toggle{display:none;background:var(--green);color:white;border:0;border-radius:999px;padding:10px 18px;font-weight:800}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 10%,#fff5a0 0,#dff6c7 34%,#c8f1ff 74%);padding:74px 0 88px}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,156,71,.15),transparent 30%), radial-gradient(circle at 82% 14%,rgba(255,216,96,.55),transparent 28%)}
.forest-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:120px;background:linear-gradient(160deg,var(--green) 0%,var(--green-dark) 100%);clip-path:ellipse(72% 68% at 50% 100%)}
.hero-grid,.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;position:relative;z-index:1}
.hero-copy h1,.page-hero h1{font-size:clamp(42px,6vw,78px);line-height:1.03;margin:10px 0 18px;letter-spacing:-.04em;color:#17311e}
.lead{font-size:clamp(20px,2.2vw,27px);color:#31523a;max-width:780px;margin:0 0 28px;line-height:1.45}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:900;color:var(--violet);margin:0 0 12px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ric-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;background:var(--cream);color:var(--green-dark);font-weight:900;box-shadow:0 10px 22px rgba(0,0,0,.10);transition:transform .2s ease,box-shadow .2s ease;text-decoration:none!important}
.ric-btn:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(0,0,0,.13)}
.ric-btn.primary{background:linear-gradient(135deg,var(--green),var(--green-dark));color:white}
.ric-btn.secondary{background:linear-gradient(135deg,var(--sun),#ff9d3d);color:#3d2500}
.ric-btn.ghost{background:white;color:var(--green-dark)}
.hero-art{display:flex;justify-content:center}
.book-cover,.audio-cover{border-radius:26px;box-shadow:var(--shadow);background:white;max-height:660px;object-fit:contain}
.audio-cover{max-height:480px}
.section{padding:86px 0;position:relative}
.section.soft{background:linear-gradient(180deg,#f3fbdf 0%,#e9f8ff 100%)}
.section-head{text-align:center;max-width:780px;margin:0 auto 38px}
h2{font-size:clamp(32px,4vw,52px);line-height:1.08;margin:0 0 18px;letter-spacing:-.03em;color:#17311e}
h3{font-size:23px;line-height:1.2;margin:10px 0 10px;color:#17311e}
p{margin:0 0 18px}.cards{display:grid;gap:24px}.cards.two{grid-template-columns:repeat(2,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:rgba(255,255,255,.92);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(13,120,59,.08)}
.card .icon{font-size:32px}.reviews .stars{color:#ff9d00;font-size:24px;letter-spacing:1px;margin-bottom:6px}.reviews p{font-size:17px}.quote-card{background:var(--cream);padding:44px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:34px;font-weight:900;line-height:1.25;color:var(--violet)}
.round-img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover}.reverse>div:first-child{order:2}.reverse>div:last-child{order:1}.text-link{font-weight:900;color:var(--violet)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:24px;box-shadow:0 10px 26px rgba(0,0,0,.10);background:white}.small-gallery{grid-template-columns:repeat(3,1fr)}.small-gallery img{height:360px}
.page-hero{padding:72px 0;background:radial-gradient(circle at 10% 10%,#fff3a8,transparent 30%),linear-gradient(135deg,#e8f9d6,#dff5ff)}.page-hero h1{font-size:clamp(38px,5vw,68px)}.hero-media{display:flex;justify-content:center}.cover-card{padding:18px;background:rgba(255,255,255,.62);border-radius:32px;box-shadow:var(--shadow)}
.character img{height:230px;width:100%;object-fit:cover;border-radius:20px;margin-bottom:12px}.product-card{text-align:center}.product-img{height:360px;width:auto;margin:0 auto 20px;border-radius:22px;object-fit:contain}
.contact-box{background:white;padding:32px;border-radius:var(--radius);box-shadow:var(--shadow)}.ric-form label{display:block;font-weight:900;margin:0 0 8px;color:#17311e}.ric-form input,.ric-form textarea,.ric-form select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(23,33,27,.16);background:#fffef8;font:inherit;margin-bottom:16px}.ric-form textarea{min-height:150px;resize:vertical}.ric-form .privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:15px}.ric-form .privacy-check input{width:auto;margin-top:5px}.ric-message{padding:14px 16px;border-radius:18px;margin-bottom:16px;font-weight:800}.ric-message.ok{background:#e3f8d6;color:#145c2d}.ric-message.err{background:#ffe6dc;color:#8c2f10}.ric-hp{position:absolute;left:-9999px}
.legal{padding:72px 0}.legal h1{font-size:52px;line-height:1.1}.legal h2{font-size:30px;margin-top:34px}.legal p{color:#33423a}
.cta-panel{background:linear-gradient(135deg,var(--green),var(--green-dark));color:white;border-radius:34px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;box-shadow:var(--shadow)}.cta-panel h2,.cta-panel p,.cta-panel .eyebrow{color:white}.cta-panel .ric-btn.ghost{color:var(--green-dark)}
.site-footer{background:#103b22;color:#eaf9e9;padding:58px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:34px}.footer-logo{width:220px;background:white;border-radius:18px;padding:8px;mix-blend-mode:normal;margin-bottom:18px}.site-footer h2{font-size:22px;color:white}.site-footer a{color:#fff8b6}.footer-bottom{margin-top:34px;font-size:14px;color:#cfe7d0}
@media (max-width:920px){body{font-size:17px}.menu-toggle{display:inline-flex}.primary-nav{display:none;position:absolute;top:82px;left:4vw;right:4vw;background:white;border-radius:24px;padding:18px;box-shadow:var(--shadow)}.primary-nav.open{display:block}.primary-nav .menu{display:grid;gap:4px}.hero-grid,.two-col,.cta-panel{grid-template-columns:1fr}.reverse>div:first-child,.reverse>div:last-child{order:initial}.cards.two,.cards.three,.cards.four,.gallery-grid,.small-gallery{grid-template-columns:1fr}.gallery-grid img,.small-gallery img{height:auto}.hero{padding-top:46px}.brand-logo{width:190px}.footer-grid{grid-template-columns:1fr}.cta-panel{padding:30px}.product-img{height:auto;max-height:360px}.quote-card{font-size:26px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Aggiornamento 1.1: menu compatto e sezione da colorare */
.nav-wrap{gap:18px;width:min(1340px,94vw)}
.brand{flex:0 0 auto}.brand-logo{width:250px;max-width:24vw}.primary-nav{flex:1;min-width:0}.primary-nav .menu{justify-content:flex-end;gap:8px;flex-wrap:nowrap}.primary-nav a{font-size:14px;line-height:1;white-space:nowrap;padding:10px 10px}.primary-nav a:hover{background:#edf8df}.site-header{overflow:visible}
.coloring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.coloring-card{background:#fff;padding:18px;border-radius:26px;box-shadow:var(--shadow);border:1px solid rgba(13,120,59,.08);display:flex;flex-direction:column;gap:12px}.coloring-card img{width:100%;height:340px;object-fit:contain;background:#fff;border-radius:18px;border:1px solid rgba(0,0,0,.07)}.coloring-card h3{font-size:20px;margin:4px 0}.download-btn{align-self:flex-start;padding:11px 18px;font-size:15px}.author-home{background:#fffef6}.coloring-home .cta-panel{background:linear-gradient(135deg,#149e52,#0b7138)}
@media (max-width:1180px){.brand-logo{width:210px}.primary-nav a{font-size:13px;padding:9px 7px}.primary-nav .menu{gap:4px}}
@media (max-width:1020px){.menu-toggle{display:inline-flex}.brand-logo{max-width:none}.primary-nav{display:none;position:absolute;top:82px;left:4vw;right:4vw;background:white;border-radius:24px;padding:18px;box-shadow:var(--shadow)}.primary-nav.open{display:block}.primary-nav .menu{display:grid;gap:4px;justify-content:stretch}.primary-nav a{display:block;font-size:17px;line-height:1.2;padding:13px 14px}.coloring-grid{grid-template-columns:1fr 1fr}.coloring-card img{height:300px}}
@media (max-width:680px){.coloring-grid{grid-template-columns:1fr}.coloring-card img{height:auto}.nav-wrap{width:min(1160px,92vw)}}
