/* Transfer 4 You — direction éditoriale, bleu marine / turquoise. */
:root{--gold:#1e8a80;--gold-d:#166a62;--ink:#12314e;--dark:#1b4468;--gray:#5a6b7c;--muted:#5a6b7c;--bg:#f2f6f9;--soft:#f2f6f9;--line:#d7e0e7}
body{background:#f8fafb;color:var(--ink);font-family:'Inter',sans-serif}
h1,h2,h3,.brand{font-family:'Poppins',sans-serif;letter-spacing:-.045em}
.wrap{max-width:1240px}
nav{background:rgba(248,250,251,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand b{color:#1e8a80}.brand small{letter-spacing:.12em}
.topbar,.top{background:#12314e}
.btn{border-radius:8px;box-shadow:none;transition:background .2s,transform .2s,box-shadow .2s}
.btn-gold,.btn:not(.btn-dark){background:#1e8a80;color:#fff;box-shadow:none}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #12314e18}
.btn::after{display:none}
.btn-dark{background:#12314e;color:white}
.burger{background:none;border:0;padding:12px;min-width:44px;min-height:44px;justify-content:center}
.site-nav .btn,.nav-links .btn{color:#fff!important}
.hero{background:#12314e;color:#fff}
#accueil{background:#f2f6f9;color:#12314e;overflow:hidden}
#accueil::before{background:none;mask-image:none;opacity:1;inset:auto auto -170px -190px;width:580px;height:580px;border:1px solid #d9ddd2;border-radius:50%;pointer-events:none}
#accueil::after{width:710px;height:710px;top:90px;right:-330px;border:1px solid #d9ddd2;background:none;pointer-events:none}
#accueil .wrap{grid-template-columns:1.13fr 1fr;gap:64px;padding-top:52px;padding-bottom:56px;align-items:start}
#accueil .kicker{color:#567068;letter-spacing:.16em;font-size:.7rem;display:flex;align-items:center;gap:9px;margin-bottom:19px}
#accueil .kicker::before{content:'';width:7px;height:7px;border-radius:50%;background:#22968b;box-shadow:0 0 0 5px #22968b12}
#accueil h1{font-size:clamp(2.5rem,4.2vw,3.7rem);line-height:1.07;letter-spacing:-.055em;margin-bottom:20px;font-weight:600}
#accueil h1 span{color:#1e8a80}
#accueil .hero-copy>p{color:#52645e;font-size:.95rem;line-height:1.75;max-width:490px;margin-bottom:24px}
#accueil .hero-cta{gap:10px}
#accueil .hero-cta .btn{padding:14px 20px;font-size:.88rem}
#accueil .hero-cta .btn-dark{color:#12314e;border:1px solid #a5b0a6;background:transparent}
#accueil .hero-cta .btn-dark:hover{background:#e9ece4}
#accueil .preuve{border:0;background:none;box-shadow:none;padding:0;margin-top:22px;gap:12px}
#accueil .preuve .note b{color:#12314e;font-size:1.08rem}
#accueil .preuve .note small{color:#65716b}
#accueil .preuve .note .st{color:#22968b}
#accueil .preuve .cit{display:none}
#accueil .preuve a{color:#465e54;text-decoration:underline;text-underline-offset:4px}
.hero-badges{display:none!important}
.lyon-window{height:175px;margin-top:26px;position:relative;overflow:hidden;border-radius:10px;background:#284139}
.lyon-window img{height:100%;width:100%;object-fit:cover;object-position:50% 55%;opacity:.84;display:block}
.lyon-window::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0d2740ab)}
.lyon-window figcaption{position:absolute;z-index:1;bottom:17px;left:19px;right:19px;color:white;display:flex;justify-content:space-between;font-size:.69rem;letter-spacing:.09em;text-transform:uppercase}
.lyon-window figcaption b{font-weight:500}
.lyon-window .route-line{position:absolute;bottom:44px;left:20px;z-index:2;width:75px;height:1px;background:#ffffff7a;transform-origin:left}
.lyon-window .route-line::after{content:'';position:absolute;right:0;top:-2px;width:5px;height:5px;background:#fff;border-radius:50%}
#accueil .booking{background:#fff;border:1px solid #e0e4db;border-radius:14px;box-shadow:0 18px 55px #253b3010;padding:26px;position:relative}
.booking-eyebrow{color:#176e66;font-size:.64rem;letter-spacing:.16em;font-weight:700;text-transform:uppercase;margin-bottom:8px;display:block}
#accueil .booking h3{font-size:1.45rem;font-weight:600}
#accueil .booking .sub{font-size:.81rem;line-height:1.6;margin-bottom:18px}
.booking-route{padding:0;background:none;border-radius:0;margin-bottom:8px}
.field{margin-bottom:12px}
.field label{font-size:.64rem;color:#55645b;letter-spacing:.07em}
.field input,.field select{background:#fafbf8;border:1px solid #dce2d8;border-radius:6px;padding:11px 12px;min-height:44px;color:#12314e;font-size:16px}
.field input::placeholder{color:#778478;opacity:1}
.booking .btn{border-radius:7px;min-height:49px}
#accueil .booking .booking-note{font-size:.74rem;color:#5b695e}
.ticker{background:#12314e;padding:17px 0;border:none}
.ticker-lot span{font-size:.65rem;letter-spacing:.13em;font-weight:500}
.ticker::before{background:linear-gradient(90deg,#12314e,transparent)}
.ticker::after{background:linear-gradient(90deg,transparent,#12314e)}
section{padding:76px 0}
.sec-head{text-align:left;margin:0 0 34px;max-width:690px}
.sec-head .kicker{font-size:.66rem;letter-spacing:.17em;color:#1e8a80}
.sec-head h2{font-weight:500;font-size:clamp(1.9rem,3.2vw,2.65rem);line-height:1.14;margin:10px 0 14px}
.sec-head p{font-size:.92rem;line-height:1.75}
.pricing-grid{gap:22px}
.price-card,.card{background:#fff;border:1px solid #d7e0e7;border-radius:10px;box-shadow:none!important}
.price-card.pop,.card.pop{border-color:#adbaad}
.price-card.pop::before{content:'Familles & groupes';background:#f2f6f9;color:#12314e;border-radius:4px;font-size:.58rem;letter-spacing:.07em;padding:7px 10px}
.price-card .photo{aspect-ratio:16/10;border-radius:0;background-color:#263b33}
.price-card .pc-body{padding:23px}
.price-card h3{font-size:1.35rem;font-weight:600}
.price-card .amt{color:#12314e;font-size:2rem;font-weight:500}
.price-card .from{margin-top:12px;font-size:.72rem}
.price-card li{font-size:.84rem;color:#58665e}
.price-card .btn{border-radius:6px;font-size:.82rem}
.avis{background:#ebece4;border-top:1px solid #dde0d4;border-bottom:1px solid #dde0d4}
.avis .note-g{justify-content:flex-start;margin:0 0 27px}
.note-carte{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.avis-piste-zone{overflow:visible}
.avis-piste{max-width:1240px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 24px;gap:16px;transform:none!important}
.avis-carte{width:auto;min-width:0;border:1px solid #d8dece;border-radius:8px;box-shadow:none;padding:23px;background:#fafbf7}
.avis-carte p{font-size:.82rem;line-height:1.8}
.avis-carte .et{color:#1e8a80;font-size:.8rem}
.avis-carte .rond{background:#e4e9db;color:#2e4537}
.avis-cta{text-align:left;margin-top:25px}
.about{background:#f8fafb}
.about h2{font-size:2.4rem;font-weight:500;line-height:1.15}
.about-img{border-radius:10px;min-height:360px}
.about-img .exp{border-radius:5px;box-shadow:none}
.trust{background:#12314e;position:relative}
.trust-grid{gap:28px}
.trust-item{background:none;border:0;border-top:1px solid #5f7563;border-radius:0;padding:24px 0}
.trust-item b{color:#b9ded7;font-weight:500;font-size:1.07rem}
.trust-item p{color:#c4d0c7;font-size:.88rem}
.cta-band{background:#dce3d1;color:#12314e;text-align:center}
.cta-band h2{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:500}
.cta-band p,.cta-band .phone{color:#344e3d}
.cta-band .phone{font-size:1.25rem}
footer{background:#132723;color:#bdcbbf}
footer .foot-bottom{border-color:#314a3e}
.barre-mob{background:#f8fafb;border-color:#d7e0e7;box-shadow:0 -4px 20px #12314e09}
.barre-mob a{border-radius:7px;font-size:.85rem}
.barre-mob .devis{background:#1e8a80}
.wa-fab{background:#234d3a;box-shadow:0 4px 14px #12314e20}
.head h2{font-weight:500}
.notice{border-radius:8px;background:#ebece4}
.hero:not(#accueil) .eyebrow{color:#b9ded7}
.hero:not(#accueil) .btn{margin:0 8px 10px 0}
.hero:not(#accueil) h1{font-weight:500}
#tdlck{background:#12314e!important;border-color:#63775b!important}
#tdlck h2,#tdlck a{color:#b9ded7!important}
#tdlck button{border-radius:6px!important}
#tdlck button.ok{background:#7fc0b8!important;color:#0d2740!important}
.subpage-actions{display:none}
@media(max-width:860px){.subpage-actions{position:fixed;bottom:0;left:0;right:0;z-index:1600;display:flex;gap:8px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#f8fafb;border-top:1px solid #d7e0e7}.subpage-actions a{flex:1;text-align:center;padding:14px 8px;background:#12314e;color:white;border-radius:7px;font-size:.85rem;font-weight:600}.subpage-actions a:last-child{background:#1e8a80}body:has(.subpage-actions){padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
/* Le contenu reste visible même si JavaScript ne fonctionne pas. */
@keyframes tdl-enter{from{translate:0 10px}to{translate:0 0}}
@keyframes tdl-route{from{scale:0 1}to{scale:1 1}}
@media(prefers-reduced-motion:no-preference){
 #accueil h1,#accueil .hero-copy>p,#accueil .hero-cta,#accueil .booking{animation:tdl-enter .65s cubic-bezier(.2,.75,.3,1) both!important}
 #accueil .hero-copy>p{animation-delay:.07s!important}#accueil .hero-cta{animation-delay:.12s!important}
 .lyon-window .route-line{animation:tdl-route 1.2s ease-out .2s both}
 .price-card.rev,.trust-item.rev,.avis-carte{transition:translate .25s ease,box-shadow .25s ease!important}
 .price-card.rev:hover,.avis-carte:hover{translate:0 -4px;box-shadow:0 12px 26px #12314e0d!important}
}
@media(max-width:1000px){#accueil .wrap{gap:28px;grid-template-columns:1fr 1fr}#accueil h1{font-size:2.8rem}.avis-piste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){#accueil .wrap{grid-template-columns:1fr;max-width:640px;padding-top:32px;gap:30px}.lyon-window{display:none}#accueil .hero-copy>p{max-width:none}#accueil h1{max-width:570px}.barre-mob{padding-bottom:calc(9px + env(safe-area-inset-bottom))}.nav-links.open{background:#f8fafb}}
@media(max-width:640px){#accueil .wrap{padding:28px 18px 32px}#accueil h1{font-size:2.55rem;line-height:1.06}#accueil .kicker{font-size:.61rem;margin-bottom:15px}#accueil .hero-copy>p{font-size:.88rem;margin-bottom:20px}#accueil .hero-cta{grid-template-columns:1fr 1fr;gap:8px}#accueil .hero-cta .btn{font-size:.76rem;padding:13px 8px;justify-content:center}#accueil .preuve{margin-top:18px}#accueil .booking{padding:20px 17px;border-radius:10px}#accueil .booking h3{font-size:1.3rem}.booking-details .frow{grid-template-columns:1fr 1fr}.booking-details .frow .field:last-child{min-width:0}.field input,.field select{padding:11px 9px}.hero .booking .frow{gap:10px}.sec-head{margin-bottom:25px}.sec-head h2{font-size:2rem}section{padding:48px 0}.avis-piste{grid-template-columns:1fr;padding:0 18px}.avis-carte{padding:20px}.avis-carte p{font-size:.87rem}.about h2{font-size:2rem}.about-img{min-height:275px}.trust-grid{gap:7px}.cta-band .phone{font-size:1.12rem}.topbar .wrap{font-size:.7rem}.ticker{padding:12px 0}}
@keyframes tdl-mobile-bar{from{translate:0 16px}to{translate:0 0}}
@keyframes tdl-mobile-line{from{scale:0 1}to{scale:1 1}}
@keyframes tdl-mobile-dot{0%,100%{box-shadow:0 0 0 4px #22968b12}50%{box-shadow:0 0 0 9px #22968b05}}
@media(max-width:860px) and (prefers-reduced-motion:no-preference){
 .barre-mob,.subpage-actions{animation:tdl-mobile-bar .5s ease-out both}
 #accueil .kicker::before{animation:tdl-mobile-dot 2s ease-in-out 3}
 #accueil h1 span{position:relative;display:inline-block}
 #accueil h1 span::after{content:'';display:block;height:2px;width:55%;margin-top:10px;background:#1e8a8050;transform-origin:left;animation:tdl-mobile-line .85s .2s cubic-bezier(.2,.75,.3,1) both}
 .booking:focus-within{border-color:#8fc3bc!important;box-shadow:0 12px 35px #253b3014!important}
 .booking{transition:border-color .3s,box-shadow .3s!important}
 .burger span{transition:transform .25s,opacity .2s}
 .burger[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
 .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
 .burger[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ticker-piste{animation:none!important}}

/* Transfer 4 You — logo dans l'en-tête */
.brand-logo{display:flex;align-items:center;gap:10px}
.brand-logo img{height:38px;width:auto;display:block}
.brand-logo .bl{display:flex;flex-direction:column;line-height:1.1}
.brand-logo .bn{white-space:nowrap}
.brand-logo small{white-space:nowrap;font-weight:600;opacity:.75}
@media(max-width:560px){.brand-logo img{height:32px}.brand-logo span{font-size:.92em}}
