@charset "UTF-8";
  
:root{
  --ink:#142247;
  --navy:#111d42;
  --brand:#343f86;
  --muted:#697386;
  --line:#e1e5ed;
  --paper:#fff;
  --soft:#f5f6fa;
  --amber:#e5b86b;
  --font:'DM Sans','Noto Sans Arabic',sans-serif;
  --display:'Manrope','Noto Sans Arabic',sans-serif}

html[dir=ltr] .hero-inner{
  justify-content:flex-end}

html[dir=ltr] .hero{
  background-image:linear-gradient(to right,rgba(13,24,54,.05),rgba(12,25,53,.32) 35%,rgba(10,25,52,.62) 72%,rgba(10,25,52,.77)),var(--hero-image)}

*{
  box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px}
body{
  margin:0;
  background:var(--paper);
  font:15px/1.65 var(--font);
  color:var(--ink);
  -webkit-font-smoothing:antialiased}
html[dir=rtl]{
  --font:'Noto Sans Arabic','DM Sans',sans-serif;
  --display:'Noto Sans Arabic','Manrope',sans-serif}
a{
  color:inherit;
  text-decoration:none}
button,input,textarea,select{
  font:inherit}
button,a,input,select,textarea{
  -webkit-tap-highlight-color:transparent}
button{
  cursor:pointer}
button:disabled{
  cursor:wait;
  opacity:.6}
img{
  max-width:100%;
  display:block}
button{
  color:inherit}
h1,h2,h3,p{
  margin:0}
h1,h2,h3{
  font-family:var(--display);
  line-height:1.35}
h2{
  font-size:clamp(27px,3vw,39px);
  font-weight:700;
  letter-spacing:-.8px}
h3{
  font-size:20px;
  font-weight:700}
p{
  color:var(--muted)}
:focus-visible{
  outline:3px solid #657fe0;
  outline-offset:4px}
.container{
  width:min(1180px,calc(100% - 80px));
  margin-inline:auto}
.narrow{
  max-width:840px}
.section{
  padding-block:88px}
.icon{
  width:24px;
  height:24px;
  flex-shrink:0;
  vertical-align:middle}
html[dir=rtl] .directional{
  transform:rotate(180deg)}
.skip-link{
  position:fixed;
  top:-90px;
  left:10px;
  z-index:120;
  padding:10px;
  background:#fff}
.skip-link:focus{
  top:10px}
.preview-bar{
  min-height:31px;
  padding:5px 24px;
  text-align:center;
  background:#f4ead8;
  color:#63553b;
  font-size:11px;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center}
.preview-bar .icon{
  width:14px;
  height:14px}
.site-header{
  position:sticky;
  top:0;
  background:rgba(255,255,255,.98);
  z-index:50;
  border-bottom:1px solid rgba(20,34,71,.07)}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:91px}
.brand{
  display:flex;
  gap:12px;
  align-items:center;
  flex-shrink:0}
.brand img{
  width:46px;
  height:47px;
  object-fit:contain;
  border-radius:3px}
.brand strong{
  display:block;
  font:700 11px/1.25 'Manrope',sans-serif;
  letter-spacing:1.1px}
.brand strong b{
  display:block;
  font-size:25px;
  letter-spacing:-1px;
  line-height:1.2}
.brand-dot{
  color:#b83240}
.brand small{
  display:block;
  font-size:10px;
  line-height:1.4;
  margin-top:5px;
  color:var(--muted)}
.main-nav{
  display:flex;
  gap:26px;
  font-size:13px;
  font-weight:600}
.main-nav a{
  white-space:nowrap;
  position:relative;
  padding-block:16px}
.main-nav a:hover,.main-nav a.active{
  color:var(--brand)}
.main-nav a.active:after{
  content:'';
  position:absolute;
  bottom:4px;
  inset-inline:0;
  height:2px;
  background:var(--brand)}
.header-actions{
  display:flex;
  align-items:center;
  gap:15px}
.button{
  border:1px solid transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:52px;
  padding:14px 25px;
  background:var(--brand);
  color:#fff;
  font-size:13px;
  font-weight:700;
  border-radius:5px;
  transition:background .2s,transform .2s}
.button:hover{
  background:#25326c;
  transform:translateY(-2px)}
.button .icon{
  width:19px;
  height:19px}
.button.small{
  padding:12px 17px;
  min-height:43px;
  font-size:11px;
  gap:9px}
.button.amber{
  background:var(--amber);
  color:var(--navy)}
.button.amber:hover{
  background:#f0c988}
.button.ghost{
  color:#fff;
  background:transparent;
  border-color:#ffffff57}
.button.ghost:hover{
  background:#ffffff12;
  border-color:#fff}
.lang-menu{
  position:relative}
.language-button{
  background:transparent;
  border:0;
  display:flex;
  gap:7px;
  align-items:center;
  font:600 11px 'Manrope';
  padding:10px 0;
  min-width:54px}
.language-button .icon{
  width:17px;
  height:17px}
.lang-options{
  position:absolute;
  top:100%;
  inset-inline-end:0;
  min-width:140px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 30px #15234615;
  border-radius:6px}
.lang-options a{
  display:block;
  padding:8px;
  font-size:13px;
  white-space:nowrap}
.lang-options a:hover,.lang-options a[aria-current]{
  background:var(--soft);
  color:var(--brand)}
[hidden]{
  display:none!important}
.menu-button{
  display:none;
  border:0;
  background:transparent;
  padding:8px}
.hero{
  min-height:650px;
  background-image:linear-gradient(to right,rgba(13,24,54,.05),rgba(12,25,53,.32) 35%,rgba(10,25,52,.62) 72%,rgba(10,25,52,.77)),var(--hero-image);
  background-size:cover;
  background-position:center;
  position:relative;
  color:#fff;
  isolation:isolate}
html[dir=ltr] .hero{
  background-image:linear-gradient(to right,rgba(13,24,54,.05),rgba(12,25,53,.32) 35%,rgba(10,25,52,.62) 72%,rgba(10,25,52,.77)),var(--hero-image);
  background-position:center;
  }
.hero-inner{
  padding-block:100px 104px;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  min-height:610px}
.hero-copy{
  width:560px;
  max-width:54%;
  position:relative}
.hero-label{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:500;
  letter-spacing:.3px;
  color:#e3e7f1}
.signal-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--amber);
  box-shadow:0 0 0 5px #e5b86b1a}
.hero h1{
  font-size:clamp(37px,4.5vw,58px);
  line-height:1.43;
  letter-spacing:-1.8px;
  font-weight:700;
  margin-block:22px 22px;
  max-width:555px;
  text-wrap:balance}
.hero p{
  max-width:480px;
  font-size:15px;
  line-height:2;
  color:#d1d8e6}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:30px}
.hero-foot{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:11px;
  color:#b9c3d9;
  margin-top:30px}
.hero-foot .icon{
  width:18px;
  height:18px}
.hero-bottom{
  position:absolute;
  bottom:0;
  inset-inline:0;
  border-top:1px solid #ffffff26;
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:13px max(40px,calc((100vw - 1180px)/2));
  font-size:10px;
  color:#bec9dd}
.hero-bottom>span:first-child{
  font:600 9px 'Manrope';
  letter-spacing:2px;
  white-space:nowrap}
.hero-bottom>span:last-child{
  max-width:650px}
.quick-path{
  display:flex;
  border-bottom:1px solid var(--line);
  padding-block:24px;
  gap:30px}
.quick-path a{
  flex:1;
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:600;
  font-size:13px;
  border-inline-end:1px solid var(--line);
  padding-inline-end:25px}
.quick-path a:last-child{
  border-inline-end:0}
.quick-path a>.icon:first-child{
  color:var(--brand)}
.quick-path a .directional{
  margin-inline-start:auto;
  width:18px;
  color:var(--muted)}
.quick-path a:hover span{
  color:var(--brand)}
.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:45px;
  margin-bottom:38px}
.section-heading p{
  max-width:370px;
  font-size:14px;
  line-height:1.9}
.eyebrow{
  font-size:10px;
  font-weight:700;
  letter-spacing:1.3px;
  color:var(--brand);
  text-transform:uppercase;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:8px}
.eyebrow:before{
  content:'';
  display:inline-block;
  width:24px;
  height:1px;
  background:currentColor}
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px}
.service-card{
  padding:30px 27px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  display:flex;
  flex-direction:column;
  transition:transform .25s,border-color .25s,box-shadow .25s;
  min-height:278px}
.service-card:hover{
  border-color:#8793cb;
  transform:translateY(-5px);
  box-shadow:0 14px 28px #15234608}
.card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:25px}
.service-symbol{
  width:49px;
  height:49px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1f2fa;
  border-radius:9px;
  color:var(--brand)}
.service-symbol .icon{
  width:26px;
  height:26px}
.service-number{
  font:500 10px 'Manrope';
  color:#949eae;
  letter-spacing:1px}
.service-card h3{
  font-size:19px;
  margin-bottom:9px}
.service-card p{
  font-size:12px;
  line-height:1.9;
  max-width:290px;
  margin-bottom:20px}
.card-link{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  color:var(--brand);
  margin-top:auto}
.card-link .icon{
  width:17px;
  height:17px}
.how-section{
  background:var(--soft);
  border-block:1px solid #ecedf2}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:start}
.how-intro h2{
  max-width:390px}
.text-link{
  font-size:12px;
  color:var(--brand);
  font-weight:700;
  display:inline-flex;
  gap:12px;
  align-items:center;
  margin-top:24px}
.text-link .icon{
  width:19px;
  height:19px}
.route-motif{
  display:flex;
  align-items:center;
  gap:17px;
  color:#5c66a0;
  margin-top:42px;
  width:min(310px,100%)}
.route-motif .icon{
  width:28px;
  height:28px}
.route-motif>span{
  height:1px;
  flex:1;
  border-top:1px dashed #9aa3c4}
.steps{
  display:flex;
  flex-direction:column}
.step{
  display:flex;
  gap:27px;
  border-bottom:1px solid #e0e3eb;
  padding-block:23px}
.step:first-child{
  padding-top:0}
.step:last-child{
  border:0;
  padding-bottom:0}
.step-number{
  font:400 27px 'Manrope';
  color:#bac0d6;
  width:36px;
  flex-shrink:0}
.step h3{
  font-size:18px;
  margin-bottom:8px}
.step p{
  font-size:12px;
  line-height:1.9;
  max-width:410px}
.coverage-preview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center}
.coverage-copy p{
  font-size:13px;
  line-height:1.9;
  margin-top:20px;
  max-width:450px}
.city-stack{
  border-top:1px solid var(--line)}
.city-stack a{
  display:flex;
  align-items:center;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  transition:padding .2s}
.city-stack a:hover{
  padding-inline:12px;
  background:var(--soft)}
.city-index{
  font:500 10px 'Manrope';
  letter-spacing:1px;
  color:#999fb2}
.city-stack strong{
  display:block;
  font-size:23px;
  line-height:1.4}
.city-stack small{
  font:500 8px 'Manrope';
  letter-spacing:2px;
  color:#929ab0}
.city-stack .icon{
  margin-inline-start:auto;
  color:var(--brand);
  width:22px}
.business-band{
  background:var(--navy);
  color:#fff;
  padding-block:45px}
.business-band .container{
  display:flex;
  align-items:center;
  gap:30px}
.business-band .eyebrow{
  color:#cfb98e}
.business-icon{
  width:74px;
  height:74px;
  border:1px solid #ffffff2b;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0}
.business-icon .icon{
  width:32px;
  height:32px;
  color:var(--amber)}
.business-band h2{
  font-size:27px;
  margin-bottom:9px}
.business-band p{
  font-size:12px;
  color:#b5bfd3;
  max-width:540px}
.business-band .button{
  margin-inline-start:auto;
  white-space:nowrap}
.faq-section{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:80px}
.faq-list details{
  border-bottom:1px solid var(--line);
  padding-block:19px}
.faq-list details:first-child{
  padding-top:0}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:14px;
  font-weight:600}
.faq-list summary::-webkit-details-marker{
  display:none}
.faq-list summary span{
  color:var(--brand);
  font-size:23px;
  line-height:1;
  width:20px;
  text-align:center}
.faq-list details[open] summary span{
  transform:rotate(45deg)}
.faq-list p{
  font-size:13px;
  line-height:1.95;
  margin-top:15px;
  max-width:650px}
.contact-strip{
  background:#f0f2f8;
  padding-block:42px;
  border-top:1px solid var(--line)}
.contact-strip .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px}
.contact-strip h2{
  font-size:26px}
.contact-strip p{
  font-size:13px;
  max-width:700px;
  margin-top:10px}
.site-footer{
  background:#fff}
.footer-main{
  display:grid;
  grid-template-columns:1.3fr .8fr 1fr;
  gap:65px;
  padding-block:55px}
.footer-brand p{
  max-width:330px;
  font-size:11px;
  line-height:1.9;
  margin-top:20px}
.footer-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  font-size:12px}
.footer-links a:hover{
  color:var(--brand)}
.footer-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  font-size:13px}
.footer-contact a:last-child{
  font-size:11px;
  color:var(--brand);
  display:flex;
  align-items:center;
  gap:9px}
.footer-contact .icon{
  width:16px;
  height:16px}
.footer-bottom{
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-block:20px;
  color:#929bac;
  font-size:9px}
.footer-bottom>div{
  display:flex;
  gap:22px}
.mobile-dock{
  display:none}
.page-hero{
  background:var(--soft);
  padding-block:47px 58px;
  border-bottom:1px solid var(--line)}
.breadcrumb{
  display:inline-block;
  color:#828b9e;
  font-size:11px;
  margin-bottom:26px}
.page-hero h1{
  font-size:clamp(32px,4vw,48px);
  max-width:750px;
  letter-spacing:-1px;
  margin-bottom:15px}
.page-hero p{
  max-width:740px;
  font-size:15px;
  line-height:1.95}
.detail-layout,.request-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:80px;
  align-items:start}
.detail-copy h2{
  font-size:25px;
  margin-block:35px 20px}
.detail-symbol{
  display:inline-flex;
  width:70px;
  height:70px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#f1f2fa;
  color:var(--brand);
  margin-bottom:28px}
.detail-symbol .icon{
  width:39px;
  height:39px}
.lead{
  font-size:17px;
  line-height:2.1;
  color:#4e5c77}
.check-list,.tip-list{
  padding:0;
  list-style:none;
  margin:0}
.check-list li{
  display:flex;
  gap:14px;
  align-items:start;
  padding-block:13px;
  border-bottom:1px solid var(--line);
  font-size:14px;
  color:#58647b}
.check-list .icon{
  color:var(--brand);
  width:20px;
  height:20px;
  margin-top:3px}
.tip-list{
  list-style:decimal;
  padding-inline-start:22px;
  font-size:14px;
  color:#68748b}
.tip-list li{
  padding-block:7px;
  padding-inline-start:8px}
.help-panel{
  padding:31px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:10px}
.help-panel>.icon{
  color:var(--brand);
  width:34px;
  height:34px;
  margin-bottom:16px}
.help-panel h2{
  font-size:23px;
  margin-bottom:15px}
.help-panel p{
  font-size:12px;
  line-height:1.9;
  margin-bottom:24px}
.help-panel .button{
  width:100%;
  font-size:12px}
.contact-link{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:22px;
  font-size:11px}
.contact-link>.icon{
  width:20px;
  height:20px;
  color:var(--brand);
  margin-top:3px}
.contact-link b{
  display:block;
  font:600 14px/1.8 'Manrope';
  margin-top:5px;
  overflow-wrap:anywhere}
.help-panel>small{
  font-size:10px;
  display:block;
  color:#858da0;
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:22px;
  line-height:1.9}
.replacement-link{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:25px;
  padding:27px;
  background:var(--soft);
  border-radius:8px;
  font-weight:600}
.replacement-link>.directional{
  margin-inline-start:auto}
.city-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px}
.city-card{
  position:relative;
  padding:35px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:8px}
.city-card>.icon{
  display:block;
  width:35px;
  height:35px;
  color:var(--brand);
  margin-block:25px 22px}
.city-card h2{
  font-size:28px}
.city-card p{
  font-size:12px;
  line-height:1.9;
  margin-top:15px}
.notice-card{
  display:flex;
  gap:17px;
  align-items:start;
  margin-top:30px;
  padding:25px;
  background:#fbf8f1;
  border:1px solid #ede2cb;
  border-radius:8px}
.notice-card .icon{
  color:#a88440;
  width:23px}
.notice-card p{
  font-size:13px;
  line-height:1.9}
.prose p{
  font-size:15px;
  line-height:2.2}
.request-form{
  padding:37px;
  border:1px solid var(--line);
  border-radius:10px}
.form-heading{
  display:flex;
  gap:16px;
  padding-bottom:24px;
  margin-bottom:28px;
  border-bottom:1px solid var(--line)}
.form-heading .icon{
  color:var(--brand);
  width:30px;
  height:30px}
.form-heading p{
  font-size:12px;
  line-height:1.9}
.field{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:25px;
  min-width:0}
.field label{
  font-size:13px;
  font-weight:600}
.field select,.field input,.field textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #d9dfeb;
  border-radius:5px;
  background:#fff;
  color:var(--ink);
  min-height:47px}
.field textarea{
  min-height:105px;
  resize:vertical;
  line-height:1.75}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px}
.consent{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin-block:5px 27px;
  font-size:12px;
  color:#737e94;
  line-height:1.8}
.consent input{
  margin-top:6px;
  accent-color:var(--brand);
  width:17px;
  height:17px;
  flex-shrink:0}
.form-result{
  padding:20px;
  margin-top:25px;
  border:1px solid #bdd7d0;
  background:#f0f8f5;
  border-radius:7px;
  font-size:13px;
  line-height:1.8;
  color:#246050}
.form-result.error{
  border-color:#e7c2c5;
  background:#fff2f3;
  color:#933542}
.reference{
  display:block;
  font:700 20px 'Manrope';
  margin-block:13px}
.assist-entry{
  padding:45px;
  display:flex;
  gap:32px;
  background:var(--navy);
  color:#fff;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  border:1px solid #343f8660;
  transition:transform .2s}
.assist-entry:hover{
  transform:translateY(-5px)}
.entry-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100px;
  height:100px;
  flex-shrink:0;
  border:1px solid #e5b86b55;
  border-radius:50%;
  position:relative;
  color:var(--amber)}
.entry-symbol>.icon{
  width:49px;
  height:49px}
.entry-ring{
  position:absolute;
  inset:10px;
  border:1px solid #e5b86b28;
  border-radius:50%}
.assist-entry small{
  font:600 10px 'Manrope';
  letter-spacing:2px;
  color:#c8cfdf}
.assist-entry strong{
  display:block;
  font:800 38px 'Manrope';
  letter-spacing:-1px}
.assist-entry p{
  color:#bcc8dd;
  font-size:13px;
  line-height:1.9;
  margin-block:12px 20px}
.assist-entry b{
  font-size:12px;
  color:var(--amber);
  display:flex;
  align-items:center;
  gap:10px}
.assist-entry b .icon{
  width:18px}
.admin-gate{
  max-width:680px;
  margin:auto;
  background:var(--soft);
  padding:40px;
  border:1px solid var(--line);
  border-radius:10px}
.admin-gate h2{
  font-size:26px;
  margin-bottom:20px}
.admin-gate p{
  font-size:13px;
  line-height:1.9;
  margin-bottom:20px}
.admin-gate code{
  display:block;
  overflow-wrap:anywhere;
  font-size:11px;
  margin-bottom:20px}
.admin-layout{
  display:grid;
  grid-template-columns:225px minmax(0,1fr);
  gap:35px}
.admin-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-self:start;
  position:sticky;
  top:115px}
.admin-nav button{
  background:transparent;
  border:1px solid transparent;
  text-align:start;
  padding:11px;
  border-radius:6px;
  font-size:12px}
.admin-nav button.active{
  background:#f1f2fa;
  border-color:#dddff0;
  color:var(--brand)}
.admin-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
  margin-bottom:25px}
.admin-toolbar h2{
  font-size:22px}
.admin-toolbar>div{
  display:flex;
  gap:10px;
  align-items:center}
.admin-toolbar select{
  padding:7px;
  border:1px solid var(--line)}
.admin-editor .field{
  margin-bottom:18px}
.admin-editor label{
  overflow-wrap:anywhere;
  font-size:12px}
.admin-editor details{
  padding:18px;
  margin-bottom:15px;
  border:1px solid var(--line);
  border-radius:7px}
.admin-editor summary{
  font-weight:600;
  cursor:pointer;
  padding:4px 0}
.admin-editor details>div{
  padding-top:22px}
.admin-message{
  font-size:13px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:6px;
  margin-bottom:20px}
.requests-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px}
.requests-table th,.requests-table td{
  padding:12px 9px;
  border-bottom:1px solid var(--line);
  text-align:start;
  overflow-wrap:anywhere}
.table-wrap{
  overflow-x:auto}
.requests-table select{
  font:inherit;
  padding:5px;
  border:1px solid var(--line)}
.admin-login{
  display:flex;
  flex-wrap:wrap;
  gap:12px}
.muted-button{
  background:#fff;
  color:var(--brand);
  border:1px solid var(--line)}

@media(min-width:1450px){
  .hero{
  min-height:695px}
.hero-inner{
  min-height:655px;
  padding-block:120px}
.hero h1{
  font-size:62px}
}

@media(max-width:1100px){
  .container{
  width:calc(100% - 48px)}
.main-nav{
  gap:16px;
  font-size:11px}
.header-inner{
  gap:15px}
.brand{
  gap:9px}
.brand strong b{
  font-size:22px}
.header-actions{
  gap:11px}
.header-request{
  font-size:10px!important;
  padding-inline:12px!important}
.split,.coverage-preview{
  gap:65px}
.detail-layout,.request-layout{
  gap:40px;
  grid-template-columns:minmax(0,1fr) 310px}
.footer-main{
  gap:35px}
.faq-section{
  gap:45px}
.hero h1{
  font-size:45px}
}

@media(max-width:850px){
  .main-nav{
  display:none;
  position:absolute;
  top:100%;
  inset-inline:0;
  background:#fff;
  padding:20px 25px;
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 20px #15234609}
.main-nav.open{
  display:flex;
  flex-direction:column;
  gap:0}
.main-nav a{
  padding-block:11px}
.main-nav a.active:after{
  display:none}
.menu-button{
  display:block}
.header-inner{
  min-height:78px}
.header-request{
  display:none}
.hero-copy{
  max-width:65%}
.hero{
  min-height:610px}
.hero-inner{
  padding-block:80px;
  min-height:570px}
.hero h1{
  font-size:41px}
.hero p{
  font-size:13px}
.hero-bottom{
  padding-inline:24px}
.quick-path{
  gap:17px}
.quick-path a{
  font-size:11px;
  gap:11px;
  padding-inline-end:13px}
.quick-path a .icon{
  width:20px}
.section{
  padding-block:65px}
.service-grid{
  grid-template-columns:repeat(2,1fr)}
.section-heading{
  gap:30px}
.section-heading p{
  max-width:300px;
  font-size:12px}
.split,.coverage-preview{
  gap:45px}
.business-band .container{
  flex-wrap:wrap;
  gap:25px}
.business-band .container>div:nth-child(2){
  flex:1}
.business-band .button{
  margin-inline-start:100px}
.faq-section{
  grid-template-columns:1fr;
  gap:35px}
.footer-main{
  grid-template-columns:1fr 1fr}
.footer-contact{
  grid-column:1/-1;
  flex-direction:row;
  flex-wrap:wrap;
  gap:30px}
.detail-layout,.request-layout{
  grid-template-columns:1fr;
  gap:35px}
.help-panel{
  max-width:none}
.help-panel .button{
  width:auto}
.city-cards{
  gap:15px}
.city-card{
  padding:26px}
.city-card h2{
  font-size:24px}
.admin-layout{
  grid-template-columns:180px minmax(0,1fr);
  gap:25px}
}

@media(max-width:600px){
  .container{
  width:calc(100% - 36px)}
.preview-bar{
  font-size:9px;
  line-height:1.7;
  padding:6px 15px;
  text-align:start}
.preview-bar .icon{
  display:none}
.header-inner{
  min-height:74px;
  gap:10px}
.brand img{
  width:39px;
  height:40px}
.brand strong{
  font-size:9px;
  letter-spacing:.8px}
.brand strong b{
  font-size:21px}
.brand small{
  font-size:8px;
  margin-top:3px}
.header-actions{
  gap:9px}
.language-button{
  font-size:10px;
  min-width:46px}
.language-button .icon{
  width:16px}
.menu-button{
  padding:7px 0}
.hero{
  min-height:665px;
  background-position:30% center;
  background-image:linear-gradient(to bottom,rgba(10,24,51,.7) 0%,rgba(10,24,51,.65) 48%,rgba(10,24,51,.35) 75%,rgba(10,24,51,.9)),var(--hero-image)}
html[dir=ltr] .hero{
  background-image:linear-gradient(to bottom,rgba(10,24,51,.74),rgba(10,24,51,.58) 70%,rgba(10,24,51,.9)),var(--hero-image);
  background-position:28% center}
.hero-inner{
  padding-block:56px 98px;
  min-height:620px;
  align-items:flex-start}
.hero-copy{
  max-width:100%;
  width:100%}
.hero-label{
  font-size:10px}
.hero h1{
  font-size:clamp(33px,9.4vw,42px);
  line-height:1.5;
  letter-spacing:-1.2px;
  max-width:370px;
  margin-block:22px 18px}
.hero p{
  font-size:13px;
  line-height:1.95;
  max-width:340px;
  color:#e0e6f1}
.hero-actions{
  gap:10px;
  margin-top:26px}
.hero-actions .button{
  min-height:49px;
  padding:13px 17px;
  font-size:11px;
  gap:9px}
.hero-foot{
  margin-top:23px;
  font-size:10px;
  max-width:310px}
.hero-bottom{
  padding:12px 18px;
  align-items:start;
  font-size:9px;
  gap:18px}
.hero-bottom>span:first-child{
  display:none}
.hero-bottom>span:last-child{
  font-size:9px}
.quick-path{
  padding-block:15px;
  gap:10px}
.quick-path a{
  font-size:9px;
  flex-direction:column;
  align-items:center;
  gap:7px;
  text-align:center;
  padding-inline-end:10px}
.quick-path a .directional{
  display:none}
.quick-path a .icon{
  width:21px}
.section{
  padding-block:50px}
.section-heading{
  display:block;
  margin-bottom:25px}
.section-heading p{
  max-width:none;
  margin-top:16px;
  font-size:12px}
.eyebrow{
  font-size:9px;
  margin-bottom:10px}
h2{
  font-size:27px;
  line-height:1.45;
  letter-spacing:-.7px}
.service-grid{
  grid-template-columns:1fr;
  gap:13px}
.service-card{
  min-height:0;
  padding:25px}
.card-top{
  margin-bottom:18px}
.service-symbol{
  width:44px;
  height:44px}
.service-card h3{
  font-size:19px}
.service-card p{
  font-size:12px;
  max-width:none;
  margin-bottom:19px}
.card-link{
  font-size:11px}
.split,.coverage-preview{
  grid-template-columns:1fr;
  gap:36px}
.how-intro h2{
  max-width:320px}
.route-motif{
  margin-top:25px;
  width:240px}
.step{
  gap:22px;
  padding-block:20px}
.step-number{
  font-size:25px}
.step h3{
  font-size:17px}
.step p{
  font-size:12px}
.coverage-copy p{
  font-size:12px}
.city-stack a{
  padding-block:19px}
.city-stack strong{
  font-size:24px}
.business-band{
  padding-block:35px}
.business-band .container{
  gap:19px;
  align-items:flex-start}
.business-icon{
  width:48px;
  height:48px}
.business-icon .icon{
  width:25px}
.business-band h2{
  font-size:24px}
.business-band p{
  font-size:11px}
.business-band .button{
  margin-inline-start:67px;
  margin-top:0;
  font-size:11px;
  padding:11px 16px;
  min-height:44px}
.faq-section{
  gap:25px}
.faq-list summary{
  font-size:13px;
  line-height:1.8;
  gap:17px}
.faq-list p{
  font-size:12px}
.faq-list details{
  padding-block:17px}
.contact-strip{
  padding-block:30px}
.contact-strip .container{
  flex-direction:column;
  align-items:flex-start;
  gap:23px}
.contact-strip h2{
  font-size:25px}
.contact-strip p{
  font-size:12px}
.contact-strip .button{
  min-height:46px;
  font-size:11px}
.footer-main{
  grid-template-columns:1fr;
  gap:30px;
  padding-block:38px}
.footer-brand p{
  max-width:340px}
.footer-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px}
.footer-contact{
  grid-column:auto;
  flex-direction:column;
  gap:13px}
.footer-bottom{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:98px}
.footer-bottom>div{
  gap:17px}
.mobile-dock{
  display:flex;
  position:fixed;
  bottom:0;
  inset-inline:0;
  background:#fff;
  box-shadow:0 -3px 20px #15234610;
  border-top:1px solid var(--line);
  z-index:45;
  padding:9px 13px calc(9px + env(safe-area-inset-bottom));
  gap:10px}
.mobile-dock a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:11px;
  font-weight:600;
  min-height:45px;
  border-radius:5px;
  flex:1}
.mobile-dock a:first-child{
  color:#fff;
  background:var(--brand)}
.mobile-dock a:last-child{
  color:var(--brand);
  border:1px solid #dce0f0}
.mobile-dock .icon{
  width:18px;
  height:18px}
.page-hero{
  padding-block:30px 37px}
.page-hero h1{
  font-size:32px}
.page-hero p{
  font-size:13px}
.breadcrumb{
  margin-bottom:20px;
  font-size:10px}
.detail-symbol{
  width:60px;
  height:60px;
  margin-bottom:23px}
.lead{
  font-size:15px;
  line-height:2}
.detail-copy h2{
  font-size:23px;
  margin-block:28px 16px}
.check-list li,.tip-list{
  font-size:13px}
.help-panel{
  padding:26px}
.help-panel h2{
  font-size:24px}
.city-cards{
  grid-template-columns:1fr;
  gap:17px}
.city-card{
  padding:29px}
.city-card>.icon{
  margin-block:19px 18px}
.city-card h2{
  font-size:27px}
.notice-card{
  padding:20px;
  gap:13px}
.notice-card p{
  font-size:12px}
.request-form{
  padding:25px}
.form-row{
  grid-template-columns:1fr;
  gap:0}
.form-heading{
  gap:13px}
.form-heading .icon{
  width:24px}
.field{
  margin-bottom:22px}
.consent{
  font-size:11px}
.request-form .button{
  width:100%;
  font-size:12px}
.assist-entry{
  flex-direction:column;
  padding:33px;
  gap:23px}
.entry-symbol{
  width:80px;
  height:80px}
.entry-symbol>.icon{
  width:39px}
.assist-entry strong{
  font-size:35px}
.admin-layout{
  grid-template-columns:1fr;
  gap:25px}
.admin-nav{
  position:static;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:5px}
.admin-nav button{
  padding:8px;
  font-size:10px}
.admin-toolbar{
  flex-direction:column;
  align-items:flex-start;
  gap:17px}
.admin-toolbar h2{
  font-size:24px}
.admin-gate{
  padding:28px}
.admin-toolbar .button{
  font-size:10px;
  padding:9px 14px;
  min-height:40px}
.prose p{
  font-size:13px}
.form-result{
  font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*:before,*:after{
  transition:none!important;
  animation:none!important}
}

