:root{
  --ground:#161826;
  --surface:#232532;
  --surface-2:#292b3a;
  --text:#e9e9ed;
  --paper:#f3f5fe;
  --paper-2:#e7e9f3;
  --ink:#292b31;
  --muted:#6d7080;
  --accent:#9184d9;
  --accent-light:#d2cefd;
  --accent-dark:#5d5294;
  --line:#dfe2ef;
  --line-dark:#3f424d;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --wrap:1160px;
  --radius:12px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:min(calc(100% - 44px),var(--wrap));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--ground);padding:.75rem 1rem;z-index:200}
.skip-link:focus{left:0}

.top-contact{background:var(--ground);color:var(--paper);border-bottom:1px solid rgba(243,245,254,.13)}
.top-contact-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.top-contact a{text-decoration:none;color:var(--accent-light)}
.top-contact a:hover{color:#fff}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:inline-flex;text-decoration:none;flex:none}
.brand img{height:54px;width:auto}
.nav-links{display:flex;align-items:center;gap:1.65rem}
.nav-links a{text-decoration:none;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:#4e5160}
.nav-links a:hover{color:var(--accent-dark)}
.nav-links .nav-call{padding:.78rem 1rem;border-radius:8px;background:var(--ground);color:var(--paper)}
.nav-links .nav-call:hover{background:var(--accent-dark);color:#fff}
.menu-button{display:none;border:1px solid var(--line);background:#fff;color:var(--ground);border-radius:8px;padding:.65rem .9rem;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}

.hero{position:relative;isolation:isolate;min-height:690px;display:grid;overflow:hidden;background:var(--ground);color:var(--paper)}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}
.hero-media{overflow:hidden;background:#11131f}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);transition:opacity 1.25s ease,transform 7s ease;will-change:opacity,transform}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(14,15,25,.96) 0%,rgba(14,15,25,.86) 43%,rgba(14,15,25,.42) 72%,rgba(14,15,25,.16) 100%)}
.hero-content{align-self:center;padding:7rem 0 6rem}
.eyebrow{margin:0 0 1.25rem;color:var(--accent-dark);font-size:.73rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.eyebrow.light{color:var(--accent-light)}
.hero h1,.section h2{font-weight:500;letter-spacing:-.045em;line-height:1.04}
.hero h1{max-width:870px;margin:0;font-size:clamp(3.4rem,7vw,6.8rem)}
.hero h1 span{color:var(--accent-light)}
.hero-lede{max-width:710px;margin:2rem 0 0;color:#cfd3e5;font-size:1.16rem;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.25rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:.86rem 1.25rem;border:1px solid transparent;border-radius:8px;text-decoration:none;font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:.2s ease}
.button-accent{background:var(--accent);color:#11121d}
.button-accent:hover{background:var(--accent-light);transform:translateY(-1px)}
.button-outline{border-color:rgba(243,245,254,.46);color:var(--paper)}
.button-outline:hover{border-color:var(--accent-light);background:rgba(145,132,217,.12)}

.service-ribbon{background:var(--accent);color:#151622}
.ribbon-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.ribbon-grid span{padding:1rem .55rem;text-align:center;border-right:1px solid rgba(22,24,38,.2);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ribbon-grid span:last-child{border-right:0}

.section{padding:6.7rem 0}
.section h2{margin:0;font-size:clamp(2.55rem,5vw,4.6rem);color:var(--ground)}
.section-intro{max-width:660px;margin:1.7rem 0 0;color:var(--muted);font-size:1.08rem}
.about-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:6rem;align-items:start}
.about-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.about-points li{padding:1.35rem 0;border-bottom:1px solid var(--line);color:#606372}
.about-points strong{display:block;margin-bottom:.2rem;color:var(--ground);font-weight:600}

.services{background:var(--paper)}
.services-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);gap:4rem;align-items:end}
.services-heading>p{margin:0 0 .25rem;color:var(--muted)}
.service-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4.4rem;background:#cfd3e5;border:1px solid #cfd3e5;border-radius:var(--radius);overflow:hidden}
.service-group{background:#fff;padding:2.25rem 2rem 2.5rem}
.service-index{margin:0 0 2rem;color:var(--accent-dark);font-size:.74rem;font-weight:600;letter-spacing:.13em}
.service-group h3,.service-detail-grid h3{margin:0;color:var(--ground);font-size:1.38rem;font-weight:500;letter-spacing:-.02em}
.service-group ul{margin:1.35rem 0 0;padding:0;list-style:none}
.service-group li{position:relative;padding:.45rem 0 .45rem 1.2rem;color:#626575}
.service-group li::before{content:"";position:absolute;left:0;top:1.08rem;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.service-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.2rem;border:1px solid #cfd3e5;border-radius:var(--radius);overflow:hidden;background:#cfd3e5;gap:1px}
.service-detail-grid article{background:#fff;padding:1.65rem}
.service-detail-grid p{margin:.65rem 0 0;color:#686b7a;font-size:.94rem}
.regulated-note{margin:1.2rem 0 0;padding:1.2rem 1.35rem;border-left:4px solid var(--accent);background:#e8e6fb;color:#505364;font-size:.92rem}
.regulated-note strong{color:var(--ground)}

.process{background:var(--ground);color:var(--paper)}
.process-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(480px,1.15fr);gap:6rem;align-items:start}
.process h2{color:var(--paper)}
.process-intro>p:last-child{color:#b2b6ca;margin:1.5rem 0 0;max-width:500px}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.process-list li{display:grid;grid-template-columns:54px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line-dark)}
.process-list>li>span{color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.1em;padding-top:.18rem}
.process-list h3{margin:0;color:var(--paper);font-weight:500;font-size:1.2rem}
.process-list p{margin:.35rem 0 0;color:#b2b6ca}

.coverage{background:#fff}
.coverage-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:4rem;align-items:center;max-width:900px}
.coverage-mark{width:220px;height:220px;border-radius:34px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.coverage-mark::before{content:"";position:absolute;inset:24px;border:1px solid #d9dced;border-radius:50%}
.coverage-mark img{width:130px;position:relative}
.coverage p:not(.eyebrow){max-width:660px;color:var(--muted);margin:1.35rem 0}
.text-link{display:inline-flex;gap:.5rem;align-items:center;color:var(--accent-dark);font-weight:600;text-decoration:none}
.text-link:hover{text-decoration:underline}

.contact{background:var(--surface);color:var(--paper)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(520px,1.24fr);gap:5rem;align-items:start}
.contact h2{color:var(--paper)}
.contact-copy>p:not(.eyebrow){color:#b8bbca;max-width:500px;margin:1.5rem 0}
.email-panel{display:block;margin-top:2.25rem;padding:1.2rem 1.3rem;border:1px solid var(--line-dark);border-radius:10px;text-decoration:none;background:rgba(255,255,255,.025)}
.email-panel:hover{border-color:var(--accent)}
.email-panel span{display:block;color:#9397ab;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.email-panel strong{display:block;margin-top:.25rem;font-size:1.18rem;font-weight:500;color:var(--accent-light)}
.contact-form{padding:2rem;background:#fff;color:var(--ink);border-radius:var(--radius)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:block;margin-bottom:1rem;color:#444755;font-size:.78rem;font-weight:600;letter-spacing:.04em}
.contact-form label span{font-weight:400;color:#858898}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:.42rem;border:1px solid #cfd3e5;border-radius:8px;background:#f9faff;color:var(--ground);padding:.8rem .85rem;outline:none}
.contact-form textarea{resize:vertical;min-height:145px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(145,132,217,.18)}
.form-submit{width:100%;border:0}
.form-note,.form-status{margin:.85rem 0 0;color:#777a89;font-size:.78rem;line-height:1.5}
.form-status{color:var(--accent-dark);font-weight:600}

.site-footer{background:#10111c;color:#b6b9c8;padding:4.2rem 0 1.8rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}
.footer-brand img{width:250px}
.footer-brand p{max-width:470px;margin:1.1rem 0 0}
.site-footer h2{margin:0 0 1rem;color:#fff;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.site-footer a{display:block;margin:.5rem 0;color:#cfd3e5;text-decoration:none}
.site-footer a:hover{color:var(--accent-light)}
.site-footer p{color:#9397ab}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid #2f3240;font-size:.78rem}
.footer-bottom p{margin:0}

@media (max-width:980px){
  .nav-links{gap:1rem}
  .about-grid,.process-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}
  .services-heading{grid-template-columns:1fr;gap:1.2rem}
  .service-columns{grid-template-columns:1fr}
  .service-detail-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  html{scroll-padding-top:74px}
  .wrap{width:min(calc(100% - 28px),var(--wrap))}
  .top-contact-inner{justify-content:center;min-height:36px}
  .top-contact-inner span{display:none}
  .nav{min-height:72px}
  .brand img{height:43px}
  .menu-button{display:inline-flex}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:1rem 14px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.25rem}
  .nav-links.open{display:flex}
  .nav-links a{text-align:center;padding:.7rem}
  .hero{min-height:660px}
  .hero-slide{object-position:62% center}
  .hero-shade{background:linear-gradient(180deg,rgba(14,15,25,.58) 0%,rgba(14,15,25,.92) 54%,rgba(14,15,25,.99) 100%)}
  .hero-content{align-self:end;padding:7rem 0 3.6rem}
  .hero h1{font-size:clamp(2.8rem,13vw,4.35rem)}
  .hero-lede{font-size:1rem}
  .ribbon-grid{grid-template-columns:repeat(3,1fr);padding:.35rem 0}
  .ribbon-grid span{padding:.72rem .2rem}
  .ribbon-grid span:nth-child(3){border-right:0}
  .section{padding:4.6rem 0}
  .section h2{font-size:clamp(2.35rem,10vw,3.3rem)}
  .service-detail-grid{grid-template-columns:1fr}
  .coverage-grid{grid-template-columns:1fr;gap:2rem}
  .coverage-mark{width:170px;height:170px}
  .coverage-mark img{width:105px}
  .field-row,.footer-grid{grid-template-columns:1fr}
  .contact-form{padding:1.3rem}
  .footer-bottom{flex-direction:column;gap:.35rem}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media (prefers-reduced-motion:reduce){
  .hero-slide{transition:none;transform:none}
  .hero-slide:not(.is-active){display:none}
}
