.legal-page{background:#f5f8ff;color:#0b1732;min-height:100vh}
.legal-page .site-header{position:relative;z-index:50}
.legal-hero{position:relative;overflow:hidden;padding:205px 24px 82px;background:linear-gradient(135deg,#07162f 0%,#102b58 55%,#183f7e 100%);color:#fff}
.legal-hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.legal-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:60px;background:linear-gradient(135deg,rgba(42,94,255,.28),rgba(90,49,255,.04));transform:rotate(24deg);left:-110px;bottom:-140px}
.legal-hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto}
.legal-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#dbe7ff}
.legal-eyebrow i{display:block;width:8px;height:8px;border-radius:50%;background:#ffd436;box-shadow:0 0 0 5px rgba(255,212,54,.12)}
.legal-hero h1{max-width:840px;margin:24px 0 18px;font-size:clamp(36px,5vw,62px);line-height:1.04;letter-spacing:-.045em;font-weight:750}
.legal-hero p{max-width:760px;font-size:17px;line-height:1.75;color:#c9d6ec}
.legal-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.legal-meta span{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:12px;color:#d7e2f5}
.legal-shell{max-width:1180px;margin:0 auto;padding:54px 24px 90px;display:grid;grid-template-columns:285px minmax(0,1fr);gap:34px;align-items:start}
.legal-sidebar{position:sticky;top:24px;background:#fff;border:1px solid #e4eaf5;border-radius:20px;padding:20px;box-shadow:0 18px 50px rgba(16,41,88,.07)}
.legal-sidebar strong{display:block;font-size:13px;color:#8b96aa;text-transform:uppercase;letter-spacing:.08em;margin:2px 0 13px}
.legal-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:#44516a;font-size:13px;line-height:1.35;transition:.2s ease}
.legal-sidebar a:before{content:"";width:6px;height:6px;border-radius:50%;background:#c8d3e8;flex:0 0 auto}
.legal-sidebar a:hover{background:#f1f5ff;color:#1d55e8}
.legal-sidebar a:hover:before{background:#2a5fff}
.legal-card{background:#fff;border:1px solid #e4eaf5;border-radius:24px;padding:42px 46px;box-shadow:0 20px 60px rgba(16,41,88,.07)}
.legal-card .intro{font-size:16px;line-height:1.8;color:#596780;padding:18px 20px;background:#f6f9ff;border:1px solid #e7edfa;border-radius:16px;margin-bottom:32px}
.legal-section{scroll-margin-top:30px;padding:28px 0;border-bottom:1px solid #edf1f7}
.legal-section:first-of-type{padding-top:0}
.legal-section:last-child{border-bottom:0;padding-bottom:0}
.legal-section h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0 0 13px;color:#101b32}
.legal-section h3{font-size:17px;margin:22px 0 8px;color:#17253e}
.legal-section p,.legal-section li{font-size:15px;line-height:1.8;color:#5c6880}
.legal-section p+p{margin-top:12px}
.legal-section ul{margin:12px 0 0 20px;display:grid;gap:8px}
.legal-note{display:flex;gap:14px;padding:17px 18px;border-radius:14px;background:#fff9e8;border:1px solid #f1df9e;color:#6d5b1b;margin:18px 0}
.legal-note b{color:#4d400f}
.legal-note-icon{width:30px;height:30px;border-radius:9px;background:#ffd436;display:grid;place-items:center;flex:0 0 auto;color:#15203a;font-weight:900}
.legal-callout{margin-top:28px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#0f2854,#173c78);color:#fff}
.legal-callout h3{margin:0 0 8px;color:#fff;font-size:20px}
.legal-callout p{margin:0;color:#d2def1;line-height:1.7;font-size:14px}
.legal-callout a{display:inline-flex;margin-top:15px;padding:10px 14px;border-radius:10px;background:#2b63ff;color:#fff;font-weight:700;font-size:13px}
.legal-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;color:#2b63ff;font-weight:700;font-size:13px}
.legal-page .site-footer{margin-top:0}
@media(max-width:900px){.legal-hero{padding-top:175px;padding-bottom:60px}.legal-shell{grid-template-columns:1fr;padding-top:30px}.legal-sidebar{position:relative;top:auto}.legal-card{padding:30px 24px}.legal-sidebar{display:none}}
@media(max-width:600px){.legal-hero{padding:150px 18px 48px}.legal-hero h1{font-size:34px}.legal-hero p{font-size:15px}.legal-shell{padding:24px 14px 55px}.legal-card{border-radius:18px;padding:24px 18px}.legal-section h2{font-size:21px}.legal-section p,.legal-section li{font-size:14px}}

/* === TideSoft responsive hardening — 2026-09 === */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
img,picture,video,canvas,svg,iframe{max-width:100%}
img,picture,video,canvas{height:auto}
iframe{width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;font:inherit}
textarea{resize:vertical}
table{max-width:100%}

@media(max-width:768px){
  body{min-width:0!important}
  main,section,article,aside,header,footer,nav,form{min-width:0}
  h1{font-size:clamp(2rem,10vw,3.25rem)!important;line-height:1.05!important;overflow-wrap:break-word}
  h2{font-size:clamp(1.65rem,7.5vw,2.5rem)!important;line-height:1.12!important;overflow-wrap:break-word}
  h3{overflow-wrap:break-word}
  p,li,a,span,strong,small{overflow-wrap:break-word}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;min-height:44px;font-size:16px!important}
  button,.btn,.btnx,[class*="button"],[class*="-btn"]{min-height:44px}
  .container,[class$="-container"],[class*=" container"],[class*="-wrap"],[class*="-inner"]{max-width:100%}
  [style*="grid-template-columns"]{min-width:0}
  .table-responsive,.table-wrap,[class*="table-wrap"],[class*="table-container"]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:480px){
  h1{font-size:clamp(1.85rem,9vw,2.65rem)!important}
  h2{font-size:clamp(1.5rem,7vw,2.1rem)!important}
  button,.btn,.btnx,[class*="button"],[class*="-btn"]{max-width:100%}
}
