:root{--bone: #f1f1f1;--pewter: #928e8b;--plum: #3a1138;--ink: #1a140f;--copper: #c67f53;--burnished: #b45a2e;--pewter-deep: #6a6664;--copper-deep: #955731;--plum-deep: #2c0d2b;--plum-soft: rgba(58, 17, 56, .55);--bone-warm: #e8e5e0;--bone-dim: #ddd9d2;--charcoal: #201a22;--line-faint: rgba(146, 142, 139, .18);--line-soft: rgba(146, 142, 139, .25);--line-medium: rgba(146, 142, 139, .3);--line-dark: rgba(146, 142, 139, .18);--surface-canvas: var(--bone);--surface-velvet: var(--plum);--surface-card: #ffffff;--surface-raised: var(--bone-warm);--text-headline: var(--ink);--text-body: var(--ink);--text-muted: var(--pewter-deep);--text-on-velvet: var(--bone);--text-muted-velvet:var(--pewter);--text-accent: var(--copper);--text-accent-quiet:var(--copper-deep);--border-hairline: var(--line-soft);--border-rule: var(--copper);--action-fill: var(--copper);--action-on-fill: var(--plum);--action-line: var(--copper)}:root{--font-display: var(--font-jost, "Jost", sans-serif);--font-body: var(--font-jost, "Jost", sans-serif);--font-utility: var(--font-poppins, "Poppins", sans-serif);--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--text-display: clamp(2rem, 4.5vw, 3.2rem);--text-hero: clamp(1.8rem, 3.4vw, 2.6rem);--text-h2: clamp(1.4rem, 2vw, 1.8rem);--text-h3: 1.55rem;--text-lead: 1.15rem;--text-body-lg: 1.05rem;--text-body: 1rem;--text-small: .92rem;--text-eyebrow: .7rem;--text-label: .65rem;--text-nav: .7rem;--leading-tight: 1.05;--leading-snug: 1.2;--leading-body: 1.7;--leading-relaxed:1.75;--tracking-tight: -.005em;--tracking-normal: 0;--tracking-label: .22em;--tracking-eyebrow:.35em;--tracking-wide: .42em}:root{--space-2xs: .4rem;--space-xs: .7rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 8rem;--section-pad-y: 8rem;--section-pad-x: 2rem;--page-hero-pad: 10rem 2rem 5rem;--measure-prose: 720px;--width-narrow: 900px;--width-content: 1000px;--width-wide: 1100px;--radius-none: 0;--radius-sm: 2px;--radius-pill: 999px;--rule-hairline: 1px;--rule-accent: 2px;--rule-emphasis: 3px;--rule-width-sm: 60px;--rule-width-md: 80px}:root{--grad-velvet-hero: radial-gradient(ellipse at top, rgba(198, 127, 83, .12) 0%, transparent 55%), radial-gradient(ellipse at 75% 90%, rgba(180, 90, 46, .1) 0%, transparent 50%), radial-gradient(ellipse at 15% 95%, rgba(0,0,0,.4) 0%, transparent 60%);--grad-velvet-band: radial-gradient(ellipse at top right, rgba(198, 127, 83, .08) 0%, transparent 60%), radial-gradient(ellipse at bottom left, rgba(0,0,0,.4) 0%, transparent 70%);--grad-velvet-soft: radial-gradient(ellipse at top, rgba(198, 127, 83, .06) 0%, transparent 60%);--scrim-cinematic: radial-gradient(ellipse at center, rgba(58, 17, 56, .48) 0%, rgba(46, 26, 42, .34) 55%, rgba(32, 26, 34, .3) 100%), linear-gradient(180deg, rgba(32, 26, 34, .14) 0%, rgba(40, 22, 40, .3) 100%);--scrim-nav: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .25) 50%, transparent 100%);--hatch-light: repeating-linear-gradient(135deg, #e8e5e0 0 12px, #ddd9d2 12px 24px);--hatch-dark: repeating-linear-gradient(135deg, #4a4845 0 12px, #3d3b38 12px 24px);--hatch-plum: repeating-linear-gradient(135deg, #3a1138 0 12px, #2c0d2b 12px 24px);--shadow-none: none;--shadow-logo: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));--shadow-frost: 0 0 0 1px rgba(146, 142, 139, .2);--frost-bg: rgba(241, 241, 241, .96);--frost-bg-menu:rgba(241, 241, 241, .98);--frost-blur: blur(8px);--frost-blur-lg:blur(10px);--ease-standard: ease;--dur-fast: .25s;--dur-base: .3s;--dur-slow: .4s;--dur-slower: .35s;--transition-cta: all .35s ease;--transition-link: color .3s ease}:root{--header-h: 109px}@media(max-width:720px){:root{--header-h: 91px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-utility);font-weight:300;color:var(--ink);background:var(--bone);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:hidden}main{display:block;width:100%;margin:0;padding:0}main>section{width:100%}header{position:fixed;top:0;left:0;right:0;z-index:100;transform:translateZ(0);-webkit-transform:translateZ(0);padding:1.1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent;isolation:isolate}header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,#2c0d2b9e,#2c0d2b57 55%,#2c0d2b00);transition:opacity .4s ease}header.scrolled:before{opacity:0}header .header-right{display:flex;align-items:center}header.scrolled{background:var(--frost-bg);border-bottom-color:#928e8b33;backdrop-filter:var(--frost-blur);-webkit-backdrop-filter:var(--frost-blur)}header .header-lockup{display:flex;align-items:center;text-decoration:none}header .header-lockup img{height:73px;width:129px;object-fit:contain;object-position:left center;display:block}header .header-lockup img.logo-reverse{filter:var(--shadow-logo);transition:filter .25s ease}header .header-lockup img.logo-primary{display:none}header.scrolled .header-lockup img.logo-reverse{display:none}header.scrolled .header-lockup img.logo-primary{display:block}@media(max-width:720px){header .header-lockup img{height:55px;width:97px}}header nav{display:flex;gap:2.5rem;align-items:center}header nav .nav-link,header nav .nav-item>a{color:var(--bone);text-decoration:none;letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:400;transition:color .3s ease;font-family:var(--font-display)}header.scrolled nav .nav-link,header.scrolled nav .nav-item>a{color:var(--ink)}header nav .nav-link:hover,header nav .nav-item>a:hover{color:var(--copper)}header nav .nav-link.is-active,header nav .nav-item>a.is-active,header.scrolled nav .nav-link.is-active,header.scrolled nav .nav-item>a.is-active,header.scrolled nav .nav-link:hover,header.scrolled nav .nav-item>a:hover,header.scrolled .phone:hover{color:var(--copper-deep)}header nav .nav-item{position:relative}header nav .nav-item--has-dropdown>a:after{content:" ▾";font-size:.6em;margin-left:.3em;opacity:.7}header nav .nav-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(.5rem);background:#f1f1f1fa;backdrop-filter:blur(10px);border:1px solid rgba(146,142,139,.2);border-top:2px solid var(--copper);list-style:none;margin:0;padding:.5rem 0;min-width:240px;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s}header nav .nav-item:hover .nav-dropdown,header nav .nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}header nav .nav-dropdown li{margin:0;padding:0}header nav .nav-dropdown a{display:block;padding:.65rem 1.4rem;font-family:var(--font-display);font-size:.78rem;color:var(--ink);text-decoration:none;letter-spacing:.05em;text-transform:none;font-weight:400;transition:background .2s ease,color .2s ease;white-space:nowrap}header nav .nav-dropdown a:hover{background:var(--plum);color:var(--bone)}.bio-layout{display:grid;grid-template-columns:320px 1fr;gap:3.5rem;align-items:start;margin-bottom:3.5rem}@media(max-width:720px){.bio-layout{grid-template-columns:1fr;gap:2rem}}.bio-portrait img{width:100%;height:auto;display:block;border:1px solid rgba(146,142,139,.25)}.bio-portrait__caption{font-family:var(--font-display);font-size:1.1rem;color:var(--ink);margin-top:1rem}.bio-portrait__role{font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--copper-deep);letter-spacing:.05em}.bio-copy p{font-family:var(--font-display);font-size:1.05rem;line-height:1.75;color:var(--ink);margin-bottom:1.4rem}.bio-copy p:last-child{margin-bottom:0}.pull-quote{margin:3.5rem auto;padding:2.5rem 2rem;border-top:1px solid var(--copper);border-bottom:1px solid var(--copper);max-width:720px;text-align:center}.pull-quote p{font-family:var(--font-display);font-style:italic;font-size:1.6rem;line-height:1.4;color:var(--plum);margin:0 0 1rem}.pull-quote footer{background:none;background-image:none;padding:0;font-family:var(--font-display);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter-deep)}.credentials{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2.5rem 0;border-top:1px solid rgba(146,142,139,.2)}.credentials--training{margin-top:0;border-top:none;border-bottom:1px solid rgba(146,142,139,.2)}.credentials__name{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--weight-regular);color:var(--ink);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin-bottom:.4rem}.credentials__name a{color:inherit;text-decoration:none;border-bottom:1px solid var(--copper)}.credentials__name a:hover{color:var(--copper-deep)}@media(max-width:600px){.credentials{grid-template-columns:1fr;gap:1.4rem;padding:2rem 0}}.credentials__item{text-align:center}.credentials__num{font-family:var(--font-display);font-style:italic;font-size:2rem;color:var(--copper-deep);line-height:1;margin-bottom:.4rem}.credentials__label{font-family:var(--font-display);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pewter-deep)}.services-h2{font-family:var(--font-display);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:400;color:var(--ink);margin:2.5rem 0 1rem;letter-spacing:-.005em}.services-h2:first-child{margin-top:0}.services-steps{font-family:var(--font-display);font-size:1rem;line-height:1.7;color:var(--ink);padding-left:1.5rem;max-width:700px}.services-steps li{margin-bottom:.7rem}.faq-q{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--weight-medium);color:var(--ink);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);margin:2rem 0 .4rem;max-width:700px}.faq-a{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-light);line-height:var(--leading-body);color:var(--ink);margin:0;max-width:700px}.faq-item{border-top:1px solid rgba(146,142,139,.25);max-width:700px}.faq-item:last-of-type{border-bottom:1px solid rgba(146,142,139,.25)}.faq-item summary{cursor:pointer;padding:1.15rem 2rem 1.15rem 0;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:1.25rem;font-weight:var(--weight-light);color:var(--copper-deep);line-height:1}.faq-item[open] summary:after{content:"–"}.faq-item summary .faq-q{margin:0}.faq-item summary:hover .faq-q{color:var(--copper-deep)}.faq-item summary:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.faq-item .faq-a{padding:0 2rem 1.35rem 0}.services-list-soft{font-family:var(--font-display);font-size:1.02rem;line-height:1.7;color:var(--ink);list-style:none;padding:0;max-width:640px}.services-list-soft li{padding:.5rem 0 .5rem 1.2rem;border-bottom:1px solid rgba(146,142,139,.18);position:relative}.services-list-soft li:before{content:"—";color:var(--copper-deep);position:absolute;left:0}.services-list-soft li:last-child{border-bottom:none}header .phone{color:var(--bone);text-decoration:none;font-family:var(--font-display);font-size:.9rem;letter-spacing:.05em;font-weight:400;margin-right:1.2rem;transition:color .3s ease;white-space:nowrap}header.scrolled .phone{color:var(--ink)}header .phone:hover{color:var(--copper)}header .cta{border:1px solid var(--copper);background:var(--copper);color:var(--plum);min-width:168px;text-align:center;padding:.9rem 2rem;text-decoration:none;letter-spacing:.2em;text-transform:uppercase;font-size:.82rem;font-weight:500;font-family:var(--font-display);transition:all .3s ease;white-space:nowrap}header .cta:hover{background:var(--bone);color:var(--copper-deep)}.hero{min-height:100vh;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);background:var(--plum);background-image:radial-gradient(ellipse at top,rgba(198,127,83,.12) 0%,transparent 55%),radial-gradient(ellipse at 75% 90%,rgba(180,90,46,.1) 0%,transparent 50%),radial-gradient(ellipse at 15% 95%,rgba(0,0,0,.4) 0%,transparent 60%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero--with-image{background:var(--plum)}.hero-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;z-index:0;pointer-events:none;display:block;opacity:.28;filter:saturate(.55) brightness(.75);mix-blend-mode:luminosity}.hero--with-image:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#3a11388c,#2c0d2bd1),var(--scrim-cinematic);z-index:1}.hero--photo-forward .hero-bg{opacity:.68;filter:saturate(.82) brightness(.7) contrast(.92);mix-blend-mode:normal}.hero--photo-forward:before{background:radial-gradient(ellipse at center,#3a11388c,#260b25cc)}.hero--with-image .hero-content,.hero--with-image .hero-year,.hero--with-image .scroll-cue{position:relative;z-index:2}.hero-year{position:absolute;top:7rem;left:50%;transform:translate(-50%);font-family:var(--font-display);font-style:italic;color:var(--copper);letter-spacing:.4em;font-size:.85rem;z-index:3}.hero-content{position:relative;z-index:2;text-align:center;padding:0 2rem;max-width:720px}.hero-logo{max-width:420px;width:100%;height:auto;display:block;margin:0 auto 2rem}.hero-headline{font-family:var(--font-display);color:var(--bone);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300;line-height:1.2;letter-spacing:-.005em;margin:0 0 1.5rem;max-width:720px}.hero-body{font-family:var(--font-display);color:var(--bone);font-size:clamp(1rem,1.4vw,1.15rem);font-weight:300;line-height:1.65;margin:0 auto 2.5rem;max-width:600px;opacity:.92}.hero-tagline{font-family:var(--font-utility);color:var(--bone);letter-spacing:.42em;text-transform:uppercase;font-size:.7rem;font-weight:300;margin:0 0 3rem}.scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);color:var(--copper);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;z-index:3}.scroll-cue:after{content:"";display:block;width:1px;height:30px;background:var(--copper);margin:.8rem auto 0;opacity:.6}.section-inner{max-width:1000px;margin:0 auto}.section-eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:.7rem;color:var(--copper-deep);margin-bottom:1.5rem;font-weight:400}.section-headline{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:400;color:var(--ink);line-height:1.05;letter-spacing:-.005em}.section-headline-italic{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--plum);line-height:1.05;letter-spacing:-.005em}.section-rule{width:80px;height:1px;background:var(--copper);margin-top:2.25rem;margin-bottom:3rem}.story{padding:8rem 2rem;background:var(--bone)}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}@media(max-width:768px){.story-columns{grid-template-columns:1fr;gap:2rem}}.story-col p{font-family:var(--font-display);font-size:1.05rem;line-height:1.7;color:var(--ink)}.story-col p+p{margin-top:1.2rem;color:var(--pewter-deep);font-style:italic}.hour{padding:8rem 2rem;background:var(--plum);background-image:var(--grad-velvet-band);color:var(--bone);position:relative;overflow:hidden}.hour .section-headline{color:var(--bone)}.hour .section-headline-italic,.hour .section-eyebrow{color:var(--copper)}.hour-more{margin-top:3.5rem;text-align:center}.hour-more a{color:var(--copper)}.moments{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;margin-top:4rem}@media(max-width:900px){.moments{grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media(max-width:500px){.moments{grid-template-columns:1fr}}.moment{text-align:left}.moment .num{font-family:var(--font-display);font-style:italic;color:var(--copper);font-size:1.4rem;margin-bottom:.4rem}.moment .label{font-family:var(--font-display);color:var(--bone);font-size:1.2rem;margin-bottom:.6rem}.moment .body{font-family:var(--font-display);font-style:italic;color:var(--pewter);font-size:.92rem;line-height:1.55}.visit{padding:8rem 2rem;background:var(--bone)}.visit-columns{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;margin-top:1.5rem}@media(min-width:900px){.visit-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem}}.booking-paths--stacked{grid-template-columns:1fr!important;max-width:none}.visit-columns__paths .booking-paths{margin-top:0}.visit-quicklinks{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.visit-quicklinks .booking-cta{white-space:normal;padding:.95rem 1.5rem;letter-spacing:.16em;text-align:center}@media(max-width:560px){.visit-quicklinks{flex-direction:column}.visit-quicklinks .booking-cta{width:100%}}.visit-details{display:grid;grid-template-columns:1fr;gap:0 3.5rem;margin-top:4rem}@media(min-width:700px){.visit-details{grid-template-columns:1fr 1fr}}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}@media(max-width:768px){.visit-grid{grid-template-columns:1fr;gap:2.5rem}}.visit-info p{font-family:var(--font-display);color:var(--ink);margin-bottom:.7rem;line-height:1.6}.visit-info .label{letter-spacing:.3em;text-transform:uppercase;font-size:.65rem;color:var(--copper-deep);font-family:var(--font-utility);font-weight:400;margin-top:1.8rem;margin-bottom:.5rem}.visit-info .label:first-child{margin-top:0}.visit-lead{font-family:var(--font-display);font-style:italic;color:var(--pewter-deep);font-size:1.1rem;line-height:1.6;max-width:380px;margin-bottom:1.5rem}.booking-paths{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem;max-width:1100px}@media(min-width:900px){.booking-paths{grid-template-columns:repeat(3,1fr)}}.booking-path{background:#fff;border:1px solid rgba(146,142,139,.25);border-top:3px solid var(--copper);padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column}.booking-paths-cta{display:none}@media(max-width:899px){.booking-paths{gap:1rem}.booking-path{padding:1.25rem 1.25rem 1.4rem}.booking-path__num{margin-bottom:.4rem;font-size:1.15rem}.booking-path__h{margin-bottom:.5rem}.booking-path__body{margin-bottom:0}.booking-path .booking-cta{display:none}.booking-paths-cta{display:block;margin-top:1.5rem}}.booking-path__num{font-family:var(--font-display);font-style:italic;color:var(--copper-deep);font-size:1.3rem;margin-bottom:.75rem}.booking-path__h{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--ink);margin:0 0 .85rem;line-height:1.2;letter-spacing:-.005em}.booking-path__body{font-family:var(--font-display);font-size:.95rem;color:var(--pewter-deep);line-height:1.6;margin:0 0 1.15rem;flex:1}.booking-path .booking-cta{align-self:flex-start;font-size:.6rem;padding:.9rem 1.5rem;letter-spacing:.18em}footer{background:var(--plum);background-image:var(--grad-velvet-soft);color:var(--bone);padding:4.5rem 2rem 2.5rem;text-align:center}footer .monogram{font-family:var(--font-display);font-style:italic;color:var(--copper);font-size:2.4rem;margin-bottom:.7rem;letter-spacing:.02em}footer .monogram .dot{font-style:normal;font-size:.8em;padding:0 .08em}footer .footer-rule{width:60px;height:1px;background:var(--copper);margin:0 auto 1.5rem}footer .tagline-quote{font-family:var(--font-display);font-style:italic;color:var(--bone);font-size:.95rem;margin-bottom:2.5rem}footer .footer-bottom{border-top:1px solid rgba(146,142,139,.18);padding-top:1.5rem;margin-top:0;letter-spacing:.25em;text-transform:uppercase;font-size:.62rem;color:var(--pewter)}footer .footer-copyright{margin-top:1.25rem;letter-spacing:.18em;font-size:.58rem;color:var(--pewter);opacity:.75}.booking-cta{display:inline-block;border:1px solid var(--copper);padding:1.1rem 2.5rem;text-decoration:none;letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:500;font-family:var(--font-display);transition:all .35s ease;white-space:nowrap}.booking-cta--solid{color:var(--plum);background:var(--copper);border-color:var(--copper)}.booking-cta--solid:hover{background:var(--bone);color:var(--copper);border-color:var(--copper)}.booking-cta--ghost{color:var(--bone);background:transparent}.booking-cta--ghost:hover{background:var(--copper);color:var(--plum)}.booking-cta--primary{color:var(--copper-deep);background:transparent}.booking-cta--primary:hover{background:var(--copper-deep);color:var(--bone)}.image-ph{position:relative;width:100%;border-radius:2px;overflow:hidden;font-family:var(--font-display)}.image-ph__inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;gap:.5rem}.image-ph__icon{width:32px;height:32px;margin-bottom:.5rem;opacity:.55}.image-ph__caption{font-size:1rem;font-weight:400;letter-spacing:.01em}.image-ph__note{font-style:italic;font-size:.85rem;opacity:.7;max-width:300px}.image-ph__hint{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;opacity:.5;margin-top:.4rem}.image-ph--light{background:repeating-linear-gradient(135deg,#e8e5e0 0 12px,#ddd9d2 12px 24px);color:var(--ink)}.image-ph--dark{background:repeating-linear-gradient(135deg,#4a4845 0 12px,#3d3b38 12px 24px);color:var(--bone)}.image-ph--plum{background:repeating-linear-gradient(135deg,#3a1138 0 12px,#2c0d2b 12px 24px);color:var(--copper)}.page-titleband{background:var(--plum);background-image:radial-gradient(ellipse at top,rgba(198,127,83,.1) 0%,transparent 55%);color:var(--bone);padding:9rem 2rem 4.5rem}.page-titleband .section-inner{max-width:1000px;margin:0 auto}.page-titleband .section-eyebrow{color:var(--copper);font-size:.95rem;letter-spacing:.22em;margin-bottom:1rem}.page-titleband .titleband-note{font-family:var(--font-display);color:#f1f1f1d1;font-style:italic;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.55;font-weight:300;margin:.9rem 0 0;max-width:640px}.page-hero{background:var(--plum);background-image:var(--grad-velvet-hero);color:var(--bone);padding:10rem 2rem 5rem;position:relative;overflow:hidden}.page-hero .section-inner{max-width:1000px;margin:0 auto;position:relative;z-index:2;width:100%}.page-hero--photo .page-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.24;filter:saturate(.55) brightness(.75) blur(7px);transform:scale(1.08);mix-blend-mode:luminosity;pointer-events:none;display:block;z-index:0}.page-hero--photo:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#3a113880,#2c0d2bd1);z-index:1}.page-hero--tall{min-height:56vh;padding:8.5rem 2rem 4.5rem;display:flex;flex-direction:column;justify-content:center}.page-hero--tall .section-rule{margin-bottom:1.5rem}.page-hero .section-eyebrow{color:var(--copper)}.page-hero .section-headline{color:var(--bone)}.page-hero .section-headline-italic{color:var(--copper)}.page-hero .hero-lead{font-family:var(--font-display);color:var(--pewter);font-size:1.1rem;font-style:italic;line-height:1.6;margin-top:1.5rem;max-width:540px;letter-spacing:.015em}.about-hero{background:var(--plum);background-image:var(--grad-velvet-hero);color:var(--bone);position:relative;overflow:hidden}.about-hero__grid{display:grid;grid-template-columns:.8fr 1.3fr;align-items:stretch;min-height:70vh}.about-hero__text{padding:9rem 4rem 5rem 6vw;display:flex;flex-direction:column;justify-content:center;max-width:640px}.about-hero__text .section-rule{margin-bottom:1.75rem}.about-hero__text .section-eyebrow{color:var(--copper)}.about-hero__text .section-headline{color:var(--bone)}.about-hero__text .section-headline-italic{color:var(--copper)}.about-hero__text .hero-lead{font-family:var(--font-display);color:var(--bone);opacity:.82;font-size:1.1rem;font-style:italic;line-height:1.6;margin-top:1.5rem;max-width:460px}.about-hero__portrait{position:relative;overflow:hidden;min-height:70vh;padding-top:7rem;box-sizing:border-box}.about-hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.about-hero__portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--plum) 0%,rgba(58,17,56,.5) 10%,rgba(58,17,56,.12) 22%,transparent 30%);z-index:2;pointer-events:none}.about-hero__portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--plum) 0%,rgba(58,17,56,.75) 6%,rgba(58,17,56,.2) 13%,transparent 20%);z-index:2;pointer-events:none}@media(max-width:820px){.about-hero__portrait:after{display:none}}@media(max-width:820px){.about-hero__grid{grid-template-columns:1fr;min-height:0}.about-hero__text{padding:8rem 2rem 2rem;max-width:none}.about-hero__portrait{min-height:0;aspect-ratio:4 / 5;padding-top:0}.about-hero__portrait:before{background:linear-gradient(180deg,transparent 0%,rgba(58,17,56,0) 70%,rgba(58,17,56,.55) 100%)}}.bio-copy--centered{max-width:680px;margin:0 auto}.page{padding:5rem 2rem 6rem;background:var(--bone)}.page .section-inner{max-width:900px;margin:0 auto}.page p{font-family:var(--font-display);font-size:1.05rem;line-height:1.7;color:var(--ink);margin-bottom:1.2rem;max-width:720px}.page .section-lead{font-style:italic;color:var(--pewter-deep);font-size:1.15rem;margin-bottom:2rem}.services-list{margin-top:2rem}.service-card{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding:3rem 0;border-top:1px solid rgba(146,142,139,.3);align-items:start}.service-card:last-child{border-bottom:1px solid rgba(146,142,139,.3)}.service-card .num{font-family:var(--font-display);font-style:italic;font-size:2.6rem;color:var(--copper-deep);line-height:1}.service-card h2{font-family:var(--font-display);font-size:1.55rem;color:var(--ink);margin:0 0 .75rem;font-weight:400}.service-card p{font-family:var(--font-display);color:var(--pewter-deep);line-height:1.65;font-size:1rem;margin:0;max-width:580px}@media(max-width:600px){.service-card{grid-template-columns:1fr;gap:.5rem}.service-card .num{font-size:1.8rem}}.page-cta{background:var(--plum);background-image:var(--grad-velvet-soft);padding:6rem 2rem;text-align:center}.page-cta-headline{font-family:var(--font-display);color:var(--bone);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:400;line-height:1.05;margin-bottom:.2rem}.page-cta-italic{font-family:var(--font-display);font-style:italic;color:var(--copper);font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.05;margin-bottom:2.5rem}.price-nav{position:sticky;top:var(--header-h);z-index:50;background:#361034eb;backdrop-filter:blur(8px);border-bottom:1px solid rgba(198,127,83,.25)}.price-nav__inner{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:2.2rem;padding:1.1rem 2rem}.price-nav a{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:#f1f1f1b8;text-decoration:none;padding-bottom:.2rem;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.price-nav a:hover,.price-nav a.is-active{color:var(--copper);border-bottom-color:var(--copper)}@media(max-width:600px){.price-nav__inner{gap:1.2rem;padding:.9rem 1rem}.price-nav a{font-size:.7rem;letter-spacing:.12em}}.price-group{margin-bottom:3.5rem}.price-group[id]{scroll-margin-top:calc(var(--header-h) + 5rem)}.price-list--pending .price-list__price{color:var(--pewter-deep);font-style:italic}.price-group:last-of-type{margin-bottom:2rem}.price-group__title{font-family:var(--font-display);font-weight:400;font-size:1.7rem;color:var(--ink);margin:0 0 .4rem;padding-bottom:.6rem;border-bottom:1px solid rgba(198,127,83,.45)}.price-group__note{font-family:var(--font-display);font-style:italic;color:var(--pewter-deep);font-size:1rem;line-height:1.6;margin:.8rem 0 1.5rem;max-width:620px}.price-list{list-style:none;padding:0;margin:0;max-width:640px}.price-list li{display:flex;align-items:baseline;gap:.5rem;padding:.7rem 0;border-bottom:1px solid rgba(146,142,139,.18)}.price-list li:last-child{border-bottom:none}.price-list__name{font-family:var(--font-display);font-size:1.08rem;color:var(--ink);white-space:nowrap}.price-list__name em{font-style:italic;color:var(--pewter-deep)}.price-list__dots{flex:1;border-bottom:1px dotted rgba(146,142,139,.45);transform:translateY(-.25rem)}.price-list__price{font-family:var(--font-display);font-size:1.08rem;color:var(--copper-deep);white-space:nowrap}.price-footnote{font-family:var(--font-display);font-style:italic;color:var(--pewter-deep);font-size:.95rem;line-height:1.6;margin-top:2.5rem;max-width:620px}@media(max-width:600px){.price-list__name{white-space:normal}}.gallery-grid{max-width:820px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}}.gallery-tile{aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-sm)}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}.gallery-pair{max-width:820px;margin:0 auto 4.5rem}.gallery-pair:last-of-type{margin-bottom:3.5rem}.gallery-pair__title{font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-regular);color:var(--ink);letter-spacing:var(--tracking-tight);margin:0 0 1.25rem}.gallery-pair__body{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-light);line-height:var(--leading-body);color:var(--ink);margin:1.5rem 0 0;max-width:620px}.gallery-tile__caption{margin-top:.65rem;font-family:var(--font-utility);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--pewter-deep)}.gallery-closing{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-light);line-height:var(--leading-body);color:var(--pewter-deep);max-width:620px;margin:0 auto;text-align:center}.form-card{background:var(--surface-card);border:1px solid var(--line-soft);border-top:3px solid var(--copper);border-radius:var(--radius-sm);padding:2.25rem 2rem 2.5rem}.form-card__title{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--ink);margin-bottom:1.5rem}.request-form{display:flex;flex-direction:column;gap:1.25rem}.request-form[hidden]{display:none}.request-form .field{display:flex;flex-direction:column;gap:.45rem}.request-form label{font-family:var(--font-utility);font-size:var(--text-label);letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}.request-form .field__hint{font-family:var(--font-display);font-style:italic;font-size:.85rem;color:var(--pewter-deep)}.request-form input,.request-form textarea{font-family:var(--font-display);font-weight:300;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line-medium);border-radius:var(--radius-sm);padding:.75rem .9rem;transition:border-color .3s ease;width:100%}.request-form input::placeholder,.request-form textarea::placeholder{color:var(--pewter-deep);opacity:.75}.request-form input:focus,.request-form textarea:focus{outline:none;border-color:var(--copper-deep)}.request-form textarea{resize:vertical;min-height:6.5rem}.request-form button{border:1px solid var(--copper);background:var(--copper);color:var(--plum);padding:1.1rem 2.5rem;letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:500;font-family:var(--font-display);transition:var(--transition-cta);cursor:pointer;align-self:flex-start;border-radius:0}.request-form button:hover{background:var(--bone);color:var(--copper-deep)}.request-form button:disabled{opacity:.55;cursor:default}.request-form .field__error{font-family:var(--font-display);font-style:italic;font-size:.85rem;color:var(--burnished)}.request-form input.is-invalid,.request-form textarea.is-invalid{border-color:var(--burnished)}.form-card__error{font-family:var(--font-display);font-style:italic;font-size:.95rem;color:var(--burnished);margin-top:1rem}.form-card__success{font-family:var(--font-display);font-style:italic;color:var(--pewter-deep);line-height:1.7}.book-step{margin-top:2rem;max-width:720px}.booking-paths--two{grid-template-columns:1fr;max-width:900px}@media(min-width:760px){.booking-paths--two{grid-template-columns:repeat(2,1fr)}}.booking-path button.booking-cta{cursor:pointer;border-radius:0}.book-note{font-family:var(--font-display);font-style:italic;font-size:.95rem;color:var(--pewter-deep);margin-bottom:1.25rem}.book-options{display:flex;flex-direction:column;gap:.75rem}.book-option{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-family:var(--font-display);font-weight:300;font-size:1.05rem;color:var(--ink);background:#fff;border:1px solid var(--line-medium);border-radius:var(--radius-sm);padding:1rem 1.2rem;cursor:pointer;text-align:left;transition:border-color .3s ease,color .3s ease}.book-option:hover{border-color:var(--copper-deep);color:var(--copper-deep)}.book-option__meta{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pewter-deep);white-space:nowrap}.book-day{font-family:var(--font-utility);font-size:var(--text-label);letter-spacing:.22em;text-transform:uppercase;color:var(--copper-deep);margin:1.5rem 0 .75rem;flex-basis:100%}.book-day:first-child{margin-top:0}.book-slots{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.book-slot{font-family:var(--font-display);font-weight:400;font-size:.9rem;letter-spacing:.05em;color:var(--ink);background:#fff;border:1px solid var(--line-medium);border-radius:var(--radius-sm);padding:.6rem 1rem;cursor:pointer;transition:all .3s ease}.book-slot:hover{border-color:var(--copper);background:var(--copper);color:var(--plum)}.preview-notice{border-left:2px solid var(--copper);background:var(--bone-warm);padding:1.25rem 1.5rem;margin-bottom:3rem;max-width:46rem}.preview-notice__eyebrow{letter-spacing:.35em;text-transform:uppercase;font-size:.65rem;color:var(--copper-deep);margin-bottom:.6rem}.preview-notice__body{font-family:var(--font-display);font-style:italic;font-size:.95rem;line-height:1.6;color:var(--pewter-deep);margin:0}.price-list--pending .price-list__price a{color:var(--copper-deep);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.price-list--pending .price-list__price a:hover{border-bottom-color:var(--copper-deep)}.page-hero--split{padding:8rem 2rem 3.5rem}.page-hero--split .section-inner{max-width:900px;display:grid;grid-template-columns:1.32fr .68fr;gap:0 3rem;align-items:end}.page-hero--split .section-rule{margin-bottom:0}.page-hero--split .hero-lead{margin-top:0;margin-bottom:.35rem;max-width:38ch}.page-hero--split .section-headline-italic{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.35;margin-top:.7rem;letter-spacing:.01em}@media(max-width:860px){.page-hero--split{padding:7rem 2rem 3rem}.page-hero--split .section-inner{grid-template-columns:1fr;gap:0}.page-hero--split .section-rule{margin-bottom:1.75rem}.page-hero--split .hero-lead{margin-bottom:0;max-width:100%}}.header-menu{display:contents}header .cta--compact{display:none;min-width:0;padding:.62rem 1.05rem;font-size:.72rem;letter-spacing:.14em;margin-left:auto;margin-right:.75rem}.nav-toggle{display:none;position:relative;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;z-index:120}.nav-toggle__bar{display:block;width:24px;height:1px;margin:0 auto;background:var(--bone);transition:transform .3s ease,opacity .2s ease,background .4s ease}header.scrolled .nav-toggle__bar,header.menu-open .nav-toggle__bar{background:var(--ink)}header.menu-open .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}header.menu-open .nav-toggle__bar:nth-child(2){opacity:0}header.menu-open .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-toggle:focus-visible{outline:2px solid var(--copper);outline-offset:3px}@media(max-width:1024px){.nav-toggle{display:flex}header .cta--compact{display:inline-block;position:relative;z-index:120}header.menu-open .cta--compact{display:none}.header-menu{display:block;position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;background:var(--bone);padding:7rem 2rem 2.5rem;overflow-y:auto;z-index:110;opacity:0;visibility:hidden;transform:translateY(-.75rem);transition:opacity .3s ease,transform .3s ease,visibility .3s}header.menu-open .header-menu{opacity:1;visibility:visible;transform:translateY(0)}.header-menu nav{flex-direction:column;align-items:flex-start;gap:0}.header-menu nav .nav-item{width:100%}.header-menu nav .nav-link,.header-menu nav .nav-item>a{display:block;width:100%;color:var(--ink);font-size:.95rem;letter-spacing:.18em;padding:1rem 0;border-bottom:1px solid var(--line-faint)}.header-menu nav .nav-item--has-dropdown>a:after{content:none}.header-menu nav .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;background:none;border:none;border-bottom:1px solid var(--line-faint);backdrop-filter:none;-webkit-backdrop-filter:none;min-width:0;padding:.25rem 0 .75rem}.header-menu nav .nav-dropdown a{padding:.6rem 0 .6rem 1.25rem;font-size:.9rem}.header-menu nav .nav-dropdown a:hover{background:none;color:var(--copper-deep)}.header-menu .header-right{flex-direction:column;align-items:stretch;gap:1.25rem;margin-top:2rem}.header-menu .header-right .phone{color:var(--ink);font-size:1.05rem;text-align:center}.header-menu .header-right .cta{text-align:center;padding:1rem 1.5rem}}@media(prefers-reduced-motion:reduce){.header-menu,.nav-toggle__bar{transition:none}}header.menu-open .header-lockup{position:relative;z-index:120}header.menu-open .header-lockup img.logo-reverse{display:none}header.menu-open .header-lockup img.logo-primary{display:block}
