@font-face{font-family:"Sora";src:url(../fonts/display.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jakarta";src:url(../fonts/body.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Anek";src:url(../fonts/anek-deva.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF}

:root{
  --bg:#F6F7FB;--bg-2:#EDEFF7;--bg-3:#E2E5F0;--card:#FFFFFF;
  --glass:rgba(255,255,255,.66);--glass-2:rgba(255,255,255,.82);--glass-line:rgba(255,255,255,.9);
  --ink:#0D1022;--ink-2:#454A66;--ink-3:#757A96;
  --rule:rgba(13,16,34,.08);--rule-2:rgba(13,16,34,.16);
  --rose:#FF4D6D;--red:#E11D48;--violet:#8B5CF6;--cyan:#06B6D4;--mint:#10B981;--amber:#F59E0B;
  --ox:#E11D48;--ox-2:#FF4D6D;--ox-soft:rgba(225,29,72,.09);
  --grad:linear-gradient(120deg,#FF4D6D 0%,#E11D48 42%,#8B5CF6 100%);
  --grad-soft:linear-gradient(135deg,rgba(255,77,109,.14),rgba(139,92,246,.14));
  --grad-cool:linear-gradient(120deg,#06B6D4,#8B5CF6);
  --glow:0 14px 34px -12px rgba(225,29,72,.55);
  --glow-v:0 14px 34px -12px rgba(139,92,246,.5);
  --shadow:0 1px 2px rgba(13,16,34,.04),0 18px 40px -24px rgba(13,16,34,.22);
  --shadow-lg:0 2px 4px rgba(13,16,34,.04),0 40px 80px -40px rgba(13,16,34,.35);
  --ok:#059669;--ok-soft:rgba(16,185,129,.12);--warn:#B45309;--warn-soft:rgba(245,158,11,.14);--bad:#DC2626;
  --night:#070818;--night-2:#0E1030;
  --f-display:"Sora","Anek",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-sans:"Jakarta","Anek",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --f-serif:var(--f-display);--f-body:var(--f-sans);
  --t-xs:clamp(.74rem,.72rem + .1vw,.8rem);
  --t-sm:clamp(.86rem,.84rem + .12vw,.93rem);
  --t-base:clamp(1rem,.97rem + .15vw,1.07rem);
  --t-lg:clamp(1.1rem,1.04rem + .3vw,1.26rem);
  --t-xl:clamp(1.3rem,1.16rem + .6vw,1.7rem);
  --t-2xl:clamp(1.75rem,1.4rem + 1.5vw,2.7rem);
  --t-3xl:clamp(2.2rem,1.6rem + 2.6vw,3.9rem);
  --t-4xl:clamp(2.7rem,1.7rem + 4.6vw,6rem);
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--s-9:112px;
  --r-1:10px;--r-2:16px;--r-3:24px;--r-4:32px;--r-pill:999px;
  --wrap:1280px;--gutter:max(16px,min(4.5vw,40px));
  --hdr:84px;--tab:68px;
  --ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --paper:var(--bg);--paper-2:var(--bg-2);--paper-3:var(--bg-3);--surface:var(--card);--line:var(--rule);--text:var(--ink);--muted:var(--ink-3);--accent:var(--red);--teal:var(--cyan);--steel:#64748B;--film:var(--night);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#070818;--bg-2:#0D0F26;--bg-3:#161939;--card:#0F1129;
  --glass:rgba(18,20,46,.62);--glass-2:rgba(22,25,56,.85);--glass-line:rgba(255,255,255,.08);
  --ink:#F2F3FF;--ink-2:#B5B9D8;--ink-3:#868BAE;
  --rule:rgba(255,255,255,.08);--rule-2:rgba(255,255,255,.16);
  --ox:#FF4D6D;--ox-2:#FF7A93;--ox-soft:rgba(255,77,109,.12);
  --grad-soft:linear-gradient(135deg,rgba(255,77,109,.16),rgba(139,92,246,.18));
  --glow:0 14px 40px -10px rgba(255,77,109,.6);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -24px rgba(0,0,0,.8);
  --shadow-lg:0 40px 80px -40px rgba(0,0,0,.9);
  --ok:#34D399;--warn:#FBBF24;--bad:#F87171;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 20px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:var(--t-base);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}
body::before{content:"";position:absolute;inset:0 0 auto;height:1100px;z-index:-1;pointer-events:none;background:radial-gradient(55% 40% at 8% 0%,rgba(255,77,109,.13),transparent 70%),radial-gradient(45% 38% at 95% 6%,rgba(139,92,246,.14),transparent 70%),radial-gradient(40% 30% at 60% 30%,rgba(6,182,212,.07),transparent 70%)}
html:not(.l-en) body{line-height:1.75}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:700;line-height:1.06;letter-spacing:-.035em;text-wrap:balance}
html:not(.l-en) :is(h1,h2,h3,h4){line-height:1.3;letter-spacing:0;font-weight:700}
:is(h1,h2,h3) em,.gtext{font-style:normal;background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:gshift 8s ease-in-out infinite alternate}
@keyframes gshift{to{background-position:100% 0}}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}
::selection{background:var(--red);color:#fff}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic-sm{width:17px;height:17px}
.ic-xs{width:13px;height:13px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{max-width:820px}
.muted{color:var(--ink-3)}
.hide-sm{display:none}
@media(min-width:640px){.hide-sm{display:initial}}
.skip{position:absolute;left:-9999px;top:8px;z-index:400;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px}
.skip:focus{left:12px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kicker{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--rule);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--s-5)}
html:not(.l-en) .kicker{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
.kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 3px rgba(225,29,72,.12),0 0 12px rgba(255,77,109,.8)}
.kicker a:hover{color:var(--ox)}
.kicker-inv{color:#fff!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important}
.fig{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;white-space:nowrap}
html:not(.l-en) .fig{font-family:var(--f-sans);letter-spacing:0;font-size:var(--t-xs);font-weight:700}

.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:var(--r-pill);font-weight:700;font-size:var(--t-sm);letter-spacing:.005em;line-height:1.2;white-space:nowrap;border:1px solid transparent;transition:transform .3s var(--spring),box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s;-webkit-tap-highlight-color:transparent;user-select:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn[disabled],.btn.is-loading{opacity:.5;pointer-events:none}
.btn-lg{min-height:58px;padding:0 30px;font-size:var(--t-base)}
.btn-sm{min-height:38px;padding:0 16px;font-size:var(--t-xs)}
.btn-primary,.btn-ox{background:var(--grad);background-size:160% 100%;color:#fff;box-shadow:var(--glow);transition:transform .3s var(--spring),box-shadow .3s var(--ease),background-position .5s var(--ease)}
.btn-primary:hover,.btn-ox:hover{background-position:100% 0;box-shadow:0 18px 44px -12px rgba(225,29,72,.7)}
.btn-primary::after,.btn-ox::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn-primary:hover::after,.btn-ox:hover::after{transform:translateX(120%)}
.btn-ghost{background:var(--glass);border-color:var(--rule-2);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn-ghost:hover{border-color:transparent;background:var(--card);box-shadow:var(--shadow)}
.btn-quiet{color:var(--ink-2);padding-inline:14px}
.btn-quiet:hover{color:var(--ink);background:var(--bg-2)}
.btn-white{background:#fff;color:#0D1022;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.btn-line{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.06)}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.btn-danger{background:transparent;border-color:var(--bad);color:var(--bad)}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:var(--r-pill);color:var(--ink-2);transition:background-color .2s,color .2s,transform .3s var(--spring);-webkit-tap-highlight-color:transparent}
.icon-btn:hover{background:var(--bg-2);color:var(--ink)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--t-sm);color:var(--ink);padding:10px 18px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--rule);transition:all .3s var(--ease)}
.link-arrow .ic{transition:transform .3s var(--spring)}
.link-arrow:hover{border-color:transparent;box-shadow:var(--shadow);background:var(--card)}
.link-arrow:hover .ic{transform:translateX(4px);color:var(--ox)}
.link-inv{color:#fff!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--ox-soft);font-size:var(--t-xs);font-weight:700;color:var(--ox)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-5)}
.chip-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--rule-2);background:var(--glass);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);transition:all .25s}
.chip-btn:hover{color:var(--ink);border-color:var(--ink-3)}
.chip-btn[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-3);padding:var(--s-5);box-shadow:var(--shadow)}
.card-t{display:flex;align-items:center;gap:10px;font-weight:700;font-size:var(--t-base);margin-bottom:var(--s-4)}
.card-t .ic{color:var(--ox)}
.note{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-sm);color:var(--ink-2);padding:12px 14px;border-radius:var(--r-2);background:var(--bg-2)}
.note .ic{color:var(--violet);margin-top:2px}
.note-ok{color:var(--ok);background:var(--ok-soft)}
.note-ok .ic{color:var(--ok)}
.empty{padding:var(--s-7) 0;color:var(--ink-3);text-align:center}
.badge{display:inline-flex;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:700;background:var(--warn-soft);color:var(--warn)}
.badge.s-confirmed,.badge.s-completed{background:var(--ok-soft);color:var(--ok)}
.badge.s-cancelled,.badge.s-noshow{background:var(--bg-3);color:var(--ink-3)}
.spot{position:relative}
.spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,77,109,.12),rgba(139,92,246,.08) 40%,transparent 70%);z-index:0}
.spot:hover::before{opacity:1}
.spot>*{position:relative;z-index:1}

.loader{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:var(--bg);transition:opacity .45s var(--ease),visibility .45s}
.loader::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 40% at 30% 30%,rgba(255,77,109,.18),transparent 70%),radial-gradient(40% 40% at 70% 70%,rgba(139,92,246,.18),transparent 70%)}
.loader.out{opacity:0;visibility:hidden}
html.seen .loader{display:none}
.loader-card{position:relative;display:grid;justify-items:center;text-align:center;gap:6px;padding:24px}
.loader-photo{position:relative;width:108px;height:108px;margin-bottom:16px;border-radius:50%;padding:4px}
.loader-photo::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#FF4D6D,#8B5CF6,#06B6D4,#FF4D6D);animation:spin 1.4s linear infinite}
.loader-photo img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:50%;border:4px solid var(--bg)}
@keyframes spin{to{transform:rotate(360deg)}}
.loader-name{font-family:var(--f-display);font-weight:700;font-size:var(--t-xl);letter-spacing:-.02em;line-height:1.15}
.loader-role{font-size:var(--t-sm);font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.loader-q{font-size:var(--t-xs);color:var(--ink-3)}
.loader-bar{width:150px;height:4px;margin-top:16px;border-radius:4px;background:var(--bg-3);position:relative;overflow:hidden}
.loader-bar::after{content:"";position:absolute;inset:0;border-radius:4px;background:var(--grad);transform-origin:left;animation:load 1s var(--ease) infinite}
@keyframes load{0%{transform:scaleX(0)}60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}

.hdr{position:sticky;top:0;z-index:60;height:var(--hdr);display:flex;align-items:center;pointer-events:none}
.hdr-in{pointer-events:auto;height:62px;max-width:calc(var(--wrap) - 2 * var(--gutter));width:calc(100% - 2 * var(--gutter));margin-inline:auto;padding:0 8px 0 10px;display:flex;align-items:center;gap:var(--s-4);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid var(--glass-line);border-radius:var(--r-pill);box-shadow:0 10px 30px -20px rgba(13,16,34,.4);transition:box-shadow .3s,background-color .3s}
.hdr.scrolled .hdr-in{box-shadow:0 16px 40px -18px rgba(13,16,34,.45);background:var(--glass-2)}
.brand{display:flex;align-items:center;gap:10px;min-width:0;margin-right:auto}
.brand-mark{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--grad);box-shadow:var(--glow)}
.brand-mark img{width:42px;height:42px;object-fit:cover;border-radius:50%}
.brand-mark svg{width:24px;height:24px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.bm-h{stroke:#fff;stroke-width:2.2}
.bm-e{stroke:#fff;stroke-width:2;opacity:.9}
.brand-t{display:grid;line-height:1.15;min-width:0}
.brand-n{font-family:var(--f-display);font-weight:700;font-size:1.06rem;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-r{font-size:.7rem;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{display:none}
.nav a{position:relative;padding:9px 14px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);white-space:nowrap;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--ink);background:var(--bg-2)}
.nav a[aria-current]{color:var(--ink);background:var(--card);box-shadow:var(--shadow)}
.nav a[aria-current]::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--grad);box-shadow:0 0 8px var(--rose)}
.hdr-act{display:flex;align-items:center;gap:2px}
.hdr-book{display:none;margin-left:8px;min-height:46px}
.sos{color:var(--red)!important}
.sos:hover{background:var(--ox-soft)!important}
.lang{position:relative}
.lang-btn{width:auto;padding:0 10px;gap:5px;font-size:var(--t-xs);font-weight:700;display:inline-flex}
.dd{position:absolute;right:0;top:calc(100% + 12px);min-width:180px;background:var(--glass-2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--rule);border-radius:var(--r-2);box-shadow:var(--shadow-lg);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transition:all .25s var(--ease)}
.lang.open .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;font-weight:600;font-size:var(--t-sm)}
.dd a:hover{background:var(--bg-2)}
.dd a[aria-current]{color:var(--ox)}
.js-theme .i-moon{display:none}
:root[data-theme="dark"] .js-theme .i-sun{display:none}
:root[data-theme="dark"] .js-theme .i-moon{display:block}
@media(min-width:1280px){.nav{display:flex;gap:0}.burger{display:none}.hdr-book{display:inline-flex}.brand{flex:none}.nav a{padding:9px 11px}.hdr-in{gap:10px}}
@media(max-width:420px){.brand-r{display:none}.brand-mark{width:36px;height:36px}.brand-mark svg{width:20px;height:20px}.hdr-act .sos{display:none}.hdr-in{gap:6px}}

.drawer{position:fixed;inset:0;z-index:120}
.drawer-bg{position:absolute;inset:0;background:rgba(7,8,24,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.drawer-panel{position:absolute;top:10px;right:10px;bottom:10px;width:min(calc(100vw - 20px),400px);background:var(--glass-2);-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);border:1px solid var(--glass-line);border-radius:var(--r-3);display:flex;flex-direction:column;padding:16px 18px calc(16px + env(safe-area-inset-bottom));transform:translateX(110%);transition:transform .5s var(--ease-out);overflow-y:auto;box-shadow:var(--shadow-lg)}
.drawer.open .drawer-bg{opacity:1}
.drawer.open .drawer-panel{transform:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.drawer-who{display:flex;gap:12px;align-items:center}
.drawer-who img{width:46px;height:46px;object-fit:cover;object-position:50% 20%;border-radius:50%;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--red)}
.drawer-who span{display:grid;line-height:1.25}
.drawer-who b{font-family:var(--f-display);font-weight:700;font-size:1.02rem}
.drawer-who small{color:var(--ink-3);font-size:var(--t-xs)}
.drawer-nav{display:grid;gap:2px;padding:10px 0}
.drawer-nav a{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:14px;font-weight:600;font-size:1.02rem;transition:background-color .2s}
.drawer-nav a .ic{width:20px;height:20px;color:var(--ink-3)}
.drawer-nav a:hover{background:var(--bg-2)}
.drawer-nav a[aria-current]{background:var(--grad-soft);color:var(--ox)}
.drawer-nav a[aria-current] .ic,.drawer-nav a.em,.drawer-nav a.em .ic{color:var(--red)}
.drawer-langs{display:flex;gap:6px;padding:12px 0}
.drawer-langs a{flex:1;text-align:center;padding:10px 6px;border-radius:var(--r-pill);border:1px solid var(--rule-2);font-size:var(--t-sm);font-weight:700}
.drawer-langs a[aria-current]{background:var(--grad);color:#fff;border-color:transparent}
.drawer-cta{display:grid;gap:8px;margin-top:auto;padding-top:10px}

.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:var(--s-3);font-size:var(--t-xs);font-weight:600;color:var(--ink-3)}
.crumbs a:hover{color:var(--ox)}
.crumbs [aria-current]{color:var(--ink-2);max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.sec{padding:clamp(64px,8vw,120px) 0;position:relative}
.sec-tight{padding:clamp(40px,5vw,72px) 0}
.sec-top0{padding-top:0}
.sec-alt{background:linear-gradient(180deg,transparent,var(--bg-2) 18%,var(--bg-2) 82%,transparent)}
.sec-rule{border-top:0}
.sec-h{max-width:860px;margin-bottom:clamp(32px,4vw,56px)}
.sec-h h2{font-size:var(--t-3xl)}
.sec-h-c{text-align:center;margin-inline:auto;display:grid;justify-items:center}
.sec-h-row{max-width:none;display:grid;gap:var(--s-5);align-items:end}
@media(min-width:900px){.sec-h-row{grid-template-columns:1.3fr 1fr;gap:var(--s-8)}}
.sec-d{color:var(--ink-2);font-size:var(--t-lg);margin-top:var(--s-4);line-height:1.6;max-width:52ch}
.sec-h-row .sec-d{margin-top:0}
.sec-foot{margin-top:var(--s-6)}
.sec-mini{display:flex;align-items:center;gap:12px;font-size:var(--t-xl);margin-bottom:var(--s-5)}
.sec-mini .ic{color:var(--ox)}

.hero{position:relative;padding:clamp(20px,3vw,40px) 0 clamp(48px,6vw,88px);overflow:hidden}
.aurora{position:absolute;inset:-10% -10% 0;z-index:-1;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;opacity:.75;will-change:transform}
.aurora i:nth-child(1){width:46vw;height:46vw;left:-8vw;top:-12vw;background:radial-gradient(circle,rgba(255,77,109,.32),transparent 65%);animation:drift1 22s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:40vw;height:40vw;right:-6vw;top:-4vw;background:radial-gradient(circle,rgba(139,92,246,.3),transparent 65%);animation:drift2 26s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:34vw;height:34vw;left:34vw;top:18vw;background:radial-gradient(circle,rgba(6,182,212,.18),transparent 65%);animation:drift1 30s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate3d(8vw,6vw,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(-7vw,8vw,0) scale(.92)}}
.gridbg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 60% at 50% 20%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 20%,#000,transparent)}
.hero-in{display:grid;gap:clamp(40px,5vw,64px);align-items:center}
@media(min-width:1000px){.hero-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.hero-over{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:clamp(22px,3vw,36px)}
.hero-over>span,.hero-over .status{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--t-xs);font-weight:600;color:var(--ink-2);box-shadow:0 6px 20px -14px rgba(13,16,34,.3)}
.hero-over .status{color:var(--ink);font-weight:700;transition:transform .3s var(--spring)}
.hero-over .status:hover{transform:translateY(-2px)}
.hero-over .status i{width:8px;height:8px;border-radius:50%;background:var(--mint);animation:ping 2s infinite}
.hero-over .status.off i{background:var(--amber);animation:none}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}80%,100%{box-shadow:0 0 0 9px transparent}}
@media(max-width:640px){.hero-over>span:nth-child(2),.hero-over>span:nth-child(3){display:none}}
.hero-title{font-size:var(--t-4xl);line-height:.98;letter-spacing:-.045em;font-weight:800}
html:not(.l-en) .hero-title{line-height:1.2;letter-spacing:0;font-size:clamp(2.5rem,1.6rem + 4vw,5.2rem)}
.hero-title span{display:block}
.hero-lead{max-width:50ch;color:var(--ink-2);font-size:var(--t-lg);margin-top:var(--s-5);line-height:1.65}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:var(--s-6)}
.txt-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--r-pill);font-weight:700;font-size:var(--t-sm);background:var(--glass);border:1px solid var(--rule-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s var(--spring),box-shadow .3s,border-color .3s}
.txt-link:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:transparent}
.txt-link .ic{color:var(--ox)}
.facts{display:grid;grid-template-columns:1fr;gap:12px;margin:clamp(36px,5vw,56px) 0 0}
@media(min-width:720px){.facts{grid-template-columns:repeat(3,1fr)}}
.facts>div{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;align-items:center;padding:16px 18px;border-radius:var(--r-3);background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.facts .fi{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.facts>div:nth-child(2) .fi{background:var(--grad-cool);box-shadow:var(--glow-v)}
.facts>div:nth-child(3) .fi{background:linear-gradient(120deg,#10B981,#06B6D4);box-shadow:0 14px 34px -12px rgba(16,185,129,.5)}
.facts dt{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
html:not(.l-en) .facts dt{letter-spacing:0;text-transform:none}
.facts dd{margin:0;font-family:var(--f-display);font-weight:700;font-size:var(--t-base);line-height:1.3;letter-spacing:-.01em}
.facts dd small{display:block;font-family:var(--f-sans);font-weight:500;font-size:var(--t-xs);color:var(--ink-3);margin-top:2px;letter-spacing:0}
.plate{position:relative;margin:0;display:grid;gap:14px}
.plate-frame{position:relative;aspect-ratio:4/4.4;border-radius:var(--r-4);overflow:hidden;background:#070818;box-shadow:0 50px 100px -40px rgba(139,92,246,.55),0 30px 60px -30px rgba(225,29,72,.5);isolation:isolate}
.plate-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(140deg,rgba(255,77,109,.9),rgba(139,92,246,.6) 40%,rgba(6,182,212,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3}
@media(max-width:999px){.plate-frame{aspect-ratio:5/4.2}}
.plate-frame canvas{position:absolute;inset:0;width:100%;height:100%}
.plate-tag{position:absolute;left:18px;top:16px;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(230,232,255,.6);z-index:2;line-height:1.6}
.plate-tag.r{left:auto;right:18px;text-align:right}
.plate-tag.b{top:auto;bottom:16px}
.plate figcaption{display:flex;gap:10px;align-items:baseline;font-size:var(--t-xs);color:var(--ink-3);line-height:1.5;padding-inline:6px}
.float{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:18px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--glass-line);box-shadow:var(--shadow-lg);animation:bob 6s ease-in-out infinite}
.float b{display:block;font-family:var(--f-display);font-size:.88rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}
.float small{display:block;font-size:.68rem;color:var(--ink-3);font-weight:600;line-height:1.2}
.float-ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.f-ecg{left:-28px;bottom:22%}
.float>span:last-child{display:grid}
.f-ecg svg{display:block;width:96px;height:28px;margin-top:2px;fill:none;stroke:url(#gS);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60 120;animation:trace 1.8s linear infinite;filter:drop-shadow(0 0 4px rgba(255,77,109,.6))}
.f-reg{right:-18px;top:16%;animation-delay:-3s}
.f-reg .float-ic{background:linear-gradient(120deg,#10B981,#06B6D4);box-shadow:0 14px 34px -12px rgba(16,185,129,.5)}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes trace{from{stroke-dashoffset:180}to{stroke-dashoffset:0}}
@media(max-width:1199px){.f-ecg{left:10px;bottom:auto;top:calc(100% - 100px)}.f-reg{right:10px;top:12px}}
@media(max-width:560px){.f-ecg{display:none}.f-reg{top:auto;bottom:56px;right:10px}}

.index{overflow-x:auto;scrollbar-width:none;padding:6px 0 10px}
.index::-webkit-scrollbar{display:none}
.index ol{display:flex;gap:10px;min-width:max-content;counter-reset:ix;padding-inline:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)))}
.index li{counter-increment:ix}
.index a{display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;font-weight:700;font-size:var(--t-sm);box-shadow:var(--shadow);transition:transform .3s var(--spring),box-shadow .3s}
.index a::before{content:counter(ix,decimal-leading-zero);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--grad);color:#fff;font-size:.68rem;font-weight:800}
.index a:hover{transform:translateY(-3px);box-shadow:var(--glow)}

.atlas{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.atlas{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.atlas{grid-template-columns:repeat(3,1fr)}.pl.wide{grid-column:span 2}.pl.wide .pl-in{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s-6);align-items:center}}
.pl{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-3);padding:14px 14px var(--s-5);display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),border-color .3s;scroll-margin-top:calc(var(--hdr) + 20px)}
.pl:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(139,92,246,.45),0 20px 40px -24px rgba(225,29,72,.35);border-color:transparent}
.pl::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}
.pl:hover::after{opacity:1}
.pl-in,.pl-body{display:flex;flex-direction:column;gap:var(--s-4);flex:1}
.pl-body{padding-inline:10px}
.pl-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pl-art{height:230px;display:grid;place-items:center;padding:16px;border-radius:18px;background:radial-gradient(80% 90% at 50% 40%,rgba(255,77,109,.08),transparent 70%),var(--bg-2);overflow:hidden}
.pl.wide .pl-art{height:340px}
@media(max-width:1079px){.pl.wide .pl-art{height:270px}}
.pl-art svg{width:100%;height:100%;fill:none;stroke:var(--ink-2);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.pl-art .hl{stroke:url(#gS);stroke-width:2.6;filter:url(#fG)}
.pl-art .thin{stroke-width:.9;stroke:var(--ink-3)}
.pl-art .dash{stroke:var(--ink-3);stroke-width:.9;stroke-dasharray:3 4}
.pl-art .fill{fill:url(#gF);stroke:none}
.pl-art .dot{fill:var(--red);stroke:none}
.pl-art .pf{fill:var(--bg-2)}
.pl-art text{fill:var(--ink-3);stroke:none;font-family:var(--f-sans);font-size:9px;font-weight:700;letter-spacing:.1em}
.pl h3{font-size:var(--t-xl)}
.pl-lead{color:var(--ink-2);font-size:var(--t-sm);max-width:52ch}
.pl ul{display:grid;gap:6px;margin-top:auto}
.pl li a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-radius:14px;background:var(--bg-2);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);transition:background-color .25s,color .25s}
.pl li a .ic{flex:none;transition:transform .3s var(--spring),color .2s}
.pl li a:hover{color:var(--ink);background:var(--grad-soft)}
.pl li a:hover .ic{transform:translateX(4px);color:var(--ox)}
.draw-svg :is(path,line,circle,ellipse,polyline,rect):not(.fill):not(.dot):not(.dash){stroke-dasharray:var(--len,1400);stroke-dashoffset:0;transition:stroke-dashoffset 2.2s var(--ease)}
.js .draw-svg:not(.in) :is(path,line,circle,ellipse,polyline,rect):not(.fill):not(.dot):not(.dash){stroke-dashoffset:var(--len,1400)}
.draw-svg :is(.fill,.dot,text,.dash){transition:opacity 1s var(--ease) 1s}
.js .draw-svg:not(.in) :is(.fill,.dot,text,.dash){opacity:0}

.dark{position:relative;background:var(--night);color:#E6E8FF;overflow:hidden;isolation:isolate}
.dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 10% 0%,rgba(255,77,109,.22),transparent 70%),radial-gradient(45% 55% at 95% 100%,rgba(139,92,246,.26),transparent 70%),radial-gradient(30% 40% at 60% 40%,rgba(6,182,212,.08),transparent 70%)}
.dark .kicker{color:#E6E8FF;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.dark .sec-h h2,.dark h2,.dark h3{color:#fff}
.dark .sec-d{color:#AEB3D6}
.see-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.see-grid{grid-template-columns:repeat(3,1fr)}}
.scope{display:grid;gap:12px;align-content:start;padding:12px 12px 22px;border-radius:var(--r-3);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:transform .45s var(--ease-out),border-color .3s,background-color .3s}
.scope:hover{transform:translateY(-6px);border-color:rgba(255,77,109,.4);background:rgba(255,255,255,.06)}
.scope>:not(.scope-frame){margin-inline:10px}
.scope-frame{position:relative;aspect-ratio:4/3;background:#05060F;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.scope-frame canvas{position:absolute;inset:0;width:100%;height:100%}
.scope-frame .tag{position:absolute;left:12px;top:10px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(220,228,255,.55);z-index:2}
.scope-frame .val{position:absolute;right:12px;top:8px;font-family:var(--f-mono);font-size:.76rem;color:#5EF2B8;z-index:2;text-shadow:0 0 10px rgba(94,242,184,.6)}
.scope h3{font-size:var(--t-xl);color:#fff}
.scope p{font-size:var(--t-sm);color:#AEB3D6;max-width:46ch}
.scope a{color:#fff;font-size:var(--t-sm);font-weight:700;justify-self:start;display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);transition:background-color .25s}
.scope a:hover{background:rgba(255,77,109,.25)}

.signs{position:relative;color:#fff;padding:clamp(64px,8vw,110px) 0;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#1A0614 0%,#3A0A24 45%,#1B0C3D 100%)}
.signs::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 60% at 15% 30%,rgba(255,77,109,.35),transparent 70%),radial-gradient(40% 50% at 90% 90%,rgba(139,92,246,.3),transparent 70%)}
.signs-in{display:grid;gap:var(--s-7);align-items:center}
@media(min-width:960px){.signs-in{grid-template-columns:.9fr 1.1fr;gap:var(--s-8)}}
.signs .kicker{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.big108{position:relative;display:inline-block;font-family:var(--f-display);font-weight:800;font-size:clamp(6.5rem,4rem + 10vw,13rem);line-height:.85;letter-spacing:-.06em;background:linear-gradient(120deg,#FFB199 0%,#FF4D6D 45%,#FF2D87 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(255,77,109,.55));margin-top:4px;padding-right:.08em}
.signs h2{font-size:var(--t-2xl);color:#fff;margin-top:var(--s-5)}
.signs-act{margin-top:var(--s-3);font-size:var(--t-lg);color:#F3C9D4;max-width:40ch}
.signs-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s-6)}
.signs-cta .btn-ox{background:linear-gradient(120deg,#FF8A5B,#FF4D6D 50%,#E11D48);box-shadow:0 18px 44px -12px rgba(255,77,109,.8)}
.beacon{display:inline-flex;align-items:center;gap:10px;margin-top:var(--s-4);font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#FFB4C2}
html:not(.l-en) .beacon{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
.beacon i{width:10px;height:10px;border-radius:50%;background:#FF4D6D;animation:beacon 1.6s infinite}
@keyframes beacon{0%{box-shadow:0 0 0 0 rgba(255,77,109,.7)}100%{box-shadow:0 0 0 16px transparent}}
.signs-list{display:grid;gap:10px}
.signs-list li{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:center;padding:16px 18px;border-radius:var(--r-2);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:var(--t-base);line-height:1.5;color:#fff;transition:background-color .3s,transform .4s var(--ease-out)}
.signs-list li:hover{background:rgba(255,255,255,.1);transform:translateX(6px)}
.signs-n{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#FF4D6D,#8B5CF6);font-family:var(--f-display);font-weight:800;font-size:1.1rem;box-shadow:0 10px 24px -8px rgba(255,77,109,.7)}

.cgrid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:720px){.cgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.cgrid{grid-template-columns:repeat(3,1fr)}}
.ccard{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:18px;border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.ccard:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(225,29,72,.4)}
.ccard-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--grad-soft);color:var(--red);transition:all .35s var(--ease)}
.ccard:hover .ccard-ic{background:var(--grad);color:#fff;box-shadow:var(--glow);transform:rotate(-6deg)}
.ccard-b{display:grid;gap:4px;min-width:0}
.ccard-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-base);line-height:1.25;letter-spacing:-.015em}
.ccard-d{font-size:var(--t-xs);color:var(--ink-3);line-height:1.5}
.ccard>.ic{color:var(--ink-3);transition:transform .3s var(--spring),color .2s}
.ccard:hover>.ic{color:var(--ox);transform:translateX(4px)}

.tgrid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.tgrid{grid-template-columns:repeat(3,1fr)}}
.tcard{position:relative;display:flex;flex-direction:column;gap:10px;padding:var(--s-6) var(--s-5);border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 34px 60px -30px rgba(139,92,246,.45)}
.tcard-ic{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:var(--grad);color:#fff;margin-bottom:8px;box-shadow:var(--glow);transition:transform .4s var(--spring)}
.tcard:hover .tcard-ic{transform:rotate(-8deg) scale(1.06)}
.tcard-cat{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet)}
html:not(.l-en) .tcard-cat{letter-spacing:0;text-transform:none}
.tcard-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);line-height:1.25;letter-spacing:-.02em}
.tcard-d{color:var(--ink-2);font-size:var(--t-sm);flex:1}
.tcard-go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;font-size:var(--t-sm);color:var(--ox)}
.tcard-go .ic{transition:transform .3s var(--spring)}
.tcard:hover .tcard-go .ic{transform:translateX(5px)}

.prof{display:grid;gap:clamp(36px,5vw,80px);align-items:start}
@media(min-width:960px){.prof{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.portrait{position:sticky;top:calc(var(--hdr) + 24px)}}
.portrait{position:relative;margin:0;display:grid;gap:14px;max-width:440px}
.portrait .pp{position:relative;padding:8px;border-radius:var(--r-4);background:var(--grad);box-shadow:0 40px 80px -40px rgba(139,92,246,.6),0 20px 40px -20px rgba(225,29,72,.45)}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 16%;border-radius:calc(var(--r-4) - 8px)}
.portrait figcaption{display:grid;gap:2px;font-size:var(--t-xs);color:var(--ink-3);line-height:1.5;padding-inline:8px}
.portrait figcaption b{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);color:var(--ink);letter-spacing:-.02em}
.p-badge{position:absolute;right:-14px;top:28px;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:18px;background:var(--glass-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-line);box-shadow:var(--shadow-lg);font-size:var(--t-xs);font-weight:700;line-height:1.25;animation:bob 6s ease-in-out infinite}
.p-badge small{display:block;font-weight:600;color:var(--ink-3)}
.p-badge i{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:linear-gradient(120deg,#10B981,#06B6D4);color:#fff}
@media(max-width:560px){.p-badge{right:8px}}
.prof h2{font-size:var(--t-3xl)}
.prof-q{display:inline-flex;margin-top:var(--s-4);padding:6px 14px;border-radius:var(--r-pill);background:var(--grad-soft);font-size:var(--t-sm);font-weight:700;color:var(--ox)}
.prof-bio{margin-top:var(--s-5);display:grid;gap:1em;color:var(--ink-2);font-size:var(--t-lg);line-height:1.7;max-width:60ch}
.ledger{width:100%;border-collapse:separate;border-spacing:0 8px;margin-top:var(--s-5)}
.ledger caption{text-align:left;font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);color:var(--ink);padding-bottom:6px;letter-spacing:-.02em}
.ledger th,.ledger td{text-align:left;vertical-align:middle;padding:14px 16px;background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ledger th{border-left:1px solid var(--rule);border-radius:16px 0 0 16px;font-weight:700;font-size:var(--t-xs);color:var(--ox);white-space:nowrap;font-variant-numeric:tabular-nums;width:130px}
.ledger td{border-right:1px solid var(--rule);border-radius:0 16px 16px 0}
.ledger td b{display:block;font-family:var(--f-display);font-weight:700;font-size:var(--t-base);line-height:1.3;letter-spacing:-.01em}
.ledger td small{font-size:var(--t-xs);color:var(--ink-3)}
@media(max-width:520px){.ledger th{width:auto;padding-right:8px;white-space:normal}}
.prof-meta{display:grid;gap:10px;margin-top:var(--s-5)}
.prof-meta p{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:14px 16px;border-radius:16px;background:var(--glass);border:1px solid var(--rule);font-size:var(--t-sm);color:var(--ink-2)}
.prof-meta p b{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
html:not(.l-en) .prof-meta p b{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
@media(max-width:560px){.prof-meta p{grid-template-columns:1fr;gap:2px}}

.steps{position:relative;display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:720px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.steps{grid-template-columns:repeat(4,1fr)}.steps::before{content:"";position:absolute;left:40px;right:40px;top:46px;height:2px;background:linear-gradient(90deg,var(--rose),var(--violet),var(--cyan));opacity:.35}}
.step{position:relative;padding:var(--s-5);border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform .45s var(--ease-out),box-shadow .45s}
.step:hover{transform:translateY(-6px);box-shadow:var(--glow-v)}
.step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;font-family:var(--f-display);font-weight:800;font-size:1rem;margin-bottom:var(--s-5);box-shadow:var(--glow)}
.step:nth-child(2) .step-n{background:linear-gradient(120deg,#E11D48,#8B5CF6)}
.step:nth-child(3) .step-n{background:var(--grad-cool);box-shadow:var(--glow-v)}
.step:nth-child(4) .step-n{background:linear-gradient(120deg,#10B981,#06B6D4);box-shadow:0 14px 34px -12px rgba(16,185,129,.5)}
.step h3{font-size:var(--t-lg);margin-bottom:8px}
.step p{color:var(--ink-2);font-size:var(--t-sm)}

.appx-in{display:grid;gap:clamp(40px,5vw,80px);align-items:center}
@media(min-width:960px){.appx-in{grid-template-columns:1.1fr .9fr}}
.appx h2{font-size:var(--t-3xl)}
.feat{display:grid;gap:10px;margin:var(--s-6) 0}
@media(min-width:560px){.feat{grid-template-columns:1fr 1fr}}
.feat li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:14px;border-radius:18px;background:var(--glass);border:1px solid var(--rule)}
.feat li>.ic{width:40px;height:40px;padding:10px;border-radius:12px;background:var(--grad-soft);color:var(--red);margin:0}
.feat b{display:block;font-size:var(--t-sm);font-weight:700}
.feat small{color:var(--ink-3);font-size:var(--t-xs)}
.phone-wrap{position:relative;justify-self:center;isolation:isolate}
.phone-wrap::before{content:"";position:absolute;inset:-14%;z-index:-1;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(255,77,109,.38),transparent 55%),radial-gradient(circle at 66% 66%,rgba(139,92,246,.38),transparent 55%)}
.phone{position:relative;width:min(100%,318px);aspect-ratio:9/18.6;border-radius:48px;padding:11px;background:linear-gradient(145deg,#2A2D45,#0D1022);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12),0 60px 100px -40px rgba(13,16,34,.6)}
.phone::before{content:"";position:absolute;top:21px;left:50%;width:84px;height:24px;translate:-50% 0;border-radius:20px;background:#000;z-index:2}
.phone-scr{position:relative;height:100%;border-radius:38px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;padding:56px 14px 14px;gap:10px}
.phone-h{display:flex;align-items:center;gap:10px;padding-bottom:6px}
.phone-h img{width:38px;height:38px;object-fit:cover;object-position:50% 18%;border-radius:50%;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--red)}
.phone-h b{font-family:var(--f-display);font-weight:700;font-size:.9rem;line-height:1.15;display:block}
.phone-h small{font-size:.66rem;color:var(--ink-3)}
.phone .card{padding:12px;border-radius:18px}
.phone .card-t{font-size:.82rem;margin:0}
.pm{display:grid;gap:8px}
.pm-days{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.pm .day{width:auto;padding:6px 2px;border-radius:12px}
.pm .day b{font-size:1rem}
.pm .day small{font-size:.54rem}
.pm-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.pm .slot{padding:7px 2px;font-size:.7rem;border-radius:10px}
.phone .bpq{gap:8px}
.phone .bpq-row input{height:44px;font-size:1.3rem}
.phone .bpq-sl{font-size:1.4rem;padding-bottom:6px}
.phone-tabs{margin-top:auto;display:flex;justify-content:space-around;padding:8px 6px;border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.phone-tabs span{width:34px;height:34px;display:grid;place-items:center;color:var(--ink-3);border-radius:12px}
.phone-tabs span.on{color:#fff;background:var(--grad)}
.bpq{display:grid;gap:var(--s-4)}
.bpq-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}
.bpq-row label{display:grid;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-2)}
.bpq-row input{width:100%;height:64px;text-align:center;font-family:var(--f-display);font-weight:700;font-size:2rem;border-radius:16px;border:1.5px solid var(--rule-2);background:var(--bg-2);font-variant-numeric:tabular-nums;transition:border-color .2s,box-shadow .2s}
.bpq-row input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.bpq-sl{font-family:var(--f-display);font-size:2rem;color:var(--ink-3);padding-bottom:8px}
.bp-out{padding:12px 14px;border-radius:14px;border-left:4px solid var(--c,var(--ok));background:var(--bg-2);animation:pop .35s var(--ease-out)}
.bp-out b{display:block;font-size:var(--t-base);color:var(--c,var(--ok))}
.bp-out p{font-size:var(--t-xs);color:var(--ink-2);margin-top:4px}
@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}

.pgrid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:720px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:flex;flex-direction:column;border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);overflow:hidden;transition:transform .45s var(--ease-out),box-shadow .45s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 34px 60px -30px rgba(225,29,72,.4)}
.pcard-media{display:block;aspect-ratio:16/10;overflow:hidden;position:relative;margin:10px 10px 0;border-radius:18px;background:var(--grad)}
.pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pcard:hover .pcard-media img{transform:scale(1.06)}
.pcard-art{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(70% 80% at 30% 20%,rgba(255,255,255,.25),transparent 60%),var(--grad)}
.pcard:nth-child(3n+2) .pcard-art{background:radial-gradient(70% 80% at 30% 20%,rgba(255,255,255,.25),transparent 60%),var(--grad-cool)}
.pcard:nth-child(3n+3) .pcard-art{background:radial-gradient(70% 80% at 30% 20%,rgba(255,255,255,.25),transparent 60%),linear-gradient(120deg,#10B981,#06B6D4)}
.pcard-art svg{width:100%;height:46%;fill:none;stroke:#fff;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(255,255,255,.7))}
.pcard-b{display:flex;flex-direction:column;gap:10px;padding:var(--s-5);flex:1}
.pcard-meta{display:flex;align-items:center;gap:10px;font-size:var(--t-xs);color:var(--ink-3)}
.pcard-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);line-height:1.25;letter-spacing:-.02em}
.pcard-d{color:var(--ink-2);font-size:var(--t-sm)}
@media(min-width:1080px){.pgrid-lead{grid-template-columns:1.35fr 1fr}.pgrid-lead .pcard:first-child{grid-row:span 2}.pgrid-lead .pcard:first-child .pcard-media{aspect-ratio:16/11}.pgrid-lead .pcard:first-child .pcard-t{font-size:var(--t-2xl)}.pgrid-lead .pcard:not(:first-child){flex-direction:row}.pgrid-lead .pcard:not(:first-child) .pcard-media{width:36%;flex:none;margin:10px 0 10px 10px;aspect-ratio:auto}}

.acc{display:grid;gap:10px}
.acc-i{border-radius:20px;background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:box-shadow .3s,border-color .3s}
.acc-i[open]{border-color:rgba(225,29,72,.3);box-shadow:0 24px 50px -30px rgba(225,29,72,.4)}
.acc-i summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;cursor:pointer;font-family:var(--f-display);font-weight:600;font-size:var(--t-base);line-height:1.35;letter-spacing:-.01em}
.acc-i summary::-webkit-details-marker{display:none}
.acc-i summary:hover{color:var(--ox)}
.acc-x{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--bg-2);transition:background .3s,color .3s,transform .4s var(--spring)}
.acc-x::before,.acc-x::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;margin:-1px 0 0 -5.5px;border-radius:2px;background:currentColor}
.acc-x::after{transform:rotate(90deg);transition:transform .35s var(--ease)}
.acc-i[open] .acc-x{background:var(--grad);color:#fff;transform:rotate(180deg)}
.acc-i[open] .acc-x::after{transform:rotate(0)}
.acc-b{padding:0 20px 20px;color:var(--ink-2);max-width:72ch}
.faq-in{display:grid;gap:var(--s-5)}
@media(min-width:960px){.faq-in{grid-template-columns:.7fr 1.3fr;gap:var(--s-8)}.faq-in .sec-h{position:sticky;top:calc(var(--hdr) + 32px);align-self:start}}
.faq-group{margin-bottom:var(--s-7)}
.faq-group .sec-mini{font-size:var(--t-2xl)}
.faq-page .discuss{margin-top:var(--s-5)}

.visit-grid{display:grid;gap:18px}
@media(min-width:900px){.visit-grid{grid-template-columns:1.4fr .8fr}}
.visit-card h3{display:flex;align-items:center;gap:10px;font-size:var(--t-xl);margin-bottom:var(--s-3)}
.visit-card h3 .ic{color:var(--ox)}
.visit-addr{color:var(--ink-2);margin-bottom:var(--s-4)}
.visit-addr small{color:var(--ink-3)}
.hours{width:100%;border-collapse:collapse;margin-bottom:var(--s-4);font-size:var(--t-sm)}
.hours caption{text-align:left;font-weight:700;padding-bottom:8px}
.hours th,.hours td{padding:10px 0;border-top:1px solid var(--rule);text-align:left;font-weight:500}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.hours tr.today :is(th,td){color:var(--ox);font-weight:800}
.visit-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-4)}
.visit-em{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-6) var(--s-5);border-radius:var(--r-3);background:linear-gradient(135deg,#3A0A24,#1B0C3D);color:#fff;box-shadow:0 30px 60px -30px rgba(225,29,72,.6)}
.visit-em::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 20% 20%,rgba(255,77,109,.45),transparent 70%)}
.visit-em-t{display:flex;gap:12px;font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);line-height:1.3}
.visit-em-t .ic{color:#FF8FA3;margin-top:4px}
.visit-em .btn-white{background:linear-gradient(120deg,#FF8A5B,#FF4D6D);color:#fff;box-shadow:0 14px 34px -10px rgba(255,77,109,.8)}

.closing{padding:clamp(40px,5vw,72px) 0 clamp(64px,8vw,110px)}
.closing-in{position:relative;overflow:hidden;isolation:isolate;padding:clamp(48px,7vw,96px) clamp(20px,5vw,72px);border-radius:var(--r-4);background:var(--night);color:#fff;text-align:center;box-shadow:0 50px 100px -50px rgba(139,92,246,.7)}
.closing-in::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 10% 10%,rgba(255,77,109,.45),transparent 70%),radial-gradient(50% 70% at 95% 95%,rgba(139,92,246,.5),transparent 70%),radial-gradient(30% 40% at 60% 30%,rgba(6,182,212,.18),transparent 70%)}
.closing-in::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent);mask-image:radial-gradient(60% 60% at 50% 50%,#000,transparent)}
.closing h2{font-size:var(--t-3xl);max-width:18ch;margin-inline:auto;color:#fff}
.closing h2 em{background:linear-gradient(120deg,#FFB199,#FF4D6D 45%,#C4B5FD);background-size:200% 100%;-webkit-background-clip:text;background-clip:text}
.closing p{color:#C9CDEB;margin-top:var(--s-4);font-size:var(--t-lg)}
.closing .hero-cta{justify-content:center}
.closing .txt-link{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.closing .txt-link .ic{color:#FF8FA3}

.ftr{position:relative;overflow:hidden;isolation:isolate;background:var(--night);color:#C9CDEB;padding:var(--s-8) 0 calc(var(--s-5) + var(--tab) + 24px + env(safe-area-inset-bottom));font-size:var(--t-sm)}
.ftr::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 50% at 0% 0%,rgba(255,77,109,.18),transparent 70%),radial-gradient(40% 60% at 100% 100%,rgba(139,92,246,.2),transparent 70%)}
@media(min-width:1180px){.ftr{padding-bottom:var(--s-5)}}
.ftr-mast{font-family:var(--f-display);font-weight:800;font-size:clamp(2.4rem,.6rem + 7.6vw,8rem);line-height:1.05;letter-spacing:-.055em;padding-bottom:var(--s-6);margin-bottom:var(--s-6);border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap;overflow:hidden;background:linear-gradient(120deg,#fff 0%,#FFC2CF 45%,#C4B5FD 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ftr-mast em{font-style:normal;color:#FF4D6D;-webkit-text-fill-color:#FF4D6D}
html:not(.l-en) .ftr-mast{font-size:clamp(2.2rem,.8rem + 5.5vw,6rem);line-height:1.25;letter-spacing:0}
.ftr-grid{display:grid;gap:var(--s-6);grid-template-columns:1fr}
@media(min-width:640px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.ftr-grid{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}
.ftr-brand p{color:#AEB3D6;margin-top:var(--s-3);max-width:44ch}
.ftr-q{font-weight:700;color:#fff!important;margin-top:0!important}
.ftr-h{font-size:var(--t-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FF8FA3;margin-bottom:var(--s-4)}
html:not(.l-en) .ftr-h{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
.ftr ul{display:grid;gap:10px}
.ftr ul a{color:#C9CDEB;transition:color .2s}
.ftr ul a:hover{color:#fff}
.ftr-contact :is(a,span){display:inline-flex;align-items:center;gap:10px;color:#C9CDEB}
.ftr-contact .ic{color:#8B8FBF}
.ftr-em,.ftr-em .ic{color:#FF8FA3!important;font-weight:700}
.ftr .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.ftr .js-install{margin-top:var(--s-4)}
.socials{display:flex;gap:6px;margin-top:var(--s-4)}
.socials a{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.06);color:#C9CDEB;transition:all .25s}
.socials a:hover{background:var(--grad);color:#fff;box-shadow:var(--glow)}
.ftr-note{position:relative;display:grid;gap:8px;margin-top:var(--s-7);padding-top:var(--s-5);color:#8B8FBF;font-size:var(--t-xs)}
.ftr-note::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:rgba(255,255,255,.1)}
.ftr-note p{display:flex;gap:8px;align-items:flex-start}
.ftr-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:var(--s-5);color:#8B8FBF;font-size:var(--t-xs)}
.ftr-legal{display:flex;flex-wrap:wrap;gap:16px}
.ftr-legal a:hover{color:#fff}

.tabbar{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:grid;grid-template-columns:repeat(5,1fr);height:var(--tab);border-radius:24px;background:var(--glass-2);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--glass-line);box-shadow:0 20px 40px -16px rgba(13,16,34,.4)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.62rem;font-weight:700;color:var(--ink-3);-webkit-tap-highlight-color:transparent;text-align:center;line-height:1.1;padding:0 2px}
html:not(.l-en) .tabbar a{font-size:.7rem}
.tabbar a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabbar a[aria-current]{color:var(--ink)}
.tabbar a[aria-current] .ic{color:var(--red)}
.tab-fab{width:50px;height:50px;margin-top:-26px;display:grid;place-items:center;border-radius:18px;background:var(--grad);color:#fff;box-shadow:var(--glow),0 0 0 5px var(--bg)}
.tab-book{color:var(--ink)!important}
.tab-book .ic{color:#fff!important}
@media(min-width:1180px){.tabbar{display:none}}

.sheet,.modal{position:fixed;inset:0;z-index:150;display:grid}
.sheet-bg,.modal-bg{position:absolute;inset:0;background:rgba(7,8,24,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .25s}
.sheet-panel{position:relative;align-self:end;justify-self:center;width:min(100%,460px);background:var(--card);border-radius:var(--r-3) var(--r-3) 0 0;padding:28px 24px calc(24px + env(safe-area-inset-bottom));text-align:center;animation:up .4s var(--ease-out)}
@media(min-width:640px){.sheet-panel{align-self:center;border-radius:var(--r-3)}}
.sheet-ic{width:68px;height:68px;border-radius:20px;margin:0 auto 14px;box-shadow:var(--glow)}
.sheet-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-xl)}
.sheet-d{color:var(--ink-2);margin-top:8px;font-size:var(--t-sm)}
.sheet-how{margin-top:14px;padding:12px;border-radius:14px;background:var(--bg-2);font-size:var(--t-sm);font-weight:600;display:none}
.sheet.ios [data-ios],.sheet.other [data-other]{display:block}
.sheet-act{display:grid;gap:8px;margin-top:18px}
.modal-box{position:relative;align-self:center;justify-self:center;width:min(94vw,960px);animation:up .3s var(--ease-out)}
.modal-media{aspect-ratio:16/9;background:#000;overflow:hidden;border-radius:var(--r-3)}
.modal-media iframe{width:100%;height:100%;border:0}
.modal-x{position:absolute;top:-52px;right:0;background:var(--card);color:var(--ink)}
@keyframes fade{from{opacity:0}}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
.toast{position:fixed;left:50%;bottom:calc(var(--tab) + 28px + env(safe-area-inset-bottom));z-index:160;translate:-50% 20px;opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:700;transition:opacity .25s,translate .3s var(--ease-out);max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg)}
.toast.show{opacity:1;translate:-50% 0}
@media(min-width:1180px){.toast{bottom:28px}}

.page-h{position:relative;padding:clamp(20px,3vw,48px) 0 clamp(28px,4vw,48px);margin-bottom:clamp(20px,3vw,40px)}
.page-h h1{font-size:var(--t-3xl);max-width:18ch}
.page-h-sm h1{font-size:var(--t-2xl)}
.page-lead{color:var(--ink-2);font-size:var(--t-lg);max-width:60ch;margin-top:var(--s-4)}
.more-wrap{display:flex;justify-content:center;margin-top:var(--s-6)}

.doc-h{padding-top:clamp(20px,3vw,48px);padding-bottom:clamp(24px,4vw,44px)}
.doc-h-in{max-width:900px}
.doc-ic{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:var(--grad);color:#fff;margin-bottom:var(--s-5);box-shadow:var(--glow)}
.doc-ic .ic{width:30px;height:30px}
.doc-h h1,.post-h h1{font-size:var(--t-3xl)}
.doc-lead{font-size:var(--t-lg);color:var(--ink-2);margin-top:var(--s-5);max-width:60ch;line-height:1.6}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--s-5);font-size:var(--t-xs);color:var(--ink-3)}
.doc-meta .ic{color:var(--ox)}
.doc-grid{display:grid;gap:var(--s-6);padding-bottom:var(--s-8)}
@media(min-width:1000px){.doc-grid{grid-template-columns:270px minmax(0,1fr);gap:var(--s-8)}.doc-grid>.doc-main:only-child{grid-column:1/-1;max-width:780px}.toc{position:sticky;top:calc(var(--hdr) + 24px);align-self:start}}
.toc{display:grid;gap:var(--s-4)}
.toc-box{padding:16px 18px;border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow)}
.toc-box summary{cursor:pointer;font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;color:var(--ink-2)}
html:not(.l-en) .toc-box summary{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
.toc-box summary::-webkit-details-marker{display:none}
.toc-box summary::after{content:"+";color:var(--ox)}
.toc-box[open] summary::after{content:"–"}
.toc-box ol{display:grid;gap:2px;margin-top:10px;counter-reset:t}
.toc-box li a{display:grid;grid-template-columns:26px 1fr;padding:8px 10px;border-radius:12px;font-size:var(--t-sm);color:var(--ink-2);line-height:1.4;counter-increment:t;transition:background-color .2s,color .2s}
.toc-box li a::before{content:counter(t);font-weight:800;color:var(--ink-3)}
.toc-box li a:hover{background:var(--bg-2)}
.toc-box li a.on{color:var(--ox);background:var(--ox-soft)}
.toc-box li a.on::before{color:var(--ox)}
.toc-book{width:100%;display:none}
@media(min-width:1000px){.toc-book{display:inline-flex}}
.doc-main{min-width:0;max-width:740px}
.sym ul{display:grid;gap:6px}
.sym li{position:relative;padding:8px 0 8px 22px;font-size:var(--t-sm);color:var(--ink-2)}
.sym li::before{content:"";position:absolute;left:0;top:1.05em;width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 8px rgba(255,77,109,.6)}

.prose{font-size:var(--t-base);color:var(--ink);line-height:1.8}
html:not(.l-en) .prose{line-height:1.9}
.prose>*+*{margin-top:1.05em}
.prose>:first-child{margin-top:0}
.prose h2{font-size:var(--t-2xl);margin-top:1.6em;scroll-margin-top:calc(var(--hdr) + 20px)}
.prose h3{font-size:var(--t-xl);margin-top:1.4em}
.prose :is(h2,h3)+*{margin-top:.6em}
.prose>p:first-child{font-size:var(--t-lg);color:var(--ink-2)}
.prose a{color:var(--ox);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(225,29,72,.3);transition:text-decoration-color .2s}
.prose a:hover{text-decoration-color:var(--ox)}
.prose ul,.prose ol{padding-left:0;display:grid;gap:.6em}
.prose ul>li{position:relative;padding-left:1.6em}
.prose ul>li::before{content:"";position:absolute;left:.2em;top:.7em;width:.5em;height:.5em;border-radius:50%;background:var(--grad)}
.prose ol{counter-reset:o}
.prose ol>li{position:relative;padding-left:2.4em;counter-increment:o}
.prose ol>li::before{content:counter(o);position:absolute;left:0;top:.1em;width:1.7em;height:1.7em;display:grid;place-items:center;border-radius:50%;background:var(--grad-soft);color:var(--ox);font-weight:800;font-size:.85em}
.prose strong{font-weight:750;color:var(--ink)}
.prose blockquote{margin:1.5em 0;padding:1em 1.2em;border-radius:var(--r-2);background:var(--grad-soft);border-left:4px solid var(--red);font-family:var(--f-display);font-weight:600;font-size:var(--t-lg)}
.prose img{border-radius:var(--r-2)}
.tbl{overflow-x:auto;border-radius:var(--r-2);border:1px solid var(--rule);background:var(--card);-webkit-overflow-scrolling:touch}
.prose table{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:520px}
.prose :is(th,td){padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.prose thead th{font-weight:800;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);background:var(--bg-2)}
html:not(.l-en) .prose thead th{text-transform:none;letter-spacing:0;font-size:var(--t-sm)}
.edu-note{display:flex;gap:10px;align-items:flex-start;margin-top:var(--s-6);padding:14px 16px;border-radius:var(--r-2);background:var(--bg-2);color:var(--ink-2);font-size:var(--t-sm)}
.edu-note .ic{margin-top:2px;color:var(--violet)}
.edu-note a{text-decoration:underline}
.discuss{position:relative;overflow:hidden;isolation:isolate;display:grid;gap:var(--s-4);align-items:center;margin-top:var(--s-7);padding:var(--s-6);border-radius:var(--r-3);background:var(--night);color:#fff;box-shadow:0 30px 60px -30px rgba(139,92,246,.6)}
.discuss::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 0% 0%,rgba(255,77,109,.4),transparent 70%),radial-gradient(50% 80% at 100% 100%,rgba(139,92,246,.45),transparent 70%)}
.discuss img{width:68px;height:68px;object-fit:cover;object-position:50% 18%;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.discuss-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-xl);line-height:1.2;color:#fff}
.discuss-d{color:#C9CDEB;font-size:var(--t-sm);margin-top:6px}
.discuss-act{display:flex;flex-wrap:wrap;gap:8px}
.discuss .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
@media(min-width:760px){.discuss{grid-template-columns:auto 1fr auto}}
.urgent{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r-2);background:linear-gradient(120deg,#3A0A24,#1B0C3D);color:#fff;font-weight:700;margin-bottom:var(--s-6);box-shadow:0 20px 40px -24px rgba(225,29,72,.7)}
.urgent .ic{color:#FF8FA3}
.urgent span{flex:1}
.urgent b{font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:1;background:linear-gradient(120deg,#FFB199,#FF4D6D);-webkit-background-clip:text;background-clip:text;color:transparent}
.urgent-soft{background:var(--ox-soft);color:var(--ink);box-shadow:none}
.urgent-soft .ic{color:var(--ox)}

.profile-h{position:relative;padding:clamp(20px,3vw,48px) 0 clamp(36px,5vw,64px)}
.profile-in{display:grid;gap:clamp(32px,5vw,80px);align-items:center}
@media(min-width:900px){.profile-in{grid-template-columns:340px 1fr}}
.profile-photo{position:relative;margin:0;max-width:340px;width:100%;justify-self:center;padding:8px;border-radius:var(--r-4);background:var(--grad);box-shadow:0 40px 80px -40px rgba(139,92,246,.6),0 20px 40px -20px rgba(225,29,72,.45)}
.profile-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 16%;border-radius:calc(var(--r-4) - 8px)}
.profile-photo figcaption{display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 0 4px;font-size:var(--t-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
html:not(.l-en) .profile-photo figcaption{letter-spacing:0;text-transform:none}
.profile-copy h1{font-size:var(--t-4xl);line-height:1;letter-spacing:-.045em;font-weight:800}
html:not(.l-en) .profile-copy h1{line-height:1.2;font-size:var(--t-3xl);letter-spacing:0}
.profile-q{display:inline-flex;margin-top:var(--s-4);padding:6px 14px;border-radius:var(--r-pill);background:var(--grad-soft);font-size:var(--t-sm);font-weight:700;color:var(--ox)}
.cred-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:var(--s-6)}
@media(min-width:720px){.cred-row{grid-template-columns:repeat(3,1fr)}}
.cred{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow)}
.cred>.ic{width:36px;height:36px;padding:8px;border-radius:12px;background:var(--grad);color:#fff;margin:0}
.cred>span{display:grid;line-height:1.3}
.cred small{font-size:var(--t-xs);color:var(--ink-3)}
.cred b{font-family:var(--f-display);font-weight:700;font-size:var(--t-sm)}
.profile-bio{margin-top:var(--s-6);color:var(--ink-2);display:grid;gap:1em;max-width:62ch;font-size:var(--t-lg);line-height:1.7}
.two-col{display:grid;gap:var(--s-7)}
@media(min-width:900px){.two-col{grid-template-columns:1fr 1fr}}
.vtl{position:relative;display:grid;gap:10px;padding-left:22px}
.vtl::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--rose),var(--violet),var(--cyan))}
.vtl li{position:relative;display:grid;gap:2px;padding:14px 16px;border-radius:18px;background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow)}
.vtl li::before{content:"";position:absolute;left:-22px;top:20px;width:14px;height:14px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px var(--bg),0 0 12px rgba(255,77,109,.6)}
.vtl-y{font-size:var(--t-xs);font-weight:800;color:var(--ox);font-variant-numeric:tabular-nums}
.vtl b{font-family:var(--f-display);font-weight:700;font-size:var(--t-base);line-height:1.3}
.vtl span:last-child{color:var(--ink-3);font-size:var(--t-sm)}
.mentor{margin-top:var(--s-5)}
.mentor p:last-child{color:var(--ink-2)}
.proc-chips{display:flex;flex-wrap:wrap;gap:8px}
.proc{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);font-weight:600;font-size:var(--t-sm);transition:all .3s var(--spring)}
.proc .ic{color:var(--ox)}
.proc:hover{background:var(--grad);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:var(--glow)}
.proc:hover .ic{color:#fff}

.post-h{max-width:900px;padding-top:clamp(20px,3vw,48px);padding-bottom:var(--s-6)}
.byline{display:flex;align-items:center;gap:14px;margin-top:var(--s-6);padding:10px 18px 10px 10px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--rule);max-width:max-content}
.byline img{width:42px;height:42px;object-fit:cover;object-position:50% 18%;border-radius:50%}
.byline>span{display:grid;line-height:1.35}
.byline b{font-weight:700}
.byline small{color:var(--ink-3);font-size:var(--t-xs)}
.byline a:hover{color:var(--ox)}
.post-cover{margin:var(--s-6) 0 0}
.post-cover img{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:var(--r-3)}

.book{display:grid;gap:var(--s-5);align-items:start}
@media(min-width:1000px){.book{grid-template-columns:minmax(0,1fr) 340px}.book-side{position:sticky;top:calc(var(--hdr) + 24px)}}
.book-side{display:grid;gap:var(--s-4)}
.book-main{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-3);padding:clamp(18px,3vw,36px);min-width:0;box-shadow:var(--shadow-lg)}
.book-steps{display:flex;gap:8px;margin-bottom:var(--s-6);font-size:var(--t-xs);font-weight:700;color:var(--ink-3);overflow-x:auto}
.book-steps li{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:6px 14px 6px 6px;border-radius:var(--r-pill);background:var(--bg-2)}
.book-steps span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--card);font-size:.7rem;font-weight:800;flex:none}
.book-steps li.on{color:var(--ink);background:var(--grad-soft)}
.book-steps li.on span{background:var(--grad);color:#fff;box-shadow:0 0 12px rgba(255,77,109,.5)}
.book-steps li.done span{background:var(--mint);color:#fff}
.fs{border:0;margin:0 0 var(--s-6);padding:0;min-width:0}
.fs legend{display:flex;align-items:center;gap:10px;margin-bottom:var(--s-4);padding:0;font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);letter-spacing:-.02em}
.fs legend .ic{color:var(--ox)}
.loc-opts{display:grid;gap:8px}
.loc-opt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--rule-2);border-radius:var(--r-2);cursor:pointer;transition:all .2s}
.loc-opt:has(input:checked){border-color:var(--red);background:var(--ox-soft)}
.loc-opt input{accent-color:var(--red);margin-top:4px}
.loc-opt span{display:grid}
.loc-opt small{color:var(--ink-3)}
.days-wrap{display:flex;align-items:center;gap:6px}
.days-nav{flex:none;display:none;background:var(--bg-2)}
@media(min-width:760px){.days-nav{display:inline-grid}}
.days{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 12px;flex:1;scrollbar-width:thin}
.day{flex:none;scroll-snap-align:start;width:70px;display:grid;justify-items:center;padding:12px 4px;border:1.5px solid var(--rule);border-radius:18px;background:var(--bg-2);transition:all .25s var(--ease);-webkit-tap-highlight-color:transparent}
.day small{font-size:.64rem;color:var(--ink-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html:not(.l-en) .day small{letter-spacing:0;text-transform:none;font-size:.72rem}
.day b{font-family:var(--f-display);font-weight:700;font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums}
.day:hover:not([disabled]){border-color:var(--violet);transform:translateY(-2px)}
.day[aria-selected="true"]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.day[aria-selected="true"] small{color:inherit;opacity:.85}
.day[disabled]{opacity:.35;cursor:not-allowed}
.slots{display:grid;gap:var(--s-5);min-height:80px}
.slot-g{display:grid;gap:10px}
.slot-g p{font-size:var(--t-xs);font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
html:not(.l-en) .slot-g p{text-transform:none;letter-spacing:0;font-size:var(--t-sm)}
.slot-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px}
.slot{display:grid;justify-items:center;gap:1px;padding:12px 6px;border:1.5px solid var(--rule);border-radius:14px;background:var(--bg-2);font-weight:700;font-size:var(--t-sm);font-variant-numeric:tabular-nums;transition:all .2s;-webkit-tap-highlight-color:transparent}
.slot small{font-size:.66rem;font-weight:700;color:var(--ok)}
.slot:hover:not([disabled]){border-color:var(--violet);transform:translateY(-2px)}
.slot[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.slot[aria-pressed="true"] small{color:inherit}
.slot[disabled]{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.slot[disabled] small{color:var(--ink-3)}
.skel{height:46px;border-radius:14px;background:linear-gradient(90deg,var(--bg-2),var(--bg-3),var(--bg-2));background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
.book-nav{display:flex;justify-content:space-between;gap:10px;margin-top:var(--s-6);flex-wrap:wrap}
.book-nav .btn:only-child{margin-left:auto}
.frm{display:grid;gap:var(--s-4);grid-template-columns:1fr 1fr}
.frm-3{grid-template-columns:repeat(3,1fr);align-items:end}
.fld{display:grid;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--ink-2);grid-column:1/-1;min-width:0;border:0;margin:0;padding:0}
html:not(.l-en) .fld{font-size:var(--t-sm)}
@media(min-width:640px){.fld{grid-column:auto}.fld-full{grid-column:1/-1}}
.fld legend{padding:0;margin-bottom:8px}
.fld small{font-weight:500;color:var(--ink-3)}
.fld :is(input,select,textarea){width:100%;min-height:52px;padding:12px 16px;border:1.5px solid var(--rule);border-radius:14px;background:var(--bg-2);font-weight:500;font-size:16px;color:var(--ink);transition:border-color .2s,box-shadow .2s,background-color .2s}
.fld select option{background:var(--card);color:var(--ink)}
.fld textarea{min-height:110px;resize:vertical;line-height:1.5}
.fld :is(input,select,textarea):focus{outline:none;border-color:var(--violet);background:var(--card);box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.fld :is(input,textarea)[aria-invalid="true"]{border-color:var(--bad);box-shadow:0 0 0 4px rgba(220,38,38,.12)}
.fld.seg{display:block}
.fld.seg legend{float:left;width:100%;margin-bottom:8px}
.seg>label{position:relative;display:inline-block;margin:0 6px 6px 0}
.seg input,.fld .seg input,.seg.fld input{position:absolute;left:0;top:0;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--rule);background:var(--bg-2);font-weight:600;font-size:var(--t-sm);cursor:pointer;transition:all .2s;color:var(--ink-2)}
.seg input:checked+span{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.seg input:focus-visible+span{outline:2px solid var(--violet);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;grid-column:1/-1}
.check input{width:20px;height:20px;accent-color:var(--red);margin-top:2px;flex:none}
.check a{text-decoration:underline}
.form-err{margin-top:var(--s-4);padding:12px 14px;border-radius:14px;background:rgba(220,38,38,.1);color:var(--bad);font-weight:700;font-size:var(--t-sm)}
.form-ok{margin-top:var(--s-4);padding:12px 14px;border-radius:14px;background:var(--ok-soft);color:var(--ok);font-weight:700;font-size:var(--t-sm)}
.book .note{margin-top:var(--s-4)}
.sum-doc{display:flex;gap:12px;align-items:center;padding-bottom:var(--s-4);border-bottom:1px solid var(--rule)}
.sum-doc img{width:50px;height:50px;object-fit:cover;object-position:50% 18%;border-radius:50%;box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--red)}
.sum-doc span{display:grid;line-height:1.3}
.sum-doc b{font-family:var(--f-display);font-weight:700;font-size:1rem}
.sum-doc small{color:var(--ink-3);font-size:var(--t-xs)}
.sum-dl{margin:var(--s-4) 0 0;display:grid}
.sum-dl div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--rule)}
.sum-dl dt{display:flex;gap:8px;align-items:center;color:var(--ink-3);font-size:var(--t-sm)}
.sum-dl dd{margin:0;font-weight:700;text-align:right;font-size:var(--t-sm)}
.sum-call{display:flex;gap:8px;align-items:center;margin-top:var(--s-4);font-weight:700;font-size:var(--t-sm);color:var(--ox)}
.bring ul{display:grid;gap:4px}
.bring li{position:relative;padding:8px 0 8px 24px;font-size:var(--t-sm);color:var(--ink-2)}
.bring li::before{content:"";position:absolute;left:0;top:1.05em;width:10px;height:10px;border-radius:50%;background:var(--grad)}
.done{text-align:center;display:grid;justify-items:center;gap:var(--s-3)}
.done h2{font-size:var(--t-2xl)}
.done-badge{position:relative;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(120deg,#10B981,#06B6D4);color:#fff;margin-bottom:6px;box-shadow:0 20px 40px -14px rgba(16,185,129,.7)}
.done-badge>.ic{width:40px;height:40px;stroke-width:2.4;animation:pop .5s var(--spring) .3s both}
.done-badge>svg:not(.ic){display:none}
.ticket{width:100%;max-width:440px;margin:var(--s-4) 0;padding:6px 18px;border-radius:var(--r-3);background:var(--bg-2);border:1.5px dashed var(--rule-2);text-align:left}
.ticket-id{padding:14px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
.ticket-id small{font-size:var(--t-xs);font-weight:700;color:var(--ink-3)}
.ticket-id b{font-family:var(--f-mono);font-size:1.3rem;letter-spacing:.12em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ticket dl{margin:0;display:grid}
.ticket dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.ticket dl div:last-child{border:0}
.ticket dt{color:var(--ink-3);font-size:var(--t-sm)}
.ticket dd{margin:0;font-weight:700;text-align:right;font-size:var(--t-sm)}
.done-act{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.done .bring{text-align:left;width:100%;max-width:440px;margin-top:var(--s-4)}
.closed{text-align:center;max-width:640px;margin-inline:auto;display:grid;justify-items:center;gap:var(--s-4);padding:var(--s-8) var(--s-5)}
.closed h2{font-size:var(--t-2xl)}
.closed p{color:var(--ink-2)}
.closed-ic{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.closed .hero-cta{justify-content:center}

.mb{display:grid;gap:var(--s-6);align-items:start}
@media(min-width:960px){.mb{grid-template-columns:1fr 360px}}
.mb-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mb-head .sec-mini{margin:0}
.mb-list{display:grid;gap:12px;margin-top:var(--s-4)}
.mb-find{display:grid;gap:var(--s-4)}
.mb-find .fld{grid-column:1/-1}
.bk{display:grid;gap:10px;padding:var(--s-5);border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow)}
.bk-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.bk-ref{font-family:var(--f-mono);font-weight:800;letter-spacing:.1em;color:var(--ox)}
.bk-when{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg)}
.bk-loc{color:var(--ink-2);font-size:var(--t-sm)}
.bk-act{display:flex;flex-wrap:wrap;gap:8px}
.bk.is-past{opacity:.6}

.tools{display:grid;gap:18px;align-items:start}
@media(min-width:960px){.tools{grid-template-columns:repeat(3,1fr)}.tool-wide{grid-column:1/-1}}
.tool{display:grid;gap:var(--s-4)}
.tool-h{display:flex;gap:14px;align-items:flex-start}
.tool-h h2{font-size:var(--t-lg)}
.tool-h p{color:var(--ink-2);font-size:var(--t-sm);margin-top:6px}
.tool-ic{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.bp-scale{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr .8fr;gap:3px;font-size:.62rem;font-weight:800;text-align:center;color:#fff}
.bp-scale span{padding:6px 2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bp-scale span:first-child{border-radius:10px 0 0 10px}
.bp-scale span:last-child{border-radius:0 10px 10px 0}
.z-n{background:#10B981}.z-e{background:#A3B812}.z-1{background:#F59E0B}.z-2{background:#F97316}.z-s{background:#E11D48}
.bmi-out,.hr-out{padding:14px 16px;border-radius:16px;background:var(--bg-2);animation:pop .35s var(--ease-out)}
.bmi-out b{font-family:var(--f-display);font-weight:800;font-size:var(--t-2xl);display:block}
.bmi-out p{font-size:var(--t-sm);color:var(--ink-2);margin-top:4px}
.hr-row{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:var(--t-sm)}
.hr-row:last-child{border:0}
.hr-row b{font-variant-numeric:tabular-nums}
.diary-form{display:grid;gap:var(--s-3) var(--s-4);grid-template-columns:repeat(3,1fr);align-items:end}
.diary-form .fld{grid-column:auto}
.diary-form :is(.fld-wide,.btn){grid-column:1/-1}
@media(min-width:900px){.diary-form{grid-template-columns:1fr 1fr 1fr 2fr auto}.diary-form :is(.fld-wide,.btn){grid-column:auto}}
.diary-stats{display:flex;flex-wrap:wrap;gap:12px}
.stat{display:grid;padding:12px 18px;border-radius:16px;background:var(--bg-2)}
.stat small{font-size:var(--t-xs);color:var(--ink-3);font-weight:700}
.stat b{font-family:var(--f-display);font-weight:800;font-size:var(--t-2xl);font-variant-numeric:tabular-nums}
.diary-chart svg{width:100%;height:160px;overflow:visible}
.diary-chart .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.diary-chart .ln-s{stroke:var(--red)}
.diary-chart .ln-d{stroke:var(--violet)}
.diary-chart .gl{stroke:var(--rule);stroke-dasharray:3 4}
.diary-chart .ref{stroke:var(--amber);stroke-dasharray:5 4;opacity:.8}
.diary-chart text{font-size:10px;fill:var(--ink-3);font-family:var(--f-sans)}
.diary-chart circle{stroke:var(--card);stroke-width:2}
.diary-list{overflow-x:auto}
.diary-list table{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:440px}
.diary-list :is(th,td){padding:10px 8px 10px 0;border-bottom:1px solid var(--rule);text-align:left}
.diary-list th{font-size:var(--t-xs);color:var(--ink-3);font-weight:700}
.diary-list td b{font-variant-numeric:tabular-nums}
.diary-list .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.diary-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}

.em-h{position:relative;overflow:hidden;isolation:isolate;margin:8px auto clamp(36px,5vw,56px);width:calc(100% - 2 * var(--gutter));max-width:calc(var(--wrap) - 2 * var(--gutter));border-radius:var(--r-4);background:linear-gradient(135deg,#1A0614 0%,#3A0A24 45%,#1B0C3D 100%);color:#fff;padding:clamp(28px,5vw,64px) 0}
.em-h::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 70% at 10% 20%,rgba(255,77,109,.4),transparent 70%),radial-gradient(40% 70% at 95% 90%,rgba(139,92,246,.35),transparent 70%)}
.em-h h1{font-size:var(--t-3xl);color:#fff}
.em-h .page-lead{color:#F3C9D4}
.em-h .kicker{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.em-h .crumbs{padding-top:0;margin-bottom:var(--s-5);color:#D9A9B8}
.em-big{display:grid;gap:12px;margin-top:var(--s-6);grid-template-columns:1fr}
@media(min-width:760px){.em-big{grid-template-columns:repeat(3,1fr)}}
.em-call{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 12px;padding:22px;border-radius:var(--r-3);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;transition:background-color .25s,transform .35s var(--spring)}
.em-call:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.em-call span{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#F3C9D4;grid-column:1}
html:not(.l-en) .em-call span{letter-spacing:0;text-transform:none;font-size:var(--t-sm)}
.em-call b{font-family:var(--f-display);font-weight:800;font-size:clamp(3rem,2.4rem + 2.6vw,4.8rem);line-height:.95;letter-spacing:-.05em;grid-column:1;background:linear-gradient(120deg,#FFB199,#FF4D6D);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.em-call .ic{grid-row:1/3;grid-column:2;width:48px;height:48px;padding:13px;border-radius:16px;background:linear-gradient(120deg,#FF8A5B,#FF4D6D);color:#fff;box-shadow:0 12px 26px -8px rgba(255,77,109,.8)}
.em-call-2 b,.em-call-3 b{background:none;color:#fff}
.em-call-3 b{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);letter-spacing:-.02em}
.em-grid{display:grid;gap:18px}
@media(min-width:900px){.em-grid{grid-template-columns:1fr 1fr}}
.em-card{display:grid;gap:var(--s-4);align-content:start}
.em-card h2{display:flex;gap:12px;align-items:center;font-size:var(--t-xl)}
.em-card h2 .ic{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--grad);color:#fff}
.em-signs{display:flex;flex-wrap:wrap;gap:6px}
.em-signs li{padding:7px 12px;border-radius:var(--r-pill);background:var(--ox-soft);font-size:var(--t-xs);font-weight:600;line-height:1.4;color:var(--ink)}
.em-steps{display:grid;gap:8px;counter-reset:e}
.em-steps li{position:relative;padding:12px 14px 12px 54px;border-radius:16px;background:var(--bg-2);font-weight:600;counter-increment:e}
.em-steps li::before{content:counter(e);position:absolute;left:12px;top:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--grad);color:#fff;font-weight:800;font-size:.85rem}
.cpr{display:flex;align-items:center;gap:14px;padding:12px 0}
.cpr-dot{width:24px;height:24px;border-radius:50%;background:var(--grad);box-shadow:0 0 16px rgba(255,77,109,.8);animation:cpr .545s ease-in-out infinite alternate}
.cpr-l{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-2)}
@keyframes cpr{from{transform:scale(.6);opacity:.6}to{transform:scale(1.15);opacity:1}}

.contact{display:grid;gap:var(--s-6);align-items:start}
@media(min-width:960px){.contact{grid-template-columns:1fr 1.2fr}}
.contact-cards{display:grid;gap:10px}
.ccta{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r-3);background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);transition:transform .4s var(--ease-out),box-shadow .4s}
.ccta:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(225,29,72,.45)}
.ccta>span:nth-child(2){flex:1;display:grid;min-width:0}
.ccta b{font-family:var(--f-display);font-weight:700;font-size:var(--t-base)}
.ccta small{color:var(--ink-3);font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis}
.ccta>.ic{color:var(--ink-3)}
.ccta-ic{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:16px;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.contact-cards .ccta:nth-child(2) .ccta-ic{background:var(--grad-cool);box-shadow:var(--glow-v)}
.contact-cards .ccta:nth-child(3) .ccta-ic{background:linear-gradient(120deg,#10B981,#22C55E)}
.contact-cards .ccta:nth-child(4) .ccta-ic{background:linear-gradient(120deg,#F59E0B,#FF4D6D)}
.msg-form{display:grid;gap:var(--s-4)}
.msg-form .btn{justify-self:start}

.nf{text-align:center}
.nf .wrap{display:grid;justify-items:center}
.nf h1{margin-inline:auto}
.nf-flat{width:min(100%,520px);height:70px;fill:none;stroke:url(#gS);stroke-width:2.4;stroke-linejoin:round;margin-bottom:var(--s-5);stroke-dasharray:700;stroke-dashoffset:700;animation:draw 2s var(--ease) forwards;filter:url(#fG)}
@keyframes draw{to{stroke-dashoffset:0}}
.nf-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:var(--s-6)}
.vgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.vcard{display:grid;gap:10px;text-align:left}
.vcard-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--night);border-radius:var(--r-3)}
.vcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.vcard:hover img{transform:scale(1.05)}
.vcard-play{position:absolute;inset:0;display:grid;place-items:center}
.vcard-play .ic{width:60px;height:60px;padding:19px;border-radius:50%;background:var(--grad);color:#fff;box-shadow:var(--glow)}
.vcard-t{font-family:var(--f-display);font-weight:700;font-size:var(--t-base)}
.ggrid{columns:2 220px;column-gap:16px}
.gcard{break-inside:avoid;margin:0 0 16px}
.gcard img{width:100%;border-radius:var(--r-2)}
.gcard figcaption{padding:8px 4px;font-size:var(--t-xs);color:var(--ink-3)}

.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--d,0) * 70ms)}
.js .reveal.in{opacity:1;transform:none}
.draw{stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 2.4s var(--ease)}
.draw.in{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.js .draw-svg:not(.in) *{stroke-dashoffset:0!important;opacity:1!important}}
@media(max-width:760px){.aurora i:nth-child(3){display:none}}

@media print{
  .hdr,.tabbar,.ftr,.loader,.drawer,.sheet,.toast,.crumbs,.discuss,.toc,.btn,.diary-form,.diary-act,.tool:not(.diary),.page-h,.edu-note,.note,.aurora,.gridbg{display:none!important}
  body{background:#fff;color:#000}
  body::before{display:none}
  .card{border:0;padding:0;box-shadow:none}
  .tools{display:block}
  .js .reveal{opacity:1;transform:none}
}
@media(max-width:420px){.lang-btn span{display:none}.lang-btn{padding:0 8px}.brand-n{font-size:.98rem}}
