:root {
  --ink: #342d27;
  --forest: #173d37;
  --rust: #a84624;
  --copper: #bf6a2d;
  --gold: #d8a244;
  --cream: #fff9ed;
  --paper: #f8f0e1;
  --line: #decdb4;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Nunito", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 1rem; line-height: 1.7; }
a { color: inherit; }
.skip-link { position: fixed; z-index: 30; top: 1rem; left: 1rem; padding: .7rem 1rem; color: white; background: var(--forest); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.hero { position: relative; min-height: min(88vh, 880px); overflow: hidden; isolation: isolate; color: white; background: #6d3c22 url("autunno-bosco-fruscioso.png") center/cover no-repeat; }
.hero__veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(24,32,24,.82) 0%, rgba(39,34,22,.46) 37%, rgba(30,26,17,.07) 68%); }
.topbar { width: min(1220px, calc(100% - 2rem)); display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 auto; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.42); }
.brand { font-family: var(--serif); font-size: 1.35rem; font-weight: 700; text-decoration: none; }
.brand span { color: #f3cf78; }
.back-link { font-size: .84rem; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.back-link::before { content: "← "; color: #f3cf78; }
.hero__content { width: min(1220px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(7rem, 13vh, 10rem) 0 5rem; }
.eyebrow, .kicker { margin: 0 0 .55rem; color: var(--copper); font-size: .82rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.hero .eyebrow { color: #f4d78e; }
h1, h2, h3, .signature { font-family: var(--serif); }
h1 { max-width: 620px; margin: 0; font-size: clamp(4rem, 9vw, 7.8rem); font-weight: 600; line-height: .78; letter-spacing: -.035em; text-shadow: 0 3px 22px rgba(20,24,18,.45); }
.hero__content > p:not(.eyebrow) { max-width: 530px; margin: 2rem 0; font-family: var(--serif); font-size: clamp(1.3rem, 2.5vw, 1.85rem); line-height: 1.35; text-shadow: 0 2px 12px rgba(20,24,18,.8); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3.25rem; padding: .75rem 1.25rem; border-radius: .25rem; font-size: .9rem; font-weight: 800; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); box-shadow: 0 9px 24px rgba(48,29,16,.18); outline: 2px solid currentColor; outline-offset: 3px; }
.button--light { color: var(--forest); background: var(--cream); }
.button--autumn { color: white; background: var(--rust); }
.button--gold { color: #2d2519; background: #edbd57; }

.welcome { width: min(850px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) 0; text-align: center; }
.welcome__leaf { color: var(--copper); font-family: var(--serif); font-size: 3rem; line-height: 1; }
h2 { margin: .2rem 0 1.5rem; color: var(--forest); font-size: clamp(2.5rem, 5.5vw, 4.7rem); font-weight: 600; line-height: 1.02; }
.welcome > p:not(.kicker) { margin: 0 auto 1.1rem; font-size: 1.08rem; }

.cast { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 8vw, 7rem); align-items: end; padding: clamp(4rem, 8vw, 7rem) max(1rem, calc((100vw - 1120px)/2)); color: #f8f0df; background: var(--forest); }
.cast h2 { margin-bottom: 0; color: white; }
.cast .kicker { color: #eabb5b; }
.cast__names { margin: 0; padding-left: clamp(1.5rem, 5vw, 4rem); border-left: 1px solid rgba(235,187,91,.55); font-family: var(--serif); font-size: clamp(1.3rem, 2.5vw, 1.8rem); line-height: 1.5; }

.book { width: min(1150px, calc(100% - 2rem)); display: grid; grid-template-columns: minmax(280px, .83fr) 1.17fr; gap: clamp(2rem, 8vw, 7rem); align-items: center; margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) 0; }
.book__visual { position: relative; }
.book__visual::before { content: ""; position: absolute; inset: -1rem 1rem 1rem -1rem; z-index: -1; border: 1px solid var(--gold); }
.book__visual img { width: 100%; display: block; border-radius: .3rem; box-shadow: 0 24px 60px rgba(73,42,22,.22); }
.book__copy h2 { font-size: clamp(2.3rem, 4.5vw, 4rem); }
.book__copy h2 em { color: var(--rust); font-weight: 500; }
.book__copy > p { max-width: 650px; }
.book__promise { margin: 1.7rem 0 !important; padding: 1rem 0 1rem 1.2rem; border-left: 3px solid var(--gold); color: var(--forest); font-family: var(--serif); font-size: 1.25rem; font-weight: 600; }

.values { padding: clamp(5rem, 9vw, 8rem) max(1rem, calc((100vw - 1120px)/2)); background: #f0e3cf; }
.values__heading { text-align: center; }
.values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.values article { min-height: 270px; padding: 2.2rem; border-top: 3px solid var(--copper); background: rgba(255,255,255,.62); }
.values article > span { color: var(--copper); font-family: var(--serif); font-size: 2rem; }
.values h3 { margin: 2rem 0 .4rem; color: var(--forest); font-size: 2rem; }
.values article p { margin: 0; }

.song { display: grid; grid-template-columns: 260px 1fr; gap: clamp(2rem, 7vw, 6rem); align-items: center; padding: clamp(5rem, 9vw, 8rem) max(1rem, calc((100vw - 980px)/2)); color: white; background: #823d25; }
.song h2 { color: white; }
.song p:not(.kicker) { max-width: 620px; }
.song .kicker { color: #f1c967; }
.song__disc { width: 230px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; background: radial-gradient(circle at center, #edbd57 0 9%, #74321f 10% 23%, #d66f32 24% 25%, #74321f 26% 40%, #d66f32 41% 42%, #74321f 43% 100%); box-shadow: 0 18px 40px rgba(55,24,15,.35); }
.song__disc span { color: #f7df9a; font-size: 4rem; }

.closing { padding: clamp(5rem, 10vw, 8rem) 1rem; color: #f8f0df; background: #163631; text-align: center; }
.closing > span { color: var(--gold); letter-spacing: .5rem; }
.closing p { margin: 1.2rem auto 2rem; font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 3.1rem); line-height: 1.3; }
.closing a { color: #edc66d; font-weight: 800; }
footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; padding: 2rem max(1rem, calc((100vw - 1180px)/2)); background: #fffaf0; font-size: .86rem; }
footer p { margin: 0; }
footer a { color: var(--forest); font-weight: 800; text-decoration: none; }
.signature { justify-self: end; color: var(--forest); font-size: 1.25rem; font-style: italic; }

@media (max-width: 820px) {
  .hero { min-height: 760px; background-position: 58% center; }
  .hero__veil { background: linear-gradient(180deg, rgba(24,32,24,.72), rgba(39,34,22,.2) 58%, rgba(24,32,24,.62)); }
  .hero__content { padding-top: 7rem; }
  .cast, .book, .song { grid-template-columns: 1fr; }
  .cast__names { padding: 1.5rem 0 0; border-top: 1px solid rgba(235,187,91,.55); border-left: 0; }
  .book__visual { max-width: 520px; margin: 0 auto; }
  .song__disc { width: 190px; }
  .values__grid { grid-template-columns: 1fr; }
  .values article { min-height: auto; }
  footer { grid-template-columns: 1fr; text-align: center; }
  .signature { justify-self: center; }
}

@media (max-width: 520px) {
  .topbar { align-items: flex-start; }
  .back-link { max-width: 130px; text-align: right; }
  .hero { min-height: 700px; background-position: 55% center; }
  h1 { font-size: 4.4rem; }
  .book { width: min(100% - 2.4rem, 1150px); }
  .song__disc { width: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
/* Autunno: un album luminoso di storie e immagini. */
:root{--rust:#a64020;--copper:#b75820;--gold:#f3b943;--paper:#fff8e7;--forest:#174a39}
body{font-size:1.125rem;background:var(--paper)}
.hero{min-height:0;color:var(--forest);background:linear-gradient(120deg,#ffe5a8,#fff4d9 58%,#ffcf76);padding-bottom:0}
.topbar{border-color:#b67c33;max-width:1200px;padding:1.2rem 0}.brand{font-size:1.5rem}.brand span{color:#a84624}.nav-links{display:flex;gap:24px;flex-wrap:wrap}.nav-links a{font-size:1rem;font-weight:800;text-decoration:none;padding:8px 0}
.hero__content{padding:4.5rem 0 3.5rem;text-align:center;max-width:1050px}.hero .eyebrow{color:var(--rust);font-size:.95rem}.hero h1{max-width:none;font-size:clamp(3.8rem,8vw,7rem);line-height:.96;text-shadow:none}.hero__content>p:not(.eyebrow){max-width:720px;margin:1.7rem auto;font-size:1.6rem;line-height:1.5;text-shadow:none}.hero h1 br{display:none}.hero-actions{display:inline-flex;gap:16px;margin-right:12px;margin-bottom:14px}.hero__content>.button{margin-bottom:14px}.button--light{background:#174a39;color:#fff8e7}.button--outline{border:2px solid #174a39;color:#174a39;background:transparent}.button{font-size:1rem;letter-spacing:.01em;text-transform:none;border-radius:9px;min-height:52px}
.walking{margin:0}.walking img{width:100%;height:auto;display:block}.walking figcaption{text-align:center;background:#174a39;color:#fff4d9;font-family:var(--serif);font-size:1.5rem;padding:18px}
.welcome{padding:5rem 0;width:min(850px,calc(100% - 40px))}.welcome>p:not(.kicker){font-size:1.125rem;line-height:1.85}.kicker{font-size:.9rem}.cast{padding:3.5rem max(24px,calc((100vw - 1150px)/2));background:#7d321d}.cast__names{font-size:1.45rem}.cast h2{font-size:3rem}.book{padding:5rem 0}.book__visual{max-width:400px;margin:auto}.book__copy>p{line-height:1.8}.book__visual img{border:7px solid #f5cf87;border-radius:14px}.book__visual::before{display:none}
.author-moment{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;background:#ffdfa7;padding:5rem max(24px,calc((100vw - 1150px)/2))}.author-photo{max-width:520px}.author-photo img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 20px 50px #864d202b}.author-copy p{line-height:1.85}.author-copy .signature{font-size:2rem;margin:2rem 0}.values{background:#fff1ca;padding-top:4.5rem;padding-bottom:4.5rem}.values article{background:#fffaf0;border-radius:14px;border-top:5px solid var(--rust)}.values article:nth-child(2){border-color:#28744f}.values article:nth-child(3){border-color:#d99010}.values h3{margin-top:1rem;font-size:2.3rem}
.song{grid-template-columns:1fr 1fr;padding:5rem max(24px,calc((100vw - 1200px)/2));background:#a53f1d;gap:60px}.song__visual img{width:100%;height:auto;display:block;border-radius:20px;border:3px solid #f3b943}.song h2{font-size:clamp(2.8rem,4vw,4.5rem)}.closing{background:#174a39}.closing .quote-signature{font-size:2rem;font-style:italic;margin:1rem auto 2.5rem;color:#ffd476}footer{font-size:1rem}
@media(max-width:820px){.topbar{align-items:center}.hero__content{padding:3rem 20px 2rem;width:100%}.hero h1{font-size:4.6rem}.hero__content>p:not(.eyebrow){font-size:1.4rem}.author-moment,.song{grid-template-columns:1fr;gap:36px}.author-photo{max-width:480px;margin:auto}.author-moment,.song{padding-top:3.5rem;padding-bottom:3.5rem}.song__visual{max-width:600px}.walking figcaption{font-size:1.25rem}.cast{grid-template-columns:1fr;gap:25px}}
@media(max-width:520px){.topbar{flex-wrap:wrap;justify-content:center;gap:8px}.nav-links{gap:18px}.nav-links a{font-size:.95rem}.hero h1{font-size:3.6rem;line-height:1.03}.hero-actions{display:block;margin:0 0 12px}.hero-actions .button,.hero__content>.button{width:100%}.book,.welcome{width:calc(100% - 40px)}.book{padding:3rem 0}h2{font-size:2.9rem}.author-copy h2{font-size:2.8rem}.author-moment{padding-inline:20px}.walking{overflow:auto}.walking img{width:780px;max-width:none}.walking figcaption{min-width:780px}.cast__names{font-size:1.3rem}.values article{padding:1.7rem}.button{max-width:100%;white-space:normal;text-align:center}}

@media(max-width:520px){.walking{overflow:visible}.walking img{width:100%;height:auto}.walking figcaption{min-width:0}.hero h1 br{display:block}}

.autumn-blog{max-width:1120px;margin:50px auto;padding:45px 28px;border-top:1px solid #bc915c66}.autumn-blog>p{max-width:750px}.autumn-blog .season-article-group{margin:40px 0}.autumn-blog .season-article-group>h3{font:600 1.8rem/1.25 'Cormorant Garamond',Georgia,serif}.autumn-blog .season-article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.autumn-blog .season-article-card{background:#fffaf0;border:1px solid #c49b6055;padding:27px;border-radius:12px}.autumn-blog .season-article-card h4{font:600 1.75rem/1.15 'Cormorant Garamond',Georgia,serif;margin:12px 0}.autumn-blog .season-article-card h4 a{color:inherit;text-decoration:none}.autumn-blog .season-article-card p{font-size:1rem;line-height:1.75}.autumn-blog .article-kind{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#855a2f}.autumn-blog .article-read{font-size:14px;color:#704526;text-decoration:underline;text-underline-offset:5px}.autumn-blog a:focus-visible{outline:3px solid #9b6628;outline-offset:5px}@media(max-width:640px){.autumn-blog{padding:30px 20px}.autumn-blog .season-article-grid{grid-template-columns:1fr}.autumn-blog .season-article-card{padding:22px}}

.song--lullaby{background:#174a39}.lullaby-player{aspect-ratio:16/9;width:100%;border:2px solid #f3b943;border-radius:20px;overflow:hidden;background:#113729}.lullaby-player iframe{display:block;width:100%;height:100%;border:0}.lullaby-play{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:0;padding:24px;background:#113729;color:#fff4d4;font:inherit;font-size:1.25rem;cursor:pointer}.lullaby-play>span:first-child{font-size:2.5rem;color:#f3b943}.lullaby-play small{font-size:.875rem;line-height:1.5}.lullaby-play:hover{background:#1e503c}.lullaby-play:focus-visible{outline:3px solid #f3b943;outline-offset:-7px}

.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin:0 auto 14px}.hero h1{word-spacing:.08em}@media(max-width:520px){.hero-actions{flex-direction:column}.hero-actions .button{width:100%}}
