/* LAMICO homepage: full-width photography, blue brand accents, natural reading order. */
.home-page { --home-blue:#387fb8; --home-ink:#183d53; }
.home-page .section:not(.configurator-section) { padding:76px 0; }
.home-page .section-title,.home-page h2 { color:var(--home-ink); }
.home-page h2 { font-size:clamp(2rem,3.4vw,3.15rem); line-height:1.12; font-weight:500; letter-spacing:-.02em; }
.home-page .btn:hover,.home-page .btn-cta:hover { transform:none; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:32px; }
.section-heading h2 { margin:8px 0 0; }
.section-heading p { max-width:32ch; color:#526774; margin:0; }
.text-link { display:inline-block; color:#286c9c; font-weight:600; text-decoration:underline; text-underline-offset:5px; padding:8px 0; }
a:focus-visible,summary:focus-visible { outline:2px solid #2876ab; outline-offset:5px; }
.home-page .hero-panorama { display:block; min-height:0; padding-top:76px; background:#fff; color:var(--home-ink); overflow:hidden; }
.hero-intro { padding-top:48px; padding-bottom:24px; display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:70px; position:relative; z-index:1; }
.hero-intro h1 { font-size:clamp(2.5rem,4.4vw,4.5rem); font-weight:500; line-height:1.04; letter-spacing:-.025em; margin:16px 0 0; color:var(--home-ink); }
.hero-intro-side p { max-width:42ch; font-size:1.12rem; line-height:1.6; color:#4f6472; }
.hero-intro .hero-cta { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin-top:24px; }
.hero-contact { color:#286c9c; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.fleet-panorama { position:relative; width:100%; }
.fleet-panorama::before { content:''; position:absolute; inset:0 0 auto; height:16%; background:linear-gradient(#fff,transparent); pointer-events:none; }
.fleet-panorama img { display:block; width:100%; height:auto; }
.fleet-facts { padding:20px 0 24px; border-bottom:1px solid #d8e3e9; }
.home-page .fleet-facts .hero-stats { display:flex; justify-content:center; gap:8%; margin:0; }
.fleet-facts .stat-item { display:flex; gap:12px; align-items:center; }
.home-page .fleet-facts .stat-number { font-family:var(--font-heading); font-size:1.8rem; color:#387fb8; font-weight:500; }
.home-page .fleet-facts .stat-label { color:#526774; font-size:.9rem; }
.home-page .vehicles-section { background:#fff; }
.home-page .vehicles-grid { gap:30px 24px; }
.home-page .vehicle-card,.home-page .vehicle-card:hover { border:0; border-radius:0; box-shadow:none; transform:none; background:none; }
.home-page .vehicle-image { aspect-ratio:2/1; border-radius:5px; background:#edf3f6; }
.home-page .vehicle-image img,.home-page .vehicle-card:hover .vehicle-image img { object-fit:contain; transform:none; transition:none; }
.home-page .vehicle-card h3 { color:#235c82; font-size:1.35rem; font-weight:500; padding:14px 0 0; margin:0; border:0; }
.home-page .vehicle-card:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.latest-offers { background:#edf4f8; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.news-card { min-width:0; }
.news-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#e3ebef; border-radius:5px; margin-bottom:24px; }
.news-card h3 { color:#183d53; font-size:1.65rem; font-weight:500; margin:8px 0 10px; }
.news-card p { color:#526774; font-size:1rem; line-height:1.6; margin:0 0 8px; }
.news-card .section-eyebrow { font-size:.7rem; }
.piaggio-specs summary { color:#286c9c; cursor:pointer; padding:8px 0; font-weight:600; }
.piaggio-specs dl { margin:8px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.piaggio-specs dt { color:#526774; font-size:.8rem; }
.piaggio-specs dd { margin:0; font-weight:600; }
.comfort-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:7%; align-items:center; }
.comfort-layout figure { margin:0; }
.comfort-layout figure img { display:block; width:100%; height:auto; border-radius:5px; }
.comfort-layout figcaption { color:#526774; font-size:.85rem; padding-top:12px; }
.comfort-copy h2 { margin:14px 0 24px; }
.comfort-copy p { color:#526774; line-height:1.7; }
.comfort-features { list-style:none; padding:0; margin:24px 0; }
.comfort-features li { display:grid; grid-template-columns:125px 1fr; gap:18px; padding:14px 0; border-top:1px solid #d8e3e9; }
.comfort-features strong { font-weight:600; color:#235c82; }
.comfort-features span { color:#526774; }
.road-story { background:#edf4f8; padding-top:60px; overflow:hidden; }
.road-heading { display:grid; grid-template-columns:1fr 1fr; gap:12px 10%; padding-bottom:36px; align-items:start; }
.road-heading>.section-eyebrow { grid-column:1/-1; }
.road-heading h2 { margin:0; }
.road-heading p { color:#526774; line-height:1.7; margin:0 0 14px; }
.road-story>img { display:block; width:100%; height:auto; max-height:650px; object-fit:cover; object-position:center 56%; }
.home-page .gallery-section { background:#fff; }
.real-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.real-photo { display:block; min-width:0; color:#235c82; }
.real-photo img { display:block; width:100%; height:360px; object-fit:contain; background:#f2f5f7; border-radius:4px; }
.real-photo span { display:block; font-family:var(--font-heading); font-size:1.3rem; margin-top:14px; }
.real-photo small { display:block; margin-top:5px; color:#526774; text-decoration:underline; text-underline-offset:3px; }
.more-realizations { margin-top:28px; }
.more-realizations>summary { color:#286c9c; font-weight:600; padding:12px 0; cursor:pointer; }
.more-realizations .real-grid { margin-top:22px; }
.home-page .custom-teaser { margin-top:40px; border:0; border-left:3px solid #387fb8; border-radius:0; background:#edf4f8; padding:24px; }
.home-page .custom-teaser h3 { color:#183d53; }
.home-page .custom-teaser .btn-dark { color:#fff; background:#387fb8; }
.order-process { background:#f6f8fa; }
.order-process .section-heading { align-items:start; flex-direction:column; gap:0; }
.order-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; padding:0; margin:0; list-style:none; }
.order-steps li { border-top:1px solid #b9d0df; padding-top:20px; }
.order-steps li>span { font-family:var(--font-heading); font-size:2.6rem; font-weight:400; color:#387fb8; }
.order-steps h3 { font-size:1.35rem; font-weight:500; color:#183d53; margin:12px 0; }
.order-steps p { color:#526774; line-height:1.6; margin:0; }
/* Existing inquiry form deliberately unchanged. */
.home-page .configurator-form { transition:border-color .2s,box-shadow .2s; }
.home-page .configurator-form:focus-within { border-color:#7eb8d5; box-shadow:0 0 0 3px #0a7eb80a; }
.home-page .cabin-selection-summary { padding:.8rem 1rem; background:#eaf4fa; border-left:3px solid #0a7eb8; border-radius:4px; color:#164d69; font-size:.85rem; line-height:1.6; }
.home-page .cabin-selection-summary[hidden] { display:none; }
.home-page .producer-heading { position:static; align-self:start; }
.home-page .faq-item[open] { border-color:#96bed3; background:#f6fafc; }
.home-page .faq-item[open] .faq-answer { animation:none; }
.home-page .closing-panel { background:#eaf3f9; color:#173f58; border:0; }
.home-page .closing-panel::after { background:none; }
.home-page .closing-copy h2 { color:#173f58; }
.home-page .closing-copy p { color:#425f72; }
.home-page .closing-actions .btn-secondary { background:#fff; color:#286c9c; border-color:#93b8cf; }
@media(max-width:1080px) {
 .hero-intro { gap:36px; }
 .comfort-layout { gap:36px; }
 .comfort-features li { grid-template-columns:1fr; gap:4px; }
 .real-photo img { height:300px; }
}
@media(max-width:760px) {
 .home-page .section:not(.configurator-section) { padding:48px 0; }
 .hero-intro { grid-template-columns:1fr; padding-top:32px; gap:20px; }
 .hero-intro h1 { font-size:clamp(2.25rem,6vw,3.4rem); }
 .hero-intro-side p { margin:0; font-size:1rem; }
 .hero-intro .hero-cta { margin-top:18px; gap:16px; }
 .home-page .fleet-facts .hero-stats { justify-content:space-between; gap:12px; }
 .fleet-facts .stat-item { display:block; }
 .home-page .fleet-facts .stat-label { font-size:.78rem; }
 .home-page .fleet-facts .stat-number { font-size:1.5rem; }
 .section-heading { align-items:start; flex-direction:column; gap:16px; }
 .news-grid,.comfort-layout { grid-template-columns:1fr; gap:36px; }
 .news-card img { max-height:380px; }
 .comfort-copy { order:-1; }
 .comfort-copy h2 br { display:none; }
 .road-heading { grid-template-columns:1fr; gap:20px; }
 .road-story { padding-top:48px; }
 .road-story>img { max-height:none; object-fit:contain; }
 .real-grid { gap:16px; }
 .real-photo img { height:240px; }
 .real-photo span { font-size:1.05rem; }
 .order-steps { grid-template-columns:1fr 1fr; gap:28px; }
}
@media(max-width:480px) {
 .hero-intro h1 br { display:none; }
 .hero-intro .hero-cta { align-items:start; flex-direction:column; }
 .hero-intro .hero-cta .btn { width:auto; }
 .home-page .vehicles-grid { grid-template-columns:1fr 1fr; gap:24px 14px; }
 .home-page .vehicle-card h3 { font-size:1.1rem; padding-top:10px; }
 .real-grid { grid-template-columns:1fr; gap:28px; }
 .real-photo img { height:370px; }
 .real-photo span { font-size:1.3rem; }
 .home-page .custom-teaser { padding:18px; }
 .order-steps { grid-template-columns:1fr; gap:24px; }
 .order-steps li { display:grid; grid-template-columns:50px 1fr; gap:6px 16px; }
 .order-steps li>span { grid-row:1/3; font-size:2rem; }
 .order-steps h3 { margin:0; }
 .order-steps p { grid-column:2; }
}
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::before,.home-page *::after { animation:none!important; transition:none!important; } }

/* One-time emphasis follows the four order stages; text is always visible. */
.order-steps li { position:relative; }
.order-steps li::before { content:''; position:absolute; left:0; right:0; top:-1px; height:3px; background:#387fb8; transform:scaleX(0); transform-origin:left; }
.order-steps li.order-step-visible::before { animation:order-line .65s ease-out var(--order-delay,0ms) both; }
.order-steps li.order-step-visible>span { animation:order-number .75s ease-out var(--order-delay,0ms) both; }
@keyframes order-line { to { transform:scaleX(1); } }
@keyframes order-number { 0% { color:#6c8595; } 45% { color:#166298; } 100% { color:#387fb8; } }
.fleet-facts .stat-number { font-variant-numeric:tabular-nums; min-width:3ch; }
.fleet-facts .stat-item:first-child .stat-number { min-width:5ch; }
.quick-contact { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:95; width:310px; max-width:calc(100vw - 40px); color:#183d53; }
.quick-contact [hidden] { display:none!important; }
.quick-contact-panel { background:#fff; padding:20px; border:1px solid #c8dce9; border-top:3px solid #387fb8; border-radius:12px; box-shadow:0 8px 32px #183d5324; }
.quick-contact-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.quick-contact-top>span { font-size:.72rem; color:#526774; font-weight:600; }
.quick-contact-minimize { background:none; border:0; padding:8px; margin:-8px; font:inherit; font-size:.8rem; color:#286c9c; text-decoration:underline; text-underline-offset:3px; cursor:pointer; min-height:44px; }
.home-page .quick-contact h2 { font-size:1.5rem; line-height:1.16; margin:14px 0 8px; font-weight:500; }
.quick-contact p { font-size:.9rem; line-height:1.5; color:#526774; margin:0 0 16px; }
.quick-contact-phone { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-radius:5px; background:#387fb8; color:#fff; }
.quick-contact-phone span { font-size:.85rem; }
.quick-contact-phone strong { font-size:1.2rem; font-family:var(--font-heading); font-weight:500; }
.quick-contact-phone:hover { background:#286c9c; }
.quick-contact-email { display:block; text-align:center; color:#286c9c; font-size:.9rem; text-decoration:underline; text-underline-offset:3px; padding-top:14px; }
.quick-contact-launcher { float:right; background:#387fb8; color:#fff; border:1px solid #387fb8; border-radius:24px; font:inherit; font-weight:600; padding:13px 20px; box-shadow:0 5px 18px #183d5324; cursor:pointer; }
/* Keep consent decisions unobstructed. */
.home-page:has(.cookie-consent.is-visible) .quick-contact { visibility:hidden; }
@media(max-width:560px) {
 .quick-contact { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); width:285px; }
 .quick-contact-panel { padding:16px; }
 .home-page .quick-contact h2 { font-size:1.35rem; }
 .quick-contact p { margin-bottom:12px; }
}
@media(prefers-reduced-motion:reduce) { .order-steps li.order-step-visible::before { transform:scaleX(1); } }

.quick-contact-message { display:block; padding:14px; border-radius:5px; background:#387fb8; color:#fff; text-align:center; font-weight:600; }
.quick-contact-message:hover { background:#286c9c; }
.quick-contact-email { font-size:.8rem; color:#526774; }

/* Compact, aligned mobile hero actions. */
@media(max-width:760px) {
 .home-page .hero-intro .hero-cta { display:flex; flex-direction:column; align-items:stretch; gap:12px; width:100%; }
 .home-page .hero-intro .hero-cta .btn { width:100%; min-height:44px; padding:10px 16px; font-size:.95rem; text-align:center; }
 .home-page .hero-intro .hero-contact { display:block; padding:8px 0; text-align:center; font-size:.9rem; }
}
