/* ============================================================================
   USDT.KG - Ticketnet LLC
   Stylesheet written from scratch. Zero external assets: no webfonts,
   no CDN, no remote images. Everything renders offline.
   ==========================================================================*/

/* --- 1. Tokens ----------------------------------------------------------- */
:root{
  /* palette */
  --ink:      #0A2A24;   /* deep pine - dark bands, headings           */
  --ink-2:    #0F3A31;   /* lifted pine - cards on dark                */
  --ink-3:    #16493E;   /* hairlines on dark                          */
  --paper:    #F5F6F2;   /* page ground                                */
  --paper-2:  #FFFFFF;   /* raised surfaces                            */
  --tether:   #26A17B;   /* USDT green - the action colour             */
  --tether-d: #1B7D5F;
  --sun:      #E8A33D;   /* seal gold - licence, regulatory marks      */
  --mist:     #D8DED6;   /* borders on paper                           */
  --muted:    #5C6F69;   /* secondary text on paper                    */
  --muted-d:  #9FB8B0;   /* secondary text on ink                      */
  --alert:    #E4674F;

  /* type */
  --f-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;
  --f-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace;

  /* rhythm */
  --gutter: clamp(20px, 5vw, 48px);
  --maxw: 1180px;
  --band: clamp(64px, 9vw, 128px);
  --r: 14px;
  --r-lg: 22px;

  --ease: cubic-bezier(.2,.7,.3,1);
  --shadow: 0 1px 2px rgba(10,42,36,.05), 0 12px 32px -12px rgba(10,42,36,.18);
}

/* --- 2. Reset ------------------------------------------------------------ */
*,*::before,*::after{ box-sizing:border-box; }
html{ overflow-x:clip; -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:88px; }
body{
  margin:0;
  font-family:var(--f-sans);
  font-size:clamp(15px,.55vw + 14px,17px);
  line-height:1.62;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  /* long registry numbers must break rather than push the layout sideways */
  overflow-wrap:break-word;
}
/* html carries overflow-x:clip, so body's overflow no longer propagates to
   the viewport - the scroll lock must be applied to the root element too. */
html.lock, body.lock{ overflow:hidden; }
img,svg{ display:block; max-width:100%; }
h1,h2,h3{ margin:0; font-weight:700; line-height:1.06; letter-spacing:-.025em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; }
button,input,textarea{ font:inherit; color:inherit; }

:where(a,button,input,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--tether);
  outline-offset:3px;
  border-radius:4px;
}

/* --- 3. Shared shells ---------------------------------------------------- */
.NavBar_wrapper__4m3K5,
.TopBLock_wrapper__Mw1-a,
.About_wrapper__BAKMS,
.ContactUs_container__JeAJF,
.Footer_wrapper__RAsdB{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

/* small tracked label with a leading rule - used across sections */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono);
  font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted);
}
.eyebrow::before{ content:""; width:28px; height:1px; background:currentColor; opacity:.55; }

/* --- 4. Navigation ------------------------------------------------------- */
.NavBar_NavBar__uAJAH{
  position:fixed; inset:0 0 auto 0; z-index:60;
  background:rgba(10,42,36,0);
  transition:background .35s var(--ease), box-shadow .35s var(--ease);
}
.NavBar_NavBar__uAJAH.scrolled{
  background:rgba(10,42,36,.88);
  backdrop-filter:saturate(150%) blur(14px);
  box-shadow:0 1px 0 rgba(255,255,255,.07);
}
.NavBar_container__kmKmX{
  display:flex; align-items:center; gap:24px;
  min-height:74px;
  color:#fff;
}
.brand{ display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; }
.brand .mark{ width:34px; height:34px; flex:0 0 auto; }
.brand .wordmark{ font-size:19px; font-weight:800; letter-spacing:-.02em; }
.brand .wordmark span{ color:var(--tether); }

.NavBar_navLinks__vaYRB{
  display:flex; align-items:center; gap:clamp(18px,3vw,40px);
  margin-left:auto;
}
.NavBar_list__fB83g{ display:flex; align-items:center; gap:clamp(14px,2vw,28px); }
.NavBar_list__fB83g a{
  position:relative; font-size:14.5px; font-weight:500; color:rgba(255,255,255,.82);
  padding:6px 0; transition:color .2s var(--ease);
}
.NavBar_list__fB83g a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:var(--tether); transform:scaleX(0); transform-origin:left;
  transition:transform .28s var(--ease);
}
.NavBar_list__fB83g a:hover{ color:#fff; }
.NavBar_list__fB83g a:hover::after{ transform:scaleX(1); }

.NavBar_info__w2rah{
  display:flex; align-items:center; gap:18px;
  font-family:var(--f-mono); font-size:13px; color:rgba(255,255,255,.62);
}
.NavBar_info__w2rah li{ white-space:nowrap; }
.NavBar_info__w2rah a:hover{ color:#fff; }

.NavBar_navBurger__jJgd3{
  display:none;
  position:relative; width:44px; height:44px; margin-left:auto;
  border:0; background:transparent; cursor:pointer; color:#fff;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:22px 2px; background-position:center; background-repeat:no-repeat;
  transition:background-size .2s var(--ease);
}
.NavBar_navBurger__jJgd3::before,
.NavBar_navBurger__jJgd3::after{
  content:""; position:absolute; left:11px; width:22px; height:2px;
  background:currentColor; transition:transform .3s var(--ease);
}
.NavBar_navBurger__jJgd3::before{ top:14px; }
.NavBar_navBurger__jJgd3::after{ bottom:14px; }
.NavBar_navBurger__jJgd3.active{ background-size:0 2px; }
.NavBar_navBurger__jJgd3.active::before{ transform:translateY(8px) rotate(45deg); }
.NavBar_navBurger__jJgd3.active::after{ transform:translateY(-8px) rotate(-45deg); }

/* --- 5. Buttons ---------------------------------------------------------- */
.Button_button__Wx62k{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px; border:0; border-radius:999px;
  background:var(--tether); color:#fff;
  font-size:15.5px; font-weight:650; letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 10px 24px -12px rgba(38,161,123,.9);
  transition:background .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);
}
.Button_button__Wx62k::after{
  content:"\2192"; font-size:16px; line-height:1;
  transition:transform .25s var(--ease);
}
.Button_button__Wx62k:hover{
  background:var(--tether-d); transform:translateY(-2px);
  box-shadow:0 16px 30px -14px rgba(38,161,123,1);
}
.Button_button__Wx62k:hover::after{ transform:translateX(3px); }
.Button_button__Wx62k:active{ transform:translateY(0); }
.Button_button__Wx62k[disabled]{ opacity:.6; pointer-events:none; }

/* --- 6. Hero ------------------------------------------------------------- */
.TopBLock_parallax__1Ygq0{
  position:relative; overflow:hidden;
  padding:calc(74px + var(--band)) 0 var(--band);
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(38,161,123,.20), transparent 58%),
    radial-gradient(80% 70% at 8% 100%, rgba(232,163,61,.10), transparent 60%),
    var(--ink);
  color:#fff;
}
/* faint measuring grid - reads as a ledger, not decoration */
.TopBLock_parallax__1Ygq0::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 30%, #000, transparent 78%);
  mask-image:radial-gradient(80% 70% at 50% 30%, #000, transparent 78%);
}
.TopBLock_container__rA0kF{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.75fr);
  grid-template-areas:"title figure" "list figure";
  align-items:center;
  column-gap:clamp(32px,5vw,80px);
  row-gap:clamp(36px,5vw,60px);
}
.TopBLock_title__0kEKd{ grid-area:title; }
.TopBLock_title__0kEKd h1{
  font-size:clamp(50px,9vw,104px);
  letter-spacing:-.045em;
  line-height:.92;
}
.TopBLock_title__0kEKd h1::after{
  content:""; display:block; width:72px; height:3px; margin:26px 0 0;
  background:var(--tether); border-radius:2px;
}
.TopBLock_title__0kEKd p{
  margin-top:24px;
  max-width:34ch;
  font-size:clamp(17px,1.1vw + 14px,21px);
  line-height:1.5;
  color:rgba(255,255,255,.78);
}

.TopBLock_list__\+Mzct{
  grid-area:list;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.TopBLock_item__gtTg7{
  padding:22px 24px;
  border:1px solid var(--ink-3);
  border-radius:var(--r);
  background:rgba(255,255,255,.035);
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.TopBLock_item__gtTg7:hover{ border-color:var(--tether); background:rgba(38,161,123,.08); }
.TopBLock_item__gtTg7 h3{
  display:flex; align-items:center; gap:12px;
  font-family:var(--f-mono);
  font-size:clamp(17px,1.1vw + 12px,26px);
  font-weight:600; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.TopBLock_item__gtTg7 h3 svg{ width:26px; height:26px; flex:0 0 auto; color:var(--tether); }
.TopBLock_item__gtTg7 p{
  margin-top:10px;
  font-family:var(--f-mono);
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted-d);
}

/* the signature figure - a tunduk (Kyrgyz yurt crown) drawn in line art */
.hero-figure{
  grid-area:figure;
  display:grid; place-items:center;
  color:var(--tether);
}
.hero-figure svg{ width:100%; max-width:400px; height:auto; overflow:visible; }
.hero-figure .ring-slow{ animation:spin 68s linear infinite; transform-origin:120px 120px; }
.hero-figure .ring-rev{ animation:spin 44s linear infinite reverse; transform-origin:120px 120px; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* --- 7. About / Team ----------------------------------------------------- */
.About_about__jiMtl{ padding:var(--band) 0; background:var(--paper); }
.About_command__gUpRf{
  padding:var(--band) 0; background:var(--paper-2);
  border-block:1px solid var(--mist);
}

.About_container__QLf7E{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:clamp(36px,6vw,88px);
}
.About_info__EcPY7{ display:flex; flex-direction:column; align-items:flex-start; gap:32px; }
.About_text__ARkfm h2{
  margin-top:18px;
  font-size:clamp(30px,3.4vw,48px);
  letter-spacing:-.035em;
}
.About_text__ARkfm p{
  margin-top:20px;
  max-width:46ch;
  font-family:var(--f-serif);
  font-size:clamp(16px,.5vw + 15px,18.5px);
  line-height:1.68;
  color:var(--muted);
}
/* the regulator and the licence carry the whole proposition */
.About_text__ARkfm p strong{ color:var(--ink); font-weight:600; }

/* --- 7a. Licence card (stands in for the old about photo) ---------------- */
.licence{
  position:relative;
  padding:clamp(26px,3vw,38px);
  border:1px solid var(--mist);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,#fff,#FBFCFA);
  box-shadow:var(--shadow);
}
.licence::before{
  content:""; position:absolute; inset:10px; border-radius:calc(var(--r-lg) - 6px);
  border:1px dashed rgba(10,42,36,.16); pointer-events:none;
}
.licence-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.licence-issuer{
  font-family:var(--f-mono); font-size:10.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  max-width:22ch; line-height:1.8;
}
.licence-seal{ width:74px; height:74px; flex:0 0 auto; color:var(--sun); }
.licence-no{
  margin-top:26px;
  font-family:var(--f-mono); font-size:clamp(38px,5vw,58px); font-weight:700;
  letter-spacing:-.04em; line-height:1;
  font-variant-numeric:tabular-nums;
}
.licence-no small{
  display:block; margin-bottom:10px;
  font-size:.2em; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted);
}
.licence-rows{ margin-top:26px; border-top:1px solid var(--mist); }
.licence-rows div{
  display:flex; justify-content:space-between; gap:16px;
  padding:11px 0; border-bottom:1px solid var(--mist);
  font-family:var(--f-mono); font-size:12.5px;
}
.licence-rows span:first-child{ color:var(--muted); }
.licence-rows span:last-child{ font-weight:600; text-align:right; }

/* --- 7b. Team figure (stands in for the old team photo) ------------------ */
.team-figure{
  display:grid; place-items:center;
  padding:clamp(24px,3vw,40px);
  border:1px solid var(--mist); border-radius:var(--r-lg);
  background:
    radial-gradient(90% 80% at 50% 20%, rgba(38,161,123,.09), transparent 70%),
    var(--paper);
  color:var(--tether);
}
.team-figure svg{ width:100%; max-width:360px; height:auto; }
.team-figure .node{ fill:var(--ink); }
.team-figure .node-live{ fill:var(--tether); }
.team-figure .cap{
  font-family:var(--f-mono); font-size:9px; letter-spacing:.14em;
  fill:var(--muted); text-transform:uppercase;
}

/* --- 8. Contact ---------------------------------------------------------- */
.ContactUs_ContactUs__HgPa8{
  position:relative; overflow:hidden;
  padding:var(--band) 0;
  background:
    radial-gradient(90% 80% at 50% 0%, rgba(38,161,123,.16), transparent 62%),
    var(--ink);
  color:#fff;
}
.ContactUs_container__JeAJF{ position:relative; }
.ContactUs_form__mcxN1{
  max-width:720px; margin-inline:auto;
  padding:clamp(28px,4vw,52px);
  border:1px solid var(--ink-3); border-radius:var(--r-lg);
  background:rgba(255,255,255,.04);
}
.ContactUs_form__mcxN1 h2{ font-size:clamp(28px,3.2vw,42px); letter-spacing:-.035em; }
.ContactUs_form__mcxN1 > p{
  margin-top:14px; max-width:48ch;
  color:rgba(255,255,255,.72);
}
.ContactUs_inputs__FCeSQ{ display:grid; gap:16px; margin-top:34px; }
.ContactUs_topInputs__yFLhc{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }

.ContactUs_input__7npHs{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:0 12px;
  padding:4px 16px;
  border:1px solid var(--ink-3); border-radius:var(--r);
  background:rgba(255,255,255,.03);
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.ContactUs_input__7npHs:focus-within{ border-color:var(--tether); background:rgba(38,161,123,.07); }
.ContactUs_input__7npHs.invalid{ border-color:var(--alert); background:rgba(228,103,79,.07); }
.ContactUs_input__7npHs > svg{ width:19px; height:19px; color:var(--muted-d); align-self:center; }
.ContactUs_input__7npHs.is-area > svg{ align-self:start; margin-top:17px; }

.FormInput_FormInput__vowb8{
  width:100%; padding:14px 0;
  border:0; background:transparent; outline:none;
  font-size:15.5px;
  color:#fff;
  resize:vertical;
}
.FormInput_FormInput__vowb8::placeholder{ color:rgba(255,255,255,.42); }
.FormInput_FormInput__vowb8:focus-visible{ outline:none; }

/* no fixed height here: an error message must never be clipped when it wraps */
.field-error{
  grid-column:1 / -1;
  display:none; padding-bottom:11px;
  font-size:12.5px; line-height:1.45; color:#F0917C;
}
.ContactUs_input__7npHs.invalid .field-error{ display:block; }

.field-count{
  grid-column:2; justify-self:end;
  padding-bottom:8px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.08em;
  color:rgba(255,255,255,.35);
}

.ContactUs_policy__dJ80U{ margin-top:20px; font-size:13px; color:rgba(255,255,255,.55); }
.ContactUs_policy__dJ80U a{
  color:rgba(255,255,255,.9); text-decoration:underline; text-underline-offset:3px;
}
.ContactUs_policy__dJ80U a:hover{ color:var(--tether); }

.ContactUs_buttons__xWcsA{ display:flex; align-items:center; gap:18px; margin-top:26px; flex-wrap:wrap; }

.form-status{
  display:none; align-items:center; gap:12px;
  padding:16px 20px; margin-top:26px;
  border:1px solid var(--tether); border-radius:var(--r);
  background:rgba(38,161,123,.12);
  font-size:15px;
}
.form-status.show{ display:flex; }
.form-status svg{ width:22px; height:22px; flex:0 0 auto; color:var(--tether); }

/* --- 9. Footer ----------------------------------------------------------- */
.Footer_Footer__MEpnh{ padding:clamp(48px,6vw,80px) 0 40px; background:var(--paper); }
.Footer_container__iICw7{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);
  gap:clamp(32px,5vw,64px);
}
.Footer_left__uf-wb .brand{ color:var(--ink); }
.Footer_left__uf-wb p{ margin-top:18px; font-size:13.5px; color:var(--muted); }
.Footer_right__rtqAj{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:28px 32px;
}
.Footer_list__pNU8w h3{
  font-family:var(--f-mono); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  margin-bottom:10px;
}
.Footer_list__pNU8w p{ font-size:13.5px; line-height:1.75; color:var(--ink); }
.Footer_list__pNU8w p.reg{ font-family:var(--f-mono); font-size:12.5px; color:var(--muted); }
.Footer_list__pNU8w a{
  color:var(--ink); text-decoration:underline; text-decoration-color:var(--mist);
  text-underline-offset:3px;
  transition:text-decoration-color .2s var(--ease), color .2s var(--ease);
}
.Footer_list__pNU8w a:hover{ color:var(--tether); text-decoration-color:var(--tether); }
.footer-bottom{
  margin-top:clamp(36px,5vw,56px); padding-top:22px;
  border-top:1px solid var(--mist);
  display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between;
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted);
}

/* --- 10. Reveal on scroll ------------------------------------------------ */
.reveal{ transition:opacity .6s var(--ease), transform .6s var(--ease); }
/* only .js (set by an inline script) may hide anything - no JS, no blank page */
.js .reveal{ opacity:0; transform:translateY(14px); }
.js .reveal.is-in{ opacity:1; transform:none; }

/* --- 11. Responsive ------------------------------------------------------ */
@media (max-width:1040px){
  .TopBLock_container__rA0kF{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"title" "figure" "list";
    justify-items:start;
  }
  .hero-figure{ justify-self:center; }
  .hero-figure svg{ max-width:290px; }
  .TopBLock_list__\+Mzct{ width:100%; }
  .About_container__QLf7E{ grid-template-columns:minmax(0,1fr); }
  /* keep the prose above the visual on the reversed section */
  #team .About_image__D0lvk{ order:2; }
  #team .About_info__EcPY7{ order:1; }
  .NavBar_info__w2rah{ display:none; }
}

@media (max-width:860px){
  /* backdrop-filter makes an element the containing block for its fixed-position
     descendants, which collapses the drawer into the header box. Solid bg instead. */
  .NavBar_NavBar__uAJAH.scrolled,
  .NavBar_NavBar__uAJAH.menu-open{
    backdrop-filter:none;
    background:rgba(10,42,36,.97);
  }
  .NavBar_navBurger__jJgd3{ display:block; z-index:2; }
  .NavBar_navLinks__vaYRB{
    position:fixed; inset:0 0 0 auto;
    width:min(360px,88vw);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:34px;
    margin:0;
    padding:96px var(--gutter) 40px;
    background:var(--ink);
    box-shadow:-24px 0 60px -30px rgba(0,0,0,.8);
    transform:translateX(102%);
    transition:transform .4s var(--ease);
    overflow-y:auto;
  }
  .NavBar_navLinks__vaYRB.active{ transform:none; }
  .NavBar_list__fB83g{ flex-direction:column; align-items:flex-start; gap:20px; }
  .NavBar_list__fB83g a{ font-size:24px; font-weight:600; letter-spacing:-.02em; }
  .NavBar_info__w2rah{
    display:flex; flex-direction:column; align-items:flex-start; gap:8px;
    font-size:14px; color:rgba(255,255,255,.72);
  }
}

@media (max-width:640px){
  html{ scroll-padding-top:74px; }
  .TopBLock_list__\+Mzct{ grid-template-columns:minmax(0,1fr); }
  .ContactUs_topInputs__yFLhc{ grid-template-columns:minmax(0,1fr); }
  .Footer_container__iICw7{ grid-template-columns:minmax(0,1fr); }
  .Footer_right__rtqAj{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .licence-seal{ width:58px; height:58px; }
  .Button_button__Wx62k{ width:100%; }
  .ContactUs_buttons__xWcsA{ width:100%; }
}

@media (max-width:380px){
  .TopBLock_item__gtTg7 h3{ font-size:19px; }
  .licence-rows div{ font-size:11.5px; }
}

/* --- 12. Motion & print -------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .js .reveal{ opacity:1; transform:none; }
}

@media print{
  .NavBar_NavBar__uAJAH,.hero-figure,.team-figure{ display:none; }
  body{ background:#fff; color:#000; }
  .TopBLock_parallax__1Ygq0,.ContactUs_ContactUs__HgPa8{ background:#fff; color:#000; }
}

/* --- 13. Personal account button + modal --------------------------------- */
.account-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:transparent; color:inherit;
  font-size:14px; font-weight:600; white-space:nowrap; cursor:pointer;
  transition:background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.account-btn::after{ content:"\2192"; font-size:15px; line-height:1; }
.account-btn:hover{
  background:var(--tether); border-color:var(--tether); transform:translateY(-1px);
}

/* position:fixed + inset + margin:auto centres the dialog and gives the
   close button something to anchor to */
dialog.modal{
  position:fixed; inset:0; margin:auto;
  width:min(460px, calc(100vw - 32px));
  max-height:calc(100dvh - 48px);
  padding:clamp(26px,4vw,38px);
  border:1px solid var(--ink-3);
  border-radius:var(--r-lg);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(38,161,123,.16), transparent 62%),
    var(--ink);
  color:#fff;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  overflow:auto;
}
dialog.modal::backdrop{
  background:rgba(6,20,17,.72);
  backdrop-filter:blur(4px);
}
dialog.modal[open]{ animation:modal-in .28s var(--ease); }
@keyframes modal-in{
  from{ opacity:0; transform:translateY(10px) scale(.985); }
}

.modal h2{
  font-size:clamp(24px,3vw,32px); letter-spacing:-.03em;
  padding-right:44px;
}
.modal-lead{
  margin-top:12px;
  font-size:15px; line-height:1.55;
  color:rgba(255,255,255,.72);
}
.modal .ContactUs_inputs__FCeSQ{ margin-top:26px; }
.modal .ContactUs_buttons__xWcsA{ margin-top:22px; }
.modal .Button_button__Wx62k{ width:100%; }

.modal-close{
  position:absolute; top:14px; right:14px;
  width:38px; height:38px; padding:0;
  border:0; border-radius:50%;
  background:rgba(255,255,255,.06); color:#fff; cursor:pointer;
  transition:background .2s var(--ease);
}
.modal-close::before,
.modal-close::after{
  content:""; position:absolute; left:11px; top:18px;
  width:16px; height:1.6px; background:currentColor;
}
.modal-close::before{ transform:rotate(45deg); }
.modal-close::after{ transform:rotate(-45deg); }
.modal-close:hover{ background:rgba(255,255,255,.14); }

/* honeypot — off-screen for people, present in the DOM for bots */
.hp{
  position:absolute; width:1px; height:1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}

/* failure counterpart of .form-status */
.form-error{
  display:none; align-items:center; gap:10px;
  margin-top:20px; padding:14px 18px;
  border:1px solid var(--alert); border-radius:var(--r);
  background:rgba(228,103,79,.12);
  font-size:14px; line-height:1.5; color:#F5B3A3;
}
.form-error.show{ display:flex; }

@media (max-width:860px){
  .NavBar_buttons__iNz3P{ width:100%; }
  .account-btn{ width:100%; justify-content:center; padding:14px 18px; }
}

/* --- 14. Legal document page (policy-en.html) ---------------------------- */
.doc-body{ background:var(--paper); }

.doc{
  max-width:760px;
  margin-inline:auto;
  padding:clamp(32px,6vw,72px) var(--gutter) clamp(56px,8vw,96px);
}

.doc-back{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-mono); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  transition:color .2s var(--ease);
}
.doc-back::before{ content:"\2190"; font-size:14px; letter-spacing:0; }
.doc-back:hover{ color:var(--tether); }

.doc-title{
  margin-top:26px;
  font-size:clamp(32px,5vw,52px); letter-spacing:-.035em;
}

.doc-lead{
  margin-top:30px;
  font-family:var(--f-serif);
  font-size:clamp(16px,.5vw + 15px,18px); line-height:1.7;
  color:var(--ink);
}

.doc h2{
  margin-top:44px;
  font-size:clamp(19px,1.6vw + 14px,24px);
  letter-spacing:-.02em;
}
.doc h2::after{
  content:""; display:block; width:44px; height:2px; margin-top:14px;
  background:var(--tether); border-radius:2px;
}

.doc p{
  margin-top:16px;
  font-family:var(--f-serif);
  font-size:15.5px; line-height:1.75; color:var(--muted);
}
.doc p b{ color:var(--ink); font-weight:600; font-family:var(--f-mono); font-size:13.5px; }

.doc-list{
  margin-top:14px; padding-left:22px;
  list-style:disc;
}
.doc-list li{
  margin-top:9px;
  font-family:var(--f-serif); font-size:15.5px; line-height:1.7; color:var(--muted);
}

.doc-date{
  margin-top:40px; padding-top:22px;
  border-top:1px solid var(--mist);
  font-family:var(--f-mono) !important; font-size:13px !important;
  color:var(--ink) !important;
}

.doc-foot{
  margin-top:48px; padding-top:22px;
  border-top:1px solid var(--mist);
}
.doc-foot p{
  margin-top:6px;
  font-family:var(--f-mono); font-size:12px; line-height:1.7; color:var(--muted);
}
.doc-foot a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.doc-foot a:hover{ color:var(--tether); }

@media print{
  .doc-back{ display:none; }
  .doc{ padding:0; }
}
