/* CAMP EUROPE — travel-premium language: photo-forward, rounded, soft elevation, sans display */
:root{
  --pine:#0a2e52; --pine2:#0b5294; --ink:#17273b; --ice:#f3f7fb; --card:#ffffff;
  --glacier:#0b5294; --gold:#e67e22; --grey:#5b6b80; --line:#dfe7f0;
  --sans:'Pretendard',-apple-system,sans-serif;
  --soft:0 14px 44px rgba(10,46,82,.12);
  --soft-sm:0 6px 22px rgba(10,46,82,.09);
  --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--ice);line-height:1.7}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
img{display:block}
::selection{background:var(--pine2);color:#fff}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
/* header */
header{position:sticky;top:0;z-index:1000;background:rgba(243,247,251,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-weight:800;font-size:17.5px;color:var(--pine);text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--gold)}
.nav-r{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nav a.link{font-size:14.5px;color:var(--grey);text-decoration:none;font-weight:600}
.nav a.link:hover{color:var(--pine)}
.nav a.link.act{color:var(--pine);font-weight:800}
.lang{display:flex;gap:3px;background:#fff;border-radius:999px;padding:3px;box-shadow:var(--soft-sm)}
.lang button{border:0;background:none;padding:5px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--grey);cursor:pointer;font-family:var(--sans)}
.lang button.on{background:var(--pine);color:#fff}
/* buttons — pill */
.cta{display:inline-block;background:var(--gold);color:#fff;font-weight:800;font-size:15.5px;padding:16px 34px;border-radius:999px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 10px 26px rgba(230,126,34,.35)}
.cta:hover{transform:translateY(-2px);background:#d06f15;box-shadow:0 14px 34px rgba(230,126,34,.45)}
.cta.ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55);margin-left:12px;box-shadow:none;backdrop-filter:blur(4px)}
.cta.ghost:hover{background:rgba(255,255,255,.25)}
.cta.sm{padding:12px 26px;font-size:14px}
/* split hero — framed travel card */
.hero2{display:grid;grid-template-columns:1.1fr .9fr;min-height:86vh;background:linear-gradient(150deg,#0a2e52 0%,#0b5294 90%)}
.hL{color:#fff;display:flex;align-items:center}
.wrapL{padding:110px 56px 90px max(28px,calc((100vw - 1160px)/2 + 28px))}
.kicker2{display:inline-block;background:rgba(230,126,34,.18);color:#ffc78e;border:1px solid rgba(242,166,90,.5);padding:8px 18px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:28px}
.hero2 h1{font-family:var(--sans);font-size:clamp(36px,4.6vw,66px);font-weight:800;line-height:1.18;letter-spacing:-.03em;max-width:640px}
.hero2 .sub{font-size:clamp(15px,1.4vw,18px);color:#c8d8ec;margin:26px 0 38px;max-width:520px;line-height:1.85}
.hR{padding:26px 26px 26px 0;display:flex}
.hR-img{flex:1;background-size:cover;background-position:center;border-radius:26px;min-height:380px;box-shadow:0 24px 70px rgba(4,18,38,.45)}
@media(max-width:900px){.hero2{grid-template-columns:1fr}.wrapL{padding:80px 28px 20px}.hR{padding:12px 20px 26px}}
/* marquee — ice ticker */
.marquee{background:#fff;color:var(--pine);overflow:hidden;white-space:nowrap;padding:16px 0;border-bottom:1px solid var(--line)}
.mtrack{display:inline-block;animation:mq 28s linear infinite}
.mtrack span{font-weight:700;font-size:14px;margin:0 30px}
.mtrack span::after{content:"✦";margin-left:30px;color:var(--gold)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* stats — floating chips */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;padding:56px 0 8px}
.stat{text-align:center;background:var(--card);border-radius:var(--r);padding:34px 20px 28px;box-shadow:var(--soft-sm);min-width:0}
.stat b{display:block;font-size:clamp(30px,3vw,46px);color:var(--pine);font-weight:800;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat b span{font-size:inherit;display:inline;color:inherit;margin:0}
.stat > span{display:block;font-size:12.5px;color:var(--grey);font-weight:600;margin-top:12px;line-height:1.6}
/* sections */
section{padding:clamp(60px,8.5vw,96px) 0}
.sec-k{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.sec-k::before{content:"●";font-size:9px}
h2{font-family:var(--sans);font-size:clamp(28px,3.6vw,46px);font-weight:800;color:var(--pine);margin:14px 0 18px;line-height:1.22;letter-spacing:-.025em;max-width:780px}
.lead{color:var(--grey);max-width:660px;font-size:17px;line-height:1.85}
.price-note{font-size:12px;color:#93a3b8}
/* page hero */
.phero{position:relative;min-height:52vh;display:flex;align-items:flex-end;color:#fff}
.phero .wrap{padding:130px 28px 60px;position:relative;z-index:1}
.phero .bgim{position:absolute;inset:0;background-size:cover;background-position:center}
.phero .ovl{position:absolute;inset:0;background:linear-gradient(rgba(10,46,82,.35),rgba(10,46,82,.82))}
.phero h1{font-family:var(--sans);font-size:clamp(32px,4.2vw,58px);font-weight:800;line-height:1.2;letter-spacing:-.025em;max-width:760px}
.phero p{color:#c8d8ec;margin-top:14px;max-width:620px;font-size:16.5px;line-height:1.85}
/* pilot — rounded feature card */
.pilot{display:grid;grid-template-columns:1.05fr .95fr;gap:0;margin-top:48px;border-radius:26px;overflow:hidden;box-shadow:var(--soft)}
.pilot .img{background-size:cover;background-position:center;min-height:380px}
.pilot .body{background:var(--pine);color:#fff;padding:50px}
.pilot .tag{display:inline-block;background:var(--gold);color:#fff;font-size:12px;font-weight:800;padding:6px 16px;border-radius:999px}
.pilot h3{font-size:clamp(23px,2.3vw,32px);margin:20px 0 12px;line-height:1.3;font-weight:800;letter-spacing:-.02em}
.pilot p{color:#c8d8ec;font-size:15px;line-height:1.85}
.pilot .pr{margin-top:24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pilot .pr b{font-size:clamp(32px,2.8vw,44px);letter-spacing:-.02em;font-weight:800}
.pilot .pr span{color:#93aecd;font-size:13.5px}
.pilot .cta{margin-top:26px}
@media(max-width:860px){.pilot{grid-template-columns:1fr}}
/* bento — photo cards */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:44px}
.bcard{border-radius:22px;overflow:hidden;position:relative;min-height:340px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;box-shadow:var(--soft-sm);transition:transform .25s,box-shadow .25s}
.bcard:hover{transform:translateY(-6px);box-shadow:var(--soft)}
.bcard .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s}
.bcard:hover .bg{transform:scale(1.06)}
.bcard .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,46,82,.9) 12%,rgba(10,46,82,.1) 62%)}
.bcard .ct{position:relative;padding:28px;width:100%}
.bcard .when{display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff}
.bcard h3{font-size:22px;margin:12px 0 6px;font-weight:800;letter-spacing:-.02em}
.bcard p{font-size:13.5px;color:#c8d8ec;max-width:420px}
.bcard .pp{margin-top:12px;font-size:20px;font-weight:800}
.bcard .pp small{font-weight:500;font-size:12px;color:#93aecd;margin-left:8px}
.b7{grid-column:span 7}.b5{grid-column:span 5}.b6{grid-column:span 6}
@media(max-width:860px){.b7,.b5,.b6{grid-column:span 12}}
/* sessions — rounded cards */
.sessions{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px;margin-top:44px}
.ses{background:var(--card);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--soft-sm);transition:transform .2s,box-shadow .2s}
.ses:hover{transform:translateY(-5px);box-shadow:var(--soft)}
.ses .top{display:flex;gap:14px;align-items:center}
.mon{background:linear-gradient(150deg,#0a2e52,#0b5294);color:#fff;border-radius:14px;padding:10px 12px;text-align:center;font-weight:800;font-size:13px;line-height:1.25;min-width:62px}
.mon em{display:block;font-style:normal;color:#ffc78e;font-size:10.5px;letter-spacing:.06em}
.ses .dr{font-size:13px;font-weight:800;color:var(--pine2)}
.ses h3{font-size:16.5px;color:var(--pine);line-height:1.45;font-weight:800;letter-spacing:-.01em}
.ses .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.ses .meta b{font-size:19px;color:var(--pine)}
.ses .badge{background:rgba(230,126,34,.13);color:#b35f14;font-size:11px;font-weight:800;padding:4px 12px;border-radius:999px}
.ses .cta{text-align:center;padding:12px 0;font-size:13.5px}
/* compare — rounded navy card */
.compare{background:linear-gradient(150deg,#0a2e52,#0b5294);color:#fff;margin-top:64px;padding:58px 48px;display:grid;grid-template-columns:1fr auto 1fr;gap:36px;align-items:center;text-align:center;border-radius:26px;box-shadow:var(--soft)}
.compare .vs{font-size:22px;color:#93aecd;font-weight:800}
.compare .side small{display:block;font-size:12px;color:#93aecd;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.compare .side b{font-size:clamp(28px,3.6vw,46px);color:#fff;font-weight:800;letter-spacing:-.02em}
.compare .side.gold b{color:#ffb066}
.compare .side p{font-size:12.5px;color:#93aecd;margin-top:8px}
@media(max-width:700px){.compare{grid-template-columns:1fr;padding:44px 26px}}
/* program rows */
.prow{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line)}
.prow:last-of-type{border-bottom:0}
.prow .im{border-radius:22px;overflow:hidden;height:350px;box-shadow:var(--soft-sm)}
.prow .im img{width:100%;height:100%;object-fit:cover}
.prow .when{display:inline-block;background:#fff;box-shadow:var(--soft-sm);padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;color:var(--pine2)}
.prow h3{font-size:26px;color:var(--pine);margin:14px 0 12px;font-weight:800;letter-spacing:-.02em}
.prow p{color:var(--grey);font-size:15.5px}
.prow .pr{margin:16px 0 6px;font-size:30px;font-weight:800;color:var(--pine);letter-spacing:-.02em}
.prow .pr small{font-weight:500;font-size:13px;color:#93a3b8;margin-left:10px}
.prow ul{list-style:none;margin-top:10px}
.prow li{font-size:14.5px;color:var(--ink);padding:9px 0 9px 32px;position:relative}
.prow li::before{content:"✓";position:absolute;left:2px;top:9px;width:20px;height:20px;border-radius:50%;background:rgba(230,126,34,.14);color:#b35f14;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media(max-width:820px){.prow{grid-template-columns:1fr}}
/* dark weeks */
.dark{background:linear-gradient(150deg,#0a2e52 0%,#0b5294 100%);color:#fff}
.dark h2{color:#fff}
.dark .lead{color:#c8d8ec}
.weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:44px}
.wk{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:28px;backdrop-filter:blur(6px)}
.wk .n{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center}
.wk b{color:#fff;font-size:16px;display:block;margin:16px 0 8px;font-weight:800}
.wk p{font-size:13.5px;color:#c8d8ec;line-height:1.75}
/* tabs */
.tabs{display:flex;gap:10px;margin-top:38px;flex-wrap:wrap}
.tabs button{border:0;background:#fff;border-radius:999px;padding:12px 26px;font-size:14px;font-weight:700;color:var(--grey);cursor:pointer;font-family:var(--sans);box-shadow:var(--soft-sm)}
.tabs button.on{background:var(--pine);color:#fff}
/* timeline */
.timeline{margin-top:40px;border-left:2px solid var(--line);padding-left:34px;max-width:680px}
.tl{position:relative;padding-bottom:30px}
.tl::before{content:"";position:absolute;left:-43px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:4px solid var(--ice);box-shadow:0 0 0 1.5px var(--gold)}
.tl time{font-size:12.5px;font-weight:800;color:var(--pine2)}
.tl b{display:block;font-size:17px;color:var(--pine);margin:4px 0 4px;font-weight:800}
.tl p{font-size:14px;color:var(--grey);max-width:560px;line-height:1.8}
/* itinerary */
.itin{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:40px}
.itd{background:var(--card);border-radius:14px;padding:16px 14px;box-shadow:var(--soft-sm);border-top:4px solid var(--line);transition:transform .15s,box-shadow .15s}
.itd:hover{transform:translateY(-4px);box-shadow:var(--soft)}
.itd .dn{font-weight:800;font-size:16px;color:var(--pine);display:block}
.itd b{display:block;font-size:13px;color:var(--pine);margin:5px 0 4px;line-height:1.35;font-weight:700}
.itd p{font-size:11.5px;color:var(--grey);line-height:1.55}
.it-t{border-top-color:#8fa5bd}.it-c{border-top-color:#0b5294}.it-e{border-top-color:#3f8f5f}.it-s{border-top-color:#e67e22}
.itleg{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:12.5px;color:var(--grey)}
.itleg span::before{content:"●";margin-right:6px}
.il-t::before{color:#8fa5bd}.il-c::before{color:#0b5294}.il-e::before{color:#3f8f5f}.il-s::before{color:#e67e22}
/* map */
#map{height:480px;border-radius:22px;margin-top:40px;box-shadow:var(--soft);z-index:1}
.maplegend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--grey)}
.maplegend span::before{content:"●";margin-right:6px}
.lg-ch::before{color:#0b5294}.lg-de::before{color:#e67e22}.lg-at::before{color:#3f8f5f}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:40px}
.gal figure{border-radius:18px;overflow:hidden;position:relative;height:230px;cursor:pointer;box-shadow:var(--soft-sm)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal figure:hover img{transform:scale(1.07)}
.gal figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(10,46,82,.88));color:#fff;font-size:12.5px;padding:26px 14px 12px;opacity:0;transition:opacity .3s}
.gal figure:hover figcaption{opacity:1}
/* steps — rounded cards, filled circles */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:40px}
.step{background:var(--card);border-radius:var(--r);padding:30px 26px;box-shadow:var(--soft-sm);transition:transform .2s,box-shadow .2s}
.step:hover{transform:translateY(-4px);box-shadow:var(--soft)}
.step .n{width:46px;height:46px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center}
.step b{color:var(--pine);display:block;margin:16px 0 8px;font-size:16.5px;font-weight:800}
.step p{font-size:14px;color:var(--grey);line-height:1.75}
/* editorial — white card on ice */
.editorial{padding:clamp(60px,8.5vw,96px) 0}
.editorial .wrap > h2{margin-bottom:22px}
.editorial .prose{background:var(--card);border-radius:26px;box-shadow:var(--soft-sm);padding:clamp(28px,4vw,52px);max-width:880px}
.prose p{margin-bottom:18px;color:#48586c;font-size:15.5px;line-height:1.95}
.prose p:last-child{margin-bottom:0}
/* contact — photo card */
.contact{background:linear-gradient(rgba(10,46,82,.78),rgba(10,46,82,.9)),url('https://images.unsplash.com/photo-1607585011081-241d2bacb7de?q=80&w=1800&auto=format&fit=crop') center/cover !important;border-radius:26px;padding:78px 48px;text-align:center;margin:0 0 96px;color:#fff;box-shadow:var(--soft)}
.contact h2{color:#fff;margin-bottom:14px;max-width:none}
.contact p{color:#c8d8ec;margin-bottom:32px;font-size:16.5px}
/* waitlist form */
.wform{max-width:700px;margin-top:40px;background:var(--card);border-radius:26px;padding:44px;box-shadow:var(--soft)}
.wform .frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:640px){.wform .frow{grid-template-columns:1fr}}
.wform label{display:block;margin-bottom:18px;font-size:13.5px;font-weight:700;color:var(--pine)}
.wform input,.wform select,.wform textarea{display:block;width:100%;margin-top:7px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--ice)}
.wform input:focus,.wform select:focus,.wform textarea:focus{outline:2px solid var(--pine2);border-color:transparent;background:#fff}
.wform .hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.wform .consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;color:var(--grey);font-size:13px}
.wform .consent input{width:auto;margin-top:3px}
.wform button.cta{border:0;cursor:pointer;font-family:var(--sans);width:100%;margin-top:8px}
.wform button.cta:disabled{opacity:.6;cursor:wait}
.wf-msg{margin-top:16px;font-size:14.5px;font-weight:700;display:none}
.wf-msg.ok{display:block;color:#1e7a46}
.wf-msg.err{display:block;color:#b0533a}
/* faq */
details{background:var(--card);border-radius:16px;padding:20px 24px;margin-bottom:12px;box-shadow:var(--soft-sm)}
summary{font-weight:800;color:var(--pine);cursor:pointer;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:24px;color:var(--gold);transition:transform .25s;flex-shrink:0}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:12px;color:var(--grey);font-size:15px;max-width:760px;line-height:1.85}
/* floating cta */
.fab{position:fixed;right:20px;bottom:20px;z-index:1500;background:var(--gold);color:#fff;font-weight:800;font-size:14px;padding:15px 26px;border-radius:999px;text-decoration:none;box-shadow:0 14px 36px rgba(230,126,34,.5);transition:transform .15s}
.fab:hover{transform:translateY(-3px)}
/* footer */
footer.bigfoot{background:linear-gradient(170deg,#0a2e52,#081f3a);color:#8fa5c2;font-size:14px;border-radius:32px 32px 0 0;margin-top:8px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1.5fr;gap:56px;padding:68px 28px 44px}
@media(max-width:760px){.fgrid{grid-template-columns:1fr;gap:36px}}
.flogo{font-weight:800;font-size:21px;color:#fff;letter-spacing:-.01em}
.flogo span{color:#ffb066}
.fbrand p{margin:16px 0 24px;max-width:320px;line-height:1.85}
.fmenu b,.fco .klabel{display:block;color:#5f7ba3;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-weight:800}
.fmenu a{display:block;color:#a9bcd4;text-decoration:none;padding:6px 0;font-size:14.5px;transition:color .15s}
.fmenu a:hover{color:#ffb066}
.cname{display:block;color:#fff;font-size:15.5px;font-weight:700;margin-bottom:10px}
.fco p{margin-bottom:8px;line-height:1.75;font-size:13px}
.fbottom{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding:20px 28px 26px;border-top:1px solid rgba(255,255,255,.09);font-size:12px;color:#5f7ba3}
/* ---------- mobile ---------- */
@media(max-width:720px){
  .wrapL{padding:64px 24px 12px}
  .hero2 h1{font-size:clamp(30px,8.6vw,38px)}
  .hero2 .sub{font-size:15px;margin:20px 0 28px}
  .hR-img{min-height:280px}
  .hbtns{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .hbtns .cta{text-align:center}
  .cta.ghost{margin-left:0}
  .mtrack span{font-size:12px;margin:0 18px}
  .mtrack span::after{margin-left:18px}
  .stats{gap:12px;padding-top:36px}
  .stat{padding:24px 16px 20px}
  .stat b{font-size:30px}
  .pilot .body{padding:32px 24px}
  .compare{gap:24px}
  .wform{padding:28px 20px}
  .contact{padding:52px 24px;margin-bottom:64px}
  .timeline{padding-left:26px}
  .tl::before{left:-35px;width:13px;height:13px}
  .phero .wrap{padding:96px 24px 40px}
  .fab{padding:12px 20px;font-size:12.5px}
  .cta{padding:14px 26px;font-size:14px}
  .fgrid{padding:44px 24px 32px}
  .fbottom{padding:16px 24px 22px}
  #map{height:340px}
  .steps{grid-template-columns:1fr}
  footer.bigfoot{border-radius:22px 22px 0 0}
}

/* tap targets (mobile a11y) */
.nav a.link{padding-top:10px;padding-bottom:10px}
.fmenu a{padding:10px 0}
.fbottom{line-height:2}
.lang button{padding-top:8px;padding-bottom:8px}

/* ---------- hamburger nav (mobile) ---------- */
.menu-btn{display:none}
@media(max-width:720px){
  .menu-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;padding:12px 4px;cursor:pointer}
  .menu-btn span{width:24px;height:2.5px;background:var(--pine);transition:transform .25s,opacity .25s}
  header.open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  header.open .menu-btn span:nth-child(2){opacity:0}
  header.open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav-r{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ice);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:6px 24px 20px;gap:0;box-shadow:0 20px 44px rgba(10,46,82,.14)}
  header.open .nav-r{display:flex}
  .nav-r a.link{padding:14px 2px;font-size:15.5px;border-bottom:1px solid var(--line);letter-spacing:0}
  .nav-r a.link.act{border-bottom:1px solid var(--line)}
  .nav-r .lang{margin-top:16px;align-self:flex-start}
}

/* ---------- diptych hero ---------- */
.hero3{position:relative;display:flex;min-height:88vh}
.hpan{position:relative;flex:1;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;color:#fff;text-decoration:none;transition:flex .55s cubic-bezier(.4,0,.2,1)}
.hpan .hbg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s ease}
.hpan .hov{position:absolute;inset:0;background:linear-gradient(rgba(10,46,82,.16),rgba(10,46,82,.72))}
.hpan:hover{flex:1.7}
.hpan:hover .hbg{transform:scale(1.06)}
.hpan .hlab{position:relative;margin-top:100px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.45);padding:11px 24px;border-radius:999px;font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;transition:background .25s}
.hpan .hlab::after{content:"→"}
.hpan:hover .hlab{background:rgba(255,255,255,.3)}
.htext{position:absolute;left:0;right:0;bottom:0;z-index:5;pointer-events:none;padding:110px 0 64px;background:linear-gradient(transparent, rgba(10,46,82,.82))}
.htext h1{color:#fff;max-width:820px}
.htext .sub2{color:#d5e2f2;margin:16px 0 28px;max-width:620px;font-size:clamp(15px,1.4vw,17.5px);line-height:1.85}
.htext .hbtns a{pointer-events:auto}
@media(max-width:820px){
  .hero3{flex-direction:column;min-height:0}
  .hpan{min-height:36vh;flex:none !important}
  .hpan .hlab{margin-top:44px}
    .htext{position:static;background:#0a2e52;padding:36px 0 44px}
}

.hero3 h1{font-size:clamp(34px,4.4vw,62px);font-weight:800;line-height:1.16;letter-spacing:-.03em}

.hpan:first-child{border-right:2px solid rgba(255,255,255,.28)}
.htext h1,.htext .sub2{word-break:keep-all}
@media(max-width:820px){.hpan:first-child{border-right:0;border-bottom:2px solid rgba(255,255,255,.28)}}
