/* Casa Corse: motion, simulator room and event customisation. */
.brand-logo{width:92px}
.brand-intro{display:none;position:fixed;inset:0;z-index:100;background:var(--ink);place-items:center;pointer-events:none}
.brand-intro__mark{display:grid;justify-items:center;gap:24px}
.brand-intro__mark svg{width:clamp(160px,22vw,260px);height:auto;overflow:visible}
.brand-intro__mark>span{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);padding-left:.3em}
@media(prefers-reduced-motion:no-preference){
.brand-intro-active .brand-intro{display:grid;animation:intro-away .65s 1.35s ease both}
.brand-intro-active .brand-intro__mark{animation:intro-zoom .65s 1.35s cubic-bezier(.45,0,.2,1) both}
.brand-intro-active .brand-intro path{fill:var(--sand);fill-opacity:0;stroke:var(--sand);stroke-width:.6;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:intro-draw .8s ease forwards,intro-fill .28s .65s ease forwards}
.brand-intro-active .brand-intro path+path{animation-delay:.12s,.78s}
.brand-intro-active .brand-intro__mark>span{animation:intro-name .4s .45s ease both}
@keyframes intro-draw{to{stroke-dashoffset:0}}
@keyframes intro-fill{to{fill-opacity:1;stroke-opacity:0}}
@keyframes intro-name{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes intro-away{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}
@keyframes intro-zoom{from{transform:scale(1)}to{transform:scale(1.7)}}
}

/* Original logos, rendered in ivory through their alpha masks. */
.brand-strip{padding:20px 0 28px;background:var(--ink);border-block:1px solid var(--line)}
.brand-strip__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.brand-strip__heading .eyebrow{font-size:12px;margin:0;letter-spacing:.12em}
.brand-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.brand-track{display:flex;width:100%}
.brand-group{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:32px 56px;width:100%;list-style:none;margin:0;padding:12px var(--gutter)}
.brand-group li{display:grid;place-items:center;flex:0 0 170px;height:60px}
.brand-mark{display:block;width:170px;height:52px;background:var(--ivory);-webkit-mask:var(--brand-image) center/contain no-repeat;mask:var(--brand-image) center/contain no-repeat}
.brand-mark--moza{width:155px;height:36px}.brand-mark--wrc{height:38px}.brand-mark--restech{height:40px}.brand-mark--lemans{height:58px}
.brand-mark--iracing,.brand-mark--wrc{mask-mode:luminance}
.brand-group--duplicate{display:none}
@media(prefers-reduced-motion:no-preference){
.brand-strip.is-ready .brand-track{width:max-content;animation:brand-drift 42s linear infinite}
.brand-strip.is-ready .brand-group{flex-wrap:nowrap;flex-shrink:0;width:auto;justify-content:flex-start;padding:12px 56px 12px 0}
.brand-strip.is-ready .brand-group--duplicate{display:flex}
.brand-strip:is(:hover,:focus-within,.is-paused) .brand-track{animation-play-state:paused}
@keyframes brand-drift{to{transform:translateX(-50%)}}
}

/* Simulator room: full-bleed photography and light brand surfaces. */
.simulator-hero{position:relative;isolation:isolate;min-height:100svh;min-height:100dvh;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
.simulator-hero__image,.sim-driving__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.simulator-hero__image{object-position:65% center}
.simulator-hero__shade,.sim-driving__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.78) 31%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.06) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 25%)}
.simulator-hero__content{padding-block:165px 130px}
.simulator-hero h1{font-size:clamp(43px,5.4vw,76px);max-width:780px;line-height:1.2}
.simulator-hero__lead{max-width:540px;margin-top:28px;font-size:19px;line-height:1.7;color:var(--ivory)}
.simulator-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 30px;margin-top:30px}
.simulator-hero__caption{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:var(--ivory)}
.sim-stations{position:relative;isolation:isolate;background:var(--sand);color:var(--ink);padding-block:80px;border-color:var(--bronze)}
.sim-stations:before{content:'';position:absolute;inset:0;z-index:-1;background:url('../img/casa-corse/intro-racing-livery.svg') center/cover no-repeat;pointer-events:none}
.sim-stations :is(.eyebrow,p,.station-number,.text-link,.button__icon){color:var(--ink)}
.sim-stations .station-row{border-color:rgba(149,117,77,.7)}
.sim-stations .text-link{font-weight:600}
.sim-stations :focus-visible{outline-color:var(--ink)}
.sim-equipment{margin-top:0;background:var(--ink) url('../img/casa-corse/experiences-racing-livery.svg') center/cover no-repeat;padding-block:80px}
.sim-driving{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
.sim-driving__image{object-position:center 46%}
.sim-driving__content{padding-block:85px}
.sim-driving h2{max-width:650px;font-size:clamp(32px,4vw,54px);line-height:1.25}
.sim-driving__content>p:not(.eyebrow){max-width:420px;color:var(--ivory);font-size:18px;margin-top:24px}
.sim-driving .button{margin-top:28px}
.sim-driving__caption{position:absolute;right:var(--gutter);bottom:20px;font-size:12px;color:var(--ivory)}
.sim-faq{background:var(--ivory);color:var(--ink);border-block:1px solid var(--bronze)}
.sim-faq :is(p,.eyebrow,summary){color:var(--ink)}
.sim-faq .faq-list details{border-color:var(--bronze)}
.sim-faq .faq-plus:before,.sim-faq .faq-plus:after{background:var(--ink)}
.sim-faq :focus-visible{outline-color:var(--ink)}
.life-heading{grid-template-columns:1.15fr .85fr;align-items:end;gap:5vw}
.life-heading .eyebrow{margin-bottom:18px}
.life-heading>p{font-size:18px;max-width:480px;line-height:1.7;color:var(--ivory)}

/* Gold footer, black lettering and monogram. */
.site-footer{background:linear-gradient(105deg,var(--sand) 0%,var(--sand) 58%,var(--bronze) 145%);color:var(--ink);border-color:var(--bronze)}
.site-footer :is(.footer-label,.footer-address,.footer-status,.footer-bottom,nav a){color:var(--ink)}
.footer-brand .brand-logo{filter:brightness(0)}
.site-footer :is(.footer-bottom,.footer-location){border-color:rgba(0,0,0,.25)}
.site-footer nav a:is(:hover,:focus-visible){color:var(--ink)}
.site-footer :focus-visible{outline-color:var(--ink)}
.site-footer .back-top{color:var(--ink);border-color:rgba(0,0,0,.4)}
.site-footer .back-top:is(:hover,:focus-visible){background:var(--ink);color:var(--sand);border-color:var(--ink)}
@media(max-width:760px){
.brand-logo{width:78px}
.brand-strip{padding-block:16px 22px}.brand-strip__heading .eyebrow{font-size:10px;letter-spacing:.07em}.brand-toggle{font-size:11px;gap:7px}.brand-group{gap:24px}.brand-group li{flex-basis:140px}.brand-mark{max-width:140px}
.simulator-hero__image{object-position:74% center}.simulator-hero__shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.65) 65%,rgba(0,0,0,.38)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 40%)}
.simulator-hero__content{padding-block:145px 115px}.simulator-hero h1{font-size:clamp(32px,8vw,52px)}.simulator-hero__lead{font-size:17px;margin-top:24px}.simulator-hero__actions{align-items:flex-start;flex-direction:column;gap:14px}.simulator-hero__caption{bottom:22px;flex-direction:column;gap:5px;font-size:11px}
.sim-stations,.sim-equipment{padding-block:54px}.sim-stations .station-row{gap:16px;padding-block:25px}.sim-stations .station-row>p{font-size:16px}.sim-stations .station-row>div{gap:12px}.sim-stations .station-row h3{font-size:23px}
.sim-driving{min-height:520px}.sim-driving__image{object-position:58% center}.sim-driving__shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.67) 62%,rgba(0,0,0,.4))}.sim-driving__content{padding-block:65px 85px}.sim-driving h2{font-size:31px}.sim-driving__content>p:not(.eyebrow){font-size:17px}.sim-driving__caption{font-size:11px}
.life-heading{grid-template-columns:1fr;gap:18px}.life-heading .eyebrow{margin-bottom:14px}.life-heading>p{font-size:17px}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.brand-strip.is-ready .brand-group{padding-right:24px}}

/* Real product renders with a vector livery preview. */
.rental-config{background:var(--sand) url('../img/casa-corse/intro-racing-livery.svg') center/cover;color:var(--ink);scroll-margin-top:100px}
.config-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin-bottom:38px}
.config-heading .eyebrow,.config-heading>p{color:var(--ink)}
.config-heading>p{font-size:18px;line-height:1.7;max-width:480px}
.config-heading h2{font-size:clamp(28px,3.4vw,49px)}
.config-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:24px;align-items:start}
.config-preview{position:sticky;top:115px;background:var(--ivory);border:1px solid var(--bronze);border-radius:var(--radius);overflow:hidden;color:var(--ink)}
.config-preview__top,.config-preview__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;font-size:11px;letter-spacing:.03em}
.config-preview__top>span:first-child{font-weight:700}.config-preview__top>span:last-child{white-space:nowrap}
#config-stage{display:block;width:100%;height:auto;min-height:250px;margin-block:30px}
.config-preview__bottom{border-top:1px solid rgba(149,117,77,.4);flex-wrap:wrap;gap:12px}
.config-preview__bottom>div{display:flex;align-items:center;gap:7px}
.config-swatch{display:inline-block;width:14px;height:14px;border:1px solid rgba(0,0,0,.3);border-radius:3px;margin-left:6px}
.config-caption{font-size:12px;line-height:1.6;color:var(--ink);padding:0 24px 22px;max-width:580px}
.config-controls{background:var(--ink);color:var(--ivory);padding:30px;border-radius:var(--radius);min-width:0}
.config-controls fieldset{padding:0;margin:0 0 25px;border:0;min-width:0}
.config-controls legend{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--sand);margin-bottom:14px}
.config-models{display:flex;gap:7px;flex-wrap:wrap}
.config-models label{position:relative;cursor:pointer;flex:1 1 auto}
.config-models input{position:absolute;opacity:0;width:1px;height:1px}
.config-models span{display:flex;min-height:46px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--bronze);border-radius:var(--radius);font-size:13px;font-weight:600;white-space:nowrap}
.config-models input:checked+span{background:var(--sand);color:var(--ink)}
.config-models input:focus-visible+span{outline:2px solid var(--ivory);outline-offset:3px}
.config-colours{display:flex;gap:14px}.config-colours label{flex:1;display:flex!important;align-items:center;justify-content:space-between;gap:10px}
.config-controls label{display:block;font-size:13px}.config-controls input[type=color]{width:46px;height:44px;flex-shrink:0;border:1px solid var(--bronze);padding:4px;background:var(--ink);border-radius:var(--radius);cursor:pointer}
.config-controls input[type=text]{display:block;width:100%;background:var(--ink);color:var(--ivory);border:1px solid var(--bronze);border-radius:var(--radius);padding:12px 14px;min-height:48px;margin-top:8px;font:inherit;font-size:16px}
.config-controls input::placeholder{color:var(--sand)}
.config-upload{margin-top:20px}.config-upload input{display:block;width:100%;margin-top:9px;font-size:12px;line-height:1.5;color:var(--ivory)}
.config-upload input::file-selector-button{background:var(--sand);color:var(--ink);border:0;border-radius:var(--radius);min-height:44px;padding:10px 12px;margin-right:10px;cursor:pointer}
.config-controls .config-hint{font-size:12px;line-height:1.6;color:var(--sand);margin-top:10px}
.config-controls .config-quote{display:flex;width:100%;justify-content:space-between;font-size:14px;gap:16px}
#config-remove-logo{background:transparent;border:0;padding:8px 0;color:var(--ivory);font-size:13px;min-height:44px}
#config-error{font-size:13px;line-height:1.5;color:var(--ivory);margin-top:8px}#config-error:empty{display:none}
.config-summary p{font-size:15px;line-height:1.7;overflow-wrap:anywhere}.config-summary .text-link{font-size:14px;margin-top:12px}
@media(max-width:1020px){.config-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.85fr);gap:18px}.config-controls{padding:22px}.config-preview__top{flex-wrap:wrap;gap:6px}.config-preview__top,.config-preview__bottom{padding:18px}.config-caption{padding:0 18px 18px}.config-colours{flex-direction:column;gap:8px}}
@media(max-width:760px){.config-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.config-heading>p{font-size:17px}.config-layout{grid-template-columns:1fr}.config-preview{position:static}#config-stage{min-height:0;margin-block:12px}.config-colours{flex-direction:row;flex-wrap:wrap}.config-colours label{min-width:130px}.config-controls{padding:24px 20px}.config-preview__top{font-size:10px}.config-preview__bottom{font-size:10px;gap:10px}.config-controls .config-quote{font-size:13px;padding-inline:16px}}

/* Informative: stessa palette, colonna di lettura compatta. */
.legal-page{padding-block:160px 90px;max-width:1000px}
.legal-page h1{font-size:clamp(32px,4.5vw,58px);margin:18px 0 24px}
.legal-page>.lead{font-size:21px;max-width:700px;line-height:1.65}
.legal-page .legal-date{color:var(--sand);font-size:13px;margin-top:18px}
.legal-page section{margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}
.legal-page h2{font-size:clamp(19px,2.2vw,25px);line-height:1.5;margin-bottom:18px}
.legal-page section p{font-size:16px;line-height:1.85;max-width:780px;margin-top:14px;overflow-wrap:anywhere;color:var(--ivory)}
.legal-page a,.form-note a{text-decoration:underline;text-underline-offset:4px;color:var(--sand)}
.legal-draft{background:var(--sand);color:var(--ink);padding:20px;border-radius:var(--radius);margin-bottom:32px;font-size:14px;line-height:1.6}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap}.footer-legal a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.legal-page{padding-block:120px 60px}.legal-page>.lead{font-size:18px}.legal-page section{margin-top:30px;padding-top:24px}}
