:root{
      --text:#edf5ff;
      --muted:#9cb2c7;
      --gold:#f2c24c;
      --gold-soft:#ffd97d;
      --ease:cubic-bezier(.22,.61,.36,1);
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family:Inter, "Segoe UI", Arial, Helvetica, sans-serif;
      color:var(--text);
      background:#050d16;
    }

    .hero{
      min-height:100vh;
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      background:
        linear-gradient(180deg, rgba(3,10,18,.54), rgba(3,10,18,.46)),
        url("hero-bg.png") center center / cover no-repeat;
      isolation:isolate;
    }

    .hero::before{
      content:"";
      position:absolute; inset:0;
      background:
        radial-gradient(circle at 50% 22%, rgba(26,66,108,.12), transparent 0 30%),
        linear-gradient(180deg, rgba(3,10,18,.12) 0%, rgba(3,10,18,.10) 40%, rgba(3,10,18,.20) 100%);
      pointer-events:none;
      z-index:0;
    }

    .sparkles{
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:1;
      overflow:hidden;
    }
    .spark{
      position:absolute;
      width:8px; height:8px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,224,150,1) 0%, rgba(255,206,82,.96) 46%, rgba(255,206,82,0) 72%);
      box-shadow:0 0 20px rgba(255,211,110,.75);
      opacity:0;
      animation:twinkle 5.8s ease-in-out infinite;
    }
    .spark.blue{
      background:radial-gradient(circle, rgba(190,242,255,1) 0%, rgba(93,208,255,.96) 44%, rgba(93,208,255,0) 72%);
      box-shadow:0 0 20px rgba(93,208,255,.62);
    }
    .s1{left:67%; top:14%; animation-delay:.2s}
    .s2{left:72%; top:20%; animation-delay:1.1s}
    .s3{left:81%; top:31%; animation-delay:2.4s}
    .s4{left:60%; top:63%; animation-delay:3.2s}
    .s5{left:24%; top:23%; animation-delay:1.8s}
    .s6{left:88%; top:64%; animation-delay:4.4s}
    .s7{left:17%; top:74%; animation-delay:2.8s}
    .s8{left:54%; top:83%; animation-delay:3.9s}
    .s9{left:74%; top:79%; animation-delay:.9s}
    .s10{left:8%; top:58%; animation-delay:4.8s}

    .lang{
      position:absolute;
      top:34px;
      right:34px;
      z-index:3;
      display:inline-flex;
      gap:6px;
      padding:5px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(6,14,25,.58);
      backdrop-filter:blur(10px);
      box-shadow:0 10px 28px rgba(0,0,0,.26);
      opacity:0;
      transform:translateY(-8px);
      animation:fadeSlide .8s var(--ease) .12s forwards;
    }
    .lang button{
      border:none;
      background:transparent;
      color:#9ab2c8;
      min-width:70px;
      padding:10px 16px;
      border-radius:999px;
      font-size:14px;
      font-weight:800;
      cursor:pointer;
      transition:all .25s ease;
    }
    .lang button.active{
      color:white;
      background:linear-gradient(135deg, rgba(46,143,255,.95), rgba(18,88,184,.95));
      box-shadow:0 0 0 1px rgba(126,208,255,.24) inset, 0 8px 18px rgba(37,130,255,.20);
    }

    .wrap{
      position:relative;
      z-index:2;
      width:min(1240px, calc(100% - 40px));
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      padding:52px 0 72px;
    }

    .logo-shell{
      position:relative;
      width:min(100%, 940px);
      margin:0 auto 30px;
      opacity:0;
      transform:translateY(14px) scale(.99);
      animation:fadeZoom 1s var(--ease) .22s forwards;
      filter:drop-shadow(0 18px 34px rgba(0,0,0,.34));
    }
    .logo-shell::before{
      content:"";
      position:absolute;
      inset:8% 6% 12%;
      border-radius:28px;
      background:
        radial-gradient(circle at 20% 50%, rgba(23,141,255,.10), transparent 0 30%),
        radial-gradient(circle at 80% 40%, rgba(255,196,61,.10), transparent 0 24%);
      filter:blur(20px);
      z-index:0;
    }
    .logo-shell img{
      position:relative;
      z-index:1;
      width:100%;
      display:block;
      height:auto;
    }

    h1{
      margin:0;
      font-family:Inter, "Segoe UI", Arial, Helvetica, sans-serif;
      font-size:clamp(46px, 6vw, 88px);
      line-height:.95;
      letter-spacing:-.045em;
      font-weight:800;
      text-shadow:0 10px 32px rgba(0,0,0,.26);
      max-width:920px;
    }
    .line1,.line2{display:block; opacity:0; transform:translateY(16px)}
    .line1{
      color:#f5f9ff;
      animation:fadeSlide 1s var(--ease) .45s forwards;
    }
    .line2{
      background:linear-gradient(180deg, #d9f3ff 0%, #8fdcff 34%, #49b6ff 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
      animation:fadeSlide 1s var(--ease) .60s forwards;
    }

    .services{
      margin:28px auto 22px;
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      gap:10px 18px;
      max-width:1180px;
      font-size:clamp(14px, 1.35vw, 24px);
      letter-spacing:.14em;
      text-transform:uppercase;
      color:#f1f6fb;
      opacity:0;
      transform:translateY(10px);
      animation:fadeSlide .95s var(--ease) .76s forwards;
    }
    .services .dot{color:var(--gold); opacity:.96}

    .subtitle{
      max-width:800px;
      margin:0 auto 34px;
      color:var(--muted);
      font-size:clamp(18px, 1.8vw, 31px);
      line-height:1.36;
      text-shadow:0 6px 18px rgba(0,0,0,.18);
      opacity:0;
      transform:translateY(10px);
      animation:fadeSlide .95s var(--ease) .92s forwards;
    }

    .cta{
      display:inline-flex;
      align-items:center;
      gap:14px;
      padding:20px 30px;
      min-height:70px;
      border-radius:18px;
      text-decoration:none;
      color:#fff;
      font-size:clamp(18px, 1.8vw, 28px);
      font-weight:800;
      border:1px solid rgba(255,212,102,.55);
      background:linear-gradient(180deg, rgba(18,28,44,.90), rgba(11,19,31,.86));
      box-shadow:
        0 0 0 1px rgba(255,212,102,.10) inset,
        0 0 32px rgba(255,196,61,.12),
        0 18px 36px rgba(0,0,0,.32);
      position:relative;
      overflow:hidden;
      transition:transform .2s ease, box-shadow .25s ease, border-color .25s ease;
      opacity:0;
      transform:translateY(10px);
      animation:fadeSlide .95s var(--ease) 1.06s forwards;
    }
    .cta::before{
      content:"";
      position:absolute; inset:0;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
      transform:translateX(-120%);
      transition:transform .7s ease;
    }
    .cta:hover{
      transform:translateY(-2px);
      border-color:rgba(255,212,102,.72);
      box-shadow:
        0 0 0 1px rgba(255,212,102,.12) inset,
        0 0 42px rgba(255,196,61,.18),
        0 20px 42px rgba(0,0,0,.34);
    }
    .cta:hover::before{transform:translateX(120%)}
    .cta svg{width:23px;height:23px;flex:0 0 23px}
    .cta .arrow{color:var(--gold-soft); font-size:30px; line-height:1; transition:transform .2s ease}
    .cta:hover .arrow{transform:translateX(4px)}

    .email{
      margin-top:14px;
      font-size:14px;
      color:#adc0d2;
      opacity:0;
      transform:translateY(8px);
      animation:fadeSlide .85s var(--ease) 1.18s forwards;
    }
    .email a{color:#c9d8e8; text-decoration:none}
    .email a:hover{color:#fff}

    @keyframes twinkle{
      0%,100%{opacity:0; transform:scale(.5)}
      8%,18%{opacity:1; transform:scale(1.18)}
      28%{opacity:.18; transform:scale(.82)}
      60%{opacity:0; transform:scale(.5)}
    }
    @keyframes fadeSlide{
      from{opacity:0; transform:translateY(14px)}
      to{opacity:1; transform:translateY(0)}
    }
    @keyframes fadeZoom{
      from{opacity:0; transform:translateY(14px) scale(.99)}
      to{opacity:1; transform:translateY(0) scale(1)}
    }

    @media (max-width:700px){
      .lang{top:18px; right:18px}
      .lang button{min-width:58px; padding:9px 14px}
      .wrap{width:calc(100% - 22px); padding:82px 0 36px}
      .logo-shell{width:min(100%, 95vw); margin-bottom:18px}
      h1{line-height:.96; font-size:clamp(42px, 11vw, 66px)}
      .services{gap:8px 12px; letter-spacing:.09em}
      .subtitle{max-width:92%}
      .cta{width:min(100%, 560px); justify-content:center; padding:16px 18px; min-height:62px}
    }

    @media (prefers-reduced-motion: reduce){
      *, *::before, *::after{animation:none !important; transition:none !important}
      .lang, .logo-shell, .line1, .line2, .services, .subtitle, .cta, .email{opacity:1 !important; transform:none !important}
    }
  

/* V6.3 — navigation, accessibility and dedicated pages */
html { scroll-behavior: smooth; }
body { min-height: 100vh; min-height: 100svh; height: auto; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { text-underline-offset: .22em; }
:focus-visible { outline: 3px solid #ffd97d; outline-offset: 5px; }
.hero { min-height: calc(100vh - 82px); min-height: calc(100svh - 82px); }
.hero .wrap { padding-top: 100px; }
.hero h1 { max-width: 100%; overflow-wrap: anywhere; }
.skip-link { position: absolute; top: 12px; left: 12px; z-index: 20; padding: 12px 18px; background: #fff; color: #071321; border-radius: 8px; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
.site-footer { padding: 22px 28px; min-height: 82px; background: #050d16; border-top: 1px solid rgba(171,204,233,.13); }
.footer-inner { max-width: 1240px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 14px 30px; }
.copyright { margin: 0; color: #91a7bb; font-size: 12px; letter-spacing: .035em; }
.footer-nav { display: flex; gap: 10px 28px; align-items: center; flex-wrap: wrap; }
.footer-nav a { color: #bfcedb; text-decoration: none; font-size: 13px; padding: 9px 0; }
.footer-nav a:hover, .footer-nav a[aria-current="page"] { color: #ffd97d; }
.footer-nav .footer-contact { color: #e7f2ff; }
.page-body { display: flex; flex-direction: column; background: radial-gradient(ellipse at 78% 6%, rgba(22,97,159,.13), transparent 42%), #050d16; }
.page-body main { flex: 1; }
.site-header { border-bottom: 1px solid rgba(171,204,233,.13); }
.header-inner { max-width: 1240px; margin: auto; padding: 22px 32px; display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.brand { display: block; flex: 0 1 232px; }
.brand img { width: 100%; height: auto; display: block; }
.header-nav { display: flex; align-items: center; gap: 24px; }
.header-nav > a { text-decoration: none; color: #c0d0df; font-size: 14px; padding: 10px 0; }
.header-nav > a:hover, .header-nav > a[aria-current="page"] { color: #fff; }
.page-body .lang { position: static; flex-shrink: 0; animation: none; opacity: 1; transform: none; box-shadow: none; }
.page-body .lang button { min-width: 48px; padding: 8px 10px; font-size: 12px; }
.page-container { width: min(1160px, calc(100% - 64px)); margin: auto; }
.eyebrow { font-size: 12px; letter-spacing: .18em; font-weight: 700; text-transform: uppercase; color: #6cc6ff; margin: 0 0 20px; }
.page-title { font-size: clamp(36px, 4.2vw, 62px); line-height: 1.07; letter-spacing: -.04em; font-weight: 750; text-shadow: none; overflow-wrap: anywhere; }
.page-intro { color: #b4c7d9; font-size: 18px; line-height: 1.65; max-width: 720px; margin: 24px 0 0; }
.contact-top { display: grid; grid-template-columns: 1.08fr 1fr; gap: 64px; align-items: center; padding-top: 80px; padding-bottom: 56px; }
.contact-title { max-width: 12ch; }
.contact-meta { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(171,204,233,.16); display: flex; align-items: center; gap: 12px; color: #b7c8d8; font-size: 14px; }
.location-dot { width: 7px; height: 7px; border-radius: 50%; background: #f2c24c; flex: 0 0 7px; }
.contact-panel { border: 1px solid rgba(105,169,217,.26); border-radius: 18px; padding: 38px; background: linear-gradient(145deg, #0c2033, #091522); box-shadow: 0 24px 70px rgba(0,0,0,.14); }
.panel-label { margin: 0 0 16px; color: #a4bbce; font-size: 13px; }
.email-address { color: #f0f7ff; font-size: clamp(17px, 1.85vw, 24px); font-weight: 650; text-decoration: none; overflow-wrap: anywhere; }
.email-address:hover { color: #ffd97d; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border: 1px solid rgba(156,192,222,.30); border-radius: 9px; background: transparent; padding: 11px 18px; color: #edf5ff; text-decoration: none; font-size: 14px; cursor: pointer; line-height: 1.4; transition: background .2s, border-color .2s; }
.button:hover { background: rgba(84,158,222,.12); border-color: #7bbdf2; }
.button-primary { border-color: #dbad43; background: #f2c24c; color: #12202d; font-weight: 700; }
.button-primary:hover { background: #ffd97d; border-color: #ffd97d; }
.button svg { width: 17px; height: 17px; flex-shrink: 0; }
.contact-note { color: #a5bbcf; font-size: 13px; line-height: 1.65; margin: 20px 0 0; }
.copy-status { min-height: 20px; color: #a6deff; font-size: 13px; margin: 12px 0 0; }
.contact-bottom { border-top: 1px solid rgba(171,204,233,.16); padding: 30px 0 66px; }
.section-caption { margin: 0 0 24px; font-size: 14px; font-weight: 500; color: #c2d2e0; }
.reasons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.reason { display: block; color: inherit; text-decoration: none; padding: 8px 0 22px; border-bottom: 1px solid rgba(171,204,233,.16); }
.reason-kicker { color: #74b9ed; font-size: 12px; letter-spacing: .1em; }
.reason h2 { font-size: 18px; line-height: 1.4; font-weight: 600; margin: 14px 0 10px; }
.reason p { font-size: 14px; line-height: 1.7; color: #9eb5c9; margin: 0; }
.reason:hover h2 { color: #ffd97d; }
.privacy-link { font-size: 12px; color: #a6bbce; display: inline-block; margin-top: 32px; }
.document-heading { padding: 62px 0 34px; }
.document-heading .page-title { max-width: 950px; }
.document-meta { margin-top: 20px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; color: #a7bfd1; font-size: 13px; }
.document-meta .button { min-height: 38px; padding: 7px 13px; font-size: 12px; }
.document-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 58px; padding: 22px 0 76px; }
.document-toc { align-self: start; position: sticky; top: 28px; border-top: 1px solid rgba(171,204,233,.20); padding-top: 20px; }
.document-toc p { font-size: 11px; letter-spacing: .16em; color: #8da8be; text-transform: uppercase; margin: 0 0 16px; }
.document-toc ol { list-style: none; padding: 0; margin: 0; }
.document-toc li { margin: 0 0 5px; }
.document-toc a { display: inline-block; color: #afc4d6; font-size: 13px; line-height: 1.4; padding: 6px 0; text-decoration: none; }
.document-toc a:hover { color: #ffd97d; }
.document-content { min-width: 0; }
.document-section { border-top: 1px solid rgba(171,204,233,.17); padding-top: 26px; margin-bottom: 36px; scroll-margin-top: 24px; }
.document-section h2 { margin: 0 0 18px; font-size: 23px; font-weight: 650; line-height: 1.3; letter-spacing: -.015em; }
.document-section h3 { font-size: 16px; color: #e0ebf5; margin: 24px 0 10px; }
.document-section p, .document-section li, .document-section dd { font-size: 15px; line-height: 1.8; color: #b9cbda; }
.document-section p { margin: 0 0 16px; }
.document-section a { color: #91d0fc; overflow-wrap: anywhere; }
.document-section strong { color: #e6eff8; font-weight: 600; }
.legal-details { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 13px 24px; margin: 0; }
.legal-details dt { font-size: 13px; line-height: 1.7; color: #8eaabd; }
.legal-details dd { margin: 0; overflow-wrap: anywhere; }
.draft-notice { border-left: 3px solid #d9ad48; background: rgba(242,194,76,.055); color: #e6cf96; padding: 16px 20px; line-height: 1.6; font-size: 14px; margin: 26px 0 0; max-width: 840px; }
.pending { color: #f2d484; }
@media (max-width: 900px) {
  .contact-top { gap: 34px; }
  .contact-panel { padding: 28px; }
  .header-inner { padding: 20px 24px; }
  .document-layout { grid-template-columns: 175px minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 700px) {
  .hero { min-height: calc(100svh - 126px); }
  .hero .wrap { padding-top: 86px; }
  .hero h1 { font-size: clamp(32px, 10vw, 66px); }
  .site-footer { padding: 20px; }
  .footer-inner { flex-direction: column; align-items: center; gap: 10px; text-align: center; }
  .footer-nav { justify-content: center; gap: 0 22px; }
  .header-inner { padding: 18px 20px; flex-wrap: wrap; gap: 16px; }
  .brand { flex-basis: 184px; }
  .header-nav { gap: 18px; flex-wrap: wrap; }
  .header-nav > a { font-size: 13px; }
  .page-container { width: calc(100% - 40px); }
  .contact-top { grid-template-columns: 1fr; gap: 30px; padding: 44px 0 40px; }
  .contact-title { max-width: 15ch; }
  .page-title { font-size: clamp(32px, 8.8vw, 48px); }
  .page-intro { font-size: 16px; margin-top: 18px; }
  .contact-meta { margin-top: 24px; }
  .contact-panel { padding: 26px 22px; }
  .email-address { font-size: clamp(17px, 5.1vw, 24px); }
  .reasons { grid-template-columns: 1fr; gap: 18px; }
  .reason { padding-bottom: 18px; }
  .reason h2 { margin-top: 8px; }
  .contact-bottom { padding-bottom: 40px; }
  .document-heading { padding-top: 40px; padding-bottom: 26px; }
  .document-layout { grid-template-columns: 1fr; gap: 30px; padding-top: 0; padding-bottom: 38px; }
  .document-toc { position: static; }
  .document-toc ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
  .legal-details { grid-template-columns: 1fr; gap: 2px; }
  .legal-details dd { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
  @page { margin: 18mm; }
  html, body, .page-body { background: #fff !important; color: #17212d !important; }
  .site-header, .site-footer, .document-toc, .skip-link, .document-meta .button { display: none !important; }
  .page-container { width: 100%; max-width: none; }
  .document-heading { padding-top: 0; }
  .document-layout { display: block; padding: 0; }
  .page-title { font-size: 30px; }
  .document-section { border-color: #ccd3dc; }
  .document-section h2 { break-after: avoid; color: #17212d; font-size: 19px; }
  .document-section h3, .document-section p, .document-section li, .document-section dd, .document-section strong, .document-section a, .legal-details dt, .page-intro, .document-meta { color: #17212d; }
  .document-section p, .document-section li, .document-section dd { font-size: 11pt; line-height: 1.55; orphans: 3; widows: 3; }
  .draft-notice { color: #45370e; background: none; border-color: #8f742b; }
  .pending { color: #765700; }
}
