
:root{
  --ink:#08243d;
  --blue:#0e5b8a;
  --sky:#9ed8ef;
  --mist:#edf8fc;
  --cream:#fffaf2;
  --gold:#c59a59;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(8,36,61,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  color:var(--ink);
  background:linear-gradient(180deg,#fafdff 0%,#edf8fc 48%,#fffaf2 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin:auto}
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(14,91,138,.12);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}
.brand{font-size:1.35rem;letter-spacing:.05em;font-weight:700}
.brand span{display:block;font-size:.72rem;font-weight:400;letter-spacing:.15em;color:var(--blue);text-transform:uppercase;margin-top:2px}
.navlinks{display:flex;flex-wrap:wrap;gap:17px;font-size:.95rem}
.navlinks a{padding:8px 4px;border-bottom:1px solid transparent}
.navlinks a:hover{border-color:var(--gold)}
.menu-btn{display:none;border:0;background:transparent;font-size:1.4rem}

.hero{
  min-height:78vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 70% 18%,rgba(255,255,255,.9),transparent 16%),
    linear-gradient(180deg,rgba(158,216,239,.74),rgba(237,248,252,.75) 55%,rgba(14,91,138,.2) 100%);
}
.hero:before{
  content:"";
  position:absolute;inset:auto -8% -115px -8%;
  height:300px;border-radius:50%;
  background:rgba(14,91,138,.17);
  box-shadow:0 -55px 0 rgba(255,255,255,.36),0 -110px 0 rgba(14,91,138,.08);
  animation:tide 9s ease-in-out infinite;
}
@keyframes tide{50%{transform:translateY(12px) scaleX(1.02)}}
.hero-inner{position:relative;z-index:2;text-align:center;max-width:800px;padding:95px 0 130px}
.kicker{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);font-weight:700}
h1,h2,h3{font-weight:500}
h1{font-size:clamp(3rem,8vw,6.6rem);line-height:.93;margin:.15em 0 .2em}
.hero p{font-size:clamp(1.15rem,2.5vw,1.5rem);line-height:1.65;margin:0 auto 30px;max-width:720px}
.btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-block;padding:12px 20px;border-radius:999px;
  border:1px solid var(--blue);transition:.2s ease;
}
.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.section{padding:88px 0}
.section h2{font-size:clamp(2rem,5vw,3.8rem);margin:0 0 14px}
.lead{font-size:1.18rem;line-height:1.75;max-width:760px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(14,91,138,.12);
  border-radius:24px;padding:26px;box-shadow:var(--shadow);
}
.card h3{font-size:1.5rem;margin:.2em 0 .5em}
.card p{line-height:1.68}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--mist);font-size:.78rem;color:var(--blue)}
.quote{
  padding:34px;border-left:3px solid var(--gold);
  background:rgba(255,250,242,.76);
  font-size:1.35rem;line-height:1.7;margin-top:30px;border-radius:0 20px 20px 0;
}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.visual{
  min-height:390px;border-radius:30px;
  background:
    radial-gradient(circle at 35% 28%,rgba(255,255,255,.92),transparent 9%),
    linear-gradient(165deg,#a9e0ef 0%,#3a90b7 50%,#0a3451 100%);
  position:relative;overflow:hidden;box-shadow:var(--shadow)
}
.visual:before{
  content:"⛵";position:absolute;left:54%;top:49%;
  font-size:5rem;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22));
  animation:float 4.7s ease-in-out infinite
}
@keyframes float{50%{transform:translateY(-10px) rotate(-2deg)}}
.visual:after{
  content:"";position:absolute;left:-10%;right:-10%;bottom:-14%;height:48%;
  border-radius:50%;background:rgba(255,255,255,.17);
  box-shadow:0 -55px 0 rgba(255,255,255,.10)
}
.video-card .thumb{
  aspect-ratio:16/9;border-radius:18px;
  background:linear-gradient(145deg,#0a3451,#67b7d3);
  display:grid;place-items:center;color:#fff;font-size:2rem;margin-bottom:17px;
}
.footer{padding:48px 0;border-top:1px solid rgba(14,91,138,.13);font-size:.92rem}
.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.small{font-size:.9rem;opacity:.78}
.fade-up{opacity:0;transform:translateY(18px);transition:.8s ease}
.fade-up.visible{opacity:1;transform:none}
.page-hero{padding:90px 0 60px;background:linear-gradient(180deg,#e9f7fb,#fff)}
.page-hero h1{font-size:clamp(2.8rem,7vw,5.4rem)}
.content{padding:50px 0 90px}
.prose{max-width:820px;font-size:1.08rem;line-height:1.85}
.contactbox{padding:28px;border-radius:24px;background:white;box-shadow:var(--shadow);max-width:720px}
@media(max-width:820px){
  .grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:20px;flex-direction:column}
  .navlinks.open{display:flex}
  .menu-btn{display:block}
}

/* ——— Home V2 ——— */
.navlinks a.active{color:var(--blue);border-color:var(--gold)}
.hero-home{
  min-height:86vh;
  background:
    radial-gradient(circle at 73% 16%,rgba(255,255,255,.96),transparent 11%),
    radial-gradient(circle at 18% 24%,rgba(255,255,255,.56),transparent 16%),
    linear-gradient(180deg,#c9edf8 0%,#eaf8fc 44%,#b8deeb 67%,#6faec7 100%);
}
.hero-home:before{
  inset:auto -8% -128px -8%;height:330px;
  background:rgba(8,36,61,.17);
  box-shadow:0 -55px 0 rgba(255,255,255,.28),0 -110px 0 rgba(14,91,138,.09);
}
.hero-home:after{
  content:"";position:absolute;left:0;right:0;bottom:18%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(8,36,61,.2),transparent);
}
.hero-manifesto{max-width:780px}
.hero-whisper{font-size:1.05rem!important;font-style:italic;opacity:.78;margin-top:-13px!important;margin-bottom:30px!important}
.hero-signature{
  margin:34px auto 0;font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:2.1rem;color:rgba(8,36,61,.66);transform:rotate(-4deg);width:max-content;
}
.horizon-mark{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.74);border-radius:50%;display:grid;place-items:center;z-index:3}
.horizon-mark span{width:13px;height:13px;border-right:1px solid white;border-bottom:1px solid white;transform:rotate(45deg) translate(-2px,-2px);animation:driftDown 2.2s ease-in-out infinite}
@keyframes driftDown{50%{transform:rotate(45deg) translate(3px,3px)}}
.intro-section{padding-bottom:46px}
.intro-copy{text-align:center;max-width:900px}
.intro-copy .lead{margin-left:auto;margin-right:auto}
.featured-section{padding-top:48px}
.section-heading{max-width:780px;margin-bottom:30px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.story-card{min-height:420px;border-radius:30px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);position:relative;overflow:hidden}
.story-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;bottom:-95px;border:1px solid currentColor;opacity:.12;box-shadow:0 0 0 32px currentColor,0 0 0 65px currentColor}
.story-blue{background:linear-gradient(145deg,#0a3451,#126b9a);color:#fff}
.story-cream{background:linear-gradient(145deg,#fffdf8,#f2e8d6);border:1px solid rgba(197,154,89,.28)}
.story-card-top{display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:700;opacity:.8}
.story-number{font-size:1.35rem;opacity:.44}
.story-card h3{font-size:clamp(2.1rem,4vw,3.3rem);margin:.25em 0;position:relative;z-index:2}
.story-card p{font-size:1.08rem;line-height:1.75;max-width:540px;position:relative;z-index:2}
.text-link{font-weight:700;letter-spacing:.03em;position:relative;z-index:2;width:max-content;border-bottom:1px solid currentColor;padding-bottom:4px}
.text-link span{display:inline-block;transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}
.angolino-teaser{padding-top:62px}
.angolino-split{gap:58px}
.paradise-visual{
  min-height:470px;
  background:
    linear-gradient(180deg,rgba(255,251,244,.08),rgba(7,39,62,.14)),
    url("images/angolino-barca.png") center center / cover no-repeat;
}
.paradise-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,0) 35%,rgba(7,39,62,.18) 100%);box-shadow:none;animation:none}
.paradise-visual:after{content:none}
.tiny-boat{display:none}
.compact-grid{align-items:stretch}
.media-section{background:rgba(255,255,255,.35)}
.notebook-card{position:relative;overflow:hidden}
.notebook-mark{position:absolute;right:23px;bottom:18px;font-size:3.5rem;color:rgba(197,154,89,.3)}
.closing-section{padding-top:72px;padding-bottom:105px}
.closing-inner{max-width:900px;text-align:center}
.closing-stars{color:var(--gold);letter-spacing:.12em;margin-bottom:18px}
.home-quote{border-left:0;border-top:1px solid rgba(197,154,89,.45);border-bottom:1px solid rgba(197,154,89,.45);border-radius:0;background:transparent;font-size:clamp(1.35rem,3vw,2rem);font-style:italic;padding:34px 18px}
.closing-name{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-top:20px}
@media(max-width:820px){
  .story-grid{grid-template-columns:1fr}
  .story-card{min-height:360px}
  .angolino-split{gap:30px}
  .paradise-visual{min-height:360px}
  .hero-home{min-height:82vh}
}
@media(max-width:520px){
  .story-card{padding:27px}
  .hero-inner{padding-top:84px}
  .hero-signature{font-size:1.8rem}
}

/* ——— Chi sono V3 ——— */
.about-hero{background:linear-gradient(180deg,#e8f7fb 0%,#fffaf2 100%)}
.about-section{padding-top:68px}
.about-split{grid-template-columns:.82fr 1.18fr;align-items:start;gap:58px}
.about-portrait{
  min-height:610px;border-radius:32px;position:sticky;top:108px;overflow:hidden;
  background:#e8f7fb;box-shadow:var(--shadow);display:flex;
}
.about-portrait img{width:100%;height:100%;min-height:610px;display:block;object-fit:cover;object-position:62% center}
.portrait-note{position:relative;z-index:2;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);padding:10px 16px;border-radius:999px;font-size:.86rem;color:var(--blue)}
.about-copy h2{font-size:clamp(2rem,4vw,3.35rem);margin:.18em 0 .65em}
.about-copy p:first-of-type{font-size:1.35rem}
.about-ending{margin-top:30px;font-size:1.2rem}
.short-bio-en{
  margin-top:38px;
  padding:26px 28px;
  border-left:3px solid var(--gold);
  border-radius:0 18px 18px 0;
  background:rgba(255,250,242,.78);
}
.short-bio-en p{
  margin:.85em 0 0;
  font-size:1rem;
  line-height:1.75;
}
.author-quote-section{padding-top:10px;padding-bottom:95px}

/* ——— Libri V3 ——— */
.books-hero{background:linear-gradient(180deg,#e5f6fb 0%,#fffdf9 100%)}
.book-shelf{padding-top:68px}
.book-feature{
  display:grid;grid-template-columns:340px 1fr;gap:54px;align-items:center;
  border-radius:34px;padding:42px;margin-bottom:34px;box-shadow:var(--shadow);
  border:1px solid rgba(14,91,138,.12);overflow:hidden;position:relative;
}
.book-feature:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-150px;bottom:-170px;border:1px solid currentColor;opacity:.08;box-shadow:0 0 0 40px currentColor,0 0 0 85px currentColor}
.book-blue{background:linear-gradient(145deg,#eefaff 0%,#d9f0f7 100%)}
.book-cream{background:linear-gradient(145deg,#fffdf9 0%,#f5ead9 100%)}
.book-violet{background:linear-gradient(145deg,#fbf9ff 0%,#eee8f8 100%)}
.book-cover-placeholder{
  aspect-ratio:2/3;border-radius:12px;padding:26px;display:flex;flex-direction:column;
  justify-content:space-between;box-shadow:0 20px 42px rgba(8,36,61,.2);position:relative;z-index:2;
  background:linear-gradient(165deg,#1b789f,#0a3451);color:white;transform:rotate(-1deg);
}
.book-cover-placeholder span{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;opacity:.72}
.book-cover-placeholder strong{font-size:2.45rem;line-height:.98;font-weight:500}
.heart-cover{background:linear-gradient(165deg,#8d5d59,#3c2230)}
.violet-cover{background:linear-gradient(165deg,#856d9f,#433657)}
.book-copy{position:relative;z-index:2;max-width:700px}
.book-meta{display:flex;align-items:center;justify-content:space-between;gap:20px}
.book-index{font-size:1.55rem;opacity:.25}
.book-copy h2{font-size:clamp(2.4rem,5vw,4rem);margin:.2em 0 .12em}
.book-subtitle{font-style:italic;font-size:1.2rem;margin:.1em 0 .8em;color:var(--blue)}
.book-tagline{font-size:1.25rem;line-height:1.55;margin:.45em 0 .8em;font-style:italic}
.book-copy>p:not(.book-tagline):not(.book-subtitle){font-size:1.05rem;line-height:1.78}
.book-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn.disabled{opacity:.55;cursor:default;border-color:rgba(8,36,61,.3)}
.books-closing{padding-top:28px;padding-bottom:100px}

@media(max-width:900px){
  .book-feature{grid-template-columns:260px 1fr;gap:34px;padding:32px}
  .about-split{gap:36px}
}
@media(max-width:720px){
  .book-feature{grid-template-columns:1fr;padding:26px}
  .book-cover-placeholder{width:min(280px,80%);margin:auto;transform:none}
  .about-split{grid-template-columns:1fr}
  .about-portrait{position:relative;top:auto;min-height:430px}
  .about-portrait img{min-height:430px;object-position:64% center}
}

/* ——— Contatti V4 ——— */
.contact-hero{
  background:
    radial-gradient(circle at 76% 22%,rgba(255,255,255,.96),transparent 10%),
    linear-gradient(180deg,#e5f6fb 0%,#fffaf2 100%);
}
.contact-section{padding-top:68px}
.contact-intro{max-width:780px;margin-bottom:38px}
.contact-intro h2{font-size:clamp(2.15rem,5vw,3.7rem);margin:.2em 0 .4em}
.contact-intro p{font-size:1.12rem;line-height:1.8;max-width:720px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.contact-card{
  position:relative;overflow:hidden;min-height:330px;padding:30px;border-radius:28px;
  background:rgba(255,255,255,.84);border:1px solid rgba(14,91,138,.12);box-shadow:var(--shadow);
  display:flex;flex-direction:column;
}
.contact-card:after{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-90px;bottom:-90px;
  border:1px solid rgba(14,91,138,.12);box-shadow:0 0 0 28px rgba(14,91,138,.04),0 0 0 56px rgba(14,91,138,.025)
}
.contact-symbol{font-size:1.7rem;color:var(--blue);margin-bottom:25px}
.contact-card h3{font-size:1.7rem;margin:.35em 0 .55em;position:relative;z-index:2}
.contact-card p{line-height:1.72;position:relative;z-index:2}
.contact-pending{
  margin-top:auto;padding-top:22px;border-top:1px solid rgba(14,91,138,.12);
  font-size:.9rem;color:var(--blue);position:relative;z-index:2;
}
.contact-closing{
  max-width:820px;margin:64px auto 0;text-align:center;padding:46px 30px 26px;
  border-top:1px solid rgba(197,154,89,.38)
}
.contact-wave{font-size:2.5rem;color:var(--gold);line-height:1}
.contact-closing blockquote{margin:20px auto 18px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.6;font-style:italic}
.contact-closing p{line-height:1.7;opacity:.78;max-width:680px;margin-left:auto;margin-right:auto}
.contact-signature{margin:28px auto 0;font-family:"Brush Script MT","Segoe Script",cursive;font-size:2rem;color:rgba(8,36,61,.72);transform:rotate(-3deg);width:max-content}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}.contact-card{min-height:0}}


/* ——— Angolino V5 ——— */
.angolino-hero{
  background:
    radial-gradient(circle at 72% 22%,rgba(255,255,255,.96),transparent 10%),
    linear-gradient(180deg,#dff4fa 0%,#fffaf2 100%);
}
.angolino-content{padding-top:68px}
.angolino-opening{grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:70px}
.angolino-opening h2{font-size:clamp(2.15rem,5vw,3.7rem);margin:.22em 0 .45em}
.angolino-main-visual{
  min-height:470px;border-radius:32px;position:relative;overflow:hidden;box-shadow:var(--shadow);
  background:
    linear-gradient(180deg,rgba(7,39,62,.02),rgba(7,39,62,.20)),
    url("images/angolino-pontile.jpg") center 58% / cover no-repeat;
}
.angolino-main-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(5,33,54,.34) 100%)}
.photo-caption{position:absolute;z-index:2;left:24px;bottom:22px;background:rgba(255,255,255,.84);backdrop-filter:blur(8px);padding:10px 16px;border-radius:999px;font-size:.86rem;color:var(--blue);box-shadow:0 8px 22px rgba(8,36,61,.12)}
.angolino-sections{display:grid;gap:30px;margin:36px 0 76px}
.angolino-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(14,91,138,.12);border-radius:30px;padding:24px;box-shadow:var(--shadow)}
.angolino-card.reverse{grid-template-columns:1.1fr .9fr}
.angolino-card.reverse .angolino-card-visual{order:2}.angolino-card.reverse .angolino-card-copy{order:1}
.angolino-card-visual{min-height:280px;border-radius:22px;display:grid;place-items:center;position:relative;overflow:hidden;color:rgba(255,255,255,.95);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
.veranda-slot{background:
  linear-gradient(145deg,rgba(8,36,61,.06),rgba(8,36,61,.30)),
  url("images/angolino-veranda.jpg") center 48% / cover no-repeat}
.walk-slot{background:
  linear-gradient(145deg,rgba(8,36,61,.04),rgba(8,36,61,.28)),
  url("images/angolino-passeggiate.jpg") center 48% / cover no-repeat}
.video-slot{background:linear-gradient(145deg,#0a3451,#5daac5)}
.youtube-channel-thumb{
  text-decoration:none;
  background:
    linear-gradient(180deg,rgba(7,39,62,.05),rgba(7,39,62,.45)),
    url("images/youtube-channel-thumb.png") center center / cover no-repeat;
  transition:.2s ease;
}
.youtube-channel-thumb:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.youtube-channel-thumb:after{
  content:"▶";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.88);
  color:var(--blue);
  font-size:1.45rem;
  letter-spacing:0;
  text-indent:4px;
  box-shadow:0 14px 30px rgba(8,36,61,.18);
}
.angolino-card-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(8,36,61,.34) 100%)}
.angolino-card-visual span{position:relative;z-index:2;border:1px solid rgba(255,255,255,.65);padding:9px 13px;border-radius:999px;background:rgba(8,36,61,.12)}
.angolino-card-copy{padding:12px 14px}.angolino-card-copy h3{font-size:clamp(1.8rem,4vw,2.8rem);margin:.25em 0 .35em}.angolino-card-copy p{line-height:1.78;font-size:1.04rem}
.angolino-notebook{max-width:880px;margin:0 auto;text-align:center;padding:50px 38px;border-top:1px solid rgba(197,154,89,.42);border-bottom:1px solid rgba(197,154,89,.42)}
.angolino-notebook h2{font-size:clamp(2rem,4vw,3.2rem);margin:.3em 0 .5em}.angolino-notebook>p{max-width:720px;margin:0 auto;line-height:1.8}.notebook-icon{font-size:2rem;color:var(--gold);margin-bottom:12px}.angolino-notebook blockquote{font-size:1.35rem;line-height:1.7;font-style:italic;margin:32px auto 0;max-width:720px;color:var(--blue)}
@media(max-width:820px){.angolino-opening{grid-template-columns:1fr;gap:30px}.angolino-main-visual{min-height:360px}.angolino-card,.angolino-card.reverse{grid-template-columns:1fr}.angolino-card.reverse .angolino-card-visual,.angolino-card.reverse .angolino-card-copy{order:initial}.photo-caption{left:50%;transform:translateX(-50%);white-space:normal;text-align:center;width:max-content;max-width:80%}}

/* ——— Rifinitura generale V6: accessibilità e navigazione ——— */
.skip-link{
  position:fixed;left:16px;top:-80px;z-index:9999;
  background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;
  box-shadow:var(--shadow);transition:top .2s ease;
}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid rgba(197,154,89,.75);outline-offset:4px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .fade-up{opacity:1;transform:none}
}


/* ——— Copertina reale Raccolta Azzurra · V7 ——— */
.book-cover-real{
  margin:0;position:relative;z-index:2;width:100%;max-width:340px;justify-self:center;
  filter:drop-shadow(0 24px 34px rgba(8,36,61,.24));transform:rotate(-.6deg);
}
.book-cover-real img,.raccolta-cover img{
  width:100%;height:auto;border-radius:10px;
}
.story-with-cover{min-height:450px}
.story-cover-row{display:grid;grid-template-columns:132px 1fr;gap:24px;align-items:center;position:relative;z-index:2;margin:18px 0}
.story-cover{width:132px;height:auto;display:block;max-width:100%;border-radius:6px;box-shadow:0 16px 30px rgba(0,0,0,.26);transform:rotate(-1deg)}
.story-cover-row h3{margin-top:0}
.story-cover-row p{margin-bottom:0}
.raccolta-hero{background:linear-gradient(180deg,#dff4fa 0%,#f8fbff 58%,#fffaf2 100%)}
.raccolta-content{padding-top:70px}
.raccolta-layout{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:64px;align-items:start}
.raccolta-cover{margin:0;position:sticky;top:108px;filter:drop-shadow(0 28px 44px rgba(8,36,61,.25))}
.raccolta-copy{max-width:720px}
.raccolta-copy h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;margin:.45em 0 .7em}
.book-cover-quote{margin:30px 0;padding:22px 26px;border-left:3px solid var(--gold);background:rgba(255,250,242,.82);font-size:1.23rem;line-height:1.65;font-style:italic;border-radius:0 16px 16px 0}
.cover-note{margin-top:22px;max-width:620px}
.raccolta-media{padding-top:30px;background:rgba(255,255,255,.3)}
.raccolta-video-placeholder{max-width:620px;padding:22px}
.raccolta-video-feature{
  max-width:860px;
  padding:22px;
}
.video-embed{
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(145deg,#0a3451,#67b7d3);
  box-shadow:0 18px 34px rgba(8,36,61,.16);
}
.video-embed iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:820px){
  .story-cover-row{grid-template-columns:100px 1fr;gap:18px}
  .story-cover{width:100px}
  .raccolta-layout{grid-template-columns:1fr;gap:36px}
  .raccolta-cover{position:relative;top:auto;width:min(330px,78%);margin:0 auto}
}
@media(max-width:520px){
  .story-cover-row{grid-template-columns:1fr}
  .story-cover{width:110px}
}

/* V10 preview · Home banner from Violet's original photograph */
.hero-home{
  background:
    linear-gradient(180deg,rgba(247,252,255,.50) 0%,rgba(245,251,253,.34) 43%,rgba(230,244,249,.42) 100%),
    url("images/home-banner-vivid.png") center 47% / cover no-repeat;
}
.hero-home:before{
  content:"";
  position:absolute;
  inset:0;
  height:auto;
  border-radius:0;
  background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.05) 48%,rgba(255,255,255,.15));
  box-shadow:none;
  animation:none;
}
.hero-home .hero-inner{
  text-shadow:0 1px 16px rgba(255,255,255,.65);
}
.youtube-thumb{cursor:pointer;transition:.2s ease}
.youtube-thumb:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
