.hero-premium{
  min-height: 92vh;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(4,12,24,.90) 0%, rgba(13,44,78,.62) 50%, rgba(4,12,24,.90) 100%),
    radial-gradient(900px 600px at 20% 10%, rgba(255,255,255,.05), transparent 64%),
    radial-gradient(900px 560px at 80% 4%, rgba(160,200,255,.08), transparent 68%),
    linear-gradient(180deg, #0A1220, #05080D);
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:64px;
  align-items:center;
}

.hero-eyebrow{
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
  margin-bottom:18px;
}

.hero-title{
  font-size: clamp(42px, 6vw, 76px);
  line-height:1.05;
  font-weight:600;
  margin:0 0 24px;
}

.hero-text{
  max-width:520px;
  font-size:16px;
  color:rgba(255,255,255,.72);
  margin-bottom:36px;
}

.hero-actions{
  display:flex;
  gap:16px;
  margin-bottom:36px;
}

.btn-primary{
  padding:14px 22px;
  border-radius:999px;
  background:#ffffff;
  color:#05080D;
  font-weight:600;
  text-decoration:none;
}

.btn-secondary{
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  text-decoration:none;
}

.hero-badges{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.badge{
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-size:13px;
  color:rgba(255,255,255,.8);
}

.hero-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:32px;
  backdrop-filter: blur(14px);
}

.panel-title{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:24px;
}

.panel-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:24px;
}

.metric{
  background:rgba(255,255,255,.05);
  border-radius:18px;
  padding:18px;
  text-align:center;
}

.metric strong{
  display:block;
  font-size:22px;
  margin-bottom:6px;
}

.metric span{
  font-size:13px;
  color:rgba(255,255,255,.65);
}

.panel-note{
  font-size:13px;
  color:rgba(255,255,255,.6);
}

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

  .hero-panel{
    order:-1;
  }

  .hero-title{
    font-size:42px;
  }
}

/* =========================================================
   BRANDS PAGE
   ========================================================= */
.brands-page .hero.hero--page .hero__content{
  max-width: 900px;
}

.brands-hero__cta{
  margin-top: 22px;
}

.brands-hero__cta .btn{
  min-width: 250px;
}

.brands-hero__hint{
  margin-top: 12px;
  font-size: 13px;
  color: rgba(255,255,255,.82);
}

.brands-overview .brands-layout{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
}

.brands-page .card.card--glass{
  background:
    radial-gradient(700px 260px at 50% 0%, rgba(150,206,255,.10), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 14px 46px rgba(0,0,0,.34);
}

.brands-overview .card.card--glass,
.brands-roadmap .card.card--glass{
  padding: 20px;
}

.brands-overview .card__text + .card__text{
  margin-top: 12px;
}

.brands-points{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.82);
  line-height: 1.75;
}

.brands-portfolio .brand-feature{
  padding: 20px;
  background:
    linear-gradient(90deg, rgba(6,18,34,.68) 0%, rgba(17,52,86,.44) 50%, rgba(6,18,34,.68) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  max-width: 1120px;
  margin: 0 auto;
}

.brand-feature__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.brand-feature__cta{
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .12em;
}

.brand-feature__tag{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.76);
}

.brand-feature__body{
  margin-top: 10px;
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 20px;
  align-items: start;
}

.brand-feature__logo-link{
  display: inline-flex;
  align-items: center;
  margin-top: 0;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  padding: 12px 14px;
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
  justify-content: center;
}

.brand-feature__logo-link:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}

.brand-feature__logo{
  display: block;
  height: auto;
  width: min(100%, 260px);
  object-fit: contain;
}

.brand-feature__content{
  min-width: 0;
}

.brand-feature__lead{
  margin-top: 0;
  max-width: 68ch;
}

.brand-specs{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.brand-spec{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}

.brand-spec span{
  display: block;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.66);
}

.brand-spec strong{
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}

.brands-roadmap .grid{
  gap: 14px;
}

@media (max-width: 980px){
  .brands-overview .brands-layout{
    grid-template-columns: 1fr;
  }

  .brand-feature__body{
    grid-template-columns: 340px 1fr;
    gap: 14px;
  }

  .brand-specs{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px){
  .brand-feature{
    padding: 20px;
  }

  .brand-feature__body{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .brand-feature__top{
    justify-content: flex-start;
  }

  .brands-hero__cta .btn{
    min-width: 0;
    width: 100%;
  }

  .brand-feature__cta{
    width: 100%;
  }

  .brand-feature__logo-link{
    width: fit-content;
  }

  .brand-feature__logo-link--wordmark{
    width: 100%;
    min-height: 240px;
  }

  .brand-specs{
    grid-template-columns: 1fr;
  }

}

/* =========================================================
   TRADE / DELIVERY / CONTACT PAGES
   ========================================================= */
.trade-page .hero.hero--page .hero__content,
.delivery-page .hero.hero--page .hero__content,
.contact-page .hero.hero--page .hero__content{
  max-width: 900px;
}

.trade-page .content-narrow{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(6,18,34,.64) 0%, rgba(16,50,84,.40) 50%, rgba(6,18,34,.64) 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow: 0 16px 52px rgba(0,0,0,.34);
  padding: clamp(20px, 3vw, 30px);
}

.trade-page .content-narrow h2{
  margin: 24px 0 10px;
}

.trade-page .content-narrow h2:first-child{
  margin-top: 0;
}

.trade-page .positioning-statement{
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}

.delivery-shell{
  display: grid;
  gap: 16px;
}

.delivery-grid .card__text + .card__text{
  margin-top: 10px;
}

.delivery-note{
  max-width: 980px;
  margin: 0 auto;
}

.contact-shell{
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 16px;
  align-items: start;
}

.contact-main{
  padding: clamp(18px, 2.5vw, 28px);
}

.contact-main .contact-form{
  margin-top: 18px;
}

.contact-main .card__text + .card__text{
  margin-top: 10px;
}

.contact-side{
  display: grid;
  gap: 14px;
}

.contact-side .principles-list{
  margin-top: 8px;
}

.contact-side .card__text + .card__text{
  margin-top: 10px;
}

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

.trade-enquiries__contacts{
  margin-top: 12px;
  display: grid;
  gap: 8px;
  justify-items: center;
}

.trade-enquiries__contact-line{
  margin: 0;
  line-height: 1.45;
}


/* Hetman brand wordmark + history */
.brand-feature__logo-link--wordmark{
  width: 100%;
  min-height: 270px;
  padding: 24px 22px;
  align-items: stretch;
}

.brand-history{
  margin-top: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.03);
}

.brand-history__title{
  margin: 0 0 10px;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.brand-history__list{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.86);
  line-height: 1.65;
}

.brand-feature__mark{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
}

.brand-feature__mark-logo{
  display: block;
  width: min(100%, 320px);
  height: auto;
  aspect-ratio: 417 / 384;
  object-fit: contain;
}

.brand-feature__mark-logo--script{
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.35));
}

.brand-feature__mark-sub{
  display: block;
  font-size: clamp(14px, 1.3vw, 22px);
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.94);
  text-align: center;
}

/* ===== Trade page visual consistency ===== */
.trade-page .content-narrow{
  text-align: center;
}

.trade-page .principles-list,
.trade-page .document-list{
  padding-left: 0;
  list-style-position: inside;
  max-width: 64ch;
  margin-left: auto;
  margin-right: auto;
}

.trade-page .document-list{
  display: grid;
  gap: 8px;
  justify-items: center;
}

/* ===== Legal pages ===== */
.legal-page .hero.hero--page .hero__content{
  max-width: 980px;
  text-align: center;
  margin: 0 auto;
}

.legal-main{
  padding: 30px 0 68px;
}

.legal-shell{
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(6,18,34,.64) 0%, rgba(16,50,84,.40) 50%, rgba(6,18,34,.64) 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow: 0 16px 52px rgba(0,0,0,.34);
  padding: clamp(22px, 3vw, 34px);
}

.legal-updated{
  margin: 0 0 14px;
  font-size: 13px;
  opacity: .76;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.legal-section + .legal-section{
  margin-top: 24px;
}

.legal-section h2,
.legal-section h3{
  margin: 0 0 10px;
  text-align: center;
}

.legal-section p,
.legal-section li{
  line-height: 1.7;
  color: rgba(255,255,255,.88);
}

.legal-section ul{
  margin: 0;
  padding-left: 0;
  list-style-position: inside;
}

.legal-protect-note{
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  text-align: center;
  font-size: 13px;
  opacity: .86;
}


/* ===== Full legal document readability ===== */
.legal-main{
  padding: 24px 0 72px;
}

.legal-shell{
  width: min(1120px, calc(100% - 28px));
  text-align: left;
}

.legal-page .hero.hero--page .hero__content,
.legal-page .hero__title,
.legal-page .hero__lead{
  text-align: center;
}

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

.legal-document h2{
  margin: 18px 0 8px;
  text-align: left;
}

.legal-document h3{
  margin: 12px 0 6px;
  text-align: left;
}

.legal-document p{
  margin: 0;
  line-height: 1.68;
  color: rgba(255,255,255,.90);
  text-align: left;
}

.legal-document .legal-meta{
  opacity: .82;
  font-size: 13px;
}

@media (max-width: 720px){
  .legal-shell{
    width: calc(100% - 20px);
    padding: 18px 14px;
  }
}


/* ===== Legal exact-document format ===== */
.legal-document--pre{
  display: block;
}

.legal-pre{
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  font-family: "Courier New", Consolas, Menlo, Monaco, monospace;
  font-size: 13px;
  line-height: 1.58;
  letter-spacing: 0;
  color: rgba(255,255,255,.92);
  text-align: left;
}

@media (max-width: 720px){
  .legal-pre{
    font-size: 12px;
    line-height: 1.52;
  }
}


/* ===== Legal professional page layout ===== */
.legal-page--pro .legal-main{
  padding: 30px 0 74px;
}

.legal-page--pro .legal-layout{
  width: min(1240px, calc(100% - 28px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.legal-page--pro .legal-toc{
  position: sticky;
  top: 112px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
  padding: 14px 12px;
}

.legal-page--pro .legal-toc__title{
  margin: 0 0 8px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: .74;
}

.legal-page--pro .legal-toc__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.legal-page--pro .legal-toc__list a{
  display: block;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255,255,255,.86);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  padding: 7px 9px;
}

.legal-page--pro .legal-toc__list a:hover{
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.06);
}

.legal-page--pro .legal-paper{
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)),
    linear-gradient(90deg, rgba(6,18,34,.74) 0%, rgba(16,50,84,.42) 50%, rgba(6,18,34,.74) 100%);
  box-shadow: 0 18px 58px rgba(0,0,0,.34);
  padding: clamp(20px, 2.2vw, 34px);
  overflow: hidden;
}

.legal-page--pro .legal-paper h2,
.legal-page--pro .legal-paper h3{
  margin: 16px 0 8px;
  font-family: "Georgia", "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: .02em;
  text-wrap: balance;
}

.legal-page--pro .legal-paper h2{
  font-size: clamp(17px, 1.6vw, 22px);
}

.legal-page--pro .legal-paper h3{
  font-size: clamp(15px, 1.3vw, 18px);
}

.legal-page--pro .legal-paper p{
  margin: 0 0 10px;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: clamp(14px, 1.08vw, 16px);
  line-height: 1.72;
  color: rgba(255,255,255,.92);
  text-align: left;
}

.legal-page--pro .legal-paper .legal-meta-line{
  font-size: 13px;
  line-height: 1.56;
  opacity: .9;
}

.legal-page--pro .legal-paper .legal-list{
  margin: 0 0 12px;
  padding-left: 20px;
}

.legal-page--pro .legal-paper .legal-list li{
  margin: 0 0 6px;
  line-height: 1.62;
}

@media (max-width: 980px){
  .legal-page--pro .legal-layout{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .legal-page--pro .legal-toc{
    position: static;
  }
}

/* ===== Shared clean background mode (main visual, non-Hetman) =====
   Applies homepage gradient style and removes vertical stripe overlays.
   ========================================================= */
html.home-page-html,
html.site-main-html{
  background:
    radial-gradient(1300px 640px at 50% 14%, rgba(146,204,255,.14), transparent 66%),
    radial-gradient(980px 560px at 82% 20%, rgba(110,170,235,.10), transparent 68%),
    radial-gradient(980px 560px at 18% 24%, rgba(110,170,235,.08), transparent 68%),
    linear-gradient(180deg, #040c18 0%, #051429 20%, #072342 46%, #061a33 72%, #050d1b 100%) !important;
}

html.home-page-html::before,
html.site-main-html::before{
  display: none !important;
}

html.home-page-html::after,
html.site-main-html::after{
  opacity: .52;
}

html.home-page-html .hero__grain,
html.site-main-html .hero__grain{
  display: none;
}

/* Slightly bigger expanding nav line on main-style pages */
html.home-page-html .site-header .nav-link::after,
html.site-main-html .site-header .nav-link::after{
  left: 0;
  right: 0;
  bottom: -7px;
  height: 2px;
  transform: scaleX(.42);
}

html.home-page-html .site-header .nav-link:hover::after,
html.site-main-html .site-header .nav-link:hover::after{
  transform: scaleX(1);
}

html.home-page-html .site-header .nav-link.active::after,
html.site-main-html .site-header .nav-link.active::after{
  transform: scaleX(1);
}


/* ===== Site typography/spacing normalization (homepage rhythm) ===== */
:root{
  --rhythm-copy-size: 14px;
  --rhythm-copy-line: 1.66;
  --rhythm-copy-gap: 12px;
}

main .card__text,
main .principles-list li,
main .legal-section p,
main .legal-section li,
main .legal-document p,
main .legal-page--pro .legal-paper p,
main .legal-page--pro .legal-paper .legal-list li,
main .hetman-hero__lead,
main .hetman-product__text,
main .hetman-detail__text,
main .hetman-cta__text,
main .hetman-history__lead,
main .hetman-history__card p{
  font-size: var(--rhythm-copy-size);
  line-height: var(--rhythm-copy-line);
}

main .card__text + .card__text,
main .legal-document p + p,
main .legal-section p + p,
main .legal-page--pro .legal-paper p + p{
  margin-top: var(--rhythm-copy-gap);
}

main .legal-page--pro .legal-paper p{
  margin-bottom: 0;
}

main .legal-page--pro .legal-paper .legal-list{
  margin: 0;
}

main .legal-page--pro .legal-paper .legal-list li{
  margin-bottom: 0;
}

main .legal-page--pro .legal-paper .legal-list li + li{
  margin-top: 6px;
}

main .legal-document h2,
main .legal-document h3,
main .legal-page--pro .legal-paper h2,
main .legal-page--pro .legal-paper h3{
  margin-top: 20px;
  margin-bottom: 10px;
}

main .legal-document > :first-child,
main .legal-page--pro .legal-paper > :first-child{
  margin-top: 0 !important;
}

.form-status--rhythm{
  margin-top: 12px;
  line-height: var(--rhythm-copy-line);
}

.legal-shell--spaced{
  margin-bottom: 18px;
}

.section-note{
  margin-top: 12px;
}

.grid--spaced{
  margin-top: 20px;
}

.cookie-policy__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.cookie-policy__actions .btn{
  min-height: 48px;
}

.cookie-policy__status{
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  color: rgba(255,255,255,.9);
}

@media (max-width: 640px){
  .cookie-policy__actions .btn{
    width: 100%;
    justify-content: center;
  }
}

/* ===== Premium legal document layout + footer polish ===== */
.legal-page--pro .legal-layout{
  width: min(1280px, calc(100% - 32px));
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
}

.legal-page--pro .legal-toc{
  top: 104px;
  max-height: calc(100vh - 136px);
  overflow: auto;
  padding: 16px 14px;
  backdrop-filter: blur(14px);
  scrollbar-width: thin;
}

.legal-page--pro .legal-paper{
  max-width: 940px;
  justify-self: stretch;
  padding: clamp(24px, 2.6vw, 38px);
}

.legal-page--pro .legal-paper h2[id],
.legal-page--pro .legal-paper h3[id]{
  scroll-margin-top: 128px;
}

.legal-page--pro .legal-paper > h2:not(:first-child){
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.legal-page--pro .legal-paper > h2:first-child,
.legal-page--terms #crystalov-ltd,
.legal-page--terms #terms-and-conditions-of-supply,
.legal-page--notice #privacy-and-data-processing-notice{
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.legal-page--terms #crystalov-ltd,
.legal-page--terms #terms-and-conditions-of-supply{
  text-wrap: balance;
}

.legal-doc-head{
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.legal-doc-head > * + *{
  margin-top: 10px;
}

.legal-doc-head--compact{
  margin-bottom: 20px;
}

.legal-doc-intro{
  max-width: 74ch;
}

.legal-doc-meta{
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.legal-page--notice .legal-address-line{
  margin: 0;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: clamp(14px, 1.08vw, 16px);
  line-height: 1.6;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.84);
}

.legal-page--pro .legal-meta-line{
  word-break: break-word;
}

.legal-page--terms .legal-toc--long .legal-toc__list{
  gap: 5px;
}

.legal-page--terms .legal-toc--long .legal-toc__list a{
  font-size: 11px;
  line-height: 1.34;
  padding: 8px 10px;
}


/* ===== Footer premium refresh ===== */
.site-footer{
  overflow: hidden;
  padding: 28px 0 18px;
}

.site-footer::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(960px 280px at 50% 0%, rgba(146,198,255,.11), transparent 72%),
    linear-gradient(180deg, rgba(4,10,20,.08) 0%, rgba(3,8,18,.42) 100%);
  pointer-events: none;
}

.site-footer .footer-shell{
  position: relative;
  z-index: 1;
  width: min(var(--max, 1180px), calc(100% - 36px));
  margin: 0 auto;
}

.site-footer .footer-frame{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background:
    radial-gradient(860px 260px at 50% -8%, rgba(170,215,255,.10), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    linear-gradient(90deg, rgba(5,14,27,.94) 0%, rgba(12,30,54,.82) 50%, rgba(5,14,27,.94) 100%);
  box-shadow:
    0 28px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(12px);
}

.site-footer .footer-frame::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  opacity: .55;
}

.site-footer .footer-hero{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 28px 18px;
}

.site-footer .footer-brand{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.site-footer .footer-brand__mark{
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04)),
    linear-gradient(180deg, rgba(8,19,34,.98), rgba(6,14,26,.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}

.site-footer .footer-brand__mark img{
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.site-footer .footer-brand__copy{
  display: grid;
  gap: 4px;
  min-width: 0;
}

.site-footer .footer-brand__name{
  display: block;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.96);
}

.site-footer .footer-brand__tag{
  display: block;
  margin: 0;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.52);
}

.site-footer .footer-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.86);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-footer .footer-divider{
  height: 1px;
  margin: 0 28px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), rgba(255,255,255,.18), rgba(255,255,255,.12), transparent);
}

.site-footer .footer-inner{
  width: 100%;
  margin: 0;
  padding: 20px 28px 12px;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .96fr) minmax(220px, .84fr);
  gap: 18px;
  align-items: start;
  justify-items: stretch;
  text-align: left;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.site-footer .footer-column{
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}

.site-footer .footer-column + .footer-column{
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.08);
}

.site-footer .footer-title{
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.58);
}

.site-footer .footer-meta,
.site-footer .footer-compliance{
  margin: 0;
  max-width: none;
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.72;
}

.site-footer .footer-link,
.site-footer .footer-link--settings{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: auto;
  margin: 0;
  padding: 2px 0;
  text-align: left;
  line-height: 1.6;
  opacity: .9;
  color: rgba(255,255,255,.88);
  transition: transform .18s ease, opacity .18s ease, color .18s ease;
}

.site-footer .footer-link::before,
.site-footer .footer-link--settings::before{
  content: "";
  width: 12px;
  height: 1px;
  background: rgba(255,255,255,.34);
  transition: width .18s ease, background-color .18s ease;
}

.site-footer .footer-link:hover,
.site-footer .footer-link--settings:hover{
  opacity: 1;
  transform: translateX(2px);
  color: rgba(255,255,255,1);
}

.site-footer .footer-link:hover::before,
.site-footer .footer-link--settings:hover::before{
  width: 18px;
  background: rgba(255,255,255,.88);
}

.site-footer .footer-bottom{
  width: 100%;
  margin: 0;
  padding: 16px 28px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.site-footer .footer-bottom .text-muted{
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .04em;
  text-align: left;
  color: rgba(255,255,255,.58);
}

@media (max-width: 980px){
  .site-footer .footer-hero{
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer .footer-badge{
    white-space: normal;
  }

  .site-footer .footer-inner{
    grid-template-columns: 1fr;
    gap: 16px;
    padding-bottom: 14px;
  }

  .site-footer .footer-column + .footer-column{
    padding-left: 0;
    padding-top: 16px;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}

@media (max-width: 640px){
  .site-footer{
    padding-top: 24px;
  }

  .site-footer .footer-shell{
    width: min(var(--max, 1180px), calc(100% - 24px));
  }

  .site-footer .footer-frame{
    border-radius: 24px;
  }

  .site-footer .footer-hero{
    padding: 18px 18px 16px;
  }

  .site-footer .footer-divider{
    margin: 0 18px;
  }

  .site-footer .footer-inner{
    padding: 18px 18px 12px;
  }

  .site-footer .footer-bottom{
    padding: 14px 18px 16px;
  }
}

.awrs-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.96);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.22);
  transition: border-color .18s ease, color .18s ease, opacity .18s ease;
}

.awrs-link::after{
  content: "\2197";
  font-size: 11px;
  line-height: 1;
  opacity: .72;
}

.awrs-link:hover{
  color: rgba(255,255,255,1);
  border-bottom-color: rgba(255,255,255,.52);
}

.awrs-link--footer{
  color: rgba(255,255,255,.9);
}

.awrs-link--legal{
  gap: 0;
  color: inherit;
}

.awrs-link--legal::after{
  content: none;
}

/* ===== Header premium pass ===== */
.site-header{
  background: linear-gradient(180deg, rgba(4,12,24,.84), rgba(4,12,24,.70));
  border-bottom-color: rgba(255,255,255,.10);
  box-shadow: 0 6px 24px rgba(0,0,0,.16);
}

.site-header::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  opacity: .38;
  pointer-events: none;
}

.site-header .header-inner{
  gap: 22px;
  padding: 12px 0;
}

.site-header .header-brand{
  grid-template-columns: 56px 1fr;
  column-gap: 14px;
}

.site-header .header-brand__mark{
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03)),
    linear-gradient(180deg, rgba(8,19,34,.96), rgba(6,14,26,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 10px 26px rgba(0,0,0,.22);
}

.site-header .brand-logo{
  width: 34px;
  height: 34px;
}

.site-header .brand-text{
  gap: 3px;
}

.site-header .brand-overline{
  font-size: 10px;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255,255,255,.46);
}

.site-header .brand-name{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.97);
}

.site-header .brand-tagline{
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
}

.site-header .site-nav{
  gap: 18px;
}

.site-header .nav-link{
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.82);
  padding: 10px 4px;
}

.site-header .nav-link::after{
  left: 4px;
  right: 4px;
  bottom: -4px;
}

.site-header .nav-link--hetman{
  color: rgba(255,255,255,.96);
}

.site-header .header-cta .btn-primary{
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(233,241,252,.94));
  color: #08182b;
  box-shadow:
    0 14px 34px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.76);
}

.site-header .header-cta .btn-primary:hover{
  transform: translateY(-1px);
}

.site-header.is-scrolled{
  background: linear-gradient(180deg, rgba(4,12,24,.92), rgba(4,12,24,.84));
  border-bottom-color: rgba(255,255,255,.14);
  box-shadow: 0 14px 38px rgba(0,0,0,.30);
}

@media (max-width: 980px){
  .site-header .header-inner{
    gap: 10px;
  }

  .site-header .header-brand{
    grid-template-columns: 52px 1fr;
  }

  .site-header .header-brand__mark{
    width: 52px;
    height: 52px;
  }

  .site-header .brand-logo{
    width: 31px;
    height: 31px;
  }
}

@media (max-width: 720px){
  .site-header .brand-overline{
    font-size: 9px;
  }

  .site-header .brand-name{
    font-size: 16px;
    letter-spacing: .1em;
  }

  .site-header .brand-tagline{
    font-size: 10px;
    letter-spacing: .06em;
  }
}

/* ===== Header + footer harmony pass ===== */
.site-header .header-inner,
.site-footer .footer-shell{
  width: min(var(--max, 1180px), calc(100% - 40px));
}

.site-header::after,
.site-footer .footer-frame::after{
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), rgba(255,255,255,.18), rgba(255,255,255,.08), transparent);
  pointer-events: none;
}

.site-header{
  border-bottom-color: rgba(255,255,255,.09);
  box-shadow: 0 10px 26px rgba(0,0,0,.20);
}

.site-header .header-brand__mark,
.site-footer .footer-brand__mark{
  border-radius: 20px;
}

.site-header .brand-overline,
.site-footer .footer-brand__tag,
.site-footer .footer-title{
  letter-spacing: .22em;
}

.site-header .brand-name,
.site-footer .footer-brand__name{
  letter-spacing: .12em;
}

.site-header .nav-link{
  font-size: 12px;
  letter-spacing: .14em;
}

.site-header .header-cta .btn-primary{
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.site-header .header-cta .btn-primary:hover{
  box-shadow:
    0 18px 36px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.82);
}

.site-footer{
  padding: 24px 0 16px;
}

.site-footer .footer-frame{
  border-radius: 28px;
}

.site-footer .footer-hero{
  padding: 20px 26px 16px;
}

.site-footer .footer-brand__name{
  font-size: 16px;
  color: rgba(255,255,255,.97);
}

.site-footer .footer-brand__tag{
  font-size: 10px;
  color: rgba(255,255,255,.48);
}

.site-footer .footer-badge{
  min-height: 42px;
  padding: 10px 16px;
  font-size: 10px;
  letter-spacing: .14em;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035)),
    rgba(255,255,255,.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.site-footer .footer-divider{
  margin: 0 26px;
}

.site-footer .footer-inner{
  padding: 18px 26px 10px;
  gap: 20px;
}

.site-footer .footer-column + .footer-column{
  padding-left: 24px;
}

.site-footer .footer-meta,
.site-footer .footer-compliance{
  font-size: 13.5px;
  line-height: 1.68;
}

.site-footer .footer-link,
.site-footer .footer-link--settings{
  gap: 12px;
  padding: 4px 0;
}

.site-footer .footer-bottom{
  padding: 14px 26px 16px;
}

.site-footer .footer-bottom .text-muted{
  text-align: center;
  letter-spacing: .08em;
}

@media (max-width: 980px){
  .site-footer .footer-column + .footer-column{
    padding-left: 0;
  }
}

@media (max-width: 640px){
  .site-header .header-inner,
  .site-footer .footer-shell{
    width: min(var(--max, 1180px), calc(100% - 28px));
  }

  .site-header::after,
  .site-footer .footer-frame::after{
    left: 16px;
    right: 16px;
  }

  .site-footer{
    padding-top: 20px;
  }

  .site-footer .footer-frame{
    border-radius: 24px;
  }

  .site-footer .footer-hero,
  .site-footer .footer-inner,
  .site-footer .footer-bottom{
    padding-left: 18px;
    padding-right: 18px;
  }

  .site-footer .footer-divider{
    margin: 0 18px;
  }

  .site-footer .footer-bottom .text-muted{
    text-align: left;
    letter-spacing: .05em;
  }
}

/* ===== Cookie premium pass ===== */
.cookie-banner{
  position: fixed;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 4600;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background:
    radial-gradient(760px 180px at 18% 0%, rgba(164,214,255,.10), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(90deg, rgba(5,14,27,.96) 0%, rgba(11,28,50,.90) 52%, rgba(5,14,27,.96) 100%);
  box-shadow:
    0 24px 64px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
}

.cookie-banner[hidden],
.cookie-modal[hidden],
.cookie-toast[hidden]{
  display: none !important;
}

.cookie-banner::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent);
  opacity: .48;
}

.cookie-banner__inner{
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .95fr);
  gap: 20px;
  align-items: center;
  padding: 18px 20px;
}

.cookie-banner__copy{
  display: grid;
  gap: 8px;
}

.cookie-banner__eyebrow{
  margin: 0;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
}

.cookie-banner__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.97);
}

.cookie-banner__text{
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.90);
}

.cookie-banner__meta{
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,.62);
}

.cookie-banner__actions{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.cookie-banner__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  color: rgba(255,255,255,.92);
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.cookie-banner__btn:hover{
  background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.06));
  border-color: rgba(255,255,255,.24);
  transform: translateY(-1px);
}

.cookie-banner__btn:focus-visible,
.cookie-option input[type="checkbox"]:focus-visible,
.cookie-modal__panel:focus-visible{
  outline: 2px solid rgba(166,214,255,.95);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(166,214,255,.18);
}

.cookie-banner__btn--accept{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(233,241,252,.94));
  color: #08182b;
  border-color: transparent;
  box-shadow: 0 14px 32px rgba(0,0,0,.24);
}

.cookie-modal{
  position: fixed;
  inset: 0;
  z-index: 4700;
  display: grid;
  place-items: center;
  padding: 22px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.cookie-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(2,8,18,.72);
  backdrop-filter: blur(12px);
}

.cookie-modal__panel{
  position: relative;
  z-index: 1;
  width: min(680px, calc(100% - 24px));
  max-height: calc(100dvh - 44px);
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(880px 220px at 18% 0%, rgba(166,214,255,.09), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(5,14,27,.98), rgba(5,14,27,.92));
  box-shadow:
    0 32px 96px rgba(0,0,0,.56),
    inset 0 1px 0 rgba(255,255,255,.07);
  padding: 24px;
  overflow: auto;
}

.cookie-modal__panel::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  opacity: .5;
}

.cookie-modal__header{
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.cookie-modal__eyebrow{
  margin: 0;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255,255,255,.46);
}

.cookie-modal__title{
  margin: 0;
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cookie-modal__lead{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
}

.cookie-modal__stack{
  display: grid;
  gap: 10px;
}

.cookie-option{
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)),
    rgba(255,255,255,.02);
  padding: 14px 16px;
}

.cookie-option--required{
  border-color: rgba(255,255,255,.18);
}

.cookie-option__name{
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.96);
}

.cookie-option__desc{
  margin-top: 5px;
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(255,255,255,.68);
}

.cookie-option input[type="checkbox"]{
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.cookie-modal__footer{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.cookie-modal__note{
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.55;
  color: rgba(255,255,255,.62);
}

.cookie-modal__actions{
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cookie-toast{
  position: fixed;
  right: 22px;
  bottom: 22px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    rgba(5,14,27,.96);
  box-shadow: 0 18px 38px rgba(0,0,0,.34);
  font-size: 12px;
  letter-spacing: .04em;
  color: rgba(255,255,255,.92);
}

@media (max-width: 720px){
  .cookie-banner{
    left: 14px;
    right: 14px;
    bottom: 14px;
    border-radius: 20px;
  }

  .cookie-banner__inner{
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .cookie-banner__actions,
  .cookie-modal__actions{
    grid-template-columns: 1fr;
  }

  .cookie-modal{
    padding: 14px;
  }

  .cookie-modal__panel{
    width: min(680px, calc(100% - 8px));
    max-height: calc(100dvh - 28px);
    border-radius: 22px;
    padding: 18px;
  }

  .cookie-modal__title{
    font-size: 21px;
  }

  .cookie-toast{
    left: 14px;
    right: 14px;
    bottom: 14px;
  }
}

.company-link{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.95);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.22);
  transition: border-color .18s ease, color .18s ease, opacity .18s ease;
}

.company-link::after{
  content: "\2197";
  font-size: 11px;
  line-height: 1;
  opacity: .72;
}

.company-link:hover{
  color: rgba(255,255,255,1);
  border-bottom-color: rgba(255,255,255,.52);
}

.company-link--footer{
  color: rgba(255,255,255,.9);
}

.company-link--legal{
  gap: 0;
  color: inherit;
}

.company-link--legal::after{
  content: none;
}

.awrs-link--legal{
  gap: 0;
  color: inherit;
}

.awrs-link--legal::after{
  content: none;
}
.site-header .brand-text{
  gap: 1px;
}

.site-footer .footer-brand__copy{
  gap: 0;
}

.site-footer .footer-column--documents{
  gap: 6px;
}

.site-footer .footer-column--documents .footer-title{
  margin-bottom: 2px;
}

.site-footer .footer-column--documents .footer-link,
.site-footer .footer-column--documents .footer-link--settings{
  padding: 2px 0;
  line-height: 1.46;
}


/* ===== Centered premium pass: homepage + footer ===== */
.about-snapshot .subtitle-break{
  display: inline-block;
}

.about-snapshot__grid .card__title,
.company-compliance__grid .card__title{
  text-align: center;
}

.about-snapshot__grid .card__text,
.company-compliance__grid .card__text{
  text-align: center;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}



/* ===== Footer headings centered, content left ===== */
.site-footer .footer-column{
  justify-items: stretch;
  text-align: left;
}

.site-footer .footer-title{
  width: 100%;
  text-align: center;
}

.site-footer .footer-meta,
.site-footer .footer-compliance{
  justify-self: stretch;
  text-align: left;
}

.site-footer .footer-link,
.site-footer .footer-link--settings{
  justify-self: start;
  justify-content: flex-start;
  text-align: left;
}

/* ===== How we work consistency pass ===== */
.how-we-work__grid .card__title{
  text-align: center;
}

.how-we-work__grid .card__text{
  text-align: center;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}


/* ===== Trade page homepage-format pass ===== */
.trade-snapshot__grid,
.trade-framework__grid,
.trade-compliance__grid{
  align-items: stretch;
}

.trade-card{
  padding: clamp(20px, 2.4vw, 28px);
}

.trade-snapshot__grid .card__title,
.trade-framework__grid .card__title,
.trade-compliance__grid .card__title{
  text-align: center;
}

.trade-snapshot__grid .card__text,
.trade-framework__grid .card__text,
.trade-compliance__grid .card__text{
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.trade-framework__card,
.trade-compliance__card{
  display: grid;
  align-content: start;
  gap: 12px;
}

.trade-page .trade-card__list{
  width: min(100%, 34rem);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.trade-page .trade-card__list li{
  position: relative;
  padding-left: 18px;
  text-align: left;
  line-height: 1.66;
  color: rgba(255,255,255,.88);
}

.trade-page .trade-card__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(188,221,255,.72);
  box-shadow: 0 0 0 4px rgba(188,221,255,.08);
}

.trade-page .trade-card__documents{
  width: min(100%, 40rem);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.trade-page .trade-card__documents li{
  margin: 0;
}

.trade-page .trade-card__documents a{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03)),
    rgba(255,255,255,.02);
  text-align: center;
  text-decoration: none;
  color: rgba(255,255,255,.92);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.trade-page .trade-card__documents a:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    rgba(255,255,255,.03);
  color: rgba(255,255,255,1);
}

.trade-framework__actions{
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.trade-compliance__card--documents{
  grid-column: 1 / -1;
}

.trade-positioning-statement{
  max-width: 76ch;
  margin: 22px auto 0;
  text-align: center;
}

@media (max-width: 980px){
  .trade-compliance__card--documents{
    grid-column: auto;
  }
}

@media (max-width: 720px){
  .trade-card{
    padding: 18px 16px;
  }
}

/* ===== Delivery + contact homepage-format pass ===== */
.delivery-snapshot__grid,
.delivery-policy__grid,
.contact-snapshot__grid{
  align-items: stretch;
}

.delivery-card,
.contact-card{
  padding: clamp(20px, 2.4vw, 28px);
}

.delivery-snapshot__grid .card__title,
.delivery-policy__grid .card__title,
.contact-snapshot__grid .card__title,
.contact-main--premium .card__title,
.contact-side--premium .card__title{
  text-align: center;
}

.delivery-snapshot__grid .card__text,
.delivery-policy__grid .card__text,
.contact-snapshot__grid .card__text{
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.delivery-policy__card{
  display: grid;
  align-content: start;
  gap: 12px;
}

.delivery-policy__cta{
  margin-top: 20px;
}

.contact-shell--premium{
  margin-top: 20px;
  gap: 18px;
}

.contact-main--premium{
  padding: clamp(20px, 2.6vw, 30px);
}

.contact-main--premium .card__text{
  max-width: 68ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.contact-main--premium .contact-form{
  margin-top: 20px;
  text-align: left;
}

.contact-main--premium .form-group label,
.contact-main--premium .form-check label,
.contact-main--premium .form-status{
  text-align: left;
}

.contact-side--premium{
  gap: 16px;
}

.contact-side__card{
  display: grid;
  align-content: start;
  gap: 12px;
}

.contact-side--premium .card__text{
  text-align: left;
}

.contact-page .contact-card__list{
  width: min(100%, 34rem);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.contact-page .contact-card__list li{
  position: relative;
  padding-left: 18px;
  text-align: left;
  line-height: 1.66;
  color: rgba(255,255,255,.88);
}

.contact-page .contact-card__list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(188,221,255,.72);
  box-shadow: 0 0 0 4px rgba(188,221,255,.08);
}

@media (max-width: 720px){
  .delivery-card,
  .contact-card,
  .contact-main--premium{
    padding: 18px 16px;
  }
}

/* ===== Legal mobile stability fix ===== */
@media (max-width: 980px){
  .legal-page--pro .legal-main{
    padding: 20px 0 56px;
    overflow-x: hidden;
  }

  .legal-page--pro .legal-layout{
    width: min(100%, calc(100% - 20px));
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .legal-page--pro .legal-paper{
    order: 1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 20px 18px;
  }

  .legal-page--pro .legal-toc{
    order: 2;
    position: static;
    width: 100%;
    max-height: none;
    overflow: visible;
    padding: 14px 12px;
  }

  .legal-page--pro .legal-toc__list{
    gap: 8px;
  }
}

@media (max-width: 640px){
  .legal-page--pro .legal-main{
    padding: 16px 0 46px;
  }

  .legal-page--pro .legal-layout{
    width: min(100%, calc(100% - 14px));
    gap: 12px;
  }

  .legal-page--pro .legal-paper{
    padding: 18px 14px;
    border-radius: 16px;
  }

  .legal-page--pro .legal-toc{
    padding: 12px 10px;
    border-radius: 14px;
  }

  .legal-page--pro .legal-paper,
  .legal-page--pro .legal-paper *{
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .legal-page--pro .legal-paper p,
  .legal-page--pro .legal-paper .legal-meta-line,
  .legal-page--notice .legal-address-line{
    word-break: break-word;
  }

  .legal-page--pro .legal-paper h2,
  .legal-page--pro .legal-paper h3{
    text-wrap: balance;
  }

  .legal-page--pro .legal-paper .legal-list{
    padding-left: 18px;
  }
}

/* ===== Legal mobile contents panel ===== */
.legal-mobile-contents-toggle,
.legal-mobile-contents-overlay{
  display: none;
}

body.legal-mobile-nav-open{
  overflow: hidden;
}

@media (max-width: 980px){
  body.legal-mobile-nav-ready .legal-page--pro .legal-toc{
    display: none;
  }

  .legal-mobile-contents-toggle{
    position: fixed;
    right: 14px;
    bottom: 16px;
    z-index: 2600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(8,19,34,.96), rgba(6,14,26,.92));
    box-shadow: 0 14px 34px rgba(0,0,0,.32);
    color: rgba(255,255,255,.94);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .legal-mobile-contents-overlay{
    position: fixed;
    inset: 0;
    z-index: 2700;
    display: block;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .legal-mobile-nav-open .legal-mobile-contents-overlay{
    opacity: 1;
    pointer-events: auto;
  }

  .legal-mobile-contents-overlay[hidden]{
    display: none !important;
  }

  .legal-mobile-contents-backdrop{
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(2,8,18,.7);
    backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity .2s ease;
  }

  .legal-mobile-nav-open .legal-mobile-contents-backdrop{
    opacity: 1;
  }

  .legal-mobile-contents-panel{
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    max-height: min(72vh, 620px);
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
      linear-gradient(180deg, rgba(5,14,27,.98), rgba(6,14,26,.94));
    box-shadow: 0 24px 60px rgba(0,0,0,.42);
    transform: translateY(18px);
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
  }

  .legal-mobile-nav-open .legal-mobile-contents-panel{
    transform: translateY(0);
    opacity: 1;
  }

  .legal-mobile-contents-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px 12px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .legal-mobile-contents-title{
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
  }

  .legal-mobile-contents-close{
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.92);
    min-height: 36px;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .legal-mobile-contents-list{
    overflow: auto;
    padding: 12px;
  }

  .legal-mobile-contents-list .legal-toc__list{
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .legal-mobile-contents-list .legal-toc__list a{
    display: block;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    padding: 9px 10px;
  }
}

/* ===== Back to top ===== */
.back-to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    linear-gradient(180deg, rgba(5,14,27,.98), rgba(6,14,26,.94));
  box-shadow: 0 18px 40px rgba(0,0,0,.34);
  color: rgba(255,255,255,.94);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, border-color .18s ease, background .18s ease;
}

.back-to-top::before{
  content: "\2191";
  font-size: 12px;
  line-height: 1;
  opacity: .9;
}

.back-to-top.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover{
  border-color: rgba(255,255,255,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04)),
    linear-gradient(180deg, rgba(5,14,27,.98), rgba(6,14,26,.94));
}

@media (max-width: 720px){
  .back-to-top{
    right: 14px;
    bottom: 14px;
    min-height: 42px;
    padding: 9px 13px;
  }
}

@media (prefers-reduced-motion: reduce){
  .back-to-top{
    transition: none;
  }
}

@media (max-width: 980px){
  body.legal-mobile-nav-ready .back-to-top{
    right: 14px;
    bottom: 72px;
    z-index: 2601;
  }

  body.legal-mobile-nav-open .back-to-top{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
  }
}

/* ===== Header visibility guard ===== */
.site-header{
  position: sticky;
  top: 0;
  z-index: 2400;
}

/* ===== Footer mobile balance fix ===== */
@media (max-width: 640px){
  .site-footer .footer-hero{
    align-items: center;
    text-align: center;
  }

  .site-footer .footer-inner{
    justify-items: center;
    text-align: center;
  }

  .site-footer .footer-column--company,
  .site-footer .footer-column--compliance{
    justify-items: center;
    text-align: center;
  }

  .site-footer .footer-meta,
  .site-footer .footer-compliance{
    text-align: center;
    max-width: 34ch;
    margin-left: auto;
    margin-right: auto;
  }

  .site-footer .footer-column--documents{
    justify-items: center;
    text-align: center;
  }

  .site-footer .footer-column--documents .footer-link,
  .site-footer .footer-column--documents .footer-link--settings{
    width: 196px;
    justify-self: center;
    justify-content: flex-start;
    text-align: left;
  }

  .site-footer .footer-bottom .text-muted{
    text-align: center;
  }
}
