/* ===== Noble Ride — shared stylesheet (light base, navy structure) ===== */
:root{
  --navy:#0D1B2A; --slate:#25384D; --accent:#3E6F9E; --accent-lt:#5B8CBB;
  --bg:#F5F4F1; --surface:#FFFFFF; --line:#E7E9EC;
  --ink:#15181C; --text:#3F4852; --muted:#66717D;
  --hair:rgba(21,24,28,.10); --hair-2:rgba(21,24,28,.06);
  --d-hair:rgba(255,255,255,.12); --d-hair-2:rgba(255,255,255,.07);
  --maxw:1320px;
  --display:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --num:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --e:cubic-bezier(.2,1,.3,1);
  --z-nav:60; --z-overlay:80; --z-grain:90;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
::selection{background:var(--navy);color:#fff}

.grain{position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.022;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* typography */
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.06;margin:0;letter-spacing:-.028em;color:var(--ink);text-wrap:balance}
.h-xl{font-size:clamp(2.5rem,5.6vw,4.6rem)}
.h-lg{font-size:clamp(1.9rem,3.8vw,3.1rem)}
.h-md{font-size:clamp(1.4rem,2.2vw,1.95rem)}
.h-sm{font-size:clamp(1.05rem,1.4vw,1.22rem)}
p{text-wrap:pretty;margin:0 0 16px}
.lead{font-size:clamp(1.03rem,1.3vw,1.18rem);color:var(--text);line-height:1.62;font-weight:400}
.muted{color:var(--muted)}
.serif{font-weight:300;color:var(--slate);letter-spacing:-.032em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%;font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.eyebrow .ln{width:28px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
section{position:relative;padding:clamp(78px,9vw,148px) 0}
.rule{height:1px;background:var(--line);border:0;margin:0}
.center{text-align:center}
.center .eyebrow{justify-content:center}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:500;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border:0;border-radius:5px;padding:16px 28px;transition:background .4s var(--e),color .4s var(--e),box-shadow .4s var(--e),transform .2s var(--e)}
.btn .ico{display:inline-flex;transition:transform .4s var(--e)}
.btn:hover .ico{transform:translateX(4px)}
.btn:active{transform:scale(.977)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--slate)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}
.darksec .btn-ghost,.footer .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1px var(--d-hair)}
.darksec .btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--accent-lt);color:var(--accent-lt)}
.darksec .btn-primary{background:#fff;color:var(--navy)}
.darksec .btn-primary:hover{background:var(--accent-lt);color:#fff}
.link-arrow{display:inline-flex;align-items:center;gap:9px;color:var(--accent);font-family:var(--display);font-weight:500;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.link-arrow svg{transition:transform .4s var(--e)}.link-arrow:hover svg{transform:translateX(4px)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* nav */
.nav-shell{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);background:rgba(245,244,241,.78);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--hair-2);transition:background .4s var(--e),border-color .4s var(--e)}
.nav-shell.solid{background:rgba(245,244,241,.94);border-bottom-color:var(--hair)}
.nav{display:flex;align-items:center;gap:28px;width:min(1320px,100%);margin:0 auto;padding:14px 32px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:500;font-size:1.08rem;color:var(--ink);letter-spacing:-.01em}
.brand .sub{color:var(--accent);font-weight:600}
.nav-links{display:flex;gap:26px;margin-left:auto;font-family:var(--display);font-size:.86rem;font-weight:400;letter-spacing:.03em;color:var(--muted)}
.nav-links a{transition:color .3s var(--e)}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-cta{display:inline-flex;align-items:center;gap:9px;background:var(--navy);color:#fff;font-family:var(--display);font-weight:500;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;padding:11px 20px;border-radius:5px;transition:background .4s var(--e),transform .4s var(--e)}
.nav-cta:hover{background:var(--slate);transform:translateY(-1px)}
.langsel{font-family:var(--display);font-size:.78rem;font-weight:500;letter-spacing:.06em;color:var(--muted);background:transparent;border:1px solid var(--hair);border-radius:5px;padding:8px 8px;cursor:pointer}
.burger{display:none;width:42px;height:42px;border:0;background:transparent;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.6px;background:var(--ink);transition:transform .4s var(--e),opacity .3s var(--e)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:25px}
.menu-open .burger span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}
.overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:rgba(13,27,42,.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:40px;opacity:0;pointer-events:none;transition:opacity .45s var(--e)}
.menu-open .overlay{opacity:1;pointer-events:auto}
.overlay a{font-family:var(--display);font-weight:500;font-size:1.9rem;color:rgba(255,255,255,.86);padding:9px 0;opacity:0;transform:translateY(18px);transition:opacity .55s var(--e),transform .55s var(--e),color .3s}
.menu-open .overlay a{opacity:1;transform:none}
.menu-open .overlay a:nth-child(2){transition-delay:.05s}.menu-open .overlay a:nth-child(3){transition-delay:.1s}
.menu-open .overlay a:nth-child(4){transition-delay:.15s}.menu-open .overlay a:nth-child(5){transition-delay:.2s}
.menu-open .overlay a:nth-child(6){transition-delay:.25s}.menu-open .overlay a:nth-child(7){transition-delay:.3s}
.overlay a:hover{color:var(--accent-lt)}
.overlay .close{position:absolute;top:26px;right:28px;font-size:1.8rem;background:none;border:0;color:#fff;cursor:pointer}
.overlay .langsel{align-self:flex-start;margin-top:22px;color:rgba(255,255,255,.8);border-color:var(--d-hair)}

/* hero — network map */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;padding:150px 0 80px;background:var(--surface)}
.hero-globe{position:absolute;left:0;top:50%;width:130%;aspect-ratio:2/1;transform:translate(-22%,-44%);z-index:-2}
.hero-globe img{width:100%;height:100%;object-fit:fill;opacity:.5;filter:grayscale(1) brightness(1.6) contrast(.85)}
.hero-globe .globe-arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 34%,rgba(255,255,255,.42) 56%,rgba(255,255,255,0) 78%)}
.hero-copy{position:relative;max-width:min(700px,92vw);margin-left:max(32px,calc((100vw - var(--maxw))/2 + 32px))}
.kick{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;max-width:100%;font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.hero-h1{font-size:clamp(2.5rem,5.4vw,4.5rem);display:flex;flex-direction:column;gap:2px;margin-bottom:22px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:32px 0 34px}
.hero-trust{display:flex;gap:26px;flex-wrap:wrap;font-size:.86rem;color:var(--muted);font-family:var(--display);font-weight:400;letter-spacing:.02em}
.hero-trust b{font-family:var(--num);color:var(--ink);font-weight:700}
.hero-trust span{display:inline-flex;align-items:center;gap:8px}
.live{width:7px;height:7px;border-radius:50%;background:#38A169;box-shadow:0 0 0 0 rgba(56,161,105,.45);animation:pulse 2.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(56,161,105,.45)}70%{box-shadow:0 0 0 9px rgba(56,161,105,0)}100%{box-shadow:0 0 0 0 rgba(56,161,105,0)}}
/* hero map: a route leaves Japan, the destination country lights up when it lands */
.nr-route{fill:none;stroke:rgba(62,111,158,.75);stroke-width:.9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:nrRoute var(--dur,6s) var(--e) both}
@keyframes nrRoute{0%{stroke-dashoffset:1;opacity:0}9%{opacity:.7}45%{stroke-dashoffset:0;opacity:.7}78%{stroke-dashoffset:0;opacity:.6}92%{opacity:.35}100%{stroke-dashoffset:0;opacity:0}}
.nr-cluster{fill:#2F6398;opacity:0;animation:nrCluster var(--dur,6s) ease-in-out both}
@keyframes nrCluster{0%,46%{opacity:0}60%{opacity:1}78%{opacity:1}100%{opacity:0}}
.nr-dot{fill:var(--navy);transform-box:fill-box;transform-origin:center;opacity:0;animation:nrDot var(--dur,6s) var(--e) both}
@keyframes nrDot{0%,44%{opacity:0;transform:scale(.3)}52%{opacity:1;transform:none}80%{opacity:1;transform:none}100%{opacity:0;transform:none}}
.nr-label{fill:var(--navy);font-family:var(--display);font-size:5px;font-weight:500;letter-spacing:.04em;paint-order:stroke;stroke:rgba(255,255,255,.94);stroke-width:2.5px;vector-effect:non-scaling-stroke;opacity:0;animation:nrLabel var(--dur,6s) var(--e) both}
@keyframes nrLabel{0%,50%{opacity:0}58%{opacity:.98}80%{opacity:.98}100%{opacity:0}}
.nr-origin{fill:var(--accent)}
.nr-origin-pulse{fill:none;stroke:var(--accent);stroke-width:1.2;animation:nrOrigin 5.2s var(--e) infinite}
@keyframes nrOrigin{0%{r:4;opacity:.7}70%{r:13;opacity:0}100%{r:13;opacity:0}}
.nr-label.ol{opacity:1;animation:none;font-size:5.6px;letter-spacing:.14em;fill:var(--slate)}

/* page header (subpages) */
.pagehead{padding:170px 0 clamp(56px,7vw,96px);background:var(--navy);color:#fff;position:relative;overflow:hidden}
.pagehead h1,.pagehead .h-xl{color:#fff}
.pagehead .lead{color:rgba(255,255,255,.76);max-width:640px;margin-top:18px}
.pagehead .kick{color:var(--accent-lt)}
.pagehead::after{content:"";position:absolute;right:-6%;top:-40%;width:52%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(62,111,158,.32),transparent 66%);pointer-events:none}

/* sections */
.darksec{background:var(--navy);color:rgba(255,255,255,.78)}
.darksec h1,.darksec h2,.darksec h3,.darksec h4{color:#fff}
.darksec .lead{color:rgba(255,255,255,.8)}
.darksec .muted{color:rgba(255,255,255,.66)}
.darksec .eyebrow{color:var(--accent-lt)}
.darksec .eyebrow .ln{background:linear-gradient(90deg,var(--accent-lt),transparent)}
.darksec .rule{background:var(--d-hair-2)}
.surface{background:var(--surface)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,6vw,88px);align-items:start}
.split.tight{grid-template-columns:.9fr 1.1fr}
.copy .h-lg{margin-top:16px}

/* feature list */
.feats{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 30px}
.feats li{display:flex;flex-direction:column;gap:2px;padding-top:15px;border-top:1px solid var(--line)}
.darksec .feats li{border-top-color:var(--d-hair-2)}
.feats b{font-family:var(--num);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.darksec .feats b{color:#fff}
.feats span{font-size:.87rem;color:var(--muted)}
.feats em{font-style:normal;color:var(--accent)}
.darksec .feats em{color:var(--accent-lt)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:32px 28px 30px;transition:transform .5s var(--e),box-shadow .5s var(--e),border-color .5s var(--e)}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 44px -26px rgba(13,27,42,.35);border-color:#dfe3e8}
.darksec .card{background:rgba(255,255,255,.045);border-color:var(--d-hair-2)}
.darksec .card:hover{border-color:var(--d-hair);box-shadow:none}
.card .ci{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(62,111,158,.1);color:var(--accent);margin-bottom:20px}
.darksec .card .ci{background:rgba(91,140,187,.18);color:var(--accent-lt)}
.card h3{font-size:1.1rem;margin-bottom:10px}
.card p{font-size:.93rem;color:var(--muted);margin:0}

/* steps */
.steps{counter-reset:s;margin-top:52px;display:grid;gap:0}
.step{display:grid;grid-template-columns:88px 1fr 1fr;gap:clamp(20px,4vw,54px);padding:34px 0;border-top:1px solid var(--line);align-items:start}
.darksec .step{border-top-color:var(--d-hair-2)}
.step:last-child{border-bottom:1px solid var(--line)}
.darksec .step:last-child{border-bottom-color:var(--d-hair-2)}
.step .num{counter-increment:s;font-family:var(--display);font-size:.78rem;font-weight:500;letter-spacing:.18em;color:var(--accent)}
.step .num::before{content:"0" counter(s)}
.step h3{font-size:clamp(1.2rem,1.9vw,1.55rem)}
.step p{font-size:.95rem;color:var(--muted);margin:0}
.darksec .step p{color:rgba(255,255,255,.66)}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);margin-top:clamp(38px,5vw,58px)}
.stats div{padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}
.stats b{display:block;font-family:var(--num);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:700;letter-spacing:-.035em;color:#fff;line-height:1;margin-bottom:8px}
.stats span{font-size:.86rem;color:rgba(255,255,255,.6);display:block;max-width:22ch}
section.statband{padding:clamp(52px,6vw,84px) 0}

/* audience pick */
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.pick{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:34px 30px 30px;transition:transform .5s var(--e),box-shadow .5s var(--e)}
.pick:hover{transform:translateY(-3px);box-shadow:0 20px 50px -28px rgba(13,27,42,.4)}
.pick .tag{font-family:var(--display);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.pick h3{font-size:1.32rem;margin-bottom:10px}
.pick p{font-size:.93rem;color:var(--muted);flex:1}
.pick .go{margin-top:20px}

/* data table */
.tbl{width:100%;border-collapse:collapse;margin-top:34px;font-size:.93rem}
.tbl th,.tbl td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line)}
.tbl th{font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tbl td:first-child{color:var(--ink);font-weight:600}
.tbl tr:hover td{background:rgba(62,111,158,.04)}

/* faq */
.faq{margin-top:44px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--display);font-weight:500;font-size:1.02rem;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:11px;height:11px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform .35s var(--e);flex:none}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq p{padding:0 0 22px;color:var(--muted);font-size:.95rem;max-width:74ch;margin:0}

/* contact / forms */
.form{display:grid;gap:16px;max-width:560px;margin-top:34px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;font-family:var(--body);font-size:.97rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:13px 14px;transition:border-color .3s var(--e)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent)}
.form textarea{min-height:130px;resize:vertical}
.contact-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:20px}
.contact-list li{padding-top:15px;border-top:1px solid var(--line)}
.contact-list b{display:block;font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}

/* legal copy */
.legal{max-width:80ch}
.legal h2{margin:44px 0 14px;font-size:1.35rem}
.legal h3{margin:28px 0 10px;font-size:1.05rem}
.legal p,.legal li{font-size:.95rem;color:var(--text)}
.legal ul{padding-left:20px}

/* footer */
.footer{background:var(--navy);color:rgba(255,255,255,.62);padding:76px 0 34px}
.footer h4{color:#fff;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font-weight:500}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px}
.footer a{color:rgba(255,255,255,.62);font-size:.9rem;transition:color .3s var(--e)}
.footer a:hover{color:#fff}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.footer .brand{color:#fff;margin-bottom:16px}
.footer .fnote{font-size:.88rem;max-width:38ch;color:rgba(255,255,255,.5)}
.footer-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--d-hair-2);font-size:.82rem;color:rgba(255,255,255,.45)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(22px);filter:blur(4px);transition:opacity .9s var(--e),transform .9s var(--e),filter .9s var(--e)}
.js .reveal.from-left{transform:translateX(-26px)}
.js .reveal.from-right{transform:translateX(26px)}
.js .reveal.from-top{transform:translateY(-16px)}
.js .reveal.from-bottom{transform:translateY(26px)}
.js .reveal.in{opacity:1;transform:none;filter:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.34s}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none}
  html{scroll-behavior:auto}
  .live{animation:none}
  .nr-route,.nr-dot,.nr-label,.nr-cluster,.nr-origin-pulse{animation:none}
}

/* responsive */
@media (max-width:1040px){
  .cards,.picks{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .kick,.eyebrow{letter-spacing:.16em}
  .hero-trust{gap:14px 20px}
  .hero-h1{font-size:clamp(2.1rem,8.4vw,2.9rem)}
  .nav-links,.nav-cta{display:none}
  .burger{display:block;margin-left:auto}
  .nav .langsel{order:3}
  .split,.split.tight{grid-template-columns:1fr;gap:30px}
  .step{grid-template-columns:1fr;gap:10px}
  .hero{min-height:auto;padding:132px 0 72px}
  .hero-globe{opacity:.5}
  .hero-copy{margin-left:0;padding:0 24px}
  .wrap{padding:0 24px}
  .cards,.picks{grid-template-columns:1fr}
  .feats{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .pagehead{padding:132px 0 60px}
}

/* hero arc animations */


/* nav sitting on top of a dark page header */
.nav-shell.on-dark{background:rgba(13,27,42,.66);border-bottom-color:transparent}
.nav-shell.on-dark.solid{background:rgba(13,27,42,.92);border-bottom-color:var(--d-hair-2)}
.nav-shell.on-dark .brand{color:#fff}
.nav-shell.on-dark .brand .sub{color:var(--accent-lt)}
.nav-shell.on-dark .nav-links{color:rgba(255,255,255,.6)}
.nav-shell.on-dark .nav-links a:hover,.nav-shell.on-dark .nav-links a.active{color:#fff}
.nav-shell.on-dark .nav-cta{background:#fff;color:var(--navy)}
.nav-shell.on-dark .nav-cta:hover{background:var(--accent-lt);color:#fff}
.nav-shell.on-dark .langsel{color:rgba(255,255,255,.78);border-color:var(--d-hair)}
.nav-shell.on-dark .burger span{background:#fff}
.pagehead .h-xl{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.brand svg .lm{stroke:var(--accent)}
.nav-shell.on-dark .brand svg .lm,.footer .brand svg .lm{stroke:var(--accent-lt)}

/* brand logo */
.brand-logo{height:34px;width:auto}
.footer .brand-logo{height:42px;margin-bottom:20px}
.brand .l-light{display:none}
.nav-shell.on-dark .brand .l-dark{display:none}
.nav-shell.on-dark .brand .l-light{display:block}
.overlay .brand-logo{height:28px}
@media (max-width:860px){.brand-logo{height:28px}}
