@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Permanent+Marker&display=swap');

/* QBR / manifesto estivo: inchiostro scuro, colori pieni, titoli da locandina. */
:root{--ink:#071d2a;--paper:#fffdf6;--purple:#792bd2;--deep:#061724;--orange:#ff6928;--yellow:#ffd229;--aqua:#24d1d4;--pink:#f45b96;--line:#071d2a;--shadow:4px 5px 0 #071d2a;font-family:'DM Sans',Arial,sans-serif;background:var(--deep)}
body{background:var(--deep);color:var(--paper)}
main{overflow:clip}
p{font-size:1.0625rem;line-height:1.7}
h1,h2,h3{letter-spacing:-.01em;overflow-wrap:anywhere}
h1,h2{text-transform:uppercase;line-height:1.12}
h3{line-height:1.2}
figure{margin:0}
.wrap{width:min(1180px,100% - 56px)}
.eyebrow{font-size:.875rem;letter-spacing:.12em;line-height:1.55}
.marker{font-family:'Permanent Marker',Impact,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1.2;color:var(--orange);text-transform:uppercase}
.handwritten{font-family:'Permanent Marker',Impact,sans-serif;color:var(--yellow);font-size:clamp(1.3rem,2.4vw,2.15rem);line-height:1.5}
.header{background:var(--paper);color:var(--ink);border-bottom:3px solid var(--ink)}
.header-inner{padding:14px 0;flex-wrap:wrap}
.brand strong{font-size:1.6rem;letter-spacing:.015em;overflow-wrap:anywhere}
.brand small{font-size:.8125rem;letter-spacing:.065em}
.nav{font-size:1rem;gap:24px}
.nav a{min-height:48px;display:flex;align-items:center}
.menu-toggle{border-radius:9px;min-height:54px;box-shadow:3px 3px 0 var(--ink)}
.menu-toggle[aria-expanded=true]{background:var(--ink)}
.menu-panel{background:var(--ink);color:var(--paper);border:2px solid var(--paper);border-radius:12px;box-shadow:5px 6px 0 #0008;padding:12px}
.menu-panel a{font-size:1rem;line-height:1.4;padding:13px;border-radius:6px}
.menu-panel a:hover{background:#ffffff15}
.menu-panel a[aria-current=page]{background:var(--yellow);color:var(--ink)}
.button{font-size:1rem;min-height:54px;border-radius:8px;padding:14px 24px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);font-weight:800;box-shadow:3px 4px 0 #0004;line-height:1.35;text-align:center}
.button.yellow{background:linear-gradient(110deg,var(--yellow) 35%,#ff9234);color:var(--ink)}
.button.white{background:var(--paper);color:var(--ink)}
.button.purple{background:var(--purple);color:var(--paper)}
.button.outline,.button.ghost{background:transparent;color:var(--paper);border-color:#fff8;box-shadow:none}
.button:hover{transform:translateY(-3px);box-shadow:4px 6px 0 #0005}
.button-row{align-items:center;gap:14px;margin-top:24px}
.text-link,.link-label{font-size:1rem;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.text-link{display:inline-flex;align-items:center;min-height:48px;padding:8px 0}
.section{background:var(--paper);color:var(--ink);padding:72px 0}
.section h2{font-size:clamp(2rem,4.4vw,3.7rem)}
.section.compact{padding:35px 0}
.block-head{margin-bottom:32px;gap:24px}
.block-head>p{font-size:1.0625rem;max-width:340px}
.tile{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:9px;box-shadow:4px 5px 0 var(--ink)}
.tile-pad{padding:28px}
.tile h3{font-size:1.75rem;text-transform:uppercase}
.tile p{font-size:1rem}
.tile.purple{background:var(--purple);color:var(--paper)}
.tile.yellow{background:var(--yellow)}
.tile.orange{background:var(--orange)}
.tile.aqua{background:var(--aqua)}
.tile.pink{background:var(--pink)}
.lift:hover{transform:translateY(-5px);box-shadow:6px 8px 0 var(--ink)}
.poster-photo{position:relative;align-self:center;background:var(--paper);padding:8px;box-shadow:9px 11px 0 #0007;transform:rotate(-2deg);border-radius:3px}
.poster-photo img{width:100%;border:0;border-radius:0;box-shadow:none}
.photo-stamp{position:absolute;bottom:12px;left:-12px;max-width:90%;transform:rotate(-3deg);background:linear-gradient(100deg,var(--yellow),var(--orange));color:var(--ink);font-family:Anton,Impact,sans-serif;font-size:1.25rem;text-transform:uppercase;padding:11px 20px;line-height:1.3;border:2px solid var(--ink);box-shadow:3px 4px 0 var(--ink)}
.home-opening{background:linear-gradient(120deg,#074766 0%,#096a83 100%);padding:52px 0 50px;border-bottom:0}
.home-grid{grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.home-left{display:block;padding:0}
.home-left h1{font-size:clamp(3rem,5.8vw,5.2rem);margin:0 0 25px;color:var(--paper);line-height:1.13}
.home-left h1 span{color:var(--yellow);display:inline-block}
.home-left>.intro-text{font-size:1.125rem;max-width:470px;color:#dce8ed}
.home-left>.eyebrow{color:#b7ffff;margin-bottom:21px}
.pillo-helper{margin:29px 0 0;max-width:none;width:100%;border:1px solid #ffffff60;box-shadow:none;border-radius:9px;background:#073e58;color:var(--paper);padding:14px 18px;gap:16px;min-height:102px}
.pillo-helper img{width:76px;height:76px;flex:none}
.pillo-helper strong{font-size:1.125rem;color:var(--yellow);margin-bottom:4px}
.pillo-helper span{font-size:.9375rem;line-height:1.5}
.academy-card{background:var(--purple);color:var(--paper);border:3px solid var(--paper);border-radius:6px;box-shadow:8px 10px 0 #0007;transform:rotate(1.5deg)}
.academy-card-visual{position:relative;display:block}
.academy-card img{margin:0;width:100%;aspect-ratio:5/3;object-fit:cover;object-position:center 30%}
.academy-card .photo-stamp{font-size:1.125rem;bottom:-13px;left:15px}
.academy-card-bottom{padding:32px 27px 27px;background:var(--purple)}
.academy-card h2{font-size:clamp(2.3rem,4.2vw,3.4rem);line-height:1.2;color:var(--paper);margin-bottom:12px}
.academy-card h2 span{font-size:1em;display:inline;color:var(--yellow);margin:0}
.academy-card-bottom .eyebrow{font-size:.8125rem;letter-spacing:.06em;color:#f1dcff}
.academy-card-bottom p{font-size:1.0625rem;line-height:1.6}
.academy-card-bottom .button{width:100%}
.news-strip{background:var(--yellow);color:var(--ink);border-block:2px solid var(--ink);padding:23px 0}
.news{display:grid;grid-template-columns:160px 1fr auto;gap:26px;align-items:center;margin-top:0;border:0;padding:0}
.news-header{display:block;font:400 1.3rem/1.25 Anton,Impact,sans-serif;margin:0}
.news-header span:last-child{font:700 .875rem 'DM Sans',sans-serif;display:block;margin-top:7px}
.news h3{font:800 1.125rem/1.5 'DM Sans',sans-serif;margin:0}
.news p{font-size:1rem;margin:3px 0}
.news a{font-size:1rem;display:inline-block;min-height:32px}
.news-buttons{margin:0;gap:8px}
.news-buttons button{width:46px;height:46px;border-radius:6px;font-size:1rem;background:transparent}
.news-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.world-doors{gap:24px}
.door{border-radius:8px;padding:28px 24px;background:var(--yellow);gap:22px;border:2px solid var(--ink);box-shadow:5px 6px 0 var(--ink);color:var(--ink)}
.door:nth-child(2){background:var(--orange)}
.door:nth-child(3){background:var(--aqua)}
.door .door-logo{height:150px}
.door strong{font-size:1.125rem;text-align:center;line-height:1.5}
.door .link-label{text-align:center;font-size:1rem}
.world-word{font-size:3.7rem}
.world-word span{color:var(--purple)}
.services-section{background:var(--yellow);border-block:3px solid var(--ink)}
.services-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.services-section .services-heading h2{font-size:clamp(1.35rem,5.3vw,3.5rem);line-height:1.18;margin:0;overflow-wrap:normal}
.services-pillo{width:clamp(60px,10vw,110px);height:clamp(90px,15vw,165px);object-fit:contain;flex:none}
.service{background:var(--paper);color:var(--ink);border-radius:8px;padding:30px;align-items:start;gap:20px}
.service:nth-child(2){background:var(--aqua)}
.service-number{font:400 2.7rem/1 Anton,Impact,sans-serif;color:var(--purple);flex-shrink:0}
.service .eyebrow{font-size:.8125rem;margin-bottom:12px}
.service h3{font-size:1.9rem;text-transform:uppercase}
.service p{font-size:1rem;margin-bottom:16px}
.story{background:var(--deep);color:var(--paper);border:0}
.story .two{gap:62px}
.story .eyebrow{color:var(--aqua)}
.story .marker{color:var(--yellow)}
.story .two img{aspect-ratio:5/4;object-fit:cover}
.story .button-row a:not(.button){font-size:1rem;color:var(--paper)}
.world-section{background:var(--aqua);border-block:3px solid var(--ink)}
.world-card .tile-pad{padding:23px}
.world-card h3{font-size:1.85rem}
.world-card p{font-size:1rem}
.world-card .tag{font-size:.875rem;border-radius:3px;background:var(--yellow);padding:5px 11px;transform:rotate(-2deg)}
.world-card .link-label{font-size:1rem;min-height:36px}
.world-card img{aspect-ratio:4/3;object-fit:cover}
.page-hero{background:var(--deep)!important;color:var(--paper)!important;border-bottom:4px solid var(--orange);padding:52px 0 60px}
.page-hero .two{grid-template-columns:1.05fr .95fr;gap:58px}
.page-hero h1{font-size:clamp(2.8rem,5.6vw,4.9rem);max-width:800px}
.page-hero .eyebrow{color:var(--yellow)}
.page-hero .hero-img{border:0;border-radius:0;box-shadow:none;aspect-ratio:5/4;object-fit:cover;background:transparent}
.page-hero .intro-text{font-size:1.125rem;color:#dce8ed}
.breadcrumb{font-size:.875rem;margin-bottom:23px;min-height:26px}
.academy-opening{padding:30px 0 0;background:var(--deep);border-bottom:3px solid var(--ink)}
.academy-opening>.wrap>.breadcrumb{color:#aec7d2}
.academy-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;padding:8px 0 45px}
.academy-pitch .eyebrow{color:var(--aqua);font-size:.875rem;margin-bottom:19px;letter-spacing:.07em}
.academy-pitch h1{font-size:clamp(3.5rem,6.2vw,5.4rem);color:var(--paper);line-height:1.13;margin:0 0 20px}
.academy-pitch h1 .marker{display:block;color:var(--yellow)}
.academy-pitch h2{font-size:clamp(1.75rem,3.15vw,2.65rem);line-height:1.16;margin-bottom:17px}
.academy-pitch .handwritten{margin-bottom:16px}
.academy-pitch .intro-text{font-size:1.0625rem;max-width:545px;color:#dce8ed}
.academy-pitch .button-row{gap:12px 25px}
.academy-hero-photo{transform:rotate(2deg);margin:5px 8px 28px 0}
.academy-hero-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center}
.academy-hero-photo .photo-stamp{font-size:1.4rem;bottom:-26px;left:-20px;padding:15px 22px}
.academy-included{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--yellow);color:var(--ink);margin:0 -20px;padding:21px 20px;border:2px solid var(--ink);box-shadow:5px 6px 0 #0005;position:relative;transform:rotate(-.6deg)}
.academy-included div{padding:5px 20px;border-right:1px solid #071d2a55}
.academy-included div:last-child{border:0}
.academy-included strong{font:400 1.55rem/1.15 Anton,Impact,sans-serif;text-transform:uppercase;display:block;margin-bottom:7px;overflow-wrap:anywhere}
.academy-included span{display:block;font-size:1rem;line-height:1.5}
.challenge-section{background:var(--deep);color:var(--paper);padding-top:65px}
.challenge-section .eyebrow{color:var(--aqua)}
.challenge-section .marker{color:var(--yellow)}
.academy-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:35px}
.academy-columns article{border-right:1px solid #ffd22970;padding-right:25px}
.academy-columns article:last-child{border:0;padding-right:0}
.academy-columns h3{display:inline-block;background:linear-gradient(100deg,var(--yellow),var(--orange));color:var(--ink);font-size:1.9rem;text-transform:uppercase;padding:10px 15px;transform:rotate(-1.5deg);margin-bottom:19px}
.academy-columns ul{margin:0 0 23px;padding-left:22px;line-height:1.8;font-size:1.0625rem}
.academy-columns li{padding:3px 0}
.academy-columns li::marker{color:var(--yellow)}
.academy-columns p{font-size:1rem;color:#b9cfda;margin:0}
.academy-role{background:var(--purple);color:var(--paper);border-block:3px solid var(--ink)}
.academy-role .two{align-items:center;gap:65px}
.academy-role .marker{color:var(--yellow)}
.academy-role .poster-photo{transform:rotate(-3deg)}
.academy-role img{aspect-ratio:5/4;object-fit:cover;object-position:center top}
.pill-list{gap:9px}
.pill-list li{border-radius:4px;font-size:.9375rem;padding:9px 13px;line-height:1.4;box-shadow:2px 3px 0 var(--ink)}
.academy-path{background:var(--paper)}
.steps{gap:0;counter-reset:steps;margin-top:35px}
.steps .tile{box-shadow:none;border:0;border-right:1px solid #071d2a40;border-radius:0;padding:0 25px;background:transparent}
.steps .tile:first-child{padding-left:0}
.steps .tile:last-child{border:0;padding-right:0}
.steps .tile:before{font-size:3.7rem;margin-bottom:15px;color:var(--purple);line-height:1}
.steps h3{font-size:1.5rem}
.steps p{font-size:1rem}
.academy-outcome{background:var(--deep);color:var(--paper)}
.academy-outcome .two{align-items:center;gap:65px}
.academy-outcome .eyebrow{color:var(--aqua)}
.academy-outcome .marker{color:var(--yellow)}
.skill-sheet{padding:32px;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);box-shadow:8px 9px 0 #0008;transform:rotate(2deg)}
.skill-sheet .eyebrow{color:var(--ink)}
.skill-sheet h3{font-size:2.7rem;text-transform:uppercase;margin-bottom:28px}
.skill-sheet>div{border-top:1px solid #071d2a70;padding:16px 0}
.skill-sheet span{font-size:.9375rem;display:block;margin-bottom:6px}
.skill-sheet strong{font-size:1.0625rem;display:block}
.skill-sheet>p:last-child{font-size:1rem;margin:14px 0 0}
.faq details{border-color:#071d2a35;padding:22px 0}
.faq summary{font-size:1.0625rem;min-height:30px}
.faq p{font-size:1rem}
.contact{background:var(--orange);color:var(--ink);border-block:3px solid var(--ink)}
.contact .marker{color:var(--deep)}
.contact .two{gap:60px;align-items:start}
.contact a:not(.button){overflow-wrap:anywhere}
.form{border-radius:8px;background:var(--paper);padding:30px;color:var(--ink);box-shadow:6px 7px 0 var(--ink)}
.form label{font-size:1rem}
.form input,.form textarea{border-radius:5px;border-color:#071d2a70;min-height:52px;font-size:1rem}
.form .button{width:100%}
.form .form-note{font-size:.875rem;color:#365364;line-height:1.6}
.form-status{font-size:1rem}
.catalogue{background:var(--yellow);color:var(--ink);padding:24px 0 45px}
.catalog-paper{background:var(--paper);box-shadow:6px 7px 0 var(--ink);color:var(--ink)}
.catalog-masthead h1{font-size:clamp(2rem,3.3vw,3rem)}
.catalog-product h2{font-size:1.65rem}
.catalog-product p,.catalog-note p{font-size:1rem}
.catalog-product .button,.catalog-note .button{font-size:.9375rem;min-height:52px}
.catalog-note{background:var(--aqua);border-radius:6px}
.catalog-dateline{font-size:.875rem}
.track h2{font-size:2.75rem}
.music-logo{max-width:390px}
[data-page=records] .tile{background:var(--yellow);color:var(--ink)}
[data-page=records] .tile .music-logo{max-width:350px}
.gallery img{border-radius:5px;border:6px solid var(--paper);box-shadow:5px 6px 0 var(--ink)}
.structure-list span{border-radius:4px;font-size:1rem}
.game-wrap{color:var(--paper);margin:38px auto 60px;width:min(760px,100% - 48px)}
.game-wrap>.eyebrow{color:var(--yellow)}
.game-top h1{font-size:2.8rem}
.game-panel{color:var(--ink);border-radius:10px;border:3px solid var(--yellow);box-shadow:6px 7px 0 #0008;background:var(--paper)}
.game-panel h2{text-transform:none}
.game-question{font-family:'DM Sans',Arial,sans-serif;font-size:1.5rem}
.game-progress{font-size:1rem}
.answers button{font-size:1rem;background:#e9ddfb;border-radius:6px;min-height:60px}
.game-stats p{font-size:1rem}
.small.muted{font-size:.875rem;color:#b9cfda}
.glory-stage{border-radius:7px}
.game-feedback{font-size:1rem}
.comic-frame{border-radius:7px;border-color:var(--ink)}
.comic-caption{font-size:1.25rem;background:var(--yellow);color:var(--ink)}
.comic-switch button{font-size:1rem;border-radius:6px;min-height:50px}
.comic-switch span{color:var(--ink);font-weight:800}
.footer{background:var(--deep);border-top:5px solid var(--yellow);padding:48px 0;color:var(--paper)}
.footer strong{font-size:2.1rem}
.footer p{font-size:1rem;color:#b9cfda}
.footer-links{font-size:.9375rem;gap:15px 24px}
.footer-links a{min-height:32px;display:inline-flex;align-items:center}
.footer-bottom{font-size:.875rem;color:#b9cfda}
.guide-dialog{background:var(--paper);color:var(--ink);border-radius:10px;box-shadow:8px 9px 0 #0007}
.guide-head{background:var(--yellow)}
.guide-head h2{font-size:2rem}
.guide-head p{font-size:1rem}
.guide-close{font-size:.875rem;min-height:44px;border-radius:6px}
.guide-links a{border-radius:7px;font-size:1rem;min-height:85px;background:#e9ddfb}
.guide-links a:nth-child(even){background:#ffe5ad}
.guide-links small{font-size:.875rem}
.skip{color:var(--ink)}
[data-page=home] .marker,[data-page=academy] .academy-pitch .marker{color:var(--yellow)}
[data-page=home] .section:not(.story):not(.services-section) h2 .marker{color:var(--purple)}

@media(prefers-reduced-motion:no-preference){.poster-photo,.academy-card,.menu-toggle{transition:transform .25s ease,box-shadow .25s ease}.academy-card:hover{transform:rotate(0)}.pillo-helper:hover{transform:translateY(-2px)}.menu-panel:not([hidden]){animation:menu-arrive .18s ease}@keyframes menu-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:950px){.home-grid{gap:30px}.nav{gap:16px}.nav a:nth-child(n+3){display:none}.home-left h1{font-size:3.9rem}.academy-card h2{font-size:2.65rem}.academy-hero-grid{gap:35px}.academy-pitch h1{font-size:4.5rem}.academy-pitch h2{font-size:2rem}.academy-included strong{font-size:1.3rem}.academy-columns{gap:22px}.academy-columns h3{font-size:1.55rem}.academy-included div{padding:5px 13px}.academy-role .two,.academy-outcome .two{gap:40px}.news{grid-template-columns:125px 1fr auto;gap:18px}.world-word{font-size:3rem}.door .door-logo{height:125px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}.steps .tile{padding:0 25px}.steps .tile:nth-child(odd){padding-left:0}.steps .tile:nth-child(even){border:0;padding-right:0}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header-inner{gap:12px;padding:13px 0}.brand{flex:1 1 175px;min-width:0}.brand img{width:52px;height:52px}.brand strong{font-size:1.35rem;white-space:normal;line-height:1.15}.brand small{font-size:.75rem;letter-spacing:.015em;margin-top:5px}.nav{display:none}.menu-toggle{min-height:54px;min-width:96px;gap:8px;font-size:1rem;padding:12px 13px}.menu-panel{position:static;width:100%;grid-template-columns:1fr;box-shadow:none;margin:0 0 16px;padding:7px;gap:0;max-height:65vh;overflow:auto}.menu-panel a{font-size:1.0625rem;min-height:54px;border-bottom:1px solid #ffffff20;padding:13px 15px}.menu-panel a:last-child{border-bottom:0}.section{padding:43px 0}.section h2{font-size:2.5rem;line-height:1.15}.button{padding:13px 19px;font-size:1rem;min-height:54px}.button-row{gap:12px;margin-top:20px}.grid,.two{grid-template-columns:1fr;gap:20px}.eyebrow{font-size:.8125rem}.home-opening{padding:29px 0 35px}.home-grid{grid-template-columns:1fr;gap:29px}.home-left{display:block}.home-left>.eyebrow{font-size:.8125rem;margin:0 0 16px;text-align:left}.home-left h1{font-size:clamp(2.6rem,10vw,4.5rem);margin:0 0 16px;text-align:left;line-height:1.2}.home-left>.intro-text{font-size:1.0625rem;margin:0;max-width:100%;text-align:left}.home-left .button-row{gap:10px}.home-left .button-row .button{flex:1;padding-inline:12px;font-size:.9375rem}.pillo-helper{margin:22px 0 0;width:100%;padding:13px 16px;min-height:95px;max-width:none;gap:14px}.pillo-helper img{width:68px;height:68px}.pillo-helper strong{font-size:1rem}.pillo-helper span{font-size:.875rem}.academy-card{grid-row:auto;border-radius:5px;transform:rotate(0);margin:0 3px}.academy-card img{aspect-ratio:5/3;object-position:center 25%;margin:0}.academy-card h2{font-size:2.8rem}.academy-card-bottom{padding:28px 22px 23px}.academy-card-bottom p{font-size:1rem}.academy-card-bottom .eyebrow{font-size:.75rem}.academy-card .photo-stamp{font-size:1rem}.news-strip{padding:21px 0}.news{grid-template-columns:1fr;gap:12px;grid-row:auto}.news-header{display:flex;justify-content:space-between;font-size:1.25rem}.news-header span:last-child{margin:0;font-size:.875rem;align-self:center}.news h3{font-size:1.0625rem}.news p,.news a{font-size:1rem}.news-buttons{margin:4px 0 0}.world-doors{grid-template-columns:1fr 1fr;gap:15px}.door{padding:20px 13px;gap:16px}.door .door-logo{height:105px}.door strong{font-size:1rem;line-height:1.45}.door .link-label{font-size:.875rem;line-height:1.5}.door:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;padding:21px 15px;gap:10px 15px}.door:last-child .door-logo{grid-row:1/3;height:auto}.door:last-child strong{max-width:none;text-align:left;font-size:1.0625rem}.door:last-child .link-label{text-align:left}.world-word{font-size:2.65rem}.block-head{display:block;margin-bottom:26px}.block-head>p{margin-top:18px}.services-section .two{gap:20px}.service{padding:24px 20px;gap:15px}.service h3{font-size:1.8rem}.service .eyebrow{font-size:.8125rem}.service p{font-size:1rem}.service-number{font-size:2.2rem}.story .two{gap:35px}.poster-photo{padding:6px;box-shadow:5px 7px 0 #0007;margin-inline:7px}.story h2{font-size:2.5rem}.story .two img{aspect-ratio:5/4}.world-grid{grid-template-columns:1fr;gap:24px}.world-grid .world-card:last-child{grid-column:auto;display:flex}.world-grid .world-card:last-child img{height:auto;aspect-ratio:4/3}.world-card img{aspect-ratio:5/3}.world-card .tile-pad{padding:22px}.world-card h3{font-size:1.9rem;overflow-wrap:normal}.world-card p{font-size:1rem}.world-card .link-label{font-size:1rem}.world-card .tag{font-size:.875rem}.page-hero{padding:29px 0 41px}.page-hero .two{grid-template-columns:1fr;gap:30px}.page-hero h1{font-size:clamp(2.5rem,9vw,3.7rem);line-height:1.15}.page-hero .intro-text{font-size:1.0625rem}.page-hero .hero-img{aspect-ratio:5/4}.breadcrumb{font-size:.875rem;margin-bottom:19px}.academy-opening{padding-top:23px}.academy-hero-grid{grid-template-columns:1fr;gap:28px;padding:0 0 42px}.academy-pitch .eyebrow{font-size:.8125rem;letter-spacing:.05em;margin-bottom:14px}.academy-pitch h1{font-size:clamp(2.8rem,12vw,4.8rem);line-height:1.12;margin-bottom:19px}.academy-pitch h1 .marker{font-size:1.05em}.academy-pitch h2{font-size:1.9rem;line-height:1.18}.academy-pitch h2 br{display:none}.academy-pitch .handwritten{font-size:1.4rem;margin-bottom:15px}.academy-pitch .intro-text{font-size:1.0625rem;margin-bottom:0}.academy-pitch .button-row{align-items:start;gap:12px;margin-top:22px}.academy-pitch .button-row .button{width:100%}.academy-pitch .text-link{font-size:1rem;min-height:36px}.academy-hero-photo{margin:0 8px 11px;transform:rotate(1deg)}.academy-hero-photo img{aspect-ratio:5/4;object-fit:cover;object-position:center 20%}.academy-hero-photo .photo-stamp{left:-13px;bottom:-17px;font-size:1.125rem;padding:12px 17px}.academy-included{grid-template-columns:1fr 1fr;margin:0 -4px;padding:7px;transform:rotate(0)}.academy-included div{padding:16px 12px;border:0;border-bottom:1px solid #071d2a40}.academy-included div:nth-child(odd){border-right:1px solid #071d2a40}.academy-included div:nth-child(n+3){border-bottom:0}.academy-included strong{font-size:1.25rem;line-height:1.3}.academy-included span{font-size:.9375rem}.challenge-section{padding-top:46px}.academy-columns{grid-template-columns:1fr;gap:27px;margin-top:26px}.academy-columns article{border:0;border-bottom:1px solid #ffd22960;padding:0 0 28px}.academy-columns article:last-child{border:0;padding:0}.academy-columns h3{font-size:1.9rem;padding:10px 16px;margin-bottom:18px}.academy-columns ul{font-size:1.0625rem;margin-bottom:15px;line-height:1.65}.academy-columns p{font-size:1rem}.academy-role .two{gap:35px}.academy-role .pill-list{gap:8px;margin:22px 0}.pill-list li{font-size:.9375rem;padding:8px 10px}.steps{grid-template-columns:1fr 1fr;gap:28px 0;margin-top:29px}.steps .tile{padding:0 16px}.steps .tile:before{font-size:3.3rem;margin-bottom:14px}.steps h3{font-size:1.4rem}.steps p{font-size:1rem;line-height:1.65}.academy-outcome .two{gap:35px}.skill-sheet{padding:25px;margin:0 6px;transform:rotate(1deg)}.skill-sheet h3{font-size:2.5rem}.contact .two{gap:28px}.contact h2{font-size:2.4rem}.form{padding:23px}.form label{font-size:1rem}.form .form-note{font-size:.875rem}.faq details{padding:20px 0}.faq summary{font-size:1rem;line-height:1.5}.tile-pad{padding:24px}.catalogue{padding:18px 0 30px}.catalog-dateline{font-size:.75rem}.catalog-paper{padding:13px}.catalog-masthead h1{font-size:1.7rem}.catalog-product h2{font-size:1.3rem}.catalog-product p,.catalog-note p{font-size:1rem}.catalog-product .button,.catalog-note .button{font-size:.875rem;min-height:52px}.catalog-note h2{font-size:1.5rem}.catalog-note .eyebrow{font-size:.75rem}.catalog-product p{line-height:1.6}.track{grid-template-columns:75px 1fr;gap:15px}.track img{width:75px;height:75px;padding:9px;border-radius:5px}.track h2{font-size:1.9rem}.music-logo{max-width:100%;width:300px}.track .eyebrow{font-size:.8125rem;letter-spacing:.02em}.gallery{grid-template-columns:1fr;gap:22px}.roles{grid-template-columns:1fr}.game-wrap{width:calc(100% - 36px);margin-top:26px}.game-top{align-items:start;flex-wrap:wrap}.game-top h1{font-size:2.35rem}.game-panel{padding:24px 19px}.game-question{font-size:1.25rem;line-height:1.5}.game-progress{font-size:.9375rem;gap:15px}.answers{grid-template-columns:1fr}.answers button{font-size:1rem;padding:15px;min-height:58px}.game-stats{gap:14px}.game-stats p{font-size:.875rem}.timer{font-size:3rem}.glory-stage{height:295px}.comic-caption{font-size:1.0625rem;padding:20px}.comic-switch{gap:10px;flex-wrap:wrap}.comic-switch button{font-size:.9375rem;padding:11px 14px}.footer{padding:35px 0}.footer-inner{grid-template-columns:1fr;gap:26px}.footer-links{font-size:.9375rem;justify-content:start;gap:8px 23px}.footer-bottom{font-size:.8125rem}.guide-head{padding:23px 19px;gap:13px;flex-wrap:wrap}.guide-head img{width:70px;height:70px}.guide-head>div{min-width:155px}.guide-head h2{font-size:1.8rem}.guide-head p{font-size:.9375rem}.guide-close{position:static;margin-left:auto;padding:9px 12px;font-size:.875rem}.guide-links{grid-template-columns:1fr;padding:19px;gap:11px}.guide-links a{font-size:1rem;padding:16px;min-height:75px}.guide-links small{font-size:.875rem}}
@media(max-width:370px){.brand strong{font-size:1.2rem}.brand img{width:45px;height:45px}.brand small{font-size:.6875rem}.menu-toggle{min-width:90px;font-size:.9375rem;padding:12px 10px}.home-left .button-row{flex-direction:column}.home-left .button-row .button{width:100%}.academy-pitch h1{font-size:2.9rem}.academy-pitch h2{font-size:1.7rem}.academy-included strong{font-size:1.125rem}.world-word{font-size:2.2rem}.catalog-product .button{padding-inline:6px}.steps{grid-template-columns:1fr}.steps .tile{padding:0 0 23px!important;border:0!important;border-bottom:1px solid #071d2a30!important}.steps .tile:last-child{padding-bottom:0!important;border:0!important}.game-stats{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.home-news-posts{display:grid;min-width:0;scroll-margin-top:20px}
.home-news-posts>.academy-card{grid-area:1/1;display:flex;flex-direction:column;align-self:stretch}
.home-news-posts>.is-inactive{visibility:hidden;pointer-events:none}
.home-news-posts .academy-card-bottom{flex:1;display:flex;flex-direction:column;align-items:start}
.home-news-posts .academy-card-bottom>.button{margin-top:auto;align-self:stretch}
.home-news-posts .academy-card-bottom>p:last-of-type{margin-bottom:22px}
.home-news-posts .academy-card-visual{width:100%;aspect-ratio:5/3;flex:none}
.home-news-posts .academy-card-visual>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.home-news-posts .news-art-records{background:#09172d;display:flex;align-items:center;justify-content:center;padding:15px 0 21px}
.home-news-posts .news-art-records>img{height:100%;width:auto;max-width:100%;object-fit:contain;aspect-ratio:1/1}
.news-post-records .academy-card-bottom{background:#18304b;container-type:inline-size}
.news-post-records h2{font-size:1.25rem;font-size:clamp(1.125rem,7.2cqi,2rem)}
.news-post-records .academy-card-bottom>.eyebrow{color:var(--aqua)}
.news-post-records .photo-stamp{font-size:1rem}
.news-post-shop .academy-card-bottom{background:var(--orange);color:var(--ink)}
.news-post-shop h2{color:var(--ink)}
.news-post-shop h2 .marker{color:var(--ink)}
.news-post-shop .academy-card-bottom>.eyebrow{color:var(--ink)}
.news-post-shop .photo-stamp{font-size:.9375rem}
@media(prefers-reduced-motion:no-preference){.home-news-posts>.academy-card:not(.is-inactive){animation:news-post-enter .28s ease}@keyframes news-post-enter{from{opacity:0}to{opacity:1}}}
@media(max-width:700px){.home-news-posts{margin:0 3px}.home-news-posts>.academy-card{margin:0;transform:none}.home-news-posts .news-art-records{padding:12px 0 20px}.news-post-shop h2{font-size:2.45rem}.news-post-shop .photo-stamp{font-size:.875rem;max-width:92%;left:10px;padding:9px 12px}}

/* Readable, one-column navigation at every viewport; long menus scroll vertically. */
.menu-panel{grid-template-columns:minmax(0,1fr);width:min(440px,calc(100vw - 40px));padding:10px;gap:0;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}
.menu-panel a{font-size:1.125rem;line-height:1.4;min-height:62px;padding:16px 20px;border-bottom:1px solid #ffffff24;border-radius:5px}
.menu-panel a:last-child{border-bottom:0}
.news-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.news-autoplay{min-height:46px;padding:10px 12px;border:2px solid var(--ink);border-radius:6px;background:transparent;color:var(--ink);font-size:.9375rem;font-weight:800;line-height:1.3}
.news-autoplay:hover{background:#071d2a12}
.news-autoplay[hidden]{display:none}
@media(max-width:950px) and (min-width:701px){.news{grid-template-columns:125px minmax(0,1fr)}.news-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:700px){.menu-panel{width:100%;max-height:70dvh;padding:8px;margin-bottom:18px}.menu-panel a{font-size:1.1875rem;min-height:64px;padding:16px 18px}.news-actions{justify-content:flex-start;gap:16px}.news-actions .news-buttons{margin:0}.news-autoplay{font-size:1rem}.news{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:no-preference){
  .motion-pending{opacity:0;transform:translateY(16px)}
  main .block-head,main .world-doors,main .services-heading,main .service,main .story .poster-photo,main .team-person,main .academy-columns,main .skill-sheet{transition:opacity .45s ease,transform .45s ease}
  .motion-pending:focus-within{opacity:1;transform:none}
  .menu-panel a{transition:background-color .18s ease,color .18s ease}
}
/* Editorial line breaks remain explicit; titles may wrap naturally on small screens. */
[data-copy-lines]{text-wrap:initial}
.game-top h1{overflow-wrap:anywhere}
@media(max-width:700px){body[data-page="quiz"] .game-top h1{font-size:clamp(1.8rem,8vw,2.35rem)}}

/* Dedicated World covers: preserve the full illustrations and their lettering. */
.world-grid .world-card>img,.world-grid .world-card:last-child>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}

/* Pillo Comics: complete vertical pages, two stories, readable dialogues, modal zoom. */
.comic-library{background:var(--paper);color:var(--ink);padding:34px 0 70px}
.comic-wrap{width:min(980px,calc(100% - 48px));margin:auto}
.comic-index{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:54px}
.comic-index-link{display:flex;flex-direction:column;gap:12px;padding:23px;border:2px solid var(--ink);border-radius:10px;background:var(--yellow);box-shadow:4px 5px 0 var(--ink);text-decoration:none}
.comic-index-link:nth-child(2){background:var(--aqua)}
.comic-index-link strong{font:400 clamp(1.35rem,2.8vw,1.8rem)/1.2 Anton,Impact,sans-serif}
.comic-index-link .eyebrow{margin:0}
.comic-story{scroll-margin-top:24px;margin-bottom:64px}
.comic-story-heading{max-width:760px;margin-bottom:27px}
.comic-story-heading h2{font-size:clamp(1.8rem,4.3vw,3.3rem);margin:10px 0 18px}
.comic-story-heading p:last-child{font-size:1rem}
.comic-page{margin:0 0 32px;border:2px solid var(--ink);border-radius:6px;background:white;overflow:hidden;box-shadow:4px 5px 0 #071d2a35}
.comic-page-open{display:block;width:100%;padding:0;border:0;background:white;cursor:zoom-in}
.comic-page-open img{display:block;width:100%;height:auto;object-fit:contain}
.comic-page figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;font-size:1rem;font-weight:700;background:var(--yellow)}
.comic-text-button{font:inherit;border:0;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:6px;cursor:pointer}
.comic-transcript{padding:15px 20px;border-top:1px solid #071d2a30}
.comic-transcript summary{cursor:pointer;font-size:1rem;font-weight:700;min-height:30px;line-height:1.5}
.comic-transcript p{font-size:1rem;line-height:1.8;margin:14px 0 0}
.comic-next-story{margin-top:6px}
body.comic-reading{overflow:hidden}
.comic-reader{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--deep);color:var(--paper);overflow:hidden}
.comic-reader[open]{display:flex;flex-direction:column}
.comic-reader::backdrop{background:#061724ee}
.comic-reader-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}
.comic-reader-header h2{font:700 1rem/1.5 'DM Sans',Arial,sans-serif;text-transform:none;margin:0}
.comic-reader-header .button{min-height:46px;padding:9px 16px;box-shadow:none;flex-shrink:0}
.comic-reader-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 16px 14px}
.comic-reader-controls button{border:1px solid #ffffff70;border-radius:7px;padding:10px 14px;font:700 1rem/1.25 'DM Sans',Arial,sans-serif;color:var(--paper);background:#ffffff15;min-height:44px;cursor:pointer}
.comic-reader-controls button:disabled{opacity:.4;cursor:default}
.comic-reader-controls span{font-size:1rem;font-weight:700}
.comic-zoom{display:flex;align-items:center;gap:12px;margin-left:16px}
.comic-reader-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 0 env(safe-area-inset-bottom)}
.comic-reader-image{display:block;width:100%;max-width:1055px;height:auto;margin:0 auto;background:white}
.comic-page button:focus-visible,.comic-reader button:focus-visible,.comic-index-link:focus-visible{outline:3px solid var(--purple);outline-offset:-4px}
@media(max-width:700px){.comic-wrap{width:calc(100% - 20px)}.comic-library{padding-top:23px}.comic-index{grid-template-columns:1fr;gap:18px;margin:0 6px 36px}.comic-index-link{padding:19px}.comic-story-heading{padding:0 8px}.comic-page{margin-bottom:25px;box-shadow:none}.comic-page figcaption{padding:8px 12px}.comic-transcript{padding:13px 15px}.comic-story{margin-bottom:45px}.comic-reader-header{gap:10px}.comic-reader-header h2{font-size:.9375rem}.comic-reader-controls{gap:10px;padding-inline:10px}.comic-zoom{margin-left:0}.comic-reader-controls button{padding:10px 12px}.comic-next-story{margin-left:8px}}

/* QBRoadcast and optional interaction sounds */
.broadcast-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;background:#fff6dd;border:3px solid #071d2a;text-decoration:none;color:#071d2a;overflow:hidden}
.broadcast-card>img{width:100%;height:auto;padding:18px;box-sizing:border-box}.broadcast-card .button{margin-top:12px}.sound-toggle{margin:24px 0;font-size:14px}
@media(max-width:700px){.broadcast-card{grid-template-columns:1fr}.broadcast-card>img{padding:12px 18px}.broadcast-card .tile-pad{padding-top:0}}
.broadcast-visual{position:relative;background:var(--aqua);overflow:hidden;isolation:isolate}
.broadcast-pillo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.broadcast-logo{position:absolute;bottom:8px;right:8px;width:48%;height:auto;filter:drop-shadow(2px 3px 0 #ffffff80)}
/* QeBancaRella: the products are the page, with a summer comic frame. */
.merch-catalogue{padding:30px 0 60px;background:var(--paper);background-image:radial-gradient(#071d2a0b 1px,transparent 1px);background-size:10px 10px}
.merch-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:0 0 26px}
.merch-brand{padding:12px 20px;background:var(--deep);border:3px solid var(--ink);border-radius:12px;box-shadow:5px 6px 0 var(--yellow)}
.merch-brand img{display:block;width:100%;height:auto;max-height:210px;object-fit:contain}
.merch-intro h1{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.15;margin:12px 0 15px}
.merch-intro>p:last-child{font-size:1.125rem;margin:0;max-width:400px}
.merch-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.merch-jumps a{background:var(--yellow);padding:10px 16px;border:2px solid var(--ink);border-radius:6px;min-height:44px;display:flex;align-items:center;font-size:1rem;font-weight:800;text-decoration:none}
.merch-jumps a:hover{background:var(--aqua)}
.merch-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.merch-product{grid-column:span 2;background:white;border:3px solid var(--ink);border-radius:10px;overflow:hidden;box-shadow:5px 6px 0 var(--ink);min-width:0;scroll-margin-top:20px;display:flex;flex-direction:column}
.merch-product-maglie,.merch-product-pantaloncini{grid-column:span 3}
.merch-product-heading{display:flex;gap:14px;align-items:center;background:var(--yellow);padding:17px 20px;border-bottom:2px solid var(--ink)}
.merch-product-pantaloncini .merch-product-heading,.merch-product-zaino .merch-product-heading{background:var(--aqua)}
.merch-product-occhiali .merch-product-heading{background:#ffab8f}
.merch-product-cappelli .merch-product-heading{background:#d9bcff}
.merch-item-number{font:400 2.3rem/1 Anton,Impact,sans-serif;color:var(--ink);flex-shrink:0}
.merch-product-heading .eyebrow{font-size:.875rem;margin:0 0 3px;letter-spacing:.03em}
.merch-product-heading h2{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.2;margin:0}
.merch-product-photo{display:flex;align-items:center;justify-content:center;height:285px;background:white;padding:18px;overflow:hidden;flex-shrink:0}
.merch-product-maglie .merch-product-photo,.merch-product-pantaloncini .merch-product-photo{height:300px}
.merch-product-photo img{display:block;width:100%;height:100%;object-fit:contain}
.merch-product-crop{display:block;width:100%;max-height:100%;background-image:url('/assets/catalog-sheet.webp');background-repeat:no-repeat}
.merch-product-zaino .merch-product-photo img{max-width:230px}
.merch-product-info{display:flex;flex-direction:column;flex:1;padding:0 20px 23px}
.merch-product-info p{font-size:1rem;line-height:1.6;margin:0 0 22px}
.merch-product-info .button{margin-top:auto;width:100%;font-size:1rem;min-height:50px;text-align:center}
.merch-order-note{display:flex;align-items:center;justify-content:space-between;gap:25px;border:3px solid var(--ink);background:var(--yellow);border-radius:10px;padding:28px 30px;margin-top:40px;box-shadow:5px 6px 0 var(--ink)}
.merch-order-note h2{font-size:2rem;margin:6px 0 12px}.merch-order-note p{font-size:1rem;margin:0;max-width:680px}.merch-order-note .button{flex-shrink:0}
.merch-product-photo:focus-visible,.merch-jumps a:focus-visible{outline:4px solid var(--purple);outline-offset:-4px}
@media(prefers-reduced-motion:no-preference){.merch-product-photo{transition:background-color .2s}.merch-product-photo:hover{background:#fff8e5}}
@media(max-width:900px){.merch-heading{gap:24px}.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merch-product,.merch-product-maglie,.merch-product-pantaloncini{grid-column:span 1}.merch-product-zaino{grid-column:1/-1}.merch-order-note{flex-direction:column;align-items:start}.merch-brand img{max-height:160px}}
@media(max-width:600px){.merch-catalogue{padding:22px 0 38px}.merch-heading{grid-template-columns:1fr;gap:20px;padding-bottom:20px}.merch-brand{padding:10px 12px}.merch-brand img{max-height:175px}.merch-intro h1{font-size:1.9rem;margin:8px 0 10px}.merch-intro>p:last-child{font-size:1rem}.merch-jumps{gap:8px;margin-bottom:24px}.merch-jumps a{font-size:.9375rem;padding:9px 12px}.merch-grid{grid-template-columns:1fr;gap:24px}.merch-product,.merch-product-maglie,.merch-product-pantaloncini,.merch-product-zaino{grid-column:1}.merch-product-heading{padding:15px 16px}.merch-product-heading h2{font-size:1.7rem}.merch-product-photo,.merch-product-maglie .merch-product-photo,.merch-product-pantaloncini .merch-product-photo{height:265px;padding:16px}.merch-product-info{padding:0 16px 22px}.merch-order-note{padding:23px 20px;margin-top:28px}.merch-order-note h2{font-size:1.9rem}.merch-order-note .button{width:100%}}
/* Warm stone product studio, with colours and clearly framed garments. */
.merch-catalogue{background-color:#f4ebdd;background-image:radial-gradient(ellipse at 15% 0,#fffaf0 0,transparent 55%),radial-gradient(#8f71571a .7px,transparent .7px);background-size:auto,7px 7px}
.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.merch-product,.merch-product-maglie,.merch-product-pantaloncini,.merch-product-zaino{grid-column:span 1;background:#fffcf6}
.merch-product-felpa .merch-product-heading{background:#d9bcff}
.merch-product-photo,.merch-product-maglie .merch-product-photo,.merch-product-pantaloncini .merch-product-photo{height:auto;aspect-ratio:1;padding:0;width:100%;border:0;cursor:zoom-in;background:#f4eadb}
.merch-product-photo img,.merch-product-zaino .merch-product-photo img{max-width:none;width:100%;height:100%;object-fit:contain}
.merch-photo-caption{display:flex;justify-content:space-between;padding:9px 20px;color:#555047;font-size:.85rem;border-top:1px solid #d6c6b1;background:#f6edde}
.merch-product-info{padding:22px 22px 24px}
.merch-price-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.merch-price{font-size:1.8rem;line-height:1.25;font-weight:900}
.merch-proposal{font-size:.8rem;padding:5px 10px;border:1px solid var(--ink);border-radius:20px;background:var(--yellow);font-weight:800}
.merch-product-info>p{margin:0 0 15px}
.merch-colors{padding:0;margin:0 0 22px;border:0;min-width:0}
.merch-colors legend{font-size:1rem;margin-bottom:8px;font-weight:700}
.merch-swatches{display:flex;flex-wrap:wrap;gap:8px}
.merch-swatch{height:48px;width:48px;background:transparent;border:2px solid transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:4px}
.merch-swatch span{width:32px;height:32px;border-radius:50%;background:var(--swatch);border:1px solid #071d2a66;box-shadow:inset 0 0 0 2px #ffffff22}
.merch-swatch[aria-pressed=true]{border-color:var(--ink);background:#fff}
.merch-swatch:focus-visible,.merch-views button:focus-visible,.merch-detail:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.merch-views{display:flex;gap:8px;padding:12px 20px 0}
.merch-views button{flex:1;border:2px solid var(--ink);background:#fff9ee;min-height:46px;border-radius:5px;font:inherit;font-weight:800;cursor:pointer}
.merch-views button[aria-pressed=true]{background:var(--ink);color:white}
.merch-product-info .merch-single-color{font-weight:700;margin-bottom:22px}
.merch-detail{background:none;border:0;padding:0;text-align:left;text-decoration:underline;font:inherit;font-size:.9rem;cursor:pointer;margin:0 0 22px;min-height:44px;color:var(--ink)}
.merch-footnote{font-size:.875rem;line-height:1.5;max-width:800px;margin-top:24px;color:#555047}
.merch-image-dialog{padding:0;max-width:min(94vw,1000px);width:1000px;max-height:94dvh;border:3px solid var(--ink);border-radius:12px;background:#f5ecdd;overflow:auto}
.merch-image-dialog::backdrop{background:#071d2ac9}
.merch-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;position:sticky;top:0;background:#fff9ee;border-bottom:2px solid var(--ink);z-index:1}
.merch-dialog-head button{border:2px solid var(--ink);border-radius:5px;background:var(--yellow);font:inherit;font-weight:800;min-height:46px;padding:8px 16px;cursor:pointer}
.merch-image-dialog>img{display:block;width:100%;height:auto}
@media(max-width:600px){.merch-grid{grid-template-columns:1fr;gap:26px}.merch-product-info{padding:18px 16px 22px}.merch-photo-caption{padding:9px 16px}.merch-views{padding:12px 16px 0}.merch-price{font-size:1.65rem}.merch-dialog-head{padding:10px}.merch-dialog-head strong{font-size:.95rem}}
.merch-selection-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Compact summer catalogue */
.merch-catalogue{background-color:#ffe7b4}
.merch-intro,.merch-intro .eyebrow,.merch-intro h1,.merch-intro>p:last-child{color:#071d2a}
.merch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.merch-product{height:auto;box-shadow:4px 4px 0 var(--ink)}
.merch-product-heading{padding:12px 14px;gap:10px}.merch-product-heading h2{font-size:1.45rem}.merch-item-number{font-size:1.8rem}
.merch-photo-wrap{position:relative;touch-action:pan-y}
.merch-product .merch-product-photo{aspect-ratio:auto;height:285px;background:#f4eadb}
.merch-product .merch-product-photo img{object-fit:contain}
.merch-product-info{padding:14px;flex:initial;gap:0}.merch-product-info>p{margin-bottom:10px}
.merch-price-row{margin-bottom:6px}.merch-price{font-size:1.5rem}
.merch-colors{margin-bottom:12px}.merch-colors legend{margin-bottom:4px;font-size:.9rem}
.merch-swatches{flex-wrap:nowrap;gap:2px;max-width:100%}.merch-swatch{flex:0 1 44px;width:44px;height:44px;padding:4px;min-width:0}.merch-swatch span{width:28px;height:28px}
.merch-product-info .merch-single-color{margin-bottom:12px}.merch-detail{margin-bottom:8px;min-height:32px;font-size:.875rem}
.merch-product-info .button{margin-top:0;min-height:44px;font-size:.9375rem}
.merch-view-arrows{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;padding:8px}
.merch-view-arrows button{pointer-events:auto;width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;background:#fff9eee8;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}
@media(max-width:1050px){.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.merch-grid{grid-template-columns:1fr;gap:20px}.merch-product .merch-product-photo{height:300px}.merch-heading{gap:14px}.merch-intro h1{margin:6px 0}.merch-product-info{padding:14px}.merch-swatches{gap:4px}}

/* Prices and close-set product controls */
.merch-product-heading{min-height:65px}
.merch-product-info .merch-price-row{margin:0 0 7px}
.merch-price{color:#071d2a;font-weight:900;font-size:1.55rem}
.merch-product-info{padding:8px 14px 12px}
.merch-colors{margin:0 0 8px}.merch-colors legend{margin-bottom:2px}
.merch-product-info .merch-single-color{margin:0 0 8px;line-height:1.3}
.merch-product .merch-product-photo{height:250px}
.merch-photo-wrap [data-product-zoom]{padding:0}
.merch-product [data-photo-caption]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.merch-product .merch-product-photo{height:260px}.merch-product-info{padding:8px 14px 12px}}

/* Equal catalogue cards and reserved controls */
.merch-grid{align-items:stretch;grid-auto-rows:1fr}
.merch-product{height:100%}
.merch-product-heading{min-height:78px}
.merch-product-info{flex:1;display:flex;flex-direction:column}
.merch-product-info .merch-price-row{min-height:32px}
.merch-colors,.merch-product-info .merch-single-color{min-height:76px;margin:0 0 6px}
.merch-detail-slot{min-height:38px;display:flex;align-items:center}
.merch-detail-slot .merch-detail{margin:0}
.merch-product-info .button{margin-top:auto}
