:root{--la:#e7c58b;--ln:rgba(255,255,255,.10)}
.launch-page{max-width:1180px;margin:auto;padding:70px 26px 90px;color:#f5f3ee}.launch-hero{max-width:850px;margin-bottom:36px}
.launch-kicker{font-size:11px;letter-spacing:.16em;font-weight:850;color:var(--la);margin-bottom:12px}.launch-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.03;letter-spacing:-.05em;margin:0 0 22px}
.launch-lead{max-width:760px;color:rgba(245,243,238,.68);font-size:17px;line-height:1.8}.launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.launch-card{position:relative;padding:30px;border:1px solid var(--ln);border-radius:26px;background:#10151c}.launch-card.featured{border-color:rgba(231,197,139,.34)}
.launch-card-index{font-size:10px;letter-spacing:.16em;color:rgba(245,243,238,.42);font-weight:800}.launch-card h2,.launch-after h2,.launch-modal-card h2{font-size:25px;margin:14px 0}
.launch-price{font-size:33px;font-weight:850;color:var(--la);margin:8px 0 20px}.launch-price span{font-size:14px;color:rgba(245,243,238,.46)}.launch-price .old-price{text-decoration:line-through;margin-right:10px}
.launch-card ul{padding-left:20px;color:rgba(245,243,238,.72);line-height:1.85;min-height:145px}.launch-status{min-height:24px;margin:14px 0;color:rgba(245,243,238,.62);font-size:13px}.launch-status.good{color:#9fe2ad}.launch-status.warn{color:#f0ce8d}.launch-status.bad{color:#ff9a9a}
.early-badge{position:absolute;right:24px;top:24px;border:1px solid rgba(231,197,139,.32);color:var(--la);border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800}
.launch-btn{display:flex;justify-content:center;align-items:center;width:100%;min-height:50px;border-radius:999px;border:1px solid rgba(255,255,255,.13);text-decoration:none;margin-top:10px;font-weight:780;font-size:14px;cursor:pointer;background:transparent;color:#fff}.launch-btn.primary,.launch-btn.checkout{background:#f3eee3;color:#111}.launch-btn:disabled{opacity:.42;cursor:not-allowed}.hidden{display:none!important}
.launch-after{margin-top:22px;padding:30px;border:1px solid var(--ln);border-radius:26px;background:#0f141a;display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.fulfill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fulfill-card{padding:18px;border-radius:18px;border:1px solid var(--ln);background:rgba(255,255,255,.025);color:#fff;text-align:left}
.launch-truth{margin-top:18px;border:1px solid rgba(231,197,139,.22);background:rgba(231,197,139,.055);border-radius:18px;padding:20px;display:grid;gap:7px}.launch-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px}.launch-modal-card{position:relative;width:min(620px,100%);background:#10151c;border:1px solid var(--ln);border-radius:24px;padding:28px;color:#fff}.modal-close{position:absolute;right:18px;top:14px;background:none;border:0;color:#fff;font-size:28px}.launch-modal-card label{display:grid;gap:7px;margin:14px 0}.launch-modal-card input,.launch-modal-card textarea,.launch-modal-card select{width:100%;background:#0b0f14;color:#fff;border:1px solid var(--ln);border-radius:13px;padding:13px}.launch-modal-card textarea{min-height:86px}.consent-row{grid-template-columns:auto 1fr!important}.consent-row input{width:auto}
@media(max-width:820px){.launch-page{padding:42px 14px 70px}.launch-grid,.launch-after{grid-template-columns:1fr}.fulfill-grid{grid-template-columns:1fr}.launch-card ul{min-height:0}}

/* =========================================================
   Aromoodu DESIGN.md v2.0 — Compact Typography SSOT
   Precision outside. Warmth inside.
   ========================================================= */

:root{
  --ar-title-h1: clamp(24px, 2.6vw, 36px);
  --ar-title-h2: clamp(20px, 2.0vw, 28px);
  --ar-title-h3: clamp(16px, 1.45vw, 20px);
  --ar-title-label: 11px;
}

/* Primary page / hero title */
main h1,
.hero h1,
.launch-hero h1,
.login-title h1,
.page-hero h1,
.hero-title{
  font-size:var(--ar-title-h1) !important;
  line-height:1.12 !important;
  letter-spacing:-0.02em !important;
  font-weight:600 !important;
  margin-bottom:12px !important;
}

/* Section titles */
main h2,
section h2,
.launch-card h2,
.launch-after h2,
.launch-modal-card h2,
.section-title,
.panel-title h2{
  font-size:var(--ar-title-h2) !important;
  line-height:1.18 !important;
  letter-spacing:-0.018em !important;
  font-weight:600 !important;
}

/* Card / tertiary titles */
main h3,
section h3,
article h3,
.card h3,
.card-title,
.panel h3{
  font-size:var(--ar-title-h3) !important;
  line-height:1.25 !important;
  letter-spacing:-0.012em !important;
  font-weight:600 !important;
}

/* Editorial eyebrow / kicker */
.kicker,
.launch-kicker,
.eyebrow,
.section-label,
.overline,
[class*="kicker"],
[class*="eyebrow"]{
  font-size:var(--ar-title-label) !important;
  line-height:1.35 !important;
  letter-spacing:.14em !important;
  font-weight:600 !important;
}

/* Keep supporting text quieter than title */
.hero-subtitle,
.launch-lead,
.login-title p,
.section-lead{
  font-size:14px !important;
  line-height:1.65 !important;
  letter-spacing:0 !important;
}

/* DESIGN.md: hero must stay compact */
.hero,
.launch-hero,
.page-hero{
  min-height:0 !important;
}

/* Mobile */
@media(max-width:620px){
  :root{
    --ar-title-h1:24px;
    --ar-title-h2:21px;
    --ar-title-h3:17px;
    --ar-title-label:11px;
  }

  main h1,
  .hero h1,
  .launch-hero h1,
  .login-title h1,
  .page-hero h1,
  .hero-title{
    line-height:1.15 !important;
    letter-spacing:-0.018em !important;
  }

  main h2,
  section h2,
  .launch-card h2,
  .launch-after h2{
    line-height:1.22 !important;
  }
}

/* AROMOODU_DESIGN_MD_TYPOGRAPHY_V2 */

/* AROMOODU_CHECKOUT_V1 */
.checkout-payment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}

.payment-choice{
  appearance:none;
  border:1px solid rgba(245,243,238,.14);
  border-radius:18px;
  min-height:132px;
  padding:22px 18px;
  cursor:pointer;
  text-align:left;
  background:rgba(255,255,255,.035);
  color:#f5f3ee;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.payment-choice:hover{
  transform:translateY(-1px);
  border-color:rgba(231,197,139,.48);
  background:rgba(231,197,139,.07);
}

.payment-choice:disabled{
  opacity:.5;
  cursor:wait;
  transform:none;
}

.payment-choice-title{
  display:block;
  font-size:22px;
  font-weight:650;
  margin-bottom:8px;
}

.payment-choice-note{
  display:block;
  color:rgba(245,243,238,.58);
  font-size:13px;
  line-height:1.55;
}

.linepay-choice{
  border-color:rgba(6,199,85,.32);
}

@media(max-width:720px){
  .checkout-payment-grid{
    grid-template-columns:1fr;
  }

  .payment-choice{
    min-height:108px;
  }
}

/* AROMOODU_CHECKOUT_REFINED_V1 */

#checkoutModal .launch-modal-card{
  max-width: 860px;
  padding: 34px 36px 32px;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(15,20,26,.985), rgba(13,18,23,.985));
  border: 1px solid rgba(255,255,255,.09);
  box-shadow:
    0 24px 80px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.025);
}

#checkoutModal .launch-kicker{
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .16em;
  color: #e7c58b;
}

#checkoutModal h2{
  margin-top: 10px;
  margin-bottom: 8px;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.15;
  font-weight: 450;
  letter-spacing: -.025em;
}

#checkoutModal p,
#checkoutModal .launch-micro,
#checkoutModal .launch-status{
  font-weight: 400;
  color: rgba(245,243,238,.62);
}

#checkoutModal label{
  display: block;
  margin-top: 22px;
  font-size: 15px;
  font-weight: 430;
  color: rgba(245,243,238,.78);
}

#checkoutModal .field-label{
  display:flex;
  align-items:center;
  gap:9px;
}

#checkoutModal .field-icon{
  width:19px;
  height:19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.72;
}

#checkoutModal .field-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#checkoutModal input[type="text"],
#checkoutModal input[type="tel"],
#checkoutModal input[type="email"],
#checkoutModal textarea{
  width:100%;
  margin-top:9px;
  box-sizing:border-box;
  color:#f5f3ee;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  outline:none;
  font:inherit;
  font-size:16px;
  font-weight:400;
  transition:
    border-color .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

#checkoutModal input[type="text"],
#checkoutModal input[type="tel"],
#checkoutModal input[type="email"]{
  height:54px;
  padding:0 16px;
}

#checkoutModal textarea{
  min-height:88px;
  padding:14px 16px;
  resize:vertical;
  line-height:1.5;
}

#checkoutModal input:focus,
#checkoutModal textarea:focus{
  border-color:rgba(231,197,139,.56);
  background:rgba(255,255,255,.038);
  box-shadow:0 0 0 3px rgba(231,197,139,.06);
}

#checkoutModal .consent-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:20px;
  font-size:14px;
  font-weight:400;
  line-height:1.55;
  color:rgba(245,243,238,.68);
}

#checkoutModal .consent-row input[type="checkbox"]{
  width:17px;
  height:17px;
  margin-top:2px;
  accent-color:#5b9cff;
}

#checkoutModal .checkout-payment-grid{
  margin-top:22px;
  gap:14px;
}

#checkoutModal .payment-choice{
  min-height:104px;
  border-radius:18px;
  padding:20px 20px;
  background:rgba(255,255,255,.018);
  border:1px solid rgba(255,255,255,.11);
}

#checkoutModal .payment-choice:hover{
  transform:none;
  background:rgba(255,255,255,.03);
  border-color:rgba(231,197,139,.34);
}

#checkoutModal .payment-choice-title{
  font-size:20px;
  font-weight:480;
  letter-spacing:-.01em;
}

#checkoutModal .payment-choice-note{
  margin-top:6px;
  font-size:13px;
  font-weight:400;
  color:rgba(245,243,238,.44);
}

#checkoutModal .linepay-choice{
  position:relative;
}

#checkoutModal .linepay-choice::before{
  content:"LINE Pay";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  margin-bottom:10px;
  padding:0 8px;
  border-radius:7px;
  border:1px solid rgba(79,213,126,.35);
  color:#75dc9a;
  font-size:11px;
  font-weight:600;
  letter-spacing:-.01em;
}

#checkoutModal .card-choice::before{
  content:"▭";
  display:block;
  margin-bottom:9px;
  color:rgba(245,243,238,.58);
  font-size:24px;
  line-height:1;
}

#checkoutModal .modal-close{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#fff;
  font-size:26px;
  font-weight:300;
}

@media(max-width:720px){
  #checkoutModal .launch-modal-card{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
    padding:24px 20px 24px;
    border-radius:22px;
  }

  #checkoutModal h2{
    font-size:30px;
  }

  #checkoutModal input[type="text"],
  #checkoutModal input[type="tel"],
  #checkoutModal input[type="email"]{
    height:50px;
  }

  #checkoutModal textarea{
    min-height:78px;
  }

  #checkoutModal .payment-choice{
    min-height:92px;
  }
}

/* AROMOODU_FOUR_PLAN_V1 */

.launch-grid-four{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  max-width:1440px;
  margin-left:auto;
  margin-right:auto;
}

.plan-card{
  position:relative;
  min-width:0;
  padding:30px 26px;
  border-radius:22px;
  background:#202020;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
}

.plan-card h2{
  margin:16px 0 16px;
  min-height:58px;
  font-size:27px;
  line-height:1.12;
  font-weight:550;
  letter-spacing:-.025em;
}

.plan-card .launch-card-index{
  color:rgba(255,255,255,.42);
  font-size:11px;
  font-weight:600;
  letter-spacing:.13em;
}

.plan-card .launch-price{
  margin:0 0 14px;
  color:#f4f4f4;
  font-size:44px;
  font-weight:420;
  letter-spacing:-.035em;
}

.plan-card .launch-price span{
  font-size:13px;
  font-weight:400;
  color:rgba(255,255,255,.50);
  letter-spacing:0;
}

.plan-card .old-price{
  display:inline-block;
  margin-right:9px;
  font-size:16px !important;
  color:rgba(255,255,255,.34) !important;
  text-decoration:line-through;
}

.plan-summary{
  min-height:52px;
  margin:0 0 22px;
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.55;
}

.plan-btn{
  width:100%;
  min-height:43px !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:550 !important;
}

.plan-divider{
  height:1px;
  margin:23px 0;
  background:rgba(255,255,255,.10);
}

.plan-features{
  list-style:none;
  margin:0;
  padding:0;
}

.plan-features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 15px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}

.plan-icon{
  flex:0 0 20px;
  width:20px;
  text-align:center;
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.35;
}

.plan-featured{
  border-color:rgba(80,162,255,.78);
  background:
    linear-gradient(
      180deg,
      rgba(45,86,126,.72),
      rgba(32,45,58,.78)
    );
}

.plan-featured .plan-icon{
  color:#79b7ff;
}

.plan-model-btn{
  background:#4da7f7 !important;
  border-color:#4da7f7 !important;
  color:#fff !important;
}

.plan-badge{
  position:absolute;
  top:22px;
  right:20px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(114,180,255,.18);
  color:#9bc8ff;
  font-size:10px;
  font-weight:600;
}

.plan-early{
  border-color:rgba(231,197,139,.45);
}

.plan-early .launch-price{
  color:#e7c58b;
}

.plan-early .plan-icon{
  color:#e7c58b;
}

.plan-coming{
  margin-top:8px;
  text-align:center;
  color:rgba(255,255,255,.35);
  font-size:11px;
}

.plan-card button:disabled{
  opacity:.45;
}

@media(max-width:1180px){
  .launch-grid-four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .launch-grid-four{
    grid-template-columns:1fr;
  }

  .plan-card{
    padding:26px 22px;
  }

  .plan-card h2{
    min-height:0;
  }

  .plan-summary{
    min-height:0;
  }
}

/* AROMOODU_EARLY_PRICE_ALIGN_V1 */

.plan-card .launch-price{
  min-height: 108px;
}

.plan-early .early-price{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  min-height:108px;
}

.plan-early .early-price .current-price{
  display:block;
  font-size:44px;
  line-height:1.04;
  font-weight:420;
  letter-spacing:-0.035em;
  color:#e7c58b;
}

.plan-early .early-price .old-price{
  display:block;
  margin:0;
  font-size:16px !important;
  line-height:1.2;
  font-weight:400;
  color:rgba(255,255,255,.34) !important;
  text-decoration:line-through;
  letter-spacing:0;
}

/* 避免舊規則把 old-price 擠成同一行 */
.plan-card .old-price{
  margin-right:0;
}

/* AROMOODU_HIDE_INTERNAL_STATUS_V1 */
#trialStatus,
#offerStatus,
#paymentNote,
.plan-coming{
  display:none !important;
}

/* AROMOODU_PAYMENT_CARD_EQUAL_V1 */

#checkoutModal .checkout-payment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}

#checkoutModal .payment-choice{
  width:100%;
  min-height:230px;
  height:230px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  box-sizing:border-box;
  padding:28px 30px;
  margin:0;
}

#checkoutModal .payment-choice::before{
  flex:0 0 auto;
  margin-bottom:22px;
}

#checkoutModal .payment-choice-title{
  margin:0;
  line-height:1.15;
}

#checkoutModal .payment-choice-note{
  margin-top:14px;
  min-height:24px;
  line-height:1.4;
}

@media(max-width:700px){
  #checkoutModal .checkout-payment-grid{
    grid-template-columns:1fr;
  }

  #checkoutModal .payment-choice{
    min-height:150px;
    height:150px;
  }
}

/* AROMOODU_CONSENT_FINAL_V1 */

#checkoutModal .consent-row{
  cursor:pointer !important;
  user-select:none;
}

#checkoutModal #preorderConsent{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  opacity:1 !important;
  cursor:pointer !important;
  accent-color:#f3eee3;
}

#checkoutModal .payment-choice:disabled{
  opacity:.35 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}
