/* ==========================================================================
   FaultGuard — Shared Styles
   Design: Industrial Dark (Variant A)
   ========================================================================== */

/* --- Reset & Base --- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}

:root{
  --bg:#0B0F14;--bg2:#111820;--bg3:#1A2230;--card:#151D28;
  --border:#1E2A3A;--border2:#2A3A4E;
  --t1:#E6EDF3;--t2:#9DA5AE;--t3:#7A8290;
  --accent:#F59E0B;--accent2:#D97706;--accentG:rgba(245,158,11,0.12);
  --teal:#06B6D4;--red:#EF4444;--green:#22C55E;
  --radius-sm:4px;--radius-md:6px;
}

body{font-family:'Barlow',sans-serif;background:var(--bg);color:var(--t2);overflow-x:hidden}

/* --- Utilities --- */
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:'JetBrains Mono',monospace}

/* --- Skip Link (Accessibility) --- */
.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:12px 24px;background:var(--accent);color:#0B0F14;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:var(--radius-sm);transition:top .2s}
.skip-link:focus{top:12px}

/* --- Focus Styles (Accessibility) --- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* --- Section Label --- */
.label{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.label::before{content:'';width:24px;height:1.5px;background:var(--accent)}

/* --- Section Title --- */
.stitle{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;color:var(--t1);line-height:1.05}

/* --- Buttons --- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .2s;border:none;text-decoration:none;border-radius:var(--radius-sm)}
.btn-p{background:var(--accent);color:#0B0F14}.btn-p:hover{background:var(--accent2);transform:translateY(-1px)}
.btn-o{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius-sm)}.btn-o:hover{background:rgba(245,158,11,.06)}

/* --- Feature Cards --- */
.fcard{background:var(--card);border:1px solid var(--border);padding:28px;transition:all .25s;position:relative;overflow:hidden;border-radius:var(--radius-md);box-shadow:0 2px 12px rgba(0,0,0,.2)}
.fcard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .3s}
.fcard:hover{border-color:var(--border2);box-shadow:0 4px 24px rgba(0,0,0,.35)}.fcard:hover::before{transform:scaleX(1)}
.fcard-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--t1);margin-bottom:8px}
.fcard-body{font-size:13px;line-height:1.6}

/* --- Navigation --- */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .3s;padding:0 24px}
nav.scrolled{background:rgba(11,15,20,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 4px 24px rgba(0,0,0,.3)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-links{display:flex;align-items:center;gap:20px}
.nav-links a{color:var(--t3);text-decoration:none;font-size:14px;font-weight:500;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:36px;height:36px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:18px;color:#0B0F14;border-radius:var(--radius-sm)}
.logo-text{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;color:var(--t1);text-transform:uppercase;letter-spacing:.06em}

/* --- Mobile Navigation --- */
.hamburger{display:none;background:none;border:none;color:var(--t1);cursor:pointer;padding:8px}
.mobile-menu{display:none;background:var(--bg2);border-top:1px solid var(--border);padding:20px 24px;flex-direction:column;gap:16px}
.mobile-menu a{color:var(--t2);text-decoration:none;font-size:16px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em}

/* --- Hero --- */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:120px 24px 80px}
.hero-grid{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(var(--t3) 1px,transparent 1px),linear-gradient(90deg,var(--t3) 1px,transparent 1px);background-size:60px 60px}
.hero-orb{position:absolute;top:-20%;right:-10%;width:60vw;height:60vw;max-width:800px;background:radial-gradient(circle,rgba(245,158,11,.06) 0%,transparent 70%);border-radius:50%}

/* --- Page Hero (for inner pages) --- */
.page-hero{padding:140px 24px 80px;position:relative;background:var(--bg)}
.page-hero .hero-grid{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(var(--t3) 1px,transparent 1px),linear-gradient(90deg,var(--t3) 1px,transparent 1px);background-size:60px 60px}
.page-hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}

/* --- Stats --- */
.stat-n{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:56px;line-height:1;color:var(--accent)}

/* --- Table Scroll Wrapper --- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}

/* --- Comparison Table --- */
table.cmp{width:100%;border-collapse:collapse;font-size:14px}
table.cmp th{background:var(--bg3);border:1px solid var(--border);padding:14px 16px;text-align:left;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--t3);font-size:12px}
table.cmp th.fg{color:var(--accent);background:rgba(245,158,11,.06)}
table.cmp td{border:1px solid var(--border);padding:12px 16px;text-align:center;color:var(--t3)}
table.cmp td:first-child{text-align:left;font-weight:600;color:var(--t1);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:13px}
table.cmp td.fg{background:rgba(245,158,11,.03)}
table.cmp tr:hover td{background:var(--bg3)}

/* --- Persona Cards --- */
.persona{background:var(--card);border:1px solid var(--border);padding:36px;flex:1;min-width:280px;position:relative;border-radius:var(--radius-md);box-shadow:0 2px 12px rgba(0,0,0,.2)}
.persona::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px}
.persona.tech::after{background:var(--accent)}.persona.mgr::after{background:var(--teal)}

/* --- Checkmark List --- */
.check{display:flex;gap:10px;font-size:14px;color:var(--t2);margin-bottom:12px}
.check svg{flex-shrink:0;margin-top:2px}

/* --- Forms --- */
input[type=email],input[type=text],textarea,select{background:var(--bg3);border:1px solid var(--border);color:var(--t1);padding:14px 16px;font-size:15px;font-family:'Barlow',sans-serif;outline:none;width:100%;transition:border .2s;border-radius:var(--radius-md)}
input[type=email]:focus,input[type=text]:focus,textarea:focus{border-color:var(--accent)}
input[type=email]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:var(--t3)}

/* --- Sections --- */
section{padding:100px 24px}

/* --- Grid Layouts --- */
.grid2f{display:flex;gap:24px;flex-wrap:wrap}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}

/* --- Footer --- */
footer{padding:60px 24px 40px;background:var(--bg);border-top:1px solid var(--border)}
.ft-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;margin-bottom:48px}
.ft-col a{display:block;font-size:14px;color:var(--t3);text-decoration:none;margin-bottom:10px;cursor:pointer}
.ft-col a:hover{color:var(--accent)}
.ft-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--t2);margin-bottom:16px}

/* --- Noise Overlay --- */
.noise{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- FAQ Accordion --- */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.03em;color:var(--t1);background:none;border:none;width:100%;text-align:left}
.faq-q:hover{color:var(--accent)}
.faq-q .arrow{transition:transform .3s;color:var(--t3);font-size:20px}
.faq-q.open .arrow{transform:rotate(45deg);color:var(--accent)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:14px;line-height:1.7;color:var(--t2)}
.faq-a.open{max-height:400px;padding-bottom:20px}

/* --- Blog Cards --- */
.blog-card{background:var(--card);border:1px solid var(--border);transition:all .25s;overflow:hidden;border-radius:var(--radius-md);box-shadow:0 2px 12px rgba(0,0,0,.2)}
.blog-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.35)}
.blog-card-body{padding:24px}
.blog-tag{display:inline-block;padding:4px 12px;font-size:11px;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);color:var(--t3);margin-bottom:12px;border-radius:var(--radius-sm)}

/* --- Breadcrumbs --- */
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t3);margin-bottom:24px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em}
.breadcrumb a{color:var(--t3);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{opacity:.4}

/* --- Step Cards --- */
.step-card{padding:32px;background:var(--card);border:1px solid var(--border);position:relative;border-radius:var(--radius-md)}
.step-num{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:48px;color:var(--bg3);line-height:1}
.step-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;text-transform:uppercase;color:var(--accent);margin-bottom:10px}

/* --- Scroll Animations --- */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* --- Responsive --- */
@media(max-width:768px){
  .nav-links{display:none!important}
  .hamburger{display:block!important}
  .mobile-menu.open{display:flex!important}
  .stat-n{font-size:40px}
  .stitle{font-size:32px!important}
  .hero h1{font-size:42px!important}
  .grid3,.grid4,.grid2f{grid-template-columns:1fr!important}
  .page-hero{padding:120px 24px 60px}
  section{padding:60px 24px}
  .contact-form-row{flex-direction:column!important}
  .contact-form-row input{min-width:100%!important}
}
