
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--f-body);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--f-heading);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.4rem,5vw,4.2rem)} h2{font-size:clamp(1.9rem,3.4vw,2.9rem)} h3{font-size:1.5rem} h4{font-size:1.2rem}
p{margin:0 0 1em}
.s-section{position:relative;padding:96px 24px;overflow:hidden}
.s-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.s-section.s-spill,.s-section.s-raise{overflow:visible}.s-section.s-raise{z-index:5}
.ly-back{position:relative;z-index:0}.ly-front{position:relative;z-index:20}.ly-top{position:relative;z-index:40}
.s-inner.full{max-width:none;width:100%}
.s-overlay{position:absolute;inset:0;z-index:0;pointer-events:none}
.s-bgvideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.s-bgembed{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;container-type:size}.s-bgembed iframe{position:absolute;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);border:0;pointer-events:none}
.s-bgposter{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;pointer-events:none}.s-bglottie{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.s-bg-mob{display:none}@media (max-width:767px){.s-bg-desk{display:none}.s-bg-mob{display:block}}
@media (prefers-reduced-motion:reduce){.s-bgembed,.s-bglottie{display:none}}
.s-row{display:grid;gap:32px;align-items:center}
.s-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.s-col.s-col-gap{gap:var(--col-gap)}
.s-col.s-col-row{flex-direction:row;flex-wrap:wrap;align-items:center}
.s-col.s-col-row>*{flex:0 0 auto;max-width:100%;margin-top:0;margin-bottom:0}
.s-col.s-col-al-start{align-items:flex-start}.s-col.s-col-al-center{align-items:center;text-align:center}.s-col.s-col-al-end{align-items:flex-end;text-align:right}
.s-col.s-col-row.s-col-al-start{justify-content:flex-start;align-items:center}.s-col.s-col-row.s-col-al-center{justify-content:center;align-items:center}.s-col.s-col-row.s-col-al-end{justify-content:flex-end;align-items:center}.s-col.s-col-row.s-col-al-between{justify-content:space-between;align-items:center}
.s-text>*:last-child{margin-bottom:0}
.s-text h3{font-size:1.25rem;margin:1.3em 0 .4em;color:var(--c-text)}.s-text>h3:first-child{margin-top:0}
.s-muted{color:var(--c-muted)}
.s-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--radius);font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s;font-size:1rem;line-height:1.2;width:fit-content}
.s-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}
.s-btn.primary{background:var(--c-primary);color:var(--c-on-primary,#fff)}
.s-btn.secondary{background:var(--c-secondary);color:var(--c-on-secondary,#fff)}
.s-btn.gradient{background:linear-gradient(100deg,var(--c-primary),var(--c-secondary));background-size:160% 100%;background-position:0 0;color:#fff;transition:background-position .4s ease,transform .2s ease,box-shadow .2s ease}
.s-btn.gradient:hover{background-position:100% 0;box-shadow:0 10px 30px -10px var(--c-primary)}
.s-btn.glass{background:color-mix(in srgb,currentColor 8%,transparent);border-color:color-mix(in srgb,currentColor 22%,transparent);backdrop-filter:blur(10px)}
.s-grad-text{-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.s-grad-anim{background-size:300% 300%!important;animation:s-grad-shift 14s ease infinite}
@keyframes s-grad-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media (prefers-reduced-motion:reduce){.s-grad-anim{animation:none}}
.s-btn.outline{border-color:currentColor;background:transparent}
.s-btn.ghost{background:transparent;padding-left:0;padding-right:0}
.s-btn.light{background:#fff;color:#111}
.s-img{width:100%;height:auto;border-radius:var(--radius);object-fit:cover}
.s-divider{border:0;border-top:1px solid currentColor;opacity:.15;margin:0;width:100%}
.s-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000}
.s-video iframe,.s-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.s-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--c-primary) 14%,transparent);color:var(--c-hl,var(--c-primary));font-size:26px}
.s-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.s-list li{display:flex;gap:10px;align-items:flex-start}
.s-list li::before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border-radius:50%;background:var(--c-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.s-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:0 auto;padding:18px 24px}
.s-nav-wrap{position:relative;z-index:50}
.s-nav-wrap.sticky{position:sticky;top:0;backdrop-filter:saturate(1.4) blur(12px)}
.s-nav-logo{font-family:var(--f-heading);font-weight:800;font-size:1.35rem;text-decoration:none;display:flex;align-items:center;gap:10px}
.s-nav-logo img{height:36px;width:auto}
.s-nav-links{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0}
.s-nav-links a{text-decoration:none;font-weight:500;opacity:.85;white-space:nowrap}
.s-nav-links a:hover{opacity:1}
.s-nav.nl{max-width:var(--nl-maxw,1200px);padding:0 var(--nl-side,24px);min-height:var(--nl-h,auto)}
.s-nav.nl .s-nav-links{gap:var(--nl-gap,28px)}
.s-nav.nl .s-nav-links a{font-size:var(--nl-size,inherit);font-weight:var(--nl-weight,500);text-transform:var(--nl-tt,none);letter-spacing:var(--nl-ls,normal);font-family:var(--nl-font,inherit);color:var(--nl-color,inherit);opacity:1}
.s-nav.nl-right .s-nav-links{margin-left:auto}.s-nav.nl-left .s-nav-links{margin-right:auto}
.s-nav.nl .s-nav-logo img{height:var(--nl-logo-h,40px);width:auto;max-height:none}
.s-nav.nl .s-nav-logo span{font-size:var(--nl-logo-size,inherit);font-weight:var(--nl-logo-weight,inherit);text-transform:var(--nl-logo-tt,none)}
.s-nav.nl .s-nav-actions:empty{display:none}
.s-nav-actions{display:flex;gap:12px;align-items:center}
.s-burger{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:6px}
.s-cart-btn{position:relative;background:none;border:0;color:inherit;cursor:pointer;padding:6px;display:inline-flex}
.s-cart-count{position:absolute;top:-4px;right:-6px;background:var(--c-primary);color:var(--c-on-primary,#fff);border-radius:999px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px}
.s-nav-tight{position:relative}.s-nav-tight .s-nav-links{display:none}.s-nav-tight .s-nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;background:var(--c-bg);color:var(--c-text);padding:20px;border-radius:14px;box-shadow:0 20px 30px -20px rgba(0,0,0,.3);z-index:60}.s-nav-tight .s-burger{display:inline-flex}
@media (max-width:820px){.s-nav-links{display:none}.s-nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--c-bg);padding:20px;box-shadow:0 20px 30px -20px rgba(0,0,0,.3)}.s-burger{display:inline-flex}.s-nav-actions .s-btn{display:none}}
.s-footer{padding:64px 24px 32px}
.s-footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px}
.s-footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.s-footer-grid a{text-decoration:none;opacity:.75}
.s-footer-bottom{max-width:1200px;margin:48px auto 0;padding-top:24px;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem;opacity:.7}
@media (max-width:820px){.s-footer-grid{grid-template-columns:1fr 1fr}}
.s-gallery{display:grid;gap:12px}
.s-gallery img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}
.s-acc{border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.s-acc-cards{display:grid;gap:12px}.s-acc-cards .s-acc{border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:calc(var(--radius) + 6px);padding:0 22px;background:color-mix(in srgb,var(--c-bg) 80%,transparent);transition:border-color .2s,box-shadow .2s}.s-acc-cards .s-acc[open]{border-color:color-mix(in srgb,var(--c-primary) 45%,transparent);box-shadow:0 18px 40px -28px rgba(15,23,42,.35)}
.s-eyebrow-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-hl,var(--c-primary));background:color-mix(in srgb,currentColor 9%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.s-acc summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;font-size:1.1rem;display:flex;justify-content:space-between;gap:16px}
.s-acc summary::after{content:"+";font-size:1.4rem;line-height:1;transition:transform .2s}
.s-acc[open] summary::after{transform:rotate(45deg)}
.s-acc .s-acc-body{padding:0 0 20px;opacity:.8}
.s-countdown{display:flex;gap:16px;flex-wrap:wrap}
.s-countdown div{min-width:90px;padding:18px;border-radius:var(--radius);background:color-mix(in srgb,currentColor 8%,transparent);text-align:center}
.s-countdown b{display:block;font-size:2.4rem;font-family:var(--f-heading);line-height:1}
.s-countdown span{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}
.s-counter b{display:block;font-family:var(--f-heading);font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;color:var(--c-hl,var(--c-primary))}
.s-marquee{overflow:hidden;white-space:nowrap;width:100%}
.s-marquee-track{display:inline-flex;gap:64px;animation:s-marquee var(--marquee-speed,30s) linear infinite;padding-right:64px}
.s-marquee-track span{font-family:var(--f-heading);font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700;opacity:.8}
@keyframes s-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.s-map{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--radius)}
.s-form{display:grid;gap:14px;width:100%}
.s-form:not([data-inline]){grid-template-columns:repeat(6,minmax(0,1fr))}.s-form:not([data-inline])>*{grid-column:1/-1}.s-form:not([data-inline])>[data-w=half]{grid-column:span 3}.s-form:not([data-inline])>[data-w=third]{grid-column:span 2}
@media (max-width:600px){.s-form:not([data-inline])>[data-w]{grid-column:1/-1}}
.s-form .s-field{display:grid;gap:6px}
.s-form label{font-size:.9rem;font-weight:600}
.s-form input,.s-form textarea,.s-form select,.s-input{width:100%;padding:13px 14px;border-radius:calc(var(--radius) * .6);border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:color-mix(in srgb,var(--c-bg) 92%,currentColor 0%);color:inherit;font:inherit}
.s-form input:focus,.s-form textarea:focus,.s-form select:focus,.s-input:focus{outline:2px solid var(--c-primary);outline-offset:1px}
.s-form.fl{row-gap:var(--fl-gap,14px);column-gap:var(--fl-colgap,var(--fl-gap,14px))}
.s-form.fl label{color:var(--fl-label-color,inherit);font-size:var(--fl-label-size,.9rem);font-weight:var(--fl-label-weight,600);text-transform:var(--fl-label-tt,none);letter-spacing:var(--fl-label-ls,normal);font-family:var(--fl-label-font,inherit)}
.s-form.fl input:not([type=checkbox]):not([type=radio]),.s-form.fl select{padding:var(--fl-pad,13px 14px);border-radius:var(--fl-radius,6px);border:var(--fl-border,1px solid #ccc);background:var(--fl-bg,transparent);font-size:var(--fl-size,inherit);color:var(--fl-color,inherit);height:var(--fl-h,auto);box-sizing:border-box}
.s-form.fl textarea{padding:var(--fl-pad,13px 14px);border-radius:var(--fl-radius,6px);border:var(--fl-border,1px solid #ccc);background:var(--fl-bg,transparent);font-size:var(--fl-size,inherit);color:var(--fl-color,inherit)}
.s-form.fl .s-btn{background:var(--fl-btn-bg,var(--c-primary));color:var(--fl-btn-color,#fff);border-radius:var(--fl-btn-radius,var(--radius));padding:var(--fl-btn-pad,14px 28px);font-weight:var(--fl-btn-weight,600);font-size:var(--fl-btn-size,1rem);border:var(--fl-btn-border,0);justify-self:start}
.s-form .s-success{padding:16px;border-radius:var(--radius);background:color-mix(in srgb,var(--c-primary) 12%,transparent)}
.s-form .s-error{color:#dc2626;font-size:.9rem}
.s-products{display:grid;gap:28px}
.s-product-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.s-product-card .s-pimg{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--c-surface)}
.s-product-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.s-product-card:hover img{transform:scale(1.05)}
.s-price{font-weight:700}
.s-price s{opacity:.5;font-weight:400;margin-left:8px}
.s-pd{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;max-width:1200px;margin:0 auto}
.s-pd-gallery{display:grid;gap:12px}
.s-pd-gallery img{width:100%;border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover}
.s-opt{display:flex;flex-wrap:wrap;gap:8px}
.s-opt button{padding:9px 16px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer;font:inherit}
.s-opt button[aria-pressed=true]{background:var(--c-text);color:var(--c-bg);border-color:var(--c-text)}
.s-qty{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px}
.s-qty button{background:none;border:0;color:inherit;width:40px;height:40px;cursor:pointer;font-size:18px}
.s-qty span{min-width:28px;text-align:center}
@media (max-width:820px){.s-pd{grid-template-columns:1fr;gap:28px}}
.s-drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:900}
.s-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--c-bg);color:var(--c-text);z-index:901;display:flex;flex-direction:column;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
.s-drawer header,.s-drawer footer{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.s-drawer header{border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.s-drawer footer{border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);flex-direction:column;align-items:stretch}
.s-drawer .s-lines{flex:1;overflow:auto;padding:12px 24px;display:grid;gap:16px;align-content:start}
.s-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.s-line img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.s-x{background:none;border:0;color:inherit;cursor:pointer;font-size:22px;line-height:1;opacity:.7}
.s-popup-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:950;display:grid;place-items:center;padding:16px}
.s-popup{position:relative;background:var(--c-bg);color:var(--c-text);border-radius:calc(var(--radius) + 6px);max-width:480px;width:100%;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.s-popup .s-popup-body{padding:32px;display:grid;gap:12px}
.s-popup .s-x{position:absolute;top:10px;right:14px;z-index:2}
.s-popup.slide_in{position:fixed;right:20px;bottom:20px;max-width:380px;z-index:951}
.s-popup-bar{position:fixed;left:0;right:0;top:0;z-index:951;background:var(--c-primary);color:var(--c-on-primary,#fff);padding:12px 48px 12px 16px;text-align:center;display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}
.s-popup-bar .s-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#fff}
.s-checkout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding:48px 24px}
.s-card{background:var(--c-surface);border-radius:var(--radius);padding:24px}
@media (max-width:820px){.s-checkout{grid-template-columns:1fr}}
/* member store: locked prices, access status, order progress */
.s-price-locked{font-size:.9rem;opacity:.75}
.s-pdesc{font-size:.9rem;opacity:.72;line-height:1.5}
.s-portal-lock-box{border:1px dashed color-mix(in srgb,currentColor 25%,transparent);border-radius:16px;padding:22px;text-align:center;background:color-mix(in srgb,var(--c-primary) 5%,transparent)}
.s-portal-lock.compact .s-portal-lock-box{padding:16px}
.s-access{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding:14px 18px;border-radius:14px;background:var(--c-surface)}
.s-access-approved{background:color-mix(in srgb,#16a34a 10%,transparent)}.s-access-pending{background:color-mix(in srgb,#f59e0b 14%,transparent)}.s-access-rejected{background:color-mix(in srgb,#dc2626 10%,transparent)}
.s-order{padding:18px 20px}
.s-order-head{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;gap:16px;width:100%;cursor:pointer;flex-wrap:wrap}
.s-chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--c-primary) 12%,transparent);color:var(--c-primary);text-transform:none;margin-top:4px}
.s-eft{display:grid;gap:8px;text-align:left;padding:16px 18px;border-radius:var(--radius,12px);border:1px dashed color-mix(in srgb,var(--c-primary) 45%,transparent);background:color-mix(in srgb,var(--c-primary) 5%,transparent);margin:16px 0}
.s-eft pre{margin:0;font:inherit;white-space:pre-wrap;line-height:1.5}.s-eft code{font-weight:700}.s-eft-up{justify-self:start;cursor:pointer}.s-eft-ok{margin:0;color:#15803d;font-weight:600}
.s-sku{font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.65;letter-spacing:.02em}
.s-stock-out{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;justify-self:start;width:max-content}
.s-access-disabled{border-color:color-mix(in srgb,currentColor 25%,transparent)}
.s-chip.good{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.s-chip.bad{background:color-mix(in srgb,#dc2626 12%,transparent);color:#b91c1c;text-transform:capitalize}
.s-steps{display:flex;list-style:none;margin:16px 0 0;padding:0;gap:0;overflow-x:auto}
.s-steps li{flex:1;min-width:84px;position:relative;font-size:.74rem;text-align:center;opacity:.55;padding-top:22px}
.s-steps li span{position:absolute;top:4px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:color-mix(in srgb,currentColor 25%,transparent);z-index:1}
.s-steps li::before{content:'';position:absolute;top:10px;left:-50%;width:100%;height:2px;background:color-mix(in srgb,currentColor 18%,transparent)}
.s-steps li:first-child::before{display:none}
.s-steps li.done,.s-steps li.now{opacity:1}.s-steps li.done span,.s-steps li.now span{background:var(--c-primary)}.s-steps li.done::before,.s-steps li.now::before{background:var(--c-primary)}
.s-steps li.now{font-weight:700}.s-steps li.now span{box-shadow:0 0 0 5px color-mix(in srgb,var(--c-primary) 22%,transparent)}
.s-order-body{margin-top:16px;display:grid;gap:14px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);padding-top:14px}
.s-order-body td{padding:4px 0}
.s-history{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.9rem}.s-history li{padding-left:14px;border-left:2px solid color-mix(in srgb,var(--c-primary) 40%,transparent)}
.s-posts{display:grid;gap:28px}
.s-post{display:flex;flex-direction:column;gap:10px;text-decoration:none}
.s-post img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);width:100%}
.s-split-piece{display:inline-block;will-change:transform}
.pt-overlay{position:fixed;inset:0;background:var(--c-primary);z-index:9999;pointer-events:none;transform:scaleY(0);transform-origin:bottom}
html.pt-loading::before{content:"";position:fixed;left:0;top:0;height:3px;width:100%;z-index:10000;background:var(--c-primary);transform-origin:left;animation:pt-load 8s cubic-bezier(.1,.7,.2,1) forwards;box-shadow:0 0 10px var(--c-primary)}
@keyframes pt-load{from{transform:scaleX(0)}to{transform:scaleX(.92)}}
@keyframes pt-fade{from{opacity:0}to{opacity:1}}@keyframes pt-slide{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes pt-zoom{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes pt-wipe{from{transform:scaleY(1)}to{transform:scaleY(0)}}
html.pt-in.pt-fade #site-root{animation:pt-fade .5s cubic-bezier(.22,1,.36,1) both}html.pt-in.pt-slide #site-root{animation:pt-slide .55s cubic-bezier(.22,1,.36,1) both}html.pt-in.pt-zoom #site-root{animation:pt-zoom .55s cubic-bezier(.22,1,.36,1) both}
html.pt-in.pt-wipe::after{content:"";position:fixed;inset:0;background:var(--c-primary);z-index:9999;pointer-events:none;transform-origin:top;animation:pt-wipe .6s cubic-bezier(.77,0,.18,1) both}

/* buttons: hover FX */
.s-btn.fx-line{position:relative;box-shadow:none!important;transform:none!important}
.s-btn.fx-line::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.s-btn.fx-line:hover::after{transform:scaleX(1);transform-origin:left}
.s-btn.fx-fill{position:relative;overflow:hidden;z-index:0;transform:none!important}
.s-btn.fx-fill::before{content:"";position:absolute;inset:0;background:var(--c-text);transform:translateX(-101%);transition:transform .45s cubic-bezier(.22,1,.36,1);z-index:-1}
.s-btn.fx-fill:hover::before{transform:none}.s-btn.fx-fill:hover{color:var(--c-bg)}
.s-btn.fx-shine{position:relative;overflow:hidden}
.s-btn.fx-shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s}
.s-btn.fx-shine:hover::after{left:130%}
.s-btn.fx-glow:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 25%,transparent),0 10px 40px -6px var(--c-primary)!important}
.s-btn.fx-pulse{animation:s-pulse 2s infinite}
@keyframes s-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c-primary) 60%,transparent)}70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 0 transparent}}
.s-btn.fx-arrow::after{content:"→";display:inline-block;transition:transform .3s}.s-btn.fx-arrow:hover::after{transform:translateX(6px)}
.s-btn.fx-border{position:relative;background:transparent!important;color:inherit;border-color:transparent;transform:none!important}
.s-btn.fx-border::before{content:"";position:absolute;inset:0;border:2px solid currentColor;border-radius:inherit;clip-path:inset(0 100% 100% 0);transition:clip-path .6s}
.s-btn.fx-border:hover::before{clip-path:inset(0 0 0 0)}
/* lists */
.s-list.m-bullet li::before,.s-list.m-arrow li::before,.s-list.m-star li::before,.s-list.m-custom li::before,.s-list.m-number li::before{background:none;width:auto;height:auto;margin:0;color:var(--c-hl,var(--c-primary));font-weight:700;border-radius:0}
.s-list.m-bullet li::before{content:"•";font-size:1.4em;line-height:1}
.s-list.m-arrow li::before{content:"→"}
.s-list.m-star li::before{content:"★"}
.s-list.m-custom li::before{content:var(--marker)}
.s-list.m-number{counter-reset:li}.s-list.m-number li{counter-increment:li}.s-list.m-number li::before{content:counter(li) ".";min-width:1.4em}
/* file, table, breadcrumbs */
.s-file{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius);border:1px solid color-mix(in srgb,currentColor 15%,transparent);text-decoration:none;max-width:520px}
.s-file:hover{border-color:var(--c-primary)}.s-file .ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c-primary) 14%,transparent);color:var(--c-hl,var(--c-primary));flex:none}
.s-table-wrap{overflow-x:auto;width:100%}
.s-table{width:100%;border-collapse:collapse;font-size:.95rem}
.s-table th{text-align:left;font-weight:700;padding:12px 14px;border-bottom:2px solid color-mix(in srgb,currentColor 20%,transparent)}
.s-table td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.s-table.striped tbody tr:nth-child(odd){background:color-mix(in srgb,currentColor 4%,transparent)}
.s-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;opacity:.8}.s-crumbs a{text-decoration:none}.s-crumbs a:hover{text-decoration:underline}
/* signature */
.s-sig{display:flex;gap:16px;align-items:center}.s-sig img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.s-sig .sig-name{font-family:"Brush Script MT","Segoe Script",cursive;font-size:1.8rem;line-height:1}
/* lively text */
.s-lively{margin:0;font-family:var(--f-heading)}
.s-lively.fx-gradient{background:linear-gradient(90deg,var(--c1),var(--c2),var(--c1));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:s-grad 4s linear infinite}
@keyframes s-grad{to{background-position:200% center}}
.s-lively.fx-shine{background:linear-gradient(110deg,var(--c1) 40%,#fff 50%,var(--c1) 60%);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:s-grad 3s linear infinite}
.s-lively.fx-neon{color:#fff;text-shadow:0 0 6px var(--c1),0 0 18px var(--c1),0 0 42px var(--c2);animation:s-flicker 3s infinite}
@keyframes s-flicker{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.6}}
.s-lively.fx-outline{-webkit-text-stroke:2px var(--c1);color:transparent;background:linear-gradient(var(--c1),var(--c1)) left/0 100% no-repeat;-webkit-background-clip:text;background-clip:text;transition:background-size .8s}
.s-lively.fx-outline:hover,.s-lively.fx-outline.in{background-size:100% 100%}
.s-lively.fx-wave span{display:inline-block;animation:s-wave 1.6s ease-in-out infinite;color:var(--c1)}
@keyframes s-wave{0%,60%,100%{transform:none}30%{transform:translateY(-.25em)}}
.s-lively.fx-glitch{position:relative;color:var(--c1)}
.s-lively.fx-glitch::before,.s-lively.fx-glitch::after{content:attr(data-text);position:absolute;inset:0}
.s-lively.fx-glitch::before{color:var(--c2);animation:s-glitch 2s infinite linear alternate;clip-path:inset(0 0 60% 0)}
.s-lively.fx-glitch::after{color:#22d3ee;animation:s-glitch 1.5s infinite linear alternate-reverse;clip-path:inset(55% 0 0 0)}
@keyframes s-glitch{0%{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,1px)}80%{transform:translate(2px,-2px)}100%{transform:translate(0)}}
/* directory */
.s-dir-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.s-dir-tools input{flex:1;min-width:200px}
.s-dir{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.s-dir-item{display:flex;gap:14px;padding:16px;border-radius:var(--radius);background:var(--c-surface);align-items:flex-start}
.s-dir-item img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.s-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;background:color-mix(in srgb,var(--c-primary) 14%,transparent);color:var(--c-hl,var(--c-primary));font-weight:600}
.s-chips{display:flex;gap:8px;flex-wrap:wrap}.s-chips button{padding:7px 14px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:none;color:inherit;cursor:pointer;font:inherit;font-size:.9rem}
.s-chips button[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
/* iframe / docs */
.s-frame{width:100%;border:0;border-radius:var(--radius);background:var(--c-surface)}
/* masks & shapes */
.s-mask{width:100%;aspect-ratio:1;object-fit:cover}
.s-mask.circle{clip-path:circle(50%)}.s-mask.arch{border-radius:999px 999px 0 0}.s-mask.hexagon{clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}
.s-mask.star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.s-mask.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.s-mask.blob{border-radius:62% 38% 46% 54%/49% 60% 40% 51%;animation:s-blob 10s ease-in-out infinite}
@keyframes s-blob{50%{border-radius:40% 60% 62% 38%/55% 38% 62% 45%}}
.s-mask.heart{clip-path:path("M50 90 C 20 70, 0 50, 5 28 C 10 5, 40 0, 50 22 C 60 0, 90 5, 95 28 C 100 50, 80 70, 50 90 Z");aspect-ratio:1}
.s-textmask.pan{background-size:140% auto;animation:s-tm-pan 18s ease-in-out infinite alternate}@keyframes s-tm-pan{from{background-position:20% 30%}to{background-position:80% 70%}}@media (prefers-reduced-motion:reduce){.s-textmask.pan{animation:none}}
.s-textmask{font-family:var(--f-heading);font-weight:900;font-size:clamp(4rem,14vw,12rem);line-height:.9;background-size:cover;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent;margin:0}
/* text slider & animations */
.s-tslider{display:flex;flex-wrap:wrap;gap:.3em;align-items:baseline;font-family:var(--f-heading)}
.s-tslider .rot{display:inline-grid;overflow:hidden;color:var(--c-hl,var(--c-primary));height:1.2em;line-height:1.2em}
.s-tslider .rot span{grid-area:1/1;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s}
.s-tanim{font-family:var(--f-heading);margin:0}
.s-tanim .caret{display:inline-block;width:.08em;height:1em;background:currentColor;margin-left:.05em;vertical-align:-.1em;animation:s-caret 1s steps(1) infinite}
@keyframes s-caret{50%{opacity:0}}
.s-tanim.highlight mark{background:linear-gradient(transparent 55%,color-mix(in srgb,var(--c-primary) 45%,transparent) 55%) left/0 100% no-repeat;color:inherit;transition:background-size 1.2s ease}
.s-tanim.highlight.in mark{background-size:100% 100%}
/* preloader */
.s-preloader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;transition:opacity .5s,visibility .5s}
.s-preloader.done{opacity:0;visibility:hidden}
.s-spin{width:48px;height:48px;border-radius:50%;border:4px solid color-mix(in srgb,var(--pl) 25%,transparent);border-top-color:var(--pl);animation:s-rot 0.9s linear infinite}
@keyframes s-rot{to{transform:rotate(360deg)}}
.s-pdots{display:flex;gap:10px}.s-pdots i{width:14px;height:14px;border-radius:50%;background:var(--pl);animation:s-bounce 1s infinite}.s-pdots i:nth-child(2){animation-delay:.15s}.s-pdots i:nth-child(3){animation-delay:.3s}
@keyframes s-bounce{0%,80%,100%{transform:scale(.4);opacity:.4}40%{transform:scale(1);opacity:1}}
.s-pbar{position:fixed;top:0;left:0;height:3px;background:var(--pl);animation:s-load 1.2s ease-out forwards}
@keyframes s-load{from{width:0}to{width:90%}}
.s-plogo{max-width:140px;animation:s-pulse2 1.2s ease-in-out infinite}@keyframes s-pulse2{50%{transform:scale(.92);opacity:.6}}
/* bars */
.s-bars{display:grid;gap:18px}.s-bar-top{display:flex;justify-content:space-between;font-weight:600;margin-bottom:6px}
.s-bar-track{height:10px;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);overflow:hidden}
.s-bar-fill{height:100%;border-radius:999px;background:var(--bar,var(--c-primary));width:0;transition:width 1.6s cubic-bezier(.22,1,.36,1)}
/* headliner */
.s-headliner{display:flex;align-items:center;overflow:hidden;color:#fff;border-radius:var(--radius)}
.s-headliner .badge{flex:none;padding:10px 16px;background:var(--c-primary);font-weight:800;letter-spacing:.08em;font-size:.85rem;z-index:1}
.s-headliner .track{display:inline-flex;gap:56px;white-space:nowrap;padding:10px 0;animation:s-marquee var(--marquee-speed,25s) linear infinite}
.s-headliner .track span::before{content:"◆";margin-right:14px;color:var(--c-hl,var(--c-primary))}
/* tabs */
.s-tabs{display:grid;gap:20px}.s-tabs.vertical{grid-template-columns:220px 1fr}
.s-tablist{display:flex;gap:6px;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);overflow-x:auto}
.s-tabs.vertical .s-tablist{flex-direction:column;border-bottom:0;border-right:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.s-tablist button{background:none;border:0;color:inherit;font:inherit;font-weight:600;padding:12px 16px;cursor:pointer;opacity:.6;border-bottom:2px solid transparent;margin-bottom:-1px;text-align:left;white-space:nowrap}
.s-tabs.vertical .s-tablist button{border-bottom:0;border-right:2px solid transparent;margin:0 -1px 0 0}
.s-tablist button[aria-selected=true]{opacity:1;color:var(--c-hl,var(--c-primary));border-color:var(--c-primary)}
.s-tabpanel{animation:s-fadein .35s ease}.s-tabpanel img{border-radius:var(--radius);margin-top:14px}
@keyframes s-fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:640px){.s-tabs.vertical{grid-template-columns:1fr}.s-tabs.vertical .s-tablist{flex-direction:row;border-right:0}}
/* back to top, floating buttons */
.s-float{position:fixed;bottom:22px;z-index:800;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:0;cursor:pointer;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);transition:transform .25s,opacity .3s}
.s-float:hover{transform:translateY(-3px)}.s-float.right{right:22px}.s-float.left{left:22px}
.s-totop{background:var(--c-text);color:var(--c-bg)}.s-totop.hidden{opacity:0;pointer-events:none}
.s-wa{background:#25d366;color:#fff;width:58px;height:58px}
.s-call-float{background:var(--c-primary);color:var(--c-on-primary,#fff)}
@media (min-width:821px){.s-call-float.mobile-only{display:none}}
/* slider */
.s-slider{position:relative;overflow:hidden;border-radius:var(--radius);background:#000;color:#fff}
.s-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease,transform .8s ease;display:flex;align-items:flex-end}
.s-slide.on{opacity:1;z-index:1}
.s-slide img,.s-slide video,.s-slide iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.s-slide .cap{position:relative;z-index:2;padding:48px;max-width:720px;background:linear-gradient(transparent,rgba(0,0,0,.55));width:100%}
.s-slider.v-standard .s-slide{transform:translateX(8%)}.s-slider.v-standard .s-slide.on{transform:none}
.s-slider.v-cinematic .s-slide.on img{animation:s-kb 9s ease-out forwards}
@keyframes s-kb{from{transform:scale(1.15)}to{transform:scale(1)}}
.s-slider.v-superhero{border-radius:0}.s-slider.v-superhero .s-slide{align-items:center;justify-content:center;text-align:center}
.s-slider.v-superhero .cap{background:none;max-width:900px}.s-slider.v-superhero .cap h2{font-size:clamp(2.6rem,6vw,5.4rem)}
.s-slider .nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#111;cursor:pointer;font-size:20px}
.s-slider .nav.prev{left:14px}.s-slider .nav.next{right:14px}
.s-slider .dots{position:absolute;bottom:16px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:8px}
.s-slider .dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.5);cursor:pointer;transition:width .3s}
.s-slider .dots button[aria-current=true]{width:28px;background:#fff}
.s-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}.s-thumbs button{flex:none;width:110px;height:70px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;opacity:.6;background:none}
.s-thumbs button[aria-current=true]{border-color:var(--c-primary);opacity:1}.s-thumbs img{width:100%;height:100%;object-fit:cover}
/* carousel */
.s-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--pv) - 1) * 20px) / var(--pv));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.s-carousel::-webkit-scrollbar{display:none}.s-carousel>*{scroll-snap-align:start}
.s-card-x{display:flex;flex-direction:column;gap:8px;text-decoration:none}.s-card-x img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}
.s-car-nav{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.s-car-nav button{width:40px;height:40px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:none;color:inherit;cursor:pointer}
@media (max-width:820px){.s-carousel{--pv:1.2!important}}
/* galleries */
.s-gallery.v-masonry,.s-gallery.v-infinite{display:block;columns:var(--cols,3);column-gap:12px}
.s-gallery.v-masonry img,.s-gallery.v-infinite img{aspect-ratio:auto;height:auto;margin-bottom:12px;break-inside:avoid}
.s-gallery.v-hoverZoom figure,.s-gallery .gi{margin:0;overflow:hidden;border-radius:var(--radius);position:relative}
.s-gallery.v-hoverZoom img{transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s}.s-gallery.v-hoverZoom figure:hover img{transform:scale(1.12)}
.s-gallery.v-hoverZoom:hover figure:not(:hover) img{filter:grayscale(.8) brightness(.7)}
.s-gallery.v-floating img{animation:s-float 6s ease-in-out infinite}.s-gallery.v-floating img:nth-child(2n){animation-delay:-2s;margin-top:40px}.s-gallery.v-floating img:nth-child(3n){animation-delay:-4s}
@keyframes s-float{50%{transform:translateY(-18px) rotate(-1deg)}}
.s-gallery.v-kinetic{perspective:900px}.s-gallery.v-kinetic img{transition:transform .2s ease-out}
.s-rowscroll{overflow:hidden;display:grid;gap:14px}.s-rowscroll .row{display:flex;gap:14px;width:max-content;will-change:transform}
.s-rowscroll img{height:clamp(140px,22vw,260px);width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.s-lightbox{position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:30px}
.s-lightbox img,.s-lightbox iframe,.s-lightbox video{max-width:92vw;max-height:86vh;border-radius:8px;border:0}
.s-lightbox iframe{width:min(1100px,92vw);aspect-ratio:16/9;height:auto}
.s-lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:22px}
.s-lightbox .x{top:18px;right:18px}.s-lightbox .p{left:18px;top:50%}.s-lightbox .n{right:18px;top:50%}
.s-vgal{display:grid;gap:18px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.s-vthumb{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#111 center/cover;cursor:pointer;border:0;padding:0;width:100%}
.s-vthumb::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:2rem;background:rgba(0,0,0,.25);transition:background .3s}
.s-vthumb:hover::after{background:rgba(0,0,0,.05)}
@media (max-width:820px){.s-vgal{grid-template-columns:1fr}}
/* before/after */
.s-ba{position:relative;overflow:hidden;border-radius:var(--radius);user-select:none;touch-action:none;aspect-ratio:3/2}
.s-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.s-ba .after{clip-path:inset(0 0 0 var(--pos,50%))}.s-ba.vertical .after{clip-path:inset(var(--pos,50%) 0 0 0)}
.s-ba .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:#fff;transform:translateX(-50%);cursor:ew-resize}
.s-ba.vertical .handle{top:var(--pos,50%);bottom:auto;left:0;right:0;width:auto;height:3px;transform:translateY(-50%);cursor:ns-resize}
.s-ba .handle::after{content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.s-ba .lbl{position:absolute;top:14px;z-index:2;background:rgba(0,0,0,.55);color:#fff;padding:4px 10px;border-radius:999px;font-size:.8rem}
.s-ba .lbl.l{left:14px}.s-ba .lbl.r{right:14px}
/* fx */
.s-fx{position:relative;overflow:hidden;display:grid;place-items:center;border-radius:var(--radius)}
.s-fx canvas,.s-fx .fxbg,.s-fx .s-fx-base{position:absolute;inset:0;width:100%;height:100%}
.s-re-browser{display:flex;flex-direction:column;gap:20px}
.s-re-filters{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:calc(var(--radius) + 8px);background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 8%,transparent)}
.s-re-tabs{display:flex;gap:6px;flex-wrap:wrap}
.s-re-tabs button{all:unset;cursor:pointer;padding:8px 16px;border-radius:999px;font-weight:600;font-size:.92rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.s-re-tabs button.on{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}
.s-re-tabs button:focus-visible,.s-re-view button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.s-re-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.s-re-fields input,.s-re-fields select,.s-re-bar select,.s-re-search input,.s-re-search select{width:100%;min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit;font-size:.95rem}
.s-re-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.s-re-bar>span{font-weight:600;margin-right:auto}
.s-re-bar select{width:auto}
.s-re-view{display:inline-flex;border-radius:999px;padding:3px;border:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.s-re-view button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:.88rem;font-weight:600}
.s-re-view button.on{background:var(--c-text);color:var(--c-bg)}
.s-re-alert{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.s-re-alertbtn{all:unset;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--c-primary)}
.s-re-alertbtn:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:4px}
.s-re-alertform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}
.s-re-alertform input{flex:1 1 180px;min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit}
.s-re-alertform .err{color:#b91c1c;font-size:.9rem;width:100%}
.s-re-alert.done{margin:0;font-weight:600}
.s-re-agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.s-re-agentcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 18px;border-radius:calc(var(--radius) + 12px);background:var(--c-surface);color:inherit;text-decoration:none;border:1px solid color-mix(in srgb,currentColor 8%,transparent);transition:transform .25s ease}
.s-re-agentcard:hover{transform:translateY(-3px)}
.s-re-agentcard img,.s-re-ini.big{width:112px;height:112px;border-radius:999px;object-fit:cover;margin-bottom:8px;font-size:1.6rem}
.s-re-agentcard small{color:var(--c-muted)}.s-re-agentcard .n{margin-top:4px;font-size:.85rem;font-weight:600;color:var(--c-primary)}
a.s-re-agent{color:inherit;text-decoration:none}a.s-re-agent:hover strong{text-decoration:underline}
.s-re-profile{display:flex;gap:24px;align-items:center}
.s-re-profile img,.s-re-profile .s-re-ini.big{width:140px;height:140px;border-radius:999px;object-fit:cover;flex:none}
.s-re-profile h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;margin:0}
.s-re-stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;color:var(--c-muted)}.s-re-stats b{color:var(--c-text)}
.s-re-lead{color:var(--c-muted);font-size:1.15rem;margin:-8px 0 28px}
.s-re-mail{color:var(--c-primary);font-weight:600;text-decoration:none;word-break:break-all}
@media (max-width:640px){.s-re-profile{flex-direction:column;align-items:flex-start}}
.s-re-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:22px}
.s-re-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;border-radius:calc(var(--radius) + 10px);overflow:hidden;background:var(--c-bg);border:1px solid color-mix(in srgb,currentColor 9%,transparent);transition:transform .25s ease,box-shadow .25s ease}
.s-re-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px rgba(15,23,42,.45)}
.s-re-card.done .s-re-img img{filter:grayscale(.5)}
.s-re-img{position:relative;aspect-ratio:4/3;background:var(--c-surface);overflow:hidden}
.s-re-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.s-re-card:hover .s-re-img img{transform:scale(1.04)}
.s-re-badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:var(--c-primary);color:var(--c-on-primary,#fff)}
.s-re-img .s-re-badge{position:absolute;left:12px;top:12px}
.s-re-badge.rent{background:#0f766e;color:#fff}.s-re-badge.lease{background:#1e3a8a;color:#fff}
.s-re-badge.sold,.s-re-badge.let{background:#111827;color:#fff}.s-re-badge.under_offer{background:#b45309;color:#fff}
.s-re-feat{position:absolute;right:12px;top:12px;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:rgba(255,255,255,.92);color:#111827}
.s-re-count{position:absolute;right:12px;bottom:12px;padding:4px 9px;border-radius:999px;font-size:.75rem;background:rgba(0,0,0,.6);color:#fff}
.s-re-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.s-re-price{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}
.s-re-title{font-weight:600;line-height:1.35}
.s-re-place{display:flex;align-items:center;gap:4px;color:var(--c-muted);font-size:.9rem}
.s-re-place svg,.s-re-facts svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.s-re-facts{list-style:none;margin:6px 0 0;padding:10px 0 0;display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,currentColor 9%,transparent);font-size:.9rem}
.s-re-facts li{display:flex;align-items:center;gap:6px}
.s-re-facts.big{border:0;padding:0;gap:22px;font-size:1rem}.s-re-facts.big svg{width:20px;height:20px}
.s-re-empty{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding:56px 20px;border-radius:calc(var(--radius) + 8px);border:1px dashed color-mix(in srgb,currentColor 20%,transparent)}
.s-re-empty span{color:var(--c-muted)}
.s-re-noimg{width:100%;height:100%;background:linear-gradient(135deg,var(--c-surface),color-mix(in srgb,var(--c-primary) 18%,var(--c-surface)))}
.s-re-actions~.s-re-feat,.s-re-img:has(.s-re-actions) .s-re-feat{right:auto;left:12px;top:46px}
.s-re-feat.mandate{background:var(--c-secondary);color:#fff}
.s-re-badge.mandate{background:var(--c-secondary);color:#fff;margin-left:6px}
.s-re-actions{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:2}
.s-re-actions button{all:unset;cursor:pointer;width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#111827;box-shadow:0 4px 14px -6px rgba(0,0,0,.35);transition:transform .15s ease,background-color .15s ease}
.s-re-actions button:hover{transform:scale(1.06)}.s-re-actions button:active{transform:scale(.94)}
.s-re-actions button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.s-re-actions button.on{background:var(--c-primary);color:#fff}
.s-re-actions svg,.s-re-dactions svg,.s-re-bar-float svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.s-re-dactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.s-re-dactions .s-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.s-re-dactions .s-btn.on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.s-re-bar-float{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:#111827;color:#fff;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);max-width:calc(100vw - 24px)}
.s-re-bar-float a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap}
.s-re-bar-float a.cmp{background:var(--c-primary)}
.s-re-bar-float b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.18);font-size:.8rem}
.s-re-bar-float button{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:999px;font-size:1.2rem;opacity:.8}
.s-re-bar-float button:hover{opacity:1;background:rgba(255,255,255,.1)}
.s-re-saved{display:flex;flex-direction:column;gap:40px}
.s-re-compare h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;margin:0 0 16px}
.s-re-cmp-scroll{overflow-x:auto;border-radius:calc(var(--radius) + 8px);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.s-re-compare table{width:100%;border-collapse:collapse;min-width:640px;font-size:.95rem}
.s-re-compare th,.s-re-compare td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb,currentColor 8%,transparent)}
.s-re-compare tbody th{font-weight:600;color:var(--c-muted);white-space:nowrap;background:var(--c-surface);position:sticky;left:0}
.s-re-compare thead th{min-width:180px}
.s-re-compare thead a{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;font-weight:700}
.s-re-compare thead img,.s-re-compare thead .s-re-noimg{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius) + 2px);display:block}
.s-re-compare thead button{all:unset;cursor:pointer;margin-top:6px;font-size:.8rem;color:var(--c-muted);text-decoration:underline}
.s-re-compare .yes{color:var(--c-primary);font-weight:700}.s-re-compare .no{color:var(--c-muted)}
.s-re-compare .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.s-re-cmp-hint{color:var(--c-muted);margin:0}
.s-re-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.s-re-split-map{position:sticky;top:96px;border-radius:calc(var(--radius) + 8px);overflow:hidden}
@media (max-width:900px){.s-re-split{grid-template-columns:1fr}.s-re-split-map{display:none;position:static}.s-re-split.show-map .s-re-split-map{display:block}.s-re-split.show-map>.s-re-grid{display:none}}
@media (max-width:640px){.s-re-split>.s-re-grid{grid-template-columns:1fr}}
@media (min-width:901px){.s-re-browser.split .s-re-view{display:none}}
.s-re-search{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:calc(var(--radius) + 12px);background:var(--c-bg);color:var(--c-text);box-shadow:0 30px 60px -36px rgba(15,23,42,.45);border:1px solid color-mix(in srgb,currentColor 8%,transparent);max-width:980px;margin:0 auto;width:100%}
.s-re-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px}
.s-re-row2{display:flex;flex-wrap:wrap;gap:8px}.s-re-row2>*{flex:1 1 150px;min-width:0}.s-re-row2>.grow{flex:2 1 220px}.s-re-row2>.s-btn{flex:0 0 auto;min-height:44px;padding-inline:26px}
.s-re-search select{appearance:auto}
.s-re-search.look-bar{padding:10px;border-radius:999px;flex-direction:column}.s-re-search.look-bar .s-re-row2 input,.s-re-search.look-bar .s-re-row2 select{border-radius:999px}.s-re-search.look-bar .s-btn{border-radius:999px}
.s-re-search.look-minimal{background:transparent;box-shadow:none;border:0;padding:0}
.s-re-morebtn{all:unset;cursor:pointer;font-size:.88rem;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}.s-re-morebtn:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.s-re-more{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.s-re-more select{width:auto!important;min-width:140px;min-height:40px;padding:8px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit;font-size:.9rem}
.s-re-more button{all:unset;cursor:pointer;padding:8px 13px;border-radius:999px;font-size:.86rem;border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg)}
.s-re-more button.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 12%,var(--c-bg));font-weight:600}
.s-re-chipline{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%;order:5}.s-re-chipline button{all:unset;cursor:pointer;padding:4px 10px;border-radius:999px;font-size:.8rem;background:color-mix(in srgb,var(--c-primary) 12%,transparent)}.s-re-chipline .clear{background:none;text-decoration:underline;color:var(--c-muted)}
.s-re-search{container-type:inline-size}
@container (max-width:620px){.s-re-row{grid-template-columns:1fr 1fr}.s-re-row input{grid-column:1/-1}.s-re-row .s-btn{grid-column:1/-1}}
.s-re-row .s-btn{min-height:44px}
.s-re-page{padding:140px 24px 96px}.s-re-h1{font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.03em;margin:0 0 20px}
.s-re-detail{padding:120px 24px 80px}
.s-re-wrap{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.s-re-crumbs{display:flex;gap:8px;font-size:.9rem;color:var(--c-muted)}.s-re-crumbs a{color:inherit}
.s-re-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:8px;border-radius:calc(var(--radius) + 14px);overflow:hidden}
.s-re-gallery button{all:unset;cursor:zoom-in;position:relative;overflow:hidden;background:var(--c-surface)}
.s-re-gallery button:first-child{grid-row:span 2}
.s-re-gallery.n1{grid-template-columns:1fr;grid-template-rows:480px}.s-re-gallery.n2{grid-template-columns:2fr 1fr;grid-template-rows:480px}.s-re-gallery.n2 button:first-child{grid-row:auto}
.s-re-gallery.n3{grid-template-columns:2fr 1fr}.s-re-gallery.n4 button:nth-child(4){grid-column:span 2}
.s-re-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.s-re-gallery button:hover img{transform:scale(1.03)}
.s-re-gallery .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-weight:700;font-size:1.1rem}
.s-re-viewer{position:fixed;inset:0;z-index:1000;background:rgba(6,7,12,.94);display:grid;place-items:center}
.s-re-viewer img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:8px}
.s-re-viewer button{all:unset;cursor:pointer;position:absolute;color:#fff;font-size:44px;line-height:1;padding:12px}
.s-re-viewer .x{top:12px;right:20px}.s-re-viewer .prev{left:12px;top:50%;translate:0 -50%}.s-re-viewer .next{right:12px;top:50%;translate:0 -50%}
.s-re-viewer .count{position:absolute;bottom:18px;color:#fff;opacity:.8;font-size:.9rem}
.s-re-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}
.s-re-head{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.s-re-head h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;line-height:1.08;margin:0}
.s-re-loc{margin:0;color:var(--c-muted)}
.s-re-bigprice{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.02em}
.s-re-sec{padding-top:28px;margin-top:28px;border-top:1px solid color-mix(in srgb,currentColor 9%,transparent)}
.s-re-sec h2{font-size:1.35rem;margin:0 0 12px;letter-spacing:-.01em}
.s-re-sec p{line-height:1.7;margin:0 0 12px;color:color-mix(in srgb,var(--c-text) 88%,transparent)}
.s-re-feats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.s-re-feats li{padding:7px 12px;border-radius:999px;background:var(--c-surface);font-size:.9rem}
.s-re-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr) minmax(0,1fr));gap:10px 18px;margin:0}
.s-re-dl dt{color:var(--c-muted)}.s-re-dl dd{margin:0;font-weight:600}
.s-re-muted{font-size:.9rem;font-weight:500;color:var(--c-muted);margin-left:8px;font-family:var(--f-body)}
.s-re-units{overflow-x:auto;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:calc(var(--radius) + 4px)}
.s-re-units table{width:100%;min-width:520px;border-collapse:collapse;font-size:.95rem}
.s-re-units th{text-align:left;font-weight:600;font-size:.8rem;color:var(--c-muted);padding:10px 14px;background:var(--c-surface)}
.s-re-units td{padding:10px 14px;border-top:1px solid color-mix(in srgb,currentColor 8%,transparent);font-variant-numeric:tabular-nums}
.s-re-units tr.gone td{color:var(--c-muted)}
.s-re-ustat{font-size:.78rem;font-weight:600;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,#16a34a 14%,transparent);color:#166534}
.s-re-ustat.reserved{background:color-mix(in srgb,#d97706 16%,transparent);color:#92400e}.s-re-ustat.sold{background:var(--c-surface);color:var(--c-muted)}
.s-re-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.s-re-plans a{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in srgb,currentColor 10%,transparent);background:#fff;color:inherit;text-decoration:none}
.s-re-plans img{width:100%;aspect-ratio:4/3;object-fit:contain}.s-re-plans span{font-size:.82rem;color:var(--c-muted)}
.s-re-spot{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
.s-re-mosaic{display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:16/11;border-radius:calc(var(--radius) + 8px);overflow:hidden;position:relative}
.s-re-mosaic img{width:100%;height:100%;object-fit:cover;display:block;background:var(--c-surface)}
.s-re-mosaic img:first-child{grid-row:1/3}.s-re-mosaic.n1{grid-template-columns:1fr}.s-re-mosaic.n2{grid-template-columns:2fr 1fr}.s-re-mosaic.n2 img:nth-child(2){grid-row:1/3}
.s-re-mosaic.n3{grid-template-columns:2fr 1fr}.s-re-mosaic.n4 img:nth-child(4){grid-column:2/4}
.s-re-spot-body{display:flex;flex-direction:column;gap:14px}.s-re-spot-badges{display:flex;flex-wrap:wrap;gap:8px}.s-re-spot-badges .s-re-badge{position:static}
.s-re-spot-title{margin:0;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.02em}.s-re-spot-text{margin:0;color:var(--c-muted);line-height:1.7}
.s-re-spot-units{grid-column:1/-1;display:flex;flex-direction:column;gap:12px}.s-re-spot-units h3{margin:0;font-size:1.3rem}
.s-re-spot-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
@media (max-width:900px){.s-re-spot{grid-template-columns:1fr;gap:22px}.s-re-mosaic{aspect-ratio:4/3;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr}.s-re-mosaic img:first-child{grid-row:auto;grid-column:1/3}.s-re-mosaic img:nth-child(n+4){display:none}.s-re-mosaic.n1 img:first-child,.s-re-mosaic.n2 img:first-child{grid-row:1/3}}
.s-re-submit{display:flex;flex-direction:column;gap:20px;padding:28px;border-radius:calc(var(--radius) + 10px);background:var(--c-bg);border:1px solid color-mix(in srgb,currentColor 10%,transparent);max-width:880px;margin:0 auto;width:100%;color:var(--c-text)}
.s-re-submit.done{text-align:center;align-items:center}.s-re-submit h3{margin:0}.s-re-submit-intro{margin:0;color:var(--c-muted)}
.s-re-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.s-re-steps button{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--c-muted);padding-bottom:8px;border-bottom:3px solid color-mix(in srgb,currentColor 12%,transparent);width:100%}
.s-re-steps button:disabled{cursor:default}.s-re-steps span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--c-surface);font-weight:700;font-size:.8rem;flex:none}
.s-re-steps li.on button,.s-re-steps li.done button{color:var(--c-text);border-color:var(--c-primary)}.s-re-steps li.on span,.s-re-steps li.done span{background:var(--c-primary);color:#fff}
.s-re-submit [hidden]{display:none!important}.s-re-sgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.s-re-sgrid>*{min-width:0}.s-re-submit input:not([type=radio]):not([type=checkbox]):not([type=file]),.s-re-submit select,.s-re-submit textarea{width:100%;box-sizing:border-box}.s-re-sgrid .full{grid-column:1/-1}
.s-re-submit label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}.s-re-submit label small{font-weight:400;color:var(--c-muted)}
.s-re-submit input:not([type=radio]):not([type=checkbox]):not([type=file]),.s-re-submit select,.s-re-submit textarea{min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit;font-weight:400}
.s-re-nums{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.s-re-seg{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.s-re-seg label,.s-re-chips label{flex-direction:row!important;align-items:center;gap:6px!important;font-weight:500!important;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);cursor:pointer}
.s-re-seg label:has(input:checked),.s-re-chips label:has(input:checked){border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 10%,transparent)}
.s-re-chips{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.s-re-chips legend{font-size:.88rem;font-weight:600;margin-bottom:8px}
.s-re-drop{align-items:center;justify-content:center;text-align:center;padding:36px 20px;border:2px dashed color-mix(in srgb,currentColor 20%,transparent);border-radius:calc(var(--radius) + 6px);cursor:pointer}
.s-re-drop input{position:absolute;opacity:0;width:1px;height:1px}.s-re-drop span{font-weight:400;color:var(--c-muted)}
.s-re-thumbs{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.s-re-thumbs li{position:relative}
.s-re-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.s-re-thumbs button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:999px;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
.s-re-pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.s-re-pkgs label{padding:20px;border-radius:calc(var(--radius) + 6px);border:2px solid color-mix(in srgb,currentColor 12%,transparent);cursor:pointer;font-weight:400}
.s-re-pkgs label.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 6%,transparent)}.s-re-pkgs input{position:absolute;opacity:0}
.s-re-pkgs strong{font-size:1.05rem}.s-re-pkgs b{font-size:1.5rem}.s-re-pkgs span{color:var(--c-muted);font-size:.9rem}
.s-re-consent{flex-direction:row!important;align-items:flex-start;font-weight:400!important}.s-re-consent input{margin-top:3px}
.s-re-err{margin:0;color:#b91c1c;font-size:.92rem}.s-re-snav{display:flex;justify-content:space-between;gap:10px}.s-re-snav .s-btn:last-child{margin-left:auto}
.s-re-pay{padding:16px;border-radius:12px;background:var(--c-surface);text-align:left;white-space:pre-line}.s-re-pay p{margin:6px 0 0}
@media (max-width:640px){.s-re-submit{padding:18px}.s-re-sgrid{grid-template-columns:1fr}.s-re-nums{grid-template-columns:repeat(3,1fr)}.s-re-steps{grid-template-columns:repeat(4,auto);overflow-x:auto}.s-re-steps button{font-size:0;gap:0}.s-re-steps span{font-size:.8rem}}
.s-rev-sum{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}.s-rev-g{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 12%,transparent)}.s-rev-g small{display:block}.s-rev-sum .s-rev-g b{font-size:1.15rem;font-family:inherit}
.s-rev-glogo{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#fff;color:#4285f4;font-weight:800;font-family:Arial,sans-serif;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.s-rev-glogo.sm{width:20px;height:20px;font-size:.75rem;margin-left:auto}
.s-rev-top{display:flex;align-items:center;gap:10px}.s-rev-top small{display:block}.s-rev-ava{width:36px;height:36px;border-radius:999px;object-fit:cover;flex:none}.s-rev-ava.ini{display:grid;place-items:center;background:var(--c-surface);font-weight:700}
.s-rev-reply{margin:6px 0 0;padding:8px 10px;border-radius:10px;background:var(--c-surface);font-size:.9rem}
.s-rev-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-top:22px}
.s-wrev{display:flex;flex-direction:column;gap:12px;flex:1 1 100%}.s-wrev-btns{display:flex;flex-wrap:wrap;gap:10px}
.s-wrev-form{display:flex;flex-direction:column;gap:10px;max-width:640px;padding:18px;border-radius:calc(var(--radius) + 6px);background:var(--c-surface)}
.s-wrev-form input:not([type=checkbox]),.s-wrev-form textarea{min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit;width:100%}
.s-wrev-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.s-wrev-stars{display:flex;gap:4px}.s-wrev-stars button{all:unset;cursor:pointer;font-size:2rem;line-height:1;color:color-mix(in srgb,currentColor 25%,transparent)}.s-wrev-stars button.on{color:#f5a524}.s-wrev-stars button:focus-visible{outline:2px solid var(--c-primary)}
.s-wrev-consent{display:flex;gap:8px;font-size:.88rem;align-items:flex-start}.s-wrev-done{padding:12px 16px;border-radius:12px;background:color-mix(in srgb,#16a34a 12%,transparent)}
@media (max-width:640px){.s-wrev-row{grid-template-columns:1fr}}
.s-captcha{display:flex;flex-direction:column;gap:6px;font-size:.9rem;grid-column:1/-1}.s-captcha small{color:var(--c-muted);font-weight:400}
.s-captcha input{max-width:120px;min-height:42px;padding:8px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit}
.s-captcha-widget{grid-column:1/-1;min-height:65px}.s-captcha-note{grid-column:1/-1;margin:0;font-size:.75rem;color:var(--c-muted)}.s-captcha-note a{color:inherit}
.s-re-units-line{font-size:.85rem;color:var(--c-muted);margin-top:2px}
.s-re-links{display:flex;gap:10px;flex-wrap:wrap}
.s-re-side{position:sticky;top:96px}
.s-re-agentbox{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:calc(var(--radius) + 12px);background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 8%,transparent)}
.s-re-agent{display:flex;gap:12px;align-items:center}.s-re-agent img,.s-re-ini{width:56px;height:56px;border-radius:999px;object-fit:cover;flex:none}
.s-re-ini{display:grid;place-items:center;background:var(--c-primary);color:#fff;font-weight:700}
.s-re-agent strong{display:block}.s-re-agent small{color:var(--c-muted)}
.s-re-agent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.s-re-agent-actions .s-btn{justify-content:center;min-height:44px}
.s-re-bond{display:grid;gap:14px;max-width:560px}
.s-re-bond label{display:grid;gap:6px;font-size:.95rem}.s-re-bond label b{float:right}
.s-re-bond input[type=range]{width:100%;accent-color:var(--c-primary)}
.s-re-bond .out{display:grid;gap:4px;padding:16px;border-radius:calc(var(--radius) + 6px);background:var(--c-surface)}
.s-re-bond .out strong{font-size:1.5rem}.s-re-bond .out small{color:var(--c-muted)}
.s-re-show{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--c-primary);color:var(--c-on-primary,#fff);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.s-re-showlink{display:block;margin:10px 0 4px;padding:10px 12px;border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,var(--c-primary) 10%,transparent);color:var(--c-text);font-weight:600;font-size:.92rem;text-decoration:none}
.s-re-onshow{padding:22px;border-radius:calc(var(--radius) + 10px);background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 8%,transparent)}
.s-re-book{display:grid;gap:14px}
.s-re-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.s-re-days button,.s-re-slots button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:2px;padding:10px 14px;border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in srgb,currentColor 14%,transparent);background:var(--c-bg);transition:border-color .15s,background-color .15s,transform .15s}
.s-re-days button small,.s-re-slots button small{font-size:.75rem;color:var(--c-muted)}
.s-re-days button.on,.s-re-slots button.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 10%,var(--c-bg));box-shadow:inset 0 0 0 1px var(--c-primary)}
.s-re-days button:focus-visible,.s-re-slots button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.s-re-slots button:not(:disabled):active{transform:scale(.97)}
.s-re-slots button:disabled{cursor:not-allowed;opacity:.45;text-decoration:line-through}
.s-re-dayhead{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.s-re-dayhead span{color:var(--c-muted);font-size:.92rem}
.s-re-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.s-re-bookform{display:flex;flex-wrap:wrap;gap:8px}
.s-re-bookform input{flex:1 1 170px;min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit}
.s-re-bookform .s-btn{flex:1 1 100%}.s-re-bookform .err{color:#b91c1c;font-size:.9rem;width:100%}
.s-re-book.done{gap:4px;padding:14px 16px;border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb,#16a34a 12%,var(--c-bg))}.s-re-book.done span{color:var(--c-muted)}
.s-re-alertform select{min-height:44px;padding:10px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit}
.s-re-reqbtn{all:unset;cursor:pointer;margin-top:4px;font-weight:600;font-size:.95rem;color:var(--c-primary)}
.s-re-reqbtn:focus-visible,.s-re-reqadd:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:4px}
.s-re-req{display:grid;gap:10px}.s-re-reqhint{margin:0;color:var(--c-muted);font-size:.95rem}
.s-re-reqrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.s-re-reqrow input[type=date]{min-height:44px;padding:8px 12px;border-radius:calc(var(--radius) + 2px);border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:var(--c-bg);color:var(--c-text);font:inherit}
.s-re-parts{display:flex;flex-wrap:wrap;gap:6px}
.s-re-parts button{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);background:var(--c-bg);font-size:.9rem;transition:border-color .15s,background-color .15s}
.s-re-parts button.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 10%,var(--c-bg));box-shadow:inset 0 0 0 1px var(--c-primary);font-weight:600}
.s-re-parts button:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.s-re-reqx{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:999px;color:var(--c-muted);font-size:1.3rem}.s-re-reqx:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.s-re-reqadd{all:unset;cursor:pointer;justify-self:start;font-weight:600;font-size:.9rem;color:var(--c-primary)}
.s-seq{position:relative;width:100%}
.s-seq.bleed{width:calc(100vw - var(--sc-sbw,0px));margin-left:calc(50% - (100vw - var(--sc-sbw,0px)) / 2)}
.s-seq-stage{overflow:hidden;height:100vh;width:100%;top:0;left:0}
.s-seq.pinned .s-seq-stage{position:sticky;top:var(--seq-top,0px);height:calc(100vh - var(--seq-top,0px))}
.s-seq-canvas,.s-seq-poster{position:absolute;inset:0;width:100%;height:100%;display:block}
.s-seq-poster{object-fit:cover}
.s-seq-caps{position:absolute;inset:0;pointer-events:none}
.s-seq-cap{position:absolute;max-width:min(640px,86%);padding:0 clamp(16px,4vw,56px);will-change:opacity,transform;pointer-events:auto;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.s-seq-cap h2{margin:0 0 .35em;font-family:var(--f-heading);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:inherit}
.s-seq-cap p{margin:0 0 1em;line-height:1.55;opacity:.92;color:inherit}
.s-seq-cap .s-btn{margin-top:.4em}
.s-seq-cap.sz-s h2{font-size:clamp(1.3rem,2.2vw,1.8rem)}.s-seq-cap.sz-m h2{font-size:clamp(1.7rem,3.4vw,2.8rem)}.s-seq-cap.sz-l h2{font-size:clamp(2.2rem,5vw,4.2rem)}.s-seq-cap.sz-xl h2{font-size:clamp(2.8rem,8vw,7rem)}
.s-seq-cap.sz-s p,.s-seq-cap.sz-m p{font-size:1rem}.s-seq-cap.sz-l p{font-size:clamp(1rem,1.4vw,1.2rem)}.s-seq-cap.sz-xl p{font-size:clamp(1.05rem,1.6vw,1.35rem)}
.s-seq-cap.panel{padding:clamp(18px,2.5vw,32px);margin:0 clamp(16px,4vw,56px);border-radius:calc(var(--radius) + 10px);background:rgba(10,10,16,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-shadow:none}
.s-seq-cap.pos-center{left:50%;top:50%;translate:-50% -50%}
.s-seq-cap.pos-top{left:50%;top:12%;translate:-50% 0}.s-seq-cap.pos-bottom{left:50%;bottom:12%;translate:-50% 0}
.s-seq-cap.pos-left{left:0;top:50%;translate:0 -50%}.s-seq-cap.pos-right{right:0;top:50%;translate:0 -50%}
.s-seq-cap.pos-top-left{left:0;top:12%}.s-seq-cap.pos-top-right{right:0;top:12%}.s-seq-cap.pos-bottom-left{left:0;bottom:12%}.s-seq-cap.pos-bottom-right{right:0;bottom:12%}
.s-seq-caps.stacked{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:48px 0;overflow:auto}
.s-seq-caps.stacked .s-seq-cap{position:static;translate:none;margin-inline:auto}
.s-seq-loading{position:absolute;left:50%;bottom:28px;translate:-50% 0;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;font-variant-numeric:tabular-nums}
.s-seq-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18)}
.s-seq-bar>div{height:100%;background:var(--c-primary);transform-origin:left;transform:scaleX(0)}
.s-seq-hint{position:absolute;left:50%;bottom:26px;translate:-50% 0;display:grid;justify-items:center;gap:6px;color:#fff;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;opacity:1;transition:opacity .3s}
.s-seq-hint i{width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:s-seq-hint 1.6s ease-in-out infinite;transform-origin:top}
@keyframes s-seq-hint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.s-seq-scrub{position:absolute;left:16px;right:16px;bottom:14px;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.6);color:#fff;font:600 12px/1.2 system-ui,sans-serif;z-index:3}
.s-seq-scrub input{flex:1;accent-color:#a78bfa}.s-seq-scrub b{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
@media (prefers-reduced-motion:reduce){.s-seq-hint i{animation:none}}
.s-film{position:relative;width:calc(100vw - var(--sc-sbw,0px));margin-left:calc(50% - (100vw - var(--sc-sbw,0px)) / 2);color:var(--film-text);background:var(--film-bg)}
.s-film-bg,.s-film-ui{position:absolute;top:0;left:0;width:100%;height:calc(100vh - var(--film-top,0px));overflow:hidden}
.s-film-bg{z-index:0;background:var(--film-bg)}
.s-film-ui{z-index:2;pointer-events:none}
.s-film-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:opacity,transform}
.s-film-scrim{position:absolute;inset:0;pointer-events:none}
.s-film-scrim.left,.s-film-scrim.both{background:linear-gradient(90deg,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent),transparent 55%)}
.s-film-scrim.bottom{background:linear-gradient(transparent 55%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent))}
.s-film-scrim.both{background:linear-gradient(90deg,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent),transparent 52%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 25%),transparent)),linear-gradient(transparent 58%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 85%),transparent))}
.s-film-scrim{transition:background .6s ease}
.s-film[data-film-side=right] .s-film-scrim.left{background:linear-gradient(270deg,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent),transparent 55%)}
.s-film[data-film-side=right] .s-film-scrim.both{background:linear-gradient(270deg,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent),transparent 52%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 25%),transparent)),linear-gradient(transparent 58%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 85%),transparent))}
.s-film.box-glass .s-film-copy,.s-film.box-solid .s-film-copy{padding:clamp(20px,3vw,40px);border-radius:20px;box-sizing:border-box}
.s-film.box-glass .s-film-copy{background:color-mix(in srgb,var(--film-tint) 52%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid color-mix(in srgb,var(--film-text) 14%,transparent)}
.s-film.box-solid .s-film-copy{background:color-mix(in srgb,var(--film-tint) 90%,transparent)}
.s-film.tshadow .s-film-copy{text-shadow:0 1px 2px color-mix(in srgb,var(--film-tint) 70%,transparent),0 2px 22px color-mix(in srgb,var(--film-tint) 85%,transparent)}
.s-film-copy,.s-film-copy h1,.s-film-copy h2,.s-film-text,.s-film-eyebrow{transition:color .5s ease}
.s-film-text{white-space:pre-line}
.s-film-text.rich{white-space:normal}.s-film-text.rich>*{margin:0 0 .8em}.s-film-text.rich>*:last-child{margin-bottom:0}
.s-film-text.rich ul,.s-film-text.rich ol{padding-left:1.3em}.s-film-text.rich li{margin:.25em 0}.s-film-text.rich li::marker{color:var(--film-accent)}
.s-film-text.rich a{color:var(--film-accent);text-decoration:underline;text-underline-offset:3px}
.s-film-text.rich h3,.s-film-text.rich h4{font-family:var(--f-heading);color:var(--film-text);margin:1em 0 .4em;line-height:1.2}
.s-film-text.rich blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--film-accent)}
.s-film-ch.long{padding-top:clamp(84px,14vh,170px);padding-bottom:clamp(84px,14vh,170px)}
.s-film-ch.long .s-film-copy{max-width:min(720px,100%)}
.s-film-ch.long .s-film-text{max-width:68ch;opacity:1;line-height:1.75}
.s-film-ch.long .s-film-copy h2{font-size:clamp(2rem,3.6vw,3.4rem)}
.s-film.cw-wide .s-film-copy{max-width:min(760px,100%)}.s-film.cw-wide .s-film-text{max-width:70ch}
.s-film.cw-xwide .s-film-copy{max-width:min(980px,100%)}.s-film.cw-xwide .s-film-text{max-width:88ch}
.s-film.ts-small .s-film-text{font-size:clamp(.95rem,1vw,1.02rem)}.s-film.ts-small .s-film-copy h2{font-size:clamp(1.9rem,3.4vw,3.2rem)}
.s-film.ts-large .s-film-text{font-size:clamp(1.08rem,1.5vw,1.32rem)}
.s-film-ch{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(24px,4vw,64px);padding:0 clamp(20px,6.5vw,110px);box-sizing:border-box;background-size:cover;background-position:center}
.s-film-ch.right{flex-direction:row-reverse;justify-content:flex-start}
.s-film-copy{max-width:min(540px,100%);will-change:opacity,transform}
.s-film-ch.hero .s-film-copy{max-width:min(620px,100%)}
.s-film-eyebrow{margin:0 0 1.2em;font-family:ui-monospace,'DM Mono',SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--film-accent)}
.s-film-copy h1,.s-film-copy h2{margin:0 0 .45em;font-family:var(--f-heading);font-weight:600;line-height:1.02;letter-spacing:-.02em;color:var(--film-text)}
.s-film-copy h1{font-size:clamp(3rem,7.4vw,6.8rem)}.s-film-copy h2{font-size:clamp(2.3rem,4.6vw,4.2rem)}
.s-film-copy em{font-style:italic;color:var(--film-accent)}
.s-film-text{margin:0 0 1.6em;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65;opacity:.88;max-width:44ch}
.s-film-cta{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.6em;padding-bottom:.35em;border-bottom:1px solid color-mix(in srgb,var(--film-text) 40%,transparent);font-weight:600;font-size:.95rem;color:var(--film-text);transition:border-color .2s,gap .2s}
.s-film-cta:hover{border-color:var(--film-accent);gap:.85em}.s-film-cta:focus-visible{outline:2px solid var(--film-accent);outline-offset:4px}
.s-film-measure{position:relative;flex:none;width:clamp(110px,12vw,180px);aspect-ratio:1;display:grid;place-items:center}
.s-film-measure span{position:relative;font-family:ui-monospace,'DM Mono',monospace;font-size:.85rem;letter-spacing:.1em;color:var(--film-accent)}
.s-film-measure svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.s-film-measure circle{fill:none;stroke:color-mix(in srgb,var(--film-text) 18%,transparent);stroke-width:1}
.s-film-measure path{fill:none;stroke:var(--film-accent);stroke-width:1.5;stroke-linecap:round}
.s-film-nav{position:absolute;top:calc(var(--film-head,0px) + 22px);right:clamp(20px,4vw,56px);display:flex;gap:4px;pointer-events:auto;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--film-tint) 45%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.s-film-nav button{all:unset;cursor:pointer;display:inline-flex;align-items:baseline;gap:6px;padding:8px 12px;border-radius:999px;font-size:.82rem;color:color-mix(in srgb,var(--film-text) 72%,transparent);transition:color .2s,background-color .2s}
.s-film-nav button small{font-family:ui-monospace,'DM Mono',monospace;font-size:.68rem;color:var(--film-accent)}
.s-film-nav button:hover{color:var(--film-text)}.s-film-nav button.on{color:var(--film-text);background:color-mix(in srgb,var(--film-text) 14%,transparent)}
.s-film-nav button:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}
.s-film-rail{position:absolute;left:clamp(20px,4vw,56px);bottom:30px;display:flex;align-items:center;gap:12px;font-family:ui-monospace,'DM Mono',monospace;font-size:.72rem;letter-spacing:.12em;color:color-mix(in srgb,var(--film-text) 80%,transparent)}
.s-film-rail div{width:clamp(80px,10vw,150px);height:1px;background:color-mix(in srgb,var(--film-text) 25%,transparent)}
.s-film-rail i{display:block;height:100%;background:var(--film-accent);transform-origin:left;transform:scaleX(0)}
.s-film-side{position:absolute;right:clamp(16px,2.4vw,34px);top:50%;translate:0 -50%;display:flex;flex-direction:column;align-items:center;gap:14px;writing-mode:vertical-rl;font-family:ui-monospace,'DM Mono',monospace;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb,var(--film-text) 70%,transparent)}
.s-film-side i{width:1px;height:70px;background:linear-gradient(var(--film-text),transparent)}
.s-film-tour{position:absolute;right:clamp(20px,4vw,56px);bottom:22px;display:flex;align-items:center;gap:6px;pointer-events:auto;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--film-tint) 55%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.s-film-tour button{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;min-width:36px;padding:0 12px;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--film-text);box-sizing:border-box}
.s-film-tour .main{background:var(--film-text);color:var(--film-tint)}
.s-film-tour svg{width:14px;height:14px;fill:currentColor;stroke:currentColor}.s-film-tour .again svg{fill:none}
.s-film-tour .speed{font-family:ui-monospace,'DM Mono',monospace;font-size:.75rem;padding:0 8px}
.s-film-tour button:focus-visible{outline:2px solid var(--film-accent);outline-offset:2px}
.s-film.still .s-film-bg,.s-film.still .s-film-ui{display:none}
.s-film.still .s-film-ch{min-height:100vh;background-color:var(--film-bg);box-shadow:inset 0 0 0 100vmax color-mix(in srgb,var(--film-tint) 45%,transparent)}
@media (max-width:860px){.s-film-nav,.s-film-side{display:none}.s-film-ch,.s-film-ch.right{flex-direction:column;justify-content:center;align-items:flex-start;padding:0 22px}.s-film-measure{width:84px}.s-film-tour .speed,.s-film-tour .again{display:none}.s-film-rail{bottom:24px}}
/* phones: words at the bottom over a strong bottom shade, sized for a small screen, long text in a soft box */
@media (max-width:860px){
.s-film-ch,.s-film-ch.right{justify-content:flex-end;padding:88px 20px 96px}
.s-film-measure{display:none}
.s-film-copy,.s-film-ch.hero .s-film-copy,.s-film-ch.long .s-film-copy{max-width:100%}
.s-film-copy h1{font-size:clamp(2.3rem,10vw,3.2rem)}.s-film-copy h2,.s-film-ch.long .s-film-copy h2{font-size:clamp(1.8rem,7.6vw,2.4rem)}
.s-film-text,.s-film-ch.long .s-film-text{font-size:1rem;line-height:1.6;max-width:none;opacity:1}
.s-film-ch.long{padding-top:96px;padding-bottom:110px}
.s-film-scrim.left,.s-film-scrim.both,.s-film-scrim.bottom,.s-film[data-film-side=right] .s-film-scrim.left,.s-film[data-film-side=right] .s-film-scrim.both{background:linear-gradient(color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 35%),transparent),transparent 30%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 70%),transparent) 62%,color-mix(in srgb,var(--film-tint) calc(var(--film-scrim) * 100%),transparent))}
.s-film-ch.long .s-film-copy{padding:20px;border-radius:16px;background:color-mix(in srgb,var(--film-tint) 55%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.s-film.box-glass .s-film-copy,.s-film.box-solid .s-film-copy{padding:20px;border-radius:16px}
.s-film-cta{margin-top:4px}
.s-film-tour{bottom:16px;right:14px}.s-film-rail{left:20px;bottom:30px}
}

@media (prefers-reduced-motion:reduce){.s-re-days button,.s-re-slots button{transition:none}.s-re-slots button:not(:disabled):active{transform:none}}
.s-re-similar h2{font-size:1.6rem;margin:12px 0 18px}
@media (max-width:1024px){.s-re-grid{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}.s-re-main{grid-template-columns:minmax(0,1fr)}.s-re-side{position:static}.s-re-fields{grid-template-columns:1fr 1fr}.s-re-fields input{grid-column:span 2}}
@media (max-width:640px){.s-re-grid{grid-template-columns:1fr}.s-re-row{grid-template-columns:1fr}.s-re-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px}.s-re-gallery button:first-child{grid-column:span 2;grid-row:auto}.s-re-gallery button:nth-child(n+4){display:none}.s-re-dl{grid-template-columns:1fr 1fr}.s-re-detail{padding:96px 16px 56px}.s-re-page{padding:110px 16px 64px}}
@media (prefers-reduced-motion:reduce){.s-re-card,.s-re-img img,.s-re-gallery img{transition:none}}
.s-mapw{position:relative;border-radius:var(--radius);overflow:hidden}
.s-mapw .s-map-canvas{width:100%;z-index:0;background:#e5e7eb}
.s-mapw .s-map-tiles{filter:var(--map-filter,none)}
.s-mapw .s-map-canvas.brand{background:color-mix(in srgb,var(--c-primary) 38%,#fff)!important}
.s-mapw .s-map-canvas.brand .s-map-tiles{mix-blend-mode:multiply}
.s-mapw.dark .s-map-canvas{background:#111}
.s-mapw .s-map-pin{background:none;border:0}
.s-mapw .leaflet-popup-content{font:14px/1.45 var(--font-body,system-ui)}
.s-mapw .leaflet-popup-content a{color:var(--c-primary);font-weight:600}
.s-mapw.with-list{display:grid;grid-template-columns:minmax(220px,320px) 1fr;border:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.s-map-list{list-style:none;margin:0;padding:8px;overflow:auto;max-height:100%;display:flex;flex-direction:column;gap:4px}
.s-map-list button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:calc(var(--radius) + 2px)}
.s-map-list button:hover,.s-map-list button:focus-visible{background:color-mix(in srgb,var(--c-primary) 9%,transparent)}
.s-map-list strong{display:block}.s-map-list small{display:block;opacity:.7;font-size:.85em;margin-top:2px}
.s-mapw{width:100%}
.s-map-list .n{flex:none;width:24px;height:24px;border-radius:999px;background:var(--map-pin,var(--c-primary));color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
@media (max-width:760px){.s-mapw.with-list{grid-template-columns:1fr}.s-map-list{max-height:220px;order:2}}
.s-fxlayer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.s-fxlayer>canvas,.s-fxlayer>.s-fx-base{position:absolute;inset:0;width:100%;height:100%;display:block}
.s-fx .fxc{position:relative;z-index:2;text-align:center;padding:32px;max-width:760px;display:grid;gap:14px;justify-items:center}
.s-fx .fxc>*{max-width:100%}.s-fx .fx-drop-hint{border:2px dashed currentColor;opacity:.55;padding:26px 44px;border-radius:14px;font-size:14px;font-weight:600}
.s-fx.fx-moltenGradient .fxbg{background:radial-gradient(circle at 20% 30%,var(--c1),transparent 45%),radial-gradient(circle at 80% 70%,var(--c2),transparent 45%),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--c1) 50%,var(--c2)),transparent 60%),var(--bg);background-size:200% 200%;animation:s-molten calc(14s / var(--spd,1)) ease-in-out infinite alternate;filter:blur(20px) saturate(1.3);inset:-40px}
@keyframes s-molten{0%{background-position:0% 0%}50%{background-position:100% 50%}100%{background-position:30% 100%}}
.s-fx.fx-colorFlow .fxbg{background:linear-gradient(120deg,var(--c1),var(--c2),var(--c1));background-size:300% 300%;animation:s-flow calc(8s / var(--spd,1)) ease infinite}
.s-fx.fx-colorFlow .fxbg::after{content:"";position:absolute;inset:0;animation:s-hue calc(12s / var(--spd,1)) linear infinite;background:inherit;mix-blend-mode:overlay}
@keyframes s-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes s-hue{to{filter:hue-rotate(360deg)}}
.s-fx.fx-gradients .fxbg{background:linear-gradient(-45deg,var(--c1),var(--c2),#23a6d5,#23d5ab);background-size:400% 400%;animation:s-flow calc(15s / var(--spd,1)) ease infinite}
.s-fx.fx-kenBurns .fxbg{background-size:cover;background-position:center;animation:s-kb2 calc(20s / var(--spd,1)) ease-in-out infinite alternate}
@keyframes s-kb2{from{transform:scale(1) translate(0,0)}to{transform:scale(1.25) translate(-4%,-3%)}}
.s-fx.fx-frost .fxbg{background-size:cover;background-position:center}
.s-fx.fx-frost .fxc{background:rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.35);border-radius:calc(var(--radius) + 8px);color:#fff}
.s-fx.fx-gradientShadow{overflow:visible}.s-fx.fx-gradientShadow .fxc{background:var(--bg);border-radius:calc(var(--radius) + 8px)}
.s-fx.fx-gradientShadow .fxbg{inset:10%;background:linear-gradient(90deg,var(--c1),var(--c2),var(--c1));background-size:200% auto;filter:blur(40px);opacity:.8;animation:s-grad calc(4s / var(--spd,1)) linear infinite;border-radius:40px}
.s-fx.fx-bgPatterns .fxbg{background-color:var(--bg)}
.pat-grid{background-image:linear-gradient(var(--c1) 1px,transparent 1px),linear-gradient(90deg,var(--c1) 1px,transparent 1px);background-size:32px 32px;opacity:.25}
.pat-dots{background-image:radial-gradient(var(--c1) 1.5px,transparent 1.5px);background-size:22px 22px;opacity:.35}
.pat-diagonal{background-image:repeating-linear-gradient(45deg,var(--c1) 0 1px,transparent 1px 16px);opacity:.3}
.pat-zigzag{background:linear-gradient(135deg,var(--c1) 25%,transparent 25%) -16px 0/32px 32px,linear-gradient(225deg,var(--c1) 25%,transparent 25%) -16px 0/32px 32px,linear-gradient(315deg,var(--c1) 25%,transparent 25%) 0 0/32px 32px,linear-gradient(45deg,var(--c1) 25%,transparent 25%) 0 0/32px 32px;opacity:.12}
.pat-checks{background-image:conic-gradient(var(--c1) 25%,transparent 0 50%,var(--c1) 0 75%,transparent 0);background-size:40px 40px;opacity:.1}
.pat-waves{background-image:radial-gradient(circle at 50% 100%,transparent 20px,var(--c1) 21px,var(--c1) 23px,transparent 24px);background-size:48px 24px;opacity:.3}
.s-fx .pattern-move{animation:s-patmove calc(20s / var(--spd,1)) linear infinite}@keyframes s-patmove{to{background-position:200px 200px}}
/* expanding cards */
.s-expand{display:flex;gap:10px;width:100%}
.s-expand a{position:relative;flex:1;border-radius:calc(var(--radius) + 6px);overflow:hidden;transition:flex .6s cubic-bezier(.22,1,.36,1);text-decoration:none;color:#fff;min-width:60px}
.s-expand a:hover,.s-expand a.on{flex:4}
.s-expand img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.s-expand .cap{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transform:translateY(12px);transition:.5s}
.s-expand a:hover .cap,.s-expand a.on .cap{opacity:1;transform:none}
@media (max-width:640px){.s-expand{flex-direction:column}.s-expand a{min-height:90px}}
/* scroll & hover text */
.s-sht{display:grid}.s-sht a{position:relative;display:block;font-family:var(--f-heading);font-weight:800;font-size:clamp(2.4rem,8vw,7rem);line-height:1.05;text-decoration:none;color:transparent;-webkit-text-stroke:1.5px currentColor;background:linear-gradient(currentColor,currentColor) left/var(--fill,0%) 100% no-repeat;-webkit-background-clip:text;background-clip:text;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);padding:8px 0}
.s-sht a:hover{--fill:100%!important;color:var(--c-hl,var(--c-primary));-webkit-text-stroke-color:var(--c-primary);background-image:linear-gradient(var(--c-primary),var(--c-primary))}
.s-sht.sz-l a{font-size:clamp(2rem,5vw,4.4rem)}.s-sht.sz-m a{font-size:clamp(1.5rem,3.2vw,2.8rem)}
.s-sht.look-solid a{color:inherit;-webkit-text-stroke:0;background:none;font-weight:400;letter-spacing:-.01em;padding:14px 0;transition:color .25s,padding-left .3s cubic-bezier(.2,.7,.2,1)}
.s-sht.look-solid a:hover{color:var(--c-primary);padding-left:14px;background:none}
@media (prefers-reduced-motion:reduce){.s-sht a{--fill:100%!important}.s-sht.look-solid a{transition:none}}
.s-float-img{position:fixed;pointer-events:none;z-index:900;width:280px;aspect-ratio:3/2;object-fit:cover;border-radius:12px;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .25s,transform .25s}
.s-float-img.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
/* hotspots */
.s-hot{position:relative}.s-hot img{width:100%;border-radius:var(--radius)}
.s-pin{position:absolute;transform:translate(-50%,-50%);z-index:2}
.s-pin>button{width:28px;height:28px;border-radius:50%;border:3px solid #fff;background:var(--c-primary);cursor:pointer;box-shadow:0 0 0 0 color-mix(in srgb,var(--c-primary) 60%,transparent);animation:s-pulse 2s infinite}
.s-pin .tip{position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(6px);width:220px;padding:12px 14px;border-radius:10px;background:var(--c-bg);color:var(--c-text);box-shadow:0 14px 30px -10px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.25s;font-size:.9rem}
.s-pin:hover .tip,.s-pin.open .tip{opacity:1;pointer-events:auto;transform:translateX(-50%)}
/* svg draw */
.s-draw svg{width:100%;height:auto;overflow:visible}.s-draw svg *{fill:none;stroke:var(--stroke);stroke-width:var(--sw);stroke-linecap:round;stroke-linejoin:round}
/* floating links */
.s-flinks{display:grid}.s-flinks a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 4px;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent);text-decoration:none;font-family:var(--f-heading);font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700;transition:padding .3s,color .3s}
.s-flinks a:hover{padding-left:20px;color:var(--c-hl,var(--c-primary))}.s-flinks small{font-family:var(--f-body);font-size:.9rem;opacity:.6;font-weight:400}
/* timeline */
.s-tl{position:relative;display:grid;gap:36px;padding:10px 0}
.s-tl::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:color-mix(in srgb,currentColor 15%,transparent)}
.s-tl-item{position:relative;width:calc(50% - 36px)}.s-tl-item:nth-child(odd){justify-self:start;text-align:right}.s-tl-item:nth-child(even){justify-self:end}
.s-tl-item::before{content:"";position:absolute;top:6px;width:16px;height:16px;border-radius:50%;background:var(--c-primary);border:4px solid var(--c-bg);box-shadow:0 0 0 2px var(--c-primary)}
.s-tl-item:nth-child(odd)::before{right:-46px}.s-tl-item:nth-child(even)::before{left:-46px}
.s-tl-item .date{font-weight:800;color:var(--c-hl,var(--c-primary))}.s-tl-item img{border-radius:var(--radius);margin-top:10px}
.s-tl.left::before{left:8px}.s-tl.left .s-tl-item{width:auto;justify-self:stretch;text-align:left;padding-left:44px}.s-tl.left .s-tl-item::before{left:0!important;right:auto}
.s-tl.horizontal{grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);overflow-x:auto;padding-top:34px}
.s-tl.horizontal::before{top:12px;bottom:auto;left:0;right:0;width:auto;height:2px}
.s-tl.horizontal .s-tl-item{width:auto;text-align:left!important}.s-tl.horizontal .s-tl-item::before{top:-30px;left:0!important;right:auto}
@media (max-width:820px){.s-tl::before{left:8px}.s-tl-item{width:auto!important;justify-self:stretch!important;text-align:left!important;padding-left:44px}.s-tl-item::before{left:0!important;right:auto!important}}
/* flip cards */
.s-flips{display:grid;gap:22px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.s-flip{perspective:1200px;aspect-ratio:4/5}.s-flip-in{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,1,.36,1);transform-style:preserve-3d}
.s-flip:hover .s-flip-in,.s-flip:focus-within .s-flip-in{transform:rotateY(180deg)}.s-flip.vertical:hover .s-flip-in{transform:rotateX(180deg)}
.s-flip-f,.s-flip-b{position:absolute;inset:0;backface-visibility:hidden;border-radius:calc(var(--radius) + 6px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.s-flip-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.s-flip-f{color:#fff;isolation:isolate}.s-flip-f::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.7));z-index:1}.s-flip-f>*:not(img){position:relative;z-index:2}
.s-flip-b{background:var(--c-primary);color:var(--c-on-primary,#fff);transform:rotateY(180deg);justify-content:center}.s-flip.vertical .s-flip-b{transform:rotateX(180deg)}
@media (max-width:820px){.s-flips{grid-template-columns:1fr}}
/* stacking cards */
.s-stack{display:grid;gap:30px}.s-stack-card{position:sticky;top:calc(80px + var(--i) * 18px);display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:36px;border-radius:calc(var(--radius) + 10px);background:var(--c-surface);box-shadow:0 -10px 40px -20px rgba(0,0,0,.25);min-height:340px}
.s-stack-card img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:820px){.s-stack-card{grid-template-columns:1fr}}
/* audio */
.s-audio{display:flex;gap:16px;align-items:center;padding:16px;border-radius:calc(var(--radius) + 4px);background:var(--c-surface)}
.s-audio img{width:72px;height:72px;border-radius:10px;object-fit:cover}.s-audio .meta{flex:1;min-width:0}
.s-audio .play{width:48px;height:48px;border-radius:50%;border:0;background:var(--c-primary);color:var(--c-on-primary,#fff);cursor:pointer;font-size:18px;flex:none}
.s-audio .prog{height:6px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent);margin-top:10px;cursor:pointer;position:relative}
.s-audio .prog i{position:absolute;inset:0 auto 0 0;background:var(--c-primary);border-radius:999px}
.s-audio .wave{display:flex;gap:2px;align-items:center;height:40px;margin-top:8px;cursor:pointer}.s-audio .wave i{flex:1;background:color-mix(in srgb,currentColor 20%,transparent);border-radius:2px}.s-audio .wave i.on{background:var(--c-primary)}
.s-audio.minimal{background:none;padding:0}
.s-playlist .tracks{margin-top:10px;display:grid}.s-playlist .tracks button{display:flex;gap:12px;align-items:center;padding:10px;background:none;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent);color:inherit;font:inherit;cursor:pointer;text-align:left}
.s-playlist .tracks button[aria-current=true]{color:var(--c-hl,var(--c-primary));font-weight:700}.s-playlist .tracks img{width:40px;height:40px;border-radius:6px;object-fit:cover}
/* image rollover */
.s-roll{position:relative;display:block;overflow:hidden;border-radius:var(--radius);aspect-ratio:1}
.s-roll img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:all .6s cubic-bezier(.22,1,.36,1)}
.s-roll .h{opacity:0}.s-roll.fade:hover .h{opacity:1}
.s-roll.slide .h{opacity:1;transform:translateX(100%)}.s-roll.slide:hover .h{transform:none}
.s-roll.zoom .h{opacity:0;transform:scale(1.3)}.s-roll.zoom:hover .h{opacity:1;transform:none}
.s-roll.circle .h{opacity:1;clip-path:circle(0% at 50% 50%)}.s-roll.circle:hover .h{clip-path:circle(75% at 50% 50%)}
/* business */
.s-cta-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;font-size:1.1rem}
.s-hours{display:grid;gap:4px;max-width:420px}.s-hours .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed color-mix(in srgb,currentColor 15%,transparent)}
.s-hours .row.today{font-weight:700;color:var(--c-hl,var(--c-primary))}.s-status{display:inline-flex;gap:8px;align-items:center;font-weight:700;margin-bottom:10px}
.s-status i{width:10px;height:10px;border-radius:50%;background:#16a34a}.s-status.closed i{background:#dc2626}
.s-locs{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.s-loc{padding:20px;border-radius:var(--radius);background:var(--c-surface);display:grid;gap:6px}
.s-coupon{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px;border:2px dashed var(--c-primary);border-radius:calc(var(--radius) + 6px);background:color-mix(in srgb,var(--c-primary) 6%,transparent);max-width:640px}
.s-coupon code{font-size:1.3rem;font-weight:800;letter-spacing:.1em;padding:10px 16px;border-radius:8px;background:var(--c-bg);border:1px solid color-mix(in srgb,currentColor 15%,transparent)}
@media (max-width:640px){.s-coupon{grid-template-columns:1fr}}
.s-booking{display:grid;gap:14px;max-width:640px}.s-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.s-slots button,.s-days button{padding:10px;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);background:none;color:inherit;cursor:pointer;font:inherit}
.s-slots button[aria-pressed=true],.s-days button[aria-pressed=true]{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}
.s-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.s-days button{flex:none;min-width:70px;text-align:center;line-height:1.3}
.s-reviews{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.s-reviews.carousel{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(280px,1fr);overflow-x:auto;scroll-snap-type:x mandatory}
.s-reviews.masonry{display:block;columns:3 260px;column-gap:18px}.s-reviews.masonry .s-rev{break-inside:avoid;margin-bottom:18px}
.s-rev{padding:22px;border-radius:calc(var(--radius) + 4px);background:var(--c-surface);display:grid;gap:10px;scroll-snap-align:start}
.s-stars{color:#f59e0b;letter-spacing:2px}.s-rev-sum{display:flex;align-items:center;gap:14px;margin-bottom:18px}.s-rev-sum b{font-size:2.6rem;font-family:var(--f-heading)}
.s-calc{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px;border-radius:calc(var(--radius) + 6px);background:var(--c-surface)}
.s-calc label{display:grid;gap:6px;font-weight:600;font-size:.9rem}.s-calc .out{display:grid;align-content:center;gap:8px;text-align:center}.s-calc .out b{font-size:2.6rem;color:var(--c-hl,var(--c-primary));font-family:var(--f-heading)}
@media (max-width:640px){.s-calc{grid-template-columns:1fr}}
.s-savings .sv-bill{font-size:2rem;font-family:var(--f-heading)}.s-savings input[type=range]{width:100%;accent-color:var(--c-primary);height:28px}
.s-chart svg{width:100%;height:auto;overflow:visible}.s-chart text{fill:currentColor;font-size:12px}
.s-popbox{position:fixed;inset:0;z-index:960;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px;animation:s-fadein .3s}
.s-popbox .box{position:relative;background:var(--c-bg);color:var(--c-text);border-radius:calc(var(--radius) + 8px);width:100%;overflow:auto;max-height:92vh;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.s-popbox .box.sm{max-width:380px}.s-popbox .box.md{max-width:520px}.s-popbox .box.lg{max-width:820px}.s-popbox .box.full{max-width:none;height:100vh;max-height:none;border-radius:0}
.s-popbox .box>div{padding:32px;display:grid;gap:12px}.s-popbox .box img{width:100%;max-height:240px;object-fit:cover}
.s-widget-ph{display:grid;place-items:center;gap:6px;padding:40px 20px;border:2px dashed color-mix(in srgb,currentColor 25%,transparent);border-radius:var(--radius);text-align:center;font-size:.95rem;opacity:.85}
.s-social{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.s-social a{display:grid;place-items:center;width:var(--sz,40px);height:var(--sz,40px);text-decoration:none;transition:transform .2s,opacity .2s}
.s-social a:hover{transform:translateY(-2px)}.s-social svg{width:55%;height:55%}.s-social img{width:70%;height:70%;object-fit:contain}
.s-social.circle a{border-radius:50%;background:color-mix(in srgb,currentColor 10%,transparent)}.s-social.square a{border-radius:10px;background:color-mix(in srgb,currentColor 10%,transparent)}
.s-social.brand a{border-radius:50%;color:#fff}
.s-share{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.s-share a,.s-share button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:none;color:inherit;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none}
.s-share.icons a,.s-share.icons button{padding:0;width:40px;height:40px;justify-content:center;border-radius:50%}
.s-share.floating{position:fixed;left:0;top:50%;transform:translateY(-50%);flex-direction:column;gap:0;z-index:700}
.s-share.floating a,.s-share.floating button{border-radius:0;width:46px;height:46px;border:0;justify-content:center;background:var(--c-text);color:var(--c-bg);padding:0}
.s-share svg{width:18px;height:18px}
.s-rss{display:grid;gap:14px}.s-rss a{display:grid;gap:4px;padding:16px;border-radius:var(--radius);background:var(--c-surface);text-decoration:none}
.s-navlinks{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.s-navlinks.column{flex-direction:column;gap:10px}.s-navlinks a{text-decoration:none;font-weight:500}.s-navlinks a:hover{color:var(--c-hl,var(--c-primary))}
.s-search{position:relative;max-width:560px}.s-search-results{margin-top:10px;display:grid;gap:8px}.s-search-results a{padding:12px 14px;border-radius:var(--radius);background:var(--c-surface);text-decoration:none;display:grid}
.s-rmenu{display:grid;gap:36px}.s-rmenu h3{color:var(--c-hl,var(--c-primary));border-bottom:2px solid color-mix(in srgb,var(--c-primary) 30%,transparent);padding-bottom:8px}
.s-dish{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:10px 0}.s-dish .n{font-weight:700;display:flex;gap:8px;align-items:baseline}
.s-rmenu.classic .s-dish .n::after{content:"";flex:1;border-bottom:2px dotted color-mix(in srgb,currentColor 30%,transparent);transform:translateY(-4px)}
.s-dish .d{grid-column:1;opacity:.7;font-size:.92rem}.s-dish .p{font-weight:700;align-self:start}
.s-tag{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,#16a34a 18%,transparent);color:#15803d;text-transform:uppercase}.s-tag.spicy{background:#fee2e2;color:#b91c1c}
.s-rmenu.cards .s-dishes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.s-rmenu.cards .s-dish{padding:16px;border-radius:var(--radius);background:var(--c-surface)}
/* service menu (salons, spas, clinics) */
.s-svcmenu{display:grid;gap:44px}.s-svc-group{display:grid;gap:14px}.s-svc-group h3{margin:0;font-family:var(--f-heading);font-weight:500;font-size:1.5rem;letter-spacing:-.01em}
.s-svc-intro{margin:-6px 0 4px;color:var(--c-muted);max-width:60ch}.s-svc-items{display:grid}
.s-svc{display:grid;gap:6px;padding:18px 0;border-top:1px solid color-mix(in srgb,var(--c-text) 12%,transparent)}
.s-svc-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.s-svc-name{font-weight:600;font-size:1.05rem}
.s-svc-time{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);white-space:nowrap}
.s-svc-price{margin-left:auto;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.s-svc-price small{font-weight:400;color:var(--c-muted);font-size:.78em}
.s-svcmenu.list .s-svc-head{flex-wrap:nowrap}.s-svcmenu.list .s-svc-time{order:3}.s-svcmenu.list .s-svc-name{display:flex;flex:1;gap:10px;align-items:baseline;min-width:0}
.s-svcmenu.list .s-svc-name::after{content:"";flex:1;min-width:16px;border-bottom:1px dotted color-mix(in srgb,currentColor 40%,transparent);transform:translateY(-4px)}
.s-svcmenu.list .s-svc-price{order:4;margin-left:0}.s-svcmenu.list .s-svc{border-top:0;padding:10px 0}
.s-svc-desc{margin:0;color:var(--c-muted);font-size:.94rem;line-height:1.6;max-width:62ch}
.s-svc-more summary{cursor:pointer;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-hl,var(--c-primary));list-style:none;display:inline-flex;gap:6px;align-items:center;min-height:32px}
.s-svc-more summary::-webkit-details-marker{display:none}.s-svc-more summary::after{content:"+";font-size:1rem;transition:transform .25s}.s-svc-more[open] summary::after{transform:rotate(45deg)}
.s-svc-more p{margin:6px 0 0;color:var(--c-muted);line-height:1.7;max-width:62ch}
.s-svc-book{justify-self:start;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--c-hl,var(--c-primary));text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0 2px}
.s-svc-book:hover{opacity:.75}
.s-svcmenu.numbered .s-svc{padding:30px 0;grid-template-columns:72px 1fr;column-gap:20px;row-gap:8px}.s-svcmenu.numbered .s-svc>*{grid-column:2}
.s-svcmenu.numbered .s-svc>.s-svc-num{grid-column:1;grid-row:1/span 5;font-size:.8rem;letter-spacing:.2em;color:var(--c-hl,var(--c-primary));padding-top:.9em}
.s-svcmenu.numbered .s-svc-head{gap:6px 18px;align-items:baseline}
.s-svcmenu.numbered .s-svc-group h3{font-family:var(--f-body);font-weight:500;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--c-hl,var(--c-primary));padding-top:24px}
.s-svcmenu.numbered .s-svc-name{flex:1 1 100%;font-family:var(--f-heading);font-weight:400;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;letter-spacing:-.015em}
.s-svcmenu.numbered .s-svc-price{margin:0;font-weight:500;color:var(--c-text)}.s-svcmenu.numbered .s-svc-time+.s-svc-price::before{content:"·";margin-right:18px;color:var(--c-muted)}
.s-svcmenu.cards .s-svc-items{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.s-svcmenu.cards .s-svc{border:1px solid color-mix(in srgb,var(--c-text) 10%,transparent);border-radius:var(--radius);padding:20px;background:var(--c-surface);align-content:start}
.s-svcmenu.cards .s-svc-head{flex-direction:column;align-items:flex-start;gap:4px}.s-svcmenu.cards .s-svc-price{margin:6px 0 0;font-size:1.15rem;color:var(--c-hl,var(--c-primary))}
.s-svc-note{margin:0;font-size:.85rem;color:var(--c-muted)}
@media (max-width:640px){.s-svcmenu.numbered .s-svc{grid-template-columns:40px 1fr;column-gap:12px;padding:22px 0}.s-svcmenu.list .s-svc-time{display:none}}
/* accommodation (round 71) */
.s-stay-note{padding:18px;border:1px dashed color-mix(in srgb,var(--c-text) 25%,transparent);border-radius:var(--radius);color:var(--c-muted);font-size:.92rem}
.s-stay-search{display:grid;gap:12px;align-items:end;padding:14px;border-radius:calc(var(--radius) + 6px);background:var(--c-bg);color:var(--c-text);box-shadow:0 20px 50px -30px rgba(0,0,0,.45);border:1px solid color-mix(in srgb,var(--c-text) 10%,transparent)}
.s-stay-search.bar{grid-template-columns:1fr 1fr auto auto}.s-stay-search.stacked{grid-template-columns:1fr 1fr}.s-stay-search.stacked .s-stay-guests,.s-stay-search.stacked>button{grid-column:1/-1}
.s-fapp{--fa-text:var(--c-text);--fa-bg:var(--c-surface);position:relative;color:var(--fa-text);background:var(--fa-bg);border-radius:var(--fa-radius);padding:clamp(22px,4vw,44px);min-height:380px;display:flex;flex-direction:column;overflow:hidden;width:100%}
.s-fapp.fa-card{box-shadow:0 30px 70px -40px rgba(0,0,0,.35);border:1px solid color-mix(in srgb,var(--fa-text) 8%,transparent)}.s-fapp.fa-plain{background:transparent;padding:8px 0;box-shadow:none}
.s-fapp.fa-phone{max-width:420px;margin:0 auto;border-radius:34px;border:8px solid color-mix(in srgb,var(--fa-text) 88%,transparent);min-height:620px;padding:28px 22px}
.s-fapp.fa-photo{--fa-text:#fff;color:#fff}.s-fapp.fa-photo .fa-opt,.s-fapp.fa-photo .fa-input{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.fa-progress{display:flex;align-items:center;gap:10px;margin-bottom:22px}.fa-count{font-size:.8rem;font-weight:600;opacity:.7;white-space:nowrap}.fa-bar{flex:1;height:5px;border-radius:9px;background:color-mix(in srgb,var(--fa-text) 12%,transparent);overflow:hidden}.fa-bar i{display:block;height:100%;background:var(--fa-accent);border-radius:9px;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.fa-stage{position:relative;flex:1;display:flex}.fa-screen{width:100%;display:flex;flex-direction:column;justify-content:center;gap:18px}
.fa-tr-slide .fa-screen.in-next{animation:fa-in-r .38s cubic-bezier(.2,.8,.2,1)}.fa-tr-slide .fa-screen.in-back{animation:fa-in-l .38s cubic-bezier(.2,.8,.2,1)}.fa-tr-fade .fa-screen{animation:fa-fade .3s ease}.fa-tr-rise .fa-screen{animation:fa-rise .42s cubic-bezier(.2,.8,.2,1)}
@keyframes fa-in-r{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}@keyframes fa-in-l{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}@keyframes fa-fade{from{opacity:0}to{opacity:1}}@keyframes fa-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.s-fapp .fa-screen{animation:none!important}}
.fa-center{text-align:center;align-items:center;display:flex;flex-direction:column;gap:14px}.fa-eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fa-accent);font-weight:600}
.fa-field{display:flex;flex-direction:column;gap:12px}.fa-field+.fa-field{margin-top:10px}
.fa-q{display:block;font-family:var(--f-heading);font-size:var(--fa-q);line-height:1.2;font-weight:600;margin:0;color:inherit}.fa-num{color:var(--fa-accent);font-size:.6em;margin-right:8px;vertical-align:middle}.fa-req{color:var(--fa-accent)}
.fa-help{margin:0;opacity:.72;font-size:1rem}.fa-time{margin:0;font-size:.85rem;opacity:.6}
.fa-input{font:inherit;font-size:1.25rem;width:100%;padding:12px 2px;border:0;border-bottom:2px solid color-mix(in srgb,var(--fa-text) 25%,transparent);background:transparent;color:inherit;outline:none;border-radius:0;transition:border-color .2s}.fa-input:focus{border-bottom-color:var(--fa-accent)}textarea.fa-input{resize:vertical;min-height:90px}
.fa-opts{display:grid;gap:10px;max-width:560px}.fa-opts.many{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:none}
.fa-opt{appearance:none;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;font-size:1.05rem;padding:13px 16px;border-radius:calc(var(--fa-radius) * .6);border:1.5px solid color-mix(in srgb,var(--fa-text) 18%,transparent);background:var(--c-bg);color:var(--fa-text);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.fa-opt:hover{border-color:var(--fa-accent)}.fa-opt:active{transform:scale(.98)}.fa-opt kbd{font:inherit;font-size:.75rem;font-weight:700;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;border:1px solid color-mix(in srgb,var(--fa-text) 25%,transparent);flex:none}
.fa-opt i{margin-left:auto;font-style:normal;opacity:0;color:var(--fa-accent);font-weight:700}.fa-opt.on{border-color:var(--fa-accent);background:color-mix(in srgb,var(--fa-accent) 12%,var(--c-bg))}.fa-opt.on kbd{background:var(--fa-accent);color:#fff;border-color:var(--fa-accent)}.fa-opt.on i{opacity:1}
.fa-stars{display:flex;gap:6px}.fa-stars button{appearance:none;border:0;background:none;font-size:2.4rem;line-height:1;cursor:pointer;color:color-mix(in srgb,var(--fa-text) 22%,transparent);transition:transform .15s,color .15s;padding:0}.fa-stars button.on{color:#f5b301}.fa-stars button:hover{transform:scale(1.12)}
.fa-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:6px}.fa-scale button{appearance:none;font:inherit;font-weight:600;padding:12px 0;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--fa-text) 18%,transparent);background:var(--c-bg);color:var(--fa-text);cursor:pointer}.fa-scale button.on,.fa-scale button:hover{background:var(--fa-accent);border-color:var(--fa-accent);color:#fff}
.fa-scale-ends{display:flex;justify-content:space-between;font-size:.8rem;opacity:.65;margin-top:6px}@media (max-width:520px){.fa-scale{grid-template-columns:repeat(6,1fr)}}
.fa-slider{display:grid;gap:10px;max-width:520px}.fa-slider b{font-size:2rem;font-family:var(--f-heading)}.fa-slider input{width:100%;accent-color:var(--fa-accent);height:30px}
.fa-check{display:flex;gap:10px;align-items:center;font-size:1.1rem}.fa-check input{width:22px;height:22px;accent-color:var(--fa-accent)}
.fa-nav{margin-top:8px;display:grid;gap:10px}.fa-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fa-next{appearance:none;font:inherit;font-weight:700;font-size:1.05rem;padding:12px 26px;border-radius:calc(var(--fa-radius) * .6);border:0;background:var(--fa-accent);color:#fff;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .15s,filter .15s}.fa-next:hover{filter:brightness(1.08)}.fa-next:active{transform:scale(.97)}.fa-next:disabled{opacity:.6}
.fa-back{appearance:none;font:inherit;border:0;background:none;color:inherit;opacity:.65;cursor:pointer;padding:12px 6px}.fa-back:hover{opacity:1}.fa-enter{font-size:.8rem;opacity:.55}@media (hover:none){.fa-enter{display:none}}
.fa-err{margin:0;color:#dc2626;font-weight:600;font-size:.95rem}.fa-photo .fa-err{color:#fecaca}
.fa-review{display:grid;gap:8px;margin:0}.fa-review>div{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--fa-text) 12%,transparent)}.fa-review dt{opacity:.65;font-size:.9rem}.fa-review dd{margin:0;font-weight:600}.fa-review button{appearance:none;border:0;background:none;color:var(--fa-accent);font:inherit;font-size:.85rem;cursor:pointer}
.fa-done-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--fa-accent);color:#fff;font-size:2rem;animation:fa-rise .5s cubic-bezier(.2,.8,.2,1)}
.s-nav-social{display:inline-flex;align-items:center;gap:14px;margin-right:6px}.s-nav-social a{display:grid;place-items:center;width:22px;height:22px;color:inherit;opacity:.9;transition:opacity .15s,transform .15s}.s-nav-social a:hover{opacity:1;transform:translateY(-1px)}.s-nav-social svg{width:20px;height:20px}
@media (max-width:860px){.s-nav-social{display:none}}
.s-nav-wrap.nv-hide{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.s-nav-wrap.nv-hide.is-hidden{transform:translateY(-110%)}
.s-fileq{display:grid;gap:10px;width:100%}.s-fileq-drop{appearance:none;display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;padding:16px 18px;border-radius:calc(var(--radius) + 4px);border:2px dashed color-mix(in srgb,currentColor 25%,transparent);background:color-mix(in srgb,currentColor 3%,transparent);color:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.s-fileq-drop:hover,.s-fileq-drop.over{border-color:var(--fa-accent,var(--c-primary));background:color-mix(in srgb,var(--fa-accent,var(--c-primary)) 8%,transparent)}.s-fileq-drop b{display:block}.s-fileq-drop small{display:block;opacity:.65;font-size:.82rem}.s-fileq-icon{font-size:1.6rem}
.s-fileq-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.s-fileq-list li{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb,currentColor 5%,transparent)}
.s-fileq-list img,.s-fileq-doc{width:44px;height:44px;border-radius:8px;object-fit:cover;display:grid;place-items:center;font-size:1.4rem;background:color-mix(in srgb,currentColor 6%,transparent)}.s-fileq-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.s-fileq-name small{display:block;font-weight:400;opacity:.6;font-size:.78rem}
.s-fileq-list button{appearance:none;border:0;background:none;color:inherit;opacity:.55;cursor:pointer;font-size:1rem;padding:6px}.s-fileq-list button:hover{opacity:1}.s-fileq-err{margin:0;color:#dc2626;font-size:.9rem;font-weight:600}
.s-choices{display:flex;flex-wrap:wrap;gap:8px 18px}.s-choice{display:flex;align-items:center;gap:8px;font-weight:400}
.sdr{position:relative;display:contents}.sdr-field{appearance:none;border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);background:var(--c-bg);border-radius:var(--radius);padding:8px 12px;text-align:left;cursor:pointer;min-height:46px;font:inherit}.sdr-field b{font-size:1rem;letter-spacing:0;text-transform:none;color:var(--c-text);font-weight:600}.sdr-field:hover{border-color:var(--c-primary)}
.sdr-pop{position:fixed;z-index:2147482000;width:min(640px,calc(100vw - 24px));font-family:var(--f-body,inherit);background:var(--c-bg);color:var(--c-text);border-radius:calc(var(--radius) + 6px);box-shadow:0 30px 70px -20px rgba(0,0,0,.45);padding:16px;text-transform:none;letter-spacing:0}
.s-stay-search{position:relative}.sdr-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;font-size:.95rem;margin-bottom:10px}.sdr-head button{appearance:none;border:0;background:var(--c-surface);border-radius:999px;width:34px;height:34px;font-size:1.2rem;cursor:pointer;color:var(--c-text)}.sdr-head button:disabled{opacity:.3}
.sdr-months{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:640px){.sdr-months{grid-template-columns:1fr}.sdr-months .sdr-month+.sdr-month{display:none}}
.sdr-title{font-weight:700;margin-bottom:6px;text-align:center}.sdr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.sdr-dow{font-size:.7rem;color:var(--c-muted);text-align:center;padding:4px 0}
.sdr-day{appearance:none;border:0;background:transparent;aspect-ratio:1;border-radius:999px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--c-text)}.sdr-day:hover:not(:disabled){background:color-mix(in srgb,var(--c-primary) 14%,transparent)}.sdr-day:disabled{opacity:.3;cursor:default;text-decoration:line-through}
.sdr-day.today{box-shadow:inset 0 0 0 1px var(--c-muted)}.sdr-day.mid{background:color-mix(in srgb,var(--c-primary) 14%,transparent);border-radius:0}.sdr-day.in,.sdr-day.out{background:var(--c-primary);color:#fff;font-weight:700}
.sdr-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:.82rem;color:var(--c-muted);flex-wrap:wrap}
.s-stay-date{display:grid;gap:4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.s-stay-date input{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--c-text);padding:10px 12px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);background:var(--c-bg);min-height:46px;width:100%}
.s-stay-guests{display:flex;gap:14px}.s-stay-guests label{display:grid;gap:4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.s-stay-step{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);border-radius:var(--radius);min-height:46px}
.s-stay-step button{width:40px;height:44px;border:0;background:none;font-size:1.2rem;color:var(--c-text);cursor:pointer}.s-stay-step b{min-width:22px;text-align:center;color:var(--c-text);font-size:1rem}
.s-stay-search>button{min-height:46px;white-space:nowrap}
@media (max-width:760px){.s-stay-search.bar{grid-template-columns:1fr 1fr}.s-stay-search.bar .s-stay-guests,.s-stay-search.bar>button{grid-column:1/-1}}
.s-stay-cal{border:1px solid color-mix(in srgb,var(--c-text) 12%,transparent);border-radius:calc(var(--radius) + 4px);background:var(--c-bg);color:var(--c-text);overflow:hidden}
.s-stay-cal.loading{padding:40px;text-align:center;color:var(--c-muted)}
.s-stay-cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--c-text) 10%,transparent)}
.s-stay-cal-nav{display:flex;align-items:center;gap:10px;font-size:.9rem}.s-stay-cal-nav button{width:36px;height:36px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);background:none;color:inherit;font-size:1.2rem;cursor:pointer}.s-stay-cal-nav button:disabled{opacity:.35;cursor:default}
.s-stay-cal-scroll{overflow-x:auto}.s-stay-cal table{border-collapse:collapse;width:100%;min-width:560px;font-size:.8rem}
.s-stay-cal th,.s-stay-cal td{padding:3px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--c-text) 7%,transparent)}
.s-stay-cal thead th{font-weight:500;color:var(--c-muted);font-size:.7rem;text-transform:uppercase;padding:8px 2px}.s-stay-cal thead th b{display:block;font-size:.95rem;color:var(--c-text);text-transform:none}.s-stay-cal thead th.we{background:color-mix(in srgb,var(--c-text) 4%,transparent)}
.s-stay-cal tbody th{text-align:left;font-weight:600;padding:8px 12px;min-width:150px;position:sticky;left:0;background:var(--c-bg);z-index:1}.s-stay-cal tbody th small{display:block;font-weight:400;color:var(--c-muted);font-size:.72rem}
.s-stay-cal td button{width:100%;min-width:52px;min-height:40px;border-radius:6px;border:0;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer;position:relative}
.s-stay-cal td button.free{background:color-mix(in srgb,#16a34a 12%,var(--c-bg));color:color-mix(in srgb,#15803d 80%,var(--c-text))}.s-stay-cal td button.free:hover{background:color-mix(in srgb,#16a34a 22%,var(--c-bg))}
.s-stay-cal td button.sold{background:color-mix(in srgb,var(--c-text) 6%,transparent);color:color-mix(in srgb,var(--c-text) 40%,transparent);cursor:not-allowed;font-weight:500}
.s-stay-cal td button.on{background:var(--c-primary);color:var(--c-on-primary)}.s-stay-cal td button i{position:absolute;top:1px;right:3px;font-style:normal;font-size:.58rem;opacity:.7}
.s-stay-cal-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.9rem}
.s-stay-book{display:grid;gap:16px;color:var(--c-text)}.s-stay-title{margin:0;font-family:var(--f-heading)}
.s-stay-book.done{place-items:center;text-align:center;padding:36px 20px;border-radius:calc(var(--radius) + 6px);background:var(--c-surface)}.s-stay-book.done h3{margin:0}.s-stay-book.done p{margin:0}
.s-stay-done-icon{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:var(--c-primary);color:var(--c-on-primary);font-size:1.6rem}
.s-stay-specials{display:flex;flex-wrap:wrap;gap:8px}.s-stay-specials span{padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--c-primary) 10%,transparent);font-size:.82rem}
.s-stay-error{margin:0;padding:10px 14px;border-radius:var(--radius);background:#fef2f2;color:#991b1b;font-size:.9rem}
.s-stay-results{display:grid;gap:12px}.s-stay-results>p{margin:0}
.s-stay-result{display:grid;grid-template-columns:150px 1fr auto;gap:16px;align-items:center;padding:12px;border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in srgb,var(--c-text) 12%,transparent);background:var(--c-bg)}
.s-stay-result.off{opacity:.6}.s-stay-result img,.s-stay-noimg{width:150px;height:110px;object-fit:cover;border-radius:var(--radius);background:var(--c-surface)}
.s-stay-result-body{display:grid;gap:4px;min-width:0}.s-stay-result-body strong{font-size:1.1rem;font-family:var(--f-heading)}.s-stay-result-body small{color:var(--c-muted)}.s-stay-result-body em{color:#b45309;font-style:normal;font-size:.88rem}
.s-stay-result-price{display:grid;gap:4px;justify-items:end;text-align:right}.s-stay-result-price b{font-size:1.35rem}.s-stay-result-price small{color:var(--c-muted);font-size:.75rem}.s-stay-result-price s{color:var(--c-muted);font-size:.85rem}
.s-stay-deal{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#166534}
@media (max-width:640px){.s-stay-result{grid-template-columns:96px 1fr}.s-stay-result img,.s-stay-noimg{width:96px;height:80px}.s-stay-result-price{grid-column:1/-1;justify-items:stretch;text-align:left;grid-template-columns:1fr auto;align-items:center}.s-stay-result-price button{grid-column:1/-1}}
.s-stay-checkout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width:820px){.s-stay-checkout{grid-template-columns:1fr}}
.s-stay-summary{display:grid;gap:14px;padding:18px;border-radius:calc(var(--radius) + 4px);background:var(--c-surface)}
.s-stay-summary-head{display:flex;gap:12px;align-items:center}.s-stay-summary-head img{width:84px;height:64px;object-fit:cover;border-radius:var(--radius)}.s-stay-summary-head div{display:grid;gap:2px}.s-stay-summary-head small{color:var(--c-muted)}
.s-stay-link{border:0;background:none;padding:0;color:var(--c-hl,var(--c-primary));cursor:pointer;font:inherit;font-size:.85rem;text-align:left;text-decoration:underline}
.s-stay-units{display:flex;justify-content:space-between;align-items:center;gap:10px}.s-stay-units select{padding:8px 10px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);background:var(--c-bg);color:inherit}
.s-stay-extras{border:0;padding:0;margin:0;display:grid;gap:8px}.s-stay-extras legend{font-weight:600;margin-bottom:6px}.s-stay-extras label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;font-size:.92rem;cursor:pointer}.s-stay-extras small{display:block;color:var(--c-muted)}
.s-stay-lines{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:0;font-size:.92rem;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--c-text) 12%,transparent)}.s-stay-lines dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.s-stay-lines .total{font-weight:700;font-size:1.1rem;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--c-text) 12%,transparent)}.s-stay-lines .deal{color:#15803d}
.s-stay-details{display:grid;gap:10px}.s-stay-details h4{margin:0}.s-stay-code summary{cursor:pointer;font-size:.88rem;color:var(--c-muted)}.s-stay-policy{font-size:.82rem;margin:0}.s-stay-times{margin:0;font-size:.82rem}.s-stay-hint{margin:0}
.s-rooms.cards{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px}@media (max-width:980px){.s-rooms.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.s-rooms.cards{grid-template-columns:1fr}}
.s-room{display:flex;flex-direction:column;border-radius:calc(var(--radius) + 6px);overflow:hidden;background:var(--c-bg);border:1px solid color-mix(in srgb,var(--c-text) 10%,transparent);color:var(--c-text)}
.s-room-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--c-surface)}.s-room-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.s-room:hover .s-room-img img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.s-room-img img{transition:none}.s-room:hover .s-room-img img{transform:none}}
.s-room-body{display:flex;flex-direction:column;gap:10px;padding:20px;flex:1}.s-room-body h3{margin:0;font-family:var(--f-heading);font-size:1.35rem}.s-room-body h3 a{color:inherit;text-decoration:none}
.s-room-facts{display:flex;flex-wrap:wrap;gap:6px}.s-room-facts span{font-size:.75rem;padding:4px 10px;border-radius:999px;background:var(--c-surface);color:var(--c-muted)}
.s-room-sum{margin:0;color:var(--c-muted);line-height:1.6}.s-room-feat{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.88rem}.s-room-feat li::before{content:"✓";color:var(--c-hl,var(--c-primary));margin-right:8px;font-weight:700}
.s-room-feat.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}@media (max-width:640px){.s-room-feat.two{grid-template-columns:1fr}}
.s-room-foot{margin-top:auto;display:grid;gap:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--c-text) 8%,transparent)}.s-room-price b{font-size:1.3rem}.s-room-price small{color:var(--c-muted)}
.s-room-btns{display:flex;gap:8px;flex-wrap:wrap}.s-room-btns .s-btn{flex:1;justify-content:center;text-align:center}
.s-rooms.list,.s-rooms.alt{display:grid;gap:24px}.s-rooms.list .s-room,.s-rooms.alt .s-room{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.s-rooms.list .s-room-img,.s-rooms.alt .s-room-img{aspect-ratio:auto;min-height:280px}.s-rooms.alt .s-room:nth-child(even) .s-room-img{order:2}.s-rooms.alt .s-room{border:0;background:transparent}.s-rooms.alt .s-room-img{border-radius:calc(var(--radius) + 8px);min-height:420px}.s-rooms.alt .s-room-body{padding:28px 8px 28px 40px;justify-content:center}.s-rooms.alt .s-room-body h3{font-size:2rem}
@media (max-width:760px){.s-rooms.list .s-room,.s-rooms.alt .s-room{grid-template-columns:1fr}.s-rooms.alt .s-room:nth-child(even) .s-room-img{order:0}.s-rooms.alt .s-room-img{min-height:260px}.s-rooms.alt .s-room-body{padding:20px 4px}}
.s-room-gallery{display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;border-radius:calc(var(--radius) + 6px);overflow:hidden;margin-bottom:28px}
.s-room-gallery button{border:0;padding:0;cursor:zoom-in;position:relative;overflow:hidden;background:var(--c-surface)}.s-room-gallery img{width:100%;height:100%;object-fit:cover}.s-room-gallery button:first-child{grid-row:1/3}
.s-room-gallery span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-weight:600}
.s-room-gallery.n1{grid-template-columns:1fr;grid-template-rows:440px}.s-room-gallery.n2{grid-template-columns:2fr 1fr;grid-template-rows:440px}.s-room-gallery.n3{grid-template-columns:2fr 1fr}.s-room-gallery.n3 button:nth-child(n+2){grid-column:2}.s-room-gallery.n4 button:nth-child(4){grid-column:2/4}
@media (max-width:760px){.s-room-gallery,.s-room-gallery.n1,.s-room-gallery.n2,.s-room-gallery.n3,.s-room-gallery.n4{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px}.s-room-gallery button:first-child{grid-column:1/-1;grid-row:auto}.s-room-gallery button:nth-child(n+4){display:none}.s-room-gallery.n3 button:nth-child(n+2){grid-column:auto}}
.s-room-page{color:var(--c-text)}.s-room-page-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:40px;align-items:start}@media (max-width:980px){.s-room-page-grid{grid-template-columns:1fr}}
.s-room-page-main h1{margin:0 0 12px;font-family:var(--f-heading);font-size:clamp(2.2rem,4vw,3.4rem)}.s-room-page-main h2{margin:36px 0 14px;font-family:var(--f-heading);font-size:1.5rem}.s-room-page-main p{line-height:1.75;color:var(--c-muted)}.s-room-lead{font-size:1.15rem;color:var(--c-text)!important}
.s-room-rates{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;margin:0}.s-room-rates dt{color:var(--c-muted)}.s-room-rates dd{margin:0}
.s-room-page-book{position:sticky;top:96px;padding:20px;border-radius:calc(var(--radius) + 8px);background:var(--c-surface)}.s-room-page-book .s-stay-search.bar{grid-template-columns:1fr 1fr}.s-room-page-book .s-stay-search .s-stay-guests,.s-room-page-book .s-stay-search>button{grid-column:1/-1}.s-room-page-book .s-stay-checkout{grid-template-columns:1fr}.s-room-page-book .s-stay-result{grid-template-columns:1fr}.s-room-page-book .s-stay-result img,.s-room-page-book .s-stay-noimg{display:none}.s-room-page-book .s-stay-result-price{justify-items:stretch;text-align:left}
/* appointment booking (salons, clinics…) */
.s-appt{display:grid;gap:22px;max-width:920px;margin:0 auto}.s-appt.loading{min-height:200px;display:grid;place-items:center;color:var(--c-muted)}
.s-appt-step{display:grid;gap:12px;padding:20px;border-radius:calc(var(--radius) + 8px);background:var(--c-surface);border:1px solid color-mix(in srgb,var(--c-text) 8%,transparent)}
.s-appt-step h4{margin:0;display:flex;align-items:center;gap:10px;font-size:1.05rem}.s-appt-step h4 span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--c-primary);color:var(--c-on-primary,#fff);font-size:.85rem}
.s-appt-group h5{margin:6px 0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.s-appt-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px}
.s-appt-svc{display:flex;justify-content:space-between;gap:12px;text-align:left;padding:12px 14px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);background:var(--c-bg);color:inherit;cursor:pointer;font:inherit;min-height:56px;transition:border-color .2s,box-shadow .2s}
.s-appt-svc small{display:block;color:var(--c-muted);font-size:.8rem;margin-top:2px}.s-appt-svc:hover{border-color:var(--c-primary)}
.s-appt-svc.on{border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary) 35%,transparent)}
.s-appt-meta{display:grid;justify-items:end;align-content:center;white-space:nowrap}
.s-appt-sum{margin:0;color:var(--c-muted);font-size:.92rem}.s-appt-sum b{color:var(--c-text)}
.s-appt-people{display:flex;flex-wrap:wrap;gap:10px}
.s-appt-person{display:grid;justify-items:center;gap:4px;width:118px;padding:12px 8px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);background:var(--c-bg);color:inherit;font:inherit;cursor:pointer;text-align:center}
.s-appt-person small{color:var(--c-muted);font-size:.75rem}.s-appt-person.on{border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary) 35%,transparent)}
.s-appt-av{width:56px;height:56px;border-radius:999px;object-fit:cover;display:grid;place-items:center;background:color-mix(in srgb,var(--c-primary) 18%,var(--c-bg));color:var(--c-primary);font-weight:700;font-size:1.2rem}
.s-appt-days{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center}
.s-appt-dlist{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.s-appt-dnav{width:36px;height:36px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-text) 15%,transparent);background:var(--c-bg);color:inherit;cursor:pointer}.s-appt-dnav:disabled{opacity:.35}
.s-appt-day{flex:0 0 62px;display:grid;justify-items:center;gap:1px;padding:8px 4px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);background:var(--c-bg);color:inherit;font:inherit;cursor:pointer}
.s-appt-day small{font-size:.7rem;color:var(--c-muted);text-transform:uppercase}.s-appt-day b{font-size:1.2rem}.s-appt-day.on{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}.s-appt-day.on small{color:inherit}
.s-appt-day.none{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.s-appt-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}
.s-appt-time{padding:10px 0;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);background:var(--c-bg);color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;min-height:44px}
.s-appt-time:hover{border-color:var(--c-primary)}.s-appt-time.on{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}
.s-appt-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.s-appt-fields textarea,.s-appt-fields input[type=email]{grid-column:1/-1}
.s-appt.done{text-align:center;justify-items:center;padding:40px 20px;border-radius:calc(var(--radius) + 8px);background:var(--c-surface)}
@media (max-width:640px){.s-appt-step{padding:16px}.s-appt-fields{grid-template-columns:1fr}.s-appt-person{width:calc(50% - 5px)}}
/* rating badge */
.s-ratingbadge{width:fit-content;max-width:100%;flex-wrap:wrap;display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;line-height:1.2}
.s-ratingbadge.pill{padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--c-bg) 82%,transparent);border:1px solid color-mix(in srgb,var(--c-text) 12%,transparent);font-size:.88rem;backdrop-filter:blur(6px)}
.s-rb-stars{color:#d4a017;letter-spacing:.08em}.s-ratingbadge small{color:var(--c-muted)}
.s-ratingbadge.big{gap:16px}.s-rb-num{font-family:var(--f-heading);font-weight:400;font-size:clamp(3rem,6vw,4.6rem);line-height:1;letter-spacing:-.03em}.s-rb-meta{display:grid;gap:4px}
.s-ratingbadge.inline{gap:8px;font-size:.92rem}
/* nav dropdowns + mobile styles */
.s-nav-links li{position:relative}.s-dd{position:absolute;top:100%;left:-14px;min-width:200px;padding:10px;border-radius:12px;background:var(--c-bg);color:var(--c-text);box-shadow:0 20px 40px -18px rgba(0,0,0,.35);display:none;list-style:none;margin:0;z-index:60}
.s-nav-links li:hover>.s-dd,.s-nav-links li:focus-within>.s-dd{display:grid}.s-dd a{display:block;padding:8px 10px;border-radius:8px;opacity:1!important}.s-dd a:hover{background:var(--c-surface)}
@media (max-width:820px){.s-dd{position:static;display:grid;box-shadow:none;padding:0 0 0 14px;background:none}
.s-nav-wrap.m-overlay .s-nav-links.open{position:fixed;inset:0;justify-content:center;align-items:center;font-size:1.6rem;gap:22px;z-index:70}
.s-nav-wrap.m-drawer .s-nav-links.open{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(320px,85vw);padding:80px 28px;align-items:flex-start;z-index:70;box-shadow:-20px 0 40px -20px rgba(0,0,0,.4)}
.s-nav-wrap.m-overlay .s-burger,.s-nav-wrap.m-drawer .s-burger{position:relative;z-index:80}}
/* countdown styles */
.s-countdown.text{gap:0;font-family:var(--f-heading);font-size:clamp(1.6rem,4vw,3rem);font-weight:800}.s-countdown.text div{background:none;min-width:0;padding:0 .2em}
.s-countdown.text b{display:inline;font-size:inherit}.s-countdown.text span{font-size:.4em;margin-left:.15em;letter-spacing:0;text-transform:none}
.s-ring{position:relative;width:110px;height:110px;display:grid;place-items:center}.s-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.s-ring circle{fill:none;stroke-width:6}.s-ring .bg{stroke:color-mix(in srgb,currentColor 12%,transparent)}.s-ring .fg{stroke:var(--c-primary);stroke-linecap:round;transition:stroke-dashoffset .6s}
.s-ring b{font-size:1.8rem;font-family:var(--f-heading);line-height:1}.s-ring span{position:absolute;bottom:22px;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}
/* age gate */
.s-agegate{position:fixed;inset:0;z-index:9995;background:rgba(10,10,15,.94);display:grid;place-items:center;padding:20px;color:#fff;text-align:center}
.s-agegate .box{max-width:460px;display:grid;gap:16px}.s-agegate .btns{display:flex;gap:10px;justify-content:center}
/* collapsible */
.s-collapse .body{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines,3)}
.s-collapse.open .body{display:block}.s-collapse button{margin-top:8px;background:none;border:0;padding:0;color:var(--c-hl,var(--c-primary));font:inherit;font-weight:700;cursor:pointer}
/* scroll highlighter */
.s-scrollhl span{transition:opacity .25s}
/* video scroll */
.s-vscroll{position:relative}.s-vscroll .stick{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
.s-vscroll video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.s-vscroll h2{position:relative;z-index:1;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5)}
/* text animation keyframes */
@keyframes s-tbounce{from{opacity:0;transform:translateY(.6em) scale(.6)}to{opacity:1;transform:none}}
@keyframes s-tblur{from{opacity:0;filter:blur(12px);transform:translateX(-.2em)}to{opacity:1;filter:none;transform:none}}
@keyframes s-trot{from{opacity:0;transform:rotateX(-90deg)}to{opacity:1;transform:none}}
/* list columns, gallery clickable */
.s-list.cols{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}
@media (max-width:640px){.s-list.cols{grid-template-columns:1fr}}
/* edit-mode chip for invisible / fixed elements */
.s-edit-chip{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1.5px dashed color-mix(in srgb,var(--c-primary) 60%,transparent);border-radius:10px;background:color-mix(in srgb,var(--c-primary) 6%,transparent);font:500 13px/1.4 system-ui,sans-serif;color:inherit}
.s-edit-chip b{font-weight:700}.s-edit-chip small{opacity:.7}
/* shapes */
.s-shape svg{width:100%;height:100%;display:block}
/* paypal */
.s-paypal button{background:#ffc439;color:#111;border:0;border-radius:999px;padding:12px 28px;font-weight:700;cursor:pointer;font-size:1rem}
.s-paypal button:hover{filter:brightness(.95)}
.s-gallery.s-gcols{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:820px){.s-gallery.s-gcols{grid-template-columns:repeat(2,minmax(0,1fr))}.s-gallery.v-masonry,.s-gallery.v-infinite{columns:2}}
@media (max-width:820px){.s-flips{--cols:1!important}}
/* universal hover effects (Design → Hover effect) */
.hv-zoomout,.hv-zoom,.hv-opacity,.hv-float,.hv-forward,.hv-grayscale,.hv-rgrayscale,.hv-blur,.hv-blurgray{transition:transform .35s ease,filter .35s ease,opacity .35s ease,box-shadow .35s ease}
.hv-zoomout:hover{transform:scale(.95)}.hv-zoom:hover{transform:scale(1.05)}.hv-opacity:hover{opacity:.7}
.hv-float:hover{transform:translateY(-8px);box-shadow:0 18px 30px -18px rgba(0,0,0,.45)}.hv-forward:hover{transform:translateX(6px)}
.hv-grayscale:hover{filter:grayscale(1)}.hv-rgrayscale{filter:grayscale(1)}.hv-rgrayscale:hover{filter:none}
.hv-blur:hover{filter:blur(2px)}.hv-blurgray:hover{filter:blur(2px) grayscale(1)}
/* floating elements (Settings → Floating) */
.s-floating{position:fixed!important;z-index:850;margin:0!important;max-width:calc(100vw - 32px)}
.fl-top-left{top:16px;left:16px}.fl-top-right{top:16px;right:16px}.fl-bottom-left{bottom:16px;left:16px}.fl-bottom-right{bottom:16px;right:16px}
/* buttons: size, full width, icon */
.s-btn.sz-sm{padding:9px 18px;font-size:.88rem}.s-btn.sz-lg{padding:18px 38px;font-size:1.12rem}.s-btn.full{width:100%}
.s-btn.has-icon::before{content:attr(data-icon);display:inline-block}.s-btn.has-icon.icon-right{flex-direction:row-reverse}
/* image: caption, hover swap */
.s-figure{margin:0}.s-figure figcaption{margin-top:8px;font-size:.9rem;opacity:.75;text-align:center}
.s-img-swap{position:relative;display:block}.s-img-swap .alt{position:absolute;inset:0;height:100%;opacity:0;transition:opacity .45s ease}.s-img-swap:hover .alt{opacity:1}
/* icon shapes */
.s-icon.shape-circle,.s-icon.shape-square{display:inline-grid;place-items:center;width:64px;height:64px}.s-icon.shape-circle{border-radius:50%}.s-icon.shape-square{border-radius:14px}
a.s-icon{text-decoration:none;color:inherit}
.s-icon.s-svgicon svg{width:55%;height:55%;display:block}.s-icon.s-svgicon:not(.shape-circle):not(.shape-square) svg{width:60%;height:60%}
/* gallery captions */
.s-gallery .gi{margin:0;position:relative;overflow:hidden;border-radius:var(--radius)}
.s-gallery .gi figcaption{padding:8px 2px;font-weight:600}
.s-gallery .gi.t-hover figcaption,.s-gallery .gi.t-over figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.s-gallery .gi.t-hover figcaption{opacity:0;transform:translateY(10px);transition:.35s}.s-gallery .gi.t-hover:hover figcaption{opacity:1;transform:none}
/* slider options */
.s-slider .ov{position:absolute;inset:0;z-index:1}
.s-slider.fit-contain .s-slide img{object-fit:contain;background:#000}
.s-slider .nav{color:var(--arrow,#111)}.s-slider.ar-thin .nav{background:none;color:var(--arrow,#fff);font-size:44px;width:auto;height:auto}
.s-slider.ar-square .nav{border-radius:6px}
.s-slider.ca-up .s-slide.on .cap{animation:s-fadein .8s ease both}.s-slider.ca-none .cap{animation:none}
.s-slider .s-slide.on .cap{animation:s-fadein .8s ease both}
/* countdown message */
.s-countdown-msg{margin-top:14px;font-weight:600}
/* section background slider & parallax */
.s-bgslider{position:absolute;inset:0;z-index:0}.s-bgslider div{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;transform:scale(1.04)}
.s-bgslider div.on{opacity:1;animation:s-kb2 12s ease-out forwards}
@media (max-width:1024px){.s-parallax{background-attachment:scroll!important}}
/* keep anchored/scrolled-to content clear of a sticky header */
html:has(.s-nav-wrap.sticky){scroll-padding-top:96px}
/* navigation bar sizes (Size settings) and the smaller sticky bar once the page scrolls */
.s-nav-wrap.nv-sized .s-nav.s-nav{min-height:var(--nv-h,auto);padding-top:var(--nv-py,18px);padding-bottom:var(--nv-py,18px);transition:min-height .3s ease,padding .3s ease}
.s-nav-wrap.nv-sized .s-nav .s-nav-logo img{height:var(--nv-logo,36px);max-height:none;width:auto;transition:height .3s ease}
.s-nav-wrap.nv-sized .s-nav .s-nav-logo>span{font-size:calc(var(--nv-logo-text,1.35rem) * var(--nv-k,1));transition:font-size .3s ease}
.s-nav-wrap.nv-sized .s-nav .s-nav-links a{font-size:var(--nv-link,inherit)}
.s-nav-wrap.nv-shrink{transition:box-shadow .3s ease}
.s-nav-wrap.nv-shrink.is-scrolled .s-nav.s-nav{min-height:var(--nv-h2);padding-top:0;padding-bottom:0;--nv-k:var(--nv-k2,1)}
.s-nav-wrap.nv-shrink.is-scrolled .s-nav .s-nav-logo img{height:var(--nv-logo2)}
.s-nav-wrap.nv-shrink.is-scrolled{box-shadow:0 10px 26px -18px rgba(0,0,0,.4)}
.s-nav-wrap.nv-sized .s-nav .s-nav-logo{gap:var(--nv-logo-gap,10px)}
.s-nav-wrap.nv-sized .s-nav .s-nav-logo img{max-width:var(--nv-logo-mw,none);object-fit:contain;border-radius:var(--nv-logo-r,0)}
.s-nav-wrap.nv-sized .s-nav .s-nav-logo>span{font-family:var(--nv-logo-font,inherit);font-weight:var(--nv-logo-w,inherit);text-transform:var(--nv-logo-tt,none);letter-spacing:var(--nv-logo-ls,normal);color:var(--nv-logo-c,inherit)}
@media (max-width:820px){.s-nav-wrap.nv-sized .s-nav .s-nav-logo img{height:var(--nv-logo-m,var(--nv-logo,36px))}}
@media (min-width:821px){.s-nav .s-nav-logo.nv-logo-center{position:absolute;left:50%;transform:translateX(-50%);z-index:1}.s-nav:has(.nv-logo-center){position:relative}.s-nav:has(.nv-logo-center) .s-nav-links{margin-right:auto}}
/* stack floating buttons so they never overlap: WhatsApp → call (mobile) → back-to-top */
.s-totop.right{bottom:90px}
@media (max-width:820px){.s-totop.right{bottom:158px}}
/* ===== modern app-style UI ===== */
.s-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;z-index:0;width:clamp(180px,26vw,360px);aspect-ratio:1;background:var(--c-primary);animation:s-drift 18s ease-in-out infinite alternate}
.s-orb.a{top:-12%;right:-6%}.s-orb.b{bottom:-14%;left:-6%;background:var(--c-secondary);animation-delay:-6s}.s-orb.c{top:30%;left:40%;width:clamp(120px,16vw,240px);opacity:.3;animation-delay:-11s}
@keyframes s-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,40px) scale(1.08)}100%{transform:translate(30px,-20px) scale(.95)}}
.s-fx.fx-orbs .fxbg{background:var(--bg)}.s-fx.fx-orbs .s-orb{background:var(--c1)}.s-fx.fx-orbs .s-orb.b{background:var(--c2)}
.s-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--c-hl,var(--c-primary));margin-bottom:14px}
.s-typehl-wrap{font-family:var(--f-heading)}
.s-typehl{margin:0;font-family:inherit;color:inherit;font-size:clamp(2.4rem,5.5vw,4.6rem);line-height:1.04;letter-spacing:-.02em}
.s-typehl .acc{color:var(--c-hl,var(--c-primary));display:inline-grid}.s-typehl .acc>*{grid-area:1/1}.s-typehl .ghost{visibility:hidden}
.s-caret{display:inline-block;width:.06em;height:.9em;margin-left:.06em;background:currentColor;vertical-align:-.08em;animation:s-caret 1.05s steps(1) infinite}
.s-typehl-sub{margin:22px 0 0;max-width:34rem;font-size:1.1rem;line-height:1.7;opacity:.75}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.s-sprog{position:fixed;left:0;right:0;z-index:9000;pointer-events:none}.s-sprog.top{top:0}.s-sprog.bottom{bottom:0}.s-sprog i{display:block;height:100%;transition:width .1s linear}
.s-sprog.edit{position:relative;background:color-mix(in srgb,currentColor 10%,transparent)}
.s-theme-toggle{position:relative;width:52px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,currentColor 8%,transparent);cursor:pointer;padding:0;color:inherit}
.s-theme-toggle .knob{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--c-primary);color:#111;display:grid;place-items:center;font-size:12px;transition:transform .25s ease}
.s-theme-toggle.on .knob{transform:translateX(24px)}.s-theme-toggle.compact{width:44px;height:24px;flex-shrink:0}.s-theme-toggle.compact .knob{width:18px;height:18px;font-size:11px}.s-theme-toggle.compact.on .knob{transform:translateX(20px)}
@media (max-width:820px){.s-nav-actions .s-theme-toggle{display:inline-block}}.s-theme-toggle.floating{position:fixed;left:20px;bottom:20px;z-index:840}
/* universal card */
.s-ucard{position:relative;overflow:hidden;border-radius:calc(var(--radius) + 10px);padding:26px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.s-ucard.glass{background:color-mix(in srgb,currentColor 4.5%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.s-ucard.solid{background:var(--c-surface)}.s-ucard.outline{border:1.5px solid color-mix(in srgb,currentColor 18%,transparent)}
.s-ucard.accent{background:color-mix(in srgb,var(--g-accent,var(--c-primary)) 10%,transparent);border:1px solid color-mix(in srgb,var(--g-accent,var(--c-primary)) 30%,transparent)}
.s-ucard h3{margin:0;font-size:1.25rem}.s-ucard p{margin:0;line-height:1.6}
.s-glow-corner{position:absolute;width:260px;height:260px;right:-80px;top:-80px;border-radius:50%;background:var(--g-accent,var(--c-primary));filter:blur(80px);opacity:.28;pointer-events:none}
.s-pill{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--g-accent,var(--c-primary));background:color-mix(in srgb,var(--g-accent,var(--c-primary)) 12%,transparent);border:1px solid color-mix(in srgb,var(--g-accent,var(--c-primary)) 28%,transparent)}
.s-pill.dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.s-pill.solid{background:var(--g-accent,var(--c-primary));color:var(--g-on,var(--c-on-primary,#0b0f14));border-color:transparent}.s-pill.outline{background:none}
.s-pill.glow{box-shadow:0 0 18px color-mix(in srgb,var(--g-accent,var(--c-primary)) 45%,transparent)}
.s-pill.sm{font-size:.66rem;letter-spacing:.04em;text-transform:none;font-weight:600;color:inherit;background:color-mix(in srgb,currentColor 7%,transparent);border-color:color-mix(in srgb,currentColor 10%,transparent);padding:4px 10px}
.s-chiprow{display:flex;flex-wrap:wrap;gap:8px}.s-chiprow .s-pill{letter-spacing:.02em;text-transform:none;font-size:.85rem;font-weight:600}
.s-chiprow.sz-sm .s-pill{font-size:.75rem;padding:4px 10px}.s-chiprow.sz-lg .s-pill{font-size:1rem;padding:9px 18px}
a.s-pill:hover{filter:brightness(1.15)}
/* number / step cards */
.s-lvls{display:grid;gap:16px;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr))}
@media (max-width:1024px){.s-lvls{grid-template-columns:repeat(min(var(--cols,5),3),minmax(0,1fr))}}@media (max-width:640px){.s-lvls{grid-template-columns:1fr 1fr}}@media (max-width:420px){.s-lvls{grid-template-columns:1fr}}
.s-lvl{--cc:var(--c-primary);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 18px 18px;min-height:280px;border-radius:calc(var(--radius) + 12px);color:#fff;background:linear-gradient(165deg,var(--cc),color-mix(in srgb,var(--cc) 72%,#000));box-shadow:0 18px 40px -22px var(--cc);transition:transform .3s ease,box-shadow .3s ease}
.s-lvl::after{content:"";position:absolute;inset:auto -30% -45% auto;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.s-lvls.left .s-lvl{align-items:flex-start;text-align:left}
.s-lvls.lift .s-lvl:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px var(--cc)}
.s-lvl-icon{align-self:flex-start;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.18);font-size:1rem}
.s-lvl-kicker{margin-top:auto;font-size:.66rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.85}
.s-lvl-num{font-size:clamp(2.2rem,3.4vw,3rem);line-height:1;font-weight:800;letter-spacing:-.02em}
.s-lvl p{margin:0;font-size:.85rem;line-height:1.5;opacity:.92}
.s-lvl-status{margin-top:auto;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.s-lvl-btn{width:100%;display:inline-flex;justify-content:center;gap:6px;padding:9px 14px;border-radius:999px;background:#fff;color:color-mix(in srgb,var(--cc) 80%,#000);font-weight:800;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .2s}
.s-lvl-btn:hover{transform:scale(1.03)}
.s-spotlight{display:grid;grid-template-columns:1.35fr 1fr;border-radius:calc(var(--radius) + 14px);overflow:hidden;background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 8%,transparent);box-shadow:0 24px 60px -36px rgba(15,23,42,.35)}
.s-spotlight.no-img{grid-template-columns:1fr}.s-spotlight.img-left{grid-template-columns:1fr 1.35fr}.s-spotlight.img-left .s-spotlight-pic{order:-1}
.s-spotlight-body{padding:clamp(22px,3.4vw,40px);display:flex;flex-direction:column;gap:12px}
.s-spotlight-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.s-spotlight-label{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--g-accent,var(--c-primary))}
.s-spotlight h3{margin:4px 0 0;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15;letter-spacing:-.01em}
.s-spotlight-body>p{margin:0;line-height:1.7}
.s-spotlight-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.s-spotlight-chip{padding:5px 12px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.s-spotlight-btn{padding:10px 18px;font-size:.85rem;border-radius:999px;background:var(--g-accent,var(--c-primary))}
.s-spotlight-pic{position:relative;display:grid;place-items:center;min-height:260px;background:radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--g-accent,var(--c-primary)) 18%,transparent),color-mix(in srgb,var(--g-accent,var(--c-primary)) 6%,transparent))}
.s-spotlight-pic img{width:78%;max-height:340px;object-fit:contain}.s-spotlight-pic.cover img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
@media (max-width:760px){.s-spotlight,.s-spotlight.img-left{grid-template-columns:1fr}.s-spotlight.img-left .s-spotlight-pic{order:0}}
.s-itiles{display:grid;gap:16px;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
@media (max-width:1024px){.s-itiles{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}}@media (max-width:640px){.s-itiles{grid-template-columns:1fr 1fr}}@media (max-width:420px){.s-itiles{grid-template-columns:1fr}}
.s-itile{--tc:var(--c-primary);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:calc(var(--radius) + 10px);background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 8%,transparent);color:inherit;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}
.s-itile::after{content:"";position:absolute;right:-30%;bottom:-40%;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tc) 22%,transparent),transparent 70%);pointer-events:none}
.s-itiles.lift .s-itile:hover{transform:translateY(-5px);box-shadow:0 20px 40px -26px var(--tc)}
.s-itile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:1.1rem;background:color-mix(in srgb,var(--tc) 16%,transparent);border:1px solid color-mix(in srgb,var(--tc) 30%,transparent)}
.s-itile h3{margin:6px 0 0;font-size:1rem}.s-itile p{margin:0;font-size:.85rem;line-height:1.5}
.s-itile-meta{margin-top:auto;padding-top:6px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.s-fcards{display:grid;gap:18px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:1024px){.s-fcards{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}}@media (max-width:640px){.s-fcards{grid-template-columns:1fr}}
.s-fcard{min-height:160px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s}
.s-fcards.lift .s-fcard:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--g-accent,var(--c-primary)) 45%,transparent);box-shadow:0 20px 50px -24px var(--g-accent,var(--c-primary))}
.s-fnum.watermark{position:absolute;right:18px;top:6px;font-family:var(--f-heading);font-weight:900;font-size:4.6rem;line-height:1;opacity:.09;pointer-events:none}
.s-fnum.step{font-family:var(--f-heading);font-weight:900;font-size:2.6rem;line-height:1;opacity:.28}
.s-fnum.circle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--g-accent,var(--c-primary));color:var(--g-on,var(--c-on-primary,#0b0f14));font-weight:800}
.s-ficon{font-size:1.8rem}.s-tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
/* filterable cards */
.s-fc-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.s-fc-filters button{padding:8px 16px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;font:inherit;font-weight:600;cursor:pointer}
.s-fc-filters button[aria-pressed=true]{background:var(--g-accent,var(--c-primary));color:var(--g-on,var(--c-on-primary,#0b0f14));border-color:transparent}
.s-fc-grid{display:grid;gap:18px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:1024px){.s-fc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.s-fc-grid{grid-template-columns:1fr}}
.s-fc-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.s-kicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.s-fc-img{width:calc(100% + 52px);margin:-26px -26px 6px;aspect-ratio:16/9;object-fit:cover}
.s-fc-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font-size:.93rem;opacity:.85}.s-fc-list li::before{content:"✓ ";color:var(--g-accent,var(--c-primary));font-weight:800}
.s-fc-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.s-fc-price{font-size:1.5rem;font-family:var(--f-heading)}
/* newsletter & callout */
.s-news{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;padding:40px}
.s-news h2{margin:12px 0 8px}.s-news-form{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.s-news-form input{flex:1;min-width:200px;padding:13px 16px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;font:inherit}
@media (max-width:820px){.s-news{grid-template-columns:1fr;padding:28px}}
.s-callout{gap:14px}.s-callout-body{display:flex;gap:18px;align-items:flex-start}.s-callout-icon{font-size:2.4rem;line-height:1}.s-callout h3{font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:10px}
.s-watermark{font-family:var(--f-heading);font-weight:900;line-height:.85;letter-spacing:-.04em;text-align:center;user-select:none;white-space:nowrap;overflow:hidden}
.s-watermark.faint{color:color-mix(in srgb,currentColor 6%,transparent)}.s-watermark.outline{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,currentColor 18%,transparent)}
.s-watermark.gradient{background:linear-gradient(180deg,color-mix(in srgb,var(--g-accent,var(--c-primary)) 30%,transparent),transparent 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* navbar styles */
.s-nav-links a[aria-current=page]{opacity:1}
.s-nav-logo span span{color:var(--c-hl,var(--c-primary))}
/* ===== learning games ===== */
.s-game{--g:var(--g-accent,var(--c-primary));border-radius:calc(var(--radius) + 10px);border:1px solid color-mix(in srgb,currentColor 10%,transparent);background:color-mix(in srgb,currentColor 3.5%,transparent);overflow:hidden}
.s-game-head{padding:16px 22px;border-bottom:1px solid color-mix(in srgb,currentColor 8%,transparent);font-size:1.05rem}
.s-game-body{padding:22px}.s-game-foot{padding:14px 22px;border-top:1px solid color-mix(in srgb,currentColor 8%,transparent);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.s-game-q{font-size:1.2rem;font-weight:700;margin:0 0 16px}
.s-game-options{display:grid;gap:10px}.s-game-options.tf{grid-template-columns:1fr 1fr}
.s-game-opt{text-align:left;padding:13px 16px;border-radius:12px;border:1.5px solid color-mix(in srgb,currentColor 14%,transparent);background:color-mix(in srgb,currentColor 3%,transparent);color:inherit;font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.s-game-opt:hover:not(:disabled){border-color:var(--g);transform:translateY(-1px)}
.s-game-opt.sel{border-color:var(--g);background:color-mix(in srgb,var(--g) 14%,transparent)}
.s-game-opt.right{border-color:#22c55e;background:color-mix(in srgb,#22c55e 16%,transparent)}.s-game-opt.wrong{border-color:#ef4444;background:color-mix(in srgb,#ef4444 14%,transparent);animation:s-shake .35s}
.s-game-opt.dim{opacity:.5}.s-game-opt:disabled{cursor:default}
@keyframes s-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.s-game-feedback{margin-top:16px;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,currentColor 5%,transparent);display:grid;gap:10px;line-height:1.55}
.s-game-progress{flex:1 1 120px;height:6px;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);overflow:hidden}.s-game-progress i{display:block;height:100%;background:var(--g);transition:width .3s}
.s-game-result{text-align:center;display:grid;gap:10px;justify-items:center;padding:12px 0}.s-game-result .big{font-family:var(--f-heading);font-size:3rem;font-weight:900;color:var(--g)}
.s-game-win{margin:0 0 14px;font-weight:700;color:var(--g)}
.s-memory{display:grid;gap:10px;grid-template-columns:repeat(var(--mcols,4),minmax(0,1fr));max-width:calc(var(--mcols,4) * 170px);margin:0 auto}
@media (max-width:640px){.s-memory{grid-template-columns:repeat(min(var(--mcols,4),3),minmax(0,1fr))}}
.s-mcard{aspect-ratio:4/3;perspective:800px;border:0;background:none;padding:0;cursor:pointer;color:inherit;font:inherit;display:block;width:100%;-webkit-tap-highlight-color:transparent}
.s-mcard:focus-visible{outline:3px solid var(--g);outline-offset:3px;border-radius:12px}
.s-mcard .in{position:relative;display:block;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.3,1);transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
.s-mcard.up .in{transform:rotateY(180deg)}
.s-mcard:not(.up):hover .in{transform:translateY(-3px)}
.s-mcard .f,.s-mcard .b{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:8px;text-align:center;font-weight:700;font-size:.92rem;line-height:1.25;overflow:hidden;word-break:break-word}
.s-mcard .f{background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--g) 45%,transparent),transparent 60%),color-mix(in srgb,var(--g) 22%,var(--c-bg,#fff));border:1.5px solid color-mix(in srgb,var(--g) 45%,transparent);font-size:1.6rem;color:var(--g)}
.s-mcard .b{transform:rotateY(180deg);background:var(--c-surface,#fff);color:var(--c-text);border:1.5px solid color-mix(in srgb,currentColor 18%,transparent)}
.s-mcard .b img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.s-mcard.found .b{border-color:#22c55e;background:color-mix(in srgb,#22c55e 16%,var(--c-surface,#fff));animation:s-mfound .5s ease}@keyframes s-mfound{50%{transform:rotateY(180deg) scale(1.06)}}
.s-match{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}.s-match>div{display:grid;gap:8px;align-content:start}
@media (max-width:640px){.s-match{grid-template-columns:1fr}}
.s-order{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.s-order li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1.5px solid color-mix(in srgb,currentColor 12%,transparent);background:color-mix(in srgb,currentColor 3%,transparent)}
.s-order li.right{border-color:#22c55e}.s-order li.wrong{border-color:#ef4444}
.s-order .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--g);color:var(--g-on,var(--c-on-primary,#0b0f14));font-weight:800;flex:none}.s-order .t{flex:1;font-weight:600}
.s-order .btns{display:flex;gap:4px}.s-order .btns button{width:32px;height:32px;border-radius:8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:none;color:inherit;cursor:pointer}
.s-order .btns button:disabled{opacity:.3;cursor:default}
.s-sort-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:40px;margin-bottom:14px}
.s-chip-btn{display:inline-block;padding:8px 14px;border-radius:999px;border:1.5px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer}
.s-chip-btn.sel{border-color:var(--g);background:color-mix(in srgb,var(--g) 18%,transparent)}.s-chip-btn.right{border-color:#22c55e}.s-chip-btn.wrong{border-color:#ef4444}
.s-sort-groups{display:grid;gap:12px}@media (max-width:640px){.s-sort-groups{grid-template-columns:1fr!important}}
.s-sort-group{min-height:120px;padding:14px;border-radius:14px;border:2px dashed color-mix(in srgb,currentColor 16%,transparent);display:grid;gap:10px;align-content:start;cursor:pointer}
.s-sort-group.ready{border-color:var(--g)}.s-sort-group>div{display:flex;flex-wrap:wrap;gap:6px}
.s-ws{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px;align-items:start}@media (max-width:820px){.s-ws{grid-template-columns:1fr}}
.s-ws-grid{display:grid;gap:3px;user-select:none;max-width:560px}
.s-ws-grid button{aspect-ratio:1;border:0;border-radius:6px;background:color-mix(in srgb,currentColor 6%,transparent);color:inherit;font:700 clamp(.7rem,1.6vw,1rem) var(--f-heading);cursor:pointer;padding:0}
.s-ws-grid button.sel{background:var(--g);color:var(--g-on,var(--c-on-primary,#0b0f14))}.s-ws-grid button.hit{background:color-mix(in srgb,var(--g) 40%,transparent)}
.s-ws-words{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.s-ws-words li{padding:5px 10px;border-radius:999px;background:color-mix(in srgb,currentColor 6%,transparent);font-weight:700;font-size:.85rem}
.s-ws-words li.done{text-decoration:line-through;opacity:.5}
.s-cw{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:24px;align-items:start}@media (max-width:820px){.s-cw{grid-template-columns:1fr}}
.s-cw-grid{display:grid;gap:2px;overflow-x:auto}
.s-cw-grid .blank{aspect-ratio:1}
.s-cw-grid .cell{position:relative;aspect-ratio:1;border-radius:4px;background:color-mix(in srgb,currentColor 9%,transparent);border:1.5px solid color-mix(in srgb,currentColor 18%,transparent)}
.s-cw-grid .cell small{position:absolute;left:2px;top:0;font-size:.55rem;opacity:.7}
.s-cw-grid .cell input{width:100%;height:100%;border:0;background:none;color:inherit;text-align:center;font:800 1rem var(--f-heading);text-transform:uppercase;padding:0;outline:none}
.s-cw-grid .cell:focus-within{border-color:var(--g)}.s-cw-grid .cell.right{border-color:#22c55e}.s-cw-grid .cell.wrong{border-color:#ef4444}
.s-cw-clues{display:grid;gap:14px;font-size:.93rem}.s-cw-clues ol{margin:6px 0 0;padding-left:22px;display:grid;gap:4px}.s-cw-clues li{cursor:pointer;border-radius:6px;padding:2px 6px;margin-left:-6px}.s-cw-clues li:hover{background:color-mix(in srgb,var(--g) 10%,transparent)}.s-cw-clues li.on{background:color-mix(in srgb,var(--g) 20%,transparent);font-weight:600}
.s-cw-grid .cell.on{background:color-mix(in srgb,var(--g) 18%,transparent)}.s-cw-grid .cell.cur{background:color-mix(in srgb,var(--g) 38%,transparent);border-color:var(--g)}
.s-cw-current{margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--g) 14%,transparent);font-size:.95rem}
.s-flash{display:block;width:100%;max-width:560px;margin:0 auto;aspect-ratio:16/10;perspective:1200px;border:0;background:none;padding:0;cursor:pointer;color:inherit;font:inherit}
.s-flash .in{position:relative;display:block;width:100%;height:100%;transition:transform .55s cubic-bezier(.2,.7,.3,1);transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
.s-flash.up .in{transform:rotateY(180deg)}
.s-flash .f,.s-flash .b{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;padding:24px;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center;box-shadow:0 18px 40px -24px rgba(0,0,0,.45)}
.s-flash .f{background:var(--c-surface,#fff);color:var(--c-text);border:1.5px solid color-mix(in srgb,var(--g) 35%,transparent)}
.s-flash .f b{font-size:clamp(1.2rem,2.6vw,1.7rem);line-height:1.25}.s-flash .f img{max-height:45%;max-width:70%;object-fit:contain;border-radius:10px}
.s-flash .b{transform:rotateY(180deg);background:var(--g);color:var(--g-on,var(--c-on-primary,#fff))}.s-flash .b b{font-size:clamp(1rem,2.1vw,1.3rem);line-height:1.4;font-weight:600}
.s-fb-slot{display:inline-block;min-width:90px;padding:2px 10px;margin:0 3px;border:0;border-bottom:2px dashed var(--g);background:color-mix(in srgb,var(--g) 8%,transparent);color:inherit;font:inherit;font-weight:600;border-radius:6px 6px 0 0;cursor:pointer;line-height:1.5}
.s-fb-slot.filled{border-bottom-style:solid}.s-fb-slot.right,.s-fb-input.right{border-color:#22c55e;background:color-mix(in srgb,#22c55e 14%,transparent)}.s-fb-slot.wrong,.s-fb-input.wrong{border-color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent)}
.s-fb-input{margin:0 3px;padding:2px 8px;border:0;border-bottom:2px solid var(--g);background:color-mix(in srgb,var(--g) 8%,transparent);color:inherit;font:inherit;font-weight:600;border-radius:6px 6px 0 0;outline:none}
.s-scramble{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 14px}.s-scramble span{display:grid;place-items:center;width:44px;height:50px;border-radius:10px;background:color-mix(in srgb,var(--g) 18%,var(--c-surface,#fff));border:1.5px solid color-mix(in srgb,var(--g) 45%,transparent);font:800 1.4rem var(--f-heading);box-shadow:0 4px 0 color-mix(in srgb,var(--g) 40%,transparent)}
.s-answer-row{display:flex;gap:8px;max-width:520px;margin:0 auto}.s-answer{flex:1;min-width:0;padding:11px 14px;border-radius:10px;border:1.5px solid color-mix(in srgb,currentColor 22%,transparent);background:var(--c-surface,#fff);color:var(--c-text);font:inherit;outline:none;width:100%}.s-answer:focus{border-color:var(--g)}.s-answer.right{border-color:#22c55e}.s-answer.wrong{border-color:#ef4444}
.s-link-btn{border:0;background:none;color:var(--c-hl,var(--g));font:inherit;text-decoration:underline;cursor:pointer;padding:0 4px}
.s-hang-word{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:4px 0 16px}.s-hang-word span{display:grid;place-items:end center;width:34px;height:44px;border-bottom:3px solid currentColor;font:800 1.5rem var(--f-heading)}.s-hang-word span.on{border-color:var(--g)}.s-hang-word i{width:18px}
.s-keys{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:5px;max-width:620px;margin:0 auto}@media (max-width:560px){.s-keys{grid-template-columns:repeat(7,minmax(0,1fr))}}
.s-keys button{aspect-ratio:1;border-radius:8px;border:1.5px solid color-mix(in srgb,currentColor 20%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;font-weight:700;cursor:pointer}.s-keys button:hover:not(:disabled){border-color:var(--g)}.s-keys button.right{background:#22c55e;color:#fff;border-color:#22c55e}.s-keys button.wrong{opacity:.35}
.s-glossary-az{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.s-glossary-az button{min-width:30px;padding:4px 8px;border-radius:7px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);background:none;color:inherit;font-weight:700;cursor:pointer}.s-glossary-az button.on{background:var(--g);color:#fff;border-color:var(--g)}
.s-glossary{display:grid;gap:10px;margin:0}.s-glossary>div{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,currentColor 4%,transparent);border-left:3px solid var(--g)}.s-glossary dt{font-weight:800;margin-bottom:2px}.s-glossary dd{margin:0;opacity:.85}
.s-diagram{position:relative;border-radius:14px;overflow:hidden}.s-diagram img{width:100%;display:block}
.s-dg-pin{position:absolute;transform:translate(-50%,-50%);min-width:30px;height:30px;padding:0 10px;border-radius:999px;border:2px solid #fff;background:var(--g);color:var(--g-on,var(--c-on-primary,#0b0f14));font:800 .85rem var(--f-body);cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.s-dg-pin.filled{background:#fff}.s-dg-pin.right{background:#22c55e;color:#fff}.s-dg-pin.wrong{background:#ef4444;color:#fff}
.s-shapediv{position:absolute;left:0;right:0;overflow:hidden;line-height:0;pointer-events:none;z-index:0}
.s-shapediv.top{top:-1px;transform:rotate(180deg)}.s-shapediv.bottom{bottom:-1px}
.s-shapediv.front{z-index:2}
.s-cut{position:relative;z-index:1}@media (max-width:767px){.s-cut{--cut-k:.6}}
.s-shapediv svg{display:block;position:relative;left:50%;transform:translateX(-50%) scale(var(--sx,1),var(--sy,1));width:calc(var(--dw,100%) + 2px);height:var(--dh,90px)}
.s-shapediv.flip{--sx:-1}.s-shapediv.flipv{--sy:-1}
@media (max-width:767px){.s-shapediv svg{height:calc(var(--dh,90px) * .6)}}
.s-shapediv.anim path{transform-box:fill-box;transform-origin:center;animation:s-dv-bob 7s ease-in-out infinite alternate}
.s-shapediv.anim path.l1{animation-duration:9s;animation-delay:-2s}.s-shapediv.anim path.l2{animation-duration:11s;animation-delay:-4s}.s-shapediv.anim path.l3{animation-duration:13s;animation-delay:-1s}
.s-shapediv.anim path:last-child{animation:none}
@keyframes s-dv-bob{from{transform:translate(-18px,4px) scaleX(1.05)}to{transform:translate(18px,-4px) scaleX(1.05)}}
@media (prefers-reduced-motion:reduce){.s-shapediv.anim path{animation:none}}
.s-nav-wrap.nv-bg-glass:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-bg-glass .s-nav{background:color-mix(in srgb,var(--c-bg) 62%,transparent)!important;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.s-nav-wrap.nv-bg-dark:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-bg-dark .s-nav{background:#0b0d14!important;color:#f8fafc!important}
@media (max-width:820px){.s-nav-wrap.nv-bg-dark .s-nav-links.open{background:#0b0d14;color:#f8fafc}.s-nav-wrap.nv-bg-primary .s-nav-links.open{background:var(--c-primary);color:var(--c-on-primary,#fff)}.s-nav-wrap.nv-bg-dark .s-nav-links.open .s-dd,.s-nav-wrap.nv-bg-primary .s-nav-links.open .s-dd{color:inherit}}
.s-nav-wrap.nv-bg-primary:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-bg-primary .s-nav{background:var(--c-primary)!important;color:var(--c-on-primary,#fff)!important}
.s-nav-wrap.nv-bg-primary .s-btn.primary{background:var(--c-on-primary,#fff);color:var(--c-hl,var(--c-primary));border-color:transparent}
.s-nav-wrap.nv-bg-transparent:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-bg-transparent .s-nav{background:transparent!important;box-shadow:none;border-color:transparent}
.s-nav-wrap.nv-l-floating{background:transparent!important;padding:14px 16px 0;border:0}
.s-nav-wrap.nv-l-floating .s-nav{max-width:1180px;border-radius:999px;padding:10px 12px 10px 26px;background:var(--c-bg);border:1px solid color-mix(in srgb,currentColor 10%,transparent);box-shadow:0 14px 34px -16px rgba(0,0,0,.35)}
.s-nav-wrap.nv-l-floating.sticky{top:0}
.s-nav-wrap.nv-l-centered .s-nav{flex-direction:column;gap:12px;padding-top:22px;padding-bottom:14px}
.s-nav-wrap.nv-l-centered .s-nav-actions{position:absolute;right:24px;top:22px}
.s-nav-wrap.nv-l-centered .s-nav{position:relative}
.s-nav-wrap.nv-l-overlay{position:absolute;left:0;right:0;top:0;background:transparent!important;color:#fff;border:0}
.s-nav-wrap.nv-l-overlay.sticky{position:fixed}
.s-nav-wrap.nv-l-overlay .s-nav-links a,.s-nav-wrap.nv-l-overlay .s-nav-logo{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.s-nav-wrap.nv-ls-pill .s-nav-links{gap:4px}.s-nav-wrap.nv-ls-pill .s-nav-links>li>a{padding:8px 16px;border-radius:999px;font-weight:600;opacity:1}
.s-nav-wrap.nv-ls-pill .s-nav-links>li>a:hover{background:color-mix(in srgb,currentColor 9%,transparent)}
.s-nav-wrap.nv-ls-pill .s-nav-links>li>a[aria-current=page]{background:color-mix(in srgb,var(--c-primary) 16%,transparent);color:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-primary) 45%,transparent)}
.s-nav-wrap.nv-ls-underline .s-nav-links>li>a{position:relative;opacity:1;padding:6px 0}
.s-nav-wrap.nv-ls-underline .s-nav-links>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--c-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.s-nav-wrap.nv-ls-underline .s-nav-links>li>a:hover::after,.s-nav-wrap.nv-ls-underline .s-nav-links>li>a[aria-current=page]::after{transform:scaleX(1)}
.s-nav-wrap.nv-ls-caps .s-nav-links>li>a{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;opacity:1}
@media (max-width:820px){.s-nav-wrap.nv-l-floating .s-nav{border-radius:22px}.s-nav-wrap.nv-l-centered .s-nav{flex-direction:row}.s-nav-wrap.nv-l-centered .s-nav-actions{position:static}.s-nav-wrap.nv-l-overlay .s-nav-links.open{color:var(--c-text)}.s-nav-wrap.nv-l-overlay .s-nav-links.open a{color:var(--c-text);text-shadow:none}}
[data-money]{white-space:nowrap}
.s-langs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem}.s-langs a{padding:4px 10px;border-radius:999px;text-decoration:none;color:inherit;opacity:.75;border:1px solid color-mix(in srgb,currentColor 18%,transparent)}.s-langs a.on{opacity:1;font-weight:700;background:color-mix(in srgb,var(--c-primary) 14%,transparent);border-color:transparent}
.s-langs.float{position:fixed;left:12px;bottom:56px;z-index:2147479000;background:var(--c-surface,#fff);color:var(--c-text,#111);padding:6px;border-radius:14px;box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.s-currency{display:inline-flex;align-items:center}.s-currency select{appearance:none;-webkit-appearance:none;font:inherit;font-size:.85rem;font-weight:600;color:var(--c-text);background:var(--c-surface,#fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid color-mix(in srgb,var(--c-text) 18%,transparent);border-radius:999px;padding:7px 28px 7px 12px;cursor:pointer}
.s-currency.float{position:fixed;left:14px;bottom:14px;z-index:60;box-shadow:0 8px 24px -10px rgba(0,0,0,.35);border-radius:999px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* round 71: comparison table, progress steps, trust badges, ask AI */
.s-compare{width:100%;max-width:880px;margin-inline:auto}
.s-cmp-radio{position:absolute;opacity:0;pointer-events:none}
.s-cmp-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:18px}
.s-cmp-tab{cursor:pointer;padding:8px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);font-size:.9rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.s-cmp-tab:hover{border-color:color-mix(in srgb,var(--c-text) 30%,transparent)}
.s-cmp-pane{display:none;overflow-x:auto}
.s-compare:not(:has(.s-cmp-radio)) .s-cmp-pane{display:block}
.s-cmp-radio:nth-of-type(1):checked~.s-cmp-pane[data-cmp-pane="0"],.s-cmp-radio:nth-of-type(2):checked~.s-cmp-pane[data-cmp-pane="1"],.s-cmp-radio:nth-of-type(3):checked~.s-cmp-pane[data-cmp-pane="2"],.s-cmp-radio:nth-of-type(4):checked~.s-cmp-pane[data-cmp-pane="3"],.s-cmp-radio:nth-of-type(5):checked~.s-cmp-pane[data-cmp-pane="4"]{display:block}
.s-cmp-radio:nth-of-type(1):checked~.s-cmp-tabs [data-cmp-tab="0"],.s-cmp-radio:nth-of-type(2):checked~.s-cmp-tabs [data-cmp-tab="1"],.s-cmp-radio:nth-of-type(3):checked~.s-cmp-tabs [data-cmp-tab="2"],.s-cmp-radio:nth-of-type(4):checked~.s-cmp-tabs [data-cmp-tab="3"],.s-cmp-radio:nth-of-type(5):checked~.s-cmp-tabs [data-cmp-tab="4"]{background:var(--c-text);color:var(--c-bg);border-color:var(--c-text)}
.s-cmp-radio:focus-visible~.s-cmp-tabs{outline:2px solid var(--c-primary);outline-offset:4px;border-radius:12px}
.s-compare table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem}
.s-compare th,.s-compare td{padding:14px 16px;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--c-text) 9%,transparent)}
.s-compare tbody th{text-align:left;font-weight:500}
.s-compare thead th{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);font-weight:600}
.s-compare.hl .first{background:color-mix(in srgb,var(--c-primary) 8%,transparent)}
.s-compare.hl thead th.first{color:var(--c-text);border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--c-primary) 14%,transparent)}
.s-compare.hl tbody tr:last-child td.first{border-radius:0 0 14px 14px}
.s-cmp-yes{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d;font-weight:700}
.s-cmp-no{color:color-mix(in srgb,var(--c-text) 38%,transparent);font-weight:700}
.s-cmp-part{display:inline-block;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,#f59e0b 16%,transparent);color:#92400e;font-size:.8rem;font-weight:600}
.s-cmp-note{margin-top:12px;font-size:.82rem;color:var(--c-muted);text-align:center}
.s-steps{width:100%;max-width:420px}
.s-steps.card{padding:22px 24px;border-radius:18px;background:var(--c-surface,#fff);border:1px solid color-mix(in srgb,var(--c-text) 10%,transparent);box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.s-steps.dark{padding:22px 24px;border-radius:14px;background:#0b0f14;color:#d6e2ee;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}
.s-steps-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.s-steps-list li{display:flex;align-items:center;gap:12px;opacity:.38;transition:opacity .35s ease}
.s-steps-list li.done,.s-steps-list li.active{opacity:1}
.s-steps-dot{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);font-size:.72rem;font-weight:800;transition:background .3s,border-color .3s,transform .3s cubic-bezier(.2,.9,.3,1.3)}
.s-steps-list li.done .s-steps-dot{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary,#fff);transform:scale(1.04)}
.s-steps-list li.active .s-steps-dot{border-color:var(--c-primary);border-right-color:transparent;animation:s-seq-spin .8s linear infinite}
@keyframes s-seq-spin{to{transform:rotate(360deg)}}
.s-steps-done{margin:16px 0 0;font-weight:700;opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}
.s-steps-done.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.s-steps-list li.active .s-steps-dot{animation:none}}
.s-trust{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));width:100%}
.s-trust-item{display:flex;align-items:flex-start;gap:12px}
.s-trust-item b{display:block;font-weight:650}.s-trust-item small{display:block;color:var(--c-muted);font-size:.85rem;margin-top:2px}
.s-trust-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c-primary) 12%,transparent);color:var(--c-hl,var(--c-primary));font-size:1.1rem;font-weight:700}
.s-trust-icon.txt{font-size:.7rem;letter-spacing:.04em}
.s-trust.cards .s-trust-item{padding:18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--c-text) 10%,transparent);background:var(--c-surface,transparent)}
.s-trust.row{display:flex;flex-wrap:wrap;justify-content:center;gap:28px}
.s-trust.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.s-trust.pills .s-trust-item{align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-text) 12%,transparent);font-size:.88rem}
.s-trust.pills .s-trust-icon{width:28px;height:28px;border-radius:50%;font-size:.85rem}
.s-askai{display:flex;flex-direction:column;gap:10px;align-items:inherit}
.s-askai-title{margin:0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);font-weight:600}
.s-askai-list{display:flex;flex-wrap:wrap;gap:8px}
.s-askai-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c-text) 14%,transparent);color:inherit;text-decoration:none;font-size:.9rem;font-weight:550;transition:border-color .2s,transform .2s}
.s-askai-btn:hover{border-color:color-mix(in srgb,var(--c-text) 40%,transparent);transform:translateY(-1px)}
.s-askai-mark{opacity:.7}
.s-askai.icons .s-askai-btn{padding:6px 10px;border-radius:10px;font-size:.82rem}
.s-askai.card{padding:20px;border-radius:18px;background:color-mix(in srgb,var(--c-text) 4%,transparent)}
/* loaders (uiBall ldrs) */
.s-ldr{display:flex;width:100%;padding:8px 0}
.s-ldr-inner{display:inline-flex;flex-direction:column;align-items:center;gap:12px}
.s-ldr-label{font-size:.9rem;color:var(--c-muted)}
.s-ldr-ph{display:inline-block}
.s-ldr-full{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;animation:s-ldr-in .2s ease}
@keyframes s-ldr-in{from{opacity:0}to{opacity:1}}
.s-ldr-note{display:block;margin-top:6px;font-size:.75rem;color:var(--c-muted)}
.s-ldr.is-page{flex-direction:column;align-items:center}

/* round 91: menu bar look, top bar, scroll effects, drag-in extras, mega menu */
.s-nav-wrap.nv-bgc:not(.nv-l-floating):not(.nv-l-overlay),.s-nav-wrap.nv-l-floating.nv-bgc .s-nav{background:var(--nv-bgc)!important}
.s-nav-wrap.nv-fg,.s-nav-wrap.nv-fg .s-nav,.s-nav-wrap.nv-fg .s-nav-logo,.s-nav-wrap.nv-fg .s-nav-links>li>a{color:var(--nv-fg)!important}
.s-nav-wrap.nv-lc .s-nav-links>li>a{color:var(--nv-link)!important}
.s-nav-wrap.nv-lh .s-nav-links a:hover,.s-nav-wrap.nv-lh .s-nav-links>li>a[aria-current=page]{color:var(--nv-link-h)!important}
.s-nav-wrap.nv-gap .s-nav-links{gap:var(--nv-gap)!important}
.s-nav-wrap.nv-lw .s-nav-links>li>a{font-weight:var(--nv-lw)}
.s-nav-wrap.nv-upper .s-nav-links>li>a{text-transform:uppercase;letter-spacing:.06em;font-size:.88em}
.s-nav-wrap.nv-border:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-border .s-nav{border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.s-nav-wrap.nv-full .s-nav{max-width:none!important;padding-left:clamp(16px,3vw,48px);padding-right:clamp(16px,3vw,48px)}
.s-topbar{background:var(--nv-tb-bg,color-mix(in srgb,var(--c-text) 92%,transparent));color:var(--nv-tb-fg,#fff);font-size:.84rem;overflow:hidden;max-height:60px;transition:max-height .35s ease,opacity .25s ease}
.s-nav-wrap.nv-l-overlay .s-topbar{background:var(--nv-tb-bg,rgba(0,0,0,.28))}
.s-topbar-in{max-width:1180px;margin:0 auto;padding:7px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.s-topbar a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;opacity:.92}.s-topbar a:hover{opacity:1}
.s-topbar svg{width:15px;height:15px}.s-topbar-contact{display:inline-flex;align-items:center;gap:18px;margin-left:auto}.s-topbar-social{display:inline-flex;gap:12px}
@media (max-width:640px){.s-topbar-in{padding:6px 16px;justify-content:center}.s-topbar-contact a span{display:none}.s-topbar-contact{margin:0 auto}}
.s-nav-wrap.nv-tb-hide.is-scrolled .s-topbar{max-height:0;opacity:0}
.s-nav-wrap.nv-sbg.is-scrolled:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-sbg.is-scrolled .s-nav{background:var(--nv-sbg)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.s-nav-wrap.nv-sfg.is-scrolled,.s-nav-wrap.nv-sfg.is-scrolled .s-nav,.s-nav-wrap.nv-sfg.is-scrolled .s-nav-logo,.s-nav-wrap.nv-sfg.is-scrolled .s-nav-links>li>a,.s-nav-wrap.nv-sfg.is-scrolled .s-burger{color:var(--nv-sfg)!important;text-shadow:none!important}
.s-nav-wrap.nv-sshadow{transition:box-shadow .3s ease,background-color .3s ease}.s-nav-wrap.nv-sshadow.is-scrolled:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-sshadow.is-scrolled .s-nav{box-shadow:0 12px 30px -18px rgba(0,0,0,.45)}
.s-nav-logo .s-logo-alt{display:none}.s-nav-wrap.nv-slogo.is-scrolled .s-nav-logo .s-logo-top{display:none}.s-nav-wrap.nv-slogo.is-scrolled .s-nav-logo .s-logo-alt{display:block}
.s-nav-wrap.nv-l-overlay.sticky.is-scrolled:not(.nv-sbg){background:var(--c-bg)!important;color:var(--c-text);box-shadow:0 10px 26px -20px rgba(0,0,0,.35)}
.s-nav-wrap.nv-l-overlay.sticky.is-scrolled:not(.nv-sfg) .s-nav-links>li>a,.s-nav-wrap.nv-l-overlay.sticky.is-scrolled:not(.nv-sfg) .s-nav-logo,.s-nav-wrap.nv-l-overlay.sticky.is-scrolled:not(.nv-sfg) .s-burger{color:var(--c-text);text-shadow:none}
.s-nav-wrap.nv-l-overlay{transition:background-color .3s ease,box-shadow .3s ease}
.s-nav-wrap.nv-reveal{position:fixed!important;left:0;right:0;top:0;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.s-nav-wrap.nv-reveal.is-hidden{transform:translateY(-110%)}
.s-site-header:has(.s-nav-wrap.sticky){position:sticky;top:0;z-index:60}.s-site-header .s-nav-wrap.sticky{position:relative;top:auto}
.s-nav-extra{display:inline-flex;align-items:center;gap:10px}.s-nav-extra>*{margin:0!important}.s-nav-extra>*:not(.s-btn):not(a){padding-top:0!important;padding-bottom:0!important}.s-nav-extra .s-btn{padding:9px 18px!important;font-size:.92rem;line-height:1.2}
.s-nav-wrap.nv-shrink.is-scrolled .s-nav.s-nav{padding-top:4px!important;padding-bottom:4px!important}.s-nav-extra.is-empty{min-width:28px;min-height:28px;border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:8px}
.s-nav-wrap.nv-dd-mega .s-nav-links li:hover>.s-dd,.s-nav-wrap.nv-dd-mega .s-nav-links li:focus-within>.s-dd{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));min-width:400px;gap:2px 12px;padding:16px}
.s-nav-wrap.nv-dd-dark .s-dd{background:#0f1218;color:#f1f3f6}.s-nav-wrap.nv-dd-dark .s-dd a:hover{background:rgba(255,255,255,.08)}
@media (max-width:820px){.s-nav-wrap.nv-dd-mega .s-nav-links li>.s-dd{display:grid;grid-template-columns:1fr;min-width:0;padding:0 0 0 14px}.s-nav-extra.is-empty{display:none}}

/* round 92: designed footer (imported-site redesign) */
.s-skin-footer{color:rgba(255,255,255,.74)}
.s-skin-footer h1,.s-skin-footer h2,.s-skin-footer h3,.s-skin-footer h4{color:#fff}
.s-skin-footer a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s ease}.s-skin-footer a:hover{color:#fff}
.s-skin-footer .s-foot-label{display:block;margin:0 0 10px;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.s-skin-footer ul.s-foot-links,.s-skin-footer ul.s-foot-contact{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.s-skin-footer ul.s-foot-links.two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.s-skin-footer ul.s-foot-links a{display:inline-block;transition:color .2s ease,transform .2s ease}.s-skin-footer ul.s-foot-links a:hover{transform:translateX(3px)}
.s-skin-footer ul.s-foot-contact{gap:16px}.s-skin-footer ul.s-foot-contact .s-foot-label{margin:0 0 2px}
.s-skin-footer .s-foot-word{margin:0;font-family:var(--f-heading);font-weight:800;font-size:clamp(3rem,13vw,11rem);line-height:.86;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.02));-webkit-background-clip:text;background-clip:text;user-select:none}
.s-skin-footer .s-foot-small{margin:0;font-size:.86rem;color:rgba(255,255,255,.5)}
.s-skin-footer .s-btn.outline{color:#fff;border-color:rgba(255,255,255,.35)}.s-skin-footer .s-btn.outline:hover{border-color:#fff}
@media (max-width:760px){.s-skin-footer ul.s-foot-links.two{grid-template-columns:1fr 1fr}.s-skin-footer .s-foot-small[style]{text-align:left!important}}

/* ---- full-bleed: these sections run edge to edge even inside a contained section */
.s-ps,.s-lh,.s-grav.bleed,.s-wm.bleed{width:calc(100vw - var(--sc-sbw,0px));margin-left:calc(50% - (100vw - var(--sc-sbw,0px)) / 2);max-width:none}
/* ---- gravity balls */
.s-grav{position:relative;width:100%;overflow:hidden;touch-action:pan-y;isolation:isolate}
.s-grav>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.s-grav-copy{position:absolute;z-index:1;top:50%;transform:translateY(-50%);max-width:min(520px,86%);display:flex;flex-direction:column;gap:14px;pointer-events:none}
.s-grav-copy a{pointer-events:auto}
.s-grav.pos-left .s-grav-copy{left:clamp(20px,6vw,96px)}
.s-grav.pos-right .s-grav-copy{right:clamp(20px,6vw,96px);text-align:right;align-items:flex-end}
.s-grav.pos-center .s-grav-copy{left:50%;transform:translate(-50%,-50%);text-align:center;align-items:center}
.s-grav-copy h2{font-family:var(--f-heading);font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.035em;margin:0}
.s-grav-copy h2 em{font-style:italic;color:var(--c-primary)}
.s-grav-eyebrow{margin:0;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.s-grav-text{margin:0;font-size:1.05rem;line-height:1.65;opacity:.8}

/* ---- layered hero */
.s-lh{position:relative;overflow:hidden;isolation:isolate;color:var(--lh-text);background:linear-gradient(170deg,var(--lh-bg),var(--lh-bg2));--lh-p:0;--lh-mx:0;--lh-my:0}
.s-lh-bg{position:absolute;inset:0;z-index:0}
.s-lh-bg img{width:100%;height:100%;object-fit:cover}
.s-lh-glow{position:absolute;left:50%;top:44%;width:min(70vw,880px);aspect-ratio:1.6;transform:translate(calc(-50% + var(--lh-mx) * 40px),calc(-50% + var(--lh-my) * 30px)) rotate(-12deg);border-radius:50%;background:radial-gradient(closest-side,var(--lh-glow),transparent);filter:blur(30px);opacity:.75;animation:s-lh-glow 9s ease-in-out infinite alternate}
.s-lh.sub-right .s-lh-glow{left:68%}.s-lh.sub-left .s-lh-glow{left:32%}
@keyframes s-lh-glow{to{transform:translate(-46%,-54%) rotate(6deg) scale(1.08)}}
.s-lh.grain::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.s-lh-word{position:absolute;left:1%;right:1%;z-index:1;text-align:center;white-space:nowrap;line-height:.8;pointer-events:none;transform:translateX(calc(var(--lh-p) * -14%))}
.s-lh.word-bottom .s-lh-word{bottom:-.04em}.s-lh.word-middle .s-lh-word{top:50%;transform:translate(calc(var(--lh-p) * -14%),-50%)}.s-lh.word-top .s-lh-word{top:12%}
.s-lh-word>span{display:inline-block;font-family:var(--lh-font);font-weight:800;letter-spacing:-.04em;font-size:22vw;color:var(--lh-word)}
.s-lh.wstyle-outline .s-lh-word>span{color:transparent;-webkit-text-stroke:max(1.5px,.012em) var(--lh-word)}
.s-lh.wstyle-faded .s-lh-word>span{color:transparent;background:linear-gradient(180deg,var(--lh-word) 10%,color-mix(in srgb,var(--lh-word) 0%,transparent) 92%);-webkit-background-clip:text;background-clip:text;opacity:.85}
.s-lh.wstyle-gradient .s-lh-word>span{color:transparent;background:linear-gradient(100deg,var(--lh-word),var(--lh-word2));-webkit-background-clip:text;background-clip:text}
.s-lh.wstyle-faded .s-lh-word i,.s-lh.wstyle-gradient .s-lh-word i{background:inherit;-webkit-background-clip:text;background-clip:text}
.s-lh-word i{font-style:normal;display:inline-block}
.s-lh.rise .s-lh-word i{transform:translateY(105%);opacity:0;animation:s-lh-rise .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes s-lh-rise{to{transform:none;opacity:1}}
.s-lh-subject{position:absolute;z-index:2;bottom:0;height:var(--lh-size);display:flex;align-items:flex-end;transform:translate(calc(var(--lh-mx) * -14px),calc(var(--lh-p) * 8%))}
.s-lh.sub-center .s-lh-subject{left:50%;translate:-50% 0}.s-lh.sub-right .s-lh-subject{right:6%}.s-lh.sub-left .s-lh-subject{left:6%}
.s-lh-subject img{height:100%;width:auto;max-width:none;display:block;object-fit:cover}
.s-lh.frame-cutout .s-lh-subject img{object-fit:contain;max-width:92vw}
.s-lh.frame-arch .s-lh-subject img{aspect-ratio:.72;border-radius:999px 999px 0 0}
.s-lh.frame-rounded .s-lh-subject{bottom:6%;height:calc(var(--lh-size) - 12%)}.s-lh.frame-rounded .s-lh-subject img{aspect-ratio:.78;border-radius:28px;box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.s-lh.frame-circle .s-lh-subject{bottom:50%;height:auto;width:min(46vw,560px);translate:-50% 50%}.s-lh.frame-circle.sub-right .s-lh-subject,.s-lh.frame-circle.sub-left .s-lh-subject{translate:0 50%}.s-lh.frame-circle .s-lh-subject img{width:100%;height:auto;aspect-ratio:1;border-radius:50%}
.s-lh-subject.float img{animation:s-lh-float 6s ease-in-out infinite}
@keyframes s-lh-float{50%{transform:translateY(-12px)}}
.s-lh-copy{position:absolute;z-index:3;max-width:min(440px,88vw);display:flex;flex-direction:column;gap:12px}
.s-lh.text-top-left .s-lh-copy{top:clamp(90px,14vh,150px);left:clamp(20px,5vw,72px)}
.s-lh.text-left .s-lh-copy{top:50%;transform:translateY(-50%);left:clamp(20px,5vw,72px)}
.s-lh.text-right .s-lh-copy{top:50%;transform:translateY(-50%);right:clamp(20px,5vw,72px)}
.s-lh.text-bottom-left .s-lh-copy{bottom:clamp(40px,8vh,90px);left:clamp(20px,5vw,72px)}
.s-lh.text-bottom-right .s-lh-copy{bottom:clamp(40px,8vh,90px);right:clamp(20px,5vw,72px)}
.s-lh-eyebrow{margin:0;font-size:.78rem;letter-spacing:.06em;opacity:.75}.s-lh-eyebrow::before{content:"● ";font-size:.6em;vertical-align:middle;color:var(--c-primary)}
.s-lh-copy h1{font-family:var(--f-heading);font-size:clamp(2rem,3.4vw,3rem);line-height:1.04;letter-spacing:-.03em;margin:0}
.s-lh-copy h1 em{font-style:italic;color:var(--c-primary)}
.s-lh-rating{margin:0;font-size:.82rem;opacity:.8}.s-lh-rating span{color:#f59e0b;letter-spacing:1px}
.s-lh-text{margin:0;font-size:1rem;line-height:1.6;opacity:.82}
.s-lh-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.s-lh-btns .s-btn{padding:11px 22px;font-size:.92rem}
.s-lh-card{position:absolute;z-index:4;display:flex;gap:12px;align-items:center;padding:12px;max-width:300px;border-radius:18px;background:color-mix(in srgb,#fff 62%,transparent);color:#111;backdrop-filter:blur(14px);box-shadow:0 20px 50px -20px rgba(0,0,0,.35);animation:s-lh-float 7s ease-in-out infinite}
.s-lh-card img{width:58px;height:58px;border-radius:12px;object-fit:cover;flex:none}
.s-lh-card b{display:block;font-size:.95rem}.s-lh-card small{display:block;font-size:.78rem;opacity:.7;margin-top:2px}
.s-lh-card.at-top-right{top:clamp(90px,14vh,150px);right:clamp(16px,5vw,72px)}.s-lh-card.at-bottom-right{bottom:clamp(40px,10vh,110px);right:clamp(16px,5vw,72px)}.s-lh-card.at-bottom-left{bottom:clamp(40px,10vh,110px);left:clamp(16px,5vw,72px)}
@media (max-width:760px){.s-lh-copy{max-width:88vw}.s-lh.text-right .s-lh-copy,.s-lh.text-left .s-lh-copy{top:auto;bottom:auto;transform:none;top:100px;left:20px;right:20px}.s-lh-card{display:none}.s-lh-subject{height:calc(var(--lh-size) * .7)}}

/* ---- product switch */
.s-ps{position:relative;overflow:hidden;isolation:isolate;color:var(--ps-text);background:radial-gradient(120% 90% at 50% 40%,var(--ps-bg),var(--ps-bg2));transition:background-color .8s;display:grid;grid-template-columns:1fr minmax(260px,1.1fr) 1fr;grid-template-rows:1fr auto;padding:clamp(90px,12vh,130px) clamp(20px,4vw,60px) clamp(36px,6vh,64px);gap:20px;--ps-mx:0;--ps-my:0}
.s-ps::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ps-bg);transition:background .8s;opacity:.0}
.s-ps-parts{position:absolute;inset:0;z-index:0;pointer-events:none}
.s-ps-parts span{position:absolute;width:calc(var(--s) * clamp(40px,6vw,96px));aspect-ratio:1;border-radius:50%;background-color:var(--ps-acc);background-image:radial-gradient(circle at 34% 28%,rgba(255,255,255,.85),rgba(255,255,255,0) 42%),radial-gradient(circle at 70% 80%,rgba(0,0,0,.35),transparent 60%);transition:background-color .8s;filter:blur(calc((1.4 - var(--s)) * 2px));translate:calc(var(--ps-mx) * var(--d) * -40px) calc(var(--ps-my) * var(--d) * -30px);animation:s-ps-float calc(5s + var(--d) * 3s) ease-in-out infinite alternate,s-ps-pop .9s cubic-bezier(.2,.9,.3,1.3) both}
.s-ps-parts.look-bubbles span{background-color:transparent;border:1.5px solid color-mix(in srgb,#fff 70%,transparent);background-image:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),transparent 30%)}
@keyframes s-ps-float{to{transform:translateY(-26px) rotate(25deg)}}
@keyframes s-ps-pop{from{scale:.2;opacity:0}}
.s-ps-titles{position:relative;grid-column:1/-1;grid-row:1;z-index:3;pointer-events:none}
.s-ps-title{position:absolute;inset:0}
.s-ps-title .t1,.s-ps-title .t2{font-family:var(--ps-font);line-height:.95;letter-spacing:-.02em;margin:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s,clip-path .8s cubic-bezier(.2,.8,.2,1);clip-path:inset(0 0 100% 0);transform:translateY(30px);opacity:0}
.s-ps-title .t1{position:absolute;top:0;left:0;font-size:clamp(2.6rem,6.4vw,6rem);max-width:7em}
.s-ps-title .t2{position:absolute;right:0;bottom:0;text-align:right;font-size:clamp(2.6rem,7vw,6.6rem);max-width:8em}
.s-ps.ital .t1,.s-ps.ital .t2{font-style:italic}
.s-ps-title em{font-style:inherit;color:var(--ps-acc);filter:brightness(1.4)}
.s-ps-title.on .t1,.s-ps-title.on .t2{clip-path:inset(-10% -5% -20% -5%);transform:none;opacity:1}
.s-ps-title.on .t2{transition-delay:.12s}
.s-ps-stage{grid-column:2;grid-row:1/3;position:relative;z-index:2;min-height:clamp(320px,62vh,640px)}
.s-ps-prod{position:absolute;inset:0;display:grid;place-items:center;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s}
.s-ps-prod:not(.on){opacity:0;pointer-events:none}
.s-ps.tr-rise .s-ps-prod.after{transform:translateY(60%) rotate(18deg) scale(.7)}.s-ps.tr-rise .s-ps-prod.before{transform:translateY(-60%) rotate(-18deg) scale(.7)}
.s-ps.tr-spin .s-ps-prod.after,.s-ps.tr-spin .s-ps-prod.before{transform:rotateY(90deg) scale(.8)}
.s-ps.tr-slide .s-ps-prod.after{transform:translateX(70%) rotate(10deg)}.s-ps.tr-slide .s-ps-prod.before{transform:translateX(-70%) rotate(-10deg)}
.s-ps.tr-fade .s-ps-prod:not(.on){transform:scale(.94)}
.s-ps-bob{height:100%;display:grid;place-items:center;animation:s-ps-bob 5s ease-in-out infinite;transform:rotate(calc(var(--ps-mx) * 10deg))}
.s-ps-bob img,.s-ps-bob .s-ps-art{max-height:min(62vh,600px);max-width:100%;width:auto;height:100%;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.4))}
@keyframes s-ps-bob{50%{translate:0 -14px}}
.s-ps-side{grid-column:1;grid-row:2;position:relative;z-index:3;display:flex;flex-direction:column;gap:16px;max-width:340px;align-self:end}
.s-ps-side p{margin:0;font-size:.95rem;line-height:1.6;opacity:.86}
.s-ps-buy{display:flex;align-items:center;gap:14px}
.s-ps-shop{display:inline-flex;align-items:center;gap:10px;padding:10px 12px 10px 20px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
.s-ps-shop span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ps-acc);color:#fff;transition:transform .3s}.s-ps-shop:hover span{transform:rotate(-45deg)}
.s-ps-price{font-size:1.2rem}
.s-ps-nav{grid-column:3;grid-row:1;position:relative;z-index:4;justify-self:end;align-self:start;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.s-ps-thumbs{display:flex;gap:8px}
.s-ps-thumbs button{display:flex;flex-direction:column;align-items:center;gap:4px;width:84px;padding:8px 6px;border-radius:16px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:color-mix(in srgb,#fff 8%,transparent);color:inherit;cursor:pointer;backdrop-filter:blur(8px);transition:background .3s,border-color .3s,transform .3s}
.s-ps-thumbs button.on{background:color-mix(in srgb,#fff 22%,transparent);border-color:color-mix(in srgb,currentColor 70%,transparent);transform:translateY(-3px)}
.s-ps-thumbs .th{height:56px;display:grid;place-items:center}.s-ps-thumbs .th img,.s-ps-thumbs .th svg{height:56px;width:auto}
.s-ps-thumbs .nm{font-size:.68rem;font-weight:600;line-height:1.1}.s-ps-thumbs .pr{font-size:.62rem;opacity:.75}
.s-ps-arrows{display:flex;gap:8px}.s-ps-arrows button{width:38px;height:38px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit;cursor:pointer;font-size:1rem}.s-ps-arrows button:hover{background:color-mix(in srgb,#fff 15%,transparent)}
.s-ps-badge{grid-column:3;grid-row:2;position:relative;z-index:3;justify-self:end;align-self:end;display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.s-ps-badge>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 40%,transparent)}.s-ps-badge small{display:block;opacity:.7}.s-ps-badge b{display:block}
@media (max-width:820px){.s-ps{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.s-ps-titles{grid-row:2;min-height:240px}.s-ps-stage{grid-column:1;grid-row:3;min-height:360px}.s-ps-side{grid-row:4}.s-ps-nav{grid-column:1;grid-row:1;justify-self:center}.s-ps-badge{display:none}.s-ps-title .t1{font-size:2.6rem}.s-ps-title .t2{font-size:2.6rem}.s-ps-thumbs button{width:70px}}

/* ---- word carousel */
.s-wc{position:relative;padding:28px 0 12px;--wc-word:var(--c-text)}
.s-wc-top{display:flex;justify-content:space-between;margin-bottom:12px}.s-wc-chip{font-size:.8rem;padding:10px 14px;border-radius:14px;background:var(--c-surface);max-width:280px}
.s-wc-row{display:grid;grid-template-columns:1fr minmax(220px,300px) 1fr;align-items:center;gap:clamp(12px,3vw,40px)}
.s-wc-words{position:relative;height:calc(2 * 1em * .95);font-family:var(--wc-font);font-size:clamp(2.2rem,6vw,5.8rem);font-weight:600;line-height:.95;letter-spacing:-.03em}
.s-wc.up .s-wc-words{text-transform:uppercase}
.s-wc-words.left{text-align:right;grid-column:1;grid-row:1}.s-wc-words.right{text-align:left;grid-column:3;grid-row:1}
.s-wc-pair{position:absolute;inset:0;display:flex;flex-direction:column}
.s-wc-pair>span{display:block;overflow:hidden;white-space:nowrap}
.s-wc-pair i{display:block;font-style:normal;transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.s-wc-pair.before i{transform:translateY(-105%)}
.s-wc-pair.on i{transform:none}.s-wc-pair.on .s i{transition-delay:.08s}
.s-wc-pair .m{color:var(--wc-muted)}.s-wc-pair .s{color:var(--wc-word)}
.s-wc-cards{grid-column:2;grid-row:1;position:relative;aspect-ratio:.82;perspective:900px}
.s-wc-card{position:absolute;inset:0;border-radius:22px;overflow:hidden;background:var(--c-surface);box-shadow:0 30px 60px -28px rgba(0,0,0,.45);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:0;transform:translateX(40%) rotate(12deg) scale(.86);color:#fff;text-decoration:none}
.s-wc-card img,.s-wc-card .ph{width:100%;height:100%;object-fit:cover;display:block;background:linear-gradient(135deg,var(--c-primary),var(--c-secondary))}
.s-wc-card.prev{transform:translateX(-50%) rotate(-14deg) scale(.82)}
.s-wc-card.on{opacity:1;transform:rotate(-4deg);z-index:2}
.s-wc.look-flat .s-wc-card.on{transform:none}.s-wc.look-stack .s-wc-card.next{opacity:.55;transform:translate(10%,4%) rotate(6deg) scale(.94);z-index:1}
.s-wc-card .cap{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}.s-wc-card .cap b{display:block;font-size:.9rem}.s-wc-card .cap small{font-size:.75rem;opacity:.8}
.s-wc-nav{display:flex;align-items:center;justify-content:space-between;margin-top:28px}
.s-wc-nav>button{width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;cursor:pointer;font-size:1rem}.s-wc-nav>button.dark{background:var(--c-text);color:var(--c-bg);border-color:transparent}
.s-wc-dots{display:flex;gap:6px}.s-wc-dots button{width:8px;height:8px;border-radius:99px;border:0;background:color-mix(in srgb,currentColor 25%,transparent);cursor:pointer;transition:width .3s,background .3s;padding:0}.s-wc-dots button.on{width:22px;background:currentColor}
@media (max-width:760px){.s-wc-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.s-wc-cards{grid-column:1/-1;grid-row:2;max-width:280px;margin:0 auto;width:100%}.s-wc-words{font-size:2rem}.s-wc-words.left{text-align:left}.s-wc-words.right{grid-column:2;text-align:right}}

/* ---- wordmark */
.s-wm{width:100%;overflow:hidden;line-height:.82;--wm-p:1}
.s-wm-t{display:inline-block;white-space:nowrap;font-family:var(--wm-font);font-weight:var(--wm-weight);letter-spacing:var(--wm-track);font-size:18vw;color:var(--wm-c);margin-bottom:calc(var(--wm-crop) * -1.2);padding:0 .02em}
.s-wm-t i{font-style:normal;display:inline-block}
.s-wm.look-outline .s-wm-t{color:transparent;-webkit-text-stroke:max(1px,.01em) var(--wm-c)}
.s-wm.look-gradient .s-wm-t i,.s-wm.look-faded .s-wm-t i,.s-wm.look-image .s-wm-t i{color:transparent;-webkit-background-clip:text;background-clip:text}
.s-wm.look-gradient .s-wm-t i{background-image:linear-gradient(100deg,var(--wm-c),var(--wm-c2));background-size:calc(var(--n) * 100%) 100%;background-position:calc(var(--k) / max(1, var(--n) - 1) * 100%) 0}
.s-wm.look-faded .s-wm-t i{background-image:linear-gradient(180deg,var(--wm-c) 20%,transparent 95%)}
.s-wm.look-image .s-wm-t i{background-image:var(--wm-img);background-size:calc(var(--n) * 100%) auto;background-position:calc(var(--k) / max(1, var(--n) - 1) * 100%) 50%}
.s-wm.rv-rise .s-wm-t i{transform:translateY(100%);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .8s;transition-delay:calc(var(--k) * 55ms)}
.s-wm.rv-fade .s-wm-t i{opacity:0;filter:blur(8px);transition:opacity .9s,filter .9s;transition-delay:calc(var(--k) * 60ms)}
.s-wm.seen .s-wm-t i{transform:none;opacity:1;filter:none}
.s-wm.rv-scroll .s-wm-t i{transform:translateY(calc((1 - var(--wm-p)) * (60% + var(--k) * 12%)));opacity:calc(.2 + var(--wm-p) * .8)}
@media (prefers-reduced-motion:reduce){.s-wm .s-wm-t i,.s-lh.rise .s-lh-word i{transform:none!important;opacity:1!important;filter:none!important;animation:none!important}.s-ps-parts span,.s-ps-bob,.s-lh-glow,.s-lh-card,.s-lh-subject.float img{animation:none!important}}

/* ---- logo cloud */
.s-lc{width:100%;overflow:hidden}.s-lc.empty{padding:24px;text-align:center;color:var(--c-muted);border:1px dashed color-mix(in srgb,currentColor 25%,transparent);border-radius:12px}
.s-lc-title{text-align:center;color:var(--c-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 18px}
.s-lc-grid{display:grid;gap:28px 40px;align-items:center;justify-items:center}
.s-lc-item{display:flex;align-items:center;justify-content:center;padding:6px 10px}.s-lc-item img{width:auto;max-width:160px;object-fit:contain;display:block;transition:filter .35s,opacity .35s,transform .35s}
.s-lc.grey .s-lc-item img{filter:grayscale(1);opacity:.65}.s-lc.grey .s-lc-item:hover img{filter:none;opacity:1;transform:scale(1.05)}
.s-lc-track{display:flex;width:max-content;animation:s-lc-move var(--lc-speed,30s) linear infinite;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.s-lc-track+.s-lc-track{margin-top:18px}.s-lc-track.rev{animation-direction:reverse}.s-lc:hover .s-lc-track{animation-play-state:paused}
.s-lc-row{display:flex;gap:48px;padding-right:48px;align-items:center}
@keyframes s-lc-move{to{transform:translateX(-50%)}}
/* ---- device mockup */
.s-dm{margin:0 auto;width:100%;perspective:1600px;--dm-t:0}
.s-dm-stage{transform:rotateX(calc(var(--dm-t) * 28deg)) scale(calc(1 - var(--dm-t) * .06));transform-origin:50% 100%;transition:transform .1s linear}
.s-dm.float .s-dm-stage>*{animation:s-dm-float 6s ease-in-out infinite}
@keyframes s-dm-float{50%{transform:translateY(-10px)}}
.s-dm-screen{position:relative;overflow:hidden;background:#0f172a;aspect-ratio:16/10}
.s-dm-screen img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.s-dm-screen.scrolls img{height:auto;min-height:100%;transition:transform 6s ease-in-out}.s-dm-screen.scrolls:hover img{transform:translateY(calc(-100% + 100cqh))}
.s-dm-screen.scrolls{container-type:size}
.s-dm-ph{position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;font-size:.85rem}
.s-dm{--dm-frame:#c7cbd1;--dm-frame2:#9aa0a8}.s-dm.frame-black{--dm-frame:#1f2125;--dm-frame2:#0c0d0f}.s-dm.frame-white{--dm-frame:#f4f4f5;--dm-frame2:#d4d4d8}
.s-dm-lid{background:var(--dm-frame2);border-radius:18px 18px 4px 4px;padding:2.2% 2.2% 3%;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}.s-dm-lid .s-dm-screen{border-radius:6px}
.s-dm-base{height:14px;margin:0 -6%;background:linear-gradient(var(--dm-frame),var(--dm-frame2));border-radius:0 0 18px 18px;position:relative}.s-dm-base::before{content:"";position:absolute;left:42%;right:42%;top:0;height:5px;background:var(--dm-frame2);border-radius:0 0 8px 8px}
.s-dm-phone{position:relative;width:min(300px,100%);margin:0 auto;background:var(--dm-frame2);border-radius:44px;padding:12px;box-shadow:0 30px 60px -25px rgba(0,0,0,.5)}.s-dm-phone .s-dm-screen{aspect-ratio:9/19.5;border-radius:34px}
.s-dm-notch{position:absolute;z-index:2;top:20px;left:50%;width:30%;height:22px;transform:translateX(-50%);background:#000;border-radius:14px}
.s-dm-tablet{background:var(--dm-frame2);border-radius:28px;padding:3%;box-shadow:0 30px 60px -28px rgba(0,0,0,.45)}.s-dm-tablet .s-dm-screen{aspect-ratio:4/3;border-radius:12px}
.s-dm-browser{border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.45);border:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.s-dm-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--dm-frame);}.s-dm-bar i{width:11px;height:11px;border-radius:50%;background:#ff5f57}.s-dm-bar i:nth-child(2){background:#febc2e}.s-dm-bar i:nth-child(3){background:#28c840}
.s-dm-bar span{margin-left:12px;flex:1;max-width:60%;padding:4px 12px;border-radius:8px;background:color-mix(in srgb,#fff 70%,transparent);color:#475569;font-size:12px;text-align:center}
.s-dm-duo{position:relative;padding-right:12%}.s-dm-duo-phone{position:absolute;right:0;bottom:-6%;width:24%}.s-dm-duo-phone .s-dm-phone{border-radius:26px;padding:6px}.s-dm-duo-phone .s-dm-screen{border-radius:20px}.s-dm-duo-phone .s-dm-notch{top:10px;height:10px}
/* ---- 3D ring carousel */
.s-ring{position:relative;width:100%;overflow:hidden;perspective:1400px;touch-action:pan-y;user-select:none}
.s-ring-scene{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;transform:rotateX(var(--ring-tilt))}
.s-ring-track{position:relative;transform-style:preserve-3d;width:1px;height:1px}
.s-ring-card{position:absolute;left:0;top:0;translate:-50% -50%;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--c-surface);box-shadow:0 20px 40px -20px rgba(0,0,0,.45);color:#fff;text-decoration:none}
.s-ring-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.s-ring-cap{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);font-size:.85rem;font-weight:600}
.s-ring.reflect .s-ring-card{-webkit-box-reflect:below 10px linear-gradient(transparent 70%,rgba(255,255,255,.25))}
/* ---- card fan */
.s-fan{position:relative;display:grid;place-items:center;min-height:calc(var(--fan-w) * 1.45 + 60px);padding:30px 0}
.s-fan-card{grid-area:1/1;width:var(--fan-w);aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--c-surface);box-shadow:0 24px 50px -24px rgba(0,0,0,.45);transform:rotate(calc(var(--fan-r) * .12)) translateY(calc(var(--fan-i) * -3px));transition:transform .7s cubic-bezier(.2,.9,.3,1.15);transition-delay:calc(var(--fan-i) * 30ms);color:#fff;text-decoration:none;position:relative}
.s-fan.open .s-fan-card{transform:translate(var(--fan-x),var(--fan-y)) rotate(var(--fan-r))}
.s-fan.open .s-fan-card:hover{transform:translate(var(--fan-x),calc(var(--fan-y) - 24px)) rotate(var(--fan-r)) scale(1.04);z-index:50!important}
.s-fan-card img{width:100%;height:100%;object-fit:cover;display:block}
.s-fan-cap{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}.s-fan-cap b{display:block;font-size:.95rem}.s-fan-cap small{font-size:.78rem;opacity:.85}
@media (max-width:760px){.s-fan.open .s-fan-card{transform:translate(calc(var(--fan-x) * .45),var(--fan-y)) rotate(calc(var(--fan-r) * .6))}.s-dm-stage{transform:none}}
@media (prefers-reduced-motion:reduce){.s-lc-track,.s-dm.float .s-dm-stage>*{animation:none!important}.s-fan-card{transition:none}}

/* ---- button micro-interactions */
.s-btn.fx-ring{position:relative;isolation:isolate;border-color:transparent}
.s-btn.fx-ring::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ring-a,0deg),var(--c-primary),var(--c-secondary),transparent 40%,var(--c-primary));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:s-ring-spin 3s linear infinite;opacity:.9}
.s-btn.fx-ring:hover{box-shadow:0 0 28px -4px var(--c-primary)}
@property --ring-a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes s-ring-spin{to{--ring-a:360deg}}
.s-btn.fx-roll{position:relative;overflow:hidden;transform:none!important}
.s-btn.fx-roll[data-label]{-webkit-text-fill-color:transparent;text-shadow:0 0 0 currentColor}
.s-btn.fx-roll[data-label]::after{content:attr(data-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;-webkit-text-fill-color:currentColor;text-shadow:none;transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.s-btn.fx-roll{transition:text-shadow .35s cubic-bezier(.2,.8,.2,1)}
.s-btn.fx-roll[data-label]:hover{text-shadow:0 -2.2em 0 currentColor}
.s-btn.fx-roll[data-label]:hover::after{transform:none}
.s-btn.fx-squish{transition:transform .15s cubic-bezier(.3,1.6,.5,1)}.s-btn.fx-squish:hover{transform:scale(1.04)}.s-btn.fx-squish:active{transform:scale(.92,.88)}
@media (prefers-reduced-motion:reduce){.s-btn.fx-ring::before{animation:none}}

/* ---- pricing table with billing switch */
.s-pt{display:flex;flex-direction:column;align-items:center;gap:28px}
.s-pt-switch{display:inline-flex;padding:4px;border-radius:999px;background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.s-pt-switch button{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;font-size:.92rem;padding:9px 18px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .25s,color .25s}
.s-pt-switch button.on{background:var(--c-primary);color:var(--c-on-primary,#fff)}
.s-pt-save{font-size:.72rem;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,#22c55e 22%,transparent);color:#15803d}.s-pt-switch button.on .s-pt-save{background:rgba(255,255,255,.22);color:inherit}
.s-pt-grid{display:grid;gap:20px;width:100%}
.s-pt-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 30px;border-radius:calc(var(--radius) + 10px);background:var(--c-surface);border:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.s-pt-card.featured{background:radial-gradient(500px 260px at 50% 0%,color-mix(in srgb,var(--c-primary) 35%,transparent),transparent 70%),#0f1117;color:#fff;border-color:color-mix(in srgb,var(--c-primary) 60%,transparent);box-shadow:0 40px 80px -40px var(--c-primary);transform:translateY(-8px)}
.s-pt-badge{position:absolute;top:16px;right:16px;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--c-primary);color:var(--c-on-primary,#fff)}
.s-pt-card h3{margin:0;font-size:1.15rem}.s-pt-blurb{margin:0;opacity:.7;font-size:.92rem}
.s-pt-price{display:flex;align-items:baseline;gap:6px}.s-pt-price .amt{font-family:var(--f-heading);font-size:2.8rem;font-weight:800;letter-spacing:-.04em;animation:s-pt-in .4s cubic-bezier(.2,.8,.2,1)}.s-pt-price .per{opacity:.6}
@keyframes s-pt-in{from{opacity:0;transform:translateY(8px)}}
.s-pt-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;flex:1}.s-pt-card li{padding-left:24px;position:relative;font-size:.95rem}.s-pt-card li::before{content:"✓";position:absolute;left:0;color:var(--c-primary);font-weight:700}
.s-pt-card .s-btn{width:100%}
.s-pt-card.featured .s-btn.primary{background:#fff;color:#111}
@media (max-width:820px){.s-pt-grid{grid-template-columns:1fr!important}.s-pt-card.featured{transform:none}}

.s-itrail{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;cursor:crosshair;isolation:isolate}
.s-itrail .it-copy{position:relative;z-index:3;pointer-events:none;padding:24px;max-width:720px}
.s-itrail .it-copy h2{margin:0 0 10px;font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.03em;line-height:1.02;color:inherit}
.s-itrail .it-copy p{margin:0;opacity:.75;font-size:1.1rem}
.s-itrail .it-img{position:absolute;z-index:2;pointer-events:none;object-fit:cover;border-radius:14px;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);transform:translate(-50%,-50%);will-change:transform,opacity}
.s-itrail .it-img.fade{animation:it-fade 1.1s cubic-bezier(.2,.8,.2,1) forwards}
.s-itrail .it-img.spin{animation:it-spin 1.2s cubic-bezier(.2,.8,.2,1) forwards}
.s-itrail .it-img.pixel{animation:it-pixel 1.15s steps(1,end) forwards}
@keyframes it-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.85)}}
@keyframes it-spin{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.7)}15%{opacity:1;transform:translate(-50%,-50%) rotate(4deg) scale(1)}100%{opacity:0;transform:translate(-50%,10%) rotate(14deg) scale(.9)}}
@keyframes it-pixel{0%{opacity:1;filter:blur(8px) contrast(1.4)}12%{filter:blur(4px) contrast(1.2)}24%{filter:none}80%{opacity:1}100%{opacity:0}}
.s-itrail .it-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:12px;opacity:.5;z-index:3}
.s-island-wrap{display:flex;justify-content:center}
.s-island-wrap.pinned{position:fixed;top:14px;left:0;right:0;z-index:70;pointer-events:none}
.s-island{pointer-events:auto;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;max-width:min(92vw,520px);padding:8px 16px 8px 10px;border-radius:999px;background:var(--is-bg,#0b0b0f);color:var(--is-fg,#fff);box-shadow:0 14px 40px -14px rgba(0,0,0,.55);transition:border-radius .5s cubic-bezier(.3,1.3,.5,1),padding .5s cubic-bezier(.3,1.3,.5,1),max-width .5s;cursor:default;overflow:hidden}
.s-island .ic{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:16px}
.s-island .short{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-island .more{grid-column:1/-1;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.3,1.2,.5,1),opacity .3s;opacity:0}
.s-island .more>div{overflow:hidden}
.s-island .more b{display:block;font-size:17px;margin-top:6px}.s-island .more p{margin:4px 0 12px;opacity:.75;font-size:14px}
.s-island .more a{display:inline-block;padding:9px 16px;border-radius:999px;background:var(--c-primary);color:var(--c-primary-fg,#fff);font-weight:600;font-size:14px;text-decoration:none;margin-bottom:6px}
.s-island.open{border-radius:26px;padding:14px 18px 12px 14px}
.s-island.open .more{grid-template-rows:1fr;opacity:1}
.s-morph{margin:0}.s-morph .mw{display:inline-grid;vertical-align:bottom;color:var(--mw-c,var(--c-primary))}
.s-morph .mw>span{grid-area:1/1;white-space:nowrap;transition:opacity .6s,filter .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.s-morph .mw>span.out{opacity:0}
.s-morph.fx-morph .mw>span.out{filter:blur(10px);transform:scale(.96)}
.s-morph.fx-slide .mw{overflow:hidden}.s-morph.fx-slide .mw>span.out{transform:translateY(-100%)}.s-morph.fx-slide .mw>span.next{transform:translateY(100%);opacity:0}
.s-morph.fx-flip .mw{perspective:600px}.s-morph.fx-flip .mw>span{transform-origin:50% 50% -.4em;backface-visibility:hidden}.s-morph.fx-flip .mw>span.out{transform:rotateX(90deg)}.s-morph.fx-flip .mw>span.next{transform:rotateX(-90deg);opacity:0}
.s-dock-wrap{display:flex;justify-content:center;padding:12px 0}
.s-dock-wrap.pinned{position:fixed;bottom:16px;left:0;right:0;z-index:70;pointer-events:none}
.s-dock{pointer-events:auto;display:flex;align-items:flex-end;gap:10px;padding:10px 14px;border-radius:22px;background:rgba(255,255,255,.35);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(255,255,255,.5);box-shadow:0 18px 40px -18px rgba(0,0,0,.45)}
.s-dock a{position:relative;display:grid;place-items:center;width:var(--ds,52px);height:var(--ds,52px);border-radius:16px;background:rgba(255,255,255,.85);font-size:calc(var(--ds,52px) * .5);text-decoration:none;transition:width .18s,height .18s,transform .18s;transform-origin:bottom center;box-shadow:0 4px 10px -4px rgba(0,0,0,.25)}
.s-dock a .tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:4px 9px;border-radius:7px;background:#111;color:#fff;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
.s-dock a:hover .tip,.s-dock a:focus-visible .tip{opacity:1}
.s-avs{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.s-avs .faces{display:flex}
.s-avs .face{position:relative;margin-left:calc(var(--av,44px) * -.28);transition:transform .25s cubic-bezier(.3,1.5,.5,1),z-index 0s}
.s-avs .face:first-child{margin-left:0}
.s-avs .face img{display:block;width:var(--av,44px);height:var(--av,44px);border-radius:999px;object-fit:cover;border:3px solid var(--c-bg,#fff)}
.s-avs .face:hover{transform:translateY(-5px) scale(1.08);z-index:5}
.s-avs .face .tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,6px);padding:6px 10px;border-radius:9px;background:#111;color:#fff;font-size:12px;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}
.s-avs .face .tip small{display:block;opacity:.65;font-size:11px}
.s-avs .face:hover .tip{opacity:1;transform:translate(-50%,0)}
.s-avs .txt{font-weight:600}.s-avs .stars{color:#f5b301;letter-spacing:2px;font-size:15px;display:block}
.s-folder{display:inline-block;text-decoration:none;color:inherit;width:min(100%,320px)}
.s-folder .fd{position:relative;height:210px;perspective:900px}
.s-folder .back,.s-folder .front{position:absolute;left:0;right:0;border-radius:16px;background:var(--fd,var(--c-primary))}
.s-folder .back{top:0;bottom:0}.s-folder .back::before{content:"";position:absolute;top:-14px;left:0;width:42%;height:30px;border-radius:12px 12px 0 0;background:inherit}
.s-folder .front{bottom:0;height:72%;transform-origin:bottom center;transition:transform .5s cubic-bezier(.3,1.2,.5,1);background:color-mix(in srgb,var(--fd,var(--c-primary)) 82%,#fff);z-index:4;box-shadow:0 -8px 20px -14px rgba(0,0,0,.4)}
.s-folder .pics img{position:absolute;left:50%;bottom:22%;width:62%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);transform:translateX(-50%);transition:transform .5s cubic-bezier(.3,1.3,.5,1);z-index:2}
.s-folder:hover .front,.s-folder:focus-visible .front{transform:rotateX(-38deg)}
.s-folder:hover .pics img:nth-child(1){transform:translate(-95%,-38%) rotate(-12deg)}
.s-folder:hover .pics img:nth-child(2){transform:translate(-50%,-52%)}
.s-folder:hover .pics img:nth-child(3){transform:translate(-5%,-38%) rotate(12deg)}
.s-folder .meta{margin-top:14px}.s-folder .meta b{display:block;font-size:1.05rem}.s-folder .meta span{opacity:.6;font-size:.9rem}
.s-reveal{margin:0}.s-reveal .rv{position:relative;overflow:hidden;border-radius:var(--radius)}
.s-reveal img{display:block;width:100%;height:100%;object-fit:cover;transition:clip-path 1.3s cubic-bezier(.7,0,.2,1),transform 1.6s cubic-bezier(.2,.8,.2,1)}
.s-reveal.fx-curtain img{clip-path:inset(0 100% 0 0)}.s-reveal.fx-rise img{clip-path:inset(100% 0 0 0)}.s-reveal.fx-circle img{clip-path:circle(0% at 50% 50%)}
.s-reveal.fx-zoom img{transform:scale(1.35);clip-path:inset(12% 12% 12% 12% round 24px)}
.s-reveal.fx-blinds .rv{display:grid;grid-template-columns:repeat(6,1fr)}
.s-reveal.in img{clip-path:inset(0 0 0 0)!important;transform:none!important}.s-reveal.in.fx-circle img{clip-path:circle(75% at 50% 50%)!important}
.s-reveal .bl{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);pointer-events:none}
.s-reveal .bl i{background:var(--c-bg,#fff);transform-origin:right;transition:transform 1s cubic-bezier(.7,0,.2,1)}
.s-reveal.in .bl i{transform:scaleX(0)}
.s-reveal figcaption{margin-top:10px;font-size:.9rem;opacity:.7}
@media (prefers-reduced-motion:reduce){.s-reveal img{clip-path:none!important;transform:none!important;transition:none}.s-reveal .bl{display:none}.s-itrail .it-img{animation-duration:.01s}.s-morph .mw>span{transition:none}}
.s-fx.fx-rays .fxbg{background:radial-gradient(ellipse at 50% -10%,color-mix(in srgb,var(--c1) 55%,transparent),transparent 60%),var(--bg)}
.s-fx.fx-rays .fxbg::before{content:"";position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg at 50% 0%,color-mix(in srgb,var(--c2) 38%,transparent) 0deg 3deg,transparent 3deg 14deg);mask:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 62%);-webkit-mask:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 62%);animation:fx-rays calc(30s / var(--spd,1)) linear infinite;transform-origin:50% 25%}
.s-fx.fx-rays .fxbg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--c2) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--c2) 12%,transparent) 1px,transparent 1px);background-size:48px 48px;mask:linear-gradient(transparent,#000 70%);-webkit-mask:linear-gradient(transparent,#000 70%)}
@keyframes fx-rays{to{transform:rotate(360deg)}}

.s-blog{--b-line:color-mix(in srgb,var(--c-text) 12%,transparent);--b-soft:color-mix(in srgb,var(--c-text) 5%,transparent);color:var(--c-text)}
.s-bwrap{max-width:1200px;margin:0 auto;padding:0 24px}.s-bwrap.narrow{max-width:760px}
.s-bhead{position:relative;padding:120px 0 40px;overflow:hidden;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--c-primary) 22%,transparent),transparent 55%),radial-gradient(circle at 95% 10%,color-mix(in srgb,var(--c-secondary) 18%,transparent),transparent 50%)}
.s-beyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg,var(--c-primary),var(--c-secondary));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}
.s-bhead h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px}
.s-bintro{font-size:1.2rem;max-width:40rem;color:var(--c-muted);margin:0}
.s-btools{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:34px}
.s-bcats{display:flex;flex-wrap:wrap;gap:8px}
.s-bcats a{padding:8px 16px;border-radius:999px;border:1px solid var(--b-line);text-decoration:none;font-weight:600;font-size:.92rem;color:inherit;transition:all .2s}
.s-bcats a:hover{border-color:var(--c-primary)}
.s-bcats a[aria-current]{background:linear-gradient(100deg,var(--c-primary),var(--c-secondary));color:#fff;border-color:transparent}
.s-bcats sup{font-size:.7em;opacity:.7;margin-left:4px}
.s-bsearch input{border:1px solid var(--b-line);background:var(--c-bg);color:inherit;border-radius:999px;padding:10px 18px;min-width:240px;font:inherit}
.s-bsearch input:focus{outline:2px solid color-mix(in srgb,var(--c-primary) 50%,transparent)}
.s-bfeatured{display:grid;grid-template-columns:1.25fr 1fr;gap:0;margin:10px 0 44px;border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;background:var(--c-surface);border:1px solid var(--b-line);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);transition:transform .35s ease,box-shadow .35s ease}
.s-bfeatured:hover{transform:translateY(-4px);box-shadow:0 40px 80px -30px color-mix(in srgb,var(--c-primary) 45%,rgba(0,0,0,.4))}
.s-bfeatured-img{position:relative;min-height:380px;overflow:hidden}.s-bfeatured-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.s-bfeatured:hover .s-bfeatured-img img{transform:scale(1.05)}
.s-bfeatured-body{padding:44px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.s-bfeatured-body h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0;letter-spacing:-.02em}
.s-bfeatured-body p{color:var(--c-muted);font-size:1.05rem;margin:0}
.s-bfeatured-tags{display:flex;gap:8px}.s-bread{font-weight:700;background:linear-gradient(90deg,var(--c-primary),var(--c-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.s-bpill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--c-primary) 14%,var(--c-bg));color:var(--c-hl,var(--c-primary));letter-spacing:.02em}
.s-bpill.glow{background:linear-gradient(100deg,var(--c-primary),var(--c-secondary));color:#fff}.s-bpill.sm{padding:2px 8px;font-size:.68rem}
.s-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:40px}
.s-bgrid.list{grid-template-columns:1fr;gap:18px}
.s-bcard{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:var(--c-surface);border:1px solid var(--b-line);transition:transform .3s ease,box-shadow .3s ease}
.s-bcard:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px color-mix(in srgb,var(--c-primary) 55%,rgba(0,0,0,.45))}
.s-bcard-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.s-bcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.s-bcard:hover .s-bcard-img img{transform:scale(1.06)}
.s-bcard-img .s-bpill{position:absolute;top:14px;left:14px;background:color-mix(in srgb,var(--c-bg) 85%,transparent);backdrop-filter:blur(8px)}
.s-bcard-ph{display:block;width:100%;height:100%;min-height:160px;background:linear-gradient(135deg,var(--c-primary),var(--c-secondary))}
.s-bcard-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.s-bcard h3{font-size:1.28rem;line-height:1.25;margin:0;letter-spacing:-.01em}.s-bcard h3 a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s}
.s-bcard h3 a:hover{background-size:100% 2px}
.s-bcard p{color:var(--c-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.s-bcard .s-bmeta{margin-top:auto}
.s-bcard.v-list{flex-direction:row}.s-bcard.v-list .s-bcard-img{width:34%;aspect-ratio:auto;min-height:190px;flex-shrink:0}
.s-bcard.v-minimal{background:transparent;border:0;border-top:1px solid var(--b-line);border-radius:0}.s-bcard.v-minimal .s-bcard-body{padding:18px 0}
.s-bkicker{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c-hl,var(--c-primary))}
.s-bmeta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem;color:var(--c-muted)}.s-bmeta i{font-style:normal;opacity:.5}
.s-bmeta.light{color:rgba(255,255,255,.85)}
.s-bavatar{border-radius:50%;object-fit:cover;flex-shrink:0}.s-bavatar-i{display:inline-grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--c-primary),var(--c-secondary))}
.s-bpager{display:flex;justify-content:center;gap:8px;margin:10px 0 70px;flex-wrap:wrap}
.s-bpager a{min-width:42px;text-align:center;padding:10px 14px;border-radius:12px;border:1px solid var(--b-line);text-decoration:none;color:inherit;font-weight:600}
.s-bpager a[aria-current]{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:transparent}
.s-bempty{text-align:center;padding:60px 0 90px;color:var(--c-muted)}.s-bempty div{font-size:3rem}.s-bempty h3{color:var(--c-text);margin:.4em 0}
/* ---------- article */
.s-bprogress{position:fixed;left:0;right:0;top:0;height:4px;z-index:60;background:transparent}.s-bprogress i{display:block;height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-secondary));box-shadow:0 0 12px var(--c-primary);transition:width .1s linear}
.s-bpreview{background:#fef3c7;color:#92400e;text-align:center;padding:10px;font-weight:600;font-size:.9rem}
.s-phero{position:relative;padding:130px 0 60px;overflow:hidden;background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--c-primary) 20%,transparent),transparent 55%)}
.s-phero.has-img{padding:200px 0 70px;color:#fff;background:#000}
.s-phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.s-phero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.85) 100%)}
.s-phero .s-bwrap{position:relative;z-index:1}
.s-phero h1{font-size:clamp(2.3rem,5.2vw,4rem);line-height:1.06;letter-spacing:-.03em;margin:14px 0 16px}
.s-pdek{font-size:1.25rem;opacity:.85;margin:0 0 24px;line-height:1.55}
.s-bcrumbs{display:flex;gap:8px;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.s-bcrumbs a{color:inherit;text-decoration:none;opacity:.8}.s-bcrumbs a:hover{opacity:1}.s-bcrumbs i{opacity:.4;font-style:normal}
.s-pmeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.s-pcomments{color:inherit;text-decoration:none;font-weight:600;opacity:.85}
.s-pbody{max-width:760px;margin:0 auto;padding:56px 24px 20px}
.s-pbody.with-toc{max-width:1120px;display:grid;grid-template-columns:220px minmax(0,760px);gap:60px;justify-content:center}
.s-ptoc{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:8px;font-size:.9rem;border-left:2px solid var(--b-line);padding-left:16px}
.s-ptoc strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c-muted)}.s-ptoc a{color:var(--c-muted);text-decoration:none}.s-ptoc a:hover{color:var(--c-hl,var(--c-primary))}.s-ptoc a.l3{padding-left:12px;font-size:.85rem}
.s-post-content{font-size:1.14rem;line-height:1.85}
.s-post-content>p:first-of-type::first-letter{float:left;font-family:var(--f-heading);font-size:3.6em;line-height:.85;font-weight:800;padding:.08em .12em 0 0;background:linear-gradient(135deg,var(--c-primary),var(--c-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}
.s-post-content h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.2;margin:1.8em 0 .6em;letter-spacing:-.02em;scroll-margin-top:90px}
.s-post-content h3{font-size:1.35rem;margin:1.5em 0 .5em;scroll-margin-top:90px}
.s-post-content p{margin:0 0 1.25em}.s-post-content a{color:var(--c-hl,var(--c-primary));text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.s-post-content ul,.s-post-content ol{margin:0 0 1.25em;padding-left:1.4em}.s-post-content li{margin:.35em 0}.s-post-content li::marker{color:var(--c-hl,var(--c-primary))}
.s-post-content blockquote{position:relative;margin:2em 0;padding:24px 28px 24px 34px;border-radius:18px;background:var(--b-soft);font-size:1.3rem;line-height:1.55;font-style:italic;border-left:4px solid transparent;border-image:linear-gradient(var(--c-primary),var(--c-secondary)) 1}
.s-post-content blockquote p{margin:0}
.s-post-content pre{background:#0b1020;color:#e2e8f0;border-radius:14px;padding:18px 20px;font-size:.92rem;overflow:auto;white-space:pre-wrap}
.s-post-content code{font-size:.92em}.s-post-content :not(pre)>code{background:var(--b-soft);padding:2px 6px;border-radius:6px}
.s-post-content img{max-width:100%;height:auto;border-radius:16px;display:block;margin:1.6em auto}
.s-post-content figure{margin:1.8em 0}.s-post-content figcaption{text-align:center;font-size:.88rem;color:var(--c-muted);margin-top:-.8em}
.s-post-content figure.video{aspect-ratio:16/9}.s-post-content iframe{width:100%;height:100%;border:0;border-radius:16px}
.s-post-content hr{border:0;height:1px;background:var(--b-line);margin:2.6em 0}
.s-pfoot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line);margin-top:20px}
.s-ptags{display:flex;gap:8px;flex-wrap:wrap}.s-ptags a{padding:6px 12px;border-radius:999px;background:var(--b-soft);text-decoration:none;color:inherit;font-size:.88rem;font-weight:600}
.s-bshare{display:flex;align-items:center;gap:8px}.s-bshare span{font-size:.85rem;color:var(--c-muted);font-weight:600}
.s-bshare a,.s-bshare button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--b-line);background:transparent;color:inherit;text-decoration:none;font-weight:800;cursor:pointer;transition:all .2s}
.s-bshare a:hover,.s-bshare button:hover{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:transparent;transform:translateY(-2px)}
.s-pauthor{display:flex;gap:18px;align-items:center;margin:34px 0;padding:24px;border-radius:20px;background:var(--b-soft)}
.s-pauthor span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c-muted)}.s-pauthor strong{font-size:1.15rem}.s-pauthor p{margin:6px 0 0;color:var(--c-muted)}
.s-pnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 60px}.s-pnav a{padding:20px;border-radius:16px;border:1px solid var(--b-line);text-decoration:none;color:inherit;font-weight:700;transition:border-color .2s}.s-pnav a:hover{border-color:var(--c-primary)}
.s-pnav a span{display:block;font-size:.78rem;font-weight:700;color:var(--c-hl,var(--c-primary));margin-bottom:6px}.s-pnav a.r{text-align:right}
.s-prelated{padding:70px 0 20px;background:var(--b-soft)}.s-prelated h2{font-size:2rem;margin:0 0 26px}
.s-pcomments-sec{padding:70px 0 90px}.s-pcomments-sec h2{font-size:1.8rem;margin:0 0 20px}
.s-clist{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:18px}.s-clist.replies{margin:14px 0 0 56px;gap:14px}
.s-comment{display:flex;gap:14px;padding:18px 20px;border-radius:18px;border:1px solid var(--b-line);background:var(--c-surface)}
.s-comment.staff{border-color:color-mix(in srgb,var(--c-primary) 45%,transparent)}
.s-chead{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.s-chead time{font-size:.8rem;color:var(--c-muted)}
.s-comment p{margin:0 0 6px;white-space:pre-wrap;line-height:1.6}
.s-blink{background:none;border:0;padding:0;color:var(--c-hl,var(--c-primary));font-weight:700;cursor:pointer;font-size:.88rem}
.s-bcomment-form{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:22px;background:var(--b-soft);border:1px solid var(--b-line)}
.s-bcomment-form h3{margin:0;font-size:1.3rem}
.s-bcomment-form textarea,.s-bcomment-form input{width:100%;box-sizing:border-box;border:1px solid var(--b-line);background:var(--c-bg);color:inherit;border-radius:12px;padding:12px 14px;font:inherit}
.s-bcomment-form textarea:focus,.s-bcomment-form input:focus{outline:2px solid color-mix(in srgb,var(--c-primary) 50%,transparent);border-color:transparent}
.s-bform-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.s-hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.s-bnote{margin:0;padding:10px 14px;border-radius:10px;font-weight:600}.s-bnote.ok{background:#dcfce7;color:#166534}.s-bnote.err{background:#fee2e2;color:#991b1b}
/* Blog Posts element */
.s-postlist{display:grid;gap:26px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}.s-postlist.v-list{grid-template-columns:1fr}
.s-postlist.v-magazine{grid-template-columns:repeat(2,minmax(0,1fr))}.s-postlist.v-magazine>.s-bcard:first-child{grid-row:span 2}.s-postlist.v-magazine>.s-bcard:first-child .s-bcard-img{aspect-ratio:4/3}
.s-postlist.v-minimal{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:0 26px}
.s-postlist-empty{padding:30px;border:1px dashed var(--b-line,#ccc);border-radius:16px;text-align:center;opacity:.7}
/* ---------- resource hub layout (category filters, clean cards, load more) + end-of-post call to action */
.s-blog-res .s-bhead{text-align:left}
.s-blog-res .s-bcats a sup{margin-left:4px;font-size:.72em;opacity:.6}
.s-bgrid.res{gap:36px 28px}
.s-bcard.v-resource{background:transparent;border:0;border-radius:0;overflow:visible}
.s-bcard.v-resource:hover{transform:none;box-shadow:none}
.s-bcard.v-resource .s-bcard-img{border-radius:16px;aspect-ratio:3/2}
.s-bcard.v-resource .s-bcard-body{padding:16px 2px 0;gap:8px}
.s-bres-meta{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--c-muted)}
.s-bres-cat{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;color:var(--c-hl,var(--c-primary));text-decoration:none}
.s-bres-cat:hover{text-decoration:underline}
.s-bres-meta time::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5;margin-right:10px;vertical-align:middle}
.s-bres-meta a+time::before{display:inline-block}.s-bres-meta time:first-child::before{display:none}
.s-bcard.v-resource h3{font-size:1.2rem;line-height:1.3}
.s-bres-more{margin-top:2px;font-weight:600;font-size:.9rem;color:var(--c-hl,var(--c-primary));text-decoration:none}
.s-bres-more span{display:inline-block;transition:transform .2s}.s-bcard.v-resource:hover .s-bres-more span{transform:translateX(4px)}
.s-bmore{display:flex;justify-content:center;margin:6px 0 70px}
.s-bmore a{padding:12px 26px;border-radius:999px;border:1px solid var(--b-line);font-weight:600;text-decoration:none;color:inherit;transition:background .2s,border-color .2s}
.s-bmore a:hover{border-color:var(--c-primary)}.s-bmore a[aria-busy="true"]{opacity:.6;pointer-events:none}
.s-pcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin:34px 0 10px;padding:26px 28px;border-radius:20px;background:color-mix(in srgb,var(--c-primary) 10%,var(--c-bg));border:1px solid color-mix(in srgb,var(--c-primary) 22%,transparent)}
.s-pcta strong{display:block;font-size:1.25rem;line-height:1.25}.s-pcta p{margin:4px 0 0;color:var(--c-muted)}
.s-pcta-btn{flex:none;padding:12px 22px;border-radius:999px;background:var(--c-primary);color:var(--c-on-primary,#fff);font-weight:700;text-decoration:none}
.s-pcta-btn:hover{filter:brightness(1.08)}
/* Blog posts element: colours set on the element win (text colour from the Design tab, card colours from the settings) */
.s-postlist.s-blog{color:inherit;--b-line:color-mix(in srgb,currentColor 14%,transparent)}
.s-postlist .s-bcard{background:var(--pl-bg,var(--c-surface));color:var(--pl-text,inherit)}
.s-postlist .s-bcard p,.s-postlist .s-bmeta,.s-postlist .s-bres-meta{color:color-mix(in srgb,var(--pl-text,currentColor) 70%,transparent)}
.s-postlist.cs-solid .s-bcard{border-color:transparent;background:var(--pl-bg,color-mix(in srgb,var(--c-primary) 10%,var(--c-bg)))}
.s-postlist.cs-clean .s-bcard{background:var(--pl-bg,transparent);border:0}
.s-postlist.cs-clean .s-bcard[style],.s-postlist.cs-clean[style*="--pl-bg"] .s-bcard{border-radius:16px;overflow:hidden}
.s-postlist.cs-clean[style*="--pl-bg"] .s-bcard .s-bcard-body{padding:16px 18px 20px}
/* Blog posts element: alignment when there are fewer posts than columns, sizes */
.s-postlist{gap:var(--pl-gap,26px)}
.s-postlist.al-left,.s-postlist.al-center,.s-postlist.al-right{display:flex;flex-wrap:wrap}
.s-postlist.al-left{justify-content:flex-start}.s-postlist.al-center{justify-content:center}.s-postlist.al-right{justify-content:flex-end}
.s-postlist.al-left>.s-bcard,.s-postlist.al-center>.s-bcard,.s-postlist.al-right>.s-bcard{flex:0 1 calc((100% - (var(--cols,3) - 1) * var(--pl-gap,26px)) / var(--cols,3));min-width:0}
.s-postlist[style*="--pl-w"]>.s-bcard{max-width:var(--pl-w)}
.s-postlist[style*="--pl-w"]:not(.al-left):not(.al-center):not(.al-right){grid-template-columns:repeat(var(--cols,3),minmax(0,var(--pl-w)))}
.s-postlist[style*="--pl-img-h"] .s-bcard-img{aspect-ratio:auto;height:var(--pl-img-h);min-height:0}
.s-postlist[style*="--pl-img-h"] .s-bcard.v-list .s-bcard-img{min-height:var(--pl-img-h)}
.s-postlist[style*="--pl-h"]>.s-bcard{height:var(--pl-h);overflow:hidden}
@media (max-width:900px){.s-postlist.al-left>.s-bcard,.s-postlist.al-center>.s-bcard,.s-postlist.al-right>.s-bcard{flex-basis:calc((100% - var(--pl-gap,26px)) / 2)}}
@media (max-width:640px){.s-postlist.al-left>.s-bcard,.s-postlist.al-center>.s-bcard,.s-postlist.al-right>.s-bcard{flex-basis:100%}.s-postlist[style*="--pl-h"]>.s-bcard{height:auto}}
/* article with a sidebar (NightsBridge-style) and the simple article */
.s-pside{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;padding-top:120px;padding-bottom:30px;align-items:start}
.s-pside.simple{grid-template-columns:minmax(0,760px);justify-content:center}
.s-bcrumbs.plain{font-size:.85rem;color:var(--c-muted)}.s-bcrumbs.plain a{color:inherit}
.s-pside-h1{font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.12;letter-spacing:-.02em;margin:10px 0 14px;font-weight:600}
.s-pside-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.88rem;color:var(--c-muted);margin-bottom:28px}.s-pside-meta i{font-style:normal;opacity:.5}.s-pside-meta a{color:inherit}
.s-pside-cover{width:100%;border-radius:18px;margin:0 0 30px;aspect-ratio:16/9;object-fit:cover}
.s-pside .s-post-content{max-width:none;padding:0}
.s-pside-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:26px;font-size:.95rem}
.s-pside-aside h2{font-size:1.05rem;margin:0 0 10px;font-weight:600}
.s-pside-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.s-pside-aside ul a{color:var(--c-hl,var(--c-primary));text-decoration:none}.s-pside-aside ul a:hover{text-decoration:underline}.s-pside-aside ul a[aria-current]{font-weight:700}
.s-pside-toc li.l3{padding-left:12px;font-size:.9em}
.s-pside-recent a{display:flex!important;gap:10px;align-items:center;color:inherit!important}.s-pside-recent img{width:56px;height:42px;object-fit:cover;border-radius:8px;flex:none}.s-pside-recent span{line-height:1.3}
.s-pside-cta{padding:18px;border-radius:16px;background:color-mix(in srgb,var(--c-primary) 9%,var(--c-bg))}.s-pside-cta strong{display:block;font-size:1.05rem}.s-pside-cta p{margin:6px 0 12px;color:var(--c-muted);font-size:.9rem}
.s-pside-cta a,.s-pside-back{display:inline-block;align-self:flex-start;padding:10px 18px;border-radius:8px;background:var(--c-primary);color:var(--c-on-primary,#fff)!important;font-weight:600;text-decoration:none;font-size:.9rem}
@media (max-width:900px){.s-pside{grid-template-columns:1fr;gap:36px;padding-top:100px}.s-pside-aside{position:static}}
@media (max-width:900px){.s-bfeatured{grid-template-columns:1fr}.s-bfeatured-img{min-height:240px}.s-bfeatured-body{padding:26px}.s-bgrid,.s-postlist{grid-template-columns:1fr 1fr}.s-pbody.with-toc{display:block}.s-ptoc{display:none}.s-postlist.v-magazine>.s-bcard:first-child{grid-row:auto}}
@media (max-width:640px){.s-bgrid,.s-postlist,.s-postlist.v-magazine{grid-template-columns:1fr}.s-bcard.v-list{flex-direction:column}.s-bcard.v-list .s-bcard-img{width:100%;aspect-ratio:16/10}.s-bform-row{grid-template-columns:1fr}.s-clist.replies{margin-left:20px}.s-bhead{padding-top:100px}.s-pnav{grid-template-columns:1fr}}

.pe-callout{border-radius:14px;padding:16px 20px;margin:1.4em 0;border-left:4px solid var(--pe-acc,var(--c-primary,#7c3aed));background:color-mix(in srgb,var(--pe-acc,var(--c-primary,#7c3aed)) 9%,transparent)}
.pe-callout.warn{--pe-acc:#f59e0b}.pe-callout>p:last-child{margin-bottom:0}
.pe-takeaways{border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:16px;padding:18px 22px;margin:1.4em 0;background:color-mix(in srgb,currentColor 3%,transparent)}.pe-takeaways h4{margin:0 0 .5em;font-size:1.05rem}.pe-takeaways ul{margin-bottom:0}
.pe-cta{text-align:center;margin:1.6em 0}
.pe-btn{display:inline-block;padding:13px 26px;border-radius:999px;background:var(--c-primary,#7c3aed);color:var(--c-on-primary,#fff)!important;text-decoration:none!important;font-weight:700}
.pe-ctabox{text-align:center;border-radius:20px;padding:30px 24px;margin:1.8em 0;background:linear-gradient(135deg,var(--c-primary,#7c3aed),var(--c-secondary,#c026d3));color:var(--c-on-primary,#fff)}.pe-ctabox h3{margin:0 0 .3em;color:inherit}.pe-ctabox .pe-btn{background:#fff;color:#111!important}.pe-ctabox p:last-child{margin-bottom:0}
.pe-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin:1.6em 0}.pe-cols img{width:100%;border-radius:14px;margin:0}@media (max-width:640px){.pe-cols{grid-template-columns:1fr}}
.pe-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:1.6em 0}.pe-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;margin:0}
.pe-pull{border:0!important;text-align:center;font-size:1.45rem!important;font-style:normal!important;line-height:1.4;padding:.6em 1em!important;margin:1.8em 0!important}.pe-pull .pe-by{font-size:.95rem;opacity:.7;margin-top:.4em}
.pe-faq{border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:12px;padding:12px 16px;margin:.6em 0}.pe-faq summary{cursor:pointer;font-weight:700}.pe-faq[open] summary{margin-bottom:.5em}.pe-faq p:last-child{margin-bottom:0}
.pe-table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95em}.pe-table th,.pe-table td{border:1px solid color-mix(in srgb,currentColor 16%,transparent);padding:10px 12px;text-align:left}.pe-table th{background:color-mix(in srgb,currentColor 6%,transparent)}
.pe-steps{counter-reset:pe;list-style:none!important;padding:0!important;margin:1.4em 0!important}.pe-steps li{counter-increment:pe;position:relative;padding-left:48px;margin:0 0 14px;min-height:34px}.pe-steps li::before{content:counter(pe);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--c-primary,#7c3aed);color:var(--c-on-primary,#fff);font-weight:800;font-size:.95rem}
.pe-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:1.6em 0;text-align:center}.pe-stats div{padding:18px 10px;border-radius:14px;background:color-mix(in srgb,currentColor 5%,transparent)}.pe-stats strong{display:block;font-size:2rem;line-height:1.1;color:var(--c-primary,#7c3aed)}.pe-stats span{font-size:.9rem;opacity:.75}
.pe-space{height:48px}
.pe-img{margin:1.4em 0}.pe-img img{display:block;width:100%;height:auto;border-radius:14px;margin:0}
.pe-img-left{float:left;margin:.3em 1.6em 1em 0}.pe-img-right{float:right;margin:.3em 0 1em 1.6em}
.pe-img-center{margin-left:auto;margin-right:auto}.pe-img-full{width:100%;clear:both}
.pe-w-25{width:25%}.pe-w-33{width:33%}.pe-w-40{width:40%}.pe-w-50{width:50%}.pe-w-66{width:66%}.pe-w-100{width:100%}
.pe-img figcaption{font-size:.85em;opacity:.7;margin-top:.5em;text-align:center}
:is(.s-post-content,.s-post-body) :is(h2,h3,.pe-ctabox,.pe-takeaways,.pe-stats,.pe-cols){clear:both}
:is(.s-post-content,.s-post-body)::after{content:"";display:block;clear:both}
@media (max-width:640px){.pe-img-left,.pe-img-right{float:none;width:100%;margin:1.2em 0}}
.pe-left{text-align:left}.pe-center{text-align:center}.pe-right{text-align:right}


.s-members{--m-line:color-mix(in srgb,var(--c-text) 12%,transparent);--m-soft:color-mix(in srgb,var(--c-text) 5%,transparent);--m-grad:linear-gradient(110deg,var(--c-primary),var(--c-secondary));color:var(--c-text)}
.s-members h1,.s-members h2,.s-members h3{letter-spacing:-.02em}
.s-members button.s-btn{font:inherit;font-weight:600;cursor:pointer}.s-members button.s-btn.outline,.s-members button.s-btn.ghost{color:var(--c-text);background:transparent}
.s-members .s-btn[disabled]{opacity:.6;cursor:wait}
.s-mfull{width:100%;justify-content:center}.s-mbig{width:100%;justify-content:center;padding:15px 22px;font-size:1.05rem}.s-msm{padding:7px 14px;font-size:.85rem}
.s-merr{color:#e11d48;font-size:.9rem;margin:8px 0 0}.s-msmall{font-size:.9rem;color:var(--c-muted);text-align:center;margin:12px 0 0}
.s-mlink{background:none;border:0;padding:0;color:var(--c-hl,var(--c-primary));font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.s-mlink.danger{color:#e11d48}
.s-mnote{padding:12px 16px;border-radius:12px;background:var(--m-soft);font-size:.95rem;margin:16px 0}.s-mnote.ok{background:color-mix(in srgb,#10b981 14%,transparent)}.s-mnote.bad{background:color-mix(in srgb,#f43f5e 14%,transparent)}
.s-mnote a{color:var(--c-hl,var(--c-primary));font-weight:600}

/* ---------- log in / join */
.s-mgate{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;max-width:1160px;margin:0 auto;padding:130px 24px 90px;align-items:center}
.s-mgate-art h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.04;margin:0 0 16px}
.s-mgate-art p{font-size:1.15rem;color:var(--c-muted);max-width:32rem}
.s-mticks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.s-mticks li{display:flex;gap:12px;align-items:center;font-weight:500}
.s-mticks li:before{content:'✓';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--m-grad);color:#fff;font-size:.8rem;font-weight:800;flex-shrink:0}
.s-mgate-card{position:relative;background:var(--c-surface);border:1px solid var(--m-line);border-radius:26px;padding:34px;box-shadow:0 40px 80px -40px color-mix(in srgb,var(--c-primary) 55%,rgba(0,0,0,.35))}
.s-mgate-card:before{content:'';position:absolute;inset:-1px;border-radius:27px;padding:1px;background:var(--m-grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}
.s-mtabs{display:grid;grid-template-columns:1fr 1fr;background:var(--m-soft);border-radius:14px;padding:4px;margin-bottom:22px}
.s-mtabs button{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:10px;border-radius:10px;cursor:pointer;opacity:.7}
.s-mtabs button[aria-selected=true]{background:var(--c-bg);opacity:1;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.s-mform{display:grid;gap:14px}.s-mform label{display:grid;gap:6px;font-size:.88rem;font-weight:600}
.s-mform input:not([type=radio]),.s-mprofile input{border:1px solid var(--m-line);background:var(--c-bg);color:inherit;border-radius:12px;padding:12px 14px;font:inherit;font-weight:400}
.s-mform input:focus,.s-mprofile input:focus{outline:2px solid color-mix(in srgb,var(--c-primary) 55%,transparent);outline-offset:1px}
.s-mplanpick{display:grid;gap:8px}
.s-mplanpick label{display:flex!important;grid-template-columns:none;align-items:center;gap:12px;border:1px solid var(--m-line);border-radius:14px;padding:12px 14px;cursor:pointer;transition:all .2s}
.s-mplanpick label.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 8%,transparent)}
.s-mplanpick input{accent-color:var(--c-primary)}.s-mplanpick span{display:grid;flex:1}.s-mplanpick small{font-weight:400;color:var(--c-muted)}.s-mplanpick em{font-style:normal;font-weight:700;white-space:nowrap}

/* ---------- plan cards */
.s-mplans{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:22px;align-items:stretch;max-width:calc(var(--cols,3) * 400px);margin-inline:auto}
.s-mplan{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:24px;background:var(--c-surface);border:1px solid var(--m-line);transition:transform .3s,box-shadow .3s}
.s-mplan:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(0,0,0,.4)}
.s-mplan.hl{background:linear-gradient(var(--c-surface),var(--c-surface)) padding-box,var(--m-grad) border-box;border:2px solid transparent;box-shadow:0 30px 70px -30px color-mix(in srgb,var(--c-primary) 60%,transparent)}
.s-mplan-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--m-grad);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:999px;white-space:nowrap}
.s-mplan h3{margin:0;font-size:1.25rem}.s-mprice{font-size:2rem;font-weight:800;letter-spacing:-.03em}
.s-mplan-d{margin:0;color:var(--c-muted)}.s-mplan ul{list-style:none;padding:0;margin:6px 0 10px;display:grid;gap:9px;flex:1}
.s-mplan li{display:flex;gap:10px;font-size:.95rem}.s-mplan li:before{content:'✓';color:var(--c-hl,var(--c-primary));font-weight:800}
.s-mcurrent{opacity:.75;cursor:default;justify-content:center}

/* ---------- dashboard */
.s-mhead{padding:120px 0 34px;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--c-primary) 22%,transparent),transparent 55%),radial-gradient(circle at 95% 20%,color-mix(in srgb,var(--c-secondary) 18%,transparent),transparent 50%)}
.s-mhead h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:0 0 10px}
.s-mstats{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.s-mstats div{display:grid;min-width:130px;padding:14px 20px;border-radius:16px;background:var(--c-surface);border:1px solid var(--m-line)}
.s-mstats b{font-size:1.8rem;line-height:1.1;background:var(--m-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.s-mstats span{font-size:.85rem;color:var(--c-muted)}
.s-mgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;padding-top:30px;padding-bottom:80px}
.s-mgrid h2{font-size:1.5rem;margin:0 0 16px}.s-mgrid section+section{margin-top:40px}
.s-mbox{background:var(--c-surface);border:1px solid var(--m-line);border-radius:20px;padding:22px;margin-bottom:18px}
.s-mbox h3{margin:0 0 14px;font-size:1.1rem}
.s-mplanrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--m-line)}.s-mplanrow:first-of-type{border-top:0}
.s-mplanrow div{display:grid}.s-mplanrow .s-mlink{font-size:.8rem;font-weight:500;color:var(--c-muted)}.s-mplanrow .s-mlink:hover{color:#e11d48}.s-mplanrow small{color:var(--c-muted);font-size:.82rem}
.s-mupgrade{margin-top:12px;padding-top:12px;border-top:1px dashed var(--m-line)}.s-mupgrade>small{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--c-muted)}
.s-mconfirm{font-size:.85rem}
.s-mprofile{display:grid;gap:10px}.s-mprofile label{display:grid;gap:6px;font-size:.85rem;font-weight:600}
.s-mempty{text-align:center;padding:40px;border:1px dashed var(--m-line);border-radius:20px}.s-mempty div{font-size:2.4rem}
.s-mcerts{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.s-mcerts li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--c-surface);border:1px solid var(--m-line)}
.s-mcerts li div{display:grid;flex:1}.s-mcerts small{color:var(--c-muted)}.s-mcert-ic{font-size:1.6rem}

/* ---------- locked page */
.s-mlocked{padding:130px 0 90px}
.s-mlock-card{max-width:560px;margin:0 auto 46px;text-align:center;padding:40px 34px;border-radius:26px;background:var(--c-surface);border:1px solid var(--m-line);box-shadow:0 30px 70px -40px rgba(0,0,0,.45)}
.s-mlock-card.inline{margin:20px 0;max-width:none}
.s-mlock-card h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:10px 0}.s-mlock-card h2{font-size:1.4rem;margin:10px 0 18px}.s-mlock-card p{color:var(--c-muted)}
.s-mlock-ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--m-grad);font-size:1.7rem;box-shadow:0 14px 30px -12px var(--c-primary)}
.s-mlock-btns{display:flex;gap:10px;justify-content:center;margin-top:20px}
.s-mlock-card .s-mbig{max-width:340px;margin:0 auto}

/* ---------- course cards */
.s-cgrid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px}
.s-courselist{--cols:3}.s-courselist.v-list .s-cgrid{grid-template-columns:1fr}
.s-ccard{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--c-surface);border:1px solid var(--m-line);transition:transform .35s ease,box-shadow .35s ease}
.s-ccard:hover{transform:translateY(-5px);box-shadow:0 34px 64px -34px color-mix(in srgb,var(--c-primary) 55%,rgba(0,0,0,.35))}
.s-ccard-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--m-grad)}
.s-ccard-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.s-ccard:hover .s-ccard-img img{transform:scale(1.06)}
.s-ccard-ph{display:grid;place-items:center;height:100%;font-size:3rem}
.s-cbadge{position:absolute;top:12px;left:12px;padding:5px 12px;border-radius:999px;font-size:.75rem;font-weight:800;background:rgba(10,10,20,.72);color:#fff;backdrop-filter:blur(6px)}
.s-cbadge.free{background:#10b981}.s-cbadge.members,.s-cbadge.plans{background:var(--m-grad)}
.s-ccard-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.s-ckicker{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-hl,var(--c-primary))}
.s-ccard h3{margin:0;font-size:1.2rem;line-height:1.25}.s-ccard h3 a{color:inherit;text-decoration:none}
.s-ccard p{margin:0;color:var(--c-muted);font-size:.95rem}
.s-cmeta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:var(--c-muted)}.s-cmeta.light{color:inherit;opacity:.85;margin-top:18px}
.s-ccta{margin-top:auto;align-self:flex-start}.s-ccard-body .s-cprog{margin:4px 0 6px}
.s-ccard.v-feature{display:grid;grid-template-columns:1.2fr 1fr}.s-ccard.v-feature .s-ccard-img{aspect-ratio:auto;min-height:320px}
.s-ccard.v-feature .s-ccard-body{padding:36px;justify-content:center}.s-ccard.v-feature h3{font-size:clamp(1.6rem,3vw,2.2rem)}
.s-ccard.v-list{display:grid;grid-template-columns:260px 1fr}.s-ccard.v-list .s-ccard-img{aspect-ratio:auto;min-height:160px}
.s-cprog{position:relative;display:grid;gap:6px;--p:0%}
.s-cprog i{display:block;height:8px;border-radius:99px;background:var(--m-soft);overflow:hidden;position:relative}
.s-cprog i:after{content:'';position:absolute;inset:0;width:var(--p);background:var(--m-grad);border-radius:inherit;transition:width .6s ease}
.s-cprog span{font-size:.8rem;font-weight:600;color:var(--c-muted)}

/* ---------- course page */
.s-chero{position:relative;padding:130px 0 60px;overflow:hidden;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--c-primary) 30%,transparent),transparent 55%),radial-gradient(circle at 90% 30%,color-mix(in srgb,var(--c-secondary) 25%,transparent),transparent 55%)}
.s-chero.has-img{color:#fff}
.s-chero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1)}
.s-chero.has-img:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,6,20,.92) 0%,rgba(8,6,20,.75) 50%,color-mix(in srgb,var(--c-primary) 45%,rgba(8,6,20,.5)) 100%)}
.s-chero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:end}
.s-chero h1{font-size:clamp(2.3rem,5vw,3.8rem);line-height:1.05;margin:12px 0}
.s-chero .s-pdek{font-size:1.2rem;opacity:.9;max-width:40rem;margin:0}
.s-chero .s-bcrumbs{display:flex;gap:8px;font-size:.9rem;opacity:.85}.s-chero .s-bcrumbs a{color:inherit}
.s-cbuy{display:grid;gap:14px;padding:26px;border-radius:24px;background:var(--c-surface);color:var(--c-text);border:1px solid var(--m-line);box-shadow:0 40px 80px -30px rgba(0,0,0,.55)}
.s-cbuy-price{font-size:2rem;font-weight:800;letter-spacing:-.03em}
.s-cbuy-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px;font-size:.9rem;color:var(--c-muted)}.s-cbuy-list li:before{content:'✓  ';color:var(--c-hl,var(--c-primary));font-weight:800}
.s-cbody{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;padding-top:50px;padding-bottom:90px}
.s-cbody h2{font-size:1.6rem;margin:0 0 14px}.s-cbody section+section{margin-top:44px}
.s-coutcomes ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;list-style:none;padding:24px;margin:0;border-radius:20px;border:1px solid var(--m-line);background:var(--c-surface)}
.s-coutcomes li{display:flex;gap:10px}.s-coutcomes li:before{content:'✓';color:var(--c-hl,var(--c-primary));font-weight:800}
.s-curriculum{display:grid;gap:10px}
.s-curriculum details{border:1px solid var(--m-line);border-radius:16px;background:var(--c-surface);overflow:hidden}
.s-curriculum summary{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;list-style:none}.s-curriculum summary::-webkit-details-marker{display:none}
.s-curriculum summary span{color:var(--c-muted);font-size:.88rem}
.s-curriculum ol{list-style:none;margin:0;padding:0 8px 8px}
.s-curriculum li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px}
.s-curriculum li:hover{background:var(--m-soft)}.s-curriculum li a{color:inherit;font-weight:500;text-decoration:none;flex:1}.s-curriculum li>span:not(.s-lic):not(.s-llock){flex:1;opacity:.75}
.s-curriculum small{color:var(--c-muted)}
.s-lic{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--m-soft);font-size:.8rem;flex-shrink:0}
.s-curriculum li.done .s-lic{background:var(--m-grad);color:#fff}
.s-lprev{font-style:normal;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,#10b981 18%,transparent);color:#059669}
.s-cinstr{align-self:start;position:sticky;top:100px;padding:24px;border-radius:20px;background:var(--c-surface);border:1px solid var(--m-line)}
.s-cinstr h3{margin:0 0 14px;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted)}
.s-cinstr-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.s-cinstr-head img,.s-cinstr-head span{width:54px;height:54px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--m-grad);color:#fff;font-weight:800;font-size:1.3rem}
.s-cinstr p{color:var(--c-muted);margin:0}

/* ---------- lesson player */
.s-lesson{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh;padding-top:0}
.s-members .s-post-content>p:first-of-type::first-letter{float:none;font-size:inherit;line-height:inherit;font-weight:inherit;padding:0;background:none;color:inherit;-webkit-background-clip:border-box;background-clip:border-box;font-family:inherit}
.s-lside{position:sticky;top:0;align-self:start;height:100vh;overflow:auto;padding:24px 18px;border-right:1px solid var(--m-line);background:var(--c-surface);display:grid;gap:16px;align-content:start}
.s-lback{font-weight:700;color:inherit;text-decoration:none}
.s-loutline strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);margin:14px 6px 6px}
.s-loutline a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:inherit;text-decoration:none;font-size:.92rem}
.s-loutline a:hover{background:var(--m-soft)}.s-loutline a.cur{background:color-mix(in srgb,var(--c-primary) 14%,transparent);font-weight:700}
.s-loutline a small{margin-left:auto;color:var(--c-muted);font-size:.75rem}
.s-loutline a i{width:18px;height:18px;border-radius:50%;border:2px solid var(--m-line);flex-shrink:0;display:grid;place-items:center;font-style:normal;font-size:.62rem}
.s-loutline a.done i{background:var(--m-grad);border-color:transparent}.s-loutline a.done i:after{content:'✓';color:#fff;font-weight:800}
.s-lmain{padding:34px clamp(20px,4vw,60px) 80px;max-width:980px;width:100%}
.s-lhead h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:6px 0 22px}
.s-lvideo{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);margin-bottom:26px}
.s-lvideo iframe,.s-lvideo video{position:absolute;inset:0;width:100%;height:100%;border:0}
.s-lcontent{font-size:1.08rem}
.s-lfiles{display:grid;gap:8px;margin:24px 0;padding:20px;border-radius:16px;background:var(--m-soft)}.s-lfiles h3{margin:0 0 4px;font-size:1rem}
.s-lfiles a{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--c-hl,var(--c-primary))}
.s-mcomplete{margin:30px 0 10px}.s-mcomplete-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.s-mdone-tag{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border-radius:999px;background:color-mix(in srgb,#10b981 16%,transparent);color:#059669;font-weight:700}
.s-mdone{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:16px;border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--c-primary) 18%,transparent),color-mix(in srgb,var(--c-secondary) 18%,transparent));border:1px solid var(--m-line)}
.s-mdone div{flex:1}.s-mdone p{margin:2px 0 0;color:var(--c-muted)}.s-mdone-ic{font-size:2rem;flex:0!important}
.s-lnav{display:flex;justify-content:space-between;gap:16px;margin-top:44px;padding-top:20px;border-top:1px solid var(--m-line)}
.s-lnav a{color:inherit;font-weight:600;text-decoration:none;opacity:.8}.s-lnav a:hover{opacity:1;color:var(--c-hl,var(--c-primary))}
.s-mquiz ol{display:grid;gap:18px;padding:0;margin:0 0 18px;list-style:none;counter-reset:q}
.s-mquiz li{counter-increment:q;padding:20px;border-radius:18px;border:1px solid var(--m-line);background:var(--c-surface)}
.s-mquiz li>p{font-weight:700;margin:0 0 12px}.s-mquiz li>p:before{content:counter(q) '. ';color:var(--c-hl,var(--c-primary))}
.s-mquiz li.right{border-color:#10b981}.s-mquiz li.wrong{border-color:#f43f5e}
.s-mopts{display:grid;gap:8px}
.s-mopts label{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--m-line);cursor:pointer;transition:all .15s}
.s-mopts label.on{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 10%,transparent)}.s-mopts input{accent-color:var(--c-primary)}

/* ---------- certificate */
.s-certwrap{padding:120px 24px 80px;display:grid;justify-items:center;gap:24px}
.s-cert{width:min(1000px,100%);aspect-ratio:1.414;padding:14px;border-radius:10px;background:var(--m-grad);box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.s-cert-in{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:4% 7%;background:#fffdf8;color:#1c1917;border-radius:4px;outline:2px solid color-mix(in srgb,var(--c-primary) 40%,#e7e5e4);outline-offset:-16px;font-family:var(--f-body)}
.s-cert-seal{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--m-grad);font-size:2.2rem;box-shadow:0 10px 26px -8px var(--c-primary)}
.s-cert-k{font-size:clamp(.8rem,1.6vw,1rem);font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--c-hl,var(--c-primary));margin-top:10px}
.s-cert-small{margin:4px 0;color:#57534e;font-size:clamp(.85rem,1.5vw,1rem)}
.s-cert h1{font-family:var(--f-heading);font-size:clamp(2rem,5.5vw,3.8rem);margin:2px 0;color:#1c1917;letter-spacing:-.01em}
.s-cert h2{font-size:clamp(1.2rem,3vw,2rem);margin:2px 0 10px;background:var(--m-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.s-cert-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;margin-top:4%}
.s-cert-foot div{display:grid;gap:4px;padding-top:10px;border-top:1px solid #d6d3d1}.s-cert-foot b{font-size:clamp(.8rem,1.5vw,1rem)}.s-cert-foot span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#78716c}
.s-cert-verify{margin-top:auto;font-size:.72rem;color:#a8a29e}
.s-cert-actions{display:flex;gap:10px}
@media print{
  body *{visibility:hidden!important}
  .s-cert,.s-cert *{visibility:visible!important}
  .s-cert{position:fixed;left:0;top:0;width:100%;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{size:landscape;margin:8mm}
}

@media (max-width:900px){
  .s-mgate,.s-chero-in,.s-cbody,.s-mgrid{grid-template-columns:1fr}
  .s-mgate{padding-top:110px;gap:30px}
  .s-cgrid,.s-mplans{grid-template-columns:1fr}
  .s-ccard.v-feature,.s-ccard.v-list{grid-template-columns:1fr}
  .s-lesson{grid-template-columns:1fr}.s-lside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--m-line)}
  .s-loutline{max-height:260px;overflow:auto}
  .s-coutcomes ul{grid-template-columns:1fr}.s-cinstr{position:static}
  .s-cert-foot{grid-template-columns:1fr;gap:8px}.s-cert{aspect-ratio:auto}
}
@media (min-width:901px) and (max-width:1100px){.s-cgrid,.s-mplans{grid-template-columns:repeat(2,minmax(0,1fr))}}

@keyframes s-lp-float{from{translate:0 calc(var(--lp-amp,12px) * -1)}to{translate:0 var(--lp-amp,12px)}}
@keyframes s-lp-bob{from{translate:0 calc(var(--lp-amp,12px) * -1);rotate:calc(var(--lp-rot,3deg) * -1)}to{translate:0 var(--lp-amp,12px);rotate:var(--lp-rot,3deg)}}
@keyframes s-lp-drift{0%{translate:0 0}33%{translate:calc(var(--lp-amp,12px) * 2.4) calc(var(--lp-amp,12px) * -3)}66%{translate:calc(var(--lp-amp,12px) * -1.6) calc(var(--lp-amp,12px) * 1.6)}100%{translate:0 0}}
@keyframes s-lp-pulse{from{scale:1}to{scale:calc(1 + var(--lp-amp,12px) / 200px)}}
@keyframes s-lp-spin{to{rotate:360deg}}
@keyframes s-lp-swing{from{rotate:calc(var(--lp-rot,3deg) * -2)}to{rotate:calc(var(--lp-rot,3deg) * 2)}}
@keyframes s-lp-wiggle{0%,100%{rotate:0deg}20%{rotate:calc(var(--lp-rot,3deg) * -2)}40%{rotate:calc(var(--lp-rot,3deg) * 2)}60%{rotate:calc(var(--lp-rot,3deg) * -1)}80%{rotate:var(--lp-rot,3deg)}}
@keyframes s-lp-heartbeat{0%,40%,100%{scale:1}10%,30%{scale:calc(1 + var(--lp-amp,12px) / 150px)}20%{scale:.98}}
@keyframes s-lp-glow{from{filter:drop-shadow(0 0 0 transparent)}to{filter:drop-shadow(0 0 calc(var(--lp-amp,12px) * 1.5) var(--c-primary))}}
.lp-float{animation:s-lp-float var(--lp-dur,6s) ease-in-out var(--lp-delay,0s) infinite alternate}
.lp-bob{animation:s-lp-bob var(--lp-dur,6s) ease-in-out var(--lp-delay,0s) infinite alternate}
.lp-drift{animation:s-lp-drift var(--lp-dur,14s) ease-in-out var(--lp-delay,0s) infinite}
.lp-pulse{animation:s-lp-pulse var(--lp-dur,2s) ease-in-out var(--lp-delay,0s) infinite alternate}
.lp-spin{animation:s-lp-spin var(--lp-dur,20s) linear var(--lp-delay,0s) infinite}
.lp-swing{animation:s-lp-swing var(--lp-dur,3s) ease-in-out var(--lp-delay,0s) infinite alternate;transform-origin:top center}
.lp-wiggle{animation:s-lp-wiggle var(--lp-dur,2.5s) ease-in-out var(--lp-delay,0s) infinite}
.lp-heartbeat{animation:s-lp-heartbeat var(--lp-dur,1.6s) ease-in-out var(--lp-delay,0s) infinite}
.lp-glow{animation:s-lp-glow var(--lp-dur,2.4s) ease-in-out var(--lp-delay,0s) infinite alternate}
.lp-hover-pause:hover{animation-play-state:paused}

/* floating scene */
.s-scene-wrap{position:relative;width:100%}
.s-scene{position:relative;width:100%;background-size:cover;background-position:center;--mx:0;--my:0;--spot:var(--c-primary)}
.s-scene-layer{position:absolute;translate:-50% -50%;transform:translate(calc(var(--mx) * var(--depth) * -1px),calc(var(--my) * var(--depth) * -1px));transition:transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.s-scene-img{width:100%;height:auto;display:block;user-select:none;animation:s-lp-bob var(--dur,6s) ease-in-out var(--delay,0s) infinite alternate;--lp-amp:var(--amp,12px);--lp-rot:var(--rot,2deg)}
.s-scene-img.shape-circle{aspect-ratio:1;object-fit:cover;border-radius:50%}
.s-scene-img.shape-rounded{aspect-ratio:4/5;object-fit:cover;border-radius:28px}
.s-scene-img.shape-blob{aspect-ratio:1;object-fit:cover;border-radius:42% 58% 63% 37%/41% 44% 56% 59%}
.s-scene-img.shape-arch{aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 24px 24px}
.s-scene-img.shadow{box-shadow:0 30px 60px -24px rgba(0,0,0,.45)}
.s-scene-img.shape-none.shadow{box-shadow:none;filter:drop-shadow(0 24px 30px rgba(0,0,0,.28))}
.s-spot{position:absolute;translate:-50% -50%;z-index:60}
.s-spot>button{position:relative;width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:var(--spot);color:#fff;font:700 16px/1 system-ui;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.5);transition:scale .2s}
.s-spot>button:hover,.s-spot.open>button{scale:1.15}
.s-spot.open>button span{rotate:45deg}
.s-spot>button span{transition:rotate .2s}
.s-scene.pulse .s-spot>button::before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--spot);animation:s-spot-pulse 2s ease-out infinite}
@keyframes s-spot-pulse{from{opacity:.9;scale:1}to{opacity:0;scale:2.1}}
.s-spot-tip{position:absolute;left:50%;top:calc(100% + 10px);translate:-20% 0;width:min(240px,60vw);background:var(--c-surface,#fff);color:var(--c-text);border-radius:14px;padding:12px 14px;box-shadow:0 20px 40px -16px rgba(0,0,0,.35);font-size:.88rem;line-height:1.45;animation:s-tip-in .25s ease-out}
.s-spot-tip.left{translate:-80% 0}
.s-spot-tip strong{display:block;margin-bottom:2px}.s-spot-tip p{margin:0;opacity:.8}.s-spot-tip a{display:inline-block;margin-top:6px;color:var(--c-hl,var(--c-primary));font-weight:600;text-decoration:none}
@keyframes s-tip-in{from{opacity:0;margin-top:6px}to{opacity:1;margin-top:0}}
.s-scene-hint{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.8rem;opacity:.7}
.s-scene-hint span{width:8px;height:8px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 25%,transparent)}

/* chat preview */
.s-chat{background:var(--c-surface,#fff);color:var(--c-text);border-radius:22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.35);overflow:hidden;border:1px solid color-mix(in srgb,var(--c-text) 8%,transparent)}
.s-chat-head{display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:700;font-size:.9rem;border-bottom:1px solid color-mix(in srgb,var(--c-text) 8%,transparent)}
.s-chat-head .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #22c55e33}
.s-chat-body{display:flex;flex-direction:column;gap:10px;padding:16px;min-height:120px}
.s-chat-row{display:flex;align-items:flex-end;gap:8px;animation:s-chat-in .35s ease-out}
.s-chat-row.me{justify-content:flex-end}
.s-chat-row .av{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;background:var(--c-primary);color:var(--c-on-primary,#fff);font-weight:700;font-size:.8rem}
.s-chat-row .bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:.92rem;line-height:1.45;background:color-mix(in srgb,var(--c-text) 6%,transparent)}
.s-chat-row .bubble b{display:block;font-size:.75rem;opacity:.7;margin-bottom:2px}
.s-chat-row.them .bubble{border-bottom-left-radius:6px}
.s-chat-row.me .bubble{background:var(--c-primary);color:var(--c-on-primary,#fff);border-bottom-right-radius:6px}
.s-chat-row .bubble.typing{display:flex;gap:4px;padding:14px 16px}
.s-chat-row .bubble.typing i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:s-chat-typing 1.2s infinite}
.s-chat-row .bubble.typing i:nth-child(2){animation-delay:.15s}.s-chat-row .bubble.typing i:nth-child(3){animation-delay:.3s}
@keyframes s-chat-typing{0%,60%,100%{opacity:.35;translate:0 0}30%{opacity:1;translate:0 -3px}}
@keyframes s-chat-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}

/* headline highlights: hand-drawn underline / circle / marker that draw themselves in */
.s-hl{position:relative;display:inline-block;white-space:nowrap}
.s-hl>svg{position:absolute;pointer-events:none;overflow:visible;fill:none;stroke:var(--hl-c,var(--c-primary));stroke-linecap:round;stroke-linejoin:round}
.s-hl.u>svg{left:-2%;width:104%;bottom:-.18em;height:.32em;stroke-width:6}
.s-hl.c>svg{left:-10%;top:-18%;width:120%;height:136%;stroke-width:3.5}
.s-hl>svg path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s cubic-bezier(.6,.1,.2,1) .35s}
.is-in .s-hl>svg path,.s-hl.is-in>svg path{stroke-dashoffset:0}
.s-hl.m{background:linear-gradient(var(--hl-c,var(--c-primary)),var(--hl-c,var(--c-primary))) no-repeat 0 88%/0% 38%;transition:background-size .9s cubic-bezier(.6,.1,.2,1) .3s;padding:0 .08em}
.is-in .s-hl.m,.s-hl.m.is-in{background-size:100% 38%}
[data-reveal]{transition:none}
@media (prefers-reduced-motion: reduce){[class*="lp-"],.s-scene-img,.s-scene.pulse .s-spot>button::before{animation:none!important}.s-hl>svg path{transition:none;stroke-dashoffset:0}.s-hl.m{background-size:100% 38%;transition:none}}

.s-eyebrow-r{font-size:1.05rem;font-weight:500;line-height:1.4;color:var(--c-text);opacity:.82;margin:0 0 14px;letter-spacing:0;text-transform:none}
.s-icon.s-emoji{display:none}
.s-btn:hover{box-shadow:none}
.s-btn.gradient{background:var(--c-primary);color:var(--c-on-primary)}
.s-btn.gradient:hover{box-shadow:none;filter:brightness(1.06)}
.s-btn.glass{backdrop-filter:none;background:#ffffff;color:#0b0d14;border-color:transparent}
.s-nav-wrap.sticky{backdrop-filter:none;-webkit-backdrop-filter:none}
.s-footer-bottom{border-top:0}
.s-acc-cards .s-acc{border:0;background:var(--c-surface)}
.s-acc:not(.s-acc-cards .s-acc){border-bottom:0;background:var(--c-surface);border-radius:var(--radius);padding:0 22px;margin-bottom:10px}
.s-acc .s-acc-body{opacity:1}
.s-stars{color:#b45309}
.s-acc-cards .s-acc[open]{box-shadow:none;border:0}
.s-grad-text{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}
/* the menu: a plain full-width bar (no floating pill, no frosted glass, no outline or shadow) */
.s-nav-wrap.nv-l-floating{padding:0!important;background:var(--c-bg)!important}
.s-nav-wrap.nv-l-floating .s-nav{max-width:1200px;border-radius:0!important;border:0!important;box-shadow:none!important;padding:16px 24px!important;background:transparent!important}
.s-nav-wrap.nv-l-floating.nv-bg-dark{background:#0b0d14!important;color:#f8fafc}
.s-nav-wrap.nv-l-floating.nv-bg-primary{background:var(--c-primary)!important;color:var(--c-on-primary,#fff)}
.s-nav-wrap.nv-bg-glass:not(.nv-l-floating),.s-nav-wrap.nv-l-floating.nv-bg-glass .s-nav{background:var(--c-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important}
.s-nav-wrap.nv-ls-pill .s-nav-links>li>a{border-radius:0;padding:8px 12px}
.s-nav-wrap.nv-ls-pill .s-nav-links>li>a:hover{background:none;text-decoration:underline;text-underline-offset:6px}
.s-nav-wrap.nv-ls-pill .s-nav-links>li>a[aria-current=page]{background:none;box-shadow:none;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
@media (max-width:820px){.s-nav-wrap.nv-l-floating .s-nav{border-radius:0!important}}
