@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2)format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2)format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--palette-cream:#f8f5ee;--palette-cream-deep:#efe6d8;--palette-white:#fffdfa;--palette-burgundy:#7a3b40;--palette-burgundy-dark:#5f2e32;--palette-burgundy-deep:#4a2226;--palette-brown:#3a312c;--palette-brown-soft:#6f645d;--palette-rose:#d8b8b5;--palette-rose-soft:#f0dfdc;--palette-gold-line:#c9a35f;--color-background:var(--palette-cream);--color-background-secondary:var(--palette-cream-deep);--color-surface:var(--palette-white);--color-surface-alt:var(--palette-cream-deep);--color-primary:var(--palette-burgundy);--color-primary-hover:var(--palette-burgundy-dark);--color-primary-active:var(--palette-burgundy-deep);--color-on-primary:var(--palette-white);--color-accent:var(--palette-rose);--color-accent-soft:var(--palette-rose-soft);--color-text:var(--palette-brown);--color-text-secondary:var(--palette-brown-soft);--color-text-on-primary:var(--palette-white);--color-heading:var(--palette-brown);--color-heading-accent:var(--palette-burgundy);--color-border:#e6dcc9;--color-border-strong:#d8ccb3;--color-disabled-bg:#ece5d7;--color-disabled-text:#b9ae9f;--color-success:#4f7a5b;--color-info-bg:var(--palette-rose-soft);--color-info-border:#e3c6c2;--color-info-text:var(--palette-burgundy-dark);--font-heading:"DM Serif Display", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-hero:clamp(2.25rem, 5vw + 1rem, 3.75rem);--text-h1:clamp(1.875rem, 3vw + 1rem, 2.75rem);--text-h2:clamp(1.5rem, 2vw + 1rem, 2rem);--text-h3:clamp(1.15rem, 1vw + 1rem, 1.375rem);--text-body-lg:1.125rem;--text-body:1rem;--text-small:.875rem;--text-xs:.75rem;--text-button:.875rem;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.6;--tracking-button:.06em;--tracking-label:.12em;--space-3xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1.25rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-full:999px;--shadow-sm:0 2px 8px #3a312c0f;--shadow-md:0 12px 32px #3a312c1a;--shadow-lg:0 20px 48px #3a312c24;--shadow-focus:0 0 0 3px #7a3b4059;--max-content-width:1180px;--max-narrow-width:720px;--page-padding-mobile:1.25rem;--page-padding-desktop:2.5rem;--section-spacing-mobile:var(--space-xl);--section-spacing-desktop:var(--space-2xl);--header-height:4.5rem;--transition-fast:.15s ease;--transition-base:.22s ease}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-background);min-width:320px;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}#root{overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-heading);line-height:var(--leading-tight);margin:0;font-weight:400}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.container{width:100%;max-width:var(--max-content-width);padding-inline:var(--page-padding-mobile);margin-inline:auto}@media (width>=1024px){.container{padding-inline:var(--page-padding-desktop)}}.container--narrow{max-width:var(--max-narrow-width)}.section{padding-block:var(--section-spacing-mobile)}@media (width>=1024px){.section{padding-block:var(--section-spacing-desktop)}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1}.flourish{color:var(--color-primary);opacity:.08;pointer-events:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-title{gap:var(--space-sm);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.section-title--center{text-align:center;align-items:center}.section-title--left{text-align:left;align-items:flex-start}.section-title__eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-primary);font-weight:600}.section-title__title{font-size:var(--text-h1);color:var(--color-heading-accent)}.section-title__subtitle{max-width:42rem;color:var(--color-text-secondary);font-size:var(--text-body-lg);line-height:var(--leading-normal)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);font-family:var(--font-body);font-weight:600;font-size:var(--text-button);text-transform:uppercase;letter-spacing:var(--tracking-button);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:1.5px solid #0000;text-decoration:none;display:inline-flex}.btn__icon{transition:transform var(--transition-fast);display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn--md{padding:.85rem 1.75rem}.btn--lg{padding:1rem 2.25rem;font-size:.95rem}.btn--sm{padding:.6rem 1.25rem;font-size:.78rem}.btn--full{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary:hover:not(:disabled) .btn__icon{transform:translate(2px)}.btn--outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn--outline:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary)}.btn--inverse{background:var(--color-surface);color:var(--color-primary)}.btn--inverse:hover:not(:disabled){background:var(--palette-cream-deep)}.btn--ghost{color:var(--color-text);border-bottom:1.5px solid var(--color-border-strong);background:0 0;border-radius:0;padding-inline:0}.btn--ghost:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.55}.btn:focus-visible{box-shadow:var(--shadow-focus)}.admin-auth{background:var(--color-background-secondary);min-height:100vh;padding:var(--page-padding-mobile);justify-content:center;align-items:center;display:flex}.admin-auth__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:26rem;box-shadow:var(--shadow-md);padding:var(--space-xl) var(--space-lg)}.admin-auth__form{gap:var(--space-md);margin-top:var(--space-lg);flex-direction:column;display:flex}.admin-auth__field{gap:var(--space-3xs);flex-direction:column;display:flex}.admin-auth__field label{font-size:var(--text-small);color:var(--color-text-secondary);letter-spacing:var(--tracking-label);text-transform:uppercase}.admin-auth__field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.admin-auth__field input:focus-visible{border-color:var(--color-primary)}.admin-auth__message{border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-small);line-height:var(--leading-snug)}.admin-auth__message--error{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text)}.admin-auth__message--success{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text)}.admin-auth__resend{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.admin-auth__footer{margin-top:var(--space-lg);text-align:center;font-size:var(--text-small);color:var(--color-text-secondary)}.admin-auth__footer a{color:var(--color-primary);text-decoration:underline}.admin-layout{background:var(--color-background-secondary);min-height:100vh}.admin-layout__checking{min-height:100vh;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.admin-layout__header{z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.admin-layout__bar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--page-padding-mobile);display:flex}.admin-layout__brand{font-family:var(--font-heading);color:var(--color-heading);font-size:var(--text-h3)}.admin-layout__nav.admin-layout__nav--desktop,.admin-layout__account.admin-layout__account--desktop{display:none}.admin-layout__nav{gap:var(--space-md);flex:1}.admin-layout__nav-link{font-size:var(--text-small);color:var(--color-text-secondary);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm)}.admin-layout__nav-link:hover{color:var(--color-text)}.admin-layout__nav-link--active{color:var(--color-primary);background:var(--color-accent-soft);font-weight:600}.admin-layout__account{align-items:center;gap:var(--space-md);font-size:var(--text-small);color:var(--color-text-secondary);display:flex}.admin-layout__logout{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3xs) var(--space-sm);font-size:var(--text-small);color:var(--color-text);cursor:pointer;background:0 0}.admin-layout__logout:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-layout__menu-toggle{width:2.5rem;height:2.5rem;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.admin-layout__mobile{transition:grid-template-rows var(--transition-base);border-top:1px solid #0000;grid-template-rows:0fr;display:grid}.admin-layout__mobile--open{border-top-color:var(--color-border);grid-template-rows:1fr}.admin-layout__mobile-inner{overflow:hidden}.admin-layout__mobile nav{padding:var(--space-md) var(--page-padding-mobile) 0;gap:var(--space-xs);flex-direction:column;display:flex}.admin-layout__nav-link--mobile{padding:var(--space-sm);font-size:var(--text-body)}.admin-layout__account--mobile{padding:var(--space-md);justify-content:space-between}.admin-layout__main{padding:var(--space-lg) var(--page-padding-mobile)}@media (width>=1024px){.admin-layout__bar{padding:var(--space-md) var(--page-padding-desktop)}.admin-layout__nav.admin-layout__nav--desktop,.admin-layout__account.admin-layout__account--desktop{display:flex}.admin-layout__menu-toggle,.admin-layout__mobile{display:none}.admin-layout__main{padding:var(--space-xl) var(--page-padding-desktop)}}.availability-calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);flex:1}.availability-calendar__header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.availability-calendar__header h3{font-size:var(--text-h3)}.availability-calendar__header button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3xs);cursor:pointer;color:var(--color-text);background:0 0}.availability-calendar__legend{gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.availability-calendar__legend span{align-items:center;gap:var(--space-3xs);display:inline-flex}.availability-calendar__dot{border-radius:var(--radius-full);width:.5rem;height:.5rem;display:inline-block}.availability-calendar__dot--available{background:var(--color-success)}.availability-calendar__dot--blocked{background:var(--color-border-strong)}.availability-calendar__weekdays,.availability-calendar__grid{gap:var(--space-3xs);grid-template-columns:repeat(7,1fr);display:grid}.availability-calendar__weekdays span{text-align:center;font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-label);padding-block:var(--space-3xs)}.availability-calendar__cell{aspect-ratio:1}.availability-calendar__day{border-radius:var(--radius-sm);background:var(--color-background-secondary);color:var(--color-text);font-size:var(--text-small);cursor:pointer;border:1px solid #0000;position:relative}.availability-calendar__day--available:after,.availability-calendar__day--blocked:after{content:"";border-radius:var(--radius-full);width:.375rem;height:.375rem;position:absolute;bottom:.25rem;left:50%;transform:translate(-50%)}.availability-calendar__day--available:after{background:var(--color-success)}.availability-calendar__day--blocked:after{background:var(--color-border-strong)}.availability-calendar__day--selected{border-color:var(--color-primary);background:var(--color-accent-soft)}.availability-calendar__day--past{opacity:.4;cursor:not-allowed}.admin-availability__intro{color:var(--color-text-secondary);max-width:40rem;margin-block:var(--space-xs) var(--space-lg)}.admin-availability__error{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.admin-availability__layout{gap:var(--space-lg);flex-wrap:wrap;align-items:flex-start;display:flex}.admin-availability__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:18rem;padding:var(--space-lg);flex:1}.admin-availability__panel-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.admin-availability__hint{color:var(--color-text-secondary);font-size:var(--text-small)}.admin-availability__form{align-items:flex-end;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.admin-availability__form label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.admin-availability__form input[type=time],.admin-availability__form input[type=date],.admin-availability__form input[type=text]{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--text-body)}.admin-availability__form--inline{margin-bottom:0}.admin-availability__slot-list{gap:var(--space-sm);flex-direction:column;display:flex}.admin-availability__slot{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.admin-availability__slot-time{font-variant-numeric:tabular-nums;font-weight:600}.admin-availability__badge{font-size:var(--text-xs);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-full)}.admin-availability__badge--available{background:var(--color-surface-alt);color:var(--color-success)}.admin-availability__badge--blocked{background:var(--color-info-bg);color:var(--color-info-text)}.admin-availability__slot-actions{gap:var(--space-sm);margin-left:auto;display:flex}.admin-availability__slot-actions button{color:var(--color-primary);cursor:pointer;font-size:var(--text-small);background:0 0;border:none;padding:0;text-decoration:underline}.admin-availability__bulk{margin-top:var(--space-xl)}.admin-availability__bulk-form{margin-top:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.admin-availability__bulk-result{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;padding:var(--space-sm) var(--space-md);color:var(--color-text);font-size:var(--text-small)}.admin-availability__weekdays{gap:var(--space-sm);border:none;flex-wrap:wrap;display:flex}.admin-availability__weekdays legend{width:100%;font-size:var(--text-small);color:var(--color-text-secondary);margin-bottom:var(--space-3xs)}.admin-availability__weekday-option{align-items:center;gap:var(--space-3xs)!important;flex-direction:row!important}.reservation-filters{gap:var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr;display:grid}.reservation-filters label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.reservation-filters select,.reservation-filters input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.reservation-filters__error{font-size:var(--text-xs);color:var(--color-info-text)}.reservation-filters__actions{gap:var(--space-sm);align-items:flex-end;display:flex}@media (width>=640px){.reservation-filters{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.reservation-filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end}}.reservations-table__hint{color:var(--color-text-secondary);font-size:var(--text-small);padding:var(--space-lg);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.reservations-table__wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.reservations-table{border-collapse:collapse;width:100%}.reservations-table th,.reservations-table td{text-align:left;padding:var(--space-sm) var(--space-md);font-size:var(--text-small)}.reservations-table thead th{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);font-weight:600}.reservations-table tbody tr{border-bottom:1px solid var(--color-border)}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table__status{font-size:var(--text-xs);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-full);white-space:nowrap;font-weight:600;display:inline-block}.reservations-table__status--active{background:var(--color-surface-alt);color:var(--color-success)}.reservations-table__status--cancelled{background:var(--color-background-secondary);color:var(--color-text-secondary)}.reservations-table__status--no_show{background:var(--color-info-bg);color:var(--color-info-text)}.reservations-table__whatsapp{color:var(--color-primary);white-space:nowrap;text-decoration:underline}.reservations-table__view{color:var(--color-primary);cursor:pointer;font-size:var(--text-small);white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}@media (width<=639px){.reservations-table__wrapper{background:0 0;border:none;overflow-x:visible}.reservations-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.reservations-table,.reservations-table tbody,.reservations-table tr,.reservations-table td{width:100%;display:block}.reservations-table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.reservations-table td{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-3xs) 0;text-align:right;border-bottom:none;display:flex}.reservations-table td[data-label]:not([data-label=""]):before{content:attr(data-label);color:var(--color-text-secondary);text-align:left;font-weight:600}.reservations-table td:last-child{justify-content:flex-end}}.booking-summary{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.booking-summary__title{color:var(--color-primary);padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);font-size:1.3rem}.booking-summary__rows{gap:var(--space-md);flex-direction:column;margin:0;display:flex}.booking-summary__row{align-items:baseline;gap:var(--space-sm);display:flex}.booking-summary__row dt{color:var(--color-text-secondary);font-size:var(--text-small);flex-shrink:0}.booking-summary__row dd{font-family:var(--font-heading);color:var(--color-primary);text-align:right;margin:0;font-size:1.05rem}.booking-summary__leader{border-bottom:1.5px dotted var(--color-border-strong);flex-grow:1;margin-bottom:.3rem}.booking-summary__total{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-family:var(--font-heading);color:var(--color-text);justify-content:space-between;align-items:baseline;font-size:1.2rem;display:flex}.booking-summary__total-value{color:var(--color-primary);font-size:1.6rem}.reservation-modal__backdrop{z-index:100;background:#3a312c73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.reservation-modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:32rem;max-height:90vh;box-shadow:var(--shadow-lg);padding:var(--space-lg);overflow-y:auto}.reservation-modal__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.reservation-modal__header h2{font-size:var(--text-h3);color:var(--color-heading)}.reservation-modal__close{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-3xs);background:0 0;border:none;display:inline-flex}.reservation-modal__body{gap:var(--space-md);flex-direction:column;display:flex}.reservation-modal__details{gap:var(--space-sm);flex-direction:column;display:flex}.reservation-modal__details div{justify-content:space-between;gap:var(--space-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm);display:flex}.reservation-modal__details dt{color:var(--color-text-secondary);font-size:var(--text-small)}.reservation-modal__details dd{text-align:right;font-weight:500}.reservation-modal__actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.reservation-modal__confirm{gap:var(--space-sm);flex-direction:column;display:flex}.reservation-modal__error{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-small)}.reservation-modal__hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.reservation-modal__form{gap:var(--space-md);flex-direction:column;display:flex}.reservation-modal__form label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.reservation-modal__form select,.reservation-modal__form input,.reservation-modal__form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.reservation-modal__services{gap:var(--space-xs);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.reservation-modal__services legend{margin-bottom:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);padding:0}.reservation-modal__service{justify-content:space-between;align-items:center;gap:var(--space-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);background:var(--color-surface);display:flex}.reservation-modal__service--selected{border-color:var(--color-primary)}.reservation-modal__service-info{min-width:0;font-size:var(--text-body);color:var(--color-text);flex-direction:column;display:flex}.reservation-modal__service-info small{color:var(--color-text-secondary);font-size:var(--text-xs)}.reservation-modal__stepper{align-items:center;gap:var(--space-sm);flex-shrink:0;display:inline-flex}.reservation-modal__stepper button{border-radius:var(--radius-full);background:var(--color-primary);width:2rem;height:2rem;color:var(--color-on-primary);cursor:pointer;border:0;font-size:1.1rem;line-height:1}.reservation-modal__stepper button:disabled{opacity:.35;cursor:not-allowed}.reservation-modal__services-total{font-size:var(--text-small);color:var(--color-text);text-align:right}@media (width>=640px){.reservation-modal__backdrop{align-items:center}.reservation-modal{border-radius:var(--radius-lg)}}.reservation-modal__form textarea{resize:vertical}.reservation-modal__success{margin-top:var(--space-sm);font-size:var(--text-small);color:var(--color-success)}.admin-reservations__intro{color:var(--color-text-secondary);max-width:40rem;margin-block:var(--space-xs) var(--space-lg)}.admin-reservations__pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);font-size:var(--text-small);color:var(--color-text-secondary);text-align:center;flex-wrap:wrap;display:flex}.confirm-modal__backdrop{z-index:110;padding:var(--page-padding-mobile);background:#3a312c73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:28rem;max-height:90vh;box-shadow:var(--shadow-lg);padding:var(--space-lg);overflow-y:auto}.confirm-modal__header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.confirm-modal__header h2{font-size:var(--text-h3);color:var(--color-heading)}.confirm-modal__close{color:var(--color-text-secondary);cursor:pointer;padding:var(--space-3xs);background:0 0;border:none;flex-shrink:0;display:inline-flex}.confirm-modal__message{color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:var(--leading-snug)}.confirm-modal__error{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-small);margin-top:var(--space-md)}.confirm-modal__error a{color:inherit;font-weight:600;text-decoration:underline}.confirm-modal__actions{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.finance-chart{--chart-income:#9b3644;--chart-expenses:#b8862a}.finance-chart__legend{gap:var(--space-md);margin:0 0 var(--space-sm);font-size:var(--text-small);color:var(--color-text-secondary);padding:0;list-style:none;display:flex}.finance-chart__legend li{align-items:center;gap:var(--space-xs);display:inline-flex}.finance-chart__key{border-radius:2px;width:.75rem;height:.75rem}.finance-chart__key--income,.finance-chart__line--income{background:var(--chart-income)}.finance-chart__key--expenses,.finance-chart__line--expenses{background:var(--chart-expenses)}.finance-chart__scroll{overflow-x:auto}.finance-chart__canvas{min-width:560px;position:relative}.finance-chart__canvas svg{width:100%;height:auto;display:block}.finance-chart__grid{stroke:var(--color-border);stroke-width:1px}.finance-chart__axis{fill:var(--color-text-secondary);font-size:11px}.finance-chart__bar--income{fill:var(--chart-income)}.finance-chart__bar--expenses{fill:var(--chart-expenses)}.finance-chart__highlight{fill:var(--color-accent-soft)}.finance-chart__tooltip{gap:var(--space-3xs);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;transform:translate(-50%)}.finance-chart__tooltip strong{color:var(--color-text)}.finance-chart__tooltip-date{color:var(--color-text);font-weight:600}.finance-chart__line{width:.75rem;height:2px;margin-right:var(--space-xs);vertical-align:middle;display:inline-block}.finance-chart__empty{color:var(--color-text-secondary);font-size:var(--text-small);text-align:center;padding:var(--space-lg)}.finance-chart__table{margin-top:var(--space-sm);font-size:var(--text-small);color:var(--color-text-secondary)}.finance-chart__table summary{cursor:pointer}.finance-chart__table table{margin-top:var(--space-xs);border-collapse:collapse}.finance-chart__table th,.finance-chart__table td{padding:var(--space-3xs) var(--space-sm);text-align:right;font-variant-numeric:tabular-nums}.movements-table__hint{color:var(--color-text-secondary);font-size:var(--text-small);padding:var(--space-lg);text-align:center}.movements-table__retry{color:var(--color-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.movements-table__wrapper{overflow-x:auto}.movements-table{border-collapse:collapse;width:100%}.movements-table th,.movements-table td{text-align:left;padding:var(--space-sm);font-size:var(--text-small)}.movements-table thead th{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);font-weight:600}.movements-table tbody tr{border-bottom:1px solid var(--color-border)}.movements-table tbody tr:last-child{border-bottom:none}.movements-table__date{white-space:nowrap;color:var(--color-text-secondary)}.movements-table .movements-table__amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.movements-table__type{font-size:var(--text-xs);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-full);white-space:nowrap;font-weight:600;display:inline-block}.movements-table__type--income{background:var(--color-surface-alt);color:var(--color-success)}.movements-table__type--expense{background:var(--color-info-bg);color:var(--color-info-text)}.movements-table__actions{white-space:nowrap;text-align:right}.movements-table__action{color:var(--color-primary);cursor:pointer;font-size:var(--text-small);padding:var(--space-3xs) var(--space-xs);background:0 0;border:none;text-decoration:underline}.movements-table__sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.movement-form{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.movement-form label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.movement-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.admin-dashboard{gap:var(--space-lg);flex-direction:column;display:flex}.admin-dashboard__toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.admin-dashboard__intro{color:var(--color-text-secondary);margin-top:var(--space-xs)}.admin-dashboard__period{align-items:center;gap:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-3xs);display:flex}.admin-dashboard__period-step{border-radius:var(--radius-full);width:2.25rem;height:2.25rem;color:var(--color-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.admin-dashboard__period-step:hover:not(:disabled){background:var(--color-accent-soft)}.admin-dashboard__period-step:disabled{color:var(--color-disabled-text);cursor:default}.admin-dashboard__period-label{text-align:center;min-width:9rem;color:var(--color-text);font-weight:600}.admin-dashboard__period-today{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);padding:var(--space-3xs) var(--space-sm);font-size:var(--text-small);color:var(--color-text);cursor:pointer;background:0 0}.admin-dashboard__period-today:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-dashboard__stats{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-dashboard__stat{gap:var(--space-3xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);flex-direction:column;min-width:0;display:flex}.admin-dashboard__stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary)}.admin-dashboard__stat-value{font-family:var(--font-heading);font-weight:400;font-size:var(--text-h2);color:var(--color-heading);overflow-wrap:anywhere}.admin-dashboard__stat-value--negative{color:var(--color-primary)}.admin-dashboard__stat-delta,.admin-dashboard__stat-breakdown{font-size:var(--text-xs);color:var(--color-text-secondary)}.admin-dashboard__panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.admin-dashboard__panel-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.admin-dashboard__panel-title{font-size:var(--text-h3);margin-bottom:var(--space-sm)}.admin-dashboard__panel-header .admin-dashboard__panel-title{margin-bottom:0}.admin-dashboard__panel-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.admin-dashboard__panel-actions select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--text-small);color:var(--color-text);background:var(--color-surface)}.admin-dashboard__panel-hint,.admin-dashboard__hint{color:var(--color-text-secondary);font-size:var(--text-small);text-align:center;padding:var(--space-lg)}.admin-dashboard__hint{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.admin-dashboard__retry{color:var(--color-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}@media (width>=1024px){.admin-dashboard__stats{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr))}.admin-dashboard__panel{padding:var(--space-lg)}}.header{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#f8f5eeeb;position:sticky;top:0}.header__bar{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.header__logo{align-items:center;gap:var(--space-xs);font-family:var(--font-heading);color:var(--color-primary);flex-shrink:0;font-size:1.5rem;display:inline-flex}.header__logo-mark{width:auto;height:1.75rem}.header__nav--desktop{display:none}.header__nav ul{gap:var(--space-lg);display:flex}.header__link{font-size:var(--text-small);color:var(--color-text-secondary);transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:1.5px solid #0000;padding-bottom:.3rem;font-weight:500}.header__link:hover{color:var(--color-text)}.header__link--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.header__cta--desktop{display:none}.header__menu-toggle{width:2.5rem;height:2.5rem;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.header__mobile{transition:grid-template-rows var(--transition-base);background:var(--color-background);border-top:1px solid #0000;grid-template-rows:0fr;display:grid}.header__mobile--open{border-top-color:var(--color-border);grid-template-rows:1fr}.header__mobile-inner{overflow:hidden}.header__mobile nav ul{padding:var(--space-md) var(--page-padding-mobile) 0;gap:var(--space-sm);flex-direction:column;display:flex}.header__link--mobile{font-size:var(--text-body);border-bottom:none;padding:.6rem 0;display:block}.header__mobile .btn{margin:var(--space-md) var(--page-padding-mobile) var(--space-md);width:calc(100% - 2 * var(--page-padding-mobile))}@media (width>=1024px){.header__nav--desktop,.header__cta--desktop{display:block}.header__menu-toggle,.header__mobile{display:none}}.footer{background:var(--color-background-secondary);border-top:1px solid var(--color-border)}.footer__inner{padding-block:var(--space-lg);align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;display:flex}.footer__brand{font-family:var(--font-heading);color:var(--color-primary);font-size:1.15rem}.footer__copy{font-size:var(--text-small);color:var(--color-text-secondary)}.footer__link{font-size:var(--text-small);color:var(--color-text-secondary);text-decoration:underline}.footer__link:hover{color:var(--color-primary)}@media (width>=640px){.footer__inner{text-align:left;flex-direction:row;justify-content:space-between}}.footer__social{gap:var(--space-sm);display:flex}.footer__social a{border-radius:var(--radius-sm);background:var(--color-primary);width:2.75rem;height:2.75rem;color:var(--color-on-primary);transition:background var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.footer__social a:hover{background:var(--color-primary-hover)}.hero{padding-block:var(--space-xl);position:relative;overflow:hidden}.hero__flourish{width:90%;max-width:700px;height:auto;position:absolute;top:-1rem;left:50%;transform:translate(-50%)}.hero__inner{gap:var(--space-xl);flex-direction:column;align-items:center;display:flex;position:relative}.hero__copy{align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;max-width:34rem;display:flex}.hero__eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-primary);font-weight:600}.hero__title{font-size:var(--text-hero);color:var(--color-heading-accent);line-height:1.1}.hero__title em{color:var(--color-text);font-style:italic}.hero__subtitle{color:var(--color-text-secondary);font-size:var(--text-body-lg);line-height:var(--leading-normal)}.hero__actions{gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.hero__image{border-radius:var(--radius-lg);width:100%;max-width:26rem;box-shadow:var(--shadow-lg);aspect-ratio:4/3;overflow:hidden}.hero__image img{object-fit:cover;width:100%;height:100%}.teaser-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}.teaser-card{border-radius:var(--radius-lg);aspect-ratio:5/4;box-shadow:var(--shadow-sm);display:block;position:relative;overflow:hidden}.teaser-card img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base);position:absolute;inset:0}.teaser-card:hover img{transform:scale(1.05)}.teaser-card:after{content:"";background:linear-gradient(#0000 25%,#3a312c26 45%,#3a312cc7 100%);position:absolute;inset:0}.teaser-card__body{height:100%;padding:var(--space-lg);color:var(--color-on-primary);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.teaser-card__body h2{font-size:var(--text-h2);color:var(--color-on-primary)}.teaser-card__body p{margin-top:var(--space-xs);font-size:var(--text-small);color:var(--color-on-primary);max-width:24rem}.teaser-card__link{margin-top:var(--space-md);font-size:var(--text-small);text-transform:uppercase;letter-spacing:var(--tracking-label);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.cta-band{background:var(--color-primary);color:var(--color-on-primary)}.cta-band__inner{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.cta-band__title{font-size:var(--text-h1);color:var(--color-on-primary)}.cta-band__subtitle{color:#fffdfad9;margin-bottom:var(--space-sm)}@media (width>=1024px){.hero{padding-block:var(--space-2xl)}.hero__inner{text-align:left;flex-direction:row;justify-content:space-between}.hero__copy{text-align:left;flex-shrink:0;align-items:flex-start;max-width:26rem}.hero__actions{justify-content:flex-start}.hero__image{max-width:32rem}.teaser-grid{grid-template-columns:1fr 1fr}}.design-card{gap:var(--space-sm);flex-direction:column;margin:0;display:flex}.design-card__frame{border-radius:var(--radius-lg);aspect-ratio:4/5;background:var(--color-background-secondary);box-shadow:var(--shadow-sm);overflow:hidden}.design-card__frame img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base)}.design-card:hover .design-card__frame img{transform:scale(1.04)}.design-card__caption{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-inline:.15rem;display:flex}.design-card__name{font-size:var(--text-small);color:var(--color-text);font-weight:500}.design-card__category{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.category-filter{gap:var(--space-xs);padding-bottom:var(--space-3xs);margin-bottom:var(--space-lg);scrollbar-width:none;display:flex;overflow-x:auto}.category-filter__chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);padding:var(--space-xs) var(--space-md);font-size:var(--text-small);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex:none}.category-filter__chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.category-filter__chip[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}@media (width>=720px){.category-filter{flex-wrap:wrap;overflow-x:visible}}.design-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=640px){.design-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.design-grid{grid-template-columns:repeat(4,1fr)}}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.35rem;padding:.35rem .75rem;font-weight:500;line-height:1;display:inline-flex}.badge__icon{display:inline-flex}.badge--neutral{background:var(--color-background-secondary);color:var(--color-text-secondary)}.badge--on-primary{color:var(--color-on-primary);background:#ffffff2e}.badge--accent{background:var(--color-accent-soft);color:var(--color-primary)}.service-card{gap:var(--space-md);background:var(--color-background-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:left;font-family:var(--font-body);color:var(--color-text);border:1.5px solid #0000;flex-direction:column;height:100%;display:flex}.service-card__top{justify-content:space-between;align-items:center;display:flex}.service-card__icon{border-radius:var(--radius-full);background:var(--color-accent-soft);width:2.5rem;height:2.5rem;color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.service-card--featured .service-card__icon{color:var(--color-on-primary);background:#ffffff29}.service-card__name{font-size:var(--text-h3);line-height:var(--leading-snug)}.service-card__description{color:var(--color-text-secondary);font-size:var(--text-small);line-height:var(--leading-normal);flex-grow:1}.service-card--featured .service-card__description{color:#fffdfad9}.service-card__price-row{align-items:baseline;gap:var(--space-xs);display:flex}.service-card__price-label{font-family:var(--font-heading);color:var(--color-primary);flex-shrink:0;font-size:1.05rem}.service-card--featured .service-card__price-label{color:var(--color-on-primary)}.service-card__price-leader{border-bottom:1.5px dotted var(--color-border-strong);flex-grow:1;margin-bottom:.35rem}.service-card--featured .service-card__price-leader{border-bottom-color:#ffffff59}.service-card__price-value{flex-shrink:0;font-size:1.15rem;font-weight:700}.service-card--featured{background:var(--color-primary);color:var(--color-on-primary)}.service-card--featured .service-card__name{color:var(--color-on-primary)}.service-card--selectable{width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast)}.service-card--selectable:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.service-card--selectable.service-card--selected{border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-md)}.service-card--featured.service-card--selected{color:var(--color-text)}.service-card--featured.service-card--selected .service-card__icon{background:var(--color-accent-soft);color:var(--color-primary)}.service-card--featured.service-card--selected .service-card__name{color:var(--color-heading)}.service-card--featured.service-card--selected .service-card__description{color:var(--color-text-secondary)}.service-card--featured.service-card--selected .service-card__price-label{color:var(--color-primary)}.service-card--featured.service-card--selected .service-card__price-leader{border-bottom-color:var(--color-border-strong)}.service-card__quantity{border:1.5px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-button);color:var(--color-primary);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.service-card__quantity-btn{border-radius:var(--radius-full);color:inherit;cursor:pointer;background:0 0;border:0;margin:-.6rem 0;padding:.6rem .9rem;font-size:1.25rem;line-height:1}.service-card__quantity-btn:hover{background:var(--color-accent-soft)}.service-card__quantity-value{font-family:var(--font-heading);font-weight:700}.catalog-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=720px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}.stepper{max-width:34rem;margin:0 auto var(--space-xl);justify-content:center;align-items:flex-start;gap:.25rem;display:flex}.stepper__item{flex:1 1 0;align-items:center;min-width:0;display:flex}.stepper__item:first-child{flex:none}.stepper__line{background:var(--color-border-strong);height:1.5px;transition:background var(--transition-base);flex-grow:1;margin:1.15rem .35rem 0}.stepper__line--filled{background:var(--color-primary)}.stepper__step{font-family:var(--font-body);cursor:default;background:0 0;border:none;flex-direction:column;align-items:center;gap:.4rem;padding:0;display:flex}.stepper__step--done{cursor:pointer}.stepper__circle{border-radius:var(--radius-full);border:1.5px solid var(--color-border-strong);width:2.35rem;height:2.35rem;color:var(--color-text-secondary);font-size:var(--text-small);background:var(--color-surface);transition:background var(--transition-base), border-color var(--transition-base), color var(--transition-base);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.stepper__step--current .stepper__circle,.stepper__step--done .stepper__circle{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.stepper__label{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.stepper__step--current .stepper__label{color:var(--color-primary);font-weight:600}.stepper__step--done .stepper__label{color:var(--color-text)}@media (width<=400px){.stepper__label{display:none}}.service-step__grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=640px){.service-step__grid{grid-template-columns:repeat(2,1fr)}}.service-step__total{margin-top:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-text);text-align:center}.calendar{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg) var(--space-md)}@media (width>=640px){.calendar{padding:var(--space-lg)}}.calendar__header{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.calendar__month{color:var(--color-primary);font-size:1.35rem}.calendar__nav{border-radius:var(--radius-full);border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:inline-flex}.calendar__nav:hover:not(:disabled){background:var(--color-background-secondary)}.calendar__nav:disabled{opacity:.3;cursor:not-allowed}.calendar__weekdays{margin-bottom:var(--space-xs);grid-template-columns:repeat(7,1fr);display:grid}.calendar__weekday{text-align:center;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);padding-block:.4rem;font-size:.7rem;font-weight:600}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.calendar__cell{aspect-ratio:1;display:flex}.calendar__day{border-radius:var(--radius-full);width:100%;font-size:var(--text-small);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-weight:500;display:flex}.calendar__day:hover:not(:disabled){background:var(--color-accent-soft)}.calendar__day--disabled{color:var(--color-disabled-text);cursor:not-allowed;text-decoration:line-through}.calendar__day--selected{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.calendar__day--selected:hover{background:var(--color-primary)}.date-step__calendar{max-width:30rem;margin:0 auto}.date-step__hint{text-align:center;color:var(--color-text-secondary);font-size:var(--text-small);margin-bottom:var(--space-sm)}.time-slot{padding:var(--space-md) var(--space-sm);border-radius:var(--radius-md);background:var(--color-background-secondary);color:var(--color-text);cursor:pointer;font-family:var(--font-body);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1.5px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;display:flex}.time-slot:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px)}.time-slot__time{font-size:1.1rem;font-weight:600}.time-slot__period{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-text-secondary)}.time-slot--selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.time-slot--selected .time-slot__period{color:#ffffffbf}.time-slot--occupied{color:var(--color-disabled-text);cursor:not-allowed;background:0 0;text-decoration:line-through}.time-slot--occupied .time-slot__period{color:var(--color-disabled-text)}.time-slot-legend{gap:var(--space-md);font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-label);margin-bottom:var(--space-lg);flex-wrap:wrap;justify-content:center;display:flex}.time-slot-legend li{align-items:center;gap:.4rem;display:flex}.time-slot-legend__dot{border-radius:var(--radius-full);width:.6rem;height:.6rem;display:inline-block}.time-slot-legend__dot--available{background:var(--color-background-secondary);border:1.5px solid var(--color-border-strong)}.time-slot-legend__dot--selected{background:var(--color-primary)}.time-slot-legend__dot--occupied{background:var(--color-surface);border:1.5px solid var(--color-disabled-text)}.time-step__hint{text-align:center;color:var(--color-text-secondary);font-size:var(--text-small);margin-bottom:var(--space-md)}.time-step__grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);max-width:30rem;margin:0 auto;display:grid}@media (width>=640px){.time-step__grid{gap:var(--space-md)}}.details-step__card{max-width:30rem;margin:0 auto var(--space-lg)}.details-step__price-note{font-size:var(--text-small);color:var(--color-text-secondary);margin-top:var(--space-sm)}.details-step__price-note a{color:var(--color-primary);text-decoration:underline}.details-step__form{gap:var(--space-md);flex-direction:column;max-width:30rem;margin:0 auto;display:flex}.details-step__form label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.details-step__form input,.details-step__form select,.details-step__form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.details-step__form textarea{resize:vertical;font-family:inherit}.details-step__row{gap:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=640px){.details-step__row{grid-template-columns:1fr 1fr}}.details-step__field-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.details-step__field-error{font-size:var(--text-xs);color:var(--color-info-text)}.details-step__consent{align-items:flex-start;gap:var(--space-sm)!important;font-size:var(--text-small)!important;flex-direction:row!important}.details-step__consent input{flex-shrink:0;margin-top:.2rem}.details-step__consent a{color:var(--color-primary);text-decoration:underline}.success-screen{text-align:center;align-items:center;gap:var(--space-sm);flex-direction:column;max-width:30rem;margin:0 auto;display:flex}.success-screen__icon{border-radius:var(--radius-full);background:var(--color-primary);width:3.5rem;height:3.5rem;color:var(--color-on-primary);margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:inline-flex}.success-screen__title{font-size:var(--text-h1)}.success-screen__subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.success-screen__card{width:100%;margin-bottom:var(--space-lg)}.success-screen__reminder{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--text-small);color:var(--color-info-text);margin-bottom:var(--space-lg)}.success-screen__reminder a{color:inherit;font-weight:700;text-decoration:underline}.booking-step{margin-bottom:var(--space-xl)}.booking-nav{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--color-border);display:flex}@media (width<=639px){.booking-nav--sticky{z-index:10;padding-block:var(--space-sm) max(var(--space-sm), env(safe-area-inset-bottom));background:var(--color-background);position:sticky;bottom:0}}.my-reservation__search{gap:var(--space-md);flex-direction:column;max-width:24rem;margin:0 auto;display:flex}.my-reservation__search label{gap:var(--space-3xs);font-size:var(--text-small);color:var(--color-text-secondary);flex-direction:column;display:flex}.my-reservation__search input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-body);color:var(--color-text);background:var(--color-surface)}.my-reservation__field-error{font-size:var(--text-xs);color:var(--color-info-text)}.my-reservation__banner{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.my-reservation__card{gap:var(--space-md);flex-direction:column;max-width:30rem;margin:0 auto;display:flex}.my-reservation__actions{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.my-reservation__reset{color:var(--color-text-secondary);font-size:var(--text-small);cursor:pointer;background:0 0;border:none;align-self:center;text-decoration:underline}.my-reservation__edit{gap:var(--space-xl);flex-direction:column;display:flex}.about-profile{align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.about-profile__photo{aspect-ratio:1;border-radius:var(--radius-full);object-fit:cover;width:100%;max-width:260px;box-shadow:var(--shadow-md)}.about-profile__info{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.about-profile__name{font-family:var(--font-heading);font-size:var(--text-h2);color:var(--color-heading)}.about-profile__experience{color:var(--color-primary);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;font-size:var(--text-small)}.about-profile__bio{color:var(--color-text-secondary);line-height:var(--leading-normal);white-space:pre-line}@media (width>=720px){.about-profile{justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:row}.about-profile__photo{flex:2 0;max-width:320px}.about-profile__info{flex:3 0}}.privacy-content{color:var(--color-text-secondary);line-height:var(--leading-normal);gap:var(--space-sm);flex-direction:column;display:flex}.privacy-content h2{font-family:var(--font-heading);font-size:var(--text-h3);color:var(--color-heading);margin-top:var(--space-md)}.not-found__inner{align-items:center;gap:var(--space-md);text-align:center;padding-block:var(--space-xl);flex-direction:column;display:flex}.not-found__inner p{color:var(--color-text-secondary)}
