/* REBORN NEXUS · Color System 01. Native CSS;
no runtime dependencies. */
:root {
  --cobalt:#0066FF;
  --navy:#0A1F44;
  --cyan:#00E5FF;
  --silver:#C9D1D9;
  --white:#FAFBFD;
  --ink:var(--navy);
  --ink-2:#485870;
  --ink-3:#596980;
  --line:#dce3ec;
  --paper:#fff;
  --tint:#f0f5fc;
  --r:6px;
  --wrap:1280px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
  -webkit-text-size-adjust:100%
}
body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  font-size:17px;
  line-height:1.75;
  word-break:keep-all;
  overflow-wrap:anywhere
}
img,svg,canvas {
  display:block;
  max-width:100%
}
button,input {
  font:inherit
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}
a {
  color:#0059df;
  text-decoration:none
}
a:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
h1,h2,h3 {
  margin:0;
  color:var(--navy);
  line-height:1.24;
  letter-spacing:-.045em;
  text-wrap:balance
}
p {
  margin:0
}
h1,h2 {
  font-weight:550
}
h3 {
  font-weight:650
}
::selection {
  background:#d5e7ff;
  color:var(--navy)
}
[hidden] {
  display:none!important
}
:focus-visible {
  outline:3px solid var(--cobalt);
  outline-offset:5px
}
.wrap {
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:48px
}
.wrap>* {
  min-width:0
}
.skip {
  position:fixed;
  left:16px;
  top:-90px;
  padding:12px 20px;
  background:var(--navy);
  color:#fff;
  z-index:40
}
.skip:focus {
  top:12px
}
/* Layers: sticky header 20;
skip link 40. */
.wm {
  display:inline-flex;
  align-items:baseline;
  gap:7px;
  color:var(--navy);
  font-size:22px;
  letter-spacing:-.025em;
  line-height:1;
  white-space:nowrap
}
.wm:hover {
  text-decoration:none
}
.wm b {
  font-weight:850
}
.wm span {
  font-weight:300
}
.wm i {
  font-style:normal;
  font-weight:550;
  background:linear-gradient(135deg,var(--cobalt),var(--cyan));
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent
}
.wm-light {
  color:#fff
}
.top {
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid var(--line);
  background:var(--white)
}
.top-in {
  height:84px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px
}
.nav {
  display:flex;
  align-items:center;
  gap:25px;
  font-size:13px;
  font-weight:550
}
.nav a:not(.btn) {
  color:var(--ink-2);
  padding-block:30px;
  position:relative
}
.nav a:not(.btn):hover {
  color:var(--cobalt);
  text-decoration:none
}
.nav a[aria-current]::after {
  content:"";
  position:absolute;
  bottom:18px;
  left:0;
  right:0;
  height:2px;
  background:var(--cobalt)
}
.menu-t,.menu-b {
  display:none
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:52px;
  padding:12px 23px;
  border:1px solid var(--cobalt);
  border-radius:var(--r);
  background:var(--cobalt);
  color:#fff;
  font-size:15px;
  font-weight:650;
  line-height:1.5;
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s
}
.btn:hover {
  background:#0057d9;
  border-color:#0057d9;
  text-decoration:none;
  transform:translateY(-2px)
}
.btn:active {
  transform:translateY(0)
}
.btn-ghost {
  background:transparent;
  color:var(--navy);
  border-color:var(--silver)
}
.btn-ghost:hover {
  background:#eaf2ff;
  color:var(--navy);
  border-color:#8eafdf
}
.btn-sm {
  min-height:40px;
  padding:9px 16px;
  font-size:13px
}
.btn-light {
  background:#fff;
  border-color:#fff;
  color:var(--navy)
}
.btn-light:hover {
  background:#e6f0ff;
  color:var(--navy);
  border-color:#e6f0ff
}
.btns {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
.btn:disabled {
  background:#e3e8f0;
  border-color:#e3e8f0;
  color:#5d6b80;
  cursor:not-allowed;
  transform:none
}
section {
  padding:112px 0
}
.label {
  font-size:11px;
  font-weight:650;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#0059df;
  margin-bottom:22px
}
.h2 {
  font-size:clamp(29px,3.2vw,44px);
  font-weight:550
}
.lead {
  font-size:18px;
  line-height:1.85;
  color:var(--ink-2);
  max-width:640px;
  margin-top:24px
}
.sec-head {
  margin-bottom:48px
}
.alt {
  background:#fff;
  border-block:1px solid var(--line)
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px
}
.text-link {
  font-size:15px;
  font-weight:650;
  white-space:nowrap;
  padding-block:10px;
  border-bottom:1px solid var(--silver)
}
.hero {
  position:relative;
  overflow:hidden;
  padding:76px 0 64px;
  background:#fff
}
.hero-in {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:0;
  align-items:center;
  min-height:530px
}
.hero-copy {
  position:relative;
  z-index:1
}
.hero h1 {
  font-size:clamp(38px,4.45vw,64px);
  font-weight:530;
  letter-spacing:-.065em;
  line-height:1.22
}
.hero h1 em {
  font-style:normal;
  color:var(--cobalt)
}
.hero .lead {
  font-size:17px;
  max-width:500px;
  margin:28px 0 32px
}
.tagline {
  font-size:11px;
  color:var(--ink-3);
  letter-spacing:.045em;
  margin-top:52px
}
.globe {
  position:relative;
  aspect-ratio:1;
  width:116%;
  max-width:650px;
  justify-self:center;
  pointer-events:none
}
.globe::before {
  content:"";
  position:absolute;
  inset:12%;
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#f9fcff,#eaf3ff 55%,#fff 73%);
  opacity:.7
}
.globe canvas {
  position:relative;
  width:100%;
  height:100%
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid var(--line);
  margin-top:40px;
  padding-top:22px;
  color:var(--ink-3);
  font-size:11px;
  letter-spacing:.16em
}
.hero-bottom span:last-child {
  color:#0059df
}
.biz3 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.card {
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:32px;
  background:var(--paper);
  color:var(--ink);
  transition:border-color .2s,transform .2s
}
.card h3 {
  font-size:25px;
  margin:30px 0 10px
}
.card .en {
  font-size:10px;
  letter-spacing:.15em;
  color:var(--ink-3);
  font-weight:650
}
.card p {
  font-size:16px;
  color:var(--ink-2);
  margin:24px 0 32px
}
.card .more {
  font-size:14px;
  color:#0059df;
  font-weight:650;
  margin-top:auto
}
.card .no {
  display:none
}
a.card:hover {
  text-decoration:none;
  border-color:#7caaf0;
  transform:translateY(-3px)
}
.state {
  align-self:start;
  font-size:11px;
  letter-spacing:.03em;
  color:var(--ink-2)
}
.state::before {
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--cobalt);
  margin-right:7px;
  vertical-align:middle
}
.state.soon::before {
  background:#8190a5
}
.business-grid {
  grid-template-columns:1.35fr 1fr 1fr
}
.business-grid .card:first-child {
  background:var(--navy);
  border-color:var(--navy);
  padding-block:40px
}
.business-grid .card:first-child h3 {
  color:#fff;
  font-size:31px
}
.business-grid .card:first-child :is(.en,p,.state) {
  color:#c2d0e5
}
.business-grid .card:first-child .more {
  color:#fff
}
.business-grid .card:first-child .state::before {
  background:var(--cyan)
}
.business-grid .card:last-child {
  background:var(--white)
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:88px;
  align-items:start
}
.checks {
  list-style:none;
  margin:28px 0 0;
  padding:0;
  display:grid;
  gap:14px
}
.checks li {
  position:relative;
  padding-left:25px;
  color:var(--ink-2);
  font-size:16px
}
.checks li::before {
  content:"";
  position:absolute;
  left:2px;
  top:10px;
  width:10px;
  height:5px;
  border-left:1.5px solid var(--cobalt);
  border-bottom:1.5px solid var(--cobalt);
  transform:rotate(-45deg)
}
.steps {
  display:grid;
  grid-template-columns:repeat(var(--n,3),minmax(0,1fr));
  gap:0;
  counter-reset:step;
  border-top:1px solid var(--silver)
}
.step {
  position:relative;
  counter-increment:step;
  padding:28px 28px 20px 0
}
.step::before {
  content:counter(step,decimal-leading-zero);
  display:block;
  font-size:11px;
  font-weight:650;
  letter-spacing:.08em;
  color:#0059df;
  margin-bottom:22px
}
.step h3 {
  font-size:21px;
  margin-bottom:12px;
  letter-spacing:-.035em
}
.step p {
  font-size:16px;
  color:var(--ink-2)
}
.split .step {
  padding:26px 0 26px 52px;
  border-bottom:1px solid var(--line)
}
.split .step::before {
  position:absolute;
  left:0;
  top:28px
}
.split .step h3 {
  font-size:22px
}
.social-section {
  padding-block:128px
}
.social-section .h2 {
  font-size:clamp(32px,3.65vw,50px)
}
.plans {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.plan {
  padding:32px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:#fff
}
.plan.main {
  border-color:var(--cobalt);
  background:#f2f7ff
}
.plan h3 {
  font-size:19px
}
.plan .price {
  font-size:37px;
  font-weight:550;
  letter-spacing:-.045em;
  margin-top:26px;
  color:var(--navy)
}
.plan .price small {
  font-size:14px;
  color:var(--ink-3);
  font-weight:400;
  margin-left:6px;
  letter-spacing:0
}
.plan p {
  font-size:15px;
  color:var(--ink-2);
  margin-top:20px
}
.note {
  margin-top:24px;
  font-size:14px;
  color:var(--ink-3)
}
.free {
  margin-top:24px;
  padding:28px 32px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:var(--tint);
  border-radius:var(--r)
}
.free strong {
  font-size:20px
}
.free p {
  font-size:15px
}
.dark {
  position:relative;
  overflow:hidden;
  background:var(--navy);
  color:#c9d6ea
}
.dark :is(h1,h2,h3) {
  color:#fff
}
.dark .label {
  color:var(--cyan)
}
.dark .lead {
  color:#c0cde0;
  max-width:600px
}
.dark .wrap {
  position:relative
}
.dark-globe {
  position:absolute;
  right:-100px;
  top:50%;
  width:650px;
  height:650px;
  transform:translateY(-50%);
  opacity:.65;
  pointer-events:none
}
.road {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:56px
}
.road div {
  padding:28px;
  background:var(--navy);
  border-top:1px solid #50617c
}
.road span {
  font-size:11px;
  letter-spacing:.12em;
  color:var(--cyan)
}
.road b {
  display:block;
  font-size:21px;
  font-weight:550;
  margin:18px 0 12px;
  color:#fff
}
.road p {
  font-size:15px;
  color:#c0cde0
}
.values {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-block:1px solid var(--line)
}
.values div {
  padding:32px 24px 32px 0
}
.values div+div {
  padding-left:24px;
  border-left:1px solid var(--line)
}
.values b {
  font-size:12px;
  letter-spacing:.12em
}
.values span {
  display:block;
  font-size:13px;
  color:var(--ink-3);
  margin-top:8px
}
.values p {
  font-size:15px;
  color:var(--ink-2);
  margin-top:26px
}
.cta {
  text-align:left
}
.cta .wrap {
  position:relative
}
.cta .lead {
  margin:24px 0 30px
}
.cta .h2 {
  max-width:820px
}
.page-head {
  padding:90px 0 80px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(110deg,#fff 58%,#edf4ff)
}
.page-head h1 {
  font-size:clamp(36px,4.5vw,60px);
  font-weight:530
}
.page-head .lead {
  max-width:700px
}
.page-head .btns {
  margin-top:32px
}
.faq {
  border-top:1px solid var(--silver);
  max-width:940px;
  margin-left:auto
}
.faq details {
  border-bottom:1px solid var(--line)
}
.faq summary {
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:25px 48px 25px 0;
  font-weight:550;
  font-size:18px;
  line-height:1.6
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary::after {
  content:"+";
  position:absolute;
  right:8px;
  top:22px;
  font-size:24px;
  font-weight:300;
  color:#0059df
}
.faq details[open] summary::after {
  content:"−"
}
.faq details p {
  padding:0 48px 28px 0;
  color:var(--ink-2);
  font-size:16px;
  max-width:800px
}
.legal {
  max-width:900px;
  padding:64px 48px 112px
}
.legal h2 {
  font-size:22px;
  margin:44px 0 16px;
  font-weight:650
}
.legal p,.legal li {
  font-size:16px;
  line-height:1.9;
  color:var(--ink-2)
}
.legal p+p {
  margin-top:12px
}
.legal ol,.legal ul {
  padding-left:24px
}
.legal table {
  border-collapse:collapse;
  table-layout:fixed;
  width:100%;
  font-size:14px;
  margin-block:20px
}
.legal th,.legal td {
  text-align:left;
  vertical-align:top;
  border:1px solid var(--line);
  padding:13px
}
.legal th {
  background:var(--tint);
  font-weight:600
}
.legal .meta {
  font-size:14px;
  color:var(--ink-3)
}
.facts {
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  border-top:1px solid var(--navy);
  margin:0
}
.facts dt,.facts dd {
  margin:0;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  font-size:15px
}
.facts dt {
  font-weight:600
}
.facts dd {
  color:var(--ink-2)
}
/* Store: featured row, then three compact product cards. */
.skus {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:20px
}
.sku {
  grid-column:span 2;
  position:relative;
  display:flex;
  flex-direction:column;
  padding:32px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:#fff;
  transition:border-color .2s,transform .2s
}
.sku:nth-child(-n+2) {
  grid-column:span 3
}
.sku:hover {
  border-color:#94b4e4;
  transform:translateY(-3px)
}
.sku-best {
  background:#f0f6ff;
  border-color:#9cbdf1
}
.sku-flag {
  align-self:start;
  font-size:11px;
  font-weight:600;
  color:#0059df;
  margin-bottom:18px
}
.sku-en {
  font-size:10px;
  letter-spacing:.12em;
  color:var(--ink-3);
  margin-bottom:16px
}
.sku-name {
  font-size:26px;
  font-weight:600
}
.sku-short {
  margin-top:14px;
  color:var(--ink-2);
  font-size:15px;
  min-height:53px
}
.sku-price {
  font-size:16px;
  margin:26px 0 24px;
  color:var(--navy);
  letter-spacing:-.02em
}
.sku-price b {
  font-size:38px;
  font-weight:550;
  letter-spacing:-.055em;
  margin-right:3px;
  font-variant-numeric:tabular-nums
}
.sku-price small {
  font-size:13px;
  letter-spacing:0;
  color:var(--ink-3);
  margin-left:8px
}
.sku-points {
  list-style:none;
  padding:23px 0 26px;
  margin:0;
  border-top:1px solid var(--line);
  font-size:14px;
  color:var(--ink-2)
}
.sku-points li {
  position:relative;
  padding-left:16px;
  margin-bottom:8px
}
.sku-points li::before {
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:4px;
  height:4px;
  background:var(--cobalt)
}
.sku-buy {
  margin-top:auto;
  width:100%
}
.sku:nth-child(2):not(.sku-best) {
  padding-top:69px
}
/* Checkout keeps the original IDs and payment state machine. */
.checkout {
  padding:88px 0 112px;
  min-height:680px
}
.co-in {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:88px;
  align-items:start;
  max-width:1140px
}
.co-item {
  padding-block:30px
}
.co-short {
  color:var(--ink-2);
  margin-top:22px;
  font-size:18px
}
.co-price {
  margin-top:40px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
  font-size:20px
}
.co-price b {
  font-size:52px;
  font-weight:500;
  letter-spacing:-.055em;
  font-variant-numeric:tabular-nums
}
.co-price small {
  font-size:14px;
  color:var(--ink-3)
}
.co-back {
  margin-top:28px;
  font-size:14px
}
.co-form {
  padding:36px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 8px 28px #0a1f4406
}
.co-title {
  font-size:24px;
  margin-bottom:30px;
  font-weight:600
}
.fld {
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:10px
}
.inp {
  width:100%;
  min-height:54px;
  padding:14px;
  border:1px solid #a8b5c7;
  border-radius:4px;
  background:#fff;
  color:var(--navy);
  font-size:16px
}
.inp::placeholder {
  color:#738098
}
.hint {
  font-size:12px;
  line-height:1.8;
  color:var(--ink-3);
  margin-top:12px
}
.agree {
  display:flex;
  align-items:start;
  gap:12px;
  margin-block:28px;
  font-size:13px;
  line-height:1.85;
  cursor:pointer
}
.agree input {
  flex:none;
  margin:4px 0 0;
  width:18px;
  height:18px;
  accent-color:var(--cobalt)
}
.agree a {
  text-decoration:underline;
  text-underline-offset:3px
}
.co-pay {
  width:100%;
  min-height:54px
}
.co-err {
  padding:14px;
  margin-bottom:20px;
  border:1px solid #e4b6b6;
  background:#fff4f4;
  color:#992b2b;
  font-size:14px;
  border-radius:4px
}
.foot {
  background:var(--navy);
  color:#bdcbe0;
  padding:64px 0 32px;
  font-size:13px
}
.foot a {
  color:#dce6f5
}
.foot-top {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding-bottom:36px;
  border-bottom:1px solid #314564
}
.foot-nav {
  display:flex;
  flex-wrap:wrap;
  gap:14px 26px
}
.foot-nav a {
  padding-block:8px
}
.foot-nav b {
  color:#fff;
  font-weight:600
}
.biz {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 40px;
  margin:32px 0
}
.biz div {
  display:flex;
  gap:16px
}
.biz dt {
  flex:none;
  min-width:128px;
  color:#9fb1cc
}
.biz dd {
  margin:0
}
.copy {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid #314564;
  font-size:11px;
  letter-spacing:.025em;
  color:#9fb1cc
}
@media(min-width:1100px) {
  .cta .btns {
    position:absolute;
    right:48px;
    bottom:0
  }
  .cta .lead {
    max-width:540px
  }
  .cta:has(.btns:only-child) .btns {
    position:static
  }
}
@media(max-width:1100px) {
  .wrap {
    padding-inline:32px
  }
  .nav {
    gap:16px;
    font-size:12px
  }
  .top-in {
    gap:20px
  }
  .wm {
    font-size:20px
  }
  .split,.co-in {
    gap:48px
  }
  .sku {
    padding:26px
  }
  .business-grid {
    grid-template-columns:1.2fr 1fr 1fr
  }
  .card {
    padding:26px
  }
}
@media(max-width:960px) {
  .top-in {
    height:72px
  }
  .menu-b {
    display:flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    cursor:pointer
  }
  .menu-b span,.menu-b span::before,.menu-b span::after {
    display:block;
    position:relative;
    width:22px;
    height:1.5px;
    background:var(--navy);
    content:"";
    transition:transform .2s
  }
  .menu-b span::before {
    position:absolute;
    top:-7px
  }
  .menu-b span::after {
    position:absolute;
    top:7px
  }
  .menu-t {
    display:block;
    position:absolute;
    right:32px;
    width:44px;
    height:44px;
    opacity:0;
    cursor:pointer
  }
  .menu-t:focus-visible+.menu-b {
    outline:3px solid var(--cobalt);
    outline-offset:3px
  }
  .menu-t:checked+.menu-b span {
    background:transparent
  }
  .menu-t:checked+.menu-b span::before {
    top:0;
    transform:rotate(45deg)
  }
  .menu-t:checked+.menu-b span::after {
    top:0;
    transform:rotate(-45deg)
  }
  .nav {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    max-height:calc(100dvh - 72px);
    overflow-y:auto;
    padding:12px 32px 28px;
    background:var(--white);
    border-bottom:1px solid var(--silver);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    font-size:15px
  }
  .nav a:not(.btn) {
    padding:16px 0;
    border-bottom:1px solid var(--line)
  }
  .nav a[aria-current] {
    color:#0059df
  }
  .nav a[aria-current]::after {
    display:none
  }
  .nav .btn {
    margin-top:20px
  }
  .menu-t:checked~.nav {
    display:flex
  }
  section {
    padding-block:80px
  }
  .hero {
    padding-top:56px
  }
  .hero-in {
    min-height:450px
  }
  .hero h1 {
    font-size:42px
  }
  .hero .lead {
    font-size:16px
  }
  .hero .btns {
    gap:8px
  }
  .hero .btn {
    padding-inline:15px;
    font-size:13px
  }
  .business-grid {
    grid-template-columns:1fr 1fr
  }
  .business-grid .card:first-child {
    grid-column:1/-1
  }
  .business-grid .card:first-child p {
    max-width:620px
  }
  .split {
    gap:40px
  }
  .plans {
    gap:12px
  }
  .plan {
    padding:24px
  }
  .plan .price {
    font-size:30px
  }
  .values {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .values div:nth-child(3) {
    padding-left:0;
    border-left:0
  }
  .values div:nth-child(n+3) {
    border-top:1px solid var(--line)
  }
  .skus {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .sku,.sku:nth-child(-n+2) {
    grid-column:auto
  }
  .sku:last-child {
    grid-column:1/-1
  }
  .sku:nth-child(2):not(.sku-best) {
    padding-top:63px
  }
  .co-in {
    gap:40px
  }
  .co-form {
    padding:28px
  }
  .biz {
    grid-template-columns:1fr
  }
  .dark-globe {
    right:-240px;
    opacity:.3
  }
  .social-section {
    padding-block:90px
  }
}
@media(max-width:700px) {
  .wrap {
    padding-inline:24px
  }
  body {
    font-size:16px
  }
  section {
    padding-block:64px
  }
  .top-in {
    height:68px
  }
  .nav {
    top:68px;
    padding-inline:24px;
    max-height:calc(100dvh - 68px)
  }
  .menu-t {
    right:24px
  }
  .hero {
    padding:48px 0 30px
  }
  .hero-in {
    grid-template-columns:1fr;
    min-height:0
  }
  .hero h1 {
    font-size:clamp(34px,8.8vw,52px)
  }
  .hero .lead {
    margin:24px 0 28px;
    max-width:480px;
    font-size:16px
  }
  .hero .btn {
    min-height:50px;
    font-size:14px
  }
  .hero .btns {
    gap:10px
  }
  .tagline {
    margin-top:28px;
    font-size:10px
  }
  .globe {
    width:100%;
    max-width:420px;
    margin:6px auto -12px;
    aspect-ratio:1.15
  }
  .hero-bottom {
    margin-top:0;
    font-size:9px;
    gap:12px
  }
  .hero-bottom span:last-child {
    display:none
  }
  .h2 {
    font-size:31px
  }
  .lead {
    font-size:16px;
    margin-top:20px
  }
  .label {
    margin-bottom:18px;
    font-size:10px
  }
  .sec-head {
    margin-bottom:32px
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
    gap:16px
  }
  .biz3,.business-grid,.split,.plans,.road,.co-in {
    grid-template-columns:1fr;
    gap:24px
  }
  .business-grid .card:first-child {
    grid-column:auto
  }
  .card,.business-grid .card:first-child {
    padding:28px
  }
  .card h3 {
    margin-top:24px
  }
  .business-grid .card:first-child h3 {
    font-size:30px
  }
  .card p {
    margin:20px 0 24px
  }
  .split {
    gap:40px
  }
  .social-section {
    padding-block:72px
  }
  .social-section .h2 {
    font-size:34px
  }
  .steps {
    grid-template-columns:1fr
  }
  .step {
    padding:24px 0;
    border-bottom:1px solid var(--line)
  }
  .step::before {
    margin-bottom:12px
  }
  .step h3 {
    font-size:20px
  }
  .step p {
    font-size:15px
  }
  .split .step {
    padding-left:36px
  }
  .split .step h3 {
    font-size:20px
  }
  .checks li {
    font-size:15px
  }
  .plan {
    padding:28px
  }
  .plan .price {
    font-size:36px;
    margin-top:16px
  }
  .free {
    padding:24px
  }
  .dark-globe {
    width:520px;
    height:520px;
    right:-300px;
    opacity:.22
  }
  .road {
    gap:20px;
    margin-top:36px
  }
  .road div {
    padding:24px 0;
    background:transparent
  }
  .values div {
    padding:24px 18px 24px 0
  }
  .values div+div {
    padding-left:18px
  }
  .values b {
    font-size:10px
  }
  .values span {
    font-size:11px
  }
  .values p {
    font-size:14px;
    margin-top:20px
  }
  .page-head {
    padding:56px 0
  }
  .page-head h1 {
    font-size:38px
  }
  .page-head .lead {
    font-size:17px
  }
  .faq summary {
    font-size:16px;
    padding-block:22px
  }
  .faq details p {
    font-size:15px;
    padding-right:20px
  }
  .legal {
    padding:40px 24px 72px
  }
  .legal table {
    font-size:12px
  }
  .legal th,.legal td {
    padding:8px
  }
  .facts {
    grid-template-columns:110px minmax(0,1fr)
  }
  .facts dt,.facts dd {
    font-size:14px
  }
  .skus {
    grid-template-columns:1fr;
    gap:16px
  }
  .sku,.sku:nth-child(2):not(.sku-best) {
    padding:28px
  }
  .sku:last-child {
    grid-column:auto
  }
  .sku-short {
    min-height:0
  }
  .sku-name {
    font-size:26px
  }
  .sku-price {
    margin-block:22px
  }
  .sku-price b {
    font-size:38px
  }
  .sku-points {
    padding-block:20px
  }
  .sku-buy {
    min-height:50px
  }
  .checkout {
    padding:40px 0 64px;
    min-height:0
  }
  .co-in {
    gap:32px
  }
  .co-item {
    padding:0
  }
  .co-item .h2 {
    font-size:32px
  }
  .co-short {
    font-size:16px
  }
  .co-price {
    margin-top:24px;
    padding-bottom:20px
  }
  .co-price b {
    font-size:44px
  }
  .co-back {
    margin-top:18px
  }
  .co-form {
    padding:24px
  }
  .foot {
    padding:44px 0 28px
  }
  .foot-top {
    align-items:start;
    flex-direction:column;
    padding-bottom:28px
  }
  .foot-nav {
    gap:8px 18px;
    font-size:12px
  }
  .biz {
    gap:16px;
    margin-block:28px
  }
  .biz div {
    flex-direction:column;
    gap:2px
  }
  .biz dt {
    font-size:11px
  }
  .biz dd {
    font-size:13px
  }
  .copy {
    font-size:10px;
    line-height:1.8
  }
  .cta .btns {
    gap:10px
  }
}
@media(max-width:400px) {
  .btns .btn {
    width:100%
  }
  .hero h1 {
    font-size:34px
  }
  .hero-bottom {
    letter-spacing:.09em
  }
  .wm {
    font-size:20px
  }
}
@media(prefers-reduced-motion:no-preference) {
  .reveal-in {
    animation:enter .65s cubic-bezier(.2,.7,.2,1) both
  }
  @keyframes enter {
    from {
      opacity:.25;
      transform:translateY(16px)
    }
    to {
      opacity:1;
      transform:translateY(0)
    }
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }
}
@media print {
  .top,.globe,.dark-globe,.btns {
    display:none
  }
  .foot {
    background:#fff;
    color:var(--navy)
  }
  .foot a,.biz dt,.copy {
    color:var(--navy)
  }
  section {
    padding-block:28px
  }
}
