:root{--ink:#0a0a0a;--ink-soft:#1c1c1c;--paper:#fafafa;--paper-pure:#fff;--bg-primary:#fafafa;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fff;--border-color:#0a0a0a24;--border-hover:#0a0a0a6b;--border-focus:#0a0a0abf;--text-primary:#0a0a0a;--text-secondary:#0a0a0aa3;--text-muted:#0a0a0a6b;--c-violet:#0a0a0a;--c-iris:#0a0a0a;--c-cyan:#0a0a0a;--c-sky:#0a0a0a;--c-pink:#0a0a0a;--c-rose:#0a0a0a;--c-gold:#0a0a0a;--grad-aurora:#0a0a0a;--grad-aurora-soft:#0a0a0a;--grad-text:linear-gradient(180deg, #0a0a0a 0%, #2b2b2b 100%);--glow-sm:0 4px 16px #0a0a0a0f;--glow-md:0 14px 40px #0a0a0a1a;--glow-btn:0 12px 32px #0a0a0a38;--radius-lg:2px;--radius:2px;--radius-sm:2px;--ease:cubic-bezier(.22, 1, .36, 1);--transition:all .32s var(--ease);--font-display:"Anton", "Arial Narrow", "Oswald", sans-serif;--font-body:"Jost", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--text-secondary);background:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px;font-weight:300;line-height:1.7}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);min-height:100vh;margin:0;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;letter-spacing:.01em;margin:0;font-weight:400;line-height:1.02}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}::selection{background:var(--ink);color:var(--paper-pure)}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:0}.on-dark{color:#ffffffb3}.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:#fff}.grad-text{background:var(--grad-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.on-dark .grad-text{background:linear-gradient(#fff 0%,#c4c4c4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius)}.page-section{padding:3.5rem 0}.page-header{text-align:center;margin-bottom:clamp(2.5rem,6vh,4rem)}.page-header h1,.section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text-primary);margin-bottom:.9rem;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:400;line-height:1}.page-subtitle,.page-header p{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;font-weight:300}.eyebrow{font-family:var(--font-body);letter-spacing:.34em;text-transform:uppercase;color:var(--text-primary);align-items:center;gap:.55rem;font-size:.7rem;font-weight:500;display:inline-flex}.form-group{margin-bottom:1.1rem}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-group label{font-family:var(--font-body);letter-spacing:.18em;color:var(--text-secondary);text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:500;display:block}.route-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (pointer:coarse),(width<=768px){.tap-44{position:relative}.tap-44:before{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.form-group input,.form-group select,.form-group textarea,input[type=text],input[type=email],input[type=password],input[type=time],select{background:var(--paper-pure);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition);appearance:none;padding:.95rem 1.15rem;font-family:inherit;font-size:.95rem;font-weight:300}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230A0A0A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=time]:focus,select:focus{border-color:var(--ink);background:var(--paper-pure);outline:none;box-shadow:0 0 0 3px #0a0a0a14}.form-group input::placeholder{color:var(--text-muted)}select option{color:var(--text-primary);background:#fff}.btn-primary{background:var(--ink);width:100%;color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-sm);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;cursor:pointer;transition:var(--transition);padding:1rem 2rem;font-size:.74rem;font-weight:600;position:relative}.btn-primary:hover:not(:disabled){background:var(--paper-pure);color:var(--ink);box-shadow:var(--glow-btn);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.99)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{width:100%;color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius-sm);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;cursor:pointer;transition:var(--transition);background:0 0;padding:1rem 2rem;font-size:.74rem;font-weight:600}.btn-ghost:hover:not(:disabled){background:var(--ink);color:var(--paper);transform:translateY(-2px)}.on-dark .btn-primary{background:var(--paper-pure);color:var(--ink);border-color:var(--paper-pure)}.on-dark .btn-primary:hover:not(:disabled){color:#fff;background:0 0}.on-dark .btn-ghost{color:#fff;border-color:#ffffff8c}.on-dark .btn-ghost:hover:not(:disabled){color:var(--ink);background:#fff;border-color:#fff}.btn-secondary{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;transition:var(--transition);background:0 0;padding:.6rem 1.2rem;font-size:.74rem;font-weight:600}.btn-secondary:hover{border-color:var(--ink);color:var(--ink);background:#0a0a0a0a}@media (pointer:coarse),(width<=768px){.btn-secondary{min-height:44px}}.error-message{background:var(--paper-pure);border:1px solid var(--ink);color:var(--ink);letter-spacing:.02em;border-left-width:4px;border-radius:0;margin-bottom:1rem;padding:.875rem 1rem;font-size:.85rem}.required{color:var(--text-muted);letter-spacing:.1em;font-size:.72rem;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;animation:modalFade .2s var(--ease);background:#0a0a0a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--paper-pure);color:var(--text-primary);border:1px solid var(--ink);border-radius:var(--radius);box-shadow:var(--glow-md);width:100%;max-width:460px;max-height:calc(100dvh - 2rem);animation:modalRise .28s var(--ease);flex-direction:column;gap:1.25rem;padding:2rem;display:flex;overflow-y:auto}.modal-panel h2{color:var(--text-primary);font-size:1.25rem;font-weight:400}.modal-panel form{flex-direction:column;gap:.25rem;display:flex}.modal-actions{gap:.75rem;margin-top:.75rem;display:flex}.modal-actions .btn-primary,.modal-actions .btn-ghost{flex:1;width:auto}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalRise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){input,select,textarea{font-size:1rem!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(130%);border-bottom:1px solid var(--border-color);transition:background .3s var(--ease), box-shadow .3s var(--ease);background:#fafafac7;position:sticky;top:0;box-shadow:inset 0 1px #fff9,0 10px 30px #0a0a0a0a}.header-content{align-items:center;gap:1.25rem;max-width:1280px;margin:0 auto;padding:.75rem 2rem;display:flex}.logo{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .4s var(--ease);background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:flex-start;padding:0;display:flex}.logo:hover{transform:translateY(-1px)}.logo-img{object-fit:contain;width:auto;height:clamp(26px,3.4vw,34px);display:block}.logo-sub{font-family:var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-top:.4rem;padding-left:.2em;font-size:.48rem;font-weight:500}.nav{flex-wrap:wrap;flex:1;justify-content:center;gap:.1rem;min-width:0;display:flex}.nav-link{white-space:nowrap;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);cursor:pointer;transition:color .28s var(--ease);background:0 0;border:none;align-items:center;gap:.42rem;padding:.55rem .7rem;font-size:.72rem;font-weight:500;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--ink);transform-origin:50%;height:1px;transition:transform .32s var(--ease);position:absolute;bottom:0;left:.7rem;right:.7rem;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link-icon{display:inline-flex}.nav-ic{opacity:.72;width:15px;height:15px;transition:opacity .28s var(--ease)}.nav-link:hover .nav-ic,.nav-link.active .nav-ic{opacity:1}.nav-auth{flex-shrink:0;align-items:center;gap:.7rem;display:flex}.nav-cta{border:1px solid var(--border-hover);border-radius:var(--radius-sm);color:var(--ink);padding:.5rem 1.05rem}.nav-cta:after{display:none}.nav-cta:hover,.nav-cta.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-icon{flex-shrink:0;width:15px;height:15px}.nav-account{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);cursor:pointer;border:1px solid var(--border-hover);border-radius:var(--radius-sm);transition:var(--transition);background:0 0;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.7rem;font-weight:500;display:inline-flex}.nav-account:hover,.nav-account.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-logout{cursor:pointer;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);transition:color .25s var(--ease);background:0 0;border:none;align-items:center;gap:.4rem;padding:.4rem .5rem;font-size:.7rem;font-weight:500;display:inline-flex}.nav-logout:hover{color:var(--ink)}.nav-account:focus-visible,.nav-logout:focus-visible{outline:2px solid var(--c-violet,#6b5bd2);outline-offset:2px;border-radius:var(--radius-sm)}.nav-user{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--border-color);align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.7rem;font-weight:500;display:inline-flex}.header-staff .header-content{gap:1.1rem}.header-staff .logo-sub{display:none}.header-staff .nav-link{letter-spacing:.1em;padding:.55rem .6rem;font-size:.7rem}.header-staff .nav-link:after{left:.6rem;right:.6rem}.header-staff .nav-link-icon{display:none}@media (width<=1280px){.nav-link-icon,.nav-logout-label{display:none}.nav-logout{padding:.4rem}}@media (width<=768px){.header-content{flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem}.logo{order:0}.nav-auth{order:1;margin-left:auto}.nav{flex-wrap:wrap;flex-basis:100%;order:2;justify-content:center;gap:.6rem 0}.nav-link{letter-spacing:.14em;gap:0;padding:.7rem .75rem;font-size:.66rem}.nav-link:after{left:.75rem;right:.75rem}.nav-link-icon{display:none}.logo-img{height:26px}.nav-logout-label{display:none}.nav-logout{padding:.6rem}.nav-account{padding:.55rem .85rem}.nav-auth{gap:1rem}}.cookie-banner{z-index:200;align-items:center;gap:1.25rem;width:min(720px,100vw - 2rem);padding:1rem 1.25rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0a0a0a24}.cookie-text{color:var(--text-secondary);flex:1;margin:0;font-size:.86rem;line-height:1.55}.cookie-link{cursor:pointer;color:var(--text-primary);font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.cookie-link:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.cookie-actions{flex:none;gap:.6rem;display:flex}.cookie-btn{white-space:nowrap;padding:.55rem 1.1rem;font-size:.82rem}@media (width<=600px){.cookie-banner{flex-direction:column;align-items:stretch;gap:.85rem;bottom:.75rem}.cookie-actions{justify-content:stretch}.cookie-btn{flex:1}}.ink-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ink-mist{filter:blur(70px);border-radius:50%;position:absolute}.ink-mist-1{background:radial-gradient(circle,#0a0a0a0b 0%,#0000 64%);width:760px;height:760px;animation:34s ease-in-out infinite ink-drift;top:-260px;right:-200px}.ink-mist-2{background:radial-gradient(circle,#0a0a0a09 0%,#0000 66%);width:620px;height:620px;animation:42s ease-in-out infinite reverse ink-drift;bottom:-240px;left:-180px}@keyframes ink-drift{0%{transform:translate(0)scale(1)}50%{transform:translate(40px,-28px)scale(1.06)}to{transform:translate(0)scale(1)}}.ink-grain{opacity:.035;mix-blend-mode:multiply;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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:-50%}@media (prefers-reduced-motion:reduce){.ink-mist{animation:none}}@keyframes cm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cm-spin-rev{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes cm-breathe{0%,to{transform:scale(.9)}50%{transform:scale(1.05)}}@keyframes cm-glow{0%,to{opacity:.22;transform:scale(1.02)}50%{opacity:.5;transform:scale(1.2)}}@keyframes cm-shimmer{0%,to{opacity:.9}50%{opacity:1}}@keyframes cm-twinkle{0%,to{opacity:.12;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}.star-loader{justify-content:center;align-items:center;display:inline-flex;position:relative}.star-loader-glow,.star-loader-star{-webkit-mask:var(--cm-star) center / contain no-repeat;-webkit-mask:var(--cm-star) center / contain no-repeat;mask:var(--cm-star) center / contain no-repeat}.star-loader-glow{filter:blur(16px);opacity:.4;pointer-events:none;background:currentColor;width:78%;height:78%;animation:6s ease-in-out infinite cm-glow;position:absolute}.star-loader-breathe{justify-content:center;align-items:center;width:100%;height:100%;animation:6s ease-in-out infinite cm-breathe;display:flex}.star-loader-star{background:currentColor;width:100%;height:100%;animation:18s linear infinite cm-spin,3.2s ease-in-out infinite cm-shimmer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.orbit{pointer-events:none;justify-content:center;align-items:center;display:flex;position:relative}.orbit-core{-webkit-mask:var(--cm-star) center / contain no-repeat;-webkit-mask:var(--cm-star) center / contain no-repeat;mask:var(--cm-star) center / contain no-repeat;background:currentColor;animation:40s linear infinite cm-spin,7s ease-in-out infinite cm-breathe}.orbit-ring,.orbit-ring-rev{position:absolute;inset:0}.orbit-ring{animation:18s linear infinite cm-orbit}.orbit-ring-rev{animation:24s linear infinite reverse cm-orbit;inset:18%}.orbit-star{-webkit-mask:var(--cm-star) center / contain no-repeat;-webkit-mask:var(--cm-star) center / contain no-repeat;mask:var(--cm-star) center / contain no-repeat;background:currentColor;animation:3s ease-in-out infinite cm-twinkle;position:absolute}@keyframes cm-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.starfield{pointer-events:none;position:absolute;inset:0;overflow:hidden}.starfield-star{-webkit-mask:var(--cm-star) center / contain no-repeat;-webkit-mask:var(--cm-star) center / contain no-repeat;mask:var(--cm-star) center / contain no-repeat;animation:cm-twinkle var(--cm-dur,3.4s) ease-in-out infinite var(--cm-delay,0s);background:currentColor;position:absolute}@media (prefers-reduced-motion:reduce){.star-loader-glow,.star-loader-star,.star-loader-breathe,.orbit-core,.orbit-ring,.orbit-ring-rev,.orbit-star,.starfield-star{animation:none!important}.starfield-star{opacity:.5}.star-loader-glow{opacity:.3}}.hero{background:var(--ink);color:#fff;isolation:isolate;--photo-shift:-18px;--face-x:50%;--face-y:22%;justify-content:flex-start;align-items:center;width:100vw;max-width:100vw;min-height:clamp(560px,88vh,900px);margin-top:-2rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(3.5rem,10vh,7rem) clamp(1.5rem,5vw,4rem) clamp(4rem,11vh,7.5rem);display:flex;position:relative;overflow:hidden}.hero-photo{top:-18px;bottom:-18px;right:-18px;left:var(--photo-shift,-18px);z-index:0;pointer-events:none;position:absolute;overflow:hidden}.hero-photo-img{object-fit:cover;object-position:var(--face-x) var(--face-y);filter:contrast(1.05)brightness()saturate(.85);transform-origin:50%;width:100%;height:100%}.hero-photo-img--drift{will-change:transform;animation:24s ease-in-out infinite alternate hero-kenburns}@keyframes hero-kenburns{0%{transform:scale(1)}to{transform:scale(1.05)}}.hero-scrim{z-index:1;pointer-events:none;background: linear-gradient(90deg, #0a0a0ae6 0%, #0a0a0aa8 28%, #0a0a0a3d 54%, transparent 76%),  linear-gradient(0deg, var(--ink) 0%, #0a0a0acc 10%, transparent 46%),  linear-gradient(180deg, #0a0a0a66 0%, transparent 22%);position:absolute;inset:0}.hero-bg{z-index:2;pointer-events:none;background:radial-gradient(52% 64% at 73% 44%,#ffffff21 0%,#0000 60%),radial-gradient(34% 40% at 20% 22%,#ffffff12 0%,#0000 70%),radial-gradient(125% 120% at 50% 40%,#0000 50%,#0009 100%);position:absolute;inset:0}.hero-grain{z-index:3;pointer-events:none;opacity:.05;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='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-spark{z-index:4;pointer-events:none;opacity:.55;filter:drop-shadow(0 0 10px #ffffff59);height:auto;animation:6s ease-in-out infinite spark-twinkle;position:absolute}@keyframes spark-twinkle{0%,to{opacity:.18;transform:scale(.8)rotate(0)}50%{opacity:.85;transform:scale(1.1)rotate(45deg)}}.hero-orbit{z-index:3;opacity:.5;position:absolute;top:clamp(340px,47vh,520px);left:24%}@media (width<=1100px){.hero-orbit{display:none}}@media (width<=920px){.hero-orbit{opacity:.3;display:block;top:30px;left:-30px}}.hero-logo-star{filter:drop-shadow(0 0 14px #fff6);width:clamp(34px,5vw,52px);height:auto;margin-bottom:.6rem}.hero-layout{z-index:5;justify-content:flex-start;width:100%;max-width:1180px;display:flex;position:relative}.hero-inner{text-align:left;flex-direction:column;align-items:flex-start;width:min(540px,100%);display:flex}.hero-eyebrow{color:#ffffffa8;margin-bottom:clamp(1.2rem,3vh,2rem)}.hero-eyebrow svg{color:#fff}.hero-logo{margin:0;display:inline-flex}.hero-logo-img{filter:drop-shadow(0 10px 44px #00000080);width:clamp(210px,42vw,460px);max-width:100%;height:auto;display:block}.hero-logo-sub{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:#ffffffa8;margin-top:1.3rem;padding-left:.4em;font-size:clamp(.6rem,1.6vw,.8rem);font-weight:400}.hero-slogans{flex-direction:column;align-items:flex-start;gap:.45rem;margin:clamp(1.75rem,5vh,3rem) 0 0;list-style:none;display:flex}.hero-slogan{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#fff;transition:letter-spacing .4s var(--ease);cursor:default;align-items:center;gap:.7rem;font-size:clamp(1.05rem,2.6vw,1.7rem);font-weight:400;display:inline-flex}.hero-slogan-star{opacity:.5;width:.5em;height:.5em;transition:opacity .3s var(--ease)}.hero-slogan:hover{letter-spacing:.12em}.hero-slogan:hover .hero-slogan-star{opacity:1}.hero-cta{flex-wrap:wrap;justify-content:flex-start;gap:1rem;margin-top:clamp(2rem,5vh,3rem);display:flex}.hero-btn{width:auto;transition:var(--transition);padding-inline:2.4rem}.hero-btn:hover:not(:disabled){transform:translateY(-2px)scale(1.03)}.hero-btn--primary{align-items:center;gap:.6rem;display:inline-flex}.hero-btn-star{opacity:.65;transition:opacity .32s var(--ease), transform .5s var(--ease), filter .32s var(--ease)}.hero-btn--primary:hover:not(:disabled) .hero-btn-star{opacity:1;filter:drop-shadow(0 0 7px #00000059);transform:rotate(180deg)scale(1.18)}.hero-trust{border-top:1px solid #ffffff29;flex-wrap:wrap;gap:clamp(1.75rem,4vw,3.25rem);margin-top:clamp(2rem,5vh,3rem);padding-top:1.75rem;display:flex}.trust-item{flex-direction:column;gap:.3rem;display:flex}.trust-value{font-family:var(--font-display);color:#fff;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:400;line-height:1}.trust-label{text-transform:uppercase;letter-spacing:.16em;color:#ffffff80;font-size:.66rem;font-weight:400}.hero-credit{z-index:5;text-align:right;text-shadow:0 2px 18px #0009;flex-direction:column;align-items:flex-end;gap:.2rem;display:flex;position:absolute;bottom:clamp(1.25rem,5vh,3rem);right:clamp(1.25rem,5vw,4rem)}.hero-credit-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.3rem,3.4vw,2rem);font-weight:400;line-height:1}.hero-credit-role{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#ffffffa8;font-size:.64rem;font-weight:500}@media (width<=920px){.hero{--photo-shift:-18px;--face-x:50%;--face-y:16%;align-items:flex-end}.hero-scrim{background:linear-gradient(180deg, #0a0a0a2e 0%, #0a0a0a6b 40%, #0a0a0ad1 74%, var(--ink) 100%)}.hero-layout{justify-content:center}.hero-inner{text-align:center;align-items:center;width:100%}.hero-slogans{align-items:center}.hero-cta{justify-content:center}.hero-credit{display:none}}@media (width<=640px){.hero{margin-top:-1.5rem}.hero-trust{justify-content:center;gap:1.25rem 1.5rem}.hero-slogan{gap:.5rem}}@media (prefers-reduced-motion:reduce){.hero-spark,.hero-photo-img--drift{animation:none}}.cennik{position:relative;overflow:hidden}.cennik-ink{color:var(--ink);z-index:0;pointer-events:none;position:absolute}.cennik-ink-tr{top:-40px;right:-50px}.cennik-ink-bl{bottom:-30px;left:-60px}.cennik-header{z-index:1;text-align:center;margin-bottom:clamp(2.5rem,6vh,4rem);position:relative}.cennik-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--ink);align-items:center;gap:.3em;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:400;line-height:1;display:inline-flex}.cennik-title-star{width:.6em;height:.6em}.cennik-subtitle{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-top:.9rem;font-size:.9rem;font-weight:300}.cennik-state{text-align:center;color:var(--text-muted);margin:2rem auto;font-size:.95rem}.cennik-state--error{color:#b23b2e}.cennik-loader{flex-direction:column;align-items:center;gap:.9rem;display:flex}.cennik-loader p{margin:0}.cennik-body{z-index:1;flex-direction:column;gap:clamp(2.5rem,6vh,4.5rem);max-width:920px;margin:0 auto;display:flex;position:relative}.cennik-group-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink);border-bottom:2px solid var(--ink);align-items:center;gap:.7rem;margin-bottom:.4rem;padding-bottom:1.1rem;font-size:clamp(1.3rem,3.5vw,2rem);font-weight:400;display:flex}.cennik-group-star{width:.7em;height:.7em}.cennik-group-body{display:flow-root}.price-list{margin:0;padding:0;list-style:none}.price-row{border-bottom:1px solid var(--border-color);transition:padding-left .32s var(--ease), background .32s var(--ease);grid-template-columns:6.5rem 1fr;align-items:baseline;gap:1.75rem;padding:1.2rem .25rem;display:grid}.price-row:last-child{border-bottom:none}.price-row:hover{background:var(--paper-pure);padding-left:1rem}.price-amount{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;white-space:nowrap;font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:400;line-height:1}.price-unit{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-left:.15em;font-size:.5em}.price-service{flex-direction:column;gap:.3rem;display:flex}.price-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-size:clamp(1rem,2.4vw,1.35rem);font-weight:400;line-height:1.1}.price-meta{font-family:var(--font-body);color:var(--text-secondary);font-size:.82rem;font-weight:300;line-height:1.6}.cennik-group--soon{opacity:.62}.cennik-group--soon .cennik-group-title{color:var(--text-secondary);border-bottom-style:dashed}.cennik-soon-badge{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:var(--ink);border:1px solid var(--ink);border-radius:999px;align-self:center;margin-left:.2rem;padding:.28rem .7rem;font-size:.6rem;font-weight:600}.cennik-soon-note{font-family:var(--font-body);letter-spacing:.04em;color:var(--text-secondary);margin:.9rem 0 .4rem;font-size:.85rem;font-weight:300}.price-row--soon{cursor:default}.price-row--soon:hover{background:0 0;padding-left:.25rem}.price-amount--soon{color:var(--text-muted)}.price-row--soon .price-name{color:var(--text-secondary)}.cennik-teaser{float:right;flex-direction:column;align-items:flex-end;gap:.75rem;margin-bottom:1rem;margin-left:clamp(1.5rem,4vw,3rem);display:flex}.cennik-teaser-tile{aspect-ratio:4/3;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-card);width:260px;max-width:72vw;transition:var(--transition);padding:0;position:relative;overflow:hidden}.cennik-teaser-tile img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.cennik-teaser-tile:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.cennik-teaser-tile:hover img{transform:scale(1.05)}.cennik-teaser-link{cursor:pointer;font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border:none;border-bottom:1px solid var(--ink);transition:var(--transition);background:0 0;align-self:flex-end;padding:0 0 2px;font-size:.68rem;font-weight:600}.cennik-teaser-link:hover{opacity:.6}@media (width<=560px){.price-row{grid-template-columns:1fr;gap:.35rem}.price-amount{order:2;font-size:1.5rem}.price-service{order:1}.price-row:hover{padding-left:.5rem}.cennik-group-body{flex-direction:column;display:flex}.cennik-teaser{float:none;order:2;align-items:stretch;width:100%;margin:1.25rem 0 0}.cennik-teaser-tile{width:100%;max-width:none}.cennik-teaser-link{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.cennik-teaser-tile img{transition:none}.cennik-teaser-tile:hover img{transform:none}}.gallery{max-width:1200px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative;overflow:hidden}.gallery-ink{z-index:0;pointer-events:none;position:absolute}.gallery-ink-tr{top:-40px;right:-40px}.gallery-ink-bl{bottom:-30px;left:-40px}.gallery-header{z-index:1;position:relative}.gallery-title-star{vertical-align:middle;width:.6em;height:.6em}.gallery-filters{z-index:1;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.5rem;display:flex;position:relative}.gallery-chip{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:var(--transition);background:0 0;padding:.55rem 1.25rem;font-size:.7rem;font-weight:500}.gallery-chip:hover{border-color:var(--ink);color:var(--ink)}.gallery-chip--active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.gallery-grid{z-index:1;column-count:3;column-gap:1rem;position:relative}@media (width<=860px){.gallery-grid{column-count:2}}@media (width<=520px){.gallery-grid{column-count:1}}.gallery-tile{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;break-inside:avoid;width:100%;transition:var(--transition);margin:0 0 1rem;padding:0;display:block;position:relative;overflow:hidden}.gallery-tile:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.gallery-tile img{width:100%;height:auto;transition:transform .6s var(--ease);display:block}.gallery-tile:hover img{transform:scale(1.03)}.gallery-tile-caption{font-family:var(--font-body);letter-spacing:.04em;text-align:left;color:#fff;opacity:0;transition:opacity .32s var(--ease);background:linear-gradient(#0000,#0a0a0ab8);padding:1.4rem .9rem .7rem;font-size:.72rem;font-weight:400;position:absolute;bottom:0;left:0;right:0}.gallery-tile:hover .gallery-tile-caption{opacity:1}.gallery-state{z-index:1;text-align:center;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;padding:3rem 0;font-size:.85rem;position:relative}.gallery-lightbox{z-index:200;-webkit-backdrop-filter:blur(6px);background:#0a0a0aeb;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.gallery-lb-figure{flex-direction:column;align-items:center;gap:.9rem;max-width:min(92vw,1000px);max-height:88vh;margin:0;display:flex}.gallery-lb-figure img{object-fit:contain;border:1px solid #ffffff24;max-width:100%;height:auto;max-height:80vh}.gallery-lb-figure figcaption{color:#ffffffd1;font-family:var(--font-body);letter-spacing:.06em;text-align:center;font-size:.82rem}.gallery-lb-close,.gallery-lb-nav{color:#fff;cursor:pointer;transition:var(--transition);background:#ffffff14;border:1px solid #ffffff38;justify-content:center;align-items:center;display:flex;position:absolute}.gallery-lb-close{border-radius:var(--radius-sm);width:44px;height:44px;font-size:1rem;top:1.25rem;right:1.25rem}.gallery-lb-nav{border-radius:var(--radius-sm);width:52px;height:52px;font-size:2rem;line-height:1;top:50%;transform:translateY(-50%)}.gallery-lb-prev{left:1.25rem}.gallery-lb-next{right:1.25rem}.gallery-lb-close:hover,.gallery-lb-nav:hover{color:var(--ink);background:#fff}@media (width<=520px){.gallery-lb-nav{width:42px;height:42px;font-size:1.5rem}.gallery-lb-prev{left:.5rem}.gallery-lb-next{right:.5rem}}@media (prefers-reduced-motion:reduce){.gallery-tile img{transition:none}.gallery-tile:hover img{transform:none}}.booking{max-width:1080px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;position:relative;overflow-x:clip}.booking-ink{color:var(--ink);pointer-events:none;z-index:0;position:absolute}.booking-ink-tr{top:-40px;right:-40px}.booking-ink-bl{bottom:-30px;left:-50px}.booking-header{z-index:1;text-align:center;margin-bottom:clamp(2.5rem,6vh,4rem);position:relative}.booking-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.9rem;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:400;display:inline-flex}.booking-title-star{width:.6em;height:.6em}.booking-confirmation{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:540px;margin:clamp(2rem,8vh,5rem) auto;padding:clamp(2rem,6vw,3.5rem);display:flex;position:relative}.booking-confirmation-star{opacity:.9}.booking-confirmation-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text-primary);font-size:clamp(1.8rem,5vw,2.8rem);font-weight:400;line-height:1.05}.booking-confirmation-msg{color:var(--text-secondary);letter-spacing:.02em;font-size:.95rem}.booking-confirmation-btn{width:auto;margin-top:.5rem;padding-inline:2.4rem}.booking-subtitle{text-transform:uppercase;color:var(--text-muted);letter-spacing:.16em;font-size:.9rem;font-weight:300}.stepper{z-index:1;max-width:560px;margin:0 auto 2.5rem;display:flex;position:relative}.stepper-item{flex:1 1 0;justify-content:center;display:flex;position:relative}.stepper-item.has-line:before{content:"";background:var(--border-color);z-index:0;height:1px;transition:background .4s var(--ease);position:absolute;top:18px;left:-50%;right:50%}.stepper-item.line-filled:before{background:var(--ink)}.stepper-node{z-index:1;cursor:pointer;width:100%;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;padding:0;display:flex;position:relative}.stepper-node:disabled{cursor:not-allowed}.stepper-dot{border:1px solid var(--border-color);background:var(--paper-pure);width:36px;height:36px;font-family:var(--font-body);color:var(--text-muted);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.stepper-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;font-size:.64rem;font-weight:500}.stepper-node:not(:disabled):hover .stepper-dot{border-color:var(--ink);color:var(--ink)}.stepper-node.active .stepper-dot{background:var(--ink);border-color:var(--ink);color:var(--paper)}.stepper-node.active,.stepper-node.active .stepper-label{color:var(--ink)}.stepper-node.done .stepper-dot{border-color:var(--ink);color:var(--ink)}.stepper-node.done{color:var(--text-secondary)}.booking-layout{z-index:1;grid-template-columns:1fr 300px;align-items:stretch;gap:2.5rem;display:grid;position:relative}.booking-main{flex-direction:column;min-width:0;display:flex}.booking-stage{flex-direction:column;min-height:460px;display:flex;position:relative}.booking-step{flex-direction:column;flex:1;justify-content:center;width:100%;display:flex}.step-counter{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.24em;color:var(--text-muted);margin-bottom:.6rem;font-size:.64rem;font-weight:500}.step-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text-primary);margin-bottom:1.25rem;font-size:1.4rem;font-weight:400}.step-body{width:100%}.step-hint{color:var(--text-muted);margin:-.75rem 0 1.1rem;font-size:.85rem}.choice-card{text-align:left;background:var(--paper-pure);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:var(--transition);flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex;position:relative}.choice-card:hover{border-color:var(--ink);box-shadow:var(--glow-sm);transform:translateY(-2px)}.choice-card.selected{border-color:var(--ink);background:var(--ink);box-shadow:var(--glow-md)}.choice-card.selected .choice-card-name,.choice-card.selected .choice-card-price{color:var(--paper)}.choice-card.selected .choice-card-meta,.choice-card.selected .choice-card-duration{color:#ffffffa8}.choice-card.selected:after{content:"✓";color:var(--paper);font-size:.75rem;position:absolute;top:.6rem;right:.7rem}.choice-card-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.choice-card-name{font-family:var(--font-body);color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.3}.choice-card-price{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;font-size:1.05rem}.choice-card-meta{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.choice-card-duration{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);padding-right:1.4rem;font-size:.68rem}.service-grid{scrollbar-width:thin;scrollbar-color:#0a0a0a40 transparent;grid-template-columns:repeat(2,1fr);gap:.65rem;max-height:360px;padding-right:6px;display:grid;overflow-y:auto}.employee-grid{scrollbar-width:thin;scrollbar-color:#0a0a0a40 transparent;grid-template-columns:1fr;gap:.7rem;width:100%;max-height:360px;display:grid;overflow-y:auto}.employee-card{flex-direction:row;align-items:center;gap:.9rem;padding:1.05rem 1.2rem}.employee-avatar{background:var(--paper);border:1px solid var(--border-color);width:44px;height:44px;font-family:var(--font-display);letter-spacing:.04em;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.employee-card.selected .employee-avatar{background:var(--paper-pure);border-color:var(--paper-pure);color:var(--ink)}.employee-card--any{border-style:dashed}.employee-avatar--any{background:var(--ink);border-color:var(--ink)}.employee-avatar--any img{filter:invert()}.employee-card--any.selected .employee-avatar--any{background:var(--paper-pure);border-color:var(--paper-pure)}.employee-card--any.selected .employee-avatar--any img{filter:none}.employee-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.employee-spec{color:var(--text-muted);font-size:.72rem}.employee-card.selected .employee-spec{color:#ffffffa8}.datetime-body{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.datetime-col{min-width:0}.calendar-widget{background:var(--paper-pure);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.25rem}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.nav-btn{background:var(--paper-pure);border:1px solid var(--border-color);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;transition:var(--transition);justify-content:center;align-items:center;font-size:.875rem;display:flex}.nav-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.month-year{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;color:var(--ink);font-size:.95rem;font-weight:400}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-day-name{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;padding:.4rem 0;font-size:.62rem;font-weight:500}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.85rem;display:flex}.calendar-day:not(.empty):not(.past):hover{border-color:var(--ink);color:var(--ink)}.calendar-day.selected{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.calendar-day.past{color:#0a0a0a38;cursor:not-allowed}.calendar-day.empty{cursor:default}.time-slots{grid-template-columns:repeat(2,1fr);align-content:start;gap:.45rem;display:grid}.time-slot{border:1px solid var(--border-color);background:var(--paper-pure);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-secondary);text-align:center;padding:.7rem .4rem;font-size:.8rem}.time-slot:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.time-slot.selected{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.slots-status{color:var(--text-muted);letter-spacing:.02em;padding:.75rem 0;font-size:.85rem}.contact-fields{grid-template-columns:1fr 1fr;gap:1.1rem 1rem;width:100%;display:grid}.contact-fields .form-group{margin-bottom:0}.contact-fields .form-group:last-child{grid-column:1/-1}.booking-nav{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.booking-back{flex:none;width:auto;min-width:132px}.booking-next,.booking-submit{flex:none;width:auto;min-width:196px}.booking-consent{cursor:pointer;align-items:flex-start;gap:.75rem;margin-top:1.75rem;padding:.5rem 0;display:flex}.booking-consent-box{width:20px;height:20px;accent-color:var(--text-primary);cursor:pointer;flex:none;margin:.15rem 0 0}.booking-consent-box:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.booking-consent-text{color:var(--text-secondary);font-size:.86rem;line-height:1.5}.booking-consent-text a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.booking-consent-text a:hover{text-decoration-thickness:2px}.summary{flex-direction:column;gap:1.1rem;height:100%;padding:1.5rem;display:flex}.summary-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:400;display:flex}.summary-star{width:.9rem;height:.9rem}.summary-list{flex-direction:column;gap:0;margin:0;display:flex}.summary-row{border-bottom:1px dashed var(--border-color);justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row dt{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);flex-shrink:0;font-size:.64rem}.summary-row dd{text-align:right;color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.35}.summary-row.filled dd{color:var(--text-primary);font-weight:500}.summary-total{border-top:1px solid var(--ink);text-transform:uppercase;letter-spacing:.16em;color:var(--text-secondary);justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:1rem;font-size:.7rem;display:flex}.summary-price{font-family:var(--font-display);letter-spacing:.01em;color:var(--text-primary);font-size:1.5rem}.confirmation{z-index:1;text-align:center;border-color:var(--ink);max-width:520px;margin:0 auto;padding:3rem;position:relative}.confirmation-icon{width:64px;height:64px;color:var(--paper);background:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:1.6rem;display:flex}.confirmation h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--ink);margin-bottom:1.5rem;font-size:2rem;font-weight:400}.confirmation-details{text-align:left;background:var(--paper);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.confirmation-details p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem}.confirmation-details p:last-child{margin-bottom:0}.confirmation-details strong{color:var(--text-primary)}.confirmation-note{color:var(--text-muted);letter-spacing:.03em;margin-bottom:1.5rem;font-size:.8rem}@media (width<=900px){.booking-layout{grid-template-columns:1fr;gap:1.75rem}.summary{order:-1;height:auto}.booking-stage{min-height:0}}@media (width<=640px){.service-grid{grid-template-columns:1fr;max-height:60vh}.datetime-body{grid-template-columns:1fr;justify-content:stretch}.stepper-label{display:none}.time-slots{grid-template-columns:repeat(3,1fr)}.booking-nav{flex-direction:column-reverse}.booking-back,.booking-next,.booking-submit{width:100%;min-width:0}}@media (width<=480px){.contact-fields{grid-template-columns:1fr}.stepper-node{padding:.3rem 0}}@media (width<=380px){.time-slots{grid-template-columns:repeat(3,1fr)}}.pay-choice{margin-top:1.75rem}.pay-note{color:var(--text-secondary);margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.pay-options{grid-template-columns:repeat(2,1fr);gap:.85rem;margin-top:.9rem;display:grid}.pay-card{text-align:left;background:var(--paper-pure);border:1.5px solid var(--border-color);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.35rem;padding:1.05rem 1.15rem 1.1rem;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative;overflow:hidden}.pay-card:hover{border-color:var(--ink);box-shadow:var(--glow-sm)}.pay-card.selected{border-color:var(--ink);box-shadow:var(--glow-md)}.pay-card:before{content:"";background:var(--grad-aurora,var(--ink));opacity:0;width:3px;transition:opacity .2s;position:absolute;inset:0 auto 0 0}.pay-card.selected:before{opacity:1}.pay-card-top{justify-content:space-between;align-items:center;gap:.6rem;padding-right:1.6rem;display:flex}.pay-card-title{font-family:var(--font-body);color:var(--text-primary);font-size:.98rem;font-weight:600;line-height:1.25}.pay-card-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--paper,#fff);background:var(--grad-aurora,var(--ink));border-radius:999px;flex-shrink:0;padding:.18rem .45rem;font-size:.6rem;font-weight:700}.pay-card-hint{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.pay-card-amount{align-items:baseline;gap:.45rem;margin-top:.55rem;display:flex}.pay-card-amount-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.66rem}.pay-card-amount-value{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;font-weight:600;line-height:1}.pay-card.selected .pay-card-amount-value{background:var(--grad-text,none);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.pay-card-footnote{color:var(--text-muted);margin-top:.3rem;font-size:.74rem;line-height:1.4}.pay-card-radio{border:2px solid var(--border-color);border-radius:50%;width:18px;height:18px;transition:border-color .2s;position:absolute;top:1rem;right:1rem}.pay-card.selected .pay-card-radio{border-color:var(--ink);background:radial-gradient(circle at center, var(--ink) 0 5px, transparent 6px)}@media (width<=560px){.pay-options{grid-template-columns:1fr}}.part-toggle{flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;display:flex}.part-btn{border:1px solid var(--border-color);background:var(--paper-pure);cursor:pointer;letter-spacing:.01em;color:var(--text-secondary);transition:var(--transition);white-space:nowrap;border-radius:999px;flex:auto;padding:.5rem .7rem;font-size:.78rem}.part-btn:hover{border-color:var(--ink);color:var(--ink)}.part-btn.selected{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.proposal-list{flex-direction:column;align-content:start;gap:.55rem;display:flex}.proposal-card{text-align:left;background:var(--paper-pure);border:1.5px solid var(--border-color);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative}.proposal-card:hover{border-color:var(--ink)}.proposal-card.selected{border-color:var(--ink);box-shadow:0 0 0 1.5px var(--ink) inset}.proposal-hero{background:linear-gradient(var(--paper-pure), var(--paper-pure)) padding-box, var(--grad-aurora) border-box;border:1.5px solid #0000}.proposal-hero.selected{box-shadow:0 6px 22px -10px var(--c-violet)}.proposal-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.proposal-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.35rem;font-size:.74rem;display:inline-flex}.proposal-hero .proposal-label{color:var(--c-violet);font-weight:600}.proposal-star{flex:none}.proposal-time{font-family:var(--font-display,inherit);color:var(--ink);font-size:1.15rem;font-weight:600}.proposal-radio{border:1.5px solid var(--border-color);width:18px;height:18px;transition:var(--transition);border-radius:50%;flex:none}.proposal-card.selected .proposal-radio{border-color:var(--ink);background:radial-gradient(circle at center, var(--ink) 0 5px, transparent 6px)}.proposal-chips{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.proposal-chip{border:1px solid var(--border-color);background:var(--paper-pure);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);text-align:center;transition:var(--transition);font-variant-numeric:tabular-nums;padding:.6rem .4rem;font-size:.92rem;font-weight:600}.proposal-chip:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.proposal-chip.tier-recommended{border-color:var(--c-violet);color:var(--ink)}.proposal-chip.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}@media (width<=420px){.proposal-chips{grid-template-columns:repeat(2,1fr)}}.proposal-toggle{cursor:pointer;color:var(--text-secondary);text-underline-offset:3px;background:0 0;border:none;align-self:flex-start;margin-top:.15rem;padding:.35rem .2rem;font-size:.8rem;text-decoration:underline}.proposal-toggle:hover{color:var(--ink)}.star-rating{color:var(--ink);align-items:center;gap:.15em;line-height:1;display:inline-flex}.star-rating--readonly .star{color:var(--ink)}.star{width:1em;height:1em;display:inline-flex}.star-rating--readonly .star svg path[fill=none]{opacity:.28}.star--button{color:var(--text-muted);cursor:pointer;transition:transform .18s var(--ease), color .18s var(--ease);background:0 0;border:none;margin:0;padding:.12em}.star--button:hover{transform:scale(1.14)}.star--button.star--on{color:var(--ink)}.star--button:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.star--button{transition:color .18s var(--ease)}.star--button:hover{transform:none}}.reviews{max-width:1100px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative;overflow:hidden}.reviews-ink{z-index:0;pointer-events:none;position:absolute}.reviews-ink-tr{top:-40px;right:-50px}.reviews-ink-bl{bottom:-30px;left:-50px}.reviews-header{z-index:1;position:relative}.reviews-title-star{vertical-align:middle;width:.6em;height:.6em}.reviews-state{z-index:1;text-align:center;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;padding:3rem 0;font-size:.85rem;position:relative}.reviews-aggregate{z-index:1;border-radius:var(--radius);justify-content:center;align-items:center;gap:1.75rem;max-width:420px;margin:0 auto 3rem;padding:1.6rem 2rem;display:flex;position:relative}.reviews-aggregate-score{align-items:baseline;gap:.35rem;display:flex}.reviews-average{font-family:var(--font-display);color:var(--ink);font-size:clamp(3rem,9vw,4.2rem);line-height:.9}.reviews-outof{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.08em;font-size:1rem}.reviews-aggregate-meta{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.reviews-count{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem}.reviews-grid{z-index:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.review-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:var(--transition);flex-direction:column;gap:1rem;padding:1.6rem 1.5rem;display:flex}.review-card:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.review-comment{font-family:var(--font-body);color:var(--text-primary);margin:0;font-size:1rem;line-height:1.6;position:relative}.review-comment:before{content:"“";font-family:var(--font-display);color:var(--border-color);margin-right:.1em}.review-meta{letter-spacing:.04em;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;font-size:.74rem;display:flex}.review-author{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.review-sep{color:var(--border-color)}.reviews-external{z-index:1;margin-top:3.5rem;position:relative}.reviews-external-title{font-family:var(--font-display);text-align:center;color:var(--ink);margin:0 0 1.75rem;font-size:clamp(1.4rem,3.5vw,1.9rem)}.review-verdict{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;padding:.25rem .7rem;font-size:.7rem;display:inline-block}.review-verdict.is-positive:before{content:"👍 "}.review-verdict.is-negative:before{content:"👎 "}.reviews-cta{z-index:1;text-align:center;margin-top:3rem;position:relative}.reviews-cta-hint{color:var(--text-muted);letter-spacing:.04em;margin-top:.9rem;font-size:.78rem}@media (width<=520px){.reviews-aggregate{text-align:center;flex-direction:column;gap:1rem}.reviews-aggregate-meta{align-items:center}}.directions{border-top:1px solid var(--border-color);margin-top:4rem;padding-top:4rem;position:relative;overflow:hidden}.directions-ink{z-index:0;pointer-events:none;position:absolute}.directions-ink-tr{top:10px;right:-60px}.directions-header{z-index:1;text-align:center;margin-bottom:clamp(2rem,5vh,3rem);position:relative}.directions-title{margin:.7rem 0 .6rem;font-size:clamp(1.9rem,4.5vw,3.2rem)}.directions-title-star{vertical-align:middle;width:.55em;height:.55em}.directions-subtitle{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;font-weight:300}.directions-grid{z-index:1;grid-template-columns:.85fr 1.15fr;align-items:start;gap:3rem;display:grid;position:relative}.directions-facts{flex-direction:column;gap:2rem;display:flex}.directions-block-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--text-primary);align-items:center;gap:.55rem;margin-bottom:.9rem;font-size:.7rem;font-weight:700;display:flex}.directions-ic{flex-shrink:0;width:15px;height:15px}.directions-address{color:var(--text-secondary);flex-direction:column;gap:.15rem;font-size:.95rem;line-height:1.6;display:flex}.directions-street{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text-primary);font-size:1.35rem;line-height:1.15}.directions-tips{flex-direction:column;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.directions-tips li{color:var(--text-secondary);align-items:baseline;gap:.5rem;font-size:.88rem;line-height:1.6;display:flex}.directions-tip-star{opacity:.55;flex-shrink:0;width:9px;height:9px}.directions-hours{flex-direction:column;gap:.1rem;margin:0;display:flex}.directions-hours-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.directions-hours-row:last-child{border-bottom:none}.directions-hours-row dt{color:var(--text-secondary);font-size:.82rem}.directions-hours-row dd{color:var(--text-primary);letter-spacing:.04em;white-space:nowrap;margin:0;font-size:.88rem;font-weight:500}.directions-contact{color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.55rem;width:fit-content;padding:.3rem 0;font-size:.9rem;display:flex}.directions-contact:hover{color:var(--text-primary)}@media (pointer:coarse),(width<=768px){.directions-contact{min-height:44px}}.directions-contact-ic{opacity:.6;flex-shrink:0;width:14px;height:14px}.directions-actions{flex-wrap:wrap;gap:.75rem;display:flex}.directions-btn{text-align:center;flex:auto;justify-content:center;align-items:center;gap:.6rem;width:auto;min-width:150px;display:inline-flex}.directions-btn-star{width:11px;height:11px}.btn-primary.directions-btn:hover .directions-btn-star{filter:none}.directions-map{aspect-ratio:4/3;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);transition:var(--transition);position:relative;overflow:hidden}.directions-map:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.directions-map-frame{filter:grayscale()contrast(1.05);border:0;width:100%;height:100%;display:block}.directions-map-placeholder{background:var(--paper-pure);cursor:pointer;text-align:center;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;width:100%;height:100%;padding:2rem 1.5rem;font-family:inherit;display:flex;position:relative;overflow:hidden}.directions-map-grid{pointer-events:none;background-image:linear-gradient(90deg,#0a0a0a0e 1px,#0000 1px),linear-gradient(#0a0a0a0e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 25%,#0000 78%);mask-image:radial-gradient(circle at 50% 45%,#000 25%,#0000 78%)}.directions-map-pin{border:1px solid var(--ink);background:var(--paper-pure);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;position:relative}.directions-map-pin:after{content:"";border:1px solid var(--ink);animation:directionsPing 2.6s var(--ease) infinite;border-radius:50%;position:absolute;inset:-1px}@keyframes directionsPing{0%{opacity:.5;transform:scale(1)}70%{opacity:0;transform:scale(1.75)}to{opacity:0;transform:scale(1.75)}}.directions-map-addr{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text-primary);font-size:1rem;line-height:1.3;position:relative}.directions-map-cta{letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);transition:var(--transition);padding-bottom:3px;font-size:.72rem;font-weight:600;position:relative}.directions-map-placeholder:hover .directions-map-cta{letter-spacing:.28em}.directions-map-note{max-width:34ch;color:var(--text-muted);letter-spacing:.02em;font-size:.7rem;line-height:1.55;position:relative}@media (width<=900px){.directions-grid{grid-template-columns:1fr;gap:2.25rem}.directions-map{aspect-ratio:3/2}}@media (width<=480px){.directions-actions{flex-direction:column}.directions-btn{width:100%}.directions-map{aspect-ratio:1}}@media (prefers-reduced-motion:reduce){.directions-map-pin:after{opacity:.35;animation:none}.directions-map-placeholder:hover .directions-map-cta{letter-spacing:.22em}}.about{max-width:1100px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative;overflow:hidden}.about-ink{z-index:0;pointer-events:none;position:absolute}.about-ink-tr{top:-40px;right:-50px}.about-ink-bl{bottom:-30px;left:-50px}.about-header{z-index:1;position:relative}.about-title-star{vertical-align:middle;width:.6em;height:.6em}.about-content{z-index:1;grid-template-columns:1fr 1.3fr;align-items:start;gap:4rem;margin-bottom:4rem;display:grid;position:relative}.about-image{position:relative}.about-portrait{aspect-ratio:3/4;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);transition:var(--transition);margin:0;position:relative;overflow:hidden}.about-portrait:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.about-photo-img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.about-portrait:hover .about-photo-img{transform:scale(1.04)}.about-text h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin-bottom:.4rem;font-size:2rem;font-weight:500}.about-role{color:var(--c-violet);text-transform:uppercase;letter-spacing:.18em;margin-bottom:2rem;font-size:.72rem;font-weight:600}.about-description p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.95rem;line-height:1.85}.about-description p:last-child{margin-bottom:0}.about-values{border-top:1px solid var(--border-color);gap:3rem;margin-top:2.5rem;padding-top:2rem;display:flex}.value-item{flex-direction:column;display:flex}.value-number{font-family:var(--font-display);letter-spacing:-.02em;background:var(--grad-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:600;line-height:1}.value-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:.4rem;font-size:.68rem}@media (width<=768px){.about-content{grid-template-columns:1fr;gap:2rem}.about-image{max-width:280px;margin:0 auto}.about-values{flex-wrap:wrap;gap:2rem}}@media (prefers-reduced-motion:reduce){.about-photo-img{transition:none}.about-portrait:hover .about-photo-img{transform:none}}.faq{max-width:760px;margin:0 auto;position:relative;overflow-x:clip}.faq-ink{z-index:0;pointer-events:none;position:absolute}.faq-ink-tr{top:-40px;right:-60px}.faq-ink-bl{bottom:-40px;left:-60px}.faq-header{z-index:1;position:relative}.faq-title-star{margin-left:.25rem}.faq-list{z-index:1;flex-direction:column;gap:.85rem;display:flex;position:relative}.faq-item{transition:border-color .25s,box-shadow .25s;overflow:hidden}.faq-item--open{border-color:var(--text-primary);box-shadow:0 8px 30px #0a0a0a0f}.faq-q-heading{font:inherit;margin:0}.faq-q{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);font-family:var(--font-body);letter-spacing:.01em;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;font-size:1.02rem;font-weight:500;display:flex}.faq-q:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.faq-q-text{flex:1}.faq-q-icon{border:1px solid var(--border-color);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.faq-q-chev{color:var(--text-primary);font-size:1.2rem;font-weight:300;line-height:1;display:block}.faq-item--open .faq-q-icon{border-color:var(--text-primary)}.faq-a-wrap{overflow:hidden}.faq-a{color:var(--text-secondary);max-width:60ch;margin:0;padding:0 1.35rem 1.25rem;font-size:.96rem;line-height:1.65}@media (width<=540px){.faq-q{padding:1rem 1.1rem;font-size:.98rem}.faq-a{padding:0 1.1rem 1.1rem}}.auth-page{justify-content:center;align-items:center;min-height:70vh;padding:3rem 1rem;display:flex}.auth-card{background:var(--paper-pure);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:430px;box-shadow:var(--glow-md);padding:clamp(1.75rem,6vw,2.75rem) clamp(1.25rem,6vw,2.5rem);position:relative;overflow:hidden}.auth-card:before{content:"";background:var(--grad-aurora);height:3px;position:absolute;top:0;left:0;right:0}.auth-card h1{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;background:var(--grad-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:2rem;font-weight:500}.auth-notice{border:1px solid color-mix(in srgb, var(--c-violet) 35%, transparent);background:color-mix(in srgb, var(--c-violet) 10%, transparent);color:var(--text-muted);text-align:center;border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.45}.auth-subtitle{text-align:center;color:var(--text-muted);margin:-1rem 0 1.5rem;font-size:.9rem;line-height:1.5}.auth-switch{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.85rem;display:flex}.auth-switch button{color:var(--c-violet);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;font-weight:600}.auth-switch button:hover{color:var(--c-pink);text-underline-offset:3px;text-decoration:underline}@media (pointer:coarse),(width<=768px){.auth-switch button{min-height:44px;padding:0 .5rem}}.my-reservations-page{max-width:760px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative;overflow:hidden}.myres-ink{z-index:0;color:var(--ink);pointer-events:none;position:absolute}.myres-ink-tr{top:-40px;right:-50px}.myres-ink-bl{bottom:-30px;left:-50px}.myres-header{z-index:1;position:relative}.myres-title-star{vertical-align:middle;width:.6em;height:.6em}.myres-list{z-index:1;flex-direction:column;gap:1rem;display:flex;position:relative}.reservation-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);transition:var(--transition);padding:1.5rem 1.6rem}.reservation-card:hover{border-color:var(--ink);box-shadow:var(--glow-md)}.reservation-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.reservation-service{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);font-size:1.15rem}.reservation-status{border-radius:var(--radius-sm);letter-spacing:.14em;text-transform:uppercase;border:1px solid #0000;padding:.3rem .7rem;font-size:.62rem;font-weight:600}.status-Pending{color:var(--text-secondary);border-color:var(--border-color);background:#0a0a0a0d}.status-Confirmed{color:#1c7a4d;background:#1c7a4d1a;border-color:#1c7a4d4d}.status-Cancelled{color:#b23b2e;background:#c0392b14;border-color:#c0392b47}.status-Completed{background:var(--ink);color:var(--paper);border-color:var(--ink)}.reservation-details{color:var(--text-secondary);flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.reservation-details p{margin:0}.reservation-actions{flex-wrap:wrap;gap:.6rem;display:flex}.btn-danger{color:#b23b2e;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition);background:0 0;border:1px solid #b23b2e73;padding:.5rem 1.1rem;font-size:.72rem;font-weight:600}.btn-danger:hover:not(:disabled){color:#fff;background:#b23b2e;border-color:#b23b2e}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.edit-form{border-top:1px solid var(--border-color);flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;display:flex}.edit-form input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--paper-pure);color:var(--text-primary);font-family:var(--font-body);transition:var(--transition);width:100%;padding:.7rem .9rem;font-size:.9rem}.edit-form input:focus{border-color:var(--ink);outline:none}.edit-form input::placeholder{color:var(--text-muted)}.edit-form-actions{gap:.5rem;margin-top:.25rem;display:flex}.reschedule-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a08149e;justify-content:center;align-items:center;padding:1rem;animation:.2s reschedule-fade;display:flex;position:fixed;inset:0}.reschedule-modal{border-radius:var(--radius-lg,18px);background:var(--paper,#faf8f4);flex-direction:column;gap:.9rem;width:100%;max-width:720px;max-height:90dvh;padding:1.6rem;animation:.25s cubic-bezier(.22,1,.36,1) reschedule-rise;display:flex;overflow-y:auto}.reschedule-modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.reschedule-modal-title{font-family:var(--font-display,serif);margin:0;font-size:1.3rem}.reschedule-modal-close{border:1px solid var(--border-color);width:2.1rem;height:2.1rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:1.3rem;line-height:1;transition:color .2s,border-color .2s}.reschedule-modal-close:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.reschedule-modal-close:disabled{opacity:.4;cursor:not-allowed}.reschedule-modal-current{color:var(--text-muted);font-size:.9rem}.reschedule-hint{color:var(--text-muted);font-size:.85rem;line-height:1.4}.reschedule-modal .datetime-body{margin-top:0}.reschedule-locked{color:var(--text-muted);max-width:18rem;font-size:.8rem;line-height:1.4}@keyframes reschedule-fade{0%{opacity:0}to{opacity:1}}@keyframes reschedule-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reschedule-modal-overlay,.reschedule-modal{animation:none}}.empty-state{text-align:center;color:var(--text-muted);letter-spacing:.06em;padding:3.5rem 1rem;font-size:.9rem}.cancel-confirm{border-top:1px solid var(--border-color);flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.cancel-confirm-text{color:var(--text-secondary);margin:0;font-size:.9rem}.reservation-review-thanks{letter-spacing:.04em;color:var(--text-secondary);margin:.5rem 0 0;font-size:.85rem}.reservation-review-badge{letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);padding:.3rem .7rem;font-size:.66rem;font-weight:600;display:inline-block}.account-section{z-index:1;border-radius:var(--radius);margin-top:2.5rem;padding:1.5rem;position:relative}.account-section-header h2{margin:0 0 .25rem}.account-section-header p{color:var(--text-muted);margin:0 0 1rem}.account-action{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.account-action-text h3{margin:0 0 .2rem;font-size:1rem}.account-action-text p{color:var(--text-muted);margin:0;font-size:.9rem}.account-action button{flex-shrink:0}@media (width<=560px){.account-action{flex-direction:column;align-items:flex-start}}.reservation-reminder-note{color:var(--text-muted);align-items:center;gap:.45rem;margin:.6rem 0 0;font-size:.82rem;display:flex}.reservation-reminder-note span{opacity:.7}.review-form{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--paper);flex-direction:column;gap:.9rem;margin-top:1rem;padding:1.1rem 1.1rem 1.2rem;display:flex}.review-form-title{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:.72rem;font-weight:600}.review-form-field{flex-direction:column;gap:.45rem;display:flex}.review-form-label{color:var(--text-secondary);letter-spacing:.02em;font-size:.8rem}.review-form-textarea{width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--paper-pure);border:1px solid var(--border-color);border-radius:var(--radius-sm);resize:vertical;transition:var(--transition);padding:.7rem .8rem;font-size:.92rem}.review-form-textarea:focus{border-color:var(--ink);outline:none}.review-form-textarea::placeholder{color:var(--text-muted)}.review-form-actions{flex-wrap:wrap;gap:.6rem;display:flex}.account-panel{max-width:760px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;position:relative}.account-panel-header{position:relative}.account-panel-greeting{color:var(--text-muted);margin-top:.35rem;font-size:.95rem}.account-tabs{border-bottom:1px solid var(--border-color);scrollbar-width:none;gap:.25rem;margin:1.5rem 0 1.75rem;display:flex;overflow-x:auto}.account-tabs::-webkit-scrollbar{display:none}.account-tab{white-space:nowrap;appearance:none;cursor:pointer;font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:none;padding:.7rem 1rem;font-size:.78rem;transition:color .2s;position:relative}.account-tab:hover,.account-tab.active{color:var(--text-color)}.account-tab.active:after{content:"";background:var(--grad-aurora,currentColor);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.account-tab:focus-visible{outline:2px solid var(--c-violet,#6b5bd2);outline-offset:2px;border-radius:var(--radius-sm,8px)}.account-panel-body{position:relative}.myreviews-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.myreview-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:1.1rem 1.25rem}.myreview-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.myreview-stars{letter-spacing:.12em;color:var(--text-color)}.myreview-status{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.7rem}.myreview-status.is-published{color:var(--text-color)}.myreview-service{margin:0 0 .35rem;font-weight:600}.myreview-comment{color:var(--text-color);margin:0 0 .5rem;line-height:1.55}.myreview-date{color:var(--text-muted);margin:0;font-size:.8rem}.myreviews{flex-direction:column;gap:1.75rem;display:flex}.myreviews-section-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .85rem;font-size:.8rem}.myreview-card--pending .myreview-date{margin-bottom:.75rem}.myreviews-empty .empty-state{margin-bottom:.4rem}.myreviews-empty-hint{color:var(--text-muted);margin:0;font-size:.85rem}.myres-loading{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.account-tab{transition:none}}.payment-return{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}.payment-card{text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:440px;padding:2.6rem 2rem;display:flex}.payment-mark{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.payment-mark--paid{background:#1f9d55}.payment-mark--failed{background:#d64545}.payment-mark--pending{background:var(--c-violet,#6d5dfc)}.payment-title{font-family:var(--font-display,serif);margin:0;font-size:1.7rem}.payment-message{color:var(--text-muted,#777);margin:0;line-height:1.6}.payment-figures{flex-direction:column;gap:.5rem;width:100%;margin:.4rem 0 .6rem;display:flex}.payment-figures>div{border-top:1px solid var(--hairline,#ececec);justify-content:space-between;padding-top:.5rem;display:flex}.payment-figures dt{color:var(--text-muted,#777);margin:0}.payment-figures dd{margin:0;font-weight:600}.payment-account-cta{border:1px solid var(--hairline,#ececec);background:color-mix(in srgb, var(--c-violet,#6d5dfc) 6%, transparent);border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-top:.4rem;padding:1.4rem 1.2rem;display:flex}.payment-account-cta__title{font-family:var(--font-display,serif);margin:0;font-size:1.15rem;font-weight:600}.payment-account-cta__text{color:var(--text-muted,#777);margin:0 0 .4rem;font-size:.92rem;line-height:1.5}.payment-account-cta .btn-primary{width:100%}.payment-processing{color:var(--text-muted,#777);margin:0}.payment-spinner{border:3px solid var(--hairline,#e4e4e4);border-top-color:var(--c-violet,#6d5dfc);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite payment-spin}@keyframes payment-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.payment-spinner{animation:none}}.error-page{text-align:center;max-width:44rem;margin:0 auto;padding-inline:1.25rem}.error-code{font-family:var(--font-display);letter-spacing:-.04em;background:var(--grad-text);color:#0000;opacity:.85;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:clamp(4rem,16vw,8rem);font-weight:600;line-height:1}.error-page .page-header{margin-bottom:2rem}.error-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.error-links{margin-top:2.5rem}.error-links-title{letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:.9rem;font-size:.8rem;display:block}.error-links-row{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;display:flex}.error-link{font:inherit;color:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;border-bottom:1px solid #0000;padding:.25rem 0;transition:opacity .2s,border-color .2s}.error-link:hover,.error-link:focus-visible{opacity:1;border-bottom-color:currentColor}.error-details{text-align:left;margin-top:2.5rem;font-size:.85rem}.error-details summary{cursor:pointer;opacity:.7}.error-details pre{white-space:pre-wrap;word-break:break-word;border-radius:12px;margin-top:.75rem;padding:1rem;font-size:.78rem;line-height:1.5;overflow-x:auto}.app{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 2rem 0;position:relative}.main-content:focus{outline:none}.footer{isolation:isolate;color:#ffffff9e;background-color:var(--ink);background-image:radial-gradient(140% 75% at 50% 120%,#ffffff0f 0%,#0000 60%);background-repeat:no-repeat;margin-top:auto;position:relative;overflow:hidden}.footer .starfield{z-index:0}.footer-inner,.footer-base{z-index:1;position:relative}.footer-rule{z-index:1;justify-content:center;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:clamp(2.25rem,5vw,3.25rem) clamp(2.4rem,5vw,3.5rem) 0;display:flex;position:relative}.footer-rule-line{flex:1;max-width:240px;height:1px}.footer-rule-line:first-child{background:linear-gradient(90deg,#0000,#ffffff38)}.footer-rule-line:last-child{background:linear-gradient(270deg,#0000,#ffffff38)}.footer-rule img{opacity:.85}.footer-inner{grid-template-columns:1.7fr 1fr 1fr 1.2fr;align-items:start;gap:2.5rem;max-width:1200px;margin:0 auto;padding:clamp(1.75rem,4vw,2.75rem) clamp(2.4rem,5vw,3.5rem) 2.75rem;display:grid}.footer-col{flex-direction:column;gap:.55rem;min-width:0;display:flex}.footer-col-brand{gap:.7rem}.footer-col-title{font-family:var(--font-body);letter-spacing:.26em;text-transform:uppercase;color:#fff;margin-bottom:.5rem;font-size:.64rem;font-weight:600}.footer-col-ic{opacity:.7;flex-shrink:0;width:15px;height:15px}.footer-brand{cursor:pointer;transition:transform .4s var(--ease);background:0 0;border:none;margin-bottom:.4rem;padding:0}.footer-brand:hover{transform:translateY(-1px)}.footer-logo{object-fit:contain;width:auto;height:1.7rem;transition:transform .55s var(--ease);display:block}.footer-brand:hover .footer-logo{transform:scale(1.03)}.footer-contact-row{font-family:var(--font-body);letter-spacing:.01em;color:#ffffff9e;transition:color .28s var(--ease);word-break:break-word;align-items:center;gap:.55rem;font-size:.82rem;font-weight:300;display:inline-flex}a.footer-contact-row:hover{color:#fff}a.footer-contact-row:hover .footer-col-ic{opacity:1}.footer-contact-addr{cursor:default}.footer-brand-sub{font-family:var(--font-body);letter-spacing:.26em;text-transform:uppercase;color:#fff6;margin-top:.6rem;font-size:.58rem;font-weight:500}.footer-nav{align-items:flex-start;gap:.12rem}.footer-nav button{font-family:var(--font-body);letter-spacing:.02em;color:#ffffff9e;cursor:pointer;transition:color .28s var(--ease);background:0 0;border:none;align-self:flex-start;padding:.22rem 0;font-size:.82rem;font-weight:300;position:relative}.footer-nav button:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .3s var(--ease);background:#fff;position:absolute;bottom:.04rem;left:0;transform:scaleX(0)}.footer-nav button:hover{color:#fff}.footer-nav button:hover:after{transform:scaleX(1)}.footer-hours p{font-family:var(--font-body);letter-spacing:.01em;color:#ffffff9e;font-size:.82rem;font-weight:300}.footer-social-link{font-family:var(--font-body);color:#ffffff9e;transition:color .28s var(--ease);align-items:center;gap:.55rem;font-size:.82rem;font-weight:300;display:inline-flex}.footer-social-link:hover{color:#fff}.footer-social-link:hover .footer-col-ic{opacity:1}.footer-cta{color:var(--ink);border-radius:var(--radius-sm);font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s var(--ease);background:#fff;border:1px solid #fff;align-self:flex-start;align-items:center;gap:.5rem;margin-top:.85rem;padding:.7rem 1.15rem;font-size:.7rem;font-weight:600;display:inline-flex}.footer-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px #00000073}.footer-cta:active{transform:translateY(0)}.footer-cta-star{flex-shrink:0}.footer-base{background:#0006;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1.5rem;padding:1rem 2rem;display:flex}.footer-copy,.footer-privacy-link{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#ffffff6b;font-size:.6rem;font-weight:400}.footer-privacy-link{cursor:pointer;transition:color .28s var(--ease);background:0 0;border:none}.footer-privacy-link:hover{color:#fff}.footer-legal-links{flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem;display:flex}@media (width<=900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2.25rem 2.5rem}}@media (pointer:coarse),(width<=768px){.footer-col-brand{gap:1.5rem}.footer-nav{gap:1rem}.footer-social{gap:1.5rem}.footer-legal-links,.footer-base{gap:1.25rem 1.5rem}}@media (width<=560px){.footer-inner{text-align:center;grid-template-columns:1fr;justify-items:center;gap:1.9rem;padding:2.5rem 1rem 2rem}.footer-col{align-items:center}.footer-brand{align-self:center}.footer-nav button{align-self:center;padding:.45rem 0}.footer-privacy-link{padding:.45rem 0}.footer-cta{align-self:center}.footer-contact-row,.footer-social-link{justify-content:center}}@media (width<=640px){.main-content{padding:1.5rem 1rem 0}}
