/* ---- style.css ---- */
:root{--bg:#f3f4f8;--ink:#0c1020;--muted:#687086;--night:#080b16;--violet:#7768ff;--cyan:#61e1d4;--line:rgba(16,23,49,.1);--white:#fff;--radius:30px;--shadow:0 30px 80px rgba(17,23,44,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Manrope",sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:11px 16px;color:#17120d;border-radius:10px;background:#f1bd72;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f1bd72;outline-offset:4px}.language-switcher button:focus-visible{outline-color:white}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:94px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;color:white;transition:.3s}.site-header.scrolled{height:74px;background:rgba(8,11,22,.84);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;color:#080b16;font:800 14px "Space Grotesk",sans-serif;background:linear-gradient(135deg,#8174ff,#61e1d4);box-shadow:0 9px 28px rgba(119,104,255,.34)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1.12}.brand strong{font:700 18px "Space Grotesk",sans-serif;letter-spacing:-.4px}.brand small{margin-top:5px;color:#9ba3b8;font-size:10px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700}.site-header nav>a:not(.nav-call){color:#bfc4d2;transition:.2s}.site-header nav>a:not(.nav-call):hover{color:white}.nav-call{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;color:#0a0d18;background:white}.nav-call span{color:#39bfae;font-size:9px}.menu-toggle{display:none;padding:8px;border:0;background:none}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;margin:5px;border-radius:2px;background:white}
.hero{position:relative;min-height:820px;display:grid;grid-template-columns:1.04fr .96fr;color:white;background:radial-gradient(circle at 22% 15%,#242b5c 0,#0c1122 38%,#070a13 72%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,black,transparent 65%)}.hero-copy{position:relative;z-index:2;align-self:center;padding:170px 4vw 90px 6vw}.eyebrow{margin:0 0 22px;color:#6e60ea;font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase}.eyebrow>span{display:inline-block;width:23px;height:1px;margin:0 9px 3px 0;background:currentColor}.hero .eyebrow{color:#8e83ff}.hero h1,.section h2{margin:0;font-family:"Space Grotesk",sans-serif;font-weight:600;line-height:.98;letter-spacing:-4px}.hero h1{max-width:720px;font-size:clamp(64px,7vw,104px)}.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,#9085ff,#61e1d4);background-clip:text;-webkit-background-clip:text}.hero-lead{max-width:565px;margin:31px 0 36px;color:#b6bdce;font-size:18px;line-height:1.75}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:56px;padding:0 26px;display:inline-flex;justify-content:center;align-items:center;gap:12px;border:0;border-radius:999px;font-weight:800;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-3px)}.primary{color:#080b16;background:linear-gradient(120deg,#8679ff,#61e1d4);box-shadow:0 14px 35px rgba(100,113,240,.26)}.secondary{color:white;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}.hero-proof{display:flex;gap:28px;margin-top:40px;color:#9098ac;font-size:11px;font-weight:700;text-transform:uppercase}.hero-proof span{display:flex;align-items:center;gap:9px}.hero-proof b{color:#67d9cf;font-size:10px}
.hero-visual{position:relative;min-height:650px;margin:112px 5vw 58px 0;border-radius:36px;background:linear-gradient(145deg,#796aff,#58ded1);overflow:hidden;box-shadow:0 40px 100px rgba(50,61,160,.28)}.hero-visual:before,.hero-visual:after{content:"";position:absolute;border-radius:50%}.hero-visual:before{width:360px;height:360px;right:-100px;top:-80px;background:rgba(255,255,255,.22)}.hero-visual:after{width:420px;height:420px;left:-180px;bottom:-170px;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 55px rgba(255,255,255,.06),0 0 0 110px rgba(255,255,255,.04)}.visual-label{position:absolute;top:-5%;left:-4%;color:rgba(255,255,255,.14);font:700 clamp(180px,22vw,340px)/1 "Space Grotesk",sans-serif;letter-spacing:-28px}.route-card{position:absolute;z-index:3;left:50%;top:50%;width:min(76%,420px);padding:31px;transform:translate(-50%,-50%) rotate(-2deg);color:white;border:1px solid rgba(255,255,255,.08);border-radius:28px;background:rgba(8,11,22,.94);box-shadow:0 35px 80px rgba(0,0,0,.35);backdrop-filter:blur(20px)}.route-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px;color:#858da2;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.route-head i{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#090c17;background:linear-gradient(135deg,#897dff,#61e1d4);font-style:normal;font-weight:800}.route-stop{display:flex;align-items:center;gap:16px}.route-stop b{width:14px;height:14px;border:3px solid #67ddd1;border-radius:50%}.route-stop span{display:flex;flex-direction:column;font-size:16px;font-weight:800}.route-stop small{color:#737b91;font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.route-track{height:70px;margin-left:6px;border-left:2px dashed #363d51}.route-stop.destination b{border-color:#7d70fb;background:#7d70fb}.route-meta{display:flex;align-items:center;justify-content:space-between;margin-top:35px;padding-top:23px;border-top:1px solid #292f42;color:#848ca0;font-size:11px}.route-meta strong{color:#67ddd1;font-size:26px}.visual-pill{position:absolute;z-index:4;padding:12px 17px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#0a0d18;background:rgba(255,255,255,.88);box-shadow:0 13px 30px rgba(20,30,80,.16);backdrop-filter:blur(12px);font-size:11px;font-weight:800}.visual-pill i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#2bc0a9}.pill-one{top:17%;right:5%;transform:rotate(4deg)}.pill-two{left:5%;bottom:15%;transform:rotate(-5deg)}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 6vw;color:white;border-top:1px solid #262c41;background:#080b16}.trust-strip div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #2b3146}.trust-strip div:last-child{border:0}.trust-strip strong{font:700 15px "Space Grotesk",sans-serif}.trust-strip span{color:#81899e;font-size:11px}
.section{padding:130px 6vw}.section h2{font-size:clamp(45px,5vw,74px)}.section-heading{max-width:850px;margin:0 auto 68px;text-align:center}.section-heading>p:last-child{max-width:590px;margin:23px auto 0;color:var(--muted)}.service-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.service-card{position:relative;min-height:300px;padding:43px;overflow:hidden;border:1px solid rgba(17,23,44,.06);border-radius:var(--radius);background:white;transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card.featured{color:white;border:0;background:linear-gradient(145deg,#776aff,#554acb)}.card-index{position:absolute;top:28px;right:31px;color:#a4a9b7;font:700 11px "Space Grotesk",sans-serif}.featured .card-index{color:rgba(255,255,255,.55)}.service-card .icon{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;color:#5f55de;background:#eeedff;font-size:20px}.featured .icon{color:#574dce;background:white}.service-card h3{margin:55px 0 12px;font:700 29px "Space Grotesk",sans-serif;letter-spacing:-1.3px}.service-card p{max-width:440px;margin:0;color:var(--muted);font-size:14px}.featured p{color:#e2dfff}.card-arrow{position:absolute;right:32px;bottom:28px;color:#8b92a4;font-size:22px;transition:.25s}.service-card:hover .card-arrow{transform:translate(3px,-3px)}.featured .card-arrow{color:white}
.zones{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#e8eaf2}.map-card{position:relative;min-height:530px;overflow:hidden;border-radius:36px;background:linear-gradient(145deg,#131a33,#080b16)}.map-card:after{content:"CASTIRLA";position:absolute;bottom:-25px;left:14px;color:rgba(255,255,255,.035);font:700 86px "Space Grotesk",sans-serif;letter-spacing:-6px}.contour{position:absolute;border:1px solid #2d3552;border-radius:44% 56% 63% 37%;transform:rotate(-18deg)}.c1{width:570px;height:300px;top:30px;left:-100px}.c2{width:470px;height:350px;right:-130px;bottom:-15px}.route-line{position:absolute;left:18%;top:18%;width:64%;height:60%;border-left:5px solid #7165ed;border-bottom:5px solid #7165ed;border-radius:0 0 0 80%;transform:rotate(-15deg);filter:drop-shadow(0 0 12px rgba(113,101,237,.4))}.map-point{position:absolute;z-index:2;left:18%;bottom:25%;padding:10px 15px;border-radius:999px;background:white;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:12px;font-weight:800}.map-point i{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#5bd9cc;box-shadow:0 0 0 5px rgba(91,217,204,.15)}.zones-copy{max-width:610px}.zones-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.zones-copy ul{margin:32px 0 0;padding:0;list-style:none}.zones-copy li{padding:12px 0;border-bottom:1px solid rgba(17,23,44,.1);font-size:14px;font-weight:600}.zones-copy li:before{content:"↗";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:12px;border-radius:50%;color:#5e54d9;background:white;font-size:11px}
.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;color:white;background:#0b0f1d}.process .eyebrow{color:#8175f7}.process-list{border-top:1px solid #2b3143}.process-list article{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:29px 0;border-bottom:1px solid #2b3143}.process-list article>span{color:#6de0d4;font:700 11px "Space Grotesk",sans-serif}.process-list h3{margin:-5px 0 5px;font:600 24px "Space Grotesk",sans-serif;letter-spacing:-.8px}.process-list p{margin:0;color:#8f97aa;font-size:13px}
.booking{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw;color:white;background:radial-gradient(circle at 10% 15%,#202851,#080b16 55%)}.booking-intro>p:not(.eyebrow){color:#9da5b7}.booking .eyebrow{color:#8c80ff}.phone-list{margin-top:35px}.phone-list a{display:inline-flex;align-items:center;gap:14px}.phone-list>a>span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#0b0e19;background:linear-gradient(135deg,#8579ff,#61e1d4)}.phone-list div{display:flex;flex-direction:column}.phone-list small{color:#858da1;font-size:11px}.phone-list strong{font-size:19px}.booking-form{padding:38px;color:var(--ink);border-radius:30px;background:rgba(255,255,255,.96);box-shadow:0 35px 90px rgba(0,0,0,.25)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field label{font-size:11px;font-weight:800}.field input{width:100%;padding:14px 15px;color:var(--ink);border:1px solid transparent;border-radius:12px;outline:0;background:#f0f1f5}.field input:focus{border-color:#7569f3;box-shadow:0 0 0 3px rgba(117,105,243,.12)}.full{width:100%;margin-top:7px}.form-note{margin:13px 0 0;color:#7d8494;font-size:10px;text-align:center}
footer{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:30px;align-items:center;padding:48px 6vw 100px;color:white;background:#060810;font-size:12px}footer>p,footer>small{color:#747d91}footer>div{display:flex;flex-direction:column}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px;padding:0 20px}.site-header nav{display:none;position:absolute;top:68px;left:15px;right:15px;padding:24px;flex-direction:column;gap:20px;color:var(--ink);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:var(--shadow)}.site-header nav.open{display:flex}.site-header nav>a:not(.nav-call){color:var(--ink)}.nav-call{color:white;background:var(--ink)}.menu-toggle{display:block}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:135px 23px 68px}.hero h1{font-size:clamp(49px,15vw,68px);letter-spacing:-3px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column}.button{width:100%}.hero-proof{gap:13px;flex-direction:column;margin-top:30px}.hero-visual{min-height:435px;margin:0 15px 70px;border-radius:26px}.visual-label{font-size:190px;letter-spacing:-20px}.route-card{width:82%;padding:24px}.visual-pill{padding:9px 12px;font-size:9px}.pill-one{top:7%;right:3%}.pill-two{bottom:7%;left:3%}.trust-strip{grid-template-columns:1fr;padding:10px 24px}.trust-strip div{padding:14px;border-right:0;border-bottom:1px solid #2b3146}.section{padding:88px 22px}.section h2{font-size:42px;letter-spacing:-2.5px}.section-heading{margin-bottom:45px}.service-grid,.zones,.process,.booking{grid-template-columns:1fr}.service-card{min-height:260px;padding:31px}.service-card h3{margin-top:44px;font-size:25px}.zones{gap:50px}.map-card{min-height:390px;border-radius:27px}.process,.booking{gap:50px}.booking-form{padding:27px 20px;border-radius:24px}.field-row{grid-template-columns:1fr;gap:0}footer{grid-template-columns:1fr;padding-bottom:100px;text-align:center}footer .brand{justify-self:center}footer>div{align-items:center}.mobile-call{display:block;position:fixed;z-index:60;left:14px;right:14px;bottom:13px}.mobile-call a{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;color:#080b16;border-radius:999px;background:linear-gradient(120deg,#8679ff,#61e1d4);box-shadow:0 14px 35px rgba(0,0,0,.3);font-weight:800}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.site-header,.skip-link{transition:none}}

/* Direction éditoriale et photographique */
:root{--bg:#f5f1e9;--ink:#18201d;--muted:#6e7068;--night:#121916;--violet:#b97745;--cyan:#d6aa73;--shadow:0 30px 80px rgba(28,34,29,.15)}
body{background:var(--bg);color:var(--ink)}
.brand-mark{color:#fff;background:#C6924B;box-shadow:none}.site-header.scrolled{background:rgba(18,25,22,.9)}.nav-call{background:#fff;color:#18201d}.nav-call span{color:#C6924B}
.photo-hero{display:block;min-height:860px;background:linear-gradient(90deg,rgba(10,15,13,.93) 0%,rgba(10,15,13,.76) 40%,rgba(10,15,13,.16) 72%),url("hero-route-corse-desktop-16x9-natural-v2.webp") center/cover no-repeat}.photo-hero:before{background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 25%,rgba(0,0,0,.3));mask-image:none}.photo-hero .hero-copy{min-height:860px;width:min(800px,58vw);display:flex;flex-direction:column;justify-content:center;padding:165px 4vw 120px 6vw}.photo-hero .eyebrow{color:#C6924B}.photo-hero h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(70px,7.5vw,112px);letter-spacing:-5px}.photo-hero h1 em{font-style:normal;color:#fff;background:none;-webkit-text-fill-color:initial}.photo-hero .hero-lead{max-width:610px;color:#e1e0d9}.photo-hero .primary{color:white;background:#C6924B;box-shadow:0 14px 35px rgba(104,65,18,.3)}.photo-hero .secondary{background:rgba(255,255,255,.08)}.photo-hero .hero-proof b{color:#C6924B}.hero-caption{position:absolute;right:5vw;bottom:65px;z-index:3;display:flex;flex-direction:column;padding-left:20px;border-left:2px solid #C6924B;color:white}.hero-caption span{color:#C6924B;font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.hero-caption strong{font:600 18px "Space Grotesk",sans-serif}.trust-strip{background:#121916;border-color:#39413c}.trust-strip div{border-color:#39413c}.trust-strip span{color:#929990}
.local-story{display:grid;grid-template-columns:.45fr 1fr .65fr;gap:6vw;align-items:start;background:#f5f1e9}.story-kicker{display:flex;gap:12px;align-items:center;color:#C6924B;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.story-copy{max-width:680px}.story-copy h2{font-size:clamp(55px,6vw,90px)}.story-copy>p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:18px}.story-copy>a{display:inline-flex;gap:30px;align-items:center;margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:800}.story-quote{margin-top:90px;padding:30px;border-top:1px solid #cfc8bb;border-bottom:1px solid #cfc8bb}.story-quote>span{color:#C6924B;font:700 60px/1 Georgia,serif}.story-quote p{margin:0;font:500 20px/1.55 "Space Grotesk",sans-serif}
.services{background:#eee8dd}.eyebrow{color:#C6924B}.service-card{border-color:#ded7ca;background:#f8f5ef}.service-card.featured{background:#1b2420}.service-card .icon{color:#C6924B;background:#eadbca}.featured .icon{color:#1b2420}.featured p{color:#bfc6c0}.zones{background:#d9d1c4}.map-card{background:linear-gradient(145deg,#2d3933,#111815)}.route-line{border-color:#C6924B;filter:drop-shadow(0 0 12px rgba(198,146,75,.4))}.map-point i{background:#C6924B;box-shadow:0 0 0 5px rgba(198,146,75,.15)}.zones-copy li:before{color:#C6924B}.process{background:#17201c}.process .eyebrow,.process-list article>span{color:#C6924B}.booking{background:radial-gradient(circle at 10% 15%,#354139,#111815 55%)}.booking .eyebrow{color:#C6924B}.phone-list>a>span,.mobile-call a{background:#C6924B;color:white}.booking-form .primary{background:#C6924B;color:white;box-shadow:none}.field input:focus{border-color:#C6924B;box-shadow:0 0 0 3px rgba(198,146,75,.12)}footer{background:#0d1310}
@media(max-width:900px){.photo-hero{min-height:800px;background:linear-gradient(180deg,rgba(9,14,12,.7),rgba(9,14,12,.82)),url("hero-route-corse-desktop-16x9-natural-v2.webp") 64% center/cover no-repeat}.photo-hero .hero-copy{width:100%;min-height:800px;padding:130px 23px 110px;justify-content:flex-end}.photo-hero h1{font-size:53px;letter-spacing:-3px}.photo-hero .hero-lead{font-size:15px}.photo-hero .hero-proof{display:none}.hero-caption{display:none}.local-story{grid-template-columns:1fr}.story-kicker{writing-mode:initial;transform:none}.story-copy h2{font-size:49px}.story-quote{margin-top:0}.mobile-call{opacity:0;transform:translateY(20px);pointer-events:none;transition:.3s}.mobile-call.show{opacity:1;transform:none;pointer-events:auto}.mobile-call a{background:#C6924B;color:white}}

.commitments{padding:125px 6vw;background:#f5f1e9}.commitments-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:60px}.commitments-title .eyebrow{margin-bottom:8px}.commitments-title h2{max-width:680px;margin:0;font:600 clamp(48px,5vw,76px)/1 "Space Grotesk",sans-serif;letter-spacing:-4px}.commitment-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfc8bb}.commitment-grid article{min-height:240px;padding:30px 28px;border-right:1px solid #cfc8bb}.commitment-grid article:last-child{border-right:0}.commitment-grid article>span{color:#C6924B;font-size:10px;font-weight:800}.commitment-grid h3{margin:70px 0 10px;font:600 23px "Space Grotesk",sans-serif}.commitment-grid p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:900px){.commitments{padding:85px 22px}.commitments-title{display:block}.commitments-title h2{font-size:44px;letter-spacing:-2.5px}.commitment-grid{grid-template-columns:1fr 1fr}.commitment-grid article{min-height:210px;padding:25px 20px;border-bottom:1px solid #cfc8bb}.commitment-grid article:nth-child(2){border-right:0}.commitment-grid h3{margin-top:55px}}

/* Signature graffiti inspirée du rendu demandé */
.photo-hero{min-height:880px;background:linear-gradient(180deg,rgba(8,12,11,.34),rgba(8,12,11,.72)),url("hero-route-corse-desktop-16x9-natural-v2.webp") center/cover no-repeat}.photo-hero .hero-copy{width:min(920px,84vw);min-height:880px;margin:auto;align-items:center;text-align:center;padding:135px 20px 80px}.graffiti-logo{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:2px;color:#C6924B;font-family:"Permanent Marker",cursive;line-height:.75;transform:rotate(-2deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.graffiti-logo small{margin-left:-115px;font-size:clamp(45px,5vw,76px)}.graffiti-logo strong{font-size:clamp(62px,7.5vw,112px);font-weight:400;letter-spacing:-4px}.graffiti-logo:after{content:"";position:absolute;left:4%;right:-3%;bottom:-12px;height:7px;background:#C6924B;clip-path:polygon(0 25%,100% 0,96% 55%,45% 70%,5% 100%)}.photo-hero .eyebrow{margin:28px 0 12px;color:#C6924B}.photo-hero h1{max-width:900px;font:800 clamp(62px,7vw,100px)/.92 "Manrope",sans-serif;letter-spacing:-6px}.photo-hero h1 em{display:inline-block;color:#C6924B;font:700 1.13em/.7 "Caveat",cursive;letter-spacing:-3px;transform:rotate(-3deg)}.photo-hero .hero-lead{margin:28px 0;color:white;font-size:17px;font-weight:600}.photo-hero .hero-actions{justify-content:center}.photo-hero .primary{background:#C6924B;color:#15130f;box-shadow:0 15px 35px rgba(100,62,10,.35)}.photo-hero .hero-proof{justify-content:center;margin-top:28px}.photo-hero .hero-proof b{color:#C6924B}.hero-caption{display:none}.trust-strip{background:#151a18}.brand-mark{background:#C6924B;color:#17140e}.nav-call{background:#C6924B}.mobile-call a{background:#C6924B}
@media(max-width:900px){.photo-hero{min-height:820px;background:linear-gradient(180deg,rgba(8,12,11,.38),rgba(8,12,11,.78)),url("hero-route-corse-desktop-16x9-natural-v2.webp") 65% center/cover no-repeat}.photo-hero .hero-copy{min-height:820px;width:100%;justify-content:center;padding:110px 20px 80px}.graffiti-logo small{margin-left:-70px;font-size:38px}.graffiti-logo strong{font-size:58px;letter-spacing:-3px}.photo-hero .eyebrow{margin-top:25px}.photo-hero h1{font-size:48px;letter-spacing:-3px}.photo-hero h1 em{font-size:1.2em}.photo-hero .hero-lead{font-size:13px}.photo-hero .hero-proof{display:none}.photo-hero .hero-actions{width:100%}}
.always-open{display:inline-flex;align-items:center;gap:9px;margin:-12px 0 24px;color:#fff;font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.always-open span{width:9px;height:9px;border-radius:50%;background:#C6924B;box-shadow:0 0 0 6px rgba(198,146,75,.18)}
.photo-hero .location-signature{display:flex;align-items:center;justify-content:center;gap:12px}.photo-hero .location-signature>span{width:34px;height:1px;margin:0;background:currentColor}
.language-switcher{display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,12,11,.35);backdrop-filter:blur(10px)}.language-switcher button{padding:6px 8px;border:0;border-radius:999px;color:#fff;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.language-switcher button.active{color:#18140e;background:#C6924B}
@media(max-width:900px){.language-switcher{margin-left:auto;margin-right:8px}.language-switcher button{padding:5px 7px}.site-header .brand small{display:none}}

.zones{grid-template-columns:1fr;text-align:center}.zones-copy{max-width:780px;margin:auto}.zones-copy>p:not(.eyebrow){max-width:680px;margin:22px auto}.zones-copy ul{max-width:650px;margin:32px auto 0;text-align:left}

/* Avis Google */
.reviews{background:#f5f1e9}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:48px}.reviews-heading h2{max-width:720px}.google-rating{min-width:170px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:18px 22px;border-left:1px solid #cfc8bb}.google-rating strong{grid-row:1/3;font:700 44px/1 "Space Grotesk",sans-serif}.google-rating span,.review-stars{color:#C6924B;letter-spacing:2px}.google-rating small{color:var(--muted)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-card{min-height:270px;padding:34px;border:1px solid #ded7ca;border-radius:24px;background:#f8f5ef}.review-card blockquote{margin:35px 0 30px;font:500 18px/1.6 "Space Grotesk",sans-serif}.review-card p{margin:0;font-size:12px;font-weight:800}.review-card p span{color:var(--muted);font-weight:500}.reviews-link{display:inline-flex;align-items:center;gap:22px;margin-top:28px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:800}
@media(max-width:900px){.reviews-heading{display:block}.google-rating{margin-top:28px;padding-left:0;border-left:0}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:auto;padding:28px}.review-card blockquote{margin:26px 0;font-size:17px}}

/* Véhicule taxi identifiable */
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-form .whatsapp{color:white;background:#218b57;box-shadow:none}.photo-hero{background-image:linear-gradient(180deg,rgba(8,12,11,.34),rgba(8,12,11,.72)),url("hero-route-corse-desktop-16x9-natural-v2.webp")}
@media(max-width:900px){.photo-hero{background-image:linear-gradient(180deg,rgba(8,12,11,.38),rgba(8,12,11,.78)),url("hero-route-corse-desktop-16x9-natural-v2.webp")}}

@media(max-width:560px){.form-actions{grid-template-columns:1fr}}

/* Mentions légales */
.footer-links{gap:7px}.footer-links a:last-child{color:#aeb8b0;text-decoration:underline;text-underline-offset:4px}.legal-page{min-height:100vh;color:#17201c;background:#eee8dd}.legal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 6vw;border-bottom:1px solid #d3cabc;background:#f8f5ef}.legal-header .brand{color:#17201c}.legal-back{font-weight:700;color:#17201c}.legal-main{padding:90px 6vw 120px}.legal-title{max-width:1000px;margin:0 auto 70px}.legal-title h1{margin:12px 0 20px;font-family:"Space Grotesk",sans-serif;font-size:clamp(48px,8vw,92px);line-height:.94;letter-spacing:-5px}.legal-title>p:last-child{color:#667067}.legal-content{max-width:1000px;margin:auto;border-top:1px solid #cfc5b7}.legal-content section{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:42px 0;border-bottom:1px solid #cfc5b7}.legal-content section>span{color:#C6924B;font-size:12px;font-weight:800}.legal-content h2{margin:0 0 18px;font-family:"Space Grotesk",sans-serif;font-size:28px}.legal-content p{max-width:790px;margin:0 0 14px;color:#4d574f;line-height:1.75}.legal-content a{color:#C6924B;text-decoration:underline;text-underline-offset:3px}.legal-notice{max-width:1000px;margin:55px auto 0;padding:28px 32px;border-radius:18px;background:#17201c;color:white}.legal-notice strong{color:#C6924B}.legal-notice p{margin:8px 0 0;color:#c3cbc5;line-height:1.6}.legal-footer{grid-template-columns:1fr auto auto;padding-bottom:48px}.legal-footer>a{color:white}
@media(max-width:700px){.legal-header{padding:22px}.legal-main{padding:65px 22px 95px}.legal-title{margin-bottom:48px}.legal-title h1{font-size:45px;letter-spacing:-2.8px}.legal-content section{grid-template-columns:1fr;gap:12px;padding:32px 0}.legal-content h2{font-size:24px}.legal-notice{padding:24px}.legal-footer{grid-template-columns:1fr;text-align:center}.legal-footer .brand{justify-self:center}}

/* En-tête sans marque à gauche */
.site-header{justify-content:flex-end}
.site-header nav{position:absolute;left:50%;transform:translateX(-50%)}
@media(max-width:900px){.site-header{justify-content:space-between}.site-header nav{left:15px;transform:none}}

/* Palette finale — Corse nocturne */
:root{--bg:#f0eadf;--paper:#f0eadf;--paper-alt:#e5ded2;--ink:#18211d;--muted:#68716b;--night:#0c1210;--night-soft:#151d19;--bronze-light:#c28a4b;--bronze-dark:#89592e;--accent:#c28a4b;--line-light:#cfc6b8;--line-dark:#29332e;--white:#f8f5ee;--shadow:0 30px 80px rgba(13,19,16,.16)}
body{color:var(--ink);background:var(--paper)}
.site-header.scrolled{background:rgba(8,13,11,.94);border-color:rgba(248,245,238,.1)}
.photo-hero{background-image:linear-gradient(180deg,rgba(6,10,9,.38),rgba(6,10,9,.75)),url("hero-route-corse-desktop-16x9-natural-v2.webp")}
.graffiti-logo,.graffiti-logo:after,.photo-hero .eyebrow,.photo-hero h1 em,.photo-hero .hero-proof b,.always-open{color:var(--bronze-light)}
.graffiti-logo:after,.always-open span{background:var(--bronze-light)}
.photo-hero .primary,.nav-call,.mobile-call a,.brand-mark{color:#17120d;background:var(--bronze-light)}
.photo-hero .secondary{color:var(--white);border-color:rgba(248,245,238,.22);background:rgba(12,18,16,.38)}
.trust-strip{background:var(--night);border-color:var(--line-dark)}
.trust-strip div{border-color:var(--line-dark)}
.trust-strip span{color:#99a39c}
.local-story,.reviews,.commitments{background:var(--paper)}
.services,.zones{background:var(--paper-alt)}
.eyebrow,.story-kicker,.story-quote>span,.commitment-grid article>span,.reviews-link{color:var(--bronze-dark)}
.story-quote,.commitment-grid,.commitment-grid article,.review-card,.service-card{border-color:var(--line-light)}
.service-card,.review-card{background:#f8f4ec}
.service-card.featured{color:var(--white);background:var(--night-soft)}
.service-card .icon{color:var(--bronze-dark);background:#eadcc9}
.featured .icon{color:var(--night-soft);background:var(--bronze-light)}
.google-rating span,.review-stars{color:#a96f30}
.process{background:var(--night-soft)}
.process{color:var(--white)}
.process .eyebrow,.process-list article>span,.booking .eyebrow{color:var(--bronze-light)}
.process-list,.process-list article{border-color:var(--line-dark)}
.process-list p,.booking-intro>p:not(.eyebrow){color:#aab3ad}
.booking{background:radial-gradient(circle at 10% 15%,#26342d,var(--night) 58%)}
.booking-form{color:var(--ink);background:#f8f4ec}
.booking-form .primary{color:#17120d;background:var(--bronze-light)}
.field input{color:var(--ink);background:#e9e3d9}
.field input:focus{border-color:var(--bronze-dark);box-shadow:0 0 0 3px rgba(137,89,46,.14)}
.zones-copy li:before,.route-line,.map-point i{color:var(--bronze-dark);border-color:var(--bronze-light)}
.zones{background:var(--paper-alt);color:var(--ink)}
.zones-copy>p:not(.eyebrow){color:var(--muted)}
.zones-copy li{color:var(--ink);border-color:var(--line-light)}
.zones-copy li:before{background:#f8f4ec}
footer{background:#080d0b}
.legal-page{color:var(--ink);background:var(--paper-alt)}
.legal-header{border-color:var(--line-light);background:#f8f4ec}
.legal-content,.legal-content section{border-color:var(--line-light)}
.legal-content section>span,.legal-content a,.legal-notice strong{color:var(--bronze-dark)}
.legal-notice{background:var(--night-soft)}

/* Finitions responsive — lisibilité et respiration */
.photo-hero{background-image:linear-gradient(180deg,rgba(6,10,9,.22),rgba(6,10,9,.64)),url("hero-route-corse-desktop-16x9-natural-v2.webp")}
@media(max-width:900px){
  .photo-hero{min-height:880px;background-image:linear-gradient(180deg,rgba(6,10,9,.24),rgba(6,10,9,.67)),url("hero-route-corse-mobile-9x16-natural-v2.webp");background-position:center center}
  .photo-hero .hero-copy{min-height:880px;padding:118px 24px 92px}
  .graffiti-logo{margin-bottom:14px}
  .graffiti-logo small{font-size:36px}
  .graffiti-logo strong{font-size:54px;letter-spacing:-2.5px}
  .photo-hero .eyebrow{margin:18px 0 22px}
  .photo-hero h1{font-size:46px;line-height:.98;letter-spacing:-2.7px}
  .photo-hero .hero-lead{max-width:480px;margin:25px auto 18px;font-size:14px;line-height:1.55}
  .always-open{margin:0 0 25px;font-size:12px}
  .photo-hero .hero-actions{max-width:520px;margin-inline:auto;gap:10px}
  .section{padding-top:96px;padding-bottom:96px}
  .service-card{border-radius:26px}
}

/* Retour à la direction visuelle classique, avec les composants fonctionnels récents. */
.site-header{position:absolute}
.header-identity{display:none}
.story-values{display:flex;flex-wrap:wrap;gap:8px;margin:27px 0 30px}
.story-values span{padding:8px 13px;border:1px solid var(--line-light);border-radius:999px;color:#48524c;background:rgba(255,255,255,.35);font-size:11px;font-weight:800}
.service-card .icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-scope{max-width:1180px;margin:18px auto 0;padding:25px 28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;border:1px solid var(--line-light);border-radius:20px;background:rgba(248,244,236,.76)}
.service-scope div{display:flex;flex-direction:column;padding-right:28px;border-right:1px solid var(--line-light)}
.service-scope div span{color:var(--bronze-dark);font-size:9px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.service-scope strong{font:700 20px "Space Grotesk",sans-serif}
.service-scope p{margin:0;color:var(--muted);font-size:12px}
.service-scope>a{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:800}
.required-note{margin:0 0 13px;color:#737b75;font-size:10px}
.asap-option{display:flex;align-items:center;gap:10px;margin:1px 0 16px;padding:12px 14px;border:1px solid #ded8cd;border-radius:12px;background:#f7f4ed;font-size:12px;font-weight:800;cursor:pointer}
.asap-option input{width:18px;height:18px;margin:0;accent-color:var(--bronze-dark)}
.field-row.is-disabled{opacity:.45}.field-row.is-disabled input{cursor:not-allowed}
.legal-language{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
.legal-language button{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-light);border-radius:14px;color:var(--ink);background:rgba(255,255,255,.35);cursor:pointer;font-weight:800}
.legal-language button small{color:var(--muted);font-size:10px;font-weight:600}.legal-language button.active{color:white;border-color:var(--bronze-dark);background:var(--bronze-dark)}.legal-language button.active small{color:rgba(255,255,255,.76)}
.translation-notice{margin:0 0 44px;padding:13px 16px;border-left:3px solid var(--bronze-dark);color:var(--muted);background:rgba(255,255,255,.35);font-size:12px}.legal-version[hidden]{display:none}
@media(max-width:900px){
  .service-scope{grid-template-columns:1fr;gap:18px;padding:22px}.service-scope div{padding:0;border:0}
  .menu-toggle{position:relative;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(8,12,11,.28)}
  .menu-toggle span:not(.sr-only){position:absolute;left:50%;height:2px;margin:0;border-radius:999px;background:white;transform:translateX(-50%)}
  .menu-toggle span:nth-child(1){top:15px;width:20px}.menu-toggle span:nth-child(2){top:22px;width:14px}.menu-toggle span:nth-child(3){top:29px;width:20px}
}
@media(min-width:701px) and (max-width:900px){.mobile-call{display:none!important}}
@media(max-width:700px){.legal-language{grid-template-columns:1fr}.translation-notice{margin-bottom:28px}body{padding-bottom:68px}.mobile-call{left:10px;right:10px;bottom:9px}.mobile-call a{padding:12px;font-size:13px}}

/* Proportions validées : esthétique classique, accueil plus compact. */
.photo-hero{min-height:740px}.photo-hero .hero-copy{min-height:740px;padding-top:112px;padding-bottom:72px}
.graffiti-logo small{font-size:clamp(34px,3.6vw,54px)}.graffiti-logo strong{font-size:clamp(50px,5.4vw,78px);letter-spacing:-3px}
.photo-hero h1{max-width:740px;font-size:clamp(48px,5vw,72px);letter-spacing:-3.5px}
@media(min-width:701px) and (max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:280px}}
@media(max-width:900px){.photo-hero{min-height:680px}.photo-hero .hero-copy{min-height:680px;padding:80px 22px 52px}.graffiti-logo small{margin-left:-58px;font-size:31px}.graffiti-logo strong{font-size:47px}.photo-hero h1{max-width:560px;font-size:36px;letter-spacing:-1.8px}.photo-hero .eyebrow{margin-top:18px}.photo-hero .hero-lead{margin-top:17px;margin-bottom:13px}}
@media(max-width:560px){.photo-hero{min-height:650px}.photo-hero .hero-copy{min-height:650px;padding:78px 18px 46px}.graffiti-logo small{font-size:29px}.graffiti-logo strong{font-size:44px}.photo-hero h1{font-size:34px}}

/* Avis : notation discrète et cohérente avec la palette classique. */
.google-rating{grid-template-columns:1fr;gap:4px;padding:12px 0 12px 22px}
.google-rating strong{grid-row:auto;color:#a96f30;font-size:20px;line-height:1;letter-spacing:2px}
.google-rating small{font-size:11px}
@media(max-width:900px){.google-rating{margin-top:22px;padding:0}}

.google-rating{gap:8px}
.google-rating strong{font-size:27px;letter-spacing:3px;text-shadow:0 5px 18px rgba(169,111,48,.16)}
.google-rating small{color:var(--ink);font-size:13px;font-weight:800}

/* Badge Google premium. */
.google-rating{min-width:245px;padding:16px 20px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border:1px solid rgba(169,111,48,.28);border-radius:18px;background:rgba(255,255,255,.42);box-shadow:0 12px 32px rgba(52,40,25,.06)}
.google-rating strong{color:var(--ink);font:700 36px/1 "Space Grotesk",sans-serif;letter-spacing:-1.5px;text-shadow:none}
.google-rating>div{display:flex;flex-direction:column;gap:3px}
.google-rating span{color:#a96f30;font-size:17px;line-height:1;letter-spacing:2px}
.google-rating small{color:#5f655f;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:900px){.google-rating{width:max-content;min-width:0;margin-top:22px;padding:13px 16px}.google-rating strong{font-size:31px}}

/* Signature de note Google — capsule contemporaine. */
.google-rating{min-width:310px;min-height:70px;padding:10px 18px;display:grid;grid-template-columns:auto 1px auto auto;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:white;background:linear-gradient(135deg,#19231f,#0b110f);box-shadow:0 18px 45px rgba(13,20,17,.2),inset 0 1px rgba(255,255,255,.08)}
.google-rating:before{content:"";width:1px;height:30px;background:rgba(255,255,255,.16)}
.google-rating strong{grid-column:1;color:white;font:700 29px/1 "Space Grotesk",sans-serif;letter-spacing:-1px}
.google-rating:before{grid-column:2}.google-rating>span{grid-column:3;color:#d19a52;font-size:16px;line-height:1;letter-spacing:2px}.google-rating>small{grid-column:4;color:#bec6c1;font-size:11px;font-weight:800;letter-spacing:.5px}
@media(max-width:900px){.google-rating{min-width:290px;min-height:62px;padding:9px 16px;gap:11px}.google-rating strong{font-size:26px}.google-rating>span{font-size:14px}}

/* Note Google finale : typographique, sans boîte. */
.google-rating{min-width:245px;min-height:0;padding:5px 0 5px 28px;display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:center;border:0;border-left:1px solid var(--line-light);border-radius:0;color:var(--ink);background:transparent;box-shadow:none}
.google-rating:before{display:none}
.google-rating strong{grid-column:auto;color:#a96f30;font:700 48px/1 "Space Grotesk",sans-serif;letter-spacing:-2px}
.google-rating>div{display:flex;flex-direction:column;gap:5px}.google-rating>div span{color:#a96f30;font-size:17px;line-height:1;letter-spacing:2px}.google-rating>div small{color:#5f655f;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:900px){.google-rating{width:max-content;min-width:0;margin-top:24px;padding:0;border-left:0;gap:14px}.google-rating strong{font-size:42px}.google-rating>div span{font-size:15px}}

/* Les avis deviennent un temps fort de confiance. */
.reviews{position:relative;overflow:hidden;color:var(--white);background:radial-gradient(circle at 82% 10%,#26332d 0,#151d19 32%,#0b110f 72%)}
.reviews:before{content:"";position:absolute;top:-220px;right:-170px;width:520px;height:520px;border:1px solid rgba(198,146,75,.13);border-radius:50%;box-shadow:0 0 0 75px rgba(198,146,75,.025),0 0 0 150px rgba(198,146,75,.018);pointer-events:none}
.reviews>*{position:relative;z-index:1}
.reviews .eyebrow{color:var(--bronze-light)}
.reviews-heading{align-items:center;margin-bottom:58px}
.reviews-heading h2{color:var(--white)}
.reviews .google-rating{padding-left:30px;border-left-color:rgba(255,255,255,.16)}
.reviews .google-rating strong{color:var(--bronze-light);font-size:58px}
.reviews .google-rating>div span{color:var(--bronze-light)}
.reviews .google-rating>div small{color:#bdc5c0}
.reviews-grid{gap:14px}
.reviews .review-card{min-height:300px;padding:34px;border-color:rgba(255,255,255,.11);color:var(--white);background:rgba(255,255,255,.045);box-shadow:inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(8px);transition:transform .28s ease,border-color .28s ease,background .28s ease}
.reviews .review-card blockquote{color:#edf0ed}
.reviews .review-card p{color:white}.reviews .review-card p span{color:#9ea8a2}
.reviews .review-stars{color:var(--bronze-light)}
.reviews-link{color:var(--bronze-light);border-color:var(--bronze-light)}
@media(hover:hover){.reviews .review-card:hover{transform:translateY(-5px);border-color:rgba(198,146,75,.4);background:rgba(255,255,255,.075)}}
@media(max-width:900px){
  .reviews:before{right:-350px}
  .reviews-heading{margin-bottom:42px}
  .reviews .google-rating{padding-left:0;border-left:0}
  .reviews .google-rating strong{font-size:46px}
  .reviews .review-card{min-height:0}
}

/* Harmonisation des avis avec la palette générale du site. */
.reviews{color:var(--ink);background:linear-gradient(135deg,#eee7db 0%,#f6f1e8 58%,#ebe2d5 100%)}
.reviews:before{border-color:rgba(169,111,48,.14);box-shadow:0 0 0 75px rgba(169,111,48,.025),0 0 0 150px rgba(169,111,48,.018)}
.reviews-heading h2{color:var(--ink)}
.reviews .google-rating{border-left-color:var(--line-light)}
.reviews .google-rating>div small{color:#5f655f}
.reviews .review-card{border-color:rgba(137,89,46,.16);color:var(--ink);background:rgba(255,255,255,.48);box-shadow:0 18px 48px rgba(63,50,35,.055),inset 0 1px rgba(255,255,255,.65);backdrop-filter:blur(8px)}
.reviews .review-card blockquote{color:#29312d}
.reviews .review-card p{color:var(--ink)}.reviews .review-card p span{color:var(--muted)}
.reviews-link{color:var(--bronze-dark);border-color:var(--bronze-dark)}
@media(hover:hover){.reviews .review-card:hover{border-color:rgba(169,111,48,.42);background:rgba(255,255,255,.72)}}

/* Ajustements de proportions pour les écrans intermédiaires. */
@media(min-width:701px) and (max-width:900px){
  .trust-strip{grid-template-columns:repeat(3,1fr);padding:18px 24px}
  .trust-strip div{min-height:52px;padding:4px 16px;border-right:1px solid var(--line-dark);border-bottom:0;text-align:center}
  .trust-strip div:last-child{border-right:0}
  .trust-strip strong{font-size:13px}.trust-strip span{font-size:10px}
  .section{padding-top:78px;padding-bottom:78px}
  .local-story{grid-template-columns:1fr .58fr;gap:45px}
  .story-kicker{grid-column:1/-1}
  .story-copy h2{font-size:43px}
  .story-copy>p:not(.eyebrow){font-size:16px}
  .story-quote{margin-top:42px;padding:24px}
  .story-quote p{font-size:17px}
  .reviews-grid{grid-template-columns:repeat(3,1fr);gap:11px}
  .reviews .review-card{min-height:330px;padding:24px 21px}
  .reviews .review-card blockquote{margin:27px 0 24px;font-size:15px;line-height:1.55}
  .booking{grid-template-columns:.78fr 1.22fr;gap:42px;padding-left:30px;padding-right:30px}
  .booking-form{padding:27px 24px}
  .field-row{grid-template-columns:1fr 1fr;gap:12px}
  footer{grid-template-columns:1fr 1fr;padding:42px 6vw 58px;text-align:left}
  footer .brand{justify-self:start}footer>div{align-items:flex-start}
}

/* Rythme discret des apparitions au défilement. */
.service-grid .reveal:nth-child(2),.process-list .reveal:nth-child(2),.reviews-grid .reveal:nth-child(2){transition-delay:.07s}
.service-grid .reveal:nth-child(3),.process-list .reveal:nth-child(3),.reviews-grid .reveal:nth-child(3){transition-delay:.14s}
.service-grid .reveal:nth-child(4){transition-delay:.21s}
@media(prefers-reduced-motion:reduce){.service-grid .reveal,.process-list .reveal,.reviews-grid .reveal{transition-delay:0s}}

.field textarea{width:100%;min-height:92px;padding:14px 15px;resize:vertical;color:var(--ink);border:1px solid transparent;border-radius:12px;outline:0;background:#e9e3d9;font:inherit;line-height:1.5}
.field textarea:focus{border-color:var(--bronze-dark);box-shadow:0 0 0 3px rgba(137,89,46,.14)}
.field textarea::placeholder{color:#777f79}

/* Finitions premium — sans modifier la direction classique. */
.service-card{border-color:rgba(111,88,61,.14);box-shadow:0 14px 38px rgba(46,38,28,.045);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease}
.service-card.featured{box-shadow:0 20px 48px rgba(13,22,18,.14)}
.service-card .icon{box-shadow:inset 0 0 0 1px rgba(137,89,46,.08)}
.button{position:relative;overflow:hidden;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,filter .24s ease}
.button:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.18) 48%,transparent 76%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}
.button:active{transform:translateY(1px) scale(.992)}
.field input,.field textarea,.asap-option{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}
.field input:hover,.field textarea:hover,.asap-option:hover{border-color:rgba(137,89,46,.2);background:#ede7dd}
.field input:focus,.field textarea:focus{background:#f6f2eb}
.booking-form{border:1px solid rgba(255,255,255,.2);box-shadow:0 32px 85px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.7)}
.local-story,.services,.process,.reviews,.booking{border-top:1px solid rgba(113,92,68,.08)}
.process,.booking{border-top-color:rgba(255,255,255,.06)}
.reveal{transform:translateY(16px);transition:opacity .62s ease,transform .72s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){
  .service-card:hover{transform:translateY(-5px);border-color:rgba(137,89,46,.25);box-shadow:0 24px 58px rgba(46,38,28,.09)}
  .service-card.featured:hover{box-shadow:0 28px 66px rgba(13,22,18,.2)}
  .button:hover:after{transform:translateX(120%)}
}
@media(max-width:700px){
  .section{padding-left:20px;padding-right:20px}
  .service-card{padding:28px 25px}
  .booking-form{padding:24px 18px}
  .reviews .review-card{padding:27px 24px}
  .form-actions{gap:8px}
}
@media(prefers-reduced-motion:reduce){.button:after{display:none}.service-card,.button,.field input,.field textarea,.asap-option{transition:none}}

.hero-brand-logo{display:block;width:clamp(280px,38vw,470px);height:auto;margin:0 auto 20px;filter:drop-shadow(0 8px 22px rgba(0,0,0,.28))}
@media(max-width:560px){.hero-brand-logo{width:min(82vw,330px);margin-bottom:17px}}

/* Expérience mobile premium — la composition PC reste inchangée. */
@media(max-width:700px){
  body{padding-bottom:72px}
  .site-header{height:70px;padding:0 16px;background:linear-gradient(180deg,rgba(7,11,9,.66),transparent)}
  .menu-toggle{width:43px;height:43px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(12,18,15,.5);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(14px)}
  .menu-toggle span:not(.sr-only){width:17px;margin:4px auto;border-radius:9px}
  .language-switcher{padding:3px;border-color:rgba(255,255,255,.15);background:rgba(12,18,15,.5);box-shadow:0 8px 24px rgba(0,0,0,.14);backdrop-filter:blur(14px)}
  .language-switcher button{min-width:30px;height:28px;padding:0 6px;font-size:9px}

  .photo-hero{min-height:610px;background-position:64% center;border-radius:0}
  .photo-hero:after{background:linear-gradient(180deg,rgba(4,8,7,.12) 0%,rgba(4,8,7,.3) 42%,rgba(4,8,7,.82) 100%)}
  .photo-hero .hero-copy{min-height:610px;padding:80px 18px 34px;justify-content:flex-end}
  .graffiti-logo{margin-bottom:0;filter:drop-shadow(0 5px 14px rgba(0,0,0,.36))}
  .graffiti-logo small{margin-left:-52px;font-size:25px}
  .graffiti-logo strong{font-size:39px;letter-spacing:-2px}
  .graffiti-logo:after{bottom:-8px;height:4px}
  .photo-hero .location-signature{margin:16px 0 17px;font-size:9px;letter-spacing:2.2px}
  .photo-hero .location-signature>span{width:24px}
  .photo-hero h1{max-width:355px;font-size:34px;line-height:.98;letter-spacing:-1.8px}
  .photo-hero h1 em{font-size:1.15em;letter-spacing:-1.5px}
  .photo-hero .hero-lead{max-width:350px;margin:17px auto 9px;font-size:12.5px;line-height:1.45}
  .always-open{margin-bottom:17px;font-size:10px;letter-spacing:.6px}
  .photo-hero .hero-actions{display:grid;grid-template-columns:1.12fr .88fr;max-width:355px;gap:8px}
  .photo-hero .button{width:100%;min-height:48px;padding:0 13px;border-radius:14px;font-size:13px}
  .photo-hero .secondary{background:rgba(10,15,13,.52)}

  .trust-strip{grid-template-columns:repeat(3,1fr);padding:7px 5px;border-bottom:1px solid rgba(255,255,255,.07)}
  .trust-strip div{min-height:54px;padding:8px 5px;border-right:1px solid var(--line-dark);border-bottom:0}
  .trust-strip div:last-child{border-right:0}
  .trust-strip strong{font-size:9.5px;line-height:1.3;letter-spacing:-.1px}
  .trust-strip span{display:none}

  .section{padding:72px 20px}
  .section h2,.story-copy h2,.commitments-title h2{font-size:37px;line-height:1.04;letter-spacing:-2px}
  .section-heading{margin-bottom:34px}
  .section-heading>p:last-child{font-size:14px;line-height:1.65}
  .local-story{gap:35px}
  .story-copy p{font-size:14px;line-height:1.75}
  .story-values{gap:7px}
  .story-values span{padding:8px 10px;font-size:10px}
  .story-quote{padding:27px 24px;border-radius:20px}
  .service-grid{gap:10px}
  .service-card{min-height:0;padding:25px 22px;border-radius:20px}
  .service-card h3{margin:30px 0 10px;font-size:22px}
  .service-card p{font-size:13px;line-height:1.65}
  .service-scope{padding:26px 22px;border-radius:20px}
  .process{gap:38px}
  .process-list article{padding:25px 0}

  .reviews{padding-right:0;overflow:hidden}
  .reviews-heading{padding-right:20px;margin-bottom:30px}
  .reviews .google-rating{margin-top:18px;gap:10px}
  .reviews .google-rating strong{font-size:36px}
  .reviews-grid{display:flex;gap:12px;margin:0;padding:0 20px 8px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:0}
  .reviews-grid::-webkit-scrollbar{display:none}
  .reviews .review-card{flex:0 0 315px;width:315px;max-width:82vw;min-height:260px;padding:26px 24px;border:1px solid rgba(137,89,46,.16);border-radius:21px;scroll-snap-align:start;background:rgba(255,255,255,.58)}
  .reviews .review-card blockquote{margin:25px 0 22px;font-size:15px;line-height:1.62}
  .reviews-link{margin-top:24px}

  .booking{gap:34px;padding-bottom:76px}
  .booking-intro h2{font-size:39px}
  .booking-intro>p{font-size:14px;line-height:1.7}
  .booking-form{padding:22px 16px;border-radius:21px}
  .field input,.field textarea{border-radius:11px}
  .field textarea{min-height:86px}
  .form-actions{grid-template-columns:1fr;gap:8px}
  .form-actions .button{min-height:50px;border-radius:14px}
  footer{gap:20px;padding:38px 20px 95px}

  .mobile-call{display:flex;flex-direction:row;gap:6px;left:9px;right:9px;bottom:8px;padding:5px;border-radius:18px;background:rgba(8,13,11,.91);box-shadow:0 16px 45px rgba(0,0,0,.34);backdrop-filter:blur(20px)}
  .mobile-call a{width:auto;min-width:0;min-height:45px;padding:10px 12px;border-radius:13px;font-size:13px}
  .mobile-call .mobile-phone{flex:1.08}
  .mobile-call .mobile-whatsapp{flex:1;color:white;background:#218b57}
}

@media(max-width:370px){
  .photo-hero h1{font-size:31px}
  .graffiti-logo strong{font-size:36px}
  .photo-hero .button{font-size:12px}
  .trust-strip strong{font-size:8.7px}
}

/* Rééquilibrage final des proportions sur téléphone. */
@media(max-width:700px){
  .photo-hero{min-height:680px;background-position:62% center}
  .photo-hero .hero-copy{min-height:680px;padding:92px 20px 42px;justify-content:center;transform:translateY(34px)}
  .graffiti-logo{margin-bottom:4px}
  .graffiti-logo small{margin-left:-64px;font-size:29px}
  .graffiti-logo strong{font-size:46px;letter-spacing:-2.3px}
  .graffiti-logo:after{left:2%;right:-2%;bottom:-9px;height:5px}
  .photo-hero .location-signature{margin:19px 0 21px;font-size:9.5px}
  .photo-hero h1{max-width:365px;font-size:36px;line-height:1.02;letter-spacing:-1.9px}
  .photo-hero h1 em{font-size:1.12em}
  .photo-hero .hero-lead{max-width:360px;margin:20px auto 11px;font-size:13px;line-height:1.5}
  .always-open{margin:0 0 20px;font-size:10.5px}
  .photo-hero .hero-actions{grid-template-columns:1.08fr .92fr;width:min(100%,342px);gap:9px}
  .photo-hero .button{min-height:50px;padding:0 12px;font-size:13px}

  .trust-strip{min-height:76px;padding:9px 8px}
  .trust-strip div{min-height:58px;padding:8px 7px}
  .trust-strip strong{max-width:105px;font-size:10px;line-height:1.35}

  .section{padding:68px 22px}
  .eyebrow{margin-bottom:15px;font-size:9.5px;letter-spacing:2px}
  .section h2,.story-copy h2,.commitments-title h2{font-size:36px;line-height:1.06;letter-spacing:-1.9px}
  .local-story{gap:31px;padding-top:64px;padding-bottom:66px}
  .story-kicker{font-size:9px;line-height:1.5}
  .story-copy p{margin-top:22px}
  .story-copy>a{margin-top:27px}
  .story-quote{margin-top:2px;padding:25px 22px}
  .story-quote p{font-size:17px;line-height:1.45}

  .services{padding-top:66px;padding-bottom:68px}
  .section-heading{margin-bottom:31px}
  .service-grid{gap:12px}
  .service-card{padding:25px 23px}
  .service-card h3{margin-top:28px;font-size:21px;line-height:1.12}
  .service-card p{font-size:13px;line-height:1.62}
  .service-scope{margin-top:19px;padding:24px 22px}

  .process{padding-top:68px;padding-bottom:68px}
  .process-heading h2{font-size:37px}
  .process-list article{gap:17px;padding:23px 0}
  .process-list h3{font-size:19px}
  .process-list p{font-size:13px;line-height:1.6}

  .reviews{padding-top:66px;padding-bottom:68px}
  .reviews-heading h2{font-size:38px}
  .reviews .google-rating strong{font-size:38px}
  .reviews .review-card{flex-basis:304px;width:304px;max-width:81vw;min-height:250px;padding:25px 23px}
  .reviews .review-card blockquote{font-size:14.5px;line-height:1.62}

  .booking{padding-top:68px;padding-bottom:76px}
  .booking-intro h2{font-size:38px;line-height:1.05}
  .phone-list{margin-top:28px}
  .booking-form{padding:23px 17px}
  .field{margin-bottom:14px}
  .field label{margin-bottom:6px}
  .field input{min-height:50px}
  .form-note{font-size:9px;line-height:1.5}
}

@media(max-width:370px){
  .photo-hero{min-height:660px}
  .photo-hero .hero-copy{min-height:660px;padding-inline:16px;transform:translateY(27px)}
  .graffiti-logo strong{font-size:42px}
  .photo-hero h1{font-size:33px}
  .photo-hero .hero-actions{width:100%}
  .trust-strip strong{font-size:9px}
  .section{padding-left:18px;padding-right:18px}
}

/* Composition d'accueil mobile finalisée. */
@media(max-width:700px){
  main{overflow:hidden}
  .photo-hero{min-height:680px;background-position:63% center;overflow:visible}
  .photo-hero:before{background:linear-gradient(180deg,rgba(5,9,7,.12) 0%,rgba(5,9,7,.08) 24%,rgba(5,9,7,.38) 52%,rgba(5,9,7,.88) 100%)}
  .photo-hero:after{background:radial-gradient(circle at 50% 48%,transparent 0 25%,rgba(4,8,7,.06) 52%,rgba(4,8,7,.28) 100%)}
  .photo-hero .hero-copy{min-height:680px;padding:88px 20px 60px;transform:translateY(22px)}
  .graffiti-logo{margin-bottom:0}
  .graffiti-logo small{margin-left:-66px;font-size:30px}
  .graffiti-logo strong{font-size:47px}
  .photo-hero .location-signature{margin:15px 0 17px}
  .photo-hero h1{font-size:35px;line-height:1;letter-spacing:-1.85px;text-shadow:0 5px 22px rgba(0,0,0,.4)}
  .photo-hero .hero-lead{margin:18px auto 9px}
  .always-open{margin-bottom:18px}
  .photo-hero .hero-actions{grid-template-columns:1.35fr .75fr;width:min(100%,340px);gap:9px}
  .photo-hero .primary{box-shadow:0 14px 34px rgba(71,41,10,.35)}
  .photo-hero .secondary{border-color:rgba(255,255,255,.32);background:rgba(8,13,11,.34);box-shadow:none}

  .trust-strip{z-index:5;width:calc(100% - 24px);min-height:88px;margin:-26px auto 0;padding:9px 6px;color:var(--ink);border:1px solid rgba(125,97,65,.12);border-radius:21px;background:rgba(248,244,236,.97);box-shadow:0 18px 44px rgba(24,31,27,.14);backdrop-filter:blur(15px)}
  .trust-strip div{min-height:68px;padding:9px 7px;border-color:rgba(137,89,46,.16)}
  .trust-strip strong{min-height:27px;display:flex;align-items:center;justify-content:center;color:#17201c;font-size:9.5px;line-height:1.35}
  .trust-strip span{display:block;margin-top:4px;color:#79756d;font-size:7.5px;line-height:1.25}
  .local-story{padding-top:76px}
}

@media(max-width:370px){
  .photo-hero .hero-copy{transform:translateY(18px)}
  .photo-hero .hero-actions{grid-template-columns:1.28fr .72fr}
  .trust-strip{width:calc(100% - 18px)}
  .trust-strip strong{font-size:8.8px}
  .trust-strip span{font-size:7px}
}

/* Système mobile unifié : grille, typographie et rythme vertical. */
@media(max-width:700px){
  :root{--mobile-gutter:20px;--mobile-section:58px;--mobile-radius:20px}
  .site-header{padding-inline:var(--mobile-gutter)}

  .photo-hero{min-height:650px;background-position:63% center}
  .photo-hero .hero-copy{min-height:650px;padding:82px var(--mobile-gutter) 50px;transform:translateY(18px)}
  .graffiti-logo small{margin-left:-60px;font-size:28px}
  .graffiti-logo strong{font-size:44px;letter-spacing:-2px}
  .photo-hero .location-signature{margin:14px 0 16px}
  .photo-hero h1{width:100%;max-width:335px;font-size:34px;line-height:1.02;letter-spacing:-1.7px}
  .photo-hero .hero-lead{width:100%;max-width:335px;margin:17px auto 8px;font-size:12.5px}
  .always-open{margin-bottom:17px}
  .photo-hero .hero-actions{width:100%;max-width:335px;grid-template-columns:1.28fr .72fr}
  .photo-hero .button{min-height:49px}

  .trust-strip{width:calc(100% - (var(--mobile-gutter) * 2));min-height:84px;margin:-22px auto 0;padding:8px 5px;border-radius:var(--mobile-radius)}
  .trust-strip div{min-height:66px;padding:8px 5px}
  .trust-strip strong{min-height:26px;font-size:9.2px}
  .trust-strip span{font-size:7.2px}

  .section{width:100%;padding:var(--mobile-section) var(--mobile-gutter)}
  .section h2,.story-copy h2,.commitments-title h2,.process-heading h2,.reviews-heading h2,.booking-intro h2{font-size:34px;line-height:1.08;letter-spacing:-1.7px}
  .eyebrow{margin-bottom:13px;font-size:9px;line-height:1.4;letter-spacing:1.8px}
  .section-heading{margin-bottom:28px;text-align:left}
  .section-heading>p:last-child{max-width:330px;margin-top:18px;font-size:13.5px;line-height:1.62;text-align:left}

  .local-story{gap:25px;padding-top:70px;padding-bottom:var(--mobile-section)}
  .story-kicker{justify-content:flex-start;gap:10px;font-size:8.5px}
  .story-copy h2{max-width:320px}
  .story-copy p{margin-top:19px;font-size:13.5px;line-height:1.7}
  .story-values{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:21px}
  .story-values span{justify-content:center;padding:9px 8px;text-align:center}
  .story-copy>a{margin-top:23px}
  .story-quote{display:none}

  .services{padding-top:var(--mobile-section);padding-bottom:var(--mobile-section)}
  .service-grid{gap:10px}
  .service-card{min-height:0;padding:22px;border-radius:var(--mobile-radius)}
  .service-card .icon{width:46px;height:46px}
  .service-card h3{margin:22px 0 9px;font-size:20px;line-height:1.18}
  .service-card p{font-size:12.5px;line-height:1.58}
  .service-scope{margin-top:14px;padding:22px;border-radius:var(--mobile-radius)}
  .service-scope p{margin:15px 0;font-size:12px;line-height:1.55}

  .process{gap:30px;padding-top:var(--mobile-section);padding-bottom:var(--mobile-section)}
  .process-heading h2{max-width:300px}
  .process-list article{gap:15px;padding:20px 0}
  .process-list article>span{font-size:10px}
  .process-list h3{font-size:18px}
  .process-list p{margin-top:7px;font-size:12.5px;line-height:1.55}

  .reviews{padding-top:var(--mobile-section);padding-bottom:var(--mobile-section)}
  .reviews-heading{margin-bottom:26px}
  .reviews-heading h2{max-width:315px}
  .reviews .google-rating{margin-top:17px}
  .reviews .google-rating strong{font-size:36px}
  .reviews-grid{padding-right:var(--mobile-gutter)}
  .reviews .review-card{flex-basis:300px;width:300px;max-width:80vw;min-height:236px;padding:23px 22px}
  .reviews .review-card blockquote{margin:21px 0 19px;font-size:14px;line-height:1.58}
  .reviews-link{margin-top:22px}

  .booking{gap:29px;padding-top:var(--mobile-section);padding-bottom:68px}
  .booking-intro h2{max-width:320px}
  .booking-intro>p{margin-top:18px;font-size:13.5px;line-height:1.65}
  .phone-list{margin-top:23px}
  .booking-form{padding:21px 16px;border-radius:var(--mobile-radius)}
  .required-note{margin-bottom:17px}
  .field{margin-bottom:12px}
  .field input{min-height:48px;padding:12px 13px}
  .field textarea{min-height:82px;padding:12px 13px}
  .asap-option{min-height:46px;margin-bottom:12px}
  .form-actions .button{min-height:49px}
  .form-note{margin-top:13px}

  footer{gap:17px;padding:34px var(--mobile-gutter) 88px}
}

@media(max-width:370px){
  :root{--mobile-gutter:17px;--mobile-section:54px}
  .photo-hero{min-height:630px}
  .photo-hero .hero-copy{min-height:630px;padding-top:78px;padding-bottom:44px;transform:translateY(14px)}
  .graffiti-logo strong{font-size:41px}
  .photo-hero h1{font-size:32px}
  .photo-hero .button{font-size:11.5px}
  .trust-strip strong{font-size:8.5px}
}

.mobile-story,.mobile-hero-rating{display:none}

/* Direction mobile narrative — grands visuels, une idée par écran. */
@media(max-width:700px){
  .photo-hero{min-height:100svh;background-position:63% center}
  .photo-hero .hero-copy{min-height:100svh;padding:88px 20px 54px;justify-content:flex-start;transform:none}
  .graffiti-logo small{font-size:34px;margin-left:-72px}
  .graffiti-logo strong{font-size:52px}
  .photo-hero .location-signature{margin:16px 0 0}
  .photo-hero h1{margin-top:auto;font-size:32px;line-height:1.02}
  .photo-hero .hero-lead{margin:15px auto 7px;font-size:12px}
  .always-open{margin-bottom:16px}
  .photo-hero .hero-actions{display:block;max-width:230px}
  .photo-hero .hero-actions .primary{width:100%;min-height:52px;border-radius:999px;font-size:14px}
  .photo-hero .hero-actions .secondary{display:none}
  .mobile-hero-rating{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:17px;color:white;font-size:12px}
  .mobile-hero-rating span{color:var(--bronze-light);letter-spacing:2px}
  .mobile-hero-rating strong{font-size:17px}
  .mobile-hero-rating small{color:#c7ccc8;font-size:10px}
  .trust-strip{display:none}

  .mobile-story{display:block;background:#0b110f}
  .mobile-scene{position:relative;min-height:760px;display:flex;align-items:flex-end;padding:54px 20px 62px;color:white;background-position:center;background-size:cover;overflow:hidden}
  .mobile-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,7,.08) 0%,rgba(5,9,7,.18) 38%,rgba(5,9,7,.9) 100%)}
  .mobile-scene-medical{background-image:url("hero-route-corse-mobile-9x16-natural-v2.webp");background-position:69% center}
  .mobile-scene-distance{background-image:url("hero-route-corse-desktop-16x9-natural-v2.webp");background-position:58% center}
  .mobile-scene-copy{position:relative;z-index:1;width:100%;max-width:335px;margin:0 auto;text-align:center}
  .mobile-scene-copy>p,.mobile-summary-heading>p{margin:0 0 13px;color:var(--bronze-light);font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
  .mobile-scene-copy h2{margin:0;font:800 31px/1.02 "Manrope",sans-serif;letter-spacing:-1.5px;text-wrap:balance}
  .mobile-scene-copy h2 em{color:var(--bronze-light);font:700 1.15em/.85 "Caveat",cursive;letter-spacing:-1px}
  .mobile-scene-copy>span{display:block;max-width:315px;margin:18px auto 0;color:#d3d8d4;font-size:13px;line-height:1.62}

  .mobile-service-summary{padding:66px 20px 70px;color:white;background:radial-gradient(circle at 80% 0,#24302a,#0b110f 58%)}
  .mobile-summary-heading{max-width:335px;margin:0 auto 34px}
  .mobile-summary-heading h2{max-width:315px;margin:0;font:750 31px/1.08 "Manrope",sans-serif;letter-spacing:-1.5px}
  .mobile-summary-list{max-width:335px;margin:auto;border-top:1px solid rgba(255,255,255,.1)}
  .mobile-summary-list article{display:flex;flex-direction:column;gap:6px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mobile-summary-list strong{color:var(--bronze-light);font-size:16px}
  .mobile-summary-list span{color:#aeb7b1;font-size:12.5px}
  .mobile-summary-cta{max-width:335px;min-height:52px;display:flex;align-items:center;justify-content:space-between;margin:30px auto 0;padding:0 18px;color:#17120d;border-radius:999px;background:var(--bronze-light);font-size:13px;font-weight:800}

  .local-story,.services,.process{display:none}
  .reviews{border-top:0}
  .reviews-heading h2{font-size:32px}
  .booking-intro h2{font-size:32px}
}

@media(max-width:370px){
  .photo-hero .hero-copy{padding-inline:17px}
  .graffiti-logo small{font-size:31px}
  .graffiti-logo strong{font-size:48px}
  .photo-hero h1{font-size:30px}
  .mobile-scene{min-height:720px;padding-inline:17px}
  .mobile-scene-copy h2,.mobile-summary-heading h2{font-size:29px}
}

/* Ajustement iPhone : le lockup Taxi Ambrosini / Castirla descend légèrement.
   Les deux traits de localisation restent parfaitement assortis au doré du logo. */
@media (max-width:700px){
  .photo-hero .graffiti-logo{
    transform:translateY(9px) rotate(-2deg);
  }
  .photo-hero .location-signature{
    position:relative;
    top:9px;
  }
  .photo-hero .location-signature>span{
    background:#fff !important;
    opacity:1;
  }
  .site-header .language-switcher button.active{
    color:var(--bronze-light) !important;
    background:transparent !important;
  }
}

/* Une seule photographie sur mobile : l'accueil. */
@media(max-width:700px){
  .mobile-scene{min-height:510px;align-items:center;padding:68px 20px;background-image:none;background-position:center}
  .mobile-scene:before{background:none}
  .mobile-scene-medical{background:radial-gradient(circle at 82% 12%,#2c3932 0,#121a16 36%,#090f0c 78%)}
  .mobile-scene-distance{color:var(--ink);background:linear-gradient(145deg,#eee6d9 0%,#f8f3ea 58%,#e7ddcf 100%)}
  .mobile-scene-medical:after,.mobile-scene-distance:after{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(198,146,75,.13);border-radius:50%;pointer-events:none}
  .mobile-scene-medical:after{right:-265px;top:-190px;box-shadow:0 0 0 55px rgba(198,146,75,.025),0 0 0 110px rgba(198,146,75,.018)}
  .mobile-scene-distance:after{left:-270px;bottom:-220px;box-shadow:0 0 0 55px rgba(169,111,48,.025),0 0 0 110px rgba(169,111,48,.018)}
  .mobile-scene-copy{display:flex;min-height:300px;flex-direction:column;justify-content:center}
  .mobile-scene-copy h2{font-size:33px}
  .mobile-scene-distance .mobile-scene-copy>p{color:var(--bronze-dark)}
  .mobile-scene-distance .mobile-scene-copy h2 em{color:var(--bronze-dark)}
  .mobile-scene-distance .mobile-scene-copy>span{color:#5f665f}
}

@media(max-width:370px){.mobile-scene{min-height:480px;padding-inline:17px}.mobile-scene-copy h2{font-size:30px}}

/* Barre de contact mobile finale : discrète et jamais au-dessus du formulaire. */
@media(max-width:700px){
  .mobile-call{left:12px;right:12px;bottom:7px;gap:4px;padding:2px;border-color:rgba(255,255,255,.09);border-radius:14px;background:rgba(8,13,11,.76);box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
  .mobile-call a{min-height:38px;padding:6px 10px;border-radius:11px;font-size:12px}
}

/* Navigation mobile minimale sur la photographie. */
@media(max-width:700px){
  .menu-toggle{width:44px;height:44px;padding:10px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .menu-toggle span:not(.sr-only){width:21px;height:2px;margin:5px auto;background:white;box-shadow:0 1px 5px rgba(0,0,0,.4)}
  .menu-toggle span:nth-of-type(3){display:none}
  .language-switcher{gap:13px;margin-right:3px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .language-switcher button{position:relative;min-width:22px;height:34px;padding:0;color:rgba(255,255,255,.72);border:0;border-radius:0;background:transparent;font-size:9px;letter-spacing:.6px}
  .language-switcher button.active{color:var(--bronze-light);background:transparent;box-shadow:none}
  .language-switcher button.active:after{content:"";position:absolute;left:4px;right:4px;bottom:4px;height:1px;background:var(--bronze-light)}
  .language-switcher button:focus{outline:none}
  .language-switcher button:focus-visible{color:white;text-decoration:underline;text-underline-offset:5px}
  .graffiti-logo{margin-top:24px}
}

/* Cadrage final de l'accueil mobile : moins de ciel, sujet mieux présent. */
@media(max-width:700px){
  .photo-hero{
    background-size:auto 108%;
    background-position:69% 58%;
  }
  .photo-hero .hero-copy{padding-bottom:68px}
  .photo-hero h1{max-width:325px}
  .photo-hero .hero-lead{max-width:320px}
}

/* Continuité visuelle : des séparations fines plutôt que des ruptures en blocs. */
.local-story,.services,.process,.reviews,.booking{
  border-top:1px solid transparent;
  border-image:linear-gradient(90deg,transparent 5%,rgba(169,111,48,.28) 50%,transparent 95%) 1;
}
.process,.booking{
  border-image-source:linear-gradient(90deg,transparent 5%,rgba(211,161,92,.24) 50%,transparent 95%);
}

@media(max-width:700px){
  .mobile-scene,.mobile-service-summary,.reviews,.booking{
    border-top:1px solid transparent;
    border-image:linear-gradient(90deg,transparent 8%,rgba(198,146,75,.38) 50%,transparent 92%) 1;
  }
  .mobile-scene:first-child{border-top-color:rgba(198,146,75,.2)}
  .mobile-scene-distance{box-shadow:inset 0 24px 50px rgba(111,82,46,.035),inset 0 -24px 50px rgba(111,82,46,.035)}
  .mobile-service-summary{box-shadow:inset 0 24px 55px rgba(255,255,255,.018)}
}

/* Finitions PC : rythme plus précis et navigation harmonisée. */
@media(min-width:901px){
  .site-header nav{gap:30px}
  .site-header nav>a:not(.nav-call){position:relative;padding:10px 0}
  .site-header nav>a:not(.nav-call):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--bronze-light);transition:right .25s ease}
  .language-switcher{gap:13px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .language-switcher button{position:relative;min-width:22px;height:34px;padding:0;color:rgba(255,255,255,.76);border:0;border-radius:0;background:transparent;font-size:10px;letter-spacing:.5px}
  .language-switcher button.active{color:var(--bronze-light);background:transparent;box-shadow:none}
  .language-switcher button.active:after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:1px;background:var(--bronze-light)}
  .language-switcher button:focus{outline:none}
  .section{padding-top:112px;padding-bottom:112px}
  .trust-strip{padding-top:25px;padding-bottom:25px}
  .service-card{min-height:280px;padding:34px 36px}
  .service-card h3{margin-top:44px}
  .reviews-heading{margin-bottom:48px}
  .reviews .review-card{min-height:285px;padding:32px}
  .booking{padding-top:112px;padding-bottom:112px}
}

/* Lisibilité mobile finale : petits textes renforcés sans modifier la hiérarchie. */
@media(max-width:700px){
  .photo-hero .hero-lead{font-size:13px}
  .always-open{font-size:11px}
  .mobile-hero-rating{font-size:13px}
  .mobile-hero-rating small{font-size:11px}
  .mobile-scene-copy>p,.mobile-summary-heading>p{font-size:10px}
  .mobile-scene-copy>span{font-size:14px}
  .mobile-summary-list span{font-size:13.5px}
  .required-note,.form-note{font-size:10px}
  .language-switcher button{font-size:10px}
}

@media(hover:hover) and (min-width:901px){.site-header nav>a:not(.nav-call):hover:after{right:0}}

.photo-hero .location-signature{color:#fff}
.photo-hero .location-signature>span{background:var(--bronze-light)}

@media(max-width:700px){
  .photo-hero .hero-copy{padding-bottom:82px}
  .photo-hero .hero-lead{margin-top:18px;margin-bottom:9px}
  .always-open{margin-bottom:20px}
  .mobile-hero-rating{margin-top:20px}
}

/* Évolution final114 : clarté renforcée sans modifier l'identité visuelle. */
.hero-call{flex-direction:column;gap:0;line-height:1.15}
.hero-call small{font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;opacity:.75}
.hero-call strong{font-size:16px}
.cpam-guide{padding:108px 6vw;display:grid;grid-template-columns:.88fr 1.12fr;gap:7vw;color:white;background:radial-gradient(circle at 85% 10%,#27332e 0,#111815 38%,#080e0b 78%)}
.cpam-guide-heading{align-self:start}
.cpam-guide-heading .eyebrow{color:var(--bronze-light)}
.cpam-guide h2{margin:0;font:700 clamp(42px,5vw,72px)/.98 "Manrope",sans-serif;letter-spacing:-3.5px}
.cpam-guide h2 em{color:var(--bronze-light);font:700 .95em "Caveat",cursive;letter-spacing:-1px}
.cpam-guide-heading>p:last-child{max-width:590px;margin-top:27px;color:#bac3bd;font-size:16px;line-height:1.75}
.cpam-guide-steps{border-top:1px solid rgba(255,255,255,.12)}
.cpam-guide-steps article{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cpam-guide-steps article>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(211,161,92,.5);border-radius:50%;color:var(--bronze-light);font-size:11px;font-weight:800}
.cpam-guide-steps h3{margin:0 0 7px;font-size:20px}.cpam-guide-steps p{margin:0;color:#aeb8b1;font-size:14px}
.cpam-disclaimer{grid-column:1/-1;margin:0;padding:19px 23px;border-left:3px solid var(--bronze-light);color:#d9ddd9;background:rgba(255,255,255,.055);font-size:13px}
.service-scope small{display:inline-block;margin-top:7px;color:#c8d0ca;font-size:11px}
.booking-warning{margin:4px 0 17px;padding:12px 14px;color:#694319;border-left:3px solid var(--bronze-dark);background:#f6ead8;font-size:12px;font-weight:800}
.booking-intro .pickup-note{margin-top:18px;padding-left:15px;color:#d8ded9;border-left:2px solid var(--bronze-light);font-size:13px;font-weight:700}
.service-area{position:relative;min-height:630px;padding:105px 6vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;color:white;background:linear-gradient(90deg,rgba(7,13,10,.97) 0%,rgba(8,14,11,.88) 48%,rgba(8,14,11,.4) 100%),url("hero-route-corse-desktop-16x9-natural-v2.webp") center/cover no-repeat;overflow:hidden}
.service-area:after{content:"TOUTES DISTANCES";position:absolute;right:-2vw;bottom:-5vw;color:rgba(255,255,255,.035);font:800 8vw "Manrope",sans-serif;letter-spacing:-6px;white-space:nowrap}
.service-area-copy{position:relative;z-index:1}.service-area-copy .eyebrow{color:var(--bronze-light)}
.service-area h2{margin:0;font:750 clamp(45px,5.2vw,76px)/.98 "Manrope",sans-serif;letter-spacing:-4px}.service-area h2 em{color:var(--bronze-light);font:700 1.02em "Caveat",cursive;letter-spacing:-1px}
.service-area-copy>p:last-of-type{max-width:570px;margin:27px 0;color:#c3cbc5;font-size:16px;line-height:1.75}.service-area-copy>a{display:inline-flex;gap:30px;align-items:center;margin-top:10px;padding-bottom:7px;color:var(--bronze-light);border-bottom:1px solid rgba(211,161,92,.55);font-size:13px;font-weight:800}
.service-area-route{position:relative;z-index:1;padding:24px 30px;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:rgba(8,15,11,.65);box-shadow:0 30px 70px rgba(0,0,0,.25);backdrop-filter:blur(15px)}
.service-area-route article{position:relative;z-index:1;min-height:92px;display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center}.service-area-route i{width:39px;height:39px;display:grid;place-items:center;color:#17120d;border-radius:50%;background:var(--bronze-light);font-size:10px;font-style:normal;font-weight:800}.service-area-route article:first-of-type i,.service-area-route article:last-of-type i{color:var(--bronze-light);border:1px solid var(--bronze-light);background:#101713}.service-area-route article>div{display:flex;flex-direction:column}.service-area-route strong{font-size:17px}.service-area-route small{margin-top:4px;color:#aeb7b1;font-size:12px}.route-line{position:absolute;z-index:0;top:70px;bottom:70px;left:49px;width:1px;background:linear-gradient(var(--bronze-light),rgba(211,161,92,.2),var(--bronze-light))}

@media(max-width:700px){
  .photo-hero{min-height:760px;background-size:cover;background-position:66% center}
  .photo-hero .hero-copy{min-height:760px;padding:86px 20px 40px;justify-content:flex-end}
  .graffiti-logo{position:absolute;top:86px;left:50%;width:100%;margin:0;transform:translateX(-50%)}
  .photo-hero .location-signature{position:absolute;top:189px;left:50%;margin:0;transform:translateX(-50%);white-space:nowrap}
  .photo-hero h1{margin-top:0;font-size:34px}
  .photo-hero .hero-actions{display:grid;max-width:335px;grid-template-columns:1.12fr .88fr}
  .photo-hero .hero-actions .secondary{display:flex;padding:0 13px;font-size:11px;text-align:center}
  .hero-call small{font-size:8px}.hero-call strong{font-size:14px}
  .mobile-hero-rating{margin-top:14px}
  .cpam-guide{padding:66px 20px;display:block}
  .cpam-guide h2{font-size:35px;line-height:1.03;letter-spacing:-1.8px}
  .cpam-guide-heading>p:last-child{font-size:14px;line-height:1.65}
  .cpam-guide-steps{margin-top:31px}
  .cpam-guide-steps article{grid-template-columns:44px 1fr;gap:15px;padding:22px 0}
  .cpam-guide-steps article>span{width:38px;height:38px}
  .cpam-guide-steps h3{font-size:18px}.cpam-guide-steps p{font-size:13px;line-height:1.55}
  .cpam-disclaimer{margin-top:23px;font-size:11.5px;line-height:1.55}
  .field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
  .field-row .field{min-width:0}.field-row input{width:100%;min-width:0;max-width:100%;font-size:13px}
  .service-area{min-height:0;padding:72px 20px;display:block;background:linear-gradient(180deg,rgba(7,13,10,.7),rgba(7,13,10,.97) 47%),url("hero-route-corse-desktop-16x9-natural-v2.webp") center/cover no-repeat}
  .service-area:after{right:-25px;bottom:-4px;font-size:58px;letter-spacing:-4px}
  .service-area h2{font-size:36px;line-height:1.02;letter-spacing:-2px}.service-area-copy>p:last-of-type{font-size:14px;line-height:1.65}
  .service-area-route{margin-top:42px;padding:16px 21px;border-radius:20px}.service-area-route article{min-height:88px;grid-template-columns:41px 1fr;gap:14px}.service-area-route i{width:36px;height:36px}.route-line{left:39px;top:59px;bottom:59px}.service-area-route strong{font-size:15px}.service-area-route small{font-size:11px;line-height:1.45}
  footer{padding-bottom:34px}
}

/* final115 : un seul contenu pour ordinateur et mobile, sans sections dupliquées. */
.service-grid{grid-template-columns:repeat(3,1fr)}
.services-focused{background:linear-gradient(145deg,#f8f3ea,#e9dfd1)}.focused-services{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:stretch}.transfer-showcase,.everyday-showcase{position:relative;padding:38px;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(24,31,27,.13)}.transfer-showcase{color:white;background:radial-gradient(circle at 90% 0,#35443c 0,#17201b 37%,#0a100d 78%)}.transfer-showcase:after{content:"CORSE";position:absolute;right:-12px;bottom:-42px;color:rgba(255,255,255,.04);font:800 110px "Manrope";letter-spacing:-8px}.showcase-title{position:relative;z-index:1;display:flex;gap:20px;align-items:center}.showcase-title .transport-icons{width:88px;height:60px;flex:0 0 88px}.showcase-title p{margin:0 0 3px;color:var(--bronze-light);font-size:9px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.showcase-title h3,.everyday-showcase h3{margin:0;font:750 clamp(29px,3.2vw,46px)/1 "Manrope";letter-spacing:-2px}.showcase-lead{position:relative;z-index:1;max-width:630px;margin:28px 0;color:#bfc8c1}.destination-list{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.destination-list>div{padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.045)}.destination-list strong{display:block;margin-bottom:11px;color:var(--bronze-light);font-size:12px}.destination-list span{display:block;color:#d7ddd8;font-size:12px;line-height:1.8}.transfer-showcase>a,.everyday-showcase>a{position:relative;z-index:1;display:inline-flex;gap:30px;margin-top:27px;padding-bottom:6px;border-bottom:1px solid;font-size:12px;font-weight:800}.transfer-showcase>a{color:var(--bronze-light)}.everyday-showcase{display:flex;flex-direction:column;color:var(--ink);background:white}.everyday-showcase .card-index{position:absolute;right:27px;top:25px;color:#c0b5a7;font-size:11px}.everyday-showcase .eyebrow{margin-top:50px}.everyday-showcase>p:not(.eyebrow){color:#6d746e;font-size:14px}.everyday-showcase ul{padding:0;margin:20px 0 0;list-style:none;border-top:1px solid var(--line)}.everyday-showcase li{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.everyday-showcase li:before{content:"•";margin-right:10px;color:var(--bronze-dark)}.everyday-showcase>a{margin-top:auto;color:var(--bronze-dark);align-self:flex-start}
.transfer-points{margin-top:24px;padding:35px 38px;display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;color:white;border-radius:24px;background:linear-gradient(125deg,#171f1b,#090f0c);box-shadow:0 25px 65px rgba(19,28,23,.14)}.transfer-heading .eyebrow{margin-bottom:12px;color:var(--bronze-light)}.transfer-heading h3{max-width:500px;margin:0;font:750 clamp(25px,2.5vw,37px)/1.08 "Manrope",sans-serif;letter-spacing:-1.7px}.transfer-heading>p:last-child{max-width:480px;margin:19px 0 0;color:#aeb8b1;font-size:12.5px}.transfer-groups{border-top:1px solid rgba(255,255,255,.12)}.transfer-groups article{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}.transfer-groups span{display:block;margin-bottom:6px;color:var(--bronze-light);font-size:10px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}.transfer-groups p{margin:0;color:#e0e4e1;font-size:13px;line-height:1.65}
.service-card .transport-icons{width:78px;display:flex;gap:0;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--bronze-light),#c68139)}.transport-icons b{width:50%;height:100%;display:grid;place-items:center;color:#17120d;font-size:22px;font-weight:400}.transport-icons b+ b{border-left:1px solid rgba(23,18,13,.2)}.transfer-groups .transfer-primary{padding:21px 0}.transfer-groups .transfer-primary span{font-size:11px}.transfer-groups .transfer-primary span i{display:inline-grid;width:27px;height:27px;margin-right:7px;place-items:center;border-radius:8px;color:#17120d;background:var(--bronze-light);font-size:15px;font-style:normal;letter-spacing:0}.transfer-groups .transfer-primary p{font-size:13.5px}.transfer-groups .transfer-secondary{padding:14px 0;opacity:.72}.transfer-groups .transfer-secondary p{font-size:11.5px}
.faq{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;background:#f1ece3}
.faq-heading{align-self:start;position:sticky;top:115px}.faq-heading h2{font-size:clamp(43px,5vw,70px)}.faq-heading>p:last-child{max-width:430px;margin-top:25px;color:#686e68;font-size:15px}
.faq-list{border-top:1px solid rgba(23,32,28,.16)}.faq-list details{border-bottom:1px solid rgba(23,32,28,.16)}.faq-list summary{min-height:88px;padding:23px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-size:17px;font-weight:800;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid rgba(23,32,28,.25);border-radius:50%;color:var(--bronze-dark);font-size:20px;transition:.25s}.faq-list details[open] summary span{color:white;background:var(--bronze-dark);transform:rotate(45deg)}.faq-list details p{max-width:690px;margin:-6px 55px 26px 4px;color:#666d67;font-size:14px;line-height:1.7}
@media(max-width:700px){
  .mobile-story{display:none!important}
  .local-story,.services{display:grid}
  .services{display:block}
  .service-grid{grid-template-columns:1fr}
  .local-story{padding-top:62px}
  .transfer-points{margin-top:16px;padding:26px 22px;display:block;border-radius:20px}.transfer-heading h3{font-size:26px}.transfer-heading>p:last-child{font-size:12px;line-height:1.6}.transfer-groups{margin-top:27px}.transfer-groups article{padding:16px 0}.transfer-groups p{font-size:12.5px}
  .faq{display:block}.faq-heading{position:static;margin-bottom:31px}.faq-heading h2{font-size:35px}.faq-list summary{min-height:78px;padding:20px 0;font-size:15px;line-height:1.35}.faq-list details p{margin:-3px 45px 23px 0;font-size:13px;line-height:1.65}
  .services-focused{padding-top:70px}.focused-services{grid-template-columns:1fr}.transfer-showcase,.everyday-showcase{padding:27px 22px;border-radius:21px}.showcase-title{gap:14px}.showcase-title .transport-icons{width:78px;height:54px;flex-basis:78px}.showcase-title h3,.everyday-showcase h3{font-size:30px;letter-spacing:-1.5px}.showcase-lead{font-size:13px}.destination-list{grid-template-columns:1fr}.destination-list>div{padding:17px}.everyday-showcase .eyebrow{margin-top:36px}.everyday-showcase>a{margin-top:27px}
}

/* final122 : corrections de contrôle qualité. */

/* final124 : accroches harmonisées avec le coloris de la page d’accueil. */
.cpam-guide h2 em,
.services-focused .section-heading h2 em,
.reviews-heading h2 em,
.faq-heading h2 em,
.booking-intro h2 em{
  color:var(--bronze-light);
  font:inherit;
  font-style:normal;
  letter-spacing:inherit;
}
.services-focused .section-heading h2 em,
.reviews-heading h2 em,
.faq-heading h2 em{color:var(--bronze-dark)}
section[id]{scroll-margin-top:78px}
.faq-list summary:focus-visible{outline:3px solid var(--bronze-light);outline-offset:4px;border-radius:8px}
.field-row.is-disabled{opacity:.58}.field-row.is-disabled input{cursor:not-allowed}
@media(max-width:700px){
  body{padding-bottom:0}
  .booking-form input,.booking-form textarea{font-size:16px}
  .field-row input{font-size:16px;padding-inline:9px}
  section[id]{scroll-margin-top:68px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.button,.choice-card,.faq-list summary span{transition:none!important}.reveal{transform:none}}


/* ---- theme128.css ---- */
:root{--f-ink:#17201c;--f-night:#101512;--f-night-soft:#171e1a;--f-ivory:#f3eee5;--f-ivory-2:#e8e1d6;--f-bronze:#bb7a3e;--f-gold:#d9a365;--f-muted:#6a726d;--f-line:rgba(23,32,28,.14)}
html{overflow-x:hidden}.section,.cpam-guide{padding:118px 7vw}.section h2,.cpam-guide h2{font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-4px}.section h2 em,.cpam-guide h2 em{font-style:normal;letter-spacing:inherit}
.cpam-guide{position:relative;grid-template-columns:.82fr 1.18fr;gap:7vw;color:var(--f-ink);background:var(--f-ivory)}.cpam-guide .eyebrow,.cpam-guide h2 em{color:var(--f-bronze)}.cpam-guide-heading>p:last-child{color:var(--f-muted)}.cpam-guide-steps{border-top:1px solid var(--f-line)}.cpam-guide-steps article{padding:26px 0;border-bottom:1px solid var(--f-line)}.cpam-guide-steps article>span{color:white;border:0;background:var(--f-ink)}.cpam-guide-steps p{color:var(--f-muted)}.cpam-disclaimer{color:#5e665f;border-left-color:var(--f-bronze);background:rgba(187,122,62,.07)}
.services-focused{color:white;background:var(--f-night)}.services-focused .section-heading{max-width:900px}.services-focused .section-heading h2 em,.services-focused .eyebrow{color:var(--f-gold)}.services-focused .section-heading>p:last-child{color:#aeb6b1}.focused-services{max-width:1220px;gap:16px}.transfer-showcase,.everyday-showcase{min-height:520px;padding:36px;border:1px solid rgba(255,255,255,.11);border-radius:18px;box-shadow:none}.transfer-showcase{display:flex;flex-direction:column;background:linear-gradient(145deg,#1b2922,#111713)}.transfer-showcase:before{content:"";position:absolute;inset:0;border-top:1px solid rgba(217,163,101,.48);border-radius:18px;pointer-events:none}.transfer-showcase .showcase-lead{margin-bottom:auto}.destination-list>div{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.025)}.everyday-showcase{color:white;background:#171c19}.everyday-showcase .eyebrow,.everyday-showcase li:before,.everyday-showcase>a{color:var(--f-gold)}.everyday-showcase>p:not(.eyebrow){color:#b1b8b4}.everyday-showcase ul,.everyday-showcase li{border-color:rgba(255,255,255,.12)}
.reviews{position:relative;color:var(--f-ink);background:var(--f-ivory)}.reviews-heading h2{color:var(--f-ink)}.reviews-heading h2 em,.reviews .eyebrow{color:var(--f-bronze)}.google-rating{border-left-color:#cec5b7}.reviews-grid{gap:0;border-top:1px solid var(--f-line);border-bottom:1px solid var(--f-line)}.reviews .review-card{min-height:270px;border:0;border-right:1px solid var(--f-line);border-radius:0;color:var(--f-ink);background:transparent;box-shadow:none;backdrop-filter:none}.reviews .review-card:last-child{border-right:0}.reviews .review-card blockquote,.reviews .review-card p{color:var(--f-ink)}.reviews .review-card p span{color:var(--f-muted)}.reviews-link{color:var(--f-bronze);border-color:var(--f-bronze)}
.faq{color:white;background:var(--f-night-soft)}.faq .eyebrow,.faq h2 em{color:var(--f-gold)}.faq-heading>p:last-child,.faq-list details p{color:#aeb6b1}.faq-list,.faq-list details{border-color:rgba(255,255,255,.13)}.faq-list summary span{color:var(--f-gold);border-color:rgba(255,255,255,.2)}.faq-list details[open] summary span{color:var(--f-ink);background:var(--f-gold)}
.booking{color:white;background:var(--f-night)}.booking .eyebrow,.booking h2 em{color:var(--f-gold)}.booking-intro>p:not(.eyebrow){color:#aeb6b1}.booking-intro .pickup-note{color:#d3d8d5}.phone-list strong{color:white}.booking-form{color:var(--f-ink);border-radius:18px;background:var(--f-ivory);box-shadow:0 28px 70px rgba(0,0,0,.22)}.booking-form input,.booking-form textarea{color:var(--f-ink);border:1px solid transparent;background:white}.booking-form .primary{color:white;background:var(--f-bronze)}.booking-warning{color:#694319;background:#eadbc8}.form-note{color:#717873}
footer{border-top:1px solid rgba(255,255,255,.08);background:#090c0a}
@media(hover:hover){.transfer-showcase,.everyday-showcase,.reviews .review-card{transition:transform .25s,border-color .25s}.transfer-showcase:hover,.everyday-showcase:hover{transform:translateY(-4px);border-color:rgba(217,163,101,.35)}}
@media(max-width:700px){.section,.cpam-guide{padding:72px 20px}.section h2,.cpam-guide h2{font-size:34px;line-height:1.06;letter-spacing:-1.8px}.cpam-guide{grid-template-columns:minmax(0,1fr);gap:38px}.cpam-guide>*{min-width:0}.cpam-disclaimer{grid-column:auto}.section-heading{margin-bottom:36px}.focused-services{grid-template-columns:1fr}.transfer-showcase,.everyday-showcase{min-height:auto;padding:25px 21px;border-radius:15px}.transfer-showcase:before{border-radius:15px}.transfer-showcase .showcase-lead{margin-bottom:25px}.destination-list{grid-template-columns:1fr}.reviews-grid{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible}.reviews .review-card{width:auto;min-width:0;min-height:auto;border-right:0;border-bottom:1px solid var(--f-line)}.reviews .review-card:last-child{border-bottom:0}.faq{display:block}.faq-heading{position:static;margin-bottom:30px}.booking{grid-template-columns:1fr;gap:38px}.booking-form{padding:24px 18px;border-radius:15px}.field-row,.form-actions{grid-template-columns:1fr}.field input,.field textarea{font-size:16px}}

/* ---- theme129.css ---- */
:root{--home-night:#090f14;--home-night-2:#0e171e;--home-slate:#14212a;--home-panel:#111b22;--home-copper:#c6924b;--home-copper-soft:#d7a665;--home-white:#f4f5f3;--home-muted:#a8b0b4;--home-line:rgba(255,255,255,.11)}
body{color:var(--home-white);background:var(--home-night)}
.cpam-guide,.services-focused,.reviews,.faq,.booking{color:var(--home-white)}
.cpam-guide{background:linear-gradient(180deg,#0a1015,#0d151b)}.cpam-guide .eyebrow,.cpam-guide h2 em{color:var(--home-copper)}.cpam-guide-heading>p:last-child,.cpam-guide-steps p{color:var(--home-muted)}.cpam-guide-steps,.cpam-guide-steps article{border-color:var(--home-line)}.cpam-guide-steps article>span{color:#111820;background:var(--home-copper)}.cpam-disclaimer{color:#c6cbce;border-left-color:var(--home-copper);background:rgba(198,146,75,.07)}
.services-focused{background:linear-gradient(145deg,#101a21,#0b1217)}.services-focused .section-heading h2 em,.services-focused .eyebrow{color:var(--home-copper)}.services-focused .section-heading>p:last-child{color:var(--home-muted)}.transfer-showcase,.everyday-showcase{border-color:var(--home-line)}.transfer-showcase{background:linear-gradient(145deg,#172630,#0d161c)}.transfer-showcase:before{border-top-color:rgba(198,146,75,.48)}.showcase-title p,.transfer-showcase>a,.destination-list strong{color:var(--home-copper-soft)}.transport-icons{background:linear-gradient(135deg,var(--home-copper-soft),#aa7138)}.destination-list>div{border-color:var(--home-line);background:rgba(255,255,255,.025)}.everyday-showcase{color:var(--home-white);background:linear-gradient(145deg,#151f25,#0c1318)}.everyday-showcase .eyebrow,.everyday-showcase li:before,.everyday-showcase>a{color:var(--home-copper)}.everyday-showcase>p:not(.eyebrow){color:var(--home-muted)}.everyday-showcase ul,.everyday-showcase li{border-color:var(--home-line)}
.reviews{color:var(--home-white);background:#0b1217}.reviews-heading h2{color:var(--home-white)}.reviews-heading h2 em,.reviews .eyebrow{color:var(--home-copper)}.reviews .google-rating{border-left-color:var(--home-line)}.reviews .google-rating strong,.reviews .google-rating span,.reviews .review-stars{color:var(--home-copper)}.reviews .google-rating small{color:var(--home-muted)}.reviews-grid{border-color:var(--home-line)}.reviews .review-card{color:var(--home-white);border-color:var(--home-line);background:transparent}.reviews .review-card blockquote,.reviews .review-card p{color:var(--home-white)}.reviews .review-card p span{color:var(--home-muted)}.reviews-link{color:var(--home-copper-soft);border-color:var(--home-copper-soft)}
.faq{background:linear-gradient(145deg,#111d25,#0c141a)}.faq .eyebrow,.faq h2 em{color:var(--home-copper)}.faq-heading>p:last-child,.faq-list details p{color:var(--home-muted)}.faq-list,.faq-list details{border-color:var(--home-line)}.faq-list summary span{color:var(--home-copper);border-color:rgba(255,255,255,.19)}.faq-list details[open] summary span{color:#111820;background:var(--home-copper)}
.booking{background:linear-gradient(135deg,#080e13,#111c23)}.booking .eyebrow,.booking h2 em{color:var(--home-copper)}.booking-intro>p:not(.eyebrow){color:var(--home-muted)}.booking-intro .pickup-note{color:#c8cdd0;border-left-color:var(--home-copper)}.phone-list small{color:var(--home-muted)}.phone-list strong{color:var(--home-white)}.booking-form{color:var(--home-white);border:1px solid var(--home-line);background:var(--home-panel);box-shadow:0 30px 80px rgba(0,0,0,.28)}.booking-form input,.booking-form textarea{color:var(--home-white);border-color:rgba(255,255,255,.1);background:#0a1116}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#768087}.booking-form .primary{color:#111820;background:var(--home-copper)}.booking-warning{color:#e1bc8c;border-left-color:var(--home-copper);background:rgba(198,146,75,.08)}.form-note{color:#818b90}.asap-option input{accent-color:var(--home-copper)}
footer{color:var(--home-white);border-top-color:var(--home-line);background:#060a0d}footer>p,footer>small{color:#7f898e}
@media(hover:hover){.transfer-showcase:hover,.everyday-showcase:hover{border-color:rgba(198,146,75,.38)}}
@media(max-width:700px){.graffiti-logo:after{left:50%;right:auto;width:min(230px,62vw);transform:translateX(-50%)}}

/* ---- theme130.css ---- */
.transfer-showcase{min-height:0;padding:38px 40px;background:linear-gradient(145deg,#172630,#0d161c)}
.transfer-showcase:after{content:none!important;display:none!important}
.showcase-title{display:block}.showcase-title h3{font-size:clamp(31px,3.3vw,45px)}
.showcase-lead{max-width:680px;margin:20px 0 30px;color:#b7c0c5}
.destination-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.destination-list>div{padding:25px 25px 25px 0;border:0;border-radius:0;background:transparent}
.destination-list>div+div{padding-right:0;padding-left:30px;border-left:1px solid rgba(255,255,255,.11)}
.destination-list strong{margin-bottom:14px;font-size:12px}.destination-list span{padding:4px 0;color:#d8dcde;font-size:12px;line-height:1.5}
.transfer-showcase>a{margin-top:25px}
@media(max-width:700px){.transfer-showcase{padding:25px 21px}.showcase-title h3{font-size:29px}.showcase-lead{margin:18px 0 23px}.destination-list{grid-template-columns:1fr}.destination-list>div{padding:20px 0}.destination-list>div+div{padding:20px 0;border-top:1px solid rgba(255,255,255,.11);border-left:0}.destination-list strong{margin-bottom:10px}.destination-list span{font-size:12px}}

/* ---- theme131.css ---- */
:root{--e-night:#101111;--e-night-2:#181919;--e-panel:#202121;--e-ivory:#f4f1eb;--e-gold:#c6924b;--e-muted:#a9aaa7;--e-line:rgba(255,255,255,.12)}
body{background:var(--e-night)}
.cpam-guide{background:var(--e-night)}.services-focused{background:var(--e-night-2)}.reviews{background:var(--e-night)}.faq{background:var(--e-night-2)}.booking{background:var(--e-night)}
.cpam-guide,.services-focused,.reviews,.faq,.booking{color:var(--e-ivory)}
.section h2,.cpam-guide h2{font-family:"Manrope",sans-serif;font-weight:800}.section h2 em,.cpam-guide h2 em,.services-focused .section-heading h2 em,.reviews-heading h2 em,.faq-heading h2 em,.booking-intro h2 em{display:inline-block;color:var(--e-gold)!important;font:700 1.06em/.92 "Caveat",cursive;letter-spacing:-1.5px}
.cpam-guide-heading>p:last-child,.cpam-guide-steps p,.services-focused .section-heading>p:last-child,.faq-heading>p:last-child,.faq-list details p,.booking-intro>p:not(.eyebrow){color:var(--e-muted)}
.cpam-guide-steps,.cpam-guide-steps article,.faq-list,.faq-list details,.reviews-grid{border-color:var(--e-line)}.cpam-guide-steps article>span{color:#17130e;background:var(--e-gold)}.cpam-disclaimer{color:#ccc9c2;border-left-color:var(--e-gold);background:rgba(198,146,75,.07)}
.transfer-showcase{background:#1b1c1c}.everyday-showcase{background:#202121}.transfer-showcase,.everyday-showcase{border-color:var(--e-line)}.destination-list{grid-template-columns:1fr .75fr 1fr}.destination-list,.destination-list>div+div{border-color:var(--e-line)}.destination-list>div:nth-child(3){padding-right:0;padding-left:30px;border-left:1px solid var(--e-line)}.destination-list strong,.transfer-showcase>a,.everyday-showcase .eyebrow,.everyday-showcase li:before,.everyday-showcase>a{color:var(--e-gold)}
.reviews-heading h2,.reviews .review-card,.reviews .review-card blockquote,.reviews .review-card p{color:var(--e-ivory)}.reviews .review-card{border-color:var(--e-line)}.reviews .review-card p span,.reviews .google-rating small{color:var(--e-muted)}.reviews-link{color:var(--e-gold);border-color:var(--e-gold)}
.faq-list summary span{color:var(--e-gold);border-color:rgba(255,255,255,.2)}.faq-list details[open] summary span{color:#17130e;background:var(--e-gold)}
.booking-form{color:#1b1c1b;border:0;background:var(--e-ivory)}.booking-form input,.booking-form textarea{color:#1b1c1b;border-color:#ded9d0;background:white}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#898c89}.booking-form .primary{color:#17130e;background:var(--e-gold)}.booking-warning{color:#6d4319;background:#eadbc7}
@media(max-width:700px){.section h2,.cpam-guide h2{font-size:35px}.section h2 em,.cpam-guide h2 em{font-size:1.08em}.destination-list{grid-template-columns:1fr}.destination-list>div:nth-child(3){padding:20px 0;border-top:1px solid var(--e-line);border-left:0}}

/* ---- theme132.css ---- */
:root{--pub-paper:#f0eadf;--pub-paper-2:#e5ded2;--pub-ink:#18211d;--pub-night:#111815;--pub-night-2:#17201c;--pub-bronze:#c28a4b;--pub-muted:#68716b;--pub-line:rgba(24,33,29,.14)}
.site-header nav{gap:19px;font-size:11px}
.cpam-guide{color:var(--pub-ink);background:var(--pub-paper)}.cpam-guide .eyebrow,.cpam-guide h2 em{color:var(--pub-bronze)!important}.cpam-guide-heading>p:last-child,.cpam-guide-steps p{color:var(--pub-muted)}.cpam-guide-steps,.cpam-guide-steps article{border-color:var(--pub-line)}.cpam-guide-steps article>span.medical-icon{color:white;background:var(--pub-ink)}.medical-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.services-focused{color:white;background:var(--pub-night)}.transfer-showcase{background:var(--pub-night-2)}.everyday-showcase{background:#202923}.transfer-showcase,.everyday-showcase{border-color:rgba(255,255,255,.12)}.everyday-showcase .eyebrow{margin-top:45px}.services-focused .section-heading>p:last-child,.everyday-showcase>p:not(.eyebrow){color:#adb6b0}
.reviews{color:var(--pub-ink);background:var(--pub-paper)}.reviews-heading h2,.reviews .review-card,.reviews .review-card blockquote,.reviews .review-card p{color:var(--pub-ink)}.reviews .review-card{border-color:var(--pub-line)}.reviews .review-card p span,.reviews .google-rating small{color:var(--pub-muted)}.reviews-grid{border-color:var(--pub-line)}
.faq{color:var(--pub-ink);background:var(--pub-paper-2)}.faq .eyebrow,.faq h2 em{color:var(--pub-bronze)!important}.faq-heading>p:last-child,.faq-list details p{color:var(--pub-muted)}.faq-list,.faq-list details{border-color:var(--pub-line)}.faq-list summary span{color:var(--pub-bronze);border-color:rgba(24,33,29,.22)}.faq-list details[open] summary span{color:white;background:var(--pub-bronze)}
.booking{color:white;background:var(--pub-night)}.booking-form{color:var(--pub-ink);background:var(--pub-paper)}.booking-form input,.booking-form textarea{color:var(--pub-ink);border-color:#d8d0c4;background:white}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#8a8d88}
@media(max-width:900px){.site-header nav{font-size:13px}.site-header nav>a{width:100%;text-align:center}.medical-icon svg{width:19px;height:19px}}

/* ---- theme133.css ---- */
/* Palette exacte de la version publiée final104. */
:root{--paper:#f0eadf;--paper-alt:#e5ded2;--ink:#18211d;--muted:#68716b;--night:#0c1210;--night-soft:#151d19;--bronze-light:#c28a4b;--bronze-dark:#89592e;--white:#f8f5ee}
body{color:var(--ink);background:var(--paper)}
.cpam-guide{color:var(--ink);background:var(--paper)}.cpam-guide .eyebrow,.cpam-guide h2 em{color:var(--bronze-dark)!important}.cpam-guide-heading>p:last-child,.cpam-guide-steps p{color:var(--muted)}.cpam-guide-steps,.cpam-guide-steps article{border-color:rgba(24,33,29,.14)}.cpam-guide-steps article>span.medical-icon{color:var(--white);background:var(--ink)}.cpam-disclaimer{color:#5f675f;border-left-color:var(--bronze-dark);background:rgba(137,89,46,.07)}
.services-focused{color:var(--ink);background:var(--paper-alt)}.services-focused .eyebrow,.services-focused .section-heading h2 em{color:var(--bronze-dark)!important}.services-focused .section-heading>p:last-child{color:var(--muted)}.transfer-showcase{color:var(--white);border-color:rgba(255,255,255,.1);background:var(--night-soft)}.everyday-showcase{color:var(--ink);border-color:rgba(24,33,29,.1);background:var(--paper)}.everyday-showcase .eyebrow,.everyday-showcase li:before,.everyday-showcase>a{color:var(--bronze-dark)}.everyday-showcase>p:not(.eyebrow){color:var(--muted)}.everyday-showcase ul,.everyday-showcase li{border-color:rgba(24,33,29,.12)}
.reviews{color:var(--ink);background:linear-gradient(135deg,#eee7db 0%,#f6f1e8 58%,#ebe2d5 100%)}.reviews-heading h2,.reviews .review-card,.reviews .review-card blockquote,.reviews .review-card p{color:var(--ink)}.reviews .review-card{border-color:rgba(137,89,46,.16)}.reviews .review-card p span,.reviews .google-rating small{color:var(--muted)}.reviews-grid{border-color:rgba(24,33,29,.14)}
.faq{color:var(--white);background:var(--night-soft)}.faq .eyebrow,.faq h2 em{color:var(--bronze-light)!important}.faq-heading>p:last-child,.faq-list details p{color:#aeb7b1}.faq-list,.faq-list details{border-color:rgba(255,255,255,.13)}.faq-list summary span{color:var(--bronze-light);border-color:rgba(255,255,255,.2)}.faq-list details[open] summary span{color:#17120d;background:var(--bronze-light)}
.booking{color:var(--white);background:radial-gradient(circle at 10% 15%,#354139,#111815 55%)}.booking .eyebrow,.booking h2 em{color:var(--bronze-light)!important}.booking-intro>p:not(.eyebrow){color:#aeb7b1}.booking-form{color:var(--ink);background:var(--paper)}.booking-form input,.booking-form textarea{color:var(--ink);border-color:#d9d1c5;background:#fff}.booking-form .primary{color:#17120d;background:var(--bronze-light)}

/* ---- theme134.css ---- */
/* Alternance restaurée : clair, sombre, clair, sombre, clair. */
.cpam-guide{color:var(--ink);background:var(--paper)}
.services-focused{color:var(--white);background:var(--night)}.services-focused .eyebrow,.services-focused .section-heading h2 em{color:var(--bronze-light)!important}.services-focused .section-heading>p:last-child{color:#aeb7b1}.transfer-showcase{background:var(--night-soft)}.everyday-showcase{color:var(--ink);background:var(--paper)}
.reviews{color:var(--ink);background:linear-gradient(135deg,#eee7db 0%,#f6f1e8 58%,#ebe2d5 100%)}
.faq{color:var(--white);background:var(--night-soft)}
.booking{color:var(--ink);background:var(--paper)}.booking .eyebrow,.booking h2 em{color:var(--bronze-dark)!important}.booking-intro>p:not(.eyebrow){color:var(--muted)}.booking-intro .pickup-note{color:#59645e;border-left-color:var(--bronze-dark)}.phone-list small{color:var(--muted)}.phone-list strong{color:var(--ink)}.booking-form{color:var(--ink);border:1px solid rgba(24,33,29,.1);background:#f8f5ee;box-shadow:0 28px 70px rgba(28,34,29,.14)}

/* ---- theme135.css ---- */
.focused-services{grid-template-columns:1fr 1fr;gap:16px}
.service-choice{min-height:390px;padding:34px;display:flex;flex-direction:column;color:var(--ink);border:0;border-radius:18px;background:var(--paper)}
.service-choice:nth-child(2){background:var(--paper-alt)}
.service-choice .eyebrow{margin:0 0 20px;color:var(--bronze-dark)}
.service-choice h3{margin:0;font:800 clamp(29px,3vw,42px)/1.02 "Manrope",sans-serif;letter-spacing:-2px}
.service-choice>p:not(.eyebrow){margin:20px 0;color:var(--muted);font-size:14px}
.service-choice ul{margin:4px 0 25px;padding:0;list-style:none;border-top:1px solid rgba(24,33,29,.13)}
.service-choice li{padding:12px 0;border-bottom:1px solid rgba(24,33,29,.13);font-size:12px;font-weight:700}
.service-choice li:before{content:"✓";margin-right:10px;color:var(--bronze-dark)}
.service-choice>a{align-self:flex-start;margin-top:auto;color:var(--bronze-dark);border-color:var(--bronze-dark)}
.transfer-details{margin-top:16px;padding:29px 34px;display:grid;grid-template-columns:.62fr 1.38fr;gap:5vw;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:var(--night-soft)}
.transfer-details-heading .eyebrow{margin-bottom:10px;color:var(--bronze-light)}.transfer-details-heading h3{margin:0;color:var(--white);font:750 28px/1.05 "Manrope",sans-serif;letter-spacing:-1.4px}
.transfer-details .destination-list{border:0}.transfer-details .destination-list>div{padding-top:13px;padding-bottom:13px}.transfer-details .destination-list strong{color:var(--bronze-light)}
@media(max-width:700px){.focused-services{grid-template-columns:1fr}.service-choice{min-height:0;padding:25px 21px}.service-choice h3{font-size:29px}.transfer-details{margin-top:13px;padding:25px 21px;display:block}.transfer-details-heading{margin-bottom:19px}.transfer-details-heading h3{font-size:25px}.transfer-details .destination-list{grid-template-columns:1fr}.transfer-details .destination-list>div,.transfer-details .destination-list>div+div,.transfer-details .destination-list>div:nth-child(3){padding:17px 0;border-top:1px solid rgba(255,255,255,.12);border-left:0}}

/* ---- theme137.css ---- */
.header-phone{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:var(--bronze-light);background:rgba(8,12,11,.3);font-size:19px;line-height:1;transition:.2s}.header-phone:hover{border-color:var(--bronze-light);transform:translateY(-1px)}
.tariffs-inline{color:var(--ink);background:var(--paper-alt)}.tariffs-heading{max-width:760px;margin-bottom:48px}.tariffs-heading>p:last-child{max-width:720px;margin:24px 0 0;color:var(--muted);line-height:1.75}.tariff-essentials{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.tariff-essentials article{padding:28px;background:var(--paper);border:1px solid rgba(24,33,29,.1)}.tariff-essentials span{display:block;color:var(--bronze-dark);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tariff-essentials strong{display:block;margin:14px 0 9px;font:700 clamp(28px,3vw,42px) "Space Grotesk",sans-serif}.tariff-essentials strong small{font-size:13px}.tariff-essentials p{margin:0;color:var(--muted);font-size:13px}.tariff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tariff-grid article{padding:27px;background:var(--night-soft);color:var(--white)}.tariff-grid article>div{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.tariff-grid b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#17120d;background:var(--bronze-light);font:700 20px "Space Grotesk",sans-serif}.tariff-grid strong{font:700 clamp(24px,3vw,36px) "Space Grotesk",sans-serif}.tariff-grid strong small{color:#aeb7b1;font-size:12px}.tariff-grid h3{margin:21px 0 8px;font:600 18px "Space Grotesk",sans-serif}.tariff-grid p{margin:0;color:#aeb7b1;font-size:13px;line-height:1.65}.tariff-notes{margin-top:12px;padding:27px 30px;background:var(--paper);border-left:3px solid var(--bronze-light)}.tariff-notes p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.65}.tariff-notes strong{color:var(--ink)}.tariff-notes a{display:inline-flex;margin-top:10px;color:var(--bronze-dark);font-size:13px;font-weight:800}.tariff-notes a span{margin-left:8px}
@media(max-width:900px){.site-header{gap:7px}.site-header nav .nav-call{display:none}.language-switcher{margin-right:0}.header-phone{width:35px;height:35px;font-size:17px}.photo-hero{min-height:700px}.photo-hero .hero-copy{min-height:700px;padding-bottom:38px}.photo-hero .location-signature{top:180px}.tariff-essentials,.tariff-grid{grid-template-columns:1fr}.tariffs-heading{margin-bottom:36px}.tariff-essentials article,.tariff-grid article{padding:23px}.tariff-notes{padding:23px 21px}}
@media(max-width:380px){.language-switcher{gap:8px}.language-switcher button{min-width:19px}.header-phone{width:32px;height:32px}.photo-hero{min-height:680px}.photo-hero .hero-copy{min-height:680px}}

/* ---- theme138.css ---- */
/* Final 138 — visual harmony and intuitive motion */
html{scroll-padding-top:76px}section[id]{scroll-margin-top:72px}.header-phone{position:relative;width:40px;height:40px;border:1px solid rgba(194,138,75,.55);background:rgba(12,18,16,.54);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.16)}.header-phone svg{width:18px;height:18px;fill:none;stroke:var(--bronze-light);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.header-phone:after{content:"";position:absolute;inset:-4px;border:1px solid rgba(194,138,75,.18);border-radius:50%;transition:.25s}.header-phone:hover:after{inset:-7px;border-color:rgba(194,138,75,.48)}
.cpam-guide,.services-focused,.tariffs-inline,.reviews,.faq,.booking{position:relative;isolation:isolate;overflow:hidden}.cpam-guide:before,.tariffs-inline:before,.reviews:before,.booking:before{content:"";position:absolute;z-index:-1;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(194,138,75,.1),transparent 70%);pointer-events:none}.cpam-guide:before{right:-150px;top:-120px}.tariffs-inline:before{left:-150px;top:25%}.reviews:before{right:-120px;bottom:-150px}.booking:before{left:-150px;bottom:-150px}.services-focused:after,.faq:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(125deg,rgba(194,138,75,.045),transparent 35%,transparent 70%,rgba(194,138,75,.025));pointer-events:none}
.cpam-guide{background:linear-gradient(145deg,#f3ede3,#ece5da)}.services-focused{background:linear-gradient(145deg,#0a100d,#151e19)}.tariffs-inline{background:linear-gradient(145deg,#e8e0d4,#f1ebe1)}.reviews{background:linear-gradient(145deg,#f4eee4,#eae1d4)}.faq{background:linear-gradient(145deg,#111915,#0b110e)}.booking{background:linear-gradient(145deg,#f2ece2,#e8e0d4)}
.cpam-guide-heading,.section-heading,.tariffs-heading,.reviews-heading,.faq-heading,.booking-intro{position:relative}.cpam-guide-heading:after,.section-heading:after,.tariffs-heading:after,.faq-heading:after{content:"";display:block;width:56px;height:2px;margin-top:28px;background:linear-gradient(90deg,var(--bronze-light),transparent)}
.cpam-guide-steps article,.service-choice,.transfer-details,.tariff-essentials article,.tariff-grid article,.review-card,.faq-list details,.booking-form{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease,background-color .35s ease}.tariff-grid b,.medical-icon{transition:transform .35s ease,box-shadow .35s ease}.tariff-grid article:hover b{transform:rotate(-7deg) scale(1.06);box-shadow:0 8px 24px rgba(194,138,75,.22)}.faq-list summary span{transition:transform .3s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.service-choice a,.reviews-link,.tariff-notes a{transition:color .25s ease,transform .25s ease}.service-choice a:hover,.reviews-link:hover,.tariff-notes a:hover{transform:translateX(4px)}
@media(hover:hover) and (min-width:901px){.cpam-guide-steps article:hover,.service-choice:hover,.tariff-essentials article:hover,.tariff-grid article:hover,.review-card:hover{transform:translateY(-6px);border-color:rgba(194,138,75,.42);box-shadow:0 20px 45px rgba(12,18,16,.12)}.faq-list details:hover{border-color:rgba(194,138,75,.35);transform:translateX(4px)}}
@media(max-width:900px){.header-phone{width:36px;height:36px;background:rgba(8,13,11,.42)}.header-phone svg{width:17px;height:17px}.photo-hero{background-image:linear-gradient(180deg,rgba(6,10,9,.04) 0%,rgba(6,10,9,.10) 42%,rgba(6,10,9,.58) 100%),url("hero-route-corse-mobile-9x16-natural-v2.webp");background-position:63% center}.photo-hero:before{background:linear-gradient(180deg,rgba(5,9,7,.03) 0%,transparent 42%,rgba(5,9,7,.7) 100%)}.photo-hero:after{background:radial-gradient(circle at 50% 44%,transparent 0 42%,rgba(4,8,7,.12) 78%,rgba(4,8,7,.28) 100%)}.photo-hero .graffiti-logo{filter:drop-shadow(0 5px 14px rgba(0,0,0,.58))}.photo-hero .location-signature{text-shadow:0 2px 9px rgba(0,0,0,.7)}.photo-hero h1,.photo-hero .hero-lead,.always-open{text-shadow:0 4px 18px rgba(0,0,0,.72)}.cpam-guide:before,.tariffs-inline:before,.reviews:before,.booking:before{width:230px;height:230px}.cpam-guide-heading:after,.section-heading:after,.tariffs-heading:after,.faq-heading:after{margin-top:22px}.tariff-grid article,.service-choice,.review-card{box-shadow:0 12px 30px rgba(12,18,16,.08)}}
@media(prefers-reduced-motion:reduce){.cpam-guide-steps article,.service-choice,.transfer-details,.tariff-essentials article,.tariff-grid article,.review-card,.faq-list details,.booking-form,.tariff-grid b,.header-phone:after{transition:none!important}}

/* ---- theme139.css ---- */
/* Final 139 — refined header and hero actions */
.header-phone{width:auto;height:36px;padding:0 13px;gap:7px;border-radius:999px;text-decoration:none}.header-phone:after{display:none}.header-phone strong{color:var(--white);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.call-status{position:relative;width:7px;height:7px;border-radius:50%;background:var(--bronze-light);box-shadow:0 0 0 4px rgba(194,138,75,.13)}.call-status:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(194,138,75,.42);border-radius:50%;animation:callPulse 2.4s ease-out infinite}@keyframes callPulse{0%{transform:scale(.65);opacity:0}25%{opacity:1}75%,100%{transform:scale(1.5);opacity:0}}
.hero-action-panel{width:min(100%,610px);display:grid;grid-template-columns:1.08fr .92fr;padding:5px;gap:5px;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:rgba(7,12,10,.42);box-shadow:0 18px 45px rgba(0,0,0,.2);backdrop-filter:blur(13px)}.photo-hero .hero-action-panel .button{position:relative;width:100%;min-height:70px;padding:11px 14px 11px 18px;border-radius:13px;justify-content:space-between;text-align:left;box-shadow:none}.action-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.action-copy small{color:inherit;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.72}.action-copy strong{font:700 15px "Space Grotesk",sans-serif;white-space:nowrap}.hero-request .action-copy strong{font-size:13px;white-space:normal}.action-arrow{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border:1px solid currentColor;border-radius:50%;font-size:14px;opacity:.76}.photo-hero .hero-call{background:linear-gradient(135deg,#cf9856,#b8793e);color:#17120d}.photo-hero .hero-request{border:0;background:rgba(255,255,255,.06);color:var(--white)}.indicative-price{margin:18px -10px!important;padding:16px 18px;border:1px solid rgba(137,89,46,.2);border-radius:8px;background:rgba(194,138,75,.09)}
@media(max-width:900px){.header-phone{width:auto;height:32px;padding:0 10px;gap:6px}.header-phone strong{font-size:8px}.call-status{width:6px;height:6px}.photo-hero .hero-copy{padding-bottom:62px}.photo-hero .hero-lead{margin:17px auto 9px;line-height:1.55}.photo-hero .always-open{margin:0 auto 17px}.photo-hero .hero-action-panel{width:min(100%,340px);grid-template-columns:1.12fr .88fr;margin:0 auto;padding:4px;gap:4px;border-radius:16px}.photo-hero .hero-action-panel .button{display:flex;min-height:66px;padding:9px 10px 9px 13px;border-radius:12px}.action-copy strong{font-size:13px}.hero-request .action-copy strong{font-size:11px;line-height:1.2}.action-copy small{font-size:6.5px}.action-arrow{width:27px;height:27px;font-size:12px}.mobile-hero-rating{margin-top:16px}.indicative-price{margin:16px -4px!important;padding:15px}}
@media(max-width:370px){.header-phone{padding:0 8px}.header-phone strong{display:none}.photo-hero .hero-copy{padding-bottom:52px}.photo-hero .hero-action-panel{grid-template-columns:1.08fr .92fr}.action-arrow{width:24px;height:24px}.action-copy strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.call-status:after{animation:none}}
@media(max-width:900px){.photo-hero .hero-action-panel .button{position:relative;flex-direction:row;padding-right:43px}.photo-hero .hero-action-panel .action-arrow{position:absolute;right:9px;top:50%;transform:translateY(-50%)}}

/* ---- theme140.css ---- */
/* Final 140 — symmetric actions and repaired FAQ */
.header-phone{width:34px!important;height:34px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:18px;line-height:1}.header-phone>span:first-child{display:block;filter:saturate(.72);transform:translateY(-1px)}
.hero-action-panel{grid-template-columns:1fr 1fr}.photo-hero .hero-action-panel .button{min-width:0}.photo-hero .hero-action-panel .action-copy{width:100%;align-items:flex-start}.photo-hero .hero-action-panel .action-copy strong{font-size:13px;white-space:nowrap}.photo-hero .hero-action-panel .action-copy small{font-size:7px}.photo-hero .hero-action-panel .hero-request{background:rgba(255,255,255,.075)}
@media(max-width:900px){.site-header{gap:6px}.header-phone{width:28px!important;height:32px!important;font-size:17px}.photo-hero .hero-action-panel{grid-template-columns:1fr 1fr}.photo-hero .hero-action-panel .button{min-height:64px;padding:9px 40px 9px 12px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:12px;line-height:1.15}.photo-hero .hero-action-panel .action-copy small{font-size:7px}.faq{display:flex!important;flex-direction:column;gap:0!important}.faq-heading{position:static!important;margin:0 0 34px!important}.faq-heading:after{margin-top:22px}.faq-list{position:relative;z-index:1;width:100%;margin:0!important}.faq-list details:first-child summary{padding-top:21px}.faq-list summary{position:relative;z-index:1}.faq-list details[open] summary{color:var(--bronze-light)}.faq-list details[open] p{display:block}.faq-list details:not([open])>p{display:none}}
@media(max-width:370px){.photo-hero .hero-action-panel .button{padding-right:34px;padding-left:9px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:11px}}
@media(max-width:900px){.faq-list details[open]>p{margin:12px 44px 26px 0!important}}

/* ---- theme141.css ---- */
/* Final 141 — clean, balanced hero actions */
.photo-hero .hero-action-panel{width:min(100%,570px);display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.photo-hero .hero-action-panel .button{min-height:72px;padding:13px 18px;border-radius:15px;justify-content:center;text-align:center;box-shadow:0 14px 34px rgba(0,0,0,.22)}.photo-hero .hero-action-panel .action-copy{width:100%;align-items:center;gap:4px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font:700 15px "Space Grotesk",sans-serif;line-height:1.1;white-space:nowrap}.photo-hero .hero-action-panel .action-copy small{font-size:8px;line-height:1.2;letter-spacing:.11em}.photo-hero .hero-call{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#cf9856,#b8793e)}.photo-hero .hero-request{border:1px solid rgba(255,255,255,.28);background:rgba(8,13,11,.6);backdrop-filter:blur(10px)}
@media(max-width:900px){.photo-hero .hero-action-panel{width:min(100%,340px);grid-template-columns:1fr 1fr;gap:10px}.photo-hero .hero-action-panel .button{min-height:70px;padding:12px 8px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:13px}.photo-hero .hero-action-panel .action-copy small{font-size:7px;letter-spacing:.08em}.photo-hero .hero-action-panel .hero-request .action-copy small{max-width:120px}}
@media(max-width:370px){.photo-hero .hero-action-panel{gap:8px}.photo-hero .hero-action-panel .button{padding:11px 6px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:12px}}
@media(max-width:900px){.photo-hero .hero-action-panel .action-copy small{font-size:8.5px}.photo-hero .hero-action-panel .hero-request .action-copy small{font-size:7.5px}.photo-hero .hero-request{background:rgba(8,13,11,.72)}}

/* ---- theme142.css ---- */
/* Final 142 — slimmer, more refined hero actions */
.photo-hero .hero-action-panel{width:min(100%,500px);gap:8px}.photo-hero .hero-action-panel .button{min-height:58px;padding:10px 15px;border-radius:10px;box-shadow:0 9px 24px rgba(0,0,0,.16)}.photo-hero .hero-action-panel .action-copy{gap:2px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:13px;font-weight:600}.photo-hero .hero-action-panel .action-copy small{font-size:7.5px;font-weight:700;letter-spacing:.08em}.photo-hero .hero-call{background:linear-gradient(135deg,#c99350,#b87b40)}.photo-hero .hero-request{background:rgba(8,13,11,.58);border-color:rgba(255,255,255,.22)}
@media(max-width:900px){.site-header{justify-content:space-between}.language-switcher{margin-left:auto;margin-right:0}.photo-hero .hero-action-panel{width:min(100%,306px);gap:8px}.photo-hero .hero-action-panel .button{min-height:56px;padding:9px 7px;border-radius:9px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:11.5px}.photo-hero .hero-action-panel .action-copy small{font-size:7.5px}.photo-hero .hero-action-panel .hero-request .action-copy small{font-size:6.8px}.mobile-hero-rating{margin-top:14px}}
@media(max-width:350px){.photo-hero .hero-action-panel{width:min(100%,286px);gap:7px}.photo-hero .hero-action-panel .action-copy strong,.photo-hero .hero-action-panel .hero-request .action-copy strong{font-size:11px}}

/* ---- theme143.css ---- */
/* Final 143 — single glass action bar */
.photo-hero .hero-action-panel{width:min(100%,560px);display:grid;grid-template-columns:1.18fr .82fr;gap:0;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(7,12,10,.52);box-shadow:0 12px 32px rgba(0,0,0,.2);backdrop-filter:blur(12px);overflow:hidden}.photo-hero .hero-action-panel .button{min-height:54px;padding:0 19px;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;color:var(--white);text-align:center}.photo-hero .hero-action-panel .hero-call{border-right:1px solid rgba(194,138,75,.55)}.photo-hero .hero-action-panel .hero-call span{color:var(--bronze-light);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.photo-hero .hero-action-panel .button strong{font:650 13px "Space Grotesk",sans-serif;white-space:nowrap}.photo-hero .hero-action-panel .hero-request strong{color:var(--white)}
@media(hover:hover){.photo-hero .hero-action-panel .button:hover{transform:none;background:rgba(194,138,75,.12)}.photo-hero .hero-action-panel .hero-call:hover{background:rgba(194,138,75,.18)}}
@media(max-width:900px){.photo-hero .hero-action-panel{width:min(100%,322px);grid-template-columns:1.2fr .8fr;border-radius:11px}.photo-hero .hero-action-panel .button{min-height:52px;padding:0 10px;gap:6px}.photo-hero .hero-action-panel .hero-call span{font-size:7px}.photo-hero .hero-action-panel .button strong{font-size:10.5px}.photo-hero .hero-action-panel .hero-request strong{font-size:10px}}
@media(max-width:350px){.photo-hero .hero-action-panel{width:min(100%,296px)}.photo-hero .hero-action-panel .button{padding:0 7px}.photo-hero .hero-action-panel .button strong{font-size:9.7px}}

/* ---- theme144.css ---- */
/* Final 144 — actions blended into the hero */
.photo-hero .hero-action-panel{width:auto;display:flex;flex-direction:column;align-items:center;gap:9px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible}.photo-hero .hero-action-panel .hero-call{width:auto;min-width:238px;min-height:53px;padding:0 21px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:linear-gradient(135deg,#ca9453,#b8783d);box-shadow:0 11px 28px rgba(45,25,8,.28);display:flex;gap:9px}.photo-hero .hero-action-panel .hero-call span{color:#33200f;font-size:9px;letter-spacing:.08em}.photo-hero .hero-action-panel .hero-call strong{color:#17120d;font-size:13px}.photo-hero .hero-action-panel .hero-request{width:auto;min-height:auto;padding:3px 5px;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;gap:8px;color:rgba(255,255,255,.9)}.photo-hero .hero-action-panel .hero-request strong{font:650 10px "Manrope",sans-serif;letter-spacing:.015em}.photo-hero .hero-action-panel .hero-request span{color:var(--bronze-light);font-size:13px;transition:transform .2s}.photo-hero .hero-action-panel .hero-request:hover{background:transparent}.photo-hero .hero-action-panel .hero-request:hover span{transform:translateX(3px)}
@media(max-width:900px){.photo-hero .hero-action-panel{width:auto;gap:8px}.photo-hero .hero-action-panel .hero-call{width:auto;min-width:224px;min-height:50px;padding:0 18px}.photo-hero .hero-action-panel .hero-call span{font-size:8px}.photo-hero .hero-action-panel .hero-call strong{font-size:12px}.photo-hero .hero-action-panel .hero-request{min-height:auto;padding:2px 4px}.photo-hero .hero-action-panel .hero-request strong{font-size:9.5px}.mobile-hero-rating{margin-top:12px}}

/* ---- theme145.css ---- */
/* Final 145 — natural call label */
.photo-hero .hero-action-panel .hero-call span{color:#2e1c0d;font:650 11px "Manrope",sans-serif;letter-spacing:0;text-transform:none}.photo-hero .hero-action-panel .hero-call span:after{content:"·";margin-left:9px;color:rgba(46,28,13,.5)}
@media(max-width:900px){.photo-hero .hero-action-panel .hero-call span{font-size:10px}.photo-hero .hero-action-panel .hero-call span:after{margin-left:7px}}

/* ---- theme146.css ---- */
/* Final 146 — Bonavita-style phone emoji and stronger number */
.photo-hero .hero-action-panel .hero-call span{font:400 16px/1 "Apple Color Emoji","Segoe UI Emoji",sans-serif;letter-spacing:0;text-transform:none}.photo-hero .hero-action-panel .hero-call span:after{display:none;content:none}.photo-hero .hero-action-panel .hero-call strong{font:800 14px "Space Grotesk",sans-serif;letter-spacing:.015em}
@media(max-width:900px){.photo-hero .hero-action-panel .hero-call span{font-size:15px}.photo-hero .hero-action-panel .hero-call strong{font-size:13px}}

/* ---- theme147.css ---- */
/* Final 147 — mobile framing focused on the taxi */
@media(max-width:900px){.photo-hero{background-size:auto 116%;background-position:35% 46%}.photo-hero:before{background:linear-gradient(180deg,rgba(5,9,7,.03) 0%,transparent 43%,rgba(5,9,7,.58) 100%)}.photo-hero:after{background:radial-gradient(circle at 50% 44%,transparent 0 48%,rgba(4,8,7,.08) 78%,rgba(4,8,7,.2) 100%)}}

/* ---- theme148.css ---- */
/* Final 148 — plain WhatsApp/SMS text link */
.photo-hero .hero-action-panel .hero-request{width:auto!important;min-height:auto!important;padding:2px 4px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important}.photo-hero .hero-action-panel .hero-request:hover,.photo-hero .hero-action-panel .hero-request:focus{background:none!important;box-shadow:none!important}.photo-hero .hero-action-panel .hero-request strong{font-weight:600}

/* ---- theme149.css ---- */
/* Final 149 — publication polish, softer transitions and reliable anchors */
main>section:not(.hero){border-top:1px solid rgba(137,89,46,.12)}.reveal{filter:none!important;transform:translateY(14px);transition:opacity .48s ease,transform .58s cubic-bezier(.22,1,.36,1)}.reveal.visible{filter:none!important;transform:none}.section-heading,.cpam-guide-heading,.tariffs-heading,.reviews-heading,.faq-heading,.booking-intro{will-change:auto}section:target .eyebrow{animation:targetAccent .65s cubic-bezier(.22,1,.36,1)}@keyframes targetAccent{0%{opacity:.35;letter-spacing:.32em}100%{opacity:1}}
.faq-list details>p{overflow:hidden}.faq-list details[open]>p{animation:answerIn .3s ease both}@keyframes answerIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.reveal{transform:translateY(10px);transition-duration:.42s,.52s}.cpam-guide-heading h2{max-width:330px}.faq-list details[open]>p{margin-top:12px!important}}
@media(prefers-reduced-motion:reduce){section:target .eyebrow,.faq-list details[open]>p{animation:none!important}.reveal{transition:none!important}}
/* final151 — finition du formulaire mobile Date / Heure. */
.booking-form,
.booking-form *,
.field-row,
.field-row .field {
  box-sizing: border-box;
}

.field-row {
  width: 100%;
  min-width: 0;
}

.field-row .field {
  width: 100%;
  min-width: 0;
}

.booking-form input[type="date"],
.booking-form input[type="time"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 49px;
  min-height: 49px;
  padding-block: 0;
  box-sizing: border-box;
}

@media (max-width: 700px) {
  .booking-form {
    width: 100%;
    min-width: 0;
  }

  .field-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .field-row .field {
    margin-bottom: 15px;
  }

  .booking-form input[type="date"],
  .booking-form input[type="time"] {
    font-size: 16px;
    padding-inline: 11px;
  }
}

@media (max-width: 900px) {
  .route-fields {
    display: block;
  }

  .route-connector {
    display: none;
  }
}

@media (max-width: 359px) {
  .field-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-form input,
  .booking-form textarea {
    transition: none !important;
  }
}
/* final152 — audit intégral : cohérence, accessibilité et robustesse responsive. */
:root {
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
  --control-height: 49px;
  --radius-control: 12px;
  --radius-card: 18px;
  --focus-ring: #8a572c;
}

html {
  overflow-x: clip;
  scroll-padding-top: 0;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

section[id] {
  scroll-margin-top: 0;
}

body {
  overflow-wrap: anywhere;
}

p, li, blockquote {
  line-height: 1.65;
}

.section-heading > p:last-child,
.tariffs-heading > p:last-child,
.faq-heading > p:last-child,
.booking-intro > p:not(.eyebrow),
.cpam-guide-heading > p:last-child {
  max-width: 68ch;
}

/* Contrastes renforcés dans les sections claires. */
.cpam-guide .eyebrow,
.tariffs-inline .eyebrow,
.reviews .eyebrow,
.booking .eyebrow,
.cpam-guide h2 em,
.tariffs-inline h2 em,
.reviews h2 em,
.booking h2 em {
  color: #7a4b25 !important;
}

.cpam-guide-heading > p:last-child,
.cpam-guide-steps p,
.cpam-disclaimer,
.everyday-showcase > p:not(.eyebrow),
.tariffs-heading > p:last-child,
.tariff-essentials p,
.tariff-notes p,
.reviews .review-card p span,
.reviews-clarification,
.booking-intro > p:not(.eyebrow),
.booking-intro .pickup-note,
.schedule-help,
.required-note,
.form-note {
  color: #535c56;
}

.button,
button,
.reviews-link,
.service-choice a,
.tariff-notes a {
  min-height: 44px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}

.booking-form input,
.booking-form textarea,
.booking-form button {
  border-radius: var(--radius-control);
}

.field input {
  height: var(--control-height);
  min-height: var(--control-height);
  padding-block: 0;
}

.field textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  resize: vertical;
}

.schedule-help {
  max-width: 58ch;
  margin: -7px 0 15px;
  color: #68706b;
  font-size: 12px;
  line-height: 1.5;
}

.field-row.is-disabled + .field,
.field-row.is-disabled {
  transition: opacity .2s ease;
}

.reviews-clarification {
  max-width: 76ch;
  margin: 22px 0 0;
  color: #666e68;
  font-size: 12px;
}

.destination-list > div,
.tariff-essentials article,
.tariff-grid article,
.review-card {
  min-width: 0;
}

.destination-list span + span {
  margin-top: 7px;
}

.tariff-grid strong,
.tariff-essentials strong {
  white-space: nowrap;
}

.faq-list summary {
  -webkit-tap-highlight-color: transparent;
}

.faq-list summary span {
  min-width: 44px;
  min-height: 44px;
}

@media (hover: hover) and (pointer: fine) {
  .button:hover {
    filter: brightness(1.04);
  }
  .button:active {
    transform: translateY(1px);
  }
}

@media (max-width: 700px) {
  .section,
  .cpam-guide {
    padding-inline: 20px;
  }

  .booking-form,
  .focused-services,
  .destination-list,
  .tariff-grid,
  .tariff-essentials,
  .reviews-grid,
  .faq-list {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .focused-services {
    margin-inline: auto;
    justify-items: center;
  }

  .focused-services > .service-choice,
  .transfer-showcase,
  .everyday-showcase {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-inline: auto;
    justify-self: center;
  }

  .booking-form {
    padding: 22px 18px;
  }

  .field,
  .asap-option,
  .schedule-help {
    width: 100%;
    min-width: 0;
  }

  .field-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .field-row .field {
    margin-bottom: 15px;
  }

  .booking-form input[type="date"],
  .booking-form input[type="time"] {
    display: block;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    height: var(--control-height);
    min-height: var(--control-height);
    padding-inline: 11px;
    overflow: hidden;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
  }

  .booking-form input[type="date"]::-webkit-date-and-time-value,
  .booking-form input[type="time"]::-webkit-date-and-time-value {
    min-width: 0;
    margin: 0;
    text-align: left;
  }

  .booking-form input[type="date"]::-webkit-calendar-picker-indicator,
  .booking-form input[type="time"]::-webkit-calendar-picker-indicator {
    margin-left: auto;
  }

  .faq-list summary {
    min-height: 72px;
    gap: 14px;
  }

  .faq-list summary span {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .reviews-clarification {
    margin-top: 18px;
    font-size: 12px;
  }

  .required-note,
  .form-note,
  .cpam-disclaimer {
    font-size: 12px;
    line-height: 1.55;
  }
}

/* final152g : centrage visuel des deux choix de service sur ordinateur uniquement. */
@media (min-width: 901px) {
  .services-focused .focused-services,
  .services-focused .transfer-details {
    width: min(100%, 1220px);
    margin-inline: auto;
  }

  .focused-services > .service-choice {
    min-width: 0;
    text-align: center;
  }

  .focused-services > .service-choice > p,
  .focused-services > .service-choice > h3 {
    margin-inline: auto;
  }

  .focused-services > .service-choice > ul {
    width: 100%;
    text-align: left;
  }

  .focused-services > .service-choice > a {
    align-self: center;
  }
}

/* final152k : la photo descend au bord de l'iPhone, sans déplacer les inscriptions. */
@media (max-width: 700px) and (min-height: 521px) {
  .photo-hero {
    height: 100vh;
    min-height: 100vh;
    height: 100lvh;
    min-height: 100lvh;
  }

  .photo-hero .hero-copy {
    height: max(var(--mobile-hero-height, 100svh), 650px);
    min-height: max(var(--mobile-hero-height, 100svh), 650px);
  }
}

/* Sur tablette, employer le cadrage horizontal pour éviter les bandes latérales. */
@media (min-width: 701px) and (max-width: 900px) {
  .photo-hero {
    background-image: linear-gradient(180deg, rgba(6,10,9,.04) 0%, rgba(6,10,9,.1) 42%, rgba(6,10,9,.58) 100%), url("hero-route-corse-desktop-16x9-natural-v2.webp");
    background-position: 70% 52%;
    background-size: cover;
  }
}

@media (max-width: 359px) {
  .section,
  .cpam-guide {
    padding-inline: 16px;
  }

  .booking-form {
    padding-inline: 16px;
  }

  .field-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

@media (max-height: 520px) and (orientation: landscape) and (max-width: 900px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 620px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
:root {
  --local-ink: #152820;
  --local-forest: #18352b;
  --local-forest-deep: #0c201a;
  --local-cream: #f4eddf;
  --local-paper: #fbf7ef;
  --local-bronze: #d3954d;
  --local-bronze-dark: #aa6d2e;
  --local-white: #fffdf8;
}

body.local-page {
  margin: 0;
  background: var(--local-cream);
  color: var(--local-ink);
  font-family: "Manrope", sans-serif;
}

.local-page *,
.local-page *::before,
.local-page *::after { box-sizing: border-box; }

.local-page a { color: inherit; }

.local-skip {
  position: fixed;
  top: -70px;
  left: 18px;
  z-index: 1000;
  padding: 12px 18px;
  border-radius: 0 0 12px 12px;
  background: var(--local-white);
  color: var(--local-ink);
  font-weight: 800;
}

.local-skip:focus { top: 0; }

.local-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 86px;
  padding: 18px clamp(22px, 4vw, 72px);
  color: var(--local-white);
}

.local-brand {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
}

.local-brand strong {
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(18px, 1.55vw, 25px);
  letter-spacing: -.04em;
}

.local-brand small {
  margin-top: 6px;
  color: var(--local-bronze);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.local-nav {
  display: flex;
  align-items: center;
  gap: 12px;
}

.local-nav a {
  padding: 11px 15px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
}

.local-nav .local-call {
  background: var(--local-bronze);
  color: #111812;
}

.local-hero {
  position: relative;
  display: grid;
  min-height: 660px;
  place-items: center;
  overflow: hidden;
  padding: 130px 24px 78px;
  background:
    linear-gradient(90deg, rgba(8, 22, 18, .88), rgba(8, 17, 15, .48) 58%, rgba(5, 10, 9, .66)),
    url("hero-route-corse-desktop-16x9-natural-v2.webp") center 54% / cover no-repeat;
  color: var(--local-white);
  text-align: center;
}

.local-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 130px;
  background: linear-gradient(transparent, rgba(8, 20, 16, .66));
  pointer-events: none;
}

.local-hero-inner {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
}

.local-eyebrow {
  margin: 0 0 18px;
  color: var(--local-bronze);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.local-hero h1,
.local-section h2,
.local-cta h2 {
  margin: 0;
  font-family: "Manrope", sans-serif;
  letter-spacing: -.055em;
}

.local-hero h1 {
  font-size: clamp(43px, 6.3vw, 86px);
  line-height: .98;
}

.local-hero h1 em,
.local-section h2 em,
.local-cta h2 em {
  color: var(--local-bronze);
  font-family: "Caveat", cursive;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -.02em;
}

.local-hero-lead {
  width: min(760px, 100%);
  margin: 26px auto 0;
  color: rgba(255, 253, 248, .9);
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.65;
}

.local-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
}

.local-button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  padding: 0 25px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}

.local-button.primary {
  border-color: var(--local-bronze);
  background: var(--local-bronze);
  color: #111812;
}

.local-button.secondary {
  background: rgba(8, 22, 18, .48);
  color: var(--local-white);
  backdrop-filter: blur(8px);
}

.local-breadcrumb {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: -20px auto 0;
  padding: 0 24px;
}

.local-breadcrumb ol {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 13px 18px;
  border: 1px solid rgba(21, 40, 32, .08);
  border-radius: 999px;
  background: var(--local-paper);
  box-shadow: 0 15px 45px rgba(15, 31, 25, .12);
  list-style: none;
  font-size: 12px;
  font-weight: 700;
}

.local-breadcrumb li + li::before {
  content: "›";
  margin-right: 8px;
  color: var(--local-bronze-dark);
}

.local-breadcrumb a { text-decoration: none; }

.local-section {
  padding: clamp(72px, 9vw, 120px) 24px;
}

.local-section.paper { background: var(--local-paper); }
.local-section.forest { background: var(--local-forest); color: var(--local-white); }

.local-shell {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.local-heading {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(300px, .75fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
  margin-bottom: 50px;
}

.local-heading h2 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.02;
}

.local-heading > p {
  margin: 0;
  color: #50645b;
  font-size: 16px;
  line-height: 1.75;
}

.forest .local-heading > p { color: rgba(255, 253, 248, .72); }

.local-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.local-card {
  padding: clamp(25px, 3vw, 36px);
  border: 1px solid rgba(21, 40, 32, .1);
  border-radius: 24px;
  background: rgba(255, 253, 248, .72);
}

.forest .local-card {
  border-color: rgba(255, 255, 255, .11);
  background: rgba(255, 255, 255, .055);
}

.local-card .number {
  display: inline-grid;
  width: 38px;
  height: 38px;
  margin-bottom: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--local-bronze);
  color: #112018;
  font-size: 12px;
  font-weight: 900;
}

.local-card h3 {
  margin: 0 0 14px;
  font-size: 21px;
  line-height: 1.25;
}

.local-card p,
.local-card li {
  color: #53665d;
  font-size: 14px;
  line-height: 1.75;
}

.forest .local-card p,
.forest .local-card li { color: rgba(255, 253, 248, .7); }

.local-card ul {
  margin: 16px 0 0;
  padding-left: 19px;
}

.local-copy {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.25fr);
  gap: clamp(40px, 8vw, 120px);
}

.local-copy h2 {
  font-size: clamp(36px, 4.7vw, 61px);
  line-height: 1.04;
}

.local-prose {
  font-size: 16px;
  line-height: 1.82;
}

.local-prose p:first-child { margin-top: 0; }
.local-prose p:last-child { margin-bottom: 0; }
.local-prose strong { color: var(--local-forest); }
.forest .local-prose strong { color: var(--local-bronze); }

.local-highlight {
  margin-top: 32px;
  padding: 24px 26px;
  border-left: 3px solid var(--local-bronze);
  border-radius: 0 18px 18px 0;
  background: rgba(211, 149, 77, .11);
}

.local-highlight p { margin: 0; }

.local-faq-list {
  width: min(900px, 100%);
  margin: 0 auto;
}

.local-faq-list details {
  border-top: 1px solid rgba(21, 40, 32, .15);
}

.local-faq-list details:last-child { border-bottom: 1px solid rgba(21, 40, 32, .15); }

.local-faq-list summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 0;
  cursor: pointer;
  font-size: 17px;
  font-weight: 800;
  list-style: none;
}

.local-faq-list summary::-webkit-details-marker { display: none; }

.local-faq-list summary::after {
  content: "+";
  color: var(--local-bronze-dark);
  font-size: 24px;
}

.local-faq-list details[open] summary::after { content: "−"; }

.local-faq-list details p {
  max-width: 760px;
  margin: -5px 0 24px;
  color: #52645c;
  line-height: 1.75;
}

.local-related {
  padding: 42px 24px;
  background: #10271f;
  color: var(--local-white);
}

.local-related .local-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.local-related p {
  margin: 0;
  color: rgba(255, 253, 248, .62);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.local-related nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px 17px;
}

.local-related a {
  color: rgba(255, 253, 248, .82);
  font-size: 13px;
  text-underline-offset: 4px;
}

.local-cta {
  padding: clamp(76px, 10vw, 130px) 24px;
  background: var(--local-cream);
  text-align: center;
}

.local-cta-inner {
  width: min(900px, 100%);
  margin: 0 auto;
  padding: clamp(42px, 7vw, 80px);
  border-radius: 32px;
  background: var(--local-forest-deep);
  color: var(--local-white);
  box-shadow: 0 28px 80px rgba(12, 32, 26, .2);
}

.local-cta h2 {
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: 1;
}

.local-cta p {
  width: min(650px, 100%);
  margin: 22px auto 0;
  color: rgba(255, 253, 248, .72);
  line-height: 1.7;
}

.local-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  align-items: end;
  padding: 40px clamp(22px, 4vw, 72px);
  background: #081812;
  color: var(--local-white);
}

.local-footer p,
.local-footer small { margin: 0; color: rgba(255, 253, 248, .58); }

.local-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 19px;
}

.local-footer-links a { font-size: 12px; text-underline-offset: 4px; }

/* La seule présence des pages locales sur l'accueil : une ligne volontairement discrète. */
footer .seo-footer-links {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px 16px;
  width: 100%;
  margin-top: 8px;
  padding-top: 17px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

footer .seo-footer-links span,
footer .seo-footer-links a {
  color: rgba(255, 255, 255, .52);
  font-size: 11px;
  font-weight: 600;
}

footer .seo-footer-links span {
  color: rgba(255, 255, 255, .34);
  letter-spacing: .1em;
  text-transform: uppercase;
}

footer .seo-footer-links a { text-underline-offset: 3px; }

.seo-context-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(194, 138, 75, .58);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

@media (hover: hover) {
  .seo-context-link:hover { text-decoration-color: currentColor; }
}

.seo-links-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 7px 16px;
  padding: 17px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: #081812;
}

.seo-links-bar span,
.seo-links-bar a {
  color: rgba(255, 255, 255, .5);
  font-family: "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 600;
}

.seo-links-bar span {
  color: rgba(255, 255, 255, .33);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.seo-links-bar a { text-underline-offset: 3px; }

@media (max-width: 820px) {
  .local-header { min-height: 72px; padding: 14px 18px; }
  .local-nav > a:first-child { display: none; }
  .local-nav a { padding: 10px 13px; font-size: 12px; }
  .local-hero {
    min-height: 620px;
    padding: 108px 20px 68px;
    background:
      linear-gradient(rgba(6, 18, 14, .64), rgba(6, 16, 13, .72)),
      url("hero-route-corse-mobile-9x16-natural-v2.webp") center 54% / cover no-repeat;
  }
  .local-hero h1 { font-size: clamp(41px, 13vw, 65px); }
  .local-hero-lead { font-size: 16px; }
  .local-heading,
  .local-copy { grid-template-columns: 1fr; gap: 26px; }
  .local-grid { grid-template-columns: 1fr; }
  .local-card .number { margin-bottom: 22px; }
  .local-related .local-shell { align-items: flex-start; flex-direction: column; }
  .local-related nav { justify-content: flex-start; }
  .local-footer { grid-template-columns: 1fr; }
  .local-footer-links { justify-content: flex-start; }
}

@media (max-width: 520px) {
  .local-brand strong { font-size: 17px; }
  .local-brand small { font-size: 8px; }
  .local-nav .local-call { padding: 9px 12px; }
  .local-actions { flex-direction: column; }
  .local-button { width: 100%; }
  .local-breadcrumb { padding: 0 14px; }
  .local-breadcrumb ol { border-radius: 16px; }
  .local-section { padding-right: 18px; padding-left: 18px; }
  .local-cta { padding-right: 16px; padding-left: 16px; }
  .local-cta-inner { padding-right: 23px; padding-left: 23px; }
  footer .seo-footer-links { justify-content: flex-start; }
  .seo-links-bar { justify-content: flex-start; }
}
/* Ajustements approuves pour la page d'accueil uniquement. */

/* Menu plus lisible sur ordinateur, sans changer sa structure. */
@media (min-width: 901px) {
  .site-header nav {
    font-size: 12px;
    gap: 22px;
  }

  .photo-hero {
    background-image:
      linear-gradient(180deg, rgba(6, 10, 9, .18), rgba(6, 10, 9, .59)),
      url("hero-route-corse-desktop-16x9-natural-v2.webp");
  }
}

/* La preuve Google est egalement visible sur tablette et ordinateur. */
@media (min-width: 701px) {
  .mobile-hero-rating {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    padding: 6px 10px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
  }

  .mobile-hero-rating span {
    color: var(--bronze-light);
    letter-spacing: 2px;
  }

  .mobile-hero-rating strong {
    font-size: 17px;
  }

  .mobile-hero-rating small {
    color: #c7ccc8;
    font-size: 10px;
  }
}

/* La demande reste une indication secondaire sous le numero, sans effet de bouton. */
.photo-hero .hero-action-panel .hero-request {
  min-height: 44px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .78) !important;
}

.photo-hero .hero-action-panel .hero-request:hover,
.photo-hero .hero-action-panel .hero-request:focus-visible {
  background: transparent !important;
  color: #fff !important;
}

.photo-hero .hero-action-panel .hero-request strong {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.25;
}

.photo-hero .hero-action-panel .hero-request strong span {
  display: inline-block;
  margin-left: 4px;
  color: var(--bronze-light);
  transition: transform .2s ease;
}

.photo-hero .hero-action-panel .hero-request:hover strong span,
.photo-hero .hero-action-panel .hero-request:focus-visible strong span {
  transform: translateX(3px);
}

/* Cibles tactiles plus confortables et cadrage mobile tres legerement recentre. */
.language-switcher button {
  min-width: 40px;
  min-height: 44px;
}

@media (max-width: 900px) {
  .site-header nav a {
    min-height: 44px;
  }
}

/* Aperçu local uniquement : révéler immédiatement le contenu du hero dans l’iframe. */
html[data-preview] .photo-hero .hero-copy,
html[data-preview] .photo-hero .hero-copy .reveal {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}

/* Footer final : hiérarchie simple, liens locaux discrets et même rendu sur mobile. */
footer {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(190px, .8fr) minmax(250px, 1fr);
  gap: 28px 52px;
  align-items: start;
  padding: 54px clamp(24px, 6vw, 92px) 34px;
  text-align: left;
}

footer .footer-identity {
  align-items: flex-start;
  gap: 8px;
}

footer .footer-identity p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .58);
  font-size: 11px;
}

footer .footer-contact,
footer .footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
  padding-top: 24px;
}

footer .footer-contact a:first-child {
  color: var(--bronze-light);
  font-size: 16px;
  font-weight: 800;
}

footer .footer-contact a:last-child,
footer .footer-links a {
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
}

footer .footer-links a:last-child {
  text-decoration: underline;
  text-underline-offset: 4px;
}

footer .seo-footer-links {
  grid-column: 1 / -1;
  justify-content: flex-start;
  margin-top: 6px;
  padding: 17px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

footer .seo-footer-links span {
  margin-right: 4px;
}

footer .footer-copyright {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: -4px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  text-align: center;
}

@media (max-width: 700px) {
  footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 42px 22px 28px;
    text-align: center;
  }

  footer .footer-identity,
  footer .footer-contact,
  footer .footer-links {
    align-items: center;
    padding-top: 0;
  }

  footer .footer-identity p {
    margin-top: 5px;
  }

  footer .footer-contact {
    gap: 7px;
  }

  footer .footer-links {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px 15px;
  }

  footer .seo-footer-links {
    width: 100%;
    justify-content: center;
    gap: 7px 13px;
    margin-top: 3px;
    padding-top: 15px;
  }

  footer .seo-footer-links span {
    width: 100%;
    margin: 0 0 2px;
  }

  footer .footer-copyright {
    margin-top: 0;
    padding-top: 15px;
  }
}

@media (max-width: 700px) {
  .photo-hero {
    background-position: 39% 46%;
  }

  .photo-hero .hero-action-panel .hero-request {
    min-height: 44px !important;
    padding-inline: 8px !important;
  }

  .photo-hero .hero-action-panel .hero-request strong {
    font-size: 9.25px;
  }

  .mobile-hero-rating {
    min-height: 44px;
    padding-inline: 8px;
  }

  .seo-links-bar a,
  footer .footer-links a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }
}

@media (max-width: 350px) {
  .language-switcher button {
    min-width: 36px;
  }
}

/* Accueil 9 - reduire le vide du hero sur les telephones hauts. */
@media (max-width: 700px) {
  .photo-hero {
    --hero-lower-lift: clamp(-35px, calc(95px - 15.5svh), 0px);
  }

  .photo-hero h1,
  .photo-hero .hero-lead,
  .photo-hero .always-open,
  .photo-hero .hero-action-panel,
  .photo-hero .mobile-hero-rating {
    position: relative;
    top: var(--hero-lower-lift);
  }
}

/* Accueil 10 - respiration finale du groupe d'informations mobile. */
@media (max-width: 700px) and (min-width: 351px) {
  .photo-hero .hero-lead {
    margin-top: 22px;
    margin-bottom: 8px;
  }

  .photo-hero .always-open {
    margin-bottom: 14px;
  }

  .mobile-hero-rating {
    margin-top: 12px;
  }
}

/* QA responsive 2026 : consolidation finale sans changement d'identité visuelle. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.site-header {
  padding-left: max(24px, env(safe-area-inset-left));
  padding-right: max(24px, env(safe-area-inset-right));
}

.menu-toggle,
.language-switcher button,
.photo-hero .hero-call,
.photo-hero .hero-request,
.mobile-hero-rating {
  touch-action: manipulation;
}

/* Desktop et laptop : le hero occupe l'écran utile sans dépasser artificiellement. */
@media (min-width: 901px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: clamp(720px, 75svh, 820px);
  }
}

@media (min-width: 901px) and (max-height: 800px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 720px;
  }

  .photo-hero .hero-copy {
    padding-top: 98px;
    padding-bottom: 44px;
  }

  .graffiti-logo { margin-bottom: 14px; }
  .graffiti-logo small { font-size: clamp(44px, 4.2vw, 58px); }
  .graffiti-logo strong { font-size: clamp(66px, 6.2vw, 86px); }
  .photo-hero .location-signature { margin-top: 18px; margin-bottom: 18px; }
  .photo-hero h1 { font-size: clamp(56px, 5.1vw, 70px); line-height: .94; }
  .photo-hero .hero-lead { margin-top: 20px; margin-bottom: 10px; }
}

/* Tablette portrait : hauteur et cadrage propres à ce ratio. */
@media (min-width: 701px) and (max-width: 900px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: min(760px, 100svh);
  }

  .photo-hero .hero-copy {
    width: min(680px, 100%);
    padding: calc(94px + env(safe-area-inset-top)) 26px max(52px, env(safe-area-inset-bottom));
  }

  .photo-hero h1 { max-width: 620px; }
}

/* Téléphones : utiliser le viewport sûr, sans le débordement créé par 100lvh. */
@media (max-width: 700px) {
  .site-header {
    top: max(10px, env(safe-area-inset-top));
    left: max(2vw, env(safe-area-inset-left));
    right: max(2vw, env(safe-area-inset-right));
    width: auto;
    padding-left: 18px;
    padding-right: 14px;
  }

  .language-switcher button { min-width: 36px; }
  .footer-brand { min-height: 44px; }

  .photo-hero {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
  }

  .photo-hero .hero-copy {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    padding-bottom: max(54px, calc(34px + env(safe-area-inset-bottom)));
  }

  .graffiti-logo {
    top: calc(86px + env(safe-area-inset-top));
  }

  .photo-hero .location-signature {
    top: calc(189px + env(safe-area-inset-top));
  }
}

/* Petits écrans verticaux : conserver toutes les informations essentielles dans le hero. */
@media (max-width: 350px) and (max-height: 650px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 100svh;
  }

  .photo-hero .hero-copy {
    padding-top: calc(62px + env(safe-area-inset-top));
    padding-bottom: max(12px, env(safe-area-inset-bottom));
  }

  .graffiti-logo { top: calc(62px + env(safe-area-inset-top)); }
  .photo-hero .location-signature { top: calc(150px + env(safe-area-inset-top)); }
}

/* Mobile et tablette en paysage : composition courte plutôt qu'un portrait recadré. */
@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 520px;
  }

  .photo-hero .hero-copy {
    width: min(720px, 100%);
    padding: calc(70px + env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
    justify-content: center;
  }

  .graffiti-logo { position: static; width: auto; transform: rotate(-2deg); }
  .graffiti-logo small { font-size: 28px; }
  .graffiti-logo strong { font-size: 43px; }
  .photo-hero .location-signature { position: static; margin: 12px 0 15px; transform: none; }
  .photo-hero h1 { margin-top: 0; font-size: 34px; }
  .photo-hero .hero-lead { margin-top: 11px; }
  .photo-hero .always-open { margin-bottom: 10px; }
  .mobile-hero-rating { margin-top: 7px; }
}

/* Mobile : conserver exactement le rythme vertical de la version publiee. */
@media (max-width: 700px) {
  .language-switcher button {
    min-width: 30px;
  }

  .photo-hero {
    background-position: 64% center;
  }

  .photo-hero .hero-action-panel .hero-request {
    min-height: auto !important;
    padding: 2px 4px !important;
  }

  .mobile-hero-rating {
    min-height: 0;
    padding: 0;
  }
}

/* Reflet lumineux tres discret sur l'action principale. */
.photo-hero .hero-call {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.photo-hero .hero-call::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: -55%;
  bottom: -55%;
  left: -42%;
  width: 26%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .24), transparent);
  transform: translateX(-220%) skewX(-16deg);
  animation: hero-call-shimmer 5s ease-in-out infinite;
  pointer-events: none;
}

.photo-hero .hero-call > * {
  position: relative;
  z-index: 1;
}

@keyframes hero-call-shimmer {
  0%, 72% { transform: translateX(-220%) skewX(-16deg); }
  90%, 100% { transform: translateX(620%) skewX(-16deg); }
}

/* Avis : defilement continu, lent et manipulable au doigt. */
.reviews-carousel {
  width: 100%;
  margin-top: 58px;
  overflow-x: auto;
  overflow-y: hidden;
  border-top: 1px solid rgba(24, 33, 29, .14);
  border-bottom: 1px solid rgba(24, 33, 29, .14);
  scrollbar-width: none;
  scroll-snap-type: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
}

.reviews-carousel::-webkit-scrollbar {
  display: none;
}

.reviews-carousel .reviews-grid {
  display: flex !important;
  width: max-content !important;
  margin: 0 !important;
  gap: 14px !important;
  overflow: visible !important;
  border: 0 !important;
}

.reviews-carousel .review-card {
  flex: 0 0 clamp(280px, calc((88vw - 28px) / 3), 410px);
  width: auto !important;
  min-height: 285px;
  border: 1px solid rgba(137, 89, 46, .16) !important;
  border-radius: 20px !important;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .reviews-carousel .review-card {
    flex-basis: min(42vw, 410px);
  }
}

@media (max-width: 700px) {
  .reviews-carousel {
    margin-top: 0;
    mask-image: none;
  }

  .reviews-carousel .review-card {
    flex-basis: min(80vw, 300px);
    min-height: 236px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .photo-hero .hero-call::after {
    animation: none;
    display: none;
  }

  .reviews-carousel {
    scroll-behavior: auto;
  }
}

/* Accueil 6 - finitions mobiles approuvees. */
.mobile-hero-rating {
  margin-inline: auto;
  white-space: nowrap;
}

.mobile-hero-rating small {
  color: #c7ccc8;
}

@media (max-width: 900px) {
  /* Menu sombre, lisible et coherent avec l'identite du site. */
  .site-header nav {
    display: flex;
    top: 68px;
    left: 14px;
    right: 14px;
    padding: 10px 14px 14px;
    gap: 0;
    align-items: stretch;
    color: #fff;
    border: 1px solid rgba(198, 146, 75, .34);
    border-radius: 18px;
    background: rgba(7, 14, 11, .92);
    box-shadow: 0 24px 58px rgba(0, 0, 0, .34);
    backdrop-filter: blur(20px) saturate(125%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-9px) scale(.985);
    transform-origin: top center;
    transition: opacity .22s ease, transform .26s cubic-bezier(.22, 1, .36, 1), visibility .22s;
  }

  .site-header nav.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .site-header nav a,
  .site-header nav > a:not(.nav-call) {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 4px;
    color: rgba(255, 255, 255, .86);
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    text-align: left;
    font-size: 13px;
  }

  .site-header nav a[href="#reservation"] {
    min-height: 46px;
    margin-top: 11px;
    padding-inline: 16px;
    justify-content: center;
    color: #17120d;
    border: 0;
    border-radius: 999px;
    background: #c6924b;
  }

  /* Les deux traits deviennent une croix nette a l'ouverture. */
  .menu-toggle {
    position: relative;
    width: 44px;
    height: 44px;
  }

  .menu-toggle span:not(.sr-only) {
    position: absolute;
    left: 11px;
    width: 22px;
    height: 2px;
    margin: 0;
    border-radius: 2px;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1), top .24s ease;
  }

  .menu-toggle span:nth-child(1) { top: 17px; }
  .menu-toggle span:nth-child(2) { top: 25px; }
  .menu-toggle span:nth-child(3) { display: none; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { top: 21px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { top: 21px; transform: rotate(-45deg); }
}

@media (max-width: 700px) {
  /* Zones tactiles etendues sans modifier la mise en page visible. */
  .photo-hero .hero-request,
  .mobile-hero-rating {
    position: relative;
  }

  .photo-hero .hero-request::before,
  .mobile-hero-rating::before {
    content: "";
    position: absolute;
    inset: -10px -12px;
  }

  /* Contact rapide apres l'accueil, retire avant la zone de reservation. */
  .mobile-call {
    position: fixed;
    z-index: 60;
    left: 12px;
    right: 12px;
    bottom: calc(9px + env(safe-area-inset-bottom, 0px));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 16px;
    background: rgba(6, 13, 10, .86);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .3);
    backdrop-filter: blur(18px) saturate(125%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px);
    transition: opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility .22s;
  }

  .mobile-call.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .mobile-call a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
  }

  .mobile-call svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-call .mobile-quick-call {
    color: #17120d;
    background: #c6924b;
  }

  .mobile-call .mobile-quick-whatsapp {
    color: #fff;
    border: 1px solid rgba(78, 201, 129, .54);
    background: rgba(29, 139, 83, .76);
  }
}

@media (max-width: 350px) and (min-height: 521px) {
  /* Les petits iPhone gardent l'equilibre sans perdre la preuve Google. */
  .graffiti-logo small {
    margin-left: -67px;
    font-size: 29px;
  }

  .graffiti-logo strong {
    font-size: 46px;
  }

  .photo-hero .hero-copy {
    padding-inline: 16px;
    padding-bottom: 64px;
  }

  .photo-hero h1 {
    font-size: 29px;
  }

  .mobile-hero-rating {
    margin-top: 10px;
  }
}

@media (max-width: 350px) and (min-height: 521px) and (max-height: 620px) {
  .photo-hero .hero-copy {
    height: var(--mobile-hero-height, 100svh);
    min-height: var(--mobile-hero-height, 100svh);
    padding-top: 66px;
    padding-bottom: 14px;
  }

  .graffiti-logo {
    margin-top: 10px;
  }

  .graffiti-logo small {
    font-size: 27px;
  }

  .graffiti-logo strong {
    font-size: 43px;
  }

  .photo-hero .location-signature {
    margin-top: 11px;
  }

  .photo-hero h1 {
    font-size: 28px;
  }

  .photo-hero .hero-lead {
    margin-top: 11px;
    margin-bottom: 5px;
  }

  .photo-hero .always-open {
    margin-bottom: 10px;
  }

  .photo-hero .hero-action-panel .hero-call {
    min-height: 48px;
  }

  .mobile-hero-rating {
    margin-top: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header nav,
  .menu-toggle span:not(.sr-only),
  .mobile-call {
    transition: none;
  }
}

/* Accueil 7 - homogeneite du hero, avis et signature. */
.reviews-carousel .review-card {
  display: flex;
  flex-direction: column;
}

.reviews-carousel .review-card > p {
  margin-top: auto;
}

.footer-signature {
  grid-column: 1 / -1;
  width: clamp(150px, 14vw, 215px);
  height: auto;
  justify-self: center;
  margin-top: 18px;
  opacity: .62;
}

@media (max-width: 900px) {
  /* Retour au panneau clair de l'ancienne navigation. */
  .site-header nav {
    color: #18201d;
    border-color: rgba(137, 89, 46, .2);
    background: rgba(250, 247, 241, .97);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
    backdrop-filter: blur(18px) saturate(115%);
  }

  .site-header nav a,
  .site-header nav > a:not(.nav-call) {
    color: #26302b;
    border-bottom-color: rgba(24, 32, 29, .1);
  }

  .site-header nav a[href="#reservation"] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #17120d;
    background: #c6924b;
    box-shadow: 0 10px 24px rgba(126, 78, 30, .2);
    font-weight: 800;
  }
}

@media (max-width: 700px) and (min-width: 351px) {
  /* Le titre descend et le groupe pratique remonte pour former un seul ensemble. */
  .photo-hero h1 {
    transform: translateY(8px);
  }

  .photo-hero .hero-lead {
    margin-top: 10px;
    margin-bottom: 5px;
  }

  .photo-hero .always-open {
    margin-bottom: 14px;
  }
}

@media (max-width: 350px) and (min-height: 521px) {
  .photo-hero h1 {
    transform: translateY(4px);
  }

  .footer-signature {
    width: 145px;
    margin-top: 12px;
  }
}

/* Accueil 8 - centrage du menu, rythme du hero et pied de page signe. */
.footer-identity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.footer-signature {
  grid-column: auto;
  width: clamp(92px, 8vw, 118px);
  margin: 0;
  opacity: .58;
}

@media (max-width: 900px) {
  .site-header nav a,
  .site-header nav > a:not(.nav-call) {
    justify-content: center;
    padding-inline: 12px;
    text-align: center;
  }

  .footer-identity {
    align-items: center;
  }
}

@media (max-width: 700px) and (min-width: 351px) {
  body {
    padding-bottom: 0;
  }

  .photo-hero .hero-lead {
    margin-top: 18px;
    margin-bottom: 6px;
  }

  .photo-hero .always-open {
    margin-bottom: 10px;
  }

  .mobile-hero-rating {
    margin-top: 8px;
  }

  .footer-signature {
    width: 102px;
  }
}

@media (max-width: 350px) {
  body {
    padding-bottom: 0;
  }

  .footer-signature {
    width: 94px;
    margin-top: 0;
  }
}

/* Accueil 10 - priorite finale au rythme aere du hero mobile. */
@media (max-width: 700px) and (min-width: 351px) {
  .photo-hero .hero-lead {
    margin-top: 22px;
    margin-bottom: 8px;
  }

  .photo-hero .always-open {
    margin-bottom: 14px;
  }

  .mobile-hero-rating {
    margin-top: 12px;
  }
}

/* Autorité finale de la passe responsive : viewport sûr et zones tactiles. */
@media (max-width: 700px) {
  .language-switcher button {
    min-width: 36px;
  }

  .photo-hero {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
  }

  .photo-hero .hero-copy {
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
  }
}

@media (max-width: 350px) and (max-height: 650px) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 100svh;
  }
}

@media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
  .photo-hero,
  .photo-hero .hero-copy {
    min-height: 520px;
  }
}

/* Correction mobile finale : véhicule entièrement cadré et avis non tronqués. */
@media (max-width: 700px) {
  .photo-hero {
    background-size: auto 108%;
    background-position: 70% 50%;
  }

  .reviews-carousel {
    scroll-snap-type: x mandatory;
  }

  .reviews-carousel .review-card {
    scroll-snap-align: start;
  }
}

/* Priorites mobiles : cadrage du hero, menu flottant et avis autonomes. */
.reviews-carousel {
  border-top: 0;
  border-bottom: 0;
}

@media (max-width: 900px) {
  body::before {
    content: "";
    position: fixed;
    z-index: 49;
    inset: 0;
    background: rgba(3, 7, 6, .58);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
  }

  body.menu-open {
    overflow: hidden;
  }

  body.menu-open::before {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .site-header nav,
  .site-header.scrolled nav {
    position: fixed;
    top: 50%;
    left: 50%;
    right: auto;
    width: min(88vw, 370px);
    padding: 22px;
    gap: 3px;
    align-items: stretch;
    color: #fff;
    border: 1px solid rgba(198, 146, 75, .25);
    border-radius: 24px;
    background: rgba(10, 16, 14, .9);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .4);
    backdrop-filter: blur(22px) saturate(120%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -46%) scale(.975);
    transform-origin: center;
    transition: opacity .28s ease, transform .32s cubic-bezier(.22, 1, .36, 1), visibility .28s ease;
  }

  .site-header nav.open,
  .site-header.scrolled nav.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
  }

  .site-header nav a,
  .site-header nav > a:not(.nav-call) {
    min-height: 45px;
    justify-content: center;
    padding: 0 12px;
    color: rgba(255, 255, 255, .9);
    border: 0;
    text-align: center;
    font-size: 13px;
    letter-spacing: .01em;
  }

  .site-header nav a:hover,
  .site-header nav a:focus-visible {
    color: #e4b36f;
    background: rgba(255, 255, 255, .055);
  }

  .site-header nav a[href="#reservation"],
  .site-header nav .nav-call {
    min-height: 47px;
    margin-top: 12px;
    color: #17120d;
    border: 0;
    border-radius: 999px;
    background: #c6924b;
    box-shadow: 0 10px 26px rgba(108, 66, 24, .26);
    font-weight: 800;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
    color: #fff;
  }

  .menu-toggle span:not(.sr-only) {
    left: 11px;
    width: 20px;
    height: 1.5px;
    background: currentColor;
  }

  .menu-toggle span:nth-child(1) { top: 17px; }
  .menu-toggle span:nth-child(2) { top: 24px; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1),
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { top: 21px; }
}

@media (max-width: 700px) {
  .photo-hero {
    background-size: auto 108%;
    background-position: 70% 42%;
  }

  .reviews-carousel {
    width: 100%;
    margin-inline: 0;
    padding: 0;
    overflow-x: auto;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    mask-image: none;
  }

  .reviews-carousel .reviews-grid {
    gap: 12px !important;
  }

  .reviews-carousel .review-card {
    flex: 0 0 calc(100vw - 40px);
    width: calc(100vw - 40px) !important;
    max-width: none;
    min-height: 244px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    border: 1px solid rgba(137, 89, 46, .18) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .44);
  }
}

/* Footer final : hiérarchie simple, liens locaux discrets et même rendu sur mobile. */
footer {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(190px, .8fr) minmax(250px, 1fr);
  gap: 28px 52px;
  align-items: start;
  padding: 54px clamp(24px, 6vw, 92px) 34px;
  text-align: left;
}

footer .footer-identity { align-items: flex-start; gap: 8px; }
footer .footer-identity p { margin: 8px 0 0; color: rgba(255,255,255,.58); font-size: 11px; }
footer .footer-contact,
footer .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; padding-top: 24px; }
footer .footer-contact a:first-child { color: var(--bronze-light); font-size: 16px; font-weight: 800; }
footer .footer-contact a:last-child,
footer .footer-links a { color: rgba(255,255,255,.68); font-size: 12px; }
footer .footer-links a:last-child { text-decoration: underline; text-underline-offset: 4px; }
footer .seo-footer-links { grid-column: 1 / -1; justify-content: flex-start; margin-top: 6px; padding: 17px 0 0; border-top: 1px solid rgba(255,255,255,.1); }
footer .seo-footer-links span { margin-right: 4px; }
footer .footer-copyright { grid-column: 1 / -1; width: 100%; margin-top: -4px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.06); text-align: center; }

@media (max-width: 700px) {
  footer { display: flex; flex-direction: column; align-items: center; gap: 18px; width: 100%; min-width: 0; padding: 42px 22px 28px; text-align: center; }
  footer .footer-identity,
  footer .footer-contact,
  footer .footer-links { align-items: center; padding-top: 0; }
  footer .footer-identity p { margin-top: 5px; }
  footer .footer-contact { gap: 7px; }
  footer .footer-links { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 7px 15px; }
  footer .seo-footer-links { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 0; margin-top: 3px; padding-top: 15px; }
  footer .seo-footer-links span { width: 100%; margin: 0 0 2px; }
  footer .seo-footer-links a { min-width: 0; max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; white-space: normal; overflow-wrap: anywhere; word-break: break-word; font-size: 12px; line-height: 1.35; text-align: center; }
  footer .footer-copyright { margin-top: 0; padding-top: 15px; }
}

.field-row[hidden] { display: none !important; }

/* Mode de capture local du footer, activé uniquement avec ?footer=1. */
html[data-preview-footer] .site-header,
html[data-preview-footer] main { display: none !important; }
html[data-preview-footer] footer { min-height: 100vh; }

/* Avis : présentation fixe sur grand écran, glissement manuel sur mobile. */
.reviews-carousel.manual-reviews {
  overflow: visible;
  mask-image: none;
  border: 0 !important;
}
.reviews-carousel.manual-reviews .reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: auto !important;
  gap: 14px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}
.reviews-carousel.manual-reviews .review-card {
  width: auto !important;
  min-width: 0;
  flex: initial;
  border: 1px solid rgba(137, 89, 46, .18) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 30px rgba(63, 50, 35, .07), inset 0 1px rgba(255, 255, 255, .72);
}

.reviews-pagination {
  display: none;
}

@media (max-width: 700px) {
  .reviews {
    background: linear-gradient(180deg, #f5f1e9 0, #f0ece4 55%, #f7f4ee 100%) !important;
    padding-top: 64px;
    padding-bottom: 68px;
  }

  .reviews::before { display: none !important; }

  .reviews-heading {
    margin-bottom: 26px;
  }

  .reviews-heading h2 {
    max-width: 320px;
  }

  .reviews .google-rating {
    margin-top: 18px;
    padding: 12px 0 0;
  }

  .reviews-carousel.manual-reviews {
    background: transparent !important;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    padding-inline: 0;
    margin-inline: 0;
    mask-image: none;
    cursor: grab;
  }
  .reviews-carousel.manual-reviews:active { cursor: grabbing; }
  .reviews-carousel.manual-reviews .reviews-grid {
    display: flex !important;
    width: 100% !important;
    gap: 12px !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 0 2px;
  }
  .reviews-carousel.manual-reviews .review-card {
    flex: 0 0 100%;
    width: 100% !important;
    max-width: none;
    min-height: 226px;
    padding: 23px 22px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(137, 89, 46, .18) !important;
    border-radius: 24px !important;
    border-top-left-radius: 24px !important;
    border-top-right-radius: 24px !important;
    border-bottom-right-radius: 24px !important;
    border-bottom-left-radius: 24px !important;
    box-shadow: 0 0 0 transparent !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* Conserver le fondu sans déplacement vertical lors du swipe. */
  .reviews-carousel.manual-reviews .review-card.reveal {
    transform: none;
  }

  .reviews-carousel.manual-reviews .review-card blockquote {
    margin: 20px 0 18px;
    font-size: 15px;
    line-height: 1.52;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .reviews-carousel.manual-reviews .review-card > p {
    margin-top: auto;
  }

  .reviews-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0 0;
  }

  .reviews-pagination button {
    position: relative;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--bronze-dark);
    cursor: pointer;
  }

  .reviews-pagination button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(24, 33, 29, .3);
    transform: translate(-50%, -50%);
    transition: width .2s ease, background-color .2s ease;
  }

  .reviews-pagination button[aria-current="true"]::before {
    width: 18px;
    background: var(--bronze-dark);
  }

  .reviews-pagination button:focus-visible {
    outline: 2px solid var(--bronze-dark);
    outline-offset: 0;
  }

  .reviews-pagination + .reviews-clarification {
    margin-top: 10px;
  }
}

@media (max-width: 350px) {
  .reviews-carousel.manual-reviews .review-card {
    flex-basis: 100%;
    width: 100% !important;
    padding: 21px 18px;
  }

  .reviews-carousel.manual-reviews .review-card blockquote {
    font-size: 14px;
    line-height: 1.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reviews-pagination button::before {
    transition: none;
  }
}

/* Hero mobile : cadrage final du paysage et équilibre du premier écran. */
@media (max-width: 700px) {
  .photo-hero {
    background-size: auto 103%;
    background-position: 78% 50%;
  }

  .photo-hero .hero-copy {
    position: relative;
    top: -30px;
  }

  .graffiti-logo {
    top: calc(54px + env(safe-area-inset-top));
  }

  .photo-hero .location-signature {
    top: calc(138px + env(safe-area-inset-top));
  }

  .photo-hero h1,
  .photo-hero .hero-lead,
  .photo-hero .always-open,
  .photo-hero .hero-action-panel,
  .photo-hero .mobile-hero-rating {
    top: calc(var(--hero-lower-lift, 0px) - 18px);
  }
}

@media (max-width: 350px) {
  .photo-hero {
    background-position: 76% 48%;
  }

  .photo-hero .hero-copy {
    top: -22px;
  }

  .graffiti-logo {
    top: calc(48px + env(safe-area-inset-top));
  }

  .photo-hero .location-signature {
    top: calc(122px + env(safe-area-inset-top));
  }
}

/* Rééquilibrage : le logo reste à sa hauteur validée, seul le groupe d'appel remonte. */
@media (max-width: 700px) {
  .photo-hero .hero-copy { top: 0; }
  .graffiti-logo { top: calc(86px + env(safe-area-inset-top)); }
  .photo-hero .location-signature { top: calc(189px + env(safe-area-inset-top)); }
}

@media (max-width: 350px) {
  .graffiti-logo { top: calc(62px + env(safe-area-inset-top)); }
  .photo-hero .location-signature { top: calc(150px + env(safe-area-inset-top)); }
}

/* Hero mobile : supprimer la démarcation du header flottant sur l’image. */
@media (max-width: 700px) {
  .site-header,
  .site-header.scrolled {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 70px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(7, 11, 9, .68), rgba(7, 11, 9, .24) 68%, transparent 100%);
    box-shadow: none;
    backdrop-filter: none;
  }

  /* Dégager le véhicule du bloc d’inscriptions sans modifier le décor. */
  .photo-hero h1,
  .photo-hero .hero-lead,
  .photo-hero .always-open,
  .photo-hero .hero-action-panel,
  .photo-hero .mobile-hero-rating {
    top: calc(var(--hero-lower-lift, 0px) - 52px);
  }

  .photo-hero {
    background-position: 80% 50%;
  }

  .photo-hero .location-signature {
    margin-bottom: 18px;
  }

  .photo-hero:after {
    background: linear-gradient(180deg, rgba(4, 8, 7, .04) 0%, rgba(4, 8, 7, .08) 48%, rgba(4, 8, 7, .58) 100%);
  }
}

/* Hero mobile : ajustements de composition validés après restauration. */
@media (max-width: 700px) {
  .language-switcher {
    gap: 0;
    padding-inline: 2px;
  }

  .language-switcher button {
    min-width: 27px;
    padding-inline: 5px;
    font-size: 11px;
  }

  .graffiti-logo small {
    font-size: 30px;
  }

  .graffiti-logo strong {
    font-size: 46px;
  }

  .photo-hero .location-signature {
    top: calc(174px + env(safe-area-inset-top));
  }

  .photo-hero h1,
  .photo-hero .hero-lead,
  .photo-hero .always-open,
  .photo-hero .hero-action-panel {
    top: calc(var(--hero-lower-lift, 0px) - 126px);
  }

  .photo-hero .mobile-hero-rating {
    top: calc(var(--hero-lower-lift, 0px) + 48px);
  }

  .photo-hero {
    background-size: auto 100%;
    background-position: 80% bottom;
  }

  .photo-hero .hero-call strong {
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .025em;
  }

  .photo-hero .hero-lead {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(10.5px, 3vw, 12.5px);
    letter-spacing: -.01em;
  }

  .photo-hero .always-open span {
    position: relative;
    animation: availability-pulse 2.2s ease-out infinite;
  }

  .mobile-hero-rating {
    width: max-content;
    max-width: calc(100vw - 48px);
    min-height: 30px;
    margin: 9px auto 0;
    padding: 4px 0;
    gap: 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
    font-size: 11.5px;
  }

  .mobile-hero-rating span {
    font-size: 11px;
    letter-spacing: 1.4px;
  }

  .mobile-hero-rating strong {
    font-size: 16px;
  }

  .mobile-hero-rating small {
    font-size: 10.5px;
  }
}

@media (max-width: 350px) {
  .graffiti-logo small { font-size: 28px; }
  .graffiti-logo strong { font-size: 43px; }
  .photo-hero .location-signature { top: calc(142px + env(safe-area-inset-top)); }
}

@keyframes availability-pulse {
  0% { box-shadow: 0 0 0 0 rgba(211, 161, 92, .5); }
  65%, 100% { box-shadow: 0 0 0 7px rgba(211, 161, 92, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .photo-hero .always-open span { animation: none; }
}

/* Menu mobile : traits parfaitement homogènes malgré le contraste variable de la photo. */
@media (max-width: 900px) {
  .site-header .menu-toggle span:not(.sr-only) {
    background: #fff !important;
    opacity: 1;
    box-shadow: 0 0 3px rgba(0, 0, 0, .42);
  }

  .site-header .menu-toggle,
  .site-header .menu-toggle[aria-expanded="true"],
  .site-header .language-switcher {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .site-header .language-switcher button,
  .site-header .language-switcher button.active {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Formulaire de réservation : itinéraire lisible et actions mieux hiérarchisées. */
.booking-form .required-note {
  margin: 0 0 22px;
  font-size: 11px;
  letter-spacing: .01em;
}

.booking-form .field {
  gap: 8px;
  margin-bottom: 17px;
}

.booking-form .field label {
  color: var(--ink);
  font-size: 11px;
  letter-spacing: .01em;
}

.booking-form .field input,
.booking-form .field textarea {
  border-color: #ded7cb;
  background: #fffdf9;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.booking-form .field input:hover,
.booking-form .field textarea:hover {
  border-color: #cbbda9;
  background: #fff;
}

.booking-form .field input:focus,
.booking-form .field textarea:focus {
  border-color: var(--bronze-dark);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(137, 89, 46, .12);
}

.route-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  align-items: end;
  gap: 10px;
  margin-bottom: 1px;
}

.route-fields .field {
  min-width: 0;
}

.route-fields .field input {
  min-width: 0;
}

.route-connector {
  align-self: center;
  margin-top: 22px;
  color: var(--bronze-dark);
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.booking-form .asap-option {
  min-height: 48px;
  margin: 2px 0 9px;
  padding: 10px 13px;
  border-color: #d9d0c3;
  border-radius: 13px;
  color: var(--ink);
  background: #f7f2e9;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.booking-form .asap-option:hover,
.booking-form .asap-option:has(input:checked) {
  border-color: var(--bronze-light);
  background: #f5eadb;
  box-shadow: 0 5px 16px rgba(137, 89, 46, .08);
}

.booking-form .schedule-help {
  margin: 0 0 17px;
  font-size: 11px;
  line-height: 1.5;
}

.booking-form .form-actions {
  gap: 10px;
  margin-top: 5px;
}

.booking-form .form-actions .button {
  min-height: 51px;
  border-radius: 14px;
  font-size: 13px;
}

.booking-form .form-actions .primary {
  box-shadow: 0 9px 20px rgba(137, 89, 46, .16);
}

.booking-form .form-actions .whatsapp {
  color: var(--ink);
  border: 1px solid rgba(24, 33, 29, .24);
  background: #fff;
}

@media (max-width: 700px) {
  .route-fields {
    display: block;
    margin-bottom: 0;
  }

  .route-connector {
    display: none;
  }

  .booking-form .field input,
  .booking-form .field textarea {
    border-radius: 13px;
  }

  .booking-form .form-actions {
    gap: 9px;
  }

  .booking-form .form-actions .button {
    min-height: 52px;
  }
}

@media (max-width: 359px) {
  .booking-form .field input,
  .booking-form .field textarea {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-form .field input,
  .booking-form .field textarea,
  .booking-form .asap-option {
    transition: none;
  }
}

/* Dernier verrouillage mobile : le lockup reste centré malgré les anciens overrides. */
@media (max-width:700px) {
  .photo-hero .graffiti-logo {
    position:absolute !important;
    top:calc(95px + env(safe-area-inset-top)) !important;
    left:50% !important;
    width:100% !important;
    margin:0 !important;
    transform:translateX(-50%) rotate(-2deg) !important;
    align-items:center;
  }
  .photo-hero .location-signature {
    position:absolute !important;
    top:calc(198px + env(safe-area-inset-top)) !important;
    left:50% !important;
    margin:0 !important;
    transform:translateX(-50%) !important;
  }
  .photo-hero .location-signature>span {
    background:var(--bronze-light) !important;
    opacity:1 !important;
  }
  .site-header .language-switcher button.active {
    color:var(--bronze-light) !important;
    background:transparent !important;
  }
}

/* Hamburger mobile : mêmes pixels de couleur et d'épaisseur pour les deux traits. */
@media (max-width:900px) {
  .site-header .menu-toggle span:nth-child(1),
  .site-header .menu-toggle span:nth-child(2) {
    height:2px !important;
    background:#fff !important;
    opacity:1 !important;
    filter:none !important;
  }
}

/* Hero mobile : le numéro est légèrement abaissé dans le bouton, sans déplacer le CTA. */
@media (max-width:700px) {
  .photo-hero .hero-call strong {
    position:relative;
    top:0;
  }
  .photo-hero .hero-action-panel {
    position:relative;
    top:calc(var(--hero-lower-lift, 0px) - 112px);
  }
  .photo-hero .mobile-hero-rating {
    position:relative;
    top:12px;
    align-items:baseline;
  }
  .photo-hero .hero-action-panel .hero-call {
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:14px;
  }
  .photo-hero .hero-action-panel .hero-call span {
    margin:0;
  }
  .photo-hero .hero-action-panel .hero-call strong {
    margin:0;
  }
  .photo-hero .location-signature {
    top:calc(182px + env(safe-area-inset-top)) !important;
  }
}

/* Sélecteur de langues : boutons compacts, premium et immédiatement lisibles. */
.site-header .language-switcher {
  display:inline-flex !important;
  align-items:center;
  gap:3px !important;
  padding:3px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.site-header .language-switcher button {
  position:relative;
  display:inline-grid;
  place-items:center;
  min-width:38px !important;
  min-height:34px !important;
  padding:0 9px !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  color:rgba(255,255,255,.72) !important;
  background:transparent !important;
  font:700 10px/1 "Manrope",sans-serif !important;
  letter-spacing:.12em;
  cursor:pointer;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}

.site-header .language-switcher button:hover,
.site-header .language-switcher button:focus-visible {
  color:#fff !important;
  border-color:rgba(211,161,92,.62) !important;
  outline:none;
}

.site-header .language-switcher button.active {
  color:var(--bronze-light) !important;
  border-color:var(--bronze-light) !important;
  background:transparent !important;
  box-shadow:none !important;
}

.site-header .language-switcher button.active::after {
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:var(--bronze-light);
}

@media (max-width:700px) {
  .site-header .language-switcher {
    gap:2px !important;
    padding:2px !important;
  }

  .site-header .language-switcher button {
    min-width:36px !important;
    min-height:34px !important;
    padding-inline:7px !important;
    font-size:10px !important;
  }
}

/* Footer premium compact : trois colonnes sur desktop, une seule sur mobile. */
#site-footer {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-top:1px solid rgba(255,255,255,.07);
  border-radius:0;
  color:#fff;
  background:#101214;
  text-align:left;
}

#site-footer .footer-inner {
  display:block;
  width:min(100%, 1200px);
  margin:0 auto;
  padding:40px clamp(24px, 4vw, 48px) 20px;
}

#site-footer .footer-main {
  display:grid;
  grid-template-columns:1fr .9fr 1.25fr;
  gap:clamp(40px, 6vw, 88px);
  align-items:start;
}

#site-footer .footer-identity,
#site-footer .footer-contact,
#site-footer .seo-footer-links {
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

#site-footer .footer-identity {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}

#site-footer .footer-signature {
  width:96px;
  height:auto;
  margin:0 0 2px;
  opacity:.66;
}

#site-footer .footer-brand {
  min-height:0;
  color:#fff;
}

#site-footer .footer-brand strong {
  font-size:14px;
  line-height:1.2;
}

#site-footer .footer-brand small {
  margin-top:3px;
  color:rgba(255,255,255,.72);
  font-size:9px;
  letter-spacing:2px;
}

#site-footer .footer-identity p {
  margin:7px 0 0;
  color:rgba(255,255,255,.58);
  font-size:11px;
  line-height:1.45;
}

#site-footer .footer-contact {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding-top:16px;
}

#site-footer .footer-contact a:first-child {
  color:var(--bronze-light);
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
}

#site-footer .footer-contact a:last-child {
  color:rgba(255,255,255,.72);
  font-size:12px;
}

#site-footer .seo-footer-links {
  grid-column:auto;
  width:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

#site-footer .seo-footer-links span {
  margin:0 0 4px;
  color:rgba(255,255,255,.46);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

#site-footer .seo-footer-links a,
#site-footer .footer-legal,
#site-footer .footer-contact a {
  text-decoration:none;
  transition:color .2s ease, transform .2s ease;
}

#site-footer .seo-footer-links a {
  color:rgba(255,255,255,.72);
  font-size:12px;
  line-height:1.35;
}

#site-footer .footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:30px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}

#site-footer .footer-legal,
#site-footer .footer-copyright {
  width:auto;
  margin:0;
  padding:0;
  border:0;
  color:rgba(255,255,255,.48);
  font-size:10px;
  line-height:1.4;
  text-align:left;
}

#site-footer a:focus-visible {
  outline:2px solid var(--bronze-light);
  outline-offset:4px;
  border-radius:2px;
}

@media (hover:hover) {
  #site-footer .footer-contact a:hover,
  #site-footer .seo-footer-links a:hover,
  #site-footer .footer-legal:hover {
    color:var(--bronze-light);
    transform:translateX(3px);
  }
}

@media (min-width:701px) and (max-width:900px) {
  #site-footer .footer-main {
    grid-template-columns:1fr 1fr;
    gap:28px 56px;
  }

  #site-footer .seo-footer-links {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:auto repeat(4, auto);
    align-items:center;
    justify-content:start;
    gap:10px 20px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.06);
  }

  #site-footer .seo-footer-links span { margin:0 8px 0 0; }
}

@media (max-width:700px) {
  #site-footer { text-align:center; }

  #site-footer .footer-inner {
    padding:30px 22px 20px;
  }

  #site-footer .footer-main {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
  }

  #site-footer .footer-identity,
  #site-footer .footer-contact,
  #site-footer .seo-footer-links {
    width:100%;
    align-items:center;
  }

  #site-footer .footer-signature { width:86px; }
  #site-footer .footer-identity p { margin-top:4px; }
  #site-footer .footer-contact { gap:6px; padding-top:0; }
  #site-footer .footer-contact a:first-child { font-size:18px; }

  #site-footer .seo-footer-links {
    max-width:360px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:2px 12px;
    margin-top:2px;
  }

  #site-footer .seo-footer-links span {
    grid-column:1 / -1;
    margin:0 0 4px;
  }

  #site-footer .seo-footer-links a {
    min-width:0;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:4px 2px;
    overflow-wrap:anywhere;
    font-size:11px;
    text-align:center;
  }

  #site-footer .footer-bottom {
    flex-direction:column;
    justify-content:center;
    gap:9px;
    margin-top:16px;
    padding-top:14px;
  }

  #site-footer .footer-legal,
  #site-footer .footer-copyright { text-align:center; }
}

html[data-preview-footer] #site-footer { min-height:0; }

@media (prefers-reduced-motion:reduce) {
  #site-footer a { transition:none; }
}

/* Hero mobile : la zone Google reste strictement attachée au bloc d'avis. */
@media (max-width:700px) {
  .photo-hero .mobile-hero-rating {
    position:relative !important;
  }
}

/* final169 — Zones tactiles accessibles. */
.site-header .language-switcher button,
.site-header .language-switcher button.active {
  min-width:44px !important;
  min-height:44px !important;
  line-height:44px !important;
}

@media (max-width:700px) {
  .site-header .language-switcher button,
  .site-header .language-switcher button.active {
    min-width:44px !important;
    min-height:44px !important;
  }

  .reviews-pagination button {
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
  }
}

/* final157 — Fermeture visuelle sobre et cohérente avec le hero. */
#site-footer {
  background:#080b09;
  border-top-color:rgba(255,255,255,.075);
}

/* final156 — Tarifs : hiérarchie plus compacte, sans modifier le contenu. */
.tariffs-inline .tariff-essentials {
  gap:10px;
}

.tariffs-inline .tariff-essentials article {
  padding:23px 25px;
}

.tariffs-inline .tariff-essentials strong {
  margin:10px 0 6px;
  font-size:clamp(27px,2.7vw,37px);
  line-height:1.05;
}

.tariffs-inline .tariff-grid {
  gap:10px;
}

.tariffs-inline .tariff-grid article {
  padding:23px 25px;
}

.tariffs-inline .tariff-grid article > div {
  padding-bottom:14px;
}

.tariffs-inline .tariff-grid b {
  width:40px;
  height:40px;
  font-size:18px;
}

.tariffs-inline .tariff-grid strong {
  font-size:clamp(24px,2.6vw,32px);
}

.tariffs-inline .tariff-grid h3 {
  margin:16px 0 6px;
  font-size:16px;
  line-height:1.4;
}

.tariffs-inline .tariff-grid p {
  font-size:12.5px;
  line-height:1.55;
}

.tariffs-inline .tariff-notes {
  padding:23px 26px;
}

@media (min-width:701px) and (max-width:900px) {
  .tariffs-inline .tariff-essentials {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .tariffs-inline .tariff-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:700px) {
  .tariffs-inline .tariffs-heading {
    margin-bottom:30px;
  }

  .tariffs-inline .tariff-essentials {
    gap:8px;
    margin-bottom:10px;
  }

  .tariffs-inline .tariff-essentials article {
    padding:18px 19px;
  }

  .tariffs-inline .tariff-essentials strong {
    margin:7px 0 4px;
    font-size:27px;
  }

  .tariffs-inline .tariff-essentials p {
    font-size:12px;
    line-height:1.5;
  }

  .tariffs-inline .tariff-grid {
    gap:8px;
  }

  .tariffs-inline .tariff-grid article {
    padding:18px 19px;
    box-shadow:none;
  }

  .tariffs-inline .tariff-grid article > div {
    padding-bottom:11px;
  }

  .tariffs-inline .tariff-grid b {
    width:36px;
    height:36px;
    font-size:16px;
  }

  .tariffs-inline .tariff-grid strong {
    font-size:26px;
  }

  .tariffs-inline .tariff-grid h3 {
    margin:13px 0 4px;
    font-size:15px;
    line-height:1.35;
  }

  .tariffs-inline .tariff-grid p {
    font-size:12px;
    line-height:1.45;
  }

  .tariffs-inline .tariff-notes {
    margin-top:10px;
    padding:20px 19px;
  }
}

/* Île d'appel flottante : mobile uniquement, extérieure au hero. */
@media (max-width:700px) {
  body { padding-bottom:0; }

  .mobile-call {
    position:fixed;
    z-index:60;
    left:clamp(10px, 3.5vw, 16px);
    right:clamp(10px, 3.5vw, 16px);
    bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    display:block;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px) scale(.985);
    transition:opacity .24s ease, transform .34s cubic-bezier(.22, 1, .36, 1), visibility .24s;
  }

  .mobile-call.show {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .mobile-call .mobile-call-island {
    position:relative;
    isolation:isolate;
    width:100%;
    max-width:390px;
    margin:0 auto;
    min-height:64px;
    display:grid;
    grid-template-columns:auto minmax(108px, 1fr) 72px;
    align-items:center;
    gap:8px;
    padding:7px 7px 7px 15px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    border-radius:20px;
    color:#fff;
    background:rgba(13,17,18,.92);
    box-shadow:0 18px 42px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.07);
    backdrop-filter:blur(20px) saturate(125%);
    -webkit-backdrop-filter:blur(20px) saturate(125%);
    transition:transform .16s ease, border-color .2s ease, background-color .2s ease;
  }

  .mobile-call .mobile-call-island::before {
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    top:13px;
    bottom:13px;
    width:2px;
    background:var(--bronze-light);
    box-shadow:0 0 14px rgba(194,138,75,.55);
  }

  .mobile-call-availability {
    min-width:74px;
    display:flex;
    align-items:center;
    gap:8px;
  }

  .mobile-call-availability > i {
    position:relative;
    flex:0 0 auto;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--bronze-light);
    box-shadow:0 0 0 4px rgba(194,138,75,.13);
    transform-origin:center;
    animation:call-status-breathe 2.4s ease-in-out infinite;
  }

  .mobile-call-availability > i::after {
    content:"";
    position:absolute;
    inset:-4px;
    border:1px solid rgba(194,138,75,.42);
    border-radius:50%;
    opacity:0;
  }

  .mobile-call.show .mobile-call-availability > i::after {
    animation:call-island-arrival 1.15s ease-out 1;
  }

  .mobile-call-availability > span {
    display:flex;
    flex-direction:column;
    gap:1px;
    line-height:1.15;
  }

  .mobile-call-availability small {
    color:rgba(255,255,255,.58);
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-call-availability strong {
    color:#fff;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
  }

  .mobile-call-number {
    justify-self:center;
    color:#fff;
    font:700 clamp(12.5px, 3.8vw, 14.5px)/1 "Space Grotesk",sans-serif;
    letter-spacing:.025em;
    white-space:nowrap;
  }

  .mobile-call-icon {
    width:72px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:15px;
    color:#17120d;
    background:linear-gradient(145deg,#d8a15f,#bd7e40);
    box-shadow:0 8px 22px rgba(137,89,46,.28), inset 0 1px rgba(255,255,255,.28);
    font:800 8px/1 "Manrope",sans-serif;
    letter-spacing:.025em;
    text-transform:uppercase;
  }

  .mobile-call-emoji {
    display:inline-block;
    flex:0 0 auto;
    margin:0;
    font:400 16px/1 "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
    letter-spacing:0;
    text-transform:none;
  }

  .mobile-call-icon small {
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    white-space:nowrap;
  }

  .mobile-call-island:active {
    transform:translateY(1px) scale(.992);
  }

  .mobile-call-island:focus-visible {
    outline:2px solid var(--bronze-light);
    outline-offset:3px;
  }
}

@media (max-width:350px) {
  .mobile-call .mobile-call-island {
    grid-template-columns:auto minmax(96px, 1fr) 66px;
    gap:6px;
    padding-left:12px;
  }

  .mobile-call-availability { min-width:64px; gap:7px; }
  .mobile-call-number { font-size:12.5px; }
  .mobile-call-icon { width:66px; height:44px; font-size:8px; }
}

@keyframes call-island-arrival {
  0% { transform:scale(.7); opacity:0; }
  24% { opacity:1; }
  78%,100% { transform:scale(1.65); opacity:0; }
}

@keyframes call-status-breathe {
  0%,100% { transform:scale(.88); opacity:.72; box-shadow:0 0 0 3px rgba(194,138,75,.09); }
  50% { transform:scale(1); opacity:1; box-shadow:0 0 0 5px rgba(194,138,75,.18); }
}

@media (prefers-reduced-motion:reduce) {
  .mobile-call { transition:none; }
  .mobile-call-availability > i { animation:none; }
  .mobile-call-availability > i::after { animation:none; }
}

/* Hero accueil : système responsive unique, sans décalages artificiels. */
.photo-hero {
  --hero-logo-location:20px;
  --hero-location-title:44px;
  --hero-title-lead:20px;
  --hero-lead-status:9px;
  --hero-status-cta:22px;
  --hero-cta-rating:14px;
  min-height:clamp(720px, 84svh, 900px);
}

.photo-hero .hero-copy {
  position:relative;
  top:auto;
  width:min(1080px, 94vw);
  min-height:clamp(720px, 84svh, 900px);
  margin-inline:auto;
  padding:clamp(104px, 12svh, 142px) 24px clamp(42px, 6svh, 68px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.photo-hero .graffiti-logo,
.photo-hero .location-signature,
.photo-hero h1,
.photo-hero .hero-lead,
.photo-hero .always-open,
.photo-hero .hero-action-panel,
.photo-hero .mobile-hero-rating {
  top:auto !important;
  left:auto !important;
  right:auto !important;
}

.photo-hero .graffiti-logo {
  position:relative !important;
  width:auto !important;
  margin:0 0 var(--hero-logo-location) !important;
  transform:rotate(-2deg) !important;
}

.photo-hero .graffiti-logo small {
  margin-left:-92px;
  font-size:clamp(40px, 3.2vw, 52px);
}

.photo-hero .graffiti-logo strong {
  font-size:clamp(62px, 5vw, 82px);
  letter-spacing:clamp(-4px, -.24vw, -2px);
}

.photo-hero .location-signature {
  position:static !important;
  margin:0 0 var(--hero-location-title) !important;
  transform:none !important;
  font-size:clamp(10px, .8vw, 12px);
}

.photo-hero h1 {
  position:static !important;
  max-width:1040px;
  margin:0 !important;
  font-size:clamp(53px, 4vw, 68px);
  line-height:.94;
  letter-spacing:clamp(-4px, -.28vw, -2.5px);
}

.photo-hero .hero-lead {
  position:static !important;
  max-width:min(760px, 92vw);
  margin:var(--hero-title-lead) 0 0 !important;
  font-size:clamp(15px, 1.1vw, 17px);
  line-height:1.45;
}

.photo-hero .always-open {
  position:static !important;
  margin:var(--hero-lead-status) 0 0 !important;
  font-size:clamp(12px, .9vw, 14px);
  line-height:1.35;
}

.photo-hero .hero-action-panel {
  position:static !important;
  margin:var(--hero-status-cta) 0 0 !important;
  transform:none !important;
}

.photo-hero .hero-action-panel .hero-call {
  min-width:238px;
  min-height:54px;
}

.photo-hero .hero-action-panel .hero-call strong {
  font-size:clamp(14px, 1vw, 16px);
}

.photo-hero .mobile-hero-rating {
  position:static !important;
  margin:var(--hero-cta-rating) 0 0 !important;
  transform:none !important;
  font-size:clamp(12px, .9vw, 14px);
}

@media (min-width:701px) and (max-width:1100px) and (orientation:portrait) {
  .photo-hero {
    --hero-logo-location:19px;
    --hero-location-title:42px;
    --hero-title-lead:20px;
    --hero-lead-status:8px;
    --hero-status-cta:21px;
    --hero-cta-rating:14px;
    min-height:clamp(720px, 78svh, 820px);
  }

  .photo-hero .hero-copy {
    width:min(720px, 94vw);
    min-height:clamp(720px, 78svh, 820px);
    padding:clamp(96px, 10svh, 118px) 24px clamp(42px, 5svh, 58px);
  }

  .photo-hero .graffiti-logo small {
    margin-left:-74px;
    font-size:clamp(35px, 4.8vw, 43px);
  }

  .photo-hero .graffiti-logo strong {
    font-size:clamp(54px, 7vw, 66px);
  }

  .photo-hero h1 {
    max-width:720px;
    font-size:clamp(42px, 5.8vw, 48px);
  }

  .photo-hero .hero-lead { font-size:clamp(14px, 1.8vw, 16px); }
  .photo-hero .always-open { font-size:clamp(12px, 1.5vw, 13px); }
}

@media (min-width:901px) and (max-height:840px) {
  .photo-hero {
    --hero-logo-location:17px;
    --hero-location-title:36px;
    --hero-title-lead:17px;
    --hero-lead-status:7px;
    --hero-status-cta:17px;
    --hero-cta-rating:11px;
    min-height:100svh;
  }

  .photo-hero .hero-copy {
    min-height:100svh;
    padding:86px 22px 28px;
  }

  .photo-hero .graffiti-logo small {
    margin-left:-78px;
    font-size:clamp(34px, 3vw, 43px);
  }

  .photo-hero .graffiti-logo strong { font-size:clamp(54px, 5vw, 70px); }
  .photo-hero h1 { font-size:clamp(45px, 4.1vw, 57px); }
  .photo-hero .hero-lead { font-size:clamp(14px, 1.1vw, 16px); }
  .photo-hero .always-open { font-size:clamp(12px, .9vw, 13px); }
  .photo-hero .hero-action-panel .hero-call { min-height:52px; }
}

@media (max-width:700px) {
  .photo-hero {
    --hero-logo-location:clamp(15px, 2.2svh, 19px);
    --hero-location-title:clamp(38px, 5.6svh, 52px);
    --hero-title-lead:clamp(15px, 2.3svh, 21px);
    --hero-lead-status:clamp(6px, 1svh, 9px);
    --hero-status-cta:clamp(17px, 2.4svh, 23px);
    --hero-cta-rating:clamp(10px, 1.6svh, 15px);
    min-height:100svh;
    background-position:55% center;
  }

  .photo-hero .hero-copy {
    width:100%;
    min-height:100svh;
    padding:calc(72px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));
    justify-content:center;
  }

  .photo-hero .graffiti-logo small {
    margin-left:-58px;
    font-size:clamp(27px, 7.5vw, 32px);
  }

  .photo-hero .graffiti-logo strong {
    font-size:clamp(42px, 11.8vw, 50px);
    letter-spacing:-2.5px;
  }

  .photo-hero .location-signature {
    font-size:clamp(9px, 2.5vw, 10px);
    letter-spacing:2.2px;
  }

  .photo-hero .location-signature>span { width:clamp(24px, 7vw, 30px); }

  .photo-hero h1 {
    width:100%;
    max-width:600px;
    font-size:clamp(33px, 9vw, 38px);
    line-height:.96;
    letter-spacing:clamp(-2.2px, -.5vw, -1.5px);
  }

  .photo-hero h1 em { font-size:1.08em; }

  .photo-hero .hero-lead {
    max-width:94vw;
    font-size:clamp(11.5px, 3.05vw, 13px);
    line-height:1.45;
  }

  .photo-hero .always-open {
    font-size:clamp(11px, 2.9vw, 12px);
    line-height:1.35;
  }

  .photo-hero .hero-action-panel .hero-call {
    min-width:clamp(224px, 64vw, 260px);
    min-height:clamp(50px, 6.4svh, 54px);
  }

  .photo-hero .hero-action-panel .hero-call strong {
    font-size:clamp(13px, 3.4vw, 15px);
  }

  .photo-hero .mobile-hero-rating {
    font-size:clamp(11px, 2.85vw, 12px);
    align-items:baseline;
  }
}

@media (max-width:700px) and (max-height:700px) {
  .photo-hero {
    --hero-logo-location:12px;
    --hero-location-title:28px;
    --hero-title-lead:12px;
    --hero-lead-status:5px;
    --hero-status-cta:13px;
    --hero-cta-rating:8px;
  }

  .photo-hero .hero-copy {
    padding-top:calc(62px + env(safe-area-inset-top));
    padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }

  .photo-hero .graffiti-logo small { font-size:clamp(25px, 7vw, 29px); }
  .photo-hero .graffiti-logo strong { font-size:clamp(39px, 10.8vw, 45px); }
  .photo-hero h1 { font-size:clamp(31px, 8.4vw, 34px); }
  .photo-hero .hero-lead { font-size:clamp(11px, 2.9vw, 12px); }
  .photo-hero .always-open { font-size:11px; }
  .photo-hero .hero-action-panel .hero-call { min-height:48px; }
  .photo-hero .mobile-hero-rating { font-size:11px; }
}

/* Placement du bloc de marque dans la zone de ciel, sans déplacer le contenu principal. */
.photo-hero {
  --hero-brand-lift:clamp(68px, 8.5svh, 96px);
}

.photo-hero .graffiti-logo {
  transform:translateY(calc(-1 * var(--hero-brand-lift))) rotate(-2deg) !important;
}

.photo-hero .location-signature {
  transform:translateY(calc(-1 * var(--hero-brand-lift))) !important;
}

@media (min-width:701px) and (max-width:1100px) and (orientation:portrait) {
  .photo-hero { --hero-brand-lift:clamp(78px, 8svh, 94px); }
}

@media (max-width:700px) {
  .photo-hero { --hero-brand-lift:clamp(72px, 10svh, 96px); }
}

/* Safari mobile : garde la section suivante hors du premier écran sans déplacer le contenu du hero. */
@media (max-width:700px) {
  @supports (height:100lvh) {
    .photo-hero { min-height:100lvh; }
  }
}

@media (max-width:700px) and (max-height:700px) {
  .photo-hero { --hero-brand-lift:clamp(48px, 9svh, 58px); }
}

/* La disponibilité est signalée de façon cohérente sur tous les appareils. */
.photo-hero .always-open span {
  position:relative;
  animation:availability-pulse 2.2s ease-out infinite;
}

@media (prefers-reduced-motion:reduce) {
  .photo-hero .always-open span { animation:none; }
}

/* Contraste local du logo sur les zones lumineuses du coucher de soleil. */
.photo-hero .graffiti-logo {
  filter:drop-shadow(0 2px 2px rgba(4,8,7,.78)) drop-shadow(0 0 14px rgba(4,8,7,.58));
}

/* Apercu local uniquement : hero Corse décliné selon le format de l'écran. */
.photo-hero {
  background-image:
    linear-gradient(180deg, rgba(6,10,9,.30) 0%, rgba(6,10,9,.46) 48%, rgba(6,10,9,.70) 100%),
    url("hero-route-corse-desktop-16x9-natural-v2.webp");
  background-position:center center;
  background-size:cover;
}

@media (min-width:701px) and (max-width:1100px) and (orientation:portrait) {
  .photo-hero {
    background-image:
      linear-gradient(180deg, rgba(6,10,9,.26) 0%, rgba(6,10,9,.42) 46%, rgba(6,10,9,.72) 100%),
      url("hero-route-corse-tablette-3x4-natural-v2.webp");
    background-position:center center;
  }
}

@media (max-width:700px) {
  .photo-hero {
    background-image:
      linear-gradient(180deg, rgba(6,10,9,.22) 0%, rgba(6,10,9,.38) 42%, rgba(6,10,9,.73) 100%),
      url("hero-route-corse-mobile-9x16-natural-v2.webp");
    background-position:55% center;
  }
}

/* Restauration du sélecteur de langues original après essai de boutons. */
.site-header .language-switcher {
  gap:13px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

.site-header .language-switcher button,
.site-header .language-switcher button.active {
  display:inline-block !important;
  min-width:22px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  color:rgba(255,255,255,.76) !important;
  background:transparent !important;
  box-shadow:none !important;
  font:700 10px/34px "Manrope",sans-serif !important;
  letter-spacing:.5px;
}

.site-header .language-switcher button.active {
  color:var(--bronze-light) !important;
}

.site-header .language-switcher button.active::after {
  left:4px !important;
  right:4px !important;
  bottom:3px !important;
  height:1px !important;
}

@media (max-width:700px) {
  .site-header .language-switcher {
    gap:0 !important;
    padding:0 !important;
  }

  .site-header .language-switcher button,
  .site-header .language-switcher button.active {
    min-width:27px !important;
    min-height:34px !important;
    padding-inline:5px !important;
    font-size:11px !important;
  }
}

/* Surface racine de l'accueil : teinte les zones système de Safari sans modifier les sections. */
html.home-safari-surface {
  background-color:#12100c;
}

html.home-safari-surface body {
  background-color:transparent;
}

@media (max-width:700px) and (orientation:portrait) {
  @supports (-webkit-touch-callout:none) {
    /* Étendre naturellement la photo derrière la barre translucide de Safari. */
    html.home-safari-surface .photo-hero {
      --safari-bottom-cover:clamp(84px, 13svh, 110px);
      height:calc(100lvh + var(--safari-bottom-cover));
      min-height:calc(100lvh + var(--safari-bottom-cover));
      background-color:#12100c;
      background-image:
        linear-gradient(180deg, rgba(6,10,9,.22) 0%, rgba(6,10,9,.38) 42%, rgba(6,10,9,.73) 100%),
        url("hero-route-corse-mobile-9x16-natural-v3-extended.webp");
      background-position:center top, 55% top;
      background-repeat:no-repeat;
      background-size:100% 100%, auto calc(100lvh + var(--safari-bottom-cover));
    }
  }
}

/* Correctif final : aucune zone Google invisible ne recouvre le hero mobile. */
@media (max-width:700px) {
  .photo-hero .mobile-hero-rating {
    position:relative !important;
  }
}

/* final169 — Cibles tactiles finales, placées après les anciens correctifs du header. */
.site-header .language-switcher button,
.site-header .language-switcher button.active {
  min-width:44px !important;
  min-height:44px !important;
  line-height:44px !important;
}

/* final172 — Emoji téléphone unique et numéro centré indépendamment. */
.photo-hero .hero-action-panel .hero-call {
  position:relative;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:13px !important;
}

.photo-hero .hero-action-panel .hero-call .hero-call-icon-ios {
  position:static;
  z-index:1;
  margin:0;
  transform:none;
  color:inherit;
  font:400 17px/1 "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
  letter-spacing:0;
  text-transform:none;
}

.photo-hero .hero-action-panel .hero-call .hero-call-icon-ios::after {
  display:none;
  content:none;
}

.photo-hero .hero-action-panel .hero-call strong {
  position:static !important;
  z-index:1;
  top:auto !important;
  left:auto;
  width:auto;
  margin:0 !important;
  transform:none;
  text-align:center;
}

/* final178 — Chrome mobile : figer la hauteur d'ouverture pour éviter le recentrage au repli de la barre d'adresse. */
@media (max-width:700px) and (orientation:portrait) {
  @supports not (-webkit-touch-callout:none) {
    .photo-hero,
    .photo-hero .hero-copy {
      height:var(--mobile-hero-height, 100svh);
      min-height:var(--mobile-hero-height, 100svh);
    }
  }
}

.photo-hero .hero-copy {
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

@media (max-width:700px) and (orientation:portrait) {
  .photo-hero .hero-action-panel .hero-call {
    min-height:var(--hero-call-height, 52px);
  }

  .photo-hero .hero-copy {
    padding:calc(72px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));
  }

  .photo-hero .graffiti-logo small { font-size:clamp(27px, 7.5vw, 32px); }
  .photo-hero .graffiti-logo strong { font-size:clamp(42px, 11.8vw, 50px); }
  .photo-hero h1 { font-size:clamp(33px, 9vw, 38px); }
  .photo-hero .hero-lead { font-size:clamp(11.5px, 3.05vw, 13px); }
  .photo-hero .always-open { font-size:clamp(11px, 2.9vw, 12px); }
  .photo-hero .mobile-hero-rating { font-size:clamp(11px, 2.85vw, 12px); }

  html.mobile-hero-short .photo-hero .hero-copy {
    padding-top:calc(62px + env(safe-area-inset-top));
    padding-bottom:calc(10px + env(safe-area-inset-bottom));
  }

  html.mobile-hero-short .photo-hero .graffiti-logo small { font-size:clamp(25px, 7vw, 29px); }
  html.mobile-hero-short .photo-hero .graffiti-logo strong { font-size:clamp(39px, 10.8vw, 45px); }
  html.mobile-hero-short .photo-hero h1 { font-size:clamp(31px, 8.4vw, 34px); }
  html.mobile-hero-short .photo-hero .hero-lead { font-size:clamp(11px, 2.9vw, 12px); }
  html.mobile-hero-short .photo-hero .always-open { font-size:11px; }
  html.mobile-hero-short .photo-hero .mobile-hero-rating { font-size:11px; }
}

/* final181 — Chrome mobile : la photo et le texte partagent une surface
   verrouillee. Le repli des barres du navigateur ne peut plus recalculer le
   cadrage de l'image independamment du contenu. */
@media (max-width:700px) and (orientation:portrait) {
  html.mobile-chrome .photo-hero .hero-copy {
    height:var(--mobile-hero-height, 100svh);
    min-height:var(--mobile-hero-height, 100svh);
    max-height:var(--mobile-hero-height, 100svh);
  }

  html.mobile-chrome:not(.mobile-ios) .photo-hero {
    height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh));
    min-height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh));
    max-height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh));
    background-position:55% center;
    background-size:cover;
  }

  html.mobile-chrome.mobile-ios .photo-hero {
    height:var(--mobile-hero-surface-height, calc(var(--mobile-hero-height, 100svh) + 96px));
    min-height:var(--mobile-hero-surface-height, calc(var(--mobile-hero-height, 100svh) + 96px));
    max-height:var(--mobile-hero-surface-height, calc(var(--mobile-hero-height, 100svh) + 96px));
    background-position:center top, 55% top;
    background-size:100% 100%, cover;
  }
}

/* final186 — Chrome mobile : la photo et le contenu restent dans le flux du
   meme conteneur. On evite la couche transformee absolue qui peut etre
   synchronisee differemment par Chrome iOS pendant le repli de ses barres. */
.chrome-hero-image,
.chrome-hero-tint {
  display:none;
}

.chrome-hero-stage {
  display:contents;
}

@media (max-width:700px) and (orientation:portrait) {
  html.mobile-chrome {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  html.mobile-chrome .photo-hero {
    isolation:isolate;
  }

  html.mobile-chrome .chrome-hero-stage {
    position:relative;
    display:block;
    width:100%;
    height:var(--mobile-hero-surface-height, 100%);
    min-height:var(--mobile-hero-surface-height, 100%);
    max-height:var(--mobile-hero-surface-height, 100%);
    overflow:hidden;
  }

  html.mobile-chrome .chrome-hero-image,
  html.mobile-chrome .chrome-hero-tint {
    position:absolute;
    inset:0 0 auto;
    display:block;
    width:100%;
    height:var(--mobile-hero-surface-height, 100%);
    min-height:var(--mobile-hero-surface-height, 100%);
    max-height:var(--mobile-hero-surface-height, 100%);
    pointer-events:none;
  }

  html.mobile-chrome .chrome-hero-image {
    z-index:0;
    object-fit:cover;
    object-position:55% center;
  }

  html.mobile-chrome.mobile-ios .chrome-hero-image {
    object-position:55% top;
  }

  html.mobile-chrome .chrome-hero-tint {
    z-index:1;
    background:linear-gradient(180deg, rgba(6,10,9,.22) 0%, rgba(6,10,9,.38) 42%, rgba(6,10,9,.73) 100%);
  }

  html.mobile-chrome .photo-hero::before,
  html.mobile-chrome .photo-hero::after {
    z-index:2;
    pointer-events:none;
  }

  html.mobile-chrome .photo-hero .hero-copy {
    position:relative !important;
    inset:auto !important;
    margin-block:0 !important;
    margin-inline:auto !important;
    z-index:3;
  }

  html.mobile-chrome.chrome-hero-media-ready .photo-hero {
    background-image:none !important;
  }
}

/* final187 — Structure definitive du hero Chrome mobile.
   La photographie redevient le fond du meme element que le contenu, avec une
   taille en pixels figee a l'ouverture. Aucun calque image independant ne peut
   desormais se deplacer ou se redimensionner pendant le scroll. */
@media (max-width:700px) and (orientation:portrait) {
  html.mobile-chrome .photo-hero,
  html.mobile-chrome:not(.mobile-ios) .photo-hero,
  html.mobile-chrome.mobile-ios .photo-hero {
    display:block !important;
    position:relative;
    height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh)) !important;
    min-height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh)) !important;
    max-height:var(--mobile-hero-surface-height, var(--mobile-hero-height, 100svh)) !important;
    background-color:#12100c !important;
    background-image:
      linear-gradient(180deg, rgba(6,10,9,.22) 0%, rgba(6,10,9,.38) 42%, rgba(6,10,9,.73) 100%),
      url("hero-route-corse-mobile-9x16-natural-v2.webp") !important;
    background-position:center top, 55% top !important;
    background-repeat:no-repeat !important;
    background-size:100% 100%, auto var(--mobile-hero-surface-height, 100%) !important;
    background-attachment:scroll !important;
  }

  html.mobile-chrome.mobile-ios .photo-hero {
    background-image:
      linear-gradient(180deg, rgba(6,10,9,.22) 0%, rgba(6,10,9,.38) 42%, rgba(6,10,9,.73) 100%),
      url("hero-route-corse-mobile-9x16-natural-v3-extended.webp") !important;
  }

  html.mobile-chrome .chrome-hero-stage {
    display:contents !important;
  }

  html.mobile-chrome .chrome-hero-image,
  html.mobile-chrome .chrome-hero-tint {
    display:none !important;
  }

  html.mobile-chrome .photo-hero .hero-copy {
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:var(--mobile-hero-height, 100svh) !important;
    min-height:var(--mobile-hero-height, 100svh) !important;
    max-height:var(--mobile-hero-height, 100svh) !important;
    margin:0 auto !important;
  }
}
