@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#243b43;--blue:#274f60;--sky:#dceaf0;--paper:#fcfaf7;--line:#d6dcda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc6c37;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.topline{text-align:center;background:var(--blue);color:white;padding:.55rem 1rem;font-size:.875rem;letter-spacing:.06em}header{max-width:1320px;margin:auto;padding:1.65rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.65rem;line-height:.85}.design{font:italic 2.55rem 'Libre Caslon Display',Georgia,serif}.image{font-weight:700;font-size:1.6rem;letter-spacing:.09em}.image small{display:block;font-size:.7rem;letter-spacing:.65em;line-height:1.4;margin-top:.4rem}nav{display:flex;gap:2rem;font-size:.94rem}nav a:hover,.directions:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.65rem;background:var(--blue);color:#fff;border-radius:3px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#183b49;transform:translateY(-2px)}.hero{max-width:1320px;margin:1rem auto 0;display:grid;grid-template-columns:1.1fr 1fr;padding:0 5% 4rem;gap:5%}.hero-copy{padding-top:3rem;align-self:center}.eyebrow{font-size:.8rem;letter-spacing:.16em;font-weight:600;margin:0 0 1.4rem}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.04;margin:0}h1{font-size:clamp(3.6rem,6.5vw,6.15rem);letter-spacing:-.025em}h1 em{font-weight:400;color:var(--blue)}.intro{max-width:390px;margin:1.7rem 0 2rem;font-size:1.12rem;color:#51626a}.phone{display:inline-block;margin-left:1.1rem;font-size:1rem;white-space:nowrap}.phone:hover{text-decoration:underline}.hero-foot{font-size:.875rem;margin:3rem 0 1rem;color:#607078;border-top:1px solid var(--line);padding-top:1.2rem;max-width:395px}.hero-visual{position:relative;background:#a99883;min-height:580px;border-radius:46% 46% 3px 3px;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;object-fit:cover;display:block}.image-caption{position:absolute;bottom:0;width:100%;padding:3.5rem 1.7rem 1.4rem;background:linear-gradient(transparent,rgba(18,24,23,.7));color:white;font-size:.8rem;letter-spacing:.16em;display:flex;justify-content:space-between;gap:1rem}.image-caption span{letter-spacing:0;font:italic 1.3rem 'Libre Caslon Display',Georgia,serif}.welcome{background:var(--sky);padding:5rem max(5%,calc((100% - 1188px)/2));display:grid;grid-template-columns:1fr 2fr;gap:3rem}.welcome>.eyebrow{padding-top:.6rem}.welcome>div{display:grid;grid-template-columns:1.1fr 1fr;column-gap:3rem}.welcome h2{grid-row:span 2;font-size:3.5rem}.welcome p:not(.eyebrow){margin:0 0 1rem;color:#415963}.services{max-width:1320px;margin:auto;padding:5.5rem 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}h2{font-size:3.8rem}.section-head>p{margin:0;color:#607078;font-size:.94rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem}.service-grid article{border-top:1px solid #9aaeb5;padding-top:1.7rem}.number{font:1.1rem 'Libre Caslon Display',Georgia,serif;color:#637e88}.service-grid h3{font:2.2rem 'Libre Caslon Display',Georgia,serif;margin:1.8rem 0 .65rem}.service-grid p{color:#607078;max-width:310px;margin:0}.visit{background:var(--blue);color:#fff;padding:5rem max(5%,calc((100% - 1188px)/2));display:grid;grid-template-columns:1.3fr 1fr;gap:5rem}.visit .eyebrow{color:#c2dce8}.visit h2{font-size:3.9rem}.light{background:#edf5f8;color:var(--blue);margin-top:2rem}.light:hover{background:#d0e5ee}.visit-title>p:last-child{font-size:.875rem;color:#bed1da;margin:.85rem 0 0}.visit-details{border-left:1px solid #557786;padding-left:3rem}.visit-details h3{font-size:1rem;margin:0 0 .8rem;font-weight:600}address{font-style:normal;line-height:1.9;color:#e0edf2}.directions{display:inline-block;margin-top:1.2rem;border-bottom:1px solid #9ebbc9}.hours{margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid #557786}.hours p{color:#d1e0e6;max-width:320px;margin:0}footer{max-width:1320px;margin:auto;padding:2rem 5%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.875rem}footer p{color:#63737a}.footer-name{font:1.65rem 'Libre Caslon Display',Georgia,serif}.skip{position:absolute;top:-100px;left:1rem;background:#fff;padding:1rem;z-index:10}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.hero-visual{min-height:640px}}@media(max-width:1000px){nav{gap:1rem}.hero{gap:3%}h1{font-size:4.5rem}.hero-visual{min-height:550px}.phone{display:block;margin:.8rem 0 0}.welcome{grid-template-columns:1fr;gap:1rem}.welcome>div{grid-template-columns:1fr 1fr}.visit{gap:2rem}.visit h2{font-size:3.3rem}.visit-details{padding-left:2rem}}@media(max-width:680px){header{padding:1.2rem 6%;gap:1rem;flex-wrap:wrap}.design{font-size:2rem}.image{font-size:1.25rem}.image small{font-size:.6rem}.header-call{padding:.75rem 1rem;font-size:.875rem}nav{order:3;justify-content:center;width:100%;border-top:1px solid var(--line);padding-top:1rem;gap:2rem}.hero{grid-template-columns:1fr;padding:0 6% 2.5rem;gap:2rem;margin-top:0}.hero-copy{padding-top:1.7rem}h1{font-size:clamp(3.4rem,13vw,4.5rem)}.eyebrow{font-size:.75rem}.intro{margin:1.3rem 0 1.5rem}.phone{display:inline-block;margin:0 0 0 1rem}.hero-foot{margin:1.6rem 0 0}.hero-visual{min-height:420px;border-radius:45% 45% 3px 3px}.welcome{padding:3rem 6%;gap:.7rem}.welcome>div{display:block}.welcome h2{font-size:3rem;margin-bottom:1.5rem}.section-head{display:block;margin-bottom:1.8rem}.section-head>p{margin-top:1.3rem}h2{font-size:3rem}.services{padding:3.3rem 6%}.service-grid{grid-template-columns:1fr;gap:1.8rem}.service-grid article{padding-top:1rem}.service-grid h3{margin:.65rem 0}.service-grid p{max-width:none}.visit{padding:3rem 6%;grid-template-columns:1fr;gap:2.5rem}.visit h2{font-size:3.2rem}.visit-details{border-left:0;border-top:1px solid #557786;padding:2rem 0 0}footer{padding:1.7rem 6%;flex-wrap:wrap;gap:.6rem}footer p{margin:0;width:100%;order:3}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Service menu and weekly hours, matching the established salon theme. */
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 4rem}.menu-group{border-top:1px solid #9aaeb5;padding-top:1.3rem}.menu-group h3,.massage-details h3,.enhancements h3{font:2.2rem 'Libre Caslon Display',Georgia,serif;margin:0 0 1.2rem}.price-list,.hours-list{margin:0}.price-list>div,.hours-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.3rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.price-list dd,.hours-list dd{margin:0;white-space:nowrap;font-weight:500}.price-list dt{color:#51626a}.massage-details{display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:var(--sky);padding:2rem;margin-top:3rem;border-radius:3px}.massage-details p{color:#415963;margin:.7rem 0}.massage-details ul,.enhancements ul{padding-left:1.2rem;margin:.6rem 0}.massage-details li,.enhancements li{margin:.4rem 0}.enhancements{margin-top:3rem;max-width:760px}.enhancement-note{color:#607078;margin:-.6rem 0 1rem}.enhancements h4{font-size:1.05rem;margin:1.8rem 0 .5rem}.enhancements h4+p{margin:0;color:#607078}.special{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.5rem}.hours-list>div{border-color:#557786;font-size:.94rem;gap:1rem}.hours-list dt{color:#d1e0e6}.visit-details{min-width:0}@media(max-width:680px){.menu-grid,.massage-details{grid-template-columns:1fr;gap:2rem}.massage-details{padding:1.4rem}.hours-list>div{font-size:.875rem}.price-list>div{gap:.75rem}.menu-group h3,.massage-details h3,.enhancements h3{font-size:2rem}}
