.itemview__fact dt{font-family:var(--font-mono);font-size:0.66rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--muted-deep)}.itemview__fact dd{margin:0;font-weight:600}.setrow{display:grid;gap:clamp(0.85rem,2vw,1.4rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.setrow__link{display:grid;gap:var(--s-2);padding:var(--s-2);border:var(--rule);background:var(--bg-raised);transition:border-color 0.2s var(--ease)}.setrow__link:hover{border-color:var(--accent)}.setrow__item.is-current .setrow__link{border-color:var(--accent);background:var(--accent-wash)}.setrow__frame{display:block;aspect-ratio:4 / 5;overflow:hidden;background:var(--bg-deep);border:1px solid var(--line)}.setrow__frame img{width:100%;height:100%;object-fit:contain}.setrow__label{font-family:var(--font-mono);font-size:0.66rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--muted);text-align:center;padding-bottom:var(--s-1)}.setrow__item.is-current .setrow__label{color:var(--accent)}@media (min-width:60em){.itemview__layout{grid-template-columns:1.35fr 0.65fr}}@media (max-width:47.99em){.lightbox{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border:0}.lightbox__shell{max-height:100vh}.lightbox__stage{grid-template-columns:1fr;padding:var(--s-2)}.lightbox__step{display:none}.lightbox__image{max-height:54vh}.lightbox__footer{flex-direction:column;align-items:stretch;gap:var(--s-3)}.lightbox__hint{justify-content:center}}@media (prefers-reduced-motion:reduce){.plate--skeleton .plate__frame,.lightbox__loading{animation:none}.plate__link:hover .plate__image{transform:none}}.lightbox__frame{width:fit-content;max-width:100%;margin-inline:auto}.section--portfolio{padding-top:clamp(1.75rem,4vw,3rem)}.lightbox__hint--touch{display:none}@media (max-width:47.99em){.lightbox__hint--keys{display:none}.lightbox__hint--touch{display:flex;justify-content:center}}.filterbar::after{content:"";position:absolute;top:0;right:0;bottom:0;width:2.5rem;background:linear-gradient(to right,transparent,var(--bg-deep));pointer-events:none}@media (min-width:66em){.filterbar::after{display:none}}.book{padding-block:clamp(2.5rem,6vw,4.5rem)}.book__head{max-width:40rem;margin-bottom:var(--s-5,2rem)}.book__title{font-size:var(--step-4,2.4rem);font-weight:900;text-transform:uppercase;line-height:1;margin:.4rem 0 .6rem}.book__lede{color:var(--muted,#a9b0b8)}.book__progress{display:flex;gap:.5rem;list-style:none;padding:0;margin:0 0 var(--s-5,2rem);counter-reset:none;flex-wrap:wrap}.book__progress li{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-deep,#6b737c);padding:.45rem .7rem;border:1px solid var(--line,#2a323b)}.book__progress li span{color:inherit;margin-right:.35rem}.book__progress li.is-current{color:var(--text,#f2f2f2);border-color:var(--accent,#c8a15a)}.book__progress li.is-done{color:var(--accent,#c8a15a)}.book__layout{display:grid;gap:var(--s-5,2rem);align-items:start}@media (min-width:60em){.book__layout{grid-template-columns:minmax(0,1fr) 20rem}.book__summary{position:sticky;top:6rem}}.book__step-title{font-size:var(--step-2,1.5rem);font-weight:800;text-transform:uppercase;margin:0 0 var(--s-4,1.25rem)}.book__group{margin-bottom:var(--s-5,2rem)}.book__group-title{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent,#c8a15a);margin:var(--s-4,1.25rem) 0 .75rem}.book__grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.book-option{display:grid;gap:.35rem;text-align:left;padding:1rem 1.1rem;background:var(--surface,#151a20);color:var(--text,#f2f2f2);border:1px solid var(--line,#2a323b);cursor:pointer;font:inherit;transition:border-color .2s,transform .2s}.book-option:hover,.book-option:focus-visible{border-color:var(--accent,#c8a15a);transform:translateY(-2px)}.book-option.is-selected{border-color:var(--accent,#c8a15a);box-shadow:inset 3px 0 0 var(--accent,#c8a15a)}.book-option__title{font-weight:700;line-height:1.3}.book-option__meta{font-family:var(--font-mono);font-size:.75rem;color:var(--muted,#a9b0b8);letter-spacing:.06em}.book-option--any .book-option__title{color:var(--accent,#c8a15a)}.book__days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:var(--s-3,1rem);scroll-snap-type:x mandatory}.book-day{flex:0 0 auto;display:grid;justify-items:center;min-width:4.25rem;padding:.6rem .5rem;background:var(--surface,#151a20);color:var(--text,#f2f2f2);border:1px solid var(--line,#2a323b);cursor:pointer;font:inherit;scroll-snap-align:start}.book-day.is-selected{border-color:var(--accent,#c8a15a);background:rgba(200,161,90,.12)}.book-day__dow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#a9b0b8)}.book-day__md{font-weight:700}.book__times{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}.book-time{padding:.7rem .4rem;background:var(--surface,#151a20);color:var(--text,#f2f2f2);border:1px solid var(--line,#2a323b);cursor:pointer;font:inherit;font-weight:600}.book-time:hover,.book-time:focus-visible,.book-time.is-selected{border-color:var(--accent,#c8a15a)}.book-time.is-suggested{box-shadow:inset 0 -2px 0 var(--accent,#c8a15a)}.book__more{margin-top:var(--s-4,1.25rem)}.book__form{display:grid;gap:1rem;max-width:34rem}.book__form-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.book-field{display:grid;gap:.35rem}.book-field__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#a9b0b8)}.book-field__input{width:100%;padding:.8rem .9rem;background:var(--bg-deep,#08090b);color:var(--text,#f2f2f2);border:1px solid var(--line-strong,#3a434d);font:inherit;font-size:1rem}.book-field__input:focus{outline:2px solid var(--accent,#c8a15a);outline-offset:1px}.book__policy{font-size:.85rem;color:var(--muted,#a9b0b8);border-top:1px solid var(--line,#2a323b);padding-top:.75rem}.book__policy summary{cursor:pointer;color:var(--text,#f2f2f2)}.book__submit{justify-self:start}.book__notice{padding:.8rem 1rem;border-left:3px solid var(--accent,#c8a15a);background:rgba(200,161,90,.08);margin:0 0 var(--s-4,1.25rem)}.book__status{color:var(--muted,#a9b0b8)}.book__back{margin-top:var(--s-5,2rem);background:none;border:0;color:var(--muted,#a9b0b8);font:inherit;cursor:pointer;padding:0}.book__back:hover{color:var(--text,#f2f2f2)}.book__summary{border:1px solid var(--line-strong,#3a434d);padding:1.1rem 1.2rem;background:var(--surface,#151a20);display:grid;gap:.8rem}.book__summary-row{display:grid;grid-template-columns:1fr auto;gap:.2rem .75rem}.book__summary-label{grid-column:1 / -1;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-deep,#6b737c)}.book__summary-value{font-weight:600}.book__change{background:none;border:0;color:var(--accent,#c8a15a);font:inherit;font-size:.8rem;cursor:pointer;padding:0;align-self:start}.book__recap{list-style:none;padding:0;margin:0 0 var(--s-4,1.25rem);display:grid;gap:.35rem;font-weight:600}.book__call{display:inline-block;margin-left:1rem}.sms-form{max-width:38rem;margin-bottom:var(--s-6,2.5rem)}.sms-consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:.92rem;line-height:1.55;padding:.9rem 1rem;border:1px solid var(--line,#2a323b);background:var(--surface,#151a20);cursor:pointer}.sms-consent input{width:1.2rem;height:1.2rem;margin-top:.15rem;accent-color:var(--accent,#c8a15a)}.sms-form__fine{font-size:.82rem;line-height:1.55;color:var(--muted,#a9b0b8);margin:0}.sms-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.sms-done{padding:1.25rem 1.4rem;border-left:3px solid var(--accent,#c8a15a);background:rgba(200,161,90,.08);margin-bottom:var(--s-6,2.5rem)}.book-welcome{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:1rem 1.2rem;margin-bottom:var(--s-5,2rem);border:1px solid var(--line-strong,#3a434d);background:var(--surface,#151a20)}.book-welcome__hi{margin:0;font-weight:700}.book-welcome__or{color:var(--muted,#a9b0b8);font-size:.9rem}.book-welcome__note{flex-basis:100%;margin:.2rem 0 0;color:var(--muted,#a9b0b8);font-size:.92rem}.book__times--quick{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin-bottom:var(--s-4,1.25rem)}.book-time--quick{border-color:var(--accent,#c8a15a);text-align:left;padding:.8rem 1rem}@media (max-width:40em){.book-welcome{flex-direction:column;align-items:stretch}.book-welcome__usual{width:100%}}.book-for{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem}.book-for__q{flex-basis:100%}.book-for__opt{padding:.65rem 1rem;background:var(--surface,#151a20);color:var(--text,#f2f2f2);border:1px solid var(--line,#2a323b);cursor:pointer;font:inherit;font-weight:600}.book-for__opt.is-selected{border-color:var(--accent,#c8a15a);background:rgba(200,161,90,.12)}.book-for__other{display:grid;gap:.75rem;padding:1rem;border-left:3px solid var(--accent,#c8a15a);background:rgba(200,161,90,.05)}.book-for__other[hidden]{display:none}.book-for__hint{margin:0;color:var(--muted,#a9b0b8);font-size:.9rem}:root{--font-display:'Oswald','Arial Narrow',system-ui,sans-serif;--font-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;--accent-deep:#6f5626;--leaf:linear-gradient(120deg,var(--accent-deep) 0%,var(--accent) 22%,var(--accent-bright) 46%,var(--accent) 62%,var(--accent-deep) 100%);--edge:inset 0 1px 0 rgba(255,255,255,0.05)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}@media print{body::before{display:none}}:root{--bg:#050506;--bg-deep:#000000;--bg-raised:#0b0b0d;--surface:#121215;--surface-2:#1a1a1f;--line:#1f1f25;--line-strong:#2e2e36;--line-accent:rgba(214,176,100,0.45);--text:#ffffff;--text-dim:#e4e4e9;--muted:#a6a6b0;--muted-deep:#7a7a84;--accent:#d6b064;--accent-bright:#ecc987;--accent-deep:#7a5e29;--accent-ink:#120e05;--accent-wash:rgba(214,176,100,0.10);--fade:linear-gradient(90deg,rgba(214,176,100,0) 0%,rgba(214,176,100,0.42) 50%,rgba(214,176,100,0) 100%)}body{background-color:var(--bg)}.masthead{background-color:rgba(5,5,6,0.92)}.masthead.is-scrolled{background-color:rgba(0,0,0,0.97);border-bottom-color:rgba(214,176,100,0.28)}.mapband__card{background:rgba(5,5,6,0.92)}.button--accent{background:var(--leaf);background-size:200% 100%;background-position:0% 50%;transition:background-position 0.6s var(--ease),color 0.18s var(--ease),transform 0.18s var(--ease)}.button--accent:hover{background:var(--leaf);background-size:200% 100%;background-position:100% 50%}.hero__line:nth-child(2),.closer__statement em{background:var(--leaf);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow__text{color:var(--accent)}.eyebrow__rule{background:var(--leaf)}.section{border-top:0;position:relative}.section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--shell),100%);height:1px;background:var(--fade);pointer-events:none}.pagehead,.closer,.footer{position:relative}.pagehead{border-bottom:0}.closer,.footer{border-top:0}.pagehead::after,.closer::before,.footer::before{content:'';position:absolute;left:0;right:0;height:1px;background:var(--fade);pointer-events:none}.pagehead::after{bottom:0}.closer::before,.footer::before{top:0}.staff-card:hover,.product:hover,.post-card:hover,.service-card:hover{border-color:var(--line-accent)}@media (min-width:60rem){.catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3rem)}.catalog__intro{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,4.5rem);align-items:start}.catalog__intro>.eyebrow{grid-column:1;grid-row:1;align-self:end}.catalog__intro>.catalog__title{grid-column:1;grid-row:2 / 5;align-self:start}.catalog__intro>.catalog__lede{grid-column:2;grid-row:1 / 3;margin:0}.catalog__intro>.tag-row{grid-column:2;grid-row:3;margin-top:1rem}.catalog__intro>.button{grid-column:2;grid-row:4;justify-self:start;margin-top:1rem}.catalog__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.catalog__list{gap:0;background:none;border:0}.catalog__item{display:flex;flex-direction:column;border:1px solid var(--line);margin:0 -1px -1px 0}.catalog__item:has(.catalog__item-soon){order:1}.catalog__item:has(.catalog__item-soon)>:not(.catalog__item-soon){opacity:0.55}@media (min-width:40rem) and (max-width:59.99rem){.catalog__list{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--notch:14px;--tick:18px;--grid-gap:clamp(0.75rem,1.6vw,1.1rem);--cut-poly:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,var(--notch) 100%,0 calc(100% - var(--notch)));--cut-tlbr:polygon(var(--notch) 0,100% 0,100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,0 100%,0 var(--notch));--cut-tlbr-in:polygon(calc(var(--notch) - 0.6px) 0,100% 0,100% calc(100% - var(--notch) + 0.6px),calc(100% - var(--notch) + 0.6px) 100%,0 100%,0 calc(var(--notch) - 0.6px))}.product,.reviews-embed,.award--badge,.plate__link,.staff-card,.hero__frame,.notch-frame{clip-path:var(--cut-poly)}.product::before,.product::after,.reviews-embed::before,.reviews-embed::after,.staff-card::before,.staff-card::after{width:var(--tick);height:var(--tick)}.product:hover::before,.product:hover::after{width:calc(var(--tick) + 8px);height:calc(var(--tick) + 8px)}.staff-card{position:relative}.staff-card::before,.staff-card::after{content:'';position:absolute;z-index:2;pointer-events:none}.staff-card::before{top:0;left:0;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.staff-card::after{right:0;bottom:0;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent)}.staff-card__frame,.plate-grid--strip .plate__link{clip-path:var(--cut-tlbr)}.staff-card__frame img,.plate-grid--strip .plate__frame{clip-path:var(--cut-tlbr-in)}.product-grid,.staff-grid,.plate-grid,.plate-grid--strip,.review-grid,.award-row,.post-grid,.proof-grid,.pillar-grid,.steps--grid{gap:var(--grid-gap)}.js-motion .rv{opacity:0;transform:translateY(18px);transition:opacity 0.7s var(--ease) calc(var(--rv-i,0) * 70ms),transform 0.7s var(--ease) calc(var(--rv-i,0) * 70ms)}.js-motion .rv.is-in{opacity:1;transform:none}.js-motion .rv .eyebrow__rule{transform:scaleX(0);transform-origin:left;transition:transform 0.8s var(--ease) 0.25s}.js-motion .rv.is-in .eyebrow__rule{transform:none}.js-motion .section::before{transform:translateX(-50%) scaleX(0);transition:transform 1.1s var(--ease)}.js-motion .section.is-in::before{transform:translateX(-50%) scaleX(1)}.js-motion .closer::before,.js-motion .pagehead::after{transform:scaleX(0);transition:transform 1.1s var(--ease)}.js-motion .closer.is-in::before,.js-motion .pagehead.is-in::after{transform:none}.hero__meta-item--live dt{display:flex;align-items:center;gap:0.45rem;color:var(--accent)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 0 0 rgba(236,201,135,0.6);animation:live-pulse 2.2s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(236,201,135,0.55)}70%{box-shadow:0 0 0 8px rgba(236,201,135,0)}100%{box-shadow:0 0 0 0 rgba(236,201,135,0)}}.live-link{display:inline-block;margin-top:0.3rem;font-size:0.68rem}.ba{position:relative;overflow:hidden;background:var(--bg-raised);clip-path:var(--cut-poly);--ba:50%}.ba__img{display:block;width:100%;height:auto;background:none;user-select:none}.ba__img--after{position:absolute;inset:0;height:100%;object-fit:cover;clip-path:inset(0 0 0 var(--ba))}.ba__handle{position:absolute;top:0;bottom:0;left:var(--ba);width:2px;margin-left:-1px;background:var(--leaf);pointer-events:none}.ba__handle::after{content:'\2194';position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;display:grid;place-items:center;background:rgba(5,5,6,0.85);border:1px solid var(--accent);color:var(--accent-bright);font-size:1.1rem;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}.ba__tag{position:absolute;top:14px;padding:0.3em 0.6em;background:rgba(5,5,6,0.72);border:1px solid var(--line-accent);font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);pointer-events:none}.ba__tag--before{left:22px}.ba__tag--after{right:14px}.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.ba:focus-within .ba__handle::after{outline:2px solid var(--accent-bright);outline-offset:2px}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/static/fonts/instrument-serif-italic-latin.woff2?v=5a51946dff') format('woff2');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,U+FEFF,U+FFFD}.grow-cta{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:3rem var(--gutter);text-align:center;border-top:1px solid var(--line)}.grow-cta__q{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.08;letter-spacing:-.005em;color:var(--accent);margin:0;max-width:22ch;text-wrap:balance}.page-home .section{padding-block:clamp(4rem,7.5vw,7rem)}.page-home .section__head{margin-bottom:clamp(2.5rem,4vw,3.5rem)}.page-home .section__head .lede{max-width:52ch;line-height:1.7;margin-top:1.25rem}.page-home .eyebrow{letter-spacing:.15em;font-size:.75rem}.page-home .section__footnote{margin-top:2rem}.page-home .staff-grid{gap:clamp(1.25rem,2.5vw,2rem)}.page-home .staff-card{background:transparent;border:0;clip-path:none}.page-home .staff-card::before,.page-home .staff-card::after{display:none}.page-home .staff-card__frame{margin:0;padding:0;background:none;clip-path:none;border:0}.page-home .staff-card__frame img{clip-path:none;aspect-ratio:4/5;object-position:center 30%}.page-home .staff-card:hover .staff-card__frame img,.page-home .staff-card:focus-within .staff-card__frame img{transform:none}.page-home .staff-card__body{padding:1.5rem 0 0;gap:.85rem;border-top:1px solid rgba(214,176,100,.25);margin-top:1rem}.page-home .staff-card__name{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15}.page-home .staff-card__title{font-family:var(--font-sans);text-transform:none;letter-spacing:.02em;line-height:1.6;font-size:.8rem}.page-home .staff-card__summary,.page-home .staff-card__credentials{line-height:1.7}.page-home .staff-card__actions{padding-top:1rem;gap:.75rem}.page-home .staff-card__actions .button--ghost,.page-home .hero__actions .button--ghost,.page-home .location__actions .button--ghost{border-color:transparent;background:transparent;clip-path:none;padding-inline:.5rem;text-decoration:underline;text-underline-offset:.45em;text-decoration-color:var(--line-accent)}.page-home .hero__actions,.page-home .location__actions{gap:1.5rem}.page-home .product::before,.page-home .product::after,.page-home .reviews-embed::before,.page-home .reviews-embed::after{display:none}.page-home .awards-feature{margin-top:clamp(3.5rem,6vw,5rem);padding-top:clamp(3.5rem,6vw,5rem);border-top:1px solid var(--line);gap:clamp(2.5rem,6vw,5rem)}.page-home .awards-feature .awards-team-photo{max-width:30rem;padding:0;background:none;clip-path:none}.page-home .awards-team-photo figcaption{background:transparent;padding:1rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}.page-home .awards-feature__title{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.06;max-width:17ch}.page-home .awards-feature__copy{line-height:1.75;max-width:34ch;margin-top:1.5rem}.page-home .awards-feature .award-row{gap:1rem;margin-top:2.25rem}.page-home .awards-feature .award--badge{padding:0;border:0;background:none;clip-path:none}.page-home .awards-feature .award--badge:hover{transform:none}.page-home .awards-feature .award__badge{width:100px;height:100px;padding:9px;clip-path:none}.page-home .section--experience .experience__copy .section__head{margin-bottom:2rem}@media(max-width:47.99em){.page-home .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.25rem}.page-home .staff-card__name{font-size:1.35rem}.page-home .staff-card__body{padding-top:1rem}.page-home .awards-feature__title{margin-inline:auto}.page-home .awards-feature .awards-team-photo{max-width:28rem}}@media(max-width:25em){.page-home .staff-grid{grid-template-columns:1fr}.page-home .staff-card{max-width:22rem;margin-inline:auto;width:100%}}.review-stat{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:.85rem;row-gap:.35rem;margin:0 auto clamp(1.25rem,2.5vw,1.75rem);padding:0;border:0;background:none;text-align:center;line-height:1}.review-stat__stars{position:relative;display:inline-block;font-size:1.15rem;line-height:1;letter-spacing:.12em;margin-right:-.12em}.review-stat__stars-bg{color:var(--line-strong,#323b46)}.review-stat__stars-fg{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--accent,#c8a15a);width:100%}.review-stat__stars--0 .review-stat__stars-fg{width:0}.review-stat__stars--1 .review-stat__stars-fg{width:10%}.review-stat__stars--2 .review-stat__stars-fg{width:20%}.review-stat__stars--3 .review-stat__stars-fg{width:30%}.review-stat__stars--4 .review-stat__stars-fg{width:40%}.review-stat__stars--5 .review-stat__stars-fg{width:50%}.review-stat__stars--6 .review-stat__stars-fg{width:60%}.review-stat__stars--7 .review-stat__stars-fg{width:70%}.review-stat__stars--8 .review-stat__stars-fg{width:80%}.review-stat__stars--9 .review-stat__stars-fg{width:90%}.review-stat__stars--10 .review-stat__stars-fg{width:100%}.review-stat__score{margin:0;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.review-stat__value{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--accent-bright,#e0bb78)}.review-stat__outof{font-size:1rem;font-weight:500;color:var(--accent,#c8a15a);margin-left:.3em}.review-stat__count{margin:0;padding-left:.85rem;border-left:1px solid var(--accent,#c8a15a);line-height:1.35;font-size:.85rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text,#eef1f5);white-space:nowrap}.review-stat__asof{flex-basis:100%;margin:.15rem 0 0;font-size:.75rem;color:var(--muted,#8b949f)}.review-stat__asof[hidden]{display:none}@media (max-width:540px){.review-stat{flex-direction:column;row-gap:.5rem}.review-stat__count{font-size:.78rem;letter-spacing:.14em;padding:.5rem 0 0;border-left:0;border-top:1px solid var(--line-accent,rgba(200,161,90,.42))}}picture{display:contents}.footer__legal{row-gap:.15rem}.footer__legal a{display:inline-block;padding:.45rem 0;min-width:24px}@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:105.31%;ascent-override:91.99%;descent-override:22.91%;line-gap-override:0.00%}@font-face{font-family:"Oswald Fallback";src:local("Arial Narrow"),local("Liberation Sans Narrow");size-adjust:92.19%;ascent-override:129.41%;descent-override:31.35%;line-gap-override:0.00%}@font-face{font-family:"JetBrains Mono Fallback";src:local("Courier New"),local("Liberation Mono"),local("Courier");size-adjust:99.98%;ascent-override:102.02%;descent-override:30.00%;line-gap-override:0.00%}:root{--font-display:'Oswald','Oswald Fallback','Arial Narrow',system-ui,sans-serif;--font-sans:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-mono:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace}
/* generated by tools/build_platform.py from https://play.zhwonline.cloud -- do not edit */
.tg-platform{
  --tg-black:      #0a0a0b;
  --tg-charcoal:   #141417;
  --tg-charcoal-2: #1c1c21;
  --tg-charcoal-3: #26262d;
  --tg-line:       #32323b;
  --tg-line-soft:  #24242b;

  --tg-gold:       #c8a15a;
  --tg-gold-bright:#e0bb78;
  --tg-gold-dim:   #8a6f3c;
  --tg-gold-wash:  rgba(200,161,90,.12);

  --tg-text:       #f2f2f4;
  --tg-text-2:     #b4b4bd;
  --tg-text-3:     #85858f;

  --tg-ok:         #4f9d69;
  --tg-ok-wash:    rgba(79,157,105,.14);
  --tg-warn:       #c9922f;
  --tg-warn-wash:  rgba(201,146,47,.14);
  --tg-bad:        #c05656;
  --tg-bad-wash:   rgba(192,86,86,.14);
  --tg-info-wash:  rgba(120,150,200,.12);

  --tg-r-sm: 6px;
  --tg-r:    10px;
  --tg-r-lg: 16px;

  --tg-s1: 4px;  --tg-s2: 8px;  --tg-s3: 12px; --tg-s4: 16px;
  --tg-s5: 24px; --tg-s6: 32px; --tg-s7: 48px; --tg-s8: 64px;

  --tg-font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --tg-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --tg-shadow:    0 2px 8px rgba(0,0,0,.4);
  --tg-shadow-lg: 0 12px 40px rgba(0,0,0,.55);

  --tg-tap: 44px; 
}
.tg-platform *, .tg-platform *::before, .tg-platform *::after{ box-sizing: border-box; }
.tg-platform{ -webkit-text-size-adjust: 100%; }
.tg-platform{
  margin: 0;
  background: var(--tg-black);
  color: var(--tg-text);
  font-family: var(--tg-font);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.tg-platform :focus-visible{
  outline: 2px solid var(--tg-gold-bright);
  outline-offset: 2px;
  border-radius: 3px;
}
.tg-platform .tg-sr{
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.tg-platform .tg-skip{
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--tg-gold); color: #000; padding: var(--tg-s3) var(--tg-s4);
  font-weight: 600; border-radius: 0 0 var(--tg-r-sm) 0;
}
.tg-platform .tg-skip:focus{ left: 0; }
@media (prefers-reduced-motion: reduce) {.tg-platform *, .tg-platform *::before, .tg-platform *::after{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }}
.tg-platform h1, .tg-platform h2, .tg-platform h3, .tg-platform h4{ margin: 0 0 var(--tg-s3); line-height: 1.22; font-weight: 650; letter-spacing: -.01em; }
.tg-platform h1{ font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.85rem); }
.tg-platform h2{ font-size: clamp(1.3rem, 1.05rem + 1.1vw, 1.75rem); }
.tg-platform h3{ font-size: 1.12rem; }
.tg-platform h4{ font-size: 1rem; }
.tg-platform p{ margin: 0 0 var(--tg-s3); color: var(--tg-text-2); }
.tg-platform a{ color: var(--tg-gold-bright); text-decoration: none; }
.tg-platform a:hover{ text-decoration: underline; }
.tg-platform code, .tg-platform .tg-mono{ font-family: var(--tg-mono); font-size: .9em; }
.tg-platform .tg-eyebrow{
  text-transform: uppercase; letter-spacing: .16em;
  font-size: .72rem; font-weight: 700; color: var(--tg-gold);
  margin: 0 0 var(--tg-s2);
}
.tg-platform .tg-lede{ font-size: 1.08rem; color: var(--tg-text-2); max-width: 65ch; }
.tg-platform .tg-muted{ color: var(--tg-text-3); }
.tg-platform .tg-small{ font-size: .85rem; }
.tg-platform .tg-rule{
  width: 52px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--tg-gold), var(--tg-gold-dim));
  margin: 0 0 var(--tg-s4);
}
.tg-platform .tg-wrap{ width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 var(--tg-s5); }
.tg-platform .tg-wrap-narrow{ max-width: 780px; }
.tg-platform .tg-section{ padding: var(--tg-s8) 0; }
.tg-platform .tg-section + .tg-section{ border-top: 1px solid var(--tg-line-soft); }
.tg-platform .tg-hide{ display: none !important; }
.tg-platform .tg-grid{ display: grid; gap: var(--tg-s4); }
.tg-platform .tg-grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.tg-platform .tg-grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.tg-platform .tg-grid-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 900px) {.tg-platform .tg-grid-3, .tg-platform .tg-grid-4{ grid-template-columns: repeat(2, minmax(0,1fr)); }}
@media (max-width: 620px) {.tg-platform .tg-grid-2, .tg-platform .tg-grid-3, .tg-platform .tg-grid-4{ grid-template-columns: 1fr; }
.tg-platform .tg-wrap{ padding: 0 var(--tg-s4); }
.tg-platform .tg-section{ padding: var(--tg-s6) 0; }}
.tg-platform .tg-row{ display: flex; gap: var(--tg-s3); flex-wrap: wrap; align-items: center; }
.tg-platform .tg-row-end{ justify-content: flex-end; }
.tg-platform .tg-spread{ display: flex; gap: var(--tg-s3); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.tg-platform .tg-stack > * + *{ margin-top: var(--tg-s4); }
.tg-platform{ --tg-head-h: 64px; }
.tg-platform{
  scroll-padding-top: calc(var(--tg-head-h) + var(--tg-s4));
}
.tg-platform main, .tg-platform #main, .tg-platform .tg-card, .tg-platform .tg-app > *, .tg-platform h1, .tg-platform h2, .tg-platform h3, .tg-platform [id], .tg-platform [tabindex="-1"]{
  scroll-margin-top: calc(var(--tg-head-h) + var(--tg-s4));
}
.tg-platform .tg-head-in{ min-height: var(--tg-head-h); }
@media (max-width: 620px) {.tg-platform{ --tg-head-h: 56px; }}
.tg-platform .tg-head{
  position: sticky; top: 0; z-index: 50;
  background: rgba(10,10,11,.93);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--tg-line-soft);
}
.tg-platform .tg-head-in{
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--tg-s4); min-height: 64px;
}
.tg-platform .tg-brand{ display: flex; align-items: center; gap: var(--tg-s3); font-weight: 700; color: var(--tg-text); }
.tg-platform .tg-brand:hover{ text-decoration: none; }
.tg-platform .tg-mark{
  width: 34px; height: 34px; flex: none; border-radius: var(--tg-r-sm);
  background: linear-gradient(145deg, var(--tg-gold), var(--tg-gold-dim));
  color: #000; display: grid; place-items: center;
  font-weight: 800; font-size: .82rem; letter-spacing: .02em;
}
.tg-platform .tg-brand-t{ display: flex; flex-direction: column; line-height: 1.15; }
.tg-platform .tg-brand-t b{ font-size: .98rem; letter-spacing: .01em; }
.tg-platform .tg-brand-t span{ font-size: .7rem; color: var(--tg-text-3); text-transform: uppercase; letter-spacing: .12em; }
.tg-platform .tg-nav{ display: flex; gap: var(--tg-s1); flex-wrap: wrap; }
.tg-platform .tg-nav a, .tg-platform .tg-nav button{
  display: inline-flex; align-items: center; min-height: var(--tg-tap);
  padding: var(--tg-s2) var(--tg-s4);
  border-radius: var(--tg-r-sm); border: 1px solid transparent;
  background: transparent; color: var(--tg-text-2);
  font: inherit; font-size: .92rem; font-weight: 550; cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.tg-platform .tg-nav a:hover, .tg-platform .tg-nav button:hover{
  background: var(--tg-charcoal-2); color: var(--tg-text); text-decoration: none;
}
.tg-platform .tg-nav [aria-current="page"], .tg-platform .tg-nav .is-active{
  background: var(--tg-gold-wash); color: var(--tg-gold-bright);
  border-color: rgba(200,161,90,.32);
}
.tg-platform .tg-app{ display: grid; grid-template-columns: 250px minmax(0,1fr); gap: var(--tg-s5); align-items: start; }
.tg-platform .tg-side{
  position: sticky; top: calc(var(--tg-head-h) + var(--tg-s4));
  background: var(--tg-charcoal); border: 1px solid var(--tg-line-soft);
  border-radius: var(--tg-r); padding: var(--tg-s3);
}
.tg-platform .tg-side h2{
  font-size: .68rem; text-transform: uppercase; letter-spacing: .14em;
  color: var(--tg-text-3); margin: var(--tg-s3) var(--tg-s2) var(--tg-s2);
}
.tg-platform .tg-side-nav{ display: flex; flex-direction: column; gap: 2px; }
.tg-platform .tg-side-nav button{
  display: flex; align-items: center; gap: var(--tg-s2);
  width: 100%; text-align: left; min-height: var(--tg-tap);
  padding: var(--tg-s2) var(--tg-s3);
  border: 1px solid transparent; border-radius: var(--tg-r-sm);
  background: transparent; color: var(--tg-text-2);
  font: inherit; font-size: .92rem; cursor: pointer;
}
.tg-platform .tg-side-nav button:hover{ background: var(--tg-charcoal-2); color: var(--tg-text); }
.tg-platform .tg-side-nav button.is-active{
  background: var(--tg-gold-wash); color: var(--tg-gold-bright);
  border-color: rgba(200,161,90,.3); font-weight: 600;
}
@media (max-width: 900px) {.tg-platform .tg-app{ grid-template-columns: 1fr; }
.tg-platform .tg-side{ position: static; }
.tg-platform .tg-side-nav{ flex-direction: row; flex-wrap: wrap; }
.tg-platform .tg-side-nav button{ width: auto; }}
.tg-platform .tg-embed body{ background: transparent; }
.tg-platform .tg-embed .tg-foot{ display: none; }
.tg-platform .tg-embed .tg-head{ position: static; background: transparent; border-top: 0; }
.tg-platform .tg-embed .tg-brand{ display: none; }
.tg-platform .tg-embed .tg-head-in{ justify-content: flex-start; }
.tg-platform .tg-embed .tg-wrap{ padding-left: var(--tg-s3); padding-right: var(--tg-s3); }
.tg-platform .tg-embed #main{ padding-top: var(--tg-s3) !important; padding-bottom: var(--tg-s3) !important; }
.tg-platform .tg-side-toggle{ display: none; }
.tg-platform .tg-side-scrim{ display: none; }
.tg-platform .tg-side-close{ display: none; }
@media (max-width: 900px) {.tg-platform .tg-side-toggle{
    display: inline-flex; align-items: center; gap: var(--tg-s2);
    min-height: var(--tg-tap); padding: var(--tg-s2) var(--tg-s4);
    margin-bottom: var(--tg-s3);
    border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r-sm);
    background: var(--tg-charcoal); color: var(--tg-text);
    font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer;
  }
.tg-platform .tg-side-toggle .tg-side-toggle-cur{
    color: var(--tg-gold-bright); font-weight: 550;
  }
.tg-platform .tg-app-drawer .tg-side{
    position: fixed; z-index: 60; top: 0; left: 0; bottom: 0;
    width: min(310px, 86vw); overflow-y: auto;
    border-radius: 0; border-left: 0; border-top: 0; border-bottom: 0;
    padding: var(--tg-s4) var(--tg-s3);
    transform: translateX(-100%);
    transition: transform .2s ease;
  }
.tg-platform .tg-app-drawer[data-drawer="closed"] .tg-side{ display: none; }
.tg-platform .tg-app-drawer[data-drawer="open"] .tg-side{ transform: translateX(0); }
.tg-platform .tg-app-drawer .tg-side-nav{ flex-direction: column; }
.tg-platform .tg-app-drawer .tg-side-nav button{ width: 100%; }
.tg-platform .tg-app-drawer[data-drawer="open"] .tg-side-scrim{
    display: block; position: fixed; inset: 0; z-index: 55;
    background: rgba(0,0,0,.6);
  }
.tg-platform .tg-app-drawer .tg-side-close{
    display: inline-flex; align-items: center; justify-content: center;
    min-height: var(--tg-tap); min-width: var(--tg-tap);
    margin-bottom: var(--tg-s2);
    border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r-sm);
    background: transparent; color: var(--tg-text-2);
    font: inherit; cursor: pointer;
  }}
@media (max-width: 900px) {.tg-platform:has(.tg-app-drawer) .tg-nav > *:not(.tg-nav-cart){ display: none; }
.tg-platform:has(.tg-app-drawer) .tg-head-in{ gap: var(--tg-s3); }}
@media (prefers-reduced-motion: reduce) {.tg-platform .tg-app-drawer .tg-side{ transition: none; }}
.tg-platform .tg-card{
  background: var(--tg-charcoal);
  border: 1px solid var(--tg-line-soft);
  border-radius: var(--tg-r);
  padding: var(--tg-s5);
}
.tg-platform .tg-card + .tg-card{ margin-top: var(--tg-s4); }
.tg-platform .tg-card-head{
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--tg-s3); flex-wrap: wrap; margin-bottom: var(--tg-s4);
}
.tg-platform .tg-card-head h2, .tg-platform .tg-card-head h3{ margin: 0; }
.tg-platform .tg-card-accent{ border-top: 3px solid var(--tg-gold); }
.tg-platform .tg-stat{ background: var(--tg-charcoal-2); border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r); padding: var(--tg-s4); }
.tg-platform .tg-stat .k{ font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; color: var(--tg-text-3); }
.tg-platform .tg-stat .v{ font-size: 1.9rem; font-weight: 700; color: var(--tg-gold-bright); line-height: 1.2; margin-top: var(--tg-s1); }
.tg-platform .tg-stat .s{ font-size: .82rem; color: var(--tg-text-3); }
.tg-platform .tg-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: var(--tg-s2);
  min-height: var(--tg-tap); padding: var(--tg-s3) var(--tg-s5);
  border-radius: var(--tg-r-sm); border: 1px solid var(--tg-line);
  background: var(--tg-charcoal-2); color: var(--tg-text);
  font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer;
  transition: background .15s, border-color .15s, transform .08s;
  text-align: center;
}
.tg-platform .tg-btn:hover{ background: var(--tg-charcoal-3); text-decoration: none; }
.tg-platform .tg-btn:active{ transform: translateY(1px); }
.tg-platform .tg-btn[disabled], .tg-platform .tg-btn[aria-disabled="true"]{ opacity: .5; cursor: not-allowed; }
.tg-platform .tg-btn-primary{
  background: linear-gradient(145deg, var(--tg-gold), var(--tg-gold-dim));
  border-color: var(--tg-gold-dim); color: #131006;
}
.tg-platform .tg-btn-primary:hover{ background: linear-gradient(145deg, var(--tg-gold-bright), var(--tg-gold)); }
.tg-platform .tg-btn-ghost{ background: transparent; }
.tg-platform .tg-btn-danger{ border-color: rgba(192,86,86,.5); color: #e79393; background: var(--tg-bad-wash); }
.tg-platform .tg-btn-danger:hover{ background: rgba(192,86,86,.24); }
.tg-platform .tg-btn-sm{ min-height: 34px; padding: var(--tg-s1) var(--tg-s3); font-size: .85rem; }
.tg-platform .tg-btn-block{ width: 100%; }
.tg-platform .tg-spin{
  width: 15px; height: 15px; border-radius: 50%; flex: none;
  border: 2px solid rgba(0,0,0,.28); border-top-color: currentColor;
  animation: tg-rot .7s linear infinite;
}
@keyframes tg-rot { to { transform: rotate(360deg); } }
.tg-platform .tg-field{ margin-bottom: var(--tg-s4); }
.tg-platform .tg-label{ display: block; font-size: .85rem; font-weight: 600; color: var(--tg-text); margin-bottom: var(--tg-s2); }
.tg-platform .tg-hint{ font-size: .8rem; color: var(--tg-text-3); margin-top: var(--tg-s1); }
.tg-platform .tg-req{ color: var(--tg-gold); }
.tg-platform .tg-input, .tg-platform .tg-select, .tg-platform .tg-textarea{
  width: 100%; min-height: var(--tg-tap);
  padding: var(--tg-s3); font: inherit; font-size: .95rem;
  color: var(--tg-text); background: var(--tg-charcoal-2);
  border: 1px solid var(--tg-line); border-radius: var(--tg-r-sm);
  transition: border-color .15s, box-shadow .15s;
}
.tg-platform .tg-textarea{ min-height: 96px; resize: vertical; }
.tg-platform .tg-input:focus, .tg-platform .tg-select:focus, .tg-platform .tg-textarea:focus{
  border-color: var(--tg-gold); box-shadow: 0 0 0 3px var(--tg-gold-wash); outline: none;
}
.tg-platform .tg-input::placeholder, .tg-platform .tg-textarea::placeholder{ color: var(--tg-text-3); }
.tg-platform .tg-input[aria-invalid="true"], .tg-platform .tg-textarea[aria-invalid="true"]{ border-color: var(--tg-bad); }
.tg-platform .tg-select{
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--tg-text-2) 50%),
                    linear-gradient(135deg, var(--tg-text-2) 50%, transparent 50%);
  background-position: calc(100% - 19px) 50%, calc(100% - 14px) 50%;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
  padding-right: var(--tg-s6);
}
.tg-platform .tg-input:disabled, .tg-platform .tg-select:disabled, .tg-platform .tg-textarea:disabled{
  opacity: .55; cursor: not-allowed; background: var(--tg-charcoal);
}
.tg-platform .tg-check{ display: flex; align-items: flex-start; gap: var(--tg-s3); min-height: var(--tg-tap); padding: var(--tg-s2) 0; cursor: pointer; }
.tg-platform .tg-check input{ width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--tg-gold); cursor: pointer; }
.tg-platform .tg-check span{ font-size: .92rem; color: var(--tg-text-2); }
.tg-platform .tg-radios{ display: flex; flex-direction: column; gap: var(--tg-s1); }
.tg-platform .tg-radio{
  display: flex; align-items: center; gap: var(--tg-s3);
  min-height: var(--tg-tap); padding: var(--tg-s2) var(--tg-s3);
  border: 1px solid var(--tg-line); border-radius: var(--tg-r-sm);
  background: var(--tg-charcoal-2); cursor: pointer;
}
.tg-platform .tg-radio:hover{ border-color: var(--tg-gold-dim); }
.tg-platform .tg-radio input{ width: 18px; height: 18px; flex: none; accent-color: var(--tg-gold); cursor: pointer; }
.tg-platform .tg-radio:has(input:checked){ border-color: var(--tg-gold); background: var(--tg-gold-wash); }
.tg-platform .tg-toggle{ display: flex; align-items: center; justify-content: space-between; gap: var(--tg-s4); min-height: var(--tg-tap); padding: var(--tg-s2) 0; }
.tg-platform .tg-toggle-t{ font-size: .92rem; color: var(--tg-text); }
.tg-platform .tg-toggle-t small{ display: block; color: var(--tg-text-3); font-size: .8rem; }
.tg-platform .tg-switch{ position: relative; flex: none; width: 48px; height: 28px; }
.tg-platform .tg-switch input{ position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.tg-platform .tg-switch span{
  position: absolute; inset: 0; border-radius: 999px;
  background: var(--tg-charcoal-3); border: 1px solid var(--tg-line);
  transition: background .18s, border-color .18s; pointer-events: none;
}
.tg-platform .tg-switch span::after{
  content: ""; position: absolute; top: 3px; left: 3px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--tg-text-2); transition: transform .18s, background .18s;
}
.tg-platform .tg-switch input:checked + span{ background: var(--tg-gold-wash); border-color: var(--tg-gold); }
.tg-platform .tg-switch input:checked + span::after{ transform: translateX(20px); background: var(--tg-gold); }
.tg-platform .tg-switch input:focus-visible + span{ outline: 2px solid var(--tg-gold-bright); outline-offset: 2px; }
.tg-platform .tg-switch input:disabled + span{ opacity: .45; }
.tg-platform .tg-switch input:disabled{ cursor: not-allowed; }
.tg-platform .tg-tabs{
  display: flex; gap: var(--tg-s1); flex-wrap: wrap;
  border-bottom: 1px solid var(--tg-line-soft); margin-bottom: var(--tg-s5);
}
.tg-platform .tg-tabs button{
  min-height: var(--tg-tap); padding: var(--tg-s3) var(--tg-s4);
  border: 0; border-bottom: 2px solid transparent;
  background: transparent; color: var(--tg-text-3);
  font: inherit; font-size: .94rem; font-weight: 600; cursor: pointer;
}
.tg-platform .tg-tabs button:hover{ color: var(--tg-text); }
.tg-platform .tg-tabs button[aria-selected="true"]{ color: var(--tg-gold-bright); border-bottom-color: var(--tg-gold); }
.tg-platform .tg-table-wrap{ overflow-x: auto; border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r); }
.tg-platform .tg-table{ width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 520px; }
.tg-platform .tg-table caption{ text-align: left; padding: var(--tg-s3) var(--tg-s4); color: var(--tg-text-3); font-size: .84rem; }
.tg-platform .tg-table th, .tg-platform .tg-table td{ padding: var(--tg-s3) var(--tg-s4); text-align: left; border-bottom: 1px solid var(--tg-line-soft); }
.tg-platform .tg-table th{
  background: var(--tg-charcoal-2); color: var(--tg-text-3);
  font-size: .74rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 700;
  position: sticky; top: 0;
}
.tg-platform .tg-table tbody tr:hover{ background: rgba(255,255,255,.022); }
.tg-platform .tg-table tbody tr:last-child td{ border-bottom: 0; }
.tg-platform .tg-badge{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 10px; border-radius: 999px;
  font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  border: 1px solid var(--tg-line); background: var(--tg-charcoal-3); color: var(--tg-text-2);
}
.tg-platform .tg-badge-ok{ background: var(--tg-ok-wash);   border-color: rgba(79,157,105,.42);  color: #7fc394; }
.tg-platform .tg-badge-warn{ background: var(--tg-warn-wash); border-color: rgba(201,146,47,.42);  color: #e0b567; }
.tg-platform .tg-badge-bad{ background: var(--tg-bad-wash);  border-color: rgba(192,86,86,.42);   color: #e08d8d; }
.tg-platform .tg-badge-gold{ background: var(--tg-gold-wash); border-color: rgba(200,161,90,.42);  color: var(--tg-gold-bright); }
.tg-platform .tg-msg{
  display: none; padding: var(--tg-s3) var(--tg-s4);
  border-radius: var(--tg-r-sm); border: 1px solid var(--tg-line);
  font-size: .92rem; margin: var(--tg-s3) 0;
}
.tg-platform .tg-msg.tg-show{ display: block; }
.tg-platform .tg-msg b{ display: block; margin-bottom: 2px; }
.tg-platform .tg-ok{ background: var(--tg-ok-wash);   border-color: rgba(79,157,105,.4); color: #8fcea4; }
.tg-platform .tg-bad{ background: var(--tg-bad-wash);  border-color: rgba(192,86,86,.4);  color: #eb9c9c; }
.tg-platform .tg-warnm{ background: var(--tg-warn-wash); border-color: rgba(201,146,47,.4); color: #e6c27e; }
.tg-platform .tg-infom{ background: var(--tg-info-wash); border-color: rgba(120,150,200,.34); color: #b9c9e4; }
.tg-platform .tg-empty{
  border: 1px dashed var(--tg-line); border-radius: var(--tg-r);
  padding: var(--tg-s5); text-align: center; color: var(--tg-text-3);
  background: rgba(255,255,255,.012);
}
.tg-platform .tg-empty h3{ color: var(--tg-text-2); }
.tg-platform .tg-empty p{ margin-bottom: 0; }
.tg-platform .tg-notice{
  display: flex; gap: var(--tg-s3); align-items: flex-start;
  padding: var(--tg-s4); border-radius: var(--tg-r);
  background: var(--tg-warn-wash); border: 1px solid rgba(201,146,47,.35);
  color: #e6c894; font-size: .9rem;
}
.tg-platform .tg-notice b{ color: #f0d9a6; }
.tg-platform .tg-dialog-back{
  position: fixed; inset: 0; z-index: 100;
  background: rgba(0,0,0,.72); backdrop-filter: blur(3px);
  display: grid; place-items: center; padding: var(--tg-s4);
}
.tg-platform .tg-dialog{
  width: 100%; max-width: 520px; max-height: 88vh; overflow-y: auto;
  background: var(--tg-charcoal); border: 1px solid var(--tg-line);
  border-radius: var(--tg-r-lg); box-shadow: var(--tg-shadow-lg);
  padding: var(--tg-s5);
}
.tg-platform .tg-dialog h2{ margin-top: 0; }
.tg-platform .tg-dialog-actions{ display: flex; gap: var(--tg-s3); justify-content: flex-end; flex-wrap: wrap; margin-top: var(--tg-s5); }
@media (max-width: 620px) {.tg-platform .tg-dialog-actions{ flex-direction: column-reverse; }
.tg-platform .tg-dialog-actions .tg-btn{ width: 100%; }}
.tg-platform .tg-toasts{
  position: fixed; right: var(--tg-s4); bottom: var(--tg-s4); z-index: 150;
  display: flex; flex-direction: column; gap: var(--tg-s2);
  max-width: min(400px, calc(100vw - 32px));
}
.tg-platform .tg-toast{
  padding: var(--tg-s3) var(--tg-s4); border-radius: var(--tg-r-sm);
  background: var(--tg-charcoal-2); border: 1px solid var(--tg-line);
  box-shadow: var(--tg-shadow); font-size: .9rem; color: var(--tg-text);
  animation: tg-in .18s ease-out;
}
.tg-platform .tg-toast-ok{ border-left: 3px solid var(--tg-ok); }
.tg-platform .tg-toast-bad{ border-left: 3px solid var(--tg-bad); }
.tg-platform .tg-toast-info{ border-left: 3px solid var(--tg-gold); }
@keyframes tg-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.tg-platform .tg-hero{
  padding: var(--tg-s8) 0;
  background:
    radial-gradient(1000px 420px at 12% -8%, rgba(200,161,90,.13), transparent 62%),
    linear-gradient(180deg, var(--tg-charcoal), var(--tg-black));
  border-bottom: 1px solid var(--tg-line-soft);
}
.tg-platform .tg-hero h1{ max-width: 20ch; }
.tg-platform .tg-hero .tg-lede{ font-size: 1.14rem; }
.tg-platform .tg-cta{ display: flex; gap: var(--tg-s3); flex-wrap: wrap; margin-top: var(--tg-s5); }
@media (max-width: 480px) {.tg-platform .tg-cta .tg-btn{ width: 100%; }}
.tg-platform .tg-module{
  background: var(--tg-charcoal); border: 1px solid var(--tg-line-soft);
  border-left: 3px solid var(--tg-gold);
  border-radius: var(--tg-r); padding: var(--tg-s5); height: 100%;
}
.tg-platform .tg-module h3{ color: var(--tg-gold-bright); }
.tg-platform .tg-module .x{ font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--tg-text-3); margin-bottom: var(--tg-s3); }
.tg-platform .tg-steps{ counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; gap: var(--tg-s4); }
.tg-platform .tg-steps li{ counter-increment: s; display: flex; gap: var(--tg-s4); align-items: flex-start; }
.tg-platform .tg-steps li::before{
  content: counter(s); flex: none;
  width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 700; font-size: .9rem;
  background: var(--tg-gold-wash); border: 1px solid rgba(200,161,90,.45); color: var(--tg-gold-bright);
}
.tg-platform .tg-steps b{ display: block; color: var(--tg-text); }
.tg-platform .tg-steps span{ color: var(--tg-text-2); font-size: .93rem; }
.tg-platform .tg-foot{
  border-top: 1px solid var(--tg-line-soft);
  padding: var(--tg-s6) 0; margin-top: var(--tg-s7);
  color: var(--tg-text-3); font-size: .86rem;
}
.tg-platform .tg-auth{ min-height: calc(100vh - 64px); display: grid; place-items: center; padding: var(--tg-s6) var(--tg-s4); }
.tg-platform .tg-auth-card{ width: 100%; max-width: 430px; }
.tg-platform .tg-dl{ display: grid; grid-template-columns: max-content 1fr; gap: var(--tg-s2) var(--tg-s5); margin: 0; font-size: .92rem; }
.tg-platform .tg-dl dt{ color: var(--tg-text-3); }
.tg-platform .tg-dl dd{ margin: 0; color: var(--tg-text); }
@media (max-width: 560px) {.tg-platform .tg-dl{ grid-template-columns: 1fr; gap: 2px; }
.tg-platform .tg-dl dd{ margin-bottom: var(--tg-s2); }}
.tg-platform .tg-dl dd, .tg-platform .tg-kv-v, .tg-platform .tg-val, .tg-platform .tg-card p, .tg-platform .tg-tl-note, .tg-platform td, .tg-platform th{
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media print {.tg-platform .tg-head, .tg-platform .tg-side, .tg-platform .tg-toasts, .tg-platform .tg-cta{ display: none !important; }
.tg-platform{ background: #fff; color: #000; }}
.tg-platform .tg-shop-ph{
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--tg-s2);
  width: 100%; height: 160px; margin-bottom: var(--tg-s3);
  border: 1px dashed var(--tg-line);
  border-radius: 8px;
  background:
    repeating-linear-gradient(135deg,
      var(--tg-charcoal-2) 0 10px,
      var(--tg-charcoal) 10px 20px);
}
.tg-platform .tg-book-wide{
  width: 100%;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}
.tg-platform .tg-fc-wrap{ width: 100%; max-width: 1050px; margin-left: auto; margin-right: auto; }
.tg-platform .tg-fc-host{
  --tg-fc-line: #2a2a2e;
  --tg-fc-dim: #8b8b93;
  --tg-fc-gold: #c8a049;
  --tg-fc-ink: #ececef;
}
.tg-platform .tg-fc-host.fc{
  background: transparent;
  color: var(--tg-fc-ink);
  font-size: 15px;
}
.tg-platform .tg-fc-host.fc .fc-scrollgrid, .tg-platform .tg-fc-host.fc .fc-scrollgrid td, .tg-platform .tg-fc-host.fc .fc-scrollgrid th{
  border-color: var(--tg-fc-line);
}
.tg-platform .tg-fc-host.fc .fc-scrollgrid{ border-radius: 10px; overflow: hidden; }
.tg-platform .tg-fc-host.fc .fc-toolbar-title{
  font-size: 1.2rem;
  font-weight: 650;
  letter-spacing: .2px;
  color: var(--tg-fc-ink);
}
.tg-platform .tg-fc-host.fc .fc-toolbar.fc-header-toolbar{ margin-bottom: 14px; }
.tg-platform .tg-fc-host.fc .fc-button-primary{
  background: #1b1b1f;
  border: 1px solid var(--tg-fc-line);
  color: var(--tg-fc-ink);
  border-radius: 8px;
  padding: 8px 12px;
  min-height: 40px;
  min-width: 44px;
  box-shadow: none;
  text-transform: none;
  font-weight: 600;
}
.tg-platform .tg-fc-host.fc .fc-button-primary:hover:not(:disabled){
  background: #232329;
  border-color: var(--tg-fc-gold);
  color: #fff;
}
.tg-platform .tg-fc-host.fc .fc-button-primary:focus-visible{
  outline: 2px solid var(--tg-fc-gold);
  outline-offset: 2px;
  box-shadow: none;
}
.tg-platform .tg-fc-host.fc .fc-button-primary:disabled{
  background: #141417;
  border-color: var(--tg-fc-line);
  color: #55555c;
  opacity: 1;
}
.tg-platform .tg-fc-host.fc .fc-col-header-cell{
  background: #17171a;
  padding: 10px 0;
}
.tg-platform .tg-fc-host.fc .fc-col-header-cell-cushion{
  color: var(--tg-fc-dim);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 4px;
}
.tg-platform .tg-fc-host.fc .fc-daygrid-day{ background: #141417; transition: background .12s ease; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-frame{ min-height: 62px; padding: 4px; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-number{
  color: var(--tg-fc-dim);
  font-size: .95rem;
  padding: 6px 8px;
  width: 100%;
  text-align: center;
}
.tg-platform .tg-fc-host.fc .fc-day-today{ background: #1b1b20 !important; }
.tg-platform .tg-fc-host.fc .fc-day-today .fc-daygrid-day-number{
  color: var(--tg-fc-ink);
  font-weight: 700;
  position: relative;
}
.tg-platform .tg-fc-host.fc .fc-day-today .fc-daygrid-day-number::after{
  content: "";
  position: absolute;
  left: 50%; transform: translateX(-50%);
  bottom: 2px; width: 16px; height: 2px;
  background: var(--tg-fc-dim);
  border-radius: 2px;
}
.tg-platform .tg-fc-host{
  --tg-fc-open:   #009E73;  
  --tg-fc-noavail:#E69F00;  
  --tg-fc-shut:   #85858f;  
}
.tg-platform .tg-fc-host.fc .tg-fc-available{ cursor: pointer; background: #141417; }
.tg-platform .tg-fc-host.fc .tg-fc-available .fc-daygrid-day-number{
  background: var(--tg-fc-open);
  color: #04140f;
  font-weight: 500;
  border-radius: var(--tg-r-sm);
}
.tg-platform .tg-fc-host.fc .tg-fc-available:hover{ background: #24291f; }
.tg-platform .tg-fc-host.fc .tg-fc-available:hover .fc-daygrid-day-number{ color: #fff; }
.tg-platform .tg-fc-host.fc .tg-fc-selected{ background: #2a2413 !important; }
.tg-platform .tg-fc-host.fc .tg-fc-selected .fc-daygrid-day-number{
  color: var(--tg-fc-gold);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tg-platform .tg-fc-host.fc .tg-fc-selected .fc-daygrid-day-frame{
  box-shadow: inset 0 0 0 2px var(--tg-fc-gold);
  border-radius: 6px;
}
.tg-platform .tg-fc-host.fc .tg-fc-loading .fc-daygrid-day-number{
  color: #5c5c64;
}
.tg-platform .tg-fc-host.fc .tg-fc-loading .fc-daygrid-day-frame{
  background-image: linear-gradient(100deg, transparent 38%, rgba(200,160,73,.10) 50%, transparent 62%);
  background-size: 220% 100%;
  animation: tgFcShimmer 1.15s linear infinite;
  border-radius: 6px;
}
@keyframes tgFcShimmer { from { background-position: 180% 0; } to { background-position: -40% 0; } }
.tg-platform .tg-fc-host.fc .tg-fc-unknown{ cursor: default; background: #141417; }
.tg-platform .tg-fc-host.fc .tg-fc-unknown .fc-daygrid-day-number{
  color: #6b6b74;
  border-bottom: 1px dotted #6b6b74;
}
.tg-platform .tg-fc-host.fc .tg-fc-noavail{ cursor: default; background: #141417; }
.tg-platform .tg-fc-host.fc .tg-fc-noavail .fc-daygrid-day-number{
  background: transparent;
  color: var(--tg-fc-noavail);
  border: 1px solid var(--tg-fc-noavail);
  border-radius: var(--tg-r-sm);
  position: relative;
}
.tg-platform .tg-fc-host.fc .tg-fc-noavail .fc-daygrid-day-frame::after{
  content: "";
  display: block;
  width: 5px; height: 5px;
  margin: 3px auto 0;
  border-radius: 50%;
  background: var(--tg-fc-noavail);
}
.tg-platform .tg-fc-host.fc .tg-fc-closed{ cursor: default; background: #101013; }
.tg-platform .tg-fc-host.fc .tg-fc-closed .fc-daygrid-day-number{
  background: transparent;
  color: var(--tg-fc-shut);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}
.tg-platform .tg-fc-host.fc .fc-daygrid-day[aria-disabled="true"]:not(.tg-fc-noavail):not(.tg-fc-closed):not(.tg-fc-unknown){ cursor: default; background: #101013; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day[aria-disabled="true"]{ cursor: default; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day[aria-disabled="true"]:not(.tg-fc-noavail):not(.tg-fc-closed):not(.tg-fc-unknown) .fc-daygrid-day-number{
  color: #4a4a52;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.tg-platform .tg-fc-host.fc .fc-day-past .fc-daygrid-day-number{ color: #3f3f46; }
.tg-platform .tg-fc-host.fc a:focus-visible, .tg-platform .tg-fc-host.fc td:focus-visible{
  outline: 2px solid var(--tg-fc-gold);
  outline-offset: -2px;
}
@media (prefers-reduced-motion: reduce) {.tg-platform .tg-fc-host.fc .tg-fc-loading .fc-daygrid-day-frame{ animation: none; }}
@media (max-width: 560px) {.tg-platform .tg-fc-host.fc{ font-size: 13px; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-frame{ min-height: 46px; padding: 2px; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-number{ padding: 5px 2px; font-size: .9rem; }
.tg-platform .tg-fc-host.fc .fc-col-header-cell-cushion{ font-size: .66rem; letter-spacing: .04em; padding: 2px; }
.tg-platform .tg-fc-host.fc .fc-toolbar-title{ font-size: 1.02rem; }
.tg-platform .tg-fc-host.fc .fc-button-primary{ padding: 7px 10px; min-height: 40px; }
.tg-platform .tg-fc-host.fc .fc-toolbar.fc-header-toolbar{ gap: 6px; margin-bottom: 10px; }}
@media (max-width: 360px) {.tg-platform .tg-fc-host.fc{ font-size: 12px; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-frame{ min-height: 40px; }
.tg-platform .tg-fc-host.fc .fc-daygrid-day-number{ padding: 4px 1px; font-size: .84rem; }
.tg-platform .tg-fc-host.fc .fc-col-header-cell-cushion{ font-size: .6rem; letter-spacing: 0; }
.tg-platform .tg-fc-host.fc .fc-toolbar-title{ font-size: .95rem; }
.tg-platform .tg-fc-host.fc .fc-button-primary{ padding: 6px 8px; min-width: 40px; }}
.tg-platform .tg-legend{
  list-style: none;
  margin: var(--tg-s3) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--tg-s2) var(--tg-s4);
}
.tg-platform .tg-legend-item{
  display: flex;
  align-items: center;
  gap: var(--tg-s2);
  font-size: .82rem;
  color: var(--tg-text-2);
}
.tg-platform .tg-legend-sw{
  width: 18px; height: 18px;
  border-radius: var(--tg-r-sm);
  flex: 0 0 auto;
  position: relative;
}
.tg-platform .tg-legend-avail{ background: #009E73; }
.tg-platform .tg-legend-noavail{
  background: transparent;
  border: 1px solid #E69F00;
}
.tg-platform .tg-legend-noavail::after{
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 5px; height: 5px;
  margin: -2.5px 0 0 -2.5px;
  border-radius: 50%;
  background: #E69F00;
}
.tg-platform .tg-legend-closed{
  background: transparent;
  border: 1px solid #85858f;
}
.tg-platform .tg-legend-closed::after{
  content: "";
  position: absolute;
  left: 2px; right: 2px; top: 50%;
  height: 1.5px;
  margin-top: -.75px;
  background: #85858f;
}
.tg-platform .tg-fc-host, .tg-platform .tg-fc-host.fc, .tg-platform .tg-fc-host.fc-view-harness{ max-width: 100%; }
.tg-platform .tg-fc-host table{ width: 100% !important; table-layout: fixed; }
.tg-platform .tg-grid-3 > .tg-shop-card, .tg-platform .tg-grid > .tg-shop-card{ height: 100%; }
.tg-platform .tg-shop-card{
  display: flex; flex-direction: column; gap: var(--tg-s3);
  height: 100%;
}
.tg-platform .tg-shop-media{
  flex: none;
  width: 100%; aspect-ratio: 1 / 1;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  background: #f2f2ef;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
}
.tg-platform .tg-shop-img{ width: 100%; height: 100%; object-fit: contain; display: block; }
.tg-platform .tg-shop-media-empty{
  flex-direction: column; gap: var(--tg-s2);
  background: repeating-linear-gradient(135deg,
    var(--tg-charcoal-2) 0 10px, var(--tg-charcoal) 10px 20px);
  border: 1px dashed var(--tg-line);
}
.tg-platform .tg-shop-title{
  margin: 0;
  font-size: 1.02rem; line-height: 1.3;
  min-height: 2.6em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.tg-platform .tg-shop-desc{
  margin: 0; line-height: 1.45;
  min-height: 4.35em;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.tg-platform .tg-shop-foot{
  margin-top: auto;
  display: flex; flex-direction: column; gap: var(--tg-s3);
}
.tg-platform .tg-shop-size{
  width: 100%; min-height: var(--tg-tap);
  padding: var(--tg-s2) var(--tg-s3);
  background: var(--tg-charcoal-2); color: var(--tg-text);
  border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r-sm);
  font: inherit;
}
.tg-platform .tg-shop-size:focus-visible{ outline: 2px solid var(--tg-gold); outline-offset: 2px; }
.tg-platform .tg-shop-price{ margin: 0; font-weight: 600; font-size: 1.08rem; color: var(--tg-text); }
.tg-platform .tg-nav-cart{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.tg-platform .tg-nav-cart-n{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--tg-gold);
  color: #17140c;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}
.tg-platform .tg-cart-list{ display: flex; flex-direction: column; gap: 14px; }
.tg-platform .tg-cart-row{
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 14px;
  align-items: start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tg-line-soft);
}
.tg-platform .tg-cart-row:last-child{ border-bottom: 0; padding-bottom: 0; }
.tg-platform .tg-cart-media{
  width: 96px;
  height: 96px;
  border-radius: 10px;
  background: #f4f2ee;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.tg-platform .tg-cart-main{ min-width: 0; }
.tg-platform .tg-cart-name{ margin: 0 0 4px; font-weight: 600; }
.tg-platform .tg-cart-side{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.tg-platform .tg-cart-qty{ display: inline-flex; align-items: center; gap: 8px; }
.tg-platform .tg-cart-qty-n{ min-width: 2ch; text-align: center; font-weight: 600; }
.tg-platform .tg-cart-total{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--tg-line-soft);
}
.tg-platform .tg-cart-subtotal{ margin: 0; font-size: 1.15rem; font-weight: 700; }
@media (max-width: 560px) {.tg-platform .tg-cart-row{ grid-template-columns: 72px 1fr; }
.tg-platform .tg-cart-media{ width: 72px; height: 72px; }
.tg-platform .tg-cart-side{ grid-column: 1 / -1; align-items: flex-start; }}
.tg-platform .tg-shop-sold{
  display: inline-flex; align-items: center; gap: var(--tg-s2);
  padding: var(--tg-s2) var(--tg-s3);
  border: 1px solid var(--tg-line-soft); border-radius: var(--tg-r-sm);
  color: var(--tg-text-3); font-size: .9rem;
}
.tg-platform .tg-sr-only{
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.tg-platform .tg-ta{ position: relative; }
.tg-platform .tg-ta-list{
  position: absolute; z-index: 40; top: calc(100% + 2px); left: 0; right: 0;
  margin: 0; padding: var(--tg-s1) 0; list-style: none; max-height: 20rem;
  overflow-y: auto; background: var(--tg-surface, #fff);
  border: 1px solid var(--tg-border, #d0d0d0); border-radius: var(--tg-r2, 6px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}
.tg-platform .tg-ta-item{
  display: flex; flex-direction: column; gap: 2px; cursor: pointer;
  padding: var(--tg-s2) var(--tg-s3);
}
.tg-platform .tg-ta-item.is-active, .tg-platform .tg-ta-item:hover{ background: var(--tg-surface-2, #f1f1f1); }
.tg-platform .tg-ta-name{ font-weight: 600; font-size: .92rem; color: var(--tg-text); }
.tg-platform .tg-ta-meta{ font-size: .8rem; color: var(--tg-text-3); }
.tg-platform .tg-chosen{
  display: flex; align-items: center; justify-content: space-between; gap: var(--tg-s3);
  padding: var(--tg-s2) var(--tg-s3); border: 1px solid var(--tg-border, #d0d0d0);
  border-radius: var(--tg-r2, 6px); background: var(--tg-surface-2, #f7f7f7);
}
.tg-platform .tg-chosen-who{ display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tg-platform .tg-chosen-name{ font-weight: 600; color: var(--tg-text); }
.tg-platform .tg-chosen-meta{
  font-size: .8rem; color: var(--tg-text-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tg-platform .tg-side-nav a{
  display: flex; align-items: center; gap: var(--tg-s2);
  width: 100%; text-align: left; min-height: var(--tg-tap);
  padding: var(--tg-s2) var(--tg-s3);
  border: 1px solid transparent; border-radius: var(--tg-r-sm);
  background: transparent; color: var(--tg-text-2);
  font: inherit; font-size: .92rem; cursor: pointer;
  text-decoration: none;
}
.tg-platform .tg-side-nav a:hover{
  background: var(--tg-charcoal-2); color: var(--tg-text);
  text-decoration: none;
}
.tg-platform .tg-side-nav a.is-active{
  background: var(--tg-gold-wash); color: var(--tg-gold-bright);
  border-color: rgba(200,161,90,.3); font-weight: 600;
}
@media (max-width: 900px) {.tg-platform .tg-side-nav a{ width: auto; }
.tg-platform .tg-app-drawer .tg-side-nav a{ width: 100%; }}
.tg-platform .tg-app-rail{
  grid-template-columns: 168px 230px minmax(0, 1fr);
  gap: var(--tg-s4);
}
.tg-platform .tg-rail{
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: sticky;
  top: 16px;
  padding-right: var(--tg-s3);
  border-right: 1px solid var(--tg-line-soft);
}