/* Giochi di Fiuto — Modern Brand v9 */
:root{
  --brand:#18b9bb;
  --brand-2:#63d7d7;
  --brand-dark:#0d8f91;
  --ink:#142421;
  --ink-soft:#31423e;
  --night:#0d1b18;
  --paper:#f3f7f6;
  --surface:#ffffff;
  --surface-2:#eaf1ef;
  --line:rgba(20,36,33,.12);
  --muted:#6e7d79;
  --max:1200px;
  --reading:780px;
  --radius:22px;
  --radius-lg:34px;
  --shadow:0 24px 70px rgba(13,27,24,.10);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.2em}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
::selection{background:var(--brand);color:var(--night)}
.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:-8rem;z-index:999;background:white;color:var(--night);padding:.7rem 1rem;border-radius:999px}
.skip-link:focus{top:1rem}

/* HEADER */
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,27,24,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;width:175px;min-width:175px;text-decoration:none}
.brand img{display:block;width:175px;height:auto}
.main-nav{display:flex;align-items:center;gap:.1rem}
.main-nav a{position:relative;color:rgba(255,255,255,.78);text-decoration:none;font-size:.84rem;font-weight:720;padding:.62rem .72rem;border-radius:999px;transition:.2s}
.main-nav a:hover{color:white;background:rgba(255,255,255,.07)}
.main-nav .nav-start{margin-left:.45rem;background:var(--brand);color:var(--night);padding-inline:1rem;font-weight:850}
.main-nav .nav-start:hover{background:#75dddd;color:var(--night)}
.nav-toggle{display:none;color:white;background:transparent;border:0;align-items:center;gap:.65rem;cursor:pointer}
.nav-toggle-label{font-weight:800}
.nav-toggle-icon,.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";display:block;width:24px;height:2px;background:currentColor;transition:.2s}
.nav-toggle-icon{position:relative}
.nav-toggle-icon:before{position:absolute;top:-7px}.nav-toggle-icon:after{position:absolute;top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon:before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}

/* BREADCRUMB */
.breadcrumbs-wrap{background:#10211e;border-bottom:1px solid rgba(255,255,255,.07)}
.breadcrumbs{display:flex;gap:.5rem;align-items:center;list-style:none;margin:0;padding-block:.65rem;overflow:auto;white-space:nowrap;font-size:.74rem;color:rgba(255,255,255,.48)}
.breadcrumbs li:not(:last-child):after{content:"›";margin-left:.5rem;color:var(--brand)}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:white}
.breadcrumbs span[aria-current]{color:rgba(255,255,255,.82);font-weight:700}

/* MAIN */
.site-main{min-height:68vh}
.content-shell{padding-bottom:5rem}
.block{position:relative;padding-block:clamp(3.4rem,7vw,6.2rem);border-bottom:1px solid var(--line)}
.block:last-child{border-bottom:0}
.eyebrow{margin:0 0 1.2rem;color:var(--brand-dark);font-size:.73rem;line-height:1.2;font-weight:900;letter-spacing:.18em;text-transform:uppercase}

/* HERO */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(680px,74vh);margin-top:1.2rem;padding:clamp(3rem,7vw,6.5rem);border:0;border-radius:var(--radius-lg);background:var(--night);color:white;display:flex;align-items:center}
.hero-copy{position:relative;z-index:3;max-width:920px}
.hero .eyebrow{color:var(--brand)}
.hero h1,.entity-hero h1{margin:0 0 .3em;max-width:950px;font-size:clamp(3.4rem,8vw,7.6rem);line-height:.9;letter-spacing:-.065em;font-weight:900}
.hero .lead{margin:0;max-width:760px;color:rgba(255,255,255,.68);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45;font-weight:460}
.hero-glow{position:absolute;width:560px;height:560px;right:-150px;top:-160px;border-radius:50%;background:radial-gradient(circle,var(--brand) 0%,rgba(24,185,187,.18) 28%,transparent 70%);filter:blur(6px);opacity:.56}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 54%,rgba(255,255,255,.025) 54% 55%,transparent 55% 100%)}
.hero-orbit{position:absolute;right:-90px;bottom:-70px;width:520px;height:340px;opacity:.55}
.hero-orbit i{position:absolute;inset:auto 0 0 auto;border:1px solid rgba(99,215,215,.55);border-left-color:transparent;border-radius:50%;transform:rotate(-16deg)}
.hero-orbit i:nth-child(1){width:500px;height:190px}
.hero-orbit i:nth-child(2){width:390px;height:150px;right:55px;bottom:42px;opacity:.7}
.hero-orbit i:nth-child(3){width:265px;height:104px;right:110px;bottom:85px;opacity:.45}

/* TYPE / SECTION HEADINGS */
.section-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.8rem}
.section-heading>span{width:38px;height:5px;margin-top:.65rem;border-radius:99px;background:var(--brand)}
.section-heading h2,.prose h2,.cta-panel h2{margin:0;font-size:clamp(2rem,4vw,3.45rem);line-height:1;letter-spacing:-.05em;font-weight:880}
.prose{max-width:var(--reading)}
.prose>p{margin:0 0 1.2rem;color:var(--ink-soft);font-size:clamp(1rem,1.2vw,1.12rem)}
.prose>p:last-child{margin-bottom:0}

/* BUTTONS */
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.2rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:50px;padding:.72rem 1.05rem;border:1px solid transparent;border-radius:999px;text-decoration:none;font-size:.88rem;font-weight:850;transition:transform .18s,background .18s,color .18s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--brand);color:var(--night)}
.button-primary:hover{background:#71dddd;color:var(--night)}
.button-secondary{border-color:rgba(255,255,255,.22);color:white;background:rgba(255,255,255,.04)}
.button-secondary:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:white}
.button-arrow{font-size:1.05em}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.card{grid-column:span 4;position:relative;overflow:hidden;min-height:235px;padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:.22s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(24,185,187,.42)}
.card-topline{width:54px;height:5px;border-radius:99px;background:var(--brand);margin-bottom:2rem;transition:width .22s}
.card:hover .card-topline{width:90px}
.card h3{margin:0 0 .8rem;font-size:1.45rem;line-height:1.05;letter-spacing:-.035em;font-weight:850}
.card h3 a{text-decoration:none}
.card p{margin:0 0 1rem;color:var(--muted);font-size:.93rem;line-height:1.55}
.card-link{margin-top:auto;color:var(--brand-dark);text-decoration:none;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.card-meta{color:var(--brand-dark)!important;font-size:.72rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.empty-state{display:flex;align-items:center;gap:1rem;padding:1.3rem 1.5rem;border-radius:var(--radius);background:var(--surface);border:1px dashed rgba(20,36,33,.22);color:var(--muted)}
.empty-state strong{font-size:2rem;color:var(--brand);font-weight:400}
.empty-state p{margin:0}

/* CTA */
.cta-block{border-bottom:0}
.cta-panel{position:relative;overflow:hidden;padding:clamp(2rem,5vw,3.4rem);border-radius:var(--radius-lg);background:linear-gradient(120deg,#13aeb0,#24c4c6);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;color:var(--night)}
.cta-panel:after{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-170px;border:1px solid rgba(13,27,24,.17);border-radius:50%}
.cta-copy{position:relative;z-index:2}
.cta-panel .eyebrow{color:rgba(13,27,24,.65)}
.cta-panel h2{max-width:720px}
.cta-panel p{max-width:700px;margin:.8rem 0 0;color:rgba(13,27,24,.72)}
.button-light{position:relative;z-index:2;background:var(--night);color:white;white-space:nowrap}
.button-light:hover{background:#1d312d;color:white}

/* LIST */
.feature-list{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.65rem}
.feature-list li{position:relative;padding:1rem 1rem 1rem 3.1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.feature-list li:before{content:"";position:absolute;left:1.05rem;top:1.2rem;width:1rem;height:1rem;border:3px solid var(--brand);border-radius:50%;box-shadow:inset 0 0 0 3px white}

/* ENTITY */
.entity-hero{margin-top:1.2rem;padding:clamp(3.5rem,7vw,6rem);border:0;border-radius:var(--radius-lg);background:var(--night);color:white}
.entity-hero .eyebrow{color:var(--brand)}
.entity-hero .lead{color:rgba(255,255,255,.68)}
.entity-hero .event-date{color:var(--brand);font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.entity-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.65fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.entity-aside{padding:1.5rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.entity-aside h2{margin:0 0 .6rem;font-size:1.1rem}
.entity-aside h2:not(:first-child){margin-top:1.5rem}
.entity-aside p,.entity-aside ul{margin:.4rem 0;color:var(--ink-soft)}
.entity-aside ul{padding-left:1.2rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:.35rem .7rem;border-radius:999px;background:rgba(24,185,187,.10);border:1px solid rgba(24,185,187,.25);color:#0b7779;font-size:.76rem;font-weight:800}

/* FOOTER */
.site-footer{margin-top:2rem;background:var(--night);color:rgba(255,255,255,.65)}
.footer-top{display:grid;grid-template-columns:1.2fr 1.8fr;gap:clamp(3rem,8vw,8rem);padding-block:4.5rem}
.footer-brand img{display:block;width:250px;height:auto;margin-bottom:1.2rem}
.footer-brand p{max-width:420px;margin:0}
.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-nav>div{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}
.footer-nav h2{margin:0 0 .75rem;color:var(--brand);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.footer-nav a{color:rgba(255,255,255,.68);text-decoration:none;font-size:.9rem}
.footer-nav a:hover{color:white}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-block:1.15rem;border-top:1px solid rgba(255,255,255,.08);font-size:.75rem;color:rgba(255,255,255,.42)}
.footer-bottom p{margin:0}

/* Subtle section differentiation: the logo always stays dominant */
html[data-section="gare"]{--brand:#21b8be;--brand-dark:#0b8388}
html[data-section="impara"]{--brand:#30b8aa;--brand-dark:#168276}
html[data-section="rete"],html[data-section="trova"]{--brand:#4bb7b8;--brand-dark:#197d7e}

/* RESPONSIVE */
@media(max-width:980px){
 .nav-toggle{display:flex}
 .main-nav{position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;display:none;flex-direction:column;align-items:stretch;padding:.8rem;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:#10211e;box-shadow:0 30px 60px rgba(0,0,0,.25)}
 .main-nav.is-open{display:flex}
 .main-nav a{padding:.8rem .9rem}
 .main-nav .nav-start{margin:.3rem 0 0;text-align:center}
 .hero{min-height:600px}
 .hero-orbit{right:-220px;opacity:.35}
 .card{grid-column:span 6}
 .footer-top{grid-template-columns:1fr}
}
@media(max-width:680px){
 .container{width:min(calc(100% - 1.1rem),var(--max))}
 .header-inner{min-height:70px}
 .brand,.brand img{width:145px;min-width:145px}
 .block{padding-block:3rem}
 .hero{margin-top:.7rem;min-height:520px;padding:2rem;border-radius:24px}
 .hero h1,.entity-hero h1{font-size:clamp(3rem,16vw,5rem)}
 .hero .lead{font-size:1.08rem}
 .hero-glow{width:360px;height:360px;right:-170px;top:-100px}
 .hero-orbit{display:none}
 .cards{grid-template-columns:1fr}
 .card{grid-column:auto;min-height:0}
 .cta-panel{align-items:flex-start;flex-direction:column;border-radius:24px}
 .entity-hero{border-radius:24px;padding:2.2rem 1.6rem}
 .entity-layout{grid-template-columns:1fr}
 .footer-nav{grid-template-columns:1fr 1fr}
 .footer-top{padding-block:3.5rem}
 .footer-brand img{width:220px}
 .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{transition:none!important;animation:none!important}
}


/* Giochi & Tutorial v10 */
html[data-section="giochi"]{--brand:#18b9bb;--brand-dark:#0d8f91}
.game-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0 0}
.game-meta span{padding:.42rem .72rem;border-radius:999px;background:rgba(24,185,187,.10);border:1px solid rgba(24,185,187,.2);color:var(--brand-dark);font-size:.76rem;font-weight:800}
.tutorial-steps{counter-reset:step;display:grid;gap:.8rem;margin:1.5rem 0 0}
.tutorial-step{counter-increment:step;display:grid;grid-template-columns:58px minmax(0,1fr);gap:1rem;padding:1.2rem 1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.tutorial-step:before{content:counter(step,decimal-leading-zero);color:var(--brand-dark);font-size:.78rem;font-weight:950;letter-spacing:.1em;padding-top:.2rem}
.tutorial-step h3{margin:0 0 .35rem;font-size:1.15rem;letter-spacing:-.02em}.tutorial-step p{margin:0;color:var(--muted)}
@media(max-width:580px){.tutorial-step{grid-template-columns:42px 1fr;padding:1rem}}


/* ===== BRAND ASSETS / MANIFEST v10.1 ===== */
:root{
  --app-bg:#f3f7f6;
  --app-theme:#0d1b18;
  --app-brand:#18b9bb;
}
html,body{background:var(--app-bg)}

.site-header .brand img,
.site-footer .footer-brand img{
  object-fit:contain;
  object-position:left center;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
}
.hero-copy{max-width:760px}
.hero-media{
  position:relative;
  z-index:2;
  margin:0;
  min-width:0;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.hero-media img{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,590px);
  height:auto;
  max-height:610px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 28px 50px rgba(0,0,0,.28));
}
.hero-media-glow{
  position:absolute;
  z-index:1;
  width:72%;
  aspect-ratio:1;
  right:4%;
  bottom:7%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(24,185,187,.34),rgba(24,185,187,.10) 38%,transparent 72%);
  filter:blur(12px);
}
.hero-orbit{display:none!important}
.hero-glow{opacity:.35}

@media(max-width:980px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)}
  .hero-media img{max-height:500px}
}
@media(max-width:760px){
  .hero{grid-template-columns:1fr;gap:1.6rem;min-height:auto}
  .hero-media{min-height:260px;margin-top:-.4rem}
  .hero-media img{width:min(88vw,430px);max-height:360px}
  .hero-media-glow{width:60%;right:20%}
}
@media(display-mode:standalone){
  body{background:var(--app-bg)}
}

/* ===== HOME / SEARCH / DISCOVERY v11 ===== */
.nav-search{opacity:.78}.nav-search:hover,.nav-search:focus-visible{opacity:1;color:var(--brand)}
.search-experience{max-width:980px;margin-inline:auto}.search-box{padding:clamp(1.3rem,3vw,2.2rem);border-radius:24px;background:var(--night);color:#fff}.search-box label{display:block;margin-bottom:.8rem;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:900}.search-control{position:relative}.search-control input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.08);color:#fff;padding:1rem 3.2rem 1rem 1.1rem;font:inherit;font-size:1.08rem;outline:none}.search-control input::placeholder{color:rgba(255,255,255,.42)}.search-control input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(24,185,187,.14)}.search-control button{position:absolute;right:.55rem;top:50%;transform:translateY(-50%);width:2.35rem;height:2.35rem;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.62);font-size:1.5rem;cursor:pointer}.search-hint{margin:.8rem 0 0;color:rgba(255,255,255,.56);font-size:.86rem}.search-status{min-height:1.5rem;margin:1rem .2rem;color:var(--muted);font-size:.85rem;font-weight:800}.search-results{display:grid;gap:1.4rem}.search-group h2{margin:0 0 .65rem;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-dark)}.search-result-list{display:grid;gap:.5rem}.search-result a{display:grid;gap:.22rem;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:inherit;text-decoration:none;transition:.18s ease}.search-result a:hover{transform:translateY(-2px);border-color:rgba(24,185,187,.45);box-shadow:0 12px 30px rgba(13,27,24,.08)}.search-result strong{font-size:1.04rem}.search-result span:last-child{color:var(--muted);font-size:.88rem}.search-result-section{color:var(--brand-dark)!important;font-size:.68rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.search-empty{padding:2rem;text-align:center;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}.search-empty strong{display:block;color:var(--brand);font-size:2rem;margin-bottom:.5rem}.related-block{margin-top:clamp(3rem,8vw,6rem);padding-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--line)}.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.related-card{padding:1.15rem;border-radius:18px;border:1px solid var(--line);background:var(--surface)}.related-type{margin:0 0 .65rem!important;color:var(--brand-dark)!important;font-size:.66rem!important;font-weight:950;letter-spacing:.1em}.related-card h3{margin:0 0 .45rem;font-size:1.06rem;line-height:1.18}.related-card h3 a{color:inherit;text-decoration:none}.related-card>p:not(.related-type){margin:.4rem 0 .85rem;color:var(--muted);font-size:.84rem;line-height:1.45}@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.related-grid{grid-template-columns:1fr}}


/* ===== SECTION IDENTITY v12 ===== */
body{
  --section-accent:var(--brand);
  --section-accent-soft:rgba(24,185,187,.12);
}

.section-mark{
  position:absolute;
  top:1.15rem;
  right:1.25rem;
  z-index:3;
  display:flex;
  align-items:center;
  gap:.55rem;
  color:rgba(255,255,255,.72);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.section-mark-line{
  width:34px;
  height:2px;
  border-radius:999px;
  background:var(--section-accent);
  box-shadow:0 0 18px color-mix(in srgb,var(--section-accent) 60%,transparent);
}

.hero{
  isolation:isolate;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:auto -8% -24% auto;
  width:440px;
  aspect-ratio:1;
  pointer-events:none;
  opacity:.5;
  background:
    radial-gradient(circle at 50% 50%,var(--section-accent-soft) 0 2px,transparent 3px) 0 0/26px 26px;
  mask-image:radial-gradient(circle,#000 0 42%,transparent 74%);
}
.hero[data-motif="waves"]:after{
  width:520px;
  height:260px;
  aspect-ratio:auto;
  background:
    repeating-radial-gradient(ellipse at 15% 85%,transparent 0 24px,var(--section-accent-soft) 25px 27px,transparent 28px 45px);
  mask-image:linear-gradient(90deg,#000,transparent);
}
.hero[data-motif="rings"]:after{
  background:
    repeating-radial-gradient(circle at 50% 50%,transparent 0 28px,var(--section-accent-soft) 29px 31px,transparent 32px 52px);
  mask-image:radial-gradient(circle,#000,transparent 72%);
}
.hero[data-motif="trail"]:after{
  width:560px;height:260px;aspect-ratio:auto;
  background:
    radial-gradient(circle at 10% 72%,var(--section-accent) 0 4px,transparent 5px),
    radial-gradient(circle at 27% 59%,var(--section-accent) 0 4px,transparent 5px),
    radial-gradient(circle at 43% 66%,var(--section-accent) 0 4px,transparent 5px),
    radial-gradient(circle at 60% 44%,var(--section-accent) 0 4px,transparent 5px),
    radial-gradient(circle at 77% 38%,var(--section-accent) 0 4px,transparent 5px),
    linear-gradient(160deg,transparent 0 45%,var(--section-accent-soft) 46% 48%,transparent 49% 100%);
  filter:blur(.1px);
}
.hero[data-motif="grid"]:after{
  width:440px;height:310px;aspect-ratio:auto;
  background:
    linear-gradient(var(--section-accent-soft) 1px,transparent 1px) 0 0/34px 34px,
    linear-gradient(90deg,var(--section-accent-soft) 1px,transparent 1px) 0 0/34px 34px;
  transform:perspective(480px) rotateX(62deg) rotateZ(-8deg);
}
.hero[data-motif="flags"]:after{
  width:440px;height:240px;aspect-ratio:auto;
  background:
    linear-gradient(120deg,transparent 0 20%,var(--section-accent-soft) 20% 28%,transparent 28% 44%,var(--section-accent-soft) 44% 52%,transparent 52% 100%);
}
.hero[data-motif="calendar"]:after{
  width:420px;height:260px;aspect-ratio:auto;
  background:
    linear-gradient(var(--section-accent-soft) 1px,transparent 1px) 0 0/52px 52px,
    linear-gradient(90deg,var(--section-accent-soft) 1px,transparent 1px) 0 0/52px 52px;
  border:1px solid var(--section-accent-soft);
  border-radius:24px;
  transform:rotate(-7deg);
}
.hero[data-motif="steps"]:after{
  width:460px;height:250px;aspect-ratio:auto;
  background:
    linear-gradient(90deg,var(--section-accent-soft) 0 22%,transparent 22% 100%) 0 75%/100% 20% no-repeat,
    linear-gradient(90deg,var(--section-accent-soft) 0 44%,transparent 44% 100%) 0 50%/100% 20% no-repeat,
    linear-gradient(90deg,var(--section-accent-soft) 0 66%,transparent 66% 100%) 0 25%/100% 20% no-repeat;
}
.hero[data-motif="nodes"]:after{
  background:
    radial-gradient(circle at 18% 24%,var(--section-accent) 0 5px,transparent 6px),
    radial-gradient(circle at 65% 22%,var(--section-accent) 0 5px,transparent 6px),
    radial-gradient(circle at 82% 72%,var(--section-accent) 0 5px,transparent 6px),
    radial-gradient(circle at 34% 78%,var(--section-accent) 0 5px,transparent 6px),
    linear-gradient(35deg,transparent 0 48%,var(--section-accent-soft) 49% 51%,transparent 52%),
    linear-gradient(-25deg,transparent 0 48%,var(--section-accent-soft) 49% 51%,transparent 52%);
}
.hero[data-motif="lines"]:after{
  width:480px;height:270px;aspect-ratio:auto;
  background:repeating-linear-gradient(0deg,var(--section-accent-soft) 0 2px,transparent 2px 26px);
  transform:rotate(-8deg);
}

.section-card{
  overflow:hidden;
}
.section-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--section-accent);
  opacity:.9;
}
.section-card:hover{
  border-color:color-mix(in srgb,var(--section-accent) 42%,var(--line));
}
.section-card .card-link,
.section-card h3 a:hover{
  color:var(--section-accent);
}

.section-heading>span{
  background:var(--section-accent);
}

.section-nav{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 1rem;
  border:1px solid color-mix(in srgb,var(--section-accent) 18%,var(--line));
  border-radius:18px;
  background:linear-gradient(90deg,var(--section-accent-soft),rgba(255,255,255,.55));
}
.section-nav-head{
  display:flex;
  align-items:center;
  gap:.55rem;
  white-space:nowrap;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.section-nav-dot{
  width:.55rem;height:.55rem;border-radius:50%;background:var(--section-accent);
  box-shadow:0 0 0 5px var(--section-accent-soft);
}
.section-nav-links{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .7rem;
}
.section-nav-links a{
  color:var(--ink-soft);
  text-decoration:none;
  font-size:.83rem;
  font-weight:800;
}
.section-nav-links a:hover{color:var(--section-accent)}

.related-type,
.search-group h2,
.search-result-section{
  color:var(--section-accent)!important;
}

/* Keep the master brand dominant in navigation. Section colours only live in content. */
.site-header,
.site-footer{
  --section-accent:var(--brand);
}

@media(max-width:780px){
  .section-mark{top:.85rem;right:1rem}
  .section-mark-label{display:none}
  .section-nav{align-items:flex-start;flex-direction:column}
  .section-nav-links{justify-content:flex-start}
}

@media(max-width:560px){
  .hero:after{opacity:.26}
  .section-nav{padding:.8rem}
}


/* ==================================================================
   PLAYFUL PROFESSIONAL v13
   Professional knowledge portal + intelligent play
   ================================================================== */

:root{
  --pp-ink:#102723;
  --pp-night:#0d211e;
  --pp-paper:#f7f7f2;
  --pp-paper-2:#efefe8;
  --pp-white:#ffffff;
  --pp-brand:#18b9bb;
  --pp-brand-deep:#078d90;
  --pp-mint:#d9f4ef;
  --pp-sun:#f1c75b;
  --pp-coral:#ef826c;
  --pp-lavender:#cbc5f2;
  --pp-line:rgba(16,39,35,.11);
  --pp-shadow:0 18px 46px rgba(13,33,30,.09);
  --pp-shadow-hover:0 28px 70px rgba(13,33,30,.14);
  --pp-radius:24px;
  --pp-radius-lg:38px;
  --max:1240px;
}

html,body{
  background:var(--pp-paper);
}
body{
  color:var(--pp-ink);
  font-size:16px;
  line-height:1.62;
}
.container{width:min(calc(100% - 2.4rem),var(--max))}
::selection{background:var(--pp-sun);color:var(--pp-ink)}

/* Header: light, calm, product-like */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(247,247,242,.88);
  border-bottom:1px solid rgba(16,39,35,.08);
  backdrop-filter:blur(22px) saturate(145%);
}
.header-inner{
  min-height:78px;
  gap:1.4rem;
}
.brand,.brand img{
  width:166px;
  min-width:166px;
}
.main-nav{
  gap:.12rem;
}
.main-nav a{
  color:rgba(16,39,35,.72);
  padding:.58rem .68rem;
  font-size:.81rem;
  font-weight:760;
}
.main-nav a:hover{
  color:var(--pp-ink);
  background:rgba(16,39,35,.055);
}
.main-nav .nav-search{
  color:var(--pp-brand-deep);
}
.main-nav .nav-search:before{
  content:"⌕";
  margin-right:.28rem;
  font-size:1rem;
}
.main-nav .nav-start{
  margin-left:.42rem;
  color:#fff;
  background:var(--pp-night);
  padding:.66rem 1rem;
  box-shadow:0 6px 18px rgba(13,33,30,.14);
}
.main-nav .nav-start:hover{
  color:var(--pp-night);
  background:var(--pp-sun);
}
.nav-toggle{
  color:var(--pp-ink);
}

/* Breadcrumbs become discreet editorial utility */
.breadcrumbs-wrap{
  background:transparent;
  border-bottom:0;
}
.breadcrumbs{
  padding-block:.72rem .2rem;
  color:rgba(16,39,35,.48);
}
.breadcrumbs li:not(:last-child):after{
  color:var(--section-accent,var(--pp-brand));
}
.breadcrumbs a:hover{color:var(--pp-ink)}
.breadcrumbs span[aria-current]{color:rgba(16,39,35,.7)}

/* Global rhythm */
.content-shell{
  padding-bottom:6rem;
}
.block{
  padding-block:clamp(3.5rem,7vw,6.4rem);
  border-bottom:0;
}
.block + .block{
  /*border-top:1px solid var(--pp-line);*/
      margin-top: 0;
    padding: 10px 0;
}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:0;
  box-shadow:none;
}

.hero-home{
  min-height:650px;
  margin-top:.8rem;
  padding:clamp(2.6rem,5.2vw,5.2rem);
  border-radius:44px;
  background:
    radial-gradient(circle at 82% 18%,rgba(24,185,187,.24),transparent 34%),
    linear-gradient(135deg,#0d211e 0%,#102d28 56%,#0e2521 100%);
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.hero-home:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.45;
  background:
    radial-gradient(circle at 12% 16%,rgba(255,255,255,.08) 0 1px,transparent 1.5px) 0 0/25px 25px;
  mask-image:linear-gradient(90deg,#000,transparent 45%);
}
.hero-home .hero-copy{
  max-width:690px;
}
.hero-home h1{
  margin:.15rem 0 .28em;
  max-width:760px;
  font-size:clamp(3.6rem,7vw,6.8rem);
  line-height:.91;
  letter-spacing:-.068em;
  font-weight:930;
}
.hero-home .lead{
  max-width:640px;
  font-size:clamp(1.1rem,1.7vw,1.38rem);
  color:rgba(255,255,255,.72);
  line-height:1.48;
}
.hero-home .eyebrow{
  color:#75e2da;
}
.hero-kicker-row{
  display:flex;
  align-items:center;
  gap:.7rem;
  flex-wrap:wrap;
}
.hero-section-pill{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:.27rem .62rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--section-accent) 42%,transparent);
  background:var(--section-accent-soft);
  color:var(--section-accent);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-home .hero-media{
  position:relative;
  align-self:stretch;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.hero-home .hero-media:before{
  content:"";
  position:absolute;
  width:86%;
  aspect-ratio:1;
  right:3%;
  bottom:2%;
  border-radius:46% 54% 54% 46% / 60% 46% 54% 40%;
  background:
    radial-gradient(circle at 30% 25%,#7de0d8,transparent 45%),
    linear-gradient(145deg,#18b9bb,#0e8f91);
  transform:rotate(-7deg);
  opacity:.96;
}
.hero-home .hero-media img{
  position:relative;
  z-index:2;
  display:block;
  width:min(100%,610px);
  max-height:590px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 34px 42px rgba(0,0,0,.25));
}
.hero-media-shape{
  position:absolute;
  z-index:1;
  width:54px;height:54px;
  right:2%;top:18%;
  border-radius:50%;
  background:var(--pp-sun);
  box-shadow:
    -410px 350px 0 -8px var(--pp-coral),
    -370px 70px 0 -18px var(--pp-mint);
}
.hero-play-chip{
  position:absolute;
  z-index:5;
  padding:.48rem .76rem;
  border-radius:999px;
  background:#fff;
  color:var(--pp-night);
  font-size:.74rem;
  font-weight:900;
  box-shadow:0 12px 32px rgba(0,0,0,.13);
}
.hero-play-chip-a{top:13%;left:1%;transform:rotate(-6deg)}
.hero-play-chip-b{top:31%;right:-1%;transform:rotate(5deg)}
.hero-play-chip-c{bottom:12%;left:6%;transform:rotate(3deg);background:var(--pp-sun)}

/* internal hero = editorial, not a repeated photo */
.hero-editorial{
  min-height:390px;
  margin-top:1rem;
  padding:clamp(3rem,6vw,5.2rem);
  border-radius:36px;
  background:
    linear-gradient(135deg,var(--section-accent-soft),rgba(255,255,255,.72) 38%,rgba(255,255,255,.94)),
    var(--pp-white);
  color:var(--pp-ink);
  border:1px solid color-mix(in srgb,var(--section-accent) 18%,var(--pp-line));
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(230px,.55fr);
  gap:2rem;
  align-items:center;
}
.hero-editorial .hero-copy{
  max-width:820px;
}
.hero-editorial .eyebrow{
  color:var(--section-accent);
}
.hero-editorial h1{
  margin:.2rem 0 .28em;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:.94;
  letter-spacing:-.06em;
  color:var(--pp-ink);
}
.hero-editorial .lead{
  max-width:690px;
  color:rgba(16,39,35,.68);
  font-size:clamp(1.05rem,1.6vw,1.3rem);
}
.hero-symbol{
  position:relative;
  width:min(100%,280px);
  aspect-ratio:1;
  justify-self:end;
}
.hero-symbol:before,
.hero-symbol:after,
.hero-symbol span{
  content:"";
  position:absolute;
  border-radius:50%;
}
.hero-symbol:before{
  inset:3% 8% 12% 4%;
  background:var(--section-accent-soft);
  border:1px solid color-mix(in srgb,var(--section-accent) 26%,transparent);
}
.hero-symbol:after{
  width:44%;aspect-ratio:1;
  right:0;top:4%;
  background:var(--section-accent);
  opacity:.9;
}
.hero-symbol span:nth-child(1){
  width:26%;aspect-ratio:1;
  left:0;bottom:5%;
  background:var(--pp-sun);
}
.hero-symbol span:nth-child(2){
  width:13%;aspect-ratio:1;
  left:29%;top:14%;
  background:var(--pp-coral);
}
.hero-symbol span:nth-child(3){
  width:9%;aspect-ratio:1;
  right:18%;bottom:3%;
  background:var(--pp-night);
}
.hero-editorial:after{
  display:none!important;
}
.hero-scent{
  position:absolute;
  z-index:0;
  pointer-events:none;
  left:46%;
  top:13%;
  width:190px;
  height:110px;
  transform:rotate(-11deg);
  opacity:.58;
}
.hero-scent i{
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background:currentColor;
  color:var(--section-accent,var(--pp-brand));
}
.hero-scent i:nth-child(1){left:0;bottom:4%}
.hero-scent i:nth-child(2){left:22%;bottom:20%;width:5px;height:5px}
.hero-scent i:nth-child(3){left:44%;bottom:46%;width:4px;height:4px}
.hero-scent i:nth-child(4){left:66%;bottom:67%;width:3px;height:3px}
.hero-scent i:nth-child(5){left:88%;bottom:84%;width:2px;height:2px}

/* Typography & headings */
.eyebrow{
  margin:0;
  font-size:.69rem;
  font-weight:950;
  letter-spacing:.16em;
}
.section-heading{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  margin-bottom:2rem;
}
.section-heading .section-number,
.section-heading>span{
  flex:0 0 auto;
  width:36px;
  height:36px;
  margin:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--section-accent-soft);
  color:var(--section-accent);
  font-size:1rem;
  font-weight:950;
}
.section-heading h2,
.prose h2,
.cta-panel h2{
  font-size:clamp(2rem,3.8vw,3.4rem);
  line-height:1.02;
  letter-spacing:-.048em;
}
.prose{
  max-width:820px;
}
.prose>p{
  color:rgba(16,39,35,.72);
  font-size:clamp(1rem,1.15vw,1.11rem);
  line-height:1.72;
}

/* Buttons: tactile but mature */
.actions{gap:.65rem;margin-top:2rem}
.button{
  min-height:49px;
  padding:.72rem 1.06rem;
  border-radius:14px;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:-.01em;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover{
  transform:translateY(-2px);
}
.button-primary{
  background:var(--pp-brand);
  color:var(--pp-night);
  box-shadow:0 9px 22px rgba(24,185,187,.18);
}
.button-primary:hover{
  background:var(--pp-sun);
  box-shadow:0 13px 28px rgba(13,33,30,.16);
}
.button-secondary{
  color:inherit;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
}
.hero-editorial .button-secondary{
  color:var(--pp-ink);
  background:#fff;
  border-color:var(--pp-line);
}
.button-arrow{
  transition:transform .18s ease;
}
.button:hover .button-arrow{transform:translateX(3px)}

/* Cards: editorial objects, not dashboard widgets */
.cards{
  gap:1.05rem;
}
.card{
  grid-column:span 4;
  min-height:260px;
  padding:1.55rem;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--pp-line);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
.card:nth-child(3n+2){
  background:color-mix(in srgb,var(--section-accent-soft) 40%,#fff);
}
.card:hover{
  transform:translateY(-6px) rotate(-.15deg);
  box-shadow:var(--pp-shadow-hover);
  border-color:color-mix(in srgb,var(--section-accent) 36%,var(--pp-line));
}
.card:before{
  display:none;
}
.card-accent{
  width:38px;
  height:9px;
  margin-bottom:2.25rem;
  border-radius:999px;
  background:var(--section-accent);
  box-shadow:27px 0 0 -2px var(--pp-sun);
}
.card-index{
  position:absolute;
  top:1.28rem;
  right:1.35rem;
  color:rgba(16,39,35,.24);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.08em;
}
.card h3{
  max-width:92%;
  margin:0 0 .78rem;
  font-size:clamp(1.3rem,2vw,1.65rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.card p{
  color:rgba(16,39,35,.63);
  line-height:1.55;
}
.card-link{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:var(--section-accent);
  font-size:.78rem;
  font-weight:950;
  text-decoration:none;
}
.card-link span{
  transition:transform .18s ease;
}
.card-link:hover span{transform:translateX(4px)}

/* Lists */
.feature-list{
  display:grid;
  gap:.65rem;
  padding:0;
  list-style:none;
}
.feature-list li{
  position:relative;
  padding:1rem 1rem 1rem 3rem;
  border:1px solid var(--pp-line);
  border-radius:18px;
  background:rgba(255,255,255,.66);
}
.feature-list li:before{
  content:"";
  position:absolute;
  left:1.15rem;
  top:1.35rem;
  width:9px;height:9px;
  border-radius:50%;
  background:var(--section-accent);
  box-shadow:0 0 0 5px var(--section-accent-soft);
}

/* CTA */
.cta-panel{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  padding:clamp(2rem,5vw,4rem);
  background:
    radial-gradient(circle at 87% 30%,rgba(255,255,255,.15),transparent 24%),
    linear-gradient(135deg,var(--pp-brand) 0%,#2bc7c0 58%,#62d8cf 100%);
  color:var(--pp-night);
  border:0;
  box-shadow:0 24px 70px rgba(24,185,187,.18);
}
.cta-panel p{
  color:rgba(13,33,30,.7);
}
.cta-panel .eyebrow{color:rgba(13,33,30,.62)}
.cta-panel .button-light{
  background:var(--pp-night);
  color:white;
  border-radius:14px;
}
.cta-panel .button-light:hover{
  background:var(--pp-sun);
  color:var(--pp-night);
}
.cta-orbit{
  position:absolute;
  right:-70px;
  top:-105px;
  width:310px;
  height:310px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  box-shadow:
    0 0 0 34px rgba(255,255,255,.08),
    0 0 0 68px rgba(255,255,255,.05);
}

/* Section navigation */
.section-nav{
  border:0;
  border-radius:20px;
  padding:.9rem 1rem;
  background:color-mix(in srgb,var(--section-accent-soft) 62%,#fff);
  box-shadow:none;
}
.section-nav-links a{
  padding:.36rem .58rem;
  border-radius:999px;
}
.section-nav-links a:hover{
  background:#fff;
}

/* Search */
.search-experience{max-width:100%}
.search-box{
  border-radius:30px;
  padding:clamp(1.6rem,4vw,3rem);
  background:
    radial-gradient(circle at 88% 12%,rgba(24,185,187,.26),transparent 28%),
    var(--pp-night);
}
.search-control input{
  min-height:62px;
  border-radius:17px;
  background:rgba(255,255,255,.1);
}
.search-result a{
  border-radius:18px;
  background:rgba(255,255,255,.74);
}
.search-result a:hover{
  border-color:color-mix(in srgb,var(--section-accent) 36%,var(--pp-line));
  box-shadow:var(--pp-shadow);
}

/* Related */
.related-block{
  border-top:0;
  padding-top:clamp(3rem,6vw,5rem);
}
.related-grid{gap:.85rem}
.related-card{
  position:relative;
  border-radius:20px;
  background:rgba(255,255,255,.65);
  border:1px solid var(--pp-line);
  padding:1.15rem;
}
.related-card:before{
  content:"";
  position:absolute;
  left:1.15rem;
  top:0;
  width:48px;
  height:4px;
  border-radius:0 0 999px 999px;
  background:var(--section-accent);
}

/* Entity pages */
.entity-hero{
  border-radius:36px;
  background:
    radial-gradient(circle at 82% 18%,var(--section-accent-soft),transparent 34%),
    var(--pp-night);
}
.entity-aside{
  border-radius:22px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--pp-line);
}
.chip{
  background:var(--section-accent-soft);
  border-color:color-mix(in srgb,var(--section-accent) 26%,transparent);
  color:var(--pp-ink);
}

/* Footer */
.site-footer{
  margin-top:2rem;
  background:var(--pp-night);
  border-radius:38px 38px 0 0;
}
.footer-top{
  padding-block:4.8rem;
}
.footer-brand img{width:230px}
.footer-brand p{
  color:rgba(255,255,255,.58);
  line-height:1.55;
}
.footer-brand p strong{
  color:#fff;
}
.footer-start{
  display:inline-block;
  margin-top:1.1rem;
  color:#7de0d8;
  font-size:.83rem;
  font-weight:900;
  text-decoration:none;
}
.footer-nav h2{
  color:#7de0d8;
}
.footer-nav a{
  padding:.14rem 0;
}
.footer-bottom{
  padding-block:1.25rem;
}

/* Remove old v12 hero ornaments that conflict with v13 */
.section-mark{display:none!important}
.hero-glow{display:none!important}
.hero-media-glow{display:none!important}
.hero:after{display:none}
.hero-orbit{display:none!important}

/* Responsive */
@media(max-width:1080px){
  .main-nav a{padding:.54rem .52rem;font-size:.78rem}
  .main-nav .nav-start{padding-inline:.75rem}
}
@media(max-width:980px){
  .nav-toggle{display:flex}
  .main-nav{
    position:absolute;
    top:calc(100% + .45rem);
    left:1rem;
    right:1rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:.8rem;
    border:1px solid var(--pp-line);
    border-radius:22px;
    background:rgba(247,247,242,.98);
    box-shadow:0 28px 70px rgba(13,33,30,.18);
  }
  .main-nav.is-open{display:flex}
  .main-nav a{padding:.78rem .9rem}
  .main-nav .nav-start{margin:.35rem 0 0;text-align:center}
  .hero-home{
    grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);
    min-height:590px;
  }
  .hero-home .hero-media{min-height:430px}
  .hero-editorial{grid-template-columns:minmax(0,1fr) 210px}
  .card{grid-column:span 6}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 1.15rem),var(--max))}
  .header-inner{min-height:68px}
  .brand,.brand img{width:145px;min-width:145px}
  .hero-home{
    grid-template-columns:1fr;
    min-height:auto;
    padding:2rem;
    border-radius:28px;
  }
  .hero-home h1{font-size:clamp(3.1rem,15vw,5.2rem)}
  .hero-home .hero-media{
    min-height:340px;
    margin-top:-.6rem;
  }
  .hero-home .hero-media img{
    max-height:390px;
    width:min(92vw,470px);
  }
  .hero-play-chip-b{right:2%}
  .hero-editorial{
    grid-template-columns:1fr;
    min-height:auto;
    border-radius:27px;
    padding:2rem;
  }
  .hero-symbol{
    width:155px;
    justify-self:start;
    margin-top:.5rem;
  }
  .hero-editorial h1{font-size:clamp(2.7rem,13vw,4.4rem)}
  .card{grid-column:span 12;min-height:220px}
  .cta-panel{border-radius:26px}
  .site-footer{border-radius:28px 28px 0 0}
}
@media(max-width:520px){
  .hero-play-chip{font-size:.68rem;padding:.4rem .62rem}
  .hero-play-chip-a{left:0}
  .hero-play-chip-c{left:1%}
}


/* ===== DISCIPLINE IDENTITY ASSETS v13.1 ===== */
.identity-feature{
  padding-block:clamp(2rem,4vw,3.4rem);
}
.identity-feature-inner{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3.2rem);
  align-items:center;
  padding:clamp(1.4rem,3vw,2.4rem);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--section-accent) 18%,var(--pp-line));
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 50%,var(--section-accent-soft),transparent 28%),
    rgba(255,255,255,.72);
}
.identity-feature-inner:after{
  content:"";
  position:absolute;
  right:-35px;
  top:-55px;
  width:170px;height:170px;
  border-radius:50%;
  border:1px solid var(--section-accent-soft);
  box-shadow:0 0 0 24px color-mix(in srgb,var(--section-accent-soft) 55%,transparent);
}
.identity-feature-logo{
  position:relative;
  z-index:1;
  margin:0;
  width:160px;
  height:160px;
  display:grid;
  place-items:center;
  border-radius:34px;
  background:#fff;
  box-shadow:0 16px 40px rgba(13,33,30,.09);
}
.identity-feature-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:144px;
  max-height:144px;
  object-fit:contain;
}
.identity-feature-logo img[width="256"]{
  max-width:154px;
  max-height:154px;
}
.identity-feature-copy{
  position:relative;
  z-index:1;
  max-width:760px;
}
.identity-feature-copy h2{
  margin:.15rem 0 .55rem;
  font-size:clamp(1.7rem,3vw,2.6rem);
  line-height:1;
  letter-spacing:-.045em;
}
.identity-feature-copy p:not(.eyebrow){
  margin:0;
  color:rgba(16,39,35,.67);
}
.identity-feature-link{
  display:inline-flex;
  gap:.35rem;
  margin-top:1rem;
  color:var(--section-accent);
  font-size:.82rem;
  font-weight:950;
  text-decoration:none;
}
.identity-feature-link span{transition:transform .18s ease}
.identity-feature-link:hover span{transform:translateX(4px)}
@media(max-width:620px){
  .identity-feature-inner{grid-template-columns:1fr}
  .identity-feature-logo{width:132px;height:132px;border-radius:28px}
  .identity-feature-logo img{max-width:116px;max-height:116px}
}

/* ===== BIBLIOTECA DEL FIUTO v15 ===== */
.library-shelf-intro{max-width:820px;margin:-.8rem 0 1.8rem;color:rgba(16,39,35,.66);font-size:1.05rem}
.library-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.library-item{position:relative;grid-column:span 4;display:flex;flex-direction:column;min-height:390px;padding:1.45rem;border:1px solid var(--pp-line);border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 1px 0 rgba(255,255,255,.8) inset;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.library-item:nth-child(4n+2){background:color-mix(in srgb,var(--section-accent-soft) 38%,#fff)}
.library-item:hover{transform:translateY(-5px);box-shadow:var(--pp-shadow-hover);border-color:color-mix(in srgb,var(--section-accent) 34%,var(--pp-line))}
.library-item-top{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-bottom:1.35rem}
.library-kind{font-size:.63rem;font-weight:950;letter-spacing:.11em;color:var(--section-accent);text-transform:uppercase}
.library-lang{display:grid;place-items:center;min-width:30px;height:30px;padding:0 .4rem;border-radius:999px;background:var(--section-accent-soft);font-size:.62rem;font-weight:950}
.library-item h3{margin:0;font-size:clamp(1.35rem,2vw,1.72rem);line-height:1.02;letter-spacing:-.045em}
.library-subtitle{margin:.4rem 0 0;color:rgba(16,39,35,.58);font-size:.87rem;line-height:1.35}
.library-author{margin:.75rem 0;color:rgba(16,39,35,.72);font-size:.79rem;font-weight:850}
.library-note{margin:.25rem 0;color:rgba(16,39,35,.65);font-size:.91rem;line-height:1.52}
.library-why{display:flex;flex-direction:column;gap:.2rem;margin:1rem 0;padding:.8rem .9rem;border-radius:15px;background:var(--section-accent-soft)}
.library-why strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--section-accent)}
.library-why span{font-size:.82rem;line-height:1.4;color:rgba(16,39,35,.72)}
.library-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:1rem}
.library-tags span{padding:.27rem .48rem;border:1px solid var(--pp-line);border-radius:999px;background:#fff;font-size:.62rem;font-weight:800;color:rgba(16,39,35,.62)}
.library-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:1rem;color:var(--section-accent);font-size:.78rem;font-weight:950;text-decoration:none}
.library-link span{transition:transform .18s ease}.library-link:hover span{transform:translateX(4px)}
@media(max-width:980px){.library-item{grid-column:span 6}}
@media(max-width:620px){.library-item{grid-column:span 12;min-height:0}}

/* ===== MAPPA ATTIVITÀ OLFATTIVE v16 ===== */
.scent-map-intro{max-width:860px;margin:-.8rem 0 2rem;color:rgba(16,39,35,.66);font-size:1.05rem}
.scent-map-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.scent-map-card{position:relative;grid-column:span 6;display:flex;flex-direction:column;min-height:330px;padding:1.55rem;border:1px solid var(--pp-line);border-radius:25px;background:rgba(255,255,255,.78);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.scent-map-card:nth-child(4n+2),.scent-map-card:nth-child(4n+3){background:color-mix(in srgb,var(--section-accent-soft) 34%,#fff)}
.scent-map-card:hover{transform:translateY(-5px);box-shadow:var(--pp-shadow-hover);border-color:color-mix(in srgb,var(--section-accent) 34%,var(--pp-line))}
.scent-map-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.55rem}
.scent-map-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--section-accent);color:white;font-size:.67rem;font-weight:950}
.scent-map-target{max-width:70%;text-align:right;color:var(--section-accent);font-size:.62rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.scent-map-card h3{margin:0;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1;letter-spacing:-.05em}
.scent-map-aka{margin:.4rem 0 .85rem;color:rgba(16,39,35,.48);font-size:.78rem;font-weight:850}
.scent-map-card>p:not(.scent-map-aka){color:rgba(16,39,35,.66);line-height:1.55}
.scent-map-distinction{display:flex;flex-direction:column;gap:.18rem;margin-top:auto;padding:1rem;border-radius:16px;background:var(--section-accent-soft)}
.scent-map-distinction strong{color:var(--section-accent);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase}
.scent-map-distinction span{color:rgba(16,39,35,.72);font-size:.84rem;line-height:1.42}
.scent-map-link{display:inline-flex;margin-top:1rem;color:var(--section-accent);font-size:.78rem;font-weight:950;text-decoration:none}
@media(max-width:760px){.scent-map-card{grid-column:span 12;min-height:0}}

/* =========================================================
   GIOCHI DI FIUTO v17 — NEO EDITORIAL PORTAL
   Modernizzazione visuale: meno "card SaaS", più portale editoriale.
   ========================================================= */
:root{
  --v17-paper:#f4f2eb;
  --v17-paper-2:#ebe8df;
  --v17-ink:#0b201d;
  --v17-muted:#61706c;
  --v17-line:rgba(11,32,29,.14);
  --v17-brand:#18b9bb;
  --v17-brand-soft:rgba(24,185,187,.12);
  --v17-dark:#091b18;
  --v17-radius:18px;
  --v17-radius-sm:10px;
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 90% 2%,rgba(24,185,187,.07),transparent 24rem),
    var(--v17-paper);
  color:var(--v17-ink);
}
.site-main{overflow:clip}
.container{width:min(1380px,calc(100% - 48px))}
.block{margin-block:clamp(4.5rem,8vw,8.5rem)}
/* Header: più leggero e da pubblicazione */
.site-header{
  background:rgba(244,242,235,.91)!important;
  border-bottom:1px solid var(--v17-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(130%);
}
.site-header .container{min-height:78px}
.site-nav a{font-size:.78rem;letter-spacing:.015em}
.site-nav a:not(.button){position:relative}
.site-nav a:not(.button)::after{
  content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;
  background:var(--v17-brand);transition:right .2s ease
}
.site-nav a:not(.button):hover::after{right:0}
.site-header .button{border-radius:999px!important;box-shadow:none!important}
/* Tipografia e ritmo */
h1,h2,h3{text-wrap:balance}
.hero h1{max-width:980px;font-size:clamp(3.4rem,8.2vw,8rem);line-height:.86;letter-spacing:-.072em}
.hero .lead{max-width:760px;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55}
.section-heading{align-items:baseline;border-top:1px solid var(--v17-line);padding-top:1rem}
.section-heading h2{font-size:clamp(2.15rem,4.7vw,4.7rem);line-height:.93;letter-spacing:-.058em}
.section-heading>span{font-size:.8rem}
/* Hero interno: editoriale, meno "box" */
.hero:not(.home-hero){
  position:relative;
  margin-top:0;
  padding:clamp(5.5rem,10vw,10rem) 0 clamp(4rem,7vw,7rem);
  border-radius:0!important;
  background:transparent!important;
  color:var(--v17-ink)!important;
  border-bottom:1px solid var(--v17-line);
}
.hero:not(.home-hero)::before{
  content:"";position:absolute;right:-12vw;top:8%;width:42vw;height:42vw;
  border:1px solid color-mix(in srgb,var(--section-accent) 25%,transparent);
  border-radius:50%;pointer-events:none
}
.hero:not(.home-hero)::after{
  content:"";position:absolute;right:3vw;top:24%;width:17vw;height:17vw;
  background:var(--section-accent-soft);border-radius:50%;pointer-events:none
}
.hero:not(.home-hero) .eyebrow{color:var(--section-accent)!important}
.hero:not(.home-hero) .lead{color:var(--v17-muted)!important}
/* Home hero: magazine cover */
.home-hero{
  min-height:min(780px,calc(100vh - 78px));
  border-radius:0 0 42px 42px!important;
  box-shadow:none!important;
}
.home-hero h1{font-size:clamp(4.2rem,9vw,9rem)}
/* Cards: più editoriali, meno bolle */
.cards-grid,.related-grid,.library-grid,.scent-map-grid{gap:1px!important;background:var(--v17-line);border:1px solid var(--v17-line);border-radius:var(--v17-radius);overflow:hidden}
.card,.related-card,.library-item,.scent-map-card{
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:var(--v17-paper)!important;
  transition:background .18s ease,transform .18s ease!important
}
.card:hover,.related-card:hover,.library-item:hover,.scent-map-card:hover{
  transform:none!important;background:#fff!important;box-shadow:none!important
}
.card h3,.related-card h3,.library-item h3,.scent-map-card h3{letter-spacing:-.035em}
/* Alternanza editoriale per contenuti lunghi */
.text-block{max-width:920px}
.text-block p{font-size:clamp(1.03rem,1.25vw,1.17rem);line-height:1.78}
.text-block h2{font-size:clamp(2rem,3.7vw,3.8rem);line-height:1;letter-spacing:-.05em}
/* Pills/tag più asciutti */
.library-tags span,.tag,.chip{
  border-radius:4px!important;background:transparent!important;
  border-color:var(--v17-line)!important;text-transform:uppercase;
  letter-spacing:.055em
}
/* Biblioteca: effetto indice/catalogo */
.library-item{min-height:420px}
.library-kind,.library-author{letter-spacing:.035em}
.library-lang{border-radius:4px!important;background:var(--v17-ink)!important;color:var(--v17-paper)}
.library-why{border-radius:8px!important;border-left:3px solid var(--section-accent)}
/* Mappa discipline */
.scent-map-number{border-radius:4px!important;width:42px;height:32px}
.scent-map-distinction{border-radius:8px!important}
.scent-map-card{min-height:350px}
/* Identity feature: immagine/logo come elemento editoriale */
.identity-feature{
  border-radius:var(--v17-radius)!important;border:1px solid var(--v17-line)!important;
  box-shadow:none!important;background:rgba(255,255,255,.42)!important
}
.identity-feature-media{border-radius:12px!important}
/* CTA più netta */
.cta-block,.cta-panel{
  border-radius:24px!important;box-shadow:none!important;
  background:var(--v17-dark)!important;color:#fff!important
}
.button{border-radius:7px!important;box-shadow:none!important;font-weight:900;letter-spacing:.01em}
.button-primary{background:var(--v17-brand)!important;color:var(--v17-dark)!important}
/* Ricerca */
.search-shell,.search-panel{border-radius:var(--v17-radius)!important;box-shadow:none!important;border:1px solid var(--v17-line)!important}
input[type="search"],input[type="text"],select,textarea{border-radius:8px!important}
/* Footer più simile a colophon */
.site-footer{
  margin-top:clamp(5rem,10vw,10rem);
  border-radius:38px 38px 0 0;
  background:var(--v17-dark)!important
}
.site-footer .container{padding-top:clamp(4rem,7vw,7rem);padding-bottom:3rem}
/* Piccoli dettagli di movimento, senza animazioni invadenti */
a{transition:color .18s ease,background .18s ease,border-color .18s ease}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:900px){
  .container{width:min(100% - 30px,1380px)}
  .hero h1{font-size:clamp(3.15rem,13vw,6rem)}
  .home-hero h1{font-size:clamp(3.6rem,15vw,7rem)}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1380px)}
  .block{margin-block:4rem}
  .hero:not(.home-hero){padding-top:4.5rem}
  .hero:not(.home-hero)::before{width:80vw;height:80vw;right:-48vw}
  .hero:not(.home-hero)::after{width:34vw;height:34vw;right:-8vw}
  .home-hero{border-radius:0 0 24px 24px!important}
  .site-footer{border-radius:24px 24px 0 0}
}

/* =========================================================
   v17.1 — HOME HERO HOTFIX
   Corregge il selettore reale (.hero-home) e rimuove la vecchia
   hero image, sostituendola con una composizione grafica CSS.
   ========================================================= */

/* La home usa .hero-home, non .home-hero */
.hero.hero-home{
  position:relative;
  isolation:isolate;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  min-height:clamp(610px,76vh,820px)!important;
  padding:clamp(3rem,7vw,7rem)!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 28%,rgba(125,224,216,.16),transparent 21rem),
    linear-gradient(138deg,#091b18 0%,#0d2723 58%,#0a211e 100%)!important;
  color:#fff;
  border-radius:0 0 42px 42px!important;
}
.hero.hero-home .hero-copy{
  position:relative;
  z-index:4;
  width:min(900px,78%);
  max-width:900px;
  align-self:center;
}
.hero.hero-home h1{
  max-width:900px;
  margin-bottom:1.4rem;
  color:#fff;
  font-size:clamp(4.2rem,9vw,8.7rem)!important;
  line-height:.84;
  letter-spacing:-.078em;
}
.hero.hero-home .lead{
  max-width:680px;
  color:rgba(255,255,255,.7)!important;
  font-size:clamp(1.08rem,1.55vw,1.3rem);
}
.hero.hero-home .eyebrow{color:#77e1da!important}

/* L'immagine precedente era pensata per un layout a due colonne.
   La togliamo del tutto: niente immagine appoggiata sulla destra. */
.hero.hero-home .hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  min-height:0!important;
  margin:0!important;
  display:block!important;
  pointer-events:none;
}
.hero.hero-home .hero-media img{
  display:none!important;
}

/* Composizione astratta: "campo odoroso" */
.hero.hero-home .hero-media::before{
  content:""!important;
  position:absolute!important;
  width:min(56vw,780px)!important;
  height:min(56vw,780px)!important;
  right:-9vw!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%) rotate(-12deg)!important;
  border-radius:46% 54% 58% 42% / 42% 50% 50% 58%!important;
  background:
    radial-gradient(circle at 36% 34%,rgba(255,255,255,.15) 0 2%,transparent 2.5%),
    radial-gradient(circle at 48% 48%,rgba(125,224,216,.19),transparent 43%),
    linear-gradient(145deg,rgba(24,185,187,.95),rgba(14,143,145,.42))!important;
  opacity:.92!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 70px 130px rgba(0,0,0,.22)!important;
}

/* Curve concentriche / diffusione */
.hero.hero-home .hero-media::after{
  content:"";
  position:absolute;
  right:-2vw;
  top:50%;
  width:min(44vw,630px);
  aspect-ratio:1;
  transform:translateY(-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:
    0 0 0 42px rgba(255,255,255,.035),
    0 0 0 92px rgba(24,185,187,.045),
    0 0 0 152px rgba(255,255,255,.022);
}

/* Disattiva elementi della vecchia composizione immagine */
.hero.hero-home .hero-media-shape,
.hero.hero-home .hero-play-chip,
.hero.hero-home .hero-media-glow{
  display:none!important;
}

/* Piccolo punto grafico, volutamente non iconografico */
.hero.hero-home::after{
  content:"";
  display:block!important;
  position:absolute;
  z-index:3;
  right:clamp(2rem,7vw,7rem);
  top:clamp(2.5rem,8vw,6.5rem);
  width:14px;
  height:14px;
  border-radius:50%;
  background:#f1c75b;
  box-shadow:
    -52px 76px 0 5px #ef826c,
    34px 158px 0 -3px #77e1da;
}

/* Corregge anche i selettori v17 per gli hero interni */
.hero.hero-editorial{
  position:relative;
  margin-top:0;
  padding:clamp(5.5rem,10vw,10rem) 0 clamp(4rem,7vw,7rem);
  border-radius:0!important;
  background:transparent!important;
  color:var(--v17-ink)!important;
  border-bottom:1px solid var(--v17-line);
  grid-template-columns:minmax(0,1fr) minmax(160px,260px)!important;
}
.hero.hero-editorial .hero-media{display:none!important}
.hero.hero-editorial .hero-copy{max-width:980px}
.hero.hero-editorial h1{
  max-width:1050px;
  font-size:clamp(3.4rem,7.5vw,7.4rem);
  line-height:.88;
}
.hero.hero-editorial .lead{color:var(--v17-muted)!important}

/* Desktop: il testo resta protagonista e non collide mai col decoro */
@media(min-width:1100px){
  .hero.hero-home .hero-copy{width:min(820px,66%)}
}

/* Tablet */
@media(max-width:900px){
  .hero.hero-home{
    min-height:650px!important;
    padding:clamp(2.4rem,7vw,4.5rem)!important;
  }
  .hero.hero-home .hero-copy{width:min(720px,86%)}
  .hero.hero-home .hero-media::before{
    width:72vw!important;height:72vw!important;right:-31vw!important;top:56%!important;
    opacity:.72!important
  }
  .hero.hero-home .hero-media::after{right:-26vw;width:68vw;opacity:.65}
}

/* Mobile: niente immagine, niente elemento che spinge il layout */
@media(max-width:620px){
  .hero.hero-home{
    min-height:600px!important;
    padding:3.1rem 1.3rem 3.5rem!important;
    border-radius:0 0 24px 24px!important;
  }
  .hero.hero-home .hero-copy{width:100%}
  .hero.hero-home h1{
    font-size:clamp(3.55rem,17vw,5.6rem)!important;
    max-width:100%;
  }
  .hero.hero-home .lead{max-width:92%}
  .hero.hero-home .hero-media::before{
    width:94vw!important;height:94vw!important;right:-61vw!important;top:62%!important
  }
  .hero.hero-home .hero-media::after{right:-55vw;width:92vw;opacity:.45}
  .hero.hero-home::after{right:1.4rem;top:2rem}
  .hero.hero-editorial{grid-template-columns:1fr!important}
}

/* ===== ENTITY PROFILES v18.2 ===== */
.entity-hero{position:relative;overflow:hidden;padding:clamp(5.5rem,9vw,9rem) 0 clamp(4rem,7vw,6.5rem);border-bottom:1px solid var(--v17-line)}
.entity-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:4rem;align-items:end}
.entity-hero-copy h1{margin:.35rem 0 1.2rem;font-size:clamp(4rem,8.3vw,8rem);line-height:.84;letter-spacing:-.075em}
.entity-hero-copy .lead{max-width:760px;color:var(--v17-muted);font-size:clamp(1.08rem,1.8vw,1.4rem);line-height:1.5}
.entity-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.8rem}
.entity-meta span,.entity-tags span{padding:.52rem .68rem;border:1px solid var(--v17-line);border-radius:5px;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.entity-monogram{display:grid;place-items:center;justify-self:end;width:min(28vw,330px);aspect-ratio:1;border-radius:50%;background:var(--v17-brand);color:var(--v17-dark);font-size:clamp(4rem,9vw,8rem);font-weight:950;letter-spacing:-.1em}
.entity-monogram-org{background:transparent;border:1px solid var(--v17-line);color:var(--v17-brand)}
.entity-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(3rem,8vw,8rem);padding-top:clamp(4rem,7vw,7rem)}
.entity-main{min-width:0}
.entity-section{padding:0 0 clamp(3rem,6vw,5.5rem);margin-bottom:clamp(3rem,6vw,5.5rem);border-bottom:1px solid var(--v17-line)}
.entity-section:last-child{border-bottom:0}
.entity-kicker{margin:0 0 .9rem;color:var(--v17-brand);font-size:.68rem;font-weight:950;letter-spacing:.12em}
.entity-section h2{margin:0 0 1.2rem;font-size:clamp(2.1rem,4vw,4rem);line-height:.95;letter-spacing:-.052em}
.entity-section>p:not(.entity-kicker){max-width:850px;color:var(--v17-muted);font-size:clamp(1.02rem,1.3vw,1.17rem);line-height:1.75}
.entity-tags{display:flex;flex-wrap:wrap;gap:.65rem}
.entity-pending{padding:2rem;border:1px solid var(--v17-line);border-radius:12px}
.entity-aside{align-self:start;position:sticky;top:110px;display:grid;gap:1px;border:1px solid var(--v17-line);background:var(--v17-line)}
.entity-fact{display:flex;flex-direction:column;gap:.6rem;padding:1.35rem;background:var(--v17-paper)}
.entity-fact>span{color:var(--v17-muted);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.entity-fact strong,.entity-fact a{font-size:.95rem;text-decoration:none}
.entity-fact a{color:var(--v17-ink);font-weight:850}
.entity-fact a:hover{color:var(--v17-brand)}
.entity-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--v17-line);border:1px solid var(--v17-line)}
.entity-person-card{display:flex;min-height:190px;flex-direction:column;padding:1.45rem;background:var(--v17-paper);text-decoration:none;color:var(--v17-ink)}
.entity-person-card:hover{background:#fff}
.entity-person-card strong{font-size:1.3rem;letter-spacing:-.03em}
.entity-person-card span{margin:.45rem 0 1.4rem;color:var(--v17-muted);font-size:.82rem;line-height:1.4}
.entity-person-card b{margin-top:auto;color:var(--v17-brand);font-size:.75rem}
@media(max-width:850px){
 .entity-hero-grid,.entity-layout{grid-template-columns:1fr}
 .entity-monogram{justify-self:start;width:160px}
 .entity-aside{position:static}
}
@media(max-width:620px){
 .entity-hero{padding-top:4.2rem}
 .entity-hero-copy h1{font-size:clamp(3.4rem,17vw,5.5rem)}
 .entity-monogram{width:120px}
 .entity-people-grid{grid-template-columns:1fr}
}


/* ============================================================
   GIOCHI DI FIUTO · VISUAL SYSTEM v19
   Brand icons + professional portal polish
   ============================================================ */
:root{
  --gdf-teal:#18b9bb;
  --gdf-teal-deep:#0b7476;
  --gdf-ink:#0b201d;
  --gdf-night:#071916;
  --gdf-paper:#f5f3ed;
  --gdf-paper-2:#ece9e1;
  --gdf-coral:#e97862;
  --gdf-sun:#e6bd54;
  --gdf-line:rgba(11,32,29,.14);
  --gdf-radius:14px;
}

/* More deliberate global rhythm */
body{background:var(--gdf-paper)}
main{overflow:hidden}
.section{padding-block:clamp(3.8rem,7vw,7.2rem)}
.section + .section{border-top:1px solid var(--gdf-line)}
.container{width:min(1380px,calc(100% - 42px))}

/* Header: compact institutional bar */
.site-header{background:rgba(7,25,22,.96)!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.site-header .container{min-height:82px!important}
.site-header .brand img{max-height:48px!important}
.site-header nav a{position:relative}
.site-header nav a:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.25rem;height:2px;background:var(--gdf-teal);transform:scaleX(0);transition:.2s}
.site-header nav a:hover:after,.site-header nav a[aria-current="page"]:after{transform:scaleX(1)}

/* Shared brand-icon primitive */
.gdf-icon{
  --i:var(--gdf-teal);
  width:58px;height:58px;display:inline-grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--i) 52%, transparent);
  border-radius:50%;color:var(--i);position:relative;flex:0 0 auto;
}
.gdf-icon:before,.gdf-icon:after{content:"";position:absolute;box-sizing:border-box}
.gdf-icon:after{width:18px;height:10px;left:20px;bottom:10px;border-bottom:2px dotted currentColor;border-radius:50%;opacity:.9}

/* home = simple house + scent */
.gdf-icon-home:before{width:25px;height:22px;left:16px;top:22px;border:2px solid currentColor;border-top:0}
.gdf-icon-home span:before{content:"";position:absolute;width:20px;height:20px;left:18px;top:13px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}

/* learn = stylised nose */
.gdf-icon-learn:before{width:28px;height:30px;left:14px;top:9px;border:2px solid currentColor;border-top:0;border-radius:0 0 48% 48%}
.gdf-icon-learn span:before,.gdf-icon-learn span:after{content:"";position:absolute;top:34px;width:8px;height:5px;background:currentColor;border-radius:50%}
.gdf-icon-learn span:before{left:18px}.gdf-icon-learn span:after{right:18px}

/* activities = lens / search */
.gdf-icon-activities:before{width:25px;height:25px;left:12px;top:10px;border:2px solid currentColor;border-radius:50%}
.gdf-icon-activities span:before{content:"";position:absolute;width:18px;height:2px;background:currentColor;transform:rotate(45deg);left:33px;top:36px}

/* legacy = trophy */
.gdf-icon-legacy:before{width:23px;height:25px;left:17px;top:10px;border:2px solid currentColor;border-radius:3px 3px 10px 10px}
.gdf-icon-legacy span:before{content:"â˜
";position:absolute;left:22px;top:13px;font-size:14px}
.gdf-icon-legacy span:after{content:"";position:absolute;width:26px;height:2px;background:currentColor;left:16px;top:42px;box-shadow:0 5px 0 currentColor}

/* events = calendar */
.gdf-icon-events:before{width:30px;height:28px;left:13px;top:14px;border:2px solid currentColor;border-radius:4px}
.gdf-icon-events span:before{content:"";position:absolute;width:22px;height:2px;background:currentColor;left:17px;top:23px;box-shadow:0 7px 0 currentColor,0 14px 0 currentColor}

/* network = three nodes */
.gdf-icon-network:before{width:10px;height:10px;border:2px solid currentColor;border-radius:50%;left:24px;top:9px;box-shadow:-15px 17px 0 -2px var(--gdf-paper),-15px 17px 0 0 currentColor,15px 17px 0 -2px var(--gdf-paper),15px 17px 0 0 currentColor}
.gdf-icon-network span:before{content:"";position:absolute;width:34px;height:17px;border-left:2px solid currentColor;border-right:2px solid currentColor;border-top:2px solid currentColor;border-radius:50% 50% 0 0;left:11px;top:31px}

/* library = open book */
.gdf-icon-library:before{width:31px;height:27px;left:13px;top:13px;border:2px solid currentColor;border-radius:3px 9px 3px 3px}
.gdf-icon-library span:before{content:"";position:absolute;width:2px;height:27px;background:currentColor;left:28px;top:13px}

/* questions = bubble */
.gdf-icon-questions:before{content:"?";display:grid;place-items:center;width:30px;height:28px;left:13px;top:10px;border:2px solid currentColor;border-radius:50%;font-weight:900;font-size:20px}
.gdf-icon-questions span:before{content:"";position:absolute;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;left:17px;top:34px;transform:skew(-20deg)}

/* generic disciplines */
.gdf-icon-detection:before{width:28px;height:20px;left:14px;top:15px;border:2px solid currentColor;border-radius:50%}
.gdf-icon-detection span:before{content:"";position:absolute;width:7px;height:7px;background:currentColor;border-radius:50%;left:25px;top:21px}
.gdf-icon-mantrailing:before{width:34px;height:22px;left:11px;top:16px;border:2px dashed currentColor;border-color:currentColor transparent currentColor currentColor;border-radius:50%}
.gdf-icon-searchpeople:before{width:12px;height:12px;left:22px;top:10px;border:2px solid currentColor;border-radius:50%}
.gdf-icon-searchpeople span:before{content:"";position:absolute;width:28px;height:20px;left:14px;top:27px;border:2px solid currentColor;border-bottom:0;border-radius:50% 50% 0 0}

/* Portal-area strip: automatically generated on homepage */
.gdf-portal-strip{position:relative;z-index:4;margin-top:-1px;background:#fff;border-block:1px solid var(--gdf-line)}
.gdf-portal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.gdf-portal-item{min-width:0;padding:1.45rem 1rem 1.35rem;text-align:center;text-decoration:none;color:var(--gdf-ink);border-right:1px solid var(--gdf-line);transition:.2s}
.gdf-portal-item:last-child{border-right:0}
.gdf-portal-item .gdf-icon{margin:0 auto .85rem;width:52px;height:52px}
.gdf-portal-item strong{display:block;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}
.gdf-portal-item small{display:block;margin-top:.35rem;color:#6a7672;font-size:.68rem;line-height:1.35}
.gdf-portal-item:hover{background:var(--gdf-paper)}
.gdf-portal-item:hover .gdf-icon{transform:translateY(-3px);transition:.2s}

/* Section cards become more recognisable */
.cards .card,.section-card,.related-card,.library-item,.scent-map-card{
  border-radius:0!important;box-shadow:none!important
}
.cards .card{position:relative;padding-top:1.65rem!important}
.cards .card:after{content:"";position:absolute;left:1.45rem;top:1.35rem;width:8px;height:8px;border-radius:50%;background:var(--gdf-teal)}
.cards .card:nth-child(3n+2):after{background:var(--gdf-coral)}
.cards .card:nth-child(3n+3):after{background:var(--gdf-sun)}
.cards .card h3{margin-top:1.35rem!important}

/* Hero: more premium and less empty */
.hero.hero-home{min-height:min(720px,78vh)!important}
.hero.hero-home:before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 79% 42%,rgba(24,185,187,.16) 0 2px,transparent 3px),
 radial-gradient(circle at 79% 42%,transparent 0 72px,rgba(255,255,255,.08) 73px 74px,transparent 75px 125px,rgba(255,255,255,.06) 126px 127px,transparent 128px 190px,rgba(255,255,255,.045) 191px 192px,transparent 193px);
 pointer-events:none}
.hero.hero-home .hero-copy{position:relative;z-index:2}
.hero.hero-home h1{max-width:1000px}
.hero.hero-home .lead{max-width:720px}
.hero.hero-editorial{border-bottom:1px solid var(--gdf-line)}
.hero.hero-editorial .eyebrow:before{content:"";display:inline-block;width:26px;height:2px;background:var(--gdf-teal);vertical-align:middle;margin-right:.65rem}

/* Entity pages: monograms become more refined */
.entity-monogram{box-shadow:inset 0 0 0 10px rgba(255,255,255,.12)}
.entity-fact{transition:.2s}
.entity-fact:hover{background:#fff}

/* Footer */
.site-footer{background:var(--gdf-night)!important}
.site-footer:before{content:"IL MONDO VISTO CON IL NASO";display:block;max-width:1380px;margin:auto;padding:3.5rem 21px 0;color:rgba(255,255,255,.08);font-size:clamp(2.4rem,7vw,7.5rem);font-weight:950;line-height:.82;letter-spacing:-.065em}

/* micro-polish */
.button{border-radius:6px!important}
.eyebrow{letter-spacing:.12em!important}
.breadcrumbs{font-size:.72rem}
a:focus-visible,button:focus-visible{outline:3px solid var(--gdf-sun);outline-offset:3px}

@media(max-width:1050px){
 .gdf-portal-grid{grid-template-columns:repeat(4,1fr)}
 .gdf-portal-item:nth-child(4){border-right:0}
}
@media(max-width:680px){
 .container{width:min(100% - 28px,1380px)}
 .gdf-portal-grid{grid-template-columns:repeat(2,1fr)}
 .gdf-portal-item:nth-child(odd){border-right:1px solid var(--gdf-line)}
 .gdf-portal-item:nth-child(even){border-right:0}
 .gdf-portal-item:last-child{grid-column:1/-1;border-top:1px solid var(--gdf-line)}
 .hero.hero-home{min-height:auto!important}
 .site-footer:before{padding-top:2.5rem}
}
