:root { --paper:#f6f4ef; --ink:#171714; --red:#d5231b; --line:#dedad3; }
html, body { scroll-behavior:smooth; }
body { background:radial-gradient(circle at 12% 4%,#fff 0,transparent 30%),var(--paper) !important; color:var(--ink); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
body > x-dc > div { background:transparent !important; }
/* overflow-x:clip (not hidden) blocks horizontal scroll WITHOUT creating a
   scroll container, so position:sticky headers stay pinned to the viewport. */
html,body,x-dc,body > x-dc > div { width:100%; max-width:100%; overflow-x:clip; }
img,video,iframe,svg { max-width:100%; }
h1,h2,h3,h4,p,li { overflow-wrap:normal; word-break:normal; hyphens:none; }
h1,h2,h3,h4 { text-wrap:balance; }
p,li { text-wrap:pretty; }
.site-header { position:sticky; top:0; z-index:30; padding-top:22px !important; padding-bottom:18px !important; }
.site-header::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); z-index:-1; background:rgba(246,244,239,.82); -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3); border-bottom:1px solid rgba(23,23,20,.07); box-shadow:0 6px 22px rgba(23,23,20,.05); }
.site-logo { height:60px !important; }
.site-mainnav { gap:30px !important; font-size:13px !important; font-weight:600 !important; letter-spacing:.06em !important; }
.site-mainnav a { position:relative; transition:transform .2s ease,color .2s ease; }
.site-mainnav a:hover { transform:translateY(-2px); }
.site-mainnav a[style*="border-bottom"] { border-bottom-width:1px !important; }
.site-mainnav a::after, .forum-mainnav a::after { content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; border-radius:99px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.site-mainnav a:hover::after, .forum-mainnav a:hover::after { transform:scaleX(1); }
.site-lang { padding:3px; border:1px solid #d5d1c7 !important; border-radius:999px !important; background:rgba(255,255,255,.72); }
.site-lang button { border-radius:999px; }
.site-mobile-menu { display:none; }
.site-header-divider { display:none !important; }
.site-page-hero { position:relative; }
.site-page-hero::before { content:''; display:block; width:52px; height:5px; margin-bottom:24px; border-radius:99px; background:var(--red); }
input,textarea,select { border-radius:12px !important; transition:border-color .2s ease,box-shadow .2s ease; }
input:focus,textarea:focus,select:focus { outline:none; border-color:var(--red) !important; box-shadow:0 0 0 4px rgba(213,35,27,.1); }
a[style*="padding:"] { transition:transform .2s ease,box-shadow .2s ease; }
a[style*="padding:"]:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(0,0,0,.12); }
/* NOTE: the x-dc framework re-serializes inline styles via CSSOM, so rendered
   attributes use normalized syntax ("background: rgb(20, 20, 20)", spaces after
   colons). Every [style*=] rule needs both the raw-source and normalized form. */
div[style*="border:1px solid #e5e3df"],
div[style*="border: 1px solid rgb(229, 227, 223)"] { border-color:var(--line) !important; border-radius:18px !important; background:rgba(255,255,255,.58); }

/* ===== Sub-page visual refresh (selectors target inline styles) ===== */
.site-page-hero h1 { letter-spacing:-.015em; }
/* dark panels: bonus card, stats bar, contact bar, contact form */
div[style*="background:#141414"][style*="padding:30px"],
div[style*="background:#141414"][style*="padding:36px"],
div[style*="background: rgb(20, 20, 20)"][style*="padding: 30px"],
div[style*="background: rgb(20, 20, 20)"][style*="padding: 36px"] { background:linear-gradient(135deg,#16130f 0%,#282218 100%) !important; border-radius:22px !important; box-shadow:0 24px 55px rgba(21,19,15,.18); }
/* numbered step squares -> red chips */
div[style*="background:#141414"][style*="width:34px"],
div[style*="background:#141414"][style*="width:30px"],
div[style*="background: rgb(20, 20, 20)"][style*="width: 34px"],
div[style*="background: rgb(20, 20, 20)"][style*="width: 30px"] { background:linear-gradient(135deg,#d5231b,#b3170f) !important; border-radius:10px !important; box-shadow:0 6px 14px rgba(213,35,27,.25); }
/* card grids: solid surface + hover lift */
div[style*="border:1px solid #e5e3df"][style*="padding:26px"],
div[style*="border:1px solid #e5e3df"][style*="padding:30px"],
div[style*="border: 1px solid rgb(229, 227, 223)"][style*="padding: 26px"],
div[style*="border: 1px solid rgb(229, 227, 223)"][style*="padding: 30px"] { background:#fff; transition:transform .25s ease,box-shadow .25s ease; }
div[style*="border:1px solid #e5e3df"][style*="padding:26px"]:hover,
div[style*="border:1px solid #e5e3df"][style*="padding:30px"]:hover,
div[style*="border: 1px solid rgb(229, 227, 223)"][style*="padding: 26px"]:hover,
div[style*="border: 1px solid rgb(229, 227, 223)"][style*="padding: 30px"]:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(26,23,18,.09); }
/* packages table */
.pkg-head { background:linear-gradient(135deg,#16130f,#2a241b) !important; }
.pkg-row { transition:background .2s ease; }
.pkg-row:hover { background:rgba(213,35,27,.045); }
/* checkmarks -> round chips */
div[style*="color:#e2231a"][style*="font-weight:900"][style*="font-size:18px"],
div[style*="color: rgb(226, 35, 26)"][style*="font-weight: 900"][style*="font-size: 18px"] { width:26px; height:26px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(213,35,27,.1); font-size:14px !important; }
/* form submit button */
button[style*="background:#e2231a"],
button[style*="background: rgb(226, 35, 26)"] { position:relative; overflow:hidden; border-radius:12px !important; transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
button[style*="background:#e2231a"]:hover,
button[style*="background: rgb(226, 35, 26)"]:hover { transform:translateY(-2px); filter:brightness(.94); box-shadow:0 12px 26px rgba(226,35,26,.3); }
button[style*="background:#e2231a"]:active,
button[style*="background: rgb(226, 35, 26)"]:active { transform:translateY(0) scale(.98); }
.site-ripple { position:absolute; width:14px; height:14px; border-radius:50%; background:rgba(255,255,255,.5); pointer-events:none; transform:translate(-50%,-50%) scale(0); animation:site-ripple .6s ease-out forwards; }
@media (max-width:600px) {
  .site-header { position:sticky !important; top:0; z-index:30; display:block !important; width:100%; min-height:64px; padding:8px 16px !important; background:rgba(246,244,239,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(23,23,20,.08); }
  .site-header::before { display:none !important; }
  .site-logo-wrap { position:absolute !important; top:11px; left:50%; transform:translateX(-50%); }
  .site-logo { width:auto !important; height:40px !important; max-width:145px !important; }
  .site-tools { margin:0 !important; }
  .site-mainnav { display:none !important; }
  .site-lang { position:absolute !important; top:16px; right:16px; display:flex !important; font-size:11px !important; }
  .site-lang button { min-width:27px; padding:6px 3px !important; }
  .site-mobile-menu { display:block; position:absolute; top:12px; left:16px; z-index:5; }
  .site-mobile-menu summary { list-style:none; display:grid; place-items:center; place-content:center; width:40px; height:40px; border:1px solid #d8d4ca; border-radius:13px; background:#fff; cursor:pointer; font-size:0; box-shadow:0 4px 14px rgba(23,23,20,.08); transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .15s ease; }
  .site-mobile-menu summary::-webkit-details-marker { display:none; }
  .site-mobile-menu summary:active { transform:scale(.92); }
  .site-mobile-menu summary::before, .site-mobile-menu summary::after { content:''; grid-area:1/1; width:18px; height:2px; border-radius:99px; background:var(--ink); transition:transform .25s ease,box-shadow .25s ease,background .2s ease; }
  .site-mobile-menu summary::before { box-shadow:0 -6px 0 var(--ink), 0 6px 0 var(--ink); }
  .site-mobile-menu[open] summary { background:var(--red); border-color:var(--red); box-shadow:0 10px 26px rgba(213,35,27,.35); }
  .site-mobile-menu[open] summary::before { box-shadow:0 -6px 0 rgba(255,255,255,0), 0 6px 0 rgba(255,255,255,0); transform:rotate(45deg); background:#fff; }
  .site-mobile-menu[open] summary::after { transform:rotate(-45deg); background:#fff; }
  .site-mobile-menu nav { position:absolute; top:calc(100% + 12px); left:0; display:grid !important; gap:2px; width:min(300px,calc(100vw - 32px)); padding:10px; background:#fff; border:1px solid rgba(23,23,20,.06); border-radius:20px; box-shadow:0 24px 60px rgba(23,23,20,.28); }
  .site-mobile-menu[open] nav { animation:site-menu-pop .3s cubic-bezier(.22,1,.36,1); }
  .site-mobile-menu a { position:relative; display:flex; align-items:center; padding:13px 12px 13px 16px !important; border-bottom:0 !important; border-radius:13px; color:var(--ink) !important; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
  .site-mobile-menu a::after { content:'→'; margin-left:auto; padding-left:12px; color:#cfcabf; font-weight:400; }
  .site-mobile-menu a:active { background:var(--paper); }
  .site-mobile-menu a[aria-current="page"] { color:var(--red) !important; background:rgba(213,35,27,.07); }
  .site-mobile-menu a[aria-current="page"]::before { content:''; position:absolute; left:5px; top:50%; width:3px; height:18px; transform:translateY(-50%); border-radius:99px; background:var(--red); }
  .site-mobile-menu a[aria-current="page"]::after { color:var(--red); }
  .site-mobile-menu[open] nav a { animation:site-menu-item .4s ease backwards; }
  .site-mobile-menu[open] nav a:nth-child(1) { animation-delay:.04s; }
  .site-mobile-menu[open] nav a:nth-child(2) { animation-delay:.09s; }
  .site-mobile-menu[open] nav a:nth-child(3) { animation-delay:.14s; }
  .site-mobile-menu[open] nav a:nth-child(4) { animation-delay:.19s; }
  body:has(.site-mobile-menu[open]) { overflow:hidden; }
  body:has(.site-mobile-menu[open])::before { content:''; position:fixed; inset:0; z-index:25; background:rgba(23,23,20,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); animation:site-menu-fade .25s ease; }
  .site-page-hero { width:100% !important; max-width:100% !important; padding-top:36px !important; padding-bottom:8px !important; overflow:hidden; }
  .site-page-hero > * { min-width:0; max-width:100%; }
  .site-page-hero h1 { width:100%; max-width:100% !important; margin-bottom:14px !important; font-size:clamp(22px,6.8vw,30px) !important; line-height:1.1 !important; letter-spacing:-.025em !important; overflow-wrap:anywhere !important; word-break:normal !important; hyphens:none !important; text-wrap:balance; }
  .site-page-hero p { width:100%; max-width:38em !important; margin-top:14px !important; font-size:clamp(14px,4vw,16px) !important; line-height:1.58 !important; overflow-wrap:normal !important; word-break:normal !important; text-wrap:pretty; }
  h2,h3,h4 { max-width:100%; line-height:1.15 !important; overflow-wrap:anywhere; }
  p,li { max-width:100%; }
  a { overflow-wrap:anywhere; }
  [style*="display:flex"] > *,[style*="display:grid"] > *,
  [style*="display: flex"] > *,[style*="display: grid"] > * { min-width:0; }
  div[style*="min-width:300px"],div[style*="min-width:280px"],
  div[style*="min-width: 300px"],div[style*="min-width: 280px"] { min-width:0 !important; }
  /* the sub-pages' own inline mobile rules never match the rendered
     (normalized) style attributes — reproduce them here */
  div[style*="max-width: 1240px"]:not(.site-header) { padding-left:16px !important; padding-right:16px !important; }
  h2 { font-size:clamp(21px,6vw,26px) !important; }
  div[style*="padding: 40px"],div[style*="padding: 36px"],
  div[style*="padding: 32px"],div[style*="padding: 30px"] { padding:22px !important; }
  [style*="border-right: 1px solid rgb(51, 51, 51)"],
  [style*="border-right: 1px solid rgb(229, 227, 223)"] { border-right:none !important; }
}
@keyframes site-menu-fade { from { opacity:0; } }
@keyframes site-menu-pop { from { opacity:0; transform:translateY(-10px) scale(.97); } }
@keyframes site-menu-item { from { opacity:0; transform:translateX(-10px); } }
@keyframes site-ripple { to { transform:translate(-50%,-50%) scale(24); opacity:0; } }
@media (prefers-reduced-motion:reduce) {
  .site-mobile-menu nav,.site-mobile-menu nav a,.site-mobile-menu summary,.site-mobile-menu summary::before,.site-mobile-menu summary::after { animation:none !important; transition:none !important; }
  body::before { animation:none !important; }
  html { scroll-behavior:auto; }
  .site-ripple { animation:none !important; display:none; }
}
