/* ============================================================
   AWGroup LP — 実績への動線 (achievements intro bridge)
   3 switchable designs (data-av a|b|c). Scroll-triggered (.seen).
   ============================================================ */

.achintro-switch{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:6px;
  margin:0 auto 4px;}
.achintro-switch__lbl{font-family:var(--f-serif);font-style:italic;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rose-ink);margin-right:3px;}
.achintro-switch button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--pink-soft);
  background:#fff;color:var(--rose-ink);font-family:var(--f-disp);font-weight:900;font-size:12px;cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.achintro-switch button.on{background:var(--rose-grad);color:#fff;border-color:transparent;
  transform:scale(1.12);box-shadow:0 5px 12px -4px rgba(216,30,114,.6);}

.achintro{position:relative;z-index:2;max-width:460px;margin:6px auto 24px;padding:46px 20px 8px;overflow:hidden;}
.achintro__head{position:absolute;top:4px;left:10px;z-index:0;pointer-events:none;
  display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.achintro__mark{font-family:var(--f-disp);font-weight:900;font-size:clamp(46px,15vw,76px);letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1.6px rgba(216,30,114,.16);transform:rotate(-5deg);transform-origin:left center;}
.achintro__mark span{-webkit-text-stroke-color:rgba(216,30,114,.26);font-style:italic;margin-left:.04em;}
.achintro__eyebrow{margin-top:2px;margin-left:6px;font-family:var(--f-serif);font-style:italic;font-weight:600;
  font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:rgba(216,30,114,.34);
  transform:rotate(-5deg);transform-origin:left center;}

.achintro__rail{position:absolute;left:14px;top:120px;bottom:60px;width:2px;border-radius:2px;z-index:1;
  background:rgba(216,30,114,.1);overflow:hidden;}
.achintro__rail i{position:absolute;left:0;top:0;width:100%;height:0;border-radius:2px;
  background:linear-gradient(var(--rose),#C79BF2);transition:height 1.4s ease .15s;}
.achintro.seen .achintro__rail i{height:100%;}

.achintro__lead{position:relative;z-index:2;padding-left:18px;margin:0;
  font-family:var(--f-disp);font-weight:700;font-size:clamp(13px,3.8vw,15px);line-height:1.95;color:var(--ink-soft);}
.al{display:block;}

.achintro__chips{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:7px;padding-left:18px;margin:16px 0 0;}
.achintro__chips span{font-family:var(--f-disp);font-weight:800;font-size:11px;letter-spacing:.04em;color:#fff;
  padding:4px 13px;border-radius:999px;background:var(--tri-grad);
  box-shadow:0 6px 14px -7px rgba(120,40,110,.5);opacity:0;transform:translateY(8px) scale(.9);
  transition:opacity .45s ease,transform .5s cubic-bezier(.2,.8,.3,1.2);}
.achintro.seen .achintro__chips span{opacity:1;transform:none;}
.achintro__chips span:nth-child(1){transition-delay:.9s;}
.achintro__chips span:nth-child(2){transition-delay:1.0s;}
.achintro__chips span:nth-child(3){transition-delay:1.1s;}
.achintro__chips span:nth-child(4){transition-delay:1.2s;}
.achintro__chips span:nth-child(5){transition-delay:1.3s;}

.achintro__punch{position:relative;z-index:2;padding-left:18px;margin:22px 0 0;
  font-family:var(--f-disp);font-weight:900;color:var(--ink);}
.ap{display:block;line-height:1.5;}
.ap{font-size:clamp(17px,5vw,22px);}
.ap--big{font-size:clamp(22px,6.6vw,30px);}
.achintro__em{color:var(--rose-deep);}

/* shared line reveal */
.achintro .al,.achintro .ap{opacity:0;transform:translateY(16px);
  transition:opacity .6s ease,transform .62s cubic-bezier(.2,.7,.2,1);}
.achintro.seen .al,.achintro.seen .ap{opacity:1;transform:none;}
.achintro .al:nth-child(1){transition-delay:.05s;}
.achintro .al:nth-child(2){transition-delay:.2s;}
.achintro .al:nth-child(3){transition-delay:.35s;}
.achintro .al:nth-child(4){transition-delay:.5s;}
.achintro .ap:nth-child(1){transition-delay:1.45s;}
.achintro .ap:nth-child(2){transition-delay:1.6s;}
.achintro .ap:nth-child(3){transition-delay:1.75s;}

/* ============ A : charm-consistent (魅力 bridge) ============ */
.achintro[data-av="a"] .achintro__em{display:inline-block;
  background:linear-gradient(transparent 56%,rgba(255,179,212,.7) 56%);padding:0 .1em;}
.achintro[data-av="a"].seen .achintro__em{animation:emPop .6s cubic-bezier(.2,.8,.3,1.3) 2s both;}

/* ============ B : editorial — centered, gradient punch ============ */
.achintro[data-av="b"]{text-align:center;padding-top:54px;}
.achintro[data-av="b"] .achintro__head{left:50%;transform:translateX(-50%);align-items:center;}
.achintro[data-av="b"] .achintro__mark,.achintro[data-av="b"] .achintro__eyebrow{transform:rotate(0);text-align:center;margin-left:0;}
.achintro[data-av="b"] .achintro__rail{display:none;}
.achintro[data-av="b"] .achintro__lead{padding-left:0;}
.achintro[data-av="b"] .achintro__chips{padding-left:0;justify-content:center;}
.achintro[data-av="b"] .achintro__punch{padding-left:0;margin-top:18px;}
.achintro[data-av="b"] .ap--big{font-size:clamp(24px,7.4vw,34px);}
.achintro[data-av="b"] .achintro__em{
  background:linear-gradient(120deg,#FF8FC0,#D81E72 58%,#C79BF2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 5px 12px rgba(216,30,114,.3));}
.achintro[data-av="b"] .achintro__punch::before{content:"“";display:block;font-family:var(--f-fashion);
  font-size:40px;line-height:.4;color:rgba(216,30,114,.25);margin-bottom:6px;}

/* ============ C : EXPAND — 広げていきます stretches wide ============ */
.achintro[data-av="c"] .achintro__em{display:inline-block;letter-spacing:0;
  background:linear-gradient(120deg,#FF8FC0,#D81E72 58%,#C79BF2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  transition:letter-spacing 1s cubic-bezier(.2,.7,.2,1) 2s;}
.achintro[data-av="c"].seen .achintro__em{letter-spacing:.14em;}
.achintro[data-av="c"] .ap--big{position:relative;}
.achintro[data-av="c"] .ap--big::after{content:"";display:block;height:4px;border-radius:3px;margin-top:8px;
  background:linear-gradient(90deg,var(--rose),#C79BF2,transparent);
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) 2.1s;}
.achintro[data-av="c"].seen .ap--big::after{transform:scaleX(1);}

@keyframes emPop{0%{transform:scale(1);}40%{transform:scale(1.16);}100%{transform:scale(1);}}

/* ============ AQUA variant (on dark map background) ============ */
.achintro--aqua{margin-bottom:10px;}
.achintro--aqua .achintro__mark{-webkit-text-stroke-color:rgba(127,233,255,.28);}
.achintro--aqua .achintro__mark span{-webkit-text-stroke-color:rgba(127,233,255,.5);}
.achintro--aqua .achintro__eyebrow{color:rgba(127,233,255,.66);}
.achintro--aqua .achintro__rail{background:rgba(127,233,255,.18);}
.achintro--aqua .achintro__rail i{background:linear-gradient(#7FE9FF,#A9E0F7);}
.achintro--aqua .achintro__lead{color:rgba(255,255,255,.92);text-shadow:0 1px 6px rgba(0,0,0,.4);}
.achintro--aqua .achintro__punch{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4);}
.achintro__lead--2{margin-top:22px;}
/* たのしい — aqua marker */
.achintro--aqua .achintro__em{display:inline-block;font-weight:900;color:#0E4A5E;
  background:linear-gradient(95deg,#9BE8FF,#CFF6FF 50%,#7FE9FF);padding:0 .14em;border-radius:4px;
  -webkit-text-fill-color:#0E4A5E;}
/* 第一に / return — rose pill by default, aqua under --aqua */
.achintro__em2{display:inline-block;font-weight:900;color:#fff;
  background:var(--rose-grad);padding:.04em .26em;border-radius:6px;
  box-shadow:0 6px 14px -6px rgba(216,30,114,.6);}
.achintro--aqua .achintro__em2{background:linear-gradient(120deg,#7FE9FF,#2E9BCB);
  box-shadow:0 6px 14px -6px rgba(47,155,203,.7);}
/* aqua overrides for variant B/C gradient em */
.achintro--aqua[data-av="b"] .achintro__em,
.achintro--aqua[data-av="c"] .achintro__em{color:#0E4A5E;-webkit-text-fill-color:#0E4A5E;
  background:linear-gradient(95deg,#9BE8FF,#CFF6FF 50%,#7FE9FF);-webkit-background-clip:border-box;background-clip:border-box;
  filter:none;}
.achintro--aqua[data-av="c"] .ap--big::after{background:linear-gradient(90deg,#7FE9FF,#A9E0F7,transparent);}
.achintro--aqua[data-av="b"] .achintro__punch::before{color:rgba(127,233,255,.4);}

@media (prefers-reduced-motion:reduce){
  .achintro .al,.achintro .ap,.achintro__chips span{opacity:1!important;transform:none!important;}
  .achintro__rail i{transition:none;}
  .achintro[data-av="c"] .achintro__em{letter-spacing:.14em;transition:none;}
  .achintro[data-av="c"] .ap--big::after{transform:scaleX(1);transition:none;}
}
