@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;600;700&display=swap');

/* ===== RESET & VARIABLES ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Brand Colors — Galide V2 */
  --blue-primary: #FF6A00;   /* Galide Green — primary brand */
  --blue-dark:    #cc5500;   /* Green dark hover */
  --blue-accent:  #FF6A00;   /* Same green for accents */
  --blue-light:   #3FC1E0;   /* Sky — support on dark */
  --blue-bg:      #FFF4EC;   /* Green tint background */
  --text-dark:    #0A1D3D;   /* Deep Navy — primary text */
  --text-body:    #5E5E5A;   /* Graphite */
  --text-light:   #7A7A73;   /* Stone */
  --white:        #ffffff;
  --off-white:    #f5f5f4;   /* Warm off-white */
  --border:       #D4D4CD;   /* Divider */
  --gradient-hero: linear-gradient(135deg,#FFF4EC 0%,#e8f5ee 50%,#dff0e6 100%);
  --shadow-card:  0 4px 24px rgba(255,106,0,.09);
  --shadow-btn:   0 4px 16px rgba(255,106,0,.35);
  --radius:       12px;
  --radius-sm:    8px;
  --radius-lg:    20px;
  --tr:           0.25s cubic-bezier(.4,0,.2,1);
  /* Extra brand colors */
  --navy:         #0A1D3D;
  --green:        #FF6A00;
  --orange:       #FF6A00;
  --periwinkle:   #8C96CE;
  --mint:         #FFB347;
}
html { scroll-behavior: smooth; }
body { font-family:'IBM Plex Sans',Arial,sans-serif; color:var(--text-dark); background:var(--white); overflow-x:hidden; line-height:1.6; }
img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }

/* ── Typography ── */
.label-tag { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-accent); margin-bottom:12px; display:block; }
h1  { font-size:clamp(30px,4vw,48px); font-weight:800; line-height:1.1; }
h2  { font-size:clamp(26px,3.5vw,36px); font-weight:800; line-height:1.2; }
h3  { font-size:17px; font-weight:700; }
.accent { color:var(--blue-accent); }

/* ── Buttons ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:8px; font-size:15px; font-weight:700; font-family:'IBM Plex Sans',sans-serif; cursor:pointer; border:none; transition:var(--tr); white-space:nowrap; }
.btn-primary  { background:var(--blue-primary); color:#fff; box-shadow:var(--shadow-btn); }
.btn-primary:hover  { background:var(--blue-dark); transform:translateY(-2px); }
.btn-outline  { background:transparent; color:var(--text-dark); border:2px solid #ccd4ea; }
.btn-outline:hover  { border-color:var(--blue-primary); color:var(--blue-primary); }
.btn-white    { background:#fff; color:var(--navy); box-shadow:0 4px 16px rgba(0,0,0,.12); }
.btn-white:hover    { background:#f0f4ff; transform:translateY(-2px); }
.btn-portal   { background:#0A1D3D; color:#fff; border:1px solid #0A1D3D; font-size:13px; padding:8px 16px; border-radius:6px; display:inline-flex; align-items:center; gap:7px; transition:var(--tr); }
.btn-portal:hover   { background:#162B56; }
.btn-back { background:var(--off-white); color:var(--text-dark); border:2px solid var(--border); }
.btn-back:hover { border-color:var(--text-light); background:#f0f2f8; transform:none; }
.arrow { font-size:16px; transition:transform var(--tr); }
.btn:hover .arrow { transform:translateX(4px); }

/* ── Container ── */
.container { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ── Top Bar ── */
.top-bar { background:#060f1f; padding:7px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.top-bar-inner { max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; }
.top-bar-left { display:flex; align-items:center; gap:20px; }
.top-bar-left a { font-size:12px; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:6px; transition:color var(--tr); }
.top-bar-left a:hover { color:#fff; }
.top-bar-left svg { width:13px; height:13px; fill:rgba(255,255,255,.45); flex-shrink:0; }
.top-bar-right { display:flex; align-items:center; gap:10px; }

/* ── Navbar ── */
.navbar { position:sticky; top:0; z-index:1000; background:#ffffff; border-bottom:1px solid #E8E8E0; box-shadow:0 1px 12px rgba(10,29,61,.08); }
.navbar.scrolled { box-shadow:0 2px 16px rgba(10,29,61,.12); }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; height:68px; }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { height:36px; width:auto; object-fit:contain; display:block; filter:none; }
.nav-menu { display:flex; align-items:center; }
.nav-item { position:relative; }
.nav-link { display:flex; align-items:center; gap:4px; padding:8px 14px; font-size:13.5px; font-weight:600; color:#0A1D3D; cursor:pointer; border-radius:var(--radius-sm); transition:color var(--tr),background var(--tr); }
.nav-link:hover { color:#FF6A00; background:#FFF4EC; }
.nav-link svg { width:14px; height:14px; fill:currentColor; color:#0A1D3D; transition:transform var(--tr); }
.nav-item:hover .nav-link svg { transform:rotate(180deg); }
.nav-dropdown { position:absolute; top:calc(100% + 6px); left:0; background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:8px; min-width:210px; box-shadow:0 8px 32px rgba(0,0,0,.15); opacity:0; visibility:hidden; transform:translateY(-6px); transition:all var(--tr); z-index:200; }
.nav-item:hover .nav-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.nav-dropdown a { display:block; padding:9px 12px; font-size:13px; border-radius:6px; color:var(--text-dark); transition:all var(--tr); }
.nav-dropdown a:hover { background:#FFF4EC; color:#FF6A00; }
.nav-cta { margin-left:16px; display:flex; align-items:center; gap:10px; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; border:none; background:none; }
.hamburger span { display:block; width:24px; height:2px; background:#0A1D3D; border-radius:2px; transition:var(--tr); }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-menu { display:none; position:fixed; top:68px; left:0; right:0; bottom:0; background:#0d1b3e; z-index:999; padding:24px; overflow-y:auto; transform:translateX(100%); transition:transform .3s ease; }
.mobile-menu.open { transform:translateX(0); }
.mobile-menu a { display:block; padding:15px 0; font-size:16px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.8); }
.mobile-menu a:hover { color:#fff; }

/* ── Hero Slider ── */
.hero-slider { position:relative; overflow:hidden; }
.slide { display:none; position:relative; min-height:680px; }
.slide.active { display:flex; }
.slide-two-col { background:var(--gradient-hero); padding:80px 0 60px; align-items:center; }
.slide-two-col::before { content:''; position:absolute; top:-200px; right:-150px; width:700px; height:700px; border-radius:50%; background:radial-gradient(circle,rgba(59,130,246,.14) 0%,transparent 70%); pointer-events:none; }
.slide-inner-two { max-width:100%; padding:0 5%; display:grid; grid-template-columns:1fr 1.25fr; align-items:center; gap:40px; width:100%; position:relative; z-index:1; }
.slide-fullbg { background:linear-gradient(135deg,#0a1628 0%,#0d2270 50%,#1a3faa 100%); align-items:center; justify-content:center; position:relative; }
.slide-fullbg::before { content:''; position:absolute; inset:0; opacity:.18; background-size:cover; background-position:center; }
.slide-fullbg-content { position:relative; z-index:1; text-align:center; padding:80px 5%; max-width:800px; margin:0 auto; }
.slide-fullbg-content h1 { color:#fff; margin-bottom:20px; }
.slide-fullbg-content p  { font-size:18px; color:rgba(255,255,255,.78); margin-bottom:36px; line-height:1.75; }
.slide-fullbg-content .hero-ctas { justify-content:center; }
.slider-controls { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; z-index:10; }
.slider-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.35); border:none; cursor:pointer; transition:var(--tr); padding:0; }
.slider-dot.active { background:#fff; width:28px; border-radius:5px; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:var(--tr); backdrop-filter:blur(8px); }
.slider-arrow:hover { background:rgba(255,255,255,.28); }
.slider-arrow svg { width:22px; height:22px; fill:#fff; }
.slider-prev { left:24px; }
.slider-next { right:24px; }
.hero-content h1 { margin-bottom:20px; }
.hero-content > p { font-size:16px; color:var(--text-body); line-height:1.75; margin-bottom:34px; max-width:460px; }
.hero-ctas { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.hero-pillars { display:flex; flex-wrap:nowrap; gap:24px; margin-top:40px; }
.pillar { display:flex; align-items:flex-start; gap:12px; min-width:0; flex:1; }
.pillar-icon { width:40px; height:40px; border-radius:9px; background:rgba(26,63,170,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pillar-icon svg { width:20px; height:20px; }
.pillar-text h4 { font-size:14px; font-weight:700; color:var(--text-dark); white-space:nowrap; }
.pillar-text p  { font-size:13px; color:var(--text-body); line-height:1.4; }
.hero-image { position:relative; display:flex; align-items:center; justify-content:center; }
.hero-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:550px; height:550px; border-radius:50%; background:radial-gradient(circle,rgba(59,130,246,.22) 0%,rgba(26,63,170,.08) 40%,transparent 70%); pointer-events:none; }
.laptop-wrapper { position:relative; z-index:1; filter:drop-shadow(0 28px 52px rgba(26,63,170,.28)); animation:float 6s ease-in-out infinite; transform:scale(1.2); transform-origin:center; }
.laptop-visual { width:450px; max-width:none; height:auto; display:block; }
@keyframes float { 0%,100%{transform:scale(1.2) translateY(0)} 50%{transform:scale(1.2) translateY(-14px)} }

/* ── Trust Bar ── */
.trust-bar { background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:34px 0; overflow:hidden; }
.trust-label { text-align:center; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-light); margin-bottom:26px; }
.logos-track-wrap { overflow:hidden; position:relative; }
.logos-track-wrap::before,.logos-track-wrap::after { content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.logos-track-wrap::before { left:0; background:linear-gradient(to right,#fff,transparent); }
.logos-track-wrap::after  { right:0; background:linear-gradient(to left,#fff,transparent); }
.logos-track { display:flex; align-items:center; gap:56px; animation:scrollLogos 28s linear infinite; width:max-content; padding:8px 0; }
.logos-track:hover { animation-play-state:paused; }
@keyframes scrollLogos { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.brand-logo { font-size:20px; font-weight:700; color:#b0b8cc; display:flex; align-items:center; gap:6px; white-space:nowrap; transition:color var(--tr); flex-shrink:0; }
.brand-logo:hover { color:#6b7280; }
.ms-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; width:18px; height:18px; flex-shrink:0; }
.ms-grid span { display:block; border-radius:1px; }

/* ── Why Galide ── */
.why-galide { padding:88px 0; background:#fff; }
.why-inner  { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.video-card { position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3; background:var(--navy); cursor:pointer; }
/*.video-bg-pattern { position:absolute; inset:0; background-image:linear-gradient(rgba(59,130,246,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.1) 1px,transparent 1px); background-size:40px 40px; }*/
.server-rows { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; gap:4px; padding:24px 32px; opacity:.65; }
.server-row { height:30px; border-radius:4px; background:linear-gradient(90deg,rgba(59,130,246,.3),rgba(26,63,170,.5),rgba(59,130,246,.3)); border:1px solid rgba(59,130,246,.3); position:relative; overflow:hidden; }
.server-row::after { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:4px 0 0 4px; background:var(--blue-light); box-shadow:0 0 8px var(--blue-light); }
.server-row:nth-child(2n)::after { background:#60a5fa; }
.server-row:nth-child(3n)::after { background:#93c5fd; }
.play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:68px; height:68px; border-radius:50%; background:rgba(255,255,255,.2); border:2px solid rgba(255,255,255,.5); display:flex; align-items:center; justify-content:center; transition:var(--tr); backdrop-filter:blur(8px); }
.play-btn:hover { background:rgba(255,255,255,.32); transform:translate(-50%,-50%) scale(1.1); }
.play-btn svg { width:26px; height:26px; fill:#fff; margin-left:4px; }
.video-badge { position:absolute; bottom:20px; left:20px; background:rgba(255,255,255,.12); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.2); border-radius:10px; padding:11px 16px; display:flex; align-items:center; gap:10px; }
.badge-shield { width:34px; height:34px; background:var(--blue-primary); border-radius:8px; display:flex; align-items:center; justify-content:center; }
.badge-shield svg { width:17px; height:17px; fill:#fff; }
.badge-text span:first-child { display:block; font-size:15px; font-weight:800; color:#fff; }
.badge-text span:last-child  { font-size:12px; color:rgba(255,255,255,.7); }
.why-content h2 { margin-bottom:16px; }
.why-content > p { color:var(--text-body); font-size:15px; line-height:1.75; margin-bottom:28px; }
.features-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:32px; }
.feature-card { display:flex; align-items:flex-start; gap:13px; padding:18px; border-radius:var(--radius); background:var(--off-white); border:1px solid var(--border); transition:var(--tr); }
.feature-card:hover { border-color:var(--blue-light); background:var(--blue-bg); box-shadow:var(--shadow-card); }
.feature-icon { width:42px; height:42px; border-radius:10px; background:var(--blue-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.feature-icon svg { width:22px; height:22px; fill:var(--blue-primary); }
.feature-text h4 { font-size:14px; font-weight:700; margin-bottom:4px; }
.feature-text p  { font-size:13px; color:var(--text-body); line-height:1.5; }

/* ── Stats ── */
.stats-bar { background:var(--navy); padding:50px 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-item { text-align:center; padding:16px 24px; position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; }
.stat-item:not(:last-child)::after { content:''; position:absolute; right:0; top:15%; height:70%; width:1px; background:rgba(255,255,255,.12); }
.stat-icon-wrap { width:52px; height:52px; border-radius:14px; background:rgba(59,130,246,.18); border:1px solid rgba(59,130,246,.3); display:flex; align-items:center; justify-content:center; }
.stat-icon-wrap svg { width:28px; height:28px; fill:#60a5fa; }
.stat-num   { font-size:clamp(30px,4vw,42px); font-weight:800; color:#FFB347; line-height:1; }
.stat-label { font-size:14px; color:rgba(255,255,255,.65); font-weight:500; }

/* ── Solutions ── */
.solutions { padding:88px 0; background:var(--off-white); }
.section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:48px; flex-wrap:wrap; gap:20px; }
.section-header-left p { color:var(--text-body); font-size:15px; line-height:1.75; margin-top:12px; }
.solutions-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.solution-card { background:#fff; border-radius:var(--radius-lg); padding:28px 22px; border:1px solid var(--border); transition:var(--tr); display:flex; flex-direction:column; }
.solution-card:hover { transform:translateY(-5px); box-shadow:0 14px 44px rgba(26,63,170,.13); border-color:var(--blue-light); }
.sol-icon { width:50px; height:50px; border-radius:12px; background:var(--blue-bg); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.sol-icon svg { width:26px; height:26px; fill:var(--blue-primary); }
.solution-card h3 { font-size:15px; font-weight:700; margin-bottom:10px; }
.solution-card p  { font-size:14px; color:var(--text-body); line-height:1.65; flex:1; margin-bottom:18px; }
.learn-link { font-size:14px; font-weight:700; color:var(--blue-primary); display:flex; align-items:center; gap:5px; transition:gap var(--tr); }
.solution-card:hover .learn-link { gap:9px; }

/* ── CTA Banner ── */
.cta-banner { background:#0A1D3D; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:-50px; right:-50px; width:320px; height:320px; border-radius:50%; background:rgba(255,255,255,.05); }
.cta-banner::after  { content:''; position:absolute; bottom:-80px; left:25%; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.04); }
.cta-inner { display:flex; align-items:center; justify-content:space-between; padding:44px 0; gap:32px; flex-wrap:wrap; position:relative; z-index:1; }
.cta-left  { display:flex; align-items:center; gap:20px; }
.cta-shield { width:58px; height:58px; background:rgba(255,255,255,.15); border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cta-shield svg { width:30px; height:30px; fill:#fff; }
.cta-text h2 { font-size:clamp(20px,2.8vw,30px); color:#fff; }
.cta-right { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.cta-right p { color:rgba(255,255,255,.82); font-size:15px; max-width:220px; line-height:1.6; }

/* ── Certifications ── */
.certs { padding:88px 0; background:#fff; }
.certs-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.certs-left h2  { margin-bottom:14px; }
.certs-left > p { color:var(--text-body); font-size:15px; line-height:1.75; margin-bottom:28px; }
.cert-badges { display:flex; gap:20px; flex-wrap:wrap; align-items:flex-start; }
.cert-badge { display:flex; flex-direction:column; align-items:center; gap:10px; cursor:pointer; transition:var(--tr); }
.cert-badge:hover { transform:translateY(-3px); }
.cert-ring { width:110px; height:110px; border-radius:50%; border:3px solid var(--border); display:flex; align-items:center; justify-content:center; background:#fafbff; transition:var(--tr); padding:6px; }
.cert-badge:hover .cert-ring { box-shadow:0 6px 20px rgba(26,63,170,.15); }
.cert-ring svg { width:68px; height:68px; }
.cert-name { font-size:12px; font-weight:700; color:var(--text-dark); text-align:center; line-height:1.35; }

/* ── Footer ── */
footer { background:#0d1b3e; color:rgba(255,255,255,.75); padding:60px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; }
.footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.footer-logo img { height:34px; width:auto; object-fit:contain; filter:brightness(0) invert(1); display:block; }
.footer-brand p { font-size:14px; line-height:1.75; color:rgba(255,255,255,.55); max-width:240px; margin-bottom:20px; }
.footer-social { display:flex; gap:10px; }
.social-btn { width:36px; height:36px; border-radius:8px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:var(--tr); }
.social-btn:hover { background:var(--blue-primary); }
.social-btn svg { width:16px; height:16px; fill:rgba(255,255,255,.7); }
.footer-col h4 { font-size:13px; font-weight:700; color:#fff; margin-bottom:16px; }
.footer-col ul { padding:0; margin:0; list-style:none; }
.footer-col li { margin-bottom:11px; }
.footer-col a  { font-size:13px; color:rgba(255,255,255,.55); transition:color var(--tr); }
.footer-col a:hover { color:#fff; }
.footer-col .menu { padding:0; margin:0; list-style:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:22px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:12px; color:rgba(255,255,255,.4); }
.footer-links { display:flex; gap:24px; }
.footer-links a { font-size:12px; color:rgba(255,255,255,.4); transition:color var(--tr); }
.footer-links a:hover { color:#fff; }

/* ── Modal ── */
.modal-overlay { position:fixed; inset:0; background:rgba(7,16,38,.7); z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(6px); }
.modal-overlay.open { display:flex; }
.modal-box { background:#fff; border-radius:20px; width:100%; max-width:660px; max-height:90vh; overflow-y:auto; box-shadow:0 32px 80px rgba(7,16,38,.35); animation:modalIn .3s cubic-bezier(.34,1.56,.64,1); position:relative; }
@keyframes modalIn { from{opacity:0;transform:scale(.92) translateY(20px)} to{opacity:1;transform:scale(1) translateY(0)} }
.modal-header { padding:28px 32px 0; display:flex; align-items:flex-start; justify-content:space-between; }
.modal-header h3 { font-size:22px; font-weight:800; color:var(--text-dark); }
.modal-header p  { font-size:14px; color:var(--text-light); margin-top:4px; }
.modal-close { width:36px; height:36px; border-radius:50%; background:var(--off-white); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--tr); margin-left:16px; }
.modal-close:hover { background:#fee2e2; }
.modal-close svg { width:16px; height:16px; fill:#6b7280; }
.step-indicator { padding:20px 32px 0; }
.step-bar { display:flex; align-items:center; }
.step-num { width:32px; height:32px; border-radius:50%; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--text-light); background:#fff; flex-shrink:0; transition:var(--tr); }
.step-num.done   { background:var(--blue-primary); border-color:var(--blue-primary); color:#fff; }
.step-num.active { background:#fff; border-color:var(--blue-primary); color:var(--blue-primary); box-shadow:0 0 0 4px rgba(26,63,170,.12); }
.step-line { flex:1; height:2px; background:var(--border); transition:background .4s; }
.step-line.done { background:var(--blue-primary); }
.step-labels { display:flex; justify-content:space-between; margin-top:6px; }
.step-labels span { font-size:11px; font-weight:700; color:var(--text-light); }
.step-labels span.active { color:var(--blue-primary); }
.modal-form { padding:24px 32px 32px; }
.form-step { display:none; }
.form-step.active { display:block; animation:fadeStep .28s ease; }
@keyframes fadeStep { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-row.full { grid-template-columns:1fr; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:13px; font-weight:700; color:var(--text-dark); }
.form-group label .req { color:#ef4444; }
.form-group input,.form-group select,.form-group textarea { width:100%; padding:11px 14px; border:2px solid var(--border); border-radius:var(--radius-sm); font-size:14px; font-family:'IBM Plex Sans',sans-serif; color:var(--text-dark); background:#fff; outline:none; transition:border-color var(--tr),box-shadow var(--tr); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--blue-primary); box-shadow:0 0 0 3px rgba(26,63,170,.1); }
.form-group input::placeholder { color:#b0b8cc; }
.form-group select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:18px; cursor:pointer; }
.radio-group { display:flex; flex-direction:column; gap:10px; }
.radio-opt { display:flex; align-items:center; gap:10px; cursor:pointer; padding:11px 14px; border:2px solid var(--border); border-radius:var(--radius-sm); transition:var(--tr); }
.radio-opt:hover { border-color:var(--blue-light); background:var(--blue-bg); }
.radio-opt input[type="radio"] { width:17px; height:17px; accent-color:var(--blue-primary); cursor:pointer; }
.radio-opt.selected { border-color:var(--blue-primary); background:var(--blue-bg); }
.radio-opt span { font-size:14px; font-weight:600; color:var(--text-dark); }
.privacy-note { background:var(--off-white); border-radius:var(--radius-sm); padding:14px 16px; font-size:12.5px; color:var(--text-light); line-height:1.65; margin-top:16px; border:1px solid var(--border); }
.privacy-note a { color:var(--blue-primary); font-weight:600; }
.modal-footer { display:flex; align-items:center; justify-content:space-between; margin-top:24px; gap:12px; }
.modal-footer .btn { flex:1; justify-content:center; }
.field-error { font-size:12px; color:#ef4444; font-weight:600; margin-top:2px; display:none; }
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea { border-color:#ef4444; }
.form-group.has-error .field-error { display:block; }
.modal-success { display:none; padding:48px 32px; text-align:center; }
.modal-success.show { display:block; }
.success-icon { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,#d1fae5,#a7f3d0); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.success-icon svg { width:36px; height:36px; fill:#065f46; }
.modal-success h3 { font-size:22px; font-weight:800; margin-bottom:10px; }
.modal-success p  { font-size:15px; color:var(--text-light); line-height:1.7; }

/* ── Scroll Reveal ── */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .6s ease,transform .6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }
body.no-scroll { overflow:hidden; }

/* ── Page Hero (inner pages) ── */
.page-content h2 { margin:32px 0 14px; }
.page-content h3 { margin:24px 0 10px; }
.page-content p  { margin-bottom:16px; }
.page-content ul,.page-content ol { padding-left:24px; margin-bottom:16px; }
.page-content ul li { list-style:disc; margin-bottom:8px; }
.page-content img { border-radius:10px; margin:20px 0; }
.breadcrumbs { color:rgba(255,255,255,.6); font-size:13px; margin-top:8px; }
.breadcrumbs a { color:rgba(255,255,255,.7); }
.breadcrumbs a:hover { color:#fff; }

/* ============================================================
   INNER PAGES — Global Styles
   ============================================================ */

/* ── Page Hero ── */
.inner-hero { background:#0A1D3D; padding:72px 0 60px; position:relative; overflow:hidden; }
.inner-hero::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(59,130,246,.18) 0%,transparent 70%); pointer-events:none; }
/*.inner-hero::after { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(59,130,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.05) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }*/

.inner-hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.breadcrumb { font-size:13px; color:rgba(255,255,255,.5); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.breadcrumb a { color:rgba(255,255,255,.5); transition:color .25s; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb span { color:rgba(255,255,255,.3); }
.inner-hero-content h1 { font-size:clamp(32px,4vw,50px); font-weight:800; color:#fff; line-height:1.1; margin-bottom:20px; }
.inner-hero-content p { font-size:17px; color:rgba(255,255,255,.75); line-height:1.75; margin-bottom:32px; max-width:480px; }
.inner-hero-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.inner-hero-image { display:flex; align-items:center; justify-content:center; }
.inner-hero-image img { width:100%; max-width:500px; border-radius:16px; box-shadow:0 32px 64px rgba(0,0,0,.4); }
.hero-stat-strip { background:rgba(255,255,255,.08); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:20px 28px; display:flex; gap:32px; margin-top:36px; flex-wrap:wrap; }
.hero-stat strong { display:block; font-size:24px; font-weight:800; color:#fff; }
.hero-stat span { font-size:12px; color:rgba(255,255,255,.6); }

/* ── Section Helpers ── */
.ip-section { padding:80px 0; }
.ip-section-alt { background:var(--off-white); }
.ip-section-dark { background:#0d1b3e; }
.ip-label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-accent); margin-bottom:12px; display:block; }
.ip-heading { font-size:clamp(26px,3vw,36px); font-weight:800; line-height:1.2; margin-bottom:16px; }
.ip-subtext { font-size:16px; color:var(--text-body); line-height:1.75; }
.ip-center { text-align:center; max-width:600px; margin:0 auto 52px; }

/* ── Device / Feature Cards ── */
.ip-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ip-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.ip-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ip-card { background:var(--off-white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px 24px; display:flex; align-items:flex-start; gap:16px; transition:var(--tr); }
.ip-card:hover { border-color:var(--blue-light); background:var(--blue-bg); box-shadow:var(--shadow-card); transform:translateY(-3px); }
.ip-card-icon { width:48px; height:48px; border-radius:12px; background:var(--blue-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ip-card-icon svg { width:26px; height:26px; fill:var(--blue-primary); }
.ip-card-info h4 { font-size:15px; font-weight:700; margin-bottom:5px; }
.ip-card-info p  { font-size:13px; color:var(--text-light); line-height:1.5; }

/* ── How It Works Steps ── */
.hiw-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.hiw-grid::before { content:''; position:absolute; top:36px; left:10%; right:10%; height:2px; background:var(--blue-primary); z-index:0; }
.hiw-step { text-align:center; position:relative; z-index:1; }
.hiw-num { width:72px; height:72px; border-radius:50%; background:var(--blue-primary); color:#fff; font-size:22px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; box-shadow:0 8px 24px rgba(26,63,170,.35); border:4px solid #fff; }
.hiw-step h4 { font-size:16px; font-weight:700; margin-bottom:8px; }
.hiw-step p  { font-size:14px; color:var(--text-body); line-height:1.6; }

/* ── Dark section benefits ── */
.benefit-item { display:flex; align-items:flex-start; gap:16px; padding:24px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); }
.benefit-check { width:36px; height:36px; border-radius:50%; background:rgba(34,197,94,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.benefit-check svg { width:18px; height:18px; fill:#4ade80; }
.benefit-item h4 { font-size:15px; font-weight:700; color:#fff; margin-bottom:4px; }
.benefit-item p  { font-size:13px; color:rgba(255,255,255,.6); line-height:1.5; }

/* ── Two col content ── */
.ip-two-col { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ip-two-col img { width:100%; border-radius:16px; box-shadow:var(--shadow-card); }

/* ── Page CTA ── */
.page-cta { background:var(--navy); padding:72px 0; text-align:center; position:relative; overflow:hidden; }
.page-cta::before { content:''; position:absolute; top:-60px; right:-60px; width:300px; height:300px; border-radius:50%; background:rgba(255,255,255,.06); }
.page-cta-inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
.page-cta h2 { font-size:clamp(28px,3.5vw,42px); font-weight:800; color:#fff; margin-bottom:16px; }
.page-cta p  { font-size:17px; color:rgba(255,255,255,.78); line-height:1.75; margin-bottom:36px; }
.page-cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── Checklist ── */
.ip-checklist { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.ip-checklist li { display:flex; align-items:center; gap:12px; font-size:15px; color:var(--text-body); }
.ip-checklist li::before { content:''; width:22px; height:22px; border-radius:50%; background:var(--blue-bg); border:2px solid var(--blue-primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a3faa' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); background-size:14px; background-repeat:no-repeat; background-position:center; }

/* ── Responsive ── */

/* ── Responsive ── */

/* ============================================================
   INDUSTRY PAGES — Global Styles
   ============================================================ */
.ind-hero { background:var(--gradient-hero); padding:80px 0 60px; position:relative; overflow:hidden; }
.ind-hero::before { content:''; position:absolute; top:-150px; right:-100px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(26,63,170,.1) 0%,transparent 70%); pointer-events:none; }
.ind-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.ind-hero h1 { font-size:clamp(32px,4vw,50px); font-weight:800; color:var(--text-dark); line-height:1.1; margin-bottom:20px; }
.ind-hero p  { font-size:17px; color:var(--text-body); line-height:1.75; margin-bottom:32px; max-width:480px; }
.ind-hero-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.ind-breadcrumb { font-size:13px; color:var(--text-light); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.ind-breadcrumb a { color:var(--text-light); transition:color .25s; }
.ind-breadcrumb a:hover { color:var(--blue-primary); }
.ind-breadcrumb span { color:var(--border); }
.ind-stat-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.ind-stat { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:20px; text-align:center; box-shadow:var(--shadow-card); }
.ind-stat strong { display:block; font-size:28px; font-weight:800; color:var(--blue-primary); line-height:1; margin-bottom:6px; }
.ind-stat span { font-size:12px; color:var(--text-light); font-weight:600; }
.ind-challenges { background:var(--off-white); padding:80px 0; }
.ind-challenge-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.ind-solutions { padding:80px 0; background:#fff; }
.ind-sol-row { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-bottom:64px; }
.ind-sol-row:last-child { margin-bottom:0; }
.ind-sol-row.reverse { direction:rtl; }
.ind-sol-row.reverse > * { direction:ltr; }
.ind-sol-content h3 { font-size:22px; font-weight:800; margin-bottom:12px; }
.ind-sol-content p  { font-size:15px; color:var(--text-body); line-height:1.75; margin-bottom:20px; }
.ind-sol-visual { background:var(--navy); border-radius:var(--radius-lg); padding:40px; position:relative; overflow:hidden; min-height:220px; display:flex; align-items:center; justify-content:center; }
/*.ind-sol-visual::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.08) 1px,transparent 1px); background-size:30px 30px; }*/
.ind-sol-icon-big { width:80px; height:80px; border-radius:20px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; margin:0 auto; position:relative; z-index:1; }
.ind-sol-icon-big svg { width:40px; height:40px; fill:#fff; }

/* ============================================================
   CASE STUDIES PAGE
   ============================================================ */
.cs-hero{background:#0A1D3D;padding:72px 0 80px;position:relative;overflow:hidden;}
.cs-hero::before{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,#f8faff,transparent);z-index:1;}
.cs-hero-content{text-align:center;position:relative;z-index:2;}
.cs-hero h1{font-size:clamp(36px,5vw,60px);font-weight:800;color:#fff;margin-bottom:16px;}
.cs-hero p{font-size:18px;color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 40px;line-height:1.75;}
.cs-search-bar{display:flex;max-width:520px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.2);}
.cs-search-bar input{flex:1;padding:16px 20px;border:none;outline:none;font-size:15px;font-family:'IBM Plex Sans',sans-serif;}
.cs-search-bar button{background:var(--blue-primary);color:#fff;border:none;padding:16px 24px;cursor:pointer;font-size:14px;font-weight:700;font-family:'IBM Plex Sans',sans-serif;transition:var(--tr);}
.cs-search-bar button:hover{background:var(--blue-dark);}
.cs-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:40px 0 20px;}
.cs-filter{padding:9px 20px;border-radius:24px;border:2px solid var(--border);font-size:13px;font-weight:700;cursor:pointer;transition:var(--tr);background:#fff;color:var(--text-body);}
.cs-filter:hover,.cs-filter.active{background:var(--blue-primary);border-color:var(--blue-primary);color:#fff;}
.cs-featured{background:#0A1D3D;border-radius:24px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:48px;position:relative;overflow:hidden;}
.cs-featured::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.04);}
.cs-feat-badge{background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:700;padding:6px 14px;border-radius:20px;display:inline-block;margin-bottom:16px;letter-spacing:.08em;text-transform:uppercase;}
.cs-featured h2{font-size:clamp(24px,3vw,36px);font-weight:800;color:#fff;margin-bottom:16px;line-height:1.2;}
.cs-featured p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.75;margin-bottom:28px;}
.cs-feat-stats{display:flex;gap:32px;margin-bottom:32px;}
.cs-feat-stat strong{display:block;font-size:32px;font-weight:800;color:#fff;}
.cs-feat-stat span{font-size:13px;color:rgba(255,255,255,.6);}
.cs-feat-visual{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;text-align:center;}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.cs-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:var(--tr);display:flex;flex-direction:column;}
.cs-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(26,63,170,.14);border-color:var(--blue-light);}
.cs-card-top{background:var(--navy);padding:32px 28px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.cs-card-top::before{content:'';position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.05);}
.cs-card-industry{background:rgba(255,255,255,.15);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;display:inline-block;margin-bottom:12px;width:fit-content;}
.cs-card-top h3{font-size:17px;font-weight:800;color:#fff;line-height:1.3;position:relative;z-index:1;}
.cs-card-body{padding:24px 28px;flex:1;display:flex;flex-direction:column;}
.cs-card-body p{font-size:14px;color:var(--text-body);line-height:1.65;flex:1;margin-bottom:20px;}
.cs-card-stats{display:flex;gap:20px;padding:16px 0;border-top:1px solid var(--border);margin-bottom:16px;}
.cs-card-stat strong{display:block;font-size:20px;font-weight:800;color:var(--blue-primary);}
.cs-card-stat span{font-size:12px;color:var(--text-light);}
.cs-read-more{color:var(--blue-primary);font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px;transition:gap var(--tr);}
.cs-card:hover .cs-read-more{gap:10px;}

/* ============================================================
   CASE STUDY SINGLE PAGE
   ============================================================ */
.csd-wrap{padding:48px 0 80px;background:var(--off-white,#f8faff);}
.csd-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-light);text-decoration:none;margin-bottom:28px;transition:color .2s;}
.csd-back:hover{color:var(--blue-primary);}

/* Banner */
.csd-banner{border-radius:20px;padding:56px 48px;position:relative;overflow:hidden;margin-bottom:16px;}
.csd-banner::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04);}
.csd-banner::after{content:'';position:absolute;bottom:-50px;left:25%;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.03);}
.csd-banner-inner{position:relative;z-index:1;text-align:center;}
.csd-industry-badge{background:rgba(255,255,255,.15);color:#fff;font-size:11px;font-weight:700;padding:6px 16px;border-radius:20px;letter-spacing:.08em;display:inline-block;margin-bottom:20px;}
.csd-banner h1{font-size:clamp(22px,3.5vw,34px);font-weight:800;color:#fff;line-height:1.25;margin:0 auto 16px;max-width:580px;}
.csd-banner > .csd-banner-inner > p{font-size:15px;color:rgba(255,255,255,.72);max-width:500px;margin:0 auto 32px;line-height:1.8;}
.csd-stats{display:flex;border-top:1px solid rgba(255,255,255,.12);padding-top:28px;justify-content:center;}
.csd-stat{flex:1;text-align:center;max-width:160px;}
.csd-stat:not(:last-child){border-right:1px solid rgba(255,255,255,.12);}
.csd-stat strong{display:block;font-size:30px;font-weight:800;color:#fff;line-height:1;}
.csd-stat span{font-size:12px;color:rgba(255,255,255,.55);margin-top:5px;display:block;}

/* Image gallery */
.csd-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:10px;margin-bottom:40px;}
.csd-img-main img{width:100%;height:280px;object-fit:cover;border-radius:14px;}
.csd-img-side{display:flex;flex-direction:column;gap:10px;}
.csd-img-side img{width:100%;height:135px;object-fit:cover;border-radius:14px;}

/* Content */
.csd-content{max-width:600px;margin:0 auto;}
.csd-section{text-align:center;padding:36px 0;}
.csd-section-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);display:block;margin-bottom:16px;}
.csd-section p{font-size:16px;color:var(--text-body);line-height:1.85;margin:0;}
.csd-divider{border:none;border-top:1px solid var(--border);margin:0;}

/* Checklist */
.csd-checklist{list-style:none;padding:0;margin:0;text-align:left;display:inline-block;}
.csd-checklist li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--text-body);line-height:1.7;margin-bottom:10px;}
.csd-checklist li svg{color:var(--blue-primary);flex-shrink:0;margin-top:4px;}
.csd-checklist li:last-child{margin-bottom:0;}

/* Quote */
.csd-quote-wrap{text-align:center;}
.csd-quote-mark{font-size:48px;color:var(--border);line-height:1;margin-bottom:12px;font-family:Georgia,serif;}
.csd-quote-wrap blockquote{font-size:17px;color:var(--text-dark);line-height:1.85;font-style:italic;margin:0 0 16px;padding:0;}
.csd-quote-wrap cite{font-size:13px;color:var(--text-light);font-style:normal;}

/* CTA */
.csd-cta{background:#fff;border:1px solid var(--border);border-radius:16px;padding:40px;text-align:center;}
.csd-cta h3{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:8px;}
.csd-cta p{font-size:14px;color:var(--text-body);margin-bottom:24px;}

/* ============================================================
   ABOUT US PAGE
   ============================================================ */
.about-opener{background:#0d1b3e;padding:0;min-height:90vh;display:flex;align-items:center;position:relative;overflow:hidden;}
.about-opener::before{content:'2012';position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:320px;font-weight:900;color:rgba(255,255,255,.03);line-height:1;pointer-events:none;letter-spacing:-20px;}
.about-opener-grid{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;}
.about-opener-left{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;}
.about-opener-right{background:var(--navy);display:flex;flex-direction:column;justify-content:flex-end;padding:60px;position:relative;overflow:hidden;}
/*.about-opener-right::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;}*/
.about-year{font-size:120px;font-weight:900;color:rgba(255,255,255,.12);line-height:1;position:absolute;top:40px;right:40px;}
.about-opener h1{font-size:clamp(36px,4.5vw,60px);font-weight:800;color:#fff;line-height:1.05;margin-bottom:24px;}
.about-opener h1 em{font-style:normal;color:var(--blue-light);}
.about-stat-pill{display:inline-flex;flex-direction:column;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px 28px;}
.about-stat-pill strong{font-size:40px;font-weight:900;color:#fff;line-height:1;}
.about-stat-pill span{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px;}
.about-stats-row{display:flex;gap:16px;flex-wrap:wrap;}
.about-story{padding:100px 0;background:#fff;}
.about-story-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.about-story-left{position:sticky;top:100px;}
.about-story-left h2{font-size:clamp(28px,3.5vw,44px);font-weight:800;line-height:1.15;margin-bottom:24px;}
.about-story-left h2 span{color:var(--blue-primary);}
.about-story-right p{font-size:16px;color:var(--text-body);line-height:1.9;margin-bottom:24px;}
.about-pull-quote{border-left:4px solid var(--blue-primary);padding:20px 28px;background:var(--blue-bg);border-radius:0 var(--radius) var(--radius) 0;margin:32px 0;}
.about-pull-quote p{font-size:18px;font-weight:700;color:var(--blue-primary);line-height:1.6;margin:0;font-style:italic;}
.about-values{background:var(--off-white);padding:80px 0;}
.values-header{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px;}
.values-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);}
.value-card{padding:32px 20px;text-align:center;border-right:1px solid var(--border);transition:var(--tr);cursor:default;}
.value-card:last-child{border-right:none;}
.value-card:hover{background:var(--green);}
.value-card:hover h4,.value-card:hover p,.value-card:hover .value-num{color:#fff;background:rgba(255,255,255,.2);}
.value-num{width:36px;height:36px;border-radius:50%;background:var(--blue-bg);color:var(--blue-primary);font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;transition:var(--tr);}
.value-card h4{font-size:13px;font-weight:800;margin-bottom:8px;color:var(--text-dark);transition:var(--tr);}
.value-card p{font-size:11px;color:var(--text-light);line-height:1.5;transition:var(--tr);}
.about-impact{background:var(--navy);padding:80px 0;}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;}
.impact-item{background:var(--navy);padding:52px 36px;text-align:center;}
.impact-num{font-size:clamp(40px,5vw,64px);font-weight:900;background:linear-gradient(135deg,#FFB347,#3FC1E0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:12px;display:block;}
.impact-label{font-size:15px;color:rgba(255,255,255,.6);font-weight:500;}
.about-mission{padding:80px 0;background:#fff;}
.mission-split{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card);}
.mission-block{padding:60px;}
.mission-block:first-child{background:var(--navy);}
.mission-block:last-child{background:#fff;}
.mission-block h3{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.mission-block:first-child h3{color:rgba(255,255,255,.6);}
.mission-block:last-child h3{color:var(--blue-primary);}
.mission-block h2{font-size:clamp(20px,2.5vw,28px);font-weight:800;line-height:1.2;margin-bottom:20px;}
.mission-block:first-child h2,.mission-block:first-child p{color:#fff;}
.mission-block:first-child p{color:rgba(255,255,255,.75);}
.mission-block:last-child h2{color:var(--text-dark);}
.mission-block:last-child p{color:var(--text-body);}
.mission-block p{font-size:15px;line-height:1.8;}

/* ============================================================
   BLOG PAGE
   ============================================================ */
.blog-hero{background:#fff;padding:60px 0 40px;border-bottom:1px solid var(--border);}
.blog-hero h1{font-size:clamp(36px,5vw,64px);font-weight:800;color:var(--text-dark);line-height:1;margin-bottom:8px;}
.blog-hero p{font-size:16px;color:var(--text-light);}
.blog-cats{display:flex;gap:0;border-bottom:2px solid var(--border);margin-top:24px;overflow-x:auto;}
.blog-cat{padding:12px 20px;font-size:13px;font-weight:700;color:var(--text-light);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--tr);text-decoration:none;}
.blog-cat:hover{color:var(--text-dark);}
.blog-cat.active{color:var(--blue-primary);border-bottom-color:var(--blue-primary);}
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin:40px 0;box-shadow:var(--shadow-card);}
.blog-feat-image{background:linear-gradient(135deg,#0a1628,#1a3faa);min-height:380px;display:flex;align-items:flex-end;padding:40px;position:relative;overflow:hidden;}
/*.blog-feat-image::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.06) 1px,transparent 1px);background-size:30px 30px;}*/
.blog-feat-tag{position:absolute;top:24px;left:24px;background:var(--blue-primary);color:#fff;font-size:11px;font-weight:700;padding:6px 14px;border-radius:20px;z-index:1;}
.blog-feat-visual{position:relative;z-index:1;font-size:80px;}
.blog-feat-body{padding:40px;display:flex;flex-direction:column;justify-content:center;}
.blog-feat-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;color:var(--text-light);}
.blog-feat-meta strong{color:var(--blue-primary);}
.blog-feat-body h2{font-size:clamp(20px,2.5vw,28px);font-weight:800;line-height:1.2;margin-bottom:14px;color:var(--text-dark);}
.blog-feat-body p{font-size:15px;color:var(--text-body);line-height:1.75;margin-bottom:24px;flex:1;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:48px;}
.blog-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:#fff;transition:var(--tr);}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(26,63,170,.12);border-color:var(--blue-light);}
.blog-card-img{height:180px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:48px;}
.blog-card-img.blue{background:linear-gradient(135deg,#0a1628,#1a3faa);}
.blog-card-img.green{background:linear-gradient(135deg,#064e3b,#047857);}
.blog-card-img.purple{background:linear-gradient(135deg,#2d1b69,#5b21b6);}
.blog-card-img.orange{background:linear-gradient(135deg,#7c2d12,#c2410c);}
.blog-card-cat{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:12px;}
.blog-card-body{padding:24px;}
.blog-card-meta{font-size:12px;color:var(--text-light);margin-bottom:10px;}
.blog-card-body h3{font-size:16px;font-weight:700;line-height:1.35;margin-bottom:10px;color:var(--text-dark);}
.blog-card-body p{font-size:13px;color:var(--text-body);line-height:1.6;margin-bottom:16px;}
.blog-read{color:var(--blue-primary);font-size:13px;font-weight:700;display:flex;align-items:center;gap:5px;transition:gap var(--tr);}
.blog-card:hover .blog-read{gap:9px;}
.blog-newsletter{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.newsletter-form{display:flex;gap:0;max-width:400px;border-radius:8px;overflow:hidden;border:2px solid var(--border);}
.newsletter-form input{flex:1;padding:13px 16px;border:none;outline:none;font-size:14px;font-family:'IBM Plex Sans',sans-serif;}
.newsletter-form button{background:var(--blue-primary);color:#fff;border:none;padding:13px 20px;cursor:pointer;font-size:14px;font-weight:700;font-family:'IBM Plex Sans',sans-serif;white-space:nowrap;transition:var(--tr);}
.newsletter-form button:hover{background:var(--blue-dark);}

/* ============================================================
   CERTIFICATIONS PAGE
   ============================================================ */
.cert-hero{background:var(--navy);padding:80px 0;position:relative;overflow:hidden;}
.cert-hero::before{content:'✓';position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:400px;color:rgba(255,255,255,.03);line-height:1;pointer-events:none;}
.cert-showcase{padding:80px 0;background:#fff;}
.cert-big-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.cert-big-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card);transition:var(--tr);}
.cert-big-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(26,63,170,.15);}
.cert-big-top{padding:48px 36px;text-align:center;position:relative;overflow:hidden;}
.cert-badge-ring{width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.15);border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:42px;}
.cert-big-top h3{color:#fff;font-size:22px;font-weight:800;margin-bottom:6px;}
.cert-big-top p{color:rgba(255,255,255,.7);font-size:13px;}
.cert-big-body{padding:28px 36px;background:#fff;}
.cert-big-body h4{font-size:15px;font-weight:700;color:var(--text-dark);margin-bottom:10px;}
.cert-big-body p{font-size:14px;color:var(--text-body);line-height:1.7;}
.cert-what-means{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.cert-what-means p{font-size:12px;color:var(--text-light);}
.cert-what-means strong{color:var(--blue-primary);}
.cert-standards{background:var(--off-white);padding:80px 0;}
.standards-table{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-card);}
.std-row{display:grid;grid-template-columns:200px 1fr auto;align-items:center;padding:20px 32px;border-bottom:1px solid var(--border);transition:var(--tr);gap:24px;}
.std-row:last-child{border-bottom:none;}
.std-row:hover{background:var(--off-white);}
.std-header{background:var(--blue-primary);color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.std-header:hover{background:var(--blue-primary);}
.std-name{font-size:14px;font-weight:700;color:var(--text-dark);}
.std-desc{font-size:14px;color:var(--text-body);}
.std-badge{background:var(--blue-bg);color:var(--blue-primary);font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;white-space:nowrap;}
.std-badge.green{background:#dcfce7;color:#16a34a;}
.std-badge.orange{background:#fef3c7;color:#d97706;}

/* ============================================================
   CONTACT US PAGE
   ============================================================ */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 68px);}
.contact-left{background:#0d1b3e;padding:80px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.contact-left::before{content:'';position:absolute;top:-100px;left:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%);}
.contact-left::after{content:'';position:absolute;bottom:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.03);}
.contact-right{background:var(--off-white);padding:80px 64px;display:flex;flex-direction:column;justify-content:center;}
.contact-left h1{font-size:clamp(32px,3.5vw,48px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:20px;position:relative;z-index:1;}
.contact-left p{font-size:16px;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:40px;position:relative;z-index:1;max-width:400px;}
.contact-methods{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1;margin-bottom:40px;}
.contact-method{display:flex;align-items:center;gap:16px;padding:18px 22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);transition:var(--tr);text-decoration:none;}
.contact-method:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateX(4px);}
.contact-method-icon{width:42px;height:42px;border-radius:10px;background:var(--blue-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.contact-method-icon svg{width:18px;height:18px;}
.contact-method-info h4{font-size:11px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;}
.contact-method-info p{font-size:15px;font-weight:700;color:#fff;margin:0;}
.contact-hours{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:24px;position:relative;z-index:1;}
.contact-hours h4{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
.hours-row{display:flex;justify-content:space-between;font-size:14px;color:rgba(255,255,255,.7);margin-bottom:8px;}
.hours-row:last-child{margin-bottom:0;}
.hours-row span:last-child{font-weight:600;color:#fff;}
.contact-form-wrap h2{font-size:26px;font-weight:800;margin-bottom:8px;color:var(--text-dark);}
.contact-form-wrap>p{font-size:15px;color:var(--text-body);margin-bottom:28px;}
.contact-form{display:flex;flex-direction:column;gap:16px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cf-group{display:flex;flex-direction:column;gap:6px;}
.cf-group label{font-size:13px;font-weight:700;color:var(--text-dark);}
.cf-group input,.cf-group select,.cf-group textarea{padding:13px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:'IBM Plex Sans',sans-serif;color:var(--text-dark);background:#fff;outline:none;transition:border-color var(--tr);}
.cf-group input:focus,.cf-group select:focus,.cf-group textarea:focus{border-color:var(--blue-primary);}
.cf-group textarea{resize:vertical;min-height:120px;}
.cf-submit{background:var(--blue-primary);color:#fff;border:none;padding:16px 32px;border-radius:8px;font-size:15px;font-weight:700;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;transition:var(--tr);display:flex;align-items:center;gap:8px;width:100%;justify-content:center;}
.cf-submit:hover{background:var(--blue-dark);transform:translateY(-2px);}
.cf-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.cf-success{text-align:center;padding:40px;background:#f0fdf4;border:2px solid #bbf7d0;border-radius:var(--radius-lg);}
.cf-success h3{color:#16a34a;font-size:22px;font-weight:800;margin-bottom:8px;}
.cf-success p{color:var(--text-body);font-size:15px;}

/* ============================================================
   FAQS PAGE
   ============================================================ */
.faq-hero{background:var(--navy);padding:72px 0 100px;position:relative;overflow:hidden;}
.faq-hero::before{content:'';position:absolute;top:-80px;left:-80px;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.05);}
.faq-hero-inner{text-align:center;position:relative;z-index:1;}
.faq-hero h1{font-size:clamp(32px,4.5vw,52px);font-weight:800;color:#fff;margin-bottom:16px;}
.faq-hero p{font-size:17px;color:rgba(255,255,255,.7);margin-bottom:40px;}
.faq-search{max-width:560px;margin:0 auto;position:relative;}
.faq-search input{width:100%;padding:18px 56px 18px 20px;border:none;border-radius:12px;font-size:15px;font-family:'IBM Plex Sans',sans-serif;outline:none;box-shadow:0 8px 32px rgba(0,0,0,.2);}
.faq-search svg{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:var(--text-light);}
.faq-content{background:transparent;margin-top:-40px;position:relative;z-index:2;padding-bottom:80px;}
.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;}
.faq-nav{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);padding:24px;position:sticky;top:90px;box-shadow:var(--shadow-card);}
.faq-nav h4{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:12px;}
.faq-nav-link{display:block;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-body);cursor:pointer;transition:var(--tr);margin-bottom:2px;text-decoration:none;}
.faq-nav-link:hover,.faq-nav-link.active{background:var(--blue-bg);color:var(--blue-primary);}
.faq-category{margin-bottom:40px;}
.faq-cat-title{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:16px;}
.faq-accordion{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-card);}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:last-child{border-bottom:none;}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;cursor:pointer;gap:16px;transition:var(--tr);}
.faq-q:hover{background:var(--off-white);}
.faq-q.open{background:var(--blue-bg);}
.faq-q h4{font-size:15px;font-weight:700;color:var(--text-dark);line-height:1.4;}
.faq-q.open h4{color:var(--blue-primary);}
.faq-toggle{width:28px;height:28px;border-radius:50%;background:var(--off-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--tr);}
.faq-q.open .faq-toggle{background:var(--blue-primary);transform:rotate(45deg);}
.faq-toggle svg{width:14px;height:14px;fill:var(--text-light);}
.faq-q.open .faq-toggle svg{fill:#fff;}
.faq-a{display:none;padding:0 24px 20px;}
.faq-a.open{display:block;}
.faq-a p{font-size:15px;color:var(--text-body);line-height:1.75;}

/* ============================================================
   OUR APPROACH PAGE
   ============================================================ */
.approach-hero{background:var(--gradient-hero);padding:80px 0 60px;position:relative;overflow:hidden;}
.approach-timeline{padding:80px 0;background:#fff;}
.timeline-wrap{position:relative;}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-50%);}
.timeline-item{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center;margin-bottom:64px;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-content-left{text-align:right;}
.timeline-node{width:56px;height:56px;border-radius:50%;background:var(--blue-primary);border:4px solid #fff;box-shadow:0 0 0 2px var(--blue-primary),var(--shadow-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;position:relative;}
.timeline-node svg{width:22px;height:22px;}
.timeline-step{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-accent);margin-bottom:8px;}
.timeline-content h3{font-size:20px;font-weight:800;margin-bottom:10px;}
.timeline-content p{font-size:14px;color:var(--text-body);line-height:1.7;}
.approach-pillars{background:var(--off-white);padding:80px 0;}
.pillar-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);margin-bottom:24px;box-shadow:var(--shadow-card);}
.pillar-visual{padding:56px 48px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;}
.pillar-body{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;background:#fff;}
.pillar-body h3{font-size:22px;font-weight:800;margin-bottom:14px;}
.pillar-body p{font-size:15px;color:var(--text-body);line-height:1.8;}
.pillar-icon-big{font-size:64px;margin-bottom:8px;}
.approach-platform{background:var(--navy);padding:80px 0;}
.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.platform-feat{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:32px;background:rgba(255,255,255,.03);transition:var(--tr);}
.platform-feat:hover{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.06);transform:translateY(-4px);}
.platform-feat h4{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px;}
.platform-feat p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.65;}

/* ============================================================
   WHITE PAPERS PAGE
   ============================================================ */
.wp-page{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:70vh;}
.wp-sidebar{background:#0d1b3e;padding:48px 32px;}
.wp-sidebar h3{color:rgba(255,255,255,.5);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;}
.wp-sidebar-section{margin-bottom:32px;}
.wp-filter-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:var(--tr);margin-bottom:4px;}
.wp-filter-item:hover,.wp-filter-item.active{background:rgba(255,255,255,.1);}
.wp-filter-item span{font-size:14px;color:rgba(255,255,255,.75);font-weight:500;}
.wp-filter-item.active span{color:#fff;}
.wp-main{background:var(--off-white);padding:48px;}
.wp-header{margin-bottom:36px;}
.wp-header h1{font-size:clamp(24px,2.5vw,36px);font-weight:800;color:var(--text-dark);margin-bottom:8px;}
.wp-header p{font-size:15px;color:var(--text-body);}
.wp-list{display:flex;flex-direction:column;gap:20px;}
.wp-item{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);padding:32px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;transition:var(--tr);}
.wp-item:hover{box-shadow:var(--shadow-card);border-color:var(--blue-light);transform:translateX(4px);}
.wp-icon{width:60px;height:60px;border-radius:14px;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.wp-icon svg{width:28px;height:28px;fill:var(--blue-primary);}
.wp-info h4{font-size:16px;font-weight:700;margin-bottom:6px;color:var(--text-dark);}
.wp-info p{font-size:14px;color:var(--text-body);line-height:1.6;margin-bottom:12px;}
.wp-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.wp-tag{background:var(--blue-bg);color:var(--blue-primary);font-size:11px;font-weight:700;padding:4px 10px;border-radius:12px;}
.wp-pages{color:var(--text-light);font-size:12px;}
.wp-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;flex-shrink:0;}
.wp-dl-btn{background:var(--blue-primary);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:700;font-family:'IBM Plex Sans',sans-serif;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:var(--tr);text-decoration:none;}
.wp-dl-btn:hover{background:var(--blue-dark);}

/* ============================================================
   GOAT API PAGE
   ============================================================ */
.api-page{background:#0a0e1a;min-height:100vh;}
.api-hero{background:linear-gradient(180deg,#0a1d3d,#0d2a4a);padding:80px 0 60px;border-bottom:1px solid rgba(255,255,255,.06);}
.api-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.api-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);border-radius:24px;padding:6px 16px;margin-bottom:20px;}
.api-hero-badge span{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:apipulse 2s infinite;}
.api-hero-badge p{color:#4ade80;font-size:12px;font-weight:700;margin:0;}
@keyframes apipulse{0%,100%{opacity:1}50%{opacity:.4}}
.api-hero h1{font-size:clamp(32px,4.5vw,52px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:16px;}
.api-hero h1 span{background:linear-gradient(135deg,#FFB347,#3FC1E0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.api-hero p{font-size:17px;color:rgba(255,255,255,.6);line-height:1.75;margin-bottom:32px;}
.api-hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.api-btn-primary{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:var(--tr);}
.api-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.4);}
.api-btn-ghost{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.15);padding:14px 28px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;transition:var(--tr);}
.api-btn-ghost:hover{background:rgba(255,255,255,.14);}
.code-window{background:#0d1117;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;}
.code-header{background:#161b22;padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.06);}
.code-dot{width:12px;height:12px;border-radius:50%;}
.code-filename{margin-left:8px;font-size:12px;color:rgba(255,255,255,.4);font-family:monospace;}
.code-body{padding:24px;font-size:13px;font-family:'Courier New',monospace;line-height:1.8;color:#e6edf3;overflow-x:auto;}
.code-key{color:#79c0ff;}.code-str{color:#a5d6ff;}.code-val{color:#7ee787;}.code-comment{color:#8b949e;}
.api-endpoints{background:#0d1535;padding:80px 0;}
.endpoint-list{display:flex;flex-direction:column;gap:16px;}
.endpoint-card{background:#0a0e1a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:24px 28px;display:flex;align-items:center;gap:20px;transition:var(--tr);}
.endpoint-card:hover{border-color:rgba(59,130,246,.4);background:#0d1535;}
.method-badge{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:800;font-family:monospace;flex-shrink:0;width:72px;text-align:center;}
.method-get{background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.3);}
.method-post{background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.3);}
.method-del{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3);}
.endpoint-path{font-family:monospace;font-size:14px;color:#fff;flex:1;}
.endpoint-desc{font-size:13px;color:rgba(255,255,255,.5);}
.api-features{background:#0a0e1a;padding:80px 0;}
.api-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.api-feat-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);padding:32px;transition:var(--tr);}
.api-feat-card:hover{border-color:rgba(59,130,246,.3);background:rgba(59,130,246,.04);}
.api-feat-icon{width:48px;height:48px;border-radius:12px;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.2);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.api-feat-icon svg{width:24px;height:24px;fill:#60a5fa;}
.api-feat-card h4{font-size:16px;font-weight:700;color:#fff;margin-bottom:8px;}
.api-feat-card p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.65;}

/* ============================================================
   CASE STUDIES + SINGLE (already in main.css but consolidated)
   ============================================================ */
.csd-prose p{font-size:16px;color:var(--text-body);line-height:1.85;margin-bottom:16px;}
.csd-prose p:last-child{margin-bottom:0;}

/* ── IBM Plex Mono — data/label utility ── */
.mono, .label-tag, .trust-label, .stat-label,
.solution-card-num, .beyond-card-num, .hiw-step-num {
  font-family: 'IBM Plex Mono', 'Consolas', monospace;
}
.label-tag { 
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--blue-primary);
  margin-bottom: 12px;
  display: block;
}

/* ============================================================
   GALIDE V2 — HOMEPAGE COMPONENTS
   ============================================================ */

/* ── Shared tokens ───────────────────────────────────────── */
.v2-section        { padding: 88px 0; }
.v2-bg-white       { background: #fff; }
.v2-bg-warm        { background: #F5F5F0; }
.v2-bg-navy        { background: #0A1D3D; }
.v2-navy           { color: #0A1D3D; }
.v2-graphite       { color: #5E5E5A; }
.v2-muted          { color: rgba(255,255,255,.52); }
.v2-h2             { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(24px,3.5vw,40px); font-weight:700; line-height:1.08; letter-spacing:-.02em; margin-bottom:16px; }
.v2-h3             { font-size:clamp(16px,1.6vw,20px); font-weight:700; line-height:1.25; }
.v2-h3-white       { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(15px,1.6vw,18px); font-weight:700; color:#fff; margin-bottom:10px; }
.v2-body           { font-size:clamp(14px,1.2vw,16px); line-height:1.8; margin-bottom:16px; }
.v2-body-sm        { font-size:13px; line-height:1.65; }
.v2-label-green    { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#FF6A00; margin-bottom:14px; display:block; }
.v2-label-mint     { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#FFB347; margin-bottom:14px; display:block; }
.v2-mono-xs        { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.v2-mono-num       { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#B0B0A0; margin-bottom:10px; }
.v2-mono-num-sm    { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; color:#C0C0B0; margin-left:12px; flex-shrink:0; }
.v2-mono-step      { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#FFB347; margin-bottom:18px; }
.v2-tag-green      { font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#FF6A00; display:block; margin-bottom:12px; }
.v2-link-green     { font-size:12px; font-weight:600; color:#FF6A00; text-decoration:none; display:inline-flex; align-items:center; gap:4px; transition:gap .2s; }
.v2-link-green:hover { gap:8px; }
.v2-link-mint      { font-size:14px; font-weight:600; color:#FFB347; text-decoration:none; display:inline-flex; align-items:center; gap:8px; transition:gap .2s; }
.v2-link-mint:hover { gap:12px; }
.v2-link-muted     { font-size:14px; font-weight:500; color:rgba(255,255,255,.45); text-decoration:none; transition:color .2s; }
.v2-link-muted:hover { color:rgba(255,255,255,.85); }
.v2-btn-primary    { display:inline-flex; align-items:center; gap:8px; padding:15px 28px; background:#FF6A00; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; font-size:14px; font-weight:600; border:none; border-radius:6px; cursor:pointer; text-decoration:none; transition:background .2s, transform .2s; box-shadow:0 4px 20px rgba(255,106,0,.35); }
.v2-btn-primary:hover { background:#cc5500; transform:translateY(-2px); }
.v2-btn-ghost      { display:inline-flex; align-items:center; padding:15px 28px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.85); font-family:'IBM Plex Sans',Arial,sans-serif; font-size:14px; font-weight:600; border-radius:6px; text-decoration:none; transition:background .2s; backdrop-filter:blur(6px); }
.v2-btn-ghost:hover { background:rgba(255,255,255,.18); }
.v2-btn-dark       { display:inline-flex; align-items:center; gap:8px; background:#0A1D3D; color:#fff; padding:14px 24px; border-radius:6px; font-size:14px; font-weight:600; font-family:'IBM Plex Sans',Arial,sans-serif; text-decoration:none; transition:background .2s; margin-bottom:32px; }
.v2-btn-dark:hover { background:#162B56; }
.v2-dot-green-sm   { width:6px; height:6px; border-radius:50%; background:#FF6A00; flex-shrink:0; }

/* ── HERO SLIDER ─────────────────────────────────────────── */
.v2-hero-slider    { position:relative; overflow:hidden; }
/* ── Slide container fix ──────────────────────────────────── */
.v2-slide-container {
  width: 100%;
  display: flex;
  align-items: center;
  min-height: inherit;
  padding: 80px 0 60px;
}

.v2-slide          { display:none; position:relative; min-height:88vh; }
.v2-slide.active   { display:flex; align-items:center; }
.v2-slide-bg       { position:absolute; inset:0; z-index:0; }
.v2-slide-bg img   { width:100%; height:100%; object-fit:cover; display:block; }
.v2-slide-overlay  { position:absolute; inset:0; background:linear-gradient(105deg,rgba(10,29,61,.93) 0%,rgba(10,29,61,.88) 40%,rgba(10,29,61,.55) 100%); }
.v2-slide-inner    { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:0; width:100%; }

.v2-slide-left     {}
.v2-hero-label     { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:#FFB347; margin-bottom:24px; display:flex; align-items:center; gap:12px; }
.v2-label-line     { display:block; width:28px; height:1px; background:#FFB347; flex-shrink:0; }
.v2-hero-h1        { font-size:clamp(36px,5.5vw,70px); font-weight:700; color:#fff; line-height:1.0; letter-spacing:-.025em; margin-bottom:24px; }
.v2-hero-desc      { font-size:clamp(14px,1.2vw,17px); color:rgba(255,255,255,.7); line-height:1.8; max-width:440px; margin-bottom:44px; }
.v2-hero-btns      { display:flex; gap:14px; flex-wrap:wrap; }

/* Route panel */
.v2-panel          { background:rgba(10,29,61,.78); backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:28px 28px 24px; }
.v2-panel-header   { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.08); }
.v2-panel-row      { display:flex; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.v2-panel-outcome  { border-bottom:none; padding-top:14px; }
.v2-panel-num      { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#8C96CE; width:22px; flex-shrink:0; }
.v2-panel-dot      { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.22); flex-shrink:0; }
.v2-panel-dot-green { background:#FF6A00; border-color:#FF6A00; }
.v2-panel-lbl      { font-size:14px; font-weight:500; color:rgba(255,255,255,.65); font-family:'IBM Plex Sans',Arial,sans-serif; }
.v2-panel-badge    { margin-top:20px; background:#FF6A00; border-radius:6px; padding:13px 16px; display:flex; align-items:center; gap:10px; }
.v2-panel-badge span { font-size:13px; font-weight:600; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; }

/* Slider controls */
.v2-arrow          { position:absolute; top:50%; transform:translateY(-50%); z-index:20; width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; backdrop-filter:blur(6px); }
.v2-arrow:hover    { background:rgba(255,255,255,.28); }
.v2-arrow svg      { width:22px; height:22px; fill:none; stroke:#fff; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.v2-arrow-prev     { left:24px; }
.v2-arrow-next     { right:24px; }
.v2-dots           { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:20; }
.v2-dot            { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.35); border:none; cursor:pointer; padding:0; transition:.25s; }
.v2-dot.active     { background:#fff; width:28px; border-radius:5px; }

/* ── LOGOS ───────────────────────────────────────────────── */
.v2-logos-section  { background:#fff; border-bottom:1px solid #E8E8E0; padding:36px 0; overflow:hidden; }
.v2-logos-label    { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:#7A7A73; text-align:center; margin-bottom:24px; padding:0 20px; }
.v2-logos-wrap     { position:relative; overflow:hidden; }
.v2-logos-fade     { position:absolute; top:0; bottom:0; width:100px; z-index:2; pointer-events:none; }
.v2-logos-fade-l   { left:0; background:linear-gradient(to right,#fff,transparent); }
.v2-logos-fade-r   { right:0; background:linear-gradient(to left,#fff,transparent); }
.logos-track .brand-logo img { height:36px !important; max-width:140px; opacity:.5; filter:grayscale(1); transition:.25s; }
.logos-track .brand-logo img:hover { opacity:1; filter:none; }

/* ── BEYOND RETIREMENT ───────────────────────────────────── */
.v2-beyond-header  { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:56px; }
.v2-cert-pills     { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.v2-cert-pill      { display:inline-flex; align-items:center; gap:6px; background:#fff; padding:6px 14px; border-radius:24px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.03em; color:#5E5E5A; }
.v2-cert-pill::before { content:''; width:5px; height:5px; border-radius:50%; background:#FF6A00; flex-shrink:0; }
.v2-beyond-grid    { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.v2-beyond-card    { background:#fff; border-radius:8px; padding:32px 24px; transition:box-shadow .25s,transform .25s; }
.v2-beyond-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.08); transform:translateY(-3px); }
.v2-beyond-card .v2-h3 { margin:12px 0; }

/* ── SOLUTIONS ───────────────────────────────────────────── */
.v2-solutions-wrap { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.v2-sol-row        { display:flex; align-items:flex-start; gap:18px; padding:20px 0; border-top:1px solid #EBEBEB; }
.v2-sol-icon       { width:44px; height:44px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.v2-sol-icon svg   { width:22px; height:22px; }
.v2-sol-body       { flex:1; }
.v2-sol-title-row  { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.v2-sol-title      { font-size:15px; font-weight:700; color:#0A1D3D; font-family:'IBM Plex Sans',Arial,sans-serif; line-height:1.3; }
.v2-sol-img-wrap   { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 24px 56px rgba(10,29,61,.18); }
.v2-sol-img-wrap img { width:100%; height:540px; object-fit:cover; display:block; }
.v2-sol-img-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(10,29,61,.92),transparent); padding:40px 24px 24px; }
.v2-sol-cap-text   { font-size:15px; font-weight:600; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; line-height:1.4; }
.v2-sol-cert-badge { position:absolute; top:20px; right:20px; background:rgba(10,29,61,.85); backdrop-filter:blur(10px); border-radius:8px; padding:10px 14px; display:flex; align-items:center; gap:8px; }
.v2-sol-cert-badge .v2-mono-xs { color:#fff; }

/* ── HOW IT WORKS ────────────────────────────────────────── */
.v2-hiw-wrap       { display:grid; grid-template-columns:1fr 2fr; gap:72px; align-items:start; }
.v2-hiw-right      { display:grid; grid-template-columns:1fr 1fr; gap:2px; border-radius:8px; overflow:hidden; background:rgba(255,255,255,.07); }
.v2-hiw-card       { background:rgba(255,255,255,.04); padding:32px 26px; transition:background .2s; }
.v2-hiw-card:hover { background:rgba(255,255,255,.08); }
.v2-hiw-card .v2-body-sm { color:rgba(255,255,255,.5); }

/* ── RECOVERY INTELLIGENCE ───────────────────────────────── */
.v2-ri-wrap        { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.v2-ri-img         { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 20px 56px rgba(10,29,61,.14); }
.v2-ri-img img     { width:100%; height:520px; object-fit:cover; display:block; }
.v2-img-cap-bar    { position:absolute; bottom:0; left:0; right:0; background:#0A1D3D; padding:13px 20px; }
.v2-ri-content .v2-body { margin-bottom:16px; }
.v2-control-pts    { margin-top:8px; }
.v2-cp-row         { display:flex; align-items:center; gap:14px; padding:12px 0; }
.v2-cp-border      { border-top:1px solid #EBEBEB; }
.v2-cp-num         { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FF6A00; flex-shrink:0; width:24px; }
.v2-cp-label       { font-size:13px; font-weight:600; color:#0A1D3D; flex:1; }
.v2-cp-val         { font-size:12px; color:#7A7A73; }

/* ── EVIDENCE AT CLOSEOUT ────────────────────────────────── */
.v2-ev-header      { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:48px; }
.v2-ev-grid        { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:16px; }
.v2-ev-card        { background:#fff; border-radius:10px; padding:28px 22px; transition:box-shadow .25s,transform .25s; }
.v2-ev-card:hover  { box-shadow:0 8px 32px rgba(0,0,0,.08); transform:translateY(-3px); }
.v2-ev-icon        { width:44px; height:44px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.v2-ev-icon svg    { width:22px; height:22px; }
.v2-ev-title       { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:8px; line-height:1.35; font-family:'IBM Plex Sans',Arial,sans-serif; }
.v2-ev-photos      { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.v2-ev-photo       { position:relative; border-radius:8px; overflow:hidden; }
.v2-ev-photo img   { width:100%; height:230px; object-fit:cover; display:block; }
.v2-ev-photo-cap   { position:absolute; bottom:0; left:0; right:0; padding:12px 14px; background:linear-gradient(to top,rgba(10,29,61,.85),transparent); }

/* ── FINAL CTA ───────────────────────────────────────────── */
.v2-cta-wrap       { display:grid; grid-template-columns:1fr auto; gap:56px; align-items:center; }
.v2-cta-actions    { display:flex; flex-direction:column; gap:14px; align-items:flex-start; flex-shrink:0; }


/* ── Route panel blink animation ────────────────────────────── */
@keyframes routeBlink {
  0%, 100% { opacity:1; box-shadow:0 0 0 0 rgba(255,106,0,.6); }
  50%       { opacity:.6; box-shadow:0 0 0 5px rgba(255,106,0,0); }
}
.route-blink-dot {
  animation: routeBlink 1.4s ease-in-out infinite;
  width:8px !important;
  height:8px !important;
}

/* ── R2v3 logo cert pill ─────────────────────────────────────── */
.v2-cert-pill-logo {
  background:#fff;
  padding:5px 12px;
  height:auto;
}
.v2-cert-pill-logo img {
  display:block;
  height:28px !important;
  width:auto;
}
.pt-cert-badge-logo {
  background:rgba(255,255,255,.1);
  padding:10px 16px;
}

/* ============================================================
   RESPONSIVE — HOMEPAGE
   ============================================================ */

/* ── 1024px ─── */

/* ── 768px ─── */

/* ── 480px ─── */

/* ============================================================
   SERVICES PAGE — sv-*
   ============================================================ */

/* ── HERO ─────────────────────────────────────────────────── */
.sv-hero          { background:#0A1D3D; padding:80px 0 72px; position:relative; overflow:hidden; }
.sv-hero::before  { content:''; position:absolute; top:-200px; right:-100px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(255,106,0,.1) 0%,transparent 65%); pointer-events:none; }
.sv-hero-inner    { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.sv-breadcrumb    { display:flex; align-items:center; gap:8px; font-size:12px; color:rgba(255,255,255,.4); margin-bottom:20px; }
.sv-breadcrumb a  { color:rgba(255,255,255,.4); text-decoration:none; transition:.2s; }
.sv-breadcrumb a:hover { color:rgba(255,255,255,.75); }
.sv-breadcrumb span { color:rgba(255,255,255,.25); }
.sv-hero-h1       { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(32px,4vw,52px); font-weight:700; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:20px; }
.sv-hero-desc     { font-size:16px; color:rgba(255,255,255,.68); line-height:1.8; max-width:480px; margin-bottom:36px; }
.sv-hero-btns     { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.sv-btn-outline   { display:inline-flex; align-items:center; padding:14px 24px; color:rgba(255,255,255,.8); background:rgba(255,255,255,.08); border-radius:6px; font-size:14px; font-weight:600; font-family:'IBM Plex Sans',Arial,sans-serif; text-decoration:none; transition:.2s; }
.sv-btn-outline:hover { background:rgba(255,255,255,.15); }

/* Hero route widget */
.sv-hero-route    { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:20px 22px; }
.sv-route-item    { display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.sv-route-outcome { display:flex; align-items:center; gap:12px; padding:10px 0 0; }
.sv-route-num     { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#8C96CE; width:20px; flex-shrink:0; }
.sv-route-dot     { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.2); flex-shrink:0; }
.sv-dot-green     { background:#FF6A00 !important; }
.sv-route-lbl     { font-size:13px; color:rgba(255,255,255,.6); font-family:'IBM Plex Sans',Arial,sans-serif; }

/* Hero image */
.sv-hero-img-wrap { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 32px 64px rgba(0,0,0,.4); }
.sv-hero-img-wrap img { width:100%; height:520px; object-fit:cover; display:block; }
.sv-hero-badge    { position:absolute; bottom:20px; left:20px; background:rgba(10,29,61,.88); backdrop-filter:blur(10px); border-radius:8px; padding:10px 16px; display:flex; align-items:center; gap:8px; }
.sv-badge-dot     { width:6px; height:6px; border-radius:50%; background:#FF6A00; flex-shrink:0; }
.sv-hero-badge span { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.05em; color:#fff; }
.sv-hero-cert     { position:absolute; top:16px; right:16px; background:rgba(255,255,255,.95); border-radius:6px; padding:8px 12px; display:flex; align-items:center; gap:6px; }
.sv-hero-cert span { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.04em; color:#0A1D3D; }

/* ── SECTION HEADER ───────────────────────────────────────── */
.sv-section-header { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:52px; }
.sv-header-desc    { max-width:420px; }

/* ── SERVICE PATHS ────────────────────────────────────────── */
.sv-paths-grid    { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.sv-path-card     { background:#fff; border-radius:10px; padding:32px 26px; display:flex; flex-direction:column; text-decoration:none; transition:box-shadow .25s, transform .25s; position:relative; overflow:hidden; }
.sv-path-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:#FF6A00; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.sv-path-card:hover { box-shadow:0 12px 40px rgba(0,0,0,.1); transform:translateY(-4px); }
.sv-path-card:hover::after { transform:scaleX(1); }
.sv-path-top      { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.sv-path-icon     { width:52px; height:52px; border-radius:12px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sv-path-icon svg { width:26px; height:26px; }
.sv-path-icon img { width:26px; height:26px; object-fit:contain; }
.sv-path-num      { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#C0C0B0; }
.sv-path-title    { font-size:16px; font-weight:700; color:#0A1D3D; margin-bottom:12px; line-height:1.3; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sv-path-desc     { font-size:13px; color:#5E5E5A; line-height:1.65; flex:1; margin-bottom:20px; }
.sv-path-link     { font-size:13px; font-weight:600; color:#FF6A00; display:flex; align-items:center; gap:4px; transition:gap .2s; margin-top:auto; }
.sv-path-card:hover .sv-path-link { gap:8px; }

/* ── HOW IT WORKS ─────────────────────────────────────────── */
.sv-hiw-header    { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:52px; }
.sv-hiw-steps     { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; border-radius:10px; overflow:hidden; background:rgba(255,255,255,.07); position:relative; }
.sv-hiw-step      { background:rgba(255,255,255,.04); padding:36px 28px; position:relative; transition:background .2s; }
.sv-hiw-step:hover { background:rgba(255,255,255,.08); }
.sv-hiw-icon      { width:48px; height:48px; border-radius:12px; background:rgba(255,179,71,.1); border:1px solid rgba(255,179,71,.2); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.sv-hiw-icon svg  { width:24px; height:24px; }
.sv-hiw-num       { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#FFB347; margin-bottom:12px; }
.sv-hiw-title     { font-size:18px; font-weight:700; color:#fff; margin-bottom:10px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sv-hiw-desc      { font-size:13px; color:rgba(255,255,255,.5); line-height:1.7; }
.sv-hiw-arrow     { position:absolute; right:-14px; top:50%; transform:translateY(-50%); font-size:20px; color:rgba(255,255,255,.2); z-index:2; pointer-events:none; }

/* ── AGREED SCOPE ─────────────────────────────────────────── */
.sv-scope-wrap    { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.sv-scope-img-inner { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 20px 56px rgba(10,29,61,.14); margin-bottom:20px; }
.sv-scope-img-inner img { width:100%; height:400px; object-fit:cover; display:block; }
.sv-scope-img-cap { position:absolute; bottom:0; left:0; right:0; background:#0A1D3D; padding:12px 18px; }
.sv-checkpoints   { display:flex; flex-direction:column; gap:2px; }
.sv-checkpoint    { display:flex; align-items:flex-start; gap:14px; background:#F5F5F0; padding:16px 18px; border-radius:8px; }
.sv-checkpoint-num { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FF6A00; flex-shrink:0; padding-top:2px; }
.sv-checkpoint-label { font-size:13px; font-weight:700; color:#0A1D3D; margin-bottom:2px; }
.sv-checkpoint-desc  { font-size:12px; color:#5E5E5A; }
.sv-scope-list    { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.sv-scope-item    { display:flex; align-items:flex-start; gap:12px; font-size:14px; color:#292929; line-height:1.55; }
.sv-scope-check   { width:22px; height:22px; border-radius:50%; background:#FFF4EC; border:1.5px solid #FF6A00; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.sv-scope-check svg { width:12px; height:12px; }

/* ── CONTINUUM ────────────────────────────────────────────── */
.sv-continuum     { position:relative; overflow:hidden; padding:96px 0; }
.sv-continuum-bg  { position:absolute; inset:0; z-index:0; }
.sv-continuum-bg img { width:100%; height:100%; object-fit:cover; display:block; }
.sv-continuum-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(10,29,61,.96) 0%,rgba(10,29,61,.92) 50%,rgba(10,29,61,.75) 100%); }
.sv-continuum-inner   { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.sv-continuum-content .v2-body { margin-bottom:16px; }
.sv-cont-badge    { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:24px; margin-bottom:16px; }
.sv-cont-routes   { display:flex; flex-direction:column; gap:10px; }
.sv-cont-route    { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:12px 16px; }
.sv-cont-dot      { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.sv-cont-route-lbl { font-size:14px; font-weight:600; color:#fff; flex:1; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sv-cont-status   { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.35); }

/* ── EVIDENCE ─────────────────────────────────────────────── */
.sv-ev-header     { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-bottom:48px; }
.sv-ev-img-wrap   { position:relative; border-radius:10px; overflow:hidden; box-shadow:0 16px 48px rgba(10,29,61,.15); }
.sv-ev-img-wrap img { width:100%; height:320px; object-fit:cover; display:block; }
.sv-ev-img-label  { position:absolute; bottom:0; left:0; right:0; background:#0A1D3D; padding:12px 16px; }
.sv-ev-grid       { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sv-ev-card       { background:#fff; border-radius:10px; padding:28px 22px; transition:box-shadow .25s,transform .25s; }
.sv-ev-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.08); transform:translateY(-3px); }
.sv-ev-icon       { width:44px; height:44px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.sv-ev-icon svg   { width:22px; height:22px; }
.sv-ev-title      { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:8px; line-height:1.35; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sv-ev-desc       { font-size:12px; color:#5E5E5A; line-height:1.6; }

/* ── FAQ ──────────────────────────────────────────────────── */
.sv-faq-wrap      { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.sv-faq-right     { display:flex; flex-direction:column; gap:0; }
.sv-faq-item      { border-bottom:1px solid #EBEBEB; }
.sv-faq-item:first-child { border-top:1px solid #EBEBEB; }
.sv-faq-q         { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; background:none; border:none; cursor:pointer; text-align:left; font-size:15px; font-weight:600; color:#0A1D3D; font-family:'IBM Plex Sans',Arial,sans-serif; transition:color .2s; }
.sv-faq-q:hover   { color:#FF6A00; }
.sv-faq-q.open    { color:#FF6A00; }
.sv-faq-icon      { width:20px; height:20px; flex-shrink:0; transition:transform .25s; color:#FF6A00; }
.sv-faq-q.open .sv-faq-icon { transform:rotate(45deg); }
.sv-faq-a         { max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; }
.sv-faq-a p       { font-size:14px; color:#5E5E5A; line-height:1.75; }

/* ── CTA ──────────────────────────────────────────────────── */
.sv-cta-wrap      { display:grid; grid-template-columns:1fr auto; gap:56px; align-items:center; }
.sv-cta-actions   { display:flex; flex-direction:column; gap:12px; align-items:flex-start; flex-shrink:0; }

/* ── RESPONSIVE ───────────────────────────────────────────── */

/* ============================================================
   SOLUTION PAGES (Enterprise / Education / Remote Returns)
   sp-* prefix
   ============================================================ */

/* ── HERO ─────────────────────────────────────────────────── */
.sp-hero          { background:#0A1D3D; padding:80px 0 72px; position:relative; overflow:hidden; }
.sp-hero::before  { content:''; position:absolute; top:-200px; right:-100px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(255,106,0,.1) 0%,transparent 65%); pointer-events:none; }
.sp-hero-inner    { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.sp-hero-h1       { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(30px,4vw,50px); font-weight:700; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:20px; }
.sp-hero-desc     { font-size:16px; color:rgba(255,255,255,.68); line-height:1.8; margin-bottom:36px; max-width:480px; }
.sp-hero-btns     { display:flex; gap:14px; flex-wrap:wrap; }
.sp-hero-img-wrap { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 32px 64px rgba(0,0,0,.4); }
.sp-hero-img-wrap img { width:100%; height:480px; object-fit:cover; display:block; }
.sp-hero-badge    { position:absolute; bottom:20px; left:20px; background:rgba(10,29,61,.88); backdrop-filter:blur(10px); border-radius:8px; padding:10px 16px; display:flex; align-items:center; gap:8px; }
.sp-hero-badge span { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.05em; color:#fff; }
.sp-hero-cert     { position:absolute; top:16px; right:16px; background:rgba(255,255,255,.96); border-radius:8px; padding:10px 16px; display:flex; align-items:center; gap:8px; }
.sp-hero-cert span { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.04em; color:#0A1D3D; font-weight:600; }

/* ── INTRO ────────────────────────────────────────────────── */
.sp-intro-wrap    { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.sp-intro-cards   { display:flex; flex-direction:column; gap:20px; }
.sp-intro-card    { display:flex; align-items:flex-start; gap:16px; padding:20px; background:#fff; border-radius:10px; transition:box-shadow .2s,transform .2s; }
.sp-intro-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); transform:translateX(4px); }
.sp-intro-icon    { width:44px; height:44px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sp-intro-icon svg { width:22px; height:22px; }
.sp-intro-icon img { width:22px; height:22px; object-fit:contain; }
.sp-intro-card-title { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:4px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sp-intro-card-desc  { font-size:13px; color:#5E5E5A; line-height:1.55; }

/* ── SIDE IMAGE (shared) ──────────────────────────────────── */
.sp-side-img-wrap   { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 20px 56px rgba(10,29,61,.14); }
.sp-side-img-wrap img { width:100%; height:440px; object-fit:cover; display:block; }
.sp-img-label-bar   { position:absolute; bottom:0; left:0; right:0; background:#0A1D3D; padding:12px 18px; }

/* ── PROCESS ──────────────────────────────────────────────── */
.sp-proc-header   { margin-bottom:48px; }
.sp-proc-grid     { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; border-radius:10px; overflow:hidden; background:rgba(255,255,255,.07); }
.sp-proc-card     { background:rgba(255,255,255,.04); padding:32px 26px; transition:background .2s; }
.sp-proc-card:hover { background:rgba(255,255,255,.08); }
.sp-proc-icon     { width:48px; height:48px; border-radius:12px; background:rgba(255,179,71,.1); border:1px solid rgba(255,179,71,.2); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.sp-proc-icon svg { width:24px; height:24px; }
.sp-proc-num      { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#FFB347; margin-bottom:10px; }
.sp-proc-title    { font-size:17px; font-weight:700; color:#fff; margin-bottom:8px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.sp-proc-desc     { font-size:13px; color:rgba(255,255,255,.5); line-height:1.65; }

/* ── DETAILS ──────────────────────────────────────────────── */
.sp-det-wrap      { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.sp-det-list      { list-style:none; padding:0; margin:16px 0 0; display:flex; flex-direction:column; gap:10px; }
.sp-det-list li   { display:flex; align-items:flex-start; gap:12px; font-size:14px; color:#292929; line-height:1.55; }
.sp-det-check     { width:22px; height:22px; border-radius:50%; background:#FFF4EC; border:1.5px solid #FF6A00; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.sp-det-check svg { width:12px; height:12px; }
.sp-det-side-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.sp-det-side-item { display:flex; align-items:flex-start; gap:12px; background:#F5F5F0; border-radius:8px; padding:14px 16px; }
.sp-det-side-num  { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FF6A00; flex-shrink:0; padding-top:2px; }
.sp-det-side-label { font-size:13px; font-weight:700; color:#0A1D3D; margin-bottom:2px; }
.sp-det-side-desc  { font-size:12px; color:#5E5E5A; }

/* ── EVIDENCE ─────────────────────────────────────────────── */
.sp-ev-header     { margin-bottom:40px; }
.sp-ev-grid       { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:14px; }
.sp-ev-card       { background:#fff; border-radius:10px; padding:24px 20px; transition:box-shadow .2s,transform .2s; }
.sp-ev-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.sp-ev-icon       { width:40px; height:40px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.sp-ev-icon svg   { width:20px; height:20px; }
.sp-ev-title      { font-size:13px; font-weight:700; color:#0A1D3D; line-height:1.35; font-family:'IBM Plex Sans',Arial,sans-serif; }

/* ── PHOTO STRIP ──────────────────────────────────────────── */
.sp-photo-strip   { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sp-photo-item    { position:relative; border-radius:8px; overflow:hidden; }
.sp-photo-item img { width:100%; height:220px; object-fit:cover; display:block; }
.sp-photo-cap     { position:absolute; bottom:0; left:0; right:0; padding:10px 14px; background:linear-gradient(to top,rgba(10,29,61,.85),transparent); }

/* ── FAQS ─────────────────────────────────────────────────── */
.sp-faq-wrap      { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.sp-faq-right     { display:flex; flex-direction:column; }

/* ── CTA ──────────────────────────────────────────────────── */
.sp-cta-wrap      { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:center; }
.sp-cta-btns      { display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0; }

/* ── RESPONSIVE ───────────────────────────────────────────── */

/* ── 6-step process grid (Remote Returns) ─────────────────── */

/* ====== RESPONSIVE — ALL MEDIA QUERIES ====== */

@media (max-width:960px){
  .slide-inner-two { grid-template-columns:1fr; }
  .hero-image  { order:-1; }
  .hero-pillars { flex-wrap:wrap; }
  .why-inner   { grid-template-columns:1fr; }
  .certs-inner { grid-template-columns:1fr; }
  .stats-grid  { grid-template-columns:repeat(2,1fr); gap:32px 0; }
  .stat-item:nth-child(2)::after { display:none; }
  .nav-menu    { display:none; }
  .hamburger   { display:flex; }
  .mobile-menu { display:block; }
  .laptop-wrapper { transform:scale(1); }
  .laptop-visual  { width:100%; max-width:480px; }
  @keyframes float { 0%,100%{transform:scale(1) translateY(0)} 50%{transform:scale(1) translateY(-14px)} }
  .top-bar { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

/* ============================================================
   INNER PAGES — SHARED (ip-*)
   ============================================================ */
.ip-hero             { background:#0A1D3D; padding:80px 0 72px; position:relative; overflow:hidden; }
.ip-hero::before     { content:''; position:absolute; top:-200px; right:-100px; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(255,106,0,.1) 0%,transparent 65%); pointer-events:none; }
.ip-hero-light       { background:#F5F5F0; padding:0; }
.ip-hero-inner       { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.ip-hero-h1          { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(30px,4vw,50px); font-weight:700; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:20px; }
.ip-hero-desc        { font-size:16px; color:rgba(255,255,255,.68); line-height:1.8; max-width:480px; margin-bottom:36px; }
.ip-hero-btns        { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.ip-hero-img-wrap    { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 32px 64px rgba(0,0,0,.4); }
.ip-hero-img-wrap img { width:100%; height:480px; object-fit:cover; display:block; }
.ip-cert-strip       { display:flex; gap:8px; flex-wrap:wrap; margin-top:20px; }
.ip-cert-badge       { font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.1); color:rgba(255,255,255,.75); border:1px solid rgba(255,255,255,.15); border-radius:4px; padding:5px 10px; }

/* Cert tags (Proof & Trust hero) */
.ip-cert-tags        { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:32px; }
.ip-cert-tag         { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:12px 16px; }
.ip-cert-tag-label   { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#FFB347; display:block; margin-bottom:4px; }
.ip-cert-tag-value   { font-size:13px; font-weight:700; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; }

/* 2-col layout */
.ip-two-col          { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }

/* Step summary (How It Works problem section) */
.ip-steps-summary    { display:flex; flex-direction:column; gap:2px; }
.ip-step-summary     { display:flex; align-items:flex-start; gap:16px; background:#fff; border-radius:8px; padding:18px 20px; transition:box-shadow .2s; }
.ip-step-summary:hover { box-shadow:0 4px 16px rgba(0,0,0,.07); }
.ip-step-num         { font-family:'IBM Plex Mono',monospace; font-size:11px; color:#FF6A00; font-weight:600; flex-shrink:0; width:24px; padding-top:2px; }
.ip-step-title       { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:3px; }
.ip-step-desc        { font-size:13px; color:#5E5E5A; line-height:1.55; }

/* Accountable path steps */
.ip-path-header      { margin-bottom:48px; }
.ip-path-wrap        { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.ip-path-steps       { display:flex; flex-direction:column; gap:2px; }
.ip-path-step        { display:flex; gap:20px; align-items:flex-start; padding:24px 20px; background:#F5F5F0; border-radius:10px; margin-bottom:8px; }
.ip-path-icon        { width:44px; height:44px; border-radius:10px; background:#0A1D3D; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ip-path-icon svg    { width:22px; height:22px; }
.ip-path-content     { flex:1; }
.ip-path-num         { font-family:'IBM Plex Mono',monospace; font-size:9px; color:#FF6A00; margin-bottom:4px; }
.ip-path-title       { font-size:16px; font-weight:700; color:#0A1D3D; margin-bottom:6px; }
.ip-path-desc        { font-size:13px; color:#5E5E5A; line-height:1.6; margin-bottom:8px; }
.ip-path-output      { display:flex; align-items:center; gap:8px; background:#fff; border-radius:4px; padding:6px 10px; }
.ip-output-text      { font-size:12px; color:#0A1D3D; font-style:italic; }
.ip-path-img         {}

/* Thread widget */
.ip-thread-widget    { display:flex; align-items:center; gap:0; margin-top:20px; background:#F5F5F0; border-radius:8px; padding:16px 20px; }
.ip-thread-node      { display:flex; flex-direction:column; align-items:center; gap:6px; position:relative; }
.ip-thread-dot       { width:10px; height:10px; border-radius:50%; background:#FF6A00; }
.ip-thread-line      { width:60px; height:2px; background:#D4D4CD; }
.ip-thread-node span { font-family:'IBM Plex Mono',monospace; font-size:8px; letter-spacing:.08em; text-transform:uppercase; color:#7A7A73; white-space:nowrap; }

/* Thread bar (navy) */
.ip-thread-bar       { display:flex; align-items:center; margin-top:48px; padding:20px 24px; background:rgba(255,255,255,.05); border-radius:8px; }
.ip-tb-node          { display:flex; flex-direction:column; align-items:center; gap:8px; }
.ip-tb-dot           { width:10px; height:10px; border-radius:50%; background:#FF6A00; }
.ip-tb-line          { flex:1; height:2px; background:rgba(255,255,255,.15); }

/* Logistics section */
.ip-logistics-wrap   { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.ip-logistics-cards  { display:flex; flex-direction:column; gap:16px; }
.ip-logistics-card   { display:flex; align-items:flex-start; gap:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:20px; }
.ip-logistics-icon   { width:44px; height:44px; border-radius:10px; background:rgba(255,179,71,.1); border:1px solid rgba(255,179,71,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ip-logistics-icon svg { width:22px; height:22px; }
.ip-logistics-title  { font-size:15px; font-weight:700; color:#fff; margin-bottom:6px; }
.ip-logistics-desc   { font-size:13px; color:rgba(255,255,255,.55); line-height:1.6; }

/* Solution links */
.ip-sol-links        { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; border-radius:8px; overflow:hidden; background:#D4D4CD; }
.ip-sol-link         { display:flex; align-items:center; gap:12px; padding:24px 20px; background:#fff; text-decoration:none; transition:background .2s; }
.ip-sol-link:hover   { background:#FFF4EC; }
.ip-sol-num          { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#7A7A73; }
.ip-sol-name         { font-size:14px; font-weight:700; color:#0A1D3D; flex:1; }
.ip-sol-arrow        { font-size:16px; color:#FF6A00; }

/* NIST cards (Proof & Trust) */
.ip-nist-grid        { display:grid; grid-template-columns:1fr 1fr; gap:2px; border-radius:10px; overflow:hidden; background:rgba(255,255,255,.07); margin-bottom:40px; }
.ip-nist-card        { background:rgba(255,255,255,.04); padding:40px 36px; }
.ip-nist-num         { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FFB347; margin-bottom:16px; }
.ip-nist-title       { font-size:18px; font-weight:700; color:#fff; margin-bottom:10px; }
.ip-nist-desc        { font-size:14px; color:rgba(255,255,255,.55); line-height:1.7; }

/* Records grid (Proof & Trust) */
.ip-records-header   { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; margin-bottom:48px; }
.ip-records-img      {}
.ip-records-grid     { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ip-record-card      { background:#F5F5F0; border-radius:10px; padding:28px 24px; transition:box-shadow .2s,transform .2s; }
.ip-record-card:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.ip-record-icon      { width:40px; height:40px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.ip-record-icon svg  { width:20px; height:20px; }
.ip-record-num       { font-family:'IBM Plex Mono',monospace; font-size:9px; color:#FF6A00; margin-bottom:6px; }
.ip-record-title     { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:8px; line-height:1.3; }
.ip-record-desc      { font-size:12px; color:#5E5E5A; line-height:1.6; }

/* ABOUT PAGE */
.ab-origin-timeline  { display:flex; gap:0; margin-top:32px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:8px; overflow:hidden; }
.ab-timeline-item    { flex:1; padding:14px 18px; border-right:1px solid rgba(255,255,255,.08); }
.ab-timeline-item:last-child { border-right:none; }
.ab-tl-label         { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:#FFB347; display:block; margin-bottom:4px; }
.ab-tl-value         { font-size:12px; color:rgba(255,255,255,.65); font-family:'IBM Plex Sans',Arial,sans-serif; }
.ab-quote            { font-size:18px; font-style:italic; color:#0A1D3D; border-left:3px solid #FF6A00; padding-left:20px; margin:24px 0; line-height:1.6; }
.ab-origin-steps     { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ab-origin-step      { background:#fff; border-radius:8px; padding:20px; }
.ab-os-num           { font-family:'IBM Plex Mono',monospace; font-size:9px; color:#FF6A00; margin-bottom:8px; }
.ab-os-title         { font-size:15px; font-weight:700; color:#0A1D3D; margin-bottom:4px; }
.ab-os-desc          { font-size:12px; color:#5E5E5A; }
.ab-compare          { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:#D4D4CD; border-radius:8px; overflow:hidden; margin:24px 0; }
.ab-compare-item     { background:#F5F5F0; padding:14px 18px; }
.ab-compare-label    { font-family:'IBM Plex Mono',monospace; font-size:9px; color:#7A7A73; letter-spacing:.06em; text-transform:uppercase; display:block; margin-bottom:4px; }
.ab-compare-value    { font-size:14px; font-weight:700; color:#0A1D3D; }
.ab-mindset-items    { display:flex; flex-direction:column; gap:12px; }
.ab-mindset-item     { display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid #EBEBEB; }
.ab-mindset-item:last-child { border-bottom:none; }
.ab-mi-num           { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FF6A00; width:24px; flex-shrink:0; padding-top:2px; }
.ab-mi-title         { font-size:13px; font-weight:700; color:#0A1D3D; margin-bottom:3px; }
.ab-mi-desc          { font-size:12px; color:#5E5E5A; line-height:1.55; }
.ab-certs-strip      { display:flex; gap:24px; flex-wrap:wrap; }
.ab-cert-item        { display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.7); }

/* RECOVERY REVIEW PAGE */
.rr-hero             { padding:80px 0; }
.rr-hero-inner       { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.rr-prep-steps       { display:flex; flex-direction:column; gap:2px; }
.rr-prep-step        { display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.rr-prep-num         { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FFB347; width:22px; flex-shrink:0; padding-top:2px; }
.rr-prep-title       { font-size:13px; font-weight:700; color:#fff; margin-bottom:3px; }
.rr-prep-desc        { font-size:12px; color:rgba(255,255,255,.55); }
.rr-form-wrap        {}
.rr-form-box         { background:#fff; border-radius:12px; padding:36px; box-shadow:0 24px 64px rgba(0,0,0,.25); }
.rr-form-title       { font-size:18px; font-weight:700; color:#0A1D3D; margin-bottom:28px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.form-row-two        { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rr-field            { margin-bottom:16px; }
.rr-field label      { display:block; font-size:13px; font-weight:600; color:#0A1D3D; margin-bottom:6px; }
.rr-field input,
.rr-field select,
.rr-field textarea   { width:100%; padding:11px 14px; border:1.5px solid #D4D4CD; border-radius:6px; font-size:14px; font-family:'IBM Plex Sans',Arial,sans-serif; color:#292929; outline:none; transition:border-color .2s; background:#fff; }
.rr-field input:focus,
.rr-field select:focus,
.rr-field textarea:focus { border-color:#FF6A00; }
.rr-field textarea   { resize:vertical; }
.rr-error            { background:#fef2f2; color:#BA2D35; font-size:13px; padding:10px 14px; border-radius:6px; margin-bottom:12px; }
.rr-submit           { width:100%; background:#FF6A00; color:#fff; border:none; padding:15px; border-radius:6px; font-size:15px; font-weight:700; font-family:'IBM Plex Sans',Arial,sans-serif; cursor:pointer; transition:background .2s; }
.rr-submit:hover     { background:#cc5500; }
.rr-submit:disabled  { opacity:.6; cursor:not-allowed; }
.rr-privacy          { font-size:11px; color:#7A7A73; text-align:center; margin-top:12px; line-height:1.5; }
.rr-success          { text-align:center; padding:40px 20px; }
.rr-success-icon     { font-size:48px; color:#FF6A00; margin-bottom:16px; }
.rr-success h3       { font-size:22px; font-weight:700; color:#0A1D3D; margin-bottom:8px; }
.rr-success p        { color:#5E5E5A; font-size:15px; }
.rr-prep-grid        { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rr-prep-card        { background:#fff; border-radius:10px; padding:32px 26px; }
.rr-prep-card-num    { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FF6A00; margin-bottom:12px; }
.rr-prep-card-title  { font-size:18px; font-weight:700; color:#0A1D3D; margin-bottom:10px; }
.rr-prep-card-desc   { font-size:14px; color:#5E5E5A; line-height:1.65; }

/* RESOURCES PAGE */
.res-grid            { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.res-card            { background:#fff; border-radius:10px; padding:28px 24px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .25s,transform .25s; }
.res-card:hover      { box-shadow:0 8px 32px rgba(0,0,0,.08); transform:translateY(-3px); }
.res-card-top        { display:flex; align-items:center; justify-content:space-between; }
.res-icon            { width:40px; height:40px; border-radius:10px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; }
.res-icon svg        { width:20px; height:20px; }
.res-tag             { font-family:'IBM Plex Mono',monospace; font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:20px; }
.res-title           { font-size:15px; font-weight:700; color:#0A1D3D; line-height:1.3; }
.res-desc            { font-size:13px; color:#5E5E5A; line-height:1.6; flex:1; }

/* ============================================================
   RESPONSIVE — CONSOLIDATED (all breakpoints at end)
   ============================================================ */

/* ============================================================
   RESPONSIVE — ALL MEDIA QUERIES (consolidated)
   ============================================================ */

@media (max-width:1100px) {
  .solutions-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid    { grid-template-columns:1fr 1fr 1fr; }
  .values-grid{grid-template-columns:repeat(4,1fr);}
}

@media (max-width:1100px) {
  .sv-paths-grid  { grid-template-columns:repeat(2,1fr); }
  .sv-ev-grid     { grid-template-columns:repeat(2,1fr); }
  .ip-sol-links      { grid-template-columns:1fr 1fr; }
  .ip-records-grid   { grid-template-columns:1fr 1fr; }
  .res-grid          { grid-template-columns:1fr 1fr; }
  .rr-prep-grid      { grid-template-columns:1fr 1fr; }
}

@media (min-width:1025px) {
  .sp-proc-grid[style*="repeat(3"] { grid-template-columns:repeat(3,1fr) !important; }
}

@media (max-width:1024px) {
  .v2-slide-container    { padding:80px 0 90px; }
  .v2-slide-inner        { grid-template-columns:1fr; gap:32px; }
  .v2-slide-right        { display:none; }
  .v2-slide              { min-height:70vh; }
  .v2-beyond-grid        { grid-template-columns:repeat(2,1fr); }
  .v2-solutions-wrap     { grid-template-columns:1fr; gap:48px; }
  .v2-solutions-right    { order:-1; }
  .v2-sol-img-wrap img   { height:360px; }
  .v2-hiw-wrap           { grid-template-columns:1fr; gap:40px; }
  .v2-ri-wrap            { grid-template-columns:1fr; gap:48px; }
  .v2-ri-img             { order:-1; }
  .v2-ri-img img         { height:380px; }
  .v2-ev-grid            { grid-template-columns:repeat(2,1fr); }
  .v2-cta-wrap           { grid-template-columns:1fr; gap:32px; }
  .v2-beyond-header      { grid-template-columns:1fr; gap:20px; }
  .v2-ev-header          { grid-template-columns:1fr; gap:20px; }
  .sv-hero-inner  { grid-template-columns:1fr; gap:48px; }
  .sv-hero-img-wrap img { height:380px; }
  .sv-section-header { grid-template-columns:1fr; gap:20px; }
  .sv-header-desc { max-width:100%; }
  .sv-hiw-steps   { grid-template-columns:1fr 1fr; }
  .sv-hiw-arrow   { display:none; }
  .sv-scope-wrap  { grid-template-columns:1fr; gap:48px; }
  .sv-scope-img   { order:-1; }
  .sv-scope-img-inner img { height:320px; }
  .sv-continuum-inner { grid-template-columns:1fr; gap:40px; }
  .sv-ev-header   { grid-template-columns:1fr; gap:32px; }
  .sv-faq-wrap    { grid-template-columns:1fr; gap:40px; }
  .sv-cta-wrap    { grid-template-columns:1fr; gap:32px; }
  .sp-hero-inner   { grid-template-columns:1fr; gap:40px; }
  .sp-hero-img-wrap img { height:360px; }
  .sp-intro-wrap   { grid-template-columns:1fr; gap:48px; }
  .sp-intro-right  { order:-1; }
  .sp-proc-grid    { grid-template-columns:1fr 1fr; }
  .sp-det-wrap     { grid-template-columns:1fr; gap:48px; }
  .sp-det-right    { order:-1; }
  .sp-ev-grid      { grid-template-columns:1fr 1fr; }
  .sp-faq-wrap     { grid-template-columns:1fr; gap:40px; }
  .sp-cta-wrap     { grid-template-columns:1fr; gap:28px; }
  .sp-proc-grid { grid-template-columns:repeat(2,1fr) !important; }
  .ip-hero-inner     { grid-template-columns:1fr; gap:48px; }
  .ip-hero-img-wrap img { height:360px; }
  .ip-two-col        { grid-template-columns:1fr; gap:48px; }
  .ip-path-wrap      { grid-template-columns:1fr; gap:48px; }
  .ip-logistics-wrap { grid-template-columns:1fr; gap:48px; }
  .ip-nist-grid      { grid-template-columns:1fr; }
  .ip-records-header { grid-template-columns:1fr; gap:32px; }
  .ip-cert-tags      { grid-template-columns:1fr 1fr; }
  .ab-origin-steps   { grid-template-columns:1fr 1fr; }
  .rr-hero-inner     { grid-template-columns:1fr; gap:40px; }
}

@media (max-width:960px) {
  .inner-hero-inner { grid-template-columns:1fr; }
  .inner-hero-image { order:-1; }
  .inner-hero-image img { max-width:100%; }
  .ip-two-col { grid-template-columns:1fr; }
  .hiw-grid { grid-template-columns:repeat(2,1fr); }
  .hiw-grid::before { display:none; }
  .ip-grid-4 { grid-template-columns:repeat(2,1fr); }
  .ip-grid-3 { grid-template-columns:repeat(2,1fr); }
  .cs-featured{grid-template-columns:1fr;}.cs-feat-visual{display:none;}.cs-grid{grid-template-columns:repeat(2,1fr);}
  .ind-hero-inner{grid-template-columns:1fr;} .ind-stat-strip{grid-template-columns:repeat(2,1fr);} .ind-sol-row{grid-template-columns:1fr;} .ind-sol-row.reverse{direction:ltr;}
  .about-opener-grid{grid-template-columns:1fr;}.about-opener-right{display:none;}.about-story-inner{grid-template-columns:1fr;}.about-story-left{position:static;}.values-header{grid-template-columns:1fr;}.impact-grid{grid-template-columns:repeat(2,1fr);}.mission-split{grid-template-columns:1fr;}.values-grid{grid-template-columns:repeat(2,1fr);}.value-card{border-right:none;border-bottom:1px solid var(--border);}
  .blog-featured{grid-template-columns:1fr;}.blog-feat-image{min-height:220px;}.blog-grid{grid-template-columns:repeat(2,1fr);}
  .cert-big-grid{grid-template-columns:1fr 1fr;}.std-row{grid-template-columns:1fr 1fr;}.std-desc{grid-column:1/-1;}
  .contact-wrap{grid-template-columns:1fr;}.contact-left,.contact-right{padding:60px 32px;}
  .faq-layout{grid-template-columns:1fr;}.faq-nav{position:static;}
  .timeline-item{grid-template-columns:1fr;}.timeline-line,.timeline-node{display:none;}.timeline-content-left{text-align:left;}.pillar-row{grid-template-columns:1fr;}.pillar-visual{display:none;}.platform-grid{grid-template-columns:1fr 1fr;}
  .wp-page{grid-template-columns:1fr;}.wp-sidebar{position:static;height:auto;}.wp-item{grid-template-columns:auto 1fr;}.wp-actions{flex-direction:row;grid-column:1/-1;}
  .api-hero-inner{grid-template-columns:1fr;}.api-feat-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:768px) {
  .csd-banner{padding:36px 24px;}
  .csd-gallery{grid-template-columns:1fr;}
  .csd-img-side{flex-direction:row;}
  .csd-img-side img{height:120px;}
  .csd-stats{gap:0;}
}

@media (max-width:768px) {
  .container             { padding:0 20px; }
  .v2-section            { padding:64px 0; }
  .v2-hero-label         { font-size:9px; }
  .v2-hero-h1            { font-size:clamp(32px,7vw,48px); }
  .v2-hero-desc          { font-size:14px; }
  .v2-hero-btns          { flex-direction:column; gap:12px; }
  .v2-btn-primary,
  .v2-btn-ghost          { width:100%; justify-content:center; }
  .v2-slide              { min-height:75vh; }
  .v2-slide-container    { padding:60px 0 80px; }
  
  .v2-beyond-grid        { grid-template-columns:1fr; }
  .v2-hiw-right          { grid-template-columns:1fr; }
  .v2-ev-grid            { grid-template-columns:1fr; }
  .v2-ev-photos          { grid-template-columns:1fr; }
  .v2-ev-photo img       { height:200px; }
  .v2-arrow              { display:none; }
  .v2-logos-fade         { width:50px; }
  .sv-hero        { padding:60px 0 56px; }
  .sv-hero-h1     { font-size:clamp(28px,6vw,40px); }
  .sv-hero-btns   { flex-direction:column; }
  .sv-hero-img-wrap img { height:280px; }
  .sv-paths-grid  { grid-template-columns:1fr; }
  .sv-hiw-steps   { grid-template-columns:1fr; }
  .sv-ev-grid     { grid-template-columns:1fr; }
  .sv-cta-actions { width:100%; }
  .sv-cta-actions .v2-btn-primary { width:100%; justify-content:center; }
  .sp-hero         { padding:60px 0 56px; }
  .sp-hero-h1      { font-size:clamp(26px,6vw,38px); }
  .sp-hero-btns    { flex-direction:column; }
  .sp-hero-img-wrap img { height:280px; }
  .sp-proc-grid    { grid-template-columns:1fr; }
  .sp-ev-grid      { grid-template-columns:1fr 1fr; }
  .sp-photo-strip  { grid-template-columns:1fr; }
  .sp-photo-item img { height:200px; }
  .sp-det-side-grid { grid-template-columns:1fr; }
  .sp-cta-btns     { flex-direction:column; width:100%; }
  .sp-cta-btns .v2-btn-primary { width:100%; justify-content:center; }
  .sp-proc-grid { grid-template-columns:1fr !important; }
  .ip-hero           { padding:60px 0 56px; }
  .ip-hero-h1        { font-size:clamp(26px,6vw,38px); }
  .ip-hero-btns      { flex-direction:column; }
  .ip-hero-img-wrap img { height:280px; }
  .ip-sol-links      { grid-template-columns:1fr; }
  .ip-nist-grid      { grid-template-columns:1fr; }
  .ip-records-grid   { grid-template-columns:1fr; }
  .ip-cert-tags      { grid-template-columns:1fr; }
  .ip-thread-widget  { flex-wrap:wrap; gap:8px; }
  .ip-thread-line    { display:none; }
  .ab-origin-steps   { grid-template-columns:1fr; }
  .ab-compare        { grid-template-columns:1fr; }
  .ab-origin-timeline { flex-direction:column; }
  .ab-timeline-item  { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); }
  .rr-prep-grid      { grid-template-columns:1fr; }
  .res-grid          { grid-template-columns:1fr; }
  .form-row-two      { grid-template-columns:1fr; }
  .ip-hero-light     { padding:60px 0 0; }
}

@media (max-width:680px) {
  .ip-grid-3,.ip-grid-2 { grid-template-columns:1fr; }
  .hero-stat-strip { gap:20px; justify-content:center; }
  .page-cta-btns { flex-direction:column; align-items:center; }
  .ind-challenge-grid{grid-template-columns:1fr;} .ind-stat-strip{grid-template-columns:repeat(2,1fr);}
  .solutions-grid  { grid-template-columns:repeat(2,1fr); }
  .footer-brand    { grid-column:1/-1; }
  .cta-inner       { flex-direction:column; align-items:flex-start; }
  .features-grid   { grid-template-columns:1fr; }
  .cert-badges     { gap:14px; }
  .cert-ring       { width:90px; height:90px; }
  .cert-ring svg   { width:55px; height:55px; }
  .form-row        { grid-template-columns:1fr; }
  .modal-box       { border-radius:16px; }
  .modal-header,.step-indicator,.modal-form { padding-left:20px; padding-right:20px; }
  .slide { min-height:520px; }
  .slider-arrow { display:none; }
}

@media (max-width:640px) {
  .cs-grid{grid-template-columns:1fr;}.cs-feat-stats{flex-wrap:wrap;gap:16px;}
  .about-opener-left{padding:60px 24px;}.about-stats-row{gap:12px;}
  .blog-grid{grid-template-columns:1fr;}.blog-newsletter{flex-direction:column;}.newsletter-form{max-width:100%;width:100%;}
  .cert-big-grid{grid-template-columns:1fr;}.std-row{grid-template-columns:1fr;}
  .cf-row{grid-template-columns:1fr;}.contact-left{min-height:auto;}
  .platform-grid{grid-template-columns:1fr;}
  .wp-main{padding:24px;}.wp-item{grid-template-columns:1fr;}.wp-icon{display:none;}
  .api-feat-grid{grid-template-columns:1fr;}.endpoint-card{flex-wrap:wrap;}
}

@media (max-width:480px) {
  .container             { padding:0 16px; }
  .v2-slide-container    { padding:56px 0 72px; }
  .v2-hero-h1            { font-size:clamp(28px,8vw,40px); }
  .v2-sol-img-wrap img   { height:280px; }
  .v2-sol-row            { flex-direction:column; gap:12px; }
  .v2-sol-icon           { width:40px; height:40px; }
  .v2-cta-actions        { width:100%; }
  .v2-btn-primary        { width:100%; }
  .sv-hero-cert   { display:none; }
  .sv-continuum   { padding:64px 0; }
  .sp-ev-grid      { grid-template-columns:1fr; }
  .sp-hero-cert    { display:none; }
  .ip-cert-strip     { flex-direction:column; align-items:flex-start; }
  .ip-path-step      { flex-direction:column; }
  .ip-logistics-card { flex-direction:column; }
  .ab-mindset-item   { flex-direction:column; }
}

@media (max-width:460px) {
  .ip-grid-4 { grid-template-columns:1fr; }
  .hiw-grid { grid-template-columns:1fr; }
  .solutions-grid { grid-template-columns:1fr; }
  .footer-grid    { grid-template-columns:1fr; }
  .stats-grid     { grid-template-columns:1fr; }
  .stat-item::after { display:none!important; }
  .hero-pillars   { flex-direction:column; }
}


/* ============================================================
   INNER PAGES — ip-*, pt-*, abt-*, rrv-* (shared components)
   ============================================================ */

/* ── Inner page hero (shared by How It Works, Proof, Partners, About) */
.ip-hero           { padding:80px 0 72px; position:relative; overflow:hidden; }
.ip-hero::before   { content:''; position:absolute; top:-180px; right:-80px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(255,106,0,.1) 0%,transparent 65%); pointer-events:none; }
.ip-hero-inner     { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.ip-h1             { font-family:'IBM Plex Sans',Arial,sans-serif; font-size:clamp(28px,4vw,50px); font-weight:700; color:#fff; line-height:1.06; letter-spacing:-.02em; margin-bottom:20px; }
.ip-desc           { font-size:16px; color:rgba(255,255,255,.68); line-height:1.8; margin-bottom:32px; max-width:480px; }
.ip-btns           { display:flex; gap:14px; flex-wrap:wrap; }
.ip-img-wrap       { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 32px 64px rgba(0,0,0,.4); }
.ip-img-wrap img   { width:100%; height:460px; object-fit:cover; display:block; }
.ip-img-cap        { position:absolute; bottom:0; left:0; right:0; background:#0A1D3D; padding:12px 18px; }
.ip-hero-left      {}
.ip-hero-right     {}

/* ── Two-column section (problem + steps-mini, left text + right image) */
.ip-problem-wrap   { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.ip-problem-left   {}
.ip-steps-mini     { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-self:start; }
.ip-step-mini      { background:#fff; border-radius:10px; padding:24px 20px; transition:box-shadow .2s,transform .2s; }
.ip-step-mini:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.ip-step-mini-num  { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.08em; color:#FF6A00; margin-bottom:8px; }
.ip-step-mini-title { font-size:14px; font-weight:700; color:#0A1D3D; margin-bottom:6px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.ip-step-mini-desc { font-size:12px; color:#5E5E5A; line-height:1.55; }

/* ── Accountable path (detailed 4-step + side image) */
.ip-path-header    { margin-bottom:48px; }
.ip-path-wrap      { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.ip-path-steps     { display:flex; flex-direction:column; gap:0; }
.ip-path-step      { display:flex; align-items:flex-start; gap:20px; padding:24px 0; border-bottom:1px solid #EBEBEB; }
.ip-path-step:last-child { border-bottom:none; }
.ip-path-step-icon { width:48px; height:48px; border-radius:12px; background:#FFF4EC; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ip-path-step-icon svg { width:24px; height:24px; }
.ip-path-step-num  { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.1em; color:#FF6A00; margin-bottom:6px; }
.ip-path-step-title { font-size:17px; font-weight:700; color:#0A1D3D; margin-bottom:8px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.ip-path-step-desc { font-size:13px; color:#5E5E5A; line-height:1.65; margin-bottom:10px; }
.ip-path-output    { font-size:12px; color:#7A7A73; background:#F5F5F0; border-radius:4px; padding:6px 10px; display:inline-flex; align-items:center; gap:6px; }
.ip-path-img       {}

/* ── Logistics grid (How It Works) */
.ip-logistics-header { margin-bottom:48px; }
.ip-logistics-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ip-logistics-card   { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:32px 26px; transition:background .2s; }
.ip-logistics-card:hover { background:rgba(255,255,255,.1); }
.ip-logistics-icon   { width:48px; height:48px; border-radius:12px; background:rgba(255,179,71,.12); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.ip-logistics-icon svg { width:24px; height:24px; }
.ip-logistics-title  { font-size:16px; font-weight:700; color:#fff; margin-bottom:10px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.ip-logistics-desc   { font-size:13px; color:rgba(255,255,255,.5); line-height:1.7; }

/* ── Solutions links section */
.ip-sol-wrap       { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.ip-sol-left       {}
.ip-sol-right      {}
.ip-sol-links      { display:flex; flex-direction:column; gap:2px; margin-top:32px; }
.ip-sol-link       { display:flex; align-items:center; gap:16px; padding:16px 20px; background:#fff; border-radius:8px; text-decoration:none; transition:box-shadow .2s,transform .2s; margin-bottom:4px; }
.ip-sol-link:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); transform:translateX(4px); }
.ip-sol-link-num   { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#FF6A00; flex-shrink:0; width:24px; }
.ip-sol-link-title { font-size:14px; font-weight:700; color:#0A1D3D; flex:1; font-family:'IBM Plex Sans',Arial,sans-serif; }
.ip-sol-link-arrow { font-size:16px; color:#FF6A00; transition:transform .2s; }
.ip-sol-link:hover .ip-sol-link-arrow { transform:translateX(4px); }

/* ── Proof & Trust specific */
.pt-certs          { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pt-cert-badge     { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:10px 14px; }
.pt-cert-dot       { width:6px; height:6px; border-radius:50%; background:#FFB347; flex-shrink:0; }
.pt-cert-label     { font-size:12px; font-weight:700; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; }
.pt-cert-type      { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.06em; color:rgba(255,255,255,.45); }
.pt-nist-wrap      { display:flex; flex-direction:column; gap:16px; }
.pt-nist-card      { background:#fff; border-radius:10px; padding:28px 24px; }
.pt-nist-code      { font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:#FF6A00; margin-bottom:10px; }
.pt-nist-title     { font-size:15px; font-weight:700; color:#0A1D3D; margin-bottom:8px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.pt-nist-desc      { font-size:13px; color:#5E5E5A; line-height:1.65; }
.pt-records-header { margin-bottom:48px; }
.pt-records-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pt-record-card    { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:28px 22px; transition:background .2s; }
.pt-record-card:hover { background:rgba(255,255,255,.1); }
.pt-record-icon    { width:44px; height:44px; border-radius:10px; background:rgba(255,179,71,.12); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.pt-record-icon svg { width:22px; height:22px; }
.pt-record-num     { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FFB347; margin-bottom:8px; }
.pt-record-title   { font-size:14px; font-weight:700; color:#fff; margin-bottom:8px; line-height:1.35; font-family:'IBM Plex Sans',Arial,sans-serif; }
.pt-record-desc    { font-size:12px; color:rgba(255,255,255,.5); line-height:1.6; }
.pt-thread-steps   { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:28px; }
.pt-thread-step    { background:#FFF4EC; border-radius:6px; padding:12px; text-align:center; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.08em; color:#FF6A00; font-weight:500; }

/* ── Partners specific */
.pnr-scope-map     { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.pnr-scope-item    { background:#F5F5F0; border-radius:8px; padding:14px 16px; }
.pnr-scope-role    { font-size:13px; font-weight:700; color:#0A1D3D; margin-bottom:4px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.pnr-scope-desc    { font-size:12px; color:#5E5E5A; }

/* ── About specific */
.abt-origin-widget { margin-top:32px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; overflow:hidden; }
.abt-origin-row    { display:flex; align-items:center; gap:16px; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.07); }
.abt-origin-row:last-child { border-bottom:none; }
.abt-origin-era    { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); width:64px; flex-shrink:0; }
.abt-origin-val    { font-size:14px; font-weight:600; color:#fff; font-family:'IBM Plex Sans',Arial,sans-serif; }
.abt-origin-steps  { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.abt-origin-step   { background:#fff; border-radius:10px; padding:24px 20px; }
.abt-step-code     { font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:#FF6A00; margin-bottom:8px; }
.abt-step-title    { font-size:18px; font-weight:700; color:#0A1D3D; margin-bottom:6px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.abt-step-desc     { font-size:13px; color:#5E5E5A; }
.abt-quote         { margin:24px 0 0; padding:20px 24px; border-left:3px solid #FF6A00; background:#fff; border-radius:0 8px 8px 0; font-size:15px; font-style:italic; color:#0A1D3D; line-height:1.65; }
.abt-compare       { margin-top:24px; border-radius:8px; overflow:hidden; }
.abt-compare-row   { display:flex; align-items:center; gap:16px; padding:14px 18px; background:#F5F5F0; border-bottom:1px solid #E8E8E0; }
.abt-compare-galide { background:#FFF4EC; border-bottom:none; }
.abt-compare-label { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; color:#7A7A73; width:120px; flex-shrink:0; }
.abt-compare-val   { font-size:14px; font-weight:600; color:#0A1D3D; font-family:'IBM Plex Sans',Arial,sans-serif; }
.abt-model-wrap    { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.abt-model-imgs    { display:flex; flex-direction:column; gap:0; }
.abt-certs-row     { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.abt-cert-tag      { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.05em; color:#FFB347; background:rgba(255,179,71,.1); border:1px solid rgba(255,179,71,.25); border-radius:20px; padding:6px 14px; }

/* ── Recovery Review page */
.rrv-hero          { padding:72px 0; }
.rrv-hero-inner    { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.rrv-prep          { margin-top:32px; display:flex; flex-direction:column; gap:16px; }
.rrv-prep-item     { display:flex; gap:14px; align-items:flex-start; }
.rrv-prep-num      { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#FFB347; width:22px; flex-shrink:0; margin-top:2px; }
.rrv-prep-title    { font-size:14px; font-weight:700; color:#fff; margin-bottom:3px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.rrv-prep-desc     { font-size:13px; color:rgba(255,255,255,.55); line-height:1.55; }
.rrv-certs         { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.rrv-cert          { font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; color:rgba(255,255,255,.45); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:6px 12px; }
.rrv-form-wrap     {}
.rrv-form-box      { background:#fff; border-radius:12px; padding:36px 32px; }
.rrv-form-title    { font-size:22px; font-weight:700; color:#0A1D3D; margin-bottom:6px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.rrv-form-sub      { font-size:13px; color:#7A7A73; margin-bottom:28px; }
.rrv-form-row      { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rrv-form-group    { margin-bottom:16px; display:flex; flex-direction:column; }
.rrv-form-group label { font-size:13px; font-weight:600; color:#0A1D3D; margin-bottom:6px; }
.rrv-form-group input,
.rrv-form-group select,
.rrv-form-group textarea { width:100%; padding:11px 14px; border:1.5px solid #D4D4CD; border-radius:6px; font-size:14px; font-family:'IBM Plex Sans',Arial,sans-serif; color:#292929; outline:none; transition:border-color .2s; }
.rrv-form-group input:focus,
.rrv-form-group select:focus,
.rrv-form-group textarea:focus { border-color:#FF6A00; }
.rrv-form-group textarea { resize:vertical; min-height:100px; }
.rrv-submit        { width:100%; background:#FF6A00; color:#fff; border:none; padding:15px; border-radius:6px; font-size:14px; font-weight:600; font-family:'IBM Plex Sans',Arial,sans-serif; cursor:pointer; transition:background .2s; }
.rrv-submit:hover  { background:#cc5500; }
.rrv-privacy       { font-size:12px; color:#7A7A73; text-align:center; margin-top:12px; line-height:1.55; }
.rrv-success       { text-align:center; padding:40px 20px; }
.rrv-success-icon  { font-size:48px; color:#FF6A00; margin-bottom:16px; }
.rrv-success h3    { font-size:22px; font-weight:700; color:#0A1D3D; margin-bottom:8px; font-family:'IBM Plex Sans',Arial,sans-serif; }
.rrv-success p     { font-size:14px; color:#5E5E5A; }

/* ── Inner pages responsive ─────────────────────────────── */
@media (max-width:1024px) {
  .ip-hero-inner    { grid-template-columns:1fr; gap:40px; }
  .ip-hero-right    { display:none; }
  .ip-path-wrap     { grid-template-columns:1fr; gap:40px; }
  .ip-path-img      { order:-1; }
  .ip-problem-wrap  { grid-template-columns:1fr; gap:40px; }
  .ip-logistics-grid{ grid-template-columns:1fr 1fr; }
  .ip-sol-wrap      { grid-template-columns:1fr; gap:40px; }
  .pt-records-grid  { grid-template-columns:1fr 1fr; }
  .pt-thread-steps  { grid-template-columns:1fr 1fr; }
  .abt-model-wrap   { grid-template-columns:1fr; gap:40px; }
  .rrv-hero-inner   { grid-template-columns:1fr; gap:40px; }
  .abt-origin-steps { grid-template-columns:1fr 1fr; }
  .pnr-scope-map    { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .ip-hero          { padding:60px 0 52px; }
  .ip-h1            { font-size:clamp(24px,6vw,36px); }
  .ip-btns          { flex-direction:column; }
  .ip-btns .v2-btn-primary,
  .ip-btns .sv-btn-outline { width:100%; justify-content:center; text-align:center; }
  .ip-steps-mini    { grid-template-columns:1fr; }
  .ip-logistics-grid{ grid-template-columns:1fr; }
  .pt-records-grid  { grid-template-columns:1fr; }
  .pt-thread-steps  { grid-template-columns:1fr 1fr; }
  .abt-origin-steps { grid-template-columns:1fr; }
  .rrv-form-row     { grid-template-columns:1fr; }
  .rrv-form-box     { padding:24px 20px; }
  .abt-certs-row    { gap:8px; }
  .pt-certs         { gap:8px; }
}
@media (max-width:480px) {
  .pt-thread-steps  { grid-template-columns:1fr; }
  .abt-compare      { overflow:visible; }
  .rrv-certs        { gap:6px; }
}

/* ── Social links in footer ──────────────────────────────── */
.footer-social      { display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; }
.footer-social-link { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); color:rgba(255,255,255,.55); border:1px solid rgba(255,255,255,.1); transition:background .2s,color .2s; text-decoration:none; }
.footer-social-link:hover { background:rgba(255,255,255,.16); color:#fff; }

