/* Forma Studio · graphite, one acid state colour, Bricolage Grotesque display, glass layers, tabular numbers. */
:root{
  --bg:#111214; --s1:#191B1E; --s2:#22252A; --s3:#2C3036;
  --tx:#EEF0EA; --dim:#9DA29A; --mute:#6D726B; --line:rgba(238,240,234,.1); --line-2:rgba(238,240,234,.22);
  --acid:#D2F34C; --ink:#111214;
  --disp:'Bricolage Grotesque', system-ui, sans-serif;
  --body:'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --g:clamp(16px, 3.6vw, 56px);
  --r:8px; --rb:26px;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-drawer:cubic-bezier(.32,.72,0,1);
  --z-sticky:10; --z-chat:30; --z-ribbon:40;
}
html[data-lang="pt"] [data-l="en"], html[data-lang="en"] [data-l="pt"]{display:none !important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--rb) + 16px)}
body{margin:0; background:var(--bg); color:var(--tx); font:400 1rem/1.5 var(--body); padding-top:var(--rb); overflow-x:hidden; -webkit-font-smoothing:antialiased; font-variant-numeric:tabular-nums}
img{display:block; max-width:100%; height:auto}
button,input{font:inherit; color:inherit}
button{cursor:pointer}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0; font-family:var(--disp); font-weight:600; font-optical-sizing:auto; letter-spacing:-.04em; line-height:.98; text-wrap:balance}
.vh{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
:focus-visible{outline:2px solid var(--acid); outline-offset:3px}
.skip{position:absolute; left:12px; top:-60px; z-index:50; background:var(--acid); color:var(--ink); padding:10px 14px; border-radius:var(--r)}
.skip:focus{top:34px}

.ribbon{position:fixed; inset:0 0 auto; height:var(--rb); z-index:var(--z-ribbon); display:flex; align-items:center; justify-content:center; background:var(--acid); color:var(--ink); font-size:.75rem; font-weight:500; text-decoration:none}
@media (hover:hover) and (pointer:fine){ .ribbon:hover{text-decoration:underline; text-underline-offset:3px} }

/* header */
.top{display:flex; align-items:center; gap:28px; padding:14px var(--g); border-bottom:1px solid var(--line)}
.logo{display:flex; align-items:baseline; gap:6px; text-decoration:none}
.logo-f{font-family:var(--disp); font-weight:700; font-size:1.6rem; line-height:1; letter-spacing:-.05em}
.logo-f::after{content:''; display:inline-block; width:.2em; height:.2em; border-radius:50%; background:var(--acid); margin-left:.06em}
.logo-s{font-size:.8rem; color:var(--dim)}
.nav{display:flex; gap:4px; margin-left:auto}
.nav a{text-decoration:none; font-size:.92rem; font-weight:500; padding:10px 14px; border-radius:999px; transition:background-color .15s ease}
@media (hover:hover) and (pointer:fine){ .nav a:hover{background:var(--s2)} }
.lang{display:flex; background:var(--s1); border-radius:999px; padding:3px}
.lang button{border:0; background:none; min-width:44px; min-height:38px; border-radius:999px; font-size:.8rem; font-weight:600; color:var(--dim)}
.lang button[aria-pressed="true"]{background:var(--tx); color:var(--ink)}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 24px; border-radius:999px; border:0; font-weight:600; font-size:1rem; text-decoration:none; transition:transform .16s var(--ease-out), background-color .15s ease, color .15s ease}
.btn:active{transform:scale(.97)}
.btn-acid{background:var(--acid); color:var(--ink)}
.btn-line{background:transparent; color:var(--tx); box-shadow:inset 0 0 0 1px var(--line-2)}
@media (hover:hover) and (pointer:fine){ .btn-acid:hover{background:#E0FF63} .btn-line:hover{box-shadow:inset 0 0 0 1px var(--tx)} }
.btn.sm{min-height:44px; padding:0 18px; font-size:.9rem}
.btn.wide{width:100%}
.btn[disabled]{opacity:.6; cursor:default}

/* HERO: layered, cinematic */
.hero{position:relative; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:1fr auto; column-gap:24px; padding:0 var(--g) clamp(28px,5vh,56px); min-height:min(calc(100svh - var(--rb) - 68px), 860px); overflow:hidden; isolation:isolate}
.hero-bg{position:absolute; inset:-8% 0 0 0; z-index:-2; will-change:transform; overflow:hidden}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:62% 50%; transform-origin:65% 45%; animation:push 26s ease-in-out infinite alternate}
@keyframes push{from{transform:scale(1.02)} to{transform:scale(1.12) translateX(-1.5%)}}
.hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(17,18,20,.92) 0%, rgba(17,18,20,.55) 38%, rgba(17,18,20,0) 62%), linear-gradient(0deg, var(--bg) 0%, rgba(17,18,20,0) 34%)}
.sweep{position:absolute; inset:-20% -40%; background:linear-gradient(105deg, transparent 40%, rgba(210,243,76,.07) 48%, rgba(255,255,255,.05) 50%, transparent 58%); mix-blend-mode:screen; animation:sweep 11s cubic-bezier(.45,0,.2,1) infinite}
@keyframes sweep{from{transform:translateX(-30%)} to{transform:translateX(30%)}}
.big8{position:absolute; z-index:-1; right:14%; top:50%; transform:translateY(-54%); font-family:var(--disp); font-weight:300; font-size:min(78vh,52vw); line-height:.8; letter-spacing:-.06em; color:transparent; -webkit-text-stroke:1.5px rgba(210,243,76,.55); mix-blend-mode:screen; pointer-events:none; user-select:none; animation:in8 1.6s var(--ease-out) .2s both}
@keyframes in8{from{opacity:0; transform:translateY(-50%) scale(.96)} to{opacity:1; transform:translateY(-54%)}}
.hero-main{grid-column:1 / 8; grid-row:1; align-self:end; padding:clamp(40px,8vh,96px) 0 28px}
.hero h1{font-size:clamp(2.8rem,5.8vw,5.8rem); line-height:.94; letter-spacing:-.045em; max-width:10.5ch; font-weight:600}
.hero-p{margin-top:22px; font-size:1.1rem; color:#C4C8C0; max-width:42ch}
.hero-act{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px}
.btn-glass{background:rgba(238,240,234,.08); color:var(--tx); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:inset 0 0 0 1px rgba(238,240,234,.16)}
@media (hover:hover) and (pointer:fine){ .btn-glass:hover{background:rgba(238,240,234,.14)} }
.hero h1, .hero-p, .hero-act, .next{animation:rise .9s var(--ease-out) both}
.hero-p{animation-delay:.08s} .hero-act{animation-delay:.14s} .next{animation-delay:.3s}
@keyframes rise{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}
.glass{background:rgba(20,21,24,.5); -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%); border-radius:18px; box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 24px 48px -24px rgba(0,0,0,.7)}
.next{grid-column:8 / 13; grid-row:2; align-self:end; padding:18px 20px 8px; margin-top:24px}
.next-h{display:flex; align-items:center; gap:10px; font-size:.84rem; font-weight:600; color:#C4C8C0; margin-bottom:6px}
.live{width:8px; height:8px; border-radius:50%; background:var(--acid); animation:blink 2s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.next-list{list-style:none; margin:0; padding:0}
.nx{display:grid; grid-template-columns:4.4rem minmax(0,1fr) auto; align-items:center; gap:14px; padding:12px 0; border-top:1px solid rgba(238,240,234,.08)}
.nx-t{font-family:var(--disp); font-weight:600; font-size:1.45rem; letter-spacing:-.03em; line-height:1}
.nx-t small{display:block; font-family:var(--body); font-weight:500; font-size:.72rem; color:var(--dim); margin-top:5px; letter-spacing:0}
.nx-n{font-weight:600; min-width:0}
.nx-n small{display:block; color:var(--dim); font-weight:400; font-size:.82rem}
.nx-s{display:none}
.nx .btn{min-height:44px; padding:0 16px; font-size:.88rem}

/* grain + reveals */
body::after{content:""; position:fixed; inset:0; z-index:45; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.rv{opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out)}
.rv.in{opacity:1; transform:none}

/* TIMETABLE */
.tt{padding:clamp(64px,8vw,120px) var(--g) clamp(48px,6vw,96px); background:radial-gradient(60% 50% at 85% 10%, rgba(210,243,76,.07), transparent 70%)}
.tt-head{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; gap:16px 40px}
.tt h2, .classes h2, .plans h2, .studio h2{font-size:clamp(2.3rem,5vw,4.4rem)}
.tt-head p{color:var(--dim); max-width:44ch; justify-self:end}
.filters{display:flex; flex-wrap:wrap; gap:8px; margin:36px 0 20px}
.fchip{border:0; background:var(--s1); color:var(--tx); min-height:44px; padding:0 18px; border-radius:999px; font-weight:500; font-size:.92rem; transition:background-color .15s ease, color .15s ease, transform .16s var(--ease-out)}
.fchip:active{transform:scale(.97)}
.fchip[aria-pressed="true"]{background:var(--tx); color:var(--ink)}
@media (hover:hover) and (pointer:fine){ .fchip:not([aria-pressed="true"]):hover{background:var(--s2)} }
.days{display:none}
.grid{display:grid; grid-template-columns:4.6rem repeat(6,minmax(0,1fr)); gap:6px}
.gh{padding:6px 4px 10px; font-size:.84rem; color:var(--dim)}
.gh b{display:block; font-family:var(--disp); font-weight:600; letter-spacing:-.03em; font-size:1.2rem; color:var(--tx); line-height:1.05}
.gh.today b{color:var(--acid)}
.gt{font-family:var(--disp); font-weight:600; letter-spacing:-.02em; font-size:1.1rem; padding-top:12px; color:var(--dim)}
.ge{min-height:20px}
.cell{position:relative; text-align:left; border:1px solid transparent; background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)), var(--s1); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); border-radius:var(--r); padding:10px 12px 12px; min-height:78px; display:flex; flex-direction:column; justify-content:space-between; gap:8px;
  transition:opacity .2s ease, transform .2s var(--ease-out), border-color .15s ease, background-color .2s ease}
.cell:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){ .cell:not(:disabled):hover{border-color:var(--acid)} }
.c-n{font-family:var(--disp); font-weight:600; letter-spacing:-.02em; font-size:1.08rem; line-height:1.1}
.c-s{font-size:.78rem; color:var(--dim); display:flex; justify-content:space-between; align-items:center; gap:8px}
.bars{display:flex; gap:2px}
.bars i{width:3px; height:12px; border-radius:1px; background:var(--s3)}
.bars i.f{background:var(--acid)}
.cell.full .c-n{color:var(--dim)}
.cell.full .c-s{color:var(--dim)}
.cell.past{background:transparent; border:1px dashed var(--line); cursor:default}
.cell.past .c-n{color:var(--mute)}
.cell.past:active{transform:none}
.cell.mine{background:linear-gradient(160deg,#E2FF6E,var(--acid) 60%,#B9DC2E); color:var(--ink); box-shadow:0 12px 28px -14px rgba(210,243,76,.55)}
.cell.mine .c-s{color:#2c3310}
.cell.mine .bars i{background:rgba(17,18,20,.18)} .cell.mine .bars i.f{background:var(--ink)}
.cell.dim{opacity:.16; transform:scale(.96)}
.cell.last .c-s span:first-child{color:var(--acid)}
.cell.slim{min-height:50px; flex-direction:row; align-items:center; justify-content:space-between; padding:8px 12px}
.cell.slim .c-s{gap:10px; white-space:nowrap}
.cell.slim .c-n{white-space:nowrap}
.cell.slim .bars{display:none}
.ge.slim{min-height:0}
.gt.slim{padding-top:14px; font-size:.98rem}
.tt-note{display:flex; align-items:center; gap:10px; margin-top:18px; font-size:.86rem; color:var(--dim)}
.tick{width:3px; height:12px; background:var(--acid); border-radius:1px}

.said{margin:40px 0 0; max-width:34rem}
.said p{font-size:1.15rem; font-weight:500}
.said footer{display:flex; align-items:center; gap:10px; margin-top:10px; color:var(--dim); font-size:.88rem}
.ex{font-size:.7rem; font-weight:600; background:var(--s2); color:var(--dim); padding:2px 8px; border-radius:999px}
.said-tt{margin-left:auto}

/* CLASSES */
.classes{padding:clamp(64px,8vw,120px) var(--g); border-top:1px solid var(--line)}
.cl-list{list-style:none; margin:40px 0 0; padding:0}
.cl{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,4fr) 200px; gap:24px 40px; align-items:center; padding:22px 0; border-top:1px solid var(--line)}
.cl:last-child{border-bottom:1px solid var(--line)}
.cl-name{font-family:var(--disp); font-weight:600; letter-spacing:-.045em; font-size:clamp(2rem,4.2vw,3.8rem); line-height:.95; margin:0}
.cl-meta{display:grid; gap:10px}
.cl-meta p{color:var(--dim); max-width:42ch}
.cl-row{display:flex; flex-wrap:wrap; gap:8px 22px; font-size:.86rem}
.cl-row b{font-weight:600}
.lvl{display:inline-flex; gap:3px; vertical-align:middle; margin-left:6px}
.lvl i{width:12px; height:5px; border-radius:2px; background:var(--s3)}
.lvl i.on{background:var(--acid)}
.cl-go{background:none; border:0; padding:8px 0; color:var(--acid); font-weight:600; font-size:.9rem; text-decoration:underline; text-underline-offset:4px; justify-self:start; min-height:44px}
.cl-img{width:200px; height:140px; object-fit:cover; border-radius:var(--r)}
.said-cl{margin-left:auto}

/* PLANS */
.plans{padding:clamp(64px,8vw,120px) var(--g); border-top:1px solid var(--line); background:radial-gradient(50% 40% at 50% 30%, rgba(210,243,76,.06), transparent 70%)}
.plans-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:20px}
.bill{position:relative; display:inline-grid; grid-template-columns:1fr 1fr; background:var(--s1); border-radius:999px; padding:4px}
.bill button{position:relative; z-index:1; border:0; background:none; min-height:44px; padding:0 20px; border-radius:999px; font-weight:600; font-size:.92rem; color:var(--dim); transition:color .2s ease; white-space:nowrap}
.bill button[aria-checked="true"]{color:var(--ink)}
.bill em{font-style:normal; font-size:.76rem; margin-left:4px}
.bill-thumb{position:absolute; top:4px; bottom:4px; left:4px; width:calc(50% - 4px); border-radius:999px; background:var(--acid); transition:transform .28s var(--ease-out)}
.bill[data-v="y"] .bill-thumb{transform:translateX(100%)}
.cmp{margin-top:36px; display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); border-radius:18px; overflow:hidden; background:rgba(25,27,30,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 40px 80px -40px rgba(0,0,0,.8)}
.cmp [role=row]{display:contents}
.cmp .ch{padding:22px 20px 18px; display:flex; flex-direction:column; gap:4px; border-bottom:1px solid var(--line)}
.cmp .ch b{font-family:var(--disp); font-weight:600; letter-spacing:-.03em; font-size:1.5rem; line-height:1}
.cmp .ch small{font-size:.8rem; color:var(--dim)}
.cmp .ch.feat{background:linear-gradient(160deg,#E2FF6E,var(--acid) 55%,#BFE233); color:var(--ink)}
.cmp .ch.feat small{color:#3a4215}
.cmp .rl{padding:14px 20px; font-size:.9rem; color:var(--dim); border-bottom:1px solid var(--line)}
.cmp .cv{padding:14px 20px; font-size:.95rem; border-bottom:1px solid var(--line); display:flex; align-items:center}
.cmp .cv.feat{background:rgba(210,243,76,.06)}
.cmp .price{font-family:var(--disp); font-weight:600; letter-spacing:-.04em; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1; display:flex; align-items:baseline; gap:6px; flex-wrap:wrap}
.cmp .price small{font-family:var(--body); font-weight:500; font-size:.8rem; color:var(--dim); letter-spacing:0}
.roll{display:inline-block; transition:transform .18s var(--ease-out), opacity .18s ease}
.roll.out{transform:translateY(-35%); opacity:0; transition-duration:.12s}
.roll.in{transform:translateY(35%); opacity:0; transition:none}
.cmp .cta{padding:18px 20px 22px; border-bottom:0}
.cmp .cta .btn{width:100%}
.cmp .no{color:var(--mute)}
.plans-note{margin-top:14px; font-size:.86rem; color:var(--dim)}
.pt{margin-top:56px; display:grid; grid-template-columns:240px minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; padding-top:40px; border-top:1px solid var(--line)}
.pt img{width:240px; height:280px; object-fit:cover; border-radius:var(--r)}
.pt h3{font-size:clamp(1.6rem,2.8vw,2.4rem)}
.pt-txt > p{color:var(--dim); margin-top:12px; max-width:40ch}
.pt-dl{margin:20px 0 0; display:flex; gap:32px}
.pt-dl dt{font-size:.82rem; color:var(--dim)}
.pt-dl dd{margin:2px 0 0; font-family:var(--disp); font-weight:600; letter-spacing:-.03em; font-size:1.9rem}
.pt-dl small{font-family:var(--body); font-size:.78rem; font-weight:500; color:var(--acid); letter-spacing:0}
.said-pl{margin:0}

/* STUDIO */
.studio{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-top:1px solid var(--line)}
.studio-img{width:100%; height:100%; min-height:420px; object-fit:cover}
.studio-in{padding:clamp(48px,6vw,96px) var(--g)}
.info{margin:32px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:20px 24px}
.info dt{font-size:.82rem; color:var(--dim)}
.info dd{margin:2px 0 0; font-weight:600}
.faq{margin-top:36px; border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none; cursor:pointer; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:12px; font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--disp); font-size:1.5rem; color:var(--acid); transition:transform .2s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 16px; color:var(--dim)}

.foot{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px 40px; padding:40px var(--g) calc(40px + env(safe-area-inset-bottom)); border-top:1px solid var(--line)}
.foot-logo{font-family:var(--disp); font-weight:700; letter-spacing:-.05em; font-size:2.2rem}
.foot-p{color:var(--dim); font-size:.88rem; max-width:62ch}

/* BOOKING SHEET */
.sheet{position:fixed; inset:0 0 0 auto; margin:0; width:min(460px,100vw); height:100%; max-height:100%; max-width:100vw; padding:0; border:0; background:rgba(25,27,30,.82); -webkit-backdrop-filter:blur(28px) saturate(150%); backdrop-filter:blur(28px) saturate(150%); box-shadow:-30px 0 60px -30px rgba(0,0,0,.8), inset 1px 0 0 rgba(255,255,255,.06); color:var(--tx);
  transform:translateX(100%); transition:transform .34s var(--ease-drawer); overflow:auto}
.sheet.show{transform:none}
.sheet::backdrop{background:rgba(6,7,8,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); animation:fade .25s ease}
@keyframes fade{from{opacity:0}}
.sheet-in{padding:calc(var(--rb) + 18px) 28px 32px; display:flex; flex-direction:column; gap:14px; min-height:100%}
.bk-top{display:flex; justify-content:space-between; align-items:center; gap:12px}
.bk-when{font-weight:600; color:var(--acid)}
.x{border:0; background:var(--s2); color:var(--tx); min-height:40px; padding:0 16px; border-radius:999px; font-size:.86rem; font-weight:500; transition:transform .16s var(--ease-out)}
.x:active{transform:scale(.96)}
.bk-name{font-size:clamp(2rem,6vw,2.8rem)}
.bk-meta{font-size:.9rem; color:var(--dim)}
.bk-desc{color:var(--dim); max-width:44ch}
.bk-count{display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:16px; align-items:end; padding:18px; background:rgba(17,18,20,.7); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); border-radius:14px; margin:6px 0}
.digits{grid-row:1 / 3; display:flex; font-family:var(--disp); font-weight:600; letter-spacing:-.04em; font-size:4.8rem; line-height:1}
.dg{display:inline-block; position:relative; height:1em; overflow:hidden; width:.62em}
.dg span{position:absolute; inset:0; text-align:center; transition:transform .32s var(--ease-out), opacity .32s ease}
.bk-count-l{font-weight:600; align-self:end}
.dots{display:flex; gap:4px; margin-top:8px; align-self:start}
.dots i{width:6px; height:18px; border-radius:2px; background:var(--s3); transition:background-color .25s ease, transform .25s var(--ease-out)}
.dots i.f{background:var(--acid)}
.dots i.pop{transform:scaleY(1.35)}
.bk-form{display:grid; gap:14px; margin-top:4px}
.field label{display:block; font-size:.86rem; color:var(--dim); margin-bottom:6px}
.field input{width:100%; min-height:50px; border-radius:var(--r); border:1px solid var(--line-2); background:var(--bg); color:var(--tx); padding:0 14px; font-size:16px; transition:border-color .15s ease}
.field input:focus-visible{outline:none; border-color:var(--acid)}
.field input[aria-invalid="true"]{border-color:#FF8F7A}
.err{font-size:.8rem; color:#FFA594; margin-top:6px}
.first{display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; font-size:.95rem}
.first input{width:20px; height:20px; accent-color:var(--acid)}
.first b{margin-left:auto; font-family:var(--disp); font-weight:600; letter-spacing:-.02em; font-size:1.25rem}
.fine{font-size:.8rem; color:var(--dim)}
.fine.strong{color:var(--acid); font-weight:600}
#bkGo{position:relative}
#bkGo.busy{color:transparent}
#bkGo.busy::after{content:""; position:absolute; width:20px; height:20px; border-radius:50%; border:2px solid rgba(17,18,20,.25); border-top-color:var(--ink); animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bk-done{display:grid; gap:10px; padding:22px; border-radius:16px; background:linear-gradient(160deg,#E2FF6E,var(--acid) 55%,#BFE233); color:var(--ink); animation:pop .38s var(--ease-out) both}
.bk-done[hidden]{display:none}
.bk-done:focus{outline:none}
@keyframes pop{from{opacity:0; transform:scale(.94) translateY(8px)} to{opacity:1; transform:none}}
.bk-done-h{font-family:var(--disp); font-weight:600; letter-spacing:-.04em; font-size:2.2rem; line-height:.95}
.bk-code{font-weight:700; font-size:1.05rem}
.bk-done-p{color:#2c3310}
.bk-done .fine.strong{color:var(--ink)}
.bk-done .btn-line{color:var(--ink); box-shadow:inset 0 0 0 1px rgba(17,18,20,.4); margin-top:6px}

/* ASSISTANT */
.ask{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); z-index:var(--z-chat); border:0; border-radius:999px; background:var(--tx); color:var(--ink); min-height:48px; padding:0 20px; font-weight:600; font-size:.92rem;
  box-shadow:0 4px 8px rgba(0,0,0,.4); transition:transform .16s var(--ease-out), opacity .2s ease}
.ask:active{transform:scale(.96)}
.ask[aria-expanded="true"], body.nx-on .ask{opacity:0; pointer-events:none; transform:translateY(12px)}
.chat{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); z-index:var(--z-chat); width:min(370px, calc(100vw - 32px)); max-height:min(540px, calc(100svh - var(--rb) - 32px));
  background:rgba(34,37,42,.86); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); border-radius:16px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 8px 8px rgba(0,0,0,.45); transform-origin:100% 100%; transition:transform .22s var(--ease-out), opacity .18s ease}
.chat[hidden]{display:none}
.chat.enter{opacity:0; transform:scale(.95)}
.chat-top{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 12px 12px 18px; border-bottom:1px solid var(--line)}
.chat-top p{font-size:.84rem; color:var(--dim)}
.chat-top b{font-family:var(--disp); font-weight:700; letter-spacing:-.04em; color:var(--tx); font-size:1.15rem; margin-right:4px}
.chat-top .x{background:var(--s3)}
.chat-log{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:8px; min-height:120px}
.msg{max-width:85%; padding:9px 13px; border-radius:14px; font-size:.92rem; line-height:1.45; animation:pop .22s var(--ease-out) both}
.msg.bot{background:var(--s3); align-self:flex-start; border-bottom-left-radius:4px}
.msg.me{background:var(--acid); color:var(--ink); align-self:flex-end; border-bottom-right-radius:4px}
.msg.typing{color:var(--dim)}
.chat-sug{display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 12px}
.chat-sug button{border:1px solid var(--line-2); background:none; border-radius:999px; min-height:36px; padding:0 12px; font-size:.82rem; transition:transform .16s var(--ease-out)}
.chat-sug button:active{transform:scale(.97)}
.chat-in{display:flex; gap:8px; padding:12px; border-top:1px solid var(--line)}
.chat-in input{flex:1; min-width:0; min-height:44px; border-radius:999px; border:1px solid var(--line-2); background:var(--bg); padding:0 16px; font-size:16px}
.chat-in input:focus-visible{outline:none; border-color:var(--acid)}
.chat-send{border:0; border-radius:999px; background:var(--acid); color:var(--ink); font-weight:600; padding:0 16px; min-height:44px}

/* RESPONSIVE */
@media (max-width:1100px){
  .nav a{padding:10px 10px}
  .cl{grid-template-columns:minmax(0,1fr) 160px}
  .cl-meta{grid-column:1; grid-row:2}
  .cl-img{grid-column:2; grid-row:1 / 3; width:160px; height:160px}
  .pt{grid-template-columns:200px minmax(0,1fr)}
  .pt img{width:200px; height:240px}
  .said-pl{grid-column:1 / -1}
}
@media (max-width:860px){
  .tt-head{grid-template-columns:1fr}
  .tt-head p{justify-self:start}
  .grid{display:none}
  .days{display:flex; gap:6px; overflow-x:auto; margin:0 calc(-1 * var(--g)) 14px; padding:0 var(--g) 2px; scrollbar-width:none}
  .days::-webkit-scrollbar{display:none}
  .day{flex:none; border:0; background:var(--s1); color:var(--tx); border-radius:12px; min-width:58px; min-height:58px; padding:6px 10px; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; transition:background-color .15s ease, transform .16s var(--ease-out)}
  .day:active{transform:scale(.96)}
  .day b{font-family:var(--disp); font-weight:600; letter-spacing:-.02em; font-size:1rem}
  .day small{font-size:.74rem; color:var(--dim)}
  .day[aria-selected="true"]{background:var(--tx); color:var(--ink)}
  .day[aria-selected="true"] small{color:#44473f}
  .list{display:grid; gap:6px}
  .list .cell{display:grid; grid-template-columns:4.2rem minmax(0,1fr) auto; align-items:center; min-height:68px; gap:12px; padding:12px 14px}
  .list .gt{padding:0; font-size:1.25rem; color:var(--tx)}
  .list .cell.past .gt, .list .cell.mine .gt{color:inherit}
  .list .c-s{flex-direction:column; align-items:flex-end; gap:6px}
}
@media (max-width:760px){
  :root{--rb:28px}
  .top{gap:12px; padding:10px var(--g)}
  .nav{display:none}
  .lang{margin-left:auto}
  .hero{grid-template-columns:1fr; grid-template-rows:none; padding:0 var(--g) 28px; min-height:0}
  .hero-bg{inset:0 0 auto 0; height:min(70svh,560px)}
  .hero-bg img{object-position:68% 50%}
  .hero-bg::after{background:linear-gradient(0deg, var(--bg) 4%, rgba(17,18,20,.6) 40%, rgba(17,18,20,.1) 75%)}
  .big8{right:-22%; top:-2%; transform:none; font-size:min(56svh,100vw); -webkit-text-stroke:1.2px rgba(210,243,76,.38); animation:none}
  .hero-main{grid-column:1; grid-row:auto; padding:min(28svh,230px) 0 18px}
  .hero h1{font-size:clamp(2.5rem,12.4vw,3.4rem); max-width:none}
  .hero-p{margin-top:14px; font-size:1rem}
  .hero-act{margin-top:20px}
  .hero-act .btn{flex:1 1 auto; padding:0 18px}
  .next{grid-column:1; grid-row:auto; margin-top:12px; padding:14px 16px 4px}
  .nx{grid-template-columns:4rem minmax(0,1fr) auto; gap:10px}
  .nx-t{font-size:1.25rem}
  .nx-n{font-size:.95rem}
  .filters{flex-wrap:nowrap; overflow-x:auto; margin:24px calc(-1 * var(--g)) 14px; padding:0 var(--g) 2px; scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .fchip{flex:none}
  .said, .said-tt, .said-cl{margin-left:0}
  .cl{grid-template-columns:minmax(0,1fr) 96px; gap:12px 16px; padding:20px 0}
  .cl-img{width:96px; height:96px; grid-row:1}
  .cl-meta{grid-column:1 / -1}
  .plans-head{flex-direction:column; align-items:flex-start}
  .cmp{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cmp .corner{display:none}
  .cmp .rl{grid-column:1 / -1; padding:12px 12px 2px; border-bottom:0; font-size:.8rem}
  .cmp .ch{padding:14px 12px 12px}
  .cmp .ch b{font-size:1.05rem; overflow-wrap:anywhere}
  .cmp .cv{padding:4px 12px 12px; font-size:.86rem}
  .cmp .price{font-size:1.45rem}
  .cmp .cta{padding:10px 8px 14px}
  .cmp .cta .btn{min-height:44px; padding:0 8px; font-size:.82rem}
  .pt{grid-template-columns:1fr}
  .pt img{width:100%; height:220px}
  .studio{grid-template-columns:1fr}
  .studio-img{min-height:0; height:220px}
  .info{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr; padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .sheet{inset:auto 0 0 0; width:100%; height:auto; max-height:92svh; border-radius:18px 18px 0 0; transform:translateY(100%)}
  .sheet-in{padding:20px 20px calc(24px + env(safe-area-inset-bottom))}
  .chat{left:8px; right:8px; width:auto; bottom:calc(8px + env(safe-area-inset-bottom))}
  .ask{right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); padding:0 16px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important}
}
.first[hidden], .bk-form[hidden]{display:none}
