/* Local fonts: SIL Open Font License, see /font-licenses.txt. */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/font-892fed0cfb3e65.woff2) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/font-a6ff9214bfa783.woff2) 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/font-460f141ec8f6c9.woff2) 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;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/font-5598861e729ef9.woff2) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/font-aef7edf54f79a5.woff2) 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/font-215a93c696f442.woff2) 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;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/font-6c554f2decc277.woff2) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/font-9d351bd9222bfa.woff2) 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/font-3787a5a4191716.woff2) 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;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/font-87b35049bcb491.woff2) 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: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/font-22539b785b3cbc.woff2) 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/font-2515494e8cc2ca.woff2) 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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-ca157063339ac4.woff2) 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: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-71d5ee93cc1e9f.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-6e9e020a25f9b5.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-1be3448e292fbf.woff2) 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: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-5c66f9e07e90c6.woff2) 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: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-34b9c504cab7a7.woff2) 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/font-3100e775e8616c.woff2) 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;
}
/* Sistema condiviso Moto Ajaccio — caricato dopo i CSS di pagina */
:root{--ma-red:#B80018;--ma-navy:#06243D;--ma-cream:#FAF6EF;--ma-muted:#526477;--ma-edge:#DED6CA;--ma-max:1240px}
html{scroll-padding-top:120px}
body{background:var(--ma-cream);color:var(--ma-navy);font-family:Inter,Arial,sans-serif}
body :where(a,button,input,select,textarea):focus-visible{outline:3px solid #B8001880;outline-offset:3px}
body .site-header{height:108px;min-height:108px;width:100%;padding:12px clamp(20px,4.5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:clamp(15px,2.1vw,29px);background:var(--ma-cream);border-bottom:1px solid var(--ma-edge);position:relative;z-index:50;box-sizing:border-box;flex-wrap:nowrap}
body .site-header .site-logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 188px;width:188px;min-width:188px;padding:0;margin:0;line-height:1}
body .site-header .site-logo img{display:block;width:188px;height:auto;max-height:79px;object-fit:contain}
body .site-header .site-nav{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.35vw,22px);flex:1 1 auto;min-width:0;margin:0;padding:0;background:transparent;box-shadow:none;position:static;flex-direction:row}
body .site-header .site-nav > a,body .site-header .site-nav .site-brands > summary{font-family:Inter,Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.045em;line-height:1.3;white-space:nowrap;color:var(--ma-navy);text-decoration:none;padding:12px 0;display:inline-block;cursor:pointer}
body .site-header .site-nav > a:hover,body .site-header .site-nav > a[aria-current="page"],body .site-header .site-brands > summary:hover{color:var(--ma-red)}
body .site-header .site-brands{position:relative;flex:0 0 auto}
body .site-header .site-brands > summary{list-style:none}
body .site-header .site-brands > summary::-webkit-details-marker{display:none}
body .site-header .site-brands > summary::after{content:"⌄";margin-left:5px;font-size:14px}
body .site-header .site-brands[open] > summary::after{content:"⌃"}
body .site-header .site-brands-menu{position:absolute;z-index:80;top:100%;left:-15px;width:220px;display:grid;gap:0;padding:8px;border-radius:7px;background:var(--ma-cream);border:1px solid var(--ma-edge);box-shadow:0 15px 40px #06243D22}
body .site-header .site-brands-menu a{display:block;padding:11px 12px;font-size:11px;letter-spacing:.03em;font-weight:800;border-radius:4px;color:var(--ma-navy);text-decoration:none}
body .site-header .site-brands-menu a:hover{background:#eee4d7;color:var(--ma-red)}
body .site-header .site-socials{display:flex;align-items:center;gap:7px;flex:0 0 auto;margin:0}
body .site-header .site-socials a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ma-cream);border:1px solid #d8cfc4;border-radius:9px;color:var(--ma-navy);transition:background .2s,transform .2s}
body .site-header .site-socials a:hover{background:#ece5db;transform:translateY(-2px)}
body .site-header .site-socials svg{display:block;width:25px;height:25px}
body .site-header .site-socials .facebook{color:#1877f2}
body .site-header .site-socials .instagram{color:#bd357d}
body .site-header .site-socials .whatsapp{color:#16834c}
body .site-header .site-menu-toggle{display:none;background:transparent;border:0;color:var(--ma-navy);font-size:27px;line-height:1;padding:7px;cursor:pointer;flex:0 0 auto}
body .site-header .site-languages{display:flex;gap:6px;align-items:center;margin-left:0;padding-left:10px;border-left:1px solid var(--ma-edge)}
body .site-header .site-languages a{font-size:11px;font-weight:800;padding:5px;color:var(--ma-muted)}
body .site-header .site-languages a[aria-current="page"]{color:var(--ma-red)}
body .site-footer{background:var(--ma-navy);color:var(--ma-cream);padding:40px clamp(20px,5vw,82px);display:grid;grid-template-columns:1.2fr 1.1fr 1fr;gap:28px;align-items:start;font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.85;letter-spacing:0;text-align:left}
body .site-footer strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:29px;letter-spacing:.01em;color:var(--ma-cream);line-height:1.2}
body .site-footer a{color:var(--ma-cream);text-decoration:underline;text-decoration-color:#b5abb0;text-underline-offset:4px}
body .site-footer a:hover{color:#FFB6BA}
body .site-footer p{color:var(--ma-cream);margin:6px 0;line-height:1.7}
body .site-footer .site-footer-links{display:flex;flex-direction:column;gap:6px}
body .site-footer .site-footer-small{font-size:11px;color:#e6dfd9}
body .site-footer .site-footer-small a{font-size:11px}
body .site-footer a:focus-visible{outline-color:#FFB6BA}
body .site-consistent-hero{background:var(--ma-navy)}
body .site-consistent-hero .eyebrow,body .site-consistent-hero .kicker{color:#FF9DA3}
@media(max-width:1280px){
 body .site-header{height:98px;min-height:98px;gap:13px;padding-inline:3%}
 body .site-header .site-logo{flex-basis:159px;width:159px;min-width:159px}
 body .site-header .site-logo img{width:159px}
 body .site-header .site-nav{gap:10px}
 body .site-header .site-nav > a,body .site-header .site-nav .site-brands > summary{font-size:9.5px;letter-spacing:0}
 body .site-header .site-socials{gap:5px}
 body .site-header .site-socials a{width:36px;height:36px}
}
@media(max-width:1100px){
 body .site-header{height:84px;min-height:84px;padding:8px 4%;gap:12px}
 body .site-header .site-logo{flex-basis:150px;width:150px;min-width:150px}
 body .site-header .site-logo img{width:150px;max-height:68px}
 body .site-header .site-socials{margin-left:auto}
 body .site-header .site-menu-toggle{display:block;order:3}
 body .site-header .site-nav{display:none;position:absolute;z-index:90;top:100%;left:0;right:0;width:100%;padding:12px 5% 24px;margin:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ma-cream);border-bottom:1px solid var(--ma-edge);box-shadow:0 20px 24px #06243D18}
 body .site-header .site-nav.is-open{display:flex}
 body .site-header .site-nav > a,body .site-header .site-nav .site-brands > summary{display:block;width:100%;font-size:13px;padding:14px 7px;letter-spacing:.03em;border-bottom:1px solid #e7ddd1}
 body .site-header .site-brands{width:100%}
 body .site-header .site-brands-menu{position:static;width:100%;box-shadow:none;border:0;background:#F3ECE3;padding:5px 14px 10px}
 body .site-header .site-brands-menu a{font-size:12px;padding:11px}
 body .site-header .site-languages{border-left:0;padding:13px 0 0}
}
@media(max-width:650px){
 body .site-header{height:78px;min-height:78px;gap:7px;padding:7px 4%}
 body .site-header .site-logo{flex-basis:135px;width:135px;min-width:135px}
 body .site-header .site-logo img{width:135px;max-height:64px}
 body .site-header .site-socials{gap:4px}
 body .site-header .site-socials a{width:34px;height:34px;border-radius:8px}
 body .site-header .site-socials svg{width:21px;height:21px}
 body .site-header .site-menu-toggle{font-size:24px;padding:4px}
 body .site-footer{grid-template-columns:1fr;gap:19px;text-align:left;padding:33px 6%}
}
@media(max-width:380px){
 body .site-header{gap:4px;padding-inline:3%}
 body .site-header .site-logo{flex-basis:116px;width:116px;min-width:116px}
 body .site-header .site-logo img{width:116px}
 body .site-header .site-socials a{width:31px;height:31px}
 body .site-header .site-socials svg{width:19px;height:19px}
}

/* Barra storia, sistema verticale e footer coerenti su tutte le pagine */
body .topbar{box-sizing:border-box;min-height:37px;padding:11px 5%;background:var(--ma-navy);color:var(--ma-cream);font-family:Inter,Arial,sans-serif;font-size:10px;line-height:1.5;text-align:center;font-weight:700;letter-spacing:1.25px}
body .site-header + main,body .site-header + section{margin-top:0}
body .site-footer{margin:0}
body :where(.section,.catalog-container,.wrap,.request-section){scroll-margin-top:35px}
body .site-footer .site-footer-links a{display:inline-block;align-self:flex-start}
@media(max-width:650px){body .topbar{font-size:9px;letter-spacing:.65px;padding:10px 4%}}

/* Italian / English switch in the shared navigation */
body .site-header .site-languages{display:flex;align-items:center;justify-content:center;gap:5px;border-left:1px solid #d8ccbe;padding:0 0 0 9px;margin:0;flex:0 0 auto}
body .site-header .site-languages a{display:inline-flex;align-items:center;justify-content:center;font-size:11px;min-width:23px;min-height:34px;font-weight:800;padding:3px 2px;border-radius:3px;color:#526477;text-decoration:none}
body .site-header .site-languages a[aria-current="page"]{color:#B80018;text-decoration:underline;text-underline-offset:5px}
body .site-header .site-languages a:hover{color:#B80018}
body .site-header .site-languages span{color:#84919d;font-size:11px}
@media(max-width:1100px){body .site-header .site-languages{width:100%;border-left:0;border-top:1px solid #ded6ca;padding:12px 0 0;margin-top:8px;justify-content:flex-start;gap:10px}
body .site-header .site-languages a{min-width:43px;min-height:40px;border:1px solid #ded6ca;font-size:13px}
body .site-header .site-languages a[aria-current="page"]{border-color:#B80018;background:#f7e8e7}
}

/* Language switch in the slim midnight-blue bar instead of the main navigation */
body .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:7px clamp(20px,4.5vw,76px);min-height:42px;background:#06243D;color:#FAF6EF}
body .topbar .topbar-message{grid-column:2;min-width:0;text-align:center}
body .topbar .site-languages{grid-column:3;justify-self:end;display:flex;align-items:center;gap:6px;margin:0;padding:0;border:0;white-space:nowrap;letter-spacing:0}
body .topbar .site-languages a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#FAF6EF;text-decoration:none;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:0;border:1px solid transparent;border-radius:5px}
body .topbar .site-languages a[aria-current="page"]{background:#FAF6EF;color:#06243D}
body .topbar .site-languages a:hover:not([aria-current="page"]){border-color:#FAF6EF}
body .topbar .site-languages span{font-size:11px;color:#DACFCC}
@media(max-width:760px){
 body .topbar{grid-template-columns:minmax(0,1fr) auto;padding:7px 4%;gap:9px;min-height:42px}
 body .topbar .topbar-message{grid-column:1;text-align:left;font-size:9px;letter-spacing:.035em;line-height:1.45}
 body .topbar .site-languages{grid-column:2}
 body .topbar .site-languages a{width:30px;height:30px}
}

/* Barra blu standard su TUTTE le pagine: altezza fissa 48px */
html body .topbar{height:48px!important;min-height:48px!important;max-height:48px!important;box-sizing:border-box!important;padding:0 clamp(18px,4.5vw,76px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:12px!important;align-items:center!important;align-content:center!important;overflow:hidden!important;background:#06243D!important;color:#FAF6EF!important}
html body .topbar .topbar-message{grid-column:2;text-align:center;margin:0;line-height:1.3;font-size:10px;font-weight:700;letter-spacing:1.15px}
html body .topbar .site-languages{grid-column:3;justify-self:end;margin:0;padding:0;line-height:1;align-items:center}
html body .topbar .site-languages a{width:28px;height:28px;flex:0 0 28px}
@media(max-width:760px){html body .topbar{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding-inline:4%!important}
html body .topbar .topbar-message{grid-column:1;text-align:left;font-size:9px;letter-spacing:.025em;line-height:1.25}
html body .topbar .site-languages{grid-column:2}
}

/* Hero unificata: stessa altezza per Home, cataloghi, Officina e Partnership.
   Usare un'unica regola condivisa anziché altezze diverse nei CSS di pagina. */
body main > section.hero{
  box-sizing:border-box;
  height:540px;
  min-height:540px;
  max-height:540px;
  padding-block:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body main > section.hero:has(> .hero-image){
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:stretch;
}
body main > section.hero > :is(.hero-inner,.hero-text){
  box-sizing:border-box;
  width:100%;
}
body main > section.hero > .hero-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-block:0;
}
body main > section.hero > .hero-text{
  margin-block:auto;
}
body main > section.hero:has(> .hero-image) > .hero-inner{
  padding-block:0;
}
@media(max-width:1000px){
  body main > section.hero{height:520px;min-height:520px;max-height:520px}
  body main > section.hero:has(> .hero-image){grid-template-columns:1fr}
}
@media(max-width:700px){
  body main > section.hero{
    height:auto;min-height:480px;max-height:none;
    padding-block:54px;justify-content:center
  }
  body main > section.hero > .hero-inner{padding-block:0}
}

/* HERO V3 — stesso layout e gerarchia su tutte le pagine IT/EN */
body main > section.hero:has(> .hero-image){
  isolation:isolate;
  position:relative;
  display:grid;
  grid-template-columns:55% 45%;
  align-items:stretch;
  padding:0;
  height:540px;
  min-height:540px;
  max-height:540px;
  background:#06243D;
  color:#FAF6EF;
  overflow:hidden;
}
body main > section.hero > .hero-inner,
body main > section.hero > .hero-text{
  position:relative;
  z-index:2;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  align-self:stretch;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:35px clamp(26px,4.4vw,78px) 35px clamp(30px,5.2vw,86px);
}
body main > section.hero > :is(.hero-inner,.hero-text) > .eyebrow{
  font-family:Inter,Arial,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.45;
  margin:0 0 26px;
  color:#FF959C;
}
body main > section.hero > :is(.hero-inner,.hero-text) > h1{
  font-family:'Barlow Condensed',Impact,sans-serif;
  font-size:clamp(42px,4.55vw,70px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.012em;
  max-width:100%;
  margin:0;
  text-align:left;
}
body main > section.hero > :is(.hero-inner,.hero-text) > h1 :is(span,em){
  color:#FF8994;
  font-style:normal;
}
body main > section.hero > :is(.hero-inner,.hero-text) > p{
  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.75;
  color:#FAF6EF;
  max-width:570px;
  margin:25px 0 0;
  text-align:left;
}
body main > section.hero > :is(.hero-inner,.hero-text) > :is(.actions,.hero-action,.cta){
  margin-top:28px;
}
body main > section.hero > .hero-image{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  background-color:#0E314D;
}
body main > section.hero > .hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,36,61,.14),rgba(6,36,61,0) 42%);
  pointer-events:none;
}
body main > section.hero.hero--new > .hero-image{
  background-image:url("https://www.tvsmotor-italia.com/o/commerce-media/accounts/54068/images/2617078?download=true");
  background-position:center 48%;
}
body main > section.hero.hero--used > .hero-image{
  background-image:url("https://images.unsplash.com/photo-1558981806-ec527fa84c39?w=1400&q=85");
  background-position:center;
}
body main > section.hero.hero--workshop > .hero-image{
  background-image:url("https://images.pexels.com/photos/3822784/pexels-photo-3822784.jpeg?auto=compress&cs=tinysrgb&w=1400");
  background-position:center;
}
body main > section.hero.hero--partnership > .hero-image{
  background-image:url("https://images.unsplash.com/photo-1521737711867-e3b97375f902?w=1400&q=85");
  background-position:center;
}
body main > section.hero.hero--partnership > .hero-inner > h1{
  font-size:clamp(41px,4.1vw,64px);
}
body main > section.hero.hero--partnership .cta{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%;
  min-height:46px;
  padding:13px 17px!important;
  justify-content:center;
  align-items:center;
  align-self:flex-start;
  border-radius:2px;
  font:800 11px/1.3 Inter,Arial,sans-serif;
  letter-spacing:.025em;
  text-align:center;
  white-space:normal;
  margin-top:26px;
}
body main > section.hero.hero--workshop .hero-action{
  display:inline-flex;
  align-self:flex-start;
  justify-content:center;
  align-items:center;
  min-height:46px;
  padding:13px 17px;
  font-size:11px;
  line-height:1.3;
  margin-top:26px;
}
body main > section.hero.hero--home .hero-image{
  background-position:48% center;
}
@media(max-width:1100px){
 body main > section.hero:has(> .hero-image){height:520px;min-height:520px;max-height:520px;grid-template-columns:57% 43%}
 body main > section.hero > :is(.hero-inner,.hero-text){padding-inline:5vw 3.5vw}
 body main > section.hero > :is(.hero-inner,.hero-text) > h1{font-size:clamp(42px,5.1vw,64px)}
 body main > section.hero.hero--partnership > .hero-inner > h1{font-size:clamp(37px,4.4vw,56px)}
 body main > section.hero > :is(.hero-inner,.hero-text) > p{font-size:14px;line-height:1.65}
}
@media(max-width:760px){
 body main > section.hero:has(> .hero-image){
   display:flex;
   flex-direction:column;
   height:auto;
   min-height:500px;
   max-height:none;
   padding:0;
   justify-content:center;
 }
 body main > section.hero > .hero-image{
   position:absolute;
   inset:0;
   width:100%;
   height:100%;
   opacity:.25;
   background-position:center!important;
 }
 body main > section.hero > .hero-image::after{
   background:linear-gradient(90deg,rgba(6,36,61,.7),rgba(6,36,61,.25));
 }
 body main > section.hero > :is(.hero-inner,.hero-text){
   min-height:500px;
   padding:53px 6%;
 }
 body main > section.hero > :is(.hero-inner,.hero-text) > h1{font-size:clamp(43px,9vw,66px)}
 body main > section.hero.hero--partnership > .hero-inner > h1{font-size:clamp(39px,7.7vw,56px)}
 body main > section.hero > :is(.hero-inner,.hero-text) > p{max-width:560px;font-size:14px}
 body main > section.hero.hero--partnership .cta{width:max-content!important;max-width:100%}
}
@media(max-width:380px){
 body main > section.hero > :is(.hero-inner,.hero-text) > h1{font-size:40px}
 body main > section.hero.hero--partnership > .hero-inner > h1{font-size:36px}
}

/* Officina: foto di manutenzione da Andrea Piacquadio / Pexels 3806255, volto modificato con IA. */
body main > section.hero.hero--workshop{background:#06243D}
body main > section.hero.hero--workshop > .hero-image{
 background-image:url("officina-volto-modificato.webp");
 background-position:50% center;
 background-size:cover;
 background-color:#0F2536;
}
body main > section.hero.hero--workshop > .hero-text{
 background:linear-gradient(90deg,#06243D 0%,#06243D 85%,rgba(6,36,61,.95) 100%);
}
body main > section.hero.hero--workshop .hero-action{
 width:max-content!important;
 max-width:100%;
 background:#B80018;
 color:#FAF6EF;
 padding:15px 21px;
 font-size:12px;
 font-weight:800;
 letter-spacing:.02em;
 border-radius:0;
}
@media(max-width:760px){
 body main > section.hero.hero--workshop > .hero-text{background:transparent}
 body main > section.hero.hero--workshop > .hero-image{background-position:50% center!important}
 body main > section.hero.hero--workshop > .hero-image::after{background:rgba(6,36,61,.62)}
}

/* Moto usate: fotografia di repertorio dello showroom Moto Ajaccio, resa più luminosa */
body main > section.hero.hero--used > .hero-image{
 background-image:url("showroom-usato-moto-ajaccio.avif");
 background-position:55% 46%;
 background-size:cover;
 background-repeat:no-repeat;
 background-color:#06243D;
}
@media(max-width:760px){body main > section.hero.hero--used > .hero-image{background-position:58% center!important}}

/* Home: foto autentica TVS Apache RTX 300 tratta dalla brochure ufficiale fornita dal concessionario. */
body main > section.hero.hero--home > .hero-image{
 background-image:url("tvs-rtx-300-ufficiale-home.webp");
 background-size:cover;
 background-repeat:no-repeat;
 background-position:54% center;
 background-color:#06243D;
}
@media(max-width:760px){
 body main > section.hero.hero--home > .hero-image{
  background-image:url("tvs-rtx-300-ufficiale-home.webp");
  background-position:57% center!important;
 }
}

/* Layout responsive: contenuti liberi di crescere, senza tagli o sovrapposizioni. */
body main > section.hero,
body main > section.hero:has(> .hero-image){
  height:auto;
  max-height:none;
}
body main > section.hero > .hero-image{
  position:relative;
  inset:auto;
  opacity:1;
}
body :where(.site-footer,.intro,.contact-section,.request-section,.form-grid,.fields.two,.facts,.service-grid,.op-grid,.careers-inner,.detail-layout,.filters) > *{
  min-width:0;
}
body :where(h1,h2,h3,.site-footer a,.business-detail,.careers-action,.details-panel){
  overflow-wrap:anywhere;
}
body :where(.field input,.field select,.field textarea){min-width:0;max-width:100%}
body :where(.actions,.hero-action,.cta,.btn,.primary-link){max-width:100%}
body .actions > .btn{white-space:normal;text-align:center}
body .site-footer{grid-template-columns:repeat(3,minmax(0,1fr))}
/* La barra cresce quando il testo va a capo o viene ingrandito. */
html body .topbar{
  height:auto!important;
  max-height:none!important;
  padding-block:8px!important;
  overflow:visible!important;
}
@media (min-width:761px) and (max-width:1100px){
  body .contact-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px}
  body .careers-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px}
}
@media (max-width:900px){
  body .contact-section{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  body main > section.hero > .hero-image{
    position:absolute;
    inset:0;
    opacity:.25;
  }
  body .careers-inner{grid-template-columns:minmax(0,1fr)}
  body .form-grid,body .fields.two{grid-template-columns:minmax(0,1fr);gap:0}
  body .site-footer{grid-template-columns:minmax(0,1fr);gap:22px}
  body main > section.hero > :is(.hero-inner,.hero-text) > h1{
    font-size:clamp(34px,8.5vw,60px);
  }
  body main > section.hero.hero--partnership > .hero-inner > h1{
    font-size:clamp(32px,7.7vw,56px);
  }
}
@media (max-width:480px){
  body .service-grid{grid-template-columns:minmax(0,1fr)}
  body .request-form .calendar-weekdays,body .request-form .calendar-days{gap:3px}
  body .request-form .calendar-day{font-size:12px}
  body :where(.service-copy,.services,.request-info,.contact-section) h2{
    font-size:clamp(32px,10vw,48px);
  }
}

/* Identità condivisa: stessi colori, contrasto e spaziature per ogni hero IT/EN. */
body main > section.hero:has(> .hero-image){
  background:var(--ma-navy);
  color:var(--ma-cream);
  min-height:540px;
}
body main > section.hero > :is(.hero-inner,.hero-text){
  background:transparent;
  padding:48px clamp(26px,4.4vw,78px) 48px clamp(30px,5.2vw,86px);
}
body main > section.hero > :is(.hero-inner,.hero-text) > h1,
body main > section.hero.hero--partnership > .hero-inner > h1{
  font-size:clamp(42px,4.55vw,70px);
  color:var(--ma-cream);
  line-height:1.05;
}
/* Accento chiaro del rosso Ajaccio: seconda riga distinta e leggibile sul blu. */
body main > section.hero > :is(.hero-inner,.hero-text) > h1 :is(span,em){
  color:#FF8994;
}
body main > section.hero > :is(.hero-inner,.hero-text) > .eyebrow{
  color:var(--ma-cream);
  border-left:3px solid var(--ma-red);
  padding-left:12px;
  margin-bottom:26px;
}
body main > section.hero > .hero-image::after{
  background:linear-gradient(90deg,rgba(6,36,61,.22),rgba(6,36,61,0) 60%);
}
body main > section.hero :is(.btn-red,.hero-action,.cta){
  background:var(--ma-red);
  color:var(--ma-cream);
}
body main > section.hero .btn-outline{
  background:transparent;
  color:var(--ma-cream);
  border-color:var(--ma-cream);
}
body main > section.hero .btn{font-size:11px;line-height:1.5;letter-spacing:.04em}
@media(max-width:1100px){
  body main > section.hero:has(> .hero-image){min-height:520px}
}
@media(max-width:760px){
  body main > section.hero:has(> .hero-image){min-height:500px}
  body main > section.hero > :is(.hero-inner,.hero-text){
    min-height:500px;
    padding:52px 6%;
    background:transparent;
  }
  body main > section.hero > :is(.hero-inner,.hero-text) > h1,
  body main > section.hero.hero--partnership > .hero-inner > h1{
    font-size:clamp(34px,8.5vw,60px);
  }
  body main > section.hero > .hero-image{
    opacity:.3;
    background-color:var(--ma-navy);
  }
  body main > section.hero > .hero-image::after,
  body main > section.hero.hero--workshop > .hero-image::after{
    background:rgba(6,36,61,.35);
  }
}

/* Accento condiviso per i titoli sulle fotografie dei marchi. */
body .feature-grid .feature h3{color:var(--ma-cream)}
body .feature-grid .feature h3 .feature-title-accent{color:#FF8994;font-style:normal;font-size:inherit;letter-spacing:inherit}

/* Moto nuove: RR 310: immagine del modello pubblicato da TVS Motor Italia. */
body main > section.hero.hero--new > .hero-image{background-size:cover;background-position:center;background-color:var(--ma-navy)}

/* Keep long brand names within the responsive grid. */
.brand-catalog .brand-tile,.brand-catalog .brand-logo-slot{min-width:0}.brand-catalog .brand-tile strong{overflow-wrap:anywhere}

.offer-photo{cursor:pointer}.offer-title-link{color:inherit;text-decoration:none}.offer-title-link:hover{text-decoration:underline;text-underline-offset:4px}.offer-photo:focus-visible,.offer-title-link:focus-visible{outline:3px solid #B80018;outline-offset:-3px}

/* Clear privacy links and an opt-in map, without changing the form layout. */
.quote-consent a,.consent a,.form-note a,.careers-note a{text-decoration:underline;text-underline-offset:3px}
.contact-map{position:relative}.map-consent{min-height:300px;height:100%;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;background:#eee8de;color:#06243D}.map-consent[hidden]{display:none}.map-consent p{font-size:14px;line-height:1.7;max-width:380px;margin:0}.map-consent a{font-size:13px;text-decoration:underline}.map-consent button,.map-close{min-height:44px;border:0;border-radius:4px;background:#06243D;color:#FAF6EF;padding:12px 18px;font:700 13px Inter,Arial,sans-serif;cursor:pointer}.map-close{position:absolute;right:12px;top:12px;z-index:1;box-shadow:0 1px 5px #0003}.map-consent button:focus-visible,.map-close:focus-visible{outline:3px solid #B80018;outline-offset:3px}
/* Direct contact links must not inherit the generic anchor offset. */
html:has(#contatti:target){scroll-padding-top:0}
#contatti:target{scroll-margin-top:0}

/* Scelta cookie persistente, senza sovrapporsi al pulsante WhatsApp. */
.cookie-banner,.cookie-dialog{box-sizing:border-box;color:#06243D;background:#FAF6EF;border:1px solid #ded6ca;border-radius:10px;font:400 14px/1.65 Inter,Arial,sans-serif}
.cookie-banner{position:fixed;z-index:200;left:20px;bottom:20px;width:min(600px,calc(100% - 40px));padding:24px;box-shadow:0 8px 40px #06243d26;max-height:calc(100dvh - 40px);overflow:auto}
.cookie-banner[hidden]{display:none}
.cookie-banner h2,.cookie-dialog h2{margin:0 0 10px;font:800 28px/1.15 'Barlow Condensed',Impact,sans-serif;color:#06243D}
.cookie-banner p,.cookie-dialog p{margin:0;color:#526477;font-size:14px;line-height:1.65}
.cookie-banner a,.cookie-dialog a{color:#06243D;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.cookie-actions button{flex:1 1 145px;min-height:44px;padding:11px 14px;background:#06243D;border:1px solid #06243D;border-radius:4px;color:#FAF6EF;font:700 12px/1.5 Inter,Arial,sans-serif;cursor:pointer}
.cookie-actions button:hover{background:#123c5b}
.cookie-actions .cookie-customise{background:transparent;color:#06243D}
.cookie-actions .cookie-customise:hover{background:#eee8de}
.cookie-dialog{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:28px;margin:auto;overflow:auto}
.cookie-dialog::backdrop{background:#06243d99}
.cookie-dialog h2{padding-right:28px}
.cookie-dialog-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;background:transparent;color:#06243D;font-size:28px;cursor:pointer}
.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #ded6ca}
.cookie-category h3{margin:0 0 5px;font:700 15px/1.5 Inter,Arial,sans-serif}
.cookie-category>strong{font-size:12px;white-space:nowrap}
.cookie-category label{display:flex;flex-direction:column;gap:6px;cursor:pointer}
.cookie-category label strong{font-size:15px}
.cookie-category label span{color:#526477;font-size:13px;line-height:1.6}
.cookie-category input{width:22px;height:22px;flex:0 0 22px;accent-color:#B80018;cursor:pointer}
.cookie-dialog>.cookie-category+p{margin-top:16px}
.site-footer .cookie-preferences-button{display:block;width:fit-content;padding:0;margin:0;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
@media(max-width:600px){.cookie-banner{left:12px;bottom:12px;width:calc(100% - 24px);padding:20px;max-height:calc(100dvh - 24px)}.cookie-banner .cookie-actions{gap:8px}.cookie-actions button{flex-basis:120px}.cookie-actions .cookie-customise{flex-basis:100%}.cookie-dialog{padding:22px}.cookie-dialog .cookie-actions{flex-direction:column}.cookie-dialog .cookie-actions button{flex:0 0 auto;width:100%}.cookie-category{gap:14px}}

/* Eager, responsive hero images; the existing frame and overlays are preserved. */
body main > section.hero:is(.hero--home,.hero--new,.hero--used,.hero--workshop,.hero--partnership) > .hero-image{background-image:none}
body main > section.hero > .hero-image > picture{display:block;position:absolute;inset:0;width:100%;height:100%}
body main > section.hero > .hero-image > picture > img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--brand-photo-position,center)}
body main > section.hero.hero--home > .hero-image > picture > img{object-position:54% center}
body main > section.hero.hero--used > .hero-image > picture > img{object-position:55% 46%}
@media(max-width:760px){body main > section.hero.hero--home > .hero-image > picture > img{object-position:57% center}body main > section.hero.hero--used > .hero-image > picture > img{object-position:58% center}body main > section.hero.hero--brand > .hero-image > picture > img{object-position:var(--brand-photo-mobile-position,var(--brand-photo-position,center))}}
