:root {
  --paper:#f7f6f2;
  --ink:#302d29;
  --muted:#88847e;
  --orange:#ed633f;
  --border:#e9e6df;
  --white:#fff;
  --font:"Noto Sans SC",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:105px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:14px;
  -webkit-font-smoothing:antialiased
}
button,input,select {
  font:inherit
}
button,a,input,select {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
button {
  color:inherit
}
button:focus-visible,a:focus-visible,select:focus-visible {
  outline:3px solid #ef8d70;
  outline-offset:4px
}
input:focus-visible {
  outline:none
}
svg.icon {
  width:21px;
  height:21px;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round
}
.icon-defs {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.container {
  width:min(1200px,calc(100% - 80px));
  margin:auto
}
.preview-note {
  height:34px;
  background:#edeae3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  font-size:10px;
  letter-spacing:.4px;
  color:#78716a;
  position:relative
}
.preview-label {
  font-size:9px;
  letter-spacing:1.5px;
  color:#514c46;
  font-weight:700;
  border-right:1px solid #cfc9bf;
  padding-right:16px
}
.notice-detail {
  margin-left:8px;
  color:#928980
}
.preview-domain {
  position:absolute;
  right:40px;
  font-size:10px;
  letter-spacing:.7px
}
.site-header {
  background:rgba(247,246,242,.96);
  position:sticky;
  top:0;
  z-index:10;
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px)
}
.header-inner {
  width:min(1200px,calc(100% - 80px));
  margin:auto;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px
}
.brand {
  display:flex;
  gap:10px;
  align-items:center;
  flex-shrink:0
}
.brand>span {
  font-size:24px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-1px
}
.brand-light {
  font-weight:500
}
.brand small {
  display:block;
  font-size:8px;
  font-weight:600;
  letter-spacing:2.1px;
  margin-top:7px
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:31px;
  font-size:13px;
  color:#7b7770;
  height:100%
}
.desktop-nav a {
  height:100%;
  display:flex;
  align-items:center;
  position:relative;
  transition:color .2s
}
.desktop-nav a:hover,.desktop-nav a.nav-current {
  color:var(--ink)
}
.nav-current:after {
  content:"";
  position:absolute;
  bottom:20px;
  width:15px;
  height:3px;
  border-radius:4px;
  background:var(--orange);
  left:calc(50% - 7.5px)
}
.header-actions {
  display:flex;
  align-items:center;
  gap:20px
}
.text-button,.plain-button {
  border:0;
  padding:0;
  background:none
}
.text-button {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  white-space:nowrap
}
.text-button:hover,.plain-button:hover {
  color:var(--orange)
}
.header-divider {
  height:16px;
  width:1px;
  background:#ddd9d1
}
.hero {
  margin-top:30px;
  min-height:340px;
  border-radius:20px;
  background:#efece3;
  display:grid;
  grid-template-columns:1.04fr 1fr;
  overflow:hidden;
  position:relative
}
.hero-copy {
  padding:28px 0 27px 40px;
  position:relative;
  z-index:2
}
.eyebrow {
  font-size:9px;
  font-weight:600;
  letter-spacing:1.65px;
  display:flex;
  align-items:center;
  gap:8px;
  color:#7c766c
}
.small-star {
  font-size:17px;
  color:var(--orange);
  line-height:1
}
h1 {
  font-size:44px;
  letter-spacing:-2px;
  line-height:1.3;
  font-weight:800;
  margin:15px 0 12px;
  position:relative
}
h1>span:not(.title-dot) {
  color:var(--orange)
}
.title-dot {
  display:inline-block;
  font-size:38px;
  font-weight:400;
  color:var(--orange);
  margin-left:16px;
  transform:translateY(-3px)
}
.hero-copy>p {
  font-size:12px;
  line-height:1.9;
  color:#8b8175;
  margin:0 0 22px;
  letter-spacing:.2px
}
.primary-button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  background:var(--ink);
  color:white;
  border:0;
  border-radius:8px;
  padding:13px 19px;
  font-size:12px;
  font-weight:500;
  transition:background .2s,transform .2s
}
.primary-button:hover {
  background:var(--orange);
  transform:translateY(-2px)
}
.hero-button {
  padding:12px 17px
}
.hero-button .icon {
  width:18px;
  height:18px
}
.hero-footnote {
  display:none;
  align-items:center;
  gap:8px;
  font-size:9px;
  color:#9e9587;
  margin-top:18px
}
.hero-footnote .line {
  width:22px;
  height:1px;
  background:#b6ac9d
}
.hero-art {
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center
}
.art-circle {
  width:305px;
  height:305px;
  border:1px solid #e3dbce;
  border-radius:50%;
  position:absolute;
  right:78px;
  top:24px
}
.art-circle:after {
  content:"";
  width:245px;
  height:245px;
  border:1px dashed #e3dbce;
  border-radius:50%;
  position:absolute;
  inset:29px
}
.hero-objects {
  width:110%;
  max-width:640px;
  position:absolute;
  right:-4%;
  top:-14px;
  filter:drop-shadow(0 18px 15px #95866e0d)
}
.floating-note {
  position:absolute;
  bottom:31px;
  left:0;
  right:62px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#ffffffed;
  padding:13px 17px;
  border:1px solid #fff;
  border-radius:12px;
  box-shadow:0 8px 28px #74654b08;
  transform:rotate(-3deg);
  font-size:12px
}
.note-icon {
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  background:#f3ebe2;
  border-radius:8px;
  color:#a78458
}
.floating-note small {
  display:block;
  font-size:7px;
  letter-spacing:1.6px;
  color:#aaa49a;
  margin-top:5px
}
.note-spark {
  font-size:23px;
  color:var(--orange);
  margin-left:auto
}
.art-caption {
  position:absolute;
  right:23px;
  bottom:112px;
  font-size:8px;
  letter-spacing:1px;
  line-height:1.65;
  color:#9a9081;
  writing-mode:vertical-rl
}
.service-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:23px 5px 24px;
  border-bottom:1px solid var(--border);
  color:#77736c;
  font-size:11px
}
.service-strip>span {
  display:flex;
  align-items:center;
  gap:11px
}
.service-number {
  font-size:9px;
  color:#b1aaa0;
  letter-spacing:1px
}
.strip-tail {
  color:#aaa297;
  font-size:10px
}
.strip-tail .icon {
  width:17px;
  height:17px
}
.products-section {
  padding-top:36px;
  scroll-margin-top:0
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px
}
.section-eyebrow {
  font-size:8px;
  letter-spacing:2px;
  color:#a29a8e
}
h2 {
  font-size:25px;
  letter-spacing:-.7px;
  font-weight:700;
  margin:7px 0 0
}
.item-count {
  font-size:10px;
  font-weight:400;
  letter-spacing:0;
  color:#a29c92;
  margin-left:15px;
  vertical-align:middle
}
.search-box {
  display:flex;
  align-items:center;
  gap:10px;
  width:264px;
  border:1px solid #e4e0d8;
  background:#fdfcf9;
  border-radius:8px;
  padding:10px 12px;
  color:#999087;
  transition:border-color .2s
}
.search-box:focus-within {
  border-color:#ed947a;
  box-shadow:0 0 0 3px #ed633f0c
}
.search-box .icon {
  width:17px;
  height:17px
}
.search-box input {
  width:100%;
  background:none;
  border:0;
  min-width:0;
  color:var(--ink);
  font-size:11px
}
.search-box input::placeholder {
  color:#a59d93
}
.search-box kbd {
  font-size:9px;
  border:1px solid #e6e0d7;
  border-radius:3px;
  padding:1px 5px;
  color:#a59d93
}
.catalog-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:23px;
  margin-bottom:23px
}
.categories {
  display:flex;
  gap:8px
}
.category {
  display:flex;
  align-items:center;
  gap:7px;
  background:transparent;
  border:1px solid transparent;
  border-radius:7px;
  padding:9px 14px;
  color:#8f877b;
  font-size:11px;
  white-space:nowrap;
  transition:all .2s
}
.category .icon {
  width:16px;
  height:16px
}
.category span {
  font-size:8px;
  letter-spacing:1px;
  opacity:.5;
  margin-left:2px
}
.category:hover {
  background:#efece5
}
.category.active {
  color:var(--orange);
  background:#fbe8e0;
  border-color:#f6ddcf
}
.sort-control {
  display:flex;
  align-items:center;
  gap:6px;
  color:#948c80;
  font-size:10px;
  white-space:nowrap
}
.sort-control .icon {
  width:15px;
  height:15px
}
.sort-control select {
  background:none;
  border:0;
  color:inherit;
  cursor:pointer;
  font-size:10px;
  padding:7px 0;
  max-width:110px
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}
.product-card {
  background:#fff;
  border:1px solid #ece8e0;
  border-radius:13px;
  overflow:hidden;
  transition:transform .23s,box-shadow .23s,border-color .23s;
  position:relative
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:0 14px 30px #50433109;
  border-color:#d9d0c4
}
.product-visual {
  height:188px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:var(--card-bg);
  isolation:isolate
}
.product-visual:before {
  content:"";
  width:170px;
  height:170px;
  border:1px solid var(--card-line);
  border-radius:50%;
  position:absolute;
  right:34px;
  top:10px
}
.product-visual:after {
  content:"";
  width:130px;
  height:130px;
  border:1px solid var(--card-line);
  border-radius:50%;
  position:absolute;
  right:54px;
  top:30px;
  z-index:-1
}
.visual-tag {
  position:absolute;
  left:15px;
  top:14px;
  font-size:8px;
  letter-spacing:.8px;
  color:var(--card-ink);
  opacity:.7;
  z-index:3
}
.visual-index {
  position:absolute;
  right:15px;
  bottom:13px;
  font-size:8px;
  color:var(--card-ink);
  opacity:.4;
  letter-spacing:2px
}
.visual-caption {
  position:absolute;
  left:16px;
  bottom:15px;
  font-size:8px;
  letter-spacing:1.5px;
  color:var(--card-ink);
  opacity:.55
}
.product-info {
  padding:19px 19px 16px
}
.product-meta {
  display:flex;
  align-items:center;
  gap:7px;
  color:#9b9386;
  font-size:9px
}
.category-dot {
  width:4px;
  height:4px;
  background:var(--accent);
  border-radius:50%
}
.product-info h3 {
  font-size:16px;
  font-weight:600;
  margin:8px 0 6px;
  letter-spacing:-.3px
}
.product-info h3 button {
  border:0;
  background:none;
  padding:0;
  text-align:left;
  font:inherit;
  letter-spacing:inherit
}
.product-info h3 button:hover {
  color:var(--orange)
}
.product-description {
  font-size:10px;
  line-height:1.8;
  color:#9d958a;
  margin:0;
  min-height:18px
}
.product-tags {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:13px
}
.product-tags span {
  background:#f7f6f3;
  border:1px solid #f0ede7;
  color:#9b9284;
  border-radius:4px;
  padding:3px 6px;
  font-size:8px
}
.product-bottom {
  border-top:1px solid #f0ede8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:16px;
  padding-top:14px;
  gap:6px
}
.price {
  display:flex;
  align-items:baseline;
  color:#d96342;
  gap:1px;
  white-space:nowrap
}
.price .currency {
  font-size:12px;
  font-weight:500
}
.price strong {
  font-size:24px;
  font-weight:600;
  letter-spacing:-.9px;
  line-height:1
}
.price .unit {
  font-size:9px;
  color:#a89d91;
  margin-left:4px
}
.detail-button {
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 0 7px 8px;
  border:0;
  background:none;
  font-size:10px
}
.detail-button .icon {
  width:17px;
  height:17px
}
.detail-button:hover {
  color:var(--orange)
}
.sim-object {
  width:86px;
  height:121px;
  border-radius:14px;
  background:linear-gradient(130deg,#f99f78,#e76a44 70%);
  transform:rotate(-17deg);
  box-shadow:11px 15px 0 #b45d2c16,0 18px 20px #b353312a;
  position:relative;
  border:1px solid #ffb896
}
.sim-object:before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  border-top:22px solid var(--card-bg);
  border-left:22px solid transparent
}
.sim-object .sim-chip {
  position:absolute;
  width:38px;
  height:43px;
  bottom:22px;
  left:23px;
  background:linear-gradient(120deg,#f2d194,#d6a665);
  border:1px solid #b8864b;
  border-radius:7px;
  overflow:hidden
}
.sim-chip:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 31%,#ab7d45 32%,#ab7d45 34%,transparent 35%,transparent 65%,#ab7d45 66%,#ab7d45 68%,transparent 69%)
}
.sim-chip:after {
  content:"";
  height:1px;
  position:absolute;
  left:0;
  right:0;
  top:20px;
  background:#ad7e45
}
.sim-object .sim-text {
  position:absolute;
  top:20px;
  left:15px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  color:#fff6ed
}
.object-orbit {
  position:absolute;
  width:61px;
  height:61px;
  border-radius:50%;
  background:#fff8ee;
  box-shadow:0 8px 15px #bd775117;
  display:grid;
  place-items:center;
  color:#cf774f;
  left:calc(50% + 36px);
  top:88px;
  transform:rotate(12deg)
}
.object-orbit .icon {
  width:30px;
  height:30px
}
.esim .sim-object {
  background:linear-gradient(130deg,#8caa9c,#4c7867);
  border-color:#b6c9bd;
  transform:rotate(15deg);
  box-shadow:-8px 14px 0 #54756312,0 18px 20px #3c5d4924
}
.esim .object-orbit {
  left:calc(50% - 83px);
  top:74px;
  background:#f8f9ed;
  color:#718c68;
  transform:rotate(-10deg)
}
.membership-object {
  width:167px;
  height:101px;
  border-radius:12px;
  padding:17px;
  background:linear-gradient(130deg,#b4a0cf,#87769e);
  transform:rotate(-11deg);
  box-shadow:7px 10px 0 #9e83b521,0 18px 24px #5c417e24;
  color:#f8f0ff;
  border:1px solid #c1b0d5
}
.membership-object .icon {
  width:23px;
  height:23px
}
.membership-object strong {
  font-size:16px;
  letter-spacing:2px;
  position:absolute;
  bottom:20px;
  left:17px
}
.membership-object small {
  position:absolute;
  right:12px;
  top:20px;
  font-size:7px;
  letter-spacing:1.5px
}
.mini-pill {
  position:absolute;
  top:111px;
  left:calc(50% + 28px);
  background:#fffaf6;
  border:1px solid #e8dded;
  box-shadow:0 5px 10px #6c4b7b12;
  border-radius:20px;
  padding:9px 17px;
  transform:rotate(8deg);
  font-size:9px;
  letter-spacing:1px;
  color:#867296
}
.topup-object {
  width:128px;
  height:119px;
  background:#fff7da;
  border:1px solid #e5cf8e;
  box-shadow:7px 9px 0 #d9bd681a,0 12px 24px #ae8e3920;
  transform:rotate(10deg);
  border-radius:13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#9f8038
}
.topup-object small {
  letter-spacing:3px;
  font-size:9px;
  margin-bottom:6px
}
.topup-object strong {
  font-size:35px;
  font-weight:600;
  letter-spacing:-2px
}
.topup-object strong span {
  font-size:15px;
  letter-spacing:0
}
.topup .object-orbit {
  left:calc(50% - 88px);
  top:106px;
  width:46px;
  height:46px;
  color:#b28c34;
  background:#fffbef
}
.topup .object-orbit .icon {
  width:25px;
  height:25px
}
.key-object {
  width:155px;
  height:104px;
  border-radius:11px;
  background:linear-gradient(135deg,#4e7689,#365b6c);
  border:1px solid #88a4b0;
  transform:rotate(-10deg);
  box-shadow:8px 10px 0 #50758214,0 17px 20px #274e6526;
  color:#cfe1e8;
  padding:17px
}
.key-object .icon {
  width:27px;
  height:27px
}
.key-object strong {
  display:block;
  font-size:10px;
  letter-spacing:3px;
  margin-top:12px;
  font-weight:500
}
.key-object .key-dot {
  position:absolute;
  right:17px;
  top:18px;
  width:24px;
  height:24px;
  border:1px solid #8da7b1;
  border-radius:50%
}
.key .mini-pill {
  color:#587784;
  border-color:#c9d8df
}
.bundle-object {
  width:92px;
  height:115px;
  background:linear-gradient(145deg,#c58c72,#a9715b);
  border:1px solid #dca78e;
  border-radius:5px 11px 11px 5px;
  transform:rotate(12deg);
  box-shadow:-5px 0 0 #f9eee4,-7px 0 0 #bd8c74,5px 13px 24px #92695226;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f9e9d9;
  position:relative
}
.bundle-object:before {
  content:"";
  position:absolute;
  left:9px;
  top:0;
  bottom:0;
  width:1px;
  background:#e4b69a55
}
.bundle-object .icon {
  width:36px;
  height:36px;
  stroke-width:1
}
.bundle .object-orbit {
  left:calc(50% - 86px);
  top:108px;
  width:47px;
  height:47px;
  background:#f5f0e6;
  color:#a88265
}
.bundle .object-orbit .icon {
  width:22px;
  height:22px
}
.catalog-note {
  font-size:10px;
  color:#a39a8d;
  text-align:center;
  margin:27px 0 0;
  line-height:1.9
}
.catalog-note span {
  display:block;
  color:#bab1a5;
  font-size:9px
}
.bottom-callout {
  display:flex;
  align-items:center;
  gap:21px;
  background:#eeeae1;
  border:1px solid #e8e2d8;
  border-radius:12px;
  margin-top:43px;
  padding:28px 31px
}
.callout-icon {
  width:46px;
  height:46px;
  border:1px solid #d9cfc1;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#9e8f78
}
.callout-icon .icon {
  width:22px;
  height:22px
}
.bottom-callout h2 {
  font-size:18px;
  margin:0;
  font-weight:600;
  letter-spacing:-.2px
}
.bottom-callout p {
  font-size:10px;
  color:#a49988;
  margin:7px 0 0
}
.secondary-button {
  border:1px solid #d4cabe;
  border-radius:7px;
  background:transparent;
  padding:11px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:23px;
  font-size:11px;
  transition:background .2s
}
.secondary-button:hover {
  background:#e8dfd2
}
.bottom-callout .secondary-button {
  margin-left:auto;
  flex-shrink:0
}
.secondary-button .icon {
  width:17px;
  height:17px
}
footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:33px 0 36px;
  color:#a59a8b;
  font-size:9px
}
.footer-brand {
  color:#61584a;
  font-size:14px;
  font-weight:600
}
.footer-brand span {
  font-size:9px;
  font-weight:400;
  color:#aaa092;
  margin-left:15px
}
footer>div {
  display:flex;
  gap:23px;
  align-items:center
}
footer>div>span {
  font-size:8px;
  letter-spacing:1px;
  margin-left:5px
}
.plain-button {
  font-size:9px;
  color:#a09685
}
.mobile-bottom {
  display:none
}
.empty-state {
  padding:70px 20px;
  text-align:center;
  color:#a09380
}
.empty-state>.icon {
  width:32px;
  height:32px
}
.empty-state h3 {
  color:#776c5d;
  font-size:17px
}
.empty-state p {
  font-size:12px
}
.empty-state .secondary-button {
  margin-top:15px
}
dialog {
  border:1px solid #e8e0d4;
  padding:0;
  border-radius:20px;
  background:#fdfcf9;
  max-width:600px;
  width:calc(100% - 32px);
  max-height:calc(100dvh - 40px);
  overflow:auto;
  box-shadow:0 35px 100px #30292135;
  color:var(--ink)
}
dialog::backdrop {
  background:#302b246b;
  backdrop-filter:blur(5px)
}
body:has(dialog[open]) {
  overflow:hidden
}
.modal-close {
  position:absolute;
  right:15px;
  top:15px;
  z-index:3;
  background:#ffffffc9;
  border:1px solid #e8e0d5;
  border-radius:50%;
  width:33px;
  height:33px;
  display:grid;
  place-items:center
}
.modal-close:hover {
  background:#eee5d9
}
.modal-close .icon {
  width:16px;
  height:16px
}
.modal-art {
  height:185px;
  border-radius:19px 19px 0 0
}
.modal-body {
  padding:27px 30px 30px
}
.modal-eyebrow {
  font-size:9px;
  color:var(--orange);
  letter-spacing:2px;
  margin:0 0 9px
}
.modal-body h2 {
  font-size:24px;
  margin:0 30px 10px 0;
  line-height:1.6
}
.modal-intro {
  font-size:12px;
  color:#978c7d;
  line-height:1.9
}
.spec-label {
  font-size:11px;
  margin-top:24px;
  color:#837665
}
.specs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px
}
.spec {
  font-size:11px;
  padding:10px 15px;
  border:1px solid #e4dccf;
  background:#fff;
  border-radius:7px
}
.spec.active {
  border-color:var(--orange);
  color:var(--orange);
  background:#fff2eb
}
.detail-lines {
  margin:23px 0 0;
  border-top:1px solid var(--border);
  padding-top:15px;
  display:grid;
  grid-template-columns:70px 1fr;
  font-size:11px;
  line-height:2.2;
  color:#928574;
  gap:5px 10px
}
.detail-lines dt {
  color:#afa494
}
.detail-lines dd {
  margin:0
}
.modal-purchase {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:24px
}
.modal-purchase .primary-button {
  background:var(--orange);
  min-width:160px
}
.modal-purchase .primary-button:hover {
  background:#ce4f2d
}
.demo-hint {
  font-size:9px;
  color:#b3a593;
  margin-top:14px;
  line-height:1.8
}
.form-label {
  display:block;
  font-size:11px;
  margin:19px 0 7px;
  color:#8e7e69
}
.form-input {
  background:white;
  border:1px solid #e0d5c5;
  border-radius:7px;
  padding:12px;
  width:100%;
  font-size:12px;
  color:var(--ink)
}
.form-input:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 3px #ed633f0b
}
.full-button {
  width:100%;
  margin-top:23px
}
.sample-order {
  font-size:10px;
  color:#ae9e88;
  margin-top:14px;
  line-height:1.9
}
.sample-order button {
  background:none;
  border:0;
  padding:0;
  color:var(--orange);
  font-size:inherit;
  text-decoration:underline
}
.order-result {
  margin-top:20px;
  background:#f1eee6;
  border-radius:10px;
  padding:18px;
  font-size:11px;
  line-height:2;
  color:#8a7c67
}
.order-result p {
  margin:4px 0
}
.order-result h3 {
  margin:0 0 9px;
  color:#6b7762;
  font-size:14px
}
.order-result strong {
  color:#554c40
}
.order-status {
  display:flex;
  align-items:center;
  gap:5px;
  color:#5e8067
}
.order-status .icon {
  width:17px;
  height:17px
}
.faq-list {
  font-size:12px;
  line-height:1.9;
  color:#93836e;
  margin-top:20px
}
.faq-list h3 {
  font-size:13px;
  color:#665844;
  margin:20px 0 5px
}
.faq-list p {
  margin:0
}
.contact-placeholder {
  border:1px dashed #d6c7b2;
  background:#f3eee4;
  border-radius:10px;
  padding:23px;
  margin-top:24px;
  text-align:center;
  color:#aa987f;
  font-size:12px;
  line-height:2
}
.contact-placeholder .icon {
  display:block;
  width:34px;
  height:34px;
  margin:0 auto 12px
}
.checkout-summary {
  background:#f2eee5;
  border-radius:10px;
  padding:18px;
  margin:20px 0;
  color:#9b8b73;
  font-size:11px;
  line-height:2
}
.checkout-summary strong {
  color:#5d503e
}
.checkout-options {
  display:flex;
  gap:9px;
  margin-top:10px
}
.checkout-option {
  flex:1;
  padding:14px;
  border:1px solid #e6ddcd;
  border-radius:7px;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:8px;
  background:white
}
.checkout-option.active {
  border-color:#ed947a;
  background:#fff4ee
}
.checkout-option input {
  accent-color:var(--orange)
}
.success-icon {
  width:49px;
  height:49px;
  border-radius:50%;
  background:#e4ecdf;
  color:#728a61;
  display:grid;
  place-items:center;
  margin-bottom:20px
}
.success-icon .icon {
  width:27px;
  height:27px
}
.toast {
  position:fixed;
  bottom:30px;
  left:50%;
  transform:translate(-50%,15px);
  opacity:0;
  pointer-events:none;
  border:1px solid #5a5045;
  background:#3b342cf5;
  color:#faf6ed;
  font-size:12px;
  padding:13px 21px;
  border-radius:9px;
  z-index:50;
  transition:.2s;
  max-width:calc(100% - 40px);
  text-align:center
}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0)
}
@media(min-width:1450px) {
  .hero {
    min-height:390px
  }
  .hero-copy {
    padding-top:43px
  }
  h1 {
    font-size:51px
  }
  .hero-objects {
    top:4px
  }
  .floating-note {
    bottom:35px
  }
  .product-visual {
    height:202px
  }
}
@media(max-width:1100px) {
  .header-inner,.container {
    width:calc(100% - 48px)
  }
  .desktop-nav {
    gap:20px
  }
  .header-actions {
    gap:12px
  }
  .hero-copy {
    padding-left:32px
  }
  .hero {
    grid-template-columns:1fr 1fr
  }
  .hero h1 {
    font-size:42px
  }
  .floating-note {
    right:20px;
    left:-7px;
    font-size:10px;
    bottom:39px
  }
  .hero-objects {
    top:20px
  }
  .art-circle {
    right:30px
  }
  .art-caption {
    right:9px
  }
  .product-visual {
    height:166px
  }
  .product-info {
    padding:16px
  }
  .service-strip {
    font-size:10px
  }
  .preview-domain {
    right:24px
  }
  .title-dot {
    font-size:29px;
    margin-left:11px
  }
}
@media(max-width:880px) {
  .desktop-nav {
    gap:18px;
    font-size:11px
  }
  .header-actions .help-trigger span {
    display:none
  }
  .header-divider {
    display:none
  }
  .brand>span {
    font-size:21px
  }
  .brand img {
    width:31px;
    height:31px
  }
  .hero {
    min-height:336px
  }
  .hero-copy {
    padding-top:30px;
    padding-bottom:26px
  }
  .hero h1 {
    font-size:36px;
    letter-spacing:-1.4px
  }
  .hero-copy>.eyebrow {
    font-size:7px;
    letter-spacing:.8px
  }
  .hero-copy>p {
    font-size:10px
  }
  .hero-objects {
    top:36px;
    width:120%;
    right:-12%
  }
  .floating-note {
    font-size:9px;
    right:16px;
    left:0;
    padding:10px;
    bottom:28px
  }
  .floating-note small {
    font-size:6px
  }
  .note-icon {
    width:26px;
    height:26px
  }
  .note-icon .icon {
    width:17px;
    height:17px
  }
  .art-circle {
    width:250px;
    height:250px;
    right:16px;
    top:29px
  }
  .art-circle:after {
    width:200px;
    height:200px;
    inset:24px
  }
  .art-caption {
    display:none
  }
  .product-grid {
    gap:15px
  }
  .product-info h3 {
    font-size:14px
  }
  .product-description {
    font-size:9px
  }
  .product-visual {
    height:156px
  }
  .product-bottom {
    margin-top:13px;
    padding-top:13px
  }
  .price strong {
    font-size:22px
  }
  .detail-button {
    font-size:9px;
    gap:3px
  }
  .detail-button .icon {
    width:14px;
    height:14px
  }
  .product-info {
    padding:14px
  }
  .service-strip {
    font-size:9px
  }
  .service-strip .strip-tail {
    display:none
  }
  .visual-tag {
    font-size:7px
  }
  .visual-caption {
    font-size:6px
  }
  .category {
    padding:9px 11px
  }
  .product-tags {
    gap:4px
  }
  .product-tags span {
    font-size:7px;
    padding:3px 4px
  }
  .sim-object,.membership-object,.topup-object,.key-object,.bundle-object {
    scale:.88
  }
  .object-orbit {
    scale:.85
  }
  .mini-pill {
    scale:.85
  }
  .preview-domain {
    display:none
  }
}
@media(max-width:650px) {
  html {
    scroll-padding-top:86px
  }
  .container,.header-inner {
    width:calc(100% - 32px)
  }
  .preview-note {
    height:29px;
    gap:9px;
    font-size:8px;
    letter-spacing:0
  }
  .preview-label {
    font-size:7px;
    letter-spacing:1px;
    padding-right:9px
  }
  .notice-detail {
    display:none
  }
  .header-inner {
    height:72px;
    gap:12px
  }
  .brand {
    gap:8px
  }
  .brand>span {
    font-size:21px
  }
  .brand small {
    font-size:6px;
    letter-spacing:1.75px;
    margin-top:6px
  }
  .brand img {
    width:31px;
    height:31px
  }
  .desktop-nav {
    display:none
  }
  .header-actions {
    gap:15px
  }
  .text-button {
    font-size:10px;
    gap:5px
  }
  .text-button .icon {
    width:18px;
    height:18px
  }
  .header-actions .help-trigger {
    display:none
  }
  .hero {
    margin-top:17px;
    min-height:0;
    grid-template-columns:1fr;
    overflow:hidden;
    border-radius:15px
  }
  .hero-copy {
    padding:27px 24px 0
  }
  .hero-copy>.eyebrow {
    font-size:6px;
    letter-spacing:1px;
    gap:6px
  }
  .small-star {
    font-size:13px
  }
  .hero h1 {
    font-size:37px;
    line-height:1.35;
    margin-top:14px;
    margin-bottom:12px;
    letter-spacing:-1.4px
  }
  .title-dot {
    font-size:27px;
    margin-left:14px
  }
  .hero-copy>p {
    font-size:10px;
    line-height:1.9;
    margin-bottom:16px
  }
  .hero-button {
    font-size:10px;
    gap:22px;
    padding:10px 13px
  }
  .hero-button .icon {
    width:15px;
    height:15px
  }
  .hero-footnote {
    display:none
  }
  .hero-art {
    height:205px;
    margin-top:-27px;
    pointer-events:none
  }
  .hero-objects {
    height:243px;
    width:100%;
    right:-33px;
    top:-28px;
    object-fit:contain
  }
  .art-circle {
    width:207px;
    height:207px;
    right:30px;
    top:-8px
  }
  .art-circle:after {
    width:165px;
    height:165px;
    inset:20px
  }
  .floating-note {
    bottom:16px;
    left:24px;
    right:33px;
    font-size:9px;
    padding:9px 12px;
    border-radius:9px
  }
  .note-icon {
    width:27px;
    height:27px
  }
  .note-spark {
    font-size:20px
  }
  .hero-art .floating-note {
    transform:rotate(-3deg)
  }
  .floating-note small {
    font-size:6px
  }
  .service-strip {
    padding:17px 0;
    font-size:8px;
    gap:7px;
    justify-content:space-between
  }
  .service-strip>span {
    gap:5px
  }
  .service-number {
    font-size:7px
  }
  .products-section {
    padding-top:26px
  }
  .section-heading {
    display:block
  }
  .section-eyebrow {
    font-size:7px;
    letter-spacing:1.5px
  }
  h2 {
    font-size:23px;
    margin-top:6px
  }
  .item-count {
    font-size:9px;
    margin-left:13px
  }
  .search-box {
    margin-top:17px;
    width:100%;
    padding:11px 12px;
    border-radius:7px
  }
  .search-box input {
    font-size:11px
  }
  .search-box kbd {
    display:none
  }
  .catalog-toolbar {
    display:block;
    margin-top:15px;
    margin-bottom:16px
  }
  .categories {
    gap:4px;
    overflow-x:auto;
    scrollbar-width:none;
    padding:2px 0
  }
  .categories::-webkit-scrollbar {
    display:none
  }
  .category {
    font-size:10px;
    padding:9px 10px;
    gap:5px
  }
  .category .icon {
    width:14px;
    height:14px
  }
  .category span {
    display:none
  }
  .sort-control {
    display:none
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .product-visual {
    height:143px
  }
  .product-visual:before {
    width:130px;
    height:130px;
    right:calc(50% - 65px);
    top:6px
  }
  .product-visual:after {
    width:100px;
    height:100px;
    right:calc(50% - 50px);
    top:21px
  }
  .product-card {
    border-radius:10px
  }
  .product-info {
    padding:12px 11px 10px
  }
  .product-meta {
    font-size:9px;
    gap:5px
  }
  .product-info h3 {
    font-size:13px;
    margin-top:6px;
    margin-bottom:6px;
    line-height:1.65
  }
  .product-description {
    font-size:10px;
    min-height:36px;
    line-height:1.8
  }
  .product-tags {
    margin-top:9px;
    gap:3px;
    min-height:19px;
    align-content:start
  }
  .product-tags span {
    font-size:8px;
    padding:2px 4px
  }
  .product-bottom {
    margin-top:10px;
    padding-top:11px;
    align-items:center
  }
  .price strong {
    font-size:21px;
    letter-spacing:-1px
  }
  .price .currency {
    font-size:10px
  }
  .price .unit {
    font-size:8px;
    margin-left:2px
  }
  .detail-button {
    font-size:0;
    gap:0;
    padding:5px;
    border-radius:50%;
    border:1px solid #e8e0d5
  }
  .detail-button .icon {
    width:13px;
    height:13px
  }
  .sim-object {
    scale:.75
  }
  .membership-object {
    scale:.72
  }
  .topup-object {
    scale:.76
  }
  .key-object {
    scale:.74
  }
  .bundle-object {
    scale:.77
  }
  .object-orbit {
    scale:.67;
    left:calc(50% + 16px);
    top:65px
  }
  .esim .object-orbit {
    left:calc(50% - 73px);
    top:58px
  }
  .topup .object-orbit {
    left:calc(50% - 69px);
    top:81px
  }
  .bundle .object-orbit {
    left:calc(50% - 67px);
    top:82px
  }
  .mini-pill {
    scale:.65;
    top:86px;
    left:calc(50% + 2px)
  }
  .visual-tag {
    left:11px;
    top:10px;
    font-size:6px;
    letter-spacing:.8px
  }
  .visual-caption {
    left:11px;
    bottom:10px;
    font-size:6px;
    letter-spacing:1px
  }
  .visual-index {
    right:9px;
    bottom:9px;
    font-size:6px
  }
  .catalog-note {
    font-size:9px;
    margin-top:20px
  }
  .catalog-note span {
    font-size:8px
  }
  .bottom-callout {
    margin-top:27px;
    padding:22px 18px;
    gap:12px;
    flex-wrap:wrap
  }
  .callout-icon {
    width:34px;
    height:34px
  }
  .callout-icon .icon {
    width:18px;
    height:18px
  }
  .bottom-callout h2 {
    font-size:14px
  }
  .bottom-callout p {
    font-size:8px;
    line-height:1.8;
    max-width:223px
  }
  .bottom-callout .secondary-button {
    margin-left:46px;
    font-size:10px;
    padding:8px 11px;
    gap:16px
  }
  footer {
    padding:26px 0 96px;
    display:block
  }
  .footer-brand {
    font-size:12px
  }
  .footer-brand span {
    font-size:8px;
    margin-left:12px
  }
  footer>div {
    margin-top:18px;
    gap:20px
  }
  .plain-button {
    font-size:8px
  }
  footer>div>span {
    font-size:7px;
    margin-left:auto
  }
  .mobile-bottom {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    padding:9px 15px max(9px,env(safe-area-inset-bottom));
    background:#fdfbf7f5;
    backdrop-filter:blur(16px);
    border-top:1px solid #e8e1d6;
    z-index:12;
    display:flex;
    justify-content:space-around
  }
  .mobile-bottom a,.mobile-bottom button {
    display:flex;
    align-items:center;
    flex-direction:column;
    gap:5px;
    color:#a49885;
    border:0;
    background:none;
    padding:0 15px;
    font-size:8px
  }
  .mobile-bottom .mobile-active {
    color:var(--orange)
  }
  .mobile-bottom .icon {
    width:19px;
    height:19px
  }
  .toast {
    bottom:85px;
    font-size:10px
  }
  .modal-body {
    padding:24px 22px
  }
  .modal-body h2 {
    font-size:21px
  }
  .modal-art {
    height:165px
  }
  .modal-art .sim-object,.modal-art .membership-object,.modal-art .topup-object,.modal-art .key-object,.modal-art .bundle-object {
    scale:.95
  }
  .modal-art .object-orbit {
    scale:.85
  }
  .modal-art .visual-tag {
    font-size:8px;
    left:20px;
    top:17px
  }
  .modal-art .visual-caption {
    font-size:8px;
    left:20px;
    bottom:17px
  }
  .modal-purchase .primary-button {
    min-width:145px;
    font-size:11px
  }
  .detail-lines {
    grid-template-columns:60px 1fr;
    font-size:10px
  }
  .checkout-option {
    font-size:11px;
    padding:12px 8px
  }
  .spec {
    font-size:10px;
    padding:9px 12px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}

/* Catalog data, real checkout forms and persistent order details. */
.store-notice {
  max-width: min(64vw, 650px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#desktop-categories {
  max-width: 570px;
  overflow-x: auto;
  scrollbar-width: none;
}
#desktop-categories::-webkit-scrollbar {
  display: none;
}
#desktop-categories a {
  flex-shrink: 0;
}
#categories {
  max-width: 85%;
  overflow-x: auto;
  scrollbar-width: none;
}
#categories::-webkit-scrollbar {
  display: none;
}
.catalog-feedback {
  padding: 24px;
  margin: 8px 0 20px;
  border: 1px solid #e7dfd1;
  background: #f0ece3;
  color: #93816a;
  border-radius: 9px;
  text-align: center;
  font-size: 12px;
  line-height: 1.9;
}
.catalog-feedback.error {
  background: #fff1eb;
  color: #ae5b40;
  border-color: #f2d5c7;
}
.catalog-feedback .plain-button {
  color: #b65335;
  font-size: 12px;
  text-decoration: underline;
  padding: 6px;
}
.catalog-feedback[hidden], .form-feedback[hidden], .cancel-confirm[hidden] {
  display: none;
}
.product-visual.has-cover::before,
.product-visual.has-cover::after,
.product-visual.has-cover .visual-caption,
.product-visual.has-cover .visual-index {
  display: none;
}
.product-visual.has-cover .visual-tag {
  padding: 4px 6px;
  background: #fffdf5e8;
  color: #6f6556;
  border-radius: 4px;
  opacity: 1;
}
.product-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.product-cover[hidden] {
  display: none;
}
.modal-art .product-cover {
  object-fit: contain;
}
.cover-fallback {
  display: grid;
  place-items: center;
  height: 100%;
  color: #ae9075;
}
.cover-fallback .icon {
  width: 55px;
  height: 55px;
  stroke-width: 1;
}
.topup-object strong > .icon {
  width: 43px;
  height: 43px;
  stroke-width: 1.4;
}
.sold-out-label {
  color: #b88972;
  margin-left: auto;
}
.spec:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.primary-button:disabled {
  background: #b9ad9c;
  cursor: not-allowed;
  transform: none;
}
.spec-stock {
  font-size: 10px;
  color: #a18c72;
  margin: 11px 0 0;
}
.preserve-lines {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.checkout-quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.checkout-quantity .form-label {
  margin: 0;
}
.quantity-input {
  width: 86px;
  padding: 9px 12px;
}
.form-help {
  font-size: 10px;
  color: #a18e74;
  line-height: 1.9;
  margin: 9px 0 0;
}
.checkout-quantity .form-help {
  margin: 0;
}
.field-required, .field-optional {
  font-size: 8px;
  margin-left: 8px;
  color: #bc8c73;
  font-weight: 400;
}
.field-optional {
  color: #b9ab98;
}
textarea.form-input {
  resize: vertical;
  min-height: 82px;
}
select.form-input {
  appearance: auto;
}
.order-notice {
  margin-top: 21px;
  padding: 12px 15px;
  border: 1px solid #e9ddc9;
  border-radius: 8px;
  background: #f5efe4;
  color: #a18b6a;
  line-height: 1.9;
  font-size: 10px;
}
.form-feedback {
  font-size: 11px;
  line-height: 1.9;
  padding: 10px 12px;
  margin: 17px 0 0;
  border-radius: 6px;
  background: #ecefe3;
  color: #7a8663;
}
.form-feedback.error {
  background: #fff0e8;
  color: #b35a39;
}
.order-id {
  overflow-wrap: anywhere;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 11px;
  user-select: all;
}
.order-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}
.order-result-actions > .primary-button,
.order-result-actions > .secondary-button {
  flex: 1;
}
.order-information {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  margin: 16px 0 0;
  font-size: 11px;
  line-height: 1.9;
}
.order-information dt {
  color: #aa9980;
}
.order-information dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #74634b;
}
.order-status {
  flex-wrap: wrap;
}
.test-badge {
  color: #b7835e;
  border: 1px solid #deccb2;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 8px;
  line-height: 1.8;
  margin-left: 5px;
  font-weight: 400;
}
.order-expiry {
  border-top: 1px solid #ded5c6;
  padding-top: 13px;
  margin-top: 16px !important;
  font-size: 10px;
  color: #a18d6f;
}
.customer-message,
.fulfillment-content {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #ded4c2;
  background: #fffdf7;
  border-radius: 7px;
  font-size: 11px;
}
.fulfillment-content pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  user-select: text;
  color: #6b5b43;
  line-height: 1.9;
  font-family: inherit;
  margin: 10px 0;
}
.fulfillment-content .plain-button {
  color: #b3613d;
  text-decoration: underline;
  padding: 5px 0;
  font-size: 10px;
}
.order-history {
  margin-top: 20px;
  font-size: 10px;
}
.order-history summary {
  cursor: pointer;
  color: #a18d72;
}
.order-history ol {
  padding-left: 17px;
  margin: 13px 0 0;
}
.order-history li {
  padding: 4px 0;
}
.order-history time {
  display: block;
  color: #b1a18b;
  font-size: 9px;
}
.order-history span {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.cancel-confirm {
  padding: 12px 0 0;
  font-size: 10px;
  color: #ac7557;
}
.cancel-confirm .plain-button {
  color: #a86543;
  font-size: 10px;
  margin-left: 12px;
  padding: 7px 0;
  text-decoration: underline;
}
.contact-copy {
  display: flex;
  margin: 16px auto 12px;
}
.contact-placeholder small {
  display: block;
  font-size: 10px;
}
#footer-store-name {
  margin-left: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.noscript-note {
  padding: 30px;
  background: #f8e8da;
  color: #a45736;
  text-align: center;
  font-size: 13px;
}
@media(max-width: 880px) {
  #desktop-categories {
    max-width: 360px;
  }
}
@media(max-width: 650px) {
  #categories {
    max-width: 100%;
  }
  .store-notice {
    max-width: 65vw;
  }
  .catalog-feedback {
    padding: 20px 14px;
    font-size: 11px;
  }
  .modal-purchase .primary-button {
    min-width: 140px;
  }
  .order-result-actions > .primary-button {
    min-width: 150px;
  }
  .order-information {
    grid-template-columns: 62px minmax(0, 1fr);
    font-size: 10px;
    gap: 7px;
  }
  .checkout-summary,
  .modal-intro {
    overflow-wrap: anywhere;
  }
  .order-id {
    font-size: 10px;
  }
}
#brand-name {
  display: block;
  max-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-description {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media(max-width: 650px) {
  #brand-name {
    max-width: 155px;
  }
}
