/* Native adaptations of 21st components. Provenance: ../sources/21st/README.md. */
:root{--motion-ui:220ms;--motion-enter:360ms;--header-clearance:106px}
html{scroll-behavior:auto;scroll-padding-top:var(--header-clearance)}
/* scroll-padding already reserves the header; keep only a small extra section gap. */
#tarify,#benefits,#connection,#connection-title,#questions{scroll-margin-top:12px}
.site-header{position:sticky;top:12px;z-index:15;height:72px;margin-top:12px;padding:0 22px;border:1px solid #ffffffc9;border-radius:22px;background:#ffffffd9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);isolation:isolate;gap:24px}
.site-header:before{content:"";position:absolute;inset:-1px;z-index:-1;border:1px solid #dbe1e9;border-radius:inherit;box-shadow:0 10px 28px -18px #1e253049;opacity:0;pointer-events:none;transition:opacity var(--motion-ui) var(--ease)}
.site-header.is-scrolled:before,.site-header:has(.mobile-menu[open]):before{opacity:1}
.site-header .wordmark{flex:none;min-height:44px;align-items:center}
.site-header .brand-logo{width:132px;height:37px}
.site-header .desktop-nav{display:flex;gap:26px;margin-left:auto;font-size:13px}
.desktop-nav>a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
.desktop-nav>a[aria-current="location"]{color:var(--color-action)}
.nav-label{display:block;position:relative;overflow:hidden;line-height:1.5}
.nav-label>span{display:block;transition:transform var(--motion-ui) var(--ease)}
.nav-label>span+span{position:absolute;inset:0;transform:translateY(105%)}
.header-support{gap:6px;color:var(--color-muted)}
.header-actions{display:flex;align-items:center;gap:8px}
.header-cta{min-height:44px;padding:11px 20px;font-size:13px;gap:15px}
.header-cta>span{font-size:19px;line-height:1}
.mobile-menu{display:none;border:0}
.skip{z-index:30}
.hero{padding-top:58px}
.primary{position:relative;overflow:hidden;isolation:isolate;transition:background-color var(--duration) var(--ease),transform 140ms var(--ease)}
/* Sheen Pill's light band + rim, toned down for the existing blue brand. */
.primary:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 15%,#ffffff30 45%,transparent 75%);transform:translateX(-100%);opacity:0;pointer-events:none;transition:transform var(--motion-enter) var(--ease),opacity var(--motion-ui) var(--ease)}
.primary:after{content:"";position:absolute;inset:1px;pointer-events:none;border-radius:inherit;border:1px solid #ffffff20}
.hero-plan{transition:transform var(--motion-ui) var(--ease),border-color var(--motion-ui) var(--ease)}
.hero-plan:focus-within{border-color:#8abaf0}
.connection-visual>figcaption{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;bottom:-12px}
.replay-connection{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--color-muted);padding:10px}
.replay-connection svg{width:19px;height:19px}
.beam-pulse{pointer-events:none;opacity:0;stroke-linecap:round}
.power-orbit{position:relative}
.power-ring{position:absolute;inset:0;border:1px solid #ffffffa6;border-radius:50%;opacity:0;pointer-events:none}
.connection-steps li>b{position:relative;display:flex;align-items:center;justify-content:center;min-width:50px;min-height:50px;border:1px solid #d4e4f8;border-radius:15px;background:#edf4ff;font-size:32px}
@media(hover:hover) and (pointer:fine){
  .desktop-nav>a:hover .nav-label>span:first-child{transform:translateY(-105%)}
  .desktop-nav>a:hover .nav-label>span+span{transform:translateY(0)}
  .primary:hover:before{transform:translateX(20%);opacity:1}
  .hero-plan:hover{transform:translateY(-3px);border-color:#b6cce4}
  .replay-connection:hover{background:#e6ecf4;color:var(--color-action)}
}
@media(max-width:1000px){.site-header{gap:16px;padding-inline:18px}.site-header .desktop-nav{gap:16px;font-size:12px}.site-header .brand-logo{width:118px}.header-cta{padding-inline:16px}}
@media(max-width:899px){
  :root{--header-clearance:94px}
  .site-header{width:calc(100% - 32px);height:64px;top:10px;margin-top:10px;border-radius:19px;padding-inline:14px;gap:12px}
  .site-header .desktop-nav{display:none}
  .header-actions{margin-left:auto}
  .header-cta{font-size:12px;padding-inline:17px;gap:10px}
  .mobile-menu{display:block}
  .mobile-menu>summary{width:44px;height:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#edf0f5}
  .mobile-menu>summary:after{display:none}
  .menu-icon{display:flex;flex-direction:column;gap:5px;width:18px}
  .menu-icon i{height:1.5px;width:18px;background:var(--color-text);display:block;transition:transform var(--motion-ui) var(--ease)}
  .mobile-menu[open] .menu-icon i:first-child{transform:translateY(3.25px) rotate(45deg)}
  .mobile-menu[open] .menu-icon i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .site-header .mobile-nav{position:absolute;top:calc(100% + 8px);left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--color-line);border-radius:19px;padding:12px;box-shadow:0 18px 35px -22px #1e253050;max-height:calc(100dvh - 110px);overflow:auto}
  .site-header .mobile-nav>a{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;min-height:48px;font-size:14px;border-radius:10px}
  .mobile-nav>a>span{color:var(--color-action);font-size:18px}
  .mobile-nav>a:focus-visible{outline-offset:-3px}
  .hero{padding-top:42px}
}
@media(max-width:359px){.site-header{padding-inline:10px;gap:6px}.site-header .brand-logo{width:98px;height:30px}.header-cta{padding-inline:13px}.site-header .mobile-nav>a{display:flex}}
@media(prefers-reduced-motion:reduce){
  button:active{transform:none}
  .hero-plan:hover{transform:none}
  .desktop-nav>a:hover .nav-label>span:first-child{transform:none}
  .desktop-nav>a:hover .nav-label>span+span{transform:translateY(105%)}
  .primary:before,.replay-connection{display:none!important}
}
