:root{--cream: #fff8f5;--blush: #f9e4e8;--pink: #f2c1cc;--rose: #d97b93;--rose-deep: #b5536d;--gold: #c9a45c;--gold-light: #e6cf9a;--gold-deep: #9c7a36;--ink: #3d2a31;--ink-soft: #6e5860;--bow-black: #1f1a1c;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Jost", "Helvetica Neue", Arial, sans-serif;--script: "Pinyon Script", "Brush Script MT", cursive;--radius: 18px;--max: 1180px;--gold-gradient: linear-gradient(135deg, var(--gold-deep) 0%, var(--gold) 26%, var(--gold-light) 46%, #fff4d8 55%, var(--gold-light) 64%, var(--gold) 80%, var(--gold-deep) 100%);--surface-nav: rgba(255, 248, 245, .9);--footer-bg: var(--ink);--footer-text: var(--blush);--hero-veil-1: rgba(255, 248, 245, .55);--hero-veil-2: rgba(255, 248, 245, .75)}:root[data-theme=dark]{--cream: #1f1319;--blush: #2b1a22;--pink: #efb9c6;--rose: #e58aa2;--rose-deep: #eca9ba;--gold: #d8b46c;--gold-light: #ecd4a0;--gold-deep: #d2ad63;--ink: #f5e7ec;--ink-soft: #d4bac3;--bow-black: #f0dde4;--surface-nav: rgba(31, 19, 25, .88);--footer-bg: #150c10;--footer-text: #ecd2db;--hero-veil-1: rgba(31, 19, 25, .55);--hero-veil-2: rgba(31, 19, 25, .8)}body,.nav,.footer,.services,.service,.contact,.theme-toggle{transition:background-color .4s ease,color .4s ease,border-color .4s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em}h1{font-size:clamp(3rem,8vw,5.6rem);letter-spacing:-.01em}h2{font-size:clamp(2.2rem,5vw,3.4rem)}h3{font-size:1.7rem}p{margin:0 0 1em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.script{font-family:var(--script);font-weight:400;color:var(--rose)}.center{text-align:center}.eyebrow{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:1rem}.btn{display:inline-block;padding:.95em 2em;border-radius:999px;background:var(--rose);color:#fff;text-decoration:none;font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;border:1px solid var(--rose);transition:background .25s,color .25s,transform .25s,box-shadow .25s;box-shadow:0 8px 22px -10px #b5536d99}.btn:hover{background:var(--rose-deep);border-color:var(--rose-deep);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--gold);box-shadow:none}.btn-ghost:hover{background:var(--gold);border-color:var(--gold);color:#fff}.btn-small{padding:.6em 1.4em;font-size:.72rem;color:#fff!important}.link-arrow{display:inline-block;color:var(--rose-deep);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;font-weight:400}.link-arrow:after{content:" →"}.link-arrow:hover{color:var(--gold-deep)}svg use{fill:currentColor}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.9rem clamp(1rem,4vw,3rem);background:var(--surface-nav);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,164,92,.25)}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}.brand-bow{width:38px;height:24px;color:var(--rose)}.brand-emblem{height:46px;width:auto;display:block}.brand-name{font-family:var(--serif);font-size:1.6rem;font-weight:500;letter-spacing:.02em}.brand-name em{font-style:normal;font-family:var(--sans);font-size:.5em;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-left:.35em;vertical-align:middle}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a:not(.btn){text-decoration:none;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400}.nav-links a:not(.btn):hover{color:var(--rose-deep)}.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.nav-toggle span:not(.sr-only){display:block;width:24px;height:1.5px;background:var(--ink);margin:5px 0;transition:transform .3s,opacity .3s}.nav-right{display:flex;align-items:center;gap:1.2rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:999px;background:transparent;border:1px solid rgba(201,164,92,.5);color:var(--gold-deep);cursor:pointer}.theme-toggle:hover{background:var(--gold);border-color:var(--gold);color:#fff}.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:inline}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.hero-wrap{background:radial-gradient(70% 60% at 82% 0%,rgba(242,193,204,.45),transparent 60%),linear-gradient(var(--hero-veil-1),var(--hero-veil-2)),url(/images/marble.jpg) center / cover;border-bottom:1px solid rgba(201,164,92,.3)}.hero{max-width:var(--max);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3rem) 3rem;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}.h1-name{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 2px rgba(61,42,49,.3))}.h1-sub{display:block;font-family:var(--sans);font-weight:400;font-size:.26em;letter-spacing:.6em;text-transform:uppercase;color:var(--gold-deep);margin-top:.5em}.tagline{font-family:var(--script);color:var(--rose);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;margin:.1em 0 .6em}.tagline span{color:var(--gold)}.lede{font-size:1.15rem;color:var(--ink-soft);max-width:32em}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-media{position:relative}.arch{border-radius:999px 999px var(--radius) var(--radius);overflow:hidden;aspect-ratio:4 / 5;padding:10px;background:var(--gold-gradient);box-shadow:0 0 0 1px #fff9,0 0 40px 6px #d6ecf8cc,0 30px 60px -30px #3d2a3173}.arch img{width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:999px 999px 12px 12px}.hero-emblem{position:absolute;width:clamp(130px,22vw,184px);height:auto;top:clamp(-40px,-7vw,-36px);left:50%;transform:translate(-50%);filter:drop-shadow(0 10px 18px rgba(61,42,49,.45));z-index:2;pointer-events:none}.divider{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:420px;margin:1rem auto;padding:0 1rem;color:var(--gold)}.divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.divider span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}.divider svg{width:46px;height:29px}.about{max-width:var(--max);margin:0 auto;padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:center}.about-media{position:relative}.about-media:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);border-radius:var(--radius)}.about-media img{position:relative;border-radius:var(--radius);width:100%;aspect-ratio:3 / 4;object-fit:cover;box-shadow:0 30px 60px -30px #3d2a3173}.about-text h2 .script{font-size:1.15em}.about-text p{color:var(--ink-soft)}.services{background:var(--blush);padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem);position:relative}.section-head{text-align:center;max-width:36em;margin:0 auto 3rem}.section-head p:not(.eyebrow){color:var(--ink-soft)}.service-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service{background:var(--cream);border-radius:var(--radius);padding:2.4rem 1.8rem 2rem;border:1px solid rgba(201,164,92,.35);position:relative;transition:transform .3s,box-shadow .3s}.service:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px #b5536d73}.service-bow{width:44px;height:28px;color:var(--gold);margin-bottom:1rem}.service p{color:var(--ink-soft);font-size:.98rem}.service ul{list-style:none;padding:0;margin:1.2rem 0 0;border-top:1px solid rgba(201,164,92,.35);padding-top:1rem}.service li{font-size:.9rem;padding:.2rem 0 .2rem 1.2rem;position:relative}.service li:before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;background:var(--rose);transform:rotate(45deg)}.services-note{text-align:center;margin:2.5rem auto 0;color:var(--ink-soft);font-style:italic;font-family:var(--serif);font-size:1.2rem}.gallery{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem)}.gallery-grid{max-width:var(--max);margin:0 auto 2.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-grid figure{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:4 / 5;background:var(--blush)}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-grid figure:hover img{transform:scale(1.05)}.salon-banner{position:relative;max-height:560px;overflow:hidden}.salon-banner img{width:100%;height:100%;max-height:560px;object-fit:cover}.salon-banner-text{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,#2d1e2499,#2d1e2447)}.salon-banner-text .script{color:#fff;font-size:clamp(2.6rem,7vw,5rem);margin:0;text-shadow:0 4px 20px rgba(0,0,0,.25)}.contact{text-align:center;padding:clamp(4rem,9vw,8rem) clamp(1rem,4vw,3rem);background:radial-gradient(78% 66% at 50% 22%,rgba(242,193,204,.55),transparent 74%),radial-gradient(ellipse at top,var(--blush),var(--cream) 70%)}.brand-seal{width:clamp(220px,36vw,340px);height:auto;margin:-3rem auto 1rem;display:block;filter:drop-shadow(0 0 22px rgba(255,251,246,.85)) drop-shadow(0 16px 30px rgba(61,42,49,.4))}:root[data-theme=dark] .brand-seal{filter:drop-shadow(0 0 40px rgba(242,193,204,.45)) drop-shadow(0 16px 32px rgba(0,0,0,.6))}.contact>p:not(.eyebrow){color:var(--ink-soft)}.phone{display:inline-block;font-family:var(--serif);font-size:clamp(2.4rem,7vw,4rem);text-decoration:none;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;margin:.5rem 0;font-weight:600}.center-actions{justify-content:center;margin-top:1.5rem}.visit{max-width:760px;margin:3.5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;text-align:left}.visit-card{background:var(--cream);border:1px solid rgba(201,164,92,.35);border-radius:var(--radius);padding:1.8rem 1.8rem 1.6rem}.visit-card h3{font-size:1.3rem;margin-bottom:1rem}.hours{list-style:none;margin:0;padding:0}.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.32rem 0;font-size:.95rem;border-bottom:1px solid rgba(201,164,92,.18)}.hours li:last-child{border-bottom:0}.hours .closed{color:var(--ink-soft)}.visit-card address{font-style:normal;font-size:1.05rem;line-height:1.6;margin-bottom:.8rem}.visit-note{margin:1rem 0 0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}.footer{background:var(--footer-bg);color:var(--footer-text);text-align:center;padding:3.5rem 1rem 2rem}.footer .brand{justify-content:center;margin-bottom:.6rem}.footer .brand-bow{color:var(--pink)}.footer .brand-name em{color:var(--gold-light)}.footer p{font-size:.9rem;opacity:.85}.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0 2rem}.socials a{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-size:.9rem;color:var(--gold-light)}.socials a:hover{color:var(--pink)}.socials svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.socials svg .fill{fill:currentColor;stroke:none}.fine{font-size:.78rem!important;opacity:.55!important;margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:980px){.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){body{font-size:16px}.nav-toggle{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:1.2rem;padding:1.5rem 1rem 2rem;background:var(--cream);border-bottom:1px solid rgba(201,164,92,.35);display:none}.nav.open .nav-links{display:flex}.nav.open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav.open .nav-toggle span:nth-child(2){opacity:0}.nav.open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.brand-name{font-size:1.35rem}.hero{grid-template-columns:1fr;text-align:center;padding-top:2rem}.hero-media{order:-1;max-width:340px;margin:1.5rem auto 0;width:100%}.lede{margin:0 auto 1em}.hero-actions{justify-content:center}.about{grid-template-columns:1fr}.about-media{max-width:360px;margin:0 auto;width:calc(100% - 22px)}.about-text{text-align:center}.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.salon-banner img{aspect-ratio:4 / 3}.visit{grid-template-columns:1fr}}
