/* Essence Salon — independent static website. Colors and typography live here. */
:root{--forest:#18251e;--forest-2:#22352b;--ink:#263329;--olive:#69775d;--cream:#f4f0e8;--paper:#fbf9f4;--gold:#d5b98b;--gold-deep:#a58a62;--muted:#677168;--line:#deded3;--serif:'Italiana',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--max:1240px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a88342;outline-offset:4px}img,svg{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.022em}h1 em,h2 em,h3 em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.05em}h1{font-size:clamp(4.2rem,7.6vw,8rem)}h2{font-size:clamp(3.2rem,5.5vw,6.3rem)}h3{font-family:var(--serif);font-size:2.3rem;line-height:1.1}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:999}.skip-link:focus{top:12px}.topline{background:#101c16;color:#c7d0c5;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.topline-inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topline a{color:#e5d0ac}.site-header{background:var(--forest);color:#f6f2e8;position:relative;z-index:100;border-bottom:1px solid #ffffff20}.nav-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-icon{width:42px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #c5b39488;font:42px/1 var(--serif);color:var(--gold);position:relative}.brand-dot{position:absolute;right:6px;bottom:3px;font:22px Georgia;color:#d9c7a4}.brand-type{font:22px/1.08 var(--serif);letter-spacing:.14em;white-space:nowrap}.brand-type small{display:block;text-align:center;letter-spacing:.45em;font:8px/1.9 var(--sans);margin-top:5px}.primary-nav{display:flex;align-items:center;gap:29px}.primary-nav>a:not(.btn){font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;transition:opacity .2s}.primary-nav>a:hover,.primary-nav>a[aria-current="page"]{opacity:1;color:var(--gold)}.btn{min-height:53px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 24px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:background .2s,transform .2s,border-color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-nav{border:1px solid #bca78188;color:#f7eee0}.btn-nav:hover{background:#ffffff14}.btn-gold{background:var(--gold);color:#18251e}.btn-gold:hover{background:#ead0a4}.btn-dark{background:var(--forest);color:#fff}.btn-dark:hover{background:#304739}.nav-toggle{display:none;border:0;background:transparent;padding:12px;cursor:pointer}.nav-toggle span{display:block;width:26px;height:1px;background:white;margin:6px 0}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;text-transform:uppercase;color:#d5c19f;margin-bottom:25px}.eyebrow-dark{color:#8b7756}.eyebrow-line{display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.hero{background:var(--forest);color:#f6f2e9;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;min-height:690px}.hero-copy{padding:100px 4vw 98px 0;align-self:center;position:relative;z-index:2}.hero h1{margin:0 0 26px}.hero h1 em{color:var(--gold);white-space:nowrap}.hero-lead{max-width:490px;font-size:17px;line-height:1.9;color:#d5ded4}.button-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:34px}.text-link{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #d7bd92;padding-bottom:8px}.text-link-dark{border-color:var(--gold-deep)}.text-link:hover{color:var(--gold-deep)}.hero-proof{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#c8d1c6;font-size:12px;margin-top:67px}.small-star{font-size:20px;color:var(--gold)}.proof-dot{color:#b59c72}.hero-visual{position:relative;min-height:650px;background:radial-gradient(circle at 60% 38%,#687661 0%,#354638 35%,#1d2d23 70%);overflow:hidden;isolation:isolate}.hero-visual:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,transparent 35%,#d3bc8422 50%,transparent 75%)}.art-oval{position:absolute;width:66%;height:85%;border-radius:50%;left:20%;top:6%;background:radial-gradient(ellipse at 50% 45%,#b4a77a5c 0%,#7d836455 30%,#32493820 75%,transparent 80%);transform:rotate(-22deg);border:1px solid #e5d3ab44}.art-ring{position:absolute;width:76%;height:80%;border:1px solid #e9d6a640;border-radius:50%;top:13%;left:9%;transform:rotate(26deg)}.art-initial{position:absolute;top:16%;left:26%;font:clamp(18rem,29vw,34rem)/1 var(--serif);color:#e6d4a71c;user-select:none}.hair-lines{position:absolute;width:115%;height:112%;top:-8%;left:-3%;filter:drop-shadow(0 2px 2px #16241b77)}.hair-lines path{stroke:#d6bb8e;stroke-width:1.8;opacity:.57}.hair-lines path:nth-child(even){stroke:#e4d3b3;opacity:.42}.visual-caption{position:absolute;bottom:52px;left:44px;z-index:2;background:#1c2c23dd;padding:25px 30px;border-left:2px solid var(--gold)}.visual-caption span{display:block;font-size:10px;letter-spacing:.18em;color:#e3c99d;margin-bottom:10px}.visual-caption strong{font:31px/1.2 var(--serif);font-weight:400}.visual-number{position:absolute;right:25px;bottom:20px;font-size:10px;letter-spacing:.15em;color:#e8d5b3}.hero-side-label{position:absolute;right:9px;top:50%;writing-mode:vertical-rl;letter-spacing:.28em;font-size:9px;color:#d4c29c;z-index:2}.marquee{background:#d4be96;color:#24352a;padding:17px 0;overflow:hidden}.marquee-content{display:flex;align-items:center;justify-content:space-between;gap:22px;white-space:nowrap}.marquee span{font-size:11px;font-weight:700;letter-spacing:.16em}.marquee i{font-style:normal;font-size:17px}.section{padding:115px 0}.section-cream{background:var(--cream)}.section-white{background:var(--paper)}.section-head{margin-bottom:55px}.section-head h2{margin:0}.section-head.split{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}.section-head.split>p{max-width:390px;color:#626d63;line-height:1.9;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{display:block;min-width:0;background:#fff;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #27362a15}.service-card-art{height:335px;position:relative;overflow:hidden}.service-card-art>span{position:absolute;top:25px;left:26px;z-index:2;font-size:11px;letter-spacing:.14em;color:#f3e8d6}.art-a{background:radial-gradient(ellipse at 72% 30%,#aa9c7b 0,#586955 33%,#273b2f 85%)}.art-b{background:radial-gradient(ellipse at 28% 15%,#dfc4a3 0,#a47c63 34%,#573f37 90%)}.art-c{background:radial-gradient(ellipse at 78% 20%,#c5c1aa 0,#8b9884 34%,#3c5144 90%)}.art-curve{position:absolute;top:-45%;left:18%;width:85%;height:190%;border-radius:50%;border:45px solid #ffffff15;transform:rotate(28deg);box-shadow:inset 0 0 0 2px #fff2,0 0 0 2px #fff2}.art-curve:before,.art-curve:after{content:'';position:absolute;border-radius:50%;inset:20px;border:2px solid #fff5}.art-curve:after{inset:58px;border-color:#fff4}.service-info{padding:30px 26px 32px;display:flex;align-items:end;justify-content:space-between;gap:12px}.service-info p{font-size:10px;letter-spacing:.19em;color:#9a7c55;font-weight:700;margin:0 0 12px}.service-info h3{margin:0 0 12px}.service-info span:not(.round-arrow){display:block;color:#647067;font-size:13px;line-height:1.75;max-width:245px}.round-arrow{display:flex;flex:0 0 36px;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #c5b49c;border-radius:50%;font-size:20px}.story-section{background:#e9e6db}.story-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:10%;align-items:center}.story-visual{height:600px;position:relative;overflow:hidden;background:linear-gradient(135deg,#324c3b,#72816c 45%,#2c4435)}.story-visual:before{content:'';position:absolute;width:90%;height:110%;border:1px solid #d6c79b80;border-radius:50%;left:-10%;top:5%;transform:rotate(-26deg)}.story-visual:after{content:'';position:absolute;width:85%;height:125%;border:45px solid #f4edda1a;border-radius:50%;left:33%;top:-22%;transform:rotate(32deg)}.story-monogram{font:clamp(10rem,18vw,19rem)/1 var(--serif);position:absolute;top:27%;left:13%;color:#efe4c4a1;z-index:1;letter-spacing:-.1em}.story-note{position:absolute;bottom:35px;left:40px;font-size:10px;letter-spacing:.24em;color:#efe1c4;z-index:2}.story-sun{position:absolute;width:170px;height:170px;border-radius:50%;background:#ddc79a66;filter:blur(38px);right:12%;top:13%}.story-copy{max-width:590px}.story-copy h2{margin-bottom:35px}.story-copy>p:not(.eyebrow){font-size:16px;line-height:2;color:#58645a}.story-copy .text-link{margin-top:20px}.promise-section{background:var(--forest);color:#f6f0e6}.promise-section h2{margin-bottom:65px}.promise-section h2 em{color:var(--gold)}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.promise-grid>div{border-top:1px solid #ffffff50;padding-top:25px}.promise-num{color:var(--gold);font-size:12px;letter-spacing:.16em}.promise-grid h3{font-size:2.2rem;margin:22px 0 15px}.promise-grid p{color:#c8d0c5;max-width:310px;line-height:1.85;font-size:14px}.final-cta{background:#e3d4b9;text-align:center}.final-cta-inner{max-width:720px}.final-cta h2{margin:0 0 20px}.final-cta p:not(.eyebrow){max-width:550px;margin:0 auto 32px;line-height:1.9;color:#4f5a4f}.site-footer{background:#101b15;color:#f5f0e6}.footer-main{padding:80px 0 65px;display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:80px}.footer-brand>p{color:#e2d1b2;font-family:var(--serif);font-size:26px;line-height:1.3;margin:26px 0 12px}.footer-brand .footer-small{font-family:var(--sans);font-size:12px;color:#aebaae;max-width:270px;line-height:1.8}.site-footer h3{font:11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#d8bc91;margin:10px 0 25px}.site-footer .footer-main>div:not(:first-child) a{display:block;font-size:13px;margin:0 0 13px;color:#d5ded4}.site-footer a:hover{color:var(--gold)}.site-footer address{font-style:normal;color:#aebaae;font-size:12px;line-height:1.9;margin-top:20px}.footer-bottom{border-top:1px solid #ffffff23;padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#9da99e;font-size:11px;letter-spacing:.05em}
/* Interior pages */
.interior-hero{background:var(--forest);color:#f6f2e9}.interior-grid{display:grid;grid-template-columns:1fr .85fr;min-height:560px;align-items:stretch;gap:6%}.interior-grid>div:first-child{align-self:center;padding:85px 0}.interior-grid h1{font-size:clamp(3.8rem,6.3vw,7.3rem);margin:0 0 25px}.interior-grid h1 em{color:var(--gold)}.interior-grid p:not(.eyebrow){color:#d0d9cf;line-height:1.9;max-width:530px;font-size:16px;margin-bottom:33px}.interior-art{position:relative;min-height:520px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:#425b48}.interior-art>span{position:relative;z-index:2;font-size:10px;letter-spacing:.25em;color:#f3e6d0}.interior-art>strong{position:relative;z-index:2;font:clamp(3.4rem,5vw,5.7rem)/1 var(--serif);font-weight:400;color:#f6e8d0}.art-ext{background:radial-gradient(ellipse at 70% 40%,#7e8c6c,#324a38 60%,#1d3125)}.art-color{background:radial-gradient(ellipse at 35% 40%,#b48b75,#6e4e43 60%,#302b2a)}.art-about{background:radial-gradient(ellipse at 65% 40%,#c4b08e,#6e7a63 60%,#2b4033)}.art-visit{background:radial-gradient(ellipse at 55% 35%,#a9a483,#526b54 60%,#223b2b)}.interior-swoop{position:absolute;width:100%;height:140%;border-radius:50%;border:45px solid #ffffff20;transform:rotate(-30deg);left:20%;top:-25%;box-shadow:0 0 0 1px #f8e2bd77,inset 0 0 0 1px #f8e2bd77}.interior-swoop:after{content:'';position:absolute;inset:35px;border:1px solid #fff6;border-radius:50%}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.content-grid h2{margin:0}.prose p{color:#58665c;font-size:16px;line-height:2;margin-bottom:24px}.prose .signature{font:italic 36px Georgia;color:#7c705a}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps-grid>div{border-top:1px solid #aab4a7;padding-top:24px}.steps-grid span{font-size:11px;letter-spacing:.14em;color:#9a7d59}.steps-grid h3{font-size:2rem;margin:23px 0 12px}.steps-grid p{color:#637167;font-size:14px;line-height:1.8}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature-card{background:#eeeae0;padding:36px;min-height:260px}.feature-card>span{font-size:10px;letter-spacing:.18em;color:#987d5a}.feature-card h3{margin:23px 0 12px;font-size:2.2rem}.feature-card p{color:#607064;line-height:1.85;font-size:14px}.faq-section{background:#e9e7df}.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.faq-grid h2{margin:0}.faq-list details{border-bottom:1px solid #c6c8bd;padding:22px 0}.faq-list details:first-child{border-top:1px solid #c6c8bd}.faq-list summary{font-weight:600;font-size:16px;cursor:pointer;list-style:none;position:relative;padding-right:30px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:-4px;font:26px var(--serif)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:#637067;line-height:1.9;font-size:14px;margin:15px 20px 0 0}.visit-grid{display:grid;grid-template-columns:1fr .85fr;gap:13%}.visit-grid h2{margin:0 0 20px}.visit-lead{color:#627065;line-height:1.9;max-width:430px}.contact-list{margin-top:45px}.contact-list>div{border-top:1px solid #d2d4c9;padding:24px 0}.contact-list>div>span{display:block;font-size:10px;letter-spacing:.19em;color:#8e7957;font-weight:700}.contact-list p{font-size:17px;line-height:1.8;margin:10px 0}.booking-panel{align-self:start;background:#e4d6bd;padding:45px}.booking-panel h3{font-size:clamp(3rem,4vw,4.7rem);margin:0 0 20px}.booking-panel>p:not(.eyebrow){color:#58675a;line-height:1.9}.booking-panel .btn{margin-top:15px}.booking-note{border-top:1px solid #b9ab92;margin-top:35px;padding-top:20px;color:#677165;font-size:13px;line-height:1.8}
@media(max-width:1120px){.container{width:min(var(--max),calc(100% - 64px))}.primary-nav{gap:18px}.primary-nav>a:not(.btn){font-size:11px}.btn-nav{padding:13px 15px;gap:10px}.hero-grid{min-height:620px}.hero-copy{padding-right:25px}.hero-visual{min-height:600px}.hero-proof{margin-top:45px}.service-card-art{height:260px}.service-info h3{font-size:2rem}.story-visual{height:530px}}
@media(max-width:860px){.container{width:calc(100% - 44px)}.topline-inner{justify-content:center}.topline-inner>a{display:none}.nav-inner{min-height:78px}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--forest);padding:20px 22px 30px;box-shadow:0 20px 35px #0004;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav>a:not(.btn){padding:14px 0;border-bottom:1px solid #ffffff22;font-size:13px}.primary-nav .btn{margin-top:22px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:78px 0 60px}.hero-visual{min-height:450px}.hero h1{font-size:clamp(4.2rem,10vw,7.5rem)}.hero-proof{margin-top:36px}.hero-side-label{display:none}.section{padding:82px 0}.section-head.split,.story-grid,.content-grid,.faq-grid,.visit-grid{grid-template-columns:1fr;gap:35px}.section-head.split>p{max-width:650px}.story-visual{height:420px;order:2}.story-copy{order:1}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:last-child{grid-column:1/-1}.service-card:last-child .service-card-art{height:200px}.promise-grid{gap:22px}.footer-main{gap:40px;grid-template-columns:1.5fr 1fr 1fr}.interior-grid{grid-template-columns:1fr;gap:0}.interior-grid>div:first-child{padding:75px 0 50px}.interior-art{min-height:340px}.steps-grid{grid-template-columns:repeat(2,1fr)}.booking-panel{max-width:600px}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.topline{font-size:9px}.nav-inner{min-height:72px}.brand-icon{width:35px;height:40px;font-size:36px}.brand-type{font-size:18px}.hero-copy{padding:70px 0 50px}.hero h1{font-size:clamp(3.8rem,14vw,5.8rem)}.hero-lead{font-size:15px}.button-row{align-items:stretch;flex-direction:column;gap:22px}.button-row .btn{width:max-content;max-width:100%}.hero-visual{min-height:390px}.visual-caption{bottom:24px;left:22px;padding:18px 20px}.visual-caption strong{font-size:25px}.visual-number{display:none}.marquee-content{justify-content:center;gap:12px;overflow:hidden}.marquee span{font-size:9px}.marquee span:nth-of-type(n+3),.marquee i:nth-of-type(n+3){display:none}.section{padding:68px 0}.section-head{margin-bottom:35px}h2{font-size:clamp(3rem,12vw,4.5rem)}.service-grid,.promise-grid,.feature-grid,.steps-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.service-card-art,.service-card:last-child .service-card-art{height:260px}.service-info{padding:25px}.story-visual{height:350px}.story-monogram{font-size:12rem}.promise-grid{gap:28px}.promise-grid h3{margin-top:15px}.final-cta .btn{white-space:normal}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px;padding:60px 0 35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.interior-grid h1{font-size:clamp(3.5rem,12vw,5rem)}.interior-grid>div:first-child{padding:65px 0 45px}.interior-art{min-height:320px;padding:25px}.interior-art>strong{font-size:3.7rem}.feature-card{padding:27px}.booking-panel{padding:30px}.faq-list summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
