/* Casa Corse — la precisione della guida, il piacere di stare insieme. */
:root{--ink:#000000;--surface:#000000;--surface-strong:#000000;--ivory:#f3efe6;--sand:#c9b999;--bronze:#95754d;--muted:#f3efe6;--line:rgba(201,185,153,.18);--font:'Manrope',sans-serif;--display:'Michroma',sans-serif;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(24px,5.8vw,88px);--max:1280px;--radius:8px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-text-size-adjust:100%;color-scheme:dark;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 16px/1.75 var(--font);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button,input,textarea{font:inherit}
button{cursor:pointer;color:inherit;touch-action:manipulation}
button:disabled{cursor:not-allowed}
a,button,input,textarea{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;object-fit:cover}
figure,h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(44px,5.7vw,82px);line-height:1.12;letter-spacing:-.035em}
h2{font-size:clamp(36px,4.1vw,59px);line-height:1.15;letter-spacing:-.035em}
h3{font-size:clamp(22px,2.2vw,30px);line-height:1.3;letter-spacing:-.04em}
em{font-style:normal;color:var(--sand)}
p{color:var(--muted);text-wrap:pretty}
p+p{margin-top:20px}
::selection{background:var(--sand);color:var(--ink)}
:focus-visible{outline:2px solid var(--sand);outline-offset:5px}
[hidden]{display:none!important}
.container{width:min(100% - var(--gutter)*2,var(--max));margin-inline:auto}
.section{padding-block:clamp(58px,5.5vw,84px)}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);margin-bottom:28px;line-height:1.6}
.lead{font-size:clamp(18px,1.55vw,22px);line-height:1.65;color:var(--ivory)}
.small{font-size:12px;line-height:1.7}
.skip-link{position:fixed;top:10px;left:20px;z-index:40;padding:12px 22px;border-radius:var(--radius);background:var(--ivory);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:none}
/* Il colore sul nodo fisso permette a Safari di estenderlo sotto la toolbar. */
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;margin:0;padding-top:env(safe-area-inset-top);isolation:isolate;border-radius:0 0 var(--radius) var(--radius);background:rgba(0,0,0,.82)}
.site-header:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:transparent;box-shadow:inset 0 1px 0 rgba(243,239,230,.1),0 10px 40px rgba(0,0,0,.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.header-inner{width:min(100% - var(--gutter)*2,var(--max));margin-inline:auto;min-height:84px;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0;width:max-content;position:relative;z-index:2}
.brand-symbol{font-family:var(--display);font-weight:400;letter-spacing:-.16em;font-size:27px;line-height:1;display:grid;place-items:center;flex:none;width:43px;height:43px;padding-right:5px;padding-bottom:4px;border:1px solid rgba(201,185,153,.6);border-radius:var(--radius);color:var(--sand)}
.brand-name{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:.035em;line-height:1.15}
.brand-name small{display:block;font-family:var(--font);font-size:7px;letter-spacing:.19em;font-weight:400;margin-top:8px;color:var(--sand)}
.navigation{display:flex;gap:27px;margin-left:auto;align-items:center}
.navigation>a{position:relative;display:flex;align-items:center;min-height:44px;font-size:13px;white-space:nowrap;color:var(--ivory)}
.navigation>a:after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--sand);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.navigation>a:hover:after,.navigation>a[aria-current]:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:17px}
.language-toggle{background:none;border:0;padding:10px;min-width:44px;min-height:44px;font-size:11px;font-weight:600;color:var(--sand);position:relative;z-index:2}
.menu-toggle,.navigation__mobile-contact{display:none!important}
/* Une action claire, un mouvement discret. */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:58px;padding:8px 8px 8px 25px;border:0;border-radius:var(--radius);background:var(--ivory);color:var(--ink);font-size:14px;font-weight:600;line-height:1.35;transition:transform .5s var(--ease);text-align:left}
.button__icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:rgba(0,0,0,.06);transition:transform .5s var(--ease)}
.button__icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.25}
.button:hover{transform:translateY(-2px);background:var(--sand)}
.button:hover .button__icon{transform:rotate(-35deg)}
.button:active{transform:scale(.98)}
.button--small{min-height:48px;padding:6px 6px 6px 21px;font-size:12px;gap:18px}
.button--small .button__icon{width:35px;height:35px}
.button:disabled{background:var(--surface-strong);color:var(--muted);transform:none}
.button:disabled .button__icon{transform:none}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;line-height:1.5;font-weight:500;min-height:44px}
.text-link .button__icon{width:34px;height:34px;background:rgba(201,185,153,.07);color:var(--sand)}
.text-link .button__icon svg{width:19px;height:19px}
.text-link:hover .button__icon{transform:rotate(-35deg)}
.text-link:hover>span:first-child{text-decoration:underline;text-underline-offset:5px}
/* Le club apparaît dans son ensemble, à toute la fenêtre. */
.hero{min-height:100svh;min-height:100dvh;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}
.hero__image{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-fit:cover;object-position:center;filter:saturate(.7) contrast(1.07)}

.hero__content{padding-block:175px 225px}
.hero .eyebrow{margin-bottom:30px;color:var(--ivory);font-size:11px;letter-spacing:.23em}
.hero h1{font-size:clamp(48px,6.25vw,94px);line-height:1.08;letter-spacing:-.035em;max-width:880px}
.hero h1 em{color:var(--sand)}
.hero__lead{max-width:550px;color:var(--ivory);font-size:17px;line-height:1.8;margin-top:28px}
.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:32px;margin-top:35px}
.hero__actions>.text-link .button__icon{background:rgba(243,239,230,.1)}
.hero__bottom{position:absolute;left:0;right:0;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:55px;border-top:1px solid rgba(243,239,230,.2);padding-top:18px;font-size:12px}
.opening-label{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ivory)}
.status-dot{flex:none;display:inline-block;width:6px;height:6px;border-radius:var(--radius);background:var(--sand);box-shadow:0 0 0 5px rgba(201,185,153,.08)}
.hero__signature{margin-left:auto;letter-spacing:.045em;font-size:11px;color:var(--ivory)}
.hero__scroll{width:44px;height:44px;display:grid;place-items:center;font-size:22px;border-radius:var(--radius);background:rgba(243,239,230,.06);margin-left:24px}
/* Du lieu aux expériences. */
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}
.intro-copy{padding-top:0;max-width:560px}
.intro-copy>.lead{font-size:23px;line-height:1.6;letter-spacing:-.025em}
.intro-copy .text-link{margin-top:25px}
.experiences{padding-top:22px}
.section-top{margin-bottom:48px}
.section-top .eyebrow{margin-bottom:18px}
.section-top h2{font-size:clamp(34px,3.3vw,46px)}
.experience-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5.7vw,84px);align-items:start}
.experience--driving{margin-top:115px}
.photo-shell{display:block;position:relative;min-width:0;padding:6px;border-radius:var(--radius);background:rgba(201,185,153,.045);box-shadow:inset 0 1px 0 rgba(243,239,230,.1)}
.photo-core{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);background:var(--surface);height:100%;box-shadow:inset 0 1px 0 rgba(243,239,230,.1)}
.photo-core>img{width:100%;height:100%;transition:transform 1.3s var(--ease)}
a.photo-shell:hover img{transform:scale(1.035)}
.experience .photo-core{aspect-ratio:1.25}
.experience--driving .photo-core{aspect-ratio:1.05}
.club-crop{object-position:78% center}
.photo-tag{position:absolute;top:22px;left:22px;color:var(--ivory);background:rgba(0,0,0,.88);padding:8px 15px;border-radius:var(--radius);font-size:11px;font-weight:500;line-height:1.5}
.photo-action{position:absolute;right:22px;bottom:22px;border-radius:var(--radius);display:grid;place-items:center;width:46px;height:46px;background:var(--sand);color:var(--ink);font-size:25px}
.experience-copy{padding:29px 6px 0}
.experience-copy h3{font-size:28px}
.experience-copy p{margin-top:13px;max-width:45ch;font-size:16px}
.experience-copy .text-link{margin-top:20px}
.event-feature{border-block:1px solid var(--line)}
.event-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:clamp(42px,7vw,100px);align-items:center}
.event-photo{height:640px}
.event-photo img{object-position:43% center}
.event-copy h2{font-size:clamp(34px,3.3vw,48px)}
.event-copy>p:not(.eyebrow){margin-top:26px}
.event-path{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-block:26px;border-bottom:1px solid var(--line)}
.event-path:first-of-type{margin-top:22px;border-top:1px solid var(--line)}
.event-path h3{font:500 18px/1.4 var(--font);letter-spacing:-.015em}
.event-path p{font-size:13px;margin-top:7px}
.event-path .text-link{flex-shrink:0;font-size:12px;gap:10px}
.arrival-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;align-items:center}
.arrival p:not(.eyebrow){max-width:460px;margin-top:26px}
.arrival .button{margin-top:32px}
.address-panel{padding:6px;border-radius:var(--radius);background:rgba(201,185,153,.04);box-shadow:inset 0 1px 0 rgba(243,239,230,.12)}
.address-panel__inner{padding:45px 35px;border-radius:var(--radius);background:var(--surface);text-align:center}
.brand-symbol--large{width:72px;height:72px;font-size:45px;margin:auto;padding-right:8px;padding-bottom:7px}
.address-panel .address-city{font-family:var(--display);font-size:38px;letter-spacing:-.025em;color:var(--ivory);margin-top:23px;line-height:1.2}
.address-panel p{margin-top:12px!important}
.address-status{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;color:var(--sand);margin-top:30px}
.address-panel .small{max-width:240px;margin:17px auto 0!important}
/* Pages d'expérience, toutes reliées à une demande précise. */
.page-hero{padding:148px 0 44px}
.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.page-hero-copy h1{font-size:clamp(43px,4.85vw,70px)}
.page-hero-copy>.lead{font-size:18px;margin-top:30px;max-width:450px;color:var(--muted)}
.page-hero-copy .button{margin-top:30px}
.page-opening{margin-top:20px;letter-spacing:.025em}
.page-hero-photo{height:540px}
.page-hero-photo img{object-position:65% center}
.page-hero-photo .club-crop{object-position:83% center}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:6vw}
.story-copy>.lead{font-size:23px;letter-spacing:-.025em}
.feature-lines{margin-top:35px}
.feature-line{padding-block:26px;border-top:1px solid var(--line)}
.feature-line h3{font-family:var(--font);font-size:18px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}
.feature-line p{font-size:16px}
.club-invitation{background:var(--ink);border-block:1px solid var(--line);text-align:center}
.invitation-inner{max-width:760px}
.invitation-inner h2{font-size:clamp(42px,5.2vw,72px)}
.invitation-inner>p:not(.eyebrow){max-width:490px;margin:28px auto 0}
.invitation-inner .button{margin-top:32px}
.wide-photo{height:clamp(320px,42vw,590px)}
.wide-photo img{object-position:center 58%}
.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw}
.faq-grid h2{font-size:clamp(34px,3.4vw,48px)}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;font-size:16px;line-height:1.65;list-style:none;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details>p{font-size:15px;padding:0 30px 26px 0}
.faq-plus{position:relative;flex:0 0 15px;height:15px}
.faq-plus:before,.faq-plus:after{content:'';position:absolute;top:7px;left:0;width:15px;height:1px;background:var(--sand);transition:transform .4s var(--ease)}
.faq-plus:after{transform:rotate(90deg)}
details[open] .faq-plus:after{transform:rotate(0)}
.process{background:var(--ink);border-block:1px solid var(--line)}
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;list-style:none;margin:0;padding:0}
.process-number{display:inline-flex;color:var(--sand);font-size:13px;border-bottom:1px solid var(--bronze);padding-bottom:10px;margin-bottom:25px}
.process-list h3{font-size:20px;margin-bottom:15px}
.process-list p{font-size:15px}
.closing{background:var(--ink);border-block:1px solid var(--line)}
.closing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}
.closing-grid>div:last-child{max-width:400px}
.closing .button{margin-top:26px}
.closing-note{margin-top:18px}
/* Contact: sélectionner, préciser, entrer en contact. */
.contact-section{padding-top:175px}
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,7vw,100px);align-items:start}
.contact-grid>*{min-width:0}
.contact-copy h1{font-size:clamp(46px,5vw,70px)}
.contact-copy>.lead{margin-top:30px;max-width:440px;font-size:18px;color:var(--muted)}
.contact-address{display:flex;gap:16px;align-items:flex-start;margin-top:38px}
.contact-address>.status-dot{margin-top:11px}
.contact-address p{font-size:13px}
.contact-address p:first-child{color:var(--ivory)}
.contact-address p+p{margin-top:6px}
.contact-image{margin-top:40px;height:230px;max-width:420px}
.contact-image img{object-position:80% 59%}
.contact-shell{padding:6px;background:rgba(201,185,153,.05);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(243,239,230,.1)}
.contact-panel{padding:clamp(25px,3vw,42px);background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(243,239,230,.045)}
.form-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--sand);margin-bottom:23px}
.contact-panel fieldset{margin:0;padding:0;border:0;min-width:0}
.contact-panel legend{font-size:15px;font-weight:500;margin-bottom:17px;color:var(--ivory)}
.interest-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.interest-choice label{cursor:pointer;position:relative}
.interest-choice input{position:absolute;opacity:0;width:1px;height:1px}
.interest-choice label>span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 8px;border-radius:var(--radius);font-size:13px;line-height:1.5;box-shadow:inset 0 0 0 1px rgba(201,185,153,.2)}
.interest-choice input:checked+span{color:var(--ink);background:var(--sand);box-shadow:none}
.interest-choice input:focus-visible+span{outline:2px solid var(--sand);outline-offset:3px}
.interest-help{font-size:13px;line-height:1.65;min-height:65px;margin-top:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-panel .form-row,.contact-panel form>label{margin-top:24px}
.contact-panel label{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.contact-panel input:not([type=radio]),.contact-panel textarea{display:block;width:100%;min-width:0;border:1px solid rgba(201,185,153,.16);border-radius:var(--radius);background:var(--ink);color:var(--ivory);font-size:16px;padding:12px 14px;margin-top:9px;resize:vertical;color-scheme:dark;box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
.contact-panel input:not([type=radio]){min-height:49px}
.contact-panel textarea{min-height:110px}
.contact-panel input:focus,.contact-panel textarea:focus{border-color:var(--sand)}
.contact-panel .event-fields{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.event-fields legend{padding-right:12px}
.event-fields .form-row{margin-top:0}
.event-fields>label{margin-top:21px}
.form-submit{width:100%;margin-top:27px}
.form-note{font-size:12px;line-height:1.65;margin-top:16px}
.availability{padding:14px 16px;border-radius:var(--radius);background:rgba(201,185,153,.075);color:var(--ivory);margin:0 0 25px}
.direct-contact{display:block;font-size:14px;color:var(--sand);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;margin-top:15px;min-height:44px;padding-block:9px}
/* Le dernier contact avec le club. */
/* Chiusura compatta: firma, servizi a due colonne e sede. */
.site-footer{padding:32px 0 0;border-top:1px solid var(--line);background:var(--ink)}
.footer-main{display:grid;grid-template-columns:minmax(175px,1fr) minmax(340px,1.8fr) minmax(190px,1fr);grid-template-areas:'brand experiences location';gap:40px;align-items:start}
.footer-brand{grid-area:brand;padding-top:3px}
.footer-brand .brand-logo{width:96px;max-width:100%}
.footer-experiences{grid-area:experiences}
.footer-label{font-size:12px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:var(--sand);margin:0 0 9px}
.footer-main nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.footer-main nav a{display:flex;align-items:center;min-height:44px;padding-block:7px;font-size:14px;line-height:1.45;color:var(--ivory);width:fit-content;max-width:100%}
.footer-main nav a:is(:hover,:focus-visible){color:var(--sand);text-decoration:underline;text-underline-offset:5px}
.footer-location{grid-area:location}
.footer-address{font-size:14px;line-height:1.65;color:var(--ivory);margin:0;padding-top:8px}
.footer-status{font-size:12px;line-height:1.5;color:var(--sand);margin-top:8px}
.footer-bottom{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-block:10px;margin-top:24px;font-size:12px;line-height:1.6;color:var(--sand)}
.footer-disclosure{margin-left:auto}
.back-top{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);font-size:20px;color:var(--ivory);background:transparent}
.back-top:is(:hover,:focus-visible){color:var(--ink);background:var(--sand);border-color:var(--sand)}
@media(min-width:761px) and (max-width:1020px){
.footer-main{grid-template-columns:minmax(190px,1fr) minmax(310px,1.6fr);grid-template-areas:'brand experiences' 'location experiences';gap:22px 36px}
}
@media(max-width:760px){
.site-footer{padding-top:26px}
.footer-main{grid-template-columns:1fr;grid-template-areas:'brand' 'experiences' 'location';gap:20px}
.footer-brand{padding-top:0}
.footer-brand .brand-logo{width:88px}
.footer-main nav{column-gap:16px}
.footer-label{font-size:11px;margin-bottom:6px;letter-spacing:.08em}
.footer-location{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding-top:17px;border-top:1px solid var(--line)}
.footer-location .footer-label{margin:0;align-self:center}
.footer-address{grid-column:1/-1;grid-row:2;padding-top:0}
.footer-status{grid-column:2;grid-row:1;margin:0;font-size:11px}
.footer-bottom{display:grid;grid-template-columns:1fr 44px;gap:8px 16px;margin-top:20px;padding-block:10px 18px}
.footer-disclosure{grid-column:1/-1;grid-row:2;margin:0;font-size:11px}
.back-top{grid-column:2;grid-row:1}
}
/* Motion choisie: entrée, découverte, interaction. */
@media(prefers-reduced-motion:no-preference){
.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
.hero__content{animation:arrive 1.2s var(--ease) both}
@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}
@media(min-width:1700px){.hero__content{max-width:1400px}.hero h1{font-size:100px}}
@media(max-width:1180px){
.header-inner{gap:20px}.navigation{gap:20px}.brand-name{font-size:17px}.brand-symbol{width:39px;height:39px;font-size:25px}.header-actions{gap:8px}.button--small{font-size:11px;padding-left:18px;gap:12px}.navigation>a{font-size:12px}
.event-photo{height:580px}.event-path{align-items:flex-start;flex-direction:column;gap:10px}.page-hero-photo{height:540px}
}
@media(max-width:1020px){
.header-contact{display:none}.header-inner{min-height:74px;padding:11px 0}.brand-name{font-size:19px}.header-actions{gap:10px}
.menu-toggle{display:block!important;width:44px;height:44px;border:0;background:none;position:relative;z-index:3}
.menu-toggle span{position:absolute;width:22px;height:1px;background:var(--ivory);left:11px;top:17px;transition:transform .5s var(--ease)}
.menu-toggle span+span{top:25px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:translateY(-4px) rotate(-45deg)}
.navigation{position:fixed;inset:0;z-index:1;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:22px;margin:0;padding:125px var(--gutter) 70px;background:rgba(0,0,0,.98);backdrop-filter:blur(24px);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility .5s}
.navigation.is-open{visibility:visible;opacity:1;transform:none}
.navigation>a{font-family:var(--display);font-size:clamp(26px,5.3vw,42px);font-weight:400;letter-spacing:-.025em;line-height:1.3;opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.navigation.is-open>a{opacity:1;transform:none}.navigation.is-open>a:nth-child(2){transition-delay:.04s}.navigation.is-open>a:nth-child(3){transition-delay:.08s}.navigation.is-open>a:nth-child(4){transition-delay:.12s}.navigation.is-open>a:nth-child(5){transition-delay:.16s}
.navigation__mobile-contact{display:flex!important;font-size:18px!important;color:var(--sand)!important;margin-top:18px}
.hero__image{object-position:59% center}
.hero h1{font-size:clamp(55px,7.7vw,79px)}.hero__content{padding-block:155px 220px}.hero__lead{font-size:16px}.hero__actions{gap:24px}
.intro-grid{gap:6vw}.intro-copy>.lead{font-size:21px}.experience-grid{gap:35px}.experience-copy h3{font-size:23px}.experience--driving{margin-top:90px}
.event-grid{gap:40px}.event-photo{height:590px}.event-copy h2{font-size:35px}
.arrival-grid{gap:7vw;grid-template-columns:1fr 1fr}.address-panel__inner{padding:35px 24px}
.page-hero-grid{gap:40px}.page-hero-photo{height:520px}.page-hero-copy h1{font-size:46px}.page-hero-copy>.lead{font-size:16px}
.story-grid,.faq-grid{gap:7vw}.story-copy>.lead{font-size:20px}.process-list{gap:30px}
.contact-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.contact-panel{padding:25px}.form-row{grid-template-columns:1fr;gap:24px}.contact-copy h1{font-size:48px}.contact-copy>.lead{font-size:16px}.interest-help{min-height:85px}

}
@media(max-width:760px){
:root{--gutter:25px}.section{padding-block:54px}.header-inner{min-height:68px;padding:9px 0;gap:8px}.wordmark{gap:10px}.brand-symbol{width:35px;height:35px;font-size:23px}.brand-name{font-size:16px}.brand-name small{font-size:6px;margin-top:7px;letter-spacing:.14em}.header-actions{gap:1px}.language-toggle{font-size:10px;min-width:35px;padding-inline:5px}.menu-toggle{width:39px}.menu-toggle span{left:8px}
h1{font-size:47px}h2{font-size:38px}.eyebrow{font-size:10px;margin-bottom:22px}.lead{font-size:18px}.button{font-size:13px;gap:20px;padding-left:22px;min-height:55px}.button__icon{width:39px;height:39px}.text-link{font-size:13px}
.hero__content{padding-top:135px;padding-bottom:265px}.hero h1{font-size:clamp(42px,8.7vw,65px);line-height:1.15;letter-spacing:-.035em}.hero .eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:26px}.hero__image{object-position:71% center}
.hero__lead{font-size:15px;line-height:1.8;margin-top:24px;max-width:355px}.hero__lead br{display:none}.hero__actions{margin-top:24px;gap:10px 20px;align-items:flex-start;flex-direction:column}.hero__actions>.text-link{margin-left:4px}.hero__bottom{bottom:18px;gap:10px;padding-top:12px;font-size:11px}.hero__signature{display:none}.hero__scroll{margin-left:0;width:40px;height:40px}
.intro-grid{grid-template-columns:1fr;gap:30px}.intro-copy{padding-top:0;max-width:100%}.intro-copy>.lead{font-size:21px}.intro-copy .text-link{margin-top:21px}
.experiences{padding-top:0}.section-top{margin-bottom:30px}.section-top h2{font-size:34px}.experience-grid{grid-template-columns:1fr;gap:45px}.experience--driving{margin-top:0}.experience .photo-core{aspect-ratio:1.25}.experience-copy{padding:24px 6px 0}.experience-copy h3{font-size:25px}.experience-copy p{font-size:15px}.experience-copy .text-link{margin-top:16px}.photo-tag{top:16px;left:16px;font-size:10px}.photo-action{right:16px;bottom:16px;width:40px;height:40px}
.event-grid{grid-template-columns:1fr;gap:36px}.event-photo{height:auto;aspect-ratio:1.13}.event-copy h2{font-size:37px}.event-copy>p:not(.eyebrow){font-size:15px}.event-path{flex-direction:row;align-items:center;gap:12px}.event-path h3{font-size:16px}.event-path p{font-size:12px}.event-path .text-link{font-size:11px;gap:7px}.event-path .button__icon{width:30px;height:30px}
.arrival-grid{grid-template-columns:1fr;gap:44px}.arrival h2{font-size:49px}.arrival p:not(.eyebrow){font-size:15px}.address-panel{max-width:440px;width:100%;margin:auto}.address-panel__inner{padding:32px 28px}.address-panel .address-city{font-size:34px}.address-panel .small{font-size:12px!important}.address-panel__inner .brand-symbol--large{width:60px;height:60px;font-size:38px}
.page-hero{padding:133px 0 0}.page-hero-grid{grid-template-columns:1fr;gap:36px}.page-hero-copy h1{font-size:clamp(42px,9.2vw,61px)}.page-hero-copy>.lead{font-size:17px;margin-top:24px;max-width:100%}.page-hero-copy .button{margin-top:26px}.page-hero-photo{height:auto;aspect-ratio:1.05}.page-hero-photo .club-crop{object-position:82% center}
.story-grid{grid-template-columns:1fr;gap:32px}.story-copy>.lead{font-size:20px}.feature-lines{margin-top:28px}.feature-line{padding-block:24px}.feature-line p{font-size:15px}.club-invitation{padding-block:58px}.invitation-inner h2{font-size:43px}.invitation-inner>p:not(.eyebrow){font-size:15px}.wide-photo{height:310px}
.faq-grid{grid-template-columns:1fr;gap:34px}.faq-grid h2{font-size:37px}.faq-list summary{font-size:15px;padding-block:24px}.faq-list details>p{font-size:14px;padding-right:16px}
.process-list{grid-template-columns:1fr;gap:28px}.process-list>li{display:grid;grid-template-columns:32px 1fr;gap:25px;border-top:1px solid var(--line);padding-top:25px}.process-number{border:0;padding:0;margin:0;align-self:start}.process-list h3{font-size:20px;margin-bottom:12px}
.closing-grid{grid-template-columns:1fr;gap:28px}.closing-grid>div:last-child{max-width:100%}.closing-grid>div:last-child>p{font-size:15px}.closing .button{margin-top:24px}.closing-note{font-size:12px!important}
.contact-section{padding-top:135px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-copy h1{font-size:53px}.contact-copy>.lead{font-size:17px;max-width:100%}.contact-address{margin-top:27px}.contact-image{display:none}.contact-panel{padding:27px 22px}.contact-shell{margin-inline:-5px}.contact-panel .form-row{grid-template-columns:1fr;gap:24px}.interest-help{min-height:0;margin-bottom:25px}.form-kicker{font-size:10px}.interest-choice label>span{font-size:12px;min-height:49px}.contact-panel label{font-size:13px}.event-fields .form-row{margin-top:0}

}
@media(max-width:360px){:root{--gutter:21px}.brand-name{font-size:14px}.brand-name small{font-size:5px}.wordmark{gap:8px}.brand-symbol{width:31px;height:31px;font-size:21px}.hero h1{font-size:38px}.hero .eyebrow{font-size:8px}.hero__lead{font-size:14px}.contact-copy h1{font-size:43px}.contact-panel{padding:23px 17px}.interest-choice label>span{font-size:11px}.event-path{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready [data-reveal]{opacity:1;transform:none}}

/* Nero pieno, contenuti ravvicinati, quattro esperienze da esplorare. */
.hero-directory{position:absolute;bottom:24px;left:0;right:0}
.hero-directory-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);padding-bottom:14px}
.hero-routes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(243,239,230,.3);border-bottom:1px solid rgba(243,239,230,.2);background:rgba(0,0,0,.28)}
.hero-route{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 24px;font-size:14px;font-weight:500;min-height:68px}
.hero-route+ .hero-route{border-left:1px solid rgba(243,239,230,.2)}
.hero-route>span:last-child{color:var(--sand);font-size:22px;transition:transform .4s var(--ease)}
.hero-route:hover{background:rgba(0,0,0,.5)}
.hero-route:hover>span:last-child{transform:translate(2px,-2px)}
.introduction{border-bottom:1px solid var(--line)}
.intro-grid h2{font-size:clamp(35px,3.7vw,53px)}
.service-discovery{padding-top:62px}
.discovery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:32px}
.discovery-heading .eyebrow{margin-bottom:15px}
.discovery-heading h2{font-size:clamp(33px,3.5vw,49px)}
.discovery-heading>p{font-size:14px;max-width:320px}
.service-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.service-tab{display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;min-height:68px;padding:16px 23px;border:0;background:transparent;color:var(--muted);font-size:15px;font-weight:500;text-align:left}
.service-tab+ .service-tab{border-left:1px solid var(--line)}
.service-tab>span:last-child{font-size:21px;color:var(--sand)}
.service-tab[aria-selected=true]{background:var(--surface);color:var(--ivory)}
.service-tab[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--sand);left:0;right:0}
.service-tab:hover{color:var(--ivory)}
.service-panel{display:grid;grid-template-columns:1.05fr 1fr;min-height:525px;background:var(--surface);border-radius:var(--radius);overflow:hidden}
.service-panel+ .service-panel{margin-top:24px}
.services-ready .service-panel{margin-top:0}
.service-visual{position:relative;min-height:100%;overflow:hidden}
.service-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);pointer-events:none}
.service-visual figcaption{position:absolute;bottom:25px;left:28px;right:28px;z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ivory)}
.service-content{padding:clamp(30px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start}
.service-content .eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:.12em}
.service-content h3{font-size:clamp(27px,2.65vw,38px);margin-bottom:20px}
.service-content>p:not(.eyebrow){font-size:15px;line-height:1.8}
.service-features{list-style:none;padding:0;margin:23px 0 28px;width:100%}
.service-features li{position:relative;padding:12px 0 12px 17px;border-top:1px solid var(--line);font-size:13px;line-height:1.65;color:var(--muted)}
.service-features li:before{content:'';position:absolute;left:0;top:21px;width:4px;height:4px;background:var(--bronze)}
.service-actions{display:flex;align-items:flex-start;gap:12px;flex-direction:column;margin-top:auto}
.service-actions .button{font-size:13px;min-height:53px;padding-block:6px}
.service-actions .text-link{font-size:12px;min-height:36px}
.service-actions .text-link .button__icon{width:29px;height:29px}
.club-life{padding-top:12px}
.life-heading{display:grid;grid-template-columns:.55fr 1fr;gap:30px;align-items:center;margin-bottom:30px}
.life-heading .eyebrow{margin:0}
.life-heading h2{font-size:clamp(30px,3.3vw,46px)}
.life-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.life-main{position:relative;min-height:490px;overflow:hidden;border-radius:var(--radius)}
.life-main>img{width:100%;height:100%;position:absolute;inset:0;object-position:51% center}
.life-main:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}
.life-grid figcaption{position:absolute;bottom:23px;left:25px;right:25px;z-index:1;font-size:12px;color:var(--ivory)}
.life-side{display:flex;flex-direction:column;gap:22px}
.life-side figure{height:235px;position:relative;overflow:hidden;border-radius:var(--radius)}
.life-side figure>img{width:100%;height:100%;object-position:center 48%}
.life-side figure:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}
.life-copy{padding:10px 4px 0}
.life-copy h3{font-size:24px;margin-bottom:16px}
.life-copy p{font-size:15px}
.life-copy .text-link{margin-top:15px}
.arrival{border-top:1px solid var(--line)}
.visit-block{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw}
.visit-heading h2{font-size:clamp(38px,4.3vw,61px)}
.visit-heading .eyebrow{font-size:11px}
.visit-heading>p:not(.eyebrow){font-size:16px;max-width:490px;margin-top:23px}
.visit-heading>.button{margin-top:26px}
.visit-details{align-self:center;border-top:1px solid var(--line)}
.visit-details>div{padding-block:24px;border-bottom:1px solid var(--line)}
.visit-label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--sand);margin-bottom:12px}
.visit-details h3{font-size:24px;margin-bottom:6px}
.visit-details p{font-size:14px}
.visit-status{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--sand)}
@media(max-width:1020px){
.hero-route{font-size:12px;padding-inline:16px}
.discovery-heading{gap:25px}.service-tab{font-size:13px;padding-inline:17px}
.service-panel{grid-template-columns:.9fr 1fr}.service-content{padding:30px}.service-content h3{font-size:29px}.service-content .eyebrow{font-size:9px}.service-content>p:not(.eyebrow){font-size:14px}.service-features li{font-size:12px}
.life-heading{grid-template-columns:.55fr 1fr}.life-heading h2{font-size:36px}.life-grid{grid-template-columns:1fr 1fr}.life-copy h3{font-size:22px}
}
@media(max-width:760px){
.hero-directory{bottom:20px}.hero-directory-meta{padding-bottom:9px;font-size:10px}.hero-directory-meta>span{display:none}.hero-routes{grid-template-columns:1fr 1fr}.hero-route{min-height:54px;font-size:12px;padding:12px 15px}.hero-route+ .hero-route{border-left:0}.hero-route:nth-child(even){border-left:1px solid rgba(243,239,230,.2)}.hero-route:nth-child(n+3){border-top:1px solid rgba(243,239,230,.2)}
.intro-grid{gap:25px}.intro-grid h2{font-size:36px}.intro-copy>.lead{font-size:19px}.intro-copy>p:not(.lead){font-size:15px}
.service-discovery{padding-top:45px}.discovery-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:25px}.discovery-heading h2{font-size:33px}.discovery-heading>p{font-size:14px;max-width:100%}.discovery-heading>p br{display:none}
.service-tabs{grid-template-columns:1fr 1fr;margin-bottom:18px}.service-tab{font-size:12px;min-height:57px;padding:13px 16px}.service-tab+ .service-tab{border-left:0}.service-tab:nth-child(even){border-left:1px solid var(--line)}.service-tab:nth-child(n+3){border-top:1px solid var(--line)}
.service-panel{grid-template-columns:1fr;min-height:0}.service-visual{height:285px}.service-content{padding:28px 24px}.service-content h3{font-size:29px}.service-content .eyebrow{font-size:9px;margin-bottom:16px}.service-content>p:not(.eyebrow){font-size:15px}.service-features{margin-block:23px}.service-features li{font-size:13px}.service-actions{width:100%}.service-actions>.button{max-width:100%;width:100%}.service-visual figcaption{font-size:10px;left:22px;bottom:20px}
.club-life{padding-top:5px}.life-heading{grid-template-columns:1fr;gap:17px;margin-bottom:25px}.life-heading h2{font-size:31px}.life-grid{grid-template-columns:1fr;gap:18px}.life-main{height:350px;min-height:0}.life-side{gap:20px}.life-side figure{height:220px}.life-copy{padding-inline:0}.life-copy h3{font-size:24px}
.visit-block{grid-template-columns:1fr;gap:32px}.visit-heading h2{font-size:43px}.visit-heading .eyebrow{font-size:10px}.visit-heading>p:not(.eyebrow){font-size:15px}.visit-details>div{padding-block:22px}.visit-details h3{font-size:22px}.visit-status{font-size:10px}
}
@media(max-width:360px){.hero-route{font-size:11px;padding-inline:12px}.service-tab{font-size:11px;padding-inline:12px}.service-content{padding:25px 20px}.service-content h3{font-size:26px}.service-content .button{font-size:12px;padding-left:16px;gap:12px}.service-content .eyebrow{font-size:8px}}
@media(min-width:1021px){.contact-copy{position:sticky;top:130px}}
/* Senza JavaScript tutte le esperienze restano leggibili in sequenza. */
.service-tabs{display:none}
.service-tabs.services-ready{display:grid}

/* Render Res-Tech: prodotto intero, proporzioni originali, fondale grafite. */
.product-stage{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:360px;background:#000000;border:1px solid rgba(243,239,230,.07);border-radius:var(--radius)}
.product-stage__heading{position:absolute;z-index:2;top:25px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--sand)}
.product-stage__heading>span:first-child{color:var(--ivory);font-weight:600}
.product-stage__model{position:absolute;top:45px;left:27px;z-index:-1;font:500 clamp(95px,12vw,180px)/1 var(--display);letter-spacing:-.08em;color:rgba(149,117,77,.28);pointer-events:none}
.product-stage>.product-stage__image{position:absolute;inset:63px 0 48px;width:100%;height:calc(100% - 111px);object-fit:contain;object-position:center;filter:none}
.product-stage figcaption{position:absolute;left:28px;right:28px;bottom:21px;z-index:2;font-size:10px;line-height:1.6;letter-spacing:.015em;text-transform:none;color:var(--muted)}
.product-stage:after{display:none}
.service-visual.product-stage{border:0;border-radius:var(--radius);min-height:100%}
.service-visual.product-stage .product-stage__model{top:70px;font-size:clamp(100px,13vw,185px)}
.sim-hero .page-hero-grid{grid-template-columns:.9fr 1.1fr;gap:4vw}
.sim-hero .page-hero-copy h1{font-size:clamp(43px,4.6vw,67px)}
.sim-hero-visual{height:530px}
.sim-hero-visual>.product-stage__image{inset:55px -4% 30px;width:108%;max-width:none;height:calc(100% - 85px)}
.sim-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.sim-hero-actions>.text-link{font-size:13px}
.sim-hero .page-opening{margin-top:15px}
.equipment{border-block:1px solid var(--line);margin-top:25px}
.equipment-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin-bottom:38px}
.equipment-heading .eyebrow{margin-bottom:18px}
.equipment-heading h2{font-size:clamp(33px,3.5vw,49px)}
.equipment-heading>p{font-size:15px;max-width:390px}
.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.equipment-model{min-width:0}
.equipment-model .product-stage{min-height:350px}
.equipment-model .product-stage__model{font-size:132px;top:50px}
.equipment-copy{padding:25px 0 0}
.equipment-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.equipment-title h3{font-size:26px}
.equipment-title>span{color:var(--sand);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.equipment-copy>p{max-width:54ch;font-size:15px}
.equipment-configurations{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:40px;border-block:1px solid var(--line);margin-top:44px;padding-block:28px}
.equipment-configurations .eyebrow{font-size:10px;margin-bottom:10px}
.equipment-configurations h3{font-size:23px}
.equipment-configurations h4{margin:0 0 9px;font:600 15px/1.5 var(--font);color:var(--ivory)}
.equipment-configurations p{font-size:14px}
.equipment-note{margin-top:20px;font-size:12px;max-width:750px}
@media(max-width:1020px){
.sim-hero .page-hero-grid{gap:30px}.sim-hero-visual{height:470px}.sim-hero .page-hero-copy h1{font-size:45px}.sim-hero .page-hero-copy>.lead{font-size:16px}
.equipment-heading{gap:35px}.equipment-model .product-stage{min-height:300px}.equipment-title h3{font-size:22px}.equipment-title>span{font-size:10px}.equipment-title{gap:12px}.equipment-configurations{gap:25px;grid-template-columns:.85fr 1fr 1fr}.equipment-configurations h3{font-size:20px}
.product-stage__heading,.product-stage figcaption{left:20px;right:20px}.product-stage__heading{font-size:9px}.product-stage figcaption{font-size:9px}
}
@media(max-width:760px){
.service-visual.product-stage{height:320px;min-height:320px}.service-visual.product-stage .product-stage__model{top:49px;font-size:116px}
.sim-hero .page-hero-grid{grid-template-columns:1fr;gap:28px}.sim-hero .page-hero-copy h1{font-size:clamp(40px,10.5vw,58px)}.sim-hero .page-hero-copy>.lead{font-size:17px}.sim-hero-visual{height:360px;min-height:0}
.sim-hero-visual>.product-stage__image{inset:53px 0 40px;width:100%;max-width:100%;height:calc(100% - 93px)}
.sim-hero-visual .product-stage__model{font-size:130px;top:45px}.sim-hero .page-opening{margin-top:16px}
.equipment{margin-top:5px}.equipment-heading{grid-template-columns:1fr;gap:22px;margin-bottom:27px}.equipment-heading h2{font-size:34px}.equipment-heading>p{max-width:none}
.equipment-grid{grid-template-columns:1fr;gap:35px}.equipment-model .product-stage{min-height:300px}.equipment-model .product-stage__model{font-size:115px}.equipment-copy{padding-top:20px}.equipment-title h3{font-size:24px}.equipment-title>span{font-size:10px}.equipment-copy>p{font-size:14px}
.equipment-configurations{grid-template-columns:1fr;gap:22px;margin-top:32px;padding-block:25px}.equipment-configurations>div+div{padding-top:21px;border-top:1px solid var(--line)}.equipment-configurations h3{font-size:24px}.equipment-note{font-size:11px}
}
@media(max-width:360px){.sim-hero-visual{height:300px}.equipment-model .product-stage{min-height:260px}.service-visual.product-stage{height:280px;min-height:280px}.product-stage__heading{font-size:8px;gap:10px}.product-stage figcaption{font-size:8px}.equipment-title{align-items:flex-start;flex-direction:column;gap:7px}}

/* Tipografia racing estesa, leggibilità editoriale nei testi. */
h1,h2,h3{font-weight:400;letter-spacing:-.035em}
.hero h1{font-size:clamp(43px,5.5vw,80px);max-width:1080px;line-height:1.16;letter-spacing:-.035em}
.brand-name{font-family:var(--display);font-size:17px;font-weight:400;letter-spacing:-.025em}
.brand-name small{font-size:6px;letter-spacing:.17em}
.navigation{gap:22px}
.navigation>a{font-family:var(--display);font-size:10px;letter-spacing:0}
.service-tab,.hero-route{font-family:var(--display);font-weight:400;font-size:12px}
.product-stage__model{font-family:var(--display);font-weight:400}
.page-hero-copy h1{font-size:clamp(38px,4vw,58px)}
.sim-hero .page-hero-copy h1{font-size:clamp(36px,3.8vw,55px)}

@media(max-width:1020px){.navigation>a{font-size:16px}.service-tab,.hero-route{font-size:10px}.sim-hero .page-hero-copy h1{font-size:36px}.page-hero-copy h1{font-size:38px}.equipment-title{align-items:flex-start;flex-direction:column;gap:10px}.brand-name{font-size:16px}}
@media(max-width:760px){
.hero h1{font-size:clamp(32px,7.8vw,52px);line-height:1.22;max-width:620px;letter-spacing:-.035em}
.brand-name{font-size:15px}.brand-name small{font-size:5px}.service-tab,.hero-route{font-size:9px;gap:9px}
.intro-grid h2{font-size:31px}.discovery-heading h2{font-size:29px}.service-content h3{font-size:26px}.life-heading h2{font-size:28px}.life-copy h3{font-size:21px}.visit-heading h2{font-size:35px}.visit-details h3{font-size:19px}
.page-hero-copy h1,.sim-hero .page-hero-copy h1{font-size:clamp(30px,8vw,42px)}.equipment-heading h2{font-size:29px}.equipment-title h3{font-size:23px}.equipment-title{flex-direction:row;align-items:center}.equipment-configurations h3{font-size:21px}
.story-grid h2{font-size:31px}.faq-grid h2{font-size:31px}.closing h2{font-size:31px}.contact-copy h1{font-size:40px}.invitation-inner h2{font-size:35px}
}
@media(max-width:360px){.brand-name{font-size:13px}.brand-name small{font-size:4.5px}.hero h1{font-size:29px}.service-tab,.hero-route{font-size:8px;padding-inline:10px}.service-content h3{font-size:23px}.equipment-title{align-items:flex-start;flex-direction:column;gap:8px}.contact-copy h1{font-size:33px}.equipment-heading h2,.story-grid h2,.closing h2{font-size:27px}}

/* Inquadrature del locale: lounge leggibile, prodotti preservati nel taglio. */
.hero__image{filter:saturate(.88) contrast(1.03)}
.club-crop,.page-hero-photo .club-crop{object-position:43% center}
.contact-image img{object-position:43% 53%}
.life-main>img{object-position:72% center}
.life-side figure>img{object-position:center}
.venue-room-photo img{object-position:70% center}
@media(max-width:1020px){.hero__image{object-position:25% center}}
@media(max-width:760px){.hero__image{object-position:22% center}}
@media(max-width:760px){.service-tab,.hero-route{font-size:11px;line-height:1.5;min-height:64px;padding-inline:13px;gap:10px}.service-tab>span:last-child,.hero-route>span:last-child{flex:none}}
@media(max-width:360px){.service-tab,.hero-route{font-size:10px;padding-inline:10px;gap:8px}}

/* Leggibilità e conversione: contrasto netto, azioni grandi, immagini leggibili. */
:root{--surface:#000000;--surface-strong:#000000;--ivory:#f3efe6;--sand:#c9b999;--bronze:#95754d;--muted:#f3efe6;--line:rgba(201,185,153,.3)}
body{font-size:17px;line-height:1.7}
.site-header:before{box-shadow:inset 0 0 0 1px rgba(201,185,153,.26),0 8px 28px rgba(0,0,0,.2)}
.header-inner{min-height:88px;gap:23px}
.brand-name{font-size:19px;color:#f3efe6}
.brand-name small{font-size:8px;letter-spacing:.11em;color:var(--sand)}
.navigation{gap:25px}
.navigation>a{font-family:var(--display);font-size:14px;font-weight:700;line-height:1.5;color:#f3efe6;letter-spacing:-.02em;min-height:48px}
.navigation>a:after{height:2px;bottom:4px}
.navigation>a:hover,.navigation>a[aria-current]{color:var(--sand)}
.language-toggle{font-size:13px;font-weight:600;color:#f3efe6;min-width:44px}
.header-actions{gap:14px}
.button{font-size:16px;font-weight:600;min-height:60px;padding-left:25px;background:var(--sand);color:#000000}
.button:hover{background:#f3efe6}
.button--small{font-size:14px;min-height:52px;gap:16px;padding-left:19px}
.text-link{font-size:16px;min-height:48px;color:#f3efe6}
.text-link .button__icon{background:#000000;color:var(--sand)}
.button--outline{background:rgba(0,0,0,.35);border:1px solid rgba(243,239,230,.85);color:#f3efe6}
.button--outline .button__icon{background:rgba(243,239,230,.12)}
.button--outline:hover{background:#f3efe6;color:#000000}
.hero__image{filter:brightness(1.24) saturate(.96);object-position:center}

.hero h1{font-size:clamp(43px,5vw,72px);font-weight:700;line-height:1.17;max-width:980px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero h1 em{color:#f3efe6}
.hero .eyebrow{font-size:13px;color:#f3efe6;letter-spacing:.15em;font-weight:600}
.hero__lead{font-size:20px;line-height:1.6;max-width:640px;color:#f3efe6;text-shadow:0 1px 12px #000}
.hero__content{padding-block:185px 255px}
.hero__actions{gap:16px;margin-top:30px}
.hero-directory-meta{font-size:13px;color:#f3efe6}
.hero-routes{background:rgba(0,0,0,.88);border:1px solid rgba(243,239,230,.4)}
.hero-route{font-family:var(--font);font-size:17px;font-weight:600;padding:18px 22px;min-height:88px;line-height:1.45}
.hero-route small{display:block;font-size:13px;color:#f3efe6;font-weight:400;margin-top:4px}
.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--sand)}
.small{font-size:13px}
.intro-copy>p:not(.lead),.visit-heading>p:not(.eyebrow),.life-copy p,.story-copy p,.feature-line p,.process-list p{font-size:17px;color:var(--muted)}
.discovery-heading>p{font-size:17px;max-width:365px}
.service-tab{font-family:var(--font);font-size:17px;font-weight:600;min-height:72px;color:#f3efe6}
.service-tab[aria-selected=true]{background:var(--sand);color:#000000}
.service-tab[aria-selected=true]>span:last-child{color:#000000}
.service-panel{background:#000000;border:1px solid var(--line)}
.service-content{padding:36px}
.service-content .eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:18px}
.service-content h3{font-size:clamp(25px,2.15vw,31px);font-weight:700;line-height:1.3}
.service-content>p:not(.eyebrow){font-size:17px;color:#f3efe6;line-height:1.7}
.service-features li{font-size:15px;color:#f3efe6;padding-block:13px}
.service-actions{gap:12px;width:100%}
.service-actions .button{font-size:15px;min-height:58px}
.service-actions .text-link{font-size:15px;min-height:44px}
.service-visual figcaption,.life-grid figcaption{font-size:13px;font-weight:500}
.service-visual>img:not(.product-stage__image),.life-main>img,.life-side figure>img,.page-hero-photo img,.contact-image img,.venue-room-photo img{filter:brightness(1.12) saturate(1.02)}
.page-hero-copy>.lead,.contact-copy>.lead{font-size:19px;color:#f3efe6;line-height:1.7}
.page-opening,.closing-note{font-size:14px}
.feature-line h3{font-size:20px;color:#f3efe6}
.equipment-heading>p,.equipment-copy>p,.equipment-configurations p{font-size:16px;color:#f3efe6}
.equipment-note{font-size:13px;color:#f3efe6}
.product-stage__heading,.product-stage figcaption{font-size:12px;color:#f3efe6}
.equipment-title>span{font-size:12px}
.faq-list summary{font-size:18px;color:#f3efe6}
.faq-list details>p{font-size:17px;color:#f3efe6}
.visit-label{font-size:13px}
.visit-details p,.visit-status{font-size:15px}


.contact-panel label{font-size:15px;color:#f3efe6}
.contact-panel legend{font-size:17px;font-weight:600}
.interest-choice label>span{font-size:15px;min-height:56px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px #95754d}
.contact-panel input:not([type=radio]),.contact-panel textarea{border:1px solid #95754d;background:#000000;border-radius:var(--radius);min-height:54px}
.contact-panel input:focus-visible,.contact-panel textarea:focus-visible{outline:2px solid var(--sand);outline-offset:2px}
.interest-help,.form-note{font-size:14px;color:#f3efe6}
.form-kicker{font-size:12px}
.contact-address p{font-size:16px}
.request-steps{padding-top:15px;padding-bottom:75px}
.request-steps-panel{background:#c9b999;color:#000000;padding:42px 44px;border-radius:var(--radius)}
.request-steps-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:30px}
.request-steps-heading h2{font-size:clamp(27px,2.8vw,39px);max-width:660px;font-weight:700}
.request-steps-heading .button{background:#000000;color:#f3efe6;flex-shrink:0}
.request-steps-heading .button__icon{background:#000000}
.request-steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;margin:0;list-style:none;counter-reset:request}
.request-steps-list li{counter-increment:request;border-top:1px solid #95754d;padding-top:22px}
.request-steps-list li:before{content:'0' counter(request);font:600 14px/1.5 var(--font);color:#000000;display:block;margin-bottom:10px}
.request-steps-list h3{font-family:var(--font);font-size:20px;font-weight:600;letter-spacing:0;margin-bottom:10px;color:#000000}
.request-steps-list p{font-size:16px;line-height:1.65;color:#000000}
.request-assurance{font-size:14px;margin-top:26px;color:#000000}
@media(min-width:1021px) and (max-width:1180px){.header-inner{gap:16px}.navigation{gap:18px}.navigation>a{font-size:14px}.brand-name{font-size:17px}.header-actions{gap:8px}.header-contact{font-size:13px;padding-left:15px;gap:10px}}
@media(max-width:1020px){
.header-inner{min-height:78px}.navigation>a{font-size:25px;min-height:58px;font-weight:600}.navigation__mobile-contact{font-size:21px!important}.navigation{gap:20px}.header-actions{gap:9px}
.hero__lead{max-width:570px;font-size:19px}.hero__image{object-position:25% center}.hero__content{padding-block:160px 280px}.hero-route{font-size:16px;padding-inline:16px}.hero-route small{font-size:12px}
.service-content{padding:30px}.service-tab{font-size:16px}.service-content h3{font-size:26px}.request-steps-panel{padding:35px}.request-steps-heading{align-items:flex-start;flex-direction:column;gap:25px}.request-steps-list{gap:25px}
}
@media(max-width:760px){
.header-inner{min-height:76px;gap:10px}.brand-name{font-size:17px}.brand-name small{font-size:7px}.language-toggle{font-size:13px;min-width:44px}.menu-toggle{width:44px}.menu-toggle span{height:2px;width:24px;left:10px}.header-actions{gap:3px}
.hero h1{font-size:clamp(30px,7.6vw,49px);line-height:1.2}.hero .eyebrow{font-size:11px;letter-spacing:.09em}.hero__lead{font-size:18px;line-height:1.65;max-width:100%;margin-top:24px}.hero__content{padding-block:155px 270px}
.hero__image{object-position:22% center;filter:brightness(1.3) saturate(.96)}

.hero__actions{gap:12px;align-items:stretch;margin-top:27px;max-width:420px}.hero__actions .button{width:100%;font-size:16px;min-height:58px}.hero-directory{bottom:18px}.hero-directory-meta{font-size:12px;padding-bottom:9px}.hero-route{font-size:15px;padding:13px 15px;min-height:78px;gap:10px}.hero-route small{font-size:12px;margin-top:3px}
.button{font-size:15px;min-height:58px}.text-link{font-size:15px}.eyebrow{font-size:12px}.intro-copy>p:not(.lead),.life-copy p,.visit-heading>p:not(.eyebrow),.story-copy p,.feature-line p{font-size:17px}
.service-tab{font-family:var(--font);font-size:16px;padding:14px 16px;min-height:64px;line-height:1.45}.discovery-heading>p{font-size:17px}.service-content{padding:28px 24px}.service-content h3{font-size:25px}.service-content .eyebrow{font-size:11px}.service-content>p:not(.eyebrow){font-size:17px}.service-features li{font-size:15px}.service-actions .button,.service-actions .text-link{font-size:15px}.service-visual figcaption{font-size:12px}
.page-hero-copy>.lead,.contact-copy>.lead{font-size:18px}.page-opening,.closing-note{font-size:13px!important}.equipment-copy>p,.equipment-configurations p{font-size:16px}.equipment-title>span{font-size:12px}.equipment-note{font-size:13px}.product-stage__heading,.product-stage figcaption{font-size:11px}.product-stage__heading{letter-spacing:.035em}.faq-list summary{font-size:17px}.faq-list details>p{font-size:16px}
.request-steps{padding-block:5px 54px}.request-steps-panel{padding:30px 25px}.request-steps-heading h2{font-size:27px}.request-steps-heading{gap:22px}.request-steps-heading .button{width:100%}.request-steps-list{grid-template-columns:1fr;gap:23px}.request-steps-list h3{font-size:20px}.request-steps-list p{font-size:16px}.request-assurance{font-size:14px}
.contact-panel{padding:27px 22px}.contact-panel label{font-size:15px}.interest-choice label>span{font-size:14px}.interest-help,.form-note{font-size:14px}.contact-address p{font-size:15px}.visit-label{font-size:12px}.visit-status{font-size:13px}.visit-details p{font-size:16px}
}
@media(max-width:360px){.brand-name{font-size:14px}.brand-name small{font-size:6px}.header-actions{gap:0}.hero h1{font-size:27px}.hero__lead{font-size:17px}.hero .eyebrow{font-size:10px}.hero-route{font-size:14px;padding-inline:11px}.hero-route small{font-size:11px}.service-tab{font-size:15px;padding-inline:13px}.service-content{padding:25px 20px}.service-content h3{font-size:23px}.product-stage__heading,.product-stage figcaption{font-size:10px}.request-steps-panel{padding:28px 22px}.request-steps-heading h2{font-size:24px}}

/* Una sola geometria. Ombre locali per la lettura, cinque percorsi concreti. */
.photo-shell,.contact-shell{padding:0;background:transparent;box-shadow:none}
.photo-core,.contact-panel{box-shadow:none}
.contact-panel{border:1px solid var(--line)}
.button__icon,.text-link .button__icon,.button--outline .button__icon,.request-steps-heading .button__icon{background:transparent}
.button:hover,.button:active{transform:none}
.button:hover .button__icon,.text-link:hover .button__icon{transform:translateX(3px)}
.hero-copy{position:relative;isolation:isolate;max-width:970px}


.hero h1{font-size:clamp(40px,4.5vw,65px);line-height:1.22;max-width:970px}
.hero__lead{max-width:680px;font-size:19px;text-shadow:0 1px 12px #000}
.hero__content{padding-block:190px 235px}
.hero-routes,.service-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.hero-route{padding-inline:16px;font-size:15px}
.hero-route small{font-size:12px}
.hero-route>span:last-child{font-size:19px}
.service-tab{padding-inline:18px;font-size:16px}
.service-tab:hover{color:var(--sand)}
.service-tab[aria-selected=true]:hover{color:#000000}
.photo-tag{inset:auto 0 0;padding:54px 25px 22px;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.48) 60%,transparent);font-size:13px;text-shadow:0 1px 8px #000}
.service-visual:after,.life-main:after,.life-side figure:after{inset:55% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.3) 62%,transparent)}
.service-visual figcaption,.life-grid figcaption{letter-spacing:.04em;text-transform:none;text-shadow:0 1px 8px #000}
.trip-visual{min-width:0;padding:42px;background:linear-gradient(135deg,rgba(149,117,77,.2),#000000 80%);display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line)}
.trip-visual>.eyebrow{font-size:12px;margin-bottom:35px}
.trip-statement{font:400 clamp(24px,2.4vw,34px)/1.4 var(--display);color:var(--ivory);margin-bottom:45px}
.trip-line{display:flex;gap:23px;align-items:center;border-top:1px solid var(--line);padding-block:18px;font-size:16px}
.trip-line>span:first-child{font-size:12px;color:var(--sand);font-variant-numeric:tabular-nums}
.page-hero .trip-visual{min-height:490px}
.station-section{border-block:1px solid var(--line)}
.station-row{display:grid;grid-template-columns:.7fr 1.1fr auto;gap:36px;align-items:center;padding-block:30px;border-top:1px solid var(--line)}
.station-row>div{display:flex;align-items:center;gap:22px}
.station-row h3{font-size:27px}
.station-number{font-size:12px;color:var(--sand)}
.station-row>p{font-size:17px;max-width:48ch}
.station-row .text-link{white-space:nowrap}
.course-crosslink{display:flex;align-items:center;justify-content:space-between;gap:30px}
.course-crosslink h2{font-size:clamp(25px,3vw,36px)}
.contact-copy h1{font-size:clamp(34px,3.3vw,49px)}
.interest-choice label:last-child{grid-column:1/-1}
.contact-panel fieldset.detail-fields{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}
.contact-panel fieldset.detail-fields legend{float:left;width:100%;margin:0 0 16px}
.detail-fields>label{clear:both;margin-top:20px}
.detail-fields>.form-row{clear:both;margin-top:0}
.contact-panel select{font:inherit;width:100%;color:var(--ivory);background:#000000;border:1px solid #95754d;border-radius:var(--radius);padding:12px 14px;min-height:54px;margin-top:9px}
.contact-panel select:focus-visible{outline:2px solid var(--sand);outline-offset:2px}
.field-hint{font-size:13px;line-height:1.6;margin-top:10px}
.form-submit{width:100%;margin-top:28px}
@media(min-width:1021px) and (max-width:1180px){.navigation{gap:16px}.navigation>a{font-size:12px}.brand-name{font-size:16px}.header-contact{font-size:13px;gap:6px;padding-left:14px}.header-contact .button__icon{width:28px}}
@media(max-width:1020px){.hero-route{font-size:14px;padding-inline:12px}.hero-route small{font-size:11px}.service-tab{font-size:15px;padding-inline:12px}.trip-visual{padding:30px}.trip-statement{font-size:27px}.station-row{grid-template-columns:.7fr 1.3fr;gap:20px}.station-row .text-link{grid-column:2}.station-row h3{font-size:24px}.contact-copy h1{font-size:35px}}
@media(max-width:760px){
.hero__content{padding-block:155px 380px}.hero h1{font-size:clamp(28px,7.4vw,44px);line-height:1.28}.hero__lead{font-size:18px;line-height:1.65}.hero__actions{flex-direction:column}.hero__actions .button{font-size:15px}

.hero-routes,.service-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-route,.service-tab{font-size:15px;padding:12px 15px;min-height:75px}.hero-route small{font-size:12px}.hero-route:nth-child(odd),.service-tab:nth-child(odd){border-left:0}.hero-route:nth-child(n+3),.service-tab:nth-child(n+3){border-top:1px solid var(--line)}.hero-route:last-child,.service-tab:last-child{grid-column:1/-1}.hero-route:last-child>span:first-child{display:flex;align-items:center;gap:12px}.hero-route:last-child small{margin:0}.hero-directory-meta>span{display:none}
.service-tab{min-height:62px}.trip-visual{padding:28px;min-height:370px}.trip-statement{font-size:28px;margin-bottom:28px}.trip-visual>.eyebrow{margin-bottom:22px}.page-hero .trip-visual{min-height:370px}
.station-row{grid-template-columns:1fr;gap:17px;padding-block:27px}.station-row>div{gap:18px}.station-row .text-link{grid-column:auto;justify-self:start}.station-row h3{font-size:26px}.station-row p{font-size:17px}.equipment-copy p{margin-top:12px}
.course-crosslink{flex-direction:column;align-items:flex-start}.contact-copy h1{font-size:clamp(30px,7.8vw,40px)}.contact-panel select{font-size:16px}.photo-tag{padding:45px 20px 18px;font-size:12px}
}
@media(max-width:360px){.hero h1{font-size:25px}.hero-route,.service-tab{font-size:14px;padding-inline:11px}.hero-route:last-child>span:first-child{display:block}.hero-route:last-child small{margin-top:3px}.hero__actions .button{font-size:14px}.station-row h3{font-size:24px}.trip-statement{font-size:24px}}
@media(max-width:760px){.contact-image{display:none}.contact-address{margin-top:24px}.contact-section .contact-grid{gap:32px}.contact-section{padding-top:135px}}

/* Monogramma CC fornito dal cliente: sabbia, trasparente e scalabile. */
.brand-logo{display:block;width:106px;height:auto;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.brand-logo{width:90px}}

/* Foto senza sovraesposizione: la lettura è sostenuta dallo scrim laterale. */
.hero__image{filter:none}
.hero__shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.91) 24%,rgba(0,0,0,.74) 46%,rgba(0,0,0,.42) 66%,rgba(0,0,0,.1) 88%,rgba(0,0,0,.02) 100%),linear-gradient(0deg,rgba(0,0,0,.88),transparent 29%)}
.hero-copy:before{content:none}
.hero h1,.hero__lead{text-shadow:none}
.hero-routes{background:rgba(0,0,0,.62);border-color:rgba(201,185,153,.35)}
.service-visual>img:not(.product-stage__image),.life-main>img,.life-side figure>img,.page-hero-photo img,.contact-image img,.venue-room-photo img{filter:none}

/* Ogni sezione ha un ruolo riconoscibile nel ritmo della pagina. */
.introduction{background:#000000;border-block:1px solid rgba(149,117,77,.4);padding-block:88px}
.intro-copy{border-left:1px solid #95754d;padding-left:36px}
.intro-grid h2{font-size:clamp(34px,3.3vw,48px)}
.service-discovery{position:relative;isolation:isolate;background:var(--ink);padding-block:90px}
.service-discovery:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('../img/casa-corse/experiences-racing-livery.svg') center top / max(100%,1600px) 100% no-repeat}
.discovery-heading{padding-bottom:16px}
.service-tabs{border-top:1px solid rgba(149,117,77,.4);border-bottom:1px solid rgba(149,117,77,.4);background:#000000}
.service-tab{transition:background-color .2s ease,color .2s ease}
.service-tab>span:last-child{transition:transform .24s cubic-bezier(.2,.7,.2,1)}
.service-tab:is(:hover,:focus-visible)>span:last-child{transform:translateX(4px)}
.service-tab[aria-selected=true]:after{height:3px;background:#f3efe6}
.service-panel{border-color:rgba(149,117,77,.4);background:#000000;grid-template-columns:1.08fr 1fr}
.service-content{padding:40px}
.request-steps{padding-block:0;background:var(--sand);color:#000000}
.request-steps-panel{padding:60px 0;background:transparent}
.request-steps-heading{padding-bottom:30px;border-bottom:1px solid #95754d;margin-bottom:32px}
.request-steps-heading h2{font-weight:400;max-width:710px}
.request-steps-list li{border-top:0;padding-top:0}
.request-steps-list li+li{padding-left:30px;border-left:1px solid #95754d}
.club-life{padding-block:92px;background:#000}
.life-heading{grid-template-columns:.6fr 1fr;align-items:end;margin-bottom:38px}
.life-grid{grid-template-columns:1.35fr 1fr;gap:28px}
.life-main{min-height:580px}
.life-side{gap:0;background:#000000;border:1px solid rgba(149,117,77,.4)}
.life-side figure{height:270px;flex-shrink:0}
.life-copy{padding:30px}
.arrival{background:#000000;padding-block:88px;border-top:1px solid rgba(149,117,77,.4)}
.visit-block{grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center}
.visit-details{background:#000;border:1px solid #95754d;padding:35px 32px;position:relative}
.visit-details:before{content:'';height:3px;width:70px;background:var(--sand);position:absolute;top:-1px;left:12px}
.visit-details h3{font-size:24px;line-height:1.45}
.visit-details .text-link{margin-top:20px}
.story-section{background:#000000;border-block:1px solid rgba(149,117,77,.4);margin-top:35px}
.story-section .story-copy{border-left:1px solid #95754d;padding-left:36px}
.station-section{background:#000000}
.equipment{background:#000}
.faq-section{background:#000}
.closing{background:#000000;border-top:2px solid #95754d;border-bottom:1px solid rgba(149,117,77,.4)}


/* Scia racing e freccia in accelerazione; etichetta e sagoma restano stabili. */
.button{position:relative;isolation:isolate;overflow:hidden;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}
.button>span{position:relative;z-index:1}
.button:before{content:'';position:absolute;z-index:0;top:-25%;bottom:-25%;left:-55%;width:45%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(243,239,230,.46),transparent);transform:skewX(-22deg)}
.button__icon{overflow:hidden}
.button .button__icon:before,.button .button__icon:after{content:'';position:absolute;top:14px;width:2px;height:13px;background:currentColor;transform:skewX(-22deg);opacity:0;transition:opacity .2s ease}
.button .button__icon:before{left:2px}
.button .button__icon:after{left:7px}
.button--small .button__icon:before,.button--small .button__icon:after{top:11px;height:12px}
.button:not(:disabled):is(:hover,:focus-visible){background:#f3efe6;color:#000000;box-shadow:inset 0 -3px 0 #95754d}
.button:not(:disabled):is(:hover,:focus-visible) .button__icon{transform:none}
.button:not(:disabled):is(:hover,:focus-visible) .button__icon:before,.button:not(:disabled):is(:hover,:focus-visible) .button__icon:after{opacity:.55}
.button:not(:disabled):active{box-shadow:inset 0 3px 0 rgba(0,0,0,.3)}
.request-steps-heading .button{background:#000000;color:#f3efe6}
.request-steps-heading .button:not(:disabled):is(:hover,:focus-visible){background:#000000;color:#f3efe6;box-shadow:inset 0 -3px 0 #f3efe6}
.request-steps-heading .button:focus-visible{outline-color:#000000}
.button:disabled:before{display:none}
@media(prefers-reduced-motion:no-preference){
.button:not(:disabled):is(:hover,:focus-visible):before{animation:race-sweep .55s cubic-bezier(.2,.65,.25,1) both}
.button:not(:disabled):is(:hover,:focus-visible) .button__icon svg{animation:race-arrow .38s cubic-bezier(.2,.7,.2,1) both}
.services-ready .service-panel:not([hidden]) .service-content{animation:service-arrival .38s ease-out both}
@keyframes race-sweep{from{left:-55%}to{left:125%}}
@keyframes race-arrow{0%{transform:translateX(0);opacity:1}40%{transform:translateX(18px);opacity:0}41%{transform:translateX(-12px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes service-arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:1020px){
.introduction,.arrival{padding-block:65px}.intro-copy,.story-section .story-copy{padding-left:25px}.service-discovery,.club-life{padding-block:70px}.service-content{padding:30px}.service-panel{grid-template-columns:1fr 1fr}.life-grid{grid-template-columns:1fr 1fr}.life-main{min-height:560px}.life-copy{padding:25px}.visit-block{gap:40px}.visit-details{padding:28px 24px}.visit-details h3{font-size:21px}
}
@media(max-width:760px){
.hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.88) 38%,rgba(0,0,0,.7) 74%,rgba(0,0,0,.57) 100%),linear-gradient(0deg,rgba(0,0,0,.9),transparent 38%)}
.hero__image{filter:none;object-position:62% center}
.introduction,.arrival{padding-block:54px}.intro-grid{gap:28px}.intro-copy{padding:25px 0 0;border-left:0;border-top:1px solid #95754d}.intro-grid h2{font-size:30px}
.service-discovery,.club-life{padding-block:56px}.discovery-heading{padding-bottom:0}.service-panel{grid-template-columns:1fr}.service-content{padding:28px 24px}.request-steps-panel{padding:38px 0}.request-steps-heading{padding-bottom:27px;margin-bottom:28px}.request-steps-heading h2{font-size:28px}.request-steps-list{gap:25px}.request-steps-list li+li{padding:22px 0 0;border-left:0;border-top:1px solid #95754d}
.life-heading{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.life-grid{grid-template-columns:1fr;gap:22px}.life-main{height:360px;min-height:0}.life-side figure{height:240px}.life-copy{padding:26px 24px}.visit-block{grid-template-columns:1fr;gap:34px}.visit-details{padding:30px 25px}.visit-details h3{font-size:23px}
.story-section{margin-top:15px}.story-section .story-copy{border-left:0;border-top:1px solid #95754d;padding:26px 0 0}
}
@media(max-width:760px){.hero__image{object-position:92% center}}
@media(max-width:760px){.service-discovery:before{background-position:65% top;background-size:1100px 100%}}

/* Introduzione: livrea sabbia e bronzo, una pausa luminosa tra hero e servizi. */
.introduction{position:relative;isolation:isolate;overflow:hidden;background:#c9b999;border-block:1px solid #95754d;color:#000000}
.introduction:before{content:'';position:absolute;z-index:-1;inset:0;background:url('../img/casa-corse/intro-racing-livery.svg') center/cover no-repeat;pointer-events:none}
.introduction .eyebrow{color:#000000}
.introduction h2{color:#000000}
.introduction h2 em{color:#000000}
.introduction .intro-copy{border-color:rgba(149,117,77,.7)}
.introduction .intro-copy>.lead{color:#000000}
.introduction .intro-copy>p:not(.lead){color:#000000}
.introduction .text-link,.introduction .text-link .button__icon{color:#000000}
.introduction .text-link{font-weight:600}
.introduction .text-link:focus-visible{outline-color:#000000}
@media(max-width:760px){.introduction:before{background-position:48% center;background-size:auto 100%}.introduction .intro-copy{border-color:rgba(149,117,77,.7)}}

/* Palette definitiva: nero, avorio, sabbia e bronzo; nessun grigio UI. */
:root{--ink:#000000;--surface:#000000;--surface-strong:#000000;--ivory:#f3efe6;--muted:#f3efe6;--sand:#c9b999;--bronze:#95754d;--line:rgba(149,117,77,.4)}
.product-stage{background:var(--sand);border-color:var(--bronze)}
.product-stage__heading,.product-stage__heading>span:first-child,.product-stage figcaption{color:var(--ink)}
.product-stage__model{color:rgba(149,117,77,.28)}
.button:disabled{border:1px solid var(--bronze);color:var(--sand);background:var(--ink)}

/* Curve leggere: un solo raggio, continuo sul perimetro dei componenti. */
.hero-routes,.service-tabs{border-radius:var(--radius);overflow:hidden}
.hero-route:focus-visible,.service-tab:focus-visible{outline-offset:-4px;position:relative;z-index:1}
.service-tab[aria-selected=true]:focus-visible{outline-color:var(--ink)}
.life-side{border-radius:var(--radius);overflow:hidden}
.life-side figure{border-radius:0}
.visit-details,.trip-visual{border-radius:var(--radius)}
.service-panel>.trip-visual,.service-panel>.product-stage{border-radius:0}
