/* IPTEC — Precision Command. Logical properties throughout so /ar/ (RTL) mirrors automatically. */
:root{
  --ink:#0A0C2B; --navy:#161A52; --navy-2:#0E1036; --line-dark:#1E2260; --line-dark-2:#2C3178; --line-dark-3:#3A409A;
  --blue:#2E3192; --blue-dk:#1F2270; --tint:#ECEDFA; --tint-text:#262A80; --tint-line:#C5C7EE;
  --red:#ED1C24; --red-btn:#D7141C; --red-soft:#FF6B70; --red-soft-2:#FF8A8E;
  --bg:#F5F7FA; --white:#FFFFFF; --text:#17263A; --text-2:#3A4B61; --muted:#536276; --line:#DCE3EC; --line-2:#E3E8EF; --line-3:#C7D1DD;
  --on-dark:#C9D5E3; --on-dark-2:#9FB0C5; --on-dark-3:#B8C5D6;
  --err:#B42318; --err-bg:#FEF3F2; --err-dk:#8A1C12; --ok:#11622F; --ok-bg:#E7F6EC;
  --font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --radius:12px; --radius-lg:16px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;font-size:16px}
[lang=ar] body,html[lang=ar]{--font:"IBM Plex Sans Arabic",Inter,system-ui,sans-serif;--mono:"JetBrains Mono","IBM Plex Sans Arabic",ui-monospace,monospace}
html[lang=ar] *{letter-spacing:0!important}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{line-height:1.35}
img,video{max-width:100%;display:block}
a{color:var(--blue)}a:hover{color:var(--blue-dk)}
:focus-visible{outline:3px solid #8B8FFF;outline-offset:2px;box-shadow:0 0 0 2px var(--ink)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.1}
h2{font-size:clamp(28px,3.4vw,40px);margin-block-end:28px}
h3,.h3{font-size:20px;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px;font-weight:600}
p{margin:0 0 1em}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:32px}
.narrow{max-width:880px}
@media (max-width:640px){.wrap{padding-inline:20px}}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip:auto;inset-block-start:12px;inset-inline-start:16px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;border-radius:6px}
.ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
[dir=rtl] .flip-rtl{transform:scaleX(-1)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.1em}
.muted{color:var(--muted)}.small{font-size:14px}
.blue{color:var(--blue)}.red{color:var(--red)}.red-soft{color:var(--red-soft)}
.slash{display:inline-block;width:14px;height:9px;background:var(--red);transform:skewX(-28deg);margin-inline-end:12px;vertical-align:1px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--blue);margin:0 0 12px;font-weight:500;text-transform:uppercase}
.eyebrow-red{color:var(--red-soft)}
.eyebrow-dark{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--on-dark-2);margin:0 0 14px}
.lead{font-size:18px;color:var(--text-2);max-width:40em}
.lead-dark{font-size:18px;color:var(--on-dark);max-width:38em;margin-block-start:20px}
.muted-on-dark{color:var(--on-dark-2)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border-radius:8px;font:inherit;font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .18s,border-color .18s}
.btn-sm{min-height:44px;font-size:14px;padding:0 14px}
.btn-lg{min-height:52px;padding:0 24px;font-size:16px}
.btn-block{width:100%}
.btn-red{background:var(--red-btn);color:#fff}.btn-red:hover{background:#B90F16;color:#fff}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-dk);color:#fff}
.btn-navy{background:var(--ink);color:#fff}.btn-navy:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:#E9EBF5;color:var(--ink)}
.btn-ghost{border-color:var(--line-dark-3);color:#fff;background:transparent}.btn-ghost:hover{background:#1A1E5A;color:#fff}
.btn-outline{border-color:var(--line-3);color:var(--text);background:#fff}.btn-outline:hover{border-color:var(--blue);color:var(--text)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block-start:28px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;text-decoration:none;min-height:44px}

/* Header */
.site-header{background:var(--ink);color:#fff;position:relative;z-index:20}
.utility{border-block-end:1px solid var(--line-dark)}
.utility-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-block:8px;font-family:var(--mono);font-size:12px;color:var(--on-dark-2);letter-spacing:.04em}
.utility-links{display:flex;gap:20px;flex-wrap:wrap}.utility a{color:var(--on-dark);text-decoration:none}.utility a:hover{color:#fff}
.header-row{display:flex;align-items:center;gap:16px 32px;min-height:76px}
.brand-logo{display:flex;align-items:center}.brand-logo img{width:149px;height:36px}
.site-nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
.site-nav a{color:#D6DEE8;text-decoration:none;font-size:15px;font-weight:500;padding:12px 14px;min-height:44px;display:inline-flex;align-items:center}
.site-nav a:hover{color:#fff}
.site-nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--red)}
.site-nav .lang{margin-inline-start:8px}
.site-nav .btn{margin-inline-start:8px;color:#fff;padding:0 18px}
.nav-toggle{display:none;margin-inline-start:auto;background:transparent;border:0;color:#fff;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:960px){
  .utility{display:none}
  .header-row{min-height:64px;flex-wrap:wrap}
  .nav-toggle{display:inline-flex}
  .site-nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-block:8px 20px;margin:0}
  .site-nav.open{display:flex}
  .site-nav a{border-block-end:1px solid var(--line-dark);font-size:17px;font-weight:600;min-height:56px}
  .site-nav .lang,.site-nav .btn{margin:12px 0 0}
  .site-nav .btn{min-height:52px;border:0;justify-content:center}
}

/* Hero */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;min-height:640px;display:flex;align-items:center}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero-video{opacity:0;transition:opacity .6s}.hero-video.ready{opacity:1}
[dir=rtl] .hero-media img,[dir=rtl] .hero-video{transform:scaleX(-1)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,12,43,.94) 0%,rgba(10,12,43,.7) 38%,rgba(10,12,43,.05) 68%)}
[dir=rtl] .hero-shade{background:linear-gradient(to left,rgba(10,12,43,.94) 0%,rgba(10,12,43,.7) 38%,rgba(10,12,43,.05) 68%)}
.hero-inner{position:relative;padding-block:96px 104px;width:100%}
.hero-title{font-size:clamp(42px,5.4vw,70px);line-height:1.02;letter-spacing:-.035em;max-width:11em}
.hero-title .dim{color:#8FA3BC}
.mono-line{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#8FA3BC;line-height:2;margin-block-start:40px;max-width:44em}
.video-toggle{position:absolute;inset-inline-end:24px;inset-block-end:24px;width:44px;height:44px;border-radius:22px;border:1px solid var(--line-dark-3);background:rgba(10,12,43,.7);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:720px){
  .hero{display:block;min-height:0}
  .hero-media{position:relative;aspect-ratio:4/5;order:2}
  .hero-shade{background:linear-gradient(to bottom,var(--ink) 0%,rgba(10,12,43,0) 35%)}
  [dir=rtl] .hero-shade{background:linear-gradient(to bottom,var(--ink) 0%,rgba(10,12,43,0) 35%)}
  .hero-inner{padding-block:40px 32px}
  .hero{display:flex;flex-direction:column-reverse}
  .video-toggle{display:none}
}

/* Journeys */
.journeys{background:linear-gradient(var(--ink) 0 50%,var(--bg) 50% 100%)}
.journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:#D5DDE7;border:1px solid #D5DDE7;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(7,17,31,.18)}
.journey{background:#fff;padding:28px;text-decoration:none;color:var(--text);display:flex;gap:18px;align-items:flex-start}
.journey strong{display:block;font-size:17px}.journey span span{display:block;margin-block-start:4px;font-size:14px;color:var(--muted)}
.journey:hover strong{color:var(--blue)}
.icon-chip{width:44px;height:44px;border-radius:8px;background:var(--tint);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;flex:none}

/* Sections */
.section{padding-block:96px}
.section.pt-0{padding-block-start:0}
.section-white{background:#fff;border-block:1px solid var(--line-2)}
.section-navy{background:var(--ink);color:#fff}
.section-navy h2{color:#fff}
.section-navy-tight{background:var(--ink);padding-block:0 72px}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-block-end:36px}
.section-head h2{margin:0;max-width:18em}
@media (max-width:640px){.section{padding-block:64px}}
.split{display:flex;flex-wrap:wrap;gap:48px}
.split-side{flex:1 1 320px;max-width:440px}
.split>:not(.split-side){flex:999 1 520px;min-width:0}
.prose{font-size:18px;line-height:1.7;color:var(--text-2);max-width:680px}

/* Category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px}
.cat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:12px;min-height:220px;transition:border-color .18s,transform .18s}
.cat:hover{border-color:var(--blue);transform:translateY(-2px);color:var(--text)}
.cat-top{display:flex;justify-content:space-between;align-items:flex-start;color:var(--blue)}
.cat-top .mono{color:var(--muted)}
.cat strong{font-size:17px;line-height:1.3}.cat .muted{font-size:14px;line-height:1.5}
.cat-more{margin-block-start:auto;font-size:13px;font-weight:600;color:var(--muted)}
.cat:hover .cat-more{color:var(--blue)}
.cat-dark{background:var(--navy);border-color:var(--navy);color:#fff}
.cat-dark:hover{color:#fff;border-color:var(--line-dark-3)}
.cat-dark span{color:var(--on-dark-3)}.cat-dark .cat-more{color:var(--red-soft-2)}
[dir=rtl] .cat-more,[dir=rtl] .link-arrow{unicode-bidi:plaintext}

/* Image tiles */
.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tile-grid-lg{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
@media (max-width:420px){.tile-grid-lg{grid-template-columns:1fr}}
.tile{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--navy-2);color:#fff;text-decoration:none;display:block}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile:hover img{transform:scale(1.04)}
.tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,43,0) 30%,rgba(10,12,43,.92) 100%)}
.tile-label{position:absolute;inset-inline:22px;inset-block-end:20px;display:flex;flex-direction:column;gap:4px}
.tile-label strong{font-size:22px;color:#fff}
.tile-desc{font-size:14px;color:var(--on-dark);line-height:1.45}
.red-soft{color:var(--red-soft-2)}

/* Cards */
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.card.pad-lg{padding:28px}
.card-navy{background:var(--ink);border-color:var(--ink);color:#fff}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.link-card{text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:10px;min-height:180px}
.link-card strong{font-size:19px;line-height:1.35}
.link-card .link-arrow{margin-block-start:auto;color:var(--blue)}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-lg{display:flex;flex-direction:column;gap:24px}

/* Why + logos */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px 32px}
.why{border-block-start:2px solid var(--ink);padding-block-start:20px}
.why-red{border-color:var(--red)}
.why h3{font-size:17px;margin-block-end:8px}
.logo-strip{list-style:none;margin:56px 0 0;padding:28px 0 0;border-block-start:1px solid var(--line-2);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px}
.logo-strip img{height:auto;max-height:40px;width:auto}
.brand-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.brand-grid li{border:1px solid var(--line);border-radius:12px;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#fff}
.brand-grid span{font-size:12px;color:var(--muted)}

/* CTA */
.cta-band{background:var(--ink);color:#fff;padding-block:88px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.cta-row h2{color:#fff;margin:0;max-width:16em}
.cta-row .btn-row{margin:0}

/* Page hero */
.page-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;border-block-start:1px solid var(--line-dark)}
.page-hero-inner{position:relative;padding-block:32px 72px}
.page-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.035em;max-width:14em}
.page-hero-img{position:absolute;inset-block:0;inset-inline-end:0;width:60%;height:100%;object-fit:cover;object-position:right center}
[dir=rtl] .page-hero-img{transform:scaleX(-1)}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(to right,var(--ink) 40%,rgba(10,12,43,.55) 62%,rgba(10,12,43,.05) 100%)}
[dir=rtl] .page-hero-shade{background:linear-gradient(to left,var(--ink) 40%,rgba(10,12,43,.55) 62%,rgba(10,12,43,.05) 100%)}
@media (max-width:900px){.page-hero-img{width:100%;opacity:.35}.page-hero-shade{background:rgba(10,12,43,.55)}[dir=rtl] .page-hero-shade{background:rgba(10,12,43,.55)}}
.crumbs ol{list-style:none;margin:0 0 48px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--on-dark-2)}
.crumbs li+li::before{content:"/";margin-inline-end:8px}
.crumbs a{color:var(--on-dark)}

/* Solutions */
.sol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}
@media (max-width:420px){.sol-grid{grid-template-columns:1fr}}
.sol-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.sol-img{aspect-ratio:16/9;overflow:hidden;display:block;background:var(--navy-2)}
.sol-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sol-card:hover .sol-img img{transform:scale(1.03)}
.sol-body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1}
.sol-body h2{font-size:22px;margin:0;letter-spacing:-.01em}.sol-body h2 a{color:var(--text);text-decoration:none}
.sol-body .link-arrow{margin-block-start:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:5px 9px;border-radius:4px;background:var(--tint);color:var(--tint-text);font-weight:500;text-decoration:none}
.chips-lg{gap:8px;margin-block-end:24px}
.chips-lg .chip{font-size:14px;padding:10px 14px;border-radius:999px;border:1px solid var(--tint-line);font-weight:600}
a.chip:hover{background:var(--tint-line);color:var(--tint-text)}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:24px;align-items:start}
@media (max-width:440px){.detail-grid{grid-template-columns:1fr}}
.detail-grid .eyebrow{font-size:11px;letter-spacing:.14em;color:var(--muted)}
.ask-list,.journey-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:10px}
.ask-list li{display:flex;gap:12px;border:1px solid var(--line-2);border-radius:10px;padding:14px 16px;line-height:1.45}
.journey-list{gap:1px;background:var(--line-2);border-radius:10px;overflow:hidden;margin-block-end:16px}
.journey-list li{background:#fff;padding:16px 18px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.journey-list strong{flex:1 1 200px}

/* FAQ */
.faq{border-block-start:1px solid var(--line-2)}
.faq details{border-block-end:1px solid var(--line-2)}
.faq summary{display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:18px;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq p{margin:0 0 22px;color:var(--text-2);line-height:1.7}

/* Glossary */
.glossary{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:12px;overflow:hidden}
.glossary div{background:#fff;padding:22px 24px}
.glossary dt{font-weight:600;margin-block-end:6px}
.glossary dd{margin:0;font-size:14px;line-height:1.6;color:var(--text-2)}
.catalogue{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.catalogue>div{flex:1 1 320px}

/* About */
.facts{background:#fff;border-block-end:1px solid var(--line-2)}
.facts-grid{margin-block:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.facts-grid div{padding:32px 24px;border-inline-end:1px solid var(--line-2)}
.facts-grid div:last-child{border:0}
.facts-grid dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted)}
.facts-grid dd{margin:4px 0 0;font-size:14px;color:var(--muted)}
.facts-grid dd.big{margin-block-start:8px;font-size:28px;font-weight:600;color:var(--text);letter-spacing:-.02em}
.cred-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-block-end:20px}
.cred{background:var(--navy);border:1px solid #262B70;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:12px}
.cred h3{color:#fff;margin:0}.cred p{color:var(--on-dark-3);margin:0;font-size:15px}
.cred-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}
.red-bg{background:var(--red)}.blue-bg{background:var(--blue)}.white-bg{background:#fff;color:var(--ink)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-block-start:2px solid var(--ink)}
.steps li{padding:28px 24px 0 0;display:flex;flex-direction:column;gap:8px}
[dir=rtl] .steps li{padding:28px 0 0 24px}
.steps strong{font-size:19px}
.who-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;align-self:flex-start}
.who-grid li{background:#fff;padding:20px 22px;font-weight:600}

/* Contact */
.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-block-start:40px}
.qa{background:var(--navy);border:1px solid #262B70;border-radius:14px;padding:24px;color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:16px;min-height:168px;transition:transform .18s,border-color .18s}
.qa:hover{color:#fff;transform:translateY(-2px);border-color:#5157E0}
.qa>span{margin-block-start:auto}.qa strong{display:block;font-size:18px}.qa span span{display:block;font-size:14px;color:var(--on-dark-3);margin-block-start:4px}
.qa-red{background:var(--red-btn);border-color:var(--red-btn)}.qa-red span span{color:#FFE1E2}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
@media (max-width:400px){.loc-grid{grid-template-columns:1fr}}
.loc{padding:28px}
.loc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.loc-head .mono{margin:0}
.loc h3{font-size:24px;margin:12px 0}
.loc address{font-style:normal;color:var(--text-2);line-height:1.6}
.hours{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin:18px 0 0;padding:16px 0;border-block:1px solid var(--line-2);font-size:15px}
.hours dt{color:var(--muted)}.hours dd{margin:0;font-weight:600}
.loc .btn-row{margin-block-start:18px}
.open-badge{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;background:#F0F2F6;color:var(--text-2)}
.open-badge::before{content:"";width:8px;height:8px;border-radius:4px;background:#8A97A8}
.open-badge.is-open{background:var(--ok-bg);color:var(--ok)}.open-badge.is-open::before{background:#1A8A44}

/* Forms */
.form-layout{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.form-layout>aside{flex:1 1 300px}
.form-layout>:not(aside){flex:999 1 560px;min-width:0}
.form-layout-wide>:not(aside){flex:999 1 640px}
fieldset{border:0;margin:0;padding:0;min-width:0}
fieldset.card{padding:28px}
legend{padding:0}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.field{margin-block-end:20px}
.field label{display:block;font-size:14px;font-weight:600;margin-block-end:6px}
.req{color:var(--err)}.opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;min-height:48px;border-radius:8px;border:1px solid var(--line-3);background:#fff;font:inherit;font-size:15px;color:var(--text);padding:0 12px}
textarea{padding:12px;min-height:150px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
[aria-invalid=true]{border:2px solid var(--err)!important}
.field-error{margin:6px 0 0;font-size:13px;color:var(--err);font-weight:500}
.form-errors{border:2px solid var(--err);background:var(--err-bg);border-radius:12px;padding:16px 20px;color:var(--err-dk)}
.form-errors p{font-weight:600;margin:0 0 8px}.form-errors ul{margin:0;padding-inline-start:20px}.form-errors a{color:var(--err-dk)}
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px 24px}
.topics legend{font-size:14px;font-weight:600;margin-block-end:10px;width:100%}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pill span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-3);background:#fff;font-size:14px;font-weight:500}
.pill input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.pill input:focus-visible+span{outline:3px solid #8B8FFF;outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer;margin-block:8px 20px}
.check input,.eq input{width:20px;height:20px;accent-color:var(--blue);margin:0;flex:none}
.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.eq{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 14px;border-radius:10px;border:1px solid var(--line-3);background:#fff;cursor:pointer;font-size:15px;font-weight:500}
.eq:has(input:checked){border:2px solid var(--blue);background:var(--tint)}
.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.form-success{border:1px solid var(--tint-line);background:var(--tint);border-radius:14px;padding:28px}
.next-steps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;font-size:14px;color:var(--on-dark)}
.next-steps li{display:flex;gap:14px}

/* Wizard */
.wizard{padding:32px;color:var(--text)}
.wiz-dots{display:flex;gap:8px;margin-block-end:28px}
.wiz-dots span{flex:1;height:4px;border-radius:2px;background:var(--line-2)}
.wiz-dots .done{background:var(--blue)}.wiz-dots .now{background:#9DA0E0}
.wiz-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.wiz-opt{min-height:56px;text-align:start;padding:14px 16px;border-radius:10px;border:1px solid var(--line-3);background:#fff;font:inherit;font-size:15px;font-weight:500;cursor:pointer;color:var(--text)}
.wiz-opt:hover,.wiz-opt[aria-pressed=true]{border:2px solid var(--blue);background:var(--tint);color:var(--tint-text)}
.wiz-nav{display:flex;justify-content:space-between;gap:12px;margin-block-start:24px;flex-wrap:wrap}
.wiz-link{background:transparent;border:0;font:inherit;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer;min-height:44px;padding:0}
.wiz-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 0 24px}
.wiz-summary div{background:var(--bg);border-radius:8px;padding:12px 14px}
.wiz-summary dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted)}
.wiz-summary dd{margin:4px 0 0;font-size:14px;font-weight:600}

/* Footer */
.site-footer{background:#070820;color:var(--on-dark-3);padding-block:72px 32px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px}
.footer-grid img{width:166px;height:40px;margin-block-end:16px}
.site-footer a{color:var(--on-dark-3);text-decoration:none}.site-footer a:hover{color:#fff}
.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-bottom{margin-block-start:56px;padding-block-start:24px;border-block-start:1px solid var(--line-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#8FA3BC}
