/* ============================================================
   AWGroup LP — BLOCKS (section layouts)
   ============================================================ */

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-end;overflow:hidden;color:#fff;padding:0 var(--pad) clamp(40px,11vw,72px);}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg image-slot{width:100%;height:100%;}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(42,15,51,.34) 0%,transparent 26%,transparent 44%,rgba(42,15,51,.62) 84%,rgba(42,15,51,.82) 100%),
    linear-gradient(118deg,rgba(216,30,114,.34),rgba(124,91,208,.2) 50%,rgba(46,155,203,.3));}
.hero__topbar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;
  justify-content:space-between;padding:18px var(--pad);}
.brand{font-family:var(--f-serif);font-weight:700;font-size:21px;letter-spacing:.02em;
  text-shadow:0 2px 14px rgba(60,8,40,.5);}
.brand b{font-style:italic;color:var(--gold-light);font-weight:600;}
.hero__tag{font-family:var(--f-disp);font-weight:700;font-size:10px;letter-spacing:.22em;
  padding:7px 12px;border:1px solid rgba(255,255,255,.55);border-radius:999px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(6px);}
.hero__side{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:5;color:rgba(255,255,255,.85);}
.hero__copy{position:relative;z-index:3;}
.hero__kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mincho);
  font-size:13px;letter-spacing:.16em;color:#fff;margin-bottom:18px;
  text-shadow:0 2px 10px rgba(60,8,40,.6);}
.hero__kicker .dotline{width:30px;height:1px;background:var(--gold-light);}
.hero__title{font-family:var(--f-disp);font-weight:900;line-height:1.18;letter-spacing:.005em;
  font-size:clamp(38px,12.5vw,60px);text-shadow:0 6px 30px rgba(50,6,36,.55);}
.hero__title .em{background:linear-gradient(110deg,#FFE6F2,#FFB7DC 40%,#FFE9C7 70%,#CFEBFF);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.hero__title .serif{font-family:var(--f-serif);font-style:italic;font-weight:600;}
.hero__sub{margin-top:20px;font-size:clamp(15px,4vw,17px);line-height:1.95;
  color:rgba(255,255,255,.94);text-shadow:0 2px 12px rgba(50,6,36,.6);max-width:24em;}
.hero__scroll{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:5;
  font-family:var(--f-serif);font-style:italic;letter-spacing:.3em;font-size:10px;
  color:rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;gap:7px;}
.hero__scroll::after{content:"";width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.9),transparent);
  animation:scrolldip 1.8s ease-in-out infinite;}
@keyframes scrolldip{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top;}50%{transform:scaleY(1);opacity:1;transform-origin:top;}}

/* floating hero polaroids (depth) */
.hero__float{position:absolute;z-index:2;border-radius:6px;overflow:hidden;
  box-shadow:0 20px 40px -16px rgba(40,5,30,.7);border:4px solid #fff;}
.hero__float image-slot{width:100%;height:100%;}
.hero__float.f1{width:34vw;max-width:150px;height:44vw;max-height:196px;top:13%;right:-4px;transform:rotate(5deg);}
.hero__float.f2{width:26vw;max-width:118px;height:33vw;max-height:150px;top:30%;left:-10px;transform:rotate(-7deg);}

/* ============ MANIFESTO ============ */
.manifesto{background:var(--cream);text-align:center;}
.manifesto .big{font-family:var(--f-disp);font-weight:900;line-height:1.42;
  font-size:clamp(26px,7.6vw,38px);letter-spacing:.005em;}
.manifesto .big .accent{color:var(--rose-deep);}
.manifesto .sig{font-family:var(--f-script);font-size:clamp(30px,9vw,42px);color:var(--lav-deep);margin-top:26px;}

/* ============ H-SCROLL GALLERY ============ */
.gallery{background:linear-gradient(180deg,#FFF1F8,#F3ECFF);padding-inline:0;}
.gallery .sec-inner{padding-inline:var(--pad);}
.hscroll{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:8px var(--pad) 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.hscroll::-webkit-scrollbar{display:none;}
.gcard{position:relative;flex:0 0 76%;max-width:330px;scroll-snap-align:center;
  border-radius:14px;overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow-pop);
  border:5px solid #fff;}
.gcard image-slot{width:100%;height:100%;}
.gcard__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:22px 18px 16px;color:#fff;
  background:linear-gradient(transparent,rgba(40,8,32,.72));}
.gcard__cap small{display:block;font-family:var(--f-serif);font-style:italic;letter-spacing:.2em;
  text-transform:uppercase;font-size:11px;opacity:.9;}
.gcard__cap b{font-family:var(--f-disp);font-weight:700;font-size:18px;}
.gcard__no{position:absolute;top:12px;left:14px;z-index:3;font-family:var(--f-fashion);
  font-weight:700;font-size:30px;color:#fff;text-shadow:0 2px 10px rgba(40,5,30,.6);opacity:.9;}
.hint{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;
  font-family:var(--f-serif);font-style:italic;font-size:12px;color:var(--ink-faint);}
.hint .arrow{animation:nudge 1.5s ease-in-out infinite;}
@keyframes nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(6px);}}

/* ============ EDITORIAL ABOUT ============ */
.about{background:var(--paper);}
.about__split{display:grid;grid-template-columns:1fr;gap:26px;margin-top:34px;}
.about__photo{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;
  box-shadow:var(--shadow-soft);}
.about__photo image-slot{width:100%;height:100%;}
.about__photo .tag{position:absolute;top:12px;left:12px;z-index:5;font-family:var(--f-disp);
  font-weight:700;font-size:11px;color:var(--rose-deep);background:rgba(255,255,255,.92);
  padding:6px 11px;border-radius:999px;}
.about__body{font-size:15.5px;line-height:2.1;color:var(--ink-soft);}
.about__body b{color:var(--ink);font-weight:700;}
.about__note{display:flex;align-items:center;gap:16px;margin-top:8px;padding:18px;border-radius:14px;
  background:linear-gradient(120deg,#FFF0F7,#EFF6FF);border:1px solid var(--pink-soft);}
.about__note .t{font-family:var(--f-disp);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:4px;}
.about__note .d{font-size:13px;line-height:1.7;color:var(--ink-soft);}

/* ============ PINNED TRANSFORM ============ */
/* 2026-07-17 段階変化: 300vh → 150vh → 120vh → 160vh
   まつやま指示 v5「2 枚目 scroll 範囲もう少し長く」+ engine.js で 1→2 移行閾値 10vh 固定。
   pin 拘束 60vh のうち 1 枚目 10vh / 2 枚目 50vh (5 倍延長) 割り当て。 */
.pin{position:relative;height:160vh;background:#1c0a26;}
.pin__sticky{position:sticky;top:0;height:100dvh;overflow:hidden;display:flex;
  align-items:center;justify-content:center;color:#fff;
  /* 2026-07-17 iOS Safari sticky jitter 対策: GPU レイヤー化で微振動解消 */
  transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
/* 2026-07-17 まつやま指示: transition .5s → .15s (切替タイミング明確化 = scroll 感覚と一致) */
.pin__layer{position:absolute;inset:0;opacity:0;transition:opacity .15s ease;
  /* opacity 変更を GPU compositor 側で処理 = iOS sticky と併用時の jitter 軽減 */
  will-change:opacity;transform:translateZ(0);}
.pin__layer.on{opacity:1;}
.pin__layer image-slot{width:100%;height:100%;}
.pin__layer::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,10,38,0) 38%,rgba(28,10,38,.22) 70%,rgba(28,10,38,.5));}
.pin__layer--btm::after{background:linear-gradient(180deg,rgba(28,10,38,0) 38%,rgba(28,10,38,.45) 70%,rgba(28,10,38,.82));}
.pin__txt{position:relative;z-index:3;text-align:center;padding:0 30px;max-width:var(--maxw);}
.pin__txt--hero{position:absolute;left:0;bottom:16%;text-align:left;padding:0 var(--pad);width:100%;z-index:3;}
.pin__txt--hero .hl-line{display:block;}
.pin__txt--hero .hero__sub{max-width:24em;}
.pin .p1,.pin .p2{opacity:0;transform:translateY(24px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.pin .hero__title .p1{transition-delay:.08s;}
.pin .hero__sub.p2{transition-delay:.1s;}
.pin.show1 .p1{opacity:1;transform:none;}
.pin.show2 .p2{opacity:1;transform:none;}
.pin__step{font-family:var(--f-serif);font-style:italic;letter-spacing:.3em;text-transform:uppercase;
  font-size:12px;color:var(--gold-light);margin-bottom:14px;}
.pin__kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-body);font-weight:700;
  font-size:13px;letter-spacing:.04em;color:var(--gold-light);margin-bottom:16px;}
.pin__kicker .dotline{width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--gold-light));}
.pin__big{font-family:var(--f-disp);font-weight:900;font-size:clamp(30px,9vw,46px);line-height:1.32;
  text-shadow:0 6px 30px rgba(0,0,0,.5);}
.pin__big .em{color:var(--magenta);}
.pin__cap{margin-top:18px;font-size:14px;color:rgba(255,255,255,.85);}
.pin__rail{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;
  display:flex;gap:9px;}
.pin__rail i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);transition:.3s;}
.pin__rail i.on{background:var(--gold-light);transform:scale(1.3);}

/* scroll-prompt hand (real image) — swipes the WHOLE frame,
   lower-left → upper-center; JS drives position/rotation + sparkle trail */
.scrollhint{position:absolute;inset:0;z-index:6;pointer-events:none;
  opacity:0;transition:opacity .5s ease;}
.scrollhint.show{opacity:1;}
.sh-trail{position:absolute;inset:0;pointer-events:none;}
.sh-hand{position:absolute;left:0;top:0;width:128px;height:128px;max-width:none;
  will-change:transform,left,top;
  filter:drop-shadow(0 10px 16px rgba(50,10,40,.4));}
.sh-spark{position:absolute;pointer-events:none;will-change:transform,opacity;}
.scrollhint__label{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);
  font-family:var(--f-disp);font-weight:700;font-size:12px;letter-spacing:.06em;
  color:#fff;background:rgba(216,30,114,.78);padding:6px 14px;border-radius:999px;
  box-shadow:0 6px 16px -6px rgba(216,30,114,.6);backdrop-filter:blur(4px);}
.handcolor{position:absolute;right:12px;bottom:12px;z-index:7;pointer-events:auto;
  display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  border:1px solid rgba(216,30,114,.3);border-radius:999px;padding:4px;
  box-shadow:0 10px 22px -12px rgba(120,40,90,.6);}
.handcolor>span{font-family:var(--f-disp);font-size:9.5px;font-weight:700;color:var(--ink-soft);
  padding:0 4px 0 9px;}
.handcolor button{border:none;background:transparent;font-family:var(--f-disp);font-weight:700;
  font-size:11px;color:var(--ink-soft);padding:6px 11px;border-radius:999px;cursor:pointer;transition:.25s;}
.handcolor button.on{background:var(--rose-grad);color:#fff;box-shadow:var(--shadow-rose);}
@media (prefers-reduced-motion:reduce){
  .sh-hand{transition:none;}
}

/* ============ JEWEL NUMBERS ============ */
.scale{position:relative;color:#fff;overflow:hidden;background:
    radial-gradient(120% 80% at 82% 0%, rgba(255,120,180,.4) 0%, transparent 55%),
    radial-gradient(120% 90% at 0% 100%, rgba(95,194,236,.42) 0%, transparent 55%),
    linear-gradient(160deg,#3A1140 0%,#5B1E5C 50%,#23335f 100%);}
.scale .eyebrow{color:var(--gold-light);}
.scale .h-jp{color:#fff;}
.covers{display:flex;gap:14px;justify-content:center;margin-top:30px;}
.cover{position:relative;width:42%;max-width:170px;border-radius:8px;overflow:hidden;aspect-ratio:3/4;
  box-shadow:0 22px 40px -18px rgba(0,0,0,.6);border:3px solid rgba(255,255,255,.85);}
.cover:first-child{transform:rotate(-3deg);} .cover:last-child{transform:rotate(3deg);margin-top:14px;}
.cover image-slot{width:100%;height:100%;}
.cover .ribbon{position:absolute;top:10px;left:-2px;z-index:3;font-family:var(--f-disp);font-weight:700;
  font-size:10px;letter-spacing:.1em;color:#3A1140;background:var(--gold-light);padding:4px 11px;
  box-shadow:0 4px 10px rgba(0,0,0,.3);}
.bignum{text-align:center;margin-top:50px;}
.bignum__fig{font-family:var(--f-fashion);font-weight:700;line-height:.9;letter-spacing:-.02em;
  font-size:clamp(72px,24vw,128px);
  background:linear-gradient(180deg,#FFF6DF,#F0CE7B 60%,#C99A38);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));}
.bignum__fig small{font-size:.26em;font-family:var(--f-disp);font-weight:700;-webkit-text-fill-color:var(--gold-light);}
.bignum__lbl{font-family:var(--f-disp);font-weight:700;font-size:14px;letter-spacing:.08em;
  color:rgba(255,255,255,.9);margin-top:6px;}
.nrow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px;}
.ncell{text-align:center;padding:22px 12px;border-radius:16px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);}
.ncell .f{font-family:var(--f-fashion);font-weight:700;font-size:clamp(34px,11vw,50px);line-height:1;
  color:var(--gold-light);}
.ncell .f small{font-size:.36em;font-family:var(--f-disp);color:#fff;}
.ncell .l{font-size:12px;color:rgba(255,255,255,.82);margin-top:8px;line-height:1.5;}
.chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:40px;}
.chip{font-family:var(--f-disp);font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;
  padding:9px 15px;border-radius:999px;color:#fff;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.28);}
.chip i{color:var(--gold-light);}
.scale .can-ttl{text-align:center;font-family:var(--f-disp);font-weight:700;font-size:16px;
  margin-top:50px;color:rgba(255,255,255,.92);}
.scale .can-ttl b{color:var(--gold-light);}

/* ============ PAY REVEALS ============ */
.income{background:linear-gradient(180deg,#FFF7FB,#FFF1F6);}
.pay-sub{margin-top:12px;font-family:var(--f-disp);font-weight:700;font-size:clamp(13px,3.7vw,15px);
  line-height:1.75;color:var(--ink-soft);}
.payintro{margin:26px 0 4px;padding:20px 20px 18px;border-radius:18px;background:#fff;
  border:1px solid var(--pink-soft);box-shadow:var(--shadow-soft);}
.payintro__q{font-family:var(--f-disp);font-weight:900;font-size:clamp(17px,4.8vw,20px);
  color:var(--ink);text-align:center;letter-spacing:.02em;}
.payintro__q span{position:relative;color:var(--rose-deep);}
.payintro__q span::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:6px;
  background:var(--rose);opacity:.7;border-radius:3px;z-index:-1;}
.payintro__pains{list-style:none;margin:14px 0 0;display:flex;flex-direction:column;gap:9px;}
.payintro__pains li{position:relative;padding:10px 12px 10px 36px;border-radius:11px;
  background:#FBF1F5;font-size:12.5px;line-height:1.6;color:var(--ink-soft);}
.payintro__pains li::before{content:"…";position:absolute;left:11px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;background:#E8B7C6;color:#fff;font-weight:900;
  display:grid;place-items:center;font-size:11px;line-height:1;letter-spacing:-1px;}
.payintro__pains li b{color:#B4607C;font-weight:800;}
.payintro__rea{margin-top:14px;text-align:center;font-family:var(--f-disp);font-weight:800;
  font-size:clamp(13.5px,3.9vw,15.5px);line-height:1.7;color:var(--ink);}
.payintro__rea b{color:var(--rose-deep);}

.avg{text-align:center;margin:38px 0 6px;}
.avg .pre{font-family:var(--f-disp);font-weight:700;font-size:14px;color:var(--ink-soft);letter-spacing:.1em;}
.avg .big{font-family:var(--f-fashion);font-weight:700;font-size:clamp(60px,20vw,108px);line-height:.95;
  background:var(--rose-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.avg .big small{font-size:.28em;font-family:var(--f-disp);-webkit-text-fill-color:var(--rose-deep);}
.avg .post{font-family:var(--f-serif);font-style:italic;letter-spacing:.5em;font-size:16px;
  color:var(--rose-deep);}
.paycard{position:relative;margin-top:12px;border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:var(--shadow-soft);border:1px solid var(--pink-soft);}
.paycard__body{padding:16px 18px 17px;}
.paycard__pin{display:none;}
.paycard__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.paycard__head--col{flex-direction:column;align-items:flex-start;gap:2px;}
.paycard__t{font-family:var(--f-disp);font-weight:800;font-size:clamp(17px,4.8vw,21px);color:var(--ink);}
.paycard__amt{font-family:var(--f-fashion);font-weight:700;font-size:clamp(34px,11vw,52px);line-height:1.02;
  color:var(--rose-deep);}
.paycard__amt small{font-size:.32em;font-family:var(--f-disp);color:var(--ink);}
.paycard__meta{font-size:13px;line-height:1.62;color:var(--ink-soft);margin-top:8px;text-wrap:pretty;}
.paycard__meta b{color:var(--rose-deep);}
/* myth list + bust turn */
.paycard__myths{list-style:none;margin:10px 0 0;display:flex;flex-direction:column;gap:5px;}
.paycard__myths li{position:relative;padding:7px 11px 7px 34px;border-radius:8px;
  background:#F4EEF1;color:var(--ink);font-size:13.5px;font-weight:700;line-height:1.5;text-wrap:pretty;}
.paycard__myths li::before{content:"✕";position:absolute;left:9px;top:50%;transform:translateY(-50%);
  color:#E23B3B;font-size:15px;font-weight:900;line-height:1;}
.paycard__bust{margin-top:9px;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--f-disp);font-weight:800;font-size:clamp(14px,4vw,17px);color:var(--ink);}
.paycard__bust::before{content:"✓";width:20px;height:20px;border-radius:50%;
  background:var(--rose-grad);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;
  box-shadow:var(--shadow-rose);}
.paycard__bust b{color:var(--rose-deep);}
.disclaimer{font-size:11px;color:var(--ink-faint);margin-top:18px;line-height:1.6;}

/* ============ BENEFITS ============ */
.benefit{background:var(--paper);}
.bgroup{margin-top:24px;border-radius:18px;overflow:hidden;border:1px solid var(--pink-soft);
  box-shadow:var(--shadow-soft);background:#fff;}
.bgroup__h{display:flex;align-items:center;gap:12px;padding:16px 20px;color:#fff;
  background:var(--rose-grad);}
.bgroup:nth-child(odd) .bgroup__h{background:linear-gradient(120deg,#7FC7EC,#9CA6F0);}
.bgroup__h .ic{font-size:18px;}
.bgroup__h .t{font-family:var(--f-disp);font-weight:900;font-size:16px;letter-spacing:.02em;}
.blist{padding:8px 20px 18px;}
.brow{display:flex;gap:12px;padding:13px 0;border-bottom:1px dashed rgba(180,120,150,.25);}
.brow:last-child{border-bottom:none;}
.brow .ck{flex:none;width:22px;height:22px;border-radius:50%;background:var(--rose);color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:2px;}
.bgroup:nth-child(odd) .brow .ck{background:var(--aqua-deep);}
.brow .tx b{display:block;font-family:var(--f-disp);font-weight:700;font-size:15px;color:var(--ink);}
.brow .tx span{font-size:13px;color:var(--ink-soft);line-height:1.6;}

/* ============ Q&A ============ */
.qa{background:linear-gradient(180deg,#F3ECFF,#FFF1F8);}
.acc{margin-top:14px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--pink-soft);
  box-shadow:0 10px 24px -18px rgba(120,40,90,.5);}
.acc__q{display:flex;align-items:center;gap:12px;padding:17px 18px;cursor:pointer;list-style:none;}
.acc__q::-webkit-details-marker{display:none;}
.acc__q .qq{font-family:var(--f-fashion);font-weight:700;font-size:20px;color:var(--rose);flex:none;}
.acc__q .qt{flex:1;font-family:var(--f-disp);font-weight:700;font-size:15px;color:var(--ink);line-height:1.5;}
.acc__q .pm{flex:none;width:24px;height:24px;border-radius:50%;background:var(--blush);color:var(--rose-deep);
  display:grid;place-items:center;font-size:18px;transition:transform .3s;}
.acc[open] .acc__q .pm{transform:rotate(45deg);}
.acc__a{padding:0 18px 18px 44px;font-size:13.5px;line-height:1.85;color:var(--ink-soft);}

/* ============ BECOME MONTAGE ============ */
.become{background:var(--cream);text-align:center;}
.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:34px;}
.bcard{position:relative;border-radius:13px;overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow-soft);
  border:4px solid #fff;}
.bcard image-slot{width:100%;height:100%;}
.bcard .lab{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:18px 12px 12px;color:#fff;
  background:linear-gradient(transparent,rgba(40,8,32,.7));}
.bcard .lab small{display:block;font-family:var(--f-serif);font-style:italic;letter-spacing:.18em;font-size:9px;opacity:.9;}
.bcard .lab b{font-family:var(--f-disp);font-weight:700;font-size:15px;}

/* ============ FLOW ============ */
.flow{background:var(--paper);}
.flead{margin-top:10px;font-family:var(--f-disp);font-weight:700;font-size:clamp(13px,3.7vw,15px);
  line-height:1.8;color:var(--ink-soft);}
.fgift{margin-top:12px;display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:14px;
  background:linear-gradient(120deg,#FFF3D6,#FFE3F0);border:1.5px dashed var(--rose);
  box-shadow:0 10px 22px -14px rgba(216,30,114,.45);}
.fgift__ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#FF9F45,#FF6FA0);color:#fff;box-shadow:0 6px 14px -6px rgba(216,30,114,.5);}
.fgift__ic .ico{width:18px;height:18px;}
.fgift__tx{font-family:var(--f-disp);font-weight:700;font-size:12.5px;line-height:1.6;color:var(--ink-soft);}
.fgift__tx b{color:var(--ink);font-weight:900;}
.fgift__hl{color:var(--rose-deep)!important;font-size:1.08em;}
.fd{text-align:left;text-wrap:pretty;}
.fcurl{display:block;width:46px;margin:2px auto 8px;color:var(--rose);opacity:.85;}
.fcurl svg{width:100%;height:auto;display:block;}
.fcurl--rev svg{transform:scaleX(-1);}
.step{position:relative;display:flex;gap:18px;padding:18px 0;}
.step:not(:last-child)::before{content:"";position:absolute;left:23px;top:74px;bottom:-18px;width:2px;
  background:repeating-linear-gradient(rgba(255,79,148,.5) 0 5px,transparent 5px 11px);}
.step__no{flex:none;width:48px;height:64px;border-radius:8px;background:#fff;border:2px solid var(--rose);
  box-shadow:var(--shadow-rose);display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--f-serif);color:var(--rose-deep);}
.step__no small{font-size:8px;letter-spacing:.06em;color:var(--ink-faint);}
.step__no b{font-size:24px;line-height:.9;}
.step__no .csuit{font-size:13px;margin-top:1px;}
.step__no .csuit.red{color:var(--rose);} .step__no .csuit.blk{color:#3D2030;}
.step__c .t{font-family:var(--f-disp);font-weight:900;font-size:19px;color:var(--ink);}
.step__c .t em{font-family:var(--f-serif);font-style:italic;font-weight:600;font-size:15px;
  color:var(--rose-deep);margin-left:8px;letter-spacing:.06em;}
.step__c .d{font-size:13.5px;line-height:1.8;color:var(--ink-soft);margin-top:6px;}

/* ============ FINALE ============ */
.finale{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;color:#fff;text-align:center;padding:80px var(--pad);}
.finale__bg{position:absolute;inset:0;z-index:0;}
.finale__bg image-slot{width:100%;height:100%;}
.finale__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(58,17,64,.7),rgba(91,30,92,.66) 55%,rgba(35,51,95,.72)),
    linear-gradient(120deg,rgba(255,120,180,.28),rgba(95,194,236,.24));}
.finale__in{position:relative;z-index:3;max-width:24em;}
.finale h2{font-family:var(--f-disp);font-weight:900;font-size:clamp(30px,9.5vw,46px);line-height:1.4;
  text-shadow:0 6px 30px rgba(0,0,0,.5);}
.finale h2 .em{background:linear-gradient(110deg,#FFE6F2,#FFC9E2 50%,#FFE9C7);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.finale p{margin-top:22px;font-size:15px;line-height:2;color:rgba(255,255,255,.92);}
.finale .sign{margin-top:24px;font-family:var(--f-script);font-size:30px;color:var(--gold-light);}

/* ============ FOOTER + STICKY CTA ============ */
.foot{background:#2A0F33;color:rgba(255,255,255,.7);text-align:center;padding:54px var(--pad) 130px;}
.foot .brand{display:inline-block;margin-bottom:14px;}
.foot p{font-size:12.5px;line-height:1.9;}
.foot .cr{margin-top:18px;font-size:10.5px;opacity:.6;}

.ctabar{position:fixed;left:0;right:0;bottom:0;z-index:80;max-width:var(--maxw);margin:0 auto;
  display:flex;gap:9px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background:linear-gradient(rgba(255,255,255,0),rgba(255,247,251,.95) 30%);
  transform:translateY(140%);transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.ctabar.show{transform:none;}
.cta{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;
  padding:14px 10px;font-family:var(--f-disp);font-weight:900;font-size:15px;
  box-shadow:var(--shadow-rose);}
.cta small{display:block;font-weight:500;font-size:10px;opacity:.9;}
.cta--line{flex:1.4;background:linear-gradient(120deg,#22D14E,#06B33C);color:#fff;}
.cta--apply{background:#fff;color:var(--rose-deep);border:1.5px solid var(--rose);box-shadow:var(--shadow-soft);}
.cta .ic{font-size:18px;}

/* hero variant visibility */
.hero-b,.hero-c{display:none;}
.stage[data-hero="b"] .hero-a{display:none;}
.stage[data-hero="b"] .hero-b{display:block;}
.stage[data-hero="b"] .hero-a-only{display:none;}
.stage[data-hero="c"] .hero-a{display:none;}
.stage[data-hero="c"] .hero-c{display:block;}
.stage[data-hero="c"] .hero-a-only{display:none;}
.hero__kicker.hero-a,.hero__kicker.hero-b,.hero__kicker.hero-c{display:inline-flex;}
.stage[data-hero="a"] .hero__kicker.hero-b,.stage[data-hero="a"] .hero__kicker.hero-c,
.stage[data-hero="b"] .hero__kicker.hero-a,.stage[data-hero="b"] .hero__kicker.hero-c,
.stage[data-hero="c"] .hero__kicker.hero-a,.stage[data-hero="c"] .hero__kicker.hero-b{display:none;}

/* HERO E — separate header, shown only when active */
.hero--e{display:none;}
.stage[data-hero="e"] .hero--main{display:none;}
.stage[data-hero="e"] .hero--e{display:flex;}

/* hero switcher pill */
.hero-switch{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:85;
  display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);
  border:1px solid rgba(255,180,215,.7);border-radius:999px;padding:4px;
  box-shadow:0 12px 26px -12px rgba(180,60,120,.6);transition:opacity .4s,transform .4s;}
.hero-switch.gone{opacity:0;transform:translateX(-50%) translateY(-16px);pointer-events:none;}
.hero-switch>span{font-family:var(--f-disp);font-size:9.5px;color:var(--ink-soft);padding:0 4px 0 9px;font-weight:700;letter-spacing:.05em;}
.hero-switch button{border:none;background:transparent;font-family:var(--f-disp);font-weight:700;font-size:12px;
  color:var(--ink-soft);padding:6px 13px;border-radius:999px;cursor:pointer;transition:.25s;}
.hero-switch button.on{background:var(--rose-grad);color:#fff;box-shadow:var(--shadow-rose);}
