@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg:#fff;--color-bg-soft:#f9fbf9;--color-bg-warm:#f5f2ec;--color-bg-dark:#0f1f10;--color-primary:#1e3f20;--color-primary-light:#2a5a2d;--color-primary-dark:#162e18;--color-primary-muted:#1e3f2014;--color-accent:#d4af37;--color-accent-soft:#c5a059;--color-accent-light:#e8d48b;--color-accent-muted:#d4af3726;--color-rose:#c4919b;--color-rose-light:#e8c4ca;--color-rose-soft:#f2d7db;--color-rose-dark:#a87580;--color-rose-muted:#c4919b1f;--color-rose-glow:#c4919b40;--color-bg-rose:#fdf6f7;--color-text:#2c3e2f;--color-text-light:#6b7d6e;--color-text-muted:#99a89c;--color-text-on-dark:#e8ede9;--color-text-on-primary:#fff;--color-border:#1e3f201a;--color-border-accent:#d4af374d;--color-border-rose:#c4919b4d;--color-success:#2d6a4f;--color-error:#c44536;--color-warning:#e0a458;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 3px #1e3f200f, 0 1px 2px #1e3f200a;--shadow-md:0 4px 16px #1e3f2014, 0 2px 4px #1e3f200a;--shadow-lg:0 12px 40px #1e3f201a, 0 4px 12px #1e3f200d;--shadow-xl:0 20px 60px #1e3f201f, 0 8px 20px #1e3f200f;--shadow-gold:0 4px 20px #d4af3726;--shadow-rose:0 4px 20px #c4919b33;--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--container-max:1200px;--container-narrow:800px;--nav-height:80px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.7;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--color-primary);font-weight:600;line-height:1.2}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl);letter-spacing:-.01em}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}.text-accent{color:var(--color-accent)}.text-gold{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-light) 50%, var(--color-accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-rose{background:linear-gradient(135deg, var(--color-rose) 0%, var(--color-rose-light) 50%, var(--color-rose) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.25em;color:var(--color-accent);font-weight:600}.container{max-width:var(--container-max);padding:0 var(--space-xl);margin:0 auto}.container--narrow{max-width:var(--container-narrow)}.section{padding:var(--space-5xl) 0}.section--soft{background-color:var(--color-bg-soft)}.section--rose{background-color:var(--color-bg-rose)}.section--dark{background-color:var(--color-bg-dark);color:var(--color-text-on-dark)}.section--dark h2,.section--dark h3,.section--dark h4{color:var(--color-text-on-primary)}.navbar{height:var(--nav-height);z-index:1000;transition:all var(--duration-normal) var(--ease-out);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar--transparent{background:0 0}.navbar--solid{-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#ffffffeb}.navbar__inner{width:100%;max-width:var(--container-max);padding:0 var(--space-xl);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar__logo{flex-direction:column;gap:0;line-height:1;display:flex}.navbar__logo-main{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-primary);letter-spacing:.05em;transition:color var(--duration-normal);font-weight:600}.navbar--transparent .navbar__logo-main{color:#fff}.navbar__logo-sub{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.35em;color:var(--color-accent);margin-top:2px;font-size:9px}.navbar__links{align-items:center;gap:var(--space-2xl);display:flex}.navbar__link{font-size:var(--text-sm);color:var(--color-text);transition:color var(--duration-fast);font-weight:500;position:relative}.navbar--transparent .navbar__link{color:#ffffffd9}.navbar__link:after{content:"";background:var(--color-accent);width:0;height:1.5px;transition:width var(--duration-normal) var(--ease-out);position:absolute;bottom:-4px;left:0}.navbar__link:hover:after,.navbar__link--active:after{width:100%}.navbar__link:hover{color:var(--color-accent)}.navbar--transparent .navbar__link:hover{color:var(--color-accent-light)}.navbar__cta{align-items:center;gap:var(--space-sm);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--text-sm);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-out);border:1px solid #0000;padding:.65rem 1.5rem;font-weight:600;display:inline-flex}.navbar__cta:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-gold);border-color:var(--color-accent);transform:translateY(-1px)}.navbar__burger{padding:var(--space-sm);flex-direction:column;gap:5px;display:none}.navbar__burger span{background:var(--color-primary);width:22px;height:2px;transition:all var(--duration-normal);border-radius:2px;display:block}.navbar--transparent .navbar__burger span{background:#fff}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);padding:.875rem 2rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";width:100%;height:100%;transition:left var(--duration-slow);background:linear-gradient(90deg,#0000,#ffffff1a,#0000);position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary);border:1px solid #d4af3733}.btn--primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg), var(--shadow-gold);transform:translateY(-2px)}.btn--primary:active{transform:translateY(0)}.btn--outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn--outline:hover{background:var(--color-primary);color:var(--color-text-on-primary);transform:translateY(-2px)}.btn--gold{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-soft) 100%);color:#1a1a1a;font-weight:700}.btn--gold:hover{box-shadow:var(--shadow-gold);transform:translateY(-2px)}.btn--rose{background:linear-gradient(135deg, var(--color-rose) 0%, var(--color-rose-light) 100%);color:#fff;border:1px solid #c4919b4d;font-weight:600}.btn--rose:hover{box-shadow:var(--shadow-rose);background:linear-gradient(135deg, var(--color-rose-dark) 0%, var(--color-rose) 100%);transform:translateY(-2px)}.btn--lg{font-size:var(--text-base);border-radius:var(--radius-lg);padding:1.1rem 2.5rem}.btn--sm{font-size:var(--text-xs);padding:.5rem 1.2rem}.btn--full{width:100%}.card{background:var(--color-bg);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);border:1px solid var(--color-border);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-accent);transform:translateY(-4px)}.card__image{object-fit:cover;width:100%;height:240px;transition:transform var(--duration-slow) var(--ease-out)}.card:hover .card__image{transform:scale(1.05)}.card__image-wrap{position:relative;overflow:hidden}.card__body{padding:var(--space-xl)}.card__tag{background:var(--color-accent-muted);color:var(--color-accent-soft);font-size:var(--text-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.1em;padding:.3rem .8rem;font-weight:600;display:inline-block}.card__tag--rose{background:var(--color-rose-muted);color:var(--color-rose-dark)}.card__title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-primary);margin:var(--space-md) 0 var(--space-sm)}.card__desc{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.6}.card__price{align-items:baseline;gap:var(--space-xs);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border);display:flex}.card__price-value{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-primary);font-weight:700}.card__price-unit{color:var(--color-text-muted);font-size:var(--text-sm)}.card--glass{-webkit-backdrop-filter:blur(16px)saturate(180%);background:#ffffffb3;border:1px solid #fff6}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg img{object-fit:cover;object-position:center 20%;width:100%;height:100%}.hero__overlay{z-index:1;background:linear-gradient(135deg,#0f1f10d1 0%,#1e3f2099 35%,#c4919b2e 70%,#c4919b14 100%);position:absolute;inset:0}.hero__content{z-index:2;max-width:620px;padding:var(--space-4xl) 0;position:relative}.hero__subtitle{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3em;color:var(--color-accent-light);margin-bottom:var(--space-lg);font-weight:600}.hero__title{font-family:var(--font-serif);font-size:var(--text-6xl);color:#fff;margin-bottom:var(--space-xl);font-weight:700;line-height:1.1}.hero__title em{color:var(--color-accent-light);font-style:italic}.hero__desc{font-size:var(--text-lg);color:#fffc;margin-bottom:var(--space-2xl);max-width:480px;line-height:1.8}.hero__actions{gap:var(--space-md);align-items:center;display:flex}.hero__scroll-hint{z-index:2;align-items:center;gap:var(--space-sm);color:#ffffff80;font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;flex-direction:column;animation:2s ease-in-out infinite float;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollLine}@keyframes float{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}@keyframes scrollLine{0%{opacity:0;transform-origin:top;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}to{opacity:0;transform-origin:bottom;transform:scaleY(0)}}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-header .subtitle{margin-bottom:var(--space-md);display:block}.section-header h2{margin-bottom:var(--space-md)}.section-header p{color:var(--color-text-light);font-size:var(--text-lg);max-width:600px;margin:0 auto}.section-header__line{background:linear-gradient(90deg, var(--color-accent), var(--color-rose-light), var(--color-accent-light));width:60px;height:2px;margin:var(--space-lg) auto 0;border-radius:1px;display:block}.gallery-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.gallery-item{border-radius:var(--radius-lg);aspect-ratio:4/5;cursor:pointer;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out)}.gallery-item:after{content:"";border-radius:var(--radius-lg);transition:border-color var(--duration-normal);pointer-events:none;border:2px solid #0000;position:absolute;inset:0}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:hover:after{border-color:var(--color-accent)}.gallery-item:nth-child(2n):hover:after{border-color:var(--color-rose)}.gallery-item__overlay{opacity:0;transition:opacity var(--duration-normal);padding:var(--space-xl);background:linear-gradient(#0000 50%,#0f1f1099 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item__overlay{opacity:1}.gallery-item__label{color:#fff;font-family:var(--font-serif);font-size:var(--text-lg)}.testimonials-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.testimonial-card{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-2xl);border:1px solid var(--color-border);transition:all var(--duration-normal) var(--ease-out);position:relative}.testimonial-card:before{content:"\"";font-family:var(--font-serif);color:var(--color-rose-muted);font-size:4rem;line-height:1;position:absolute;top:.5rem;left:1.5rem}.testimonial-card:nth-child(2):before{color:var(--color-accent-muted)}.testimonial-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-accent);transform:translateY(-4px)}.testimonial-card:nth-child(odd):hover{border-color:var(--color-border-rose);box-shadow:var(--shadow-rose)}.testimonial-card__stars{margin-bottom:var(--space-md);color:var(--color-accent);font-size:var(--text-sm);gap:2px;display:flex}.testimonial-card__text{font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-xl);font-style:italic;line-height:1.7}.testimonial-card__author{align-items:center;gap:var(--space-md);display:flex}.testimonial-card__avatar{border-radius:var(--radius-full);background:var(--color-primary-muted);width:44px;height:44px;font-family:var(--font-serif);color:var(--color-primary);font-weight:600;font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.testimonial-card:nth-child(odd) .testimonial-card__avatar{background:var(--color-rose-muted);color:var(--color-rose-dark)}.testimonial-card__name{font-weight:600;font-size:var(--text-sm);color:var(--color-primary)}.testimonial-card__service{font-size:var(--text-xs);color:var(--color-text-muted)}.cta-section{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);padding:var(--space-5xl) 0;text-align:center;position:relative;overflow:hidden}.cta-section:before{content:"";pointer-events:none;background:radial-gradient(at 30%,#d4af3714 0%,#0000 50%),radial-gradient(at 70%,#c4919b1a 0%,#0000 50%);width:120%;height:200%;position:absolute;top:-50%;left:-10%}.cta-section h2{color:#fff;margin-bottom:var(--space-md)}.cta-section p{color:#ffffffb3;font-size:var(--text-lg);margin-bottom:var(--space-2xl);max-width:500px;margin-left:auto;margin-right:auto}.footer{background-color:var(--color-bg-dark);color:var(--color-text-on-dark);padding:var(--space-4xl) 0 var(--space-xl)}.footer__grid{gap:var(--space-3xl);margin-bottom:var(--space-3xl);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer__brand .navbar__logo-main{color:#fff;font-size:var(--text-2xl)}.footer__brand-desc{color:#ffffff80;font-size:var(--text-sm);margin-top:var(--space-md);max-width:280px;line-height:1.7}.footer__heading{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-lg);font-weight:700}.footer__link{font-size:var(--text-sm);color:#ffffff80;padding:var(--space-xs) 0;transition:color var(--duration-fast);display:block}.footer__link:hover{color:var(--color-accent-light)}.footer__bottom{padding-top:var(--space-xl);border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.footer__copy{font-size:var(--text-xs);color:#ffffff4d}.footer__socials{gap:var(--space-md);display:flex}.footer__social{border-radius:var(--radius-full);color:#ffffff80;width:36px;height:36px;font-size:var(--text-sm);transition:all var(--duration-normal);border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex}.footer__social:hover{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.form-group{margin-bottom:var(--space-lg)}.form-label{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:var(--space-sm);font-weight:600;display:block}.form-input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;color:var(--color-text);font-size:var(--text-base);transition:all var(--duration-normal);outline:none;padding:.85rem 1rem}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-input::placeholder{color:var(--color-text-muted)}.form-select{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;color:var(--color-text);font-size:var(--text-base);appearance:none;cursor:pointer;transition:all var(--duration-normal);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='%232C3E2F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;outline:none;padding:.85rem 1rem}.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.booking-stepper{margin-bottom:var(--space-3xl);justify-content:center;gap:0;display:flex;position:relative}.booking-step{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);display:flex;position:relative}.booking-step__number{border-radius:var(--radius-full);width:32px;height:32px;font-size:var(--text-xs);border:2px solid var(--color-border);color:var(--color-text-muted);transition:all var(--duration-normal);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.booking-step__label{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--duration-normal);white-space:nowrap;font-weight:500}.booking-step--active .booking-step__number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.booking-step--active .booking-step__label{color:var(--color-primary);font-weight:600}.booking-step--completed .booking-step__number{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a}.booking-step--completed .booking-step__label{color:var(--color-text)}.booking-step__connector{background:var(--color-border);width:40px;height:2px;margin:0 var(--space-xs);transition:background var(--duration-normal);align-self:center}.booking-step__connector--active{background:var(--color-accent)}.calendar{background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-xl)}.calendar__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.calendar__month{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-primary);font-weight:600}.calendar__nav{gap:var(--space-sm);display:flex}.calendar__nav-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text);transition:all var(--duration-fast);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.calendar__nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.calendar__weekdays{margin-bottom:var(--space-sm);grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__weekday{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) 0;font-weight:600}.calendar__days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__day{aspect-ratio:1;border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--duration-fast);cursor:pointer;justify-content:center;align-items:center;font-weight:500;display:flex}.calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--empty){background:var(--color-primary-muted);color:var(--color-primary)}.calendar__day--today{border:1.5px solid var(--color-accent);color:var(--color-accent-soft)}.calendar__day--selected{font-weight:700;background:var(--color-primary)!important;color:#fff!important}.calendar__day--disabled{color:var(--color-text-muted);opacity:.4;cursor:not-allowed}.calendar__day--empty{cursor:default}.time-slots{gap:var(--space-sm);margin-top:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.time-slot{text-align:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);transition:all var(--duration-fast);cursor:pointer;padding:.65rem;font-weight:500}.time-slot:hover:not(.time-slot--disabled){border-color:var(--color-primary);background:var(--color-primary-muted)}.time-slot--selected{font-weight:600;background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}.time-slot--disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.price-summary{background:var(--color-bg-soft);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--color-border)}.price-summary__row{padding:var(--space-sm) 0;font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.price-summary__row--total{border-top:1.5px solid var(--color-border);margin-top:var(--space-md);padding-top:var(--space-md);font-weight:700;font-size:var(--text-base)}.price-summary__row--highlight{color:var(--color-accent-soft);font-weight:600}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.25rem .75rem;font-weight:600;display:inline-flex}.badge--confirmed{color:var(--color-success);background:#2d6a4f1a}.badge--pending{background:var(--color-accent-muted);color:var(--color-accent-soft)}.badge--cancelled{color:var(--color-error);background:#c445361a}.badge--completed{background:var(--color-primary-muted);color:var(--color-primary)}.dashboard-stats{gap:var(--space-lg);margin-bottom:var(--space-3xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-out)}.stat-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-md)}.stat-card__icon{border-radius:var(--radius-md);background:var(--color-primary-muted);width:44px;height:44px;font-size:var(--text-xl);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.stat-card__value{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-primary);font-weight:700;line-height:1}.stat-card__label{font-size:var(--text-sm);color:var(--color-text-light);margin-top:var(--space-xs)}.data-table{border-collapse:collapse;width:100%}.data-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:left;padding:var(--space-md) var(--space-lg);border-bottom:2px solid var(--color-border);font-weight:700}.data-table td{padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tr:hover td{background:var(--color-bg-soft)}.about-hero{gap:var(--space-4xl);min-height:70vh;padding:var(--space-5xl) 0;grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-hero__image{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.about-hero__image img{object-fit:cover;aspect-ratio:3/4;width:100%;height:100%}.about-hero__image:after{content:"";border:2px solid var(--color-rose);border-radius:var(--radius-xl);opacity:0;transition:opacity var(--duration-normal);position:absolute;inset:0}.about-hero__image:hover:after{opacity:1}.about-hero__text h1{margin-bottom:var(--space-xl)}.about-hero__text p{color:var(--color-text-light);font-size:var(--text-lg);margin-bottom:var(--space-lg);line-height:1.8}.timeline{padding-left:var(--space-3xl);position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--color-accent), var(--color-rose-light), var(--color-primary));width:2px;position:absolute;top:0;bottom:0;left:11px}.timeline__item{padding-bottom:var(--space-2xl);position:relative}.timeline__item:before{content:"";left:calc(-1 * var(--space-3xl) + 4px);border-radius:var(--radius-full);background:var(--color-accent);border:3px solid var(--color-bg);width:16px;height:16px;box-shadow:0 0 0 2px var(--color-accent);position:absolute;top:6px}.timeline__item:nth-child(2n):before{background:var(--color-rose);box-shadow:0 0 0 2px var(--color-rose)}.timeline__year{font-family:var(--font-serif);color:var(--color-primary);font-weight:700;font-size:var(--text-lg);margin-bottom:var(--space-xs)}.timeline__desc{color:var(--color-text-light);font-size:var(--text-sm);line-height:1.6}.confirmation{text-align:center;padding:var(--space-4xl) 0}.confirmation__icon{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-accent), var(--color-rose-light));width:80px;height:80px;margin:0 auto var(--space-xl);animation:popIn .6s var(--ease-spring);box-shadow:var(--shadow-rose);justify-content:center;align-items:center;font-size:2rem;display:flex}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.confirmation__details{background:var(--color-bg-soft);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:500px;margin:var(--space-2xl) auto;border:1px solid var(--color-border);text-align:left}.reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(30px)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.reveal--delay-4{transition-delay:.4s}.confetti-container{pointer-events:none;z-index:9999;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:3s ease-out forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.mobile-menu{-webkit-backdrop-filter:blur(20px);z-index:999;justify-content:center;align-items:center;gap:var(--space-xl);opacity:0;visibility:hidden;transition:all var(--duration-normal);background:#0f1f10f2;flex-direction:column;display:flex;position:fixed;inset:0}.mobile-menu--open{opacity:1;visibility:visible}.mobile-menu__link{font-family:var(--font-serif);font-size:var(--text-3xl);color:#fff;transition:color var(--duration-fast)}.mobile-menu__link:hover{color:var(--color-accent)}.mobile-menu__close{top:var(--space-xl);right:var(--space-xl);color:#fff;font-size:var(--text-2xl);padding:var(--space-sm);position:absolute}.page-content{min-height:100vh}.page-enter{animation:pageEnter .4s var(--ease-out)}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.grid-2col-responsive{grid-template-columns:1fr 1fr;display:grid}.grid-3col-responsive{grid-template-columns:1fr 1fr 1fr;display:grid}.grid-3fr-2fr-responsive{grid-template-columns:3fr 2fr;display:grid}.grid-2fr-1fr-responsive{grid-template-columns:2fr 1fr;display:grid}.grid-12fr-2fr-responsive{grid-template-columns:1.2fr 2fr;display:grid}.grid-15fr-1fr-responsive{grid-template-columns:1.5fr 1fr;display:grid}@media (width<=768px){.grid-2col-responsive,.grid-3col-responsive,.grid-3fr-2fr-responsive,.grid-2fr-1fr-responsive,.grid-12fr-2fr-responsive,.grid-15fr-1fr-responsive{grid-template-columns:1fr!important}}@media (width<=1024px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}.hero__title{font-size:var(--text-5xl)}.about-hero{gap:var(--space-2xl);grid-template-columns:1fr}.footer__grid{gap:var(--space-2xl);grid-template-columns:1fr 1fr}}@media (width<=768px){:root{--nav-height:64px}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.hero__title{font-size:var(--text-4xl)}.hero__desc{font-size:var(--text-base)}.navbar__links{display:none}.navbar__burger{display:flex}.gallery-grid{grid-template-columns:repeat(2,1fr)}.testimonials-grid{grid-template-columns:1fr}.booking-stepper{gap:var(--space-sm);flex-wrap:wrap}.booking-step__label{display:none}.time-slots{grid-template-columns:repeat(2,1fr)}.section{padding:var(--space-3xl) 0}.container{padding:0 var(--space-md)}.footer__grid{gap:var(--space-xl);grid-template-columns:1fr}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{text-align:center}}@media (width<=480px){.hero__title{font-size:var(--text-3xl)}.gallery-grid,.dashboard-stats{grid-template-columns:1fr}.booking-step__connector{display:none}}
