@font-face {
  font-family:Lato;
  src:url('assets/lato-light.woff') format('woff');
  font-weight:300;
  font-display:swap
}

@font-face {
  font-family:Lato;
  src:url('assets/lato-regular.woff') format('woff');
  font-weight:400;
  font-display:swap
}

@font-face {
  font-family:Lato;
  src:url('assets/lato-bold.woff') format('woff');
  font-weight:700;
  font-display:swap
}

@font-face {
  font-family:Lato;
  src:url('assets/lato-black.woff') format('woff');
  font-weight:900;
  font-display:swap
}


:root {
  --u:calc(var(--viewport-width, 100vw) / 1920);
  --orange:#ff7900;
  --ink:#141c20;
  --paper:#f2f5f6;
  --muted:#526570;
  --line:#a2afb7
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:20px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Lato,Arial,sans-serif;
  font-size:calc(30 * var(--u));
  -webkit-font-smoothing:antialiased
}

h1,h2,h3,h4,p {
  margin:0
}

h1,h2 {
  font-weight:900
}

a {
  color:inherit;
  text-decoration:none
}

button,input,textarea {
  font:inherit
}

button,a,input,textarea,summary {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid #ff9900;
  outline-offset:5px
}

input:focus,textarea:focus {
  outline:2px solid var(--orange);
  outline-offset:2px
}

em {
  font-style:normal;
  color:var(--orange)
}

svg {
  width:1em;
  height:1em;
  vertical-align:middle;
  flex-shrink:0
}

.container {
  width:calc(1628 * var(--u));
  margin:0 auto
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:calc(36 * var(--u));
  padding:0 calc(23 * var(--u));
  height:calc(70 * var(--u));
  border:calc(2 * var(--u)) solid var(--orange);
  border-radius:calc(5 * var(--u));
  background:var(--orange);
  color:#fff;
  font-size:calc(25 * var(--u));
  font-weight:700;
  white-space:nowrap;
  transition:background .18s,transform .18s
}

.button:hover {
  background:#e36a00;
  border-color:#e36a00;
  transform:translateY(-1px)
}

.button.outline {
  background:transparent;
  border-color:#d9dfe2;
  color:#eaf0f2
}

.button.outline:hover {
  background:#ffffff19
}

.actions {
  display:flex;
  gap:calc(42 * var(--u));
  align-items:center
}

.text-link {
  display:inline-flex;
  gap:calc(30 * var(--u));
  padding:0 0 calc(14 * var(--u));
  border:0;
  border-bottom:calc(2 * var(--u)) solid currentColor;
  background:none;
  font-size:calc(30 * var(--u));
  font-weight:700;
  color:inherit
}

.text-link:hover {
  color:var(--orange)
}

.section-tag {
  position:relative;
  text-align:center;
  font-weight:300;
  font-size:calc(30 * var(--u));
  line-height:1
}

.section-tag span {
  display:inline-block;
  border:1px solid currentColor;
  padding:calc(10 * var(--u)) calc(24 * var(--u));
  border-radius:100px
}

.logo {
  width:calc(250 * var(--u));
  height:auto;
  display:block
}

.header {
  position:absolute;
  top:calc(52 * var(--u));
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#f1f5f6;
  z-index:5
}

.header nav {
  display:flex;
  align-items:center;
  gap:calc(44 * var(--u));
  font-size:calc(25 * var(--u));
  font-weight:700
}

.header nav>a:not(.button) {
  padding:calc(10 * var(--u)) 0;
  border-bottom:calc(2 * var(--u)) solid transparent
}

.header nav>a.active {
  color:var(--orange);
  border-bottom-color:var(--orange)
}

.header nav>a:hover {
  color:var(--orange)
}

.header nav>.button {
  margin-left:calc(22 * var(--u));
  color:white;
  gap:calc(35 * var(--u))
}

.menu-toggle {
  display:none
}

.hero {
  position:relative;
  height:calc(1080 * var(--u));
  overflow:hidden;
  color:#f0f3f4
}

.backdrop,.shade {
  position:absolute;
  pointer-events:none
}

.backdrop {
  max-width:none
}

.shade {
  inset:0;
  background:rgba(5,12,16,.6)
}

.hero-home .backdrop {
  width:146.552%;
  left:-9.536%;
  top:-27.49%;
  height:auto
}

.hero-home .shade {
  background:rgba(5,13,18,.61)
}

.hero-about .backdrop {
  width:128.35%;
  left:-1.226%;
  top:-7.015%
}

.hero-about .shade {
  background:rgba(0,0,0,.64)
}

.hero-plans .backdrop {
  width:122.77%;
  left:-.338%;
  top:-47.146%
}

.hero-plans .shade {
  background:rgba(5,13,20,.66)
}

.hero-copy {
  position:relative;
  padding-top:calc(392 * var(--u))
}

.hero h1 {
  font-size:calc(112 * var(--u));
  line-height:1.045;
  letter-spacing:calc(-.7 * var(--u))
}

.hero-copy p {
  font-size:calc(30 * var(--u));
  font-weight:300;
  line-height:1.17;
  margin-top:calc(48 * var(--u));
  color:#d0d3d4
}

.hero-copy .actions {
  margin-top:calc(40 * var(--u))
}

.hero-plans .hero-copy {
  padding-top:calc(384 * var(--u))
}

.hero-plans .hero-copy p {
  margin-top:calc(26 * var(--u))
}

.scroll-down {
  position:absolute;
  bottom:calc(50 * var(--u));
  left:50%;
  width:calc(28 * var(--u));
  height:calc(28 * var(--u));
  border-bottom:calc(5 * var(--u)) solid #f1f4f5;
  border-right:calc(5 * var(--u)) solid #f1f4f5;
  transform:translateX(-50%) rotate(45deg)
}


.features {
  height:calc(404 * var(--u));
  padding-top:calc(42 * var(--u))
}

.feature-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:calc(40 * var(--u))
}

.feature-grid article {
  text-align:center;
  height:calc(320 * var(--u));
  padding:calc(43 * var(--u)) calc(20 * var(--u));
  border:calc(2 * var(--u)) solid #e8edef;
  border-radius:calc(24 * var(--u));
  box-shadow:0 calc(2 * var(--u)) calc(17 * var(--u)) #00000012
}

.feature-grid svg {
  color:var(--orange);
  width:calc(55 * var(--u));
  height:calc(55 * var(--u));
  stroke-width:2.8;
  margin-bottom:calc(37 * var(--u))
}

.feature-grid h3 {
  font-size:calc(36 * var(--u));
  margin-bottom:calc(18 * var(--u))
}

.feature-grid p {
  font-size:calc(28 * var(--u));
  line-height:1.2;
  font-weight:300
}

.coverage {
  height:calc(676 * var(--u));
  position:relative;
  overflow:hidden;
  color:#f2f5f6;
  padding-top:calc(42 * var(--u))
}

.coverage .backdrop {
  width:119.035%;
  left:-5.397%;
  top:-7.955%
}

.coverage .shade {
  background:#020603a8
}

.coverage .section-tag {
  color:#d7dbdc
}

.coverage-grid {
  position:relative;
  display:grid;
  grid-template-columns:calc(650 * var(--u)) 1fr;
  gap:calc(82 * var(--u));
  margin-top:calc(42 * var(--u))
}

.coverage h2 {
  font-size:calc(72 * var(--u));
  line-height:1.03;
  margin-top:calc(25 * var(--u))
}

.coverage-grid>div>p {
  font-size:calc(30 * var(--u));
  font-weight:300;
  line-height:1.2;
  margin-top:calc(14 * var(--u))
}

.coverage-form {
  height:calc(460 * var(--u));
  border-radius:calc(18 * var(--u));
  background:var(--paper);
  color:var(--ink);
  padding:calc(42 * var(--u)) calc(60 * var(--u));
  box-shadow:0 2px 12px #0002
}

.coverage-form h3 {
  font-size:calc(38 * var(--u));
  line-height:1.2
}

.coverage-form>p {
  font-size:calc(18 * var(--u));
  font-weight:300;
  margin-top:calc(7 * var(--u));
  margin-bottom:calc(18 * var(--u))
}

label {
  display:block
}

.coverage-form label {
  font-size:calc(15 * var(--u));
  font-weight:700;
  margin-bottom:calc(5 * var(--u))
}

input,textarea {
  display:block;
  width:100%;
  border:1px solid #8396a3;
  border-radius:calc(5 * var(--u));
  color:var(--ink);
  background:transparent
}

input::placeholder,textarea::placeholder {
  color:#7e8790;
  font-weight:300
}

.coverage-form input {
  height:calc(53 * var(--u));
  font-size:calc(20 * var(--u));
  padding:0 calc(14 * var(--u));
  margin-bottom:calc(15 * var(--u))
}

.coverage-submit {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:calc(24 * var(--u));
  gap:calc(30 * var(--u))
}

.coverage-submit small {
  font-size:calc(14 * var(--u));
  font-weight:300;
  text-align:right;
  line-height:1.2
}

.coverage-submit .button {
  height:calc(68 * var(--u))
}


.plans {
  height:calc(1769 * var(--u));
  padding-top:calc(68 * var(--u));
  background:#f4f6f7
}

.page-home .plans {
  background:linear-gradient(#eaf0f2 0%,#f4f6f7 100%);
  position:relative
}

.page-home .plans:before {
  content:"";
  position:absolute;
  width:calc(500 * var(--u));
  height:calc(7 * var(--u));
  background:var(--orange);
  top:calc(26 * var(--u));
  left:50%;
  transform:translateX(-50%)
}

.plans .section-tag {
  color:var(--orange)
}

.plans-heading {
  display:flex;
  justify-content:space-between;
  margin-top:calc(76 * var(--u));
  margin-bottom:calc(103 * var(--u));
  align-items:center
}

.plans-heading h2 {
  font-size:calc(72 * var(--u));
  line-height:1.26
}

.plans-heading>div {
  width:calc(510 * var(--u));
  color:#5a7080
}

.plans-heading p {
  font-size:calc(30 * var(--u));
  font-weight:300;
  line-height:1.2;
  margin-bottom:calc(35 * var(--u))
}

.plans-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:calc(48 * var(--u)) calc(26 * var(--u))
}

.plan-card {
  height:calc(558 * var(--u));
  padding:calc(30 * var(--u)) calc(39 * var(--u));
  border-radius:calc(20 * var(--u));
  background:#fff;
  border:calc(4 * var(--u)) solid transparent;
  box-shadow:calc(2 * var(--u)) calc(7 * var(--u)) calc(14 * var(--u)) #0002;
  color:#000
}

.plan-card:hover, .plan-card:focus-within {
  border-color:var(--orange)
}

.plan-eyebrow {
  display:flex;
  align-items:center;
  font-size:calc(14 * var(--u));
  letter-spacing:calc(3 * var(--u));
  color:#536a79;
  font-weight:700;
  white-space:nowrap
}

.plan-eyebrow svg {
  font-size:calc(26 * var(--u));
  color:var(--orange);
  margin-right:calc(22 * var(--u))
}

.plan-eyebrow small {
  margin-left:auto;
  letter-spacing:0;
  background:#f0f3f4;
  padding:calc(1 * var(--u)) calc(5 * var(--u));
  font-size:calc(17 * var(--u));
  color:#61727d
}

.speed {
  display:flex;
  align-items:center;
  gap:calc(17 * var(--u));
  margin-top:calc(25 * var(--u));
  height:calc(150 * var(--u))
}

.speed strong {
  font-size:calc(150 * var(--u));
  line-height:1;
  font-weight:900;
  letter-spacing:calc(-4 * var(--u))
}

.speed>div {
  font-size:calc(50 * var(--u));
  padding-top:calc(24 * var(--u));
  line-height:1.05;
  white-space:nowrap
}

.speed b {
  display:block;
  font-size:calc(29 * var(--u));
  color:var(--orange);
  font-weight:700
}

.price {
  display:flex;
  align-items:baseline;
  gap:calc(10 * var(--u));
  margin-top:calc(15 * var(--u));
  white-space:nowrap
}

.price sup {
  color:#5d7280;
  font-size:calc(23 * var(--u));
  align-self:flex-start;
  line-height:1.5
}

.price strong {
  font-size:calc(50 * var(--u));
  line-height:1.15
}

.price span {
  color:#5b6f80;
  font-size:calc(22 * var(--u))
}

.plan-card ul {
  list-style:none;
  padding:0;
  margin:calc(19 * var(--u)) 0 calc(14 * var(--u));
  font-size:calc(15 * var(--u));
  color:#506877;
  line-height:1.95
}

.plan-card li:before {
  content:'✓';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:calc(19 * var(--u));
  height:calc(19 * var(--u));
  background:var(--orange);
  border-radius:50%;
  color:white;
  font-size:calc(14 * var(--u));
  margin-right:calc(12 * var(--u))
}

.plan-card .button {
  width:100%;
  height:calc(68 * var(--u));
  font-size:calc(23 * var(--u));
  background:white;
  border-color:#8c9da8;
  color:#506572
}

.plan-card:hover .button, .plan-card:focus-within .button {
  background:var(--orange);
  border-color:var(--orange);
  color:white
}

.terms {
  font-size:calc(12 * var(--u));
  line-height:1.9;
  color:#506676;
  margin-top:calc(23 * var(--u))
}


.faq {
  position:relative;
  height:calc(708 * var(--u));
  overflow:hidden;
  color:#f0f4f5;
  padding-top:calc(30 * var(--u))
}

.faq .backdrop {
  width:105.194%;
  left:0;
  top:-36.838%
}

.faq .shade {
  background:#0008
}

.faq .section-tag {
  color:#c5cdce
}

.faq-grid {
  position:relative;
  display:grid;
  grid-template-columns:calc(650 * var(--u)) 1fr;
  gap:calc(92 * var(--u));
  margin-top:calc(56 * var(--u))
}

.faq-intro h2 {
  font-size:calc(72 * var(--u));
  line-height:1.03;
  margin-top:calc(23 * var(--u))
}

.faq-intro p {
  font-size:calc(30 * var(--u));
  font-weight:300;
  line-height:1.2;
  margin:calc(57 * var(--u)) 0 calc(40 * var(--u))
}

.faq-intro .text-link {
  font-size:calc(23 * var(--u));
  gap:calc(18 * var(--u))
}

.faq-items {
  display:flex;
  flex-direction:column;
  gap:calc(12 * var(--u))
}

.faq details {
  background:var(--paper);
  border-radius:calc(17 * var(--u));
  color:var(--ink);
  padding:calc(15 * var(--u)) calc(24 * var(--u));
  font-size:calc(19 * var(--u))
}

.faq summary {
  font-weight:700;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:15px;
  line-height:1.2
}

.faq summary::-webkit-details-marker {
  display:none
}

.faq summary:after {
  content:'+';
  font-size:calc(28 * var(--u));
  font-weight:400;
  line-height:.8
}

.faq details[open] summary:after {
  content:'×';
  color:var(--orange)
}

.faq details p {
  font-weight:300;
  line-height:1.28;
  margin-top:calc(12 * var(--u));
  padding-bottom:calc(8 * var(--u))
}

.cta-wrap {
  height:calc(371 * var(--u));
  padding:calc(43 * var(--u)) 0
}

.cta {
  height:calc(285 * var(--u));
  background:var(--orange);
  border-radius:calc(30 * var(--u));
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:calc(43 * var(--u)) calc(56 * var(--u));
  color:#f5f7f7;
  position:relative;
  overflow:hidden
}

.cta h2 {
  font-size:calc(72 * var(--u));
  line-height:1.04;
  margin-top:calc(28 * var(--u))
}

.cta p {
  font-size:calc(15 * var(--u));
  font-weight:300
}

.cta>div:last-of-type {
  position:relative;
  z-index:1;
  width:calc(350 * var(--u))
}

.cta>div:last-of-type p {
  font-size:calc(18 * var(--u));
  line-height:1.4;
  margin-bottom:calc(18 * var(--u))
}

.cta .button {
  width:100%;
  background:var(--ink);
  border-color:var(--ink);
  font-size:calc(23 * var(--u))
}

.cta-arrow {
  position:absolute;
  right:calc(-15 * var(--u));
  bottom:calc(-90 * var(--u));
  font-size:calc(500 * var(--u));
  opacity:.09;
  font-weight:900;
  color:#9e3c00;
  line-height:1
}


.partners {
  height:calc(344 * var(--u));
  background:var(--ink);
  color:#d7dddf;
  border-bottom:1px solid #334149;
  padding-top:calc(47 * var(--u))
}

.partner-logos {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:calc(225 * var(--u));
  margin-top:calc(45 * var(--u))
}

.partner-logos img:first-child {
  width:calc(325 * var(--u));
  height:auto
}

.partner-logos img:last-child {
  width:calc(511 * var(--u));
  height:auto
}

footer {
  background:var(--ink);
  color:#dce1e3
}

.footer-grid {
  height:calc(362 * var(--u));
  display:grid;
  grid-template-columns:calc(390 * var(--u)) calc(610 * var(--u)) calc(150 * var(--u)) 1fr;
  gap:calc(48 * var(--u));
  padding-top:calc(55 * var(--u))
}

.footer-brand p {
  font-size:calc(30 * var(--u));
  line-height:1.05;
  margin-top:calc(35 * var(--u))
}

.footer-brand small {
  display:block;
  font-size:calc(17 * var(--u));
  margin-top:calc(40 * var(--u));
  font-weight:300
}

.footer-grid h3 {
  font-size:calc(27 * var(--u));
  margin-bottom:calc(26 * var(--u))
}

.office-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:calc(25 * var(--u))
}

.office-grid h4 {
  font-size:calc(18 * var(--u));
  line-height:1
}

.office-grid p {
  font-size:calc(16 * var(--u));
  line-height:1.15;
  font-weight:300;
  margin-top:calc(10 * var(--u))
}

.office-grid .text-link {
  font-size:calc(20 * var(--u));
  gap:calc(35 * var(--u));
  margin-top:calc(13 * var(--u));
  padding-bottom:calc(12 * var(--u))
}

.explore>a {
  display:block;
  font-size:calc(18 * var(--u));
  line-height:1.45;
  font-weight:300
}

.explore>a:hover {
  color:var(--orange)
}

.contact>a {
  display:flex;
  align-items:center;
  background:#40545f;
  border-radius:calc(7 * var(--u));
  height:calc(62 * var(--u));
  margin-bottom:calc(27 * var(--u));
  font-size:calc(17 * var(--u));
  white-space:nowrap;
  padding:calc(8 * var(--u));
  gap:calc(26 * var(--u))
}

.contact>a>span {
  width:calc(43 * var(--u));
  height:calc(43 * var(--u));
  background:var(--orange);
  border-radius:calc(6 * var(--u));
  display:grid;
  place-items:center;
  flex-shrink:0;
  font-size:calc(29 * var(--u))
}

.contact b {
  letter-spacing:calc(4 * var(--u));
  font-size:calc(20 * var(--u))
}

.copyright {
  height:calc(59 * var(--u));
  border-top:1px solid #334149;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:calc(16 * var(--u));
  font-weight:300
}


.about-intro {
  height:calc(1090 * var(--u));
  padding-top:calc(50 * var(--u))
}

.about-intro .section-tag,.commitment .section-tag {
  color:var(--orange)
}

.about-grid {
  display:grid;
  grid-template-columns:calc(695 * var(--u)) 1fr;
  gap:calc(60 * var(--u));
  margin-top:calc(75 * var(--u))
}

.about-photo {
  height:calc(596 * var(--u));
  border-radius:calc(22 * var(--u));
  overflow:hidden;
  position:relative
}

.about-photo img {
  position:absolute;
  height:107.4%;
  width:auto;
  max-width:none;
  left:-23.8%;
  top:-7.7%
}

.about-grid h2 {
  font-size:calc(60 * var(--u));
  line-height:1.15
}

.about-grid p {
  font-weight:300;
  font-size:calc(28 * var(--u));
  line-height:1.2;
  margin-top:calc(30 * var(--u))
}

.about-grid p:first-of-type {
  margin-top:calc(20 * var(--u))
}

.about-values {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:calc(90 * var(--u))
}

.about-values article {
  display:flex;
  align-items:center;
  gap:calc(40 * var(--u));
  padding:0 calc(48 * var(--u));
  text-align:center;
  border-right:1px solid var(--orange)
}

.about-values article:last-child {
  border:0
}

.value-icon {
  background:var(--orange);
  color:white;
  border-radius:calc(7 * var(--u));
  width:calc(82 * var(--u));
  height:calc(82 * var(--u));
  flex-shrink:0;
  display:grid;
  place-items:center;
  font-size:calc(48 * var(--u))
}

.about-values h3 {
  font-size:calc(36 * var(--u));
  margin-bottom:calc(24 * var(--u));
  white-space:nowrap
}

.about-values p {
  font-size:calc(25 * var(--u));
  font-weight:300;
  line-height:1.2
}

.commitment {
  height:calc(840 * var(--u));
  padding-top:calc(45 * var(--u))
}

.commitment-grid {
  display:grid;
  grid-template-columns:calc(730 * var(--u)) 1fr;
  gap:calc(116 * var(--u));
  margin-top:calc(90 * var(--u))
}

.commitment-grid>div:first-child {
  padding-top:calc(48 * var(--u))
}

.commitment h2 {
  font-size:calc(60 * var(--u));
  line-height:.99;
  margin-bottom:calc(65 * var(--u))
}

.commitment-grid>div>p {
  font-size:calc(28 * var(--u));
  font-weight:300;
  line-height:1.2;
  margin-top:calc(35 * var(--u));
  max-width:calc(690 * var(--u))
}

.priority-heading {
  text-align:center;
  font-size:calc(32 * var(--u));
  color:#536875;
  margin-bottom:calc(12 * var(--u))
}

.priority-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:calc(26 * var(--u))
}

.priority-grid article {
  height:calc(269 * var(--u));
  padding:calc(44 * var(--u)) calc(42 * var(--u));
  background:var(--ink);
  color:#dfe5e6;
  border-radius:calc(24 * var(--u));
  text-align:center;
  box-shadow:0 0 calc(18 * var(--u)) #0003
}

.priority-grid h3 {
  font-size:calc(30 * var(--u));
  color:var(--orange);
  margin-bottom:calc(29 * var(--u))
}

.priority-grid p {
  font-size:calc(26 * var(--u));
  font-weight:300;
  line-height:1.15
}

.journey {
  height:calc(784 * var(--u));
  background:var(--ink);
  color:#f0f4f5;
  border-bottom:1px solid #2b353b
}

.journey-grid {
  display:grid;
  grid-template-columns:calc(850 * var(--u)) 1fr;
  gap:calc(55 * var(--u));
  padding-top:calc(160 * var(--u))
}

.journey h2 {
  font-size:calc(112 * var(--u));
  line-height:1.05
}

.journey h3 {
  font-size:calc(60 * var(--u));
  line-height:1.24;
  margin-top:calc(68 * var(--u));
  font-weight:900
}

.journey p {
  font-size:calc(28 * var(--u));
  font-weight:300;
  line-height:1.22;
  margin-bottom:calc(32 * var(--u))
}

.journey strong {
  display:block;
  font-size:calc(28 * var(--u));
  margin-top:calc(48 * var(--u))
}

.journey .actions {
  margin-top:calc(60 * var(--u));
  gap:calc(42 * var(--u))
}


/* Dialog is the fourth PDF artboard, scaled to fit the viewport. */
dialog {
  border:0;
  border-radius:calc(24 * var(--u));
  background:white;
  color:#000;
  padding:calc(62 * var(--u)) calc(62 * var(--u)) calc(38 * var(--u));
  width:min(calc(666 * var(--u)),calc(100vw - calc(32 * var(--u))));
  max-height:94vh;
  box-shadow:0 calc(25 * var(--u)) calc(100 * var(--u)) #0003;
  overflow:auto
}

dialog::backdrop {
  background:#1a202549;
  backdrop-filter:blur(calc(9 * var(--u)))
}

dialog h2 {
  font-size:calc(40 * var(--u));
  line-height:1.17;
  font-weight:700
}

dialog p {
  font-size:calc(18 * var(--u));
  font-weight:300
}

.dialog-close {
  position:absolute;
  right:calc(18 * var(--u));
  top:calc(12 * var(--u));
  border:0;
  background:transparent;
  color:#6a7479;
  font-size:calc(28 * var(--u))
}

.order-subtitle {
  margin-top:calc(18 * var(--u))
}

.order-package {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fff0e2;
  padding:calc(28 * var(--u));
  border-radius:calc(9 * var(--u));
  margin:calc(22 * var(--u)) 0 calc(33 * var(--u));
  font-size:calc(22 * var(--u))
}

.order-package>div {
  text-align:right
}

.order-package small {
  display:block;
  font-size:calc(12 * var(--u));
  font-weight:300
}

.order-package>div>b {
  font-size:calc(23 * var(--u))
}

#order-form label {
  font-size:calc(15 * var(--u));
  margin-bottom:calc(6 * var(--u))
}

#order-form input,#order-form textarea {
  font-size:calc(18 * var(--u));
  padding:calc(16 * var(--u)) calc(22 * var(--u));
  border-radius:calc(5 * var(--u));
  margin-bottom:calc(21 * var(--u));
  height:calc(68 * var(--u))
}

#order-form textarea {
  height:calc(117 * var(--u));
  resize:vertical
}

#order-form .order-note {
  font-size:calc(12 * var(--u));
  color:#899196;
  line-height:1.25;
  margin-top:-calc(4 * var(--u));
  margin-bottom:calc(37 * var(--u))
}

#order-form .button {
  width:100%;
  height:calc(68 * var(--u));
  font-size:calc(24 * var(--u));
  border-radius:calc(5 * var(--u));
  padding:0 calc(28 * var(--u))
}

#order-form .order-phone {
  font-size:calc(13 * var(--u));
  color:#5b6267;
  font-weight:300;
  display:block;
  text-align:center;
  margin-top:calc(34 * var(--u))
}

.brochure-list {
  margin:calc(24 * var(--u)) 0;
  display:grid;
  gap:calc(10 * var(--u))
}

.brochure-list button {
  display:flex;
  justify-content:space-between;
  padding:calc(15 * var(--u));
  background:#fff4e9;
  border:calc(1 * var(--u)) solid #ffe0c4;
  border-radius:calc(8 * var(--u));
  font-size:calc(17 * var(--u))
}

.brochure-note {
  line-height:1.5
}

body.modal-open {
  overflow:hidden
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:99;
  background:white;
  color:#111;
  padding:15px;
  font-size:18px
}

.skip-link:focus {
  top:10px
}


@media(min-width:1921px) {
  :root {
  --u:1px
}

.container {
  max-width:1628px
}

.hero .backdrop {
  width:100%;
  left:0;
  top:0;
  height:100%;
  object-fit:cover
}

.coverage .backdrop,.faq .backdrop {
  width:100%;
  left:0;
  top:0;
  height:100%;
  object-fit:cover
}


}


@media(max-width:760px) {
  :root {
  --u:1px
}

body {
  font-size:16px
}

.container {
  width:calc(100% - 40px)
}

.header {
  top:25px
}

.logo {
  width:145px
}

.menu-toggle {
  display:block;
  border:0;
  background:transparent;
  color:white;
  font-size:26px
}

.header nav {
  display:none;
  position:absolute;
  top:51px;
  left:-4px;
  right:-4px;
  background:#141c20f7;
  border:1px solid #40545f;
  border-radius:12px;
  padding:20px;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  font-size:16px
}

.header nav.open {
  display:flex
}

.header nav>.button {
  margin:8px 0 0;
  justify-content:center
}

.button {
  height:46px;
  font-size:14px;
  padding:0 16px;
  gap:18px;
  border-width:1px;
  border-radius:5px
}

.actions {
  gap:14px;
  flex-wrap:wrap
}

.hero {
  height:660px;
  min-height:540px
}

.hero .backdrop {
  height:100%;
  width:100%;
  object-fit:cover;
  left:0;
  top:0
}

.hero-home .backdrop {
  object-position:56% center
}

.hero-about .backdrop {
  object-position:47% center
}

.hero-plans .backdrop {
  object-position:59% center
}

.hero-copy,.hero-plans .hero-copy {
  padding-top:220px
}

.hero h1 {
  font-size:43px;
  letter-spacing:-.7px;
  line-height:1.08
}

.hero-copy p {
  font-size:17px;
  line-height:1.4;
  max-width:360px;
  margin-top:26px
}

.hero-copy p br {
  display:none
}

.hero-copy .actions {
  margin-top:25px
}

.hero-about .hero-copy {
  padding-top:205px
}

.hero-about h1,.hero-plans h1 {
  font-size:40px
}

.hero-plans .hero-copy p {
  margin-top:24px
}

.scroll-down {
  width:18px;
  height:18px;
  border-width:3px;
  bottom:30px
}

.section-tag {
  font-size:15px
}

.section-tag span {
  padding:8px 17px
}

.features {
  height:auto;
  padding:25px 0
}

.feature-grid {
  grid-template-columns:1fr 1fr;
  gap:15px
}

.feature-grid article {
  height:170px;
  padding:22px 8px;
  border-radius:14px;
  border-width:1px;
  box-shadow:0 2px 9px #0001
}

.feature-grid svg {
  width:30px;
  height:30px;
  margin-bottom:17px
}

.feature-grid h3 {
  font-size:17px;
  margin-bottom:12px
}

.feature-grid p {
  font-size:13px
}

.coverage {
  height:auto;
  padding:28px 0 35px
}

.coverage .backdrop {
  height:100%;
  width:100%;
  left:0;
  top:0;
  object-fit:cover;
  object-position:35% center
}

.coverage-grid {
  display:block;
  margin-top:30px
}

.coverage h2 {
  font-size:40px;
  line-height:1.03;
  margin:0
}

.coverage-grid>div>p {
  font-size:17px;
  margin-top:18px
}

.coverage-form {
  height:auto;
  padding:25px 22px;
  margin-top:28px;
  border-radius:14px
}

.coverage-form h3 {
  font-size:23px
}

.coverage-form>p {
  font-size:13px;
  line-height:1.4;
  margin:8px 0 18px
}

.coverage-form label {
  font-size:12px;
  margin:12px 0 6px
}

.coverage-form input {
  height:42px;
  font-size:15px;
  margin:0;
  padding:0 12px;
  border-radius:4px
}

.coverage-submit {
  margin-top:22px;
  gap:14px;
  align-items:flex-start;
  flex-direction:column
}

.coverage-submit .button {
  height:44px
}

.coverage-submit small {
  font-size:11px;
  text-align:left
}

.coverage-submit small br {
  display:none
}

.plans {
  height:auto;
  padding:40px 0
}

.page-home .plans:before {
  width:160px;
  height:3px;
  top:13px
}

.plans-heading {
  display:block;
  margin:35px 0 30px
}

.plans-heading h2 {
  font-size:34px;
  line-height:1.16
}

.plans-heading>div {
  width:auto;
  margin-top:22px
}

.plans-heading p {
  font-size:17px;
  margin-bottom:15px
}

.text-link {
  font-size:17px;
  gap:15px;
  padding-bottom:7px;
  border-width:1px
}

.plans-grid {
  grid-template-columns:1fr;
  gap:22px;
  max-width:440px;
  margin:auto
}

.plan-card {
  height:365px;
  padding:22px 26px;
  border-width:2px;
  border-radius:15px
}

.plan-eyebrow {
  font-size:10px;
  letter-spacing:2px
}

.plan-eyebrow svg {
  font-size:18px;
  margin-right:12px
}

.plan-eyebrow small {
  font-size:12px;
  padding:1px 4px
}

.speed {
  margin-top:22px;
  height:98px;
  gap:12px
}

.speed strong {
  font-size:100px;
  letter-spacing:-3px
}

.speed>div {
  font-size:32px;
  padding-top:16px
}

.speed b {
  font-size:19px
}

.price {
  gap:7px;
  margin-top:9px
}

.price sup {
  font-size:15px
}

.price strong {
  font-size:33px
}

.price span {
  font-size:15px
}

.plan-card ul {
  font-size:11px;
  margin:15px 0 12px;
  line-height:1.8
}

.plan-card li:before {
  width:13px;
  height:13px;
  font-size:10px;
  margin-right:8px
}

.plan-card .button {
  height:42px;
  font-size:15px
}

.terms {
  font-size:10px;
  line-height:1.6;
  margin-top:24px
}

.faq {
  height:auto;
  padding:30px 0 40px
}

.faq .backdrop {
  width:100%;
  height:100%;
  left:0;
  top:0;
  object-fit:cover
}

.faq-grid {
  display:block;
  margin-top:30px
}

.faq-intro h2 {
  font-size:38px;
  margin:0
}

.faq-intro p {
  font-size:17px;
  margin:20px 0
}

.faq-intro .text-link {
  font-size:15px
}

.faq-items {
  margin-top:28px;
  gap:10px
}

.faq details {
  padding:14px 15px;
  font-size:14px;
  border-radius:10px
}

.faq summary {
  line-height:1.35
}

.faq summary:after {
  font-size:22px
}

.faq details p {
  font-size:14px;
  margin-top:12px;
  padding:0;
  line-height:1.45
}

.cta-wrap {
  height:auto;
  padding:25px 0
}

.cta {
  height:auto;
  padding:28px;
  border-radius:20px;
  display:block
}

.cta h2 {
  font-size:38px;
  margin-top:18px
}

.cta p {
  font-size:9px
}

.cta>div:last-of-type {
  width:auto;
  margin-top:28px;
  max-width:300px
}

.cta>div:last-of-type p {
  font-size:14px;
  margin-bottom:15px
}

.cta .button {
  font-size:15px
}

.cta-arrow {
  font-size:300px;
  right:-20px;
  bottom:-35px
}

.partners {
  height:auto;
  padding:30px 0 35px
}

.partner-logos {
  gap:35px;
  margin-top:30px
}

.partner-logos img:first-child {
  width:115px
}

.partner-logos img:last-child {
  width:170px
}

.footer-grid {
  height:auto;
  padding:35px 0;
  grid-template-columns:1fr 1fr;
  gap:35px 20px
}

.footer-brand {
  grid-column:1/-1
}

.footer-brand p {
  font-size:19px;
  margin-top:20px
}

.footer-brand small {
  font-size:11px;
  margin-top:18px
}

.offices {
  grid-column:1/-1
}

.footer-grid h3 {
  font-size:19px;
  margin-bottom:16px
}

.office-grid {
  gap:20px
}

.office-grid h4 {
  font-size:13px
}

.office-grid p {
  font-size:11px;
  line-height:1.4;
  margin-top:8px
}

.office-grid p br {
  display:none
}

.office-grid .text-link {
  font-size:13px;
  gap:15px;
  margin-top:10px;
  padding-bottom:6px
}

.explore>a {
  font-size:13px;
  line-height:1.7
}

.contact {
  margin-left:-15px
}

.contact>a {
  height:36px;
  font-size:9px;
  padding:5px;
  gap:8px;
  border-radius:5px;
  margin-bottom:12px
}

.contact>a>span {
  width:25px;
  height:25px;
  border-radius:4px;
  font-size:17px
}

.contact b {
  font-size:11px;
  letter-spacing:1.5px
}

.copyright {
  height:45px;
  font-size:11px
}

.about-intro,.commitment {
  height:auto;
  padding:35px 0
}

.about-grid {
  grid-template-columns:1fr;
  gap:25px;
  margin-top:30px
}

.about-photo {
  height:285px;
  border-radius:15px
}

.about-photo img {
  width:100%;
  height:100%;
  left:0;
  top:0;
  object-fit:cover
}

.about-grid h2 {
  font-size:31px
}

.about-grid p {
  font-size:16px;
  line-height:1.5;
  margin-top:20px
}

.about-grid p:first-of-type {
  margin-top:16px
}

.about-values {
  grid-template-columns:1fr;
  margin-top:35px;
  gap:25px
}

.about-values article {
  gap:20px;
  padding:0 10px 25px;
  border-right:0;
  border-bottom:1px solid #ff790044;
  text-align:left
}

.value-icon {
  width:52px;
  height:52px;
  border-radius:6px;
  font-size:30px
}

.about-values h3 {
  font-size:21px;
  margin-bottom:10px
}

.about-values p {
  font-size:15px
}

.commitment-grid {
  grid-template-columns:1fr;
  gap:30px;
  margin-top:30px
}

.commitment-grid>div:first-child {
  padding:0
}

.commitment h2 {
  font-size:31px;
  line-height:1.08;
  margin-bottom:24px
}

.commitment-grid>div>p {
  font-size:16px;
  line-height:1.5;
  margin-top:20px;
  max-width:none
}

.priority-heading {
  font-size:21px;
  margin-bottom:16px
}

.priority-grid {
  gap:12px
}

.priority-grid article {
  height:auto;
  min-height:190px;
  padding:25px 15px;
  border-radius:14px
}

.priority-grid h3 {
  font-size:18px;
  margin-bottom:16px
}

.priority-grid p {
  font-size:14px;
  line-height:1.35
}

.journey {
  height:auto;
  padding:45px 0
}

.journey-grid {
  grid-template-columns:1fr;
  padding:0;
  gap:35px
}

.journey h2 {
  font-size:45px
}

.journey h3 {
  font-size:30px;
  margin-top:28px
}

.journey p {
  font-size:16px;
  line-height:1.5;
  margin-bottom:20px
}

.journey strong {
  font-size:16px;
  margin-top:25px
}

.journey .actions {
  gap:12px;
  margin-top:25px
}

dialog {
  padding:40px 25px 25px;
  border-radius:20px
}

dialog h2 {
  font-size:29px
}

.order-subtitle {
  font-size:14px;
  margin-top:15px
}

.order-package {
  padding:18px;
  margin:20px 0 25px;
  font-size:16px
}

.order-package>div>b {
  font-size:18px
}

.order-package small {
  font-size:10px
}

#order-form label {
  font-size:13px
}

#order-form input,#order-form textarea {
  font-size:15px;
  padding:14px;
  height:50px;
  margin-bottom:20px
}

#order-form textarea {
  height:90px
}

#order-form .order-note {
  font-size:11px;
  line-height:1.4;
  margin-bottom:25px
}

#order-form .order-note br {
  display:none
}

#order-form .button {
  font-size:17px;
  height:52px;
  padding:0 18px
}

#order-form .order-phone {
  margin-top:25px;
  font-size:12px
}


}


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

* {
  transition:none!important
}


}




/* Quiet, fixed shortcuts shared by every page. */
.floating-controls {
  position:fixed;
  z-index:40;
  right:max(24px,env(safe-area-inset-right));
  bottom:max(24px,env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.floating-button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  box-shadow:0 3px 12px rgba(20,28,32,.18);
  transition:transform .18s ease,box-shadow .18s ease;
}
.floating-button svg {width:23px;height:23px}
.floating-whatsapp {background:#168a50;color:#fff}
.back-to-top {background:#fff;color:var(--ink);border-color:rgba(20,28,32,.12)}
.back-to-top[hidden] {display:none}
.floating-button:hover {transform:translateY(-2px);box-shadow:0 5px 16px rgba(20,28,32,.23)}
.floating-label {
  position:absolute;
  right:calc(100% + 12px);
  padding:8px 12px;
  border-radius:6px;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  line-height:1.4;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transform:translateX(4px);
  transition:opacity .18s ease,transform .18s ease;
}
.floating-button:hover .floating-label,.floating-button:focus-visible .floating-label {opacity:1;transform:translateX(0)}
.modal-open .floating-controls {visibility:hidden}
@media(max-width:760px) {
  .floating-controls {right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:8px}
  .floating-button {width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .floating-button,.floating-label {transition:none}
}

/* Updated supplied brand assets; preserve their natural aspect ratios. */
.footer-brand .logo { width:calc(130 * var(--u)); height:auto; }
.footer-brand p { margin-top:calc(20 * var(--u)); }
.footer-brand small { margin-top:calc(24 * var(--u)); }
.partner-logos img { object-fit:contain; max-height:calc(120 * var(--u)); }
@media (max-width:760px) {
 .footer-brand .logo { width:110px; }
 .footer-brand p { margin-top:20px; }
 .footer-brand small { margin-top:18px; }
 .partner-logos img { max-height:65px; }
}

/* Three-second introduction, with the real page visible underneath. */
.site-loader { display:none; }
.intro-loading { overflow:hidden; }
.intro-loading .site-loader { display:grid; position:fixed; inset:0; z-index:99999; place-items:center; background:rgba(14,22,28,.65); backdrop-filter:blur(13px); -webkit-backdrop-filter:blur(13px); color:#fff; }
.loader-inner { width:min(280px,75vw); text-align:center; }
.loader-inner img { display:block; width:155px; height:170px; object-fit:contain; margin:0 auto 26px; animation:logo-breathe 1.5s ease-in-out infinite; filter:drop-shadow(0 0 18px #ff790055); }
.loader-inner p { font-size:17px; margin:0 0 22px; letter-spacing:.03em; }
.loader-track { height:3px; border-radius:10px; overflow:hidden; background:#ffffff30; }
.loader-track span { display:block; width:0; height:100%; background:linear-gradient(90deg,#ff7900,#ffbd69); }
.loader-inner output { display:block; margin-top:14px; font-size:24px; font-variant-numeric:tabular-nums; }
@keyframes logo-breathe { 0%,100% { transform:scale(.94); opacity:.8; } 50% { transform:scale(1.04); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .loader-inner img { animation:none; } }
/* REV 2: dimensions from the 1920px reference artboard. */
.header .logo { width:calc(195 * var(--u)); }
.partner-logos { gap:calc(210 * var(--u)); }
.partner-logos img:first-child { width:calc(227 * var(--u)); }
.partner-logos img:last-child { width:calc(210 * var(--u)); max-height:calc(163 * var(--u)); }
.services { position:relative; background:var(--paper); }
.services > .section-tag { position:absolute; top:calc(65 * var(--u)); left:0; right:0; }
.service-row { padding:calc(100 * var(--u)) 0; }
.service-dedicated { padding-top:calc(190 * var(--u)); padding-bottom:calc(80 * var(--u)); }
.service-grid { display:grid; grid-template-columns:calc(695 * var(--u)) 1fr; gap:calc(60 * var(--u)); align-items:start; }
.service-photo { width:100%; height:calc(600 * var(--u)); object-fit:cover; border-radius:calc(22 * var(--u)); }
.service-copy h2 { font-size:calc(60 * var(--u)); line-height:1.13; font-weight:900; letter-spacing:-.025em; margin:0 0 calc(18 * var(--u)); }
.service-copy h3 { font-size:calc(32 * var(--u)); line-height:1.2; color:var(--muted); margin-bottom:calc(28 * var(--u)); }
.service-copy p { font-size:calc(28 * var(--u)); line-height:1.2; font-weight:300; margin:0 0 calc(28 * var(--u)); }
.service-copy .button { font-size:calc(26 * var(--u)); margin-top:calc(15 * var(--u)); }
.service-corporate { background:#41525e; color:var(--paper); padding:calc(110 * var(--u)) 0; }
.service-corporate .service-grid { grid-template-columns:1fr calc(695 * var(--u)); }
.service-corporate .service-photo { grid-column:2; grid-row:1; }
.service-corporate .service-copy { grid-column:1; grid-row:1; }
.service-corporate h3 { color:#c1cdd3; }
.service-umkm { padding-top:calc(80 * var(--u)); padding-bottom:calc(110 * var(--u)); }
.services::after { content:''; display:block; width:44.5%; height:1px; background:var(--orange); margin:auto; }
a,button,input,textarea,summary { transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease; }
.button:hover { transform:translateY(-2px); }
.button:active { transform:translateY(0); }
input:focus,textarea:focus { box-shadow:0 0 0 3px #ff790025; }
dialog[open] { animation:dialog-in .25s ease both; }
@keyframes dialog-in { from { opacity:0; transform:translateY(14px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:760px) {
 .header .logo { width:125px; }
 .partner-logos { gap:55px; }
 .partner-logos img:first-child { width:115px; }
 .partner-logos img:last-child { width:105px; max-height:82px; }
 .services > .section-tag { top:25px; }
 .service-row { padding:40px 0; }
 .service-dedicated { padding-top:95px; }
 .service-grid,.service-corporate .service-grid { grid-template-columns:1fr; gap:25px; }
 .service-corporate .service-photo,.service-corporate .service-copy { grid-column:auto; grid-row:auto; }
 .service-photo { height:280px; border-radius:14px; }
 .service-copy h2 { font-size:30px; line-height:1.15; margin-bottom:12px; }
 .service-copy h3 { font-size:18px; margin-bottom:20px; }
 .service-copy p { font-size:16px; line-height:1.6; margin-bottom:18px; }
 .service-copy .button { font-size:14px; margin-top:5px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.services > .section-tag span { color:var(--orange); border-color:var(--orange); }
