/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
body{width:100vw;position:relative}

/* ---------- ROOT TOKENS ---------- */
:root{
  --ff:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --fw-n:400;
  --fw-b:600;
  --fw-bold:700;
  --fs:1rem;
  --lh:1.5;
  --bg:#ffffff;
  --fg:#1a1a1a;
  --acc:#2563eb;
  --acc-h:#1d4ed8;
  --muted:#fff;
  --bord:#e5e7eb;
  --code-bg:#f3f4f6;
  --shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);
  --header-height:72px;
}

@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f172a;
    --fg:#f1f5f9;
    --acc:#60a5fa;
    --acc-h:#93c5fd;
    --muted:#d1d5db;
    --bord:#1e293b;
    --code-bg:#1e293b;
    --shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);
    --shadow-lg:0 10px 15px -3px rgba(0,0,0,.3);
  }
}

html.dark-mode{
  --bg:#0f172a;
  --fg:#f1f5f9;
  --acc:#60a5fa;
  --acc-h:#93c5fd;
  --muted:#d1d5db;
  --bord:#1e293b;
  --code-bg:#1e293b;
  --shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.3);
}

html.light-mode{
  --bg:#ffffff;
  --fg:#1a1a1a;
  --acc:#2563eb;
  --acc-h:#1d4ed8;
  --muted:#6b7280;
  --bord:#e5e7eb;
  --code-bg:#f3f4f6;
  --shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);
}

/* ---------- GLOBAL ---------- */
html{scroll-behavior:smooth;font-size:var(--fs);overflow-x:hidden}
body{
  font-family:var(--ff);
  font-weight:var(--fw-n);
  line-height:var(--lh);
  color:var(--fg);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
main{padding-top:var(--header-height)}
img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}
img{height:auto}

/* ---------- TYPOGRAPHY ---------- */
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:var(--fw-b);line-height:1.2}
h1{font-size:2.25rem}
h2{font-size:1.75rem}
h3{font-size:1.5rem}
h4{font-size:1.25rem}
h5,h6{font-size:1.1rem}
p,ul,ol,dl,blockquote,pre,table,figure{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin:.25em 0}
a{color:var(--acc);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
code,kbd,samp{
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  font-size:.9em;
  background:var(--code-bg);
  padding:.1em .3em;
  border-radius:4px
}
pre{
  padding:1em;
  overflow-x:auto;
  background:var(--code-bg);
  border:1px solid var(--bord);
  border-radius:6px
}
pre code{background:none;padding:0}
blockquote{padding-left:1em;border-left:4px solid var(--acc);color:var(--muted);font-style:italic}
hr{border:none;border-top:1px solid var(--bord);margin:2em 0}

/* ---------- TABLES ---------- */
table{width:100%;border-collapse:collapse}
th,td{padding:.5em .75em;text-align:left;border-bottom:1px solid var(--bord)}
th{font-weight:var(--fw-b)}
tbody tr:hover{background:rgba(0 0 0 /.03)}
@media (prefers-color-scheme:dark){tbody tr:hover{background:rgba(255 255 255 /.04)}}

/* ---------- FORMS ---------- */
input,textarea,select,button{font:inherit}
input[type=text],
input[type=email],
input[type=password],
input[type=url],
input[type=number],
input[type=search],
textarea,select{
  width:100%;
  padding:.5em .75em;
  border:1px solid var(--bord);
  border-radius:4px;
  background:var(--bg)
}
button{
  display:inline-block;
  padding:.55em 1.1em;
  border:1px solid var(--acc);
  border-radius:4px;
  background:var(--acc);
  color:#fff;
  cursor:pointer;
  text-align:center
}
button:hover{background:var(--acc-h)}
button:disabled{
  background:var(--muted);
  border-color:var(--muted);
  cursor:not-allowed
}

/* focus styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:3px solid var(--fg);
  outline-offset:2px
}

/* ---------- LAYOUT HELPERS ---------- */
.container{
  max-width:1200px;
  margin:0 auto;
  padding:0 1rem;
  width:100%;
  box-sizing:border-box;
  overflow-x:hidden
}
.header,.hero,.features,.compliance,.integrations,.credentials,.reviews,.why-us,.cta,.footer{overflow-x:hidden;text-align: center;}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(12,1fr)}
.col-span-12{grid-column:span 12}
.col-span-6{grid-column:span 6}
.col-span-4{grid-column:span 4}
.col-span-3{grid-column:span 3}
@media (max-width:768px){
  .grid{grid-template-columns:1fr}
  [class*="col-span"]{grid-column:span 1}
}
.card{
  padding:1.25rem;
  border:1px solid var(--bord);
  border-radius:6px;
  background:var(--bg)
}

/* ---------- SCREEN-READER ONLY ---------- */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0
}

/* ---------- HEADER & NAVIGATION ---------- */
.header{
  background:var(--bg);
  border-bottom:1px solid var(--bord);
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px)
}
.nav-container{
  max-width:1200px;
  margin:0 auto;
  padding:1.25rem 1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  width:100%;
  box-sizing:border-box
}
.logo-section{display:flex;flex-direction:column;gap:.25rem}
.logo{font-size:1.4rem;margin:0;color:var(--acc);font-weight:var(--fw-bold);letter-spacing:-.5px}
.motto{font-size:.75rem;margin:0;color:var(--muted);font-weight:var(--fw-n);letter-spacing:.5px;text-transform:uppercase}
.nav-right{display:flex;align-items:center;gap:1.5rem;margin-left:auto}
.theme-toggle{background:0;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:var(--fg)}
.toggle-track{display:inline-flex;position:relative;width:2.5rem;height:1.4rem;background:var(--bord);border-radius:999px;transition:background-color .3s ease;align-items:center;padding:.15rem}
.toggle-thumb{display:inline-block;width:1.1rem;height:1.1rem;background:var(--fg);border-radius:50%;transition:transform .3s ease,background-color .3s ease;position:absolute;left:.15rem}
@media (prefers-reduced-motion: no-preference){
  .toggle-thumb{transition:transform .3s ease,background-color .3s ease}
}
html.dark-mode .toggle-track{background:var(--acc)}
html.dark-mode .toggle-thumb{transform:translateX(1.1rem);background:#fff}
html.light-mode .toggle-track{background:var(--bord)}
html.light-mode .toggle-thumb{transform:translateX(0);background:var(--fg)}
.nav-menu{list-style:none;display:flex;gap:2.5rem;padding:0;margin:0}
.nav-menu a{color:var(--fg);text-decoration:none;font-weight:var(--fw-n);transition:color .3s ease;font-size:.95rem}
@media (prefers-reduced-motion: no-preference){
  .nav-menu a{transition:color .3s ease}
}
.nav-menu a:hover{color:var(--acc)}

/* ---------- HERO & CTA SECTIONS ---------- */
.hero,.cta{
  padding:4rem 1rem;
  background:linear-gradient(135deg,var(--acc) 0%,#1e40af 100%);
  color:#fff;
  text-align:center
}
.hero{padding:5rem 1rem}
.hero h1{font-size:3rem;margin-bottom:1.25rem;color:#fff;font-weight:var(--fw-bold);letter-spacing:-1px;text-shadow:0 3px 14px rgba(0,0,0,.25)}
.hero p{font-size:1.2rem;margin-bottom:2.5rem;opacity:.95;line-height:1.7;max-width:650px;margin-left:auto;margin-right:auto}
.btn-primary{
  background:#fff;
  color:var(--acc);
  border:none;
  font-weight:var(--fw-bold);
  padding:.85rem 2.25rem;
  font-size:1rem;
  cursor:pointer;
  border-radius:6px;
  box-shadow:var(--shadow-lg)
}
@media (prefers-reduced-motion: no-preference){
  .btn-primary{transition:all .3s ease}
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.2)}

/* ---------- SECTIONS ---------- */
.services,.compliance,.credentials,.pricing{padding:4rem 1rem;background:var(--bg)}
.integrations,.why-us,.reviews{padding:4rem 1rem;background:var(--code-bg)}
section h2{text-align:center;margin-bottom:1rem;font-weight:var(--fw-bold);font-size:2.2rem}
.cta h2{font-size:2.5rem}
section>p,.container>p{text-align:center;color:var(--muted);margin-bottom:3rem;font-size:1.05rem;max-width:700px;margin-left:auto;margin-right:auto}

/* ---------- GRID & CARD STYLES ---------- */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto}
.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.compliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:1200px;margin:0 auto}
.credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;max-width:1200px;margin:0 auto}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}
.benefits{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:0}

/* Card base styles */
.service-card,.integration-item,.compliance-item,.credential-item,.review-card{
  padding:1.75rem;
  border:1px solid var(--bord);
  border-radius:10px;
  background:var(--bg);
  box-shadow:var(--shadow)
}
.service-card,.compliance-item,.credential-item,.review-card{padding:2.25rem}
.compliance-item{border:2px solid var(--acc)}
@media (prefers-reduced-motion: no-preference){
  .compliance-item:hover,.credential-item:hover,.review-card:hover{
    box-shadow:0 12px 24px rgba(37,99,235,.15);
    transform:translateY(-4px)
  }
  .service-card:hover{transform:translateY(-6px)}
  .integration-item:hover{transform:translateY(-3px)}
}
.service-card h3,.compliance-item h3,.credential-item h3{color:var(--acc);margin-bottom:1rem;font-weight:var(--fw-bold);font-size:1.2rem}
.compliance-item h3{font-size:1.3rem}
.credential-item h3{font-size:1.2rem}
.service-card p,.compliance-item p,.credential-item p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.7}
.credential-item p{line-height:1.6}
.benefits li{color:var(--fg);font-weight:var(--fw-n);line-height:1.8;font-size:1rem;background:var(--bg);padding:1.5rem;border-radius:8px;box-shadow:var(--shadow);margin:0}
.integration-item{
  padding:1.75rem;
  border:1px solid var(--bord);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center
}
.integration-name{font-weight:var(--fw-bold);color:var(--fg);font-size:.95rem}
.review-stars{color:#fbbf24;font-size:1.1rem;margin-bottom:1rem;letter-spacing:2px}
.review-text{color:var(--fg);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem;font-style:italic}
.review-author{padding-top:1.5rem;border-top:1px solid var(--bord)}
.author-name{color:var(--fg);font-weight:var(--fw-bold);margin:0 0 .25rem;font-size:.95rem}
.author-title{color:var(--muted);font-size:.85rem;margin:0}
.pricing-card{
  padding:2.25rem;
  border:1px solid var(--bord);
  border-radius:10px;
  background:var(--bg);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column
}
@media (prefers-reduced-motion: no-preference){
  .pricing-card{transition:all .3s ease}
}
.pricing-card.featured{
  border:2px solid var(--acc);
  transform:translateY(-8px);
  box-shadow:0 15px 40px rgba(37,99,235,.2)
}
.pricing-card:hover{box-shadow:0 12px 24px rgba(37,99,235,.15);transform:translateY(-4px)}
.pricing-card.featured:hover{transform:translateY(-12px)}
.pricing-header{margin-bottom:1.5rem}
.pricing-header h3{color:var(--fg);margin:0 0 1rem;font-size:1.3rem;font-weight:var(--fw-bold)}
.price{display:flex;align-items:baseline;gap:.5rem}
.price .amount{font-size:2.5rem;font-weight:var(--fw-bold);color:var(--acc)}
.price .period{color:var(--muted);font-size:.95rem}
.pricing-features{list-style:none;padding:0;margin:0 0 1.5rem;flex-grow:1}
.pricing-features li{
  padding:.5rem 0;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.6;
  border-bottom:1px solid rgba(0,0,0,.05)
}
.pricing-features li:last-child{border-bottom:none}
.btn-pricing{
  width:100%;
  padding:.75rem;
  font-size:.95rem;
  background:var(--acc);
  color:#fff;
  border:none;
  border-radius:6px;
  cursor:pointer;
  font-weight:var(--fw-bold)
}
@media (prefers-reduced-motion: no-preference){
  .btn-pricing{transition:all .3s ease}
}
.btn-pricing:hover{background:var(--acc-h);transform:translateY(-2px)}
.btn-pricing.featured{background:var(--acc);padding:.85rem}
.pricing-note{text-align:center;margin-top:2rem;color:var(--muted);font-size:.95rem}

/* ---------- FOOTER ---------- */
.footer{
  padding:2.5rem 1rem;
  border-top:1px solid var(--bord);
  background:var(--bg)
}
.footer .container{
  max-width:1200px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1.5rem
}
.footer p{margin:0;color:var(--muted);font-size:.9rem}
.footer-links{display:flex;gap:2rem;list-style:none;padding:0;margin:0}
.footer-links a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .3s ease}
@media (prefers-reduced-motion: no-preference){
  .footer-links a{transition:color .3s ease}
}
.footer-links a:hover{color:var(--acc)}

/* ---------- FREE REPORT FORM (hero-embedded) ---------- */
.free-report{padding:1rem 0;background:transparent;margin-top:1.25rem}
.free-report p{text-align:center;margin-bottom:.75rem;color:var(--muted);font-size:1rem}
.report-form{max-width:820px;margin:0 auto;display:grid;gap:.5rem}
.report-form .form-row{display:flex;gap:.5rem}
.report-form .form-inline{align-items:center;justify-content:center;gap:.75rem}
.report-input{
  flex:0 1 420px;
  max-width:60%;
  padding:.65rem .85rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.95);
  font-size:1rem
}
html.dark-mode .report-input{background:rgba(15,23,42,.9);border:1px solid var(--bord);color:var(--fg)}
.form-actions{align-items:center;display:flex;gap:.75rem;justify-content:center}
.report-btn{padding:.6rem 1.15rem;white-space:nowrap}
.report-status{font-size:.95rem;color:var(--muted);min-width:160px}
.report-status.info{color:var(--acc)}
.report-status.success{color:#10b981}
.report-status.error{color:#ef4444}
.small-note{text-align:center;color:#fff;font-size:.82rem;margin-top:.5rem}
.report-footnote{
  font-size:.78rem;
  color:var(--muted);
  margin-top:.5rem;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  opacity:.95
}
.report-footnote sup{font-size:.85rem;vertical-align:top;margin-right:.25rem}
.report-footnote a{color:inherit;text-decoration:underline}

/* Modal consent */
.modal{display:none;position:fixed;inset:0;align-items:center;justify-content:center;z-index:2000}
.modal.open{display:flex}
.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.modal-dialog{
  position:relative;
  z-index:2001;
  background:var(--bg);
  color:var(--fg);
  padding:1.25rem;
  border-radius:10px;
  max-width:720px;
  width:calc(100% - 2rem);
  box-shadow:var(--shadow-lg)
}
.modal-dialog header h3{margin:0 0 .5rem;font-size:1.1rem}
.modal-body{color:var(--muted);line-height:1.5}
.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}
.modal-actions .btn{padding:.5rem .9rem}
@media (max-width:480px){
  .modal-dialog{padding:.85rem}
  .modal-actions{flex-direction:column-reverse}
  .modal-actions .btn{width:100%}
}
html.dark-mode .modal-dialog{background:var(--code-bg);color:var(--fg)}

/* ---------- HERO CARD ---------- */
.hero-card{
  max-width:720px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem 1.25rem;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(2,6,23,.42),rgba(2,6,23,.30));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 40px rgba(2,6,23,.55);
  backdrop-filter:blur(4px)
}
.hero-icon{flex:0 0 48px;width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center}
.hero-icon svg{color:rgba(255,255,255,.95);width:18px;height:18px}
.hero-card-content{flex:1;min-width:0;text-align:center}
.hero-card-lead{margin:0 0 .5rem;color:rgba(255,255,255,.95);font-weight:600;font-size:.98rem}
.hero-card .report-form{max-width:100%;margin:0}
.hero-card .report-input{
  flex:0 1 360px;
  max-width:58%;
  padding:.62rem .9rem;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.95);
  color:var(--fg);
  box-shadow:none
}
html.dark-mode .hero-card{background:linear-gradient(180deg,rgba(2,6,23,.45),rgba(2,6,23,.35))}
html.dark-mode .hero-icon{background:rgba(255,255,255,.03)}
html.dark-mode .hero-card-lead{color:var(--fg)}
.hero-card .report-status{min-width:200px;text-align:left}
.hero-card .report-btn{
  padding:.6rem 1rem;
  border-radius:8px;
  background:#fff;
  color:var(--acc);
  font-weight:700;
  border:none;
  box-shadow:0 10px 26px rgba(37,99,235,.22)
}
@media (prefers-reduced-motion: no-preference){
  .hero-card .report-btn{transition:transform .18s ease,box-shadow .18s ease}
}
.hero-card .report-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,99,235,.26)}
.report-status{transition:all .28s ease,opacity .28s ease}
.report-status.success{transform:translateY(-2px);opacity:1}
.hero-testimonial{margin-top:.75rem;text-align:center}
.hero-testimonial blockquote{margin:0 0 .4rem;font-style:italic;color:rgba(255,255,255,.95)}
.hero-testimonial cite{display:block;font-size:.85rem;color:rgba(255,255,255,.85);opacity:.95}

/* compliance badges */
.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-weight:700;font-size:.82rem;color:#fff;margin-bottom:.6rem}
.badge-pci{background:#e11d48}
.badge-gdpr{background:#7c3aed}
.badge-nist{background:#0ea5a9}

/* credentials stat */
.credentials-stat{margin-top:.75rem;text-align:center;color:var(--muted);font-weight:600}

/* confirmation panel */
.report-confirm{
  padding:1rem;
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:var(--fg);
  text-align:center
}
.report-confirm h3{margin:0 0 .5rem;color:#fff}
.progress{height:10px;background:rgba(255,255,255,.06);border-radius:999px;margin:1rem auto;max-width:420px;overflow:hidden}
.progress-bar{
  height:100%;
  background:linear-gradient(90deg,var(--acc),var(--acc-h));
  width:0%;
  transition:width .6s ease
}
.progress-note{color:rgba(255,255,255,.85);margin-bottom:.75rem}
.confirm-actions{display:flex;gap:.5rem;justify-content:center}
.confirm-actions .btn{padding:.55rem .9rem}

/* input placeholder + focus */
.hero-card .report-input::placeholder{color:rgba(0,0,0,.45)}
html.dark-mode .hero-card .report-input::placeholder{color:rgba(255,255,255,.62)}
.hero-card .report-input{color:var(--fg)}
.hero-card .report-input:focus{
  outline:3px solid rgba(37,99,235,.14);
  box-shadow:0 10px 26px rgba(37,99,235,.08)
}
.hero-card .report-btn:focus{outline:3px solid rgba(37,99,235,.14)}

/* heading improvements */
.hero h1{color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.25)}
.hero p{color:rgba(255,255,255,.9)}

@media (max-width:860px){
  .hero-card{flex-direction:column;align-items:center;padding:1rem}
  .hero-icon{margin-bottom:0}
  .hero-card .report-input{max-width:100%;width:100%}
  .hero-card .report-status{min-width:0;text-align:center}
}

@media (max-width:768px){
  .report-form .form-row{flex-direction:column}
  .report-form .form-inline{align-items:stretch}
  .report-input{flex:1;max-width:100%;padding:.65rem .85rem;border:1px solid var(--bord);background:var(--bg)}
  html.dark-mode .report-input{background:var(--code-bg)}
  .report-btn{width:100%;padding:.75rem}
  .report-status{text-align:center;min-width:0}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){
  :root{--header-height:64px}
  .nav-container{flex-direction:row;gap:.75rem;padding:.75rem}
  .logo-section{min-width:fit-content;text-align:left}
  .logo{font-size:1rem}
  .motto{font-size:.6rem}
  .nav-right{gap:.75rem}
  .nav-menu{gap:.5rem;width:auto;justify-content:flex-start;flex-wrap:nowrap}
  .nav-menu a{font-size:.75rem;white-space:nowrap}
  .theme-toggle{order:0;flex-shrink:0}
  .hero h1{font-size:2rem}
  .hero p{font-size:1rem}
  .compliance-grid,.credentials-grid,.reviews-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .pricing-card.featured{transform:translateY(0)}
  .integration-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}
  .benefits{grid-template-columns:1fr}
  .footer .container{flex-direction:column;text-align:center}
  .footer-links{justify-content:center}
}

/* ---------- PRINT ---------- */
@media print{
  .header,.theme-toggle,.btn,.footer-links{display:none}
  body{color:#000;background:#fff}
  .pricing-card{break-inside:avoid;border:1px solid #ccc}
}