:root{--background:#fcfaf7;--foreground:#262626;--card:#fff;--primary:#b27079;--primary-foreground:#fff;--primary-dark:#a5505b;--secondary:#faead1;--secondary-foreground:#333;--muted:#f6f2ee;--muted-foreground:#737373;--border:#e7dadc;--cream-section:#fdfbf7;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-sans:"Lato", system-ui, -apple-system, sans-serif;--radius:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px #50282814;--shadow-md:0 8px 30px #5028281a;--shadow-lg:0 20px 50px #50282824;--shadow-xl:0 25px 60px #5028282e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400;overflow-x:hidden}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:-.025em;font-weight:600}.admin-shell{color:#2c1f1e;background:#f7f2f0;grid-template-columns:240px 1fr;min-height:100vh;font-family:Inter,system-ui,sans-serif;display:grid}.admin-sidebar{color:#fffaf8;background:#6f1414;flex-direction:column;gap:20px;padding:24px 18px;display:flex}.admin-brand{flex-direction:column;gap:4px;display:flex}.admin-brand-name{font-size:1.15rem;font-weight:800}.admin-brand-sub{text-transform:uppercase;letter-spacing:.12em;opacity:.75;font-size:.72rem}.admin-nav{flex-direction:column;flex:1;gap:6px;display:flex}.admin-nav-link{color:#fffaf8d9;border-radius:10px;padding:10px 12px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s}.admin-nav-link:hover{color:#fff;background:#ffffff1a}.admin-nav-link--active{color:#fff;background:#ffffff2e}.admin-sidebar-footer{flex-direction:column;gap:10px;margin-top:auto;display:flex}.admin-main{padding:28px 32px 48px;overflow-x:auto}.admin-page{max-width:1100px}.admin-page-header{margin-bottom:24px}.admin-page-header--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-page-header h1{letter-spacing:-.5px;margin:8px 0 6px;font-size:1.75rem;font-weight:800}.admin-muted{color:#6f5a57;font-size:.95rem}.admin-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#bd706d;font-size:.72rem;font-weight:800}.admin-link,.admin-link-muted{font-size:.9rem;font-weight:600;text-decoration:none}.admin-link{color:#6f1414}.admin-link-muted{color:#fffaf8cc}.admin-link-muted:hover{color:#fff}.admin-panel{background:#fff;border:1px solid #e8c7c0e6;border-radius:16px;margin-bottom:20px;padding:20px 22px 24px;box-shadow:0 8px 24px #6f14140d}.admin-panel h2{margin:0 0 16px;font-size:1.1rem;font-weight:800}.admin-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-panel-head h2{margin:0}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.admin-stat-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-bookings-list{flex-direction:column;gap:16px;display:flex}.admin-booking-card{background:#fffaf8;border:1px solid #e8c7c0cc;border-radius:12px;padding:16px}.admin-booking-card-head{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.admin-booking-card-head h3{margin:0 0 4px;font-size:1.05rem}.admin-booking-meta{color:#6f5a57;margin:6px 0 0;font-size:.82rem}.admin-booking-message{white-space:pre-wrap;margin:0 0 12px;font-size:.92rem;line-height:1.55}.admin-booking-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.admin-field--compact{min-width:140px}.admin-field--inline{flex-direction:row;align-items:center;gap:10px}.admin-field--inline span{white-space:nowrap}.admin-filter-row{gap:12px;display:flex}.admin-csv-actions{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.admin-csv-help{margin-bottom:12px}.admin-btn--file{cursor:pointer}.admin-alert--warn{color:#6f1414;background:#bd706d1f}.admin-stat-card{background:#fff;border:1px solid #e8c7c0e6;border-radius:14px;padding:16px 18px}.admin-stat-card--highlight{background:linear-gradient(145deg,#fffaf8,#f8ebe7);border-color:#bd706d}.admin-stat-label{text-transform:uppercase;letter-spacing:.06em;color:#6f5a57;margin-bottom:6px;font-size:.78rem;font-weight:700;display:block}.admin-stat-value{color:#2c1f1e;font-size:1.35rem;font-weight:800}.admin-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.admin-btn--primary{color:#fff;background:linear-gradient(135deg,#a85f5d,#6f1414)}.admin-btn--primary:hover{transform:translateY(-1px)}.admin-btn--ghost{color:#2c1f1e;background:0 0;border:1px solid #e8c7c0f2}.admin-btn--danger{color:#a33;background:#fff;border:1px solid #c44;margin-top:12px}.admin-btn--small{padding:6px 12px;font-size:.82rem}.admin-btn--block{width:100%}.admin-btn:disabled{opacity:.65;cursor:wait}.admin-form{flex-direction:column;gap:14px;display:flex}.admin-form--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-field--full{grid-column:1/-1}.admin-field span{text-transform:uppercase;letter-spacing:.05em;color:#6f5a57;font-size:.78rem;font-weight:700}.admin-field input,.admin-field select,.admin-field textarea{color:#2c1f1e;background:#fff;border:1px solid #e8c7c0f2;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.94rem}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline-offset:1px;outline:2px solid #bd706d}.admin-form-actions{gap:10px;display:flex}.admin-alert{border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:.9rem;font-weight:600}.admin-alert--error{color:#6f1414;background:#6f141414}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8c7c099;padding:10px 12px}.admin-table th{text-transform:uppercase;letter-spacing:.05em;color:#6f5a57;font-size:.75rem}.admin-table-link{color:#6f1414;font-weight:700;text-decoration:none}.admin-table-link:hover{text-decoration:underline}.admin-table-sub{color:#6f5a57;margin-top:2px;font-size:.8rem;display:block}.admin-badge{text-transform:capitalize;color:#6f5a57;background:#f8ebe7;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:700;display:inline-block}.admin-badge--booked,.admin-badge--in-progress{color:#2d5a2d;background:#e8f4e8}.admin-badge--completed{color:#444;background:#e8ebe8}.admin-badge--cancelled{color:#933;background:#fde8e8}.admin-list{margin:0;padding:0;list-style:none}.admin-list li{border-bottom:1px solid #e8c7c080}.admin-list-link{color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;text-decoration:none;display:flex}.admin-list-link:hover{background:#fdf8f6}.admin-list-sub{color:#6f5a57;font-size:.85rem;font-weight:500;display:block}.admin-list-meta{color:#6f5a57;white-space:nowrap;font-size:.85rem}.admin-loading{background:#f7f2f0;place-items:center;min-height:100vh;display:grid}.admin-login-page{background:linear-gradient(160deg,#fdf5f3,#fff);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login-card{background:#fff;border:1px solid #e8c7c0f2;border-radius:20px;width:min(100%,400px);padding:32px 28px;box-shadow:0 20px 50px #6f14141a}.admin-login-card h1{margin:8px 0;font-size:1.5rem}.admin-login-lead{color:#6f5a57;margin:0 0 20px;font-size:.92rem}.admin-login-back{color:#6f5a57;margin-top:18px;display:inline-block}@media (width<=900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-flow:wrap;align-items:center}.admin-nav{flex-flow:wrap;width:100%}.admin-sidebar-footer{flex-direction:row;width:100%;margin-top:0}.admin-stat-grid,.admin-stat-grid--compact,.admin-stat-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form--grid{grid-template-columns:1fr}}.website{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.website>main{flex:auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@media (width>=768px){.container{padding:0 48px}}.italic{font-style:italic}.text-primary{color:var(--primary)}#home,#services,#about,#gallery,#reviews,#faq,#contact{scroll-margin-top:88px}.section-sparkle{display:inline}.section-header{text-align:center;max-width:48rem;margin:0 auto 4rem}.section-header h2{font-family:var(--font-serif);color:var(--foreground);letter-spacing:-.025em;margin:0 0 1.5rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:600;line-height:1.2}.section-header p{color:var(--muted-foreground);margin:0;font-size:1.125rem;font-weight:400;line-height:1.75}.section-cta-wrap{justify-content:center;margin-top:40px;display:flex}.btn{font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:1rem 2rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-outline{color:var(--primary);border:1.5px solid var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.btn-hero-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-lg);padding:1.25rem 2rem}.btn-hero-primary:hover{background:#a9606a;transform:translateY(-2px)}.btn-hero-outline{color:#fff;background:0 0;border:1.5px solid #fff;padding:1.25rem 2rem}.btn-hero-outline:hover{color:var(--foreground);background:#fff;transform:translateY(-2px)}.btn-full{width:100%}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}button.btn-nav,button.btn-footer-cta{border:none;font-family:inherit}.site-header{z-index:50;padding:1.5rem 0;transition:background .5s,box-shadow .5s,padding .5s;position:fixed;top:0;left:0;right:0}.site-header.is-transparent{background:0 0;border-bottom:none}.site-header.is-scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);background:#fffffff2;padding:1rem 0}.header-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.brand-link{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;transition:color .3s}.site-header.is-transparent .brand-link{color:#fff}.site-header.is-scrolled .brand-link{color:var(--primary)}.site-nav a{letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-weight:400;transition:color .2s}.site-header.is-transparent .site-nav a:not(.btn-nav-book){color:#ffffffe6}.site-header.is-transparent .site-nav a:not(.btn-nav-book):hover{color:var(--secondary)}.site-header.is-scrolled .site-nav a:not(.btn-nav-book){color:var(--foreground)}.site-header.is-scrolled .site-nav a:not(.btn-nav-book):hover{color:var(--primary)}.btn-nav-book{letter-spacing:0;text-transform:none;cursor:pointer;border:none;border-radius:999px;padding:.65rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .3s}.site-header.is-transparent .btn-nav-book{background:var(--primary);color:#fff;box-shadow:var(--shadow-md)}.site-header.is-transparent .btn-nav-book:hover{color:#fff;background:#a9606a}.site-header.is-scrolled .btn-nav-book{background:var(--primary);color:#fff}.site-header.is-scrolled .btn-nav-book:hover{background:var(--primary-dark)}.photo-placeholder{text-align:center;background:linear-gradient(145deg, var(--secondary), var(--muted));border:2px dashed var(--border);width:100%;height:100%;min-height:200px;color:var(--muted-foreground);justify-content:center;align-items:center;padding:24px;font-size:.9rem;font-weight:600;line-height:1.4;display:flex}.hero-fullscreen{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-fullscreen-bg{position:absolute;inset:0}.hero-fullscreen-bg img{object-fit:cover;width:100%;height:100%}.hero-fullscreen-fallback{background:linear-gradient(135deg,#95505a,#60393e);width:100%;height:100%}.hero-fullscreen-overlay{mix-blend-mode:multiply;background:#0006;position:absolute;inset:0}.hero-fullscreen-overlay:after{content:"";background:linear-gradient(#0006,#0000 40%,#0009);position:absolute;inset:0}.hero-fullscreen-content{z-index:10;text-align:center;max-width:56rem;margin:0 auto;padding:6rem 1.5rem 4rem;position:relative}.hero-fullscreen-content h1{font-family:var(--font-serif);color:#fff;text-shadow:0 2px 12px #00000059;letter-spacing:-.025em;margin:0 0 1.5rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;line-height:1.15}.hero-brand{color:var(--secondary)}.hero-fullscreen-sub{color:#ffffffe6;letter-spacing:.025em;text-shadow:0 1px 8px #0000004d;max-width:36rem;margin:0 auto 2.5rem;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:300;line-height:1.6}.hero-fullscreen-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.about-ref-section{background:var(--cream-section);padding:6rem 0}.about-ref-inner{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem 4rem;display:grid}.about-ref-photo{aspect-ratio:3/4;margin:0;max-width:26rem;box-shadow:var(--shadow-xl);background:#fff;border:5px solid #000;border-radius:50% 50% 0 0;margin-inline:auto;position:relative;overflow:hidden}.about-ref-photo img,.about-ref-photo .photo-placeholder{object-fit:cover;border:none;width:100%;height:100%;min-height:100%;display:block}.about-ref-eyebrow{font-family:var(--font-serif);color:var(--primary);letter-spacing:.025em;margin:0 0 .75rem;font-size:1.125rem;font-style:italic;font-weight:300}.about-ref-copy h2{font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 1.25rem;font-size:clamp(2rem,4vw,3rem);line-height:1.2}.about-ref-copy p{color:var(--muted-foreground);margin:0 0 1.15rem;font-size:1.05rem;line-height:1.7}.about-ref-copy p strong{color:var(--foreground);font-weight:700}.about-ref-lead{border-radius:var(--radius);background:#ffffffd9;border:1px solid #b2707926;margin-bottom:0;padding:1rem 1.15rem;font-weight:600;color:var(--primary)!important;font-size:1.02rem!important;line-height:1.65!important}.about-ref-badges{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.about-ref-badges li{color:var(--foreground);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #b270791a;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.badge-dot{color:var(--primary);font-size:.85rem}.gallery-home-card .photo-placeholder{border:none;min-height:100%;font-size:.78rem}.instagram-card .photo-placeholder{border:none;min-height:100%;font-size:.75rem}.logo-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{font-family:var(--font-serif);color:var(--foreground);font-size:1.15rem;font-weight:700}.brand-subtitle{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin-top:2px;font-size:.68rem;font-weight:700}.nav-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;display:none}.nav-toggle span{background:var(--foreground);border-radius:2px;height:2px;transition:transform .2s;display:block}.site-nav{align-items:center;gap:24px;display:flex}.site-nav a{color:var(--muted-foreground);font-size:.9rem;font-weight:600;transition:color .18s}.site-nav a:hover{color:var(--primary)}.btn-nav{padding:10px 18px;font-size:.85rem}.services-ref-section{background:#fff;padding:6rem 0}.services-ref-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.service-ref-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;height:100%;transition:box-shadow .5s,transform .3s;display:flex;overflow:hidden}.service-ref-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.service-ref-image{height:16rem;position:relative;overflow:hidden}.service-ref-image img,.service-ref-image .photo-placeholder{object-fit:cover;border:none;width:100%;height:100%;min-height:100%;transition:transform .7s}.service-ref-card:hover .service-ref-image img{transform:scale(1.05)}.service-ref-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--primary);box-shadow:var(--shadow-sm);background:#ffffffe6;border-radius:999px;padding:.35rem .85rem;font-size:.72rem;font-weight:700;position:absolute;top:1rem;right:1rem}.service-ref-body{flex-direction:column;flex:1;padding:2rem;display:flex;position:relative}.service-ref-body:before{content:"";background:linear-gradient(90deg,#0000,#b270794d,#0000);height:1px;position:absolute;top:0;left:2rem;right:2rem}.service-ref-body h3{font-family:var(--font-serif);color:var(--foreground);margin:0 0 .75rem;font-size:1.5rem}.service-ref-body p{color:var(--muted-foreground);flex:1;margin:0;font-size:1rem;line-height:1.65}.values-section{background:linear-gradient(to bottom right, #b27079e6, var(--primary));color:#fff;padding:5rem 0;position:relative;overflow:hidden}.values-section-bg{opacity:.15;background-image:radial-gradient(circle at 20%,#fff 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.values-section-inner{z-index:1;text-align:center;position:relative}.values-section-inner h2{font-family:var(--font-serif);color:#fff;letter-spacing:-.025em;margin:0 0 4rem;font-size:clamp(2rem,4.5vw,3rem)}.values-grid{grid-template-columns:repeat(3,1fr);gap:2rem 3rem;max-width:56rem;margin:0 auto 4rem;padding:0;list-style:none;display:grid}.value-item{text-align:center;flex-direction:column;align-items:center;display:flex}.value-icon{width:4rem;height:4rem;color:var(--secondary);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.5rem;display:flex}.value-item h3{font-family:var(--font-sans);letter-spacing:.025em;color:#fff;margin:0;font-size:1.05rem;font-weight:500}.values-cta{white-space:normal;text-align:center;max-width:100%;height:auto;line-height:1.4}.vision-section{background:var(--cream-section);padding:6rem 0}.vision-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.vision-copy h2{font-family:var(--font-serif);letter-spacing:-.025em;margin:0 0 2rem;font-size:clamp(2rem,4vw,3rem);line-height:1.2}.vision-list{flex-direction:column;gap:1rem;margin:0 0 2.5rem;padding:0;list-style:none;display:flex}.vision-list li{color:var(--muted-foreground);align-items:center;gap:1rem;font-size:1.125rem;display:flex}.vision-list li:before{content:"";background:var(--primary);width:.5rem;height:.5rem;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0}.vision-photo{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);aspect-ratio:4/5;margin:0;border:1px solid #ffffff80;max-width:28rem;margin-inline:auto;overflow:hidden}.vision-photo img,.vision-photo .photo-placeholder{object-fit:cover;border:none;width:100%;height:100%;min-height:100%;display:block}.booking-section{background:#fff;padding:6rem 0;position:relative}.booking-section:before{content:"";background:linear-gradient(to bottom, var(--cream-section), transparent);pointer-events:none;height:10rem;position:absolute;top:0;left:0;right:0}.booking-section-inner{z-index:1;max-width:48rem;position:relative}.booking-inline-form{box-shadow:var(--shadow-xl);background:#fff;border:1px solid #b270791a;border-radius:1.5rem;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}@media (width>=768px){.booking-inline-form{padding:3rem}}.form-row{gap:16px;display:grid}.form-row-2{grid-template-columns:1fr 1fr}.form-field{flex-direction:column;gap:6px;display:flex}.form-field span{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-size:.82rem;font-weight:700}.form-field span em{color:var(--primary-dark);font-style:normal}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.96rem;transition:border-color .18s,outline .18s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.form-field textarea{resize:vertical;min-height:120px}.form-error-wrap{background:#fef1f1;border:1px solid #f9b9b9;border-radius:10px;padding:12px 14px}.form-error{color:#a32929;margin:0;font-size:.9rem;font-weight:600}.booking-success{text-align:center;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:48px 32px}.booking-success h2{margin:12px 0 16px;font-size:2rem}.booking-success p{color:var(--muted-foreground);margin:0 0 28px;line-height:1.65}.reviews-section{background:var(--cream-section);padding:6rem 0}.reviews-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.review-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;background:#fff;border:1px solid #b2707933;flex-direction:column;height:100%;margin:0;padding:2rem;transition:box-shadow .2s;display:flex}.review-card:hover{box-shadow:var(--shadow-md)}.review-stars-row{color:var(--secondary);letter-spacing:.1em;filter:saturate(1.3);margin-bottom:1rem;font-size:1rem}.review-card p{color:var(--muted-foreground);flex:1;margin:0 0 1.5rem;font-size:1rem;font-style:italic;line-height:1.7}.review-card footer{color:var(--foreground);font-size:.95rem;font-style:normal;font-weight:500}.gallery-home-section{background:var(--background);padding:80px 0}.gallery-filters{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:32px;display:flex}.gallery-filter-btn{color:var(--muted-foreground);background:var(--card);border:1.5px solid var(--border);cursor:pointer;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .18s}.gallery-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.gallery-filter-btn.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.gallery-home-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.gallery-home-card{border-radius:var(--radius);aspect-ratio:3/4;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.gallery-home-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gallery-home-card img{object-fit:cover;width:100%;height:100%;display:block}.gallery-home-label{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(#0000,#000000b3);padding:12px 14px;font-size:.82rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.faq-section{background:var(--card);padding:80px 0}.faq-list{flex-direction:column;gap:10px;max-width:760px;margin:0 auto;display:flex}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);overflow:hidden}.faq-question{cursor:pointer;width:100%;font-family:var(--font-serif);color:var(--foreground);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:1.05rem;font-weight:600;display:flex}.faq-question:hover{color:var(--primary)}.faq-icon{background:var(--muted);width:28px;height:28px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:400;line-height:1;display:flex}.faq-answer{color:var(--muted-foreground);padding:0 22px 18px;font-size:.97rem;line-height:1.7}.instagram-section{background:var(--background);padding:80px 0}.instagram-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.instagram-card{border-radius:var(--radius);aspect-ratio:1;box-shadow:var(--shadow-sm);transition:transform .2s;overflow:hidden}.instagram-card:hover{transform:scale(1.03)}.instagram-card img{object-fit:cover;width:100%;height:100%;display:block}.site-footer-ref{color:#f9f2ec;background:#1a1a1a;padding:56px 0 32px}.footer-ref-inner{text-align:center;flex-direction:column;align-items:center;gap:32px;display:flex}.footer-ref-stats{flex-wrap:wrap;justify-content:center;gap:24px 40px;display:flex}.footer-stat{color:#f2e6d9;flex-direction:column;align-items:center;gap:6px;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .18s;display:flex}a.footer-stat:hover{color:#fff}.footer-stat-icon{font-size:1.4rem}.btn-footer-cta{font-size:1rem}.footer-ref-bottom{border-top:1px solid #3d292c;flex-direction:column;align-items:center;gap:12px;width:100%;padding-top:24px;display:flex}.footer-ref-brand{font-family:var(--font-serif);color:#fff;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.footer-ref-brand img{object-fit:cover;border-radius:50%}.footer-ref-brand .logo-mark{width:40px;height:40px;font-size:.85rem}.footer-ref-tagline{font-family:var(--font-serif);color:var(--secondary);margin:0;font-size:1.1rem}.footer-copy{color:#fff6;margin:0;font-size:.75rem}.gallery-page{background:var(--background);padding:48px 24px 96px}.gallery-page-header{text-align:center;max-width:720px;margin:0 auto 32px}.gallery-page-header h1{font-family:var(--font-serif);color:var(--foreground);margin:0 0 12px;font-size:clamp(2rem,4.5vw,3rem)}.gallery-page-lead{color:var(--muted-foreground);margin:0;font-size:1.05rem;line-height:1.65}.gallery-tabs{z-index:8;border:1px solid var(--border);max-width:1200px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fdfaf7f2;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 40px;padding:14px 16px;display:flex;position:sticky;top:76px}.gallery-tab{color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:999px;padding:10px 16px;font-size:.86rem;font-weight:700;text-decoration:none;transition:color .18s,background .18s}.gallery-tab:hover{color:var(--primary);background:var(--muted)}.gallery-sections{flex-direction:column;gap:56px;max-width:1200px;margin:0 auto;display:flex}.gallery-album{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px 24px 32px;scroll-margin-top:120px}.gallery-album-title{font-family:var(--font-serif);color:var(--foreground);margin:0 0 20px;font-size:1.45rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.gallery-cell{border-radius:var(--radius);border:1px solid var(--border);background:var(--muted);margin:0;overflow:hidden}.gallery-cell-trigger{cursor:zoom-in;background:0 0;border:none;width:100%;margin:0;padding:0;line-height:0;display:block}.gallery-cell-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.gallery-cell img{object-fit:cover;width:100%;height:220px;display:block}.gallery-lightbox{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out;background:#140e0ee0;justify-content:center;align-items:center;padding:clamp(16px,5vw,40px);display:flex;position:fixed;inset:0}.gallery-lightbox-content{cursor:default;max-width:min(96vw,1320px);max-height:90vh;position:relative}.gallery-lightbox-image{object-fit:contain;border-radius:var(--radius);width:auto;max-width:100%;height:auto;max-height:min(88vh,1100px);margin:0 auto;display:block;box-shadow:0 28px 90px #00000080}.gallery-lightbox-close{z-index:101;color:#fff;cursor:pointer;background:#2c1f1eeb;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:1.85rem;font-weight:300;line-height:1;display:flex;position:fixed;top:18px;right:18px}.gallery-lightbox-close:hover{background:var(--primary)}.gallery-lightbox-nav{z-index:102;color:#fff;cursor:pointer;background:#2c1f1ee0;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;padding:0;font-size:2rem;font-weight:300;line-height:1;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.gallery-lightbox-nav:hover{background:var(--primary)}.gallery-lightbox-nav--prev{left:max(12px, env(safe-area-inset-left,0px))}.gallery-lightbox-nav--next{right:max(12px, env(safe-area-inset-right,0px))}.gallery-lightbox-counter{text-align:center;color:#fffaf8eb;margin:14px 0 0;font-size:.9rem;font-weight:700}button.book-link,button.primary-button,button.secondary-button{cursor:pointer;border:none;font-family:inherit}.booking-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140e0eb8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.booking-modal{border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);width:min(100%,560px);max-height:min(92vh,900px);box-shadow:var(--shadow-lg);padding:28px 26px 30px;position:relative;overflow-y:auto}.booking-modal-close{border:1px solid var(--border);background:var(--background);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:14px;right:14px}.booking-modal-close:hover{background:var(--muted)}.booking-modal-header{margin-bottom:20px;padding-right:36px}.booking-modal-header h2{font-family:var(--font-serif);color:var(--foreground);margin:0 0 8px;font-size:1.65rem}.booking-modal-lead{color:var(--muted-foreground);margin:0;font-size:.95rem;line-height:1.6}.booking-form{flex-direction:column;gap:14px;display:flex}.booking-form-row{gap:14px;display:grid}.booking-form-row--2{grid-template-columns:1fr 1fr}.booking-field{flex-direction:column;gap:6px;display:flex}.booking-field span,.booking-schedule legend{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-size:.82rem;font-weight:700}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:.96rem}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.booking-field textarea{resize:vertical;min-height:100px}.booking-schedule{border:none;margin:0;padding:0}.booking-schedule legend{margin-bottom:10px;padding:0}.booking-form-error-wrap{flex-direction:column;gap:8px;display:flex}.booking-form-error{color:#a32929;background:#fef1f1;border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem;font-weight:600}.booking-form-mailto{color:var(--primary);font-size:.9rem;font-weight:700;text-decoration:underline}.booking-form-submit{width:100%;margin-top:4px}.booking-form-submit:disabled{opacity:.7;cursor:wait}.booking-modal-success{text-align:center;padding:12px 8px 4px}.booking-modal-success h2{font-family:var(--font-serif);margin:0 0 10px;font-size:1.6rem}.booking-modal-success p{color:var(--muted-foreground);margin:0 0 22px;line-height:1.65}.primary-button{background:var(--primary);color:#fff;border-radius:999px;padding:14px 24px;font-weight:700;display:inline-block}.secondary-button{border:1.5px solid var(--border);color:var(--foreground);background:var(--card);border-radius:999px;padding:14px 24px;font-weight:700;display:inline-block}.eyebrow{background:var(--secondary);color:var(--primary-dark);text-transform:uppercase;letter-spacing:.1em;border-radius:999px;margin-bottom:12px;padding:6px 14px;font-size:.75rem;font-weight:700;display:inline-block}@media (width<=960px){.about-ref-inner,.vision-inner{grid-template-columns:1fr;gap:2.5rem}.services-ref-grid,.values-grid,.reviews-grid,.gallery-home-grid,.instagram-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.nav-toggle{display:flex}.site-nav{border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);background:#fffffffa;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:flex}.site-nav a,.site-nav .btn-nav-book{border-bottom:1px solid var(--border);text-align:center;padding:12px 0;color:var(--foreground)!important}.site-nav .btn-nav-book{border-bottom:none;margin-top:8px;background:var(--primary)!important;color:#fff!important}.site-header{position:fixed}.site-header.is-transparent .brand-link{color:#fff}.header-inner{flex-wrap:wrap;position:relative}.hero-fullscreen-actions{flex-direction:column;align-items:stretch}.hero-fullscreen-actions .btn{text-align:center;justify-content:center}.services-ref-grid,.reviews-grid,.form-row-2,.booking-form-row--2{grid-template-columns:1fr}.booking-inline-form{padding:24px 18px}.footer-ref-stats{flex-direction:column;gap:16px}.gallery-tabs{border-radius:var(--radius);flex-wrap:nowrap;justify-content:flex-start;top:68px;overflow-x:auto}.gallery-tab{flex:none}}@media (width<=480px){.values-grid,.gallery-home-grid,.instagram-grid{grid-template-columns:1fr 1fr}}
