/* Generated by tools/build-family-css.py; edit source styles. */

/* Source: assets/css/fonts-latin.css */
/* Generato da tools/subset-latin-fonts.py: le fette latine del percorso
   critico divise in due file con unicode-range disgiunti; la copertura
   totale e' identica alle fette originali di Google, che restano in
   tools/font-originals/latin/ e non sono servite.
   Rigenerare: python3 tools/build-local-fonts.py */

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/latin-ccf0fecc501df6bb.woff2?v=23af3810) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/latin-437e9d07ede177d4.woff2?v=4983926d) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/latin-61ed974bc9632e60.woff2?v=61ed974b) format('woff2');
  unicode-range: U+0020, U+002d-002e, U+0041-0042, U+0044-0045, U+0048-0049, U+004d-0050, U+0052-0055, U+0058, U+0061-0062, U+0064-0065, U+0068-0069, U+006d-0070, U+0072-0075, U+0078, U+00c3-00c4, U+00e3-00e4;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/latin-80f3903ebcfd6537.woff2?v=80f3903e) format('woff2');
  unicode-range: U+0021-002c, U+002f-0040, U+0043, U+0046-0047, U+004a-004c, U+0051, U+0056-0057, U+0059-0060, U+0063, U+0066-0067, U+006a-006c, U+0071, U+0076-0077, U+0079-007e, U+00a0-00c2, U+00c5-00e2, U+00e5-00ff, U+0131, U+0152-0153, U+02bc, U+02c6, U+02da, U+02dc, U+0304, U+0308, U+2013-2014, U+2018-201a, U+201c-201e, U+2022, U+2026, U+2032-2033, U+2039-203a, U+2044, U+20ac, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/latin-a4c5fe4f4f21c29e.woff2?v=f18853f6) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/latin-7cdca5ec1a66e78b.woff2?v=a2930b27) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/latin-2c26fa3c4967ce71.woff2?v=2c26fa3c) format('woff2');
  unicode-range: U+0020, U+0025-003a, U+003f-005a, U+0061-007a, U+00a0, U+00ab, U+00bb, U+00bf-00c4, U+00c7-00ca, U+00cd, U+00d1, U+00d3-00d6, U+00d9-00dc, U+00df-00e4, U+00e6-00ea, U+00ed-00ee, U+00f1-00f6, U+00f9-00fc, U+0153, U+2013-2014, U+2019, U+20ac;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/latin-da5fec5369044909.woff2?v=da5fec53) format('woff2');
  unicode-range: U+0021-0024, U+003b-003e, U+005b-0060, U+007b-007e, U+00a1-00aa, U+00ac-00ba, U+00bc-00be, U+00c5-00c6, U+00cb-00cc, U+00ce-00d0, U+00d2, U+00d7-00d8, U+00dd-00de, U+00e5, U+00eb-00ec, U+00ef-00f0, U+00f7-00f8, U+00fd-00ff, U+0131, U+0152, U+02bc, U+02c6, U+02da, U+02dc, U+0304, U+0308, U+2018, U+201a, U+201c-201e, U+2022, U+2026, U+2032-2033, U+2039-203a, U+2044, U+2122, U+2212, U+2215;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-842459da81f909f2.woff2?v=de37de87) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-9b2d027172a3481c.woff2?v=c268b459) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-ed7393f42d27db3d.woff2?v=2fb2e8cb) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-1f3ea86e40d947e2.woff2?v=6bbb044a) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-ee75508933e6fd45.woff2?v=3911b66d) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/latin-4872f2a6dc9a8250.woff2?v=a30ddcd3) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Source: assets/css/fonts-ar.css */
/* Self-hosted Google Fonts; see assets/fonts/README.md. */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/assets/fonts/ar-6c9f4bab97d6bc5f.woff2?v=748022f5) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/assets/fonts/ar-e8fc56ad5aa556a1.woff2?v=da6ada83) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/assets/fonts/ar-3270f0cb47fdabc3.woff2?v=82c13cbd) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source: assets/css/legal.css */
/* Generato da tools/extract-shared-assets.py - non modificare a mano.
   Ogni regola e' identica, byte per byte, a quella che stava inline
   nelle pagine; le regole che esistevano solo in alcune varianti sono
   racchiuse in una guardia :where(html[data-css-profile=...]) a
   specificita' zero, nella loro posizione originale.
   Profili di questo foglio:
     legal                  14 pagine  lingue: de,en,es,fr,it,pt,ru
     legal-ar                2 pagine  lingue: ar
     legal-zh                2 pagine  lingue: zh
*/
:root:where([data-css-profile="legal-ar"]){
  --midnight:#0B0E14;
  --surface-2:#1A1F2A;
  --line: rgba(212,184,124,0.16);
  --line-strong: rgba(212,184,124,0.32);
  --ivory:#F6F2E8;
  --ivory-dim:#C7C2B6;
  --ivory-faint:#8A8A86;
  --gold:#C6A15B;
  --gold-bright:#E4C888;
  --gold-deep:#8A6C34;
  --font-display:'Cairo', 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-body:'Cairo', 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
:root:where([data-css-profile="legal"]){
  --midnight:#0B0E14;
  --surface-2:#1A1F2A;
  --line: rgba(212,184,124,0.16);
  --line-strong: rgba(212,184,124,0.32);
  --ivory:#F6F2E8;
  --ivory-dim:#C7C2B6;
  --ivory-faint:#8A8A86;
  --gold:#C6A15B;
  --gold-bright:#E4C888;
  --gold-deep:#8A6C34;
  --font-display:'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-body:'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
:root:where([data-css-profile="legal-zh"]){
  --midnight:#0B0E14;
  --surface-2:#1A1F2A;
  --line: rgba(212,184,124,0.16);
  --line-strong: rgba(212,184,124,0.32);
  --ivory:#F6F2E8;
  --ivory-dim:#C7C2B6;
  --ivory-faint:#8A8A86;
  --gold:#C6A15B;
  --gold-bright:#E4C888;
  --gold-deep:#8A6C34;
  --font-display:'Fraunces', 'Noto Serif SC', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --font-body:'Manrope', 'Noto Sans SC', 'Segoe UI', system-ui, -apple-system, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--midnight);color:var(--ivory-dim);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.nav{position:sticky;top:0;z-index:100;background:rgba(11,14,20,0.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.nav__inner{max-width:1240px;margin:0 auto;padding:1.1rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ivory);}
.brand__mark{color:var(--gold);display:inline-flex;}
.brand__word{font-family:var(--font-display);font-weight:500;font-size:1.05rem;letter-spacing:.14em;color:var(--ivory);}
.backlink{color:var(--gold-bright);font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--gold-deep);border-radius:2px;padding:.55rem 1.1rem;white-space:nowrap;}
.backlink:hover{border-color:var(--gold);}
main{max-width:760px;margin:0 auto;padding:4rem 1.75rem 5rem;}
h1{font-family:var(--font-display);color:var(--ivory);font-weight:500;font-size:clamp(1.8rem, 1.3rem + 2vw, 2.6rem);line-height:1.15;margin:0 0 1.6rem;}
h2{font-family:var(--font-display);color:var(--ivory);font-weight:500;font-size:1.45rem;margin:3rem 0 1rem;}
main p{margin:0 0 1rem;font-size:.95rem;}
.footer{border-top:1px solid var(--line);padding:1.6rem 1.75rem;text-align:center;color:var(--ivory-faint);font-size:.8rem;}
/* ---------- Rifiniture estetiche ---------- */
::selection{background:rgba(198,161,91,0.35);color:#F6F2E8;}
html{scrollbar-color:#8A6C34 #0B0E14;}
::-webkit-scrollbar{width:12px;background:#0B0E14;}
::-webkit-scrollbar-thumb{background:#8A6C34;border-radius:6px;border:3px solid #0B0E14;}
::-webkit-scrollbar-thumb:hover{background:#C6A15B;}
.hairline{position:relative;}
.hairline::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg);background:var(--midnight,#0B0E14);border:1px solid var(--gold,#C6A15B);}
.card{transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
.card:hover{transform:translateY(-4px);border-color:var(--gold-deep,#8A6C34);box-shadow:0 18px 50px -20px rgba(0,0,0,0.6);}
.route-card{transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
.route-card:hover{transform:translateY(-4px);border-color:var(--gold-deep,#8A6C34);}
.btn--gold{position:relative;overflow:hidden;}
.btn--gold::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,0.35),transparent);transform:skewX(-20deg);transition:left .55s ease;}
.btn--gold:hover::after{left:125%;}
.guide-illustration{max-width:540px;margin:2.4rem auto 0;color:var(--gold,#C6A15B);opacity:.9;}
.guide-illustration svg{width:100%;height:auto;display:block;}
h1,h2,h3{text-wrap:balance;}
.brand__logo{height:40px;width:auto;display:block;}
.hero__logo{height:132px;width:auto;display:block;margin:0 auto 1.4rem;filter:drop-shadow(0 8px 28px rgba(0,0,0,0.6));}
.footer__logo{width:190px;height:auto;display:block;border-radius:2px;}
/* mobile: bottoni a capo */
@media (max-width:640px){.btn{white-space:normal;max-width:100%;text-align:center;}}
/* mobile: barra rapida */
@media (max-width:900px){.mobile-bar a{flex:1 1 0;min-width:0;text-align:center;letter-spacing:0;padding:0 .15rem;} .mobile-bar a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}}
/* Lotto 33: barra mobile anche sulle pagine legali (stesse regole di site.css) */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:180;
  background:rgba(11,14,20,0.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:.6rem .5rem calc(.6rem + env(safe-area-inset-bottom));
}
@media (max-width:900px){.mobile-bar{display:flex;justify-content:space-around;}}
.mobile-bar a{
  display:flex;flex-direction:column;align-items:center;gap:.25rem;
  color:var(--ivory-dim);font-size:.68rem;letter-spacing:.03em;text-transform:uppercase;
}
.mobile-bar a:first-child{color:var(--gold-bright);}
@media (max-width:900px){.mobile-bar a{flex:1 1 0;min-width:0;text-align:center;letter-spacing:0;padding:0 .15rem;} .mobile-bar a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}}


/* Source: assets/css/area-links.css */
/* Lotto 5: shared contextual links across the existing page families. */
.area-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1.4rem;margin-block:1.5rem;padding-inline:1rem;}
.area-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:#d8ba78;text-decoration:underline;text-underline-offset:.25em;overflow-wrap:anywhere;}
.area-links a:hover{color:#fff;}
.area-links a:focus-visible{outline:2px solid #d8ba78;outline-offset:4px;}
.area-links--footer{max-width:1200px;margin-inline:auto;font-size:.85rem;border-top:1px solid rgba(216,186,120,.2);padding-block:1rem;}
@media(max-width:600px){.area-links{gap:.3rem 1rem;}.area-links--footer{flex-direction:column;align-items:center;text-align:center;}}


/* Source: assets/css/responsive.css */
/* Lotto 6: shared readability and input geometry, loaded after page styles. */
main p:not(.eyebrow):not(.fleet-card__cat):not(.guide-path__label),
main li, main td, main th {font-size:max(1rem, 1em);}
/* Nested lists and step indicators must not shrink their inherited body size. */
main li {font-size:max(1rem, 1em) !important;}
main :is(p,li,h1,h2,h3), .backlink {overflow-wrap:anywhere;}
main :is(.grid,.container,.about-stat), .compare-wrap {min-inline-size:0;}
.btn, #siteNav .mnav__cta, .cookie button, .cookie-modal button,
.mnav__trigger, .langsw__btn {min-height:44px;min-width:44px;}
.cookie .cookie__close, .cookie-modal .cookie__close {width:44px;height:44px;}
.cookie p {padding-inline-end:2.5rem;font-size:1rem;}
.cookie {max-height:calc(100dvh - 7rem);overflow-y:auto;}
/* The privacy prompt takes part in layout, leaving every CTA reachable. */
.cookie:not([hidden]) {position:relative;inset:auto;margin:1rem auto;max-width:560px;width:calc(100% - 2rem);}
/* Lotto 59: nel flusso il banner non deve stare sopra tutto (lo z-index 400 era della
   vecchia scheda fissa): intestazione, barra in basso e menu restano sopra di lui.
   Sui telefoni finisce sopra la barra in basso (64 px + 1rem). */
.cookie:not([hidden]) {z-index:1;}
@media (max-width:900px){.cookie:not([hidden]) {margin-bottom:calc(5rem + env(safe-area-inset-bottom, 0px));}}
/* Lotto 59: WhatsApp si nasconde solo mentre il banner e' sullo schermo (classe da nav.js). */
html.cookie-in-view .wa-float {visibility:hidden;}
input:not([type=checkbox]):not([type=radio]):not([aria-hidden=true]),select,textarea {font-size:16px;min-height:44px;min-width:0;max-width:100%;}
.compare-wrap,.table-wrap,.guide-table {max-width:100%;overflow-x:auto;}
.about-stat {min-width:0;}
.backlink {white-space:normal;}
@media(max-width:600px){
  .about-stats .container {grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
  .about-stat b {font-size:clamp(1.5rem,8vw,2.3rem);}
  .btn {white-space:normal;overflow-wrap:anywhere;}
}
/* Reading and printing do not depend on reveal observers. */
@media print {
  @page {margin:16mm;}
  html,body,main,.section,.section--dark {background:#fff !important;color:#111 !important;}
  #siteNav,.nav,.footer,.mobile-bar,.wa-float,.cookie,.cookie-modal,.guide-cta-inline,.guide-cta-final,.guide-related,.guide-next {display:none !important;}
  * {box-shadow:none !important;text-shadow:none !important;}
  .reveal:where(.js *) {opacity:1 !important;transform:none !important;}
  main p,main li,main td,main th {font-size:11pt !important;color:#111 !important;}
  h1,h2,h3,a,.guide-summary__title {color:#111 !important;}
  h1 {font-size:25pt !important;} h2 {font-size:18pt !important;} h3 {font-size:13pt !important;}
  .section,.guide-hero,.guide-section {padding-block:10pt !important;}
  .container,.guide-reading {max-width:none !important;width:100% !important;padding-inline:0 !important;}
  .guide-summary,.guide-toc,.guide-faq__item {background:transparent !important;border-color:#999 !important;}
  .guide-table,.table-wrap {overflow:visible !important;}
  table {width:100% !important;min-width:0 !important;table-layout:fixed;}
  td,th {overflow-wrap:anywhere;padding:5pt !important;}
  thead {display:table-header-group;} tr,img,.guide-faq__item {break-inside:avoid;}
  h1,h2,h3 {break-after:avoid;} p {orphans:3;widows:3;}
  .guide-illustration {max-width:220px;margin:auto;}
}
.guide-related__card,.guide-path__card {min-width:0;overflow-wrap:anywhere;}
@media(max-width:480px){
  .booking-steps {flex-direction:column;}
  .booking-steps .booking-steps__item {justify-content:flex-start;padding:.6rem 1rem;border-inline:0;border-block-end:1px solid var(--line);}
  .booking-steps .booking-steps__item:last-child {border-block-end:0;}
}
/* Native details keeps every navigation group usable without JavaScript. */
html:not(.js) #siteNav {position:static;}
html:not(.js) #siteNav :is(.mnav,.langsw,.mnav__burger) {display:none;}
.nojs-nav {padding:1rem;max-width:1240px;margin:auto;display:flex;flex-wrap:wrap;gap:.75rem;}
.nojs-nav details {flex:1 1 12rem;min-width:0;border:1px solid var(--line, #555);padding:.5rem;}
.nojs-nav summary,.nojs-nav a {min-height:44px;padding:.6rem;overflow-wrap:anywhere;font-size:16px;}
.nojs-nav a {display:block;}
.nojs-nav ul {list-style:none;margin:0;padding:0;}
.nojs-nav svg {display:none;}
.nojs-nav a span {display:block;font-size:16px;}
@media print {.nojs-nav {display:none;}}
/* The booking API needs JavaScript; keep the existing direct contact route visible. */
html:not(.js) .booking-wizard {display:none;}
html:not(.js) .booking-grid {grid-template-columns:1fr;}
.mobile-bar a,.wa-float,.backlink,.guide-toc a {min-height:44px;min-width:44px;}
.guide-toc a {display:flex;align-items:center;}
.backlink {display:inline-flex;align-items:center;}
/* Above-the-fold copy must be readable at first paint, before scroll observers. */
.hero .reveal:where(.js *) {opacity:1;transform:none;transition:none;}
main td,main th {font-size:max(1rem,1em) !important;}
/* On narrow screens the existing navigation and footer already expose contact links. */
@media(max-width:960px){.wa-float {display:none;}}
@media print {
  main * {color:#111 !important;background:transparent !important;}
  table,caption,th,td {border-color:#999 !important;}
}

/* Lotto 16: booking fine print is readable at the body-text minimum. */
:where(html[data-css-profile^="home"]) #prenota p.fineprint{font-size:16px;}

/* =====================================================================
   Rome Elite Driver — editorial visual system
   Shared by every public page and language through the existing bundles.
   Screen-only so the accessible print stylesheet remains independent.
   Keep font families inherited: Arabic and Chinese use their local faces.
   ===================================================================== */
@media screen {
  :root {
    --midnight:#101513;
    --surface:#18201c;
    --surface-2:#202923;
    --surface-3:#2b352e;
    --ivory:#f6f2e9;
    --ivory-dim:#d0d2c9;
    --ivory-faint:#acb4a9;
    --gold:#c6a570;
    --gold-bright:#e4c793;
    --gold-deep:#927446;
    --line:rgba(212,201,174,.17);
    --line-strong:rgba(212,201,174,.32);
    --radius:4px;
    --paper:#f5f2eb;
    --ink:#202a24;
    --shadow-lg:0 20px 55px -25px #0007;
  }
  body {background:var(--midnight);color:var(--ivory-dim);}
  ::selection {background:#c6a570;color:#101513;}
  :focus-visible {outline:2px solid var(--gold);outline-offset:5px;}
  main [id] {scroll-margin-block-start:100px;}
  h1,h2,h3,.h2 {font-weight:400;}
  .h2 {font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.12;letter-spacing:-.035em;max-width:26ch;}
  .section {padding-block:clamp(4rem,7vw,7rem);}
  .section--dark {background:var(--midnight);}
  .section__head {margin-block-end:2.8rem;}
  .section__note {max-width:60ch;line-height:1.75;}
  .eyebrow {font-size:.7rem;letter-spacing:.19em;font-weight:700;margin-block-end:1.2rem;}
  .eyebrow::before {content:"";display:inline-block;inline-size:2rem;block-size:1px;margin-inline-end:.85rem;background:currentColor;vertical-align:middle;}
  .btn,.btn-gold {min-height:50px;border-radius:3px;font-family:var(--font-body);font-size:.82rem;letter-spacing:.025em;text-transform:none;font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s;}
  .btn--gold,.btn-gold {background:var(--gold-bright);border:1px solid var(--gold-bright);color:#20251e;box-shadow:none;}
  .btn--gold:hover,.btn-gold:hover {background:#eddbb8;border-color:#eddbb8;transform:translateY(-2px);}
  .btn--gold::after {display:none;}
  .btn--ghost,.btn--outline {border-color:var(--line-strong);background:transparent;color:var(--ivory);}
  .btn--ghost:hover,.btn--outline:hover {background:var(--surface-3);border-color:var(--gold);}

  /* Navigation: quiet surfaces, generous targets and clearer menus. */
  #siteNav {background:rgba(16,21,19,.96);border-bottom-color:var(--line);}
  #siteNav.is-scrolled {background:rgba(16,21,19,.98);border-bottom-color:var(--line);box-shadow:0 6px 24px #0002;}
  #siteNav .nav__inner {padding-block:1rem;}
  #siteNav .brand__word {font-size:.94rem;font-weight:500;letter-spacing:.13em;}
  #siteNav .brand__logo {height:38px;}
  #siteNav .mnav__cta {background:var(--gold-bright);border-color:var(--gold-bright);color:#20251e;text-transform:none;letter-spacing:.02em;min-height:44px;border-radius:3px;}
  .mnav__panel,.langsw__menu {background:#1c251f;border-color:var(--line-strong);padding:.7rem;border-radius:5px;box-shadow:0 16px 45px #0005;}
  .mnav__panel a {padding:.7rem .85rem;}
  .mnav__panel a:hover {background:#303b30;}
  .mnav__panel--single a span {color:#b9c0b5;}
  .langsw__btn {border-color:var(--line);border-radius:3px;}
  .mobilenav {background:var(--midnight);}

  /* Ivory sections introduce a reading rhythm within the dark identity. */
  :is(#servizi,#come-funziona,#faq,.hero__route-card) {
    --surface:#eeeae1;
    --surface-2:#fffdf8;
    --surface-3:#eae6dc;
    --ivory:#202a24;
    --ivory-dim:#4c584f;
    --ivory-faint:#5e685f;
    --gold:#806437;
    --gold-bright:#755c31;
    --gold-deep:#806437;
    --line:rgba(49,63,50,.14);
    --line-strong:rgba(49,63,50,.26);
    color:var(--ivory-dim);
    background:var(--paper);
    color-scheme:light;
  }
  #servizi .h2,#come-funziona .h2,#faq .h2 {color:var(--ink);}
  #servizi+.hairline {display:none;}

  /* Hero: brighter photography, an editorial headline, a single logo. */
  .hero,[dir="rtl"] .hero {
    --hero-direction:90deg;
    min-height:720px;
    background-image:linear-gradient(var(--hero-direction),rgba(9,17,12,.84),rgba(9,17,12,.53) 48%,rgba(9,17,12,.13)),linear-gradient(0deg,rgba(9,17,12,.5),transparent 60%),image-set(url("/assets/hero/hero.avif?v=e00305f4") type("image/avif"),url("/assets/hero/hero.webp?v=d9f12c3d") type("image/webp"));
    background-position:center,center,center 48%;
  }
  [dir="rtl"] .hero {--hero-direction:270deg;}
  .hero::before,.hero::after,.hero__glow {display:none;}
  .hero__inner {min-height:720px;padding-block:5.4rem 6rem;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);}
  .hero__logo {display:none;}
  .hero__content {max-width:720px;}
  .hero__brand {font-size:clamp(3.4rem,5.55vw,5.1rem);line-height:1.04;letter-spacing:-.055em;max-width:14ch;margin-block:0 1.7rem;font-weight:400;text-shadow:none;}
  .hero__brand em {color:#e4c793;font-weight:300;}
  .hero__headline {font-family:var(--font-body);font-weight:600;font-size:1.08rem;color:#f6f2e9;margin-block-end:.65rem;text-shadow:none;}
  .hero__sub {max-width:51ch;color:#e1e2d9;line-height:1.8;text-shadow:none;margin-block-end:1.9rem;}
  .hero__ctas {gap:.8rem;}
  .hero__ctas .btn {padding:1rem 1.5rem;}
  .hero__ctas .btn--ghost {border-color:#c9cbbb80;background:#10151330;color:#fffaf0;}
  .hero__ctas .btn--ghost:hover {background:#101513b3;}
  .hero__proof {gap:.55rem 1.1rem;margin-block-start:1.7rem;color:#e1e2d9;}
  .hero__proof li {font-size:1rem !important;line-height:1.6;}
  .hero__proof svg {stroke:#e4c793;}
  .hero__route-card {padding:2rem;max-width:370px;border:1px solid #ffffff60;border-radius:5px;box-shadow:0 25px 65px #0003;backdrop-filter:none;text-align:start;}
  .hero__route-card::before {display:none;}
  .hero__route-card__header {padding-block-end:1.3rem;gap:.6rem;}
  .hero__route-card__header b {font-size:1.75rem;line-height:1.2;}
  .hero__route-card__header span {letter-spacing:.16em;color:#806437;}
  .quick-route {gap:1.4rem;padding-block:1.7rem;}
  .quick-route strong {font-weight:600;}
  .quick-route small {font-size:.62rem;color:#626b5f;}
  .quick-route__dot {border-color:#957642;background:#f5f2eb;}
  .quick-route__dot--end {background:#957642;}
  .quick-route__line {background:#c3b69c;}
  .quick-route__submit {background:#253c2e;color:#fffdf6;border-radius:3px;text-transform:none;font-size:.86rem;letter-spacing:0;min-height:52px;}
  .quick-route__submit:hover {background:#36533f;}
  .hero__route-card>p {font-size:1rem;color:#5e685f;line-height:1.6;margin-block-start:1rem;}
  .hero__scroll {inset-inline-start:max(1.75rem,calc(50% - 592px));bottom:1.35rem;flex-direction:row;gap:1rem;color:#d0d2c9;font-size:.65rem;}
  .hero__scroll-line {width:40px;height:1px;}
  .trust-bar {background:#1a251e;border-block:1px solid var(--line);}
  .trust-bar__grid {padding-block:1.7rem;gap:1.5rem;}
  .trust-item {color:#dadbd2;font-size:.82rem;line-height:1.6;}
  .trust-item svg {color:#d2b47e;}

  /* Services: an open, aligned grid with visible navigation affordances. */
  #servizi .grid--services {gap:0;border-block-start:1px solid var(--line);}
  #servizi .card--service {background:transparent;border:0;border-block-end:1px solid var(--line);border-radius:0;padding:2rem 1.6rem 2rem 0;padding-inline-end:1.6rem;padding-inline-start:0;box-shadow:none;}
  #servizi .card--service:hover {transform:none;background:#e9e5db;box-shadow:none;}
  #servizi .card__icon {width:40px;height:40px;border:0;border-radius:0;justify-content:flex-start;margin-block-end:1.3rem;color:#806437;}
  #servizi .card--service h3 {font-size:1.28rem;font-weight:400;line-height:1.4;min-height:2.8em;margin-block-end:.75rem;}
  #servizi .card--service p {color:#5e685f;line-height:1.75;}
  #servizi .card__from {color:#806437;font-weight:600;letter-spacing:0;text-transform:none;}
  #servizi .card__arrow {opacity:1;transform:none;color:#806437;border:1px solid #bfb7a6;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:.9rem;}
  #servizi .card__link:focus-visible {outline-color:#806437;}
  .card {background:var(--surface);border-radius:4px;box-shadow:none;}
  .card:hover {box-shadow:0 15px 35px #0002;}
  .card :is(h3,h4) {font-weight:400;}

  /* Destinations and fleet: photography and clean, legible captions. */
  .journeys {background:#101513;}
  .journeys::before {display:none;}
  .journeys__head .h2 {max-width:24ch;}
  .journeys__head>p {color:var(--ivory-dim);}
  .journeys__grid {gap:1.2rem;grid-auto-rows:105px;}
  .journey-card {border:0;border-radius:4px;}
  .journey-card__shade {background:linear-gradient(0deg,#08130cdd,rgba(8,19,12,.15) 70%,transparent);}
  .journey-card strong {font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:400;line-height:1.12;}
  .journey-card__content {inset-inline:1.6rem;bottom:1.6rem;gap:.55rem;}
  .journey-card__link {color:#ece9df;}
  .journeys__footer {border-color:var(--line);padding-block-start:1.6rem;}
  .europe {background:#18221c;}
  .europe__card {background:transparent;border-color:var(--line);padding:2rem;}
  .europe__card h3 {font-weight:400;font-size:1.6rem;}
  .europe__places li {border-radius:3px;border-color:var(--line);}
  #perche {background:#202b23;}
  .why__num {font-size:1.5rem;color:#d1b381;}
  .why__item {padding-block-start:1.5rem;}
  .why__item h3 {font-size:1.3rem;font-weight:400;}
  .why__item p {color:#bec7bc;line-height:1.8;}
  #flotta {background:#101513;}
  .fleet-grid {gap:1.4rem;}
  .fleet-card {border-radius:4px;border-color:var(--line);background:#1b241e;}
  .fleet-card__media {background:#202a23;}
  .fleet-card__body {padding:1.5rem;}
  .fleet-card h3 {font-weight:400;}
  .fleet-card__models,.fleet-card__note {color:#c1c8bd;}
  .fleet-card__cat {color:#d2b47e;letter-spacing:.13em;}
  .fleet-card__rate {color:#e4c793;border-block-start:1px solid var(--line);padding-block-start:1rem;}
  .step {border-block-start:1px solid var(--line-strong);padding-block-start:1.8rem;}
  .step__n {font-style:normal;font-size:3rem;font-weight:300;color:#9d8356;}
  .step h3 {font-size:1.3rem;font-weight:400;color:var(--ink);}
  .step p {color:#5e685f;line-height:1.8;}
  #aeroporti {background:#1d2b22;}
  #corporate {background:#17221b;}
  #vip {background:#243529;}
  #vip>.container>.h2 {margin-inline:auto;}
  .feature-list span {color:#c0c8bc;}

  /* FAQ: a readable two-column composition on larger screens. */
  #faq .faq-item {border:0;border-block-end:1px solid var(--line-strong);border-radius:0;background:transparent;margin:0;}
  #faq .faq-item:first-child {border-block-start:1px solid var(--line-strong);}
  #faq .faq-item summary {padding-block:1.4rem;color:var(--ink);font-weight:500;font-size:1rem;line-height:1.6;}
  #faq .faq-item__body {color:#4c584f;line-height:1.8;padding-block-end:1.5rem;}
  #faq .faq-item[open] {background:#ece8df;}

  /* Booking retains its existing geometry, validations and step states. */
  #prenota {background:#18221c;border-top:0;}
  #prenota::before {display:none;}
  #prenota .section__head .eyebrow {padding:0;border:0;border-radius:0;color:#d2b47e;}
  #prenota .booking-wizard {background:#202a23;border-color:#69705a;border-radius:5px;box-shadow:0 20px 50px #0002;}
  #prenota .booking-steps {background:#131e17;border-color:#4a5646;}
  #prenota .booking-steps__item {color:#bfc8b9;}
  #prenota .booking-steps__item.is-active {background:#2c382b;color:#fffaf0;}
  #prenota .booking-steps__item.is-active span {background:#e4c793;color:#202a24;border-color:#e4c793;}
  #prenota .booking-info__card {background:transparent;border:0;border-block-start:1px solid var(--line-strong);border-radius:0;padding:1.4rem 0;box-shadow:none;}
  #prenota .booking-info__card h3 {font-size:1.35rem;font-weight:400;}
  #prenota .booking-info__card p,#prenota .fineprint {color:#c1c9bd;}
  #prenota .booking-info__link b {color:#e4c793;}
  #prenota .field>label {color:#e8e9df;}
  #prenota .field :is(input:not([type=radio]):not([type=checkbox]),select,textarea) {background:#121e16;border-color:#74816d;color:#f6f2e9;border-radius:3px;min-height:52px;}
  #prenota .field :is(input,textarea)::placeholder {color:#b6c0af;}
  #prenota .btn--gold {background:#e4c793;border-color:#e4c793;color:#202a24;box-shadow:none;border-radius:3px;}
  #prenota .btn--gold:hover {background:#eddbb8;}
  #prenota .btn--outline {color:#e4c793;border-color:#a39370;}
  #prenota .vehicle-option label,#prenota .payment-option label {background:#18241c;border-color:#74816d;border-radius:4px;}
  #prenota :is(.vehicle-option,.payment-option) label {text-transform:none;letter-spacing:0;}
  #prenota .payment-option__name {font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.5;}
  #prenota .vehicle-option input:checked+label,#prenota .payment-option input:checked+label {background:#323d2d;border-color:#e4c793;box-shadow:inset 0 0 0 1px #e4c793;}
  #prenota .vehicle-option__model,#prenota .payment-option__desc {color:#c1c9bd;}
  #prenota :is(#stopsContainer,#legsContainer,#fleetBuilder,.leg-card) {background:#17241b;border-color:#64705d;border-radius:4px;}
  #prenota #bookingTotalBox {background:#303b2b;border-color:#ad9869;border-radius:4px;}

  /* About, guides and the destination/rates/legal reading families. */
  .about-hero {background:#17221b;}
  .about-hero .h2 {font-size:clamp(2.3rem,4.5vw,4rem);max-width:20ch;}
  .about-hero__media {border:1px solid var(--line-strong);border-radius:4px;overflow:hidden;}
  .about-hero__media::before {display:none;}
  .about-stats {background:#253529;border-color:var(--line);}
  .about-stat b {font-weight:400;}
  .about-b2b {background:#253529;}
  .guide-hero {background:#1c2a20;padding-block:4.5rem 3.5rem;}
  .guide-hero .h2 {max-width:25ch;margin-inline:auto;font-weight:400;letter-spacing:-.035em;}
  .guide-summary {background:#26372a;border:1px solid #607151;border-inline-start:3px solid #d2b47e;border-radius:4px;padding:1.75rem;}
  .guide-summary__title {color:#e4c793;}
  .guide-summary__list li {color:#e2e6da;}
  .guide-summary__list strong {color:#f9f1dd;}
  .guide-toc {background:#202d23;border:1px solid var(--line);border-radius:4px;}
  .guide-page,.guide-hub {--guide-copy:#d0d8ca;--guide-muted:#b7c3b1;}
  .guide-section {padding-block:3.5rem;}
  .guide-section h2 {font-weight:400;}
  .guide-related__card,.guide-path__card,.guide-path {background:#202d23;border-color:var(--line-strong);border-radius:4px;}
  .guide-related__card:hover {background:#2d3d2d;}
  .guide-related__card h3,.guide-related__card strong {color:#e4c793;font-weight:400;}
  .guide-cta-inline {background:#293a2b;border-color:#d2b47e;border-radius:3px;}
  .guide-cta-final {background:#233526;border-color:var(--line-strong);}
  .guide-table__table caption {background:#293a2b;}
  .guide-table__table thead th {background:#202e24;color:#e4c793;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) body {background:var(--paper);color:#4c584f;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main {
    --surface:#ebe7dd;--surface-2:#fffdf8;--surface-3:#e7e3d7;
    --ivory:#202a24;--ivory-dim:#4c584f;--ivory-faint:#5e685f;
    --gold:#806437;--gold-bright:#755c31;--gold-deep:#937845;
    --line:rgba(49,63,50,.16);--line-strong:rgba(49,63,50,.28);
    color:#4c584f;max-width:940px;padding-block:4.5rem 5.5rem;
  }
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main>h1 {font-size:clamp(2.3rem,4.4vw,3.8rem);font-weight:400;letter-spacing:-.04em;line-height:1.12;max-width:25ch;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main>h2 {font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:400;letter-spacing:-.02em;padding-block-start:.7rem;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main p {line-height:1.85;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main :is(.btn--gold,.btn-gold) {background:#253c2e;border-color:#253c2e;color:#fffdf6;}
  :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main :is(.btn--gold,.btn-gold):hover {background:#36533f;}
  .price-box {background:#e9e5da;border:0;border-inline-start:3px solid #9d8356;padding:1.5rem 1.8rem;border-radius:3px;box-shadow:none;}
  .price-box__amount {font-weight:400;font-size:2.7rem;color:#3d513d;}
  .dest-photo {border:0;border-radius:4px;box-shadow:none;}
  .detail-list {padding:1.5rem 1.8rem;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;}
  .detail-list li {padding-block:.6rem;line-height:1.7;}
  .route-card,.stop-card {background:var(--surface-2);border-color:var(--line);border-radius:4px;box-shadow:none;}
  .route-card:hover {background:var(--surface-2);box-shadow:0 12px 30px #2733230d;}
  .route-card__title,.stop-card h3 {font-weight:400;}
  .route-card__price {color:#755c31;}
  .route-card__link {color:#4d673f;font-weight:600;}
  .area-toc {padding:1.7rem;background:#ebe7dd;border:1px solid var(--line);border-radius:4px;}
  .area-toc h2 {color:#806437;opacity:1;font-family:var(--font-body);}
  .area-toc a {color:#384c38;}
  .table-wrap {border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-2);}
  .comparison-table caption {background:#e7e3d8;color:#202a24;}
  .comparison-table thead th {background:#eae7dc;color:#384c38;}
  .comparison-table :is(th,td) {border-color:var(--line);color:#4c584f;}
  .comparison-table tbody th {color:#202a24;}
  [data-css-profile^="destination"] .faq-item {background:#fffdf8;border-color:#d4d5c7;border-radius:4px;}
  [data-css-profile^="destination"] .faq-item summary {color:#202a24;line-height:1.6;}
  [data-css-profile^="destination"] .faq-item__body {color:#4c584f;}
  [data-css-profile^="legal"] .nav {background:#101513;color:#f6f2e9;border-bottom:1px solid #444d3e;}
  [data-css-profile^="legal"] .nav a {color:#f6f2e9;}

  /* The contact invitation and footer finish the same visual language. */
  .contact-strip {background:#2b3d2d;border-block-start:1px solid var(--line);text-align:center;}
  .contact-strip .h2 {font-size:clamp(2.5rem,5vw,4.5rem);max-width:none;margin-inline:auto;font-weight:400;}
  .contact-strip .btn {min-width:160px;}
  .footer {background:#101513;border-color:var(--line);color:#bfc7b9;padding-block:4rem 1.7rem;}
  .footer__grid {gap:2.5rem;}
  .footer__col .footer__title {color:#d2b47e;font-size:.69rem;letter-spacing:.16em;}
  .footer__col a {color:#c1c9bd;font-size:.86rem;line-height:1.7;}
  .footer__col a:hover {color:#f6f2e9;}
  .footer__brand p,.footer__bottom {color:#acb7a4;}
  .footer__bottom {border-block-start:1px solid var(--line);line-height:1.7;}
  .footer__logo {max-width:175px;}
  .cookie {background:#202d23;border-color:#657055;border-radius:5px;color:#f6f2e9;box-shadow:0 15px 45px #0003;}
  .cookie p {color:#d0d8ca;}
  .wa-float {background:#203a29;border-color:#8c9c7b;box-shadow:0 6px 20px #0002;}

  @media (min-width:1081px) {
    #servizi .card--service:not(:nth-child(4n+1)) {padding-inline-start:1.6rem;border-inline-start:1px solid var(--line);}
    #faq>.container {max-width:var(--maxw);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start;}
    #faq .section__head {position:sticky;top:110px;}
  }
  @media (min-width:641px) {
    [data-css-profile^="destinations-hub"] main>.route-card {display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:1.8rem;padding:1.4rem;margin-block:1.2rem;}
    [data-css-profile^="destinations-hub"] main>.route-card>.route-card__img {grid-row:1 / span 3;width:100%;height:100%;min-height:180px;object-fit:cover;margin:0;border-radius:3px;}
    [data-css-profile^="destinations-hub"] main>.route-card>:not(img) {grid-column:2;}
  }
  @media (min-width:561px) and (max-width:1080px) {
    #servizi .card--service:nth-child(even) {padding-inline-start:1.6rem;border-inline-start:1px solid var(--line);}
  }
  @media (max-width:1080px) {
    .hero__inner {grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:2rem;}
    .hero__brand {font-size:clamp(3.2rem,6.5vw,4.5rem);}
    .hero__route-card {padding:1.5rem;}
    #siteNav .brand__word {font-size:.84rem;}
  }
  @media (max-width:800px) {
    .hero,.hero__inner {min-height:0;}
    .hero__inner {grid-template-columns:1fr;padding-block:4rem 4.5rem;gap:2.5rem;}
    .hero__content {max-width:620px;}
    .hero__brand {max-width:15ch;font-size:clamp(2.9rem,8vw,4.5rem);}
    .hero__route-card {justify-self:start;max-width:100%;width:100%;}
    .hero__route-card__header {gap:.45rem;}
    .hero__route-card__header b {font-size:1.65rem;}
    .quick-route {display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-block:1.4rem;}
    .quick-route__line {display:none;}
    .hero__scroll {bottom:1.2rem;}
    .journeys__head {grid-template-columns:1fr;gap:1rem;}
    .journeys__head>p {max-width:55ch;}
    .about-hero__media {order:0;}
  }
  @media (max-width:640px) {
    .hero,[dir="rtl"] .hero {background-image:linear-gradient(var(--hero-direction),rgba(9,17,12,.83),rgba(9,17,12,.42)),linear-gradient(0deg,#101513 2%,rgba(9,17,12,.2) 75%),image-set(url("/assets/hero/hero-m640-p58.avif?v=c89cfe9d") type("image/avif"),url("/assets/hero/hero-m640-p58.webp?v=e80b6796") type("image/webp"));}
    [dir="rtl"] .hero {background-image:linear-gradient(var(--hero-direction),rgba(9,17,12,.83),rgba(9,17,12,.42)),linear-gradient(0deg,#101513 2%,rgba(9,17,12,.2) 75%),image-set(url("/assets/hero/hero-m640-p50.avif?v=a62ee5e0") type("image/avif"),url("/assets/hero/hero-m640-p50.webp?v=eb063b46") type("image/webp"));}
    .hero__inner {padding:3.3rem 1.25rem 4.5rem;gap:2rem;}
    .hero__brand {font-size:clamp(2.75rem,10vw,3.9rem);letter-spacing:-.05em;margin-block-end:1.4rem;line-height:1.08;}
    .hero__headline {font-size:1rem;}
    .hero__sub {line-height:1.75;}
    .hero__ctas .btn {flex:1 1 100%;width:100%;}
    .hero__ctas .btn--ghost {min-height:48px;}
    .hero__proof {gap:.5rem;margin-block-start:1.3rem;}
    .hero__proof li {font-size:1rem !important;}
    .hero__route-card {padding:1.4rem;}
    .hero__scroll {inset-inline-start:1.25rem;}
    .quick-route__stop {gap:.6rem;align-items:flex-start;}
    .quick-route__dot {margin-block-start:.3rem;}
    .quick-route strong {font-size:.86rem;}
    .quick-route small {font-size:.58rem;}
    .trust-bar__grid {gap:1.2rem;padding-block:1.5rem;}
    .trust-item {align-items:flex-start;font-size:.8rem;}
    .h2 {font-size:2.15rem;max-width:26ch;}
    .section__head {margin-block-end:2rem;}
    .eyebrow {font-size:.65rem;letter-spacing:.15em;}
    .eyebrow::before {inline-size:1.5rem;margin-inline-end:.6rem;}
    #servizi .card--service {padding:1.6rem 0;}
    #servizi .card--service h3 {min-height:0;font-size:1.35rem;}
    #servizi .card__icon {margin-block-end:.6rem;}
    .journeys__grid {gap:1rem;}
    .journey-card {min-height:300px;}
    .journey-card strong {font-size:2rem;}
    .journey-card__content {inset-inline:1.25rem;bottom:1.25rem;}
    .europe__card {padding:1.5rem;}
    .fleet-card__body {padding:1.3rem;}
    #faq .faq-item summary {padding-block:1.2rem;font-size:1rem;}
    #prenota .booking-form {padding:1.2rem;}
    #prenota .booking-steps .booking-steps__item {padding:.9rem .25rem;justify-content:center;border:0;}
    #prenota .booking-steps__item b {font-size:.75rem;}
    #prenota .booking-info {gap:.7rem;}
    .guide-hero {padding-block:3rem;}
    .guide-hero .h2 {font-size:2.25rem;}
    .guide-summary,.guide-toc {padding:1.3rem;}
    :is([data-css-profile^="destination"],[data-css-profile^="legal"]) main {padding:3rem 1.25rem 4rem;}
    .price-box {padding:1.2rem;gap:.8rem;}
    .price-box__amount {font-size:2.4rem;}
    .detail-list {padding:1.2rem;}
    .footer {padding-block:3rem 1.5rem;}
    .footer__grid {gap:2rem;}
    #siteNav .nav__inner {padding-block:.75rem;}
  }
  @media (max-width:430px) {
    .hero,[dir="rtl"] .hero {background-image:linear-gradient(var(--hero-direction),rgba(9,17,12,.83),rgba(9,17,12,.42)),linear-gradient(0deg,#101513 2%,rgba(9,17,12,.2) 75%),image-set(url("/assets/hero/hero-m430-p58.avif?v=9e0cfa54") type("image/avif"),url("/assets/hero/hero-m430-p58.webp?v=205967d1") type("image/webp"));}
    [dir="rtl"] .hero {background-image:linear-gradient(var(--hero-direction),rgba(9,17,12,.83),rgba(9,17,12,.42)),linear-gradient(0deg,#101513 2%,rgba(9,17,12,.2) 75%),image-set(url("/assets/hero/hero-m430-p50.avif?v=d41f4d10") type("image/avif"),url("/assets/hero/hero-m430-p50.webp?v=5dbfffdc") type("image/webp"));}
  }
  /* The transparent company symbol accompanies the existing brand name. */
  .nav .brand__logo,#siteNav .brand__logo,#siteNav.is-scrolled .brand__logo {
    display:block;width:76px;height:66px;object-fit:contain;flex:none;
    padding:0;background:transparent;border-radius:0;transition:none;
  }
  .nav .nav__inner,#siteNav .nav__inner,#siteNav.is-scrolled .nav__inner {padding-block:.375rem;}
  .footer .footer__logo {width:220px;max-width:100%;height:auto;object-fit:contain;padding:0;background:transparent;border-radius:0;}
  @media (max-width:640px) {
    .nav .brand__logo,#siteNav .brand__logo,#siteNav.is-scrolled .brand__logo {width:64px;height:56px;}
    .nav .brand__word,#siteNav .brand__word {font-size:.8rem;letter-spacing:.08em;white-space:normal;line-height:1.3;}
  }
  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after {scroll-behavior:auto !important;animation:none !important;transition:none !important;}
    .reveal:where(.js *) {opacity:1;transform:none;}
    .btn:hover,.btn-gold:hover,.card:hover,.route-card:hover {transform:none;}
  }
}

