/* privacy-policy-page.css — Phase 4 extraction 2026-04-17. */

/* §1 */
/* ── SKIP LINK ─────────────────────────────────────────── */
    .skip-link{position:absolute;top:-100%;left:16px;z-index:9999;background:#07192E;color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;font-family:"Inter",system-ui,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s}
    .skip-link:focus{top:0}
    /* ── RESET ─────────────────────────────────────────────── */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :focus-visible{outline:2px solid #29ABE2;outline-offset:3px;border-radius:6px}
    a,button,[role="button"]{transition:all 0.2s ease;cursor:pointer}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
    /* ── TOKENS ─────────────────────────────────────────────── */
    :root{
      --blue:#1479A3;--blue-dark:#1366A0;--navy:#07192E;--navy-2:#0D2B45;
      --white:#FFFFFF;--off:#F4F8FC;--surface:#FFFFFF;--border:#E2ECF4;
      --text:#0D1829;--muted:#3D5266;--orange:#F97316;--green:#15803D;
      --font-h:'Poppins',system-ui,sans-serif;--font-b:'Inter',system-ui,sans-serif;
      --ease:cubic-bezier(.22,1,.36,1);
      --shadow-sm:0 1px 4px rgba(7,25,46,.06),0 1px 2px rgba(7,25,46,.04);
      --shadow-md:0 4px 24px rgba(7,25,46,.08),0 2px 8px rgba(7,25,46,.04);
      --shadow-lg:0 16px 56px rgba(7,25,46,.10),0 4px 16px rgba(7,25,46,.06);
      --shadow-xl:0 32px 80px rgba(7,25,46,.14),0 8px 24px rgba(7,25,46,.08);
      --glow-orange:0 0 0 1px rgba(249,115,22,.12),0 8px 24px rgba(249,115,22,.20);
    }
    /* ── BASE ─────────────────────────────────────────────── */
    html{scroll-behavior:smooth;font-size:16px}
    body{font-family:var(--font-b);background:var(--off);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.7;}
    a{text-decoration:none}
    img{max-width:100%;display:block}
    /* ── HEADER ───────────────────────────────────────────── */
    header{position:sticky;top:0;z-index:300;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 100%);-webkit-backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);border-bottom:1px solid rgba(226,236,244,.5);box-shadow:0 1px 0 rgba(226,236,244,.5),0 0 0 0.5px rgba(255,255,255,.8),0 2px 12px rgba(7,25,46,.04),0 4px 24px rgba(7,25,46,.03)}
    header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.95);pointer-events:none;z-index:1}
    header::after{content:'';position:absolute;bottom:-8px;left:0;right:0;height:8px;background:linear-gradient(180deg,rgba(7,25,46,.04) 0%,transparent 100%);pointer-events:none;z-index:-1}
/* NAV CSS extracted to assets/site.css — see _scripts/extract_nav_css.py */
    /* ── BREADCRUMB ──────────────────────────────────────── */
    .breadcrumb{max-width:1200px;margin:0 auto;padding:16px 32px 0;font-family:var(--font-b);font-size:13px;color:var(--muted)}
    .breadcrumb a{color:var(--blue);text-decoration:none;transition:color .15s}
    .breadcrumb a:hover{color:var(--blue-dark)}
    .breadcrumb span{margin:0 6px;opacity:.5}
    /* ── FOOTER ──────────────────────────────────────────── */
    footer{background:#040E1A;padding:64px 32px 32px;color:rgba(255,255,255,.4);position:relative}
    footer::before{content:'';position:absolute;top:-120px;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent 0%,#040E1A 100%);pointer-events:none}
    .ft{max-width:1200px;margin:0 auto}
    .ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
    .ft-logo img{height:36px;width:auto;display:block;margin-bottom:14px}
    .ft-tagline{font-family:var(--font-b);font-size:13.5px;color:rgba(255,255,255,.30);line-height:1.65;margin-bottom:20px}
    .ft-phone{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-b);font-size:14.5px;font-weight:700;color:var(--blue);text-decoration:none;transition:color .15s}
    .ft-phone:hover{color:#7DD4F5}
    .ft-col h3{font-family:var(--font-b);font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:16px}
    .ft-col a{display:block;font-family:var(--font-b);font-size:14px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:10px;transition:color .15s}
    .ft-col a:hover{color:#fff}
    .ft-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--font-b);font-size:12.5px}
    .ft-legal{display:flex;gap:20px}
    .ft-legal a{color:rgba(255,255,255,.26);text-decoration:none;transition:color .15s}
    .ft-legal a:hover{color:#fff}
    /* ── REVEAL ───────────────────────────────────────────── */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
    .reveal.revealed{opacity:1;transform:translateY(0)}
    .reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.18s}.reveal-d3{transition-delay:.28s}
    /* ── CALLBACK WIDGET ────────────────────────────────── */
    .callback-widget{position:fixed;bottom:24px;right:24px;z-index:500}
    .callback-trigger{width:56px;height:56px;border-radius:50%;background:var(--orange);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(249,115,22,.3);transition:transform .2s ease,box-shadow .2s ease;min-height:44px}
    .callback-trigger:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(249,115,22,.4)}
    .callback-trigger svg{width:24px;height:24px;stroke:#fff;fill:none}
    .callback-panel{display:none;position:absolute;bottom:70px;right:0;width:320px;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(7,25,46,.15);padding:24px;transform-origin:bottom right}
    .callback-panel.open{display:block;animation:cbSlideUp .3s ease forwards}
    @keyframes cbSlideUp{from{opacity:0;transform:translateY(10px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}
    .callback-panel h3{font-family:var(--font-h);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}
    .callback-panel p{font-size:14px;color:var(--muted);margin-bottom:16px}
    .callback-panel input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;margin-bottom:12px;font-family:var(--font-b)}
    .callback-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,171,226,.15);outline:none}
    .callback-submit{width:100%;padding:12px;border:none;border-radius:10px;background:var(--orange);color:#fff;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .callback-success{text-align:center;padding:20px 0}
    .callback-success svg{width:48px;height:48px;stroke:#10B981;margin-bottom:12px}
    /* ── MOBILE STICKY CTA ──────────────────────────────── */
    .mob-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:400;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:12px 16px;box-shadow:0 -4px 20px rgba(7,25,46,.08)}
    @media(max-width:768px){.mob-sticky-cta{display:flex;gap:10px;align-items:center}body{padding-bottom:72px}}
    .mob-sticky-cta .mob-cta-btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-h);font-size:15px;font-weight:700;text-align:center;text-decoration:none;transition:transform .15s ease}
    .mob-sticky-cta .mob-cta-btn:active{transform:scale(0.97)}
    .mob-sticky-cta .mob-cta-primary{background:var(--orange);color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .mob-sticky-cta .mob-cta-secondary{background:transparent;color:var(--navy);border:1.5px solid var(--border)}
    /* ── PAGE LAYOUT ─────────────────────────────────────── */
    .page-wrap{max-width:1200px;margin:0 auto;padding:40px 32px 96px}
    /* Hero band */
    .policy-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);padding:56px 32px 48px;position:relative;overflow:hidden}
    .policy-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
    .policy-hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
    .policy-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(41,171,226,.18);color:#7DD4F5;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
    .policy-h1{font-family:var(--font-h);font-size:2rem;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;line-height:1.12;margin-bottom:12px}
    .policy-meta{font-family:var(--font-b);font-size:14px;color:rgba(255,255,255,.55);display:flex;gap:24px;flex-wrap:wrap}
    .policy-meta strong{color:rgba(255,255,255,.8)}
    /* Two-column document layout */
    .doc-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start;margin-top:40px}
    /* TOC sidebar */
    .toc-sidebar{position:sticky;top:100px}
    .toc-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm)}
    .toc-card h2{font-family:var(--font-h);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
    .toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
    .toc-list a{display:block;font-family:var(--font-b);font-size:13.5px;font-weight:500;color:var(--muted);padding:7px 10px;border-radius:8px;text-decoration:none;border-left:2px solid transparent;transition:all .15s;line-height:1.4}
    .toc-list a:hover{color:var(--blue-dark);background:var(--off);border-left-color:var(--blue)}
    .toc-list a.toc-active{color:var(--blue-dark);background:rgba(41,171,226,.07);border-left-color:var(--blue);font-weight:600}
    /* Mobile TOC accordion */
    .toc-mobile{display:none;margin-bottom:28px}
    details.toc-accordion{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden}
    details.toc-accordion summary{cursor:pointer;list-style:none;font-family:var(--font-b);font-size:15px;font-weight:600;color:var(--text);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}
    details.toc-accordion summary::-webkit-details-marker{display:none}
    details.toc-accordion summary::after{content:'+';font-size:22px;font-weight:300;color:var(--muted);line-height:1;flex-shrink:0;transition:transform .2s}
    details.toc-accordion[open] summary::after{transform:rotate(45deg);color:var(--blue)}
    details.toc-accordion[open]{border-color:rgba(41,171,226,.3)}
    .toc-accordion-list{list-style:none;padding:12px 20px 16px;margin:0;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border)}
    .toc-accordion-list a{display:block;font-family:var(--font-b);font-size:14px;font-weight:500;color:var(--muted);padding:7px 0;text-decoration:none;border-bottom:1px solid var(--off);transition:color .15s}
    .toc-accordion-list a:hover{color:var(--blue-dark)}
    .toc-accordion-list li:last-child a{border-bottom:none}
    /* Content area */
    .doc-content{}
    .policy-section{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:36px;margin-bottom:20px;box-shadow:var(--shadow-sm);scroll-margin-top:108px}
    .policy-section-num{font-family:var(--font-b);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
    .policy-section h2{font-family:var(--font-h);font-size:1.45rem;font-weight:700;color:var(--text);margin-bottom:16px;line-height:1.2}
    .policy-section p{font-family:var(--font-b);font-size:15px;color:#2D4356;line-height:1.8;margin-bottom:14px}
    .policy-section p:last-child{margin-bottom:0}
    .policy-section ul,.policy-section ol{font-family:var(--font-b);font-size:15px;color:#2D4356;line-height:1.8;padding-left:22px;margin-bottom:14px}
    .policy-section li{margin-bottom:6px}
    .policy-section h3{font-family:var(--font-b);font-size:15px;font-weight:700;color:var(--text);margin:20px 0 8px}
    .policy-section strong{font-weight:600;color:var(--text)}
    /* Highlight box for special sections */
    .highlight-box{background:rgba(41,171,226,.06);border:1px solid rgba(41,171,226,.2);border-radius:12px;padding:20px 22px;margin:18px 0}
    .highlight-box p{margin-bottom:0}
    /* Warning box */
    .notice-box{background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.2);border-radius:12px;padding:20px 22px;margin:18px 0}
    .notice-box p{margin-bottom:0}
    /* Contact box */
    .contact-box{background:var(--off);border:1px solid var(--border);border-radius:14px;padding:24px;margin-top:8px}
    .contact-box p{margin-bottom:4px}
    /* Responsive */
    @media(max-width:960px){.doc-layout{grid-template-columns:220px 1fr;gap:32px}}
    @media(max-width:768px){nav{display:none}.btn-nav-ghost{display:none}.ham{display:flex}.mob-overlay{display:block}.doc-layout{grid-template-columns:1fr;gap:0}.toc-sidebar{display:none}.toc-mobile{display:block}.page-wrap{padding:28px 20px 72px}.policy-hero{padding:40px 20px 36px}.policy-section{padding:24px 20px}.breadcrumb{padding:14px 20px 0}}
    @media(max-width:520px){.ft-top{grid-template-columns:1fr 1fr;gap:24px}}
  
    nav { display: flex; align-items: center; }
    .nav-item { position: relative; display: flex; align-items: center; }
    .nav-item::after { content:''; position:absolute; top:100%; left:-8px; right:-8px; height:12px; }
    .nav-link, .nav-dd-trigger {
      font-family: var(--font-b); font-size: 14px; font-weight: 500;
      color: var(--muted); text-decoration: none;
      padding: 8px 12px; border-radius: 8px; border: 1px solid transparent;
      display: inline-flex; align-items: center; gap: 4px;
      background: none; cursor: pointer;
      transition: color .15s, background .2s, border-color .2s, box-shadow .2s;
      -webkit-tap-highlight-color: transparent; white-space: nowrap;
    }
    .nav-link:hover, .nav-dd-trigger:hover, .nav-item:hover > .nav-dd-trigger {
      color: var(--text); background: rgba(255,255,255,.7);
      backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
      border-color: rgba(226,236,244,.6); box-shadow: 0 1px 4px rgba(7,25,46,.05);
    }
    .nav-link.active, .nav-dd-trigger.active { color: var(--text); font-weight: 600; }
    .dd-chevron { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2.5; fill: none; transition: transform .2s; flex-shrink: 0; }
    .nav-item:hover .dd-chevron { transform: rotate(180deg); }

    /* ── DROPDOWN PANEL ── */
    .dd-menu {
      position: absolute; top: calc(100% + 10px); left: 50%;
      transform: translateX(-50%) translateY(-6px);
      background: var(--white); border: 1px solid rgba(220,232,241,.9);
      border-radius: 16px; padding: 10px;
      box-shadow: 0 20px 60px rgba(7,25,46,.13), 0 4px 16px rgba(7,25,46,.07);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .18s, transform .18s, visibility 0s linear .18s;
      z-index: 400; min-width: 440px;
    }
    .nav-item:hover .dd-menu {
      opacity: 1; visibility: visible; pointer-events: all;
      transform: translateX(-50%) translateY(0);
      transition: opacity .18s, transform .18s, visibility 0s;
    }
    .dd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .dd-menu a {
      display: flex; align-items: center; gap: 10px;
      padding: 9px 10px; border-radius: 10px;
      font-size: 13.5px; font-weight: 500; color: var(--text);
      text-decoration: none; transition: background .12s, color .12s; white-space: nowrap;
    }
    .dd-menu a:hover { background: var(--off); color: var(--blue-dark); }
    .dd-menu a.active { color: var(--blue-dark); font-weight: 600; background: rgba(41,171,226,.08); }
    .dd-ico {
      width: 30px; height: 30px; border-radius: 8px;
      background: linear-gradient(135deg, rgba(41,171,226,.13), rgba(23,121,184,.07));
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .dd-ico svg { width: 15px; height: 15px; stroke: var(--blue-dark); stroke-width: 1.8; fill: none; }
    .dd-res .dd-ico { background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(249,115,22,.06)); }
    .dd-res .dd-ico svg { stroke: var(--orange); }
    .dd-divider { height: 1px; background: var(--border); margin: 6px 0; }
    .dd-all {
      display: flex; justify-content: center; align-items: center; gap: 5px;
      padding: 8px 10px 4px; font-size: 13px; font-weight: 600;
      color: var(--blue-dark); text-decoration: none; border-radius: 8px;
      transition: background .12s;
    }
    .dd-all:hover { background: var(--off); }
    .dd-all svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2.5; fill: none; }
    .dd-res { min-width: 220px; }

    /* ── MOBILE DRAWER SECTIONS ── */
    .mob-section-head {
      padding: 10px 20px 4px; font-size: 12px; font-weight: 700;
      letter-spacing: .07em; text-transform: uppercase; color: var(--muted);
    }
    .mob-section + .mob-section { border-top: 1px solid var(--off); }
    .mob-nav .mob-view-all { color: var(--blue-dark) !important; font-size: 13px !important; }

    .hd-right { display: flex; align-items: center; gap: 10px; }
    .btn-nav {
      font-family: var(--font-b); font-size: 13.5px; font-weight: 600;
      padding: 9px 18px; border-radius: 8px; cursor: pointer;
      text-decoration: none; transition: all .15s; min-height: 40px;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-nav-ghost { color: var(--text); border: 1px solid var(--border); background: var(--white); }
    .btn-nav-ghost:hover { background: var(--off); border-color: #CBD5E1; }
    .btn-nav-primary { color: #fff; background: var(--orange); border: 1px solid transparent; }
    .btn-nav-primary:hover { background: #EA6C10; transform: translateY(-1px); box-shadow: var(--glow-orange); }

    /* ── HAMBURGER ───────────────────────────────────────── */
    .ham {
      display: none; width: 44px; height: 44px;
      border: none; background: none; cursor: pointer;
      border-radius: 10px; align-items: center; justify-content: center;
      transition: background .15s;
      -webkit-tap-highlight-color: transparent;
    }
    .ham:hover { background: var(--off); }
    .ham svg { width: 22px; height: 22px; stroke: var(--text); stroke-width: 2; fill: none; }

    /* ── MOBILE DRAWER ───────────────────────────────────── */
    .mob-overlay {
      display: none; position: fixed; inset: 0; z-index: 200;
      background: rgba(7,25,46,.45); backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      opacity: 0; transition: opacity .25s; pointer-events: none;
    }
    .mob-overlay.open { opacity: 1; pointer-events: all; }

    .mob-drawer {
      position: fixed; top: 0; right: -320px; bottom: 0; z-index: 250;
      width: 300px; background: var(--white);
      box-shadow: var(--shadow-xl);
      transition: right .32s var(--ease);
      display: flex; flex-direction: column;
    }
    .mob-drawer.open { right: 0; }

    .mob-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 18px 20px; border-bottom: 1px solid var(--border);
    }
    .mob-head img { height: 34px; }
    .mob-close {
      width: 44px; height: 44px;
      border: 1px solid var(--border); background: var(--off);
      border-radius: 8px; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px; line-height: 1; color: var(--muted);
      transition: all .15s; font-family: system-ui;
    }
    .mob-close:hover { background: var(--border); color: var(--text); }

    .mob-nav { flex: 1; padding: 8px 0; overflow-y: auto; }
    .mob-nav a {
      display: flex; align-items: center; padding: 15px 20px;
      font-family: var(--font-b); font-size: 15px; font-weight: 500;
      color: var(--text); text-decoration: none;
      border-bottom: 1px solid var(--off); transition: all .15s;
    }
    .mob-nav a:hover { background: var(--off); color: var(--blue-dark); padding-left: 26px; }

    .mob-footer {
      padding: 18px 20px; border-top: 1px solid var(--border);
      display: flex; flex-direction: column; gap: 10px;
    }
    .mob-cta {
      font-family: var(--font-b); font-size: 14.5px; font-weight: 700;
      text-align: center; text-decoration: none;
      padding: 13px 24px; border-radius: 10px;
      min-height: 48px; display: flex; align-items: center; justify-content: center;
      transition: all .15s;
    }
    .mob-cta-primary { background: var(--orange); color: #fff; }
    .mob-cta-primary:hover { background: #EA6C10; }
    .mob-cta-secondary { background: var(--off); color: var(--text); border: 1px solid var(--border); }
    .mob-cta-secondary:hover { background: var(--border); }
/*callback-widget-mobile-hide-v1*/
@media (max-width: 767px) {
  .callback-widget { display: none !important; }
  .mob-sticky-cta { display: flex !important; }
}
/* reduced-motion-v1 */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
/* mobile-qa-v1 */
@media (max-width: 767px) {
  .btn, button, .btn-primary, .btn-secondary, .btn-outline, .cta, [class*="btn-"], a.button, input[type="submit"], input[type="button"] {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 12px 18px !important;
  }
  p, li, span, a, td, th, label, input, select, textarea, button, .small, .tag, .badge, .meta, .label, .desc, [class*="-desc"], [class*="-meta"], [class*="-label"], [class*="-tag"], [class*="-badge"], [class*="-time"], [class*="-name"], [class*="-val"], [class*="-num"], [class*="-txt"], [class*="-trend"], [class*="-sub"], [class*="-item"], [class*="-sep"] {
    font-size: max(14px, 1em) !important;
  }
  body, main, section, div, table, .container, .wrap, [class*="-wrap"], [class*="-grid"] {
    max-width: 100% !important;
  }
  img, video, iframe, svg { max-width: 100% !important; height: auto; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 88vw !important; max-width: 320px !important; }
  html { overflow-x: hidden !important; }
}
@media (max-width: 359px) {
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 96vw !important; max-width: 100vw !important; }
}
/* scroll-margin-anchor-v2 */
[id], section[id], h1[id], h2[id], h3[id], h4[id] { scroll-margin-top: 130px; }

/* §3 — mobile-boil-the-lake pass 2026-06-01 */
@media (max-width: 767.98px) {
  /* Body/reading text in policy sections: 15px base → 16px floor */
  .policy-section p,
  .policy-section ul,
  .policy-section ol,
  .policy-section li,
  .policy-section h3,
  .policy-section strong,
  .policy-section em,
  .policy-section a {
    font-size: 16px;
  }

  /* summary element (mobile TOC accordion trigger): 15px → 16px */
  details.toc-accordion summary {
    font-size: 16px;
  }

  /* Inline cookie-preference button: 15px → 16px */
  button[data-cc-action] {
    font-size: 16px !important;
  }

  /* h3 inside policy sections: 15px → 16px (section subheadings are reading-level text) */
  .policy-section h3 {
    font-size: 16px;
  }
}

/* §2 */
@media (max-width: 1024px) {
  .cb-fab, .callback-trigger { bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important; }
  .cb-panel, .callback-panel { bottom: calc(160px + env(safe-area-inset-bottom, 0px)) !important; width: min(320px, 90vw) !important; }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .mob-sticky-cta { padding-bottom: env(safe-area-inset-bottom, 0px); }
}
