:root{--ivory:#faf7f2;--ivory-deep:#f2ede5;--champagne:#d4a96a;--champagne-light:#edd9b0;--blush:#e8c5b8;--plum:#2c1a2e;--plum-mid:#3e2540;--plum-soft:#5c3d60;--charcoal:#1c1215;--rose:#c47b7b;--mist:#f5f0ea;--ink:#1c1215;--ink-mid:#4a3040;--ink-soft:#7a6070;--ink-light:#a090a0;--surface:#fffef9;--surface-warm:#fdf8f0;--line:#2c1a2e1a;--line-warm:#d4a96a47;--line-light:#faf7f233;--shadow-xs:0 2px 8px #2c1a2e12;--shadow-sm:0 8px 28px #2c1a2e17;--shadow-md:0 18px 52px #2c1a2e21;--shadow-lg:0 32px 80px #2c1a2e2e;--r-xs:6px;--r-sm:12px;--r-md:18px;--r-lg:28px;--r-xl:40px;--r-pill:999px;--font-display:"Cormorant Garamond", "Bodoni Moda", "Times New Roman", serif;--font-body:"DM Sans", "Plus Jakarta Sans", "Segoe UI", sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.75rem;--space-lg:3rem;--space-xl:5rem;--ease:cubic-bezier(.22, 1, .36, 1);--ease-fast:cubic-bezier(.4, 0, .2, 1);--dur-fast:.18s;--dur-med:.32s;--dur-slow:.52s}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.72;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}ul,ol{padding:0;list-style:none}p{margin:0}:focus-visible{outline:2px solid var(--champagne);outline-offset:3px;border-radius:3px}.skip-link{z-index:1000;border-radius:var(--r-pill);background:var(--plum);color:var(--ivory);transition:transform var(--dur-fast) var(--ease);padding:.65rem 1.2rem;font-size:.875rem;font-weight:600;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{width:min(100% - 2.5rem,76rem);margin-inline:auto}.eyebrow{color:var(--champagne);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.72rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--champagne);flex-shrink:0;width:1.8rem;height:1px;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600;line-height:1.08}h1{font-size:clamp(3rem,9vw,6.2rem);font-weight:500}h2{font-size:clamp(2.2rem,6vw,4rem);font-weight:500}h3{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:500}h4{font-size:1.1rem}.btn{border-radius:var(--r-pill);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.82rem 1.8rem;font-size:.875rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--plum);border-color:var(--plum);color:var(--champagne-light);box-shadow:0 8px 24px #2c1a2e40}.btn-primary:hover{background:var(--plum-mid);border-color:var(--plum-mid);box-shadow:0 14px 36px #2c1a2e52}.btn-outline{color:var(--ink);background:0 0;border-color:#2c1a2e4d}.btn-outline:hover{border-color:var(--plum);background:#2c1a2e0a}.btn-ghost{color:var(--ivory);background:#faf7f214;border-color:#faf7f259}.btn-ghost:hover{background:#faf7f224;border-color:#faf7f299}.btn-accent{background:var(--champagne);border-color:var(--champagne);color:var(--charcoal);box-shadow:0 8px 24px #d4a96a4d}.btn-accent:hover{background:#c9a05e;border-color:#c9a05e;box-shadow:0 14px 36px #d4a96a66}.btn-row{flex-wrap:wrap;gap:.8rem;display:flex}.site-header{z-index:200;-webkit-backdrop-filter:blur(20px);transition:background var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);background:#0e0712e0;border-bottom:1px solid #d4a96a24;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{background:#0a050ef5;border-bottom-color:#d4a96a3d;box-shadow:0 4px 40px #00000073}.nav{justify-content:space-between;align-items:center;gap:1rem;height:5rem;display:flex}.brand{flex-shrink:0;align-items:center;display:inline-flex}.brand-logo{object-fit:contain;filter:drop-shadow(0 5px 14px #00000061);width:4.35rem;height:4.35rem;transition:transform var(--dur-med) var(--ease)}.brand:hover .brand-logo{transform:scale(1.04)}.footer-brand .brand-logo{width:7rem;height:7rem}.nav-links{align-items:center;gap:.25rem;display:none}.nav-links a{letter-spacing:.02em;color:#faf7f2d1;border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:.5rem .9rem;font-size:.84rem;font-weight:500}.nav-links a:hover{color:var(--champagne-light);background:#d4a96a1a}.nav-book{display:none}.nav-toggle{z-index:220;border-radius:var(--r-sm);width:2.9rem;height:2.9rem;color:var(--champagne-light);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:#d4a96a12;border:1px solid #d4a96a59;place-items:center;padding:0;display:grid;position:relative}.nav-toggle:hover,.nav-toggle[aria-expanded=true]{background:#d4a96a29;border-color:#d4a96abf}.nav-toggle-open{visibility:visible;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);place-items:center;gap:.3rem;display:grid}.nav-toggle-open span{background:currentColor;border-radius:2px;width:1.2rem;height:1.5px;display:block}.nav-toggle-close{opacity:0;visibility:hidden;width:1.35rem;height:1.35rem;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);display:block;position:absolute;transform:rotate(-45deg)scale(.72)}.nav-toggle-close:before,.nav-toggle-close:after{content:"";background:currentColor;border-radius:2px;width:1.35rem;height:2px;position:absolute;top:50%;left:50%}.nav-toggle-close:before{transform:translate(-50%,-50%)rotate(45deg)}.nav-toggle-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-open{opacity:0;visibility:hidden;transform:rotate(45deg)scale(.72)}.nav-toggle[aria-expanded=true] .nav-toggle-close{opacity:1;visibility:visible;transform:rotate(0)scale(1)}.nav-drawer{transition:transform var(--dur-med) var(--ease);-webkit-backdrop-filter:blur(24px);z-index:150;background:#0a050ef7;border-bottom:1px solid #d4a96a2e;gap:.35rem;padding:6.2rem 1.5rem 1.5rem;display:grid;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.nav-drawer.is-open{transform:translateY(0)}.nav-drawer a{border-radius:var(--r-sm);color:#faf7f2d9;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) ease;padding:.85rem 1rem;font-size:.93rem;font-weight:500}.nav-drawer a:hover{color:var(--champagne-light);background:#d4a96a1a}.nav-drawer .btn{width:100%;margin-top:.5rem}body.menu-open{overflow:hidden}.hero{height:100dvh;min-height:100svh;color:var(--ivory);background:var(--plum);display:grid;position:relative;overflow:hidden}.hero-bg,.hero-overlay,.hero-content-wrap{grid-area:1/1}.hero-bg{width:100%;height:100%}.hero-bg img{object-fit:cover;object-position:center 30%;filter:brightness(.62)saturate(.92);width:100%;height:100%;animation:14s ease-out forwards hero-zoom;transform:scale(1.04)}.hero-overlay{background:radial-gradient(at 50% 48%,#000000d6 0%,#000000b8 42%,#0000007a 78%,#00000057 100%),linear-gradient(#0000007a 0%,#000000b8 45%,#000000f5 100%),#00000038}.hero-content-wrap{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-content{text-align:center;flex-direction:column;align-items:center;max-width:46rem;margin-inline:auto;display:flex}.hero-eyebrow:after{content:"";background:var(--champagne);flex-shrink:0;width:1.8rem;height:1px;display:block}.hero-eyebrow{animation:fade-up .8s var(--ease) .2s both}.hero-title{animation:fade-up .8s var(--ease) .36s both}.hero-subtitle{animation:fade-up .8s var(--ease) .48s both}.hero-actions{animation:fade-up .8s var(--ease) .58s both}.hero-title{color:var(--ivory);text-align:center;text-shadow:0 12px 30px #00000073;max-width:15ch;margin:.5rem 0 clamp(.6rem,2vh,1rem);font-size:clamp(2.2rem,6vw,4.2rem);font-style:italic;font-weight:400;line-height:1.04}@media (width>=640px){.hero-title{max-width:24ch}.hero-title br{display:none}}.hero-subtitle{color:#faf7f2cc;text-align:center;text-shadow:0 10px 24px #00000059;max-width:36rem;margin-bottom:clamp(1rem,3vh,1.8rem);font-size:clamp(.9rem,2vw,1.05rem);line-height:1.6}.hero-actions{justify-content:center}.hero-rule{align-items:center;gap:.8rem;margin-bottom:1.6rem;display:flex}.hero-rule span{background:#d4a96a66;flex:1;max-width:3.5rem;height:1px;display:block}.hero-rule em{color:#d4a96aa6;letter-spacing:.25em;text-transform:uppercase;font-size:.68rem;font-style:normal}.scroll-cue{color:#d4a96a8c;letter-spacing:.22em;text-transform:uppercase;z-index:2;animation:fade-up 1s var(--ease) .9s both;flex-direction:column;align-items:center;gap:.5rem;font-size:.62rem;display:flex;position:absolute;bottom:2.5rem;right:2.5rem}.scroll-cue:after{content:"";background:#d4a96a59;width:1px;height:2.5rem;animation:2.5s ease-in-out infinite scroll-line;display:block}.marquee-strip{z-index:1;border-block:1px solid var(--line-warm);background:var(--plum);padding-block:.85rem;position:relative;overflow:hidden}.marquee-track{white-space:nowrap;gap:3rem;animation:28s linear infinite marquee-scroll;display:flex}.marquee-item{color:var(--champagne-light);letter-spacing:.2em;text-transform:uppercase;opacity:.8;flex-shrink:0;align-items:center;gap:1.2rem;font-size:.72rem;font-weight:600;display:inline-flex}.marquee-item:after{content:"✦";opacity:.6;font-size:.55rem}.about-section{background:var(--ivory);padding-block:clamp(5rem,12vw,9rem)}.about-grid{align-items:center;gap:clamp(3rem,7vw,6rem);display:grid}.about-media{position:relative}.about-img-wrap{aspect-ratio:5/4;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}.about-img-wrap img{object-fit:cover;object-position:center 44%;width:100%;height:100%}.about-badge{background:var(--surface);border:1px solid var(--line-warm);border-radius:var(--r-md);box-shadow:var(--shadow-md);text-align:center;min-width:8rem;max-width:10rem;padding:1rem 1.25rem;position:absolute;bottom:-1.5rem;right:clamp(-.5rem,2vw,-1rem)}.about-badge strong{font-family:var(--font-display);color:var(--plum);font-size:2.2rem;font-weight:500;line-height:1;display:block}.about-badge span{color:var(--ink-soft);letter-spacing:.06em;font-size:.72rem;font-weight:500}.about-body h2{color:var(--plum);margin-block:.5rem 1.2rem}.about-body>p{color:var(--ink-mid);margin-bottom:1rem;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.8}.about-values{gap:.75rem;margin-top:2rem;display:grid}.about-value{align-items:flex-start;gap:.9rem;display:flex}.about-value-icon{border-radius:var(--r-sm);border:1px solid var(--line-warm);background:linear-gradient(135deg, var(--surface-warm), var(--ivory-deep));flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;font-size:.9rem;display:grid}.about-value-text h4{color:var(--ink);margin-bottom:.1rem;font-size:.9rem;font-weight:600}.about-value-text p{color:var(--ink-soft);font-size:.83rem;line-height:1.5}.section{padding-block:clamp(5rem,11vw,8.5rem)}.section-head{text-align:center;max-width:50rem;margin:0 auto clamp(2.5rem,5vw,4rem)}.section-head h2{color:var(--plum);margin-block:.5rem 1rem}.section-head p{color:var(--ink-mid);max-width:40rem;margin-inline:auto;font-size:clamp(.93rem,2vw,1.05rem)}.section-head--left{text-align:left;margin-inline:0}.services-section{background:var(--mist)}.service-grid{gap:1.2rem;display:grid}.service-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);box-shadow:var(--shadow-xs);grid-template-rows:auto 1fr auto;gap:1rem;padding:1.6rem 1.5rem;display:grid;position:relative;overflow:hidden}.service-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#d4a96a0f,#0000 60%);position:absolute;inset:0}.service-card:hover{box-shadow:var(--shadow-md);border-color:#d4a96a59;transform:translateY(-6px)}.service-num{font-family:var(--font-display);letter-spacing:.16em;color:var(--champagne);font-size:.78rem;font-weight:600}.service-card h3{color:var(--plum);margin-bottom:.5rem;font-size:1.2rem}.service-card p{color:var(--ink-soft);font-size:.88rem;line-height:1.65}.service-book{color:var(--champagne);letter-spacing:.04em;transition:gap var(--dur-fast) var(--ease), color var(--dur-fast) ease;align-items:center;gap:.4rem;padding-top:.25rem;font-size:.8rem;font-weight:600;display:inline-flex}.service-book:after{content:"→"}.service-book:hover{color:var(--plum);gap:.65rem}.bridal-section{background:var(--plum);color:var(--ivory);padding-block:clamp(5rem,11vw,9rem);position:relative;overflow:hidden}.bridal-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#d4a96a1a,#0000 70%);border-radius:50%;width:38rem;height:38rem;position:absolute;top:-10rem;right:-10rem}.bridal-grid{align-items:center;gap:clamp(3rem,7vw,6rem);display:grid}.bridal-img-wrap{aspect-ratio:5/4;border-radius:var(--r-xl);position:relative;overflow:hidden;box-shadow:0 30px 80px #0006}.bridal-img-wrap img{object-fit:cover;object-position:center 28%;width:100%;height:100%}.bridal-img-wrap:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #d4a96a47;position:absolute;inset:0}.bridal-copy .eyebrow{color:var(--champagne)}.bridal-copy h2{color:var(--ivory);margin-block:.6rem 1.2rem;font-style:italic;font-weight:400}.bridal-copy>p{color:#faf7f2c7;margin-bottom:1.8rem;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.75}.bridal-list{gap:.8rem;margin-bottom:2.2rem;display:grid}.bridal-list li{color:#faf7f2e0;align-items:center;gap:.85rem;font-size:.92rem;display:flex}.bridal-list li:before{content:"";background:var(--champagne);flex-shrink:0;width:1.5rem;height:1px;display:block}.treatments-section{background:var(--ivory);padding-block:clamp(5rem,11vw,8.5rem)}.treatment-cards{gap:1.5rem;display:grid}.treatment-card{border-radius:var(--r-xl);background:linear-gradient(135deg, var(--plum-mid), var(--plum));color:var(--ivory);border:1px solid #d4a96a26;padding:clamp(2rem,5vw,3rem);position:relative;overflow:hidden}.treatment-card:before{content:"";background:radial-gradient(circle,#d4a96a24,#0000 70%);border-radius:50%;width:16rem;height:16rem;position:absolute;top:-4rem;right:-4rem}.treatment-card-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:#d4a96abf;margin-bottom:.75rem;font-size:.68rem;font-weight:600}.treatment-card h3{color:var(--ivory);margin-bottom:.8rem;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;font-weight:400}.treatment-card p{color:#faf7f2b3;max-width:28rem;margin-bottom:1.6rem;font-size:.9rem;line-height:1.7}.treatment-tag{border-radius:var(--r-pill);letter-spacing:.08em;color:var(--champagne-light);border:1px solid #d4a96a59;margin-bottom:.5rem;margin-right:.5rem;padding:.35rem .85rem;font-size:.72rem;font-weight:600;display:inline-block}.whyus-section{background:var(--ivory-deep);padding-block:clamp(5rem,11vw,8.5rem)}.whyus-grid{gap:1.2rem;display:grid}.whyus-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);padding:1.75rem}.whyus-card:hover{box-shadow:var(--shadow-sm);border-color:#d4a96a4d;transform:translateY(-4px)}.whyus-icon{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--ivory-deep), var(--mist));border:1px solid var(--line-warm);place-items:center;width:3rem;height:3rem;margin-bottom:1.1rem;font-size:1.25rem;display:grid}.whyus-card h3{color:var(--plum);margin-bottom:.5rem;font-size:1.05rem}.whyus-card p{color:var(--ink-soft);font-size:.86rem;line-height:1.65}.gallery-section{background:var(--plum);padding-block:clamp(5rem,11vw,8.5rem);overflow:hidden}.gallery-section .section-head h2{color:var(--ivory)}.gallery-section .section-head p{color:#faf7f2a6}.gallery-section .eyebrow{color:var(--champagne)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.gallery-item:after{content:attr(data-caption);color:var(--champagne-light);letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);pointer-events:none;border-radius:inherit;background:linear-gradient(#0000 0%,#0f0712bf 100%);padding:1.2rem 1rem .9rem;font-size:.72rem;font-weight:600;position:absolute;bottom:0;left:0;right:0;transform:translateY(4px)}.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1;transform:translateY(0)}.gallery-item img{aspect-ratio:1;object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease), filter var(--dur-slow) var(--ease);filter:saturate(.88)brightness(.92)}.gallery-item:hover img{filter:saturate(1.05)brightness();transform:scale(1.07)}.gallery-item:nth-child(3n+1) img{object-position:center 24%}.gallery-item:nth-child(3n+2) img{object-position:center 42%}.gallery-item:nth-child(3n) img{object-position:center 58%}.testimonials-section{background:var(--ivory);padding-block:clamp(5rem,11vw,8.5rem)}.testimonial-grid{gap:1.25rem;display:grid}.testimonial-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);padding:2rem 1.75rem;position:relative}.testimonial-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-4px)}.testimonial-quote{font-family:var(--font-display);color:var(--champagne-light);margin-bottom:.75rem;font-size:3rem;font-style:italic;line-height:1;display:block}.testimonial-card p{color:var(--ink-mid);margin-bottom:1.2rem;font-size:.93rem;font-style:italic;line-height:1.75}.testimonial-author{align-items:center;gap:.75rem;display:flex}.testimonial-avatar{background:linear-gradient(135deg, var(--champagne-light), var(--blush));width:2.5rem;height:2.5rem;font-family:var(--font-display);color:var(--plum);border-radius:50%;flex-shrink:0;place-items:center;font-size:.95rem;font-weight:600;display:grid}.testimonial-name{color:var(--ink);font-size:.85rem;font-weight:600}.testimonial-stars{color:var(--champagne);letter-spacing:.08em;font-size:.7rem}.faq-section{background:var(--mist);padding-block:clamp(5rem,11vw,8.5rem)}.faq-section .section-head h2{color:var(--plum)}.faq-list{gap:.75rem;display:grid}.faq-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease);overflow:hidden}.faq-item.is-open{border-color:#d4a96a59}.faq-btn{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;font-size:.93rem;font-weight:600;display:flex}.faq-icon{border:1px solid var(--line-warm);width:1.8rem;height:1.8rem;transition:background var(--dur-fast) ease, transform var(--dur-med) var(--ease);color:var(--champagne);border-radius:50%;flex-shrink:0;place-items:center;font-size:1rem;line-height:1;display:grid}.faq-item.is-open .faq-icon{background:var(--plum);border-color:var(--plum);color:var(--champagne-light);transform:rotate(45deg)}.faq-answer{transition:grid-template-rows var(--dur-med) var(--ease);grid-template-rows:0fr;display:grid}.faq-answer>div{overflow:hidden}.faq-answer p{color:var(--ink-soft);padding:0 1.35rem 1.15rem;font-size:.9rem;line-height:1.7}.faq-item.is-open .faq-answer{grid-template-rows:1fr}.cta-band{background:linear-gradient(108deg, var(--plum-mid), var(--plum));text-align:center;padding-block:clamp(4.5rem,10vw,7.5rem);position:relative;overflow:hidden}.cta-band:before{content:"";pointer-events:none;background:radial-gradient(#d4a96a24,#0000 70%);width:50rem;height:16rem;position:absolute;top:-8rem;left:50%;transform:translate(-50%)}.cta-band .eyebrow{color:var(--champagne);justify-content:center}.cta-band .eyebrow:before{display:none}.cta-band h2{color:var(--ivory);margin-block:.6rem 1rem;font-style:italic;font-weight:400}.cta-band>.shell>p{color:#faf7f2b3;max-width:36rem;margin:0 auto 2.2rem;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.75}.cta-band .btn-row{justify-content:center}.contact-section{background:var(--ivory-deep);padding-block:clamp(5rem,11vw,8.5rem)}.contact-grid{align-items:start;gap:clamp(3rem,6vw,5rem);display:grid}.contact-info h2{color:var(--plum);margin-block:.6rem 1rem}.contact-info>p{color:var(--ink-mid);margin-bottom:2rem;font-size:clamp(.93rem,2vw,1rem);line-height:1.75}.contact-cards{gap:.85rem;display:grid}.contact-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.contact-card:hover{box-shadow:var(--shadow-sm);border-color:#d4a96a66;transform:translate(4px)}.contact-card-icon{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--plum), var(--plum-mid));flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;font-size:1rem;display:grid}.contact-card-label{letter-spacing:.15em;text-transform:uppercase;color:var(--champagne);margin-bottom:.15rem;font-size:.67rem;font-weight:700;display:block}.contact-card-value{color:var(--ink);font-size:.9rem;font-weight:600;display:block}.booking-form{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-sm);padding:clamp(1.5rem,4vw,2.5rem)}.form-title{font-family:var(--font-display);color:var(--plum);margin-bottom:1.5rem;font-size:1.5rem;font-weight:500}.form-grid{gap:1rem;display:grid}.form-field{gap:.4rem;display:grid}.form-label{letter-spacing:.06em;color:var(--ink-mid);text-transform:uppercase;font-size:.8rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--ivory);width:100%;color:var(--ink);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;appearance:none;padding:.8rem 1rem;font-size:.92rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--champagne);outline:none;box-shadow:0 0 0 3px #d4a96a26}.form-field textarea{resize:vertical;min-height:6rem}.form-full{grid-column:1/-1}.form-submit{width:100%;margin-top:.5rem}.site-footer{background:var(--charcoal);color:var(--ivory);padding-block:3rem}.footer-grid{gap:2.5rem;display:grid}.footer-tagline{color:#faf7f273;max-width:22rem;margin-top:.75rem;font-size:.82rem;line-height:1.6}.footer-col h4{letter-spacing:.18em;text-transform:uppercase;color:var(--champagne);margin-bottom:.9rem;font-size:.72rem;font-weight:700}.footer-col a{color:#faf7f299;transition:color var(--dur-fast) ease;padding:.2rem 0;font-size:.88rem;display:block}.footer-col a:hover{color:var(--champagne-light)}.footer-bottom{border-top:1px solid #faf7f214;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.5rem;display:flex}.footer-bottom p{color:#faf7f259;font-size:.78rem}.lightbox{border-radius:var(--r-lg);background:var(--plum);width:min(94vw,52rem);box-shadow:var(--shadow-lg);border:0;padding:0;overflow:hidden}.lightbox::backdrop{background:#0a050ce0}.lightbox img{object-fit:contain;background:var(--charcoal);width:100%;max-height:78vh;display:block}.lightbox-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.lightbox-caption{color:#faf7f2a6;font-size:.85rem;font-weight:500}.lightbox-close{width:2.5rem;height:2.5rem;color:var(--ivory);cursor:pointer;transition:background var(--dur-fast) ease;background:#faf7f20f;border:1px solid #faf7f233;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.25rem;display:grid}.lightbox-close:hover{background:#faf7f224}.float-wa{z-index:40;border-radius:var(--r-pill);color:#fff;letter-spacing:.03em;transition:box-shadow var(--dur-fast) ease, transform var(--dur-fast) ease, opacity var(--dur-fast) ease;background:#25d366;align-items:center;gap:.6rem;padding:.78rem 1.1rem;font-size:.82rem;font-weight:700;animation:3.5s ease-in-out infinite wa-bob;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 28px #25d36659}body.menu-open .float-wa{opacity:0;pointer-events:none}.float-wa:hover{animation-play-state:paused;box-shadow:0 14px 40px #25d36673}.float-wa-icon{flex-shrink:0;font-size:1.1rem}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(30px)}.reveal.in-view{opacity:1;transform:none}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes hero-zoom{0%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-line{0%,to{opacity:.4;transform-origin:top;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}@keyframes wa-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (width>=40em){.brand-logo{width:4.6rem;height:4.6rem}.service-grid,.whyus-grid,.treatment-cards,.testimonial-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.form-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.contact-grid,.bridal-grid{grid-template-columns:1fr 1.1fr}}@media (width>=56.25em){.nav-toggle{display:none}.nav-links{display:flex}.nav-book{display:inline-flex}.nav-links a{position:relative}.nav-links a:after{content:"";background:var(--champagne);width:1rem;height:1.5px;transition:transform var(--dur-fast) var(--ease);transform-origin:50%;border-radius:2px;position:absolute;bottom:.25rem;left:50%;transform:translate(-50%)scaleX(0)}.nav-links a:hover:after{transform:translate(-50%)scaleX(1)}.about-grid{grid-template-columns:1fr 1.25fr}.bridal-grid,.contact-grid{grid-template-columns:1fr 1.1fr}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem}.service-grid{grid-template-columns:repeat(4,1fr)}.whyus-grid,.treatment-cards,.testimonial-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}.float-wa{bottom:2rem;right:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-eyebrow,.hero-title,.hero-subtitle,.hero-actions{opacity:1;animation:none;transform:none}.reveal{opacity:1;transform:none}}
