:root{--cream:#f8f5ef;--ink:#24211e;--muted:#746b62;--gold:#aa8d6d;--line:#d9cfc2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.75 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(248,245,239,.97);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand strong{font:46px Georgia,serif;letter-spacing:-5px;padding-right:5px}.brand span{font-size:10px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:15px}nav{display:flex;gap:25px;align-items:center;font-size:12px}nav a:hover,.textlink:hover{color:var(--gold)}.navbook{padding:12px 18px;border:1px solid var(--ink)}#menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:100;background:white;padding:10px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:700px}.hero-copy{padding:80px 9% 38px}.eyebrow,.small{font-size:10px;letter-spacing:2px}.eyebrow{color:var(--muted);margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07}h1{font-size:clamp(55px,5.6vw,88px);letter-spacing:-3px;margin-bottom:27px}em{font-weight:400;color:#8b735b}h2{font-size:clamp(43px,4.4vw,65px);letter-spacing:-2px;margin-bottom:30px}h3{font-size:30px}.intro{max-width:360px;color:var(--muted);font-size:16px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 25px;font-size:12px;border:1px solid var(--ink);transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{color:var(--cream);background:var(--ink)}.dark:hover{background:#493c31}.light{background:var(--cream)}.outline:hover{background:#e9dfd1}.textlink{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:7px}.hero-foot{margin-top:66px}.hero-art{background:linear-gradient(135deg,#d5c3ad,#eee6da 40%,#c1a68a);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:610px;padding:50px}.art-small{position:absolute;top:38px;left:40px;font-size:9px;letter-spacing:3px}.arch{width:75%;height:73%;border-radius:50% 50% 0 0;background:linear-gradient(110deg,#b29676,#e7d5bf 30%,#f3eadc 60%,#bc9b78);box-shadow:22px 15px 55px #97795e66,inset 1px 1px 0 #fff8;display:grid;place-items:center;border:1px solid #fff5}.arch span{font:clamp(100px,15vw,230px) Georgia;letter-spacing:-20px;color:#f8f2e855;text-shadow:1px 1px 1px #836b5333}.art-foot{position:absolute;bottom:30px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:end}.art-foot>span:first-child{font:italic 30px Georgia}.art-foot>span:last-child{font-size:11px;line-height:1.5}.ribbon{display:flex;justify-content:space-around;gap:15px;padding:26px 4%;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:2px}.ribbon i{color:var(--gold)}.section{padding:100px 8%}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lead{font:26px/1.4 Georgia}.about-body>p:not(.lead){color:var(--muted)}.signature{font:italic 70px Georgia;color:#b39a7e;margin-top:60px}.about-note{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:40px;font-size:10px}.services{background:#eee7dd}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.sectionhead>p{font-size:13px;color:var(--muted);max-width:320px}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-list details{border-top:1px solid #cdbfaf}.service-list details:last-child{border-bottom:1px solid #cdbfaf}.service-list summary{display:flex;align-items:center;padding:25px 0;gap:35px}.service-list h3{margin:0}.num{font-size:10px;color:var(--muted)}.plus{margin-left:auto;font-size:25px;font-weight:200}.detail{padding:0 0 30px 50px;max-width:690px;color:var(--muted)}.detail a{font-size:12px;border-bottom:1px solid var(--gold);color:var(--ink)}details[open] .plus{transform:rotate(45deg)}.service-note{margin:28px 0 0;color:var(--muted);letter-spacing:1px}.filters{display:flex;gap:12px;margin-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);font-size:12px;padding:8px 20px}.filters .selected{background:var(--ink);border-color:var(--ink);color:var(--cream)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;border:0;text-align:left;min-height:390px;background:linear-gradient(150deg,#d8c6b0,#ebe1d3);overflow:hidden;padding:25px;display:flex;flex-direction:column;justify-content:end}.g2{background:linear-gradient(145deg,#b6a18a,#d8c7b3)}.g3{background:linear-gradient(145deg,#e7dfd3,#c8baa8)}.placeholder{position:absolute;top:25%;left:25%;font:100px Georgia;color:#ffffff38;letter-spacing:-12px}.gallery-caption{font:22px Georgia;display:flex;justify-content:space-between}.gallery-caption i{font:16px Arial}.photo-note{font-size:10px;color:#64584c;margin-top:12px}.gallery-item:hover{box-shadow:0 8px 25px #46332215}.gallery+ p{margin-top:20px;letter-spacing:.6px;color:var(--muted)}.spa{display:grid;grid-template-columns:1fr 1fr;background:#292823;color:#eee6d9}.spa-copy{padding:90px 13%}.spa-copy .eyebrow{color:#c7b390}.spa-copy em{color:#c9ae88}.spa-copy>p:not(.eyebrow):not(.lead){color:#c0b9ad}.spa-art{position:relative;min-height:600px;background:radial-gradient(ellipse at 30% 20%,#77654d,#3e3b31 50%,#262720);display:grid;place-items:center;overflow:hidden}.orb{width:65%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 30%,#dfceb1,#8e7756 50%,#353124 80%);box-shadow:20px 40px 60px #12171190}.spa-art>span{position:absolute;bottom:45px;font-size:10px;letter-spacing:4px}.book{text-align:center}.booking-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px;text-align:left}.booking-grid article{padding:40px;background:#eee7dd}.booking-grid article+article{background:#f1ede6;border-left:1px solid var(--line)}.booking-grid h3{margin-top:18px}.booking-grid p{color:var(--muted);max-width:450px}.faq{text-align:left;margin:40px auto 0;max-width:850px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;padding:20px 0;font-size:14px}.faq p{color:var(--muted);font-size:13px;max-width:720px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#e6dacb}.contact p{color:#655a4e}.contact-links a{display:block;border-bottom:1px solid #c3b39f;padding:18px 0;font:23px Georgia}.contact-links a span{display:block;font:9px Arial;letter-spacing:2px;margin-bottom:10px}.contact-links p{margin-top:22px;letter-spacing:.5px}footer{padding:45px 8%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{font:italic 23px Georgia;margin:0}footer>a:not(.brand){font-size:12px}footer small{width:100%;color:var(--muted);font-size:10px;letter-spacing:1px;border-top:1px solid var(--line);padding-top:25px}dialog{max-width:600px;width:90%;padding:30px;background:var(--cream);border:1px solid var(--line);text-align:center}dialog::backdrop{background:#15100bd1}#closebox{display:block;margin:0 0 20px auto;background:transparent;border:0}.lightbox-art{background:linear-gradient(140deg,#d7c6b1,#efe6d9);height:280px;display:grid;place-items:center;font:100px Georgia;color:#9e8566}dialog h3{margin:25px 0 15px}dialog p{font-size:13px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1050px){nav{gap:14px}header{padding:0 4%}.hero-copy{padding-left:8%;padding-right:6%}.hero{min-height:620px}.hero-art{min-height:620px}.section{padding:80px 6%}.gallery-item{min-height:320px}}@media(max-width:800px){header{height:80px}.brand strong{font-size:38px}#menu{display:block;background:transparent;border:0;font-size:12px}#menu span{margin-left:8px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:12px 0}.navbook{padding:12px!important;margin-top:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7% 35px}h1{font-size:64px}.hero-foot{margin-top:40px}.hero-art{min-height:450px}.arch{height:330px;width:65%}.arch span{font-size:160px}.ribbon{flex-wrap:wrap;font-size:8px;gap:12px}.ribbon i{display:none}.section{padding:65px 7%}.about,.contact{grid-template-columns:1fr;gap:25px}.signature{margin:0 0 20px}.sectionhead{display:block;margin-bottom:30px}.sectionhead>p{margin-top:20px}.service-list h3{font-size:25px}.service-list summary{gap:18px}.detail{padding-left:32px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-item{min-height:300px;padding:18px}.gallery-caption{font-size:20px}.gallery-item:last-child{grid-column:1/-1;min-height:240px}.spa{grid-template-columns:1fr}.spa-art{min-height:340px}.orb{width:50%;max-width:290px}.spa-copy{padding:60px 7%}.booking-grid{grid-template-columns:1fr}.booking-grid article{padding:30px}.booking-grid article+article{border-left:0;border-top:1px solid var(--line)}footer{padding:35px 7%}html{scroll-padding-top:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:380px){h1{font-size:55px}.gallery{grid-template-columns:1fr}.gallery-item:last-child{grid-column:auto}.button{padding:14px 18px;gap:15px}}
/* Readability and mobile refinements for the Hair Studio draft. */
body{font-size:16px;line-height:1.8}nav{font-size:14px}.brand span{font-size:12px}.eyebrow,.small{font-size:12px;letter-spacing:1.6px}.intro{font-size:18px;max-width:400px}.button,.textlink{font-size:14px}.ribbon{font-size:11px;letter-spacing:1.4px}.about-note{font-size:12px}.sectionhead>p{font-size:15px}.num{font-size:12px}.detail a{font-size:14px}.filters button{font-size:14px;min-height:44px}.photo-note{font-size:12px}.faq summary{font-size:16px;min-height:56px}.faq p{font-size:15px}.contact-links a span{font-size:11px}.contact-links p{font-size:13px}footer>a:not(.brand){font-size:14px}footer small{font-size:12px}#menu{font-size:14px;min-height:44px;min-width:70px}.portrait-ready{width:100%;height:100%;min-height:610px;object-fit:cover;object-position:50% 35%}
@media(max-width:800px){.section{padding:60px 7%}h1{font-size:clamp(48px,12vw,64px);letter-spacing:-2px}.intro{font-size:17px}.eyebrow,.small{font-size:11px;line-height:1.7}.ribbon{font-size:10px;line-height:1.8}.actions{gap:20px}.button{min-height:48px}.hero-copy{padding-top:45px}.hero-art{min-height:420px}.portrait-ready{min-height:420px;max-height:560px}.about-note{flex-wrap:wrap;gap:12px}.sectionhead>p{font-size:15px}.contact-links a{font-size:clamp(18px,5vw,23px);overflow-wrap:anywhere}.gallery-caption{font-size:20px}.faq summary{gap:20px}.gallery+ p{font-size:12px}.brand span{font-size:11px}}
@media(max-width:420px){.gallery{grid-template-columns:1fr}.gallery-item:last-child{grid-column:auto}.service-list h3{font-size:23px}.booking-grid article{padding:25px}.contact{gap:30px}}
.artist{align-items:center;gap:9%;grid-template-columns:.9fr 1fr}.artist-photo{background:#e6dacb;overflow:hidden}.artist-photo img{display:block;width:100%;height:auto;max-height:650px;object-fit:cover;object-position:50% 25%}.artist .signature{margin:25px 0 20px;font-size:55px}.story{background:#f0e9df;padding-top:85px;padding-bottom:85px}.story-head{text-align:center;max-width:720px;margin:0 auto 40px}.story-head h2{margin-bottom:15px}.story-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}.story-photo{margin:0}.story-photo img{display:block;width:100%;height:auto}.story-copy p{font:19px/1.85 Georgia,serif;color:#665a4d;margin-bottom:22px}.story-copy p:last-child{margin-bottom:0}.story-photo figcaption{font-size:11px;color:#867763;letter-spacing:.5px;margin-top:12px}@media(max-width:800px){.artist{grid-template-columns:1fr;gap:35px}.artist-photo{max-width:460px;width:100%;margin:auto}.artist-photo img{max-height:540px}.story{padding-top:60px;padding-bottom:60px}.story-layout{grid-template-columns:1fr;gap:32px}.story-copy p{font-size:18px;line-height:1.8}.story-head{margin-bottom:28px}.story-photo img{object-fit:contain}}
.private-studio{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;background:#f8f5ef}.private-studio h2{font-size:clamp(38px,4vw,58px);line-height:1.15}.private-studio-copy{max-width:500px}.private-studio-copy p:not(.eyebrow){font-size:17px;line-height:1.85;color:#706458}.private-studio-photo{margin:0;background:#e9dfd2}.private-studio-photo img{display:block;width:100%;height:auto;object-fit:contain}.private-studio-photo figcaption{font-size:11px;letter-spacing:1px;color:#756552;padding:15px 18px;background:#f0e9df}@media(max-width:800px){.private-studio{grid-template-columns:1fr;gap:30px}.private-studio h2{font-size:42px}.private-studio-copy{max-width:none}.private-studio-copy p:not(.eyebrow){font-size:16px}.private-studio-photo{max-width:520px;width:100%;margin:auto}}

/* Technical audit: filtering must override flex tile display. */
.gallery-item[hidden]{display:none!important}
/* Avoid smooth scrolling while the visitor has reduced-motion enabled. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Carousel: remove both tile spacing and internal letterboxing without cropping. */
.work-strip .work-group{gap:0;padding-right:0}
.work-strip .work-frame{width:auto;flex:0 0 auto}
.work-strip .work-frame img{width:auto;max-width:none;height:100%}
/* Gallery: match the unchanged 4:3 cover artwork on mobile only. */
@media(max-width:800px){
  #gallery .gallery > .gallery-item{min-height:0;aspect-ratio:4/3;height:auto;padding:0}
}
