/* RoyalStone Analytics Foundation 10.3.0 — isolated consent and privacy UI. */
:root{
  --rs-a-gold:#d7ad52;
  --rs-a-gold-strong:#f0ca72;
  --rs-a-ink:#12100d;
  --rs-a-surface:#1b1814;
  --rs-a-surface-2:#26211b;
  --rs-a-text:#faf7f0;
  --rs-a-muted:#d0c8bc;
  --rs-a-line:rgba(224,187,103,.34);
  --rs-a-shadow:0 28px 90px rgba(0,0,0,.48);
  --rs-a-radius:24px;
}

.rs-consent-v10300,
.rs-consent-settings-modal-v10300,
.rs-consent-settings-v10300,
.rs-privacy-policy-v10300{
  box-sizing:border-box;
  font-family:inherit;
}
.rs-consent-v10300 *,
.rs-consent-settings-modal-v10300 *,
.rs-consent-settings-v10300 *,
.rs-privacy-policy-v10300 *{box-sizing:border-box}

.rs-consent-v10300{
  position:fixed;
  z-index:2147483000;
  left:max(18px,env(safe-area-inset-left));
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  max-width:1180px;
  margin-inline:auto;
  padding:22px 24px;
  border:1px solid var(--rs-a-line);
  border-radius:var(--rs-a-radius);
  background:
    radial-gradient(circle at 10% 0%,rgba(215,173,82,.13),transparent 38%),
    linear-gradient(145deg,rgba(30,27,23,.985),rgba(14,13,11,.985));
  color:var(--rs-a-text);
  box-shadow:var(--rs-a-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  isolation:isolate;
}
.rs-consent-v10300[hidden]{display:none!important}
.rs-consent-v10300__copy{min-width:0}
.rs-consent-v10300__eyebrow{
  display:block;
  margin:0 0 8px;
  color:var(--rs-a-gold-strong);
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.rs-consent-v10300 h2,
.rs-consent-settings-modal-v10300 h2{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(20px,2vw,25px);
  font-weight:750;
  letter-spacing:-.02em;
  line-height:1.16;
}
.rs-consent-v10300 p,
.rs-consent-settings-modal-v10300 p{
  margin:0;
  max-width:760px;
  color:var(--rs-a-muted);
  font-size:14px;
  line-height:1.62;
}
.rs-consent-v10300 a,
.rs-consent-settings-modal-v10300 a,
.rs-privacy-policy-v10300 a{
  color:var(--rs-a-gold-strong);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.rs-consent-v10300 a:hover,
.rs-consent-settings-modal-v10300 a:hover,
.rs-privacy-policy-v10300 a:hover{color:#ffe09a}
.rs-consent-v10300__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  min-width:300px;
}
.rs-consent-v10300 button,
.rs-consent-settings-modal-v10300 button,
.rs-consent-settings-v10300{
  appearance:none;
  min-height:44px;
  border:1px solid rgba(233,198,109,.52);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#fff;
  padding:11px 17px;
  font:inherit;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.rs-consent-v10300 button:hover,
.rs-consent-settings-modal-v10300 button:hover,
.rs-consent-settings-v10300:hover{
  border-color:var(--rs-a-gold-strong);
  background:rgba(233,198,109,.1);
  transform:translateY(-1px);
}
.rs-consent-v10300 button:focus-visible,
.rs-consent-settings-modal-v10300 button:focus-visible,
.rs-consent-settings-v10300:focus-visible,
.rs-consent-v10300 a:focus-visible,
.rs-privacy-policy-v10300 a:focus-visible{
  outline:3px solid rgba(240,202,114,.85);
  outline-offset:3px;
}
.rs-consent-v10300 button.is-primary,
.rs-consent-settings-modal-v10300 button.is-primary{
  border-color:var(--rs-a-gold);
  background:linear-gradient(135deg,var(--rs-a-gold-strong),var(--rs-a-gold));
  color:#17130b;
  box-shadow:0 10px 28px rgba(215,173,82,.22);
}
.rs-consent-v10300 button.is-primary:hover,
.rs-consent-settings-modal-v10300 button.is-primary:hover{
  background:linear-gradient(135deg,#f7da8f,#dcb45a);
  box-shadow:0 13px 34px rgba(215,173,82,.29);
}
.rs-consent-v10300 button.is-settings{border-color:rgba(255,255,255,.18);color:#e4ddd2}

.rs-consent-settings-v10300{
  position:fixed;
  z-index:2147481900;
  left:max(12px,env(safe-area-inset-left));
  bottom:max(10px,env(safe-area-inset-bottom));
  min-height:36px;
  padding:8px 13px;
  border-color:rgba(224,187,103,.34);
  background:rgba(20,18,15,.91);
  color:#f7f1e7;
  font-size:12px;
  opacity:.8;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.rs-consent-settings-v10300:hover,.rs-consent-settings-v10300:focus-visible{opacity:1}

.rs-consent-settings-modal-v10300{
  position:fixed;
  z-index:2147483100;
  inset:0;
  display:grid;
  place-items: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));
}
.rs-consent-settings-modal-v10300[hidden]{display:none!important}
.rs-consent-settings-modal-v10300__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,5,5,.76);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.rs-consent-settings-modal-v10300__dialog{
  position:relative;
  z-index:1;
  width:min(620px,100%);
  max-height:min(760px,calc(100dvh - 36px));
  overflow:auto;
  padding:clamp(23px,5vw,38px);
  border:1px solid var(--rs-a-line);
  border-radius:28px;
  background:
    radial-gradient(circle at 0 0,rgba(215,173,82,.14),transparent 35%),
    linear-gradient(150deg,#211d18,#11100e 70%);
  color:var(--rs-a-text);
  box-shadow:0 35px 120px rgba(0,0,0,.62);
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.rs-consent-settings-modal-v10300__close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  min-width:44px;
  padding:0;
  font-size:24px;
}
.rs-consent-settings-modal-v10300__dialog>p{margin-bottom:20px}
.rs-consent-toggle-v10300{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin:12px 0;
  padding:17px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:17px;
  background:rgba(255,255,255,.035);
  cursor:pointer;
}
.rs-consent-toggle-v10300.is-disabled{opacity:.6;cursor:not-allowed}
.rs-consent-toggle-v10300 input{
  width:22px;
  height:22px;
  margin:1px 0 0;
  accent-color:var(--rs-a-gold);
}
.rs-consent-toggle-v10300 strong{display:block;margin-bottom:5px;color:#fff;font-size:15px}
.rs-consent-toggle-v10300 small{display:block;color:var(--rs-a-muted);font-size:13px;line-height:1.52}
.rs-consent-settings-modal-v10300__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.rs-consent-settings-open-v10300{overflow:hidden}

.rs-privacy-policy-v10300{
  width:min(920px,calc(100% - 32px));
  margin:clamp(36px,7vw,90px) auto;
  color:#211d18;
  font-size:16px;
  line-height:1.75;
}
.rs-privacy-policy-v10300__lead{
  margin:0 0 10px;
  font-size:clamp(18px,2.3vw,23px);
  line-height:1.55;
}
.rs-privacy-policy-v10300__updated{margin:0 0 34px;color:#756d62;font-size:14px}
.rs-privacy-policy-v10300 section{
  margin:0 0 18px;
  padding:clamp(20px,4vw,30px);
  border:1px solid rgba(49,40,30,.12);
  border-radius:20px;
  background:#fffdf8;
  box-shadow:0 12px 35px rgba(52,43,31,.06);
}
.rs-privacy-policy-v10300 h2{margin:0 0 10px;color:#17130f;font-size:clamp(20px,2.6vw,27px);line-height:1.25}
.rs-privacy-policy-v10300 p{margin:0 0 12px}.rs-privacy-policy-v10300 p:last-child{margin-bottom:0}
.rs-privacy-policy-v10300 code{padding:2px 6px;border-radius:6px;background:#f2ece0;color:#3b3126;font-size:.9em}

@media(max-width:900px){
  .rs-consent-v10300{grid-template-columns:1fr;gap:17px}
  .rs-consent-v10300__actions{justify-content:flex-start;min-width:0}
}
@media(max-width:620px){
  .rs-consent-v10300{
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow:auto;
    padding:18px;
    border-radius:20px;
  }
  .rs-consent-v10300__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .rs-consent-v10300__actions .is-settings{grid-column:1/-1}
  .rs-consent-v10300 button{width:100%;padding-inline:10px}
  .rs-consent-settings-v10300{max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rs-consent-settings-modal-v10300{padding:10px}
  .rs-consent-settings-modal-v10300__dialog{max-height:calc(100dvh - 20px);padding:25px 18px 20px;border-radius:21px}
  .rs-consent-settings-modal-v10300__actions{display:grid;grid-template-columns:1fr}
  .rs-consent-settings-modal-v10300__actions button{width:100%}
  .rs-privacy-policy-v10300{width:min(100% - 22px,920px);font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .rs-consent-v10300 button,.rs-consent-settings-modal-v10300 button,.rs-consent-settings-v10300{transition:none}
}
@media(forced-colors:active){
  .rs-consent-v10300,.rs-consent-settings-modal-v10300__dialog,.rs-consent-settings-v10300{border:2px solid CanvasText;background:Canvas;color:CanvasText}
  .rs-consent-v10300 p,.rs-consent-settings-modal-v10300 p{color:CanvasText}
}


/* 10.3.4 — deterministic Privacy Policy page template. */
.rs-privacy-page-v10340{
  min-height:60vh;
  padding:clamp(28px,5vw,70px) 0 clamp(48px,7vw,96px);
  background:#f4efe5;
  color:#211d18;
}
.rs-privacy-page-v10340__article{width:100%;margin:0}
.rs-privacy-page-v10340__header{
  width:min(920px,calc(100% - 32px));
  margin:0 auto 18px;
}
.rs-privacy-page-v10340__eyebrow{
  display:block;
  margin:0 0 12px;
  color:#9b762f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.rs-privacy-page-v10340 h1{
  margin:0;
  color:#17130f;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(38px,6vw,66px);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.05;
}
.rs-privacy-page-v10340 .rs-privacy-policy-v10300{margin-top:24px;margin-bottom:0}
@media(max-width:620px){
  .rs-privacy-page-v10340{padding-top:24px}
  .rs-privacy-page-v10340__header{width:min(100% - 22px,920px)}
  .rs-privacy-page-v10340 h1{font-size:clamp(34px,11vw,48px)}
}
