@import url('../fonts/fonts.css'); /* self-hosted: no requests to Google */
:root{--ink:oklch(.2 .01 25);--paper:oklch(.985 .015 70);--card:oklch(1 0 0);--red:oklch(.63 .245 24);--yellow:oklch(.82 .16 81);--muted:oklch(.5 .02 30);--line:oklch(.86 .025 50);--dark:oklch(.2 .01 25)}*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(100% - 2.5rem,80rem);margin:auto}.civic{padding:.75rem 0;background:#ef293e;color:#fff;font-weight:800}.header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:var(--card)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:5rem;gap:2rem}.logo{display:flex;align-items:center;gap:.7rem;font-family:Sora,sans-serif;font-size:1.2rem;font-weight:800}.logo img{width:3rem;height:3rem;object-fit:contain}.navlinks,.actions{display:flex;align-items:center;gap:1.25rem}.navlinks{font-size:.82rem;font-weight:700;text-transform:uppercase}.actions{gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.8rem 1.35rem;border:1px solid transparent;font-size:.82rem;font-weight:800;text-transform:uppercase;transition:.2s ease}.button.primary{border-color:transparent;background:var(--red);color:#fff}.button.dark{border-color:var(--ink);background:var(--ink);color:var(--paper)}.button.light{border:2px solid #fff;color:#fff}.hero{min-height:clamp(35rem,72vh,45rem);display:flex;align-items:center;background:linear-gradient(90deg,color-mix(in oklab,var(--ink) 82%,transparent),color-mix(in oklab,var(--ink) 60%,transparent) 34%,color-mix(in oklab,var(--ink) 8%,transparent) 68%),url('assets/youngme-lavoro-hero.jpg') center/cover;color:#fff}.hero h1{max-width:55rem;margin:1.4rem 0 2.25rem;font-family:Sora,sans-serif;font-size:clamp(3rem,7vw,6.75rem);line-height:.94}.hero h1 span{color:var(--yellow)}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase;color:var(--red)}.hero .eyebrow{color:var(--yellow)}.section{padding:5rem 0}.section.alt{border-block:1px solid var(--line);background:var(--card)}.section h1,.section h2{font-family:Sora,sans-serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.02}.grid{display:grid;gap:1rem}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);background:var(--card);padding:2rem}.card h3{font-family:Sora,sans-serif}.muted{color:var(--muted);line-height:1.7}.step{font-family:Sora,sans-serif;font-size:3rem;font-weight:800;color:color-mix(in oklab,var(--yellow) 55%,transparent)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.sectionhead h2{margin-bottom:0}.offer{display:grid;grid-template-columns:2fr 1fr auto;align-items:center;gap:1rem;border-block:1px solid var(--line);padding:1.6rem .4rem;transition:.2s}.offer:hover{padding-left:1rem;background:var(--card)}.offer+.offer{border-top:0}.offer small{color:var(--muted)}.tag{padding:.4rem .7rem;background:var(--yellow);font-size:.75rem;font-weight:800}.form{display:grid;gap:1rem;max-width:36rem}.form label{display:grid;gap:.4rem;font-weight:800}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);padding:.9rem;background:var(--paper);font:inherit}.footer{margin-top:4rem;padding:4rem 0;background:var(--ink);color:var(--paper)}.footer p{color:color-mix(in oklab,var(--paper) 60%,transparent)}.mobile-toggle{display:none}.notice{border-left:4px solid var(--red);padding:1rem;background:var(--card)}@media(max-width:760px){.navlinks{display:none}.navlinks.is-open{position:absolute;top:5rem;left:0;right:0;display:grid;gap:0;border-bottom:1px solid var(--line);background:var(--card);padding:1rem 1.25rem}.mobile-toggle{display:inline-flex}.three,.two{grid-template-columns:1fr}.offer{grid-template-columns:1fr}.sectionhead{align-items:start;flex-direction:column}.hero{min-height:36rem}.actions{flex-wrap:wrap}}.civic-inner{display:flex;align-items:center;justify-content:space-between;min-height:4.5rem}.socials{display:flex;align-items:center;gap:1rem}.socials a{display:grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-family:Sora,sans-serif;font-size:.78rem;font-weight:800;color:#fff;transition:transform .2s ease,opacity .2s ease}.socials a:hover{opacity:.75;transform:translateY(-2px)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}.footer-grid h3{margin:0 0 1rem;font-family:Sora,sans-serif;font-size:1rem}.footer-grid a{display:block;margin:.55rem 0;color:color-mix(in oklab,var(--paper) 65%,transparent);font-size:.9rem}.footer-grid a:hover{color:var(--yellow)}.footer-grid p{margin:.55rem 0;color:color-mix(in oklab,var(--paper) 60%,transparent)}.footer-bottom{margin-top:3.5rem;border-top:1px solid color-mix(in oklab,var(--paper) 10%,transparent);padding-top:1.5rem;color:color-mix(in oklab,var(--paper) 50%,transparent);font-size:.75rem}.page-hero{border-bottom:1px solid var(--line);background:color-mix(in oklab,var(--paper) 70%,var(--yellow) 10%);padding:5rem 0 6rem}.page-hero p,.page-copy p{max-width:42rem;color:var(--muted);line-height:1.75}.page-hero h1{max-width:55rem;margin:1rem 0;font-family:Sora,sans-serif;font-size:clamp(2.8rem,6vw,5rem);line-height:1}.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.sector-card{border:1px solid var(--line);background:var(--card);padding:2rem}.sector-line{display:block;width:2.5rem;height:.25rem;margin-bottom:2rem;background:var(--red)}.sector-line.accent{background:var(--yellow)}.sector-card h2,.sector-card h3{font-family:Sora,sans-serif;font-size:1.1rem;text-transform:uppercase}.sector-card p,.sector-card li{color:var(--muted);font-size:.9rem;line-height:1.65}.sector-card ul{padding-left:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{border:1px solid var(--line);background:var(--card);padding:1.5rem}.stat-card strong{display:block;color:var(--red);font-family:Sora,sans-serif;font-size:2.3rem}.institutional{border-block:1px solid var(--line);background:color-mix(in oklab,var(--paper) 70%,var(--yellow) 10%)}.institutional-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3rem}.institutional-mark{display:grid;place-items:center;width:7rem;height:7rem;background:var(--yellow);font-family:Sora,sans-serif;font-size:2rem;font-weight:800}.dark-cta{background:var(--ink);color:var(--paper)}.dark-cta p{color:color-mix(in oklab,var(--paper) 70%,transparent)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.contact-card{min-height:24rem}.contact-card a{color:var(--red);text-decoration:underline;text-underline-offset:.2rem}.foia{border-block:1px solid var(--line);background:color-mix(in oklab,var(--paper) 70%,var(--yellow) 10%)}.foia-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2rem}.foia-mark{display:grid;place-items:center;width:4rem;height:4rem;background:var(--red);color:#fff;font-family:Sora,sans-serif;font-weight:800}@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.civic-inner{font-size:.85rem;min-height:3.5rem}.header .actions{display:none}.navlinks{display:none}.mobile-toggle{display:inline-flex}.navlinks.is-open{position:absolute;top:5rem;left:0;right:0;display:grid;gap:0;border-bottom:1px solid var(--line);background:var(--card);padding:1rem 1.25rem}.page-grid,.contact-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr}.institutional-inner,.foia-inner{grid-template-columns:1fr;gap:1.5rem}}.motion-enabled main>section:not(.hero),.motion-enabled main>.marquee{opacity:0;transform:translateY(44px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1)}.motion-enabled main>section.is-visible,.motion-enabled main>.marquee.is-visible{opacity:1;transform:none}.motion-enabled main>section.is-visible .step-card,.motion-enabled main>section.is-visible .hidden-card,.motion-enabled main>section.is-visible .story-card,.motion-enabled main>section.is-visible .training-card,.motion-enabled main>section.is-visible .news-card,.motion-enabled main>section.is-visible .publish-card{animation:motion-card-in .75s cubic-bezier(.19,1,.22,1) both}.motion-enabled main>section.is-visible .step-card:nth-child(2),.motion-enabled main>section.is-visible .hidden-card:nth-child(2),.motion-enabled main>section.is-visible .story-card:nth-child(2),.motion-enabled main>section.is-visible .training-card:nth-child(2),.motion-enabled main>section.is-visible .news-card:nth-child(2),.motion-enabled main>section.is-visible .publish-card:nth-child(2){animation-delay:.08s}.motion-enabled main>section.is-visible .step-card:nth-child(3),.motion-enabled main>section.is-visible .hidden-card:nth-child(3),.motion-enabled main>section.is-visible .story-card:nth-child(3),.motion-enabled main>section.is-visible .training-card:nth-child(3),.motion-enabled main>section.is-visible .news-card:nth-child(3),.motion-enabled main>section.is-visible .publish-card:nth-child(3){animation-delay:.16s}.motion-enabled main>section.is-visible .hidden-card:nth-child(4),.motion-enabled main>section.is-visible .publish-card:nth-child(4){animation-delay:.24s}.hero .wrap{animation:motion-reveal .8s cubic-bezier(.19,1,.22,1) both}.ai-bot{animation:motion-bot-float 6s ease-in-out infinite}.step-card,.hidden-card,.story-card{transition:transform .3s ease,box-shadow .3s ease}.step-card:hover,.hidden-card:hover,.story-card:hover{transform:translateY(-.35rem);box-shadow:0 1.25rem 2.5rem rgb(0 0 0 / .1)}.marquee span{width:max-content;animation:motion-marquee 28s linear infinite}@keyframes motion-reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes motion-card-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes motion-bot-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes motion-marquee{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.motion-enabled main>section:not(.hero),.motion-enabled main>.marquee{opacity:1;transform:none;transition:none}.hero .wrap,.ai-bot,.marquee span{animation:none}.step-card,.hidden-card,.story-card{transition:none}}
.civic{padding:0}.header .wrap{width:min(100% - 2rem,80rem);padding-inline:2rem}.logo img{width:3.5rem;height:3.5rem}.socials svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.socials a:first-child svg{fill:currentColor;stroke:none}.socials .icon-fill{fill:currentColor;stroke:none}.mobile-toggle{width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;font-size:0}.mobile-toggle svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.home-page .final-cta{min-height:348px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px}.home-page .final-cta h2{margin:0!important;font-size:48px!important;line-height:1.1!important}.home-page .final-cta .button{margin-top:0!important}@media(max-width:760px){.civic{padding:0}.header .wrap{width:100%;padding-inline:1.25rem}.logo img{width:3rem;height:3rem}.home-page .final-cta{min-height:280px;gap:28px}.home-page .final-cta h2{font-size:clamp(2rem,10vw,3rem)!important}}.home-page .hero-stamp{position:absolute;right:max(1.25rem,calc((100vw - 80rem)/2));bottom:1.5rem;display:grid;grid-template-columns:1fr 1fr;width:7rem;border:1px solid rgba(255,255,255,.65);font-family:Sora,sans-serif;font-size:1.25rem;font-weight:800}.home-page .hero-stamp span{display:grid;place-items:center;aspect-ratio:1}.home-page .hero-stamp span+span{border-left:1px solid rgba(255,255,255,.65);background:var(--yellow);color:var(--ink)}.home-page .hero{position:relative}.home-page .intro{max-width:42rem;color:var(--muted);line-height:1.75}.home-page .step-card{position:relative;border-top:2px solid var(--line);padding:2rem 0}.home-page .step-badge{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:1.5rem;border:1px solid var(--red);border-radius:50%;color:var(--red);font-weight:800}.home-page .step-card h3,.home-page .hidden-card h3,.home-page .story-card h3{font-family:Sora,sans-serif}.home-page .step-card p,.home-page .hidden-card p{color:var(--muted);line-height:1.7}.home-page .step-tag,.home-page .hidden-card-tag{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;color:var(--red);font-size:.7rem;font-weight:800;text-transform:uppercase}.home-page .ai-match{background:var(--ink);color:var(--paper);padding:5rem 0}.home-page .ai-match-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem;width:min(100% - 2.5rem,80rem);margin:auto}.home-page .ai-match-visual{position:relative;display:grid;place-items:center;min-height:24rem}.home-page .ai-match-ring{position:absolute;width:20rem;height:20rem;border:1px solid var(--yellow);border-radius:50%;box-shadow:0 0 0 2rem rgba(244,200,76,.08),0 0 0 5rem rgba(244,200,76,.04)}.home-page .ai-badge{position:relative;display:grid;place-items:center;width:10rem;height:10rem;border-radius:50%;background:var(--yellow);color:var(--ink);font-family:Sora,sans-serif;font-size:2rem;font-weight:800}.home-page .ai-match-copy{max-width:38rem}.home-page .ai-match-copy h2{font-family:Sora,sans-serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}.home-page .ai-match-copy p,.home-page .ai-match-list{color:color-mix(in oklab,var(--paper) 72%,transparent);line-height:1.7}.home-page .ai-match-list{display:grid;gap:.75rem;padding:0;list-style:none}.home-page .ai-match-list li:before{content:'✓';margin-right:.6rem;color:var(--yellow);font-weight:800}.home-page .ai-cta{display:inline-flex;margin-top:1.5rem;padding:.9rem 1.2rem;background:var(--yellow);color:var(--ink);font-weight:800}.home-page .hidden-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.home-page .hidden-card{border:1px solid var(--line);background:var(--card);padding:1.5rem}.home-page .hidden-card-cat{color:var(--red);font-size:.7rem;font-weight:800;text-transform:uppercase}.home-page .marquee{overflow:hidden;background:var(--ink);padding:1.25rem 0;color:var(--paper);font-family:Sora,sans-serif;font-weight:800;white-space:nowrap}.home-page .marquee span{display:block;width:max-content;animation:home-marquee 24s linear infinite}@keyframes home-marquee{to{transform:translateX(-50%)}}.home-page .story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.home-page .story-card{margin:0;border:1px solid var(--line);background:var(--card);padding:2rem}.home-page .story-quote{color:var(--yellow);font-family:Georgia,serif;font-size:4rem;line-height:.5}.home-page .story-text{min-height:8rem;line-height:1.7}.home-page .story-footer{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem}.home-page .story-avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--red);color:#fff;font-size:.75rem;font-weight:800}.home-page .community{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem}.home-page .community img{width:100%;aspect-ratio:3/2;object-fit:cover}.home-page .community-stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.home-page .community-stat{border-top:2px solid var(--red);padding-top:1rem}.home-page .community-stat strong{display:block;font-family:Sora,sans-serif;font-size:2.5rem}.home-page .audience{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.home-page .audience-card{background:var(--card);padding:3rem}.home-page .audience-card h2{font-family:Sora,sans-serif;font-size:2rem}.home-page .training-grid,.home-page .news-grid,.home-page .publish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.home-page .training-card,.home-page .news-card,.home-page .publish-card{background:var(--paper);padding:2rem}.home-page .training-card h3,.home-page .news-card h3,.home-page .publish-card h3{font-family:Sora,sans-serif}.home-page .publish-grid{grid-template-columns:repeat(4,1fr)}.home-page .faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.home-page details{border-block:1px solid var(--line);padding:1.4rem 0}.home-page details+details{border-top:0}.home-page summary{cursor:pointer;font-family:Sora,sans-serif;font-weight:700}.home-page .newsletter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;border:1px solid var(--line);background:var(--card);padding:3rem}.home-page .newsletter form{display:flex;gap:.5rem}.home-page .newsletter input{min-width:0;flex:1;border:1px solid var(--line);padding:1rem;background:var(--paper)}.home-page .final-cta{background:var(--yellow);padding:5rem 1.25rem;text-align:center}.home-page .final-cta h2{font-family:Sora,sans-serif;font-size:clamp(2rem,5vw,4rem)}@media(max-width:760px){.home-page .ai-match-inner,.home-page .community,.home-page .faq,.home-page .newsletter{grid-template-columns:1fr;gap:2rem}.home-page .hidden-grid,.home-page .story-grid,.home-page .training-grid,.home-page .news-grid,.home-page .publish-grid{grid-template-columns:1fr}.home-page .audience{grid-template-columns:1fr}.home-page .newsletter form{flex-direction:column}.home-page .hero-stamp{width:5.5rem}.home-page .ai-match-ring{width:15rem;height:15rem}}@media(min-width:761px){.home-page>section:has(.story-grid){width:min(100% - 2.5rem,80rem);margin-inline:auto;padding:5rem 2rem}.home-page>section:has(.story-grid)>div>h2{font-size:48px;line-height:1.1}.home-page .story-grid{margin-top:3.5rem;grid-template-columns:repeat(3,1fr);gap:1.25rem}.home-page .story-card{min-height:332px;border:1px solid var(--line);border-radius:1.25rem;padding:2.25rem;box-shadow:0 .5rem 1.5rem rgb(0 0 0 / .04);display:flex;flex-direction:column}.home-page .story-card:hover{transform:translateY(-.35rem);box-shadow:0 1.25rem 2.5rem rgb(0 0 0 / .1)}}@media(max-width:760px){.home-page .story-grid{grid-template-columns:1fr;gap:1rem}.home-page .story-card{border:1px solid var(--line);border-radius:1.25rem;padding:2rem;box-shadow:0 .5rem 1.5rem rgb(0 0 0 / .04)}}.home-page>section:has(.story-grid)>.wrap{width:100%}.home-page>section:has(.story-grid)> .wrap > h2{max-width:56rem}.home-page .story-card{box-shadow:0 8px 24px rgba(0,0,0,.04)}.home-page .story-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.1)}.mobile-toggle{width:2.75rem!important;height:2.75rem!important;min-height:2.75rem!important;padding:0!important;font-size:0!important}.mobile-toggle svg{width:1.25rem;height:1.25rem;display:block}footer.footer{margin-top:0!important}@media(min-width:761px){.header .wrap{width:100%;max-width:none;min-height:7.5rem;padding-left:50px;padding-right:18px;justify-content:flex-start}.header .logo img{width:5rem;height:5rem}.header .navlinks{gap:2.75rem;margin-left:1.125rem;font-size:1rem}.header .actions{gap:2rem;margin-left:auto}.header .actions>a:first-child{font-size:1rem;font-weight:800}.header .actions .button{min-height:4rem;padding-inline:1.75rem;font-size:1rem}.header .navlinks a{font-weight:800}}@media(max-width:760px){.header{position:relative}.navlinks.is-open{top:100%;z-index:20;display:grid;gap:.25rem;padding:.75rem 1rem;border:1px solid var(--line);border-top:0;background:var(--card);box-shadow:0 1rem 2rem rgba(48,42,39,.12)}.navlinks.is-open a{display:flex;align-items:center;min-height:2.75rem;padding:.7rem .75rem;border-bottom:1px solid color-mix(in oklab,var(--line) 65%,transparent);font-size:.82rem;letter-spacing:.04em}.navlinks.is-open a:last-child{border-bottom:0}.navlinks.is-open a:hover,.navlinks.is-open a:focus-visible{background:var(--paper);color:var(--red);outline:none}.mobile-toggle{transition:background .2s ease,color .2s ease}.mobile-toggle[aria-expanded="true"]{background:var(--ink);color:var(--paper)}}.auth-page{min-height:672px;display:grid;align-items:center}.auth-layout{width:min(100% - 2rem,68rem);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6rem}.auth-copy{padding:0}.auth-copy h1{margin:.7rem 0 1.5rem;font-family:Sora,sans-serif;font-size:clamp(3.5rem,6vw,5.5rem);line-height:1}.auth-copy>p:last-child{color:var(--muted);font-size:1.15rem}.auth-panel{height:470px;display:grid;align-content:start;gap:.75rem;border-top:5px solid var(--red);background:var(--card);padding:2rem;box-shadow:0 1rem 3rem rgba(48,42,39,.08)}.auth-panel label{display:grid;gap:.5rem;font-weight:800}.auth-panel input{width:100%;height:3rem;border:1px solid var(--line);padding:.85rem;background:var(--paper);font:inherit}.auth-panel .button{width:100%;margin-top:.25rem}.auth-panel .spid,.auth-panel .cie{min-height:52.8px;padding:.9rem;border:0;color:#fff}.auth-panel .spid{background:#0868c7}.auth-panel .cie{background:#078b25}.auth-divider{text-align:center;color:var(--muted);padding:0;line-height:20px}.footer{margin-top:0}@media(max-width:760px){.auth-page{min-height:auto;padding:4rem 0}.auth-layout{width:100%;grid-template-columns:1fr;gap:2.5rem;padding:0 1.25rem}.auth-copy{padding:0}.auth-copy h1{font-size:clamp(3rem,14vw,4.5rem)}.auth-panel{height:auto;padding:1.5rem}}

/* ============================================================ HERO REDESIGN */
.home-page .hero{
  position:relative;
  min-height:clamp(34rem,68vh,42rem);
  padding-bottom:4.5rem;
  align-items:center;
}
/* Note: no overflow:hidden here — the photo/gradient backgrounds stay within
   the hero box on their own, and clipping would cut off the floating search
   bar that intentionally hangs below the hero's bottom edge. */
/* Darken the left side for text legibility; photo stays visible at right. */
.home-page .hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg,
    color-mix(in oklab,var(--ink) 88%,transparent) 0%,
    color-mix(in oklab,var(--ink) 74%,transparent) 34%,
    color-mix(in oklab,var(--ink) 34%,transparent) 62%,
    color-mix(in oklab,var(--ink) 6%,transparent) 100%);
}
.home-page .hero-content{ position:relative; z-index:2; }

/* Eyebrow with flanking gold rule lines */
.home-page .hero-eyebrow{
  display:inline-flex; align-items:center; gap:.85rem;
  color:var(--yellow); letter-spacing:.22em; font-size:.8rem;
}
.home-page .hero-eyebrow-line{ width:2.75rem; height:2px; background:var(--yellow); display:inline-block; }
.home-page .hero-eyebrow-line:last-child{ opacity:.55; }

.home-page .hero h1{ position:relative; }
.home-page .hero h1 span{ position:relative; display:inline-block; }
.home-page .hero-sub{
  max-width:38rem; margin:-1rem 0 2rem;
  color:color-mix(in oklab,#fff 88%,transparent);
  font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.6;
}
.home-page .hero-actions{ gap:1rem; flex-wrap:wrap; }
.home-page .hero-actions .button{ min-height:3.4rem; padding-inline:1.6rem; border-radius:.85rem; font-size:.85rem; }
.home-page .hero-actions .button svg{ flex:none; }
.home-page .hero-outline{
  border:2px solid rgba(255,255,255,.55);
  background:color-mix(in oklab,var(--ink) 55%,transparent);
  color:#fff; backdrop-filter:blur(2px);
}
.home-page .hero-outline:hover{ border-color:#fff; background:color-mix(in oklab,var(--ink) 70%,transparent); }
.home-page .hero-actions .button.primary:hover{ background:color-mix(in oklab,var(--red) 88%,#000); }

/* Handwritten script accents */
.home-page .hero-script{
  position:absolute; z-index:2; font-family:'Caveat',cursive;
  color:#fff; font-size:clamp(1.4rem,2.4vw,2.1rem); line-height:1.05;
  transform:rotate(-6deg); text-shadow:0 1px 8px rgba(0,0,0,.35);
  pointer-events:none;
}
.home-page .hero-script-top{ top:2.2rem; right:max(2rem,calc((100vw - 80rem)/2 + 2rem)); text-align:center; }
.home-page .hero-script-bottom{ bottom:6.5rem; right:max(1.5rem,calc((100vw - 80rem)/2)); font-size:clamp(1.1rem,1.8vw,1.6rem); text-align:center; }

/* Floating search bar overlapping the hero bottom */
.home-page .hero-search{
  position:absolute; z-index:3; left:50%; bottom:-1.75rem; transform:translateX(-50%);
  width:min(100% - 2.5rem,72rem);
  display:grid; grid-template-columns:1fr auto auto; align-items:stretch; gap:.5rem;
  background:#fff; border-radius:1rem; padding:.55rem;
  box-shadow:0 1.5rem 3rem rgba(20,15,14,.28);
}
.home-page .hero-search-field{
  display:flex; align-items:center; gap:.6rem; padding:.35rem .9rem;
  color:var(--muted);
}
.home-page .hero-search-field svg{ flex:none; color:var(--red); }
.home-page .hero-search-q{ border-right:1px solid var(--line); }
.home-page .hero-search-field input,
.home-page .hero-search-field select{
  width:100%; border:0; background:transparent; font:inherit; color:var(--ink);
  outline:none; padding:.55rem 0;
}
.home-page .hero-search-field input::placeholder{ color:color-mix(in oklab,var(--muted) 90%,transparent); }
.home-page .hero-search-loc{ min-width:11rem; }
.home-page .hero-search-loc select{ cursor:pointer; appearance:none; padding-right:1.2rem;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231a1614' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/12px no-repeat; }
.home-page .hero-search-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  border:0; border-radius:.75rem; padding:0 1.6rem; min-height:3.4rem;
  background:var(--red); color:#fff; font:inherit; font-weight:800; font-size:.9rem;
  cursor:pointer; white-space:nowrap; transition:.2s ease;
}
.home-page .hero-search-btn:hover{ background:color-mix(in oklab,var(--red) 88%,#000); }

@media(max-width:900px){
  .home-page .hero-script-top{ display:none; }
  .home-page .hero-search{ grid-template-columns:1fr; bottom:-6rem; }
  .home-page .hero-search-q{ border-right:0; border-bottom:1px solid var(--line); }
  .home-page .hero{ padding-bottom:7rem; }
}
@media(max-width:760px){
  .home-page .hero-script-bottom{ display:none; }
  .home-page .hero-sub br{ display:none; }
  .home-page .hero-sub{ margin-top:-.5rem; }
}

/* Comune di Messina crest in the civic top bar */
.civic-brand{ display:inline-flex; align-items:center; gap:.6rem; }
.civic-stemma{
  height:2.3rem; width:auto; flex:none; display:block;
  border-radius:50%; padding:2px;
}
@media(max-width:760px){ .civic-stemma{ height:1.9rem; } }
