/* =========================================================
   BeetLog LP — stone-50 × amber-700/800, professional minimal
   ========================================================= */

:root{
  /* base — warm cream, mirrors the app */
  --bg: #F9F2E6;            /* main warm cream (brighter) */
  --bg-2: #F2E7D2;          /* slightly deeper */
  --bg-3: #EADDC4;          /* header tint */
  --bg-card: #FFFFFF;
  --ink: #2B1A0F;           /* deep chocolate ink */
  --ink-2: #5A3A22;         /* mid brown */
  --ink-3: #8C7159;         /* muted brown */
  --line: rgba(43,26,15,.10);
  --line-2: rgba(43,26,15,.05);

  /* brand — chocolate primary, terracotta accent */
  --amber: #6F4520;         /* primary chocolate brown (FAB / logo) */
  --amber-deep: #4F2F15;    /* darker for hover */
  --amber-soft: #EBDAB9;    /* warm tint */
  --amber-tint: #F0E0C4;    /* feature icon bg */

  --terra: #2E7D6E;         /* teal accent (spec: ティール) */
  --terra-deep: #1E5C50;
  --terra-soft: #D5EAE3;

  /* type */
  --f-sans: "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, "Hiragino Kaku Gothic ProN", sans-serif;
  --f-serif: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;
  --f-num:  "Inter Tight", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --f-brand: "Lora", "Shippori Mincho B1", "Hiragino Mincho ProN", serif;

  /* rhythm — softer, more rounded to match the app */
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 26px;
  --r-xl: 34px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--f-sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"palt";
}

a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}

.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(249,242,230,.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line-2);
}
.nav-inner{
  max-width:1180px; margin:0 auto;
  padding:14px 28px;
  display:flex; align-items:center; gap:28px;
}
.brand{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--ink); font-weight:700;
  letter-spacing:.02em;
}
.brand-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:9px;
  background:var(--ink); color:var(--bg);
}
.brand-mark--img{
  background:transparent;
  border-radius:8px;
  object-fit:cover;
  box-shadow:0 1px 2px rgba(28,25,23,.12);
}
.brand--lg .brand-mark--img{width:36px; height:36px; border-radius:10px}
.brand-mark svg{transform:translateY(0)}
.brand-text{
  display:inline-flex; flex-direction:column; justify-content:center;
  line-height:1.05;
}
.brand-by{
  font-family:var(--f-num);
  font-size:9.5px; letter-spacing:.03em;
  color:var(--ink-3);
  margin-top:2px;
  white-space:nowrap;
}
.brand-name{font-family:var(--f-brand);font-size:20px;font-weight:600;letter-spacing:-.005em}
.brand--lg .brand-name{font-size:22px}

.nav-links{
  display:flex; gap:22px; margin-left:auto;
  font-size:13.5px; color:var(--ink-2);
}
.nav-links a{position:relative;padding:6px 0}
.nav-links a:hover{color:var(--ink)}
.nav-cta{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 14px; border-radius:999px;
  background:var(--ink); color:var(--bg);
  font-size:12.5px; font-weight:500; letter-spacing:.02em;
}
.nav-cta:hover{background:#0c0a09}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; overflow:hidden;
  padding:64px 0 120px;
  background:
    radial-gradient(900px 600px at 80% 20%, rgba(111,69,32,.10), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, rgba(217,119,66,.08), transparent 60%),
    var(--bg);
}
.hero-bg{position:absolute; inset:0; pointer-events:none; color:var(--amber)}
.hero-orbit{position:absolute; right:-12%; top:-10%; width:90%; height:120%; opacity:.7}
.hero-grain{
  position:absolute; inset:0;
  background-image:
    radial-gradient(rgba(43,26,15,.05) 1px, transparent 1px);
  background-size:3px 3px;
  mask-image:radial-gradient(ellipse at 50% 30%, rgba(0,0,0,.6), transparent 70%);
}

.hero-grid{
  position:relative;
  max-width:1180px; margin:0 auto; padding:0 28px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:64px;
  align-items:center;
}

.hero-tags{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
.hero-by{
  font-family:var(--f-num);
  font-size:12.5px; letter-spacing:.01em;
  color:var(--ink-3);
  white-space:nowrap;
}
.hero-by strong{color:var(--ink-2); font-weight:600}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 12px 5px 10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  font-family:var(--f-num);
  font-size:12px; font-weight:600;
  color:var(--ink-2); letter-spacing:.04em;
  white-space:nowrap;
}
.eyebrow-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--amber);
  box-shadow:0 0 0 4px rgba(180,83,9,.15);
}

.hero-title{
  font-family:var(--f-serif);
  font-weight:700;
  font-size: clamp(40px, 5.5vw, 76px);
  line-height:1.18;
  letter-spacing:-.01em;
  margin:22px 0 22px;
}
.hero-title em{
  font-style:normal;
  color:var(--amber-deep);
  position:relative;
  white-space:nowrap;
}
.hero-title em::after{
  content:""; position:absolute;
  left:6%; right:6%; bottom:.04em;
  height:.18em;
  background:var(--amber-soft);
  z-index:-1;
}

.hero-lede{
  font-size:16px; color:var(--ink-2);
  max-width:520px;
  margin:0 0 28px;
}

.hero-cta{display:flex; gap:12px; flex-wrap:wrap}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px;
  border-radius:999px;
  font-size:14px; font-weight:600;
  letter-spacing:.01em;
  transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn-primary{background:var(--amber); color:#fff}
.btn-primary:hover{background:var(--amber-deep); transform:translateY(-1px)}
.btn-ghost{
  background:#fff; color:var(--ink);
  border:1px solid var(--line);
}
.btn-ghost:hover{border-color:var(--ink); transform:translateY(-1px)}

.hero-meta{
  margin-top:48px;
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:0;
  border-top:1px solid var(--line);
  padding-top:24px;
  max-width:560px;
}
.meta-cell{padding-right:18px}
.meta-cell + .meta-cell{
  padding-left:18px;
  border-left:1px solid var(--line);
}
.meta-k{
  font-family:var(--f-num);
  font-size:11px; letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:4px;
}
.meta-v{font-size:13px; color:var(--ink); line-height:1.4}

/* hero stage / phone */
.hero-stage{
  position:relative;
  aspect-ratio: 4/5;
  min-height:520px;
}

.hero-phone{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%) rotate(-3deg);
  width:300px; height:620px;
}

.hero-card{
  position:absolute;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 24px 50px -24px rgba(43,26,15,.30),
    0 6px 16px -8px rgba(43,26,15,.16);
}
.hero-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-card--sale{
  right:-30px; top:-18px;
  width:222px;
  aspect-ratio: 1100 / 720;
  transform:rotate(5deg);
}
.hero-card--temp{
  left:-104px; bottom:44px;
  width:202px;
  aspect-ratio: 1040 / 320;
  transform:rotate(-6deg);
  padding:0;
}

/* =========================================================
   SECTION HEAD
   ========================================================= */
.section-head{margin-bottom:48px; max-width:760px}
.section-head--center{margin-left:auto; margin-right:auto; text-align:center}
.kicker{
  display:inline-block;
  font-family:var(--f-num);
  font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--amber);
  margin-bottom:14px;
  padding-left:22px;
  position:relative;
  white-space:nowrap;
}
.kicker::before{
  content:""; position:absolute; left:0; top:50%;
  width:14px; height:1px; background:var(--amber);
}
.section-title{
  font-family:var(--f-serif);
  font-weight:700;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height:1.28;
  letter-spacing:-.005em;
  margin:0 0 16px;
}
.section-lede{
  font-size:15.5px;
  color:var(--ink-2);
  margin:0;
}

/* =========================================================
   WHY
   ========================================================= */
.why{padding:120px 0; border-top:1px solid var(--line-2)}
.why-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.why-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px;
  transition:transform .25s ease, border-color .25s ease;
}
.why-card:hover{transform:translateY(-2px); border-color:rgba(28,25,23,.18)}
.why-card--solo{
  background:var(--ink); color:#fff; border-color:var(--ink);
}
.why-card--solo .why-label{color:rgba(255,255,255,.6)}
.why-card--solo .why-num{color:var(--amber-soft)}
.why-head{display:flex; align-items:baseline; gap:14px; margin-bottom:24px}
.why-num{
  font-family:var(--f-num);
  font-size:34px; font-weight:600;
  color:var(--ink-3);
  line-height:1;
  letter-spacing:-.02em;
}
.why-label{
  font-family:var(--f-num);
  font-size:11px; letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.why-card h3{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:22px;
  line-height:1.4;
  margin:0 0 16px;
}
.why-list{display:flex; flex-direction:column; gap:10px; font-size:14px}
.why-list li{
  padding-left:22px; position:relative;
  color:var(--ink-2);
  line-height:1.6;
}
.why-list--neg li::before{
  content:""; position:absolute; left:0; top:.7em;
  width:10px; height:1.5px; background:var(--ink-3);
}
.why-card--solo .why-list--pos li{color:rgba(255,255,255,.86)}
.why-list--pos li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:8px; height:5px;
  border-left:1.6px solid var(--amber);
  border-bottom:1.6px solid var(--amber);
  transform:rotate(-45deg);
}

/* =========================================================
   SPOTLIGHT — QR label connecting physical & app
   ========================================================= */
.spotlight{
  position:relative;
  padding:140px 0 140px;
  overflow:hidden;
}
.spotlight-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(700px 500px at 20% 30%, rgba(217,119,66,.10), transparent 60%),
    radial-gradient(800px 600px at 90% 90%, rgba(111,69,32,.10), transparent 60%),
    var(--bg-2);
  z-index:0;
}
.spotlight-bg::after{
  /* paper grain */
  content:"";
  position:absolute; inset:0;
  background-image:
    radial-gradient(rgba(43,26,15,.06) 1px, transparent 1px);
  background-size:4px 4px;
  mask-image:radial-gradient(ellipse at center, rgba(0,0,0,.4), transparent 75%);
  opacity:.5;
}
.spotlight-inner{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:64px;
  align-items:center;
}
.spotlight-stage{
  position:relative;
  height:520px;
}

/* breeding bottle */
.bottle{
  position:absolute;
  left:30px;
  top:30px;
  width:230px;
  height:430px;
  transform:rotate(-2deg);
  filter: drop-shadow(0 30px 30px rgba(43,26,15,.20));
}
.bottle-cap{
  position:absolute;
  top:0; left:50%; transform:translateX(-50%);
  width:130px; height:34px;
  background:
    linear-gradient(180deg, #3a2614 0%, #2B1A0F 60%, #1c1108 100%);
  border-radius:8px 8px 4px 4px;
  z-index:2;
}
.bottle-cap::before{
  /* perforation dots */
  content:"";
  position:absolute;
  top:9px; left:14px; right:14px; height:8px;
  background:
    radial-gradient(circle, rgba(255,255,255,.18) 1.2px, transparent 1.5px) 0 0/12px 8px;
}
.bottle-cap::after{
  content:""; position:absolute;
  left:0; right:0; bottom:0; height:5px;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.4));
  border-radius:0 0 4px 4px;
}
.bottle-body{
  position:absolute;
  top:28px; left:0; right:0; bottom:0;
  border-radius:14px 14px 22px 22px;
  background:
    linear-gradient(180deg, #F3E0BD 0%, #E9D2A6 100%);
  overflow:hidden;
  border:1px solid rgba(43,26,15,.10);
}
.bottle-mat{
  position:absolute; inset:0;
  background:
    /* organic mat texture */
    radial-gradient(circle at 20% 30%, rgba(74,46,22,.25), transparent 25%),
    radial-gradient(circle at 75% 45%, rgba(74,46,22,.20), transparent 22%),
    radial-gradient(circle at 40% 70%, rgba(74,46,22,.28), transparent 28%),
    radial-gradient(circle at 85% 78%, rgba(74,46,22,.18), transparent 20%),
    radial-gradient(circle at 12% 90%, rgba(74,46,22,.24), transparent 22%),
    repeating-linear-gradient(43deg,
      rgba(74,46,22,.05) 0 2px,
      transparent 2px 5px),
    repeating-linear-gradient(-37deg,
      rgba(74,46,22,.05) 0 1px,
      transparent 1px 4px),
    linear-gradient(180deg, #6B4520 0%, #4A2E16 100%);
}
.bottle-shine{
  position:absolute;
  top:0; bottom:0; left:8px;
  width:14px;
  background:linear-gradient(90deg, rgba(255,255,255,.22), transparent);
  border-radius:14px 0 0 22px;
}
.bottle-strap{
  position:absolute;
  left:-2px; right:-2px;
  top:46%;
  height:18px;
  background:rgba(43,26,15,.10);
  border-top:1px solid rgba(43,26,15,.06);
  border-bottom:1px solid rgba(43,26,15,.06);
}

/* QR label sticker on the bottle */
.bottle-label{
  position:absolute;
  left:50%;
  top:55%;
  transform:translate(-50%,-50%) rotate(-4deg);
  width:150px;
  background:#FCF8EE;
  border:1px solid rgba(43,26,15,.10);
  border-radius:6px;
  padding:10px 10px 8px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 12px 22px -10px rgba(43,26,15,.35),
    0 4px 10px -6px rgba(43,26,15,.20);
  z-index:3;
  display:flex; flex-direction:column; align-items:center;
}
.bl-mark{
  font-family:var(--f-brand);
  font-size:11px; font-weight:600;
  color:var(--ink);
  letter-spacing:-.01em;
  margin-bottom:4px;
}
.bl-qr{
  width:96px; height:96px;
  border:1px solid rgba(43,26,15,.06);
}
.bl-qr svg{
  width:100%; height:100%; display:block;
  image-rendering:pixelated;
}
.bl-id{
  font-family:var(--f-num);
  font-size:10.5px; font-weight:600;
  letter-spacing:.1em;
  color:var(--ink-2);
  margin-top:6px;
}

/* printed QR management label */
.qr-tag{
  position:absolute;
  left:14px; top:118px;
  width:288px;
  background:#FCFAF4;
  border:1px solid rgba(43,26,15,.12);
  border-radius:18px;
  padding:16px 18px 14px;
  transform:rotate(-3deg);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 32px 54px -26px rgba(43,26,15,.34),
    0 10px 22px -12px rgba(43,26,15,.20);
  z-index:3;
}
.qr-tag-top{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding-bottom:12px; margin-bottom:14px;
  border-bottom:1px dashed rgba(43,26,15,.20);
}
.qr-tag-brand{font-family:var(--f-brand); font-size:16px; font-weight:600; color:var(--ink)}
.qr-tag-kind{
  font-family:var(--f-num);
  font-size:10px; letter-spacing:.06em; white-space:nowrap;
  color:var(--terra-deep); background:var(--terra-soft);
  padding:3px 9px; border-radius:999px;
}
.qr-tag-main{display:flex; gap:16px; align-items:center}
.qr-tag-qr{
  width:94px; height:94px; flex:0 0 94px;
  border:1px solid rgba(43,26,15,.08);
  border-radius:8px; overflow:hidden; background:#fff;
}
.qr-tag-qr svg{width:100%; height:100%; display:block; image-rendering:pixelated}
.qr-tag-info{display:flex; flex-direction:column; gap:5px; min-width:0}
.qt-id{font-family:var(--f-num); font-size:21px; font-weight:600; letter-spacing:.04em; color:var(--ink); line-height:1}
.qt-sp{font-size:13px; font-weight:700; color:var(--ink); line-height:1.35}
.qt-line{font-family:var(--f-num); font-size:11px; color:var(--ink-3); letter-spacing:.02em}
.qr-tag-foot{
  display:flex; align-items:center; gap:8px;
  margin-top:14px; padding-top:12px;
  border-top:1px dashed rgba(43,26,15,.20);
  font-size:11.5px; color:var(--ink-2);
}
.qr-tag-foot::before{
  content:""; width:8px; height:8px; border-radius:50%;
  background:var(--terra);
  box-shadow:0 0 0 3px rgba(46,125,110,.18);
}
body.is-dark .qr-tag{background:var(--bg-2); border-color:var(--line)}
body.is-dark .qr-tag-brand{color:var(--ink)}

/* scan beam */
.scan-arc{
  position:absolute;
  left:130px;
  right:130px;
  top:10px;
  height:260px;
  pointer-events:none;
  z-index:1;
}
.scan-arc svg{width:100%; height:100%}
.scan-pulse{
  position:absolute;
  top:36px;
  left:50%;
  width:10px; height:10px;
  border-radius:50%;
  background:var(--terra);
  box-shadow:
    0 0 0 4px rgba(46,125,110,.20),
    0 0 0 12px rgba(46,125,110,.08),
    0 0 18px rgba(46,125,110,.5);
  transform:translateX(-50%);
  animation:scanPulse 2.6s ease-in-out infinite;
}
@keyframes scanPulse{
  0%, 100%{transform:translate(-50%,0) scale(1); opacity:1}
  50%{transform:translate(-50%,-6px) scale(1.15); opacity:.7}
}

/* phone on right */
.spot-phone{
  position:absolute;
  right:0;
  top:30px;
  width:220px;
  height:460px;
  border-radius:36px;
  background:#0c0a09;
  padding:6px;
  transform:rotate(4deg);
  box-shadow:
    0 36px 60px -28px rgba(43,26,15,.40),
    0 0 0 1px rgba(255,255,255,.04) inset;
  z-index:2;
}
.spot-phone::before{
  content:""; position:absolute;
  top:6px; left:50%; transform:translateX(-50%);
  width:68px; height:16px;
  background:#0c0a09;
  border-radius:0 0 12px 12px;
  z-index:2;
}
.spot-phone img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:top center;
  border-radius:30px;
  display:block;
}

/* copy */
.spotlight-copy .kicker{margin-bottom:18px}
.spotlight-copy .section-title{margin-bottom:18px}
.spotlight-copy .section-lede{margin-bottom:36px; max-width:480px}

.spot-list{
  display:flex; flex-direction:column;
  gap:0;
  border-top:1px solid var(--line);
}
.spot-list li{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  align-items:baseline;
}
.sl-num{
  font-family:var(--f-num);
  font-size:13px; font-weight:600;
  letter-spacing:.06em;
  color:var(--terra);
}
.sl-body{display:flex; flex-direction:column; gap:4px}
.sl-body strong{
  font-family:var(--f-serif);
  font-size:17px; font-weight:700;
  color:var(--ink);
  line-height:1.4;
}
.sl-body span{
  font-size:13.5px;
  color:var(--ink-2);
  line-height:1.7;
}

/* dark mode */
body.is-dark .spotlight-bg{background:
  radial-gradient(700px 500px at 20% 30%, rgba(217,119,66,.12), transparent 60%),
  radial-gradient(800px 600px at 90% 90%, rgba(111,69,32,.18), transparent 60%),
  var(--bg-2);
}
body.is-dark .bottle-label{background:#22160B; border-color:rgba(255,255,255,.08)}
body.is-dark .bl-mark{color:var(--ink)}
body.is-dark .bl-id{color:var(--ink-2)}
body.is-dark .bl-qr svg rect[fill="#fff"]{fill:#22160B}
body.is-dark .bl-qr svg g[fill="#2B1A0F"] rect{fill:#FCF8EE}
body.is-dark .bl-qr svg > rect{fill:#22160B}

/* =========================================================
   FEATURES
   ========================================================= */
.features{
  padding:120px 0;
  background:var(--bg-2);
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
}
.feat-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.feat{
  background:var(--bg);
  padding:32px 28px;
  display:flex; flex-direction:column; gap:14px;
  transition:background .2s ease;
}
.feat:hover{background:#fff}
.feat[style*="--feat-span:2"]{grid-column:span 2}
.feat-ic{
  width:44px; height:44px;
  border-radius:12px;
  background:var(--amber-tint);
  color:var(--amber-deep);
  display:flex; align-items:center; justify-content:center;
}
.feat h3{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:18px;
  margin:0;
  line-height:1.4;
}
.feat p{
  margin:0;
  font-size:13.5px;
  color:var(--ink-2);
  line-height:1.7;
}

/* =========================================================
   SCREENS
   ========================================================= */
.screens{padding:120px 0; overflow:hidden}
.screens-stage{
  position:relative;
  background:
    radial-gradient(700px 400px at 50% 50%, rgba(180,83,9,.06), transparent 65%),
    var(--bg);
  padding:60px 0 80px;
  margin-top:24px;
}
.screens-rail{
  display:flex; justify-content:center; align-items:flex-end;
  gap:18px;
  perspective:1200px;
}
.phone{
  width:260px; height:540px;
  position:relative;
  border-radius:42px;
  background:#0c0a09;
  padding:8px;
  box-shadow:
    0 30px 60px -30px rgba(28,25,23,.4),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 1px 0 rgba(255,255,255,.08) inset;
  transform-style:preserve-3d;
}
.phone--tilt-l{transform:translateY(20px) rotate(-6deg) rotateY(8deg)}
.phone--center{transform:translateY(-10px) scale(1.04)}
.phone--tilt-r{transform:translateY(20px) rotate(6deg) rotateY(-8deg)}
.phone-cap{
  position:absolute;
  bottom:-44px; left:50%; transform:translateX(-50%);
  font-family:var(--f-num);
  font-size:11.5px; letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-3);
  white-space:nowrap;
}
.screens-note{
  margin-top:64px; text-align:center;
  font-size:12.5px; color:var(--ink-3);
  display:inline-flex; align-items:center; gap:8px;
  width:100%;
  justify-content:center;
}
.note-dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--amber);
  display:inline-block;
}

/* phone inner screen */
.screen{
  width:100%; height:100%;
  background:var(--bg);
  border-radius:34px;
  overflow:hidden;
  position:relative;
  color:var(--ink);
  font-size:11px;
}
.screen-img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
}
.screen-status{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 18px 4px;
  font-family:var(--f-num);
  font-size:11px; font-weight:600;
  color:var(--ink);
}
.screen-status .ss-r{display:flex; align-items:center; gap:5px}
.screen-status svg{width:14px; height:10px}
.screen-hd{
  padding:6px 18px 12px;
  display:flex; align-items:center; justify-content:space-between;
}
.screen-hd h4{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:18px;
  margin:0;
  line-height:1;
}
.screen-hd .sh-act{
  width:28px; height:28px; border-radius:50%;
  background:var(--amber);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:300; line-height:1;
}
.screen-search{
  margin:0 14px 12px;
  display:flex; align-items:center; gap:6px;
  padding:7px 11px;
  background:rgba(28,25,23,.05);
  border-radius:10px;
  color:var(--ink-3);
  font-size:11px;
}
.screen-chips{
  display:flex; gap:6px; padding:0 14px 12px;
  overflow:hidden;
}
.chip{
  font-family:var(--f-num);
  font-size:10.5px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--ink-2);
  white-space:nowrap;
}
.chip.is-on{background:var(--ink); border-color:var(--ink); color:#fff}

.screen-list{display:flex; flex-direction:column; gap:8px; padding:0 14px}
.li-card{
  display:flex; gap:10px;
  padding:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.li-thumb{
  width:46px; height:46px; flex:0 0 46px;
  border-radius:8px;
  background:linear-gradient(135deg, #44403C 0%, #1c1917 100%);
  position:relative;
  overflow:hidden;
}
.li-thumb::after{
  content:""; position:absolute; inset:auto 0 0 0; height:50%;
  background:linear-gradient(0deg, rgba(180,83,9,.35), transparent);
}
.li-thumb--2{background:linear-gradient(135deg,#78716C,#1c1917)}
.li-thumb--3{background:linear-gradient(135deg,#92400E,#1c1917)}
.li-thumb--4{background:linear-gradient(135deg,#57534E,#1c1917)}
.li-body{flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:3px}
.li-name{
  font-size:11px; font-weight:700; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.li-name .li-size{font-family:var(--f-num); font-size:10px; color:var(--ink-3); font-weight:500; margin-left:4px}
.li-meta{
  font-family:var(--f-num);
  font-size:9.5px; letter-spacing:.02em;
  color:var(--ink-3);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.li-meta span + span::before{content:" · "; color:rgba(28,25,23,.25)}
.li-tag{flex:0 0 auto}
.li-meta span + span::before{content:"·"; margin-right:6px}
.li-tag{
  align-self:flex-start;
  font-family:var(--f-num);
  font-size:9px;
  padding:3px 7px;
  border-radius:4px;
  background:var(--amber-soft);
  color:var(--amber-deep);
  letter-spacing:.04em;
}
.li-tag.is-male{background:rgba(28,25,23,.08); color:var(--ink)}

/* screen variants */
.screen--breed{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%)}
.breed-summary{
  margin:0 14px 12px;
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
}
.bs-title{font-size:11.5px; font-weight:700; margin-bottom:10px}
.bs-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:0}
.bs-cell{padding-right:8px}
.bs-cell + .bs-cell{border-left:1px solid var(--line); padding-left:8px}
.bs-k{font-family:var(--f-num); font-size:9px; letter-spacing:.08em; color:var(--ink-3); text-transform:uppercase}
.bs-v{font-family:var(--f-num); font-size:22px; font-weight:600; color:var(--ink); line-height:1.1}
.bs-v small{font-size:10px; color:var(--ink-3); margin-left:2px}

.timeline{padding:0 14px}
.tl-item{display:flex; gap:10px; padding:8px 0; position:relative}
.tl-item + .tl-item{border-top:1px solid var(--line-2)}
.tl-day{
  flex:0 0 36px;
  font-family:var(--f-num);
  font-size:9.5px;
  color:var(--ink-3);
  letter-spacing:.04em;
  padding-top:2px;
}
.tl-body{flex:1; font-size:11px; line-height:1.5}
.tl-body strong{font-size:11.5px; display:block; margin-bottom:2px}
.tl-body em{font-style:normal; font-family:var(--f-num); color:var(--amber-deep); font-size:10.5px}

/* screen sale tag */
.screen--tag{background:var(--bg-3); padding:18px 14px}
.tag-card{
  background:#fff;
  border:1px solid var(--ink);
  border-radius:8px;
  padding:12px;
  height:calc(100% - 56px);
  display:flex; flex-direction:column;
  position:relative;
}
.tag-mark{
  font-family:var(--f-num);
  font-size:9px; letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber-deep);
  border-bottom:1px solid var(--ink);
  padding-bottom:6px;
  margin-bottom:10px;
}
.tag-species{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:13px;
  line-height:1.3;
  margin-bottom:2px;
}
.tag-sci{font-style:italic; font-size:9px; color:var(--ink-3); margin-bottom:10px; line-height:1.3}
.tag-rows{font-size:10px; flex:1}
.tag-row{
  display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  padding:4px 0;
  border-bottom:1px dashed var(--line);
}
.tag-row span{white-space:nowrap}
.tag-row span:first-child{color:var(--ink-3); font-size:10px}
.tag-row span:last-child{font-family:var(--f-num); font-weight:500}
.tag-foot{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-top:10px;
}
.tag-price{
  font-family:var(--f-serif);
  font-size:18px; font-weight:700;
  white-space:nowrap;
}
.tag-price small{font-size:11px; color:var(--ink-3); font-weight:400; margin-right:2px}
.tag-qr{
  width:44px; height:44px;
  background:
    linear-gradient(45deg, var(--ink) 25%, transparent 25%, transparent 50%, var(--ink) 50%, var(--ink) 75%, transparent 75%) 0 0/6px 6px,
    #fff;
  border-radius:4px;
  border:1px solid var(--ink);
}

/* notch */
.phone::before{
  content:""; position:absolute;
  top:8px; left:50%; transform:translateX(-50%);
  width:80px; height:22px;
  background:#0c0a09;
  border-radius:0 0 16px 16px;
  z-index:2;
}
.phone::after{
  content:""; position:absolute;
  bottom:18px; left:50%; transform:translateX(-50%);
  width:100px; height:4px;
  background:rgba(255,255,255,.5);
  border-radius:999px;
  z-index:2;
}

/* hero phone is just a special wrapper for the same screen */
.hero-phone{
  background:#0c0a09;
  border-radius:48px;
  padding:8px;
  box-shadow:
    0 60px 100px -40px rgba(28,25,23,.45),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 1px 0 rgba(255,255,255,.08) inset;
}
.hero-phone::before{
  content:""; position:absolute;
  top:8px; left:50%; transform:translateX(-50%);
  width:96px; height:26px;
  background:#0c0a09;
  border-radius:0 0 18px 18px;
  z-index:2;
}
.hero-phone::after{
  content:""; position:absolute;
  bottom:18px; left:50%; transform:translateX(-50%);
  width:110px; height:4px;
  background:rgba(255,255,255,.5);
  border-radius:999px;
  z-index:2;
}
.hero-phone .screen{border-radius:40px}

/* =========================================================
   GALLERY (real screens)
   ========================================================= */
.gallery{
  padding:120px 0;
  background:var(--bg);
  border-top:1px solid var(--line-2);
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:64px 28px;
  margin-top:48px;
  justify-items:center;
}
.g-item{
  display:flex; flex-direction:column; align-items:center;
  margin:0;
  max-width:280px;
}
.mini-phone{
  width:230px; height:478px;
  border-radius:38px;
  background:#0c0a09;
  padding:6px;
  position:relative;
  box-shadow:
    0 24px 48px -24px rgba(28,25,23,.35),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 1px 0 rgba(255,255,255,.08) inset;
}
.mini-phone::before{
  content:""; position:absolute;
  top:6px; left:50%; transform:translateX(-50%);
  width:72px; height:18px;
  background:#0c0a09;
  border-radius:0 0 14px 14px;
  z-index:2;
}
.mini-phone::after{
  content:""; position:absolute;
  bottom:14px; left:50%; transform:translateX(-50%);
  width:88px; height:3px;
  background:rgba(255,255,255,.5);
  border-radius:999px;
  z-index:2;
}
.mini-phone img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:top center;
  border-radius:32px;
  display:block;
}
.mini-phone .mock-screen{
  width:100%; height:100%;
  border-radius:32px;
  overflow:hidden;
  display:flex; flex-direction:column;
  background:var(--bg);
  color:var(--ink);
  font-size:11px;
  font-family:var(--f-sans);
}

/* mock-screen pieces (used for placeholder app screens) */
.ms-status{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 22px 6px;
  font-family:var(--f-num);
  font-size:10px; font-weight:700;
  background:var(--bg-3);
}
.ms-status .ms-ico{font-size:6px; letter-spacing:1px; color:var(--ink-3)}
.ms-app-hd{
  background:var(--bg-3);
  padding:6px 14px 14px;
  display:grid; grid-template-columns:24px 1fr 24px;
  align-items:center;
}
.ms-app-title{
  text-align:center;
  font-family:var(--f-serif);
  font-size:15px; font-weight:700;
  color:var(--ink);
  letter-spacing:.02em;
}
.ms-back{font-size:18px; color:var(--ink); line-height:1}
.ms-app-act{text-align:right; font-size:13px; color:var(--ink-2)}
.ms-body{
  flex:1;
  padding:14px;
  display:flex; flex-direction:column;
  gap:10px;
  background:var(--bg);
  overflow:hidden;
}
.ms-ind-card{
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  border:1px solid var(--line-2);
}
.ms-ind-sp{font-size:11.5px; font-weight:700; line-height:1.3}
.ms-ind-meta{
  font-family:var(--f-num);
  font-size:9.5px; color:var(--ink-3);
  margin-top:3px;
}
.ms-qr-card{
  background:#fff;
  border-radius:14px;
  padding:14px 14px 12px;
  display:flex; flex-direction:column;
  align-items:center;
  border:1px solid var(--line-2);
}
.ms-qr-img{
  width:118px; height:118px;
  display:block;
  margin-bottom:10px;
}
.ms-qr-img svg{width:100%; height:100%; display:block; image-rendering:pixelated}
.ms-code-label{
  font-family:var(--f-num);
  font-size:8.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-3);
}
.ms-code{
  font-family:var(--f-num);
  font-size:17px; font-weight:600; letter-spacing:.08em;
  color:var(--ink);
  margin-top:3px;
}
.ms-btn{
  font-size:11px; font-weight:600;
  padding:11px;
  border:1px solid var(--line);
  border-radius:100px;
  text-align:center;
  background:#fff;
  color:var(--ink);
  font-family:var(--f-sans);
  cursor:default;
}
.ms-btn--primary{
  background:var(--amber); color:#fff; border-color:var(--amber);
}
.ms-btn--ghost{
  background:#fff; color:var(--ink); border-color:var(--line);
}
.ms-help{
  font-size:9.5px; color:var(--ink-3);
  text-align:center; line-height:1.6;
  margin-top:auto;
  padding-top:4px;
}

/* receive variant */
.ms-body--dark{
  background:#1B0F06;
  color:#fff;
}
.ms-camera{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:#0c0a09;
  flex:1;
  min-height:160px;
}
.ms-camera-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 30% 30%, rgba(217,119,66,.10), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(111,69,32,.18), transparent 50%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.015) 0 2px, transparent 2px 6px),
    #0e0905;
}
.ms-target{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:130px; height:130px;
}
.ms-corner{
  position:absolute;
  width:22px; height:22px;
}
.ms-corner--tl{top:0; left:0; border-top:2px solid #fff; border-left:2px solid #fff; border-top-left-radius:6px}
.ms-corner--tr{top:0; right:0; border-top:2px solid #fff; border-right:2px solid #fff; border-top-right-radius:6px}
.ms-corner--bl{bottom:0; left:0; border-bottom:2px solid #fff; border-left:2px solid #fff; border-bottom-left-radius:6px}
.ms-corner--br{bottom:0; right:0; border-bottom:2px solid #fff; border-right:2px solid #fff; border-bottom-right-radius:6px}
.ms-cam-hint{
  position:absolute;
  bottom:14px; left:0; right:0;
  text-align:center;
  font-size:9.5px;
  color:rgba(255,255,255,.7);
  letter-spacing:.04em;
}
.ms-or{
  text-align:center;
  font-family:var(--f-num);
  font-size:9.5px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  position:relative;
  padding:4px 0;
}
.ms-or::before, .ms-or::after{
  content:""; position:absolute; top:50%;
  width:30%; height:1px;
  background:rgba(255,255,255,.18);
}
.ms-or::before{left:0}
.ms-or::after{right:0}
.ms-body--dark .ms-btn--ghost{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.ms-body--dark .ms-help{color:rgba(255,255,255,.5)}
.g-cap{
  margin-top:28px;
  text-align:center;
  max-width:240px;
}
.g-num{
  font-family:var(--f-num);
  font-size:11px; font-weight:600;
  letter-spacing:.16em;
  color:var(--amber);
  margin-bottom:8px;
}
.g-cap h4{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:17px;
  margin:0 0 8px;
  line-height:1.4;
}
.g-cap p{
  margin:0;
  font-size:13px;
  color:var(--ink-2);
  line-height:1.7;
}
body.is-dark .gallery{background:var(--bg)}

/* =========================================================
   HOW IT WORKS
   ========================================================= */
.how{padding:120px 0; background:var(--bg-2); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2)}
.steps{display:flex; flex-direction:column; gap:0}
.step{
  display:grid;
  grid-template-columns:120px 1fr 280px;
  gap:40px;
  align-items:center;
  padding:40px 0;
  border-top:1px solid var(--line);
}
.step:last-child{border-bottom:1px solid var(--line)}
.step-n{
  font-family:var(--f-num);
  font-size:64px; font-weight:600;
  color:var(--amber);
  line-height:1;
  letter-spacing:-.03em;
}
.step-body h3{
  font-family:var(--f-serif);
  font-weight:700;
  font-size:24px;
  margin:0 0 8px;
}
.step-body p{margin:0; color:var(--ink-2); font-size:14.5px; max-width:560px}
.step-vis{
  height:140px;
  border-radius:14px;
  background:var(--bg);
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
}
.step-vis::before{
  content:attr(data-vis);
  position:absolute;
  top:14px; left:14px;
  font-family:var(--f-num);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.step-vis[data-step="register"]{
  background:
    radial-gradient(140px 100px at 30% 50%, rgba(180,83,9,.18), transparent 70%),
    var(--bg);
  display:flex; align-items:center; justify-content:center;
}
.step-vis[data-step="register"]::after{
  content:""; width:78px; height:78px; border-radius:14px;
  background:#fff; border:1px solid var(--line);
  box-shadow:0 14px 28px -16px rgba(28,25,23,.25);
  background-image:
    radial-gradient(circle at 28% 36%, var(--amber-deep) 14%, transparent 15%),
    radial-gradient(circle at 70% 60%, var(--ink) 22%, transparent 23%);
  background-size:100% 100%;
}
.step-vis[data-step="log"]{
  display:flex; align-items:flex-end; justify-content:center; gap:6px;
  padding:24px;
  background:var(--bg);
}
.step-vis[data-step="log"]::before,
.step-vis[data-step="log"]::after{display:none}
.step-vis[data-step="log"] i,
.step-vis[data-step="log"] em{display:none}
.step-vis[data-step="log"] .bar{
  flex:1; max-width:18px;
  height:var(--h);
  background:rgba(28,25,23,.12);
  border-radius:3px;
  display:block;
}
.step-vis[data-step="log"] .bar--lit{background:var(--amber)}

.step-vis[data-step="ship"]{
  background:var(--bg);
  display:flex; align-items:center; justify-content:center;
}
.step-vis[data-step="ship"] .qr-mini{
  width:88px; height:88px;
  background:#fff;
  border:1px solid var(--line);
  padding:10px;
  border-radius:10px;
  box-shadow:0 14px 28px -16px rgba(28,25,23,.25);
  background-image:
    linear-gradient(45deg, var(--ink) 25%, transparent 25%, transparent 50%, var(--ink) 50%, var(--ink) 75%, transparent 75%);
  background-size:7px 7px;
  background-origin:content-box;
  background-clip:content-box;
}

/* =========================================================
   PRICING
   ========================================================= */
.pricing{padding:120px 0}
.launch-banner{
  display:flex; align-items:center; gap:18px;
  padding:18px 22px;
  background:var(--ink); color:#fff;
  border-radius:var(--r-md);
  margin-bottom:40px;
  flex-wrap:wrap;
}
.lb-tag{
  font-family:var(--f-num);
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--amber-soft);
  padding:5px 11px;
  border:1px solid rgba(254,243,199,.3);
  border-radius:999px;
  flex:0 0 auto;
  white-space:nowrap;
}
.lb-body{flex:1; display:flex; flex-direction:column; gap:2px}
.lb-body strong{font-weight:600; font-size:14.5px}
.lb-body span{font-size:12.5px; color:rgba(255,255,255,.6)}

.price-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.price{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px;
  display:flex; flex-direction:column; gap:24px;
  position:relative;
}
.price--pro{
  background:var(--ink); color:#fff; border-color:var(--ink);
}
.price-badge{
  position:absolute; top:-12px; right:24px;
  font-family:var(--f-num);
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  background:var(--amber);
  color:#fff;
  padding:5px 12px; border-radius:999px;
}
.price-name{
  font-family:var(--f-num);
  font-size:14px; font-weight:600;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.price-desc{font-size:13px; color:var(--ink-3)}
.price--pro .price-desc{color:rgba(255,255,255,.55)}
.price-amt{
  display:flex; align-items:baseline; gap:8px;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.price--pro .price-amt{border-color:rgba(255,255,255,.12)}
.price-amt .amt{
  font-family:var(--f-num);
  font-size:42px; font-weight:600;
  letter-spacing:-.02em; line-height:1;
}
.price-amt .per{font-size:13px; color:var(--ink-3)}
.price--pro .price-amt .per{color:rgba(255,255,255,.6)}
.price-amt--soon{align-items:center}
.price-amt--soon .soon{
  font-family:var(--f-serif);
  font-size:22px; font-weight:600;
  color:rgba(255,255,255,.88);
  letter-spacing:.005em;
}
.price-list{display:flex; flex-direction:column; gap:10px; font-size:14px}
.price-list li{
  padding-left:24px; position:relative;
  color:var(--ink-2);
}
.price--pro .price-list li{color:rgba(255,255,255,.86)}
.price-list li::before{
  content:""; position:absolute;
  left:0; top:.5em;
  width:9px; height:5px;
  border-left:1.6px solid var(--amber);
  border-bottom:1.6px solid var(--amber);
  transform:rotate(-45deg);
}
.price-foot{
  margin-top:24px;
  font-size:12.5px;
  color:var(--ink-3);
  text-align:center;
}

/* ----- plan comparison table (Free vs Premium) ----- */
.plans{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:visible;
  background:#fff;
}
.plans-row{
  display:grid;
  grid-template-columns:1.55fr 1fr 1.05fr;
  align-items:stretch;
}
.plans-row + .plans-row{border-top:1px solid var(--line)}
.pl-cell{
  padding:20px 24px;
  display:flex; flex-direction:column; justify-content:center; gap:4px;
}
.pl-cell--label{gap:5px}
.pl-cell--label strong{
  font-family:var(--f-serif);
  font-size:16px; font-weight:700; line-height:1.45; color:var(--ink);
}
.pl-cell--label span{font-size:11.5px; color:var(--ink-3); line-height:1.6}
.pl-cell--free, .pl-cell--prem{
  text-align:center; align-items:center;
}
.pl-cell--free{border-left:1px solid var(--line)}
.pl-cell--prem{background:var(--ink); color:#fff}
.plans-row:first-child .pl-cell--prem{border-top-right-radius:calc(var(--r-lg) - 1px)}
.plans-row:last-child .pl-cell--prem{border-bottom-right-radius:calc(var(--r-lg) - 1px)}
.plans-row:last-child .pl-cell--label{border-bottom-left-radius:calc(var(--r-lg) - 1px)}

/* head row */
.plans-row--head{position:relative}
.plans-row--head .pl-cell{padding:24px 24px 22px; justify-content:flex-start}
.pl-name{
  font-family:var(--f-num);
  font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3);
}
.pl-cell--prem .pl-name{color:var(--amber-soft)}
.pl-price{
  font-family:var(--f-num);
  font-size:32px; font-weight:600; letter-spacing:-.02em; line-height:1;
  color:var(--ink); margin-top:8px;
}
.pl-price span{font-size:12px; color:var(--ink-3); font-weight:500; margin-left:5px; letter-spacing:0}
.pl-cell--prem .pl-price{color:#fff}
.pl-price--soon{
  font-family:var(--f-serif); font-size:18px; font-weight:600; letter-spacing:.01em;
  color:#fff;
}
.pl-tagline{font-size:11.5px; color:var(--ink-3); margin-top:10px}
.pl-cell--prem .pl-tagline{color:rgba(255,255,255,.62)}
.pl-badge{
  position:absolute; top:0; right:24px;
  transform:translateY(-50%);
  font-family:var(--f-num);
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  background:var(--amber); color:#fff;
  padding:4px 11px; border-radius:999px;
}

/* value cells */
.pl-yes{
  font-style:normal; font-family:var(--f-num);
  font-size:15px; font-weight:600; color:var(--ink);
}
.pl-cell--prem .pl-yes{color:#fff}
.pl-yes--check::before{content:"✓ "; color:var(--amber)}
.pl-cell--prem .pl-yes--check::before{color:var(--amber-soft)}
.pl-meter{font-family:var(--f-num); font-size:13.5px; font-weight:600; color:var(--ink-2); line-height:1.4}
.pl-meter small{display:block; font-size:10px; color:var(--ink-3); font-weight:500; margin-top:2px}
.pl-no{font-size:12.5px; color:var(--ink-3); line-height:1.5}
.pl-dash{color:rgba(43,26,15,.28); font-size:18px}
.plans-note{
  margin:16px 4px 0;
  font-size:12.5px; color:var(--ink-3); line-height:1.75;
}
.plans-note + .plans-note{margin-top:6px}

body.is-dark .plans{background:var(--bg-2); border-color:var(--line)}
body.is-dark .pl-cell--prem{background:var(--bg-3)}
body.is-dark .pl-dash{color:rgba(250,250,249,.3)}

@media (max-width:720px){
  .plans-row{grid-template-columns:1fr 1fr}
  .pl-cell--label{grid-column:1 / -1; border-bottom:1px solid var(--line); padding:16px 18px}
  .pl-cell--free, .pl-cell--prem{padding:16px 10px; border-left:none}
  .plans-row--head .pl-cell--label{display:none}
  .plans-row--head .pl-cell{padding:20px 12px}
  .pl-badge{right:12px}
}

/* =========================================================
   COMING SOON
   ========================================================= */
.coming{
  padding:120px 0;
  background:
    radial-gradient(900px 600px at 20% 80%, rgba(180,83,9,.10), transparent 60%),
    var(--bg-2);
  border-top:1px solid var(--line-2);
}
.coming-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.coming-copy .section-title{margin-bottom:14px}
.coming-icon{
  width:120px; height:120px;
  border-radius:28px;
  margin-bottom:24px;
  box-shadow:
    0 1px 2px rgba(28,25,23,.08),
    0 24px 48px -16px rgba(76,46,21,.32),
    0 12px 24px -10px rgba(28,25,23,.18);
}
.badges{display:flex; flex-direction:column; gap:14px}
.badge{
  display:flex; align-items:center; gap:14px;
  padding:18px 22px;
  background:var(--ink); color:#fff;
  border-radius:18px;
}
.badge-k{
  font-family:var(--f-num);
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
  margin-bottom:2px;
  white-space:nowrap;
}
.badge-v{font-family:var(--f-num); font-size:18px; font-weight:600; white-space:nowrap}
.badge--meta{
  background:transparent; color:var(--ink);
  border:1px solid var(--line);
  gap:48px;
}
.badge--meta .badge-k{color:var(--ink-3)}
.badge--meta .badge-v{color:var(--ink); font-size:14px}

/* =========================================================
   FAQ
   ========================================================= */
.faq{padding:120px 0; border-top:1px solid var(--line-2)}
.faq-list{
  max-width:820px;
  border-top:1px solid var(--line);
}
.faq-list details{
  border-bottom:1px solid var(--line);
  padding:6px 0;
}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  padding:18px 0;
  font-size:15px;
  font-weight:600;
  display:flex; justify-content:space-between; align-items:center;
  gap:18px;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-x{
  font-family:var(--f-num);
  font-size:18px; font-weight:400;
  color:var(--amber);
  transition:transform .2s ease;
  flex:0 0 auto;
}
.faq-list details[open] .faq-x{transform:rotate(45deg)}
.faq-list p{
  margin:0 0 18px;
  font-size:14px; color:var(--ink-2); line-height:1.85;
}
.faq-list a{color:var(--amber-deep); text-decoration:underline; text-underline-offset:3px}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  padding:80px 0 32px;
  background:var(--ink); color:rgba(255,255,255,.7);
}
.footer .brand{color:#fff}
.footer .brand-mark{background:#fff; color:var(--ink)}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
}
.footer-brand p{margin:18px 0; font-size:13.5px; line-height:1.7}
.footer-x{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-num);
  font-size:13px;
  color:#fff;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
}
.footer-x:hover{background:rgba(255,255,255,.06)}
.footer-col h4{
  font-family:var(--f-num);
  font-size:12px; font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 16px;
}
.footer-col ul{display:flex; flex-direction:column; gap:10px; font-size:13.5px}
.footer-col a:hover{color:#fff}
.footer-base{
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:24px;
  display:flex; justify-content:space-between;
  font-family:var(--f-num);
  font-size:11.5px;
  color:rgba(255,255,255,.45);
  letter-spacing:.04em;
}

/* =========================================================
   REVEAL ON SCROLL
   ========================================================= */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .8s ease, transform .8s ease}
.reveal.is-in{opacity:1; transform:none}

/* =========================================================
   DARK MODE (Tweaks)
   ========================================================= */
body.is-dark{
  --bg: #0C0A09;
  --bg-2: #1C1917;
  --bg-3: #292524;
  --ink: #FAFAF9;
  --ink-2: #D6D3D1;
  --ink-3: #A8A29E;
  --line: rgba(250,250,249,.10);
  --line-2: rgba(250,250,249,.05);
  --amber-tint: rgba(180,83,9,.18);
}
body.is-dark .nav{background:rgba(12,10,9,.78); border-bottom-color:var(--line-2)}
body.is-dark .brand-mark{background:var(--ink); color:var(--bg)}
body.is-dark .nav-cta{background:var(--ink); color:var(--bg)}
body.is-dark .nav-cta:hover{background:#fff}
body.is-dark .eyebrow{background:var(--bg-2); border-color:var(--line)}
body.is-dark .btn-ghost{background:var(--bg-2); color:var(--ink); border-color:var(--line)}
body.is-dark .why-card,
body.is-dark .price{background:var(--bg-2); border-color:var(--line)}
body.is-dark .why-card--solo,
body.is-dark .price--pro,
body.is-dark .launch-banner,
body.is-dark .badge{background:var(--bg-3); color:var(--ink)}
body.is-dark .hero-card{background:var(--bg-2); border-color:var(--line)}
body.is-dark .feat{background:var(--bg)}
body.is-dark .feat:hover{background:var(--bg-2)}
body.is-dark .feat-grid{background:var(--line); border-color:var(--line)}
body.is-dark .li-card,
body.is-dark .breed-summary{background:var(--bg-2); border-color:var(--line)}
body.is-dark .screen{background:var(--bg)}
body.is-dark .step-vis{background:var(--bg); border-color:var(--line)}
body.is-dark .footer{background:var(--bg-3)}
body.is-dark .hc-qr,
body.is-dark .tag-qr{filter:invert(1)}
body.is-dark .screen-search{background:rgba(250,250,249,.06)}
body.is-dark .chip{border-color:var(--line); color:var(--ink-2)}
body.is-dark .chip.is-on{background:var(--ink); color:var(--bg); border-color:var(--ink)}
body.is-dark .tag-card{background:var(--bg-2); border-color:var(--ink-3)}
body.is-dark .tag-mark{border-bottom-color:var(--ink-3)}
body.is-dark .screen--tag{background:var(--bg-3)}
body.is-dark .hero{background:
    radial-gradient(900px 600px at 80% 20%, rgba(180,83,9,.14), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, rgba(180,83,9,.07), transparent 60%),
    var(--bg);}
body.is-dark .features,
body.is-dark .how,
body.is-dark .coming{background:var(--bg-2)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px){
  .hero-grid{grid-template-columns:1fr; gap:48px}
  .hero-stage{min-height:480px}
  .feat-grid{grid-template-columns:repeat(2, 1fr)}
  .feat[style*="--feat-span:2"]{grid-column:span 2}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-card--solo{grid-column:span 2}
  .step{grid-template-columns:80px 1fr; }
  .step-vis{display:none}
  .coming-inner{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:span 2}
  .gallery-grid{grid-template-columns:repeat(2, 1fr); gap:56px 24px}
  .spotlight-inner{grid-template-columns:1fr; gap:24px}
  .spotlight-stage{height:460px}
}
@media (max-width: 720px){
  .nav-links{display:none}
  .hero{padding:28px 0 64px}
  .hero-title{font-size:clamp(30px, 8.5vw, 40px)}
  .hero-lede{font-size:15px}
  .hero-stage{aspect-ratio:auto; min-height:0; height:500px; margin-top:8px}
  .hero-phone{width:244px; height:500px}
  .hero-meta{grid-template-columns:1fr; gap:0; margin-top:32px; padding-top:18px; max-width:none}
  .meta-cell{padding:14px 0}
  .meta-cell + .meta-cell{padding-left:0; border-left:none; border-top:1px solid var(--line)}
  .why{padding:80px 0}
  .why-grid{grid-template-columns:1fr}
  .why-card--solo{grid-column:auto}
  .features, .how, .pricing, .coming, .faq{padding:80px 0}
  .feat-grid{grid-template-columns:1fr}
  .feat[style*="--feat-span:2"]{grid-column:span 1}
  .price-grid{grid-template-columns:1fr}
  .step{grid-template-columns:60px 1fr; gap:20px}
  .step-n{font-size:42px}
  .screens-rail{flex-direction:column; align-items:center; gap:60px}
  .phone--tilt-l, .phone--tilt-r, .phone--center{transform:none}
  .footer-grid{grid-template-columns:1fr; gap:32px}
  .footer-brand{grid-column:auto}
  .gallery-grid{grid-template-columns:1fr; gap:56px}
  .spotlight{padding:80px 0}
  .spotlight-stage{height:400px}
  .bottle{width:180px; height:340px; left:10px; top:30px}
  .spot-phone{width:170px; height:360px; top:20px}
  .scan-arc{left:90px; right:90px; top:0; height:220px}
}
