/* Tamta Gatsoeva / TG Esthetic Center — "Judge's Scorecard". tokens → base → components → pages → responsive.
   Fonts self-hosted (OFL): Noto Sans Georgian (display), FiraGO (text), Bodoni Moda (Latin numerals, prices, wordmark). */
@font-face{font-family:'Noto Sans Georgian';src:url(../assets/fonts/noto-sans-georgian-georgian.woff2) format('woff2');font-weight:300 600;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31}
@font-face{font-family:'FiraGO';src:url(../assets/fonts/firago-regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'FiraGO';src:url(../assets/fonts/firago-medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'FiraGO';src:url(../assets/fonts/firago-bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url(../assets/fonts/bodoni-moda-latin.woff2) format('woff2');font-weight:400 600;font-style:normal;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+2212}
@font-face{font-family:'Bodoni Moda';src:url(../assets/fonts/bodoni-moda-italic-latin.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}

:root{
  --ink:#141114;--ink-2:#221D22;--ivory:#F6F1EA;--paper:#EFE7DC;--sand:#E9E1D6;
  --gold:#C9A66B;--gold-dk:#7A5A28;--red:#A8102B;--red-dk:#870C22;--muted:#5C5257;--muted-l:#D9CFC2;--skin:#B68373;
  --line:1px solid var(--gold);--line-ink:2px solid var(--ink);
  --f-disp:'Noto Sans Georgian','FiraGO',system-ui,sans-serif;
  --f-text:'FiraGO','Noto Sans Georgian',system-ui,sans-serif;
  --f-num:'Bodoni Moda','FiraGO',Georgia,serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --max:1320px;--gutter:16px;--hdr:64px;--r:0px;
  --shadow:0 18px 40px -24px rgba(20,17,20,.45);
}
@media (min-width:768px){:root{--gutter:32px;--hdr:72px}}
@media (min-width:1280px){:root{--gutter:48px}}

/* base */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.65 var(--f-text);text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
img{height:auto;color:transparent}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.sec-hero :focus-visible,.sec-awards :focus-visible,.sec-course :focus-visible,.sec-chero :focus-visible,.ftr :focus-visible,.menu :focus-visible,.done :focus-visible{outline-color:var(--gold)}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--ivory);padding:10px 16px}
.skip:focus{left:8px}
.h1{font:300 clamp(36px,5.4vw,68px)/1.15 var(--f-disp)}
.h2{font:300 clamp(30px,3.8vw,52px)/1.2 var(--f-disp)}
.h3{font:400 clamp(22px,2.3vw,30px)/1.25 var(--f-disp)}
.h4{font:500 17px/1.4 var(--f-text)}
:lang(en) .h1,:lang(en) .h2,:lang(en) .sec-hero__h,:lang(en) .quote{font-family:var(--f-num);font-weight:400}
.kicker{font-size:14px;line-height:1.4;color:var(--gold-dk);margin-bottom:var(--s3)}
.kicker--gold{color:var(--gold)}
.muted{color:var(--muted)}
.small{font-size:14px}
.link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:15px;min-height:44px}
.link:hover{color:var(--red)}
.link--l{color:var(--ivory)}
.link--l:hover{color:var(--gold)}
mark.tbc{background:#F3E2B8;color:var(--ink);padding:0 4px}
.row-btns{display:flex;flex-wrap:wrap;gap:var(--s3)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid transparent;border-radius:var(--r);text-decoration:none;font:500 15px/1.3 var(--f-text);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .1s;position:relative;text-align:center}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.btn.is-loading{color:transparent;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .7s linear 3}
@keyframes spin{to{transform:rotate(360deg)}}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--red-dk)}
.btn--line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:var(--ivory)}
.btn--line-l{border-color:var(--gold);color:var(--ivory);background:transparent}
.btn--line-l:hover{background:var(--gold);color:var(--ink)}
.btn--ivory{background:var(--ivory);color:var(--ink)}
.btn--ivory:hover{background:var(--gold)}
.btn--sm{min-height:44px;padding:8px 18px;font-size:14px}
.btn--lg{min-height:56px;padding:16px 30px;font-size:16px}

/* wordmark */
.wm{display:inline-flex;flex-direction:column;line-height:1.05;text-decoration:none}
.wm__n{font:500 22px/1.05 var(--f-num);letter-spacing:.01em}
.wm__s{font:400 11px/1.4 var(--f-text);color:var(--gold-dk);letter-spacing:.08em;margin-top:3px}
.wm--light .wm__n{color:var(--ivory)}
.wm--light .wm__s{color:var(--gold)}
.wm--lg .wm__n{font-size:30px}

/* header */
.hdr{position:sticky;top:0;z-index:40;height:var(--hdr);background:var(--ivory);border-bottom:var(--line)}
.hdr__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s5)}
.hdr__home{text-decoration:none;min-height:44px;display:flex;align-items:center}
.hdr__nav{display:none;gap:clamp(16px,2vw,32px)}
.hdr__nav a{text-decoration:none;font-size:15px;padding:10px 0;border-bottom:1px solid transparent}
.hdr__nav a:hover,.hdr__nav a[aria-current="page"]{border-bottom-color:var(--red)}
.hdr__end{display:flex;align-items:center;gap:var(--s3)}
.hdr__cta{display:none}
.lang{display:flex}
.lang button{background:none;border:0;min-width:44px;min-height:44px;font-size:13px;color:var(--muted);cursor:pointer}
.lang button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.lang button:hover{color:var(--red)}
.burger{background:none;border:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.menu{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--ivory);padding:var(--s4) var(--gutter);display:flex;flex-direction:column;gap:var(--s6);overflow:auto}
.menu__top{display:flex;justify-content:space-between;align-items:center}
.menu__x{background:none;border:0;color:var(--ivory);width:44px;height:44px;cursor:pointer}
.menu__nav{display:flex;flex-direction:column}
.menu__nav a{font:300 28px/1.3 var(--f-disp);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(201,166,107,.35)}
.menu__end{display:flex;flex-direction:column;gap:var(--s3)}
.menu .lang button{color:var(--muted-l)}
.menu .lang button[aria-pressed="true"]{color:var(--ivory)}
body.is-locked{overflow:hidden}

/* scoresheet */
.sheet{border-top:var(--line-ink)}
.sheet__cols{display:none}
.srow{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"n b p" "n m go";gap:6px 12px;padding:18px 0;border-bottom:var(--line);position:relative;align-items:start}
.srow__n{grid-area:n;font:400 18px/1.3 var(--f-num);color:var(--gold-dk)}
.srow__b{grid-area:b;min-width:0}
.srow__h{display:flex;align-items:center;gap:12px}
.srow__t{font:500 17px/1.35 var(--f-text)}
.srow__d{margin-top:4px;color:var(--muted);font-size:14px;line-height:1.55}
.srow__note{margin-top:4px;font-size:13px;color:var(--gold-dk)}
.srow__who{margin-top:4px;font-size:13px;color:var(--muted)}
.srow__m{grid-area:m;font-size:13px;color:var(--muted);align-self:center}
.srow__p{grid-area:p;text-align:right}
.srow__go{grid-area:go;justify-self:end}
.srow:hover{background:linear-gradient(90deg,transparent,rgba(201,166,107,.09))}
.score{display:block;font:400 clamp(26px,3vw,44px)/1 var(--f-num);white-space:nowrap}
.score--md{font-size:28px}
.score--word{font:500 15px/1.3 var(--f-text);white-space:normal}
.score__d{display:block;margin-top:6px;font-size:12px;color:var(--gold-dk);text-decoration:none}
a.score__d:hover{text-decoration:underline}
.ros{flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--gold);border:1px solid var(--gold);box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--gold);display:grid;place-items:center;position:relative}
.ros b{font:500 18px/1 var(--f-num)}
.ros::before,.ros::after{content:"";position:absolute;bottom:-12px;width:10px;height:16px;background:var(--red);z-index:-1}
.ros::before{left:12px;transform:skewY(18deg)}
.ros::after{right:12px;transform:skewY(-18deg)}
.ros__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sheet--cat{margin-bottom:var(--s8);scroll-margin-top:calc(var(--hdr) + 16px)}
.sheet__h{display:flex;align-items:baseline;gap:var(--s4);padding:var(--s3) 0}
.sheet__no{font:400 22px/1 var(--f-num);color:var(--gold-dk)}
.sheet--cat .sheet__h{border-bottom:var(--line-ink);margin-bottom:0}
.sheet--cat{border-top:0}
.sheet__note{padding-top:var(--s3)}

/* tab (hero scorecard) */
.tab{position:absolute;left:var(--s4);bottom:var(--s4);width:min(300px,calc(100% - 32px));background:var(--ivory);color:var(--ink);border:var(--line);z-index:2}
.tab__r{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center}
.tab__r>*{padding:8px 12px}
.tab__r>*+*{border-left:var(--line)}
.tab__r--h{font-size:12px;color:var(--gold-dk);border-bottom:var(--line)}
.tab__w{font-size:15px}
.tab__p{font:500 30px/1 var(--f-num);color:var(--red);text-align:center}
.tab__f{font-size:12px;color:var(--muted);padding:6px 12px;border-top:var(--line)}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);border-top:1px solid rgba(201,166,107,.5);padding-top:var(--s4)}
.facts dt{font:400 clamp(26px,3vw,36px)/1.1 var(--f-num);color:var(--gold)}
.facts__w{font:300 17px/1.3 var(--f-disp)!important}
@media (max-width:400px){.facts__w{font-size:14px!important;overflow-wrap:anywhere}}
.facts dd{font-size:13px;line-height:1.4;color:var(--sand);margin-top:4px}

/* cards & lists */
.aws{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.aw{border-top:var(--line);padding-top:var(--s4);text-decoration:none;display:flex;flex-direction:column;gap:6px;min-height:44px}
.aw__k{font:400 clamp(28px,3vw,40px)/1 var(--f-num);color:var(--gold)}
.aw p{font-size:15px;line-height:1.45}
.aw__s{font-size:12px;color:var(--gold)}
.aw:hover p{text-decoration:underline;text-decoration-color:var(--gold)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);padding:6px var(--gutter) var(--s4);margin-inline:calc(var(--gutter) * -1);position:relative}
.rail>*{scroll-snap-align:start}
.work{position:relative;min-width:0}
.work__b{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;position:relative}
.work img{width:100%;aspect-ratio:4/5;object-fit:cover;outline:var(--line);outline-offset:4px;transition:outline-offset .2s}
.work__b:hover img{outline-offset:1px}
.work figcaption{margin-top:12px;font-size:13px;line-height:1.4;color:var(--muted)}
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s4);min-height:600px;padding-bottom:var(--s8)}
.works__empty{padding-bottom:var(--s7)}
.reel{position:relative;min-width:0}
.reel video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:var(--ink-2);outline:var(--line);outline-offset:6px}
.reel figcaption{margin-top:14px;font-size:13px;color:var(--muted)}
.reels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);max-width:760px}
.reels .reel:first-child video{aspect-ratio:3/4}
.quote{font:300 clamp(22px,2.6vw,34px)/1.4 var(--f-disp)}
.faq{border-top:var(--line)}
.faq:last-child{border-bottom:var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:500;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 26px/1 var(--f-num);color:var(--gold-dk)}
.faq[open] summary::after{content:"–"}
.faq p{padding:0 0 18px;color:var(--muted)}
.ex{display:block;border-top:var(--line-ink);padding-top:var(--s4);text-decoration:none}
.ex__k{font:400 14px/1 var(--f-num);color:var(--gold-dk)}
.ex__t{font:500 18px/1.35 var(--f-text);margin:8px 0}
.ex p{font-size:14px;color:var(--muted)}
.ex:hover .ex__t{color:var(--red)}
.exs{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);margin-top:var(--s5)}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
.chip{flex:none;min-height:44px;padding:8px 18px;border:var(--line);background:transparent;cursor:pointer;font-size:14px;white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.band{display:flex;flex-direction:column;gap:var(--s5);background:var(--ink);color:var(--ivory);padding:var(--s7) var(--s5);margin-block:var(--s8);max-width:calc(var(--max) - var(--gutter) * 2)}
.band p{color:var(--sand);margin-top:8px}
.ticks li{border-top:var(--line);padding:12px 0}
.contacts{display:flex;flex-wrap:wrap;gap:var(--s3)}
.dl>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:14px 0;border-top:var(--line)}
.dl dt{font-size:13px;color:var(--gold-dk)}
.dl a{text-decoration:none;border-bottom:1px solid var(--gold)}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:80;background:var(--ink);color:var(--ivory);border:var(--line);padding:12px 18px;font-size:14px;max-width:calc(100% - 32px)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(20,17,20,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 16px 24px}
.lb img{max-height:80vh;width:auto;outline:var(--line);outline-offset:6px}
.lb__c{color:var(--sand);margin-top:16px;font-size:14px}
.lb__x{position:absolute;top:8px;right:8px;width:48px;height:48px;background:none;border:0;color:var(--ivory);font-size:30px;cursor:pointer}

/* forms */
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s4)}
.fld>span{font-size:13px;color:var(--muted)}
.fld input,.fld textarea{width:100%;min-height:50px;padding:12px 14px;border:var(--line);background:#fff;border-radius:var(--r);font-size:16px}
.fld input:hover,.fld textarea:hover{border-color:var(--gold-dk)}
.fld input:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.fld input[aria-invalid="true"]{border:2px solid var(--red)}
.fld__err{font-style:normal;font-size:13px;color:var(--red)}
.chk{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--ink)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative;cursor:pointer}
.pill input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pill span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:var(--line);font-size:14px}
.pill input:checked+span{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.pill input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.pill:hover span{border-color:var(--ink)}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:var(--s3);font-weight:500}
.done{background:var(--ink);color:var(--ivory);border:var(--line);padding:var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s4)}
.done p{color:var(--sand)}

/* footer + sticky */
.ftr{background:var(--ink);color:var(--sand);padding:var(--s8) 0 calc(var(--s8) + 72px);margin-top:var(--s9)}
.ftr__in{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6)}
.ftr__brand p{margin-top:var(--s4);font-size:14px}
.ftr__links{display:flex;flex-direction:column}
.ftr__links a{text-decoration:none;font-size:15px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(201,166,107,.25)}
.ftr__links a:hover{color:var(--gold)}
.ftr__proto p{font-size:13px;margin-top:var(--s3);color:var(--muted-l)}
.ribbon{display:inline-block;border:var(--line);color:var(--gold);padding:4px 10px;font-size:12px}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--ivory);border-top:var(--line);transform:translateY(110%);transition:transform .25s}
.sticky.is-on{transform:none}
.sticky .btn{min-height:50px;padding-inline:8px}

/* ---------- pages */
.sec-head{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s6)}
.sec-head__note{max-width:440px;font-size:15px}
/* hero */
.sec-hero{position:relative;background:var(--ink);color:var(--ivory);display:grid;grid-template-columns:minmax(0,1fr)}
.sec-hero__media{position:relative;grid-row:1;aspect-ratio:4/5;max-height:calc(100svh - var(--hdr) - 40px);min-height:420px;overflow:hidden;background:var(--ink-2)}
.sec-hero__poster,.sec-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sec-hero__media video{opacity:0;transition:opacity .6s}
.sec-hero__media video.is-on{opacity:1}
.sec-hero__play{position:absolute;right:16px;top:16px;z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:rgba(20,17,20,.6);color:var(--ivory);cursor:pointer;display:grid;place-items:center}
.sec-hero__txt{grid-row:2;padding:var(--s6) var(--gutter) var(--s7);display:flex;flex-direction:column;gap:var(--s4)}
.sec-hero__h{font:300 clamp(34px,6.2vw,84px)/1.14 var(--f-disp);max-width:15ch}
.sec-hero__lead{font-size:17px;color:var(--sand);max-width:560px}
.sec-hero__cta{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin-top:var(--s2)}
.sec-hero .facts{margin-top:var(--s4)}
.sec-sheet{padding-top:var(--s9);padding-bottom:var(--s7)}
.sec-sheet .link{margin-top:var(--s5)}
.sec-awards{background:var(--ink);color:var(--ivory);padding:var(--s8) 0}
.sec-work{padding-top:var(--s9)}
.sec-me{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);padding-top:var(--s9);padding-bottom:var(--s8)}
.sec-me__img img{width:100%;aspect-ratio:1/1;object-fit:cover;outline:var(--line);outline-offset:8px}
.sec-me__txt{display:flex;flex-direction:column;gap:var(--s4)}
.sec-me__reel{max-width:320px}
.sec-course{display:grid;grid-template-columns:minmax(0,1fr);background:var(--ink);color:var(--ivory)}
.sec-course__txt{padding:var(--s8) var(--gutter);display:flex;flex-direction:column;gap:var(--s5);align-items:flex-start}
.sec-course__m{color:var(--sand);font-size:15px}
.sec-course__img img{width:100%;height:100%;max-height:640px;object-fit:cover}
.sec-extra{padding-top:var(--s9)}
.sec-faq{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5);padding-top:var(--s9)}
.sec-visit{padding-top:var(--s9)}
.vcard{display:grid;grid-template-columns:minmax(0,1fr);border:var(--line)}
.vcard__txt{padding:var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s3)}
.vcard__tel a{font:400 clamp(24px,2.6vw,32px)/1.2 var(--f-num);text-decoration:none}
.vcard__map,.vs__map{min-height:300px;background:var(--sand)}
.vcard__map iframe,.vs__map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}
/* inner pages */
.sec-ph{padding-top:var(--s8);padding-bottom:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}
.sec-ph__note{max-width:720px}
.sheets{min-height:900px}
.lead{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);padding-bottom:var(--s8)}
.lead__img{display:flex;flex-direction:column;gap:var(--s5)}
.lead__img img{width:100%;aspect-ratio:1/1;object-fit:cover;outline:var(--line);outline-offset:8px}
.lead__b{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start}
.lead__k{margin-top:var(--s5)}
.jfs{width:100%;margin-bottom:var(--s5)}
.jf{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:var(--line);min-height:56px;padding:8px 0}
.jf__k{font:500 20px/1 var(--f-num);color:var(--gold-dk)}
.jf--placed .jf__k{color:var(--red)}
.jf__k--dot::before{content:"";display:block;width:8px;height:8px;border:1px solid var(--gold-dk);transform:rotate(45deg);margin-left:6px}
.jf__s{font-size:12px;color:var(--gold-dk);min-height:44px;display:flex;align-items:center}
.member{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s4);border-top:var(--line-ink);padding-top:var(--s6);align-items:start}
.member>.btn{grid-column:1/-1;justify-self:start}
.member__mono{width:72px;height:72px;border:var(--line);display:grid;place-items:center;font:400 34px/1 var(--f-num);color:var(--gold-dk)}
.sec-reels{padding-top:var(--s6)}
.sec-reels .h3{margin-bottom:var(--s5)}
.sec-chero{display:grid;grid-template-columns:minmax(0,1fr);background:var(--ink);color:var(--ivory)}
.sec-chero__txt{padding:var(--s8) var(--gutter);display:flex;flex-direction:column;gap:var(--s5);align-items:flex-start}
.sec-chero__reel{padding:0 var(--gutter) var(--s7);max-width:420px}
.sec-chero__reel video{aspect-ratio:720/902}
.sec-chero__reel figcaption{color:var(--sand)}
.sec-prog{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s7);padding-top:var(--s8)}
.bonus{margin-top:var(--s4);color:var(--gold-dk)}
.models{border:var(--line);padding:var(--s5);align-self:start;display:flex;flex-direction:column;gap:8px}
.mrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:var(--line);padding:10px 0}
.models a{text-decoration:none;border-bottom:1px solid var(--gold);white-space:nowrap}
.sec-grad{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);padding-top:var(--s8)}
.grad{max-width:380px}
.grad img{width:100%;aspect-ratio:720/1280;object-fit:cover;outline:var(--line);outline-offset:6px}
.grad figcaption{margin-top:14px;font-size:13px;color:var(--muted)}
.grad__reel{max-width:300px}
.sec-apply{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);padding-top:var(--s8);border-top:var(--line-ink);margin-top:var(--s8)}
.sec-apply>div:first-child{display:flex;flex-direction:column;gap:var(--s4)}
.enrol{display:flex;flex-direction:column;gap:var(--s5)}
.enrol__two{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--s4)}
.enrol .btn--lg{width:100%}
/* booking */
.bk{display:flex;flex-direction:column;gap:var(--s5);min-height:900px}
.bk__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:var(--line-ink);counter-reset:st}
.bk__steps li{counter-increment:st;padding:8px 0;font-size:12px;color:var(--muted)}
.bk__steps li::before{content:counter(st) " ";font-family:var(--f-num);color:var(--gold-dk)}
.bk__steps li.is-done{color:var(--gold-dk)}
.bk__steps li.is-done::after{content:" ✓"}
.bk__form{display:flex;flex-direction:column;gap:var(--s7)}
.bk__svc{display:flex;flex-direction:column;gap:var(--s3)}
.bk__cat{border:var(--line)}
.bk__cat summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;gap:10px;align-items:baseline;min-height:48px;font-weight:500}
.bk__cat summary::-webkit-details-marker{display:none}
.bk__cat summary span{font:400 15px/1 var(--f-num);color:var(--gold-dk)}
.opt{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:4px 12px;padding:12px 14px;border-top:var(--line);cursor:pointer;position:relative;align-items:center}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.opt__t{font-size:15px;line-height:1.4}
.opt__t b{font:500 14px/1 var(--f-num);color:var(--red);margin-left:6px}
.opt__m{grid-column:1;font-size:13px;color:var(--muted)}
.opt__dot{grid-column:2;grid-row:1/3;width:22px;height:22px;border-radius:50%;border:1px solid var(--ink)}
.opt:hover{background:rgba(201,166,107,.1)}
.opt:has(input:checked){background:var(--ink);color:var(--ivory)}
.opt:has(input:checked) .opt__m{color:var(--gold)}
.opt:has(input:checked) .opt__dot{border:6px solid var(--gold)}
.opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:-2px}
.bk__who{margin-top:var(--s3);font-size:14px;color:var(--muted)}
.bk__days{display:grid;grid-auto-flow:column;grid-auto-columns:64px;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;scroll-padding-left:0;position:relative}
.day{height:68px;border:var(--line);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;scroll-snap-align:start}
.day b{font:500 22px/1.1 var(--f-num)}
.day:hover{border-color:var(--ink)}
.day[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.bk__wins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
.win{min-height:52px;border:var(--line);background:transparent;cursor:pointer;font-size:15px}
.win:hover:not(:disabled){border-color:var(--ink)}
.win[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.win:disabled{border-color:var(--muted-l);color:#8E8389;text-decoration:line-through;cursor:not-allowed}
.bk__sum{border-top:var(--line-ink);padding-top:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.sum>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:4px 0;font-size:14px}
.sum dt{color:var(--gold-dk)}
.bk__go{width:100%}
.mg{display:flex;flex-direction:column;gap:var(--s4);align-items:flex-start;min-height:300px}
.mg__card{border:var(--line);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4);width:100%;max-width:640px}
.vs{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5)}
.vs__sign img{width:100%;max-width:360px;aspect-ratio:9/16;object-fit:cover;outline:var(--line);outline-offset:6px}
.vs__sign figcaption{margin-top:12px;font-size:13px;color:var(--muted)}
.nf{min-height:60vh;justify-content:center}
.nf__n{font:400 clamp(80px,14vw,160px)/1 var(--f-num);color:var(--gold-dk)}

/* ---------- responsive */
@media (max-width:859px){.srow__t,.opt__t{overflow-wrap:break-word;min-width:0}.srow__h{flex-wrap:wrap;gap:8px 12px}.srow__h .ros{width:40px;height:40px;margin-bottom:14px}.srow__h .ros b{font-size:15px}.srow__h .ros::before,.srow__h .ros::after{width:8px;height:13px;bottom:-10px}.srow__h .ros::before{left:8px}.srow__h .ros::after{right:8px}}
@media (max-width:767px){
  .sec-hero__media,.sec-hero__txt{grid-area:1/1}
  .sec-hero__media{aspect-ratio:auto;height:calc(100svh - var(--hdr));min-height:580px;max-height:820px}
  .sec-hero__txt{align-self:end;z-index:2;padding-top:140px;background:linear-gradient(rgba(20,17,20,0),rgba(20,17,20,.9) 34%)}
  .sec-hero .facts{display:none}
  .sec-hero__lead{font-size:15px}
  .tab{top:var(--s4);bottom:auto;width:auto;max-width:calc(100% - 96px)}
  .tab__r--h,.tab__f{display:none}
  .tab__r{grid-template-columns:minmax(0,1fr) 48px}
  .tab__w{font-size:13px}.tab__p{font-size:22px}
}
@media (min-width:480px){.sec-hero__cta{grid-template-columns:repeat(2,max-content)}.aws{gap:var(--s6)}.rail{grid-auto-columns:200px}}
@media (min-width:768px){
  .works{grid-template-columns:repeat(3,minmax(0,1fr))}
  .exs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sec-head{flex-direction:row;justify-content:space-between;align-items:flex-end}
  .srow{grid-template-columns:56px minmax(0,1fr) 110px 200px 130px;grid-template-areas:"n b m p go";align-items:center;min-height:100px;padding:20px 0}
  .srow__n{font-size:22px}
  .srow__t{font-size:19px}
  .srow__p{text-align:left}
  .sheet__cols{display:grid;grid-template-columns:56px minmax(0,1fr) 110px 200px 130px;font-size:13px;color:var(--gold-dk);border-bottom:var(--line);padding:10px 0}
  .ros{width:60px;height:60px}.ros b{font-size:21px}
  .band{flex-direction:row;justify-content:space-between;align-items:center;padding:var(--s7)}
  .enrol__two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl>div{grid-template-columns:200px minmax(0,1fr)}
  .member{grid-template-columns:120px minmax(0,1fr) auto;gap:var(--s6);align-items:center}
  .member>.btn{grid-column:auto}
  .member__mono{width:120px;height:120px;font-size:48px}
  .ftr__in{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr)}
  .sticky{display:none}
  .ftr{padding-bottom:var(--s8)}
  .tab{left:var(--s5);bottom:var(--s5)}
}
@media (min-width:1024px){
  .hdr__nav{display:flex}.hdr__cta{display:inline-flex}.burger{display:none}
  .sec-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:min(860px,calc(100svh - var(--hdr)))}
  .sec-hero__txt{grid-row:1;grid-column:1;padding:var(--s9) var(--s8) var(--s7) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));justify-content:center}
  .sec-hero__media{grid-row:1;grid-column:2;aspect-ratio:auto;max-height:none;margin:var(--s6) var(--s7) var(--s6) 0;overflow:visible}
  .sec-hero__poster,.sec-hero__media video{outline:var(--line);outline-offset:10px}
  .tab{left:-56px;bottom:var(--s8)}
  .aws{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rail{grid-auto-flow:row;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}
  .works{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sec-me{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:var(--s8);align-items:center}
  .sec-me__reel{max-width:none}
  .sec-course{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sec-course__txt{padding:var(--s9) var(--s8) var(--s9) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}
  .sec-faq{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s8)}
  .vcard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .vcard__txt{padding:var(--s7)}
  .lead{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8)}
  .sec-chero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
  .sec-chero__txt{padding:var(--s9) var(--s8) var(--s9) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}
  .sec-chero__reel{padding:var(--s7) var(--s8) var(--s7) 0}
  .sec-prog{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sec-grad{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end}
  .sec-apply{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8)}
  .bk__form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 340px;gap:var(--s6) var(--s7);align-items:start}
  .bk__form>.bk__f:nth-of-type(1){grid-column:1;grid-row:1/4}
  .bk__form>.bk__f:nth-of-type(2){grid-column:2;grid-row:1}
  .bk__form>.bk__f:nth-of-type(3){grid-column:2;grid-row:2}
  .bk__form>.bk__f:nth-of-type(4){grid-column:2;grid-row:3}
  .bk__sum{grid-column:3;grid-row:1/4;position:sticky;top:calc(var(--hdr) + 24px)}
  .bk__days{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-columns:auto;overflow:visible}
  .vs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .vs__map{grid-column:2;grid-row:1/4;min-height:460px}
  .vs__map iframe{min-height:460px}
}
@media (min-width:1600px){:root{--max:1440px}}
@media (min-width:1920px){.sec-hero{max-width:1920px;margin-inline:auto}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---- production additions (lightweight CMS build) ---- */
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:13px;color:var(--muted);text-decoration:none}
.lang a[aria-current="true"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.lang a:hover{color:var(--red)}
.menu .lang a{color:var(--muted-l)}
.menu .lang a[aria-current="true"]{color:var(--ivory)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.day:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.day:disabled:hover{border-color:var(--gold)}
.prose{max-width:720px;padding-bottom:64px}.prose p{margin:0 0 1em;line-height:1.7}
.member__mono--img{padding:0;overflow:hidden}.member__mono--img img{width:100%;height:100%;object-fit:cover;display:block}
.ftr__proto a{color:inherit;text-decoration:underline;text-underline-offset:3px}
