:root{
    --blue:#1160FF; --navy:#0A2E6B; --blue-light:#E7F0FF;
    --accent:#FF9021; --accent-light:#FFF0DF;
    --ink:#0F172A; --body:#475569; --bg:#FFFFFF; --bg-alt:#F8FAFC;
    --border:#E2E8F0; --green:#16A34A;
    --r-sm:8px; --r-md:16px; --r-lg:24px;
    --shadow:0px 8px 24px rgba(15,23,42,0.06);
    --shadow-md:0px 16px 32px rgba(15,23,42,0.10);
    --shadow-lg:0px 30px 60px rgba(15,23,42,0.14);
    --card-bg:#FFFFFF;
    --header-bg:rgba(255,255,255,.85);
    --space-section:120px;
    --space-section-tight:88px;
    --space-block:72px;
    color-scheme: light;
  }
  [data-theme="dark"]{
    --blue:#4D8DFF; --navy:#123A82; --blue-light:#16243E;
    --accent:#FFA84D; --accent-light:#33240F;
    --ink:#F1F5F9; --body:#A8B3C4; --bg:#0B1220; --bg-alt:#0F1729;
    --border:#23304A; --green:#22C55E;
    --shadow:0px 8px 24px rgba(0,0,0,0.35);
    --shadow-md:0px 16px 32px rgba(0,0,0,0.45);
    --shadow-lg:0px 30px 60px rgba(0,0,0,0.55);
    --card-bg:#121B2E;
    --header-bg:rgba(11,18,32,.85);
    color-scheme: dark;
  }
  [data-theme="dark"] body{ background:var(--bg); }
  [data-theme="dark"] header{ background:var(--header-bg); }
  [data-theme="dark"] .svc-card,
  [data-theme="dark"] .tile,
  [data-theme="dark"] .case-card,
  [data-theme="dark"] .bento-card,
  [data-theme="dark"] .dash,
  [data-theme="dark"] .roi-card,
  [data-theme="dark"] .roi-results{ background:var(--card-bg); }
  [data-theme="dark"] .dash-head{ background:var(--bg-alt); }
  [data-theme="dark"] .logobar{ background:var(--bg-alt); }
  [data-theme="dark"] .services-bg,
  [data-theme="dark"] .compliance{ background:var(--bg-alt); }
  [data-theme="dark"] .roi-bg{ background:linear-gradient(135deg, rgba(77,141,255,.10), rgba(255,168,77,.08)); }
  [data-theme="dark"] .featured{ background:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px) 0 0/22px 22px, #070B14; }
  [data-theme="dark"] .testi-wrap{ background:#070B14; }
  [data-theme="dark"] .statband{ background:linear-gradient(135deg,#091534,#050B1A); }
  [data-theme="dark"] .roi-field input[type=range]{ accent-color:var(--blue); }
  [data-theme="dark"] .btn-primary{ box-shadow:0 1px 2px rgba(77,141,255,.3); }
  [data-theme="dark"] .btn-white{ background:#1A2438; color:#fff; }
  [data-theme="dark"] .btn-ghost{ border-color:var(--border); color:var(--ink); }
  [data-theme="dark"] .btn-ghost:hover{ background:var(--blue-light); }
  [data-theme="dark"] .mini-chart span{ opacity:.7; }
  [data-theme="dark"] .pill-green{ background:#0F2E20; color:#4ADE80; }
  [data-theme="dark"] .pill-blue{ background:#16243E; color:#93C5FD; }
  [data-theme="dark"] footer{ background:#070B14; }
  [data-theme="dark"] .footer-newsletter input{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); }
  [data-theme="dark"] .compliance-row .icon-box{ background:var(--accent-light) !important; }
  [data-theme="dark"] .marquee-track span{ color:#6B7B95; }
  [data-theme="dark"] .aurora .blob{ opacity:.35; }
  [data-theme="dark"] .svc-card::before{ background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent); }

  .theme-toggle{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--border); background:var(--bg); cursor:pointer; transition:.2s; flex-shrink:0; }
  .theme-toggle:hover{ border-color:var(--blue); }
  .theme-toggle svg{ width:18px; height:18px; stroke:var(--ink); transition:.2s; }
  .theme-toggle .sun{ display:none; }
  [data-theme="dark"] .theme-toggle .sun{ display:block; }
  [data-theme="dark"] .theme-toggle .moon{ display:none; }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; color:var(--body); background:var(--bg); line-height:1.65; -webkit-font-smoothing:antialiased; transition:background-color .3s ease, color .3s ease; overflow-x:hidden;}
  header, .svc-card, .tile, .case-card, .bento-card, .dash, .roi-card, .roi-results, .testi-card, footer{ transition:background-color .3s ease, border-color .3s ease, color .3s ease; }
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  button{font-family:inherit;}
  .wrap{max-width:1280px; margin:0 auto; padding:0 24px;}
  h1,h2,h3{color:var(--ink); font-weight:800; line-height:1.1; letter-spacing:-0.025em; text-wrap:balance;}
  p{text-wrap:pretty;}
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); margin-bottom:20px;}
  .eyebrow::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-light); animation:dotPulse 2.4s ease-in-out infinite;}
  @keyframes dotPulse{0%,100%{box-shadow:0 0 0 4px var(--accent-light);}50%{box-shadow:0 0 0 8px var(--accent-light);}}
  section{padding:var(--space-section) 0;}
  @media(max-width:900px){ :root{--space-section:64px; --space-section-tight:48px; --space-block:48px;} }
  :focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:4px;}

  .scroll-progress{position:fixed; top:0; left:0; height:3px; width:100%; transform-origin:0 50%; transform:scaleX(0); background:linear-gradient(90deg,var(--blue),var(--accent)); z-index:300; animation:growProgress linear; animation-timeline:scroll(root);}
  @keyframes growProgress{from{transform:scaleX(0);}to{transform:scaleX(1);}}

  .btn{display:inline-flex; align-items:center; gap:8px; padding:15px 30px; border-radius:var(--r-sm); font-weight:700; font-size:15px; cursor:pointer; transition:all .25s cubic-bezier(.2,.8,.2,1); border:1px solid transparent;}
  .btn-primary{background:var(--blue); color:#fff; box-shadow:0 1px 2px rgba(17,96,255,.2);}
  .btn-primary:hover{background:var(--navy); box-shadow:0 12px 24px rgba(17,96,255,.28); transform:translateY(-2px);}
  .btn-primary:active{transform:translateY(0);}
  .btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--border);}
  .btn-ghost:hover{border-color:var(--blue); color:var(--blue); background:var(--blue-light);}
  .btn-white{background:#fff; color:var(--navy);}
  .btn-white:hover{box-shadow:var(--shadow-md); transform:translateY(-2px);}
  .btn-sm{padding:10px 18px; font-size:13px;}

  header{position:sticky; top:0; z-index:200; background:var(--header-bg); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); transition:.2s;}
  .header-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1280px; margin:0 auto;}
  .logo{font-weight:800; font-size:19px; color:var(--ink); display:flex; align-items:center; gap:8px;}
  .logo .mark{width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,var(--blue),var(--accent)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:800;}
  nav ul{display:flex; gap:8px; list-style:none; font-size:14.5px; font-weight:600; color:var(--ink);}
  nav ul li{position:relative; padding:10px 14px; border-radius:8px; cursor:pointer; transition:.15s;}
  nav ul li:hover{background:var(--bg-alt); color:var(--blue);}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .phone{font-size:13.5px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:6px; white-space:nowrap;}
  .phone svg{width:15px; height:15px; stroke:var(--accent);}
  .menu-btn{display:none; width:40px; height:40px; border:1px solid var(--border); border-radius:8px; background:var(--bg); cursor:pointer; align-items:center; justify-content:center;}
  .menu-btn svg{width:20px; height:20px; stroke:var(--ink);}
  .mobile-menu{display:none; flex-direction:column; gap:4px; padding:12px 24px 20px; border-bottom:1px solid var(--border); background:var(--bg);}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{padding:12px 8px; font-weight:600; font-size:15px; color:var(--ink); border-radius:8px;}
  .mobile-menu a:hover{background:var(--bg-alt); color:var(--blue);}
  .mobile-menu .btn{margin-top:8px; justify-content:center;}
  @media(max-width:1050px){ nav, .phone{display:none;} .menu-btn{display:flex;} }

  .hero{padding:96px 0 0; background:var(--bg); overflow:hidden; position:relative;}
  .aurora{position:absolute; inset:0 0 auto 0; height:760px; overflow:hidden; pointer-events:none; z-index:0;}
  .aurora .blob{position:absolute; border-radius:50%; filter:blur(75px);}
  .aurora .b1{width:440px; height:440px; background:radial-gradient(circle,rgba(17,96,255,.42),transparent 70%); top:-90px; left:-70px; animation:drift1 19s ease-in-out infinite;}
  .aurora .b2{width:400px; height:400px; background:radial-gradient(circle,rgba(255,144,33,.40),transparent 70%); top:30px; right:-50px; animation:drift2 23s ease-in-out infinite;}
  .aurora .b3{width:320px; height:320px; background:radial-gradient(circle,rgba(99,102,241,.30),transparent 70%); top:320px; left:42%; animation:drift3 27s ease-in-out infinite;}
  @keyframes drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,40px) scale(1.12);}}
  @keyframes drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-55px,30px) scale(1.16);}}
  @keyframes drift3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(35px,-45px) scale(1.06);}}
  .particles{position:absolute; inset:0 0 auto 0; height:760px; z-index:0; pointer-events:none;}
  .particles span{position:absolute; width:7px; height:7px; border-radius:2px; background:linear-gradient(135deg,var(--blue),var(--accent)); opacity:0; animation:floatUp linear infinite;}
  @keyframes floatUp{0%{transform:translateY(30px); opacity:0;}12%{opacity:.45;}88%{opacity:.45;}100%{transform:translateY(-140px); opacity:0;}}
  .hero .hero-grid, .hero .logobar{position:relative; z-index:1;}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding-bottom:72px;}
  .hero .eyebrow{margin-bottom:24px;}
  .hero h1{font-size:62px; margin-bottom:24px; letter-spacing:-.03em; line-height:1.04;}
  .hero h1 .accent-text{background:linear-gradient(95deg,var(--blue),var(--accent),var(--blue)); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shimmer 6s linear infinite;}
  @keyframes shimmer{to{background-position:200% center;}}
  .hero p.lede{font-size:20px; max-width:520px; margin-bottom:36px; color:var(--body); line-height:1.6;}
  .hero-ctas{display:flex; gap:16px; margin-bottom:40px; flex-wrap:wrap;}
  .trust-strip{font-size:13.5px; color:var(--body); display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .trust-strip strong{color:var(--ink);}
  .trust-strip .dotmark{display:inline-flex; gap:3px;}
  .trust-strip .dotmark i{width:5px; height:12px; border-radius:1px; background:var(--accent); opacity:.8;}
  .trust-strip .dotmark i:nth-child(2){background:var(--blue);}
  .trust-strip .dotmark i:nth-child(3){background:var(--green);}

  .hero-visual{position:relative; height:480px;}
  .dash{position:absolute; background:#fff; border-radius:var(--r-lg); box-shadow:var(--shadow-lg); border:1px solid var(--border); overflow:hidden;}
  .dash-main{width:380px; top:0; right:0; z-index:3; animation:floatA 7s ease-in-out infinite;}
  .dash-call{width:250px; top:300px; left:0; z-index:4; padding:18px; animation:floatB 6s ease-in-out infinite;}
  .dash-stat{width:170px; top:60px; left:-10px; z-index:2; padding:16px; animation:floatC 8s ease-in-out infinite;}
  @keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
  @keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
  @keyframes floatC{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  .dash-head{display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--border); background:var(--bg-alt);}
  .dash-head .dots{display:flex; gap:5px;}
  .dash-head .dots span{width:7px; height:7px; border-radius:50%; background:var(--border);}
  .dash-head .title{font-size:12px; font-weight:700; color:var(--ink);}
  .dash-body{padding:18px;}
  .dash-row{display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--bg-alt); font-size:12.5px; gap:10px;}
  .dash-row:last-child{border-bottom:none;}
  .dash-pill{font-size:10.5px; font-weight:700; padding:3px 9px; border-radius:20px; white-space:nowrap;}
  .pill-green{background:#DCFCE7; color:#15803D;}
  .pill-blue{background:var(--blue-light); color:var(--navy);}
  .mini-chart{display:flex; align-items:flex-end; gap:5px; height:48px; margin-top:6px;}
  .mini-chart span{flex:1; background:linear-gradient(180deg,var(--accent),var(--blue)); border-radius:3px 3px 0 0; opacity:.85; animation:barGrow 2.4s ease-in-out infinite;}
  @keyframes barGrow{0%,100%{transform:scaleY(.82); transform-origin:bottom;}50%{transform:scaleY(1); transform-origin:bottom;}}
  .dash-call .tag{display:inline-flex; align-items:center; gap:6px; background:var(--accent-light); color:#9A5405; font-size:11px; font-weight:700; padding:4px 9px; border-radius:20px; margin-bottom:12px;}
  .dash-call .tag::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
  .dash-call h4{font-size:14px; margin-bottom:8px; color:var(--ink);}
  .dash-call .line{height:7px; border-radius:4px; background:var(--bg-alt); margin:8px 0;}
  .dash-call .line.w80{width:80%;} .dash-call .line.w60{width:60%;}
  .dash-stat .num{font-size:26px; font-weight:800; color:var(--navy);}
  [data-theme="dark"] .dash-stat .num{color:var(--blue);}
  .dash-stat .lbl{font-size:11px; color:var(--body); margin-top:2px;}
  @media(max-width:980px){
    .hero h1{font-size:38px;}
    .hero-grid{grid-template-columns:1fr; gap:40px;}
    .hero-visual{height:auto; max-width:420px; margin:0 auto; display:flex; flex-direction:column; gap:16px; align-items:stretch;}
    .hero-visual .dash{position:static; width:100%; max-width:none; animation:none; box-shadow:var(--shadow-md);}
    .dash-main{order:1;} .dash-call{order:2;} .dash-stat{order:3;}
  }
  @media(max-width:600px){ .dash-stat{display:none;} }

  .logobar{padding:30px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-alt);}
  .logobar .wrap{display:flex; align-items:center; gap:28px;}
  .logobar p{font-size:12.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--body); white-space:nowrap; flex-shrink:0;}
  .marquee{flex:1; overflow:hidden; -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .marquee-track{display:flex; gap:36px; width:max-content; animation:marquee 26s linear infinite;}
  .marquee:hover .marquee-track{animation-play-state:paused;}
  @keyframes marquee{to{transform:translateX(-50%);}}
  .marquee-track span{font-weight:700; font-size:15.5px; color:#64748B; white-space:nowrap; transition:.2s;}
  .marquee-track span:hover{color:var(--navy);}
  @media(max-width:560px){ .logobar p{display:none;} }

  .section-head{max-width:660px; margin-bottom:var(--space-block);}
  .section-head h2{font-size:44px; margin-bottom:18px; line-height:1.08;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .section-head p.sub{font-size:18px; margin-top:4px; line-height:1.6;}
  @media(max-width:900px){ .section-head h2{font-size:30px;} .section-head p.sub{font-size:16px;} }

  .challenge-list{border-top:1px solid var(--border);}
  .challenge-row{display:grid; grid-template-columns:64px 1fr 1fr; gap:32px; align-items:center; padding:36px 0; border-bottom:1px solid var(--border); transition:.2s;}
  .challenge-row:hover{background:var(--bg-alt); margin:0 -24px; padding-left:24px; padding-right:24px; border-radius:12px;}
  .challenge-row .num{font-size:14px; font-weight:800; color:var(--accent);}
  .challenge-row h3{font-size:20px; font-weight:700; margin-bottom:4px;}
  .challenge-row p{font-size:14.5px;}
  .challenge-row .fix{display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--navy);}
  [data-theme="dark"] .challenge-row .fix{color:var(--blue);}
  .challenge-row .fix svg{width:16px; height:16px; stroke:var(--green); flex-shrink:0;}
  @media(max-width:900px){ .challenge-row{grid-template-columns:1fr; gap:10px;} }

  .statband{background:linear-gradient(135deg,var(--navy),#06255C); color:#fff; position:relative; overflow:hidden; padding:var(--space-section-tight) 0;}
  .statband::before{content:''; position:absolute; inset:0; background:radial-gradient(circle at 80% 20%, rgba(255,144,33,.25), transparent 50%);}
  .statband-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; text-align:center; position:relative; z-index:1;}
  .statband-icon{width:38px; height:38px; margin:0 auto 14px; opacity:.9;}
  .statband-icon svg{width:100%; height:100%; stroke:var(--accent);}
  .statband .num{font-size:48px; font-weight:800; color:#fff; margin-bottom:6px; letter-spacing:-.03em;}
  .statband .lbl{font-size:14px; color:#C7D5F0;}
  @media(max-width:900px){ .statband-grid{grid-template-columns:1fr 1fr; gap:40px 16px;} }

  .services-bg{background:var(--bg-alt);}
  .svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .svc-card{background:#fff; border:1px solid var(--border); border-radius:var(--r-md); padding:28px; transition:.25s cubic-bezier(.2,.8,.2,1); position:relative; overflow:hidden;}
  .svc-card::after{content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--blue-light),transparent 60%); opacity:0; transition:.25s;}
  .svc-card::before{content:''; position:absolute; top:0; left:-130%; width:55%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); transition:left .6s ease; z-index:3; pointer-events:none;}
  .svc-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent;}
  .svc-card:hover::after{opacity:1;}
  .svc-card:hover::before{left:150%;}
  .svc-card .icon-box{width:46px; height:46px; border-radius:12px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; margin-bottom:18px; position:relative; z-index:1; transition:.25s;}
  .svc-card:hover .icon-box{transform:scale(1.08) rotate(-4deg);}
  .svc-card .icon-box svg{width:22px; height:22px; stroke:var(--blue);}
  .svc-card h3{font-size:17px; margin-bottom:8px; position:relative; z-index:1;}
  .svc-card p{font-size:13.5px; margin-bottom:16px; position:relative; z-index:1; line-height:1.6;}
  .svc-card .go{font-size:13px; font-weight:700; color:var(--blue); display:inline-flex; align-items:center; gap:5px; position:relative; z-index:1;}
  .svc-card .go svg{width:13px; height:13px; transition:.2s;}
  .svc-card:hover .go svg{transform:translateX(3px);}
  @media(max-width:980px){ .svc-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .svc-grid{grid-template-columns:1fr;} }

  .tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  .tile{background:#fff; border:1px solid var(--border); border-radius:var(--r-md); padding:22px; transition:.2s; display:flex; align-items:center; gap:14px;}
  .tile:hover{border-color:var(--accent); box-shadow:var(--shadow); transform:translateY(-3px);}
  .tile:hover .icon-box{transform:scale(1.1);}
  .tile .icon-box{width:42px; height:42px; border-radius:11px; background:var(--accent-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:.2s;}
  .tile .icon-box svg{width:20px; height:20px; stroke:var(--accent);}
  .tile span{font-weight:700; font-size:14.5px; color:var(--ink);}
  @media(max-width:900px){ .tiles{grid-template-columns:1fr 1fr;} }
  @media(max-width:560px){ .tiles{grid-template-columns:1fr;} }

  .featured{background:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px) 0 0/22px 22px, var(--ink); color:#fff; border-radius:32px; margin:0 24px; padding:88px 56px; position:relative; overflow:hidden;}
  .featured::before{content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(255,144,33,.25),transparent 70%); animation:glowPulse 8s ease-in-out infinite;}
  @keyframes glowPulse{0%,100%{transform:scale(1); opacity:.8;}50%{transform:scale(1.15); opacity:1;}}
  .featured-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1;}
  .featured .eyebrow{color:var(--accent);}
  .featured h2{color:#fff; font-size:40px; margin-bottom:20px; line-height:1.08;}
  .featured p{color:#CBD5E1; font-size:16.5px; margin-bottom:28px; max-width:460px; line-height:1.65;}
  .featured-bullets{list-style:none; margin-bottom:32px;}
  .featured-bullets li{display:flex; gap:12px; margin-bottom:16px; font-size:14.5px; color:#E2E8F0; line-height:1.5;}
  .featured-bullets li svg{width:18px; height:18px; stroke:var(--accent); flex-shrink:0; margin-top:2px;}

  .screen-ui{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg); padding:28px; position:relative;}
  .screen-ui::before{content:''; position:absolute; inset:-1px; border-radius:var(--r-lg); padding:1.5px; background:linear-gradient(120deg,var(--accent),transparent 30%,transparent 70%,var(--blue),var(--accent)); background-size:300% 300%; -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:borderMove 7s linear infinite; pointer-events:none;}
  @keyframes borderMove{to{background-position:300% center;}}
  .ledgrid{display:grid; grid-template-columns:repeat(16,1fr); gap:3px; height:96px; margin-bottom:20px; border-radius:8px; overflow:hidden;}
  .ledgrid i{border-radius:1px; background:rgba(255,255,255,.09); animation:ledFlick 3s ease-in-out infinite;}
  @keyframes ledFlick{0%,100%{opacity:.18;}50%{opacity:1;}}
  .screen-ui .caption{font-size:13px; color:#94A3B8; text-align:center; margin-bottom:18px;}
  .screen-ui .caption strong{color:#fff; display:block; font-size:14px; margin-top:4px; min-height:20px;}
  .screen-ui-row{display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid rgba(255,255,255,.1);}
  .screen-ui-row div{text-align:center;}
  .screen-ui-row .n{font-size:18px; font-weight:800; color:var(--accent);}
  .screen-ui-row .l{font-size:10.5px; color:#94A3B8;}
  @media(max-width:980px){ .featured{margin:0 12px; padding:48px 28px; border-radius:20px;} .featured-grid{grid-template-columns:1fr; gap:36px;} .featured h2{font-size:28px;} }

  .workflow-track{position:relative; padding-top:40px;}
  .workflow-line{position:absolute; top:64px; left:5%; right:5%; height:2px; background:var(--border);}
  .workflow-line-fill{position:absolute; top:0; left:0; height:100%; width:0%; background:linear-gradient(90deg,var(--blue),var(--accent)); transition:width 1.6s ease;}
  .workflow-steps{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; position:relative; z-index:1;}
  .wf-step{text-align:center; opacity:.35; transform:translateY(8px); transition:.5s ease;}
  .wf-step.active{opacity:1; transform:translateY(0);}
  .wf-step .circle{width:64px; height:64px; border-radius:50%; background:#fff; border:2px solid var(--border); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; transition:.4s;}
  [data-theme="dark"] .wf-step .circle{background:var(--card-bg);}
  .wf-step.active .circle{border-color:var(--blue); background:var(--blue-light); box-shadow:0 0 0 6px var(--blue-light);}
  .wf-step .circle svg{width:26px; height:26px; stroke:var(--body); transition:.3s;}
  .wf-step.active .circle svg{stroke:var(--blue);}
  .wf-step h4{font-size:13.5px; font-weight:700; color:var(--ink);}
  .wf-step p{font-size:12px; margin-top:4px;}
  @media(max-width:980px){ .workflow-steps{grid-template-columns:1fr; gap:0;} .workflow-line{display:none;} .wf-step{display:flex; align-items:center; gap:16px; text-align:left; padding:16px 0; border-bottom:1px solid var(--border);} .wf-step .circle{margin:0; flex-shrink:0;} }

  .timeline{position:relative; max-width:760px; margin:0 auto;}
  .timeline::before{content:''; position:absolute; left:27px; top:8px; bottom:8px; width:2px; background:var(--border);}
  .tl-item{position:relative; padding-left:76px; padding-bottom:48px;}
  .tl-item:last-child{padding-bottom:0;}
  .tl-item .dot{position:absolute; left:0; top:0; width:56px; height:56px; border-radius:50%; background:#fff; border:2px solid var(--blue); color:var(--blue); font-weight:800; font-size:18px; display:flex; align-items:center; justify-content:center; z-index:1;}
  [data-theme="dark"] .tl-item .dot{background:var(--card-bg);}
  .tl-item h3{font-size:20px; margin-bottom:8px;}
  .tl-item p{font-size:14.5px; line-height:1.6;}

  .roi-bg{background:linear-gradient(135deg,var(--blue-light),var(--accent-light));}
  .roi-card{background:#fff; border-radius:var(--r-lg); box-shadow:var(--shadow-lg); display:grid; grid-template-columns:1fr 1fr; overflow:hidden;}
  .roi-inputs{padding:48px;}
  .roi-inputs h3{font-size:23px; margin-bottom:8px;}
  .roi-inputs .roi-note{font-size:13px; color:var(--body); margin-bottom:28px;}
  .roi-field{margin-bottom:26px;}
  .roi-field label{display:flex; justify-content:space-between; font-size:13.5px; font-weight:700; color:var(--ink); margin-bottom:10px; gap:12px;}
  .roi-field label span{color:var(--blue); font-weight:800; white-space:nowrap;}
  .roi-field input[type=range]{width:100%; accent-color:var(--blue); height:6px;}
  .roi-results{background:var(--navy); color:#fff; padding:48px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden;}
  .roi-results::after{content:''; position:absolute; top:-60px; right:-60px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(255,144,33,.3),transparent 70%);}
  .roi-results h4{font-size:13px; text-transform:uppercase; letter-spacing:1.5px; color:#9DB7E8; margin-bottom:24px; position:relative;}
  .roi-result-row{display:flex; justify-content:space-between; align-items:baseline; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); position:relative; gap:14px;}
  .roi-result-row:last-of-type{border-bottom:none; padding-top:24px;}
  .roi-result-row .l{font-size:14px; color:#C7D5F0;}
  .roi-result-row .v{font-size:26px; font-weight:800; color:#fff; white-space:nowrap;}
  .roi-result-row.big .v{font-size:36px; color:var(--accent);}
  .roi-disclaimer{font-size:11.5px; color:#9DB7E8; margin-top:18px; line-height:1.5; position:relative;}
  @media(max-width:980px){ .roi-card{grid-template-columns:1fr;} .roi-inputs, .roi-results{padding:32px;} }

  .bento{display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:auto auto; gap:20px;}
  .bento-card{background:#fff; border:1px solid var(--border); border-radius:var(--r-md); padding:32px; transition:.2s;}
  .bento-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px);}
  .bento-card.big{grid-row:span 2; background:linear-gradient(160deg,var(--navy),#0E3E8E); color:#fff; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;}
  .bento-card.big::after{content:''; position:absolute; bottom:-50px; right:-50px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(255,144,33,.3),transparent 70%); animation:glowPulse 9s ease-in-out infinite;}
  .bento-card.big h3{color:#fff; font-size:25px; position:relative;}
  .bento-card.big p{color:#C7D5F0; position:relative;}
  .bento-card.big .btn{position:relative;}
  .bento-card .icon-box{width:44px; height:44px; border-radius:11px; background:var(--accent-light); display:flex; align-items:center; justify-content:center; margin-bottom:16px; transition:.2s;}
  .bento-card:hover .icon-box{transform:scale(1.1);}
  .bento-card .icon-box svg{width:21px; height:21px; stroke:var(--accent);}
  .bento-card h3{font-size:17px; margin-bottom:8px;}
  .bento-card p{font-size:13.5px; line-height:1.6;}
  @media(max-width:980px){ .bento{grid-template-columns:1fr 1fr;} .bento-card.big{grid-column:span 2; grid-row:auto;} }
  @media(max-width:560px){ .bento{grid-template-columns:1fr;} .bento-card.big{grid-column:auto;} }

  .cases{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .case-card{border-radius:var(--r-lg); padding:32px; background:#fff; border:1px solid var(--border); transition:.2s;}
  .case-card:hover{box-shadow:var(--shadow-md); transform:translateY(-4px);}
  .case-card .tag{font-size:11.5px; font-weight:700; color:var(--blue); text-transform:uppercase; letter-spacing:.5px;}
  .case-card .live{display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:800; letter-spacing:1px; color:var(--green); margin-bottom:14px;}
  .case-card .live::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(22,163,74,.18); animation:pulse 1.8s infinite;}
  .case-card h3{font-size:22px; margin:6px 0 10px; letter-spacing:-.02em;}
  .case-card p.desc{font-size:14px; line-height:1.6;}
  @media(max-width:900px){ .cases{grid-template-columns:1fr;} }

  .testi-wrap{background:var(--navy); color:#fff;}
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .testi-card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg); padding:28px; transition:.2s;}
  .testi-card:hover{background:rgba(255,255,255,.09); transform:translateY(-3px);}
  .testi-card p.quote{font-size:15.5px; color:#E8F1FF; margin-bottom:20px; line-height:1.6;}
  .testi-card .person{display:flex; align-items:center; gap:12px;}
  .avatar{width:40px; height:40px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0;}
  .person .name{font-weight:700; font-size:13.5px; color:#fff;}
  .person .role{font-size:12px; color:#C7D5F0;}
  @media(max-width:980px){ .testi-grid{grid-template-columns:1fr;} }

  .compliance{background:var(--bg-alt);}
  .compliance-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  .compliance-row .icon-box{margin:0 auto 16px; width:46px; height:46px; border-radius:12px; background:var(--accent-light); display:flex; align-items:center; justify-content:center;}
  .compliance-row .icon-box svg{width:22px; height:22px; stroke:var(--accent);}
  .compliance-row h3{font-size:15px; margin-bottom:6px;}
  .compliance-row p{font-size:13px; line-height:1.55;}
  @media(max-width:900px){ .compliance-row{grid-template-columns:1fr 1fr; gap:36px 24px;} }

  .faq{max-width:780px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--border); padding:24px 0;}
  .faq-q{display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:700; color:var(--ink); font-size:16.5px; gap:16px;}
  .faq-q svg{transition:.2s; flex-shrink:0;}
  .faq-item.open .faq-q svg{transform:rotate(45deg);}
  .faq-a{font-size:15px; max-height:0; overflow:hidden; transition:.25s ease; line-height:1.65;}
  .faq-item.open .faq-a{max-height:280px; margin-top:14px;}

  .final-cta{background:linear-gradient(135deg, var(--navy), var(--accent)); color:#fff; text-align:center; border-radius:var(--r-lg); padding:88px 40px; margin:0 24px; position:relative; overflow:hidden;}
  .final-cta::before{content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.10), transparent 50%); animation:ctaShift 10s ease-in-out infinite;}
  @keyframes ctaShift{0%,100%{transform:translate(0,0);}50%{transform:translate(40px,20px);}}
  .final-cta h2{color:#fff; font-size:40px; max-width:640px; margin:0 auto 16px; position:relative; line-height:1.1;}
  .final-cta p{color:#F4E7D8; max-width:520px; margin:0 auto 32px; position:relative; font-size:16.5px; line-height:1.6;}
  .final-cta .btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; position:relative;}
  @media(max-width:900px){ .final-cta h2{font-size:28px;} }

  footer{background:var(--ink); color:#94A3B8; padding-top:88px;}
  .footer-top{display:flex; justify-content:space-between; align-items:flex-start; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.08); flex-wrap:wrap;}
  .footer-brand{max-width:340px;}
  .footer-brand .logo{color:#fff; margin-bottom:16px;}
  .footer-brand p{line-height:1.6;}
  .footer-badge{display:inline-flex; align-items:center; gap:8px; margin-top:18px; padding:7px 14px; border-radius:24px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); font-size:12px; font-weight:700; color:#E2E8F0;}
  .footer-badge .flag{width:22px; height:14px; border-radius:2px; overflow:hidden; flex-shrink:0; box-shadow:0 0 0 1px rgba(255,255,255,.2);}
  .footer-newsletter{display:flex; max-width:340px;}
  .footer-newsletter input{flex:1; min-width:0; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:8px 0 0 8px; padding:12px 14px; color:#fff; font-size:13.5px;}
  .footer-newsletter input::placeholder{color:#64748B;}
  .footer-newsletter button{background:var(--blue); color:#fff; border:none; border-radius:0 8px 8px 0; padding:0 18px; font-weight:700; font-size:13px; cursor:pointer; transition:.2s;}
  .footer-newsletter button:hover{background:var(--accent);}
  .footer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:48px 0;}
  .footer-grid h4{color:#fff; font-size:13.5px; margin-bottom:18px; letter-spacing:.4px;}
  .footer-grid ul{list-style:none; display:flex; flex-direction:column; gap:11px; font-size:13.5px;}
  .footer-grid ul li a{transition:.15s;}
  .footer-grid ul li a:hover{color:#fff;}
  .footer-badges{display:flex; gap:12px; flex-wrap:wrap; padding:32px 0; border-top:1px solid rgba(255,255,255,.08);}
  .footer-badges span{font-size:11.5px; font-weight:700; color:#CBD5E1; border:1px solid rgba(255,255,255,.16); padding:6px 12px; border-radius:20px;}
  .footer-legal{padding:24px 0; border-top:1px solid rgba(255,255,255,.08); font-size:12.5px; line-height:1.7; color:#7E8CA3;}
  .footer-legal strong{color:#CBD5E1; font-weight:700;}
  .footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:0 0 32px; font-size:13px; flex-wrap:wrap; gap:12px;}
  .footer-social{display:flex; gap:10px;}
  .footer-social a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; transition:.2s;}
  .footer-social a:hover{background:var(--blue); transform:translateY(-2px);}
  @media(max-width:980px){ .footer-grid{grid-template-columns:1fr 1fr;} .footer-top{flex-direction:column;} }

  .reveal{opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1; transform:translateY(0);}

  .skip-link{position:absolute; left:-9999px; top:0; background:var(--blue); color:#fff; padding:10px 16px; z-index:999;}
  .skip-link:focus{left:8px; top:8px;}

  @media(prefers-reduced-motion: reduce){
    *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
    .reveal{opacity:1; transform:none;}
    .aurora,.particles{display:none;}
  }

/* ============================================================
   INTERIOR PAGES  (products / gallery / contact)
   ============================================================ */

/* --- compact page header --- */
.page-head{position:relative; overflow:hidden; padding:72px 0 64px; border-bottom:1px solid var(--border); background:var(--bg);}
.page-head::after{content:''; position:absolute; top:-160px; right:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(255,144,33,.20),transparent 70%); pointer-events:none;}
.page-head::before{content:''; position:absolute; top:-180px; left:-140px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(17,96,255,.20),transparent 70%); pointer-events:none;}
.page-head .wrap{position:relative; z-index:1;}
.page-head h1{font-size:52px; letter-spacing:-.03em; margin-bottom:18px; max-width:18ch;}
.page-head p{font-size:19px; max-width:60ch; line-height:1.6;}
.crumb{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--body); margin-bottom:22px;}
.crumb a:hover{color:var(--blue);}
.crumb span{color:var(--border);}
.crumb .here{color:var(--accent);}
@media(max-width:900px){ .page-head{padding:48px 0 44px;} .page-head h1{font-size:32px;} .page-head p{font-size:16px;} }

/* --- product detail rows --- */
.prod{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; padding:64px 0; border-bottom:1px solid var(--border);}
.prod:nth-child(even) .prod-media{order:-1;}
.prod:last-child{border-bottom:none;}
.prod-media{border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border); background:var(--bg-alt); aspect-ratio:4/3;}
.prod-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.prod-media:hover img{transform:scale(1.04);}
.prod .kicker{display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:var(--accent); margin-bottom:14px;}
.prod h2{font-size:30px; margin-bottom:14px; letter-spacing:-.025em;}
.prod p.body-copy{font-size:15.5px; line-height:1.68; margin-bottom:22px;}
.prod ul{list-style:none; margin-bottom:26px; display:grid; gap:11px;}
.prod ul li{display:flex; gap:11px; font-size:14.5px; line-height:1.5;}
.prod ul li svg{width:17px; height:17px; stroke:var(--green); flex-shrink:0; margin-top:3px;}
.chipset{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
.chip{font-size:12px; font-weight:700; padding:6px 12px; border-radius:20px; background:var(--blue-light); color:var(--navy); border:1px solid transparent;}
[data-theme="dark"] .chip{color:#93C5FD;}
.chip.warm{background:var(--accent-light); color:#9A5405;}
[data-theme="dark"] .chip.warm{color:var(--accent);}
@media(max-width:900px){ .prod{grid-template-columns:1fr; gap:28px; padding:44px 0;} .prod:nth-child(even) .prod-media{order:0;} .prod h2{font-size:24px;} }

/* --- comparison table --- */
.table-scroll{overflow-x:auto; border:1px solid var(--border); border-radius:var(--r-md); background:var(--card-bg);}
table.cmp{border-collapse:collapse; width:100%; min-width:640px;}
table.cmp th, table.cmp td{text-align:left; padding:15px 18px; border-bottom:1px solid var(--border); font-size:14px;}
table.cmp th{font-size:11.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:var(--body); background:var(--bg-alt); white-space:nowrap;}
table.cmp td:first-child{font-weight:700; color:var(--ink); white-space:nowrap;}
table.cmp tr:last-child td{border-bottom:none;}
table.cmp tbody tr:hover{background:var(--bg-alt);}
.badge{display:inline-block; font-size:11px; font-weight:800; padding:3px 9px; border-radius:20px; white-space:nowrap;}
.badge.in{background:var(--blue-light); color:var(--navy);}
.badge.out{background:var(--accent-light); color:#9A5405;}
.badge.both{background:#DCFCE7; color:#15803D;}
[data-theme="dark"] .badge.in{color:#93C5FD;} [data-theme="dark"] .badge.out{color:var(--accent);} [data-theme="dark"] .badge.both{background:#0F2E20; color:#4ADE80;}

/* --- gallery --- */
.filters{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;}
.filter{font-size:13.5px; font-weight:700; padding:10px 18px; border-radius:24px; border:1.5px solid var(--border); background:var(--bg); color:var(--ink); cursor:pointer; transition:.2s;}
.filter:hover{border-color:var(--blue); color:var(--blue);}
.filter.active{background:var(--blue); border-color:var(--blue); color:#fff;}
.filter .n{opacity:.6; font-weight:600; margin-left:5px;}

.gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:14px;}
.shot{position:relative; border:0; padding:0; margin:0; border-radius:var(--r-md); overflow:hidden; background:var(--bg-alt); aspect-ratio:4/3; cursor:zoom-in; display:block; width:100%;}
.shot img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.shot:hover img{transform:scale(1.06);}
.shot figcaption{position:absolute; left:0; right:0; bottom:0; padding:26px 14px 12px; font-size:12.5px; font-weight:700; color:#fff; text-align:left; background:linear-gradient(to top,rgba(6,10,20,.82),transparent); opacity:0; transition:opacity .25s;}
.shot:hover figcaption, .shot:focus-visible figcaption{opacity:1;}
.shot.hide{display:none;}
.gallery-empty{padding:48px 0; text-align:center; color:var(--body); font-size:15px;}

/* --- lightbox --- */
.lb{position:fixed; inset:0; z-index:400; background:rgba(4,7,14,.94); display:none; align-items:center; justify-content:center; padding:24px;}
.lb.open{display:flex;}
.lb img{max-width:min(1100px,92vw); max-height:84vh; border-radius:10px; object-fit:contain; box-shadow:0 30px 90px rgba(0,0,0,.6);}
.lb-cap{position:absolute; bottom:22px; left:0; right:0; text-align:center; color:#CBD5E1; font-size:13.5px; font-weight:600;}
.lb-btn{position:absolute; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.2); color:#fff; width:46px; height:46px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s;}
.lb-btn:hover{background:rgba(255,255,255,.22);}
.lb-btn svg{width:20px; height:20px; stroke:#fff;}
.lb-close{top:20px; right:20px;}
.lb-prev{left:20px; top:50%; transform:translateY(-50%);}
.lb-next{right:20px; top:50%; transform:translateY(-50%);}
@media(max-width:600px){ .lb-prev{left:10px;} .lb-next{right:10px;} .lb-btn{width:40px; height:40px;} }

/* --- contact --- */
.contact-grid2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:56px; align-items:start;}
@media(max-width:900px){ .contact-grid2{grid-template-columns:1fr; gap:36px;} }
.cinfo{display:grid; gap:14px; margin-bottom:32px;}
.cinfo a, .cinfo div.static{display:flex; gap:16px; align-items:flex-start; padding:20px; border:1px solid var(--border); border-radius:var(--r-md); background:var(--card-bg); transition:.2s;}
.cinfo a:hover{border-color:var(--blue); transform:translateY(-2px); box-shadow:var(--shadow);}
.cinfo .icon-box{width:42px; height:42px; border-radius:11px; background:var(--accent-light); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.cinfo .icon-box svg{width:20px; height:20px; stroke:var(--accent);}
.cinfo dt{font-size:11.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:var(--body); margin-bottom:4px;}
.cinfo dd{margin:0; font-size:16px; font-weight:700; color:var(--ink); line-height:1.45;}
.cinfo dd small{display:block; font-size:13px; font-weight:500; color:var(--body); margin-top:3px;}

.formcard{background:var(--card-bg); border:1px solid var(--border); border-radius:var(--r-lg); padding:36px; box-shadow:var(--shadow);}
.formcard h2{font-size:24px; margin-bottom:8px;}
.formcard > p.intro{font-size:14.5px; margin-bottom:26px;}
.fgrid{display:grid; gap:16px;}
.frow{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:560px){ .frow{grid-template-columns:1fr;} .formcard{padding:24px;} }
.fgrid label{display:block; font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:7px;}
.fgrid input, .fgrid select, .fgrid textarea{width:100%; font:inherit; font-size:14.5px; color:var(--ink); background:var(--bg); border:1.5px solid var(--border); border-radius:var(--r-sm); padding:12px 14px; transition:border-color .18s;}
.fgrid input:hover, .fgrid select:hover, .fgrid textarea:hover{border-color:var(--body);}
.fgrid input:focus, .fgrid select:focus, .fgrid textarea:focus{border-color:var(--blue); outline:none; box-shadow:0 0 0 3px var(--blue-light);}
.fgrid textarea{resize:vertical; min-height:120px;}
.fnote{font-size:12.5px; color:var(--body); line-height:1.55;}
.map{border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; background:var(--bg-alt); aspect-ratio:16/7;}
.map iframe{width:100%; height:100%; border:0; display:block;}
@media(max-width:700px){ .map{aspect-ratio:4/3;} }


/* ---------- brand logo (real SVG wordmark) ---------- */
.logo{gap:0;}
.logo img{display:block; height:34px; width:auto; max-width:none;}
.logo .logo-light{display:none;}
[data-theme="dark"] header .logo .logo-dark{display:none;}
[data-theme="dark"] header .logo .logo-light{display:block;}
footer .logo .logo-dark{display:none;}
footer .logo .logo-light{display:block;}
footer .logo img{height:32px;}
@media(max-width:560px){ .logo img{height:28px;} }

/* ---------- responsive video embed ---------- */
.videowrap{position:relative; aspect-ratio:16/9; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border); background:#000; box-shadow:var(--shadow-md); max-width:960px; margin-inline:auto;}
.videowrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0; display:block;}
.videocap{max-width:960px; margin:16px auto 0; font-size:13.5px; color:var(--body); text-align:center;}
