:root{--plum:#38232e;--ivory:#f7f2eb;--rose:#b78689;--taupe:#dfd1c6;--ink:#63505a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--plum);font:16px/1.65 Arial,sans-serif}a{color:inherit}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(56px,6.7vw,100px);letter-spacing:-4px}h2{font-size:clamp(40px,4.4vw,65px);letter-spacing:-2px}h3{font-size:31px}em{font-family:Georgia,serif}.wrap{width:min(1240px,90%);margin:auto}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2.5px;text-transform:uppercase}.skip{position:absolute;left:10px;top:-80px}.skip:focus{top:10px;background:white;z-index:100;padding:12px}header{position:sticky;top:0;z-index:20;background:#f7f2ebf5;border-bottom:1px solid var(--taupe)}nav{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:24px}.brand{text-decoration:none;font-family:Georgia,serif;line-height:1.1;font-size:23px;letter-spacing:5px}.brand em{display:block;font-size:25px;letter-spacing:2px}.navlinks{display:flex;align-items:center;gap:30px;font-size:13px}.navlinks a{text-decoration:none}.btn{display:inline-flex;justify-content:center;align-items:center;gap:25px;text-decoration:none;padding:16px 27px;background:var(--plum);color:var(--ivory);font-size:13px;border:1px solid var(--plum);cursor:pointer}.btn.light{background:var(--ivory);color:var(--plum)}.btn.outline{background:transparent;color:var(--plum)}a:hover{opacity:.8}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rose);outline-offset:5px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding:65px 0 75px}.hero .eyebrow{margin-bottom:26px}.hero h1 em{color:#95636f}.hero p{max-width:430px;color:var(--ink);margin:27px 0 30px}.hero-art{position:relative}.hero-art img{display:block;width:100%;max-height:625px;object-fit:cover;border-radius:220px 220px 0 0}.hero-art .badge{position:absolute;bottom:36px;left:-28px;background:var(--ivory);padding:19px 26px;box-shadow:0 6px 35px #38232e12;font:italic 21px Georgia,serif}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.small{font-size:12px}.hero .small{margin-top:18px}.strip{border-top:1px solid var(--taupe);border-bottom:1px solid var(--taupe);display:flex;justify-content:space-around;gap:20px;padding:22px 5%;font-size:11px;letter-spacing:2px}section{padding:95px 0}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-top h2{margin-top:16px;max-width:700px}.section-top>p{max-width:310px;color:var(--ink)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid var(--taupe);background:transparent;padding:9px 18px;font-size:12px;border-radius:30px;cursor:pointer;color:var(--plum)}.filters button[aria-pressed=true]{background:var(--plum);color:var(--ivory);border-color:var(--plum)}.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--taupe);border-left:1px solid var(--taupe)}.service{padding:33px;border-right:1px solid var(--taupe);border-bottom:1px solid var(--taupe);display:flex;flex-direction:column;gap:15px}.service[hidden]{display:none}.number{font-size:10px;letter-spacing:2px;text-transform:uppercase}.service em{color:#95636f;font-size:17px}.service p{font-size:14px;color:var(--ink);flex:1}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid var(--taupe);padding:15px 0 5px;display:flex;justify-content:space-between}.note{margin-top:22px;font-size:12px;color:var(--ink)}.story{background:var(--plum);color:var(--ivory)}.story-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:center}.monogram{font:italic 130px Georgia,serif;letter-spacing:-26px;text-align:center;border:1px solid #b7868955;border-radius:180px 180px 0 0;padding:100px 20px}.story h2{margin:20px 0 26px}.story p{color:#dfd1c6;margin-bottom:25px;max-width:500px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:45px 0}.step{border-top:1px solid var(--taupe);padding-top:20px}.step h3{font-size:27px;margin:15px 0}.step p{font-size:14px;color:var(--ink)}.booking-bar{padding:30px;background:#e9ddd4;display:flex;align-items:center;justify-content:space-between;gap:20px}.visit{background:#e9ddd4}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.visit h2{margin:18px 0 30px}.contact-block{border-top:1px solid #c9b8ad;padding:20px 0}.contact-block p{margin-bottom:6px;font-size:11px;letter-spacing:2px;text-transform:uppercase}.contact-block a{text-decoration:none}.address{font-family:Georgia,serif;font-size:24px}.faq h3{font-size:30px;margin-bottom:24px}details{border-top:1px solid #c9b8ad;padding:19px 0}summary{cursor:pointer;font-size:14px;font-weight:bold}details p{font-size:14px;margin-top:14px;color:var(--ink)}.final-cta{text-align:center}.final-cta h2{margin:16px auto 28px;max-width:650px}.final-cta p{margin-bottom:26px;color:var(--ink)}footer{background:var(--plum);color:var(--ivory);padding:40px 0}.footer-row{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-row p{font-size:12px}.mobile-book{display:none}
@media(max-width:800px){nav{min-height:78px}.navlinks{gap:16px}.navlinks>a:not(.btn){display:none}.navlinks .btn{padding:12px 17px}.hero{grid-template-columns:1fr;padding-top:45px;gap:45px}h1{letter-spacing:-2px}.hero-art{max-width:500px;width:90%;margin:auto}.hero-art .badge{left:-15px}.strip{font-size:9px;gap:12px;flex-wrap:wrap}.section-top{display:block}.section-top>p{margin-top:20px}.grid{grid-template-columns:repeat(2,1fr)}.story-grid,.visit-grid{grid-template-columns:1fr;gap:40px}.monogram{padding:45px 20px;font-size:100px;max-width:320px;margin:auto;width:100%}section{padding:65px 0}.steps{grid-template-columns:1fr;gap:25px}.booking-bar{align-items:start;flex-direction:column}.footer-row{align-items:start;flex-direction:column}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;border-top:1px solid var(--taupe);padding:11px;background:var(--ivory);gap:10px}.mobile-book a{flex:1;padding:12px}body{padding-bottom:71px}}@media(max-width:500px){.grid{grid-template-columns:1fr}.service{padding:28px}h1{font-size:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Client content revision: black typography with existing palette retained pending reference. */
:root{--plum:#000;--ink:#000}body,a,button,h1,h2,h3,p,em,summary,.hero h1 em,.service em,.story,.story p,.final-cta p,.note{color:#000}.btn,.btn.light,.btn.outline{background:#dfd1c6;color:#000;border-color:#000}.filters button[aria-pressed=true]{background:#dfd1c6;color:#000}.story{background:#e9ddd4}footer{background:#dfd1c6;color:#000}.navlinks{gap:20px}.artist-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.artist-heading h2{margin:20px 0 35px}.artist-heading .monogram{padding:55px 20px;border-color:#b78689;font-size:110px}.artist-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:22px}.artist-copy p{margin-bottom:22px;max-width:none}.artist-copy .intro{font:27px/1.4 Georgia,serif}.artist-copy blockquote{font:italic 28px/1.4 Georgia,serif;margin:30px 0 0;padding-top:25px;border-top:1px solid #c9b8ad}.policy-intro{max-width:800px;margin-bottom:35px}.policy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:25px 0;border-block:1px solid var(--taupe);margin-bottom:45px}.policy-summary span{font-size:12px}.policy-summary strong{display:block;font:24px/1.3 Georgia,serif;margin-bottom:9px}.policy-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px 55px}.policy-layout article{border-top:1px solid var(--taupe);padding-top:25px}.policy-layout h3{font-size:29px;margin-bottom:20px}.policy-layout p,.policy-layout li{font-size:14px;margin-bottom:15px}.policy-layout ul{padding-left:20px}.signature{font:italic 23px/1.6 Georgia,serif!important}.friendly{background:#e9ddd4;padding:28px!important}.policies h2{max-width:900px}.hero-art img{color:#000}@media(max-width:900px){.navlinks>a:not(.btn){display:none}.artist-grid{grid-template-columns:1fr;gap:30px}.artist-heading .monogram{display:none}.policy-layout{grid-template-columns:1fr}.policy-summary{grid-template-columns:1fr;gap:20px}}

.hero-art img{aspect-ratio:4/5;object-fit:cover;object-position:50% 36%;max-height:650px}.artist-portrait{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:180px 180px 0 0}.artist-gallery{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;margin-top:30px}.artist-gallery img{display:block;width:100%;height:240px;object-fit:cover;object-position:50% 60%}.artist-gallery img:last-child{object-position:center}@media(max-width:900px){.artist-portrait{max-width:440px;margin:0 auto}.artist-label{text-align:center}.artist-gallery img{height:210px}}@media(max-width:500px){.artist-gallery{gap:10px;grid-template-columns:1fr 1fr}.artist-gallery img{height:190px}}

.reviews{background:#eee4dc}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.review-card{margin:0;background:var(--ivory);padding:38px;display:flex;flex-direction:column;border-top:2px solid #b78689}.review-card blockquote{font:29px/1.4 Georgia,serif;margin:24px 0 35px;flex:1}.review-card figcaption{display:flex;flex-direction:column;font-size:12px;gap:5px}.review-card figcaption strong{font-size:14px}.review-card figcaption a{margin-top:8px;text-underline-offset:4px}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:30px}.navlinks{gap:15px}@media(min-width:901px) and (max-width:1150px){.navlinks>a:not(.btn){display:none}}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-card{padding:27px}.review-footer{flex-direction:column;align-items:flex-start}}

/* Mobile access, readable controls, and iOS safe-area support. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-wrap:break-word}img{max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}.filters button{min-height:44px}.navlinks a{min-height:44px;display:inline-flex;align-items:center}.faq summary{min-height:44px;padding:10px 0}.faq details{padding:9px 0}.footer-row p{font-size:14px}.footer-row p a{display:inline-flex;min-height:44px;align-items:center}.mobile-menu{display:none;border:0;padding:0;margin-left:auto}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;font-size:14px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;right:5%;top:calc(100% - 1px);width:min(340px,90vw);background:var(--ivory);border:1px solid var(--taupe);padding:12px;box-shadow:0 12px 24px #00000015}.mobile-menu a{display:flex;align-items:center;min-height:48px;padding:10px 14px;text-decoration:none;font-size:15px}.mobile-menu a:hover{background:#e9ddd4}.hero>*,.artist-grid>*,.visit-grid>*,.review-grid>*{min-width:0}.review-footer .btn{flex-shrink:0}.btn{min-height:48px}.mobile-book{padding-bottom:calc(11px + env(safe-area-inset-bottom,0px))}header{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}@media(max-width:1150px){.mobile-menu{display:block}.navlinks>a:not(.btn){display:none}nav{gap:12px}}@media(max-width:800px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.small,.note{font-size:14px}.hero-art .badge{max-width:calc(100% + 15px)}.policy-summary strong{font-size:23px}}@media(max-width:400px){.navlinks .btn{font-size:12px;padding:10px}.brand{font-size:19px;letter-spacing:3px}.brand em{font-size:22px}.mobile-menu summary{padding:8px;font-size:13px;gap:6px}.hero-actions .btn{width:100%}.hero h1{font-size:clamp(46px,14vw,60px)}}
.footer-legal{display:flex;flex-wrap:wrap;gap:4px 28px;border-top:1px solid #bdaea3;margin-top:28px;padding-top:20px}.footer-legal a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.footer-legal .legal-external-note{width:100%;font-size:12px;line-height:1.6;margin:4px 0 0}.legal-content{max-width:840px;margin:0 auto;padding:70px 0}.legal-content h1{font-size:clamp(42px,6vw,68px);letter-spacing:-2px;margin-bottom:22px}.legal-content h2{font-size:28px;letter-spacing:0;margin:38px 0 16px}.legal-content p,.legal-content li{margin-bottom:16px}.legal-content li{padding-left:5px}.legal-content a{text-underline-offset:4px}.draft-status{background:#e9ddd4;padding:18px 22px;border-left:3px solid #000;margin-bottom:28px;font-size:14px}.legal-date{font-size:14px}@media(max-width:600px){.legal-content{padding:45px 0}.footer-legal{gap:0 20px}}
.artist-portrait{aspect-ratio:1440/954;height:auto;object-fit:contain;border-radius:0}.artist-heading .artist-portrait{max-width:100%}@media(max-width:900px){.artist-portrait{max-width:650px}}

/* Prominent client reviews immediately following appointment policies. */
.reviews{position:relative;background:#e4c7c1;padding:90px 0;border-top:1px solid #b78689;border-bottom:1px solid #b78689}.reviews .section-top{align-items:center;margin-bottom:42px}.review-kicker{display:inline-block;background:#f7f2eb;padding:10px 16px;border:1px solid #b78689}.reviews h2{font-size:clamp(46px,5.5vw,78px);line-height:1.04;max-width:780px}.reviews h2 em{color:#000}.reviews .section-top>p{font-size:16px;color:#000;max-width:300px}.review-grid{gap:30px}.review-card{position:relative;border:1px solid #b78689;border-top:4px solid #000;background:#fffaf5;box-shadow:0 14px 32px #38232e12;padding:40px;min-height:350px}.review-card:before{content:'“';display:block;font:80px/.6 Georgia,serif;color:#b78689;margin:18px 0 22px;pointer-events:none}.review-card blockquote{font-size:clamp(26px,2.7vw,38px);line-height:1.3;margin:20px 0 32px}.review-card figcaption{border-top:1px solid #dfd1c6;padding-top:20px}.review-card figcaption strong{font-size:17px}.review-card figcaption a{min-height:44px;display:inline-flex;align-items:center}.review-footer{margin-top:38px;padding-top:28px;border-top:1px solid #b78689}.review-google-btn{background:#f7f2eb;color:#000;border:2px solid #000;padding:18px 25px;font-size:14px;font-weight:bold;box-shadow:5px 5px 0 #b78689}.review-google-btn:hover{opacity:1;background:#fffaf5;box-shadow:3px 3px 0 #b78689}.review-footer .small{font-size:13px;color:#000}@media(max-width:700px){.reviews{padding:65px 0}.reviews .section-top>p{max-width:none;margin-top:24px}.review-card{padding:28px;min-height:0}.review-google-btn{width:100%;text-align:center}.review-footer{align-items:stretch}.review-grid{gap:22px}}
