:root{--ink:#09202d;--paper:#f4fbfd;--gold:#ff9f1c;--gold2:#ffb52e;--ocean:#067ea8;--turquoise:#11b9b0;--coral:#ff6b4a;--muted:#526873;--line:#d6e5ea;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{display:block;width:100%}
.topbar{height:84px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;gap:38px;background:rgba(16,16,15,.96);color:#fff;position:relative;z-index:10}.brand{display:flex;flex-direction:column;line-height:1;min-width:155px}.brand-script{font-family:"Playfair Display",serif;font-size:26px;font-style:italic;color:var(--gold)}.brand-small{font-size:9px;letter-spacing:.28em;margin-top:5px}.nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav a{font-size:14px;color:#ddd;transition:.2s}.nav a:hover{color:var(--gold2)}.header-actions{display:flex;align-items:center;gap:16px}.header-actions select{background:transparent;color:#fff;border:1px solid #555;border-radius:20px;padding:7px 10px}.header-actions select option{color:#111}.phone{font-size:14px;color:var(--gold2)}.menu-button{display:none;background:none;border:0;color:#fff;font-size:24px}
.hero{min-height:680px;background:url("assets/agadir-moto-hero-bright.webp") center/cover;position:relative;padding:88px clamp(22px,8vw,118px);display:grid;grid-template-columns:1fr minmax(390px,520px);align-items:center;gap:70px;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,10,.88) 0%,rgba(8,10,10,.57) 48%,rgba(8,10,10,.27) 100%)}.hero>*:not(.hero-shade){position:relative}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.28em;color:var(--gold2);margin:0 0 16px}.eyebrow.dark{color:#9e7424}.hero h1{font-size:clamp(46px,5.5vw,80px);line-height:1.03;letter-spacing:-.055em;max-width:710px;margin:0}.hero-text{font-size:18px;max-width:630px;color:#e4e4e2;margin:24px 0}.hero-badges{display:flex;flex-wrap:wrap;gap:10px}.hero-badges span{font-size:13px;border:1px solid rgba(255,255,255,.35);border-radius:30px;padding:8px 13px;background:rgba(10,10,10,.32)}
.booking-card{background:rgba(255,255,255,.97);color:var(--ink);padding:34px;border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.27)}.form-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.form-heading span{font-size:21px;font-weight:800}.form-heading small{color:var(--muted);font-size:12px}.booking-card label{display:block;font-size:12px;font-weight:700;margin-top:14px}.booking-card label>span{display:block;margin:0 0 6px}.booking-card input,.booking-card select{width:100%;height:50px;border:1px solid var(--line);border-radius:11px;padding:0 14px;background:#fff;color:#222}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{width:100%;border:0;border-radius:11px;background:var(--gold2);color:#111;font-weight:800;padding:15px 20px;margin-top:22px;cursor:pointer;transition:.2s}.primary:hover{background:#ffd071;transform:translateY(-1px)}
.section{padding:100px clamp(22px,8vw,118px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}h2{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-.045em;margin:0}.text-link{font-weight:700;color:#8f681e;border-bottom:1px solid #b9944b}.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.car-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(24,21,13,.06);transition:.25s}.car-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(24,21,13,.12)}.car-card.featured{border:1px solid #d3ac5e}.car-image{aspect-ratio:4/3;position:relative;background:#eee}.car-image img{height:100%;object-fit:cover}.price{position:absolute;left:16px;bottom:16px;background:#111;color:#fff;border-radius:9px;padding:9px 13px;font-weight:800}.price small{font-weight:500;color:#ccc}.car-content{padding:22px}.car-content .type{font-size:11px;letter-spacing:.18em;color:#a3792c;font-weight:800;margin:0}.car-content h3{font-size:23px;margin:3px 0 12px}.specs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.specs span{font-size:12px;color:#5d5c56;background:#f3f1ec;border-radius:20px;padding:6px 9px}.car-content a{font-size:14px;font-weight:800}.price-strip{margin-top:24px;background:#161614;color:#fff;border-radius:16px;padding:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.price-strip span{padding:5px 14px;border-right:1px solid #393834;font-size:13px}.price-strip span:last-child{border:0}.price-strip b{display:block;color:var(--gold2);font-size:14px}
.service-section{background:#151514;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}.seo-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;background:#ece8df}.seo-copy{font-size:17px;color:#535149}.seo-copy p:first-child{margin-top:0}.moto-crop img{transform:scale(1.16)}.moto-bmw img{object-position:78% 58%}.moto-gs img{object-position:96% 58%}.moto-scooter img{object-position:58% 58%}.service-copy p:not(.eyebrow){color:#b9b9b4;max-width:560px;font-size:17px}.outline-button{display:inline-block;border:1px solid var(--gold);color:var(--gold2);padding:13px 20px;border-radius:10px;margin-top:20px;font-weight:700}.benefits article{display:grid;grid-template-columns:60px 1fr;gap:18px;border-top:1px solid #363632;padding:25px 0}.benefits article>b{color:var(--gold2);font-size:13px}.benefits h3{font-size:20px;margin:0 0 6px}.benefits p{color:#aaa;margin:0}
.contact{text-align:center;background:#fff}.contact>p:not(.eyebrow){color:var(--muted);font-size:18px}.contact-actions{display:flex;justify-content:center;gap:12px;margin:25px 0}.link-button{width:auto;display:inline-block;margin:0}.secondary-button{border:1px solid var(--line);padding:14px 20px;border-radius:11px;font-weight:700}.contact address{font-style:normal;color:#777;margin-top:30px}
footer{background:#0b0b0a;color:#aaa;padding:32px clamp(22px,8vw,118px);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.brand.light{color:#fff}footer div:last-child{display:flex;gap:18px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:20;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#073d19;font-size:13px;font-weight:900;box-shadow:0 8px 30px rgba(0,0,0,.22)}
[dir=rtl] .hero,[dir=rtl] .service-section{text-align:right}
@media(max-width:980px){.nav,.phone{display:none}.menu-button{display:block;margin-left:auto}.header-actions{gap:8px}.hero{grid-template-columns:1fr;padding-top:65px}.hero-copy{max-width:700px}.car-grid{grid-template-columns:1fr 1fr}.car-card:last-child{grid-column:1/-1}.price-strip{grid-template-columns:1fr 1fr}.price-strip span:nth-child(2){border:0}.service-section{grid-template-columns:1fr}.topbar.menu-open{height:auto;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.topbar.menu-open .nav{display:flex;order:4;width:100%;flex-direction:column;align-items:flex-start;gap:12px}}
@media(max-width:650px){.topbar{height:70px;padding:0 18px}.brand{min-width:125px}.brand-script{font-size:22px}.hero{min-height:auto;padding:58px 18px 38px;gap:38px}.hero h1{font-size:46px}.hero-text{font-size:16px}.booking-card{padding:23px 18px;border-radius:16px}.form-heading{display:block}.form-heading small{display:block;margin-top:4px}.form-grid,.car-grid,.price-strip{grid-template-columns:1fr}.section{padding:70px 18px}.section-head{display:block}.text-link{display:inline-block;margin-top:12px}.car-card:last-child{grid-column:auto}.price-strip span,.price-strip span:nth-child(2){border-right:0;border-bottom:1px solid #393834}.price-strip span:last-child{border:0}.contact-actions{flex-direction:column;align-items:stretch}.link-button{display:block}.secondary-button{overflow-wrap:anywhere}footer{flex-direction:column;text-align:center}.service-section{gap:45px}}

/* Parcours de sélection et palette Agadir */
.topbar{background:linear-gradient(90deg,#071f2c 0%,#064c68 100%)}
.brand-script{color:#ffd166}
.hero-shade{background:linear-gradient(90deg,rgba(3,28,41,.93) 0%,rgba(3,42,57,.64) 50%,rgba(6,126,168,.18) 100%)}
.choice-intro{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(230,251,252,.96));color:var(--ink);padding:38px;border-radius:24px;box-shadow:0 28px 70px rgba(0,33,48,.3);border:1px solid rgba(255,255,255,.8)}
.choice-intro h2{font-size:clamp(30px,3vw,43px)}
.choice-intro>p:not(.step-number){color:var(--muted)}
.step-number,.step-label{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--ocean)}
.primary{background:linear-gradient(90deg,var(--gold),var(--coral));color:#fff;box-shadow:0 8px 22px rgba(255,107,74,.22)}
.primary:hover{background:linear-gradient(90deg,#ffb32d,#ff7658)}
.fleet{background:linear-gradient(180deg,#f7fdff 0%,#eaf8fb 100%)}
.moto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.car-card{border:1px solid #dbeaf0}.car-card:nth-child(3n+2){border-top:4px solid var(--turquoise)}.car-card:nth-child(3n+3){border-top:4px solid var(--coral)}
.car-image img{filter:saturate(1.08) contrast(1.03)}
.featured-water{border-top:4px solid #0da8df!important}
.choose-button{width:100%;border:0;border-radius:10px;background:#073f55;color:#fff;padding:12px 16px;font-weight:800;cursor:pointer;transition:.2s}
.choose-button:hover,.choose-button:focus-visible{background:var(--ocean);transform:translateY(-1px)}
.card-link{display:block;text-align:center}
.brands{margin-top:34px;padding:28px;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(4,70,91,.08)}
.brand-buttons{display:flex;flex-wrap:wrap;gap:10px}
.brand-buttons button,.brand-buttons a{border:1px solid #bad7df;background:#f7fcfd;color:#154557;border-radius:999px;padding:10px 17px;font-weight:800;cursor:pointer}
.brand-buttons button:hover,.brand-buttons button.active,.brand-buttons a:hover,.brand-buttons a:focus-visible{background:var(--turquoise);border-color:var(--turquoise);color:#fff}
.quote-section{display:none;padding:80px clamp(22px,8vw,118px);background:linear-gradient(130deg,#047da5,#10b8ae)}
.quote-section.ready{display:block;animation:quoteIn .45s ease both}
.quote-card{max-width:920px;margin:auto}
.selected-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#e9fafd;border-left:5px solid var(--turquoise);padding:14px 16px;border-radius:10px;margin-bottom:18px}
.selected-summary span{color:var(--muted);font-size:13px}.selected-summary strong{color:var(--ocean);text-align:right}
.price{background:linear-gradient(90deg,#063f56,#087ea8)}
.service-section{background:linear-gradient(135deg,#082b3a,#075a70)}
.seo-section{background:linear-gradient(135deg,#fff3dc,#eafafa)}
@keyframes quoteIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:980px){.moto-grid{grid-template-columns:1fr 1fr}.choice-intro{max-width:680px}}
@media(max-width:650px){.moto-grid{grid-template-columns:1fr}.choice-intro{padding:25px 20px}.quote-section{padding:55px 18px}.selected-summary{align-items:flex-start;flex-direction:column}.selected-summary strong{text-align:left}}

/* Page excursions */
.active-nav{color:var(--gold2)!important}.excursion-hero{min-height:560px;display:flex;align-items:center;padding:90px clamp(22px,8vw,118px);color:#fff;background:linear-gradient(90deg,rgba(3,28,41,.94),rgba(3,42,57,.44)),url("assets/buggy-chegaga.webp") center/cover}.excursion-hero>div{max-width:760px}.excursion-hero h1{font-size:clamp(46px,6vw,82px);line-height:1.02;letter-spacing:-.055em;margin:0}.excursion-hero p:not(.eyebrow){max-width:680px;font-size:19px;color:#e7f0f2}.intro-note{max-width:470px;color:var(--muted)}.excursion-list{background:linear-gradient(180deg,#f7fdff,#eaf8fb)}.excursion-row{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#fff;border-radius:24px;overflow:hidden;margin:30px 0;box-shadow:0 16px 44px rgba(4,70,91,.1)}.excursion-row.reverse{grid-template-columns:.95fr 1.05fr}.excursion-row.reverse img{order:2}.excursion-row img{height:100%;min-height:430px;object-fit:cover}.excursion-row>div{padding:clamp(28px,5vw,64px);align-self:center}.excursion-row h2{font-size:clamp(32px,4vw,48px)}.excursion-row .type{font-size:12px;font-weight:800;letter-spacing:.2em;color:var(--ocean)}.excursion-row ul{padding-left:20px;color:var(--muted)}.excursion-quote{border:0;border-radius:11px;background:linear-gradient(90deg,var(--gold),var(--coral));color:#fff;padding:14px 20px;font-weight:800;cursor:pointer}.excursion-process{background:linear-gradient(135deg,#082b3a,#075a70);color:#fff}.excursion-process>h2{max-width:720px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.process-grid article{padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06)}.process-grid b{color:var(--gold2)}.process-grid h3{font-size:22px;margin:12px 0 5px}.process-grid p{color:#c3d7dc;margin:0}
@media(max-width:850px){.excursion-row,.excursion-row.reverse{grid-template-columns:1fr}.excursion-row.reverse img{order:0}.excursion-row img{min-height:300px;max-height:420px}.process-grid{grid-template-columns:1fr}}
.page-hero{min-height:470px;display:flex;align-items:end;padding:90px clamp(22px,8vw,118px);color:#fff}.page-hero>div{max-width:760px}.page-hero h1{font-size:clamp(46px,6vw,78px);line-height:1.02;letter-spacing:-.055em;margin:0}.page-hero p:not(.eyebrow){font-size:19px;color:#dcebef}.catalogue-hero{background:linear-gradient(90deg,rgba(3,28,41,.94),rgba(3,42,57,.35)),url("assets/moto-routiere.webp") center 60%/cover}.services-hero{background:linear-gradient(90deg,rgba(3,28,41,.94),rgba(3,42,57,.38)),url("assets/scooters.webp") center 55%/cover}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-cards article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 10px 28px rgba(4,70,91,.07)}.service-cards b{color:var(--ocean)}.service-cards h3{font-size:21px;margin:13px 0 7px}.service-cards p{color:var(--muted);margin:0}.services-page{background:linear-gradient(180deg,#f7fdff,#eaf8fb)}
.portrait-bike img{object-position:center 48%}.photo-credits{margin-top:28px;color:var(--muted);font-size:13px}.photo-credits summary{cursor:pointer;font-weight:700;color:var(--ocean)}.photo-credits a{text-decoration:underline}
.brand-target{scroll-margin-top:110px}.model-note{min-height:52px;color:var(--muted);font-size:14px}.brand-navigation{position:sticky;bottom:14px;z-index:5;border:1px solid #cde3e8}
@media(max-width:900px){.service-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.page-hero{min-height:390px;padding:60px 18px}.service-cards{grid-template-columns:1fr}}

/* Page contact */
.contact-page{min-height:calc(100vh - 84px);padding:80px clamp(22px,8vw,118px);background:linear-gradient(135deg,#eafafd 0%,#fff4df 100%)}
.contact-layout{max-width:1120px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.contact-intro h1{font-size:clamp(43px,5vw,68px);line-height:1.04;letter-spacing:-.055em;margin:0 0 22px}.contact-intro>p:not(.eyebrow){font-size:18px;color:var(--muted)}
.contact-direct{display:grid;gap:12px;margin-top:32px}.contact-direct a{display:block;width:max-content;font-weight:800;color:var(--ocean)}
.contact-form{background:#fff;padding:36px;border-radius:24px;box-shadow:0 22px 60px rgba(4,70,91,.13);border:1px solid #dcecf0}
.contact-form label{display:block;font-size:14px;font-weight:800;margin-bottom:16px}.contact-form label span{display:block;margin-bottom:7px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit}
.contact-form input,.contact-form select{height:52px}.contact-form textarea{min-height:150px;resize:vertical}
.contact-submit-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.contact-form .primary{margin:0}
.whatsapp-submit{border:0;border-radius:11px;background:#25d366;color:#073d19;font-weight:800;padding:15px 20px;cursor:pointer;transition:.2s}.whatsapp-submit:hover{background:#54df82;transform:translateY(-1px)}
.form-privacy{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.form-honey{position:absolute!important;left:-9999px!important}.form-success{margin:0 0 18px;padding:13px 15px;border-radius:10px;background:#e1f8e9;color:#12602c;font-weight:800}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:38px}.contact-page{padding:58px 18px}.contact-form{padding:25px 20px}}
@media(max-width:520px){.contact-submit-actions{grid-template-columns:1fr}}
