@charset "UTF-8";
:root{--ink:#2e3227;--muted:#676858;--berry:#465137;--paper:#fffcf6;--pink:#f5e9c8;--line:#d9d5c5;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.25em}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid #a16b13;outline-offset:6px}
.skip-link{position:fixed;top:-8rem;left:1rem;padding:.8rem 1.2rem;background:white;z-index:10}
.skip-link:focus{top:1rem}
.site-header{max-width:1512px;margin:auto;padding:1.75rem 5.2%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.wordmark{font:1.95rem/1 var(--serif);letter-spacing:-.055em;text-decoration:none;display:inline-block;white-space:nowrap}
.wordmark span{font:.64rem/1 var(--sans);font-weight:600;display:block;letter-spacing:.38em;text-align:center;margin-top:.75rem;padding-left:.4em}
nav{display:flex;align-items:center;gap:2.4rem;font-size:.9rem;font-weight:600}
nav>a{text-decoration:none}
nav>a:not(.nav-button):hover{text-decoration:underline}
.nav-button{border:1px solid var(--ink);padding:.65rem 1.3rem;border-radius:2rem;transition:background .2s,color .2s}
.nav-button:hover{background:var(--ink);color:white}
.hero{max-width:1512px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:680px;padding:1rem 2% 2rem 5.2%;gap:4%}
.hero-copy{align-self:center;padding:2.5rem 0 3rem;position:relative}
.eyebrow{font-size:.78rem;font-weight:650;letter-spacing:.19em;margin:0 0 2.2rem;color:var(--berry)}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font:clamp(3.4rem,6.4vw,6rem)/1.08 var(--serif);letter-spacing:-.06em;margin:0 0 1.65rem;font-weight:400}
h1 em,h2 em{color:var(--berry);font-weight:400}
.intro{max-width:25.5rem;color:var(--muted);font-size:1.1rem;line-height:1.8;margin:0 0 2rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:3.4rem;text-decoration:none;font-weight:600;font-size:.95rem;border-radius:2rem;padding:.85rem 1.75rem;transition:background .2s,transform .2s}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:var(--berry);transform:translateY(-2px)}
.hero-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.work-link{font-size:.95rem;font-weight:600;color:var(--berry);padding:.6rem 0}
.hero-note{display:flex;align-items:center;gap:.9rem;font-size:.83rem;color:var(--muted);margin-top:3.2rem}
.note-line{width:2.5rem;height:1px;background:var(--berry)}
.hero-art{position:relative;min-width:0;overflow:hidden;background:#54223c;isolation:isolate;min-height:620px;border-radius:12rem 12rem .4rem .4rem;color:white;display:flex;align-items:center;justify-content:center}
.hero-art{width:100%;max-width:100%}
.hero-art.has-photo{background-image:url('hair-texture.webp');background-size:cover;background-position:center}
.hero-art.has-photo::after{position:absolute;inset:0;content:'';z-index:-1;background:linear-gradient(180deg,rgba(25,8,15,.15),transparent 40%,rgba(25,8,15,.65))}
.art-monogram{font:14rem/1 var(--serif);font-style:italic;letter-spacing:-.1em;opacity:.65}
.has-photo .art-monogram{display:none}
.art-corner{position:absolute;top:3rem;left:0;right:0;text-align:center;letter-spacing:.25em;font-size:.73rem;text-shadow:0 1px 5px #1e1117}
.art-caption{position:absolute;bottom:2rem;left:2.5rem;right:2.5rem;border-top:1px solid #ffffff70;display:flex;align-items:center;justify-content:space-between;padding-top:1.2rem;gap:1rem}
.art-caption span{font-size:.73rem;letter-spacing:.15em}
.art-caption strong{font:italic 4.5rem/.85 var(--serif);letter-spacing:-.07em;font-weight:400}
.brand-strip{background:#f0c34e;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:clamp(1rem,5vw,5rem);padding:1.1rem 5%;margin-top:1rem;font:clamp(1.4rem,2.5vw,2rem)/1.3 var(--serif)}
.strip-mark{font-family:var(--sans);font-size:1.65rem;color:#675419}
.appointments{max-width:1370px;margin:auto;padding:7rem 5%;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.booking-heading{padding-top:1.5rem}
h2{font:clamp(2.5rem,4vw,4rem)/1.13 var(--serif);font-weight:400;letter-spacing:-.045em;margin:0 0 1.5rem}
.booking-heading>p:last-child{color:var(--muted);max-width:21rem;font-size:1.05rem}
.booking-panel{background:#f6edd8;border:1px solid #e6d9b8;padding:2.4rem 2.6rem;border-radius:.35rem}
.booking-label{display:flex;align-items:center;gap:.75rem;color:var(--berry);font-size:.75rem;letter-spacing:.13em;font-weight:600}
.instagram-mark{display:inline-flex}
h3{font:2.4rem/1.2 var(--serif);font-weight:400;letter-spacing:-.045em;margin:1.4rem 0 .8rem}
.booking-panel>p{color:#62644f;font-size:1rem;margin:0 0 1.5rem;max-width:24rem}
.booking-panel>.instagram-prompt{font-size:.87rem;margin:1.3rem 0 .2rem}
.instagram-handle{display:block;width:fit-content;color:var(--berry);font-size:.85rem;margin-top:.8rem;text-decoration:none}
.instagram-handle:hover{text-decoration:underline}
.email-contact{display:grid;gap:.35rem;margin-top:1.2rem;font-size:.9rem;min-width:0}
.email-contact>span{font-size:.85rem;color:var(--muted)}
.email-contact>a{color:var(--berry);overflow-wrap:anywhere;line-height:1.7}
.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}
.booking-divider{height:1px;background:#d9cba7;margin:1.8rem 0 .5rem}
details{border-bottom:1px solid #dbd0b3;padding:1rem 0}
details:last-child{border:0;padding-bottom:0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;line-height:1.6;min-height:1.5rem}
summary::-webkit-details-marker{display:none}
summary span{font-size:1.35rem;line-height:1;flex:none;transition:transform .15s}
details[open] summary span{transform:rotate(45deg)}
details p{font-size:.9rem;color:#62644f;margin:.8rem 0 .2rem}
.about{max-width:1370px;margin:auto;padding:5rem 5% 0;display:grid;grid-template-columns:1fr 1fr;gap:9%}
.about-intro>p:not(.eyebrow){font-size:1.05rem;color:var(--muted);max-width:28rem}
.specialties>div{display:flex;gap:1.2rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.specialties>div:first-child{padding-top:.4rem}
.specialties h3{font-size:1.65rem;margin:0 0 .45rem;letter-spacing:-.03em}
.specialties p{font-size:.95rem;color:var(--muted);margin:0}
.specialty-number{font-size:.8rem;color:#7b681f;padding-top:.35rem}
.text-link{display:inline-block;color:var(--berry);font-size:.9rem;font-weight:600;margin-top:1.5rem}
.instagram-section{max-width:1235px;margin:5rem auto 0;padding:3.5rem 4%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:center;background:var(--berry);border-radius:.4rem;color:var(--paper)}
.instagram-copy .eyebrow{color:#f0c34e;margin-bottom:1.5rem}
.instagram-copy h2{font-size:clamp(2.4rem,3.8vw,3.8rem)}
.instagram-copy h2 em{color:#f0c34e}
.instagram-copy>p:last-child{max-width:27rem;color:#eeeedf;font-size:1.05rem}
.instagram-profile{display:flex;align-items:center;flex-direction:column;text-align:center;min-width:0;padding:2rem 1rem;text-decoration:none;border:1px solid #d7dbb873;border-radius:.35rem;background:#ffffff08;transition:background .2s,border-color .2s}
.instagram-profile:hover{background:#ffffff13;border-color:#f0c34e}
.profile-icon{display:flex;color:#f0c34e;margin-bottom:1.3rem}
.profile-name{font:2rem/1.2 var(--serif);letter-spacing:-.035em}
.profile-handle{font-size:1rem;color:#eeeedf;margin:.45rem 0 1.5rem;overflow-wrap:anywhere}
.profile-action{background:#f0c34e;color:var(--ink);padding:.85rem 1.25rem;border-radius:2rem;font-size:.9rem;font-weight:650;max-width:100%}
.profile-note{font-size:.8rem;color:#eeeedf;margin-top:.8rem}
.footer-instagram{font-size:.85rem;color:var(--berry)}
.sunflower-frame{max-width:240px;margin:1.5rem auto -2rem}
.sunflower-frame img{display:block;width:100%;height:auto;object-fit:contain}
.location{max-width:1235px;margin:0 auto 3rem;padding:2.5rem 2%;border-top:1px solid var(--line);display:flex;gap:2rem;align-items:center;justify-content:space-between}
.location .eyebrow{margin-bottom:.7rem}
.location h2{font-size:2.2rem;margin:0}
.location address{font-style:normal;font-size:.95rem;color:var(--muted)}
.location address span{font-size:.85rem}
.location .text-link{margin:0}
.site-footer{max-width:1370px;margin:auto;border-top:1px solid var(--line);padding:2.5rem 5% 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-footer .wordmark{font-size:1.7rem}
.site-footer p,.footer-domain{font-size:.8rem;color:var(--muted)}
@media(min-width:1600px){.hero{min-height:750px}.hero-art{min-height:670px}}
@media(max-width:1000px){.hero{gap:3%;padding-left:5%;min-height:590px}.hero-art{min-height:560px;border-radius:9rem 9rem .4rem .4rem}.hero-copy{padding-right:.5rem}h1{font-size:4.2rem}.appointments{gap:6%;padding:5rem 5%}.booking-panel{padding:2rem}.site-footer p{display:none}}
@media(max-width:700px){.site-header{padding:1.4rem 6%;gap:1rem}.wordmark{font-size:1.6rem}.wordmark span{font-size:.6rem}nav{gap:0}nav>a:first-child{display:none}.nav-button{font-size:.8rem;padding:.55rem 1rem}.hero{grid-template-columns:1fr;padding:1rem 6% 1.5rem;gap:1rem}.hero-copy{padding:1.5rem 0 1rem}.eyebrow{font-size:.72rem;margin-bottom:1.6rem}h1{font-size:clamp(3.15rem,12vw,5rem);margin-bottom:1.3rem}.intro{font-size:1rem;max-width:24rem;margin-bottom:1.5rem}.hero-note{margin-top:1.7rem;font-size:.8rem}.hero-art{min-height:440px;aspect-ratio:1.05;max-height:590px;border-radius:9rem 9rem .4rem .4rem}.art-caption{left:1.6rem;right:1.6rem;bottom:1.6rem}.art-corner{top:2.5rem}.brand-strip{gap:1rem;padding:1.2rem 5%;font-size:clamp(1.05rem,4vw,1.4rem);margin-top:0}.strip-mark{font-size:1rem}.appointments{grid-template-columns:1fr;padding:3.7rem 6%;gap:1.7rem}.booking-heading{padding:0}.booking-heading>p:last-child{max-width:28rem}.booking-panel{padding:1.8rem 1.5rem}h2{font-size:2.8rem}.site-footer{margin:0 6%;padding:2rem 0;flex-wrap:wrap;gap:1.5rem}.footer-domain{font-size:.75rem}}
@media(max-width:360px){.site-header{padding:1.2rem 5%}.wordmark{font-size:1.4rem}.nav-button{padding:.5rem .75rem}.hero-art{min-height:380px}.brand-strip{gap:.65rem}.booking-panel{padding:1.5rem 1.1rem}}
@media(max-width:700px){.about{grid-template-columns:1fr;padding:3.8rem 6% 0;gap:1.5rem}.sunflower-frame{max-width:220px;margin:.8rem auto 0}.location{margin:0 6% 1rem;padding:2rem 0;align-items:flex-start;flex-direction:column;gap:1.5rem}.nav-button{max-width:10rem;text-align:center;line-height:1.3}.hero-note{align-items:flex-start}.note-line{flex:none;margin-top:.6rem}}
@media(max-width:1300px){.instagram-section{margin-left:5%;margin-right:5%}}
@media(max-width:700px){nav>.nav-social{display:none}.instagram-section{grid-template-columns:1fr;margin:3.5rem 6% 0;padding:2.2rem 1.5rem;gap:1.4rem}.instagram-copy h2{font-size:2.45rem}.instagram-profile{padding:1.6rem .8rem}.profile-name{font-size:1.8rem}.profile-action{font-size:.85rem;padding:.8rem 1rem}.hero-actions{gap:1rem}.site-footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
