:root{--black:#08090b;--paper:#f5f1e8;--red:#f20d46;--yellow:#ffe000;--blue:#78e6ef;--ink:#111;--max:1240px;--font-body:'Manrope',Arial,Helvetica,sans-serif;--font-display:'Covered By Your Grace',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink)}.site-header{height:76px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:32px;background:var(--black);color:#fff;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;width:178px;flex:0 0 178px}.brand img{display:block;width:100%;height:auto}.main-nav{flex:1}.main-nav ul{display:flex;justify-content:center;gap:24px;list-style:none;margin:0;padding:0}.main-nav a{color:#fff;text-decoration:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.button{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:15px 22px;border-radius:999px;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.02em}.button--small{padding:11px 17px}.hero{min-height:calc(100vh - 76px);position:relative;display:flex;justify-content:flex-end;align-items:center;color:#fff;background-color:#0a0a0c;background-image:url('../images/coccorock-hero-stage.png');background-size:cover;background-repeat:no-repeat;background-position:center 2px;overflow:hidden}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.22) 50%,rgba(0,0,0,.88) 100%)}.hero__content{position:relative;z-index:2;width:min(52%,720px);margin-right:max(28px,calc((100vw - var(--max))/2));padding:72px 0}.hero__logo{display:block;width:min(378px,72%);height:auto;margin:0 0 18px}.display-title{font-family:var(--font-display);font-weight:400;font-size:clamp(42px,4.25vw,68px);line-height:.92;letter-spacing:.005em;margin:0;color:var(--yellow);text-wrap:balance}.display-title span{display:block;white-space:nowrap}.hero__brush{display:block;width:210px;height:9px;margin:12px 0 18px;background:var(--yellow);clip-path:polygon(0 35%,95% 0,100% 60%,4% 100%);transform:rotate(-2deg)}.hero__intro{max-width:490px;font-size:clamp(16px,1.35vw,20px);font-weight:500;line-height:1.55;margin:0 0 22px;color:#fff}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:800;text-transform:uppercase}.section h2{font-size:clamp(44px,6vw,92px);line-height:.92;margin:14px 0 24px;letter-spacing:-.045em}.section{padding:90px max(28px,calc((100vw - var(--max))/2))}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.section p{font-size:18px;line-height:1.55;max-width:620px}.placeholder{min-height:420px;background:#ddd;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:.15em}.music{background:var(--blue)}.tales{background:#082a4a;color:#fff}.live{background:#fff}.history{background:#0c0c0e;color:#fff}.history__rail{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.history__rail span{border:1px solid #555;padding:12px 15px}.project{background:#f0ece2}.news{background:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.cards>div,.posts article{min-height:220px;background:rgba(255,255,255,.75);padding:24px;font-weight:900}.tales .cards>div{background:rgba(255,255,255,.08)}.posts article{border:1px solid #ddd}.posts .thumb img{width:100%;height:180px;object-fit:cover}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;background:#f6f2e9}.placeholder--character{min-height:500px;background:transparent;border:2px dashed #ccc}.text-link{color:inherit;font-weight:800}.site-footer{padding:30px max(28px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;background:var(--black);color:#fff}@media(max-width:900px){.site-header .main-nav{display:none}.site-header{gap:12px}.site-header .button{margin-left:auto}.brand{width:150px;flex-basis:150px}.hero{min-height:780px;align-items:flex-end;background-position:38% 76px}.hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.28) 52%,rgba(0,0,0,.92) 83%)}.hero__content{width:100%;margin:0;padding:330px 28px 58px}.hero__logo{width:min(300px,72%)}.display-title{font-size:clamp(44px,12vw,67px)}.split,.contact{grid-template-columns:1fr}.section{padding:65px 28px}.cards{grid-template-columns:1fr}.section h2{font-size:48px}.placeholder{min-height:300px}}@media(max-width:520px){.site-header{height:68px}.brand{width:132px;flex-basis:132px}.button--small{font-size:10px;padding:10px 13px}.hero{min-height:720px;background-position:38% 68px}.hero__content{padding:320px 22px 44px}.hero__logo{width:250px}.hero__brush{width:150px}.hero__intro{font-size:16px}}


/* SECTION 2 — faithful to approved horizontal mockup */
.story-band{background:#f7f4ed;color:#101010;padding:34px max(28px,calc((100vw - var(--max))/2));overflow:hidden}
.story-band__inner{max-width:var(--max);min-height:365px;margin:0 auto;display:grid;grid-template-columns:31% 47% 22%;align-items:center;gap:0}
.story-band__copy{align-self:center;padding-right:34px}
.story-band__copy .eyebrow{margin:0 0 10px;color:#65615b;font-size:12px;letter-spacing:.13em;font-weight:800}
.story-band__title{font-family:var(--font-display);font-weight:400;font-size:clamp(45px,3.25vw,61px);line-height:.88;margin:0 0 24px;letter-spacing:.005em}
.story-band__copy p{font-size:15px;line-height:1.34;margin:0 0 20px;max-width:390px}
.story-band__copy strong{font-weight:800}
.story-band__button{display:inline-flex;align-items:center;gap:20px;background:#09090b;color:#fff;text-decoration:none;border-radius:999px;padding:15px 23px;font-size:12px;font-weight:800;letter-spacing:.01em}
.story-band__button span{font-size:20px;line-height:.7}
.story-band__photos{height:330px;position:relative}
.story-band__photo{position:absolute;margin:0;background:#fff;padding:8px;box-shadow:0 7px 18px rgba(0,0,0,.15)}
.story-band__photo img{display:block;width:100%;height:100%;object-fit:cover}
.story-band__photo--egg{width:58%;height:294px;left:1%;top:19px;transform:rotate(-3.5deg);z-index:1}
.story-band__photo--cocco{width:40%;height:300px;right:3%;top:8px;transform:rotate(4deg);z-index:2}
.story-band__note{height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:8px}
.story-band__paint{position:relative;width:190px;min-height:155px;display:flex;align-items:center;justify-content:center;transform:rotate(-5deg)}
.story-band__paint:before{content:"";position:absolute;inset:8px -4px 4px;background:#ffd923;clip-path:polygon(3% 7%,96% 0,100% 91%,4% 100%,0 18%);transform:skewY(-2deg)}
.story-band__paint span{position:relative;z-index:1;font-family:var(--font-display);font-size:35px;line-height:.9;text-align:left;color:#111;transform:rotate(1deg)}
.story-band__crown{display:block;font-family:Arial,sans-serif;font-size:63px;line-height:.8;margin-top:13px;transform:rotate(-7deg);color:#111}

@media(max-width:1050px){
 .story-band__inner{grid-template-columns:36% 64%;min-height:auto}
 .story-band__note{grid-column:1/-1;height:auto;flex-direction:row;gap:20px;justify-content:flex-end;margin-top:-25px}
 .story-band__paint{width:180px;min-height:125px}
 .story-band__paint span{font-size:30px}
 .story-band__crown{font-size:52px;margin:0 25px 0 0}
}
@media(max-width:720px){
 .story-band{padding:58px 20px}
 .story-band__inner{display:block}
 .story-band__copy{padding:0}
 .story-band__title{font-family:var(--font-display);font-weight:400;font-size:clamp(45px,3.25vw,61px);line-height:.88;margin:0 0 24px;letter-spacing:.005em}
 .story-band__copy p{font-size:16px}
 .story-band__photos{height:400px;margin-top:38px}
 .story-band__photo--egg{width:62%;height:340px;left:-4%;top:25px}
 .story-band__photo--cocco{width:48%;height:350px;right:-3%;top:0}
 .story-band__note{margin-top:-15px;justify-content:center}
}

.story-band__title span{display:block;white-space:nowrap}

/* Il post-it usa lo stesso Covered By Your Grace del titolo */
.story-band__paint span{font-family:var(--font-display)!important;font-weight:400}

/* Corona originale estratta dal logo CoccoRock */
.story-band__crown{display:block;width:70px;height:auto;object-fit:contain;margin-top:13px;transform:rotate(-7deg)}
@media(max-width:1050px){.story-band__crown{width:58px;margin:0 25px 0 0}}
@media(max-width:720px){.story-band__title{font-size:52px}.story-band__crown{width:55px}}

/* v0.4.3 */
.story-band__paint span{font-family:var(--font-display)!important;font-weight:400!important;font-style:normal!important;text-transform:none!important;letter-spacing:.005em!important}
.story-band__crown{filter:brightness(0) saturate(100%)}

/* v0.4.4 — center post-it lettering */
.story-band__paint span{
  width:100%;
  text-align:center!important;
}

/* SECTION — MUSICA */
.music-band{position:relative;overflow:hidden;background:linear-gradient(115deg,#8ceef1 0%,#c7fbf3 48%,#8be8ef 100%);color:#111;padding:56px max(28px,calc((100vw - var(--max))/2))}
.music-band:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,238,54,.26);filter:blur(35px);right:19%;top:-290px}
.music-band__inner{position:relative;z-index:1;max-width:var(--max);min-height:350px;margin:0 auto;display:grid;grid-template-columns:29% 71%;align-items:center}
.music-band__copy{padding-right:38px}
.music-band__title{font-family:var(--font-display);font-size:clamp(54px,4.2vw,76px);font-weight:400;line-height:.84;margin:0 0 22px}
.music-band__copy p{max-width:340px;font-size:16px;line-height:1.42;margin:0 0 22px}
.music-band__button{background:#f20b45;color:#fff;gap:18px}
.music-band__button span{font-size:20px}
.music-stack{position:relative;height:350px}
.music-cover{position:absolute;display:block;background:#fff;padding:6px;box-shadow:0 10px 24px rgba(8,48,60,.18);text-decoration:none}
.music-cover img{display:block;width:100%;height:100%;object-fit:cover}
.music-cover--fruit{width:32%;height:210px;left:4%;top:82px;transform:rotate(-5deg);z-index:1}
.music-cover--virus{width:43%;height:270px;left:30%;top:35px;transform:rotate(.5deg);z-index:3}
.music-cover--chichi{width:31%;height:210px;right:0;top:75px;transform:rotate(5deg);z-index:2}
.music-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.76);color:#fff;font-size:17px;padding-left:3px}
.music-note{position:absolute;font-family:Arial,sans-serif;font-weight:800;line-height:1;z-index:5}
.music-note--one{left:1%;top:30px;font-size:44px;color:#ffd817;transform:rotate(-10deg)}
.music-note--two{right:4%;top:17px;font-size:39px;color:#f20b68;transform:rotate(12deg)}
.music-note--three{left:20%;bottom:5px;font-size:38px;color:#f20b68;transform:rotate(-16deg)}
@media(max-width:950px){
 .music-band__inner{grid-template-columns:1fr}
 .music-band__copy{padding:0 0 20px;max-width:560px}
 .music-stack{height:360px}
}
@media(max-width:620px){
 .music-band{padding:62px 20px}
 .music-band__title{font-size:60px}
 .music-stack{height:310px;margin-top:20px}
 .music-cover--fruit{width:43%;height:165px;left:-3%;top:92px}
 .music-cover--virus{width:57%;height:210px;left:22%;top:40px}
 .music-cover--chichi{width:42%;height:165px;right:-8%;top:95px}
}

/* v0.5.1 — music section refinements */
.music-band__title span{display:block;white-space:nowrap}

/* v0.5.2 — music section micro-adjustments */
.music-note--one{left:8%}
.music-cover--virus{
  width:39%;
  height:250px;
  left:32%;
  top:45px;
}

/* v0.5.3 — CONTROFIABE + DAL VIVO */
.fables-live-wrap{position:relative;background:#f7f4ed}
.fables-band{position:relative;z-index:3;background:linear-gradient(118deg,#061b38 0%,#0a3c68 58%,#0a294d 100%);color:#fff;padding:42px max(28px,calc((100vw - var(--max))/2)) 76px;overflow:hidden;clip-path:ellipse(92% 70% at 50% 28%)}
.fables-band__inner{position:relative;max-width:var(--max);min-height:300px;margin:0 auto;display:grid;grid-template-columns:24% 27% 49%;align-items:center}
.fables-reader{align-self:end;height:270px;overflow:hidden}
.fables-reader img{width:100%;height:100%;object-fit:cover;object-position:center}
.fables-copy{padding:0 26px 8px 18px}
.fables-copy h2{font-family:var(--font-display);font-size:clamp(44px,3.3vw,62px);font-weight:400;line-height:.87;margin:0 0 18px}
.fables-copy h2 span{color:#ffd723}
.fables-copy p{font-size:14px;line-height:1.4;margin:0 0 20px;max-width:330px}
.fables-button{display:inline-flex;align-items:center;gap:18px;background:#ffd723;color:#111;text-decoration:none;text-transform:uppercase;border-radius:999px;padding:15px 22px;font-size:12px;font-weight:800}
.fables-button span{font-size:20px}
.fables-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center;padding-left:14px}
.fable-card{display:block;background:#071a32;border-radius:5px;padding:7px 7px 13px;color:#fff;text-decoration:none;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.fable-card img{display:block;width:100%;aspect-ratio:1.46/1;object-fit:cover;border-radius:3px}
.fable-card strong{display:block;font-family:var(--font-display);font-weight:400;font-size:22px;line-height:.88;margin-top:10px}
.fable-card--one{transform:rotate(-1deg)}
.fable-card--two{transform:translateY(-7px) rotate(.7deg)}
.fable-card--three{transform:rotate(1.5deg)}
.fables-star{position:absolute;color:#ffd723;opacity:.65}
.fables-star--1{left:46%;top:8px;font-size:18px}
.fables-star--2{right:3%;top:16px;font-size:14px}
.fables-star--3{left:31%;bottom:28px;font-size:12px}

.live-band{position:relative;margin-top:-94px;min-height:390px;background:#f7f4ed;overflow:hidden}
.live-photo{position:absolute;z-index:0;left:31%;right:0;top:0;bottom:0;background-image:linear-gradient(90deg,rgba(247,244,237,.98) 0%,rgba(247,244,237,.35) 17%,rgba(247,244,237,0) 35%),url('../images/dal-vivo-draft.jpg');background-size:cover;background-position:center}
.live-band__inner{position:relative;z-index:2;max-width:var(--max);min-height:390px;margin:0 auto;display:grid;grid-template-columns:34% 1fr 29%;align-items:center;padding:86px 0 26px}
.live-copy{grid-column:1;padding-right:38px}
.live-copy h2{font-family:var(--font-display);font-size:clamp(60px,5vw,86px);font-weight:400;line-height:.8;margin:0 0 22px}
.live-copy p{font-size:15px;line-height:1.42;margin:0 0 22px;max-width:365px}
.live-button{display:inline-flex;align-items:center;gap:22px;background:#f20b45;color:#fff;text-decoration:none;text-transform:uppercase;border-radius:999px;padding:14px 22px;font-size:12px;font-weight:800;line-height:1.15}
.live-button span{font-size:21px}
.live-note{grid-column:3;justify-self:end;width:245px;background:#ffd723;padding:25px 24px 22px;transform:rotate(-3deg);box-shadow:0 8px 16px rgba(0,0,0,.18)}
.live-note ul{list-style:none;margin:0;padding:0}
.live-note li{position:relative;padding-left:29px;margin:0 0 13px;font-family:var(--font-display);font-size:22px;line-height:.95}
.live-note li:last-child{margin-bottom:0}
.live-note li:before{content:"✓";position:absolute;left:0;top:-3px;font-family:Arial,sans-serif;font-size:24px;font-weight:900}

@media(max-width:980px){
 .fables-band{clip-path:none;padding-bottom:44px}
 .fables-band__inner{grid-template-columns:28% 1fr}
 .fables-cards{grid-column:1/-1;padding:30px 0 0}
 .live-band{margin-top:0}
 .live-band__inner{padding:50px 28px;grid-template-columns:45% 1fr}
 .live-note{grid-column:2}
}
@media(max-width:650px){
 .fables-band{padding:45px 20px}
 .fables-band__inner{display:block}
 .fables-reader{height:220px;margin-bottom:25px}
 .fables-copy{padding:0}
 .fables-cards{grid-template-columns:1fr;gap:15px}
 .live-photo{left:0;opacity:.35}
 .live-band__inner{display:block;padding:55px 20px}
 .live-copy{padding:0}
 .live-note{margin:35px 0 0 auto}
}


/* v0.5.4 — Controfiabe as full background + HTML/CSS card titles; new Dal vivo background */
.fables-band{
  background-image:linear-gradient(90deg,rgba(2,20,44,.02),rgba(2,20,44,.04)),url('../images/controfiabe-bg.png');
  background-size:cover;
  background-position:center;
  padding-top:44px;
  padding-bottom:82px;
}
.fables-band__inner{grid-template-columns:28% 25% 47%;min-height:300px}
.fables-copy{grid-column:2;padding:0 24px 8px 0}
.fables-cards{grid-column:3;padding-left:10px;gap:16px}
.fable-card{position:relative;overflow:hidden;padding:0;border:5px solid rgba(255,255,255,.9);border-radius:7px;background:#0a284b;aspect-ratio:1.32/1}
.fable-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.fable-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,15,35,.08) 25%,rgba(1,15,35,.72) 100%)}
.fable-card strong{position:absolute;z-index:2;left:8px;right:8px;bottom:12px;margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.55vw,28px);line-height:.82;text-shadow:0 2px 5px rgba(0,0,0,.5)}
.fable-card strong span{display:block}
.fable-card--one strong{color:#ff4b59;transform:rotate(-3deg)}
.fable-card--one strong span:first-child{color:#fff}
.fable-card--two strong{color:#ff86bf;transform:rotate(2deg)}
.fable-card--two strong span:first-child{color:#fff}
.fable-card--three strong{color:#ffd723;transform:rotate(-2deg);bottom:18px}
.fables-star{display:none}

.live-photo{left:0;background-image:url('../images/dal-vivo-bg.png');background-size:cover;background-position:center}
.live-band:before{content:"";position:absolute;z-index:1;left:0;top:0;bottom:0;width:39%;background:#f7f4ed;clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%)}
.live-band__inner{grid-template-columns:34% 1fr 29%}
.live-copy{position:relative;z-index:3}
.live-note{position:relative;z-index:3}

@media(max-width:980px){
 .fables-band__inner{grid-template-columns:1fr 1fr}
 .fables-copy{grid-column:1;padding-left:20px}
 .fables-cards{grid-column:1/-1}
 .live-band:before{width:52%}
}
@media(max-width:650px){
 .fables-band{background-position:24% center}
 .fables-copy{padding:250px 0 0}
 .fables-cards{grid-template-columns:1fr}
 .live-band:before{width:100%;opacity:.9;clip-path:none}
}

/* v0.5.5 — background framing corrections only */

/* Controfiabe: show more of CoccoRock/book while preserving the wide night background */
.fables-band{
  background-size:cover;
  background-position:left center;
}

/* Dal vivo: fit the generated background so CoccoRock remains fully visible */
.live-photo{
  background-size:auto 100%;
  background-repeat:no-repeat;
  background-position:center center;
  background-color:#e7d6b7;
}

/* On very wide screens let the live image fill horizontally without cropping the mascot */
@media(min-width:1500px){
  .live-photo{
    background-size:cover;
    background-position:center 58%;
  }
}


/* v0.5.6 — panoramic Controfiabe + split Dal vivo layout */

/* New extra-wide source image: keep the full section filled while preserving
   the rooster/book on the left and the wide star field on the right. */
.fables-band{
  background-image:url('../images/controfiabe-bg.png');
  background-size:cover;
  background-position:left center;
  background-repeat:no-repeat;
}

/* Dal vivo: the photo belongs only to the right-hand photographic area.
   The cream arrow is now a true left column rather than an overlay on the image. */
.live-band{
  background:#f7f4ed;
}
.live-photo{
  left:34%;
  right:0;
  top:0;
  bottom:0;
  background-image:url('../images/dal-vivo-bg.png');
  background-size:contain;
  background-position:left center;
  background-repeat:no-repeat;
  background-color:#d9c7a7;
}
.live-band:before{
  width:39%;
}

/* Keep the note over the photographic side. */
.live-note{
  grid-column:3;
}

@media(max-width:980px){
  .live-photo{
    left:45%;
    background-size:cover;
    background-position:center;
  }
  .live-band:before{
    width:52%;
  }
}
@media(max-width:650px){
  .live-photo{
    left:0;
    background-size:cover;
    background-position:center;
    opacity:.35;
  }
}


/* v0.5.7 — approved new panoramic assets */

/* CONTROFIABE: new extra-wide background */
.fables-band{
  background-image:url('../images/controfiabe-bg-v057.png');
  background-size:cover;
  background-position:left center;
  background-repeat:no-repeat;
}

/* Keep "Le Controfiabe" on one line; "di CoccoRock" remains the second line. */
.fables-copy h2{
  font-size:clamp(41px,3vw,57px);
  white-space:nowrap;
}
.fables-copy h2 span{
  display:block;
  white-space:nowrap;
}

/* DAL VIVO: image belongs only to the right photographic area.
   New wider asset fills that area without the empty beige strip. */
.live-photo{
  left:34%;
  right:0;
  top:0;
  bottom:0;
  background-image:url('../images/dal-vivo-bg-v057.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:transparent;
}

/* Preserve the approved white arrow panel and HTML/CSS note. */
.live-band:before{
  width:39%;
}

@media(max-width:980px){
  .fables-copy h2{
    white-space:normal;
  }
  .fables-copy h2 span{
    white-space:normal;
  }
  .live-photo{
    left:45%;
    background-size:cover;
    background-position:center center;
  }
}
@media(max-width:650px){
  .live-photo{
    left:0;
    background-position:center center;
  }
}


/* v0.5.8 — Dal vivo panel fix + Anche in TV */

/* Extend the approved white arrow panel through the full height of Dal vivo. */
.live-band:before{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  bottom:0;
  height:100%;
  background:#f7f4ed;
  clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%);
}

/* ANCHE IN TV */
.tv-band{
  min-height:315px;
  display:grid;
  grid-template-columns:51% 49%;
  background:#080a0e;
  color:#fff;
  border-top:5px solid #f7f4ed;
  overflow:hidden;
}
.tv-band__media{
  min-height:315px;
  position:relative;
  overflow:hidden;
}
.tv-band__media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,10,14,0) 64%,#080a0e 100%);
}
.tv-band__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.tv-band__content{
  max-width:760px;
  width:100%;
  display:grid;
  grid-template-columns:62% 38%;
  align-items:center;
  gap:28px;
  padding:34px 38px 34px 28px;
}
.tv-band__copy h2{
  font-family:var(--font-display);
  font-size:clamp(48px,4vw,72px);
  font-weight:400;
  line-height:.85;
  margin:0 0 20px;
  white-space:nowrap;
}
.tv-band__copy h2 span{color:#f20b45}
.tv-band__copy p{
  max-width:440px;
  margin:0 0 23px;
  font-size:15px;
  line-height:1.42;
  color:#e9e9e9;
}
.tv-band__button{
  display:inline-flex;
  align-items:center;
  gap:22px;
  padding:14px 22px;
  background:#fff;
  color:#101010;
  border-radius:999px;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.tv-band__button span{font-size:20px}
.tv-band__list{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:28px;
}
.tv-band__list ul{list-style:none;margin:0;padding:0}
.tv-band__list li{
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.tv-band__list li:last-child{border-bottom:0}
.tv-band__list a{color:#fff;text-decoration:none}

@media(max-width:980px){
  .tv-band{grid-template-columns:45% 55%}
  .tv-band__content{grid-template-columns:1fr;padding:30px}
  .tv-band__list{border-left:0;border-top:1px solid rgba(255,255,255,.24);padding:18px 0 0}
}
@media(max-width:650px){
  .tv-band{display:block}
  .tv-band__media{min-height:240px}
  .tv-band__content{display:block;padding:32px 20px}
  .tv-band__copy h2{white-space:normal}
  .tv-band__list{margin-top:28px}
}


/* v0.5.9 — Dal vivo closure + compact split Anche in TV */

/* DAL VIVO: make the white panel a true full-height arrow, with no visible
   vertical closure before the point and no separator before the next section. */
.live-band{
  overflow:hidden;
  border-bottom:0 !important;
  margin-bottom:0 !important;
}
.live-band:before{
  left:0;
  top:0;
  bottom:0;
  width:39%;
  height:auto;
  background:#f7f4ed;
  clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);
}
.live-band__inner{
  position:relative;
  z-index:3;
}
.live-photo{
  top:0;
  bottom:0;
}

/* Remove the light horizontal separator between Dal vivo and Anche in TV. */
.tv-band{
  border-top:0 !important;
  margin-top:0 !important;
}

/* ANCHE IN TV: compact two-part banner.
   Keep the complete original StraFactor frame visible and remove the old fade. */
.tv-band{
  min-height:0;
  height:clamp(245px,18vw,300px);
  display:grid;
  grid-template-columns:48% 52%;
  background:#080a0e;
  color:#fff;
  overflow:hidden;
  position:relative;
}

.tv-band__media{
  min-height:0;
  height:100%;
  position:relative;
  overflow:hidden;
  background:#080a0e;
  z-index:1;
}

/* No black gradient over CoccoRock. */
.tv-band__media:after{
  content:"";
  position:absolute;
  z-index:3;
  top:-2%;
  right:-3px;
  width:6px;
  height:104%;
  background:#fff;
  transform:skewX(-5deg);
  transform-origin:center;
  pointer-events:none;
}

.tv-band__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  background:#080a0e;
}

/* Text starts immediately after the clean diagonal cut. */
.tv-band__content{
  max-width:none;
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(190px,.85fr);
  align-items:center;
  gap:30px;
  padding:25px 9% 25px 42px;
  background:#080a0e;
}

.tv-band__copy h2{
  font-size:clamp(44px,3.3vw,64px);
  margin:0 0 14px;
}
.tv-band__copy p{
  margin:0 0 18px;
  max-width:450px;
  font-size:14px;
  line-height:1.4;
}
.tv-band__button{
  padding:12px 21px;
}
.tv-band__list{
  padding-left:26px;
}
.tv-band__list li{
  padding:7px 0;
  font-size:12px;
}

@media(max-width:980px){
  .tv-band{
    height:auto;
    min-height:260px;
    grid-template-columns:46% 54%;
  }
  .tv-band__content{
    height:auto;
    grid-template-columns:1fr;
    gap:15px;
    padding:25px 28px;
  }
  .tv-band__list{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.24);
    padding:12px 0 0;
  }
}

@media(max-width:650px){
  .tv-band{
    display:block;
    height:auto;
  }
  .tv-band__media{
    height:auto;
    aspect-ratio:16/9;
  }
  .tv-band__media:after{
    top:auto;
    right:0;
    bottom:-2px;
    width:100%;
    height:4px;
    transform:none;
  }
  .tv-band__media img{
    object-fit:contain;
  }
  .tv-band__content{
    display:block;
    padding:28px 20px;
  }
}


/* v0.6.0 — final geometry for Dal vivo + Anche in TV */

/* DAL VIVO
   The cream panel is one large arrow: its right edge is made only by the
   two diagonals meeting exactly at mid-height. No vertical closing segment. */
.live-band{
  position:relative;
  overflow:hidden;
}
.live-band:before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:39%;
  height:100%;
  background:#f7f4ed;
  clip-path:polygon(
    0 0,
    84% 0,
    100% 50%,
    84% 100%,
    0 100%
  );
}
.live-copy{
  position:relative;
  z-index:4;
}

/* ANCHE IN TV
   Preserve the ORIGINAL uploaded XtraFactor frame unchanged.
   It is positioned flush left; after its right edge there is only black. */
.tv-band{
  position:relative;
  display:grid;
  grid-template-columns:46% 54%;
  height:clamp(245px,18vw,300px);
  min-height:0;
  margin:0;
  border:0 !important;
  background:#080a0e;
  overflow:hidden;
}

.tv-band__media{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#080a0e;
}

/* The image itself is not altered, regenerated or overlaid.
   Scale it as one intact frame and anchor it to the left. */
.tv-band__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
  margin:0;
  padding:0;
  background:#080a0e;
}

/* Single white diagonal exactly at the photo/text boundary. */
.tv-band__media:after{
  content:"";
  position:absolute;
  z-index:5;
  top:-3%;
  right:-3px;
  width:5px;
  height:106%;
  background:#fff;
  transform:skewX(-8deg);
  transform-origin:center;
  pointer-events:none;
}

/* No image, gradient or spill beyond the divider. */
.tv-band__content{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  background:#080a0e;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(190px,.85fr);
  align-items:center;
  gap:30px;
  padding:25px 9% 25px 42px;
}

@media(max-width:980px){
  .tv-band{
    grid-template-columns:46% 54%;
    height:auto;
    min-height:260px;
  }
  .tv-band__content{
    height:auto;
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .tv-band{
    display:block;
    height:auto;
  }
  .tv-band__media{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
  }
  .tv-band__media:after{
    top:auto;
    right:0;
    bottom:-2px;
    width:100%;
    height:4px;
    transform:none;
  }
  .tv-band__media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:left center;
  }
}

/* v0.6.1 — rebuilt geometry, no inherited divider/letterbox behavior */

/* DAL VIVO: photo runs underneath the whole band; the cream shape alone creates
   the arrow, so no vertical photo edge can appear behind its diagonals. */
.live-band{
  background:#f7f4ed;
  border:0 !important;
  margin-bottom:0 !important;
}
.live-photo{
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  background-size:cover !important;
  background-position:center center !important;
}
.live-band:before{
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:39% !important;
  height:100% !important;
  background:#f7f4ed !important;
  clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%) !important;
}

/* ANCHE IN TV: the original 880×494 frame determines the photo width from
   the section height. There is no oversized media column and therefore no
   empty black area between photo and divider. */
.tv-band{
  --tv-h:clamp(245px,18vw,300px);
  --tv-photo-w:calc(var(--tv-h) * 1.7813765);
  display:grid !important;
  grid-template-columns:var(--tv-photo-w) minmax(0,1fr) !important;
  width:100%;
  height:var(--tv-h) !important;
  min-height:0 !important;
  background:#080a0e !important;
  border:0 !important;
  margin:0 !important;
  overflow:hidden;
}
.tv-band__media{
  position:relative !important;
  width:var(--tv-photo-w) !important;
  height:var(--tv-h) !important;
  min-height:0 !important;
  overflow:visible !important;
  background:transparent !important;
}
.tv-band__media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}
.tv-band__media:after{
  content:"" !important;
  position:absolute !important;
  z-index:10 !important;
  top:-8px !important;
  bottom:-8px !important;
  right:-4px !important;
  width:5px !important;
  height:auto !important;
  background:#fff !important;
  transform:rotate(4deg) !important;
  transform-origin:center !important;
  pointer-events:none !important;
}
.tv-band__content{
  width:100% !important;
  height:var(--tv-h) !important;
  min-width:0;
  max-width:none !important;
  margin:0 !important;
  padding:25px 5.5% 25px 52px !important;
  background:#080a0e !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr) !important;
  align-items:center !important;
  gap:34px !important;
}

@media(max-width:980px){
  .live-photo{left:0 !important}
  .live-band:before{width:52% !important}
  .tv-band{
    --tv-h:260px;
    --tv-photo-w:calc(var(--tv-h) * 1.7813765);
  }
  .tv-band__content{
    height:var(--tv-h) !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:22px 24px 22px 38px !important;
  }
}
@media(max-width:650px){
  .live-band:before{width:100% !important;opacity:.9;clip-path:none !important}
  .tv-band{
    display:block !important;
    height:auto !important;
  }
  .tv-band__media{
    width:100% !important;
    height:auto !important;
    aspect-ratio:880/494;
  }
  .tv-band__media:after{
    top:auto !important;
    right:0 !important;
    bottom:-2px !important;
    width:100% !important;
    height:4px !important;
    transform:none !important;
  }
  .tv-band__content{
    height:auto !important;
    display:block !important;
    padding:28px 20px !important;
  }
}


/* v0.6.2 — requested final alignment corrections */

/* DAL VIVO
   Keep the approved white arrow, but the photographic asset must begin only
   where the lower diagonal of the arrow ends, rather than underneath the
   entire section. */
.live-band{
  position:relative;
  overflow:hidden;
  background:#f7f4ed;
}

.live-photo{
  position:absolute;
  left:34%;
  right:0;
  top:0;
  bottom:0;
  width:auto;
  height:auto;
  background-image:url('../images/dal-vivo-bg-v057.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:transparent;
  z-index:0;
}

/* True arrow: only two diagonal right edges, meeting at mid-height. */
.live-band:before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:0;
  bottom:0;
  width:39%;
  height:100%;
  background:#f7f4ed;
  clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);
}

.live-band__inner{
  position:relative;
  z-index:3;
}

/* ANCHE IN TV
   Original XtraFactor image unchanged, flush left and filling the full
   section height. Divider belongs to the RIGHT edge of the image. */
.tv-band{
  position:relative;
  display:flex;
  height:clamp(245px,18vw,300px);
  min-height:0;
  margin:0;
  padding:0;
  border:0 !important;
  background:#080a0e;
  overflow:hidden;
}

.tv-band__media{
  position:relative;
  flex:0 0 auto;
  width:auto;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  background:#080a0e;
  z-index:2;
}

.tv-band__media img{
  display:block;
  width:auto;
  height:100%;
  max-width:none;
  object-fit:contain;
  object-position:left center;
  margin:0;
  padding:0;
  background:#080a0e;
}

/* Remove any earlier pseudo-element placement, then draw the divider
   exactly on the image's right edge. */
.tv-band__media:after{
  content:"";
  position:absolute;
  z-index:6;
  top:-3%;
  right:-2px;
  left:auto;
  width:5px;
  height:106%;
  background:#fff;
  transform:skewX(-8deg);
  transform-origin:center;
  pointer-events:none;
}

.tv-band__content{
  position:relative;
  z-index:3;
  flex:1 1 auto;
  width:auto;
  min-width:0;
  height:100%;
  max-width:none;
  margin:0;
  background:#080a0e;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.8fr);
  align-items:center;
  gap:42px;
  padding:24px 4% 24px 7%;
}

/* Move the main TV copy toward the visual centre of the available black area. */
.tv-band__copy{
  justify-self:center;
  width:min(100%,520px);
}

.tv-band__list{
  justify-self:stretch;
}

@media(max-width:980px){
  .live-photo{
    left:40%;
  }

  .tv-band{
    height:auto;
    min-height:260px;
  }

  .tv-band__media{
    height:260px;
  }

  .tv-band__content{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 28px 24px 42px;
  }

  .tv-band__copy{
    justify-self:start;
  }
}

@media(max-width:650px){
  .live-photo{
    left:0;
  }

  .tv-band{
    display:block;
  }

  .tv-band__media{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    overflow:hidden;
  }

  .tv-band__media img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .tv-band__media:after{
    top:auto;
    right:0;
    bottom:-2px;
    width:100%;
    height:4px;
    transform:none;
  }

  .tv-band__content{
    display:block;
    height:auto;
    padding:28px 20px;
  }
}


/* v0.6.3 — exact requested corrections */

/* DAL VIVO: photographic background is 70% of the section width,
   aligned to the right. */
.live-photo{
  position:absolute;
  left:auto !important;
  right:0 !important;
  top:0;
  bottom:0;
  width:70% !important;
  height:100%;
  background-image:url('../images/dal-vivo-bg-v057.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  background-color:transparent;
}

/* ANCHE IN TV:
   remove the divider attached to the photo itself. */
.tv-band__media:after{
  display:none !important;
}

/* Put the white diagonal ABOVE the black text section.
   15px wide, with only a very slight inclination. */
.tv-band__content:before{
  content:"";
  position:absolute;
  z-index:10;
  left:-7px;
  top:-2px;
  bottom:-2px;
  width:15px;
  height:calc(100% + 4px);
  background:#fff;
  transform:skewX(-1deg);
  transform-origin:center;
  pointer-events:none;
}

.tv-band__content{
  position:relative;
  background:#080a0e;
}

@media(max-width:650px){
  .live-photo{
    width:100% !important;
  }

  .tv-band__content:before{
    left:0;
    top:-7px;
    bottom:auto;
    width:100%;
    height:15px;
    transform:skewY(-1deg);
  }
}


/* v0.6.4 — TV divider final correction
   Match the ivory/cream used by the Dal vivo arrow.
   10px wide, -2deg inclination. */
.tv-band__content:before{
  content:"";
  position:absolute;
  z-index:10;
  left:-5px;
  top:-2px;
  bottom:-2px;
  width:10px;
  height:calc(100% + 4px);
  background:#f7f4ed;
  transform:skewX(-2deg);
  transform-origin:center;
  pointer-events:none;
}

@media(max-width:650px){
  .tv-band__content:before{
    left:0;
    top:-5px;
    bottom:auto;
    width:100%;
    height:10px;
    background:#f7f4ed;
    transform:skewY(-2deg);
  }
}


/* v0.6.5 — Un sorriso può fare la differenza */
.smile-band{position:relative;min-height:390px;overflow:hidden;background:#f7f4ed;color:#111}
.smile-band__visual{position:absolute;z-index:0;top:0;right:0;bottom:0;width:72%;background-image:linear-gradient(90deg,#f7f4ed 0%,rgba(247,244,237,.96) 5%,rgba(247,244,237,.35) 19%,rgba(247,244,237,0) 31%),url('../images/sorriso-bg.png');background-size:cover;background-position:center center;background-repeat:no-repeat}
.smile-band__inner{position:relative;z-index:2;width:min(100%,var(--max));min-height:390px;margin:0 auto;padding:44px 28px;display:grid;grid-template-columns:36% 1fr;align-items:center}
.smile-band__copy{position:relative;z-index:3}
.smile-band__copy h2{margin:0 0 17px;font-family:var(--font-display);font-size:clamp(47px,4.1vw,69px);font-weight:400;line-height:.82;letter-spacing:0;text-transform:none}
.smile-band__copy h2 span{color:var(--red)}
.smile-band__copy p{max-width:420px;margin:0 0 21px;font-size:14px;line-height:1.48}
.smile-band__button{display:inline-flex;align-items:center;gap:24px;padding:13px 21px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font-size:11px;font-weight:800}
.smile-band__button span{font-size:18px}
.smile-band__message{justify-self:end;align-self:center;width:280px;margin-right:1%;transform:rotate(-3deg);font-family:var(--font-display);font-weight:400;color:#111}
.smile-band__message p{margin:0;font-size:clamp(32px,2.5vw,45px);line-height:.9}
.smile-band__heart{display:block;margin:0 0 -4px -55px;color:var(--red);font-family:Arial,sans-serif;font-size:78px;line-height:.7;transform:rotate(-12deg)}
@media(max-width:980px){.smile-band__visual{width:74%;opacity:.82}.smile-band__inner{grid-template-columns:44% 1fr}.smile-band__message{width:220px}}
@media(max-width:650px){.smile-band{min-height:650px}.smile-band__visual{top:260px;width:100%;height:390px;opacity:1;background-image:linear-gradient(180deg,#f7f4ed 0%,rgba(247,244,237,.2) 20%,rgba(247,244,237,0) 38%),url('../images/sorriso-bg.png');background-position:38% center}.smile-band__inner{min-height:650px;display:block;padding:34px 22px}.smile-band__copy{max-width:420px}.smile-band__message{position:absolute;right:20px;bottom:30px;width:190px}.smile-band__message p{font-size:30px}}


/* v0.6.6 — hard diagonal split for "Un sorriso" */

/* Keep the approved hospital asset unchanged. Remove the previous fade:
   the photo now occupies the right side with a clean, hard edge. */
.smile-band{
  position:relative;
  overflow:hidden;
  background:#f7f4ed;
}

.smile-band__visual{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  width:72%;
  background-image:url('../images/sorriso-bg.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}

/* Cream panel over the left side, ending with one clean diagonal cut. */
.smile-band:before{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  bottom:0;
  width:40%;
  background:#f7f4ed;
  clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
  pointer-events:none;
}

.smile-band__inner{
  position:relative;
  z-index:2;
  grid-template-columns:36% 1fr;
}

/* Move the handwritten message farther right. */
.smile-band__message{
  position:relative;
  justify-self:end;
  width:300px;
  margin-right:-1%;
  padding-left:72px;
  transform:rotate(-3deg);
}

/* Heart has its own space and no longer overlaps the text. */
.smile-band__heart{
  position:absolute;
  left:0;
  top:2px;
  margin:0;
  font-size:68px;
  line-height:1;
  transform:rotate(-12deg);
}

.smile-band__message p{
  margin:0;
}

@media(max-width:980px){
  .smile-band:before{
    width:48%;
  }
  .smile-band__message{
    width:250px;
    margin-right:0;
    padding-left:62px;
  }
}

@media(max-width:650px){
  .smile-band:before{
    display:none;
  }
  .smile-band__visual{
    top:260px;
    width:100%;
    height:390px;
    background-image:url('../images/sorriso-bg.png');
    background-position:38% center;
  }
  .smile-band__message{
    right:20px;
    width:210px;
    padding-left:52px;
  }
  .smile-band__heart{
    font-size:54px;
  }
}


/* v0.6.7 — readability corrections only */

/* Keep the approved geometry unchanged.
   Constrain the explanatory copy so it remains entirely on the cream panel. */
.smile-band__copy p{
  width:88%;
  max-width:355px;
}

/* Move the right-hand message into the cleaner, brighter part of the corridor
   and give the heart/text more separation for readability. */
.smile-band__message{
  justify-self:end;
  width:330px;
  margin-right:-7%;
  padding-left:82px;
}

.smile-band__heart{
  left:0;
}

.smile-band__message p{
  position:relative;
  z-index:2;
  text-shadow:
    0 1px 0 rgba(255,255,255,.75),
    0 0 10px rgba(255,255,255,.38);
}

@media(max-width:980px){
  .smile-band__copy p{
    width:84%;
    max-width:330px;
  }
  .smile-band__message{
    width:275px;
    margin-right:-2%;
    padding-left:68px;
  }
}

@media(max-width:650px){
  .smile-band__copy p{
    width:100%;
    max-width:420px;
  }
  .smile-band__message{
    width:220px;
    margin-right:0;
    padding-left:58px;
  }
}


/* v0.6.8 — alignment to the approved diagonal geometry */

/* The diagonal geometry itself stays unchanged.
   Move the whole left content block left so there is a clear ~50px safety
   margin between its rightmost content and the diagonal. */
.smile-band__copy{
  position:relative;
  z-index:3;
  transform:translateX(-50px);
}

.smile-band__copy p{
  width:100%;
  max-width:340px;
}

/* The photo now starts from the lower intersection point of the cream
   diagonal instead of being positioned as a right-aligned background.
   With the existing panel geometry (40% wide, lower point at 86%),
   that intersection is 34.4% of the full section width. */
.smile-band__visual{
  left:34.4%;
  right:0;
  width:auto;
  top:0;
  bottom:0;
  background-image:url('../images/sorriso-bg.png');
  background-size:cover;
  background-position:left center;
  background-repeat:no-repeat;
}

/* Keep the approved diagonal unchanged. */
.smile-band:before{
  width:40%;
  clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
}

@media(max-width:980px){
  .smile-band__copy{
    transform:translateX(-24px);
  }
  .smile-band__visual{
    left:41.28%;
    right:0;
    width:auto;
  }
}

@media(max-width:650px){
  .smile-band__copy{
    transform:none;
  }
  .smile-band__visual{
    left:0;
    right:0;
    width:100%;
  }
}

/* v0.6.9 — News & prossimi appuntamenti */
.news-band{position:relative;background:#fff;padding:64px max(28px,calc((100vw - var(--max))/2)) 76px;overflow:hidden}
.news-band__head{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:28px}
.news-band__head h2{font-family:var(--font-display);font-weight:400;line-height:.78;margin:0;color:#090909;transform:rotate(-1deg)}
.news-band__head h2>span{display:block;font-size:clamp(54px,5vw,76px);text-transform:uppercase}
.news-band__head h2 small{display:block;font:400 clamp(26px,2.35vw,38px)/.9 var(--font-display);margin-left:20px;white-space:nowrap}
.news-band__all{margin-top:17px;color:#111;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.news-band__all span{font-size:20px;margin-left:15px}
.news-band__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.news-card{background:#fff;border:1px solid #dedede;border-radius:9px;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.07)}
.news-card__image{position:relative;display:block;height:190px;overflow:hidden;background:#eee}
.news-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .3s ease}
.news-card:hover .news-card__image img{transform:scale(1.025)}
.news-card__date{position:absolute;left:13px;top:13px;background:#fff;color:#111;border-radius:7px;padding:8px 11px;font-size:11px;font-weight:800;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.14)}
.news-card__body{padding:15px 16px 17px}
.news-card__body small{display:block;font-size:10px;font-weight:800;letter-spacing:.03em;margin-bottom:2px}
.news-card__body h3{font-size:17px;line-height:1.18;margin:0 0 5px}
.news-card__body h3 a{color:inherit;text-decoration:none}
.news-card__body p{font-size:12px;line-height:1.35;margin:0;color:#333;max-width:none}
@media(max-width:900px){.news-band{padding:55px 28px 65px}.news-band__head{align-items:flex-end}.news-band__grid{grid-template-columns:1fr}.news-card__image{height:260px}}
@media(max-width:600px){.news-band__head{display:block}.news-band__all{display:inline-block;margin-top:24px}.news-band__head h2 small{white-space:normal}.news-card__image{height:210px}}


/* v0.7.0 — final contact section + footer */
.contact-final{position:relative;background:#f7f4ed;min-height:410px;overflow:visible;border-top:1px solid rgba(0,0,0,.04)}
.contact-final__inner{position:relative;width:min(var(--max),calc(100% - 56px));min-height:410px;margin:0 auto;display:grid;grid-template-columns:1fr 420px 1fr;align-items:center;gap:28px}
.contact-final__copy{position:relative;z-index:3;padding:52px 0 66px}
.contact-final__copy h2{font:400 clamp(48px,4.3vw,70px)/.84 var(--font-display);text-transform:uppercase;margin:0 0 20px;letter-spacing:.005em;transform:rotate(-1deg)}
.contact-final__copy p{font-size:14px;line-height:1.45;margin:0 0 22px;max-width:455px}
.contact-final__actions{display:flex;gap:18px;align-items:center}
.contact-final__button{display:inline-flex;min-width:180px;height:48px;padding:0 22px;align-items:center;justify-content:space-between;border-radius:999px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.02em}
.contact-final__button--mail{background:var(--red);color:#fff}
.contact-final__button--whatsapp{background:transparent;color:#111;border:2px solid #111}
.contact-final__character{position:absolute;z-index:4;left:50%;bottom:-58px;transform:translateX(-50%);width:370px;height:auto;display:block;filter:drop-shadow(0 12px 12px rgba(0,0,0,.18));border-radius:40% 40% 18% 18%}
.contact-final__note{position:relative;z-index:3;justify-self:end;width:285px;font-family:var(--font-display);transform:rotate(-3deg);padding-top:6px}
.contact-final__note p{font-size:34px;line-height:.88;margin:0;color:#111}.contact-final__note strong{font-weight:400;font-size:1.08em}
.contact-final__crown{position:absolute;left:-62px;top:-34px;font-size:68px;color:#ffd900;transform:rotate(-13deg)}
.contact-final__stroke{display:block;width:220px;height:11px;background:var(--red);clip-path:polygon(0 38%,100% 0,97% 62%,5% 100%);margin:10px 0 0 4px;transform:rotate(-2deg)}
.site-footer--final{position:relative;z-index:2;min-height:88px;padding:20px max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:220px 1fr auto;align-items:center;background:#050505;color:#fff}
.site-footer__logo{display:block;width:160px}.site-footer__logo img{display:block;width:100%;height:auto}
.site-footer__social{display:flex;gap:18px;align-items:center}.site-footer__social a,.site-footer__links a{color:#fff;text-decoration:none;font-size:12px;font-weight:700}.site-footer__social a{font-size:18px}
.site-footer__links{display:flex;gap:26px;align-items:center}.site-footer__top{display:grid!important;place-items:center;width:38px;height:38px;border:1px solid #555;border-radius:50%;font-size:18px!important}
@media(max-width:1000px){.contact-final__inner{grid-template-columns:1fr 300px}.contact-final__note{display:none}.contact-final__character{left:auto;right:0;transform:none;width:320px}.contact-final__copy{max-width:520px}.site-footer--final{grid-template-columns:170px 1fr auto}}
@media(max-width:700px){.contact-final{overflow:hidden}.contact-final__inner{width:calc(100% - 44px);display:block;min-height:700px}.contact-final__copy{padding:52px 0 360px}.contact-final__copy h2{font-size:50px}.contact-final__copy p br{display:none}.contact-final__actions{flex-wrap:wrap}.contact-final__character{width:300px;right:50%;transform:translateX(50%);bottom:-42px}.site-footer--final{grid-template-columns:1fr auto;gap:18px}.site-footer__social{display:none}.site-footer__links{gap:14px}.site-footer__links>a:not(.site-footer__top){display:none}}


/* v0.7.1 — final contact fixes */
.contact-final__note{
  position:absolute;
  z-index:3;
  left:auto;
  right:0;
  top:50%;
  width:265px;
  padding-top:0;
  transform:translateY(-50%) rotate(-3deg);
}
.contact-final__crown{
  position:absolute;
  left:-72px;
  top:-42px;
  width:58px;
  height:auto;
  object-fit:contain;
  transform:rotate(-10deg);
}
@media(max-width:1180px){
  .contact-final__note{
    right:0;
    width:235px;
  }
  .contact-final__note p{font-size:30px}
  .contact-final__stroke{width:195px}
}
@media(max-width:1000px){
  .contact-final__note{display:none}
}


/* v0.7.2 — compact final CTA and character overlap into News */
.contact-final{
  min-height:330px;
  height:330px;
  overflow:visible;
}
.contact-final__inner{
  min-height:330px;
  height:330px;
}
.contact-final__copy h2{
  font-size:54px;
  line-height:.90;
  white-space:nowrap;
  margin-bottom:18px;
}
.contact-final__copy{
  align-self:center;
}
.contact-final__character{
  bottom:-38px;
  height:540px;
  max-height:none;
  z-index:4;
}
.site-footer{
  position:relative;
  z-index:2;
}

@media(max-width:1180px){
  .contact-final__copy h2{
    font-size:46px;
  }
  .contact-final__character{
    height:500px;
  }
}
@media(max-width:1000px){
  .contact-final{
    height:auto;
    min-height:410px;
  }
  .contact-final__inner{
    height:auto;
    min-height:410px;
  }
  .contact-final__copy h2{
    white-space:normal;
  }
}


/* v0.7.4 — based on v0.7.2.
   CoccoRock scaled proportionally to 90% and lowered exactly 20px. */
.contact-final__character{
  height:486px !important;   /* 540px × 0.90 */
  width:auto !important;     /* preserve original aspect ratio */
  max-width:none !important;
  bottom:-58px !important;   /* v0.7.2 was -38px */
}

@media(max-width:1180px){
  .contact-final__character{
    height:450px !important; /* 500px × 0.90 */
    width:auto !important;
    bottom:-58px !important;
  }
}

/* v0.7.5 — dedicated mobile composition; desktop untouched */
@media (max-width:767px){
.site-header{height:64px;padding:0 16px;gap:10px}.brand{width:116px;flex-basis:116px}.site-header .button--small{font-size:9px;padding:9px 12px}
.hero{min-height:690px;background-position:39% 64px}.hero__content{padding:315px 20px 40px}.hero__logo{width:225px;margin-bottom:12px}.display-title{font-size:44px;line-height:.88}.display-title span{white-space:normal}.hero__brush{width:145px;margin:10px 0 14px}.hero__intro{font-size:15px;line-height:1.42;margin-bottom:18px}
.story-band{padding:48px 20px 42px}.story-band__title{font-size:49px!important;margin-bottom:18px}.story-band__copy p{font-size:14px;line-height:1.45}.story-band__photos{height:340px;margin-top:34px}.story-band__photo--egg{width:61%;height:292px;left:-5%;top:28px}.story-band__photo--cocco{width:49%;height:302px;right:-2%;top:2px}.story-band__note{margin-top:-5px;gap:8px}.story-band__paint{width:160px;min-height:105px}.story-band__paint span{font-size:27px}.story-band__crown{width:46px!important;margin:0 0 0 3px!important}
.music-band{padding:50px 20px 54px}.music-band__title{font-size:53px;line-height:.86}.music-band__copy p{font-size:14px;line-height:1.45}.music-stack{width:100%;height:285px;margin:26px auto 0;transform:none}.music-cover{width:57%;max-width:none}.music-cover--fruit{left:-2%;top:62px}.music-cover--virus{left:22%;top:22px;z-index:4}.music-cover--chichi{right:-2%;left:auto;top:68px}.music-play{transform:scale(.82)}
.fables-band{padding:48px 20px 56px!important;background-position:25% center!important;clip-path:none!important}.fables-band__inner{display:block!important;min-height:0}.fables-copy{padding:0!important;max-width:330px}.fables-copy h2{font-size:49px;line-height:.86}.fables-copy p{font-size:14px;line-height:1.45}.fables-cards{display:flex!important;gap:14px!important;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;padding:32px 20px 18px 4px!important;margin-right:-20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fables-cards::-webkit-scrollbar{display:none}.fable-card{flex:0 0 82%;scroll-snap-align:start;transform:none!important;padding:7px 7px 12px}.fable-card img{aspect-ratio:16/9}.fable-card strong{font-size:25px}.fables-star{display:none}
.live-band{min-height:620px!important;margin-top:0!important;background:#f7f4ed!important;overflow:hidden}.live-band:before{display:none!important}.live-photo{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:330px!important;opacity:1!important;background-position:center center!important;background-size:cover!important}.live-band__inner{display:block!important;min-height:620px!important;padding:45px 20px 0!important}.live-copy{position:relative;z-index:3;padding:0!important;max-width:330px}.live-copy h2{font-size:58px;margin-bottom:15px}.live-copy p{font-size:14px;line-height:1.45;margin-bottom:17px}.live-note{position:absolute;z-index:4;right:17px;bottom:26px;width:205px;margin:0!important;padding:18px 17px 15px}.live-note li{font-size:18px;margin-bottom:9px;padding-left:23px}.live-note li:before{font-size:19px}
.tv-band{display:flex!important;flex-direction:column!important;min-height:0!important;background:#050505!important}.tv-band__content{order:1;display:block!important;padding:42px 20px 28px!important;min-height:0!important}.tv-band__content:before{display:none!important}.tv-band__copy{max-width:none!important}.tv-band__copy h2{font-size:54px!important;line-height:.86!important;margin-bottom:15px!important}.tv-band__copy p{font-size:14px!important;line-height:1.48!important}.tv-band__list{margin-top:24px!important;padding-top:16px!important}.tv-band__list li{font-size:11px!important;padding:8px 0!important}.tv-band__media{order:2;width:100%!important;min-height:270px!important;height:270px!important;overflow:hidden!important}.tv-band__media:after{display:none!important}.tv-band__media img{position:relative!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 30%!important;transform:none!important}
.smile-band{min-height:680px!important;background:#f7f4ed!important;overflow:hidden!important}.smile-band:before{display:none!important}.smile-band__inner{display:block!important;min-height:680px!important;padding:42px 20px 0!important}.smile-band__copy{transform:none!important;max-width:none!important}.smile-band__copy h2{font-size:50px!important;line-height:.84!important;margin-bottom:17px!important}.smile-band__copy p{width:100%!important;max-width:345px!important;font-size:14px!important;line-height:1.48!important}.smile-band__visual{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:350px!important;opacity:1!important;background-image:url('../images/sorriso-bg.png')!important;background-position:38% center!important;background-size:cover!important}.smile-band__message{position:absolute!important;z-index:4!important;right:18px!important;bottom:24px!important;width:185px!important;margin:0!important;padding:15px 12px 13px 54px!important;background:rgba(247,244,237,.91);transform:rotate(-3deg)!important}.smile-band__message p{font-size:27px!important;line-height:.9!important;text-shadow:none!important}.smile-band__heart{left:10px!important;top:18px!important;font-size:50px!important}
.news-band{padding:50px 20px 58px!important}.news-band__head{display:block!important;margin-bottom:24px}.news-band__head h2>span{font-size:54px}.news-band__head h2 small{font-size:27px;line-height:.88;margin-left:10px;white-space:normal!important}.news-band__all{margin-top:18px!important;font-size:10px}.news-band__grid{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding:0 20px 12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.news-band__grid::-webkit-scrollbar{display:none}.news-card{flex:0 0 86%;scroll-snap-align:start}.news-card__image{height:180px!important}
.contact-final{height:auto!important;min-height:610px!important;overflow:visible!important}.contact-final__inner{width:calc(100% - 40px)!important;height:auto!important;min-height:610px!important;display:block!important}.contact-final__copy{padding:43px 0 330px!important;max-width:none!important}.contact-final__copy h2{font-size:43px!important;line-height:.88!important;white-space:normal!important;margin-bottom:17px!important}.contact-final__copy p{font-size:13px;line-height:1.45;max-width:340px}.contact-final__actions{gap:10px;flex-wrap:nowrap!important}.contact-final__button{min-width:0!important;height:43px;padding:0 16px;font-size:10px}.contact-final__button--mail{width:46%}.contact-final__button--whatsapp{width:54%}.contact-final__character{height:auto!important;width:285px!important;max-width:76vw!important;left:50%!important;right:auto!important;bottom:-58px!important;transform:translateX(-50%)!important}.contact-final__note{display:none!important}
.site-footer--final{min-height:150px!important;padding:66px 20px 22px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:"logo top" "social links"!important;gap:16px 20px!important;align-items:center!important}.site-footer__logo{grid-area:logo;width:132px!important}.site-footer__social{grid-area:social;display:flex!important;gap:16px!important}.site-footer__links{grid-area:links;display:flex!important;gap:12px!important;justify-self:end}.site-footer__links>a:not(.site-footer__top){display:inline!important;font-size:9px!important}.site-footer__top{grid-area:top;justify-self:end}
}
@media (max-width:390px){.display-title{font-size:41px}.story-band__title{font-size:46px!important}.music-band__title{font-size:49px}.fables-copy h2{font-size:46px}.contact-final__copy h2{font-size:40px!important}.contact-final__character{width:265px!important}.site-footer__links>a:not(.site-footer__top){font-size:8px!important}}


/* v0.7.6 — agreed mobile refinements; desktop untouched */
@media (max-width:767px){

  /* Hero: recenter photograph only. */
  .hero{background-position:50% 64px!important}

  /* Story: slightly larger body copy. */
  .story-band__copy p{font-size:15.5px!important;line-height:1.5!important}

  /* Music intentionally unchanged. */

  /* Controfiabe: lower content, right-align copy, reveal reading CoccoRock. */
  .fables-band{
    padding-top:78px!important;
    background-position:left center!important;
  }
  .fables-copy{
    width:61%!important;
    max-width:none!important;
    margin-left:auto!important;
    padding:0 2px 0 0!important;
    text-align:right!important;
  }
  .fables-copy h2{margin-top:0!important;text-align:right!important}
  .fables-copy p{margin-left:auto!important;text-align:right!important}
  .fables-copy .button,.fables-copy a{margin-left:auto}
  .fables-cards{margin-top:26px!important}

  /* Dal vivo: crop centered more strongly on CoccoRock. */
  .live-photo{
    height:350px!important;
    background-position:43% center!important;
    background-size:cover!important;
  }
  .live-band,.live-band__inner{min-height:640px!important}

  /* TV: larger text + single horizontal pipe-separated list. */
  .tv-band__copy p{font-size:15.5px!important;line-height:1.52!important}
  .tv-band__list{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    padding:17px 0 5px!important;
    margin-top:22px!important;
    scrollbar-width:none;
  }
  .tv-band__list::-webkit-scrollbar{display:none}
  .tv-band__list ul{
    display:inline-flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    width:max-content!important;
  }
  .tv-band__list li{
    display:inline-flex!important;
    align-items:center!important;
    border:0!important;
    padding:0!important;
    font-size:11.5px!important;
    line-height:1!important;
  }
  .tv-band__list li:not(:last-child)::after{
    content:"|";
    display:inline-block;
    margin:0 9px;
    opacity:.55;
  }

  /* Smile: larger copy + clear space between CTA and photograph. */
  .smile-band,.smile-band__inner{min-height:735px!important}
  .smile-band__copy p{font-size:15.5px!important;line-height:1.52!important}
  .smile-band__button{margin-bottom:42px!important}
  .smile-band__visual{height:335px!important}

  /* News intentionally unchanged. */

  /* Final: keep approved character; add 30px under CTAs. */
  .contact-final__actions{margin-bottom:30px!important}

  /* Footer: centered logo on mobile. */
  .site-footer--final{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:14px!important;
    padding:66px 20px 22px!important;
    text-align:center!important;
  }
  .site-footer__logo{width:132px!important;margin:0 auto!important}
  .site-footer__social{justify-content:center!important}
  .site-footer__links{justify-content:center!important;justify-self:auto!important}
  .site-footer__top{
    position:absolute!important;
    right:18px!important;
    bottom:22px!important;
  }
}
@media (max-width:390px){
  .story-band__copy p,.tv-band__copy p,.smile-band__copy p{font-size:15px!important}
  .fables-copy{width:64%!important}
}

/* v0.7.7 — dedicated mobile imagery + TV list on two lines */
@media (max-width:767px){
  .hero{
    background-image:url('../images/hero-mobile.png')!important;
    background-size:cover!important;
    background-position:center top!important;
  }

  .fables-band{
    background-image:url('../images/controfiabe-mobile.png')!important;
    background-size:cover!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }

  .live-photo{
    background-image:url('../images/dal-vivo-mobile.png')!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  .tv-band__list{
    overflow:visible!important;
    white-space:normal!important;
  }
  .tv-band__list ul{
    display:flex!important;
    flex-wrap:wrap!important;
    width:100%!important;
    row-gap:9px!important;
  }
  .tv-band__list li{
    white-space:nowrap!important;
  }
  .tv-band__list li:nth-child(3){
    flex-basis:100%!important;
  }
}

/* v0.7.8 — mobile: preserve the supplied Hero/Controfiabe compositions at 100% width.
   Dal vivo intentionally unchanged. */
@media (max-width:767px){
  /* HERO — show the complete supplied mobile composition, no cover crop. */
  .hero{
    min-height:690px!important;
    background-color:#09090b!important;
    background-image:url('../images/hero-mobile.png')!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }
  .hero__shade{
    background:linear-gradient(to bottom,
      rgba(8,9,11,0) 0%,
      rgba(8,9,11,0) 48%,
      rgba(8,9,11,.28) 61%,
      rgba(8,9,11,.82) 78%,
      #08090b 94%)!important;
  }

  /* CONTROFIABE — exact 100%-width artwork, then dissolve into its night blue. */
  .fables-band{
    position:relative!important;
    padding:200px 20px 56px!important;
    background-color:#031c38!important;
    background-image:url('../images/controfiabe-mobile.png')!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important;
  }
  .fables-band:before{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    right:0;
    top:0;
    height:min(150vw,690px);
    pointer-events:none;
    background:linear-gradient(to bottom,
      rgba(3,28,56,0) 0%,
      rgba(3,28,56,0) 68%,
      rgba(3,28,56,.42) 82%,
      #031c38 100%);
  }
  .fables-band__inner{
    position:relative!important;
    z-index:1!important;
  }
  .fables-copy{
    width:64%!important;
    margin-left:auto!important;
    text-align:right!important;
  }
  .fables-copy h2,
  .fables-copy p{
    text-align:right!important;
  }
  .fables-cards{
    margin-top:105px!important;
  }
}

@media (max-width:390px){
  .fables-band{padding-top:190px!important}
  .fables-cards{margin-top:95px!important}
}

/* v0.7.9 — mobile-only refinements after real iPhone check */
@media (max-width:767px){
  /* Hero: extend the black dissolve much farther into the photograph. */
  .hero__shade{
    background:linear-gradient(to bottom,
      rgba(8,9,11,0) 0%,
      rgba(8,9,11,0) 28%,
      rgba(8,9,11,.12) 38%,
      rgba(8,9,11,.38) 50%,
      rgba(8,9,11,.72) 64%,
      rgba(8,9,11,.94) 77%,
      #08090b 88%)!important;
  }

  /* Controfiabe: move the editorial block 150px lower without altering the artwork. */
  .fables-copy{
    transform:translateY(150px)!important;
  }
  /* Keep the cards comfortably below the lowered copy. */
  .fables-cards{
    margin-top:255px!important;
  }
  /* Keep “Le Controfiabe” on one line; “di CoccoRock” stays on line two. */
  .fables-copy h2{
    white-space:nowrap!important;
    font-size:clamp(38px,11.4vw,49px)!important;
  }
  .fables-copy h2 span{
    display:block!important;
    white-space:nowrap!important;
  }
}
@media (max-width:390px){
  .fables-cards{margin-top:245px!important}
  .fables-copy h2{font-size:clamp(37px,11vw,44px)!important}
}

/* v0.7.10 — mobile hero: longer, softer dissolve into black. */
@media (max-width:767px){
  .hero__shade{
    background:linear-gradient(to bottom,
      rgba(8,9,11,0) 0%,
      rgba(8,9,11,0) 15%,
      rgba(8,9,11,.08) 27%,
      rgba(8,9,11,.22) 38%,
      rgba(8,9,11,.43) 49%,
      rgba(8,9,11,.66) 59%,
      rgba(8,9,11,.84) 68%,
      rgba(8,9,11,.96) 77%,
      #08090b 84%,
      #08090b 100%)!important;
  }
}

/* v0.7.11 — exact mobile hero gradient requested. */
@media (max-width:767px){
  .hero__shade{
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,0.10) 60%,
      rgba(0,0,0,0.80) 70%,
      rgba(0,0,0,1) 85%,
      rgba(0,0,0,1) 100%
    )!important;
  }
}


/* v0.7.12 — stronger mobile hero gradient requested. */
@media (max-width:767px){
  .hero__shade {
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,0.50) 60%,
      rgba(0,0,0,0.90) 70%,
      rgba(0,0,0,1) 80%,
      rgba(0,0,0,1) 100%
    ) !important;
  }
}


/* v0.7.13 — mobile hero: gradient geometry tied to the rendered hero-mobile image, not the full hero section.
   hero-mobile.png ratio: 998 × 1252, so at width:100% its rendered height is 125.4509vw. */
@media (max-width:767px){
  .hero__shade{
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:125.4509vw!important;
    background:linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,0.50) 60%,
      rgba(0,0,0,0.90) 70%,
      rgba(0,0,0,1) 80%,
      rgba(0,0,0,1) 100%
    )!important;
  }
}

/* v0.8.0 — internal page system / Chi è CoccoRock */
.inner-page{background:#fff;color:#111;overflow:hidden}.inner-wrap{width:min(1180px,calc(100% - 80px));margin:0 auto}.inner-intro{padding:92px 0 78px;background:#fff}.inner-intro__grid,.inner-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:76px;align-items:center}.inner-kicker{margin:0 0 16px;font:800 12px/1 Manrope,sans-serif;letter-spacing:.14em;color:#e53a2f}.inner-intro h1,.inner-story h2{margin:0 0 28px;font-family:"Covered By Your Grace",cursive;font-weight:400;letter-spacing:-.025em;line-height:.86}.inner-intro h1{font-size:84px}.inner-story h2{font-size:68px}.inner-intro__copy>p:not(.inner-kicker),.inner-story__copy>p:not(.inner-kicker){max-width:650px;margin:0 0 18px;font:400 17px/1.68 Manrope,sans-serif;color:#343434}.inner-lead{font-size:20px!important;line-height:1.58!important;color:#151515!important}.inner-feature,.inner-story__image{margin:0;position:relative}.inner-feature img,.inner-story__image img{display:block;width:100%;height:520px;object-fit:cover}.inner-feature:after,.inner-story__image:after{content:"";position:absolute;inset:12px -12px -12px 12px;border:2px solid #ef4b32;z-index:-1}.inner-gallery{width:min(1320px,calc(100% - 40px));margin:74px auto 0;overflow:hidden}.inner-gallery__track{display:flex;gap:22px;overflow-x:auto;padding:0 0 18px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.inner-gallery__track::-webkit-scrollbar{display:none}.inner-gallery figure{flex:0 0 42%;margin:0;scroll-snap-align:start}.inner-gallery img{display:block;width:100%;height:310px;object-fit:cover}.inner-quote{background:#ef7d23;color:#111;padding:88px 0}.inner-quote__content{text-align:center;max-width:1000px}.inner-quote__mark{display:block;height:52px;font:400 96px/.8 "Covered By Your Grace",cursive;color:#e5392f}.inner-quote blockquote{margin:12px auto 20px;font:400 66px/.95 "Covered By Your Grace",cursive;max-width:920px}.inner-quote p{margin:0;font:800 11px/1 Manrope,sans-serif;letter-spacing:.18em}.inner-story{padding:94px 0 90px;background:#fff}.inner-story__grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.inner-button{display:inline-flex;align-items:center;gap:12px;margin-top:14px;padding:15px 22px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font:800 11px/1 Manrope,sans-serif;letter-spacing:.06em}.inner-button span{font-size:17px}.inner-gallery--final{margin-top:78px}
@media(max-width:767px){.inner-wrap{width:calc(100% - 40px)}.inner-intro{padding:52px 0 48px}.inner-intro__grid,.inner-story__grid{display:block}.inner-kicker{font-size:10px;margin-bottom:12px}.inner-intro h1{font-size:57px;margin-bottom:22px}.inner-story h2{font-size:50px;margin-bottom:22px}.inner-lead{font-size:17px!important;line-height:1.5!important}.inner-intro__copy>p:not(.inner-kicker),.inner-story__copy>p:not(.inner-kicker){font-size:15px;line-height:1.58;margin-bottom:16px}.inner-feature,.inner-story__image{margin-top:34px}.inner-feature img,.inner-story__image img{height:auto;max-height:440px;object-fit:cover}.inner-feature:after,.inner-story__image:after{inset:8px -8px -8px 8px}.inner-gallery{width:calc(100% - 20px);margin:46px 0 0 20px}.inner-gallery__track{gap:12px;padding-right:20px}.inner-gallery figure{flex:0 0 84%}.inner-gallery img{height:220px}.inner-quote{padding:58px 0}.inner-quote__mark{height:38px;font-size:72px}.inner-quote blockquote{font-size:45px;line-height:.92;margin:8px auto 18px}.inner-story{padding:58px 0 64px}.inner-button{margin-top:8px}.inner-gallery--final{margin-top:50px}}

/* v0.8.1 internal page refinements */
.inner-intro__copy>p:not(.inner-kicker),.inner-story__copy>p:not(.inner-kicker),.inner-lead{font:400 17px/1.68 Manrope,sans-serif!important;color:#343434!important}
.inner-feature,.inner-story__image{width:86%;justify-self:center;background:#fff;padding:10px;border:1px solid rgba(0,0,0,.12);box-shadow:0 18px 38px rgba(0,0,0,.18)}
.inner-feature{transform:rotate(4deg)}.inner-story__image{transform:rotate(-4deg)}
.inner-feature img,.inner-story__image img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important}.inner-feature:after,.inner-story__image:after{display:none}
.inner-gallery{position:relative;overflow:visible}.inner-gallery__track{align-items:center;padding:12px 4px 22px;scroll-padding-left:4px}.inner-gallery figure{flex:0 0 auto;width:auto;height:330px;display:flex;align-items:center;background:#fff}.inner-gallery img{width:auto!important;height:100%!important;max-width:none;object-fit:contain!important}
.inner-gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:46px;height:46px;border:0;border-radius:50%;background:#111;color:#fff;font:400 34px/42px Arial,sans-serif;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22)}.inner-gallery__arrow--prev{left:-18px}.inner-gallery__arrow--next{right:-18px}
.inner-quote{position:relative;width:104vw;margin-left:-2vw;padding:102px 2vw;transform:rotate(-2deg);transform-origin:center;background:#ef7d23;overflow:visible}.inner-quote__content{text-align:center}.inner-quote blockquote{display:inline-flex;align-items:flex-start;justify-content:center;gap:16px;margin:0 auto 22px;max-width:none;font:400 66px/.95 "Covered By Your Grace",cursive}.inner-quote__mark{display:block;height:auto;color:#fff!important;font:400 88px/.72 "Covered By Your Grace",cursive}.inner-quote__mark--open{margin-top:-8px}.inner-quote__mark--close{align-self:flex-end;margin-bottom:-16px}
@media(max-width:767px){.inner-intro__copy>p:not(.inner-kicker),.inner-story__copy>p:not(.inner-kicker),.inner-lead{font-size:15px!important;line-height:1.58!important}.inner-feature,.inner-story__image{width:86%;margin-left:auto;margin-right:auto;padding:7px}.inner-gallery figure{height:260px}.inner-gallery__arrow{width:40px;height:40px;font-size:30px;line-height:36px}.inner-gallery__arrow--prev{left:-8px}.inner-gallery__arrow--next{right:8px}.inner-quote{width:108vw;margin-left:-4vw;padding:74px 4vw}.inner-quote blockquote{gap:7px;font-size:44px;line-height:.95}.inner-quote__mark{font-size:58px}}


/* ==========================================================
   v0.8.2 — REAL PHOTO GALLERY
   One gallery only; original user photos; no forced crop.
   ========================================================== */
.inner-gallery__track{
  align-items:center;
}
.inner-gallery figure{
  height:360px;
  width:auto;
  flex:0 0 auto;
  background:transparent;
}
.inner-gallery figure img{
  display:block;
  width:auto !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
}
@media(max-width:767px){
  .inner-gallery figure{height:300px}
}


/* ==========================================================
   v0.8.3 — STATIC PHOTO STRIP + TORN PAPER QUOTE BAND
   ========================================================== */

/* Four real photographs: no slider, no arrows, full available width. */
.inner-gallery{
  width:min(1320px,calc(100% - 40px));
  margin:64px auto 0;
  overflow:visible;
}
.inner-gallery__track{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  overflow:visible !important;
  padding:18px 10px 28px !important;
  scroll-snap-type:none !important;
  align-items:center;
}
.inner-gallery figure{
  width:100% !important;
  height:auto !important;
  margin:0;
  padding:8px;
  background:#fff;
  border:1px solid rgba(0,0,0,.11);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transform-origin:center center;
}
.inner-gallery figure:nth-child(1){transform:rotate(-3deg)}
.inner-gallery figure:nth-child(2){transform:rotate(2deg)}
.inner-gallery figure:nth-child(3){transform:rotate(-2deg)}
.inner-gallery figure:nth-child(4){transform:rotate(3deg)}
.inner-gallery figure img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
}

/* Torn-paper effect: the orange is revealed through irregular white edges.
   The whole band, quote and attribution retain the approved -2deg tilt. */
.inner-quote{
  position:relative;
  isolation:isolate;
  width:106vw;
  margin-left:-3vw;
  padding:112px 3vw;
  transform:rotate(-2deg);
  transform-origin:center center;
  background:#ef7d23;
  box-shadow:
    0 -9px 14px -12px rgba(0,0,0,.55),
    0 11px 16px -13px rgba(0,0,0,.55);
  overflow:visible;
}

/* Irregular white paper remnants above and below */
.inner-quote::before,
.inner-quote::after{
  content:"";
  position:absolute;
  left:-1%;
  width:102%;
  height:22px;
  z-index:2;
  pointer-events:none;
  background:#fff;
}
.inner-quote::before{
  top:-10px;
  clip-path:polygon(
    0 0,100% 0,100% 42%,97% 66%,94% 48%,91% 78%,88% 52%,85% 72%,
    82% 45%,79% 81%,76% 55%,73% 73%,70% 47%,67% 76%,64% 50%,61% 82%,
    58% 51%,55% 74%,52% 46%,49% 79%,46% 53%,43% 75%,40% 49%,37% 80%,
    34% 54%,31% 72%,28% 46%,25% 78%,22% 52%,19% 74%,16% 47%,13% 81%,
    10% 54%,7% 72%,4% 49%,0 70%
  );
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.20));
}
.inner-quote::after{
  bottom:-10px;
  clip-path:polygon(
    0 35%,4% 55%,7% 30%,10% 62%,13% 34%,16% 57%,19% 28%,22% 61%,
    25% 33%,28% 58%,31% 27%,34% 63%,37% 35%,40% 56%,43% 29%,46% 62%,
    49% 32%,52% 59%,55% 26%,58% 63%,61% 34%,64% 56%,67% 30%,70% 61%,
    73% 33%,76% 58%,79% 27%,82% 64%,85% 34%,88% 56%,91% 29%,94% 61%,
    97% 35%,100% 54%,100% 100%,0 100%
  );
  filter:drop-shadow(0 -4px 3px rgba(0,0,0,.18));
}
.inner-quote__content{
  position:relative;
  z-index:3;
}

@media(max-width:767px){
  /* Still four simple photographs: two columns on mobile, no carousel. */
  .inner-gallery{
    width:calc(100% - 28px);
    margin:44px auto 0;
  }
  .inner-gallery__track{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:14px 4px 24px !important;
  }
  .inner-gallery figure{padding:5px}
  .inner-gallery figure:nth-child(1){transform:rotate(-2.5deg)}
  .inner-gallery figure:nth-child(2){transform:rotate(2deg)}
  .inner-gallery figure:nth-child(3){transform:rotate(2.5deg)}
  .inner-gallery figure:nth-child(4){transform:rotate(-2deg)}

  .inner-quote{
    width:110vw;
    margin-left:-5vw;
    padding:82px 5vw;
  }
  .inner-quote::before,
  .inner-quote::after{height:17px}
}


/* ==========================================================
   v0.8.4 — MORE NATURAL TORN-PAPER EDGE
   Less repetitive geometry + stronger paper-depth shadow.
   ========================================================== */

.inner-quote{
  box-shadow:
    0 -12px 18px -15px rgba(0,0,0,.62),
    0 12px 18px -15px rgba(0,0,0,.48);
}

.inner-quote::before,
.inner-quote::after{
  left:-1.5%;
  width:103%;
  height:27px;
}

/* Upper torn edge: long nearly-flat runs interrupted by irregular tears. */
.inner-quote::before{
  top:-13px;
  clip-path:polygon(
    0 0,100% 0,
    100% 56%,
    97.8% 58%,96.1% 52%,94.5% 61%,
    91.7% 59%,89.9% 68%,88.4% 55%,
    85.2% 58%,83.7% 51%,81.3% 62%,
    77.6% 60%,75.9% 72%,74.8% 57%,
    71.1% 59%,68.5% 54%,66.7% 64%,
    62.4% 62%,60.8% 75%,59.4% 59%,
    55.1% 61%,52.8% 54%,50.2% 67%,
    46.3% 64%,44.9% 78%,43.2% 61%,
    39.5% 63%,36.4% 56%,34.8% 68%,
    30.6% 66%,28.9% 58%,27.1% 72%,
    23.5% 67%,20.4% 65%,18.8% 76%,
    17.2% 62%,13.4% 65%,11.7% 57%,
    9.2% 69%,5.8% 66%,3.7% 73%,0 65%
  );
  filter:drop-shadow(0 6px 4px rgba(0,0,0,.30));
}

/* Lower edge uses different tear spacing/depth so it does not mirror the top. */
.inner-quote::after{
  bottom:-13px;
  clip-path:polygon(
    0 38%,
    3.2% 34%,5.1% 44%,7.8% 36%,
    11.6% 39%,13.1% 52%,14.9% 37%,
    18.7% 40%,21.4% 35%,23.8% 47%,
    27.9% 43%,29.3% 56%,31.2% 41%,
    35.5% 44%,38.6% 38%,40.1% 51%,
    44.4% 47%,46.2% 60%,47.8% 43%,
    52.1% 46%,54.7% 39%,56.6% 53%,
    60.5% 49%,63.8% 46%,65.4% 57%,
    67.3% 43%,71.8% 46%,74.1% 40%,
    76.2% 52%,80.6% 49%,82.4% 61%,
    84.1% 45%,88.2% 48%,90.9% 42%,
    93.1% 55%,96.6% 48%,98.1% 58%,100% 51%,
    100% 100%,0 100%
  );
  filter:drop-shadow(0 -5px 4px rgba(0,0,0,.24));
}

@media(max-width:767px){
  .inner-quote::before,
  .inner-quote::after{
    height:21px;
  }
  .inner-quote::before{top:-10px}
  .inner-quote::after{bottom:-10px}
}


/* ==========================================================
   v0.8.5 — DEEP, IRREGULAR TORN-PAPER EDGE
   Returns to the stronger v0.8.3 depth, with much less repetition.
   ========================================================== */

.inner-quote{
  box-shadow:
    0 -15px 22px -17px rgba(0,0,0,.68),
    0 15px 22px -17px rgba(0,0,0,.56);
}

.inner-quote::before,
.inner-quote::after{
  left:-2%;
  width:104%;
  height:48px;
}

/* TOP: mostly calm stretches punctuated by deep, asymmetric tears. */
.inner-quote::before{
  top:-24px;
  clip-path:polygon(
    0 0,100% 0,
    100% 50%,
    98.2% 53%,96.8% 48%,95.6% 56%,
    93.4% 54%,92.1% 76%,90.9% 57%,89.2% 52%,
    86.8% 55%,84.6% 51%,83.5% 61%,
    80.7% 58%,78.9% 54%,77.8% 84%,76.6% 60%,75.1% 56%,
    71.9% 58%,69.4% 53%,67.8% 62%,
    64.1% 59%,62.7% 55%,61.4% 73%,60.2% 57%,
    56.5% 60%,53.9% 54%,52.8% 64%,
    49.6% 61%,47.4% 56%,46.1% 91%,44.9% 64%,43.2% 58%,
    39.8% 60%,37.5% 55%,35.7% 67%,
    32.4% 63%,30.6% 58%,29.2% 80%,28.0% 61%,
    24.5% 63%,21.9% 57%,20.3% 68%,
    17.1% 65%,15.8% 58%,14.6% 88%,13.2% 63%,
    9.8% 65%,7.4% 59%,5.6% 72%,3.9% 61%,0 66%
  );
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.34));
}

/* BOTTOM: different rhythm and tear positions; not a mirrored pattern. */
.inner-quote::after{
  bottom:-24px;
  clip-path:polygon(
    0 34%,
    3.5% 39%,5.3% 32%,7.1% 47%,
    10.4% 43%,12.1% 38%,13.4% 70%,14.8% 45%,
    18.2% 47%,20.7% 41%,22.3% 52%,
    25.9% 48%,27.4% 42%,28.8% 82%,30.0% 51%,
    33.6% 50%,36.1% 44%,38.0% 58%,
    41.4% 54%,43.7% 48%,45.0% 75%,46.3% 52%,
    49.7% 54%,52.4% 46%,54.2% 60%,
    57.8% 56%,59.5% 49%,60.8% 89%,62.1% 57%,
    65.9% 58%,68.6% 50%,70.4% 64%,
    73.8% 59%,76.1% 53%,77.4% 78%,78.8% 56%,
    82.5% 59%,85.0% 51%,86.9% 67%,
    90.1% 61%,92.4% 55%,93.8% 86%,95.2% 60%,
    97.7% 62%,100% 55%,
    100% 100%,0 100%
  );
  filter:drop-shadow(0 -7px 5px rgba(0,0,0,.29));
}

@media(max-width:767px){
  .inner-quote::before,
  .inner-quote::after{
    height:36px;
  }
  .inner-quote::before{top:-18px}
  .inner-quote::after{bottom:-18px}
}


/* ==========================================================
   v0.8.6 — ORGANIC TORN PAPER
   Inspired by the supplied real torn-paper references:
   dense non-repeating edge, macro undulations + micro fibres.
   Depth/shadow is intentionally concentrated on the TOP tear.
   ========================================================== */

.inner-quote{
  /* no rectangular shadow: depth must follow the torn profile itself */
  box-shadow:none !important;
}

.inner-quote::before,
.inner-quote::after{
  left:-2.5% !important;
  width:105% !important;
  height:72px !important;
  background:#fff !important;
}

/* Upper white paper: irregular torn edge + shadow falling onto orange */
.inner-quote::before{
  top:-36px !important;
  clip-path:polygon(
    0 0,100% 0,100% 39%,
    100.00% 37.44%,
    99.00% 39.92%,
    98.00% 42.21%,
    97.00% 38.42%,
    96.00% 41.72%,
    95.00% 43.52%,
    94.00% 43.38%,
    93.00% 39.45%,
    92.00% 45.65%,
    91.00% 47.52%,
    90.00% 42.66%,
    89.00% 43.05%,
    88.00% 46.23%,
    87.00% 47.54%,
    86.00% 42.43%,
    85.00% 44.07%,
    84.00% 46.13%,
    83.00% 48.03%,
    82.00% 46.44%,
    81.00% 49.70%,
    80.00% 53.57%,
    79.00% 54.06%,
    78.00% 53.91%,
    77.00% 46.33%,
    76.00% 47.79%,
    75.00% 44.81%,
    74.00% 47.88%,
    73.00% 51.73%,
    72.00% 52.16%,
    71.00% 46.97%,
    70.00% 45.91%,
    69.00% 46.74%,
    68.00% 40.80%,
    67.00% 40.95%,
    66.00% 43.46%,
    65.00% 47.03%,
    64.00% 43.75%,
    63.00% 47.61%,
    62.00% 52.89%,
    61.00% 54.06%,
    60.00% 53.19%,
    59.00% 51.89%,
    58.00% 53.66%,
    57.00% 48.32%,
    56.00% 46.91%,
    55.00% 51.20%,
    54.00% 60.21%,
    53.00% 68.44%,
    52.00% 66.83%,
    51.00% 57.82%,
    50.00% 54.17%,
    49.00% 49.40%,
    48.00% 47.72%,
    47.00% 52.75%,
    46.00% 50.38%,
    45.00% 51.60%,
    44.00% 54.98%,
    43.00% 55.53%,
    42.00% 49.68%,
    41.00% 47.06%,
    40.00% 47.96%,
    39.00% 46.57%,
    38.00% 44.88%,
    37.00% 45.84%,
    36.00% 51.26%,
    35.00% 46.78%,
    34.00% 45.21%,
    33.00% 45.99%,
    32.00% 47.33%,
    31.00% 53.46%,
    30.00% 45.03%,
    29.00% 50.35%,
    28.00% 50.32%,
    27.00% 47.55%,
    26.00% 46.99%,
    25.00% 50.98%,
    24.00% 47.21%,
    23.00% 48.71%,
    22.00% 53.05%,
    21.00% 56.40%,
    20.00% 54.97%,
    19.00% 51.55%,
    18.00% 54.03%,
    17.00% 50.87%,
    16.00% 48.13%,
    15.00% 51.72%,
    14.00% 59.60%,
    13.00% 66.86%,
    12.00% 74.19%,
    11.00% 64.15%,
    10.00% 59.69%,
    9.00% 54.51%,
    8.00% 50.44%,
    7.00% 56.39%,
    6.00% 56.43%,
    5.00% 56.67%,
    4.00% 58.46%,
    3.00% 61.08%,
    2.00% 56.55%,
    1.00% 52.19%,
    0.00% 52.00%,
    0 52%
  ) !important;
  filter:drop-shadow(0 8px 5px rgba(0,0,0,.38)) !important;
}

/* Lower tear: equally organic, but flat — no competing 3D shadow */
.inner-quote::after{
  bottom:-36px !important;
  clip-path:polygon(
    0.00% 39.93%,
    1.00% 41.32%,
    2.00% 43.13%,
    3.00% 42.28%,
    4.00% 37.94%,
    5.00% 41.45%,
    6.00% 45.57%,
    7.00% 43.31%,
    8.00% 44.41%,
    9.00% 44.83%,
    10.00% 46.29%,
    11.00% 41.06%,
    12.00% 41.88%,
    13.00% 46.98%,
    14.00% 48.66%,
    15.00% 47.47%,
    16.00% 50.41%,
    17.00% 51.49%,
    18.00% 50.80%,
    19.00% 50.62%,
    20.00% 44.46%,
    21.00% 48.53%,
    22.00% 45.75%,
    23.00% 48.11%,
    24.00% 51.89%,
    25.00% 48.56%,
    26.00% 43.19%,
    27.00% 41.39%,
    28.00% 42.66%,
    29.00% 40.07%,
    30.00% 41.41%,
    31.00% 44.95%,
    32.00% 49.21%,
    33.00% 47.19%,
    34.00% 49.33%,
    35.00% 53.82%,
    36.00% 53.67%,
    37.00% 49.15%,
    38.00% 47.72%,
    39.00% 50.25%,
    40.00% 45.38%,
    41.00% 48.10%,
    42.00% 54.85%,
    43.00% 69.23%,
    44.00% 64.15%,
    45.00% 54.31%,
    46.00% 55.46%,
    47.00% 51.57%,
    48.00% 47.38%,
    49.00% 48.59%,
    50.00% 54.26%,
    51.00% 52.28%,
    52.00% 53.21%,
    53.00% 53.24%,
    54.00% 52.83%,
    55.00% 46.71%,
    56.00% 43.03%,
    57.00% 47.85%,
    58.00% 47.32%,
    59.00% 47.05%,
    60.00% 48.99%,
    61.00% 51.98%,
    62.00% 47.21%,
    63.00% 44.46%,
    64.00% 44.55%,
    65.00% 46.90%,
    66.00% 44.47%,
    67.00% 44.70%,
    68.00% 57.13%,
    69.00% 49.37%,
    70.00% 50.13%,
    71.00% 52.72%,
    72.00% 59.60%,
    73.00% 55.11%,
    74.00% 51.69%,
    75.00% 51.90%,
    76.00% 50.69%,
    77.00% 48.51%,
    78.00% 47.44%,
    79.00% 53.14%,
    80.00% 52.93%,
    81.00% 49.67%,
    82.00% 47.96%,
    83.00% 50.08%,
    84.00% 45.05%,
    85.00% 43.94%,
    86.00% 53.07%,
    87.00% 60.45%,
    88.00% 50.20%,
    89.00% 44.37%,
    90.00% 47.66%,
    91.00% 44.81%,
    92.00% 41.59%,
    93.00% 43.16%,
    94.00% 48.03%,
    95.00% 46.56%,
    96.00% 44.45%,
    97.00% 45.14%,
    98.00% 43.80%,
    99.00% 40.38%,
    100.00% 40.00%,
    100% 100%,0 100%
  ) !important;
  filter:none !important;
}

@media(max-width:767px){
  .inner-quote::before,
  .inner-quote::after{
    height:54px !important;
  }
  .inner-quote::before{top:-27px !important}
  .inner-quote::after{bottom:-27px !important}
}


/* ==========================================================
   v0.8.7 — DRAMATIC TORN PAPER + DEDICATED TOP SHADOW
   Macro tears first, micro-fraying second. Shadow is its own layer.
   ========================================================== */

.inner-quote{
  box-shadow:none !important;
  overflow:visible !important;
}

/* Much taller drawing area so the macro-tears can actually read at page scale. */
.inner-quote::before,
.inner-quote::after,
.inner-quote__tear-shadow{
  position:absolute;
  left:-2.5%;
  width:105%;
  height:104px;
  pointer-events:none;
}

.inner-quote::before{
  content:"";
  top:-52px !important;
  background:#fff !important;
  clip-path:polygon(
    0 0,100% 0,
    0.00% 40.46%,
    1.00% 40.42%,
    2.00% 35.80%,
    3.00% 31.42%,
    4.00% 35.71%,
    5.00% 27.74%,
    5.80% 30.83%,
    6.60% 38.10%,
    7.40% 43.96%,
    8.20% 41.85%,
    9.00% 51.74%,
    9.80% 46.61%,
    10.60% 37.86%,
    11.40% 31.75%,
    12.20% 32.76%,
    13.00% 22.13%,
    14.00% 25.61%,
    15.00% 31.99%,
    16.00% 34.52%,
    17.00% 30.99%,
    18.00% 38.68%,
    19.00% 42.64%,
    20.00% 44.47%,
    21.00% 51.30%,
    22.00% 62.89%,
    23.00% 63.75%,
    23.80% 61.93%,
    24.60% 61.43%,
    25.40% 54.95%,
    26.20% 45.22%,
    27.00% 45.68%,
    28.00% 39.82%,
    29.00% 33.38%,
    30.00% 33.71%,
    31.00% 35.58%,
    32.00% 27.91%,
    33.00% 36.02%,
    34.00% 44.06%,
    35.00% 44.78%,
    36.00% 45.81%,
    37.00% 55.61%,
    37.80% 46.63%,
    38.60% 38.24%,
    39.40% 37.48%,
    40.20% 34.48%,
    41.00% 23.67%,
    42.00% 29.41%,
    43.00% 34.20%,
    44.00% 31.26%,
    45.00% 32.45%,
    46.00% 40.30%,
    47.00% 45.02%,
    48.00% 50.92%,
    49.00% 64.49%,
    50.00% 72.12%,
    51.00% 74.47%,
    51.80% 70.94%,
    52.60% 66.13%,
    53.40% 53.81%,
    54.20% 49.05%,
    55.00% 47.97%,
    56.00% 42.19%,
    57.00% 37.75%,
    58.00% 40.57%,
    59.00% 34.46%,
    60.00% 26.46%,
    61.00% 34.70%,
    62.00% 41.56%,
    63.00% 41.41%,
    64.00% 51.28%,
    65.00% 61.11%,
    65.80% 54.05%,
    66.60% 48.48%,
    67.40% 49.67%,
    68.20% 40.04%,
    69.00% 32.42%,
    70.00% 44.64%,
    71.00% 55.15%,
    72.00% 59.12%,
    73.00% 74.45%,
    74.00% 85.82%,
    74.80% 75.39%,
    75.60% 66.98%,
    76.40% 64.90%,
    77.20% 51.19%,
    78.00% 43.24%,
    79.00% 43.07%,
    80.00% 40.44%,
    81.00% 31.72%,
    82.00% 34.74%,
    83.00% 30.36%,
    84.00% 31.23%,
    85.00% 35.09%,
    86.00% 44.72%,
    87.00% 42.66%,
    88.00% 49.35%,
    88.80% 50.00%,
    89.60% 47.10%,
    90.40% 38.87%,
    91.20% 42.19%,
    92.00% 35.68%,
    92.80% 38.73%,
    93.60% 45.90%,
    94.40% 57.76%,
    95.20% 58.30%,
    96.00% 69.43%,
    96.80% 67.63%,
    97.60% 61.23%,
    98.40% 50.96%,
    99.20% 51.74%,
    100.00% 42.00%,
    0 38%
  ) !important;
  filter:none !important;
  z-index:3;
}

/* Separate shadow strip following the exact upper torn contour.
   It sits underneath the white paper and over the orange. */
.inner-quote__tear-shadow{
  display:block;
  top:-52px;
  background:rgba(20,20,20,.46);
  clip-path:polygon(
    0.00% 40.46%,
    1.00% 40.42%,
    2.00% 35.80%,
    3.00% 31.42%,
    4.00% 35.71%,
    5.00% 27.74%,
    5.80% 30.83%,
    6.60% 38.10%,
    7.40% 43.96%,
    8.20% 41.85%,
    9.00% 51.74%,
    9.80% 46.61%,
    10.60% 37.86%,
    11.40% 31.75%,
    12.20% 32.76%,
    13.00% 22.13%,
    14.00% 25.61%,
    15.00% 31.99%,
    16.00% 34.52%,
    17.00% 30.99%,
    18.00% 38.68%,
    19.00% 42.64%,
    20.00% 44.47%,
    21.00% 51.30%,
    22.00% 62.89%,
    23.00% 63.75%,
    23.80% 61.93%,
    24.60% 61.43%,
    25.40% 54.95%,
    26.20% 45.22%,
    27.00% 45.68%,
    28.00% 39.82%,
    29.00% 33.38%,
    30.00% 33.71%,
    31.00% 35.58%,
    32.00% 27.91%,
    33.00% 36.02%,
    34.00% 44.06%,
    35.00% 44.78%,
    36.00% 45.81%,
    37.00% 55.61%,
    37.80% 46.63%,
    38.60% 38.24%,
    39.40% 37.48%,
    40.20% 34.48%,
    41.00% 23.67%,
    42.00% 29.41%,
    43.00% 34.20%,
    44.00% 31.26%,
    45.00% 32.45%,
    46.00% 40.30%,
    47.00% 45.02%,
    48.00% 50.92%,
    49.00% 64.49%,
    50.00% 72.12%,
    51.00% 74.47%,
    51.80% 70.94%,
    52.60% 66.13%,
    53.40% 53.81%,
    54.20% 49.05%,
    55.00% 47.97%,
    56.00% 42.19%,
    57.00% 37.75%,
    58.00% 40.57%,
    59.00% 34.46%,
    60.00% 26.46%,
    61.00% 34.70%,
    62.00% 41.56%,
    63.00% 41.41%,
    64.00% 51.28%,
    65.00% 61.11%,
    65.80% 54.05%,
    66.60% 48.48%,
    67.40% 49.67%,
    68.20% 40.04%,
    69.00% 32.42%,
    70.00% 44.64%,
    71.00% 55.15%,
    72.00% 59.12%,
    73.00% 74.45%,
    74.00% 85.82%,
    74.80% 75.39%,
    75.60% 66.98%,
    76.40% 64.90%,
    77.20% 51.19%,
    78.00% 43.24%,
    79.00% 43.07%,
    80.00% 40.44%,
    81.00% 31.72%,
    82.00% 34.74%,
    83.00% 30.36%,
    84.00% 31.23%,
    85.00% 35.09%,
    86.00% 44.72%,
    87.00% 42.66%,
    88.00% 49.35%,
    88.80% 50.00%,
    89.60% 47.10%,
    90.40% 38.87%,
    91.20% 42.19%,
    92.00% 35.68%,
    92.80% 38.73%,
    93.60% 45.90%,
    94.40% 57.76%,
    95.20% 58.30%,
    96.00% 69.43%,
    96.80% 67.63%,
    97.60% 61.23%,
    98.40% 50.96%,
    99.20% 51.74%,
    100.00% 42.00%,
    100.00% 54.00%,
    99.20% 63.74%,
    98.40% 62.96%,
    97.60% 73.23%,
    96.80% 79.63%,
    96.00% 81.43%,
    95.20% 70.30%,
    94.40% 69.76%,
    93.60% 57.90%,
    92.80% 50.73%,
    92.00% 47.68%,
    91.20% 54.19%,
    90.40% 50.87%,
    89.60% 59.10%,
    88.80% 62.00%,
    88.00% 61.35%,
    87.00% 54.66%,
    86.00% 56.72%,
    85.00% 47.09%,
    84.00% 43.23%,
    83.00% 42.36%,
    82.00% 46.74%,
    81.00% 43.72%,
    80.00% 52.44%,
    79.00% 55.07%,
    78.00% 55.24%,
    77.20% 63.19%,
    76.40% 76.90%,
    75.60% 78.98%,
    74.80% 87.39%,
    74.00% 97.82%,
    73.00% 86.45%,
    72.00% 71.12%,
    71.00% 67.15%,
    70.00% 56.64%,
    69.00% 44.42%,
    68.20% 52.04%,
    67.40% 61.67%,
    66.60% 60.48%,
    65.80% 66.05%,
    65.00% 73.11%,
    64.00% 63.28%,
    63.00% 53.41%,
    62.00% 53.56%,
    61.00% 46.70%,
    60.00% 38.46%,
    59.00% 46.46%,
    58.00% 52.57%,
    57.00% 49.75%,
    56.00% 54.19%,
    55.00% 59.97%,
    54.20% 61.05%,
    53.40% 65.81%,
    52.60% 78.13%,
    51.80% 82.94%,
    51.00% 86.47%,
    50.00% 84.12%,
    49.00% 76.49%,
    48.00% 62.92%,
    47.00% 57.02%,
    46.00% 52.30%,
    45.00% 44.45%,
    44.00% 43.26%,
    43.00% 46.20%,
    42.00% 41.41%,
    41.00% 35.67%,
    40.20% 46.48%,
    39.40% 49.48%,
    38.60% 50.24%,
    37.80% 58.63%,
    37.00% 67.61%,
    36.00% 57.81%,
    35.00% 56.78%,
    34.00% 56.06%,
    33.00% 48.02%,
    32.00% 39.91%,
    31.00% 47.58%,
    30.00% 45.71%,
    29.00% 45.38%,
    28.00% 51.82%,
    27.00% 57.68%,
    26.20% 57.22%,
    25.40% 66.95%,
    24.60% 73.43%,
    23.80% 73.93%,
    23.00% 75.75%,
    22.00% 74.89%,
    21.00% 63.30%,
    20.00% 56.47%,
    19.00% 54.64%,
    18.00% 50.68%,
    17.00% 42.99%,
    16.00% 46.52%,
    15.00% 43.99%,
    14.00% 37.61%,
    13.00% 34.13%,
    12.20% 44.76%,
    11.40% 43.75%,
    10.60% 49.86%,
    9.80% 58.61%,
    9.00% 63.74%,
    8.20% 53.85%,
    7.40% 55.96%,
    6.60% 50.10%,
    5.80% 42.83%,
    5.00% 39.74%,
    4.00% 47.71%,
    3.00% 43.42%,
    2.00% 47.80%,
    1.00% 52.42%,
    0.00% 52.46%
  );
  filter:blur(4px);
  transform:translateY(5px);
  z-index:2;
}

.inner-quote::after{
  content:"";
  bottom:-52px !important;
  background:#fff !important;
  clip-path:polygon(
    0.00% 50.46%,
    1.20% 53.62%,
    2.40% 52.20%,
    3.60% 51.02%,
    4.80% 58.51%,
    6.00% 53.74%,
    7.00% 49.43%,
    8.00% 49.30%,
    9.00% 47.76%,
    10.00% 38.25%,
    11.00% 40.74%,
    12.00% 45.41%,
    13.00% 46.46%,
    14.00% 50.15%,
    15.00% 60.96%,
    16.00% 60.13%,
    17.00% 57.81%,
    18.00% 58.39%,
    19.00% 55.12%,
    20.00% 45.79%,
    21.00% 47.68%,
    22.20% 50.84%,
    23.40% 51.87%,
    24.60% 57.90%,
    25.80% 68.69%,
    27.00% 68.75%,
    28.00% 67.13%,
    29.00% 66.83%,
    30.00% 60.55%,
    31.00% 51.02%,
    32.00% 51.68%,
    33.20% 50.82%,
    34.40% 49.38%,
    35.60% 54.71%,
    36.80% 61.58%,
    38.00% 58.91%,
    39.00% 57.02%,
    40.00% 55.06%,
    41.00% 45.78%,
    42.00% 36.81%,
    43.00% 36.61%,
    44.20% 40.03%,
    45.40% 44.04%,
    46.60% 55.68%,
    47.80% 65.08%,
    49.00% 66.67%,
    50.00% 65.01%,
    51.00% 62.40%,
    52.00% 52.06%,
    53.00% 45.85%,
    54.00% 46.30%,
    55.20% 49.82%,
    56.40% 54.52%,
    57.60% 66.89%,
    58.80% 73.32%,
    60.00% 74.47%,
    61.20% 72.14%,
    62.40% 68.53%,
    63.60% 57.41%,
    64.80% 53.85%,
    66.00% 53.97%,
    67.00% 48.99%,
    68.00% 45.35%,
    69.00% 48.97%,
    70.00% 43.66%,
    71.00% 36.46%,
    72.20% 44.10%,
    73.40% 50.36%,
    74.60% 49.61%,
    75.80% 58.88%,
    77.00% 68.11%,
    78.00% 61.65%,
    79.00% 56.68%,
    80.00% 58.47%,
    81.00% 49.44%,
    82.00% 42.42%,
    83.20% 50.84%,
    84.40% 57.55%,
    85.60% 57.72%,
    86.80% 69.25%,
    88.00% 76.82%,
    89.00% 67.39%,
    90.00% 59.98%,
    91.00% 58.90%,
    92.00% 46.19%,
    93.00% 39.24%,
    94.40% 46.07%,
    95.80% 50.44%,
    97.20% 48.72%,
    98.60% 58.74%,
    100.00% 58.00%,
    100% 100%,0 100%
  ) !important;
  filter:none !important;
  z-index:3;
}

.inner-quote__content{
  position:relative;
  z-index:4;
}

@media(max-width:767px){
  .inner-quote::before,
  .inner-quote::after,
  .inner-quote__tear-shadow{
    height:78px !important;
  }
  .inner-quote::before,
  .inner-quote__tear-shadow{top:-39px !important}
  .inner-quote::after{bottom:-39px !important}
  .inner-quote__tear-shadow{
    transform:translateY(4px);
    filter:blur(3px);
  }
}


/* ==========================================================
   v0.8.8 — STRUCTURAL FIX
   The orange band itself is now the torn shape.
   There is ONE physical contour, not a white overlay plus a second shadow line.
   ========================================================== */

.inner-quote {
  position:relative !important;
  isolation:isolate !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* THE ACTUAL ORANGE BAND. Both top and bottom are cut directly into it. */
.inner-quote::before {
  content:"" !important;
  position:absolute !important;
  inset:-26px -2.5% !important;
  width:105% !important;
  height:calc(100% + 52px) !important;
  background:#ef7d23 !important;
  clip-path:polygon(
    0% 14%,
    2% 13%,
    4% 16%,
    6% 12%,
    8% 14%,
    10% 11%,
    12% 15%,
    14% 13%,
    16% 12%,
    18% 18%,
    20% 15%,
    22% 11%,
    24% 13%,
    26% 10%,
    28% 16%,
    30% 14%,
    32% 12%,
    34% 19%,
    36% 15%,
    38% 11%,
    40% 13%,
    42% 9%,
    44% 14%,
    46% 12%,
    48% 17%,
    50% 13%,
    52% 10%,
    54% 15%,
    56% 12%,
    58% 18%,
    60% 14%,
    62% 11%,
    64% 16%,
    66% 13%,
    68% 9%,
    70% 15%,
    72% 12%,
    74% 20%,
    76% 14%,
    78% 10%,
    80% 13%,
    82% 9%,
    84% 15%,
    86% 12%,
    88% 17%,
    90% 11%,
    92% 14%,
    94% 10%,
    96% 16%,
    98% 12%,
    100% 14%,
    100% 86%,
    98% 88%,
    96% 84%,
    94% 89%,
    92% 86%,
    90% 91%,
    88% 85%,
    86% 88%,
    84% 83%,
    82% 89%,
    80% 86%,
    78% 92%,
    76% 87%,
    74% 84%,
    72% 90%,
    70% 86%,
    68% 82%,
    66% 88%,
    64% 85%,
    62% 91%,
    60% 86%,
    58% 89%,
    56% 83%,
    54% 88%,
    52% 85%,
    50% 92%,
    48% 87%,
    46% 84%,
    44% 90%,
    42% 86%,
    40% 82%,
    38% 88%,
    36% 85%,
    34% 91%,
    32% 86%,
    30% 89%,
    28% 84%,
    26% 90%,
    24% 86%,
    22% 82%,
    20% 88%,
    18% 85%,
    16% 91%,
    14% 86%,
    12% 89%,
    10% 84%,
    8% 90%,
    6% 86%,
    4% 92%,
    2% 87%,
    0% 89%
  ) !important;
  filter:none !important;
  z-index:0 !important;
}

/* No second white shape at the bottom. */
.inner-quote::after {
  content:none !important;
  display:none !important;
}

/* TOP SHADOW ONLY.
   It uses exactly the SAME top contour as the orange band and is displaced
   by only 3px, so it reads as paper depth rather than a second outline. */
.inner-quote__tear-shadow {
  display:block !important;
  position:absolute !important;
  inset:-26px -2.5% !important;
  width:105% !important;
  height:calc(100% + 52px) !important;
  background:rgba(25,25,25,.42) !important;
  clip-path:polygon(
    0% 14%,
    2% 13%,
    4% 16%,
    6% 12%,
    8% 14%,
    10% 11%,
    12% 15%,
    14% 13%,
    16% 12%,
    18% 18%,
    20% 15%,
    22% 11%,
    24% 13%,
    26% 10%,
    28% 16%,
    30% 14%,
    32% 12%,
    34% 19%,
    36% 15%,
    38% 11%,
    40% 13%,
    42% 9%,
    44% 14%,
    46% 12%,
    48% 17%,
    50% 13%,
    52% 10%,
    54% 15%,
    56% 12%,
    58% 18%,
    60% 14%,
    62% 11%,
    64% 16%,
    66% 13%,
    68% 9%,
    70% 15%,
    72% 12%,
    74% 20%,
    76% 14%,
    78% 10%,
    80% 13%,
    82% 9%,
    84% 15%,
    86% 12%,
    88% 17%,
    90% 11%,
    92% 14%,
    94% 10%,
    96% 16%,
    98% 12%,
    100% 14%,
    100% 18.0%,
    98% 16.0%,
    96% 20.0%,
    94% 14.0%,
    92% 18.0%,
    90% 15.0%,
    88% 21.0%,
    86% 16.0%,
    84% 19.0%,
    82% 13.0%,
    80% 17.0%,
    78% 14.0%,
    76% 18.0%,
    74% 24.0%,
    72% 16.0%,
    70% 19.0%,
    68% 13.0%,
    66% 17.0%,
    64% 20.0%,
    62% 15.0%,
    60% 18.0%,
    58% 22.0%,
    56% 16.0%,
    54% 19.0%,
    52% 14.0%,
    50% 17.0%,
    48% 21.0%,
    46% 16.0%,
    44% 18.0%,
    42% 13.0%,
    40% 17.0%,
    38% 15.0%,
    36% 19.0%,
    34% 23.0%,
    32% 16.0%,
    30% 18.0%,
    28% 20.0%,
    26% 14.0%,
    24% 17.0%,
    22% 15.0%,
    20% 19.0%,
    18% 22.0%,
    16% 16.0%,
    14% 17.0%,
    12% 19.0%,
    10% 15.0%,
    8% 18.0%,
    6% 16.0%,
    4% 20.0%,
    2% 17.0%,
    0% 18.0%
  ) !important;
  transform:translateY(3px) !important;
  filter:blur(2.2px) !important;
  opacity:1 !important;
  z-index:-1 !important;
  pointer-events:none !important;
}

.inner-quote__content {
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:767px) {
  .inner-quote::before,
  .inner-quote__tear-shadow {
    inset:-18px -3% !important;
    width:106% !important;
    height:calc(100% + 36px) !important;
  }
  .inner-quote__tear-shadow {
    transform:translateY(2px) !important;
    filter:blur(1.8px) !important;
  }
}

/* ==========================================================
   v0.8.9 — QUOTE BAND FROM SUPPLIED ARTWORK
   Torn paper, orange field and shadows come directly from the supplied PNG.
   ========================================================== */
.inner-quote{
  position:relative !important;width:104vw !important;margin-left:-2vw !important;padding:0 2vw !important;
  aspect-ratio:2048 / 682 !important;min-height:0 !important;
  background:url("../images/quote-torn-orange.png") center center / 100% 100% no-repeat !important;
  overflow:visible !important;transform:rotate(-2deg) !important;transform-origin:center !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  box-shadow:none !important;clip-path:none !important;
}
.inner-quote::before,.inner-quote::after{
  content:none !important;display:none !important;background:none !important;clip-path:none !important;
  filter:none !important;box-shadow:none !important;
}
.inner-quote__tear-shadow{display:none !important}
.inner-quote__content{
  position:relative !important;z-index:2 !important;width:min(1000px,82vw) !important;
  margin:0 auto !important;padding:0 !important;text-align:center !important;
}
@media(max-width:767px){
  .inner-quote{
    width:108vw !important;margin-left:-4vw !important;aspect-ratio:auto !important;min-height:390px !important;
    padding:0 4vw !important;background-size:auto 100% !important;background-position:center center !important;
  }
  .inner-quote__content{width:min(92vw,620px) !important}
}

/* ==========================================================
   v0.9.0 — MOBILE NAVIGATION
   ========================================================== */
.mobile-menu-toggle,.mobile-menu{display:none}

@media(max-width:900px){
  .site-header{position:sticky;top:0;z-index:1000}
  .site-header .header-cta{display:none!important}
  .mobile-menu-toggle{
    display:flex;
    width:44px;height:44px;
    margin-left:auto;padding:0;
    border:0;background:transparent;
    align-items:center;justify-content:center;
    flex-direction:column;gap:5px;
    cursor:pointer;position:relative;z-index:1002
  }
  .mobile-menu-toggle span{
    display:block;width:25px;height:2px;background:#fff;border-radius:2px;
    transition:transform .25s ease,opacity .2s ease
  }
  .mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .mobile-menu{
    display:flex;
    position:fixed;
    left:0;right:0;top:64px;
    height:calc(100dvh - 64px);
    padding:34px 24px 38px;
    background:#08090b;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
    z-index:1001
  }
  .mobile-menu-open .mobile-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:none
  }
  body.mobile-menu-open{overflow:hidden}
  .mobile-menu__nav{width:100%;max-width:420px}
  .mobile-menu__nav ul{
    list-style:none;margin:0;padding:0;
    display:flex;flex-direction:column;align-items:center;gap:0
  }
  .mobile-menu__nav li{width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.10)}
  .mobile-menu__nav li:first-child{border-top:1px solid rgba(255,255,255,.10)}
  .mobile-menu__nav a{
    display:block;padding:13px 8px;color:#fff;text-decoration:none;
    font-size:13px;font-weight:800;letter-spacing:.055em;text-transform:uppercase
  }
  .mobile-menu__nav .current-menu-item>a,
  .mobile-menu__nav .current_page_item>a{color:#f20d46}
  .mobile-menu__cta{margin-top:28px;padding:13px 25px!important}
}

@media(max-width:520px){
  .mobile-menu{top:68px;height:calc(100dvh - 68px);padding-top:26px;padding-bottom:28px}
  .mobile-menu__nav a{padding:11px 8px;font-size:12px}
  .mobile-menu__cta{margin-top:22px}
}

/* ==========================================================
   v0.9.1 — PAGINA MUSICA + MOBILE MENU CTA CENTERED
   ========================================================== */
@media(max-width:900px){
  .mobile-menu__cta{
    display:table !important;
    width:auto !important;
    min-width:0 !important;
    margin:28px auto 0 !important;
    text-align:center !important;
    align-self:center !important;
  }
}
.music-page{background:#fff;color:#111}
.music-intro,.music-story{background:#fff}
.music-intro{padding:92px 0 86px}
.music-intro__grid,.music-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);gap:92px;align-items:center}
.music-intro__copy h1,.music-story__copy h2{margin:8px 0 26px;font-family:"Covered By Your Grace",cursive;font-weight:400;line-height:.92;letter-spacing:-.02em}
.music-intro__copy h1{font-size:clamp(58px,5.2vw,88px)}
.music-story__copy h2{font-size:clamp(54px,4.6vw,78px)}
.music-intro__copy p,.music-story__copy p{font-family:"Manrope",sans-serif;font-size:16px;line-height:1.72}
.music-feature-card{position:relative;display:block;padding:10px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.18);transform:rotate(3deg);transition:transform .25s ease}
.music-feature-card:hover{transform:rotate(1deg) scale(1.015)}
.music-feature-card img{display:block;width:100%;height:auto}
.music-feature-card__play{position:absolute;left:50%;top:50%;width:68px;height:68px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:#ef174c;color:#fff;font-size:25px;padding-left:4px;box-shadow:0 8px 24px rgba(0,0,0,.24)}
.music-videos{width:min(1180px,calc(100% - 48px));margin:82px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.music-video-card{color:#111;text-decoration:none}
.music-video-card figure{margin:0 0 20px;padding:8px;background:#fff;box-shadow:0 15px 34px rgba(0,0,0,.16);transition:transform .25s ease}
.music-video-card--one figure{transform:rotate(-2.5deg)}
.music-video-card--two figure{transform:rotate(2deg)}
.music-video-card--three figure{transform:rotate(-1deg)}
.music-video-card:hover figure{transform:rotate(0) translateY(-4px)}
.music-video-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.music-video-card div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:0 8px;font-family:"Manrope",sans-serif}
.music-video-card strong{font-size:18px;font-weight:800}
.music-video-card span{flex:0 0 auto;color:#ef174c;font-size:11px;font-weight:800;letter-spacing:.08em}
.music-quote{position:relative;margin:24px 0 0;padding:94px 24px 90px;background:#ef174c;text-align:center}
.music-quote__content blockquote{margin:0;display:flex;justify-content:center;align-items:flex-start;gap:16px;font-family:"Covered By Your Grace",cursive;font-size:clamp(42px,4.2vw,68px);line-height:.98;font-weight:400}
.music-quote__mark{color:#fff;font-family:Georgia,serif;font-size:.72em;font-weight:700;line-height:1}
.music-quote__content p{margin:20px 0 0;font-family:"Manrope",sans-serif;font-size:10px;font-weight:800;letter-spacing:.18em}
.music-story{padding:105px 0 115px}
.music-story__image{margin:0;padding:10px;background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.18);transform:rotate(-4deg)}
.music-story__image img{display:block;width:100%;height:auto}
@media(max-width:900px){
  .music-intro{padding:58px 0 62px}
  .music-intro__grid,.music-story__grid{grid-template-columns:1fr;gap:44px}
  .music-intro__copy h1{font-size:58px}
  .music-story__copy h2{font-size:54px}
  .music-intro__visual{width:min(88%,520px);margin:0 auto}
  .music-videos{width:100%;margin-top:62px;padding:14px 7vw 32px;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .music-videos::-webkit-scrollbar{display:none}
  .music-video-card{flex:0 0 82vw;max-width:440px;scroll-snap-align:center}
  .music-video-card div{display:block}
  .music-video-card strong{display:block;margin-bottom:5px}
  .music-quote{padding:78px 20px 74px}
  .music-quote__content blockquote{gap:7px;font-size:43px}
  .music-story{padding:78px 0 92px}
  .music-story__image{width:min(86%,500px);margin:0 auto}
}
@media(max-width:560px){
  .music-intro__copy p,.music-story__copy p{font-size:16px;line-height:1.68}
  .music-video-card{flex-basis:84vw}
  .music-quote__content blockquote{font-size:38px}
}

/* ==========================================================
   v0.9.2 — MUSICA: RED TORN BAND ARTWORK
   Same component language as the orange band, opposite +2deg tilt.
   Tear and shadows are embedded in the supplied PNG.
   ========================================================== */
.music-quote{
  position:relative !important;
  width:104vw !important;
  margin-left:-2vw !important;
  padding:0 2vw !important;
  aspect-ratio:2048 / 682 !important;
  min-height:0 !important;
  background:url("../images/quote-torn-red.png") center center / 100% 100% no-repeat !important;
  overflow:visible !important;
  transform:rotate(2deg) !important;
  transform-origin:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:none !important;
  text-align:center !important;
}
.music-quote__content{
  position:relative !important;
  z-index:2 !important;
  width:min(1000px,82vw) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:center !important;
}
@media(max-width:767px){
  .music-quote{
    width:108vw !important;
    margin-left:-4vw !important;
    aspect-ratio:auto !important;
    min-height:390px !important;
    padding:0 4vw !important;
    background-size:auto 100% !important;
    background-position:center center !important;
  }
}


/* ==========================================================
   v0.9.4 — MUSICA: VIDEO META + TWO SAAR RECORDS LINKS
   ========================================================== */
.music-feature-meta{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:18px;padding:0 8px;font-family:"Manrope",sans-serif}
.music-feature-meta strong{font-size:18px;font-weight:800}
.music-feature-meta a{flex:0 0 auto;color:#ef174c;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.08em}
.music-saar{width:min(1180px,calc(100% - 48px));margin:42px auto 0;padding-top:28px;border-top:1px solid rgba(0,0,0,.10);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;font-family:"Manrope",sans-serif}
.music-saar__item{min-width:0}
.music-saar__item p{margin:0 0 10px;color:#444;font-size:14px;line-height:1.55}
.music-saar__item p strong{color:#111;font-size:16px;font-weight:800}
.music-saar__item a{display:inline-block;color:#ef174c;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.08em}
.music-saar__item a:hover,.music-feature-meta a:hover{text-decoration:underline}
@media(max-width:900px){
  .music-feature-meta{width:min(88%,520px);margin:18px auto 0;padding:0}
  .music-saar{width:86%;margin-top:28px;grid-template-columns:1fr;gap:24px;text-align:center}
}
@media(max-width:560px){
  .music-feature-meta{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
  .music-feature-meta strong{font-size:16px}
  .music-feature-meta a{font-size:10px}
}

/* v0.9.5 — pagina Dal vivo */
.live-page{background:#fff;color:#111}
.live-page-intro{padding:92px 0 72px}
.live-page-intro__grid,.live-page-story__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:84px;align-items:center}
.live-page-intro h1,.live-page-story h2{margin:10px 0 28px;font-family:"Covered By Your Grace",cursive;font-weight:400;font-size:clamp(58px,5.7vw,92px);line-height:.88;letter-spacing:-.02em}
.live-page-intro__copy>p:not(.inner-kicker),.live-page-story__copy>p{font-family:"Manrope",sans-serif;font-size:16px;line-height:1.65;margin:0 0 18px}
.live-page-intro__image,.live-page-story__image{margin:0;background:#fff;padding:10px;box-shadow:0 18px 42px rgba(0,0,0,.17);transform:rotate(3deg)}
.live-page-intro__image img,.live-page-story__image img{display:block;width:100%;height:auto}
.live-formats{max-width:1240px;margin:0 auto;padding:18px 24px 104px;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.live-format{padding:28px 18px 25px;border-top:5px solid #ef174c;background:#f7f4ed;min-height:152px}
.live-format strong{display:block;font-family:"Covered By Your Grace",cursive;font-size:32px;font-weight:400;line-height:1;margin-bottom:12px}
.live-format p{margin:0;font-family:"Manrope",sans-serif;font-size:13px;line-height:1.5}
.live-page-quote{position:relative;margin:0;padding:118px 24px 112px;text-align:center;background:#fff url('../images/quote-torn-yellow.png') center/100% 100% no-repeat;transform:rotate(-2deg);transform-origin:center;z-index:2}
.live-page-quote__content{transform:rotate(2deg)}
.live-page-quote blockquote{margin:0;display:flex;justify-content:center;align-items:flex-start;gap:16px;font-family:"Covered By Your Grace",cursive;font-size:clamp(42px,4.2vw,68px);line-height:.98;font-weight:400}
.live-page-quote__mark{font-family:Georgia,serif;color:#111;font-size:.72em;font-weight:700;line-height:1}
.live-page-quote p{margin:20px 0 0;font-family:"Manrope",sans-serif;font-size:10px;font-weight:800;letter-spacing:.18em}
.live-page-story{padding:116px 0 124px}
.live-page-story__image{transform:rotate(-3deg)}
.live-page-story .inner-button{margin-top:14px}
@media(max-width:900px){
 .live-page-intro{padding:58px 0 48px}
 .live-page-intro__grid,.live-page-story__grid{grid-template-columns:1fr;gap:42px}
 .live-page-intro h1,.live-page-story h2{font-size:60px}
 .live-page-intro__image,.live-page-story__image{width:88%;margin:0 auto}
 .live-formats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 7vw 72px;gap:16px;scrollbar-width:none}
 .live-formats::-webkit-scrollbar{display:none}
 .live-format{flex:0 0 72vw;scroll-snap-align:center}
 .live-page-quote{padding:92px 18px 88px;background-size:auto 100%;min-height:300px;display:flex;align-items:center;justify-content:center}
 .live-page-quote blockquote{gap:7px;font-size:43px}
 .live-page-story{padding:86px 0 96px}
}
@media(max-width:560px){
 .live-page-intro h1,.live-page-story h2{font-size:54px}
 .live-page-quote blockquote{font-size:38px}
 .live-page-quote p{margin-top:16px}
}

/* v0.9.6 — Dal vivo: post-it categories + care-setting hero */
.live-format{
  position:relative;
  background:#fff200 !important;
  border-top:5px solid #f28b18 !important;
  box-shadow:0 13px 22px rgba(0,0,0,.15);
  transform-origin:center center;
  transition:transform .2s ease,box-shadow .2s ease;
}
.live-format:nth-child(1){transform:rotate(-1.4deg)}
.live-format:nth-child(2){transform:rotate(2.6deg) translateY(5px)}
.live-format:nth-child(3){transform:rotate(-3.2deg) translateY(-3px)}
.live-format:nth-child(4){transform:rotate(1.3deg) translateY(4px)}
.live-format:nth-child(5){transform:rotate(-2.2deg) translateY(-2px)}
.live-format:hover{box-shadow:0 17px 28px rgba(0,0,0,.19)}
@media(max-width:900px){
  .live-format{flex:0 0 72vw}
  .live-format:nth-child(1){transform:rotate(-1.4deg)}
  .live-format:nth-child(2){transform:rotate(2.2deg)}
  .live-format:nth-child(3){transform:rotate(-2.8deg)}
  .live-format:nth-child(4){transform:rotate(1.2deg)}
  .live-format:nth-child(5){transform:rotate(-2deg)}
}


/* v0.9.7 — Dal vivo: typography normalization + wider torn quote */
.live-page-intro__copy>p:not(.inner-kicker),
.live-page-story__copy>p{
  font-family:"Manrope",sans-serif !important;
  font-size:16px !important;
  line-height:1.65 !important;
}
.live-page-quote{
  width:104vw !important;
  margin-left:-2vw !important;
  padding:0 2vw !important;
  aspect-ratio:2048 / 682 !important;
  min-height:0 !important;
  background:url('../images/quote-torn-yellow.png') center center / 100% 100% no-repeat !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
@media(max-width:767px){
  .live-page-quote{
    width:108vw !important;
    margin-left:-4vw !important;
    aspect-ratio:auto !important;
    min-height:390px !important;
    padding:0 4vw !important;
    background-size:auto 100% !important;
    background-position:center center !important;
  }
}

/* v0.9.8 — Il Progetto */
.project-page{background:#fff;color:#111}
.project-intro{padding:92px 0 78px}
.project-intro__grid,.project-heart__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.92fr);gap:84px;align-items:center}
.project-intro h1,.project-heart h2{margin:10px 0 28px;font-family:"Covered By Your Grace",cursive;font-weight:400;font-size:clamp(58px,5.7vw,92px);line-height:.88;letter-spacing:-.02em}
.project-intro__copy>p:not(.inner-kicker),.project-heart__copy>p:not(.inner-kicker){font-family:"Manrope",sans-serif;font-size:16px;line-height:1.65;margin:0 0 18px}
.project-intro__image,.project-heart__image{margin:0;background:#fff;padding:10px;box-shadow:0 18px 42px rgba(0,0,0,.17);transform:rotate(2deg)}
.project-intro__image img{display:block;width:100%;aspect-ratio:1.28/1;object-fit:cover;object-position:58% center}
.project-heart__image img{display:block;width:100%;height:auto}
.project-values{width:min(1180px,calc(100% - 80px));margin:4px auto 98px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.project-value{position:relative;min-height:210px;padding:34px 30px 30px;background:#f5f1e9;box-shadow:0 12px 26px rgba(0,0,0,.08)}
.project-value:nth-child(1){transform:rotate(-1.5deg)}.project-value:nth-child(2){transform:rotate(1.5deg)}.project-value:nth-child(3){transform:rotate(-1deg)}
.project-value span{display:block;margin-bottom:20px;font:800 11px/1 Manrope,sans-serif;letter-spacing:.15em;color:#ef174c}
.project-value strong{display:block;margin-bottom:13px;font:400 38px/.95 "Covered By Your Grace",cursive}
.project-value p{margin:0;font:400 14px/1.55 Manrope,sans-serif}
.project-quote{position:relative;width:104vw;margin-left:-2vw;padding:116px 2vw 112px;text-align:center;background:#000 url('../images/quote-torn-black.png') center center/100% 100% no-repeat;transform:rotate(2deg);transform-origin:center;z-index:2}
.project-quote__content{transform:rotate(-2deg)}
.project-quote blockquote{margin:0;display:flex;justify-content:center;align-items:flex-start;gap:16px;color:#fff;font-family:"Covered By Your Grace",cursive;font-size:clamp(42px,4.2vw,68px);line-height:.98;font-weight:400}
.project-quote__mark{font-family:Georgia,serif;color:#ffed00;font-size:.72em;font-weight:700;line-height:1}
.project-quote p{margin:20px 0 0;color:#ffed00;font:800 10px/1 Manrope,sans-serif;letter-spacing:.18em}
.project-heart{padding:116px 0 124px}
.project-heart__grid{grid-template-columns:minmax(0,1.03fr) minmax(390px,.89fr)}
.project-heart__image{transform:rotate(-3deg)}
@media(max-width:900px){
 .project-intro{padding:58px 0 52px}.project-intro__grid,.project-heart__grid{grid-template-columns:1fr;gap:42px}.project-intro h1,.project-heart h2{font-size:60px}
 .project-intro__image,.project-heart__image{width:88%;margin:0 auto}.project-values{width:calc(100% - 40px);grid-template-columns:1fr;margin-bottom:72px;gap:22px}.project-value{min-height:0}
 .project-quote{width:108vw;margin-left:-4vw;padding:92px 4vw 88px;background-size:100% 100%;min-height:300px;display:flex;align-items:center;justify-content:center}.project-quote blockquote{gap:7px;font-size:43px}.project-heart{padding:86px 0 96px}
}
@media(max-width:560px){.project-intro h1,.project-heart h2{font-size:54px}.project-quote blockquote{font-size:38px}.project-quote p{margin-top:16px}.project-intro__copy>p:not(.inner-kicker),.project-heart__copy>p:not(.inner-kicker){font-size:16px;line-height:1.65}}


/* v0.9.9 — Progetto refinements */
.project-intro__image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.project-value strong{text-transform:none}
.project-quote{width:110vw;margin-left:-5vw;background-size:102% 102%;overflow:hidden}
.project-quote blockquote{font-size:clamp(38px,3.45vw,56px);line-height:.98;white-space:normal}
.project-quote blockquote>span:nth-child(2){max-width:1040px}
.project-heart__image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}
@media(max-width:900px){
 .project-quote{width:116vw;margin-left:-8vw;background-size:103% 103%;padding-left:8vw;padding-right:8vw}
 .project-quote blockquote{font-size:clamp(34px,7vw,43px);line-height:1}
 .project-quote blockquote>span:nth-child(2){max-width:82vw}
}
@media(max-width:560px){.project-quote blockquote{font-size:34px}}

/* v0.10.0 — definitive black tear + News archive */
.project-quote{
  width:104vw !important;
  margin-left:-2vw !important;
  padding-left:2vw !important;
  padding-right:2vw !important;
  background-image:url('../images/quote-torn-black.png') !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  overflow:visible !important;
}
.project-quote__second-line{white-space:nowrap}

.news-page{background:#fff;color:#111}
.news-page__intro{padding:92px 0 68px}
.news-page__intro-inner{max-width:820px;margin-left:max(28px,calc((100vw - var(--max))/2))}
.news-page__intro h1{margin:9px 0 25px;font:400 clamp(58px,5.6vw,90px)/.88 "Covered By Your Grace",cursive;letter-spacing:-.02em}
.news-page__intro p:not(.inner-kicker){max-width:700px;margin:0;font:400 16px/1.65 "Manrope",sans-serif}
.news-page__listing{padding:10px max(28px,calc((100vw - var(--max))/2)) 118px}
.news-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.news-page__card{border-radius:0;border:0;box-shadow:0 12px 30px rgba(0,0,0,.09);overflow:visible}
.news-page__card:nth-child(3n+1){transform:rotate(-.7deg)}
.news-page__card:nth-child(3n+2){transform:rotate(.6deg)}
.news-page__card:nth-child(3n){transform:rotate(-.35deg)}
.news-page__card .news-card__image{height:auto;aspect-ratio:16/9;border:8px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.11)}
.news-page__card .news-card__body{padding:20px 18px 22px}
.news-page__card .news-card__body small{color:#ef174c;letter-spacing:.12em;margin-bottom:8px}
.news-page__card .news-card__body h3{margin:0 0 8px;font:800 19px/1.2 "Manrope",sans-serif}
.news-page__card .news-card__body h3 a{color:#111;text-decoration:none}
.news-page__card .news-card__body p{font-size:13px;line-height:1.5;margin-bottom:16px}
.news-page__read{color:#ef174c;text-decoration:none;font:800 10px/1 "Manrope",sans-serif;letter-spacing:.08em}
.news-page__read span{margin-left:7px;font-size:15px}
.news-page__pagination{margin-top:58px;text-align:center;font-family:"Manrope",sans-serif}
.news-page__pagination .nav-links{display:flex;justify-content:center;gap:8px}
.news-page__pagination .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #111;border-radius:999px;color:#111;text-decoration:none;font-size:12px;font-weight:800}
.news-page__pagination .current{background:#111;color:#fff}
@media(max-width:900px){
  .project-quote{width:108vw !important;margin-left:-4vw !important;padding-left:4vw !important;padding-right:4vw !important;background-size:auto 100% !important;overflow:visible !important}
  .project-quote__second-line{white-space:normal}
  .news-page__intro{padding:58px 0 48px}
  .news-page__intro-inner{margin:0 20px}
  .news-page__intro h1{font-size:60px}
  .news-page__listing{padding:8px 20px 90px}
  .news-page__grid{grid-template-columns:1fr;gap:30px}
  .news-page__card{transform:none !important}
}
@media(max-width:560px){
  .news-page__intro h1{font-size:54px}
  .news-page__intro p:not(.inner-kicker){font-size:16px;line-height:1.65}
}

/* v0.10.1 — definitive black tear sizing */
.project-quote{width:104vw !important;margin-left:-2vw !important;padding-left:2vw !important;padding-right:2vw !important;background-size:100% 100% !important;background-position:center !important;overflow:visible !important}
@media(max-width:900px){.project-quote{width:108vw !important;margin-left:-4vw !important;padding-left:4vw !important;padding-right:4vw !important;background-size:100% 100% !important}}

/* v0.10.2 — Project quote rebuilt with the exact working Music mechanism */
.project-quote{
  position:relative !important;
  width:104vw !important;
  margin-left:-2vw !important;
  padding:0 2vw !important;
  aspect-ratio:2048 / 682 !important;
  min-height:0 !important;
  background:#000 url('../images/quote-torn-black.png') center center / 100% 100% no-repeat !important;
  overflow:visible !important;
  transform:rotate(2deg) !important;
  transform-origin:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.project-quote__content{position:relative !important;z-index:2 !important;width:min(1100px,86vw) !important;margin:0 auto !important;padding:0 !important;transform:none !important;text-align:center !important}
@media(max-width:767px){
  .project-quote{width:108vw !important;margin-left:-4vw !important;aspect-ratio:auto !important;min-height:390px !important;padding:0 4vw !important;background-size:auto 100% !important;background-position:center center !important}
}

/* v0.10.2 — Contatti */
.contact-page{background:#fff;color:#111}
.contact-page__hero{padding:96px 0 122px}
.contact-page__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:86px;align-items:start}
.contact-page__copy{padding-top:20px}
.contact-page__copy h1{margin:10px 0 28px;font:400 clamp(64px,6vw,98px)/.86 "Covered By Your Grace",cursive;letter-spacing:-.02em}
.contact-page__copy>p:not(.inner-kicker){max-width:570px;margin:0 0 18px;font:400 16px/1.65 "Manrope",sans-serif}
.contact-page__notes{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.contact-page__notes span{display:inline-block;padding:10px 15px;background:#ffed00;box-shadow:0 6px 14px rgba(0,0,0,.09);font:400 23px/1 "Covered By Your Grace",cursive}
.contact-page__notes span:nth-child(1){transform:rotate(-2deg)}.contact-page__notes span:nth-child(2){transform:rotate(2deg)}.contact-page__notes span:nth-child(3){transform:rotate(-1deg)}.contact-page__notes span:nth-child(4){transform:rotate(1.5deg)}
.contact-card{padding:38px 40px 42px;background:#f5f1e9;box-shadow:0 18px 42px rgba(0,0,0,.12);transform:rotate(.45deg)}
.contact-form{transform:rotate(-.45deg)}
.contact-form label{display:block;font:800 11px/1.35 "Manrope",sans-serif;letter-spacing:.04em}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form select,.contact-form textarea{width:100%;margin-top:9px;border:0;border-bottom:2px solid #111;background:#fff;padding:13px 14px;font:500 15px/1.4 "Manrope",sans-serif;outline:none;border-radius:0}
.contact-form textarea{resize:vertical;min-height:160px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:#ef174c}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}
.contact-form>label{margin-bottom:24px}
.contact-form__privacy{display:flex !important;align-items:flex-start;gap:10px;font-weight:500 !important;letter-spacing:0 !important;line-height:1.45 !important}
.contact-form__privacy input{margin-top:3px;flex:0 0 auto}
.contact-form__submit{border:0;cursor:pointer}
.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-alert{margin:0 0 26px;padding:14px 16px;background:#fff;border-left:4px solid #ef174c;font:700 13px/1.45 "Manrope",sans-serif}
.contact-alert--ok{border-left-color:#111}
@media(max-width:900px){.contact-page__hero{padding:58px 0 90px}.contact-page__grid{grid-template-columns:1fr;gap:50px}.contact-page__copy{padding-top:0}.contact-page__copy h1{font-size:64px}.contact-card{padding:30px 24px 34px;transform:none}.contact-form{transform:none}}
@media(max-width:560px){.contact-page__copy h1{font-size:56px}.contact-form__row{grid-template-columns:1fr;gap:24px;margin-bottom:24px}.contact-page__notes span{font-size:21px}.contact-card{padding:26px 20px 30px}}

/* v0.10.3 — Project tear: remove solid element background that bleeds on rotated edges.
   The supplied PNG already contains the complete black band and shadow, exactly like Music. */
.project-quote{
  background-color:transparent !important;
  background-image:url('../images/quote-torn-black.png') !important;
  background-position:center center !important;
  background-size:100% 100% !important;
  background-repeat:no-repeat !important;
}
@media(max-width:767px){
  .project-quote{
    background-color:transparent !important;
    background-size:auto 100% !important;
    background-position:center center !important;
  }
}

/* v0.10.3 — Contact request post-its: five taller, near-square notes */
.contact-page__notes{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:36px !important;
  width:min(690px,100%) !important;
}
.contact-page__notes span{
  min-width:0 !important;
  aspect-ratio:1 / 1 !important;
  padding:14px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:#ffed00 !important;
  box-shadow:0 8px 16px rgba(0,0,0,.13) !important;
  font:400 22px/.9 "Covered By Your Grace",cursive !important;
}
.contact-page__notes span:nth-child(1){transform:rotate(-2deg) !important}
.contact-page__notes span:nth-child(2){transform:rotate(2.5deg) !important}
.contact-page__notes span:nth-child(3){transform:rotate(-1.5deg) !important}
.contact-page__notes span:nth-child(4){transform:rotate(2deg) !important}
.contact-page__notes span:nth-child(5){transform:rotate(-2.5deg) !important}
@media(max-width:900px){
  .contact-page__notes{grid-template-columns:repeat(5,minmax(0,1fr)) !important;width:100% !important;gap:8px !important}
  .contact-page__notes span{font-size:20px !important;padding:10px 6px !important}
}
@media(max-width:560px){
  .contact-page__notes{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important}
  .contact-page__notes span{font-size:20px !important}
}

/* v0.10.4 — Contact layout: wider notes area, more compact form */
@media(min-width:901px){
  .contact-page__grid{
    grid-template-columns:minmax(0,1.02fr) minmax(460px,.98fr) !important;
    gap:58px !important;
  }
  .contact-page__notes{
    width:min(760px,100%) !important;
    gap:14px !important;
  }
  .contact-card{
    max-width:620px !important;
    width:100% !important;
    justify-self:end !important;
  }
}

/* v0.10.5 — TV: frame + copy + selected Sky appearance */
.tv-band.tv-band--single{
  display:grid !important;
  grid-template-columns:minmax(300px,34%) minmax(0,66%) !important;
  min-height:330px !important;
  height:auto !important;
  background:#050505 !important;
}
.tv-band--single .tv-band__media{width:100% !important;height:100% !important;min-height:330px !important}
.tv-band--single .tv-band__content{
  height:auto !important;min-height:330px !important;padding:38px 46px !important;
  display:grid !important;grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr) !important;
  gap:38px !important;align-items:center !important;
}
.tv-band--single .tv-band__copy{padding:0 !important}
.tv-band--single .tv-band__copy p{margin-bottom:0 !important}
.tv-band__video{min-width:0}
.tv-video-card{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#111;border:5px solid #fff;box-shadow:0 12px 28px rgba(0,0,0,.34);transform:rotate(1deg);color:#fff;text-decoration:none}
.tv-video-card img{display:block;width:100%;height:100%;object-fit:cover}
.tv-video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent 48%)}
.tv-video-card__play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f20b45;color:#fff;font-size:22px;padding-left:4px;box-shadow:0 7px 18px rgba(0,0,0,.35)}
.tv-video-card__label{position:absolute;z-index:2;left:18px;bottom:15px;font:800 11px/1.2 "Manrope",sans-serif;letter-spacing:.04em}
@media(max-width:1050px){.tv-band--single .tv-band__content{grid-template-columns:1fr;gap:24px}.tv-video-card{max-width:560px}}
@media(max-width:767px){.tv-band.tv-band--single{display:block !important}.tv-band--single .tv-band__media{min-height:240px !important}.tv-band--single .tv-band__content{display:block !important;min-height:0 !important;padding:34px 20px 42px !important}.tv-band__video{margin-top:28px}.tv-video-card{width:100%;transform:none}}

/* v0.10.5 — YouTube lightbox: keep viewers on CoccoRock.it */
.cr-video-dialog{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:54px 24px 24px}
.cr-video-dialog.is-open{display:flex}
.cr-video-dialog__frame{width:min(1080px,94vw);aspect-ratio:16/9;background:#000;box-shadow:0 18px 60px rgba(0,0,0,.5)}
.cr-video-dialog__frame iframe{display:block;width:100%;height:100%;border:0}
.cr-video-dialog__close{position:absolute;right:24px;top:14px;border:0;background:transparent;color:#fff;font:300 46px/1 Arial,sans-serif;cursor:pointer}
body.cr-video-open{overflow:hidden}


/* v0.10.6 — Home video cleanup + TV rebuilt without stretching the original frame */
.music-band .music-cover{cursor:default}
.fables-cards .fable-card{cursor:default}

@media(min-width:768px){
  .tv-band.tv-band--clean{
    --tv-h:clamp(245px,18vw,300px);
    --tv-photo-w:calc(var(--tv-h) * 1.7813765);
    display:grid !important;
    grid-template-columns:var(--tv-photo-w) minmax(0,1fr) !important;
    height:var(--tv-h) !important;
    min-height:0 !important;
    background:#050505 !important;
    overflow:hidden !important;
  }
  .tv-band--clean .tv-band__media{
    width:var(--tv-photo-w) !important;
    height:var(--tv-h) !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .tv-band--clean .tv-band__media img{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:none !important;
  }
  .tv-band--clean .tv-band__media:after{display:none !important}
  .tv-band--clean .tv-band__content{
    height:var(--tv-h) !important;
    min-height:0 !important;
    padding:28px 46px !important;
    display:grid !important;
    grid-template-columns:minmax(320px,1fr) auto !important;
    gap:44px !important;
    align-items:center !important;
  }
  .tv-band--clean .tv-band__copy{max-width:610px !important;padding:0 !important}
  .tv-band--clean .tv-band__copy h2{margin:0 0 12px !important;line-height:.82 !important;white-space:normal !important}
  .tv-band--clean .tv-band__copy p{margin:0 !important;max-width:610px !important}
  .tv-band--clean .tv-band__action{display:flex;align-items:center;justify-content:flex-end}
  .tv-band--clean .tv-band__button--xfactor{white-space:nowrap !important;margin:0 !important}
}
@media(max-width:767px){
  .tv-band.tv-band--clean{display:flex !important;flex-direction:column !important;height:auto !important;min-height:0 !important;background:#050505 !important}
  .tv-band--clean .tv-band__media{order:2;width:100% !important;height:auto !important;min-height:0 !important;overflow:hidden !important}
  .tv-band--clean .tv-band__media img{position:relative !important;display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;object-position:center !important;transform:none !important}
  .tv-band--clean .tv-band__media:after{display:none !important}
  .tv-band--clean .tv-band__content{order:1;display:block !important;height:auto !important;min-height:0 !important;padding:38px 20px 34px !important}
  .tv-band--clean .tv-band__copy h2{white-space:normal !important}
  .tv-band--clean .tv-band__copy p{margin-bottom:0 !important}
  .tv-band--clean .tv-band__action{margin-top:26px}
}

/* v0.10.7 — Anche in TV: enlarge the left X Factor image to 130% without changing its proportions or section geometry */
@media(min-width:768px){
  .tv-band--clean .tv-band__media img{
    transform:scale(1.30) !important;
    transform-origin:center center !important;
  }
}

/* v0.10.8 — Anche in TV: the 130% X Factor image now defines the section geometry.
   Increase the media column and section height together; no scaling inside the old box. */
@media(min-width:768px){
  .tv-band.tv-band--clean{
    --tv-h:calc(clamp(245px,18vw,300px) * 1.30) !important;
    --tv-photo-w:calc(var(--tv-h) * 1.7813765) !important;
    grid-template-columns:var(--tv-photo-w) minmax(0,1fr) !important;
    height:var(--tv-h) !important;
  }
  .tv-band--clean .tv-band__media{
    width:var(--tv-photo-w) !important;
    height:var(--tv-h) !important;
  }
  .tv-band--clean .tv-band__media img{
    width:100% !important;
    height:100% !important;
    transform:none !important;
    object-fit:contain !important;
  }
  .tv-band--clean .tv-band__content{
    height:var(--tv-h) !important;
  }
}

/* v0.11.0 – pagina Il Progetto e banner donazioni indipendente */
.project-hospital{padding:92px 0 28px}
.project-hospital__grid{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1fr);gap:78px;align-items:center}
.project-hospital__image{margin:0;background:#fff;padding:10px;box-shadow:0 18px 42px rgba(0,0,0,.17);transform:rotate(-2deg)}
.project-hospital__image img{display:block;width:100%;aspect-ratio:1.2/1;object-fit:cover}
.project-hospital__copy h1{font-family:"Covered By Your Grace",cursive;font-size:clamp(54px,5.5vw,88px);font-weight:400;line-height:.9;margin:12px 0 26px}
.project-hospital__copy h1 span{color:#f20a4e}
.project-hospital__copy>p:not(.inner-kicker){font-family:Manrope,sans-serif;font-size:16px;line-height:1.65;margin:0 0 18px}
.fondazione-banner{box-sizing:border-box;width:min(1180px,calc(100% - 80px));margin:24px auto 16px;padding:30px 46px;display:grid;grid-template-columns:285px 1fr 110px;gap:36px;align-items:center;background:#fff0f3;border-radius:9px}
.fondazione-banner__brand{color:#07558b;border-right:1px solid #f5a7b8;min-height:130px;display:flex;flex-direction:column;justify-content:center;position:relative;padding-left:64px;font-family:Manrope,sans-serif;line-height:1.15}
.fondazione-banner__brand strong{font-size:23px;font-weight:800}.fondazione-banner__brand small{font-size:9px;letter-spacing:.08em;font-weight:800;margin-top:8px}.fondazione-banner__symbol{position:absolute;left:0;top:27px;font-size:62px;line-height:1}
.fondazione-banner__content h2{font-family:Manrope,sans-serif;color:#ef0b4a;font-size:19px;letter-spacing:.025em;margin:0 0 8px;font-weight:800}.fondazione-banner__content p{font-family:Manrope,sans-serif;font-size:17px;line-height:1.45;margin:0 0 17px}
.fondazione-banner__content a{display:inline-flex;align-items:center;gap:16px;background:#f0074c;color:#fff;text-decoration:none;border-radius:30px;padding:14px 24px;font-family:Manrope,sans-serif;font-size:13px;font-weight:800}
.fondazione-banner__content a:hover{background:#cb003b}.fondazione-banner__heart{font-family:"Covered By Your Grace",cursive;font-size:115px;line-height:1;color:#f0074c;text-align:center}
.project-intro--values{padding-top:55px}
.project-intro--values h2{margin:10px 0 28px;font-family:"Covered By Your Grace",cursive;font-weight:400;font-size:clamp(58px,5.7vw,92px);line-height:.88;letter-spacing:-.02em}
@media(max-width:900px){.project-hospital{padding:60px 0 18px}.project-hospital__grid{grid-template-columns:1fr;gap:36px}.project-hospital__image{width:88%;margin:0 auto}.project-hospital__copy h1{font-size:60px}.fondazione-banner{grid-template-columns:1fr;gap:18px;padding:28px;width:calc(100% - 40px)}.fondazione-banner__brand{border-right:0;border-bottom:1px solid #f5a7b8;padding-bottom:18px;min-height:90px}.fondazione-banner__heart{display:none}.project-intro--values h2{font-size:60px}}
@media(max-width:560px){.project-hospital__copy h1,.project-intro--values h2{font-size:54px}.project-hospital__copy>p:not(.inner-kicker){font-size:16px}.fondazione-banner__content p{font-size:15px}.fondazione-banner__content h2{font-size:17px}.fondazione-banner__brand strong{font-size:20px}}

/* Il Progetto v0.11.1: hero originale dritta, inclinazione/cornice solo CSS; banner grafico sostituibile. */
.project-hospital__image img{aspect-ratio:1262/817;object-fit:cover}
.fondazione-banner.fondazione-banner--image{display:block;padding:0;background:transparent;border-radius:0;width:min(1180px,calc(100% - 80px));margin:28px auto 28px}
.fondazione-banner__link{display:block;line-height:0;border-radius:9px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.fondazione-banner__link img{display:block;width:100%;height:auto}
.fondazione-banner__link:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.09)}
.fondazione-banner__link:focus-visible{outline:3px solid #f0074c;outline-offset:4px}
@media(max-width:900px){.fondazione-banner.fondazione-banner--image{width:calc(100% - 40px);padding:0}}

/* v0.11.2 – titolo hero su tre righe, cuore disegnato a mano e tre raggi rossi. */
.project-hospital__copy{position:relative;min-width:0}
.project-hospital__copy .project-hospital__title{font-size:clamp(42px,4.1vw,67px);line-height:.99;letter-spacing:-.025em;margin:12px 0 26px;position:relative;z-index:1}
.project-hospital__title-line{display:block;white-space:nowrap}
.project-hospital__doodle-heart{display:inline-block;width:.72em;height:.75em;vertical-align:-.1em;margin-left:.16em;color:#f0074c;overflow:visible}
.project-hospital__accent-rays{position:absolute;right:-25px;top:43px;width:75px;height:75px;color:#f0074c;pointer-events:none}
@media(max-width:1100px){.project-hospital__copy .project-hospital__title{font-size:clamp(37px,4.25vw,57px)}.project-hospital__accent-rays{right:-13px;width:58px;height:58px}}
@media(max-width:900px){.project-hospital__copy .project-hospital__title{font-size:clamp(40px,7.4vw,67px)}.project-hospital__accent-rays{right:5px;top:35px}}
@media(max-width:560px){.project-hospital__copy .project-hospital__title{font-size:clamp(29px,7.15vw,43px)}.project-hospital__accent-rays{width:40px;height:40px;right:0;top:27px}}

/* v0.11.3 — fix puntuale hero Il Progetto: nero, cuore a pennarello. */
.project-hospital .project-hospital__copy h1.project-hospital__title,
.project-hospital .project-hospital__copy h1.project-hospital__title .project-hospital__title-line {color:#111 !important;}
.project-hospital__title .project-hospital__doodle-heart {color:#f0074c !important;width:.72em;height:.78em;vertical-align:-.10em;margin-left:.12em;}

/* v0.11.4 – eliminate le decorazioni a raggi: il cuore approvato resta invariato. */
.project-hospital__accent-rays{display:none!important}

/* v0.11.6 — archivio eventi */
.news-page__section-title{font:400 clamp(40px,4vw,65px)/1 "Covered By Your Grace",cursive;margin:0 0 34px;color:#111}
.news-page__listing--past{background:#f7f3ea;padding-top:70px}
.news-page__empty{font:500 16px/1.7 "Manrope",sans-serif;margin:0}
.cr-event-detail{max-width:900px;margin:0 auto}
.cr-event-detail__image{display:block;max-width:100%;height:auto;margin:0 0 35px;border:10px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.11)}
.cr-event-detail__content{font:400 17px/1.75 "Manrope",sans-serif;margin-bottom:35px}
@media(max-width:900px){.news-page__listing--past{padding-top:52px}.news-page__section-title{font-size:48px;margin-bottom:25px}}

/* v0.11.9 — icone social ufficiali fornite dal cliente. */
.site-footer__social a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;line-height:1}
.site-footer__social a img{display:block;width:34px;height:34px;object-fit:contain;border-radius:8px}
.site-footer__social a:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:700px){.site-footer__social a img{width:30px;height:30px}.site-footer__social a{min-width:30px;min-height:30px}}
