/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

    *,
    :before,
    :after,
    ::backdrop {
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-outline-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-font-weight: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-tracking: initial
    }
  }
}

@layer theme {

  :root,
  :host {
    --font-sans: "Plus Jakarta Sans", "Avenir Next", "Segoe UI", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -.025em;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --font-display: "Space Grotesk", "Plus Jakarta Sans", sans-serif
  }
}

@layer base {

  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0
  }

  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit
  }

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

  b,
  strong {
    font-weight: bolder
  }

  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em
  }

  small {
    font-size: 80%
  }

  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative
  }

  sub {
    bottom: -.25em
  }

  sup {
    top: -.5em
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto
  }

  progress {
    vertical-align: baseline
  }

  summary {
    display: list-item
  }

  ol,
  ul,
  menu {
    list-style: none
  }

  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block
  }

  img,
  video {
    max-width: 100%;
    height: auto
  }

  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px
  }

  ::file-selector-button {
    margin-inline-end: 4px
  }

  ::placeholder {
    opacity: 1
  }

  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
    ::placeholder {
      color: currentColor
    }

    @supports (color:color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent)
      }
    }
  }

  textarea {
    resize: vertical
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit
  }

  ::-webkit-datetime-edit {
    display: inline-flex
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0
  }

  ::-webkit-datetime-edit {
    padding-block: 0
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1
  }

  :-moz-ui-invalid {
    box-shadow: none
  }

  button,
  input:where([type=button], [type=reset], [type=submit]) {
    appearance: button
  }

  ::file-selector-button {
    appearance: button
  }

  ::-webkit-inner-spin-button {
    height: auto
  }

  ::-webkit-outer-spin-button {
    height: auto
  }

  [hidden]:where(:not([hidden=until-found])) {
    display: none !important
  }
}

@layer components;

@layer utilities {
  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden
  }

  .fixed {
    position: fixed
  }

  .top-4 {
    top: calc(var(--spacing) * 4)
  }

  .right-5 {
    right: calc(var(--spacing) * 5)
  }

  .bottom-5 {
    bottom: calc(var(--spacing) * 5)
  }

  .left-4 {
    left: calc(var(--spacing) * 4)
  }

  .z-20 {
    z-index: 20
  }

  .z-50 {
    z-index: 50
  }

  .container {
    width: 100%
  }

  @media (min-width:40rem) {
    .container {
      max-width: 40rem
    }
  }

  @media (min-width:48rem) {
    .container {
      max-width: 48rem
    }
  }

  @media (min-width:64rem) {
    .container {
      max-width: 64rem
    }
  }

  @media (min-width:80rem) {
    .container {
      max-width: 80rem
    }
  }

  @media (min-width:96rem) {
    .container {
      max-width: 96rem
    }
  }

  .mx-auto {
    margin-inline: auto
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3)
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4)
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5)
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6)
  }

  .mt-7 {
    margin-top: calc(var(--spacing) * 7)
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8)
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10)
  }

  .button-icon {
    margin-right: calc(var(--spacing) * -3);
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
    background-color: currentColor;
    border-radius: 3.40282e38px;
    flex-shrink: 0;
    place-items: center;
    display: grid
  }

  @supports (color:color-mix(in lab, red, red)) {
    .button-icon {
      background-color: color-mix(in oklab, currentcolor 10%, transparent)
    }
  }

  .button-icon {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .5s;
    --tw-ease: cubic-bezier(.32, .72, 0, 1);
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.32, .72, 0, 1)
  }

  @media (hover:hover) {
    .button-icon:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y)
    }
  }

  .button-icon:is(:where(.group):active *) {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y)
  }

  @media (prefers-reduced-motion:reduce) {
    .button-icon {
      transform: none
    }
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8)
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10)
  }

  .button {
    align-items: center;
    gap: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-ease: cubic-bezier(.32, .72, 0, 1);
    transition-timing-function: cubic-bezier(.32, .72, 0, 1);
    display: inline-flex
  }

  .button:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-offset: 4px;
    outline-width: 2px;
    outline-color: #b94318
  }

  .button:active {
    scale: .98
  }

  @media (prefers-reduced-motion:reduce) {
    .button {
      transform: none
    }
  }

  .icon-btn {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .5s;
    --tw-ease: cubic-bezier(.32, .72, 0, 1);
    border-radius: 3.40282e38px;
    place-items: center;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.32, .72, 0, 1);
    display: grid
  }

  @media (hover:hover) {
    .icon-btn:hover {
      background-color: #e2e8f0b3
    }

    @supports (color:color-mix(in lab, red, red)) {
      .icon-btn:hover {
        background-color: color-mix(in oklab, var(--color-slate-200) 70%, transparent)
      }
    }
  }

  .icon-btn:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: #b94318;
    --tw-outline-style: none;
    outline-style: none
  }

  @media (hover:hover) {
    .icon-btn:where(.dark, .dark *):hover {
      background-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
      .icon-btn:where(.dark, .dark *):hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent)
      }
    }
  }

  .icon-btn:where(.dark, .dark *):focus {
    --tw-ring-color: #ffad87
  }

  .eyebrow {
    align-items: center;
    gap: calc(var(--spacing) * 2);
    text-transform: uppercase;
    display: inline-flex
  }

  .flex {
    display: flex
  }

  .grid {
    display: grid
  }

  .inline-flex {
    display: inline-flex
  }

  .h-12 {
    height: calc(var(--spacing) * 12)
  }

  .w-12 {
    width: calc(var(--spacing) * 12)
  }

  .max-w-6xl {
    max-width: var(--container-6xl)
  }

  .max-w-md {
    max-width: var(--container-md)
  }

  .max-w-xl {
    max-width: var(--container-xl)
  }

  .min-w-0 {
    min-width: 0
  }

  .flex-1 {
    flex: 1
  }

  @media (hover:hover) {

    .button-dark:hover,
    .button-outline:hover,
    .button-primary:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y)
    }
  }

  .rotate-\[-90deg\] {
    rotate: -90deg
  }

  .flex-col {
    flex-direction: column
  }

  .place-items-center {
    place-items: center
  }

  .items-center {
    align-items: center
  }

  .justify-between {
    justify-content: space-between
  }

  .justify-center {
    justify-content: center
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2)
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3)
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4)
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12)
  }

  .mobile-link {
    border-radius: var(--radius-xl);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium)
  }

  @media (hover:hover) {
    .mobile-link:hover {
      background-color: var(--color-slate-100)
    }

    .mobile-link:where(.dark, .dark *):hover {
      background-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
      .mobile-link:where(.dark, .dark *):hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent)
      }
    }
  }

  .rounded-\[1\.5rem\] {
    border-radius: 1.5rem
  }

  .rounded-\[2rem\] {
    border-radius: 2rem
  }

  .rounded-full {
    border-radius: 3.40282e38px
  }

  .rounded-lg {
    border-radius: var(--radius-lg)
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px
  }

  .border-\[\#b94318\] {
    border-color: #b94318
  }

  .border-slate-400 {
    border-color: var(--color-slate-400)
  }

  .bg-\[\#b94318\]\/5 {
    background-color: oklab(54.1448% .126511 .100103/.05)
  }

  .bg-\[\#eeebe2\] {
    background-color: #eeebe2
  }

  .bg-\[\#f7f5ef\] {
    background-color: #f7f5ef
  }

  .bg-\[\#ffad87\] {
    background-color: #ffad87
  }

  .bg-white {
    background-color: var(--color-white)
  }

  .p-2 {
    padding: calc(var(--spacing) * 2)
  }

  .p-6 {
    padding: calc(var(--spacing) * 6)
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4)
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5)
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3)
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5)
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4)
  }

  .font-display {
    font-family: var(--font-display)
  }

  .font-mono {
    font-family: var(--font-mono)
  }

  .font-sans {
    font-family: var(--font-sans)
  }

  .prose-dnet {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8)
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height))
  }

  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height))
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height))
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height))
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height))
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height))
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5)
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6)
  }

  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8)
  }

  .nav-link {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: .5s;
    --tw-ease: cubic-bezier(.32, .72, 0, 1);
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.32, .72, 0, 1)
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium)
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold)
  }

  .tracking-\[-\.05em\] {
    --tw-tracking: -.05em;
    letter-spacing: -.05em
  }

  .tracking-\[-\.045em\] {
    --tw-tracking: -.045em;
    letter-spacing: -.045em
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight)
  }

  .text-balance {
    text-wrap: balance
  }

  .text-\[\#201f1b\] {
    color: #201f1b
  }

  .text-\[\#b94318\] {
    color: #b94318
  }

  .text-red-800 {
    color: var(--color-red-800)
  }

  .text-slate-500 {
    color: var(--color-slate-500)
  }

  .text-slate-600 {
    color: var(--color-slate-600)
  }

  .text-slate-800 {
    color: var(--color-slate-800)
  }

  .text-slate-900 {
    color: var(--color-slate-900)
  }

  .text-slate-950 {
    color: var(--color-slate-950)
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
  }

  .shadow-\[inset_0_1px_1px_\#ffffff90\] {
    --tw-shadow: inset 0 1px 1px var(--tw-shadow-color, #ffffff90);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
  }

  .ring-\[\#b94318\]\/10 {
    --tw-ring-color: oklab(54.1448% .126511 .100103/.1)
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration))
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none
  }

  .selection\:bg-\[\#ffad87\] ::selection {
    background-color: #ffad87
  }

  .selection\:bg-\[\#ffad87\]::selection {
    background-color: #ffad87
  }

  .selection\:text-\[\#201f1b\] ::selection {
    color: #201f1b
  }

  .selection\:text-\[\#201f1b\]::selection {
    color: #201f1b
  }

  @media (hover:hover) {
    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y)
    }
  }

  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible
  }

  .focus\:border-\[\#b94318\]:focus {
    border-color: #b94318
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
  }

  .focus\:ring-\[\#b94318\]:focus {
    --tw-ring-color: #b94318
  }

  .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none
  }

  @media (prefers-reduced-motion:no-preference) {
    .motion-safe\:scroll-smooth {
      scroll-behavior: smooth
    }
  }

  @media (min-width:40rem) {
    .sm\:flex-row {
      flex-direction: row
    }

    .sm\:p-10 {
      padding: calc(var(--spacing) * 10)
    }

    .sm\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height))
    }

    .sm\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height))
    }
  }

  @media (min-width:64rem) {
    .lg\:grid-cols-\[\.9fr_1\.1fr\] {
      grid-template-columns: .9fr 1.1fr
    }
  }

  .dark\:border-slate-600:where(.dark, .dark *) {
    border-color: var(--color-slate-600)
  }

  .dark\:bg-\[\#201f1b\]:where(.dark, .dark *) {
    background-color: #201f1b
  }

  .dark\:bg-\[\#25241f\]:where(.dark, .dark *) {
    background-color: #25241f
  }

  .dark\:bg-\[\#39372e\]:where(.dark, .dark *) {
    background-color: #39372e
  }

  .dark\:bg-white\/5:where(.dark, .dark *) {
    background-color: #ffffff0d
  }

  @supports (color:color-mix(in lab, red, red)) {
    .dark\:bg-white\/5:where(.dark, .dark *) {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent)
    }
  }

  .dark\:text-\[\#ffad87\]:where(.dark, .dark *) {
    color: #ffad87
  }

  .dark\:text-red-300:where(.dark, .dark *) {
    color: var(--color-red-300)
  }

  .dark\:text-slate-200:where(.dark, .dark *) {
    color: var(--color-slate-200)
  }

  .dark\:text-slate-300:where(.dark, .dark *) {
    color: var(--color-slate-300)
  }

  .dark\:text-slate-400:where(.dark, .dark *) {
    color: var(--color-slate-400)
  }

  .dark\:text-white:where(.dark, .dark *) {
    color: var(--color-white)
  }

  .dark\:ring-white\/10:where(.dark, .dark *) {
    --tw-ring-color: #ffffff1a
  }

  @supports (color:color-mix(in lab, red, red)) {
    .dark\:ring-white\/10:where(.dark, .dark *) {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent)
    }
  }

  .\[\&_a\]\:focus-visible\:outline-2 a:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px
  }

  .\[\&_a\]\:focus-visible\:outline-offset-4 a:focus-visible {
    outline-offset: 4px
  }

  .\[\&_a\]\:focus-visible\:outline-\[\#b94318\] a:focus-visible {
    outline-color: #b94318
  }
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 7rem
}

body {
  min-width: 320px;
  margin: 0
}

::selection {
  color: #201f1b;
  background: #ffad87
}

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

  *,
  :before,
  :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important
  }
}

.prose-dnet h2 {
  margin-top: calc(var(--spacing) * 9);
  margin-bottom: calc(var(--spacing) * 2);
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium)
}

.prose-dnet p,
.prose-dnet ul {
  margin-bottom: calc(var(--spacing) * 5)
}

.prose-dnet a {
  color: #b94318;
  text-underline-offset: 4px;
  text-decoration-line: underline
}

.prose-dnet a:where(.dark, .dark *) {
  color: #ffad87
}

:root {
  --paper: #f7f5ef;
  --surface: #fffefa;
  --ink: #26251f;
  --muted: #69675e;
  --line: #d9d6cc;
  --accent: #b94318;
  --wash: #eeebe2
}

.dark {
  --paper: #201f1b;
  --surface: #292822;
  --ink: #f7f5ef;
  --muted: #c2bfb3;
  --line: #4b483e;
  --accent: #ffad87;
  --wash: #302f28
}

body {
  background: var(--paper);
  color: var(--ink)
}

.not-found-page {
  place-items: center;
  min-height: 65dvh;
  padding: 80px 24px;
  display: grid
}

.recharge-section h2,
.recharge-section h3,
.recharge-section label {
  color: var(--ink)
}

.recharge-section>div>div>p:not(.eyebrow),
.legal-article>p:not(.eyebrow) {
  color: var(--muted)
}

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

button,
summary {
  cursor: pointer
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 5px
}

h1,
h2,
h3,
p,
figure {
  margin-block-start: 0
}

.container {
  width: min(100% - 96px, 1240px);
  margin-inline: auto
}

.section {
  padding-block: 100px
}

.section h2 {
  font-family: var(--font-display);
  letter-spacing: -.055em;
  text-wrap: balance;
  font-size: clamp(2.4rem, 4vw, 3.7rem);
  font-weight: 500;
  line-height: 1.08
}

.eyebrow {
  color: var(--accent);
  letter-spacing: .13em;
  background: 0 0;
  border-radius: 0;
  padding: 0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.8
}

.button {
  border-radius: 6px;
  justify-content: center;
  min-height: 50px;
  padding: 14px 22px;
  font-weight: 600;
  transition-duration: .2s
}

.button-primary {
  background: var(--accent);
  color: var(--paper)
}

.button-primary:hover {
  background: #963610
}

.dark .button-primary:hover {
  background: #ffc5a8
}

.button-dark {
  background: var(--ink);
  color: var(--paper)
}

.button-dark:hover {
  background: var(--accent)
}

.button-outline {
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--line)
}

.button-outline:hover {
  background: var(--wash)
}

.text-link {
  align-items: center;
  gap: 12px;
  min-height: 44px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex
}

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

.icon-btn {
  color: var(--ink);
  width: 44px;
  height: 44px
}

.site-header {
  z-index: 30;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0
}

.site-nav {
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  height: 88px;
  display: flex
}

.brand {
  font-family: var(--font-display);
  letter-spacing: -.07em;
  color: var(--ink);
  align-items: center;
  gap: 9px;
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex
}

.brand-mark {
  color: var(--accent);
  transform: rotate(-15deg)
}

.brand-dot {
  color: var(--accent)
}

.desktop-nav,
.nav-actions {
  align-items: center;
  gap: 32px;
  display: flex
}

.nav-actions {
  gap: 14px
}

.nav-link {
  color: var(--muted);
  font-size: 12px
}

.nav-link:hover {
  color: var(--accent)
}

.menu-toggle {
  display: none
}

.mobile-nav {
  padding-bottom: 18px
}

.mobile-link {
  color: var(--ink);
  justify-content: space-between;
  display: flex
}

.hero {
  padding-top: 56px
}

.hero-grid {
  grid-template-columns: 1.12fr 1fr;
  align-items: center;
  gap: 48px;
  display: grid
}

.hero-copy {
  padding-block: 20px
}

.signal-dot {
  background: var(--accent);
  border-radius: 50%;
  width: 6px;
  height: 6px
}

.hero h1 {
  font-family: var(--font-display);
  letter-spacing: -.07em;
  margin-block: 28px;
  font-size: clamp(3.5rem, 6.5vw, 6rem);
  font-weight: 500;
  line-height: 1.02
}

.accent {
  color: var(--accent)
}

.hero-description {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.9
}

.hero-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
  display: flex
}

.hero-price {
  align-items: center;
  gap: 13px;
  margin-top: 42px;
  font-size: 12px;
  display: flex
}

.hero-price-icon {
  border: 1px solid var(--line);
  width: 42px;
  height: 42px;
  color: var(--accent);
  border-radius: 50%;
  place-items: center;
  display: grid
}

.hero-price strong {
  font-weight: 600
}

.hero-price strong span {
  font-weight: 400
}

.hero-price small {
  color: var(--muted);
  margin-top: 5px;
  font-size: 11px;
  display: block
}

.connection-art {
  isolation: isolate;
  color: #403425;
  background: #eddfc8;
  border-radius: 8px;
  min-width: 0;
  height: 488px;
  position: relative;
  overflow: hidden
}

.art-topline {
  letter-spacing: .14em;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  display: flex;
  position: absolute;
  inset: 24px 26px auto;
  text-transform: uppercase;
}

.signal-orbit {
  z-index: -1;
  border: 1px solid #bda78780;
  border-radius: 50%;
  width: 320px;
  height: 260px;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%)rotate(-25deg)
}

.orbit-two {
  width: 460px;
  height: 370px
}

.orbit-three {
  width: 600px;
  height: 480px
}

.orbit-label {
  z-index: 1;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 6px;
  font-size: 10px;
  position: static;
}

.label-work {
  width: fit-content;
  box-shadow: 0 8px 28px #6d513c13;
}

/* Container holding all .label-work elements */
.orbit-labels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  width: 85%;
  max-width: 700px;
  margin: 5.5rem auto 0;
  justify-items: center;
  align-items: center;
}

/* Tablet */
@media (max-width: 768px) {
  .orbit-labels {
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .orbit-label-text {
    font-size: 12px;
  }

  .orbit-labels {
    gap: 15px;
    margin-top: 4rem;
  }
}

.label-play {
  top: 148px;
  right: 22px;
  transform: rotate(8deg)
}

.router-object {
  filter: drop-shadow(15px 25px 15px #69503433);
  width: 232px;
  position: absolute;
  top: 142px;
  left: 50%;
  transform: translate(-50%)rotate(-12deg)
}

.router-top {
  color: #77766d;
  background: linear-gradient(140deg, #fffefb, #e0ddd4);
  border: 1px solid #fff;
  border-radius: 20px 20px 10px 10px;
  justify-content: space-between;
  align-items: center;
  height: 128px;
  padding: 28px;
  display: flex;
  transform: skew(12deg)
}

.router-top>span {
  color: #403d34;
  letter-spacing: -.06em;
  font-size: 23px;
  font-weight: 700
}

.router-front {
  background: linear-gradient(#cecbbf, #e7e4da);
  border-bottom: 2px solid #b8b4a7;
  border-radius: 0 0 14px 14px;
  align-items: center;
  gap: 5px;
  height: 30px;
  margin-top: -8px;
  padding-inline: 18px;
  display: flex;
  transform: translate(12px)skew(-12deg)
}

.router-front>span {
  background: #607442;
  border-radius: 50%;
  width: 3px;
  height: 3px;
  box-shadow: 0 0 4px #759454
}

.router-front small {
  letter-spacing: 1px;
  color: #69675e;
  margin-left: auto;
  font-size: 5px
}

.speed-tag {
  color: #b94318;
  background: #fffefa;
  border-radius: 6px;
  align-items: center;
  gap: 11px;
  padding: 15px 18px;
  display: flex;
  position: absolute;
  bottom: 99px;
  right: 24px;
  transform: rotate(3deg);
  box-shadow: 0 8px 28px #6d513c13
}

/* Mobile */
@media (max-width: 480px) {
  .speed-tag {
    padding: 8px;
  }
}

.speed-tag>span {
  color: #686153;
  font-size: 9px
}

.speed-tag strong {
  color: #28251f;
  font-size: 28px;
  font-family: var(--font-display);
  letter-spacing: -.05em;
  line-height: 1.2;
  display: block
}

.speed-tag strong small {
  letter-spacing: 0;
  font-size: 11px;
  font-weight: 400
}

.speed-bars {
  align-items: end;
  gap: 3px;
  height: 28px;
  margin-left: 12px;
  display: flex
}

.speed-bars i {
  background: #b94318;
  width: 4px;
  height: 30%;
  display: block
}

.speed-bars i:nth-child(2) {
  height: 45%
}

.speed-bars i:nth-child(3) {
  height: 65%
}

.speed-bars i:nth-child(4) {
  height: 80%
}

.speed-bars i:nth-child(5) {
  height: 100%
}

.connection-art figcaption {
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  display: flex;
  position: absolute;
  inset: auto 26px 24px
}

.connection-art figcaption>span {
  letter-spacing: .1em;
  font-size: 8px
}

.connection-art figcaption p {
  font-family: var(--font-display);
  letter-spacing: -.035em;
  font-size: 22px;
  line-height: 1.1
}

.everyday-strip {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 48px;
  padding-block: 32px;
  display: flex
}

.everyday-strip>span {
  letter-spacing: .07em;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.8
}

.everyday-strip strong {
  color: var(--ink);
  font-weight: 500
}

.everyday-strip p {
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex
}

.everyday-strip svg {
  color: var(--accent)
}

.plans-section {
  background: var(--surface);
  border-block: 1px solid var(--line)
}

.section-heading {
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: 48px;
  display: flex
}

.section-heading h2 {
  max-width: 630px;
  margin-top: 18px
}

.section-heading>p {
  max-width: 300px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8
}

.plan-grid {
  border: 1px solid var(--line);
  border-radius: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
  overflow: hidden
}

.plan-card {
  background: var(--surface);
  border-right: 1px solid var(--line);
  flex-direction: column;
  padding: 28px;
  transition: background .2s;
  display: flex
}

.plan-card:last-child {
  border-right: 0
}

.plan-card.selected {
  background: var(--wash);
  box-shadow: inset 0 3px var(--accent)
}

.plan-top {
  align-items: center;
  gap: 10px;
  min-height: 28px;
  display: flex
}

.plan-index {
  color: var(--muted);
  font-family: monospace;
  font-size: 10px
}

.plan-top h3 {
  font-size: 15px;
  font-weight: 600
}

.plan-badge {
  letter-spacing: .07em;
  color: var(--accent);
  margin-left: auto;
  font-size: 10px;
  font-weight: 700
}

.plan-speed {
  letter-spacing: -.07em;
  font-size: 68px;
  line-height: 1;
  font-family: var(--font-display);
  margin-top: 32px
}

.plan-speed span {
  font-family: var(--font-sans);
  color: var(--muted);
  letter-spacing: 0;
  margin-left: 7px;
  font-size: 12px
}

.plan-description {
  min-height: 62px;
  color: var(--muted);
  max-width: 255px;
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.8
}

.plan-card ul {
  border-top: 1px solid var(--line);
  gap: 13px;
  margin-top: 18px;
  padding-block: 25px;
  display: grid
}

.plan-card li {
  align-items: center;
  gap: 10px;
  font-size: 12px;
  display: flex
}

.plan-card li svg {
  color: var(--accent)
}

.plan-bottom {
  margin-top: auto
}

.plan-price {
  font-family: var(--font-display);
  letter-spacing: -.05em;
  margin-top: 12px;
  font-size: 30px
}

.plan-price span {
  font-family: var(--font-sans);
  color: var(--muted);
  letter-spacing: 0;
  margin-left: 6px;
  font-size: 11px
}

.plan-bottom .button {
  justify-content: space-between;
  width: 100%;
  margin-top: 22px;
  font-size: 12px
}

.plan-note {
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  margin-top: 22px;
  display: flex
}

.plan-note p {
  max-width: 630px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.8
}

.plan-note a {
  flex-shrink: 0;
  font-size: 11px
}

.benefits-layout {
  grid-template-columns: 1fr 1.12fr;
  gap: 75px;
  display: grid
}

.lifestyle-art {
  background: var(--wash);
  border-radius: 6px;
  min-height: 380px;
  padding: 35px;
  position: relative;
  overflow: hidden
}

.lifestyle-art>p {
  font-family: var(--font-display);
  letter-spacing: -.05em;
  margin-top: 95px;
  font-size: 43px;
  line-height: 1.12;
  position: relative
}

.lifestyle-art>p span {
  color: var(--accent)
}

.big-signal {
  opacity: .14;
  color: var(--accent);
  position: absolute;
  top: 38px;
  right: -25px;
  transform: rotate(-25deg)
}

.art-bottom {
  letter-spacing: .08em;
  justify-content: space-between;
  align-items: center;
  margin-top: 34px;
  font-size: 8px;
  display: flex
}

.benefit-list article {
  border-top: 1px solid var(--line);
  gap: 24px;
  padding-block: 26px;
  display: flex
}

.benefit-list article:first-child {
  border-top: 0;
  padding-top: 5px
}

.benefit-icon {
  color: var(--accent);
  padding-top: 23px
}

.benefit-list h3 {
  letter-spacing: -.035em;
  margin-block: 8px 10px;
  font-size: 20px;
  font-weight: 500
}

.benefit-list p {
  color: var(--muted);
  max-width: 420px;
  font-size: 13px;
  line-height: 1.85
}

.coverage-section {
  border-top: 1px solid var(--line)
}

.coverage-grid {
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 80px;
  display: grid
}

.coverage-grid h2,
.faq-grid h2 {
  margin-top: 20px
}

.section-description {
  color: var(--muted);
  max-width: 370px;
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.9
}

.coverage-note {
  border-block: 1px solid var(--line);
  gap: 16px;
  margin-block: 28px;
  padding-block: 24px;
  display: flex
}

.coverage-note svg {
  color: var(--accent);
  flex-shrink: 0
}

.coverage-note p {
  font-size: 14px;
  font-weight: 500
}

.coverage-note small {
  color: var(--muted);
  max-width: 320px;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
  display: block
}

.map-frame {
  border: 1px solid var(--line);
  background: var(--wash);
  border-radius: 6px;
  overflow: hidden
}

.map-heading {
  letter-spacing: .08em;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  font-size: 9px;
  display: flex
}

.map-frame iframe {
  filter: grayscale(.7);
  border: 0;
  width: 100%;
  height: 320px
}

.map-frame>p {
  color: var(--muted);
  padding: 14px 20px;
  font-size: 10px
}

.recharge-section {
  background: var(--wash);
  border-block: 1px solid var(--line);
  padding-inline: 48px
}

.recharge-section>div {
  max-width: 1240px
}

.recharge-section form {
  background: var(--surface);
  box-shadow: none;
  border-radius: 6px
}

.recharge-section form>div:first-child {
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px
}

.recharge-section form input {
  border-radius: 4px
}

.recharge-section>div>div:last-child {
  box-shadow: none;
  background: 0 0;
  padding: 0
}

.recharge-section .eyebrow {
  color: var(--accent)
}

.faq-grid {
  grid-template-columns: .8fr 1.2fr;
  gap: 100px;
  display: grid
}

.faq-symbol {
  font-family: var(--font-display);
  color: var(--accent);
  margin-top: 28px;
  font-size: 110px;
  line-height: 1;
  display: block
}

.faq-list details {
  border-top: 1px solid var(--line);
  padding-block: 25px
}

.faq-list details:last-child {
  border-bottom: 1px solid var(--line)
}

.faq-list summary {
  align-items: center;
  gap: 16px;
  min-height: 32px;
  list-style: none;
  display: flex
}

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

.faq-list summary h3 {
  flex: 1;
  font-size: 16px;
  font-weight: 500
}

.faq-list summary svg {
  color: var(--accent);
  flex-shrink: 0;
  transition: transform .2s
}

.faq-list details[open] summary svg {
  transform: rotate(180deg)
}

.faq-list details>p {
  color: var(--muted);
  margin-top: 15px;
  margin-left: 30px;
  font-size: 13px;
  line-height: 1.9
}

.site-footer {
  background: var(--wash);
  border-top: 1px solid var(--line);
  padding-top: 58px
}

.footer-callout {
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding-bottom: 50px;
  display: flex
}

.footer-callout>p {
  font-family: var(--font-display);
  letter-spacing: -.06em;
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  line-height: 1.05
}

.footer-callout>p span {
  color: var(--accent)
}

.footer-arrow {
  border: 1px solid var(--line);
  width: 90px;
  height: 90px;
  color: var(--accent);
  border-radius: 50%;
  place-items: center;
  transition: background .2s;
  display: grid;
  transform: rotate(-35deg)
}

.footer-arrow:hover {
  background: var(--paper)
}

.footer-main {
  justify-content: space-between;
  align-items: center;
  gap: 35px;
  padding-block: 40px;
  display: flex
}

.footer-main p {
  color: var(--muted);
  margin-top: 16px;
  font-size: 12px
}

.footer-main nav {
  gap: 32px;
  font-size: 12px;
  display: flex
}

.site-footer a:hover {
  color: var(--accent)
}

.footer-bottom {
  border-top: 1px solid var(--line);
  color: var(--muted);
  justify-content: space-between;
  gap: 20px;
  padding-block: 24px;
  font-size: 10px;
  display: flex
}

.footer-bottom>div {
  gap: 24px;
  display: flex
}

.legal-page {
  padding: 80px 24px 100px
}

.legal-article {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  max-width: 850px;
  margin: auto;
  padding: 48px
}

.legal-article h1 {
  letter-spacing: -.055em;
  font-size: clamp(2.4rem, 5vw, 4rem)
}

.legal-article h1,
.prose-dnet h2 {
  color: var(--ink)
}

.prose-dnet {
  color: var(--muted)
}

@media (min-width:1500px) {
  .hero {
    padding-top: 80px
  }

  .connection-art {
    height: 530px
  }
}

@media (max-width:1100px) {
  .container {
    width: calc(100% - 64px)
  }

  .hero-grid {
    gap: 30px
  }

  .hero h1 {
    font-size: 6.5vw
  }

  .desktop-nav {
    gap: 20px
  }

  .plan-card {
    padding: 22px
  }

  .benefits-layout,
  .coverage-grid {
    gap: 40px
  }

  .faq-grid {
    gap: 50px
  }

  .recharge-section {
    padding-inline: 32px
  }
}

@media (max-width:767px) {
  .container {
    width: calc(100% - 40px)
  }

  .section {
    padding-block: 64px
  }

  .site-nav {
    height: 72px
  }

  .brand {
    font-size: 28px
  }

  .desktop-nav,
  .recharge-link {
    display: none
  }

  .menu-toggle {
    display: grid
  }

  .nav-actions {
    gap: 4px
  }

  .hero {
    padding-top: 30px
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 34px
  }

  .hero h1 {
    margin-block: 24px;
    font-size: clamp(3.6rem, 10.9vw, 5.8rem)
  }

  .hero-copy {
    padding-block: 12px 0
  }

  .hero .eyebrow {
    letter-spacing: .08em;
    font-size: 8px
  }

  .hero-description {
    font-size: 15px
  }

  .hero-actions {
    gap: 18px;
    margin-top: 25px
  }

  .hero-actions .button {
    padding-inline: 18px;
    font-size: 12px
  }

  .hero-price {
    margin-top: 26px
  }

  .connection-art {
    height: 425px
  }

  .router-object {
    top: 115px
  }

  .label-work {
    top: 82px
  }

  .label-play {
    top: 125px
  }

  .everyday-strip {
    grid-template-columns: 1fr 1fr;
    gap: 25px 18px;
    margin-top: 30px;
    padding-block: 26px;
    display: grid
  }

  .everyday-strip p {
    gap: 9px;
    font-size: 10px
  }

  .everyday-strip>span {
    font-size: 8px
  }

  .everyday-strip svg {
    flex-shrink: 0;
    width: 17px
  }

  .section-heading {
    margin-bottom: 30px;
    display: block
  }

  .section-heading>p {
    max-width: 430px;
    margin-top: 20px
  }

  .plan-grid {
    grid-template-columns: 1fr
  }

  .plan-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 28px
  }

  .plan-card:last-child {
    border-bottom: 0
  }

  .plan-speed {
    margin-top: 25px
  }

  .plan-description {
    max-width: none;
    min-height: 0
  }

  .plan-card ul {
    margin-top: 20px
  }

  .plan-note {
    display: block
  }

  .plan-note a {
    margin-top: 8px
  }

  .benefits-layout,
  .coverage-grid,
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 34px
  }

  .lifestyle-art {
    min-height: 360px;
    padding: 28px
  }

  .lifestyle-art>p {
    margin-top: 75px
  }

  .benefit-list article {
    padding-block: 24px
  }

  .coverage-grid h2 {
    font-size: 2.5rem
  }

  .map-frame iframe {
    height: 300px
  }

  .recharge-section {
    padding-inline: 20px
  }

  .recharge-section form {
    padding: 24px
  }

  .recharge-section form>div:first-child {
    gap: 10px
  }

  .recharge-section form h3 {
    font-size: 18px
  }

  .recharge-section form>div:first-child>span {
    font-size: 9px
  }

  .faq-symbol {
    display: none
  }

  .faq-list summary h3 {
    font-size: 14px
  }

  .footer-callout {
    gap: 20px
  }

  .footer-callout>p {
    font-size: 2.7rem
  }

  .footer-arrow {
    flex-shrink: 0;
    width: 58px;
    height: 58px
  }

  .footer-arrow svg {
    width: 28px
  }

  .footer-main {
    flex-direction: column;
    align-items: start
  }

  .footer-main nav {
    flex-wrap: wrap;
    gap: 24px
  }

  .footer-bottom {
    flex-direction: column;
    gap: 16px
  }

  .legal-page {
    padding: 40px 20px 64px
  }

  .legal-article {
    padding: 26px
  }
}

[hidden] {
  display: none !important
}

@media (min-width:768px) {
  #mobile-navigation {
    display: none
  }
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}