/* Hallmark · macrostructure: Campaign-led clinic page · studied: yes · DNA-source: url (tachikawamirror.com — user's chosen reference)
 * theme: studied-DNA → ivory paper · rose-gold hairlines (Origin's sign) · cinnamon CTA · display Shippori Mincho B1 · body Noto Sans JP · latin Bellefair
 * tone: warm premium, friendly (characters + chat) · dopamine devices: endless campaign card flow · real deadline counter · 3-question reveal quiz
 * pre-emit critique: P4 H4 E4 S5 R4 V4
 */
:root{
  /* colour — clinic palette (01_クリニック情報/clinic-info.md): brand coral C0 M50 Y55 K0 = #F39D71,
     site CSS #ED8347 / #F0A276 / #404040 / #F6F6F3 #F0F0EB #E7E7E2 / #D4D4D0,
     project-derived #D9632A (large text) #B4501E (small text) #FCEDE4 (peach) #302C29 (dark band) */
  --c-paper:#F6F6F3;
  --c-ivory:#F0F0EB;
  --c-beige:#E7E7E2;
  --c-card:#FFFFFF;
  --c-ink:#302C29;
  --c-text:#404040;
  --c-muted:#6F6F6B;
  --c-line:#D4D4D0;
  --c-rose:#F39D71;
  --c-rose-light:#F0A276;
  --c-rose-ink:#B4501E;
  --c-coral:#F39D71;
  --c-coral-deep:#D9632A;
  --c-cta:#D9632A;
  --c-cta-hover:#B4501E;
  --c-line-green:#06C755;
  --c-line-green-hover:#05AF4B;
  --c-dark:#302C29;
  --c-brown:#404040;
  --c-footer:#262321;
  --c-on-dark:#F6F6F3;
  --c-on-dark-muted:#C9C9C4;
  --c-bubble:#FCEDE4;
  --c-scrim-0:rgba(246,246,243,0);
  --c-scrim-soft:rgba(246,246,243,.35);
  --c-scrim-mid:rgba(246,246,243,.78);
  --c-scrim-1:rgba(246,246,243,.95);
  --c-scrim-hero:rgba(200,206,198,0);
  --c-solid-hd:rgba(246,246,243,.96);
  --c-glow-text:rgba(246,246,243,.9);
  --c-chip:rgba(246,246,243,.86);
  --c-hero:#C8CEC6;
  --c-shadow:rgba(48,44,41,.12);
  --c-on-dark-line:rgba(246,246,243,.14);
  --c-on-dark-fill:rgba(246,246,243,.07);
  --g-rose:linear-gradient(100deg,#ED8347 0%,#F0A276 100%);

  --font-display:"Shippori Mincho B1","Noto Serif JP",serif;
  --font-body:"Noto Sans JP",system-ui,sans-serif;
  --font-latin:"Bellefair","Shippori Mincho B1",serif;
  --fs-2xs:.6875rem; --fs-xs:.75rem; --fs-sm:.8125rem; --fs-base:.9375rem; --fs-md:1.0625rem; --fs-lg:1.25rem;
  --fs-xl:clamp(1.5rem,5.6vw,2.125rem);
  --fs-2xl:clamp(1.75rem,7.2vw,2.75rem);
  --fs-display:clamp(2.25rem,9.6vw,4.25rem);
  --fs-en:clamp(2.5rem,12vw,4.5rem);

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px; --s-20:80px; --s-24:96px;
  --gutter:16px; --wrap:1120px;
  --radius-sm:8px; --radius:16px; --radius-lg:24px; --radius-pill:999px;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --dur:200ms;
  --header-h:64px; --dock-h:62px;
}
@media (min-width:768px){ :root{ --gutter:32px; --header-h:76px; } }

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-paper);color:var(--c-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.9;letter-spacing:.03em;word-break:auto-phrase;overflow-wrap:anywhere;padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom))}
@media (min-width:1024px){ body{font-size:1rem;padding-bottom:0} }
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:700;font-style:normal;color:var(--c-ink);line-height:1.5;letter-spacing:.06em;min-width:0;text-wrap:balance}
:focus-visible{outline:2px solid var(--c-ink);outline-offset:3px;border-radius:4px}
.wrap{width:min(100% - var(--gutter)*2, var(--wrap));margin-inline:auto}
.ic{width:1.2em;height:1.2em;flex:none}
.num{font-variant-numeric:lining-nums tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:54px;padding:0 var(--s-5);border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);letter-spacing:.08em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.btn:active{transform:translateY(1px)}
.btn--web{background:var(--c-cta);color:#fff}
.btn--web:hover{background:var(--c-cta-hover)}
.btn--line{background:var(--c-line-green);color:#fff}
.btn--line:hover{background:var(--c-line-green-hover)}
.btn--more{position:relative;justify-content:space-between;width:min(100%,360px);background:var(--c-cta);color:#fff;padding:0 var(--s-6)}
.btn--more::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.btn--more:hover{background:var(--c-cta-hover)}
.btn--ghost{background:transparent;border-color:var(--c-rose);color:var(--c-rose-ink)}
.btn--ghost:hover{background:var(--c-card)}
.btn--dark-line{background:transparent;border-color:var(--c-on-dark-muted);color:var(--c-on-dark)}
.btn--dark-line:hover{border-color:var(--c-on-dark)}
.btn-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.btn-pair .btn{padding:0 var(--s-2)}
@media (max-width:389px){ .btn-pair .btn{gap:6px;letter-spacing:.04em} }
/* a pair inside a padded box (inline CTA, campaign, check meter) gets ~300px: tighten instead of clipping the label */
.btn-pair{container-type:inline-size}
@container (max-width:340px){ .btn-pair .btn{gap:4px;padding:0 6px;font-size:.875rem;letter-spacing:.02em} .btn-pair .btn .ic{width:16px;height:16px} }
@container (max-width:280px){ .btn-pair .btn{grid-column:1 / -1;padding:0 var(--s-4);font-size:var(--fs-base);letter-spacing:.06em} }
@media (max-width:359px){ .btn-pair .btn{font-size:var(--fs-sm)} }
.lead-note{font-size:var(--fs-sm);color:var(--c-muted);text-align:center;margin-bottom:var(--s-3)}
.lead-note b{color:var(--c-cta)}

/* header */
.hd{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--header-h);background:transparent;border-bottom:1px solid transparent;transition:background-color 320ms var(--ease-out),border-color 320ms var(--ease-out)}
.hd.is-solid{background:var(--c-solid-hd);border-bottom-color:var(--c-line)}
.hd__in{height:100%;display:flex;align-items:center;justify-content:space-between;padding-left:var(--gutter)}
.hd__brand{display:grid;gap:2px;text-decoration:none}
.hd__brand small{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:.14em;color:var(--c-ink);line-height:1}
.hd__brand img{width:126px;aspect-ratio:149/40}
.hd__nav{display:none}
.hd__burger{width:var(--header-h);height:var(--header-h);border:0;background:transparent;color:var(--c-text);display:grid;place-content:center;gap:6px;cursor:pointer}
.hd__burger i{display:block;width:26px;height:1.5px;background:currentColor}
.hd__burger span{font-family:var(--font-latin);font-size:9px;letter-spacing:.18em;line-height:1;margin-top:2px}
@media (min-width:1024px){
  .hd__in{padding-right:var(--gutter)}
  .hd__brand img{width:150px}
  .hd__nav{display:flex;align-items:center;gap:var(--s-6)}
  .hd__nav ul{display:flex;gap:var(--s-5)}
  .hd__nav ul a{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;text-decoration:none;white-space:nowrap}
  .hd__nav ul a:hover{color:var(--c-cta)}
  .hd__nav .btn{min-height:44px;font-size:var(--fs-sm);padding:0 var(--s-5)}
  .hd__burger{display:none}
}
.menu{position:fixed;inset:0;z-index:60;background:var(--c-paper);overflow-y:auto;padding:0 var(--gutter) var(--s-12)}
.menu[hidden]{display:none}
.menu__top{display:flex;justify-content:space-between;align-items:center;height:var(--header-h);margin-right:calc(var(--gutter) * -1)}
.menu__close{width:var(--header-h);height:var(--header-h);border:0;background:var(--c-dark);color:#fff;cursor:pointer;font-size:var(--fs-sm)}
.menu ul{margin-top:var(--s-6);border-top:1px solid var(--c-line)}
.menu li a{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;text-decoration:none;white-space:nowrap}
.menu li a span{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.16em;color:var(--c-rose-ink)}
.menu .btn-pair{margin-top:var(--s-8)}

/* FV — full-bleed, header melts into the photo (Mirror DNA) */
.fv{position:relative;height:calc(100svh - 36px);min-height:600px;max-height:940px;overflow:hidden;background:var(--c-hero)}
.fv__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.fv::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--c-scrim-0) 0%,var(--c-scrim-0) 44%,var(--c-scrim-soft) 58%,var(--c-scrim-mid) 70%,var(--c-scrim-1) 86%);pointer-events:none}
.fv__vname{position:absolute;z-index:2;right:calc(var(--gutter) - 2px);top:calc(var(--header-h) + 20%);writing-mode:vertical-rl;font-family:var(--font-display);font-weight:600;font-size:var(--fs-sm);letter-spacing:.32em;color:var(--c-ink);text-shadow:0 0 12px var(--c-glow-text)}
.fv__vname small{font-size:var(--fs-2xs);letter-spacing:.24em;color:var(--c-rose-ink);margin-bottom:.8em}
.fv__copy{position:absolute;z-index:3;left:0;right:0;bottom:var(--s-10)}
.fv h1{display:grid;gap:2px;line-height:1.3;letter-spacing:.06em}
.fv h1 .l1{white-space:nowrap;font-size:min(2.1rem,calc((100vw - var(--gutter)*2) / 11));font-weight:500}
.fv h1 .l2{position:relative;justify-self:start;white-space:nowrap;font-size:min(4.4rem,calc((100vw - var(--gutter)*2) / 7.6));font-weight:700;letter-spacing:.04em}
.fv h1 .l2 img{position:absolute;left:-2%;bottom:-.08em;width:104%;height:auto;z-index:-1;clip-path:inset(0 0 0 0)}
.fv__en{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-3);font-family:var(--font-latin);font-size:var(--fs-xs);letter-spacing:.24em;color:var(--c-rose-ink)}
.fv__en::after{content:"";flex:1;height:1px;background:var(--c-rose)}
.fv__lead{margin-top:var(--s-3);font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);line-height:1.7;color:var(--c-ink)}
.fv__lead small{display:block;font-family:var(--font-body);font-weight:500;font-size:var(--fs-xs);color:var(--c-muted);letter-spacing:.06em}
.fv .btn-pair{margin-top:var(--s-5)}
.fv__scroll{position:absolute;z-index:3;right:calc(var(--gutter) + 2px);bottom:calc(100% - var(--header-h) - 34%);display:none}
/* staged reveal */
@media (prefers-reduced-motion:no-preference){
  .fv [data-in]{opacity:0;transform:translateY(14px);animation:fvIn .8s var(--ease-out) forwards;animation-delay:var(--d,0s)}
  .fv h1 .l2 img{clip-path:inset(0 100% 0 0);animation:brush .9s cubic-bezier(.6,0,.2,1) forwards;animation-delay:1s}
  .fv__bg{animation:fvZoom 2.4s var(--ease-out) both}
}
@keyframes fvIn{to{opacity:1;transform:none}}
@keyframes brush{to{clip-path:inset(0 0 0 0)}}
@keyframes fvZoom{from{transform:scale(1.06)}to{transform:none}}
/* the landscape layout is chosen by orientation as well as width: a 980px-wide preview pane or a small laptop
   must not get the tall phone photo (only the top of the head would show) */
@media (min-width:1024px), (min-width:768px) and (orientation:landscape){
  .fv{height:min(100vh,880px);min-height:560px;max-height:none}
  .fv__bg{object-position:right center}
  .fv::after{background:linear-gradient(to right,var(--c-scrim-hero) 0%,var(--c-scrim-0) 55%)}
  .fv__copy{bottom:auto;top:50%;transform:translateY(-42%)}
  .fv__copy.wrap{width:min(100% - var(--gutter)*2,var(--wrap))}
  .fv__copy > *{max-width:520px}
  .fv h1 .l1{font-size:clamp(1.5rem,2.4vw,2.1rem)}
  .fv h1 .l2{font-size:clamp(2.8rem,5vw,4.2rem)}
  .fv__copy > *{max-width:min(520px,48vw)}
  .fv .btn-pair{max-width:min(460px,48vw)}
  .fv__vname{top:auto;bottom:var(--s-16);right:var(--s-8)}
}
/* phone layout on wider portrait screens (tablets): keep buttons and badges at a sensible width */
@media (min-width:600px) and (orientation:portrait){
  .fv .btn-pair{max-width:520px}
  .badges{max-width:620px;margin-inline:auto}
}

/* badges (overlap FV like Mirror) */
.badges{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-top:calc(var(--s-10) * -1)}
.badges img{width:100%;height:auto;filter:drop-shadow(0 6px 14px var(--c-shadow))}
@media (min-width:1024px), (min-width:768px) and (orientation:landscape){ .badges{max-width:620px;margin:calc(var(--s-12) * -1) auto 0} }

/* section base */
.sec{padding:var(--s-16) 0}
@media (min-width:768px){ .sec{padding:var(--s-24) 0} }
.sec--ivory{background:var(--c-ivory)}
.head{display:grid;justify-items:center;text-align:center;gap:var(--s-2);margin-bottom:var(--s-10)}
.head__en{font-family:var(--font-latin);font-size:var(--fs-en);line-height:1;letter-spacing:.06em;color:var(--c-rose)}
.head__en--sm{font-size:var(--fs-md);letter-spacing:.22em}
.head__dot{width:6px;height:6px;border-radius:50%;background:var(--c-rose)}
.head h2{font-size:var(--fs-xl)}
.head p{font-size:var(--fs-sm);color:var(--c-muted)}

/* campaign */
.deadline{display:inline-flex;align-items:center;gap:var(--s-3);margin-top:var(--s-1);padding:6px 6px 6px 18px;border-radius:var(--radius-pill);background:var(--c-card);border:1px solid var(--c-rose-light);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink)}
.deadline b{display:inline-flex;align-items:baseline;gap:2px;padding:2px 14px;border-radius:var(--radius-pill);background:var(--c-cta);color:#fff;font-weight:700}
.deadline b .num{font-size:var(--fs-lg);line-height:1.2}
/* campaign: big heading + endless flowing cards (drag, arrows, pause on hover/focus) */
.head--xl{gap:var(--s-3)}
.head--xl .head__en{font-size:clamp(1.125rem,2vw,1.5rem)}
.head--xl h2{font-size:clamp(1.875rem,4.4vw,3.625rem);line-height:1.3;letter-spacing:.06em}
.head--xl .deadline{padding:8px 8px 8px 22px;font-size:var(--fs-md)}
.head--xl .deadline b{padding:3px 18px}
.head--xl .deadline b .num{font-size:var(--fs-xl)}
.cflow{position:relative}
.cflow__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:var(--s-3) 0 var(--s-8);touch-action:pan-y}
.cflow__viewport::-webkit-scrollbar{display:none}
.cflow__track{display:flex;gap:var(--s-4);width:max-content;padding-inline:var(--gutter)}
.cflow__track li{flex:none;width:min(86vw,460px);scroll-snap-align:center}
.cflow__track a{display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-card);box-shadow:0 16px 36px var(--c-shadow);-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none;transition:transform .5s var(--ease-soft),box-shadow .5s var(--ease-soft)}
.cflow__track a:hover{box-shadow:0 22px 44px var(--c-shadow)}
.cflow__track img{width:100%;aspect-ratio:3/2;object-fit:cover;pointer-events:none}
.cflow.is-on .cflow__viewport{overflow:hidden;scroll-snap-type:none;cursor:grab}
.cflow.is-on .cflow__track{padding-inline:0;will-change:transform}
.cflow.is-drag .cflow__viewport{cursor:grabbing}
.cflow.is-drag a{pointer-events:none}
.cflow__arrow{display:none}
@media (min-width:768px){
  .cflow__track{gap:var(--s-6)}
  .cflow__track li{width:clamp(360px,40vw,640px)}
  .cflow.is-on .cflow__arrow{display:grid;place-items:center;position:absolute;top:calc(50% - var(--s-3));z-index:2;width:60px;height:60px;margin-top:-30px;border:0;border-radius:50%;background:var(--c-card);color:var(--c-cta);font-size:1.25rem;box-shadow:0 10px 28px var(--c-shadow);cursor:pointer;transition:background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out)}
  .cflow__arrow:hover{background:var(--c-cta);color:#fff;transform:scale(1.06)}
  .cflow__arrow--prev{left:max(var(--gutter),calc(50% - 700px))}
  .cflow__arrow--next{right:max(var(--gutter),calc(50% - 700px))}
}
.sec--camp .camp-foot{margin-top:var(--s-4)}
.camp-foot{position:relative;margin-top:var(--s-8);display:grid;justify-items:center;gap:var(--s-5)}
.why{position:relative;width:100%;max-width:640px;padding:var(--s-5) var(--s-5) var(--s-5) var(--s-5);border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-rose-light)}
.why h3{font-size:var(--fs-md)}
.why p{margin-top:var(--s-2);font-size:var(--fs-sm)}
.why ul{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--c-muted);line-height:1.75}
.why__chara{position:absolute;right:-6px;top:-62px;width:84px}
.bubble{position:absolute;right:76px;top:-50px;padding:6px 12px;border-radius:var(--radius);background:var(--c-dark);color:var(--c-on-dark);font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}
.bubble::after{content:"";position:absolute;right:-6px;top:50%;margin-top:-5px;border:5px solid transparent;border-left-color:var(--c-dark);border-right:0}

/* quiz */
.quiz{position:relative;max-width:720px;margin-inline:auto;padding:var(--s-8) var(--s-5) var(--s-6);border-radius:var(--radius-lg);background:var(--c-card);box-shadow:0 14px 40px var(--c-shadow)}
.quiz::before{content:"";position:absolute;inset:6px;border-radius:calc(var(--radius-lg) - 4px);border:1px solid var(--c-rose-light);pointer-events:none}
.quiz__tag{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:6px 18px;border-radius:var(--radius-pill);background:var(--c-cta);color:#fff;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.1em;white-space:nowrap}
.quiz__chara{position:absolute;right:-10px;top:-58px;width:80px}
.quiz__progress{display:flex;justify-content:center;gap:var(--s-2);margin-bottom:var(--s-4)}
.quiz__progress i{width:28px;height:4px;border-radius:2px;background:var(--c-line);transition:background-color var(--dur) var(--ease-out)}
.quiz__progress i.on{background:var(--c-rose)}
.quiz__q{text-align:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--c-ink);line-height:1.6}
.quiz__q small{display:block;font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.2em;color:var(--c-rose)}
.quiz__opts{margin-top:var(--s-5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.quiz__opts button{min-height:64px;padding:var(--s-2) var(--s-3);border-radius:var(--radius);border:1px solid var(--c-line);background:var(--c-paper);font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);color:var(--c-ink);line-height:1.45;cursor:pointer;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
.quiz__opts button:hover{border-color:var(--c-rose);background:var(--c-card)}
.quiz__opts button:active{transform:scale(.98)}
.quiz__opts button small{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--fs-2xs);color:var(--c-muted)}
.quiz__loading{display:grid;justify-items:center;gap:var(--s-3);padding:var(--s-10) 0;font-family:var(--font-display);font-weight:700;color:var(--c-rose-ink)}
.quiz__loading i{width:56px;height:56px;border-radius:50%;border:2px solid var(--c-line);border-top-color:var(--c-rose);animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.result{display:grid;gap:var(--s-4);animation:reveal .6s var(--ease-out) both}
@keyframes reveal{from{opacity:0;transform:perspective(900px) rotateY(-18deg) translateY(8px)}to{opacity:1;transform:none}}
.result__ribbon{justify-self:center;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-rose-ink);letter-spacing:.12em}
.result__card{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:var(--s-4);align-items:center}
.result__card img{width:100%;border-radius:var(--radius);box-shadow:0 8px 20px var(--c-shadow)}
.result__name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl);color:var(--c-ink);line-height:1.3}
.result__price{margin-top:var(--s-1);font-family:var(--font-display);font-weight:800;color:var(--c-coral-deep);font-size:var(--fs-xl);line-height:1.2}
.result__price small{font-family:var(--font-body);font-size:var(--fs-2xs);color:var(--c-muted);font-weight:500}
.result__chat{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s-3);align-items:end}
.result__chat img{width:72px}
.result__chat p{position:relative;padding:var(--s-3) var(--s-4);border-radius:var(--radius) var(--radius) var(--radius) 4px;background:var(--c-bubble);font-size:var(--fs-sm);line-height:1.8}
.result__when{font-size:var(--fs-sm);font-weight:700;color:var(--c-cta);text-align:center}
.result__again{justify-self:center;border:0;background:none;color:var(--c-muted);font-size:var(--fs-xs);text-decoration:underline;cursor:pointer;padding:var(--s-2)}
.quiz__note{margin-top:var(--s-4);text-align:center;font-size:var(--fs-2xs);color:var(--c-muted)}

/* concept */
.concept{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}
.concept__pics{position:relative;height:clamp(300px,86vw,460px)}
.concept__pics img{position:absolute;border-radius:var(--radius);object-fit:cover;box-shadow:0 12px 30px var(--c-shadow)}
.concept__pics img:first-child{left:0;top:0;width:44%;aspect-ratio:4/5}
.concept__pics img:last-child{right:0;top:18%;width:54%;aspect-ratio:4/5}
.concept__text{text-align:center}
.concept__text h2{font-size:var(--fs-2xl)}
.concept__text p{margin-top:var(--s-5);font-family:var(--font-display);font-weight:500;font-size:var(--fs-md);line-height:2.1;color:var(--c-ink)}
@media (min-width:900px){ .concept{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--s-16)} .concept__text{text-align:left} }

/* worries */
.wtiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}
.wtile{display:grid;justify-items:center;gap:var(--s-1);padding:var(--s-3) var(--s-2) var(--s-4);border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink);transition:border-color var(--dur) var(--ease-out)}
.wtile:hover{border-color:var(--c-rose)}
.wtile img{width:72%;aspect-ratio:1;object-fit:contain}
.wgroups{margin-top:var(--s-8);display:grid;gap:var(--s-2)}
.wgroup{border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line);padding:var(--s-4) var(--s-4) var(--s-5)}
.wgroup h3{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-md)}
.wgroup h3 img{width:44px;height:44px;border-radius:50%;background:var(--c-ivory);padding:4px}
.wgroup ul{margin-top:var(--s-3);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.wgroup a{display:flex;justify-content:space-between;align-items:center;gap:var(--s-1);min-height:46px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--c-rose-light);font-size:clamp(.7rem,3.05vw,.8125rem);letter-spacing:0;text-decoration:none;color:var(--c-text);white-space:nowrap;transition:background-color var(--dur) var(--ease-out)}
.wgroup a::after{content:"→";flex:none;color:var(--c-rose)}
.wgroup a:hover{background:var(--c-ivory)}
@media (max-width:359px){ .wgroup ul{grid-template-columns:minmax(0,1fr)} }
@media (min-width:768px){ .wtiles{grid-template-columns:repeat(6,minmax(0,1fr))} .wgroups{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* thread lift */
.sig{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}
.sig__kicker{display:inline-block;padding:4px 14px;border-radius:var(--radius-pill);background:var(--c-dark);color:var(--c-on-dark);font-size:var(--fs-xs);font-weight:700;letter-spacing:.1em}
.sig h2{margin-top:var(--s-3);font-size:var(--fs-2xl);line-height:1.45}
.sig__diagram{border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 28px var(--c-shadow);background:var(--c-card)}
.sig__photo{position:relative}
.sig__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 0;border-radius:var(--radius-lg)}
.sig__photo .say{position:absolute;left:var(--s-3);right:var(--s-3);bottom:var(--s-3);display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s-2);align-items:end}
.sig__photo .say img{width:64px;aspect-ratio:auto;border-radius:0}
.sig__photo .say p{padding:var(--s-3) var(--s-4);border-radius:var(--radius) var(--radius) var(--radius) 4px;background:rgba(255,255,255,.95);font-size:var(--fs-xs);font-weight:500;line-height:1.7;color:var(--c-ink)}
.facts{margin-top:var(--s-5);border-top:1px solid var(--c-line)}
.facts div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm)}
.facts dt{color:var(--c-muted)}
.facts dd{font-weight:500;color:var(--c-ink)}
.sig__price{margin-top:var(--s-5);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);font-size:var(--fs-sm)}
.sig__price b{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--c-ink)}
.sig__risk{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-muted);line-height:1.75}
.sig .btn{margin-top:var(--s-5)}
@media (min-width:1024px){ .sig{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-12);align-items:start} .sig__photo{grid-row:span 2} }

/* cases */
.cases{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:var(--s-4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) var(--s-3);scrollbar-width:none}
.cases::-webkit-scrollbar{display:none}
.case{scroll-snap-align:start}
.case__pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius);overflow:hidden}
.case__ph{display:grid;grid-template-rows:auto 1fr;background:var(--c-beige)}
.case__ph b{display:block;padding:4px 0;text-align:center;background:var(--c-rose);color:#fff;font-family:var(--font-latin);font-weight:400;letter-spacing:.26em;font-size:var(--fs-sm)}
.case__ph span{display:grid;place-items:center;aspect-ratio:3/4;font-size:var(--fs-xs);color:var(--c-muted);text-align:center;line-height:1.6}
.case__ph + .case__ph{border-left:2px solid var(--c-paper)}
.case h3{margin-top:var(--s-3);font-size:var(--fs-md)}
.case dl{margin-top:var(--s-2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);text-align:center}
.case dt{padding:2px 0;border-radius:var(--radius-pill);background:var(--c-beige);font-size:var(--fs-2xs);color:var(--c-muted)}
.case dd{font-size:var(--fs-sm);font-weight:500;color:var(--c-ink)}
.case__risk{margin-top:var(--s-2);font-size:var(--fs-2xs);color:var(--c-muted);line-height:1.7}
@media (min-width:900px){ .cases{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin:0;padding:0} }
.cases-foot{margin-top:var(--s-6);display:grid;justify-items:center}

/* reasons */
.reasons-intro{display:grid;justify-items:center;gap:var(--s-5);text-align:center}
.reasons-intro img{width:min(78%,360px);aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:var(--radius-lg)}
.reasons-intro h2{font-size:var(--fs-xl);line-height:1.6}
.reasons-intro h2 span{display:block;font-size:var(--fs-2xl)}
.three{margin-top:var(--s-8);display:grid;justify-items:center;line-height:1}
.three b{font-family:var(--font-latin);font-weight:400;font-size:6.5rem;color:var(--c-rose);line-height:.9}
.three span{margin-top:-28px;font-family:var(--font-latin);font-size:2rem;letter-spacing:.16em;color:var(--c-ink);background:var(--c-paper);padding:0 6px}
.three small{margin-top:var(--s-3);font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink)}
.rcards{margin-top:var(--s-8);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}
.rcard{padding:var(--s-6) var(--s-5);border-radius:var(--radius-lg);background:var(--c-card);border:1px solid var(--c-line);text-align:center}
.rcard__no{display:grid;justify-items:center;line-height:1}
.rcard__no b{font-family:var(--font-latin);font-weight:400;font-size:3.5rem;color:var(--c-rose)}
.rcard__no span{margin-top:-14px;font-family:var(--font-latin);font-size:1.1rem;letter-spacing:.2em;color:var(--c-ink);background:var(--c-card);padding:0 4px}
.rcard img{margin-top:var(--s-4);width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius)}
.rcard h3{margin-top:var(--s-4);font-size:var(--fs-lg)}
.rcard p{margin-top:var(--s-3);font-size:var(--fs-sm);text-align:left}
@media (min-width:900px){ .rcards{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* first-timer chat */
.chat{max-width:680px;margin-inline:auto;display:grid;gap:var(--s-5)}
.chat__row{display:grid;gap:var(--s-2)}
.chat__q{justify-self:start;max-width:84%;padding:var(--s-3) var(--s-4);border-radius:var(--radius) var(--radius) var(--radius) 4px;background:var(--c-card);border:1px solid var(--c-line);font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);color:var(--c-ink)}
.chat__a{justify-self:end;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:var(--s-2);align-items:end;max-width:96%}
.chat__a p{padding:var(--s-3) var(--s-4);border-radius:var(--radius) var(--radius) 4px var(--radius);background:var(--c-cta);color:#fff;font-size:var(--fs-sm);line-height:1.8}
.chat__a img{width:64px}

/* doctor */
.doc{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}
.doc__photo{position:relative;justify-self:center;width:min(86%,420px)}
.doc__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:var(--radius-lg)}
.doc__photo::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--c-rose-light);border-radius:var(--radius-lg)}
.doc__plate{position:absolute;left:-12px;bottom:var(--s-6);padding:var(--s-3) var(--s-5);background:rgba(255,255,255,.96);border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 8px 20px var(--c-shadow)}
.doc__plate small{display:block;font-size:var(--fs-xs);color:var(--c-rose-ink);font-weight:700}
.doc__plate b{display:block;font-family:var(--font-display);font-size:var(--fs-xl);color:var(--c-ink);letter-spacing:.14em;line-height:1.3}
.doc__plate span{font-family:var(--font-latin);font-size:var(--fs-xs);letter-spacing:.2em;color:var(--c-muted)}
.doc__msg{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);line-height:1.8;color:var(--c-ink);text-align:center}
.doc__body{margin-top:var(--s-4);font-size:var(--fs-sm)}
.career{margin-top:var(--s-6);border-top:1px solid var(--c-line)}
.career li{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm)}
.career .num{font-family:var(--font-latin);font-size:var(--fs-md);color:var(--c-rose-ink);letter-spacing:.06em}
.sns{margin-top:var(--s-6);display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--s-4);align-items:center;padding:var(--s-4) var(--s-5);border-radius:var(--radius);background:var(--c-ivory)}
.sns img{width:76px}
.sns p{font-size:var(--fs-sm);line-height:1.7}
.sns p b{font-family:var(--font-display);color:var(--c-cta);font-size:var(--fs-md)}
.sns ul{margin-top:var(--s-2);display:flex;flex-wrap:wrap;gap:var(--s-2)}
.sns ul a{display:inline-flex;align-items:center;min-height:34px;padding:0 var(--s-3);border-radius:var(--radius-pill);background:var(--c-card);border:1px solid var(--c-rose-light);font-size:var(--fs-xs);text-decoration:none;white-space:nowrap}
@media (min-width:1024px){ .doc{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-16);align-items:start} .doc__msg{text-align:left} }

/* flow */
.flow{display:grid;gap:var(--s-3);counter-reset:f}
.flow li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s-4);align-items:center;padding:var(--s-4);border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line)}
.flow li::before{counter-increment:f;content:counter(f,decimal-leading-zero);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--c-ivory);font-family:var(--font-latin);font-size:var(--fs-xl);color:var(--c-rose)}
.flow h3{font-size:var(--fs-md)}
.flow p{font-size:var(--fs-xs);color:var(--c-muted);line-height:1.7}
@media (min-width:900px){ .flow{grid-template-columns:repeat(4,minmax(0,1fr))} .flow li{grid-template-columns:1fr;justify-items:center;text-align:center} }

/* faq (brown band like Mirror) */
.faqband{background:var(--c-brown);color:var(--c-on-dark)}
.faqband .head__en{color:var(--c-rose-light)}
.faqband .head__dot{background:var(--c-rose-light)}
.faqband .head h2{color:var(--c-on-dark)}
.faq{max-width:760px;margin-inline:auto;display:grid;gap:var(--s-2)}
.faq details{border-radius:var(--radius);background:var(--c-on-dark-fill);border:1px solid var(--c-on-dark-line)}
.faq summary{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:700;color:var(--c-on-dark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--font-latin);font-size:var(--fs-lg);color:var(--c-rose-light)}
.faq summary span{flex:1}
.faq summary i{position:relative;width:12px;height:12px;flex:none}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;right:0;top:5px;height:1.5px;background:var(--c-rose-light);transition:transform var(--dur) var(--ease-out)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq details p{padding:0 var(--s-4) var(--s-4) 2.6em;font-size:var(--fs-sm);color:var(--c-on-dark-muted)}

/* access */
.access{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-8)}
.access__video{width:min(100%,300px);margin-inline:auto}
.access__video video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius-lg);background:var(--c-beige)}
.access__video figcaption{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-muted);text-align:center}
.info{border-top:1px solid var(--c-line)}
.info div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm)}
.info dt{color:var(--c-muted)}
.info dd small{display:block;font-size:var(--fs-xs);color:var(--c-muted)}
.access .btn{margin-top:var(--s-5);min-height:46px;font-size:var(--fs-sm)}
@media (min-width:900px){ .access{grid-template-columns:300px minmax(0,1fr);gap:var(--s-16);align-items:start} .access__video{margin:0} }

/* reserve */
.reserve{background:var(--c-dark);color:var(--c-on-dark);text-align:center;overflow:hidden}
.reserve__chara{width:120px;margin:0 auto var(--s-3)}
.reserve h2{color:var(--c-on-dark);font-size:var(--fs-2xl)}
.reserve p{margin-top:var(--s-3);color:var(--c-on-dark-muted);font-size:var(--fs-sm)}
.reserve__btns{margin:var(--s-8) auto 0;display:grid;gap:var(--s-3);max-width:420px}
.reserve__btns .btn{min-height:58px;font-size:var(--fs-md)}
.reserve__btns .tag{font-family:var(--font-body);font-size:var(--fs-2xs);font-weight:500;padding:1px 8px;border-radius:var(--radius-pill);background:rgba(255,255,255,.2)}
.reserve__tel{font-family:var(--font-latin);letter-spacing:.14em;font-size:var(--fs-lg)}
@media (max-width:359px){ .reserve__btns .btn{font-size:var(--fs-base);padding:0 var(--s-3)} .reserve__btns .tag{display:none} }

/* footer */
.ft{background:var(--c-footer);color:var(--c-on-dark-muted);padding:var(--s-12) 0 var(--s-8);font-size:var(--fs-xs)}
.ft__logo{width:150px;aspect-ratio:268/72}
/* the logo SVGs stretch to their box (preserveAspectRatio="none"): always give the image the logo's own ratio */
.ft__logo img{display:block;width:100%;height:auto;aspect-ratio:268 / 72}
.ft__addr{margin-top:var(--s-4);line-height:1.8}
.ft__links{margin-top:var(--s-6);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}
.ft__links a{text-decoration:none;white-space:nowrap;color:var(--c-on-dark)}
.ft__links a:hover{color:var(--c-rose-light)}
.ft__notes{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--c-on-dark-line);display:grid;gap:4px;line-height:1.7}
.ft__copy{margin-top:var(--s-6);font-family:var(--font-latin);letter-spacing:.16em}

/* dock (Mirror 3-split) */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;transform:translateY(110%);transition:transform 360ms var(--ease-out);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);height:calc(var(--dock-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
.dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-decoration:none;color:#fff;font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);letter-spacing:.06em;white-space:nowrap}
.dock a .row{display:flex;align-items:center;gap:6px}
.dock a small{font-family:var(--font-body);font-weight:500;font-size:var(--fs-2xs);opacity:.9}
.dock.is-show{transform:none}
.dock__tel{background:var(--c-dark)}
.dock__web{background:var(--c-cta)}
.dock__line{background:var(--c-line-green)}
@media (min-width:1024px){ .dock{display:none} }

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition-duration:120ms !important}
}

/* =====================================================================
   Sub pages (menu / price / faq / clinic / doctor / news ...)
   ===================================================================== */
.is-plain main{padding-top:var(--header-h)}

/* page hero — same immersion as the top: photo full-bleed under a transparent header */
.phero{position:relative;background:var(--c-ivory)}
.phero__in{position:relative;z-index:2;padding:calc(var(--header-h) + var(--s-8)) 0 var(--s-10)}
.is-plain .phero__in{padding-top:var(--s-10)}
.phero--img{min-height:min(76svh,680px);display:flex;align-items:flex-end;overflow:hidden;background:var(--c-hero)}
.phero--img .phero__in{padding-top:var(--s-20);padding-bottom:var(--s-8)}
.phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fx,50%) 20%}
.phero--img::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--c-scrim-0) 0%,var(--c-scrim-0) 30%,var(--c-scrim-mid) 64%,var(--c-scrim-1) 88%);pointer-events:none}
.crumb{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:var(--fs-2xs);color:var(--c-muted);margin-bottom:var(--s-3)}
.crumb a{color:var(--c-muted);text-decoration:none}
.crumb a:hover{color:var(--c-cta)}
.phero__en{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.24em;color:var(--c-rose-ink)}
.phero__title{margin-top:var(--s-1);font-size:clamp(1.9rem,8.4vw,3.2rem);letter-spacing:.06em;line-height:1.3}
.phero__lead{margin-top:var(--s-3);font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);line-height:1.75;color:var(--c-ink);max-width:36em}
.phero .btn-pair{margin-top:var(--s-5);max-width:460px}
@media (min-width:1024px), (min-width:768px) and (orientation:landscape){
  .phero--img{min-height:min(72vh,640px)}
  .phero--img::after{background:linear-gradient(to right,var(--c-scrim-1) 0%,var(--c-scrim-mid) 34%,var(--c-scrim-0) 62%)}
  .phero--img .phero__in{padding-bottom:var(--s-16)}
  .phero__in > *{max-width:560px}
  .phero__bg{object-position:70% 30%}
}

/* treatment page layout */
.mpage{padding:var(--s-8) 0 var(--s-16)}
@media (min-width:1024px){
  .mpage{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--s-12);align-items:start}
  .mpage .mcamp{grid-column:1 / -1}
  .toc{position:sticky;top:calc(var(--header-h) + var(--s-6))}
}
.mcamp{margin-bottom:var(--s-8);padding:var(--s-5);border-radius:var(--radius-lg);background:var(--c-card);border:1px solid var(--c-rose-light);box-shadow:0 10px 30px var(--c-shadow)}
.mcamp[hidden]{display:none}
.mcamp__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-4)}
.mcamp__tag{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);color:var(--c-ink)}
.mcamp .deadline{margin:0}
.mcamp__body{display:grid;gap:var(--s-4)}
.mcamp__card{width:100%;max-width:560px;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);box-shadow:0 8px 20px var(--c-shadow);justify-self:center}
.mcamp__text p{font-size:var(--fs-sm)}
.mcamp__note{margin-top:var(--s-2);font-size:var(--fs-xs) !important;color:var(--c-muted)}
.mcamp .btn-pair{margin-top:var(--s-4)}
@media (min-width:768px){ .mcamp__body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:var(--s-6)} }

.toc{margin-bottom:var(--s-8);padding:var(--s-4) var(--s-5);border-radius:var(--radius);background:var(--c-ivory)}
.toc__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink);margin-bottom:var(--s-2)}
.toc ol{counter-reset:t;display:grid;gap:2px}
.toc li a{display:flex;gap:var(--s-2);padding:6px 0;font-size:var(--fs-sm);text-decoration:none;color:var(--c-text);line-height:1.5}
.toc li a::before{counter-increment:t;content:counter(t,decimal-leading-zero);font-family:var(--font-latin);color:var(--c-rose);flex:none}
.toc li a:hover{color:var(--c-cta)}

/* official content blocks (p-menu-*) restyled */
.mbody{min-width:0}
.msec{padding:var(--s-10) 0;border-top:1px solid var(--c-line)}
.msec:first-child{border-top:0;padding-top:0}
.p-menu-sec__title{position:relative;font-size:var(--fs-xl);line-height:1.5;padding-top:var(--s-4)}
.p-menu-sec__title::before{content:"";position:absolute;left:0;top:0;width:36px;height:3px;border-radius:2px;background:var(--c-coral)}
.p-menu-sec__body{margin-top:var(--s-5)}
.p-menu-sec__lead{font-family:var(--font-display);font-weight:600;font-size:var(--fs-md);line-height:1.9;color:var(--c-ink)}
.p-menu-sec__text{margin-top:var(--s-4)}
.p-menu-sec__text p + p{margin-top:var(--s-3)}
.p-menu-sec__block{margin-top:var(--s-8)}
.p-menu-sec__h3{font-size:var(--fs-lg);padding-left:var(--s-3);border-left:3px solid var(--c-coral)}
.p-menu-sec__h4{font-size:var(--fs-md);margin-top:var(--s-6)}
.p-menu-sec__h5{font-size:var(--fs-base);margin-top:var(--s-4)}
.p-menu-sec__note{margin-top:var(--s-3);font-size:var(--fs-xs);color:var(--c-muted)}
.p-menu-sec__bullets{margin-top:var(--s-4);display:grid;gap:var(--s-2)}
.p-menu-sec__bullets li{position:relative;padding-left:1.3em;font-size:var(--fs-sm)}
.p-menu-sec__bullets li::before{content:"";position:absolute;left:.2em;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--c-coral)}

.p-menu-worries{margin-top:var(--s-5);display:grid;gap:var(--s-2)}
.p-menu-worries li{position:relative;padding:var(--s-3) var(--s-4) var(--s-3) 2.8em;border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line);font-family:var(--font-display);font-weight:600;font-size:var(--fs-base);line-height:1.6;color:var(--c-ink)}
.p-menu-worries li::before{content:"";position:absolute;left:1em;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:var(--c-coral)}
.p-menu-worries li::after{content:"";position:absolute;left:calc(1em + 6px);top:50%;width:5px;height:9px;margin-top:-6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

.p-menu-points{margin-top:var(--s-6);display:grid;gap:var(--s-3)}
.p-menu-points__item{padding:var(--s-5);border-radius:var(--radius-lg);background:var(--c-card);border:1px solid var(--c-line)}
.p-menu-points__head{display:flex;align-items:baseline;gap:var(--s-3)}
.p-menu-points__no{font-family:var(--font-latin);font-size:2rem;line-height:1;color:var(--c-coral);flex:none}
.p-menu-points__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink);line-height:1.5}
.p-menu-points__text{margin-top:var(--s-3);font-size:var(--fs-sm)}
@media (min-width:768px){ .p-menu-points{grid-template-columns:repeat(2,minmax(0,1fr))} }

.icta{margin:var(--s-8) 0 0;padding:var(--s-5);border-radius:var(--radius-lg);background:var(--c-bubble);text-align:center}
.icta__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink)}
.icta__note{margin:var(--s-1) 0 var(--s-4);font-size:var(--fs-xs);color:var(--c-muted)}
.icta .btn-pair{max-width:460px;margin-inline:auto}

.p-menu-flow{margin-top:var(--s-5);display:grid;counter-reset:fl}
.p-menu-flow__step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s-4);padding-bottom:var(--s-6)}
.p-menu-flow__step:not(:last-child)::after{content:"";position:absolute;left:22px;top:44px;bottom:0;width:1px;background:var(--c-line)}
.p-menu-flow__no{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-card);border:1px solid var(--c-rose-light);font-family:var(--font-latin);font-size:var(--fs-lg);color:var(--c-rose-ink)}
.p-menu-flow__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink);padding-top:8px;line-height:1.5}
.p-menu-flow__text{margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--c-text)}

.p-menu-message{margin-top:var(--s-5);padding:var(--s-5);border-radius:var(--radius-lg);background:var(--c-ivory)}
.p-menu-message__profile{display:grid;gap:var(--s-4)}
.p-menu-message__profile-side{display:flex;align-items:center;gap:var(--s-4)}
.p-menu-message__avatar img{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:3px solid var(--c-card)}
.p-menu-message__name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);color:var(--c-ink);letter-spacing:.1em}
.p-menu-message__profile-text{font-size:var(--fs-sm)}
.p-menu-message__block{margin-top:var(--s-4)}
.p-menu-message__group + .p-menu-message__group{margin-top:var(--s-5)}
.p-menu-message__body{margin-top:var(--s-2);font-size:var(--fs-sm)}
.p-menu-message .p-menu-sec__h4{margin-top:var(--s-5);color:var(--c-cta)}

.p-menu-risklist{margin-top:var(--s-4);display:grid;gap:var(--s-2)}
.p-menu-risklist li{position:relative;padding:var(--s-3) var(--s-4) var(--s-3) 2.4em;border-radius:var(--radius-sm);background:var(--c-card);border:1px solid var(--c-line);font-size:var(--fs-sm)}
.p-menu-risklist li::before{content:"!";position:absolute;left:.9em;top:var(--s-3);width:18px;height:18px;border-radius:50%;background:var(--c-ink);color:var(--c-card);font-size:11px;font-weight:700;display:grid;place-items:center;line-height:1}

.p-menu-faq{margin-top:var(--s-4);display:grid;gap:var(--s-2)}
.p-menu-faq__item{border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line)}
.p-menu-faq__item summary{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:700;color:var(--c-ink);line-height:1.6}
.p-menu-faq__item summary::-webkit-details-marker{display:none}
.p-menu-faq__item summary::before{content:"Q";font-family:var(--font-latin);font-size:var(--fs-lg);color:var(--c-coral-deep);flex:none}
.p-menu-faq__item summary::after{content:"+";margin-left:auto;font-family:var(--font-latin);font-size:var(--fs-lg);color:var(--c-rose-ink);flex:none;transition:transform var(--dur) var(--ease-out)}
.p-menu-faq__item[open] summary::after{transform:rotate(45deg)}
.p-menu-faq__a{padding:0 var(--s-4) var(--s-4) 2.6em;font-size:var(--fs-sm)}

.p-menu-sec--guideline{border-top:0}
.p-menu-guideline{padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory);font-size:var(--fs-xs);color:var(--c-muted)}
.p-menu-guideline__title{font-size:var(--fs-sm);color:var(--c-ink);padding:0}
.p-menu-guideline__title::before{display:none}
.p-menu-guideline__section{margin-top:var(--s-3)}
.p-menu-guideline__label{font-weight:700;color:var(--c-text)}
.p-menu-guideline__body p{margin-top:4px}

/* price tables (official markup, new skin) */
.c-price-table{margin-top:var(--s-4);border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-line);background:var(--c-card);font-size:var(--fs-sm)}
.c-price-table__row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-top:1px solid var(--c-line)}
.c-price-table__row--head{border-top:0;background:var(--c-ivory);font-weight:700;font-size:var(--fs-xs);color:var(--c-muted)}
.c-price-table__cell{padding:var(--s-3) var(--s-4);line-height:1.6;min-width:0}
.c-price-table__cell--menu{font-weight:500;color:var(--c-ink)}
.c-price-table__cell--price{text-align:right;font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);color:var(--c-ink)}
.c-price-table__row--head .c-price-table__cell--price{font-family:var(--font-body);font-size:var(--fs-xs);color:var(--c-muted)}
.c-price-table__tax{font-weight:400}
.c-price-table__price-per{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--fs-2xs);color:var(--c-muted)}
.c-price-table__prices{display:grid;gap:2px;justify-items:end}
.c-price-table__price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.c-price-table__price-label{font-family:var(--font-body);font-weight:500;font-size:var(--fs-2xs);color:var(--c-muted);padding:1px 6px;border-radius:var(--radius-pill);background:var(--c-ivory)}
.c-price-table__price:last-child .c-price-table__price-value{color:var(--c-coral-deep)}
.c-price-table__cell--area,.c-price-table__cell--count,.c-price-table__cell--note{font-size:var(--fs-xs);color:var(--c-muted)}
/* nested variant: menu → area → count → price */
.c-price-table--menu .c-price-table__row--head{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.6fr) minmax(0,1fr)}
.c-price-table__menurow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2.5fr);border-top:1px solid var(--c-line)}
.c-price-table__areas{display:grid}
.c-price-table__arearow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);border-left:1px solid var(--c-line)}
.c-price-table__arearow + .c-price-table__arearow{border-top:1px dashed var(--c-line)}
.c-price-table__counts{display:grid}
.c-price-table__crow{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}
.c-price-table__crow + .c-price-table__crow{border-top:1px dashed var(--c-line)}
@media (max-width:599px){
  .c-price-table--menu .c-price-table__row--head{display:none}
  .c-price-table__menurow{grid-template-columns:1fr}
  .c-price-table__menurow > .c-price-table__cell--menu{background:var(--c-ivory);font-family:var(--font-display);font-weight:700}
  .c-price-table__arearow{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);border-left:0}
}

/* related / menu cards */
.relcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.relcards a{display:block;border-radius:var(--radius);overflow:hidden;background:var(--c-card);border:1px solid var(--c-line);text-decoration:none;transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}
.relcards a:hover{border-color:var(--c-coral);transform:translateY(-2px)}
.relcards img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 25%}
.relcards span{display:block;padding:var(--s-3);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink);line-height:1.5}
@media (min-width:768px){ .relcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)} }
@media (min-width:1024px){ .relcards{grid-template-columns:repeat(4,minmax(0,1fr))} }
.related__all{margin-top:var(--s-8);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3)}

/* menu index */
.pickup{display:grid;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-card);border:1px solid var(--c-rose-light);text-decoration:none;margin-bottom:var(--s-12);box-shadow:0 10px 30px var(--c-shadow)}
.pickup img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 25%}
.pickup__text{padding:var(--s-5) var(--s-5) var(--s-6)}
.pickup__tag{font-size:var(--fs-xs);font-weight:700;color:var(--c-cta);letter-spacing:.06em}
.pickup h2{margin-top:var(--s-1);font-size:var(--fs-2xl)}
.pickup p{margin-top:var(--s-3);font-size:var(--fs-sm)}
.pickup__more{display:inline-block;margin-top:var(--s-3);font-family:var(--font-display);font-weight:700;color:var(--c-cta)}
@media (min-width:900px){ .pickup{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center} .pickup img{height:100%} }
.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--c-ivory);margin-bottom:var(--s-6);position:sticky;top:calc(var(--header-h) + 8px);z-index:5}
.tabs button{min-height:44px;border:0;border-radius:var(--radius-pill);background:transparent;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-muted);cursor:pointer;white-space:nowrap;padding:0 var(--s-2);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}
.tabs button[aria-selected="true"]{background:var(--c-cta);color:#fff}
.tabpanel[hidden]{display:none}
.mgroup + .mgroup{margin-top:var(--s-10)}
.mgroup__title{font-size:var(--fs-lg);margin-bottom:var(--s-4);padding-left:var(--s-3);border-left:3px solid var(--c-coral)}

/* price page */
.ppage .pcamp{margin-bottom:var(--s-8)}
.pcamp{padding:var(--s-5);border-radius:var(--radius-lg);background:var(--c-card);border:1px solid var(--c-rose-light);box-shadow:0 10px 30px var(--c-shadow)}
.pcamp[hidden]{display:none}
.pcamp__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2)}
.pcamp__lead{margin-top:var(--s-3);font-size:var(--fs-sm)}
.pcamp__list{margin-top:var(--s-4);display:grid;gap:var(--s-2)}
.pcamp__list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--s-3);align-items:baseline;padding:var(--s-3) var(--s-4);border-radius:var(--radius);background:var(--c-bubble);text-decoration:none}
.pcamp__list b{font-family:var(--font-display);color:var(--c-ink)}
.pcamp__list span{font-family:var(--font-display);font-weight:700;color:var(--c-ink);text-align:right;white-space:nowrap}
.pcamp__list em{font-style:normal;font-size:var(--fs-lg);color:var(--c-coral-deep)}
.pcamp__list small{grid-column:1 / -1;font-size:var(--fs-2xs);color:var(--c-muted)}
.pcamp__note{margin-top:var(--s-3);font-size:var(--fs-2xs);color:var(--c-muted)}
@media (min-width:768px){ .pcamp__list{grid-template-columns:repeat(3,minmax(0,1fr))} }
.pset .p-price__set{padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory);margin-bottom:var(--s-8)}
.p-price__set-title{font-family:var(--font-display);font-weight:800;font-size:var(--fs-lg);color:var(--c-coral-deep)}
.p-price__set-text{margin-top:var(--s-2);font-size:var(--fs-sm)}
.p-price__set-note{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-muted)}
.chips{display:flex;gap:var(--s-2);overflow-x:auto;padding:2px 0 var(--s-3);margin-bottom:var(--s-4);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:0 var(--s-4);border-radius:var(--radius-pill);border:1px solid var(--c-rose-light);background:var(--c-card);font-size:var(--fs-xs);text-decoration:none;white-space:nowrap;color:var(--c-text)}
.chips a:hover{border-color:var(--c-coral);color:var(--c-cta)}
.pgroup{padding-top:var(--s-6);scroll-margin-top:calc(var(--header-h) + 72px)}
.pgroup + .pgroup{margin-top:var(--s-6);border-top:1px solid var(--c-line)}
.pgroup__title{font-size:var(--fs-lg);padding-left:var(--s-3);border-left:3px solid var(--c-coral)}
.p-price__group-note{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-muted)}
.pnotes .p-price__notes{margin-top:var(--s-12);padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory);font-size:var(--fs-xs)}
.p-price__notes-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-ink);margin-bottom:var(--s-2)}

/* FAQ page (light variant of the home FAQ) */
.fpage .chips{position:sticky;top:calc(var(--header-h) + 8px);z-index:5;background:var(--c-paper);padding-top:var(--s-2)}
.fgroup{scroll-margin-top:calc(var(--header-h) + 64px)}
.fgroup + .fgroup{margin-top:var(--s-10)}
.fgroup__title{font-size:var(--fs-xl);margin-bottom:var(--s-4)}
.faq--light{max-width:none}
.faq--light details{background:var(--c-card);border-color:var(--c-line)}
.faq--light summary{color:var(--c-ink)}
.faq--light summary::before{color:var(--c-coral-deep)}
.faq--light summary i::before,.faq--light summary i::after{background:var(--c-rose-ink)}
.faq--light details p,.faq--light .p-faq__a{color:var(--c-text);padding:0 var(--s-4) var(--s-4) 2.6em;font-size:var(--fs-sm)}

/* text documents (privacy, news) */
.doc-text{max-width:780px}
.doc-text h2,.doc-text .p-menu-sec__h3{margin-top:var(--s-8);font-size:var(--fs-lg)}
.doc-text p,.doc-text li{font-size:var(--fs-sm)}
.doc-text p + p{margin-top:var(--s-3)}
.doc-text ul,.doc-text ol{margin-top:var(--s-3);padding-left:1.4em;list-style:disc}
.p-privacy__lead{font-size:var(--fs-sm)}
.news-article p{font-size:var(--fs-base);line-height:2}
.news-back{margin-top:var(--s-10)}
.newslist{border-top:1px solid var(--c-line)}
.newslist a{display:grid;grid-template-columns:auto auto 1fr;gap:var(--s-3);align-items:center;padding:var(--s-5) 0;border-bottom:1px solid var(--c-line);text-decoration:none}
.newslist time{font-family:var(--font-latin);letter-spacing:.08em;color:var(--c-muted)}
.newslist__cat{font-size:var(--fs-2xs);padding:2px 10px;border-radius:var(--radius-pill);background:var(--c-bubble);color:var(--c-cta);font-weight:700}
.newslist b{font-family:var(--font-display);color:var(--c-ink)}

/* clinic */
.rooms{display:grid;gap:var(--s-4)}
.room{border-radius:var(--radius-lg);overflow:hidden;background:var(--c-card);border:1px solid var(--c-line)}
.room img{width:100%;aspect-ratio:4/3;object-fit:cover}
.room figcaption{padding:var(--s-4) var(--s-5) var(--s-5);font-size:var(--fs-sm)}
.room figcaption b{display:block;font-family:var(--font-display);font-size:var(--fs-md);color:var(--c-ink);margin-bottom:var(--s-1)}
@media (min-width:768px){ .rooms{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){ .rooms{grid-template-columns:repeat(3,minmax(0,1fr))} }
.flow--long li{align-items:start}
.flow--long p{font-size:var(--fs-sm);color:var(--c-text)}
@media (min-width:900px){ .flow--long{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* doctor */
.doc__h{margin-top:var(--s-8);font-size:var(--fs-lg)}
.quals{margin-top:var(--s-3);display:flex;flex-wrap:wrap;gap:var(--s-2)}
.quals li{padding:4px 14px;border-radius:var(--radius-pill);background:var(--c-ivory);font-size:var(--fs-sm)}

/* case / column / 404 */
.empty-note{margin-bottom:var(--s-8);padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory);text-align:center;font-family:var(--font-display);font-weight:600;color:var(--c-ink)}
.cases--grid{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);overflow:visible;margin:0;padding:0}
@media (min-width:768px){ .cases--grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.nf{display:grid;justify-items:center;gap:var(--s-6)}
.nf img{width:140px}
.nf__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3)}

/* quiz result link */
.result__more{display:inline-block;margin-top:var(--s-2);font-size:var(--fs-sm);font-weight:700;color:var(--c-cta);text-decoration:none}

/* intro text placed outside sections on some official pages */
.mintro{padding:var(--s-6) var(--s-5);margin-bottom:var(--s-8);border-radius:var(--radius-lg);background:var(--c-bubble)}
.mintro p{font-size:var(--fs-sm);line-height:2}
.mintro p + p,.mintro h3 + p{margin-top:var(--s-3)}
.mintro h3{margin-top:var(--s-5);font-size:var(--fs-md);color:var(--c-cta)}
/* contact block on some pages */
.p-menu-contact__list{margin-top:var(--s-4);display:grid;gap:var(--s-2)}
.p-menu-contact__item{position:relative;padding-left:1.4em;font-size:var(--fs-sm)}
.p-menu-contact__item::before{content:"";position:absolute;left:.2em;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--c-coral)}
.icta--plain{background:transparent;padding:var(--s-4) 0 0}
.icta__tel{margin-top:var(--s-3);text-align:center}
.icta__tel a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-latin);letter-spacing:.12em;font-size:var(--fs-lg);color:var(--c-ink);text-decoration:none}
/* narrow phones: tabs and campaign rows */
.tabs button{font-size:clamp(.7rem,3.3vw,.8125rem);padding:0 4px}
.pcamp__list a{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--s-3)}
.pcamp__list b{white-space:nowrap}
.pcamp__list span{margin-left:auto}
.pcamp__list small{flex-basis:100%}
@media (min-width:1024px) and (max-width:1199px){
  .hd__nav{gap:var(--s-3)}
  .hd__nav ul{gap:var(--s-3)}
  .hd__nav ul a{font-size:var(--fs-xs)}
  .hd__nav .btn{padding:0 var(--s-3)}
}

/* =====================================================================
   Motion & delight — Mirror (light, image wipes, floating photos, marquee)
   × XENO (dark glow sections, image gallery, count-up)
   Everything is opt-in via html.js-motion and disabled for reduced motion.
   ===================================================================== */
:root{
  --c-glow-coral:rgba(243,157,113,.38);
  --c-glow-violet:rgba(196,170,255,.18);
  --c-mk:rgba(243,157,113,.32);
  --c-dark-card:rgba(246,246,243,.06);
  --ease-soft:cubic-bezier(.16,.84,.3,1);
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:var(--ease-soft)}

/* opening (top page, first view of the session) */
@property --sweep{syntax:"<angle>";inherits:false;initial-value:0deg}
.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--c-paper);pointer-events:none;animation:opFade .5s var(--ease-soft) 1.35s forwards}
.opening img{width:min(56vw,240px);aspect-ratio:149/40;-webkit-mask-image:conic-gradient(from -90deg,#000 var(--sweep),transparent 0);mask-image:conic-gradient(from -90deg,#000 var(--sweep),transparent 0);animation:opSweep 1s var(--ease-soft) .1s forwards}
.opening::after{content:"";position:absolute;left:50%;top:calc(50% + 46px);width:0;height:1px;background:var(--c-coral);transform:translateX(-50%);animation:opLine .7s var(--ease-soft) .6s forwards}
@keyframes opSweep{to{--sweep:360deg}}
@keyframes opLine{to{width:min(40vw,160px)}}
@keyframes opFade{to{opacity:0;visibility:hidden}}
.op-seen .opening{display:none}
html:not(.op-seen){--op-delay:1.2s}
.fv [data-in]{animation-delay:calc(var(--d,0s) + var(--op-delay,0s)) !important}
.fv h1 .l2 img{animation-delay:calc(1s + var(--op-delay,0s)) !important}

/* reading progress (sub pages) */
.progress{position:fixed;left:0;right:0;top:var(--header-h);z-index:41;height:2px;background:var(--c-coral);transform-origin:0 50%;transform:scaleX(var(--p,0));pointer-events:none}

/* scroll reveals */
.js-motion [data-r]{transition:opacity .9s var(--ease-soft),transform .9s var(--ease-soft),clip-path 1.1s var(--ease-soft);transition-delay:calc(var(--i,0) * 70ms)}
.js-motion [data-r="rise"]{opacity:0;transform:translateY(28px)}
.js-motion [data-r="side"]{opacity:0;transform:translateX(-22px)}
.js-motion [data-r="pop"]{opacity:0;transform:scale(.82) translateY(10px)}
.js-motion [data-r="wipe"]{clip-path:inset(0 0 100% 0 round var(--radius-lg))}
.js-motion [data-r="wipe"] > img,.js-motion img[data-r="wipe"]{transition:transform 1.6s var(--ease-soft),clip-path 1.1s var(--ease-soft)}
.js-motion img[data-r="wipe"]{transform:scale(1.08)}
.js-motion [data-r].is-in{opacity:1;transform:none}
/* the rounded clip is only for the photo wipe; on text it cut off the first and last letters at the corners */
.js-motion [data-r="wipe"].is-in{clip-path:inset(0 0 0 0 round var(--radius-lg))}
.js-motion [data-r="wipe"].is-in > img{transform:none}
.js-motion .head__en{transition:letter-spacing 1.4s var(--ease-soft),opacity 1s var(--ease-soft)}
.js-motion .head:not(.is-in) .head__en{letter-spacing:.5em;opacity:0}

/* hero: slow settle + parallax, brush under sub-page titles */
.phero__bg,.fv__bg{transform:translate3d(0,var(--py,0px),0) scale(var(--ps,1.06));will-change:transform}
.js-motion .phero__bg{animation:heroSettle 2.6s var(--ease-soft) both}
@keyframes heroSettle{from{--ps:1.16;opacity:.4}to{--ps:1.06;opacity:1}}
@property --ps{syntax:"<number>";inherits:false;initial-value:1.06}
.phero__title{position:relative;justify-self:start;display:inline-block}
.phero__title .brush{position:absolute;left:-3%;bottom:-.12em;width:106%;z-index:-1;pointer-events:none}
.js-motion .phero__title .brush{clip-path:inset(0 100% 0 0);animation:brush .9s cubic-bezier(.6,0,.2,1) .7s forwards}
.js-motion .phero__in > *{animation:fvIn .8s var(--ease-soft) both}
.js-motion .phero__in > *:nth-child(2){animation-delay:.1s}
.js-motion .phero__in > *:nth-child(3){animation-delay:.25s}
.js-motion .phero__in > *:nth-child(4){animation-delay:.45s}
.js-motion .phero__in > *:nth-child(5){animation-delay:.6s}
.phero::before{content:"";position:absolute;z-index:1;right:-20%;top:-10%;width:90%;aspect-ratio:1;background:radial-gradient(closest-side,var(--c-glow-coral),transparent);opacity:.55;pointer-events:none;mix-blend-mode:screen}
.js-motion .phero::before{animation:glowDrift 9s ease-in-out infinite alternate}
@keyframes glowDrift{from{transform:translate(0,0)}to{transform:translate(-12%,8%)}}

/* marker highlight that draws in */
.mk{background:linear-gradient(transparent 60%,var(--c-mk) 60%) no-repeat 0 0 / 100% 100%}
.js-motion .mk{background-size:0% 100%;transition:background-size 1.2s var(--ease-soft) .2s}
.js-motion .mk.is-in{background-size:100% 100%}

/* shine sweep on primary buttons */
.btn--web,.btn--more{position:relative;overflow:hidden;isolation:isolate}
.btn--web::before,.btn--more::before{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg) translateX(0);z-index:-1;pointer-events:none}
.js-motion .btn--web::before,.js-motion .btn--more::before{animation:shine 4.2s ease-in-out 2s infinite}
@keyframes shine{0%,72%{transform:skewX(-18deg) translateX(0)}100%{transform:skewX(-18deg) translateX(420%)}}

/* marquee band */
.marquee{overflow:hidden;padding:var(--s-6) 0;background:var(--c-paper);border-block:1px solid var(--c-line)}
.marquee__track{display:flex;width:max-content;gap:var(--s-8);animation:marq 38s linear infinite}
.marquee span{font-family:var(--font-latin);font-size:clamp(2rem,9vw,4.2rem);letter-spacing:.08em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--c-rose-light);white-space:nowrap}
.marquee span:nth-child(3n+2){color:var(--c-coral);-webkit-text-stroke:0;opacity:.85}
.marquee--dark{background:var(--c-dark);border-color:transparent}
@keyframes marq{to{transform:translateX(-50%)}}


/* XENO-style dark section with coral glow */
.doc-dark{position:relative;background:var(--c-dark);color:var(--c-on-dark);overflow:hidden}
.doc-dark::before,.doc-dark::after{content:"";position:absolute;width:80vmax;aspect-ratio:1;border-radius:50%;pointer-events:none}
.doc-dark::before{left:-30vmax;top:-30vmax;background:radial-gradient(closest-side,var(--c-glow-coral),transparent)}
.doc-dark::after{right:-34vmax;bottom:-40vmax;background:radial-gradient(closest-side,var(--c-glow-violet),transparent)}
.js-motion .doc-dark::before{animation:glowDrift 12s ease-in-out infinite alternate}
.doc-dark > *{position:relative;z-index:1}
.doc-dark h2,.doc-dark h3,.doc-dark .doc__msg,.doc-dark .career li,.doc-dark .doc__plate b{color:var(--c-on-dark)}
.doc-dark .head__en,.doc-dark .career .num{color:var(--c-coral)}
.doc-dark .head__dot{background:var(--c-coral)}
.doc-dark .doc__body,.doc-dark .head p{color:var(--c-on-dark-muted)}
.doc-dark .career{border-color:var(--c-line-dark,rgba(246,246,243,.16))}
.doc-dark .career li{border-color:rgba(246,246,243,.14)}
.doc-dark .doc__photo::before{border-color:var(--c-coral)}
.doc-dark .doc__photo img{box-shadow:0 0 0 1px rgba(243,157,113,.4),0 30px 80px rgba(243,157,113,.25)}
.doc-dark .sns{background:var(--c-dark-card)}
.doc-dark .sns p{color:var(--c-on-dark)}
.doc-dark .sns ul a{background:transparent;color:var(--c-on-dark);border-color:rgba(246,246,243,.3)}
.facts-row{margin-top:var(--s-10);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.facts-row li{padding:var(--s-5) var(--s-3);border-radius:var(--radius);background:var(--c-dark-card);border:1px solid rgba(246,246,243,.12);text-align:center}
.facts-row b{display:block;font-family:var(--font-latin);font-weight:400;font-size:clamp(2.2rem,10vw,3.2rem);line-height:1;color:var(--c-coral);letter-spacing:.02em}
.facts-row b small{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--c-on-dark);margin-left:2px}
.facts-row span{display:block;margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-on-dark-muted)}
@media (min-width:768px){ .facts-row{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* treatment page: mood image band */
.mband{position:relative;margin:var(--s-10) calc(var(--gutter) * -1);height:clamp(320px,62vw,520px);overflow:hidden;background:var(--c-hero)}
.mband__img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;object-position:60% 50%;transform:translate3d(0,var(--py,0px),0)}
.mband::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,246,243,.92) 0%,rgba(246,246,243,.55) 46%,rgba(246,246,243,0) 72%)}
.mband__cap{position:absolute;z-index:1;left:var(--gutter);right:38%;top:50%;transform:translateY(-50%)}
.mband__cap .latin{display:block;font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.24em;color:var(--c-rose-ink)}
.mband__cap p{margin-top:var(--s-2);font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,4.6vw,1.6rem);line-height:1.7;color:var(--c-ink)}
@media (max-width:599px){ .mband__cap{right:var(--gutter);top:auto;bottom:var(--s-6);transform:none} .mband::after{background:linear-gradient(to top,rgba(246,246,243,.94) 0%,rgba(246,246,243,.6) 40%,rgba(246,246,243,0) 70%)} }
@media (min-width:1024px){ .mband{margin-inline:0;border-radius:var(--radius-lg)} }

/* treatment page: doctor message as a dark XENO block */
.msec:has(.p-menu-message){position:relative;margin:var(--s-10) calc(var(--gutter) * -1);padding:var(--s-12) var(--gutter);background:var(--c-dark);color:var(--c-on-dark);overflow:hidden;border-top:0}
@media (min-width:1024px){ .msec:has(.p-menu-message){margin-inline:0;border-radius:var(--radius-lg);padding:var(--s-12)} }
.msec:has(.p-menu-message)::before{content:"";position:absolute;left:-30%;top:-30%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--c-glow-coral),transparent);pointer-events:none}
.js-motion .msec:has(.p-menu-message)::before{animation:glowDrift 10s ease-in-out infinite alternate}
.msec:has(.p-menu-message) > *{position:relative}
.msec:has(.p-menu-message) .p-menu-sec__title{color:var(--c-on-dark)}
.msec:has(.p-menu-message) .p-menu-message{background:transparent;padding:0}
.msec:has(.p-menu-message) .p-menu-message__avatar img{width:132px;height:176px;border-radius:var(--radius);border:1px solid rgba(243,157,113,.5);box-shadow:0 20px 50px rgba(243,157,113,.25)}
.msec:has(.p-menu-message) .p-menu-message__name{color:var(--c-on-dark)}
.msec:has(.p-menu-message) .p-menu-message__profile-text,.msec:has(.p-menu-message) .p-menu-message__body{color:var(--c-on-dark-muted)}
.msec:has(.p-menu-message) .p-menu-sec__h4{color:var(--c-coral)}

/* flow timelines draw as you scroll */
.p-menu-flow,.flow{position:relative}
.js-motion .p-menu-flow__step:not(:last-child)::after{transform-origin:0 0;transform:scaleY(0);transition:transform 1s var(--ease-soft) .2s;background:var(--c-coral)}
.js-motion .p-menu-flow__step.is-in:not(:last-child)::after{transform:scaleY(1)}
.js-motion .p-menu-flow__step .p-menu-flow__no{transition:background-color .6s var(--ease-soft),color .6s var(--ease-soft),border-color .6s}
.js-motion .p-menu-flow__step.is-in .p-menu-flow__no{background:var(--c-coral);color:#fff;border-color:var(--c-coral)}

/* worries: check pops in */
.js-motion .p-menu-worries li::before{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) calc(var(--i,0) * 70ms + .25s)}
.js-motion .p-menu-worries li.is-in::before{transform:scale(1)}

/* cards: hover lift + image zoom */
.relcards a img,.room img,.pickup img{transition:transform .9s var(--ease-soft)}
.relcards a:hover img,.room:hover img,.pickup:hover img{transform:scale(1.06)}
.p-menu-points__item{transition:transform .5s var(--ease-soft),box-shadow .5s var(--ease-soft)}
.p-menu-points__item:hover{transform:translateY(-4px);box-shadow:0 16px 36px var(--c-shadow)}
.cflow__track a,.mcamp__card{transform-style:preserve-3d}
.mcamp__card{transition:transform .5s var(--ease-soft)}

/* floating Mini Mokkun guide */
.guide{position:fixed;right:10px;bottom:calc(var(--dock-h) + env(safe-area-inset-bottom) + 10px);z-index:44;display:flex;align-items:flex-end;gap:6px;max-width:min(78vw,320px);pointer-events:none;transform:translateY(16px);opacity:0;transition:opacity .4s var(--ease-soft),transform .4s var(--ease-soft)}
.guide.is-show{opacity:1;transform:none}
.guide[hidden]{display:none}
.guide__bubble{position:relative;pointer-events:auto;padding:10px 30px 10px 14px;border-radius:16px 16px 4px 16px;background:var(--c-card);box-shadow:0 10px 30px var(--c-shadow);font-size:var(--fs-xs);font-weight:700;line-height:1.6;color:var(--c-ink)}
.guide__bubble.is-swap{animation:bubbleSwap .45s var(--ease-soft)}
@keyframes bubbleSwap{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.guide__close{position:absolute;right:4px;top:4px;width:22px;height:22px;border:0;border-radius:50%;background:var(--c-ivory);color:var(--c-muted);font-size:12px;line-height:22px;cursor:pointer;pointer-events:auto}
.guide img{width:62px;flex:none;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 6px 10px var(--c-shadow))}
.js-motion .guide.is-show img{animation:bob 3.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media (min-width:1024px){ .guide{bottom:24px;right:24px} }

/* concept photos float */
.js-motion .concept__pics img{transform:translate3d(0,var(--py,0px),0)}

@media (prefers-reduced-motion:reduce){
  .opening{display:none}
  .marquee__track{animation:none}
  .phero__bg,.fv__bg,.mband__img{transform:none !important}
}
.facts-row b span{display:inline;margin:0;font-size:inherit;color:inherit}
.facts-row b small{display:inline}
.doc-dark .doc__plate b{color:var(--c-ink)}

/* downtime table → vertical timeline */
.c-detail-table{position:relative;margin-top:var(--s-6);display:grid;gap:var(--s-3)}
.c-detail-table__row--head{display:none}
.c-detail-table__row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:var(--s-4);border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line)}
.is-timeline .c-detail-table__row{padding-left:calc(var(--s-4) + 26px)}
.is-timeline .c-detail-table__row::before{content:"";position:absolute;left:16px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--c-coral);box-shadow:0 0 0 4px var(--c-bubble)}
.is-timeline .c-detail-table__row:not(:last-child)::after{content:"";position:absolute;left:21px;top:40px;bottom:calc(var(--s-3) * -1 - 18px);width:2px;background:var(--c-bubble)}
.c-detail-table__cell{font-size:var(--fs-sm);line-height:1.6}
.c-detail-table__cell--label{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);color:var(--c-coral-deep)}
.c-detail-table__lab{display:inline-block;margin-right:8px;padding:0 8px;border-radius:var(--radius-pill);background:var(--c-ivory);font-size:var(--fs-2xs);font-weight:700;color:var(--c-muted)}
@media (min-width:768px){
  .c-detail-table__row{grid-template-columns:7.5em minmax(0,1fr) minmax(0,1fr);gap:var(--s-4);align-items:center}
}

.c-detail-table__lab{display:block;width:max-content;margin:0 0 2px}
.c-detail-table__cap{margin-top:var(--s-6);font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-muted)}
.c-detail-table__cap + .c-detail-table{margin-top:var(--s-2)}
/* marquee: words only, separated by a hairline */
.marquee span:nth-child(3n+2){color:transparent;-webkit-text-stroke:1px var(--c-rose-light);opacity:1}
.marquee span{display:inline-flex;align-items:center;gap:var(--s-8)}
.marquee span::after{content:"";width:48px;height:1px;background:var(--c-rose-light)}
/* worries: show 4, fold the rest */
.p-menu-worries li.is-folded{display:none}
.worries-more{display:flex;align-items:center;justify-content:center;gap:var(--s-2);width:100%;min-height:48px;margin-top:var(--s-2);border:1px dashed var(--c-rose-light);border-radius:var(--radius);background:transparent;font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);color:var(--c-cta);cursor:pointer}
.worries-more:hover{background:var(--c-card)}
.worries-more::after{content:"+";font-family:var(--font-latin);font-size:var(--fs-lg)}

/* ---------- treatment pages: reading aids — show, don't make people read (official text is never changed) ---------- */
/* how-it-works diagram */
.mfig{margin:var(--s-5) 0 0;padding:var(--s-3);border-radius:var(--radius-lg);background:var(--c-card);border:1px solid var(--c-line)}
.mfig img{width:100%;border-radius:var(--radius)}
.mfig figcaption{margin-top:var(--s-2);text-align:center;font-size:var(--fs-2xs);color:var(--c-muted)}

/* first sentence as a marker lead-in */
.lead-in{font-weight:700;color:var(--c-ink);background:linear-gradient(transparent 62%,var(--c-bubble) 0)}
.msec:has(.p-menu-message) .lead-in{color:var(--c-on-dark);background:linear-gradient(transparent 62%,rgba(243,157,113,.28) 0)}

/* "read more" clamp */
.clamp{position:relative;max-height:var(--clamp-h,9.6em);overflow:hidden;transition:max-height .6s var(--ease-soft)}
.clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4.5em;background:linear-gradient(to bottom,rgba(246,246,243,0),var(--fade,var(--c-paper)));pointer-events:none;transition:opacity .4s}
.clamp.is-open{max-height:var(--open-h,4000px)}
.clamp.is-open::after{opacity:0}
.more-btn{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s-3);padding:8px 16px;border:1px solid var(--c-rose-light);border-radius:var(--radius-pill);background:var(--c-card);font-family:var(--font-display);font-weight:700;font-size:var(--fs-xs);color:var(--c-rose-ink);cursor:pointer;transition:background-color .3s}
.more-btn:hover{background:var(--c-bubble)}
.more-btn::after{content:"+";font-family:var(--font-latin);font-size:1.15em;line-height:1;transition:transform .3s}
.more-btn[aria-expanded="true"]::after{transform:rotate(45deg)}
.msec:has(.p-menu-message) .clamp{--fade:var(--c-dark)}
.msec:has(.p-menu-message) .clamp::after{background:linear-gradient(to bottom,rgba(48,44,41,0),var(--c-dark))}
.msec:has(.p-menu-message) .more-btn{background:transparent;border-color:rgba(246,246,243,.3);color:var(--c-on-dark)}

/* worries: tap to self-check */
.p-menu-worries.wcheck li{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .25s,border-color .25s,transform .2s}
.p-menu-worries.wcheck li:active{transform:scale(.985)}
.p-menu-worries.wcheck li::before{background:var(--c-card);box-shadow:inset 0 0 0 2px var(--c-rose-light);transition:background-color .25s,box-shadow .25s,transform .3s cubic-bezier(.3,1.6,.5,1)}
.p-menu-worries.wcheck li::after{opacity:0;transition:opacity .2s}
.p-menu-worries.wcheck li[aria-checked="true"]{background:var(--c-bubble);border-color:var(--c-coral)}
.p-menu-worries.wcheck li[aria-checked="true"]::before{background:var(--c-coral);box-shadow:none;transform:scale(1.12)}
.p-menu-worries.wcheck li[aria-checked="true"]::after{opacity:1}
.p-menu-worries.wcheck li:focus-visible{outline:2px solid var(--c-cta);outline-offset:2px}
.whint{margin-top:var(--s-4);font-size:var(--fs-xs);font-weight:700;color:var(--c-rose-ink)}
.wmeter{margin-top:var(--s-3);padding:var(--s-4);border-radius:var(--radius);background:var(--c-card);border:1px solid var(--c-line)}
.wmeter__row{display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);font-weight:700;color:var(--c-ink)}
.wmeter__num{font-family:var(--font-latin);font-size:2rem;line-height:1;color:var(--c-coral-deep)}
.wmeter__bar{position:relative;height:8px;margin-top:var(--s-2);border-radius:99px;background:var(--c-ivory);overflow:hidden}
.wmeter__bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:linear-gradient(90deg,var(--c-coral),var(--c-cta));transition:width .5s var(--ease-soft)}
.wmeter__msg{margin-top:var(--s-3);font-size:var(--fs-sm)}
.wmeter .btn-pair{margin-top:var(--s-3)}
.wmeter[data-n="0"] .wmeter__msg,.wmeter[data-n="0"] .btn-pair{display:none}

/* price lists: show the first rows, open the rest */
.c-price-table .c-price-table__row.is-extra{display:none}
.c-price-table.is-open .c-price-table__row.is-extra{display:grid}

/* Q&A as a chat with Mini Mokkun */
.p-menu-faq.is-chat{gap:var(--s-4)}
.is-chat .p-menu-faq__item{background:none;border:0;border-radius:0}
.is-chat .p-menu-faq__item summary{position:relative;width:fit-content;max-width:88%;margin-left:auto;padding:var(--s-3) var(--s-4);border-radius:18px 18px 4px 18px;background:var(--c-card);border:1px solid var(--c-line);box-shadow:0 6px 16px var(--c-shadow);font-size:var(--fs-sm)}
.is-chat .p-menu-faq__item summary::before{content:"Q";font-size:var(--fs-md)}
.is-chat .p-menu-faq__item summary::after{content:"タップで回答";margin-left:var(--s-2);padding:2px 8px;border-radius:99px;background:var(--c-bubble);font-family:var(--font-body);font-weight:700;font-size:10px;color:var(--c-rose-ink);transform:none}
.is-chat .p-menu-faq__item[open] summary::after{content:"";padding:0;display:none}
.is-chat .p-menu-faq__item[open] summary{background:var(--c-bubble);border-color:var(--c-rose-light)}
.is-chat .p-menu-faq__a{position:relative;display:flex;align-items:flex-end;gap:var(--s-2);margin-top:var(--s-3);padding:0;font-size:var(--fs-sm)}
.is-chat .p-menu-faq__a::before{content:"";flex:none;width:46px;height:46px;border-radius:50%;background:var(--c-card) url(../img/mokkun-ok.png) 50% 18%/118% no-repeat;box-shadow:0 4px 12px var(--c-shadow)}
.is-chat .a-bub{max-width:84%;padding:var(--s-3) var(--s-4);border-radius:18px 18px 18px 4px;background:var(--c-dark);color:var(--c-on-dark);line-height:1.75}
.js-motion .is-chat .p-menu-faq__item[open] .a-bub{animation:bubbleIn .45s var(--ease-soft) both}
@keyframes bubbleIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.p-menu-faq__item.is-extra{display:none}
.p-menu-faq.is-open .p-menu-faq__item.is-extra{display:block}
@media (min-width:768px){ .mfig{max-width:640px;margin-inline:auto} }

/* ---------- top page below the campaign (2026-10-05 redesign): one story, real photos, official words ---------- */
/* chapter heads: left aligned number + title (the centered EN / dot / title head is kept only above) */
.tp{padding:var(--s-16) 0;background:var(--c-paper)}
.tp--ivory{background:var(--c-ivory)}
.tp-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:var(--s-3);margin-bottom:var(--s-6)}
.tp-head__no{grid-row:1 / 3;font-family:var(--font-latin);font-size:clamp(3.4rem,15vw,5.8rem);line-height:.8;letter-spacing:-.02em;color:var(--c-coral)}
.tp-head h2{font-size:clamp(1.5rem,6.6vw,2.5rem);line-height:1.3;letter-spacing:.06em}
.tp-head__hint{grid-column:2;margin-top:4px;font-family:var(--font-latin);font-size:var(--fs-xs);letter-spacing:.24em;color:var(--c-muted)}
.tp-head__note{grid-column:2;margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--c-muted)}
@media (min-width:1024px){ .tp-head__hint{display:none} }
.tp-more{margin-top:var(--s-8);text-align:center}

/* concept story: the clinic's words over photos that change as you scroll */
.story{position:relative;background:var(--c-dark);color:var(--c-on-dark)}
.story__stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden}
.story__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transform:scale(1.08);transition:opacity 1.2s var(--ease-soft),transform 7s linear}
.story__img.is-on{opacity:1;transform:scale(1)}
.story__shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,22,20,.25) 0%,rgba(26,22,20,0) 28%,rgba(26,22,20,.5) 66%,rgba(26,22,20,.86) 100%)}
.story__bar{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(var(--header-h) + 12px);height:2px;border-radius:2px;background:rgba(246,246,243,.25);overflow:hidden}
.story__bar i{display:block;width:var(--p,0%);height:100%;background:var(--c-on-dark);transition:width .5s var(--ease-soft)}
.story__steps{position:relative;z-index:1}
.story__step{display:flex;flex-direction:column;justify-content:flex-end;min-height:100svh;width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto;padding-bottom:15svh}
.story__kicker{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.32em;color:var(--c-coral)}
.story__title{margin-top:var(--s-2);font-size:clamp(2.3rem,10.5vw,4.6rem);line-height:1.25;letter-spacing:.06em;color:var(--c-on-dark)}
.story__sub{margin-top:var(--s-4);font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,4.6vw,1.5rem);line-height:1.8}
.story__line{font-family:var(--font-display);font-weight:700;font-size:clamp(1.65rem,7.6vw,3.3rem);line-height:1.55;letter-spacing:.06em;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.story__line--sm{font-size:clamp(1.3rem,6vw,2.5rem)}
.story__step--end{justify-content:center;padding:var(--s-16) 0;min-height:110svh;background:linear-gradient(to bottom,rgba(48,44,41,0),rgba(48,44,41,.94) 28%);width:100%;padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2))}
.story__step--end p{font-family:var(--font-display);font-weight:600;font-size:clamp(1rem,4.3vw,1.35rem);line-height:2.1}
.story__step--end p + p{margin-top:var(--s-5)}
.story__more{align-self:flex-start;margin-top:var(--s-8);padding-bottom:4px;border-bottom:1px solid currentColor;font-family:var(--font-display);font-weight:700;color:var(--c-on-dark)}
.story__more::after{content:" →"}
.js-story .story__step > *{opacity:0;transform:translateY(26px);filter:blur(8px);transition:opacity .9s var(--ease-soft),transform .9s var(--ease-soft),filter .9s var(--ease-soft)}
.js-story .story__step.is-in > *{opacity:1;transform:none;filter:none}
.js-story .story__step.is-in > :nth-child(2){transition-delay:.15s}
.js-story .story__step.is-in > :nth-child(3){transition-delay:.3s}
@media (min-width:1024px){
  .story__img{object-position:50% 12%}
  .story__shade{background:linear-gradient(to right,rgba(26,22,20,.78) 0%,rgba(26,22,20,.3) 48%,rgba(26,22,20,0) 70%)}
  .story__step{justify-content:center;padding-bottom:0}
  .story__step > *{max-width:600px}
}

/* quiz as a full coral panel */
.tq{position:relative;overflow:hidden;padding:var(--s-16) 0 var(--s-20);background:linear-gradient(140deg,var(--c-cta) 0%,var(--c-rose-light) 60%,var(--c-coral) 100%);color:#fff}
.tq::before{content:"";position:absolute;right:-30%;top:-25%;width:90vw;max-width:900px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.38),rgba(255,255,255,0));pointer-events:none}
.tq__in{position:relative}
.tq__head{margin-bottom:var(--s-8)}
.tq__num{font-family:var(--font-latin);font-size:clamp(5rem,27vw,9.5rem);line-height:.8;color:#fff}
.tq__num small{margin-left:.12em;font-family:var(--font-display);font-weight:700;font-size:.26em}
.tq__head h2{margin-top:var(--s-3);font-size:clamp(1.9rem,8.4vw,3.1rem);line-height:1.3;color:#fff}
.tq__head p{margin-top:var(--s-2);font-weight:700;color:rgba(255,255,255,.92)}
.tq .quiz{box-shadow:0 30px 70px rgba(120,40,10,.35)}
@media (min-width:1024px){ .tq__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s-12);align-items:center} .tq__head{margin:0} }


/* pick up: thread lift */
.pick{background:var(--c-paper)}
.pick__hero{position:relative;height:min(90svh,760px);overflow:hidden;background:var(--c-dark)}
.pick__hero img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:66% 30%;transform:translate3d(0,var(--py,0px),0)}
.pick__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,22,20,0) 38%,rgba(26,22,20,.8) 100%)}
.pick__over{position:absolute;z-index:1;left:0;right:0;bottom:var(--s-10);color:#fff}
.pick__kicker{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.32em;color:var(--c-coral)}
.pick__over h2{margin-top:var(--s-1);font-size:clamp(3.2rem,16vw,6.4rem);line-height:1.05;letter-spacing:.08em;color:#fff}
.pick__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-4)}
.pick__tags li{padding:6px 14px;border-radius:var(--radius-pill);background:#fff;font-weight:700;font-size:var(--fs-sm);color:var(--c-cta)}
.pick__body{padding-top:var(--s-10);padding-bottom:var(--s-16)}
.pick__lead{font-family:var(--font-display);font-weight:600;font-size:clamp(1.05rem,4.5vw,1.3rem);line-height:2.05;color:var(--c-ink)}
.pick__diagram{margin:var(--s-8) 0 0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 16px 40px var(--c-shadow)}
.pick__price{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-8);font-family:var(--font-display);font-weight:700;color:var(--c-ink)}
.pick__price b{font-size:clamp(1.9rem,8.4vw,2.7rem);color:var(--c-cta)}
.pick__risk{margin-top:var(--s-2);font-size:var(--fs-xs);color:var(--c-muted)}
.pick__btns{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
@media (min-width:1024px){ .pick__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s-12);align-items:start} .pick__diagram{grid-column:2;grid-row:1 / 6;margin:0} }

/* doctor chapter (dark) */
.doc2{position:relative;overflow:hidden;background:var(--c-dark);color:var(--c-on-dark)}
.doc2__photo{position:relative;height:80svh;max-height:760px;overflow:hidden}
.doc2__photo img{position:absolute;inset:-5% 0;width:100%;height:110%;object-fit:cover;object-position:50% 10%;transform:translate3d(0,var(--py,0px),0)}
.doc2__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(48,44,41,0) 42%,var(--c-dark) 97%)}
.doc2__in{position:relative;margin-top:-26svh;padding-bottom:var(--s-16)}
.doc2__kicker{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.32em;color:var(--c-coral)}
.doc2__quote{margin-top:var(--s-2);font-size:clamp(1.75rem,7.6vw,3.1rem);line-height:1.5;letter-spacing:.06em;color:var(--c-on-dark)}
.doc2__name{margin-top:var(--s-5);font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,6vw,1.9rem);letter-spacing:.14em;color:var(--c-on-dark)}
.doc2__name small{display:block;margin-bottom:4px;font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--c-coral)}
.doc2__name span{display:block;font-family:var(--font-latin);font-weight:400;font-size:var(--fs-xs);letter-spacing:.32em;color:var(--c-on-dark-muted)}
.doc2__msg{display:grid;gap:var(--s-3);margin-top:var(--s-6);font-size:var(--fs-sm);line-height:2;color:var(--c-on-dark-muted)}
.doc2__strong{font-family:var(--font-display);font-weight:700;font-size:clamp(1.15rem,5vw,1.5rem);line-height:1.7;color:var(--c-on-dark)}
.doc2__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-top:var(--s-10)}
.doc2__facts li{padding-top:var(--s-4);border-top:1px solid var(--c-on-dark-line)}
.doc2__facts b{display:block;font-family:var(--font-latin);font-weight:400;font-size:clamp(1.9rem,8.6vw,2.8rem);line-height:1;color:var(--c-coral)}
.doc2__facts small{display:block;margin-top:6px;font-size:var(--fs-2xs);line-height:1.5;color:var(--c-on-dark-muted)}
.doc2__sns{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin-top:var(--s-8);font-size:var(--fs-sm)}
.doc2__sns a{color:var(--c-on-dark);text-decoration:underline;text-underline-offset:4px}
.btn--ghost-light{margin-top:var(--s-6);background:transparent;border:1px solid rgba(246,246,243,.5);color:var(--c-on-dark)}
.btn--ghost-light:hover{background:var(--c-on-dark-fill)}
@media (min-width:1024px){
  .doc2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  /* the photo stays one screen tall and pinned while the text column scrolls: a column as tall as the text cropped the face */
  .doc2{overflow:clip;align-items:start}
  .doc2__photo{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));max-height:none;min-height:0}
  .doc2__photo img{inset:0;height:100%;transform:none}
  .doc2__photo::after{background:linear-gradient(to right,rgba(48,44,41,0) 55%,var(--c-dark))}
  .doc2__in{width:auto;margin:0;padding:var(--s-24) var(--s-12) var(--s-24) var(--s-6)}
}

/* features over the real clinic photos */
.fpanels{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--s-2) var(--gutter) var(--s-4);scrollbar-width:none}
.fpanels::-webkit-scrollbar{display:none}
.fpanel{position:relative;flex:0 0 82%;max-width:440px;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-lg);background:var(--c-dark);scroll-snap-align:center}
.fpanel img{position:absolute;top:-4%;left:-4%;width:108%;height:108%;object-fit:cover}
.fpanel::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,22,20,0) 32%,rgba(26,22,20,.86) 100%)}
.fpanel__body{position:absolute;z-index:1;left:var(--s-5);right:var(--s-5);bottom:var(--s-5);color:#fff}
.fpanel__no{font-family:var(--font-latin);font-size:2.6rem;line-height:1;color:var(--c-coral)}
.fpanel h3{margin-top:var(--s-2);font-size:clamp(1.25rem,5.6vw,1.6rem);line-height:1.5;color:#fff}
.fpanel p{margin-top:var(--s-2);font-size:var(--fs-sm);line-height:1.8;color:rgba(255,255,255,.88)}
@media (min-width:1024px){ .fpanels{overflow:visible;padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2))} .fpanel{flex:1 1 0;max-width:none} }

/* first visit: steps light up and the line grows as you scroll */
.visit{position:relative;display:grid;gap:var(--s-6);padding-left:var(--s-12)}
.visit::before,.visit::after{content:"";position:absolute;left:19px;top:10px;width:2px;border-radius:2px}
.visit::before{bottom:10px;background:var(--c-line)}
.visit::after{height:calc((100% - 20px) * var(--vp,0));background:var(--c-coral);transition:height .2s linear}
.visit li{position:relative}
.visit__no{position:absolute;left:calc(var(--s-12) * -1);top:-4px;display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--c-line);border-radius:50%;background:var(--c-paper);font-family:var(--font-latin);font-size:1.2rem;color:var(--c-muted);transition:background-color .4s,border-color .4s,color .4s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.visit li.is-on .visit__no{border-color:var(--c-coral);background:var(--c-coral);color:#fff;transform:scale(1.1)}
.visit h3{font-size:var(--fs-lg);line-height:1.5}
.visit p{margin-top:var(--s-1);font-size:var(--fs-sm);color:var(--c-muted)}
@media (min-width:1024px){ .visit{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-8);padding-left:0} .visit::before,.visit::after{display:none} .visit__no{position:static;margin-bottom:var(--s-3)} }
@media (prefers-reduced-motion:reduce){ .story__img{transition:none;transform:none} .js-story .story__step > *{transition:none;filter:none} }
@media (min-width:1024px){ #faq .p-menu-faq.is-chat{max-width:780px;margin-inline:auto} }
/* concept story, shorter (about 2.5 screens): three scenes instead of six */
.story__step{min-height:86svh;padding-bottom:12svh}
.story__step--lines{gap:var(--s-3)}
.story__step--lines .story__line{font-size:clamp(1.45rem,6.6vw,2.8rem)}
.js-story .story__step.is-in > :nth-child(2){transition-delay:.45s}
.js-story .story__step.is-in > :nth-child(3){transition-delay:.9s}
.js-story .story__step.is-in > :nth-child(4){transition-delay:1.2s}
.js-story .story__step.is-in > :nth-child(5){transition-delay:1.4s}
.story__step--end{min-height:auto;padding:var(--s-20) 0 var(--s-16);padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2))}
.story__lead{font-size:clamp(1.25rem,5.6vw,2rem) !important;font-weight:700 !important;line-height:1.7 !important;color:var(--c-on-dark)}
@media (min-width:1024px){ .story__step{min-height:80vh;padding-bottom:0} .story__step--end{min-height:auto} }
/* quiz inside the coral panel: text back to ink (the panel sets white) */
.tq .quiz{color:var(--c-ink)}
.result__chat{grid-template-columns:56px minmax(0,1fr)}
.result__chat img{width:56px}
.result__chat p{color:var(--c-ink)}
.result__label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;color:var(--c-muted)}
.result__card--sub{padding:var(--s-3);border-radius:var(--radius);background:var(--c-paper)}
.result__card--sub .result__name{font-size:var(--fs-lg)}
.result__card--sub .result__price{font-size:var(--fs-lg)}
@media (max-width:1023px){ .tq__head{margin-bottom:calc(var(--s-8) + 64px)} }
.result .btn-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-2)}

/* concept (2026-10-05 v3): one photo, three short lines, one core line — fits one phone screen */
.concept2{padding:var(--s-16) 0;background:var(--c-paper);overflow:hidden}
.concept2__in{display:grid;grid-template-columns:minmax(0,1fr)}
.concept2__photo{justify-self:end;width:min(62%,320px);margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px var(--radius-lg) var(--radius-lg);box-shadow:0 20px 50px var(--c-shadow)}
.concept2__photo img{width:100%;height:100%;object-fit:cover}
.concept2__text{position:relative;margin-top:calc(var(--s-12) * -1)}
.concept2__kicker{font-family:var(--font-latin);font-size:var(--fs-sm);letter-spacing:.32em;color:var(--c-coral)}
.concept2 h2{margin-top:var(--s-1);font-size:clamp(2.2rem,10vw,3.8rem);line-height:1.25;letter-spacing:.06em;text-shadow:0 0 14px var(--c-paper),0 0 4px var(--c-paper)}
.concept2__moments{margin-top:var(--s-6)}
.concept2__moments li{position:relative;padding:var(--s-3) 0 var(--s-3) 1.4em;border-bottom:1px solid var(--c-line);font-family:var(--font-display);font-weight:600;font-size:clamp(1.02rem,4.4vw,1.2rem);line-height:1.6;color:var(--c-ink)}
.concept2__moments li::before{content:"";position:absolute;left:.2em;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:var(--c-coral)}
.concept2__core{margin-top:var(--s-6);font-family:var(--font-display);font-weight:700;font-size:clamp(1.15rem,5vw,1.5rem);line-height:1.6;color:var(--c-ink)}
.concept2__core span{background:linear-gradient(transparent 62%,var(--c-bubble) 0)}
.concept2__more{display:inline-block;margin-top:var(--s-5);padding-bottom:3px;border-bottom:1px solid currentColor;font-family:var(--font-display);font-weight:700;color:var(--c-rose-ink)}
.concept2__more::after{content:" →"}
@media (min-width:1024px){
  .concept2{padding:var(--s-24) 0}
  .concept2__in{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;column-gap:var(--s-16)}
  .concept2__photo{justify-self:start;width:100%;max-width:420px}
  .concept2__text{margin:0}
}

/* FAQ: heading on the left, chat on the right (PC); stacked on phones */
.tp-split{display:grid;grid-template-columns:minmax(0,1fr)}
.tp-split .tp-more{text-align:left}
@media (min-width:1024px){
  .tp-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:var(--s-12);align-items:start}
  .tp-split__side{position:sticky;top:calc(var(--header-h) + var(--s-8))}
  .tp-split__side .tp-head{margin-bottom:var(--s-4)}
  .tp-split__side .tp-more{margin-top:var(--s-6)}
  #faq .p-menu-faq.is-chat{max-width:none;margin:0}
}
.tp-split__chara{display:none}
@media (min-width:1024px){ .tp-split__chara{display:block;width:120px;margin-top:var(--s-6)} }
.tp-more--pc{display:none}
@media (min-width:1024px){ .tp-more--pc{display:block} .tp-more--sp{display:none} }
.doc2__photo img{object-position:50% 14%}
.tp-split .tp-more--sp{text-align:center}
/* doctor chapter: career as a vertical timeline, roomier facts, one left edge */
.career3{margin-top:var(--s-12);border-top:1px solid var(--c-on-dark-line)}
.career3 > div{display:grid;grid-template-columns:4.2em minmax(0,1fr);column-gap:var(--s-4);align-items:baseline;padding:var(--s-4) 0;border-bottom:1px solid var(--c-on-dark-line)}
.career3 dt{font-family:var(--font-latin);font-size:1.45rem;line-height:1;color:var(--c-coral)}
.career3 dd{font-size:var(--fs-sm);line-height:1.7;color:var(--c-on-dark)}
.doc2__facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-12)}
.doc2__facts li{padding-top:var(--s-5)}
.doc2__facts b{display:flex;align-items:baseline;gap:2px;font-size:clamp(2.1rem,9vw,3rem)}
.doc2__facts b small{font-family:var(--font-display);font-weight:700;font-size:.42em;color:var(--c-coral)}
.doc2__facts em{display:block;margin-top:var(--s-2);font-style:normal;font-size:var(--fs-xs);line-height:1.5;color:var(--c-on-dark-muted)}
.doc2__sns{margin-top:var(--s-10)}
.doc2__msg{margin-top:var(--s-8)}
.result__flow{display:block;margin-top:var(--s-4);text-align:center}
@media (min-width:1024px){ .doc2__in{padding-inline:var(--s-12)} }

/* ---------- treatment pages (2026-10-05): editorial, not a card grid — numbered headings, hairline lists ---------- */
.mbody{counter-reset:msec}
.mbody .msec{padding:var(--s-12) 0}
.mbody .msec:first-child{padding-top:var(--s-2)}
.mbody .msec > .p-menu-sec__head{counter-increment:msec;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s-4);align-items:baseline}
.mbody .msec > .p-menu-sec__head::before{content:counter(msec,decimal-leading-zero);font-family:var(--font-latin);font-weight:400;font-size:clamp(2.2rem,9vw,3.1rem);line-height:.9;color:var(--c-coral)}
.mbody .p-menu-sec__title{padding-top:0;font-size:clamp(1.3rem,5.6vw,1.75rem);line-height:1.45}
.mbody .p-menu-sec__title::before{display:none}
/* lists: rows on hairlines instead of a white card per line */
.mbody .p-menu-worries{gap:0;border-top:1px solid var(--c-line)}
.mbody .p-menu-worries li{padding:var(--s-4) var(--s-2) var(--s-4) 2.4em;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent}
.mbody .p-menu-worries li::before{left:.3em}
.mbody .p-menu-worries li::after{left:calc(.3em + 6px)}
.mbody .p-menu-worries.wcheck li[aria-checked="true"]{background:linear-gradient(90deg,var(--c-bubble),rgba(255,255,255,0))}
.mbody .worries-more{justify-content:flex-start;min-height:44px;margin-top:0;padding:0;border:0;border-radius:0}
.mbody .worries-more:hover{background:none}
.mbody .wmeter{margin-top:var(--s-4);padding:0;border:0;border-radius:0;background:none}
.mbody .p-menu-points{display:grid;gap:0;margin:var(--s-6) 0 0;padding:0;overflow:visible;border-top:1px solid var(--c-line)}
.mbody .p-menu-points__item{flex:none;padding:var(--s-6) 0;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;box-shadow:none}
.mbody .p-menu-points__item:hover{transform:none;box-shadow:none}
.mbody .p-menu-points__head{display:grid;grid-template-columns:2.4em minmax(0,1fr);align-items:baseline;gap:var(--s-3)}
.mbody .p-menu-points__no{font-size:clamp(1.9rem,8vw,2.4rem)}
.mbody .p-menu-points__title{font-size:var(--fs-md)}
.mbody .p-menu-points__text{margin-top:var(--s-2);padding-left:calc(2.4em + var(--s-3))}
@media (min-width:768px){ .mbody .p-menu-points{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-10)} }
.mbody .c-detail-table{gap:0;border-top:1px solid var(--c-line)}
.mbody .c-detail-table__row{padding:var(--s-4) 0;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;box-shadow:none}
.mbody .c-detail-table__lab{padding:0;border-radius:0;background:none;font-weight:500;color:var(--c-muted)}
/* downtime: one vertical line through the days (no sideways swipe) */
.mbody .c-detail-table.is-timeline{display:grid;margin-inline:0;padding:0;overflow:visible;border-top:0}
.mbody .is-timeline .c-detail-table__row{flex:none;padding:0 0 var(--s-6) calc(14px + var(--s-4));border:0}
.mbody .is-timeline .c-detail-table__row::before{left:0;top:.45em;width:12px;height:12px}
.mbody .is-timeline .c-detail-table__row:not(:last-child)::after{left:5px;top:calc(.45em + 18px);right:auto;bottom:4px;width:2px;height:auto}
.mbody .p-menu-risklist{gap:0;border-top:1px solid var(--c-line)}
.mbody .p-menu-risklist li{padding:var(--s-3) 0 var(--s-3) 1.3em;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent}
.mbody .p-menu-risklist li::before{content:"";left:.1em;top:calc(var(--s-3) + .7em);width:6px;height:6px;border-radius:50%;background:var(--c-coral-deep)}
.mbody .mfig{padding:0;border:0;border-radius:0;background:none}
.mbody .mfig img{border-radius:var(--radius-lg)}
/* Q&A (treatment pages and the top page): full-width rows, Mini Mokkun still answers */
:is(.mbody,#faq) .p-menu-faq.is-chat{gap:0;border-top:1px solid var(--c-line)}
:is(.mbody,#faq) .is-chat .p-menu-faq__item{border-bottom:1px solid var(--c-line)}
:is(.mbody,#faq) .is-chat .p-menu-faq__item summary{width:auto;max-width:none;margin:0;padding:var(--s-4) 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:var(--fs-base)}
:is(.mbody,#faq) .is-chat .p-menu-faq__item summary::after,:is(.mbody,#faq) .is-chat .p-menu-faq__item[open] summary::after{content:"+";display:block;margin-left:auto;padding:0;border-radius:0;background:none;font-family:var(--font-latin);font-weight:400;font-size:var(--fs-lg);color:var(--c-rose-ink)}
:is(.mbody,#faq) .is-chat .p-menu-faq__item[open] summary::after{transform:rotate(45deg)}
:is(.mbody,#faq) .is-chat .p-menu-faq__item[open] summary{background:transparent}
:is(.mbody,#faq) .is-chat .p-menu-faq__a{margin:0 0 var(--s-5)}
/* contents: folded on phones, a reading rail on PC */
.toc{padding:0;border-radius:0;background:none;border-block:1px solid var(--c-line)}
.toc__btn{display:flex;align-items:baseline;gap:var(--s-2);width:100%;padding:var(--s-4) 0;border:0;background:none;font:inherit;font-family:var(--font-display);font-weight:700;color:var(--c-ink);text-align:left;cursor:pointer}
.toc__btn small{font-family:var(--font-body);font-weight:500;font-size:var(--fs-xs);color:var(--c-muted)}
.toc__btn::after{content:"+";margin-left:auto;font-family:var(--font-latin);font-weight:400;font-size:var(--fs-lg);line-height:1;color:var(--c-rose-ink);transition:transform var(--dur) var(--ease-out)}
.toc.is-open .toc__btn::after{transform:rotate(45deg)}
.toc ol{padding-bottom:var(--s-3)}
.toc li a[aria-current="true"]{color:var(--c-ink);font-weight:700}
@media (max-width:1023px){ .toc.is-ready:not(.is-open) ol{display:none} }
@media (min-width:1024px){
  .toc{border:0}
  .toc__btn{padding:0 0 var(--s-3);pointer-events:none}
  .toc__btn::after,.toc__btn small{display:none}
  .toc ol{border-left:1px solid var(--c-line)}
  .toc li a{margin-left:-1px;padding:7px 0 7px var(--s-4);border-left:2px solid transparent;transition:color .3s,border-color .3s}
  .toc li a[aria-current="true"]{border-left-color:var(--c-coral)}
}
.mbody .p-menu-points__head{grid-template-columns:auto minmax(0,1fr)}
.mbody .p-menu-points__no{font-size:1.5rem;color:var(--c-rose-ink)}
.mbody .p-menu-points__text{padding-left:0}
.mbody .is-timeline .c-detail-table__row:not(:last-child)::after{background:var(--c-rose-light)}

/* top: worries as one quiet index (XENO keeps one menu block; Mirror lists treatments on hairlines) */
.windex{display:grid;border-top:1px solid var(--c-line)}
.windex > li{padding:var(--s-6) 0 var(--s-5);border-bottom:1px solid var(--c-line)}
.windex__head{display:flex;align-items:center;gap:var(--s-4)}
.windex__head img{flex:none;width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:var(--fx,55%) 30%}
.windex h3{font-size:clamp(1.15rem,5vw,1.4rem);line-height:1.4;letter-spacing:.06em}
.windex ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s-5);margin-top:var(--s-3)}
.windex ul a{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);min-height:48px;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm);font-weight:700;line-height:1.4;color:var(--c-ink);text-decoration:none}
.windex ul li:nth-last-child(-n+2):nth-child(odd) a,.windex ul li:last-child a{border-bottom:0}
.windex ul a::after{content:"→";flex:none;font-weight:400;color:var(--c-coral-deep);transition:transform .3s var(--ease-soft)}
.windex ul a:hover{color:var(--c-cta)}
.windex ul a:hover::after{transform:translateX(4px)}
.windex__all{margin-top:var(--s-8);text-align:center}
@media (min-width:1024px){
  .windex{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s-10);border-top:0}
  .windex > li{border-top:1px solid var(--c-line);border-bottom:0}
}

/* ---------- phones (2026-10-05): no text over faces ---------- */
@media (max-width:767px), (max-width:1023px) and (orientation:portrait){
  /* page heroes: title on the paper, the photo below it as its own picture (as Tachikawa Mirror does) */
  .phero--img{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:var(--c-ivory)}
  .phero--img::after{display:none}
  .phero--img .phero__in{padding:calc(var(--header-h) + var(--s-6)) 0 var(--s-6)}
  .phero--img > picture{display:contents}
  .phero--img .phero__bg{order:2;position:relative;inset:auto;z-index:2;display:block;width:calc(100% - var(--gutter) * 2);height:auto;aspect-ratio:3/2;margin:0 auto var(--s-8);border-radius:var(--radius-lg);object-position:50% 30%;transform:none;will-change:auto}
  .phero--img picture .phero__bg{aspect-ratio:4/5;object-position:50% 22%}
  .phero__title{font-size:clamp(1.7rem,7.4vw,2.6rem)}
  /* first view: the photo is always fitted to the width and lifted by 8vw (a tall, narrow screen used to fit it to the
     height, which enlarged the face and pushed it down). Chin then sits at about 96% of the width; the copy starts below 106vw */
  .fv{height:auto;min-height:calc(100svh - 36px);max-height:none;display:flex;flex-direction:column;justify-content:flex-end;padding-top:106vw}
  .fv{background:var(--c-paper)}
  .fv__bg{top:-8vw;bottom:auto;height:auto;aspect-ratio:1080 / 2340;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 98%);mask-image:linear-gradient(to bottom,#000 78%,transparent 98%)}
  .fv__copy{position:relative;bottom:auto;padding-bottom:calc(var(--s-10) + var(--s-6))}
  /* thread-lift pick-up: the photo alone, the title and tags under it */
  .pick__hero{display:flex;flex-direction:column;height:auto;overflow:visible;background:none}
  .pick__hero img{position:relative;inset:auto;height:auto;aspect-ratio:4/5;transform:none}
  .pick__hero::after{display:none}
  .pick__over{position:static;padding-top:var(--s-8);color:var(--c-ink)}
  .pick__over h2{font-size:clamp(2.6rem,13vw,4rem);color:var(--c-ink)}
  .pick__tags li{background:var(--c-bubble)}
  .pick__body{padding-top:var(--s-6)}
  /* fewer layers on a small screen: no outlined word bands, Mini Mokkun without the floating speech bubble */
  .marquee{display:none}
  .concept2__text{margin-top:var(--s-6)}
  .guide__bubble{display:none}
  .guide img{width:52px}
}

/* campaign heading + deadline (2026-10-05): never break inside 「キャンペーン」 or 「あと26日」.
   The title shrinks to fit one line; the date and the counter each stay on one line and only move under each other if the screen is tiny */
.head--xl h2{font-size:min(clamp(1.875rem,4.4vw,3.625rem),calc((100vw - var(--gutter) * 2) / 10.8))}
.deadline{flex-wrap:wrap;justify-content:center;row-gap:6px;max-width:100%;white-space:nowrap}
.deadline b{white-space:nowrap}
@media (max-width:389px){
  .head--xl .deadline{gap:var(--s-2);padding:6px 6px 6px 16px;font-size:var(--fs-sm)}
  .head--xl .deadline b{padding:2px 12px}
  .head--xl .deadline b .num{font-size:var(--fs-lg)}
}

/* top 06: the clinic's monthly calendar image (calendar.json) */
.cal-months{display:grid;gap:var(--s-8);max-width:560px;margin-inline:auto}
@media (min-width:1024px){ .cal-months:has(.calm + .calm){max-width:1120px;grid-template-columns:repeat(2,minmax(0,1fr))} }
.calm{margin:0}
.calm img{display:block;width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:0 18px 44px var(--c-shadow)}
.info dd small a{color:var(--c-cta)}

/* price list (2026-10-10): four tabs, 税抜 with 税込 alongside, campaign hints on the matching rows */
.pricetabs .tabs{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-lg)}
.pricetabs .tabs button{white-space:normal;line-height:1.3;border-radius:var(--radius);padding:4px 6px;font-size:clamp(.72rem,3.4vw,.8125rem)}
@media (min-width:768px){
  .pricetabs .tabs{grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--radius-pill)}
  .pricetabs .tabs button{border-radius:var(--radius-pill);font-size:var(--fs-sm)}
}
.pricetabs .pgroup,.pgroup__alias{scroll-margin-top:calc(var(--header-h) + 128px)}
@media (min-width:768px){ .pricetabs .pgroup,.pgroup__alias{scroll-margin-top:calc(var(--header-h) + 72px)} }
.pgroup__alias{display:block;height:0}
.pgroup__sub{margin-top:var(--s-6);font-size:var(--fs-base);color:var(--c-coral-deep)}
.pgroup__sub::before{content:"";display:inline-block;width:6px;height:6px;margin:0 8px 2px 2px;border-radius:50%;background:var(--c-coral);vertical-align:middle}
.pgroup__title + .pgroup__sub,.pgroup__alias + .pgroup__sub{margin-top:var(--s-4)}
.pgroup__sub + .c-price-table{margin-top:var(--s-2)}
.c-price-table__desc{display:block;margin-top:2px;font-weight:400;font-size:var(--fs-xs);color:var(--c-muted);line-height:1.5}
.c-price-table__taxin{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--fs-xs);color:var(--c-muted);line-height:1.4}
.c-price-table__price .c-price-table__taxin{text-align:right}
.c-price-table__camp{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:2px 6px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--c-rose-light);font-family:var(--font-body);font-weight:400}
.c-price-table__camp-label{font-size:var(--fs-2xs);font-weight:700;color:var(--c-coral-deep);background:var(--c-bubble);padding:1px 8px;border-radius:var(--radius-pill);white-space:nowrap}
.c-price-table__camp-value{font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);color:var(--c-coral-deep);white-space:nowrap}
.c-price-table__camp-value small{font-family:var(--font-body);font-weight:400;font-size:var(--fs-2xs);color:var(--c-muted)}
.c-price-table__camp-note{flex-basis:100%;text-align:right;font-size:var(--fs-2xs);color:var(--c-muted)}
.c-price-table__camp-note span{white-space:nowrap}
.c-price-table[hidden],.c-price-table__camp[hidden]{display:none}

/* ---------- SEO pages (2026-10-11): お悩みページ /nayami/, コラム /column/, and the links on treatment pages ---------- */
.answer{margin:0 0 var(--s-8);padding:var(--s-5);border-radius:var(--radius);background:var(--c-bubble);border:1px solid var(--c-rose-light)}
.answer__label{display:inline-block;margin-bottom:var(--s-2);padding:2px 12px;border-radius:var(--radius-pill);background:var(--c-cta);color:#fff;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em}
.answer ul{display:grid;gap:var(--s-2)}
.answer li{position:relative;padding-left:1.4em;font-family:var(--font-display);font-weight:600;font-size:var(--fs-base);line-height:1.7;color:var(--c-ink)}
.answer li::before{content:"";position:absolute;left:.2em;top:.8em;width:7px;height:7px;border-radius:50%;background:var(--c-coral-deep)}
.answer__note{margin-top:var(--s-3);font-size:var(--fs-2xs);color:var(--c-muted)}
.p-menu-sec__bullets.is-num{counter-reset:n}
.p-menu-sec__bullets.is-num li{padding-left:1.8em}
.p-menu-sec__bullets.is-num li::before{counter-increment:n;content:counter(n);top:.15em;width:1.3em;height:1.3em;border-radius:50%;background:var(--c-bubble);color:var(--c-coral-deep);font-family:var(--font-latin);font-size:var(--fs-xs);text-align:center;line-height:1.3em}
.stable{margin-top:var(--s-5);overflow-x:auto;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card);-webkit-overflow-scrolling:touch}
.stable table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--fs-sm);line-height:1.6}
.stable caption{caption-side:top;padding:var(--s-3) var(--s-4) 0;text-align:left;font-size:var(--fs-xs);color:var(--c-muted)}
.stable th,.stable td{padding:var(--s-3);border-bottom:1px solid var(--c-line);vertical-align:top;text-align:left}
.stable thead th{background:var(--c-ivory);font-size:var(--fs-xs);color:var(--c-ink);white-space:nowrap}
.stable tbody th{font-weight:700;color:var(--c-ink);white-space:nowrap;background:var(--c-paper)}
.stable tbody tr:last-child th,.stable tbody tr:last-child td{border-bottom:0}
.snote{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-left:3px solid var(--c-rose-light);background:var(--c-paper);font-size:var(--fs-xs);color:var(--c-muted);line-height:1.7}
.spoint{margin-top:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--radius);background:var(--c-ivory)}
.spoint__title{font-family:var(--font-display);font-weight:700;color:var(--c-ink);margin-bottom:var(--s-1)}
.spoint p + p{font-size:var(--fs-sm)}
.tcards{display:grid;gap:var(--s-4);margin-top:var(--s-4)}
.tcard{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card);overflow:hidden}
.tcard__head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);text-decoration:none;border-bottom:1px solid var(--c-line)}
.tcard__head img{flex:none;width:72px;height:48px;border-radius:var(--radius-sm);object-fit:cover}
.tcard__name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink)}
.tcard__point{padding:var(--s-3) var(--s-4) 0;font-size:var(--fs-sm)}
.tcard__dl{display:grid;gap:var(--s-2);padding:var(--s-3) var(--s-4)}
.tcard__dl div{display:grid;grid-template-columns:6.5em 1fr;gap:var(--s-2);font-size:var(--fs-xs);line-height:1.6}
.tcard__dl dt{color:var(--c-muted);font-weight:700}
.tcard__more{padding:0 var(--s-4) var(--s-4);text-align:right;font-size:var(--fs-sm)}
.tcard__more a,.srisk__more a,.mprice__all a{color:var(--c-cta);font-weight:700}
.mprice__all{margin-top:var(--s-4);text-align:right;font-size:var(--fs-sm)}
.srisk{margin-top:var(--s-3);border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card)}
.srisk summary{padding:var(--s-4);cursor:pointer;font-weight:700;color:var(--c-ink);list-style:none;display:flex;justify-content:space-between;gap:var(--s-3)}
.srisk summary::-webkit-details-marker{display:none}
.srisk summary::after{content:"+";font-family:var(--font-latin);font-size:var(--fs-lg);color:var(--c-rose-ink)}
.srisk[open] summary::after{content:"−"}
.srisk__body{padding:0 var(--s-4) var(--s-4);font-size:var(--fs-sm)}
.srisk__body p{margin-top:var(--s-2)}
.srisk__label{margin-top:var(--s-4)!important;font-weight:700;color:var(--c-ink)}
.saccess{margin-top:var(--s-6);padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory)}
.saccess__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink);margin-bottom:var(--s-3)}
.saccess__dl{display:grid;gap:var(--s-2)}
.saccess__dl div{display:grid;grid-template-columns:6em 1fr;gap:var(--s-2);font-size:var(--fs-sm);line-height:1.6}
.saccess__dl dt{color:var(--c-muted);font-weight:700}
.saccess__links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-4);font-size:var(--fs-sm)}
.saccess__links a{color:var(--c-cta);font-weight:700}
.byline{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);padding:var(--s-4);border-radius:var(--radius);border:1px solid var(--c-line);background:var(--c-card)}
.byline img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 18%}
.byline__role{font-size:var(--fs-2xs);color:var(--c-muted);letter-spacing:.08em}
.byline__name{font-family:var(--font-display);font-weight:700;color:var(--c-ink)}
.byline__name a{color:inherit}
.byline__name small{display:block;font-family:var(--font-body);font-weight:400;font-size:var(--fs-xs);color:var(--c-muted)}
.byline__date{margin-top:2px;font-size:var(--fs-2xs);color:var(--c-muted)}
.byline__date span{margin-left:var(--s-3)}
.tnotice{margin-top:var(--s-8);padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card)}
.tnotice__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink);margin-bottom:var(--s-3)}
.tnotice__dl{display:grid;gap:var(--s-3)}
.tnotice__dl div{display:grid;gap:var(--s-1);padding-bottom:var(--s-3);border-bottom:1px solid var(--c-line);font-size:var(--fs-sm)}
.tnotice__dl div:last-child{border-bottom:0;padding-bottom:0}
.tnotice__dl dt{font-weight:700;color:var(--c-ink)}
.tnotice__dl dd a{color:var(--c-cta)}
.tnotice .p-menu-risklist{margin-top:var(--s-1)}
.tnotice__gl{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px dashed var(--c-line);font-size:var(--fs-xs);color:var(--c-muted)}
.tnotice__gl p + p{margin-top:var(--s-1)}
.refs{margin-top:var(--s-8);font-size:var(--fs-xs);color:var(--c-muted)}
.refs__title{font-weight:700;color:var(--c-ink);margin-bottom:var(--s-2)}
.refs ol{display:grid;gap:var(--s-1);padding-left:1.4em;list-style:decimal}
.refs a{color:var(--c-muted);word-break:break-all}
.clinks{margin-top:var(--s-8);padding:var(--s-5);border-radius:var(--radius);background:var(--c-ivory)}
.clinks__title{font-family:var(--font-display);font-weight:700;color:var(--c-ink);margin-bottom:var(--s-2)}
.clinks ul{display:grid}
.clinks li a{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--s-2);padding:var(--s-3) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-sm);font-weight:700;line-height:1.5;color:var(--c-ink);text-decoration:none}
.clinks li:last-child a{border-bottom:0}
.clinks li a:hover{color:var(--c-cta)}
.clink__tag{flex:none;padding:1px 8px;border-radius:var(--radius-pill);background:var(--c-card);font-size:var(--fs-2xs);font-weight:500;color:var(--c-rose-ink)}
.colcards{display:grid;gap:var(--s-4)}
.colcards a{display:grid;grid-template-columns:120px 1fr;grid-template-rows:auto auto 1fr;column-gap:var(--s-4);padding:var(--s-3);border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card);text-decoration:none;color:var(--c-text);transition:border-color var(--dur) var(--ease-out)}
.colcards a:hover{border-color:var(--c-coral)}
.colcards img{grid-row:1 / 4;width:120px;height:80px;border-radius:var(--radius-sm);object-fit:cover}
.colcard__tag{font-size:var(--fs-2xs);color:var(--c-rose-ink);font-weight:700}
.colcard__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-base);line-height:1.5;color:var(--c-ink)}
.colcard__desc{margin-top:var(--s-1);font-size:var(--fs-xs);color:var(--c-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.windex__hubs{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}
.windex__hub{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--c-bubble);font-size:var(--fs-xs);font-weight:700;color:var(--c-rose-ink);text-decoration:none}
.windex__hub::after{content:"→"}
.windex__hub:hover{background:var(--c-rose-light);color:#fff}
@media (min-width:768px){
  .tcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .colcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .saccess__dl{grid-template-columns:1fr 1fr}
}
@media (max-width:374px){
  .colcards a{grid-template-columns:88px 1fr}
  .colcards img{width:88px;height:60px}
  .byline__date span{display:block;margin-left:0}
}
/* treatment page summary box (TCB / レディアン型の限定解除ボックス) and supplements (2026-10-11) */
.msum{margin:0 0 var(--s-8);padding:var(--s-5);border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-card)}
.msum__title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);color:var(--c-ink);margin-bottom:var(--s-3)}
.msum dl{display:grid;gap:0}
.msum dl div{display:grid;grid-template-columns:6.5em 1fr;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--c-line);font-size:var(--fs-sm);line-height:1.7}
.msum dt{font-weight:700;color:var(--c-ink)}
.msum dd a{color:var(--c-cta);font-weight:700;white-space:nowrap}
.anchor{display:block;position:relative;top:-80px;visibility:hidden}
.msup{margin-top:var(--s-8)}
.msup__label{display:inline-block;margin-bottom:var(--s-2);padding:2px 12px;border-radius:var(--radius-pill);background:var(--c-bubble);color:var(--c-rose-ink);font-size:var(--fs-xs);font-weight:700}
@media (max-width:374px){.msum dl div{grid-template-columns:1fr;gap:2px}}
