@font-face{font-family:Roboto;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/roboto-400.woff2) format("woff2")}
@font-face{font-family:Roboto;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/roboto-500.woff2) format("woff2")}
@font-face{font-family:Roboto;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/roboto-700.woff2) format("woff2")}
:root{--bg:#ecdad9;--ink:#1e1e1e;--text:#7a7a7a;--rule:#8c8c8c;--accent:#778679;--serif:"Times New Roman",Times,"Liberation Serif",serif;--sans:Roboto,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:#000;font:400 16px/1.53 var(--serif)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;padding:8px 12px}
.wrap,.site-header,.site-footer{max-width:1100px;margin:0 auto}
.site-header{border-bottom:1px solid var(--rule);text-align:center;position:relative}
.logo{display:block;width:286px;max-width:70%;margin:0 auto}
.logo img{width:100%;height:auto}
.main-nav{height:80px}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav>ul{display:flex;justify-content:center;gap:44px;height:100%;align-items:center}
.main-nav a{display:block;text-decoration:none;color:var(--ink);font-weight:500;letter-spacing:2px;text-transform:uppercase}
.main-nav a:hover{opacity:.65}
.has-sub{position:relative}
.sub{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:220px;background:var(--bg);border:1px solid var(--rule);padding:10px 0;z-index:20;text-align:left}
.sub a{padding:6px 20px;white-space:nowrap}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.menu-toggle{display:none}
main{padding-top:50px;min-height:50vh}
.wrap{padding:0 10px}
.site-footer{border-top:1px solid var(--rule);margin-top:90px;display:flex;justify-content:space-between;align-items:center;padding:30px 20px 30px;gap:20px}
.site-footer p{margin:0}
.site-footer a{text-decoration:none}
.site-footer p a:hover{text-decoration:underline}
.flickr{color:var(--ink);line-height:0}
.home .site-footer,.home main{}
.center{text-align:center}
/* home */
.slider-link{display:block}
.slider{list-style:none;margin:0;padding:0;position:relative;aspect-ratio:1081/840;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.slide.is-active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.tagline{font:400 25px/1.4 var(--serif);text-align:center;margin:30px auto 0;padding:0 20px;color:#000}
.home .site-footer{margin-top:70px}
/* lista bici */
.bike-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px;padding:0}
.bike-card{border-bottom:1px solid var(--rule);padding-bottom:100px;margin-bottom:68px}
.bike-card h2{font:700 22px/1.3 var(--serif);margin:42px 0 20px;color:#000}
.bike-card h2 a{text-decoration:none}
.parts p{font:400 15.5px/23px var(--sans);color:var(--text);margin:0 0 10px}
.bike-card>a{display:block}
/* scheda bici */
.bike-detail{display:grid;grid-template-columns:minmax(0,671fr) minmax(0,292fr);column-gap:77px;padding:0 40px 0 0;align-items:start}
.shot{margin:0 0 40px}
.bike-text h1{font:700 23px/33px var(--serif);color:var(--ink);margin:20px 0}
.bike-text p{font:400 16px/24.5px var(--sans);color:var(--text);margin:10px 0}
.bike-text strong{font-weight:700}
/* pagine di testo */
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;padding:0}
.blk{padding:0}
.blk h1.h-xl,.blk h2.h-xl{font:500 26px/35px var(--serif);color:var(--ink);margin:20px 0}
.who .blk h2{font:400 23px/33px var(--serif);color:var(--ink);margin:20px 0}
.who .blk h3{font:500 20px/26px var(--serif);color:var(--ink);margin:20px 0}
.who .blk:nth-child(n+3){margin-top:120px}
.who .blk:nth-child(odd) p{max-width:480px}
.blk p,.blk li{font:400 16px/24.5px var(--sans);color:var(--text)}
.blk p{margin:10px 0}
.blk ul{margin:0 0 24px;padding-left:40px}
.blk strong{font-weight:700}
.blk a{color:var(--text)}
.btn{display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:#fff!important;text-decoration:none;font:500 16px/32px var(--serif);letter-spacing:3px;padding:13px 46px;text-transform:uppercase}
.btn-sm{padding:10px 20px;font-size:14px;letter-spacing:2px}
.btn:hover{background:#667568}
.btn-wrap{margin:50px 0 0!important}
.order .blk img,.contact .blk img{width:100%;height:auto;margin-bottom:20px}
.order .two-col,.order{align-items:start}
/* form */
.contact-form p{margin:0 0 9px}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;background:#fff;border:1px solid #e1e1e1;border-radius:0;padding:14px 20px;font:500 16px/28px var(--sans);color:#555}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a8a7a7}
.contact-form textarea{height:310px;resize:vertical}
.contact-form .accept label{font:500 14px/20px var(--sans);color:#000;display:flex;gap:8px;align-items:flex-start}
.contact-form .accept a{color:#000}
.contact-form .send{background:var(--accent);color:#fff;border:0;font:500 16px/32px var(--sans);letter-spacing:3px;padding:10px 20px;cursor:pointer}
.contact-form .send:hover{background:#667568}
.contact-form .send[disabled]{opacity:.6;cursor:wait}
.contact-form .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-status{font:500 15px/22px var(--sans);color:#000;min-height:22px}
.form-status.err{color:#a00}
/* privacy */
.privacy p{margin:10px 0;max-width:1080px}
/* cookie banner */
.consent{position:fixed;left:0;right:0;bottom:0;background:#fff;color:#000;padding:16px 20px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;font:400 14px/1.5 var(--sans);box-shadow:0 -2px 10px rgba(0,0,0,.15);z-index:50}
.consent p{margin:0;flex:1 1 420px}
.consent button{font:500 14px var(--sans);padding:9px 18px;border:1px solid var(--accent);cursor:pointer;background:#fff;color:var(--accent)}
.consent button.yes{background:var(--accent);color:#fff}
/* tablet / mobile */
@media (max-width:1024px){
 .bike-grid{grid-template-columns:repeat(2,1fr)}
 .main-nav>ul{gap:28px}
 .bike-detail{padding-right:10px;column-gap:40px}
}
@media (max-width:767px){
 .menu-toggle{display:block;margin:0 auto 14px;background:none;border:1px solid var(--ink);color:var(--ink);font:500 14px var(--serif);letter-spacing:2px;text-transform:uppercase;padding:8px 18px;cursor:pointer}
 .main-nav{height:auto;display:none;padding-bottom:14px}
 .main-nav.open{display:block}
 .main-nav>ul{flex-direction:column;gap:0;align-items:center}
 .main-nav li{padding:7px 0}
 .sub{display:block;position:static;transform:none;border:0;background:none;padding:4px 0 0;text-align:center;min-width:0}
 .sub a{padding:3px 0;font-size:14px;opacity:.8}
 .bike-grid{grid-template-columns:1fr}
 .bike-card{padding-bottom:40px;margin-bottom:40px}
 .bike-detail{grid-template-columns:1fr;padding:0}
 .bike-text{order:-1}
 .two-col{grid-template-columns:1fr}
 .who .blk:nth-child(n+3){margin-top:0}
 .tagline{font-size:20px}
 .site-footer{flex-direction:column;align-items:flex-start;margin-top:50px}
 .slider{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){.slide{transition:none}}
