/* ============================================================
   jung radiology — Corporate Website
   Brand colors sampled from official logo:
   teal #008C8C · lime #99FF00 · cyan #66FFFF
   ============================================================ */

:root{
  /* Brand */
  --teal:        #008C8C;
  --teal-600:    #0A7A7A;
  --teal-700:    #0A6B6B;
  --dteal:       #063A3A;   /* deep teal — dark sections */
  --dteal-2:     #0A5252;   /* cards on dark */
  --dteal-3:     #0E4747;
  --lime:        #99FF00;   /* pure brand lime (on dark / accents) */
  --lime-ink:    #5F8C00;   /* legible lime on white (text) */
  --cyan:        #66FFFF;   /* pure brand cyan (on dark / accents) */
  --cyan-ink:    #0FA9B5;   /* legible cyan on white */

  /* Neutrals */
  --ink:         #0E3B3B;   /* body text on light */
  --ink-soft:    #3C5A5A;
  --grey:        #527070;
  --lgrey:       #8AA5A5;
  --line:        #D3E5E5;
  --line-soft:   #E5F0F0;
  --bg:          #FFFFFF;
  --bg-soft:     #F2F8F8;   /* very light teal tint */
  --bg-soft-2:   #E8F4F4;
  --lime-tint:   #F4FBE2;
  --cyan-tint:   #E6F9FB;

  /* Type */
  --font-display: "Fraunces", Georgia, serif;
  --font-body:    "Outfit", "Segoe UI", sans-serif;

  /* Layout */
  --maxw: 1200px;
  --gut: clamp(1.25rem, 4vw, 3rem);
  --radius: 16px;
  --radius-lg: 24px;
  --shadow-sm: 0 2px 12px rgba(6,58,58,.07);
  --shadow:    0 10px 40px rgba(6,58,58,.10);
  --shadow-lg: 0 24px 70px rgba(6,58,58,.16);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  font-size:17px;
  font-weight:380;
  overflow-x:hidden;
  letter-spacing:.005em;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }

/* ---------- Type scale ---------- */
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:560; line-height:1.08; letter-spacing:-.01em; color:var(--dteal); }
h1{ font-size:clamp(2.5rem, 6vw, 4.4rem); }
h2{ font-size:clamp(2rem, 4.4vw, 3.1rem); }
h3{ font-size:clamp(1.3rem, 2.2vw, 1.7rem); }
h4{ font-size:1.15rem; }
p{ color:var(--ink-soft); }
.lead{ font-size:clamp(1.1rem,1.6vw,1.35rem); color:var(--ink-soft); font-weight:380; line-height:1.6; }

.kicker{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--font-body); font-weight:600; font-size:.78rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--lime-ink);
}
.kicker::before{ content:""; width:26px; height:3px; background:var(--lime); border-radius:2px; }
.kicker.on-dark{ color:var(--lime); }
.kicker.on-dark::before{ background:var(--lime); }

/* ---------- Layout helpers ---------- */
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:clamp(4rem, 9vw, 7.5rem); }
.section.tight{ padding-block:clamp(3rem,6vw,4.5rem); }
.center{ text-align:center; }
.muted{ color:var(--grey); }
.eyebrow-gap{ margin-bottom:1.1rem; }
.mt-1{margin-top:.5rem} .mt-2{margin-top:1rem} .mt-3{margin-top:1.6rem} .mt-4{margin-top:2.4rem}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--font-body); font-weight:600; font-size:.98rem;
  padding:.85rem 1.6rem; border-radius:999px; border:2px solid transparent;
  cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s, border-color .25s;
  white-space:nowrap;
}
.btn .arrow{ transition:transform .25s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }
.btn-primary{ background:var(--teal); color:#fff; box-shadow:0 8px 22px rgba(0,140,140,.28); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,140,140,.38); background:var(--teal-600); }
.btn-lime{ background:var(--lime); color:var(--dteal); box-shadow:0 8px 22px rgba(153,255,0,.30); }
.btn-lime:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(153,255,0,.42); }
.btn-ghost{ border-color:var(--line); color:var(--teal); background:transparent; }
.btn-ghost:hover{ border-color:var(--teal); background:var(--bg-soft); }
.btn-ghost-light{ border-color:rgba(255,255,255,.35); color:#fff; }
.btn-ghost-light:hover{ border-color:#fff; background:rgba(255,255,255,.08); }

/* ============================================================
   HEADER / NAV
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--line-soft);
  transition:box-shadow .3s, background .3s;
}
.site-header.scrolled{ box-shadow:0 4px 24px rgba(6,58,58,.08); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.nav .logo img{ height:34px; width:auto; }
.nav-links{ display:flex; align-items:center; gap:2rem; }
.nav-links a{
  font-weight:450; font-size:.96rem; color:var(--ink-soft); position:relative; padding:.3rem 0;
  transition:color .2s;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--teal);
  transition:width .25s var(--ease);
}
.nav-links a:hover{ color:var(--teal); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-links a.active{ color:var(--teal); font-weight:600; }
.nav-cta{ display:flex; align-items:center; gap:1rem; }
/* extra space after the language switch so it reads as centered between the menu and the CTA button */
.nav-cta .lang-switch{ margin-right:1.4rem; }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:.4rem; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--dteal); margin:5px 0; transition:.3s; border-radius:2px; }

@media (max-width:920px){
  .nav-links{
    position:fixed; inset:74px 0 auto 0; flex-direction:column; gap:0;
    background:#fff; padding:1rem var(--gut) 2rem; border-bottom:1px solid var(--line);
    transform:translateY(-120%); transition:transform .35s var(--ease); box-shadow:var(--shadow);
  }
  .nav-links.open{ transform:translateY(0); }
  .nav-links a{ width:100%; padding:.9rem 0; border-bottom:1px solid var(--line-soft); }
  .nav-links a::after{ display:none; }
  .nav .nav-cta .btn{ display:none; }
  .nav-cta .lang-switch{ margin-right:.4rem; }
  .nav-toggle{ display:block; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ opacity:0; }
  .nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 700px at 78% -5%, #0d6b6b 0%, transparent 55%),
    radial-gradient(900px 600px at 10% 110%, #0a5252 0%, transparent 50%),
    var(--dteal);
  color:#fff;
}
.hero .wrap{ position:relative; z-index:2; }
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center;
  padding-block:clamp(3.5rem,8vw,6.5rem);
}
.hero h1{ color:#fff; }
.hero h1 .accent{ color:var(--lime); }
.hero .lead{ color:#BfeFef; margin-top:1.4rem; max-width:34ch; }
.hero-cta{ display:flex; gap:1rem; margin-top:2.2rem; flex-wrap:wrap; }
.hero-meta{ margin-top:2.6rem; display:flex; gap:2rem; flex-wrap:wrap; }
.hero-meta .item{ display:flex; flex-direction:column; }
.hero-meta .num{ font-family:var(--font-display); font-size:1.9rem; color:var(--lime); line-height:1; }
.hero-meta .lbl{ font-size:.82rem; color:#9fc9c9; margin-top:.3rem; }

.hero-visual{ position:relative; display:flex; justify-content:center; align-items:center; }
.hero-visual .net{
  width:min(420px, 80%); aspect-ratio:1; border-radius:50%;
  filter:drop-shadow(0 20px 60px rgba(0,0,0,.4));
  animation:floaty 8s ease-in-out infinite;
}
@keyframes floaty{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }

/* swirl decorative element */
.swirl-deco{ position:absolute; opacity:.10; pointer-events:none; z-index:1; }

/* decorative grain */
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.4;
  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='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
}

@media (max-width:820px){
  .hero-grid{ grid-template-columns:1fr; gap:2rem; }
  .hero-visual{ order:-1; }
  .hero-visual .net{ width:min(280px,70%); }
}

/* ============================================================
   GENERIC PAGE HERO (sub-pages)
   ============================================================ */
.page-hero{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(900px 520px at 85% -20%, #0d6b6b 0%, transparent 55%), var(--dteal);
  padding-block:clamp(3.2rem,7vw,5rem);
}
.page-hero .wrap{ position:relative; z-index:2; }
.page-hero h1{ color:#fff; max-width:18ch; }
.page-hero .lead{ color:#BfeFef; margin-top:1.1rem; max-width:52ch; }
.breadcrumb{ font-size:.85rem; color:#8fc0c0; margin-bottom:1.1rem; }
.breadcrumb a:hover{ color:var(--lime); }

/* ============================================================
   CARDS / GRIDS
   ============================================================ */
.grid{ display:grid; gap:1.5rem; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){ .grid-4{ grid-template-columns:repeat(2,1fr); } .grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){ .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; } }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:1.8rem; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
  position:relative; overflow:hidden;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--bg-soft-2); }
.card .ico{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center; margin-bottom:1.1rem;
  background:var(--bg-soft); color:var(--teal);
}
.card .ico svg{ width:26px; height:26px; }
.card h3{ font-size:1.25rem; margin-bottom:.5rem; }
.card p{ font-size:.97rem; }
.card .bar{ position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--lime); transform:scaleY(0); transform-origin:top; transition:transform .35s var(--ease); }
.card:hover .bar{ transform:scaleY(1); }
.card.accent-cyan .bar{ background:var(--cyan-ink); }

/* soft section */
.bg-soft{ background:var(--bg-soft); }
.bg-dark{ background:var(--dteal); color:#fff; }
.bg-dark h2,.bg-dark h3{ color:#fff; }
.bg-dark p{ color:#bfe0e0; }
.bg-dark .lead{ color:#cfeaea; }

/* dark cards */
.card-dark{
  background:var(--dteal-2); border:1px solid #1a6b6b; border-radius:var(--radius);
  padding:1.8rem; transition:transform .3s var(--ease), box-shadow .3s;
}
.card-dark:hover{ transform:translateY(-5px); }
.card-dark h3{ color:#fff; }
.card-dark p{ color:#aee5e5; font-size:.97rem; }
.card-dark .tag{ display:inline-block; width:32px; height:4px; border-radius:2px; background:var(--lime); margin-bottom:1rem; }
.card-dark.c2 .tag{ background:var(--cyan); }

/* numbered step */
.step-num{
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--font-display); font-size:1.5rem; color:#fff; background:var(--teal); flex:none;
}
.step-num.lime{ background:var(--lime); color:var(--dteal); }
.step-num.cyan{ background:var(--cyan-ink); }

/* feature row */
.feature-row{ display:flex; gap:1.2rem; align-items:flex-start; }
.feature-row .txt h4{ color:var(--teal); margin-bottom:.25rem; }
.feature-row .txt p{ font-size:.97rem; }

/* ============================================================
   SPLIT / MEDIA
   ============================================================ */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.split.reverse .media{ order:2; }
@media (max-width:860px){ .split{ grid-template-columns:1fr; } .split.reverse .media{ order:0; } }

.media-frame{
  border-radius:var(--radius-lg); overflow:hidden; position:relative;
  background:var(--dteal); padding:2rem; box-shadow:var(--shadow);
}
.media-frame img{ border-radius:10px; margin-inline:auto; }
.media-frame .cap{ text-align:center; color:#cfeaea; font-size:.85rem; margin-top:.9rem; font-style:italic; }

/* ============================================================
   STATS
   ============================================================ */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
@media (max-width:760px){ .stats{ grid-template-columns:repeat(2,1fr); } }
.stat{ background:var(--bg-soft); border-radius:var(--radius); padding:1.8rem 1.4rem; text-align:center; }
.stat .n{ font-family:var(--font-display); font-size:clamp(2.4rem,4vw,3.2rem); color:var(--teal); line-height:1; }
.stat.cyan .n{ color:var(--cyan-ink); }
.stat .l{ font-weight:600; color:var(--teal); margin-top:.5rem; font-size:1rem; }
.stat .s{ font-size:.82rem; color:var(--grey); margin-top:.2rem; }

/* ============================================================
   PILL CHIPS (interfaces)
   ============================================================ */
.chip{ display:inline-flex; align-items:center; gap:.5rem; padding:.4rem 1rem; border-radius:999px; font-weight:600; font-size:.82rem; }
.chip-teal{ background:var(--teal); color:#fff; }
.chip-cyan{ background:var(--cyan-ink); color:#fff; }

/* interface card */
.iface{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.iface .head{ display:flex; justify-content:space-between; align-items:center; padding:1.4rem 1.6rem; }
.iface.teal .head{ background:var(--cyan-tint); }
.iface.lime .head{ background:var(--lime-tint); }
.iface .head h3{ font-size:1.4rem; }
.iface .body{ padding:1.2rem 1.6rem 1.7rem; }
.iface .body li{ display:flex; gap:.7rem; padding:.45rem 0; font-size:.98rem; color:var(--ink); }
.iface .body li::before{ content:""; width:9px; height:9px; border-radius:50%; margin-top:.55rem; flex:none; }
.iface.teal .body li::before{ background:var(--cyan-ink); }
.iface.lime .body li::before{ background:var(--teal); }

/* ============================================================
   MODULE TABLE (modality columns)
   ============================================================ */
.mod-col{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; }
.mod-col .h{ padding:1rem 1.2rem; color:#fff; font-weight:600; font-family:var(--font-display); font-size:1.15rem; text-align:center; }
.mod-col .items{ padding:1.2rem; }
.mod-col .items li{ display:flex; gap:.6rem; padding:.4rem 0; font-size:.92rem; color:var(--ink); }
.mod-col .items li i{ width:10px; height:10px; flex:none; margin-top:.45rem; border-radius:2px; }

/* ============================================================
   TIMELINE (roadmap)
   ============================================================ */
.timeline{ position:relative; padding-left:0; }
.tl-track{ display:grid; gap:1.2rem; }
.tl-item{ display:flex; gap:1.3rem; align-items:flex-start; position:relative; }
.tl-dot{ width:18px; height:18px; border-radius:50%; flex:none; margin-top:.4rem; border:3px solid var(--teal); background:var(--teal); position:relative; }
.tl-item:not(:last-child) .tl-dot::after{ content:""; position:absolute; left:50%; top:18px; transform:translateX(-50%); width:2px; height:calc(100% + 1.2rem); background:var(--line); }
.tl-item.cyan .tl-dot{ border-color:var(--cyan-ink); background:var(--cyan-ink); }
.tl-item.lime .tl-dot{ border-color:var(--lime-ink); background:var(--lime-ink); }
.tl-item.future .tl-dot{ background:#fff; border-color:var(--cyan-ink); }
.tl-content h4{ color:var(--teal); margin-bottom:.2rem; }
.tl-content .tl-tag{ font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--lime-ink); }
.tl-content.future .tl-tag{ color:var(--cyan-ink); }
.tl-content p{ font-size:.92rem; }

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner{
  position:relative; overflow:hidden; border-radius:var(--radius-lg);
  background:radial-gradient(700px 400px at 90% 10%, #0d6b6b, transparent 60%), var(--dteal);
  color:#fff; padding:clamp(2.5rem,5vw,4rem); text-align:center;
}
.cta-banner h2{ color:#fff; }
.cta-banner p{ color:#cfeaea; max-width:46ch; margin:1rem auto 1.8rem; }
.cta-banner .swirl-deco{ opacity:.12; }

/* ============================================================
   FORMS
   ============================================================ */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
@media(max-width:640px){ .form-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field.full{ grid-column:1 / -1; }
.field label{ font-weight:550; font-size:.9rem; color:var(--ink); }
.field label .req{ color:var(--cyan-ink); }
.field input, .field textarea, .field select{
  font-family:var(--font-body); font-size:1rem; padding:.85rem 1rem; border:1.5px solid var(--line);
  border-radius:12px; background:var(--bg-soft); color:var(--ink); transition:border-color .2s, background .2s, box-shadow .2s;
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none; border-color:var(--teal); background:#fff; box-shadow:0 0 0 4px rgba(0,140,140,.12);
}
.field textarea{ resize:vertical; min-height:140px; }
.checkbox-row{ display:flex; gap:.7rem; align-items:flex-start; font-size:.9rem; color:var(--grey); }
.checkbox-row input{ margin-top:.25rem; width:18px; height:18px; accent-color:var(--teal); flex:none; }
.form-note{ font-size:.82rem; color:var(--lgrey); margin-top:1rem; }
.form-success{
  display:none; background:var(--lime-tint); border:1.5px solid var(--lime); border-radius:12px;
  padding:1rem 1.2rem; color:var(--dteal); font-weight:500; margin-bottom:1.2rem;
}
.form-success.show{ display:block; animation:pop .4s var(--ease); }
@keyframes pop{ from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:translateY(0)} }

/* contact info card */
.contact-card{ background:var(--dteal); color:#fff; border-radius:var(--radius-lg); padding:2.2rem; position:relative; overflow:hidden; }
.contact-card h3{ color:#fff; }
.contact-card .row{ display:flex; gap:1rem; align-items:flex-start; padding:.8rem 0; border-bottom:1px solid #1a6b6b; }
.contact-card .row:last-child{ border-bottom:none; }
.contact-card .row .ic{ color:var(--lime); flex:none; margin-top:.15rem; }
.contact-card .row .ic svg{ width:20px; height:20px; }
.contact-card .row a{ color:#cfeaea; }
.contact-card .row a:hover{ color:var(--lime); }
.contact-card .row .label{ font-size:.78rem; color:#8fc0c0; text-transform:uppercase; letter-spacing:.08em; }

/* ============================================================
   LEGAL / PROSE
   ============================================================ */
.prose{ max-width:760px; }
/* Legal/long-form prose: headings in the body font (Outfit) for a clean, consistent reading style */
.prose h2{ font-family:var(--font-body); font-weight:600; letter-spacing:0; font-size:1.35rem; margin-top:2.4rem; margin-bottom:.7rem; color:var(--dteal); }
.prose h3{ font-family:var(--font-body); font-weight:600; letter-spacing:0; font-size:1.05rem; margin-top:1.5rem; margin-bottom:.4rem; color:var(--ink); }
.prose p{ margin-bottom:1rem; }
.prose ul{ list-style:disc; padding-left:1.3rem; margin-bottom:1rem; }
.prose ul li{ margin-bottom:.4rem; color:var(--ink-soft); }
.prose a{ color:var(--teal); text-decoration:underline; text-underline-offset:3px; }
/* Legal page helpers (adopted privacy text) */
.prose .sec-nr{ color:var(--teal); font-weight:600; margin-right:.35rem; }
.prose .lead{ font-size:1.08rem; color:var(--ink-soft); margin-bottom:1.2rem; }
.prose .legal-stand{ margin-top:2.4rem; padding-top:1.2rem; border-top:1px solid var(--line); font-size:.88rem; color:var(--grey); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ background:var(--dteal); color:#cfeaea; padding-block:3.5rem 2rem; }
.footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:2.5rem; }
@media(max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:2rem; } }
@media(max-width:480px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer .logo img{ height:34px; margin-bottom:1rem; }
.site-footer p{ color:#9fc9c9; font-size:.92rem; }
.site-footer h4{ color:#fff; font-family:var(--font-body); font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem; }
.site-footer ul li{ margin-bottom:.6rem; }
.site-footer ul a{ color:#9fc9c9; font-size:.94rem; transition:color .2s; }
.site-footer ul a:hover{ color:var(--lime); }
.footer-bottom{ border-top:1px solid #1a6b6b; margin-top:2.5rem; padding-top:1.5rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.85rem; color:#7fb0b0; }
.footer-bottom a:hover{ color:var(--lime); }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s } .reveal.d2{ transition-delay:.16s } .reveal.d3{ transition-delay:.24s } .reveal.d4{ transition-delay:.32s }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero-visual .net{ animation:none; }
  html{ scroll-behavior:auto; }
}

/* logo lockup (text fallback if image missing) */
.logo{ display:inline-flex; align-items:center; }

/* ---------- Language switcher ---------- */
.lang-switch{ display:inline-flex; align-items:center; border:1.5px solid var(--line); border-radius:999px; overflow:hidden; }
.lang-switch a{
  font-family:var(--font-body); font-weight:600; font-size:.78rem; letter-spacing:.04em;
  padding:.34rem .72rem; color:var(--grey); transition:background .2s, color .2s;
}
.lang-switch a.active{ background:var(--teal); color:#fff; }
.lang-switch a:not(.active):hover{ background:var(--bg-soft); color:var(--teal); }
@media (max-width:920px){
  .lang-switch{ border-color:var(--line); }
  .nav .nav-cta .lang-switch{ display:inline-flex; }
}
