/* Editorial typography, Ferrari-red accents, and responsive motion. */
:root{--ferrari:#ff2800;--red:#ef695c;--ink:#f4f1e8;--muted:#a4a69f;--ease:cubic-bezier(.22,1,.36,1)}
body{font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased}button,input{font-family:inherit}
::selection{background:var(--ferrari);color:white}
.editorial{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:-.045em}
header{height:106px}.brandmark{background:var(--ferrari)}header .brand{font-weight:800;font-size:15px;letter-spacing:2px}.brand small{font-weight:500}nav{font-size:12px;gap:30px}nav a{transition:color .2s}nav .nav-cta{border-radius:0;border-color:#ffffff40;padding:14px 19px;position:relative}.nav-cta:after{content:'';position:absolute;bottom:-1px;left:-1px;width:28px;height:2px;background:var(--ferrari);transition:width .3s}.nav-cta:hover:after{width:calc(100% + 2px)}
.hero{padding-top:32px}.hero .eyebrow{font-size:10px;letter-spacing:3px}.eyebrow span{color:var(--red)}.hero h1{font-size:clamp(64px,8.4vw,124px);font-weight:500;letter-spacing:-.065em}.hero h1 .editorial{font-size:1.17em;letter-spacing:-.055em}.hero .subtitle{font-size:16px;margin-top:20px;letter-spacing:.1px}.subtitle strong{border-bottom:1px solid #ff280070;padding-bottom:3px}.hero .details{font-size:10px;letter-spacing:1.6px}.details i{background:var(--ferrari);width:26px}.hero .controls button{min-height:44px}.hero .hint{color:#969b8e;font-size:10px;letter-spacing:.7px}
.button{background:var(--ferrari);border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.25px;min-height:52px;padding:0 25px;transition:background .25s,box-shadow .25s,transform .3s var(--ease)}.button:hover{background:#e42300;box-shadow:0 7px 25px #ff280024;transform:translateY(-2px)}.button span{transition:transform .3s var(--ease)}.button:hover span{transform:translate(3px,-3px)}.button.secondary{background:#ffffff03;border-color:#ffffff35}.button.secondary:hover{background:#ffffff0a;box-shadow:none}
h2{font-size:clamp(36px,4.3vw,61px);font-weight:500;letter-spacing:-.05em;line-height:1.13}h2 .editorial{font-size:1.12em;line-height:1.12}.kicker{font-size:10px;letter-spacing:2.2px;line-height:1.8}.kicker em{color:var(--ferrari);font-weight:700}.section{padding-top:112px;padding-bottom:112px}.occasion-band{background:#10120f}.occasion-heading h2{font-size:14px;letter-spacing:-.2px}.occasion{font-size:15px;background:transparent;padding:16px 25px}.occasion span{color:var(--red)}.icon-button{width:44px;height:44px}.occasion-heading{margin-bottom:18px}.booking-via{font-size:9px}.booking-via strong{font-size:29px}.booking-intro p{font-size:15px;line-height:1.8}.booking .store-links a{border-radius:2px;font-size:11px;min-height:44px;display:inline-flex;align-items:center}.booking-steps{gap:26px}.booking-steps li{position:relative}.booking-steps li:before{content:'';position:absolute;top:-1px;left:0;width:26px;height:2px;background:var(--ferrari);transition:width .6s var(--ease)}.booking-steps li:hover:before{width:100%}.step-number{font-family:'Italiana',Georgia,serif;color:var(--red);font-size:52px;letter-spacing:-3px;margin-bottom:25px}.booking-steps h3{font-size:15px;font-weight:600}.booking-steps p{font-size:13px;line-height:1.8}.booking-bottom{font-size:11px;line-height:1.8}.booking-bottom a span{color:var(--ferrari)}
.pricing-wrap{background:#efeee7}.pricing-heading p{font-size:14px;line-height:1.8}.price-card{border-radius:2px;padding:32px 24px;border-color:#c7c9be;position:relative}.price-card.featured{background:#1a211b;border-color:#1a211b}.price-card.featured:before{content:'';position:absolute;top:-1px;left:24px;right:24px;height:3px;background:var(--ferrari)}.price-card h3{font-size:12px;letter-spacing:1px;text-transform:uppercase}.price{font-family:'Italiana',Georgia,serif;font-size:66px;letter-spacing:-3px}.per-day{font-family:'Manrope',sans-serif;font-size:12px}.price-card p{font-size:11px}.included h3{font-size:19px}.included li{font-size:14px;padding:13px 0}.included li:before{color:#bf2409}.included small{font-size:12px}.pickup{border-radius:2px;border-left:2px solid var(--ferrari);background:#e0e2d8}.pickup h3{font-size:18px}.pickup p{font-size:13px;line-height:1.8}.pickup .pickup-icon{color:#bd2c16}.faq-section .muted{font-size:14px;line-height:1.8}.faqs summary{font-size:15px;padding-top:27px;padding-bottom:27px;transition:color .2s}.faqs summary:hover,.faqs details[open] summary{color:var(--red)}.faqs summary:after{color:var(--ferrari)}.faqs details p{font-size:14px;line-height:1.85}.closing{padding:88px 25px 96px;position:relative}.closing:before{content:'';position:absolute;top:-1px;left:calc(50% - 24px);width:48px;height:2px;background:var(--ferrari)}.closing .kicker{font-size:10px;color:var(--red)}.closing h2{font-size:clamp(40px,5vw,72px)}.closing p{font-size:14px;margin:24px 0 30px}.bottom{font-size:10px;line-height:1.8;padding-top:35px;padding-bottom:35px}.model-credit{font-size:10px}.footer-links>a{min-height:32px}
/* A visible default keeps the complete page readable without JavaScript. */
.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal.pending{opacity:0;transform:translateY(24px)}.hero-enter{animation:hero-enter 1s var(--ease) both;animation-delay:var(--enter-delay,0ms)}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.booking-header{gap:35px}.section{padding-top:80px;padding-bottom:80px}.booking-steps{gap:24px}.booking-steps h3{font-size:16px}.booking-steps p{font-size:14px}.hero h1{font-size:clamp(60px,9vw,85px)}}
@media(max-width:600px){header{height:83px;padding:0 20px}header .brand{font-size:11px;letter-spacing:1.5px;gap:9px}header .brand small{font-size:7px;letter-spacing:1.35px}.brandmark{width:20px;height:23px}nav .nav-cta{font-size:10px;padding:13px 11px;min-height:44px}.hero{padding:30px 0 29px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:20px}.hero h1{font-size:clamp(43px,10.7vw,64px);line-height:1.1;padding:0 12px;white-space:nowrap}.hero h1 .editorial{font-size:1.16em}.hero .subtitle{font-size:14px;max-width:none;margin:16px 15px 0}.hero .stage{height:280px;margin-top:0}.hero .details{font-size:8px;letter-spacing:.8px;gap:9px;margin-bottom:20px}.details i{width:16px}.hero-actions{padding:0 20px;gap:8px}.hero-actions .button{padding:0 17px;font-size:11px;gap:10px;min-height:49px}.hero .controls{margin-top:13px;gap:15px}.hero .controls button{font-size:11px;padding:0 8px}.hero .hint{margin-top:0}.section{padding:65px 22px}h2{font-size:clamp(33px,8.7vw,48px)}.kicker,.section .kicker{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}.occasion-band{padding:22px 0 28px}.occasion-heading{padding:0 22px;gap:20px;align-items:center}.occasion-heading h2{font-size:12px;line-height:1.6;max-width:155px}.carousel-controls{gap:4px;flex-shrink:0}.icon-button{width:38px;height:44px;border-radius:4px}.occasions{padding-left:22px;padding-right:22px}.occasion{font-size:13px;padding:14px 19px}.booking-header{gap:28px}.booking-intro p{font-size:14px}.booking .store-links a{font-size:11px;padding:12px}.booking-steps{margin-top:35px;gap:0}.booking-steps li{padding:25px 0 25px 56px}.step-number{font-size:34px;top:27px;letter-spacing:-2px}.booking-steps h3{font-size:16px}.booking-steps p{font-size:14px;line-height:1.7}.booking-bottom{font-size:11px;gap:12px}.pricing-heading{gap:23px;margin-bottom:30px}.pricing-heading p{font-size:14px}.price-cards{gap:11px}.price-card{padding:26px 16px}.price-card h3{font-size:10px;letter-spacing:.8px;margin-bottom:27px}.price{font-size:58px}.price-card p{font-size:10px;line-height:1.6;margin-top:25px}.price-card.featured:before{left:16px;right:16px}.price-note{font-size:10px;line-height:1.8}.included h3{font-size:20px}.included li{font-size:14px}.pickup{padding:24px 21px;margin-top:30px}.pickup h3{font-size:17px;line-height:1.5}.pickup p{font-size:13px}.faqs summary{font-size:14px;line-height:1.6;padding:23px 35px 23px 0}.faqs summary:after{top:18px}.faqs details p{font-size:14px;margin-right:10px}.faq-section{gap:25px}.faq-section .muted{margin-top:20px}.closing{padding:65px 22px}.closing h2{font-size:41px;max-width:340px;margin:auto}.closing p{font-size:13px;max-width:270px;margin:20px auto 27px}.bottom{padding:28px 22px;gap:18px}.footer-links{gap:10px 25px}.model-credit{flex-basis:100%;max-width:360px;font-size:10px}.reveal.pending{transform:translateY(16px)}}
@media(max-width:360px){header{padding:0 15px}header .brand{font-size:10px;letter-spacing:1px}.brandmark{width:17px}.hero-actions{padding:0 15px}.hero-actions .button{padding:0 13px;font-size:10px}.hero .stage{height:250px}.price{font-size:50px}.price-card{padding-left:13px;padding-right:13px}.occasion-heading{gap:10px}.occasion-heading h2{font-size:11px}.carousel-controls{gap:3px}.icon-button{width:34px}.hero .details{font-size:7px}}
@media(hover:none){.button:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-enter{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.button,.button span,.nav-cta:after,.booking-steps li:before{transition:none}.button:hover{transform:none}}
