/* Travel2World — page d'accueil (version du 11 octobre 2026)
   Chargé après site.min.css sur toutes les pages (on revient à l'accueil sans recharger la page).
   Toutes les règles visent des classes « hv-… » qui n'existent que sur l'accueil.
   Couleurs et polices : celles du site (--bg, --ink, --orange, --f-display, --f-hand, --f-poster…). */

:root{--f-mono:ui-monospace,"SF Mono","Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace;--hv-spring:cubic-bezier(.34,1.56,.64,1);--hv-ink:#1b2433;--hv-stamp:#b4381a}
html[data-theme=dark]{--hv-stamp:#f08a5d}

/* --------------------------------------------------------------- général */
#app .hv-sec{padding:clamp(64px,8vw,116px) 0 0}
#app .hv-head{max-width:760px;margin:0 0 clamp(26px,3vw,40px)}
#app .hv-head h2{font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.07;margin:0 0 14px}
#app .hv-head p{color:var(--muted);font-size:clamp(1rem,1.2vw,1.1rem);margin:0;max-width:40em}
#app .hv-link{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:5px}
#app .hv-link:hover{color:var(--orange-ink)}

/* ------------------------------------------------------------------ héros */
#app .hv-hero{position:relative;padding:clamp(26px,4vw,58px) 0 clamp(12px,2vw,24px)}
#app .hv-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,84px);align-items:center}
#app .hv-note{margin-bottom:4px}
#app .hv-intro h1{font-size:clamp(2.55rem,5.3vw,5rem);line-height:1.02;margin:.16em 0 .32em}
#app .hv-lead{font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.55;color:var(--muted);max-width:33em;margin:0 0 clamp(20px,2.4vw,30px)}

#app .hv-keys{border:0;margin:0;padding:0;min-width:0}
#app .hv-keys legend{padding:0;font-family:var(--f-hand);font-weight:700;font-size:clamp(1.45rem,2vw,1.75rem);color:var(--orange-ink);transform:rotate(-1.5deg);line-height:1}
#app .hv-keys-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
#app .hv-key{position:relative;display:block;min-width:0}
#app .hv-key input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
#app .hv-key span{display:flex;align-items:center;gap:9px;min-height:50px;padding:10px 13px;border:1.5px solid var(--ink);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:600;font-size:.93rem;line-height:1.15;cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .14s ease,box-shadow .14s ease,background-color .2s,color .2s;-webkit-user-select:none;user-select:none}
#app .hv-key b{font-size:1.25rem;line-height:1;font-weight:400;flex:none}
#app .hv-key:hover span{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
#app .hv-key:active span{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink);transition-duration:.06s}
#app .hv-key input:checked+span{background:var(--ink);color:var(--bg);box-shadow:3px 3px 0 var(--orange)}
#app .hv-key input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}
#app .hv-alt{margin:18px 0 0;font-size:.92rem;color:var(--muted)}
#app .hv-alt a{color:var(--ink);font-weight:600;text-decoration-color:var(--orange);text-underline-offset:3px}

/* la scène : l'avion derrière la carte */
#app .hv-stage{position:relative;padding-top:clamp(84px,9vw,128px);max-width:520px;width:100%;justify-self:end}
#app .hv-plane{position:absolute;top:0;right:-7%;width:min(74%,380px);height:auto;z-index:0;pointer-events:none;filter:drop-shadow(0 16px 14px rgba(27,36,51,.16));will-change:transform}

/* la carte d'embarquement */
#app .hv-pass{position:relative;z-index:1;background:var(--surface);border-radius:20px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 44px -18px rgba(58,42,20,.38);transform:rotate(1.2deg)}
#app .hv-pass-top{display:flex;justify-content:space-between;gap:10px;background:var(--orange);color:#fff;padding:11px 22px;border-radius:20px 20px 0 0;font-size:.66rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase}
#app .hv-route{display:grid;grid-template-columns:auto minmax(40px,1fr) auto;align-items:end;gap:14px;padding:20px 24px 16px}
#app .hv-route small{display:block;font-size:.58rem;letter-spacing:.18em;color:var(--muted);font-weight:700;margin-bottom:7px}
#app .hv-from>i,#app .hv-to>i{display:block;font-style:normal;font-size:.8rem;color:var(--muted);margin-top:7px;white-space:nowrap}
#app .hv-from b{display:block;font-family:var(--f-poster);font-weight:400;font-size:2.5rem;line-height:1.15;letter-spacing:.02em;color:var(--ink)}
#app .hv-to{text-align:right}
#app .hv-arc{position:relative;height:38px;align-self:center;margin-bottom:6px}
#app .hv-arc svg:first-child{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#app .hv-arc svg:first-child path{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
#app .hv-arc svg:last-child{position:absolute;left:50%;top:-6px;width:22px;height:22px;margin-left:-11px;fill:var(--orange);transform:rotate(90deg)}
#app .hv-pass.is-printed .hv-arc svg:last-child{fill:var(--ink)}

/* le tableau des départs : 3 volets */
#app .hv-code{display:inline-flex;gap:3px;font-size:2.5rem;line-height:1}
#app .hv-fl{position:relative;display:inline-block;width:.78em;height:1.15em;perspective:260px;font-family:var(--f-poster);font-weight:400;color:#f6efe0;border-radius:6px;background:var(--hv-ink)}
#app .hv-fl>span{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--hv-ink);backface-visibility:hidden;-webkit-backface-visibility:hidden}
#app .hv-fl>span>i{display:block;height:1.15em;line-height:1.15em;text-align:center;font-style:normal}
#app .hv-fl-u,#app .hv-fl-fu{top:0;border-radius:6px 6px 0 0;transform-origin:50% 100%}
#app .hv-fl-d,#app .hv-fl-fd{bottom:0;border-radius:0 0 6px 6px;transform-origin:50% 0}
#app .hv-fl-d>i,#app .hv-fl-fd>i{transform:translateY(-50%)}
#app .hv-fl-fu,#app .hv-fl-fd{z-index:2}
#app .hv-fl-fd{transform:rotateX(90deg)}
#app .hv-fl:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:rgba(0,0,0,.55);z-index:3}
html[data-theme=dark] #app .hv-fl{box-shadow:0 0 0 1px rgba(255,255,255,.1)}

/* les lignes imprimées */
#app .hv-lines{margin:0;padding:14px 24px 4px;display:grid;gap:7px;border-top:2px dashed var(--line)}
#app .hv-lines>div{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:baseline;gap:10px}
#app .hv-lines dt{font-size:.58rem;letter-spacing:.18em;font-weight:700;color:var(--muted)}
#app .hv-lines dd{margin:0;font-family:var(--f-mono);font-size:.9rem;color:var(--ink);min-height:1.45em;white-space:normal}
#app .hv-lines dd[data-l=heure]{padding-right:calc(18% + 58px)}
#app .hv-wait{color:var(--muted);font-style:italic;letter-spacing:.06em;font-size:.82rem}
#app .hv-misc{display:flex;gap:22px;padding:10px 24px 16px;font-size:.78rem;font-weight:600;color:var(--ink)}
#app .hv-misc small{display:block;font-size:.55rem;letter-spacing:.18em;color:var(--muted);font-weight:700;margin-bottom:2px}

/* le tampon */
#app .hv-stamp{position:absolute;left:82%;top:62%;width:110px;height:110px;color:var(--hv-stamp);opacity:.95;mix-blend-mode:multiply;pointer-events:none;z-index:3;transform:translate(-50%,-50%) rotate(-8deg)}
#app .hv-stamp[hidden]{display:none}
#app .hv-stamp text{font-family:var(--f-body);font-weight:700}
#app .hv-stamp .hv-st-code{font-family:var(--f-poster);font-weight:400}
html[data-theme=dark] #app .hv-stamp{mix-blend-mode:normal;opacity:.85}

/* le talon = le bouton */
#app .hv-stub{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px 18px 24px;border-top:2px dashed var(--line)}
#app .hv-stub:before,#app .hv-stub:after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--bg)}
#app .hv-stub:before{left:-11px}
#app .hv-stub:after{right:-11px}
#app .hv-cta{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:700;font-size:.98rem;color:var(--ink);text-decoration:none;border-radius:999px;transition:background-color .25s,color .25s,padding .25s}
#app .hv-cta b{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-size:1.05rem;transition:transform .3s var(--hv-spring)}
#app .hv-cta:hover b{transform:translateX(4px)}
#app .hv-pass.is-printed .hv-cta{background:var(--ink);color:var(--bg);padding:5px 6px 5px 18px}
#app .hv-barcode{flex:none;width:92px;height:34px;opacity:.85;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 12px,var(--ink) 12px 13px,transparent 13px 16px)}

/* la collection de cartes imprimées */
#app .hv-collect{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:20px 4px 0;font-size:.86rem;color:var(--muted)}
#app .hv-dots{display:inline-flex;gap:5px}
#app .hv-dots i{font-style:normal;font-size:1.1rem;line-height:1;filter:grayscale(1);opacity:.32;transition:opacity .3s,filter .3s;display:inline-block}
#app .hv-dots i.on{filter:none;opacity:1}
#app .hv-collect a{color:var(--ink);font-weight:700;text-decoration-color:var(--orange);text-underline-offset:3px}

/* ---------------------------------------------------- les six pays (étiquettes) */
#app .hv-tags{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
#app .hv-tags li{min-width:0;filter:drop-shadow(0 12px 16px rgba(58,42,20,.13))}
#app .hv-tag{position:relative;display:flex;flex-direction:column;height:100%;background:var(--surface);color:var(--ink);text-decoration:none;border-radius:16px;overflow:hidden;transform-origin:50% 20px;transition:transform .55s var(--hv-spring);clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%,0 30px)}
#app .hv-tag-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
#app .hv-tag-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
#app .hv-tag-hole{position:absolute;top:12px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 4px rgba(255,253,248,.92),0 0 0 5px rgba(27,36,51,.18),inset 0 1px 2px rgba(0,0,0,.3);z-index:2}
#app .hv-tag-body{display:flex;flex-direction:column;gap:7px;flex:1;padding:18px 20px 20px}
#app .hv-tag-name{font-family:var(--f-display);font-weight:400;font-variation-settings:"SOFT" 60,"WONK" 1;font-size:1.55rem;letter-spacing:-.02em;line-height:1.1}
#app .hv-tag-facts{display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--f-mono);font-size:.74rem;color:var(--muted)}
#app .hv-tag-facts span+span:before{content:"·";margin:0 .6em}
#app .hv-tag-hook{font-family:var(--f-hand);font-size:1.32rem;line-height:1.1;color:var(--orange-ink)}
#app .hv-tag-go{margin-top:auto;padding-top:8px;font-weight:700;font-size:.9rem}
#app .hv-tag.is-cur .hv-tag-name:after{content:"votre carte";display:inline-block;margin-left:.5em;font-family:var(--f-hand);font-size:1.05rem;color:#fff;background:var(--orange);padding:0 .45em;border-radius:6px;transform:rotate(-3deg) translateY(-3px);vertical-align:middle}
@media (hover:hover) and (pointer:fine){
  #app .hv-tag:hover{transform:rotate(-1.4deg)}
  #app .hv-tags li:nth-child(even) .hv-tag:hover{transform:rotate(1.4deg)}
  #app .hv-tag:hover img{transform:scale(1.045)}
  #app .hv-tag:hover .hv-tag-go{color:var(--orange-ink)}
}
#app .hv-tag:focus-visible{outline:none}
#app .hv-tags li:has(>.hv-tag:focus-visible){outline:3px solid var(--orange);outline-offset:4px;border-radius:16px}

#app .hv-pays-more{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}
#app .hv-globe-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 18px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-weight:600;font-size:.9rem;transition:background-color .2s,color .2s}
#app .hv-globe-btn .ico{width:19px;height:19px}
#app .hv-globe-btn:hover,#app .hv-globe-btn[aria-expanded=true]{background:var(--ink);color:var(--bg)}
#app .hv-globe-btn[hidden]{display:none}
#app .hv-globe{position:relative;margin-top:20px;border-radius:24px;overflow:hidden;background:#030814}
#app .hv-globe .globe-host{position:relative;height:min(560px,70vh);min-height:420px}
#app .hv-globe-tip{position:absolute;top:14px;left:20px;z-index:3;margin:0;color:#e8eef5;font-size:.85rem;pointer-events:none}
@media (max-width:760px),(pointer:coarse){#app .hv-globe-btn,#app .hv-globe{display:none!important}}

/* ------------------------------------------------------------- les escales */
#app .hv-esc-wrap{position:relative;padding-top:34px}
#app .hv-esc-line{position:absolute;left:0;top:0;width:100%;height:90px;overflow:visible;pointer-events:none}
#app .hv-esc-line path{fill:none;stroke:var(--orange);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;opacity:.85;transition:stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1)}
#app .hv-esc-wrap.is-drawn .hv-esc-line path{stroke-dashoffset:0}
#app .hv-esc-list{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,30px)}
#app .hv-esc-list li{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 24px 22px;background:var(--surface);border-radius:18px;box-shadow:0 1px 0 rgba(0,0,0,.03),0 14px 30px -18px rgba(58,42,20,.4)}
#app .hv-esc-list li:nth-child(2){margin-top:30px}
#app .hv-esc-list li:nth-child(3){margin-top:8px}
#app .hv-esc-list li:before{content:"";position:absolute;top:-9px;left:26px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:3px solid var(--orange)}
#app .hv-esc-n{font-family:var(--f-hand);font-weight:700;font-size:1.4rem;line-height:1;color:var(--orange-ink)}
#app .hv-esc-list q{font-family:var(--f-display);font-style:italic;font-size:1.06rem;line-height:1.35;color:var(--muted);quotes:"« " " »"}
#app .hv-esc-list h3{font-family:var(--f-display);font-weight:500;font-variation-settings:"SOFT" 60,"WONK" 1;font-size:1.55rem;letter-spacing:-.02em;line-height:1.1;margin:6px 0 0}
#app .hv-esc-list p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
#app .hv-esc-list a{margin-top:auto;padding-top:10px;font-weight:700;color:var(--ink);text-decoration:none}
#app .hv-esc-list a:hover{color:var(--orange-ink)}

/* --------------------------------------------------------------- la preuve */
#app .hv-proof{margin-top:clamp(70px,9vw,128px);padding:clamp(56px,7vw,96px) 0;background:#12202f;color:#f3ede2}
html[data-theme=dark] #app .hv-proof{background:#0b131c}
html[data-theme=dark] #app .hv-pass-top,html[data-theme=dark] #app .hv-pass-top span,html[data-theme=dark] #app .hv-tag.is-cur .hv-tag-name:after,html[data-theme=dark] #app .hv-cta b{color:#1b2433}
#app .hv-proof h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.1;max-width:18em;margin:0 0 clamp(28px,3.5vw,44px);color:#f3ede2}
#app .hv-proof h2 em{color:#f6a27a!important}
#app .hv-proof-list{list-style:none;margin:0 0 34px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
#app .hv-proof-list li{border-top:1px solid rgba(243,237,226,.2);padding-top:18px}
#app .hv-proof-ico{width:26px;height:26px;color:var(--sun)}
#app .hv-proof-list b{display:block;margin:12px 0 6px;font-size:1.02rem}
#app .hv-proof-list p{margin:0;color:#b9c1cc;font-size:.92rem;line-height:1.55}
#app .hv-link-light{color:#f3ede2}
#app .hv-link-light:hover{color:#f6a27a}

/* ----------------------------------------------------------------- l'offre */
#app .hv-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
#app .hv-ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k p" "s s" "t t" "e e";align-items:baseline;gap:6px 18px;padding:26px 28px 24px;background:var(--surface);color:var(--ink);text-decoration:none;border:1.5px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);transition:transform .15s ease,box-shadow .15s ease}
#app .hv-ticket:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
#app .hv-ticket:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink);transition-duration:.06s}
#app .hv-ticket-hot{box-shadow:5px 5px 0 var(--orange)}
#app .hv-ticket-hot:hover{box-shadow:7px 7px 0 var(--orange)}
#app .hv-ticket-hot:active{box-shadow:2px 2px 0 var(--orange)}
#app .hv-tk-k{grid-area:k;font-family:var(--f-display);font-variation-settings:"SOFT" 60,"WONK" 1;font-size:1.65rem;line-height:1.1;letter-spacing:-.02em}
#app .hv-tk-p{grid-area:p;font-family:var(--f-poster);font-weight:400;font-size:2.3rem;line-height:1;color:var(--orange-ink);white-space:nowrap}
#app .hv-ticket small{grid-area:s;font-family:var(--f-mono);font-size:.76rem;color:var(--muted)}
#app .hv-ticket p{grid-area:t;margin:8px 0 0;color:var(--muted);line-height:1.55}
#app .hv-ticket em{grid-area:e;margin-top:12px;font-style:normal;font-weight:700}
#app .hv-ticket:hover em{color:var(--orange-ink)}
#app main>.al-box{margin-top:clamp(56px,7vw,100px)}

/* --------------------------------------------------------------- tablette */
@media (max-width:1000px){
  #app .hv-ticket{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "p" "s" "t" "e"}
  #app .hv-tk-p{margin-top:2px}
  #app .hv-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
  #app .hv-proof-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  #app .hv-hero-in{grid-template-columns:1fr;gap:10px}
  #app .hv-stage{justify-self:center;max-width:540px}
  #app .hv-esc-list{grid-template-columns:1fr}
  #app .hv-esc-list li:nth-child(n){margin-top:0}
  #app .hv-esc-line{display:none}
  #app .hv-esc-wrap{padding-top:10px}
  #app .hv-esc-list li:before{display:none}
}

/* --------------------------------------------------------------- téléphone */
@media (max-width:760px){
  html.mc-accueil #app main>section.hv-hero,html.mc-accueil #app main>section.hv-sec{margin-top:0!important}
  html.mc-accueil #app main>section.hv-proof{margin-top:64px!important}
  #app .hv-sec{padding-top:60px}
  #app .hv-hero{padding-top:18px}
  #app .hv-intro h1{font-size:clamp(2.25rem,9.6vw,2.9rem)}
  #app .hv-lead{font-size:.98rem}
  #app .hv-keys-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #app .hv-key span{min-height:48px;font-size:.9rem;padding:9px 11px}
  #app .hv-stage{padding-top:74px;margin-top:8px}
  #app .hv-plane{width:210px;right:-2%}
  #app .hv-pass{transform:rotate(.8deg)}
  #app .hv-route{padding:16px 18px 14px;gap:10px}
  #app .hv-from b,#app .hv-code{font-size:2.05rem}
  #app .hv-lines{padding:12px 18px 4px}
  #app .hv-lines>div{grid-template-columns:58px minmax(0,1fr)}
  #app .hv-lines dd{font-size:.82rem}
  #app .hv-lines dd[data-l=heure]{padding-right:calc(20% + 52px)}
  #app .hv-misc{padding:8px 18px 14px;gap:16px}
  #app .hv-stamp{width:92px;height:92px;left:80%;top:68%}
  #app .hv-stub{padding:14px 16px 16px 18px}
  #app .hv-cta{font-size:.92rem}
  #app .hv-barcode{width:58px}
  #app .hv-tags{gap:12px}
  #app .hv-tags li{filter:drop-shadow(0 8px 10px rgba(58,42,20,.12))}
  #app .hv-tag{clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%,0 20px)}
  #app .hv-tag-hole{top:9px;width:14px;height:14px;margin-left:-7px}
  #app .hv-tag-body{padding:12px 13px 14px;gap:5px}
  #app .hv-tag-name{font-size:1.15rem}
  #app .hv-tag-facts{font-size:.66rem}
  #app .hv-tag-facts span+span{display:none}
  #app .hv-tag-hook,#app .hv-tag-go{display:none}
  #app .hv-tag.is-cur .hv-tag-name:after{font-size:.9rem}
  #app .hv-pays-more{justify-content:flex-start}
  #app .hv-proof{padding:56px 0}
  #app .hv-tickets{grid-template-columns:1fr}
  #app .hv-ticket{padding:22px 20px 20px;grid-template-columns:1fr;grid-template-areas:"k" "p" "s" "t" "e";gap:6px}
  #app .hv-tk-p{font-size:2rem;margin-top:2px}
}
@media (max-width:420px){
  #app .hv-proof-list{grid-template-columns:1fr}
  #app .hv-misc span:last-child{display:none}
  #app .hv-barcode{display:none}
  #app .hv-cta{font-size:.9rem}
}

/* ---------------------------------------------------- moins d'animations */
@media (prefers-reduced-motion:reduce){
  #app .hv-esc-line path{transition:none;stroke-dashoffset:0}
  #app .hv-tag,#app .hv-tag-img img,#app .hv-key span,#app .hv-ticket,#app .hv-cta b{transition:none}
}

/* ============================================================ 16 octobre 2026 : accueil plus court
   Le haut de page = le titre + les 6 pays en photo (un toucher ouvre la page du pays) ; puis « Comment on vous aide »
   (3 étapes), puis « Vous pouvez vérifier ». Les règles .hv-pass / .hv-fl / .hv-ticket plus haut restent :
   prep.js (Préparer mon départ) les réutilise. */
#app .hv-sur { margin: 0 0 10px; font: 700 .72rem/1.3 var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--orange-ink); }
#app .hv-hero-v3 .hv-intro h1 { margin-top: 0; }
#app .hv-hero-v3 .hv-lead { margin-bottom: 0; }
#app .hv-choix-t { margin: 0 0 12px; font: 700 1.05rem/1.2 var(--f-body); letter-spacing: 0; color: var(--ink); }
#app .hv-pcs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#app .hv-pcs li { min-width: 0; }
#app .hv-pc { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1.5px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; transition: transform .2s var(--ease-out, ease), box-shadow .2s, border-color .2s; }
#app .hv-pc-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--soft); }
#app .hv-pc-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
#app .hv-pc-txt { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px 11px; }
#app .hv-pc-txt b { font-size: .98rem; line-height: 1.2; }
#app .hv-pc-txt small { font-size: .74rem; line-height: 1.3; color: var(--muted); }
#app .hv-pc-hook { font-size: .78rem; line-height: 1.35; color: var(--muted); }
#app .hv-pc.is-cur { border-color: var(--orange); box-shadow: 0 0 0 1.5px var(--orange); }
#app .hv-pc:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { #app .hv-pc:hover { transform: translateY(-2px); border-color: var(--ink); box-shadow: 0 12px 24px -16px rgba(0, 0, 0, .35); } }
/* les 3 étapes : cartes alignées, sans trait dessiné ni décalage */
#app .hv-etapes .hv-esc-list li:nth-child(n) { margin-top: 0; }
#app .hv-etapes .hv-esc-list li:before { display: none; }
#app .hv-etapes .hv-esc-n { font: 700 .72rem/1.2 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--orange-ink); }
#app .hv-etapes .hv-esc-list li { border: 1.5px solid var(--line); box-shadow: none; }
@media (max-width: 900px) {
  #app .hv-hero-v3 .hv-hero-in { gap: 22px; }
}
@media (max-width: 760px) {
  #app .hv-sec { padding-top: 44px; }
  html.mc-accueil #app main>section.hv-proof { margin-top: 44px !important; }
  #app .hv-pcs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #app .hv-pc-img { aspect-ratio: 16 / 9; }
  #app .hv-pc-txt { padding: 8px 10px 10px; }
  #app .hv-pc-txt b { font-size: .92rem; }
  #app .hv-pc-hook { display: none; }
  #app .hv-alt { margin-top: 12px; }
  #app .hv-etapes .hv-esc-list { gap: 10px; }
  #app .hv-etapes .hv-esc-list li { padding: 16px 16px 14px; gap: 6px; }
  #app .hv-etapes .hv-esc-list h3 { font-size: 1.25rem; margin-top: 2px; }
  #app .hv-etapes .hv-esc-list p { font-size: .9rem; }
  #app .hv-proof { padding: 40px 0 44px; }
  #app .hv-proof h2 { margin-bottom: 20px; font-size: 1.6rem; }
  #app .hv-proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; margin-bottom: 22px; }
  #app .hv-proof-list li { padding-top: 12px; }
  #app .hv-proof-list b { margin: 8px 0 4px; font-size: .92rem; line-height: 1.3; }
  #app .hv-proof-list p { font-size: .82rem; line-height: 1.45; }
  #app .hv-proof-ico { width: 22px; height: 22px; }
}
