/* =========================================================
   DevSeguro — Shared Design System (Preview A: Secure Intelligence)
   ========================================================= */
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-800-normal.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(fonts/inter-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter Fallback';src:local('Arial');size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}
@font-face{font-family:'Manrope Fallback';src:local('Arial');size-adjust:104%;ascent-override:96%;descent-override:26%;line-gap-override:0%}

:root{
  --bg-0:#080B12;
  --bg-1:#0D1220;
  --bg-2:#11182D;
  --line:#1E2740;
  --line-soft:#161D33;
  --text-0:#F4F6FA;
  --text-1:#9BA4B5;
  --text-2:#8590A6;
  --blue:#4F7CFF;
  --blue-dim:#2C3E6E;
  --blue-tint:rgba(79,124,255,0.08);
  --mint:#2FD6A0;
  --mint-dim:#173C31;
  --mint-tint:rgba(47,214,160,0.08);
  --amber:#E8A94A;
  --amber-dim:#3D2E13;
  --red:#F0665F;
  --red-dim:#3A1B1B;

  --light-0:#FBFBFD;
  --light-1:#F2F3F7;
  --light-line:#E3E5EC;
  --dark-on-light:#0B0E17;
  --gray-on-light:#585F70;

  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-0);
  color:var(--text-0);
  font-family:'Inter','Inter Fallback', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.mono{font-family:'JetBrains Mono', monospace;}
.display{font-family:'Manrope','Manrope Fallback', sans-serif;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--blue); color:#fff;}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}
img{max-width:100%; display:block;}
ul{list-style:none;}

.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.wrap-narrow{max-width:880px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ .wrap, .wrap-narrow{padding:0 20px;} }

/* ===== TYPE ===== */
.kicker{font-family:'JetBrains Mono'; font-size:12.5px; color:var(--blue); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:14px; display:block;}
.kicker.mint{color:var(--mint);}
h1.page-title{font-family:'Manrope','Manrope Fallback'; font-weight:800; letter-spacing:-0.025em; font-size:clamp(32px,4.8vw,54px); line-height:1.08;}
h2.section-title{font-family:'Manrope','Manrope Fallback'; font-weight:800; font-size:clamp(24px,3vw,34px); letter-spacing:-0.02em; line-height:1.18;}
h3.card-title{font-family:'Manrope','Manrope Fallback'; font-weight:700; font-size:19px;}
.section-sub{color:var(--text-1); font-size:15.5px; margin-top:14px; line-height:1.65;}
.lede{font-size:17px; color:var(--text-1); line-height:1.65; max-width:640px;}

/* ===== NAV ===== */
nav.sitenav{position:sticky; top:0; z-index:50; background:rgba(8,11,18,0.85); backdrop-filter:blur(14px); border-bottom:1px solid var(--line);}
nav.sitenav .wrap{display:flex; align-items:center; justify-content:space-between; height:68px;}
.logo{display:flex; align-items:center; gap:9px; font-family:'Manrope','Manrope Fallback'; font-weight:800; font-size:18px; letter-spacing:-0.01em;}
.logo .dot{width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 10px var(--mint);}
.navlinks{display:flex; gap:clamp(16px,1.7vw,24px); font-size:14.5px; color:var(--text-1);}
.navlinks a{transition:color .15s; white-space:nowrap;}
.navlinks a:hover, .navlinks a.active{color:var(--text-0);}
.navlinks a.active{color:var(--blue);}
.navcta{display:flex; align-items:center; gap:12px;}
.navcta a{white-space:nowrap;}
.lang-switcher{position:relative;}
.lang-pill{font-size:12.5px; color:var(--text-1); border:1px solid var(--line); padding:6px 11px; border-radius:999px; font-family:'JetBrains Mono'; white-space:nowrap; background:none; cursor:pointer; transition:border-color .15s, color .15s;}
.lang-pill:hover{border-color:var(--text-2); color:var(--text-0);}
.lang-pill.open{border-color:var(--blue); color:var(--blue);}
.lang-menu{position:absolute; top:calc(100% + 8px); right:0; background:var(--bg-1); border:1px solid var(--line); border-radius:10px; padding:6px; min-width:150px; box-shadow:0 12px 28px -8px rgba(0,0,0,0.4); display:none; flex-direction:column; gap:2px; z-index:60;}
.lang-menu.open{display:flex;}
.lang-menu button{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:9px 11px; border-radius:7px; font-size:13px; color:var(--text-1); background:none; border:none; cursor:pointer; text-align:left; width:100%; font-family:'Inter','Inter Fallback';}
.lang-menu button:hover{background:var(--bg-2); color:var(--text-0);}
.lang-menu button.selected{color:var(--blue);}
.lang-menu button .check{font-family:'JetBrains Mono'; font-size:12px; color:var(--blue); opacity:0;}
.lang-menu button.selected .check{opacity:1;}
.lang-toast{position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--bg-2); border:1px solid var(--blue-dim); color:var(--text-0); font-size:13px; padding:12px 18px; border-radius:10px; box-shadow:0 12px 28px -8px rgba(0,0,0,0.5); opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; z-index:100; max-width:90vw; text-align:center;}
.lang-toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
.mobile-lang{padding:14px 32px; display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--line-soft);}
.mobile-lang button{font-size:12.5px; padding:7px 13px; border-radius:999px; border:1px solid var(--line); background:none; color:var(--text-1); cursor:pointer; font-family:'JetBrains Mono';}
.mobile-lang button.selected{border-color:var(--blue); color:var(--blue);}
@media (max-width:1180px){ .navlinks, .lang-switcher{display:none;} }

.menu-btn{display:none; width:36px; height:36px; border:1px solid var(--line); border-radius:8px; background:none; color:var(--text-0); align-items:center; justify-content:center; cursor:pointer;}
@media (max-width:1180px){ .menu-btn{display:flex;} }
.mobile-menu{display:none; flex-direction:column; gap:2px; padding:14px 0 20px; border-bottom:1px solid var(--line); background:var(--bg-0);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:12px 32px; font-size:15px; color:var(--text-1); border-bottom:1px solid var(--line-soft);}
.mobile-menu a.active{color:var(--blue);}

/* ===== BUTTONS ===== */
.btn-primary{background:#3A63DB; color:#fff; font-weight:600; font-size:14px; padding:10px 18px; border-radius:8px; transition:background .15s, transform .15s; border:1px solid #3A63DB; display:inline-block; cursor:pointer;}
.btn-primary:hover{background:#2F55C4; transform:translateY(-1px);}
.btn-ghost{color:var(--text-0); font-weight:500; font-size:14px; padding:10px 16px; border:1px solid var(--line); border-radius:8px; transition:border-color .15s, background .15s; display:inline-block; cursor:pointer; background:none;}
.btn-ghost:hover{border-color:var(--text-2); background:var(--bg-1);}
.btn-lg{padding:13px 24px; font-size:15px; border-radius:9px;}
.btn-mint{background:var(--mint); color:#06231A; border-color:var(--mint);}
.btn-mint:hover{background:#26C494;}
.btn-block{width:100%; text-align:center;}

/* ===== HERO (sub-pages) ===== */
.pagehero{position:relative; padding:72px 0 56px; border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 15% 0%, rgba(79,124,255,0.12), transparent 45%);
}
.pagehero-grid{position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom, black, transparent 90%);}
.pagehero .wrap{position:relative; z-index:1;}
.breadcrumb{font-family:'JetBrains Mono'; font-size:12px; color:var(--text-2); margin-bottom:18px; display:flex; gap:8px; align-items:center;}
.breadcrumb a:hover{color:var(--text-1);}

/* ===== SECTIONS ===== */
section.block{padding:88px 0;}
section.block.tight{padding:60px 0;}
section.block.bordered{border-top:1px solid var(--line);}
section.block.panel{background:var(--bg-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
section.block.light{background:var(--light-0); color:var(--dark-on-light);}
section.block.light .kicker{color:#3D63D6;}
section.block.light .section-sub{color:var(--gray-on-light);}
section.block.light h2.section-title{color:var(--dark-on-light);}

/* ===== CARDS ===== */
.card{background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px 26px; transition:border-color .2s, background .2s;}
.card:hover{border-color:var(--line-strong,#2A3455); background:var(--bg-2);}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (max-width:900px){ .grid-3, .grid-4{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .grid-3, .grid-2, .grid-4{grid-template-columns:1fr;} }

.checklist{display:flex; flex-direction:column; gap:10px; margin-top:16px;}
.checklist li{font-size:13.5px; color:var(--text-1); display:flex; align-items:flex-start; gap:9px; line-height:1.5;}
.checklist li::before{content:'✓'; color:var(--mint); font-weight:700; font-size:12px; margin-top:2px; flex-shrink:0;}
.checklist.light li{color:#414A5C;}
.checklist.light li::before{color:#1F8A63;}
.dashlist{display:flex; flex-direction:column; gap:9px; margin-top:16px;}
.dashlist li{font-size:13.5px; color:var(--text-1); padding-left:16px; position:relative; line-height:1.5;}
.dashlist li::before{content:''; width:4px; height:4px; border-radius:50%; background:var(--text-2); position:absolute; left:0; top:7px;}

/* ===== BADGES / STATUS ===== */
.badge{font-family:'JetBrains Mono'; font-size:11px; padding:5px 11px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.badge .dot{width:5px; height:5px; border-radius:50%;}
.badge.blue{background:var(--blue-tint); color:var(--blue);}
.badge.blue .dot{background:var(--blue);}
.badge.mint{background:var(--mint-tint); color:var(--mint);}
.badge.mint .dot{background:var(--mint);}
.badge.amber{background:rgba(232,169,74,0.1); color:var(--amber);}
.badge.amber .dot{background:var(--amber);}
.badge.red{background:rgba(240,102,95,0.1); color:var(--red);}
.badge.red .dot{background:var(--red);}

/* ===== SEVERITY TAGS ===== */
.severity{font-family:'JetBrains Mono'; font-size:10.5px; padding:3px 9px; border-radius:5px; text-transform:uppercase; letter-spacing:0.03em;}
.severity.critical{background:var(--red-dim); color:var(--red);}
.severity.high{background:rgba(240,102,95,0.12); color:#F08880;}
.severity.medium{background:var(--amber-dim); color:var(--amber);}
.severity.low{background:var(--mint-dim); color:var(--mint);}

/* ===== TABLE ===== */
.pricetable{width:100%; border-collapse:collapse; margin-top:20px;}
.pricetable th{font-family:'JetBrains Mono'; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-2); text-align:left; padding:12px 16px; border-bottom:1px solid var(--line);}
.pricetable td{padding:16px; border-bottom:1px solid var(--line-soft); font-size:14px;}
.pricetable tr:last-child td{border-bottom:none;}
.pricetable td.price{font-family:'JetBrains Mono'; font-weight:600; color:var(--text-0);}
.pricetable td.rowtitle{font-weight:600;}
.pricetable tbody tr:hover{background:var(--bg-1);}

/* ===== PILL NAV (tabs) ===== */
.tabbar{display:flex; gap:8px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:0; margin-bottom:36px;}
.tabbtn{font-size:13.5px; padding:10px 16px; color:var(--text-1); border-bottom:2px solid transparent; cursor:pointer; transition:color .15s, border-color .15s;}
.tabbtn:hover{color:var(--text-0);}
.tabbtn.active{color:var(--blue); border-color:var(--blue);}

/* ===== FAQ ACCORDION ===== */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{padding:20px 4px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; font-size:15px; gap:20px;}
.faq-q .plus{font-family:'JetBrains Mono'; font-size:18px; color:var(--text-2); transition:transform .2s; flex-shrink:0;}
.faq-item.open .faq-q .plus{transform:rotate(45deg); color:var(--blue);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-item.open .faq-a{max-height:400px;}
.faq-a p{padding:0 4px 20px; font-size:14.5px; color:var(--text-1); line-height:1.7; max-width:720px;}

/* ===== FORM ===== */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:32px;}
.form-grid.full{grid-template-columns:1fr;}
@media (max-width:640px){ .form-grid{grid-template-columns:1fr;} }
.field{display:flex; flex-direction:column; gap:7px;}
.field.span-2{grid-column:span 2;}
@media (max-width:640px){ .field.span-2{grid-column:span 1;} }
.field label{font-size:12.5px; color:var(--text-1); font-family:'JetBrains Mono';}
.field input, .field select, .field textarea{
  background:var(--bg-1); border:1px solid var(--line); border-radius:8px; padding:11px 14px;
  color:var(--text-0); font-size:14px; font-family:'Inter','Inter Fallback'; transition:border-color .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--blue);}
.field textarea{resize:vertical; min-height:110px;}

/* ===== CONTACT INFO ===== */
.contact-info{display:flex; flex-direction:column; gap:20px;}
.contact-row{display:flex; gap:14px; align-items:flex-start;}
.contact-icon{width:38px; height:38px; border-radius:10px; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'JetBrains Mono'; font-size:15px;}
.contact-label{font-size:12.5px; color:var(--text-2); margin-bottom:2px;}
.contact-value{font-size:14.5px; font-weight:500;}
.contact-value a:hover{color:var(--blue);}

/* ===== PILLARS / PILLAR NAV (mini pipeline reused) ===== */
.stepline{position:relative; display:flex; justify-content:space-between; margin:50px 0 10px;}
.stepline::before{content:''; position:absolute; top:19px; left:19px; right:19px; height:1px; background:linear-gradient(90deg, var(--blue-dim), var(--line) 50%, var(--mint-dim));}
.step-node{display:flex; flex-direction:column; align-items:center; gap:10px; width:120px; position:relative; z-index:1;}
.step-dot{width:38px; height:38px; border-radius:50%; background:var(--bg-1); border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono'; font-size:12px; color:var(--text-1);}
.step-node.done .step-dot{border-color:var(--mint-dim); color:var(--mint);}
.step-node.active .step-dot{border-color:var(--blue); color:var(--blue);}
.step-label{font-size:12.5px; color:var(--text-1); text-align:center;}
@media (max-width:700px){ .stepline{flex-wrap:wrap; row-gap:22px;} .stepline::before{display:none;} .step-node{width:30%;} }

/* ===== FOOTER ===== */
footer.sitefoot{background:var(--bg-2); padding:70px 0 40px; border-top:1px solid var(--line); background-image:radial-gradient(circle at 50% 0%, rgba(79,124,255,0.1), transparent 55%);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px;}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:34px;} }
@media (max-width:500px){ .footer-grid{grid-template-columns:1fr;} }
.footer-col h4{font-size:13px; color:var(--text-2); font-family:'JetBrains Mono'; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:16px;}
.footer-col a, .footer-col p{display:block; font-size:14px; color:var(--text-1); margin-bottom:11px;}
.footer-col a:hover{color:var(--text-0);}
.footer-bottom{padding-top:28px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
.footer-links{display:flex; gap:24px; font-size:13.5px; color:var(--text-2);}
.footer-links a:hover{color:var(--text-1);}
.footnote{font-size:12.5px; color:var(--text-2);}

/* ===== FINAL CTA ===== */
.finalcta{text-align:center; max-width:600px; margin:0 auto; padding:20px 0 10px;}
.finalcta h2{font-family:'Manrope','Manrope Fallback'; font-weight:800; font-size:clamp(26px,3.6vw,40px); letter-spacing:-0.02em; margin-bottom:18px;}
.finalcta .ctas{display:flex; gap:14px; justify-content:center; margin-top:30px; flex-wrap:wrap;}

/* ===== AI ADVISOR CHAT ===== */
.chat-shell{max-width:640px; margin:0 auto; background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; height:620px;}
.chat-head{padding:16px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; background:var(--bg-2);}
.chat-head-id{display:flex; align-items:center; gap:10px;}
.chat-avatar{width:32px; height:32px; border-radius:9px; background:linear-gradient(135deg, var(--blue), var(--mint)); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono'; font-size:12px; font-weight:700; color:#06111F;}
.chat-title{font-weight:700; font-size:14px;}
.chat-status{font-size:11.5px; color:var(--mint); font-family:'JetBrains Mono'; display:flex; align-items:center; gap:6px;}
.chat-status .dot{width:5px; height:5px; border-radius:50%; background:var(--mint);}
.chat-lang{font-size:11.5px; color:var(--text-2); border:1px solid var(--line); padding:5px 10px; border-radius:999px; font-family:'JetBrains Mono';}
.chat-body{flex:1; overflow-y:auto; padding:22px 20px; display:flex; flex-direction:column; gap:16px;}
.msg{display:flex; gap:10px; max-width:88%; animation:msgin .25s ease;}
@keyframes msgin{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.msg.bot{align-self:flex-start;}
.msg.user{align-self:flex-end; flex-direction:row-reverse;}
.msg-avatar{width:26px; height:26px; border-radius:7px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-family:'JetBrains Mono';}
.msg.bot .msg-avatar{background:var(--blue-tint); color:var(--blue);}
.msg.user .msg-avatar{background:var(--mint-tint); color:var(--mint);}
.msg-bubble{padding:11px 15px; border-radius:12px; font-size:14px; line-height:1.55;}
.msg.bot .msg-bubble{background:var(--bg-2); border:1px solid var(--line); border-top-left-radius:3px;}
.msg.user .msg-bubble{background:var(--blue); color:#fff; border-top-right-radius:3px;}
.msg-options{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; align-self:flex-start; max-width:88%; padding-left:36px;}
.opt-btn{font-size:13px; padding:9px 14px; border-radius:9px; border:1px solid var(--line); background:var(--bg-0); color:var(--text-0); cursor:pointer; transition:all .15s;}
.opt-btn:hover{border-color:var(--blue); background:var(--blue-tint); color:var(--blue);}
.opt-btn:disabled{opacity:0.4; cursor:default;}
.typing{display:flex; gap:4px; padding:4px 0;}
.typing span{width:6px; height:6px; border-radius:50%; background:var(--text-2); animation:tdot 1.2s infinite;}
.typing span:nth-child(2){animation-delay:0.15s;} .typing span:nth-child(3){animation-delay:0.3s;}
@keyframes tdot{0%,60%,100%{opacity:0.3; transform:translateY(0);} 30%{opacity:1; transform:translateY(-3px);}}
.chat-footer{padding:14px 20px; border-top:1px solid var(--line); background:var(--bg-2);}
.chat-footer-note{font-size:11.5px; color:var(--text-2); text-align:center; font-family:'JetBrains Mono';}
.summary-card{background:var(--bg-0); border:1px solid var(--mint-dim); border-radius:12px; padding:16px 18px; margin-top:6px;}
.summary-row{display:flex; justify-content:space-between; font-size:12.5px; padding:6px 0; border-bottom:1px solid var(--line-soft);}
.summary-row:last-of-type{border-bottom:none;}
.summary-row .l{color:var(--text-1);}
.summary-row .v{color:var(--text-0); font-weight:600; font-family:'JetBrains Mono'; font-size:12px;}

/* ===== UTILITY ===== */
.mt-8{margin-top:8px;} .mt-16{margin-top:16px;} .mt-24{margin-top:24px;} .mt-32{margin-top:32px;} .mt-48{margin-top:48px;}
.text-center{text-align:center;}
.divider{height:1px; background:var(--line); margin:60px 0;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

/* brand logo image */
.logo img{display:block; width:auto; height:48px;}
.footer-col .logo img{height:60px;}
.footer-bottom .logo img{height:38px;}
@media (max-width:640px){ nav.sitenav .logo img{height:40px;} }

/* ===== Production additions ===== */
.skip-link{position:absolute; left:-999px; top:8px; background:var(--blue); color:#fff; padding:10px 16px; border-radius:8px; z-index:100; font-weight:600;}
.skip-link:focus{left:8px;}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:4px;}
.logo{flex:0 0 auto; min-width:0;}
.logo img{max-width:none; flex:0 0 auto;}
nav.sitenav .wrap{gap:12px;}
.menu-btn{flex:0 0 auto;}
@media (max-width:900px){ .navcta .btn-ghost{display:none;} }
@media (max-width:560px){
  nav.sitenav .wrap{height:60px;}
  nav.sitenav .logo img{height:36px;}
  .navcta{display:none;}
  .menu-btn{width:42px; height:42px; font-size:18px;}
  .mobile-menu a:last-child{color:var(--blue);}
}
@media (max-width:760px){
  nav.sitenav{backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(8,11,18,0.97);}
}
.mobile-menu{max-height:calc(100vh - 60px); overflow-y:auto;}
.consent-bar{position:fixed; left:16px; right:16px; bottom:16px; max-width:640px; margin:0 auto; z-index:90; background:var(--bg-2); border:1px solid var(--line); border-radius:14px; padding:16px 18px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; box-shadow:0 18px 40px -12px rgba(0,0,0,0.6);}
.consent-bar p{flex:1 1 260px; font-size:13.5px; color:var(--text-1); line-height:1.55; margin:0;}
.consent-bar a{color:var(--blue); text-decoration:underline;}
.consent-actions{display:flex; gap:10px; flex:0 0 auto;}
.consent-actions button{padding:9px 16px; font-size:13.5px; cursor:pointer;}
.pref-row{display:flex; gap:10px; flex-wrap:wrap; margin:16px 0;}
.pref-row button{padding:10px 18px; cursor:pointer;}
table.pricetable, table.cookie-table{display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
@media (max-width:560px){ .tier-price-wrap{align-items:flex-start; text-align:left; flex-shrink:1;} .tier-head > *{min-width:0;} .badge{white-space:normal;} }
@media (max-width:560px){ .tier-head{flex-wrap:nowrap !important; flex-direction:column !important; align-items:stretch !important; gap:10px;} .tier-info{flex:0 0 auto;} .tier-price{white-space:normal; font-size:24px;} .tier-name{font-size:22px; overflow-wrap:anywhere;} }
.article-body a:not(.btn-primary):not(.btn-ghost), .legal-body a, .section-sub a, .lede a{text-decoration:underline; text-underline-offset:3px;}
