/* Legal policy reading layout */
.s-inner-hero--legal{
  padding:clamp(2.5rem,5vw,3.75rem) clamp(1.15rem,5vw,5%) clamp(1.75rem,3vw,2.5rem);
}
.s-legal-hero{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1400px;
  margin:0;
}
.s-legal-hero .s-inner-h1{
  margin-bottom:.65rem;
  overflow-wrap:anywhere;
}
.s-legal-hero .s-inner-sub{
  max-width:min(100%,42rem);
  margin:0 0 1.25rem;
  color:var(--silver);
  font-size:clamp(.9rem,2.4vw,1rem);
  line-height:1.65;
}
.s-legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.s-legal-nav a{
  display:inline-flex;
  align-items:center;
  padding:.55rem .9rem;
  border:1px solid rgba(200,168,75,.22);
  border-radius:999px;
  color:var(--platinum);
  text-decoration:none;
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.02em;
  background:rgba(255,255,255,.03);
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.s-legal-nav a:hover,
.s-legal-nav a.is-active{
  color:var(--ink);
  background:var(--gold);
  border-color:var(--gold);
}

.s-sec.s-legal-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(2rem,4vw,3.25rem) clamp(1.15rem,5vw,5%) clamp(3rem,6vw,4.5rem);
  box-sizing:border-box;
}
.s-legal-page > .s-lbl,
.s-legal-page > .s-h2{
  display:none; /* page hero already shows the title */
}
.s-legal-page > .s-desc,
.s-legal-page > .s-legal-updated,
.s-legal-page > .s-legal-meta,
.s-legal-page > .s-legal{
  width:100%;
  max-width:1400px;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
.s-legal-page > .s-desc{
  max-width:1400px !important;
  margin:0 0 1.1rem;
  color:var(--silver);
  font-size:clamp(.92rem,2.3vw,1.02rem);
  line-height:1.75;
}
.s-legal-page .s-legal-updated{
  display:block;
  margin:0 0 1.35rem;
  color:var(--muted);
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.s-legal-page .s-legal-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));
  gap:.55rem 1.5rem;
  margin:0 0 1.85rem;
  padding:clamp(.95rem,2.5vw,1.25rem) clamp(1rem,2.8vw,1.4rem);
  border:1px solid var(--gold-bdr);
  background:rgba(255,255,255,.03);
  border-radius:14px;
}
.s-legal-page .s-legal-meta p{
  margin:0;
  color:var(--platinum);
  font-size:clamp(.84rem,2.2vw,.92rem);
  line-height:1.55;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.s-legal-page .s-legal{
  margin-top:0;
  padding:0;
  max-width:1400px;
}
.s-legal-page .s-legal h3{
  margin:clamp(1.5rem,3vw,2rem) 0 .75rem;
  color:var(--white);
  font-family:Cormorant,serif;
  font-size:clamp(1.2rem,3vw,1.55rem);
  font-weight:600;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.s-legal-page .s-legal h3:first-child{
  margin-top:.25rem;
}
.s-legal-page .s-legal h4{
  margin:1.2rem 0 .45rem;
  color:var(--gold-l);
  font-size:clamp(.9rem,2.3vw,.98rem);
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.4;
}
.s-legal-page .s-legal p{
  margin:0 0 1rem;
  color:var(--platinum);
  font-size:clamp(.9rem,2.3vw,.98rem);
  line-height:1.75;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.s-legal-page .s-legal a{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.s-legal-page .s-legal ul{
  margin:.15rem 0 1.15rem;
  padding:0 0 0 1.15rem;
  color:var(--platinum);
}
.s-legal-page .s-legal li{
  margin:0 0 .55rem;
  padding-left:.15rem;
  line-height:1.65;
  font-size:clamp(.88rem,2.3vw,.96rem);
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Cookie consent banner */
.s-cookie{
  position:fixed;
  left:max(1rem, env(safe-area-inset-left));
  right:max(1rem, env(safe-area-inset-right));
  bottom:max(1rem, env(safe-area-inset-bottom));
  z-index:100050;
  width:min(100% - 2rem, 40rem);
  max-width:40rem;
  margin:0 auto;
  padding:1.15rem 1.2rem 1.2rem;
  border:1px solid var(--gold-bdr);
  border-radius:16px;
  background:linear-gradient(160deg,rgba(15,24,44,.97),rgba(11,18,32,.98));
  box-shadow:0 18px 48px rgba(0,0,0,.45);
  color:var(--white);
  font-family:Outfit,sans-serif;
  box-sizing:border-box;
  max-height:min(85vh, 42rem);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.s-cookie[hidden]{display:none!important}
.s-cookie-title{
  margin:0 0 .4rem;
  font-family:Cormorant,serif;
  font-size:clamp(1.2rem,3.5vw,1.35rem);
  font-weight:700;
  color:var(--white);
  line-height:1.2;
}
.s-cookie-copy{
  margin:0;
  color:var(--silver);
  font-size:clamp(.82rem,2.4vw,.88rem);
  line-height:1.55;
}
.s-cookie-copy a{
  color:var(--gold-l);
  text-decoration:underline;
  text-underline-offset:2px;
}
.s-cookie-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
}
.s-cookie-btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:.7rem 1.05rem;
  font:600 .78rem Outfit,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
  white-space:nowrap;
}
.s-cookie-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.s-cookie-btn--accept{background:var(--gold);color:var(--ink)}
.s-cookie-btn--accept:hover{background:var(--gold-l)}
.s-cookie-btn--reject{
  background:transparent;
  color:var(--platinum);
  border:1px solid rgba(212,216,226,.28);
}
.s-cookie-btn--reject:hover{border-color:var(--gold-bdr);color:var(--white)}
.s-cookie-btn--prefs{
  background:rgba(200,168,75,.12);
  color:var(--gold-l);
  border:1px solid var(--gold-bdr);
}
.s-cookie-btn--prefs:hover{background:rgba(200,168,75,.2)}
.s-cookie-prefs{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(200,168,75,.18);
}
.s-cookie-prefs[hidden]{display:none!important}
.s-cookie-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem;
  align-items:start;
  padding:.7rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.s-cookie-row:last-child{border-bottom:0}
.s-cookie-row strong{
  display:block;
  color:var(--white);
  font-size:.9rem;
  font-weight:600;
  margin-bottom:.2rem;
}
.s-cookie-row p{
  margin:0;
  color:var(--silver);
  font-size:.8rem;
  line-height:1.45;
}
.s-cookie-toggle{
  position:relative;
  width:2.6rem;
  height:1.45rem;
  border-radius:999px;
  border:1px solid rgba(212,216,226,.28);
  background:rgba(255,255,255,.08);
  cursor:pointer;
  flex-shrink:0;
  margin-top:.15rem;
}
.s-cookie-toggle[aria-checked="true"]{
  background:rgba(200,168,75,.35);
  border-color:var(--gold);
}
.s-cookie-toggle[aria-disabled="true"]{opacity:.7;cursor:default}
.s-cookie-toggle:before{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:1.05rem;
  height:1.05rem;
  border-radius:50%;
  background:var(--white);
  transition:transform .2s ease;
}
.s-cookie-toggle[aria-checked="true"]:before{transform:translateX(1.1rem)}
.s-cookie-prefs-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.9rem;
}

.s-cookie-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(2rem,4vw,3.25rem) clamp(1.15rem,5vw,5%) clamp(2.5rem,5vw,3.5rem);
  box-sizing:border-box;
  scroll-margin-top:6rem;
}
.s-cookie-page > .s-lbl,
.s-cookie-page > .s-h2,
.s-cookie-page > .s-desc,
.s-cookie-page-panel{
  width:100%;
  max-width:1400px;
}
.s-cookie-page-panel{
  margin-top:1.35rem;
  padding:clamp(1rem,2.5vw,1.4rem);
  border:1px solid var(--gold-bdr);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}
.s-cookie-page-panel .s-cookie-row:first-child{
  padding-top:0;
}
.s-cookie-page-status{
  margin:1rem 0 0;
  color:var(--cro);
  font-size:.85rem;
}
.s-cookie-page-status[hidden]{display:none!important}

@media (max-width:768px){
  .s-legal-hero,
  .s-legal-page > .s-desc,
  .s-legal-page > .s-legal-updated,
  .s-legal-page > .s-legal-meta,
  .s-legal-page > .s-legal{
    width:100%;
    max-width:100%;
  }
  .s-cookie-page > .s-lbl,
  .s-cookie-page > .s-h2,
  .s-cookie-page > .s-desc,
  .s-cookie-page-panel{
    width:100%;
    max-width:100%;
  }
  .s-legal-page > .s-desc{
    max-width:100% !important;
  }
  .s-legal-nav{
    gap:.45rem;
  }
  .s-legal-nav a{
    flex:1 1 calc(50% - .45rem);
    justify-content:center;
    text-align:center;
    padding:.6rem .7rem;
    font-size:.74rem;
  }
  .s-legal-page .s-legal ul{
    padding-left:1rem;
  }
}

@media (max-width:640px){
  .s-cookie{
    left:max(.65rem, env(safe-area-inset-left));
    right:max(.65rem, env(safe-area-inset-right));
    bottom:max(.65rem, env(safe-area-inset-bottom));
    width:auto;
    max-width:none;
    padding:1rem;
    border-radius:14px;
  }
  .s-cookie-actions,
  .s-cookie-prefs-actions{
    flex-direction:column;
  }
  .s-cookie-btn{
    width:100%;
    white-space:normal;
  }
  .s-legal-nav a{
    flex:1 1 100%;
  }
}

@media (max-width:400px){
  .s-legal-page .s-legal-meta{
    padding:.85rem .9rem;
  }
  .s-cookie-row{
    gap:.55rem;
  }
}
