/* =========================================================
   SMOOTH JAZZ SOLITAIRE — SUPREME LEGAL PAGES
========================================================= */

:root{
  --legal-cyan:#49efff;
  --legal-blue:#288dff;
  --legal-violet:#9e5cff;
  --legal-pink:#ff43df;
  --legal-gold:#f7d58c;
  --legal-white:#f8fbff;
  --legal-muted:#b9c6e6;
  --legal-line:rgba(106,157,255,.32);
  --legal-panel:rgba(4,10,31,.82);
  --legal-panel-deep:rgba(2,6,22,.92);
  --legal-shadow:
    0 30px 90px rgba(0,0,0,.62),
    0 0 60px rgba(30,111,255,.12);
}

html,
body{
  min-height:100%;
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
  scroll-behavior:smooth;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
}

body.legal-page{
  position:relative;
  min-height:100vh;
  color:var(--legal-white);
  background:#020617;
  font-family:
    Montserrat,
    Arial,
    Helvetica,
    sans-serif;
  touch-action:pan-y;
}

.legal-background{
  position:fixed;
  inset:0;
  z-index:-3;

  background:
    url("../assets/app_tablets_background.png")
    center center / cover no-repeat;

  filter:
    saturate(1.12)
    contrast(1.05);
}

.legal-overlay{
  position:fixed;
  inset:0;
  z-index:-2;

  background:
    radial-gradient(
      circle at 50% 8%,
      rgba(45,123,255,.18),
      transparent 38%
    ),
    linear-gradient(
      180deg,
      rgba(1,4,16,.42),
      rgba(1,4,17,.68) 55%,
      rgba(1,4,17,.88)
    );
}

.legal-overlay::after{
  content:"";
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.24),
      transparent 20%,
      transparent 80%,
      rgba(0,0,0,.24)
    );

  pointer-events:none;
}

.legal-shell{
  width:min(1180px,calc(100% - 30px));
  margin:0 auto;

  padding:
    max(20px,env(safe-area-inset-top))
    0
    calc(70px + env(safe-area-inset-bottom));

  box-sizing:border-box;
}

.legal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;

  margin-bottom:22px;
}

.legal-brand{
  display:inline-flex;
  align-items:center;
  gap:14px;

  padding:9px 16px 9px 10px;

  color:var(--legal-white);
  text-decoration:none;

  border:1px solid rgba(110,159,255,.32);
  border-radius:22px;

  background:
    linear-gradient(
      150deg,
      rgba(9,21,55,.84),
      rgba(3,8,28,.88)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.08),
    0 15px 36px rgba(0,0,0,.35);

  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.legal-brand:hover{
  transform:translateY(-2px);
  border-color:rgba(73,239,255,.7);

  box-shadow:
    inset 0 1px rgba(255,255,255,.12),
    0 18px 44px rgba(0,0,0,.42),
    0 0 28px rgba(40,141,255,.22);
}

.legal-brand img{
  display:block;
  width:62px;
  height:62px;

  border-radius:18px;
  object-fit:cover;

  box-shadow:
    0 0 0 1px rgba(73,239,255,.24),
    0 0 24px rgba(40,141,255,.24);
}

.legal-brand-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.legal-brand-copy strong{
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:clamp(.84rem,1.5vw,1.06rem);
  letter-spacing:.05em;
}

.legal-brand-copy small{
  color:var(--legal-muted);
  font-size:.78rem;
}

.legal-return-button,
.legal-primary-action,
.legal-secondary-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:48px;
  padding:0 20px;

  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.03em;

  transition:
    transform .17s ease,
    box-shadow .17s ease,
    border-color .17s ease;
}

.legal-return-button,
.legal-secondary-action{
  color:var(--legal-white);

  border:1px solid rgba(112,157,244,.38);

  background:
    linear-gradient(
      180deg,
      rgba(10,21,54,.84),
      rgba(3,8,28,.9)
    );
}

.legal-primary-action{
  color:white;

  border:1px solid rgba(73,239,255,.7);

  background:
    linear-gradient(
      145deg,
      rgba(30,157,255,.95),
      rgba(61,70,213,.9)
    );

  box-shadow:
    0 0 28px rgba(35,151,255,.36);
}

.legal-return-button:hover,
.legal-primary-action:hover,
.legal-secondary-action:hover{
  transform:translateY(-2px);
}

.legal-card{
  position:relative;
  overflow:hidden;

  padding:clamp(26px,5vw,68px);

  border:1px solid var(--legal-line);
  border-radius:clamp(26px,4vw,44px);

  background:
    linear-gradient(
      145deg,
      rgba(7,17,49,.86),
      rgba(2,7,25,.9)
    );

  box-shadow:var(--legal-shadow);

  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
}

.legal-card::before{
  content:"";
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 14% 0,
      rgba(48,151,255,.16),
      transparent 34%
    ),
    radial-gradient(
      circle at 90% 12%,
      rgba(255,67,223,.11),
      transparent 30%
    );

  pointer-events:none;
}

.legal-card > *{
  position:relative;
  z-index:1;
}

.legal-hero{
  max-width:960px;
  margin:0 auto;
  text-align:center;
}

.legal-eyebrow{
  margin:0 0 12px;

  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:clamp(.66rem,1.3vw,.86rem);
  font-weight:800;
  letter-spacing:.28em;

  text-transform:uppercase;

  text-shadow:
    0 0 18px rgba(73,239,255,.5);
}

.legal-hero h1{
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:clamp(2.4rem,7vw,5.8rem);
  font-weight:600;
  line-height:.96;
  letter-spacing:-.045em;

  text-shadow:
    0 2px rgba(255,255,255,.14),
    0 0 26px rgba(159,177,255,.27),
    0 20px 50px rgba(0,0,0,.62);
}

.legal-lead{
  max-width:790px;
  margin:24px auto 0;

  color:#d3ddf5;
  font-size:clamp(1rem,2vw,1.22rem);
  line-height:1.75;
}

.legal-hero-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;

  margin-top:28px;
}

.legal-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;

  margin-top:clamp(38px,6vw,70px);
}

.legal-feature{
  position:relative;

  min-height:210px;
  padding:28px;

  border:1px solid rgba(115,156,244,.25);
  border-radius:26px;

  background:
    linear-gradient(
      150deg,
      rgba(10,22,58,.68),
      rgba(4,9,29,.7)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 18px 38px rgba(0,0,0,.26);

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.legal-feature:hover{
  transform:translateY(-4px);

  border-color:rgba(73,239,255,.48);

  box-shadow:
    inset 0 1px rgba(255,255,255,.08),
    0 22px 46px rgba(0,0,0,.34),
    0 0 28px rgba(39,143,255,.14);
}

.legal-feature-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:44px;
  height:44px;

  margin-bottom:22px;

  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.74rem;
  font-weight:800;

  border:1px solid rgba(73,239,255,.34);
  border-radius:14px;

  background:rgba(73,239,255,.06);
}

.legal-feature h2,
.legal-story-section h2{
  margin:0;

  font-family:Orbitron,Montserrat,sans-serif;
  font-size:clamp(1.18rem,2.2vw,1.58rem);
  line-height:1.2;
}

.legal-feature p{
  margin:16px 0 0;

  color:var(--legal-muted);
  line-height:1.72;
}

.legal-story-section{
  display:grid;
  grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);
  align-items:start;
  gap:clamp(24px,5vw,70px);

  margin-top:clamp(38px,6vw,70px);
  padding:clamp(26px,4vw,42px);

  border-top:1px solid rgba(119,158,243,.24);
  border-bottom:1px solid rgba(119,158,243,.24);

  background:
    linear-gradient(
      90deg,
      rgba(39,121,255,.05),
      transparent,
      rgba(255,67,223,.04)
    );
}

.legal-story-section p:last-child{
  margin:0;

  color:#d0daf1;
  font-size:clamp(1rem,1.8vw,1.14rem);
  line-height:1.8;
}

.legal-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;

  margin-top:40px;
}

.legal-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:44px;
  padding:0 17px;

  color:var(--legal-white);
  text-decoration:none;
  font-weight:700;

  border:1px solid rgba(112,156,242,.3);
  border-radius:999px;

  background:rgba(8,18,48,.68);

  transition:
    transform .17s ease,
    border-color .17s ease,
    background .17s ease;
}

.legal-actions a:hover,
.legal-actions a.is-current{
  transform:translateY(-2px);

  color:var(--legal-cyan);

  border-color:rgba(73,239,255,.56);
  background:rgba(30,123,218,.16);
}

.legal-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;

  padding:24px 8px 0;

  color:#93a5ca;
  font-size:.84rem;
}

.legal-footer p{
  margin:0;
}

.legal-footer a{
  color:var(--legal-cyan);
  text-decoration:none;
}

@media (max-width:760px){
  .legal-background{
    background-image:
      url("../assets/app_background.png");
  }

  .legal-shell{
    width:min(100% - 16px,1180px);
  }

  .legal-header{
    align-items:stretch;
    flex-direction:column;
  }

  .legal-brand,
  .legal-return-button{
    width:100%;
    box-sizing:border-box;
  }

  .legal-return-button{
    min-height:46px;
  }

  .legal-card{
    padding:26px 18px;
    border-radius:26px;
  }

  .legal-feature-grid{
    grid-template-columns:1fr;
  }

  .legal-story-section{
    grid-template-columns:1fr;
    padding:26px 4px;
  }

  .legal-footer{
    flex-direction:column;
    text-align:center;
  }
}

@media (max-width:430px){
  .legal-brand img{
    width:54px;
    height:54px;
  }

  .legal-brand-copy strong{
    font-size:.77rem;
  }

  .legal-feature{
    padding:22px 18px;
  }

  .legal-hero-actions{
    flex-direction:column;
  }

  .legal-primary-action,
  .legal-secondary-action{
    width:100%;
    box-sizing:border-box;
  }
}

@media (prefers-reduced-motion:reduce){
  html,
  body{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
  }
}

/* =========================================================
   ABOUT PAGE TABLET BACKGROUND — 1.0.1
========================================================= */

body.legal-page .legal-background{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;

  background-image:
    url("../assets/app_tablets_background.png")!important;

  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-attachment:fixed!important;

  filter:
    saturate(1.12)
    contrast(1.05)!important;
}

/*
  Keep the same image on phones instead of switching to
  app_background.png.
*/
@media (max-width:760px){
  body.legal-page .legal-background{
    background-image:
      url("../assets/app_tablets_background.png")!important;

    background-position:center center!important;
    background-size:cover!important;
    background-attachment:scroll!important;
  }
}


/* =========================================================
   FORCE VISIBLE ABOUT BACKGROUND — 1.0.2
========================================================= */

html{
  min-height:100%!important;
  background:#020617!important;
}

body.legal-page{
  position:relative!important;
  min-height:100vh!important;

  background:
    linear-gradient(
      180deg,
      rgba(1,4,16,.38),
      rgba(1,4,17,.56) 55%,
      rgba(1,4,17,.72)
    ),
    url("../assets/app_tablets_background.png")
    center center / cover no-repeat fixed!important;

  background-color:#020617!important;
}

/* Keep the dedicated image layer visible above the body background. */
body.legal-page .legal-background{
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;

  display:block!important;
  visibility:visible!important;
  opacity:1!important;

  width:100vw!important;
  height:100vh!important;

  background:
    url("../assets/app_tablets_background.png")
    center center / cover no-repeat!important;

  pointer-events:none!important;
}

/* Reduce the overlay so the artwork remains visible. */
body.legal-page .legal-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;

  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(37,118,255,.08),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      rgba(1,4,16,.18),
      rgba(1,4,17,.32) 58%,
      rgba(1,4,17,.50)
    )!important;

  pointer-events:none!important;
}

/* Keep page content above the background and overlay. */
body.legal-page .legal-shell{
  position:relative!important;
  z-index:2!important;
}

/* Make the main card transparent enough to reveal the artwork. */
body.legal-page .legal-card{
  background:
    linear-gradient(
      145deg,
      rgba(7,17,49,.72),
      rgba(2,7,25,.78)
    )!important;

  backdrop-filter:blur(16px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.12)!important;
}

/* Use the same tablet artwork on mobile. */
@media (max-width:760px){
  body.legal-page{
    background:
      linear-gradient(
        180deg,
        rgba(1,4,16,.34),
        rgba(1,4,17,.58)
      ),
      url("../assets/app_tablets_background.png")
      center center / cover no-repeat scroll!important;
  }

  body.legal-page .legal-background{
    background-image:
      url("../assets/app_tablets_background.png")!important;

    background-position:center center!important;
    background-size:cover!important;
  }
}


/* =========================================================
   SUPREME CONTACT PAGE — 1.0.3
========================================================= */

.legal-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:clamp(28px,5vw,70px);
  align-items:start;
}

.legal-contact-copy h1{
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:clamp(3rem,7vw,6rem);
  font-weight:600;
  line-height:.95;
  letter-spacing:-.045em;

  text-shadow:
    0 2px rgba(255,255,255,.14),
    0 0 26px rgba(159,177,255,.25),
    0 20px 48px rgba(0,0,0,.58);
}

.legal-contact-copy .legal-lead{
  margin-left:0;
  margin-right:0;
  text-align:left;
}

.legal-contact-highlights{
  display:grid;
  gap:14px;
  margin-top:30px;
}

.legal-contact-highlights article{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  align-items:start;

  padding:20px;

  border:1px solid rgba(110,156,245,.24);
  border-radius:22px;

  background:
    linear-gradient(
      145deg,
      rgba(10,21,55,.62),
      rgba(3,8,28,.68)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.05),
    0 14px 30px rgba(0,0,0,.22);
}

.legal-contact-highlights article > span{
  display:flex;
  align-items:center;
  justify-content:center;

  width:44px;
  height:44px;

  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.72rem;
  font-weight:800;

  border:1px solid rgba(73,239,255,.34);
  border-radius:14px;

  background:rgba(73,239,255,.06);
}

.legal-contact-highlights h2{
  margin:0 0 7px;

  font-family:Orbitron,Montserrat,sans-serif;
  font-size:1rem;
}

.legal-contact-highlights p{
  margin:0;
  color:var(--legal-muted);
  line-height:1.6;
  font-size:.9rem;
}

.legal-contact-form-wrap{
  padding:clamp(22px,3vw,34px);

  border:1px solid rgba(111,157,247,.3);
  border-radius:30px;

  background:
    linear-gradient(
      150deg,
      rgba(9,21,57,.78),
      rgba(3,8,28,.82)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.07),
    0 22px 50px rgba(0,0,0,.34);

  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
}

.legal-contact-form{
  display:grid;
  gap:18px;
}

.legal-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.legal-contact-form label{
  display:grid;
  gap:9px;
}

.legal-contact-form label > span{
  color:#d9e4ff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.legal-contact-form input,
.legal-contact-form select,
.legal-contact-form textarea{
  width:100%;
  box-sizing:border-box;

  color:var(--legal-white);
  font:inherit;

  border:1px solid rgba(112,158,246,.30);
  border-radius:17px;

  background:
    linear-gradient(
      180deg,
      rgba(2,8,27,.80),
      rgba(2,6,21,.90)
    );

  outline:none;

  padding:14px 15px;

  box-shadow:
    inset 0 1px rgba(255,255,255,.04);

  transition:
    border-color .17s ease,
    box-shadow .17s ease,
    background .17s ease;
}

.legal-contact-form input::placeholder,
.legal-contact-form textarea::placeholder{
  color:#7586ad;
}

.legal-contact-form input:focus,
.legal-contact-form select:focus,
.legal-contact-form textarea:focus{
  border-color:rgba(73,239,255,.72);

  background:
    linear-gradient(
      180deg,
      rgba(4,15,40,.88),
      rgba(2,8,27,.94)
    );

  box-shadow:
    0 0 0 3px rgba(73,239,255,.11),
    0 0 22px rgba(40,141,255,.15);
}

.legal-contact-form textarea{
  min-height:190px;
  resize:vertical;
  line-height:1.65;
}

.legal-submit-button{
  width:100%;
  border:0;
  cursor:pointer;
  font:inherit;
}

.legal-form-note{
  margin:0;

  color:#96a8cb;
  font-size:.82rem;
  line-height:1.55;
  text-align:center;
}

.legal-form-note strong{
  color:var(--legal-cyan);
}

@media (max-width:900px){
  .legal-contact-grid{
    grid-template-columns:1fr;
  }

  .legal-contact-copy{
    text-align:center;
  }

  .legal-contact-copy .legal-lead{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
}

@media (max-width:600px){
  .legal-field-grid{
    grid-template-columns:1fr;
  }

  .legal-contact-highlights article{
    grid-template-columns:42px minmax(0,1fr);
    padding:17px;
  }

  .legal-contact-highlights article > span{
    width:40px;
    height:40px;
  }

  .legal-contact-form-wrap{
    padding:20px 16px;
    border-radius:24px;
  }
}


/* =========================================================
   CONTACT FORMSPREE POPUP SYSTEM — 1.0.4
========================================================= */

.legal-submit-button{
  position:relative;
  min-height:50px;
  overflow:hidden;
}

.legal-submit-button:disabled{
  cursor:wait;
  opacity:.82;
}

.legal-submit-button.is-loading::after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  right:18px;
  top:50%;
  margin-top:-9px;
  border:2px solid rgba(255,255,255,.28);
  border-top-color:#fff;
  border-radius:50%;
  animation:contact-button-spin .7s linear infinite;
}

@keyframes contact-button-spin{
  to{
    transform:rotate(360deg);
  }
}

body.contact-popup-open{
  overflow:hidden!important;
}

.contact-popup[hidden]{
  display:none!important;
}

.contact-popup{
  position:fixed;
  inset:0;
  z-index:99999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:
    max(18px,env(safe-area-inset-top))
    max(18px,env(safe-area-inset-right))
    max(18px,env(safe-area-inset-bottom))
    max(18px,env(safe-area-inset-left));

  opacity:0;
  visibility:hidden;

  transition:
    opacity .22s ease,
    visibility .22s ease;
}

.contact-popup.is-visible{
  opacity:1;
  visibility:visible;
}

.contact-popup-backdrop{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 50% 38%,
      rgba(38,126,255,.18),
      transparent 42%
    ),
    rgba(1,4,17,.86);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.contact-popup-card{
  position:relative;
  z-index:1;

  width:min(520px,100%);
  box-sizing:border-box;

  padding:clamp(28px,6vw,48px);
  text-align:center;

  border:1px solid rgba(73,239,255,.48);
  border-radius:32px;

  background:
    radial-gradient(
      circle at 50% 0,
      rgba(44,143,255,.18),
      transparent 42%
    ),
    linear-gradient(
      150deg,
      rgba(8,21,57,.97),
      rgba(2,7,25,.98)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.10),
    0 36px 100px rgba(0,0,0,.72),
    0 0 48px rgba(40,141,255,.24);

  transform:
    translateY(18px)
    scale(.96);

  transition:
    transform .24s cubic-bezier(.22,.8,.24,1);
}

.contact-popup.is-visible .contact-popup-card{
  transform:
    translateY(0)
    scale(1);
}

.contact-popup-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;

  border-radius:inherit;

  background:
    linear-gradient(
      135deg,
      rgba(73,239,255,.55),
      transparent 38%,
      rgba(157,92,255,.28) 70%,
      rgba(255,67,223,.45)
    );

  opacity:.5;
  filter:blur(12px);
}

.contact-popup-close{
  position:absolute;
  top:14px;
  right:14px;

  width:38px;
  height:38px;

  color:#cfd9f3;
  font-size:1.55rem;
  line-height:1;

  border:1px solid rgba(121,158,239,.28);
  border-radius:50%;

  background:rgba(4,10,31,.72);

  cursor:pointer;
}

.contact-popup-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:74px;
  height:74px;

  margin:0 auto 22px;

  color:#fff;
  font-size:2rem;
  font-weight:900;

  border:1px solid rgba(73,239,255,.68);
  border-radius:24px;

  background:
    linear-gradient(
      145deg,
      rgba(28,165,255,.94),
      rgba(72,73,213,.94)
    );

  box-shadow:
    0 0 34px rgba(48,173,255,.42);
}

.contact-popup[data-type="error"] .contact-popup-icon{
  border-color:rgba(255,107,153,.72);

  background:
    linear-gradient(
      145deg,
      rgba(255,73,139,.96),
      rgba(133,59,192,.94)
    );

  box-shadow:
    0 0 34px rgba(255,73,139,.34);
}

.contact-popup-card h2{
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:clamp(2rem,6vw,3.15rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.035em;
}

.contact-popup-card > p:not(.legal-eyebrow){
  margin:20px auto 0;
  max-width:410px;

  color:#c5d1ec;
  font-size:1rem;
  line-height:1.7;
}

.contact-popup-button{
  width:100%;
  margin-top:28px;

  border:0;
  cursor:pointer;
  font:inherit;
}

@media (max-width:520px){
  .contact-popup-card{
    padding:34px 20px 24px;
    border-radius:26px;
  }

  .contact-popup-icon{
    width:64px;
    height:64px;
    border-radius:20px;
  }
}

@media (prefers-reduced-motion:reduce){
  .contact-popup,
  .contact-popup-card,
  .legal-submit-button::after{
    animation:none!important;
    transition:none!important;
  }
}


/* =========================================================
   SUPREME TERMS DOCUMENT — 1.0.5
========================================================= */

.legal-document-hero{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.legal-document-hero h1{
  margin:0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:clamp(3rem,8vw,6.6rem);
  font-weight:600;
  line-height:.94;
  letter-spacing:-.05em;

  text-shadow:
    0 2px rgba(255,255,255,.14),
    0 0 28px rgba(159,177,255,.26),
    0 22px 54px rgba(0,0,0,.62);
}

.legal-document-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;

  max-width:760px;
  margin:30px auto 0;
}

.legal-document-summary > div{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;

  min-height:112px;
  padding:18px;

  border:1px solid rgba(112,157,244,.28);
  border-radius:22px;

  background:
    linear-gradient(
      145deg,
      rgba(10,21,55,.68),
      rgba(3,8,28,.72)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 16px 34px rgba(0,0,0,.24);
}

.legal-document-summary span{
  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.13em;
}

.legal-document-summary strong{
  font-size:.9rem;
  line-height:1.35;
  text-align:center;
}

.legal-document-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:clamp(28px,5vw,68px);
  align-items:start;

  margin-top:clamp(46px,7vw,82px);
}

.legal-document-nav{
  position:sticky;
  top:20px;

  display:grid;
  gap:7px;

  padding:20px;

  border:1px solid rgba(111,157,247,.26);
  border-radius:24px;

  background:
    linear-gradient(
      150deg,
      rgba(8,19,52,.78),
      rgba(3,8,28,.84)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 20px 44px rgba(0,0,0,.30);

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.legal-document-nav-title{
  margin:0 0 8px;
  padding:0 8px 10px;

  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;

  border-bottom:1px solid rgba(114,157,241,.20);
}

.legal-document-nav a{
  display:block;
  padding:9px 10px;

  color:#b8c6e4;
  text-decoration:none;
  font-size:.82rem;
  font-weight:700;
  line-height:1.3;

  border:1px solid transparent;
  border-radius:12px;

  transition:
    color .16s ease,
    border-color .16s ease,
    background .16s ease,
    transform .16s ease;
}

.legal-document-nav a:hover{
  color:var(--legal-cyan);
  transform:translateX(3px);

  border-color:rgba(73,239,255,.24);
  background:rgba(73,239,255,.055);
}

.legal-document-content{
  display:grid;
  gap:16px;
}

.legal-document-section{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:20px;
  align-items:start;

  scroll-margin-top:24px;

  padding:clamp(22px,3vw,32px);

  border:1px solid rgba(111,157,247,.24);
  border-radius:26px;

  background:
    linear-gradient(
      150deg,
      rgba(9,20,54,.66),
      rgba(3,8,28,.72)
    );

  box-shadow:
    inset 0 1px rgba(255,255,255,.05),
    0 16px 38px rgba(0,0,0,.23);
}

.legal-section-number{
  display:flex;
  align-items:center;
  justify-content:center;

  width:52px;
  height:52px;

  color:var(--legal-cyan);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.74rem;
  font-weight:800;

  border:1px solid rgba(73,239,255,.36);
  border-radius:16px;

  background:
    linear-gradient(
      145deg,
      rgba(24,118,195,.20),
      rgba(71,63,180,.12)
    );

  box-shadow:
    0 0 22px rgba(40,141,255,.12);
}

.legal-document-section h2{
  margin:3px 0 14px;

  font-family:Orbitron,Montserrat,sans-serif;
  font-size:clamp(1.15rem,2.2vw,1.55rem);
  line-height:1.2;
}

.legal-document-section p{
  margin:0;

  color:#bdc9e4;
  font-size:.98rem;
  line-height:1.78;
}

.legal-document-section p + p{
  margin-top:14px;
}

.legal-document-section ul{
  display:grid;
  gap:11px;

  margin:16px 0 0;
  padding-left:22px;

  color:#bdc9e4;
  line-height:1.68;
}

.legal-document-section li::marker{
  color:var(--legal-cyan);
}

.legal-inline-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:44px;
  margin-top:20px;
  padding:0 17px;

  color:#fff;
  text-decoration:none;
  font-weight:800;

  border:1px solid rgba(73,239,255,.58);
  border-radius:999px;

  background:
    linear-gradient(
      145deg,
      rgba(30,157,255,.84),
      rgba(61,70,213,.78)
    );

  box-shadow:
    0 0 24px rgba(35,151,255,.24);
}

.legal-document-notice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;

  margin-top:30px;
  padding:22px;

  border:1px solid rgba(247,213,140,.35);
  border-radius:22px;

  background:
    linear-gradient(
      145deg,
      rgba(112,79,21,.16),
      rgba(40,25,7,.14)
    );
}

.legal-document-notice strong{
  color:var(--legal-gold);
  font-family:Orbitron,Montserrat,sans-serif;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.legal-document-notice p{
  margin:0;
  color:#c9d3e8;
  line-height:1.65;
}

@media (max-width:900px){
  .legal-document-layout{
    grid-template-columns:1fr;
  }

  .legal-document-nav{
    position:relative;
    top:auto;

    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .legal-document-nav-title{
    grid-column:1 / -1;
  }
}

@media (max-width:620px){
  .legal-document-summary{
    grid-template-columns:1fr;
  }

  .legal-document-summary > div{
    min-height:86px;
  }

  .legal-document-nav{
    grid-template-columns:1fr;
  }

  .legal-document-section{
    grid-template-columns:1fr;
    gap:14px;
  }

  .legal-section-number{
    width:46px;
    height:46px;
  }

  .legal-document-notice{
    grid-template-columns:1fr;
  }
}

