@font-face{font-family:Cormorant;src:url('/fonts/cormorant.woff2') format('woff2');font-weight:400 700;font-display:swap}@font-face{font-family:Manrope;src:url('/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--black:#000;--nude:#d8bba9;--soft:#eadbd1;--ivory:#faf6f2;--cocoa:#6b5145;--line:#ffffff29;--display:Cormorant,Georgia,serif;--body:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font:15px/1.75 var(--body)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04}h1{font-size:clamp(54px,6.8vw,105px)}h2{font-size:clamp(42px,4.1vw,68px)}h3{font-size:32px}p{max-width:65ch}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ab795b;outline-offset:5px}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;background:var(--nude);color:#000;padding:10px 20px}.skip-link:focus{top:10px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 5.5%;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:32px;line-height:1.1}.brand span{display:block;font:10px/1.8 var(--body);letter-spacing:2px;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav a[aria-current]{color:var(--nude)}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:14px 30px;border:1px solid var(--nude);border-radius:2px;background:var(--nude);color:#000;font:600 13px/1.5 var(--body);text-align:center;white-space:normal;overflow:visible;max-width:100%}.button:hover{background:var(--soft);border-color:var(--soft)}.button-small{min-height:44px;padding:11px 25px}.button-outline{background:transparent;color:inherit;border-color:currentColor}.button-outline:hover{color:#000;background:var(--nude)}.button-dark{background:#000;color:var(--ivory);border-color:#000}.button-dark:hover{background:var(--cocoa);color:var(--ivory);border-color:var(--cocoa)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;padding:10px 0;border-bottom:1px solid #a38775}.text-link span{font-size:22px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:var(--ivory);padding:10px 16px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;margin:0 auto;max-width:1700px}.hero-copy{padding:100px 10% 70px 10.5%;display:flex;flex-direction:column;justify-content:center}.intro-label{font-size:12px;color:var(--nude);margin-bottom:28px}.hero h1{font-size:clamp(70px,7.4vw,124px);line-height:.92;letter-spacing:-3px;max-width:560px;margin-bottom:32px}.hero h2{font:400 22px/1.4 var(--display)}.hero-description{color:#c1b5ae;font-size:13px;margin-top:18px;max-width:350px}.hero-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:34px}.hero-signature{display:flex;align-items:center;gap:16px;margin-top:65px;color:var(--nude);font-size:11px}.signature-line{width:45px;height:1px;background:var(--nude)}.hero-portrait{position:relative;min-height:650px;background:#c6bdb6}.hero-portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 37%}.portrait-caption{position:absolute;bottom:30px;left:32px;font-size:11px;color:#000;background:#faf6f2c9;padding:6px 15px}.section-wrap{padding:90px 5.5%;max-width:1600px;margin:0 auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:42px}.section-heading>p{color:#b9a89d;font-size:13px}.section-note{color:var(--nude);font-size:12px;margin-bottom:17px}.featured-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-card{border:0;padding:0;background:transparent;color:inherit;text-align:left}.photo-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.photo-card span{display:block;font-size:11px;color:#bbab9e;margin-top:13px}.featured-gallery .photo-card:nth-child(2){margin-top:40px}.about-section{background:var(--soft);color:#000;display:grid;grid-template-columns:1fr 1fr;gap:0}.about-portrait{min-height:570px;max-height:730px}.about-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 30%}.about-copy{padding:80px 13%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.about-copy .section-note{color:var(--cocoa)}.about-copy h2{margin-bottom:28px}.about-copy p:not(.section-note){font-size:14px;margin-bottom:24px;color:#48362b}.about-copy .button{margin-top:12px}.service-row{display:grid;grid-template-columns:1fr 140px auto;align-items:center;gap:35px;padding:34px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-description p{font-size:13px;color:#c1b5ae;margin-top:12px;max-width:550px}.service-details{display:flex;flex-direction:column;font-size:12px;color:#bba698}.price{font-family:var(--display);font-size:29px;color:var(--ivory)}.instagram-section{border-top:1px solid var(--line)}.instagram-invitation{display:flex;gap:40px;align-items:center;justify-content:center;padding:45px;background:#eadbd10d;border:1px solid var(--line)}.instagram-mark{font-size:75px;line-height:1;color:var(--nude)}.instagram-invitation p{font-family:var(--display);font-size:28px;line-height:1.2}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.instagram-grid img{aspect-ratio:1;object-fit:cover;width:100%}.instagram-grid span{font-size:11px}.booking-invitation{text-align:center;background:var(--soft);color:#000;padding:80px 24px}.booking-invitation p{margin:0 auto 25px;font-size:12px;color:var(--cocoa)}.booking-invitation h2{font-size:clamp(56px,6.8vw,100px);margin-bottom:30px}.booking-invitation .button{background:#000;color:var(--ivory);border-color:#000}.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;padding:65px 5.5% 25px}.footer-links,.footer-social{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#d6c5b8}.copyright{grid-column:1/-1;color:#ae9e92;font-size:10px;padding-top:25px;border-top:1px solid var(--line);max-width:none}.page-intro{padding-top:75px}.page-intro>p:not(.section-note){margin-top:25px;color:#c1b5ae}.page-intro .service-list,.page-intro .gallery{margin-top:60px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 24px}.about-full{margin-bottom:40px}.photo-viewer{border:0;background:#000;color:var(--ivory);max-width:min(95vw,1000px);max-height:95vh;padding:45px 24px 20px}.photo-viewer::backdrop{background:#000d}.photo-viewer>img{max-height:70vh;margin:auto;object-fit:contain}.photo-viewer>p{text-align:center;font-size:12px;margin:14px auto}.viewer-close{position:absolute;right:15px;top:10px}.viewer-close,.viewer-controls button{color:var(--ivory);background:#15100c;border:1px solid var(--line);padding:7px 14px}.viewer-controls{display:flex;justify-content:space-between;gap:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field input,.field select,.field textarea{width:100%;min-height:48px;background:#fff;color:#000;border:1px solid #b9a89d;padding:12px;border-radius:2px}.field textarea{min-height:110px}.full-width{grid-column:1/-1}.form-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:28px}.notice{padding:16px 20px;border:1px solid #a4846e;background:#d8bba91a;margin-bottom:24px;font-size:13px}.notice.error{border-color:#c37363}.booking-layout{display:grid;grid-template-columns:1fr 320px;gap:50px;margin-top:40px}.booking-panel{border:1px solid var(--line);padding:30px}.booking-panel h2{font-size:34px;margin-bottom:24px}.booking-summary{padding:30px;background:var(--soft);color:#000;align-self:start}.booking-summary h3{font-size:30px;margin-bottom:18px}.booking-summary p{font-size:13px;margin-bottom:14px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.slot-option{display:block}.slot-option input{position:absolute;opacity:0}.slot-option span{display:block;border:1px solid var(--line);padding:12px;text-align:center;font-size:13px}.slot-option input:checked+span{background:var(--nude);color:#000;border-color:var(--nude)}.slot-option input:focus-visible+span{outline:3px solid var(--nude);outline-offset:3px}.step-indicator{font-size:12px;color:var(--nude);margin-bottom:15px}.checkbox-field{display:flex;gap:12px;font-size:13px;align-items:flex-start;margin-top:20px}.checkbox-field input{margin-top:5px;min-width:18px}.policy-text{white-space:pre-line;font-size:13px;color:#c1b5ae;margin:20px 0}.muted{color:#bba698;font-size:13px}.page-narrow{max-width:850px}.status-label{display:inline-block;border:1px solid var(--line);padding:5px 12px;font-size:12px;margin:20px 0}
@media(min-width:1700px){.hero-copy{padding-left:90px}.hero-portrait img{object-position:center 28%}}@media(max-width:1000px){.hero-copy{padding:65px 8%}.hero h1{font-size:84px}.hero,.hero-portrait{min-height:620px}.site-header nav{gap:20px}.about-copy{padding:55px 9%}.service-row{grid-template-columns:1fr 120px;gap:20px}.service-row>.button{grid-column:1/-1;justify-self:start}.booking-layout{grid-template-columns:1fr 260px;gap:25px}}@media(max-width:700px){.site-header{padding:20px 6%;position:relative;z-index:10}.brand{font-size:27px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:25px 6%;background:#000;border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:58px 6% 45px}.hero h1{font-size:clamp(70px,16vw,110px);max-width:460px;letter-spacing:-2px}.hero h2{font-size:25px}.hero-signature{margin-top:35px}.hero-portrait{min-height:520px}.hero-portrait img{object-position:center 34%}.section-wrap{padding:65px 6%}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.featured-gallery{gap:12px}.featured-gallery .photo-card:nth-child(2){margin-top:20px}.photo-card span{font-size:10px}.about-section{grid-template-columns:1fr}.about-portrait{min-height:430px;height:500px}.about-copy{padding:55px 6%}.service-row{grid-template-columns:1fr auto;gap:20px}.service-details{max-width:100px}.service-row h3{font-size:29px}.instagram-invitation{flex-direction:column;text-align:center;gap:22px;padding:30px 20px}.instagram-grid{grid-template-columns:repeat(2,1fr);gap:12px}.site-footer{grid-template-columns:1fr 1fr;padding:50px 6% 25px;gap:30px}.site-footer>div:first-child{grid-column:1/-1}.gallery{grid-template-columns:repeat(2,1fr);gap:28px 15px}.booking-layout{grid-template-columns:1fr}.booking-summary{order:-1}.booking-panel{padding:24px 18px}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.slot-grid{grid-template-columns:repeat(2,1fr)}.hero-actions{gap:20px}.page-intro h1{font-size:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-portrait{display:flex;align-items:center;justify-content:center;background:#bcb3aa}.hero-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 5%}.about-portrait{position:relative;display:flex;align-items:center;justify-content:center;background:#c6bdb6}.about-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 23%}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.slot-fieldset{margin:25px 0;padding:0;border:0}.slot-fieldset legend{font-size:12px;color:var(--nude)}.inquiry-form{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.inquiry-form h2{margin-bottom:25px}.booking-panel>.notice{margin-top:25px}

.portrait-picture{display:contents}

.about-portrait img[src="/media/josie-about-20260930-2400.webp"]{object-position:50% 0%}

.legal-copy{max-width:950px;padding-top:0}.legal-copy h2{font-size:34px;margin:34px 0 16px}.legal-copy p{max-width:none;margin:0 0 18px;color:#d7cbc4}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.legal-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:12px}.legal-links a{text-decoration:underline;text-underline-offset:3px}
/* Booking: a quiet, tactile calendar with a complete service menu. */
.booking-page{max-width:1360px}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr) 300px;gap:32px;margin-top:50px;align-items:start}.booking-page .booking-panel{padding:36px;border-color:#eadbd12b;border-radius:18px;background:#ffffff03}.booking-page .booking-panel>h2{font-size:42px;margin-bottom:30px}.booking-picker{display:grid;gap:24px;max-width:660px}.booking-picker [hidden],.booking-page [data-booking-results][hidden]{display:none!important}.picker-label{font-size:12px;line-height:1.4;color:#b8a79c;margin:0 0 10px}.service-picker{position:relative}.service-trigger{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 22px;text-align:left;background:#161310;border:1px solid #9e827066;border-radius:10px;color:var(--ivory);transition:border-color .18s,background .18s}.service-trigger:hover,.service-trigger[aria-expanded=true]{border-color:var(--nude);background:#201a16}.service-trigger strong{display:block;font-size:17px;font-weight:500;line-height:1.5}.service-selected-meta{display:block;font-size:12px;color:#bba698;margin-top:5px}.picker-chevron{font-size:25px;color:var(--nude);transition:transform .18s}.service-trigger[aria-expanded=true] .picker-chevron{transform:rotate(180deg)}.service-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:5;padding:8px;background:#211b17;border:1px solid #ab8f7c;border-radius:12px;box-shadow:0 24px 55px #0008}.service-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:17px 15px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ivory);text-align:left}.service-choice:hover,.service-choice[aria-pressed=true]{background:#eadbd112;border-color:#eadbd12a}.service-choice strong{display:block;font-size:14px;line-height:1.5;font-weight:500}.service-choice span>span{display:block;font-size:11px;color:#bba698;margin-top:3px}.service-choice-price{font-size:12px;color:var(--nude);flex-shrink:0;max-width:45%;white-space:normal}.booking-calendar{background:#f0e6df;border:1px solid #fff6;border-radius:14px;padding:26px;color:#221b16}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.calendar-heading .picker-label{color:#756358;margin-bottom:7px}.booking-calendar h3{font-size:32px;line-height:1.15;margin:0}.calendar-navigation{display:flex;gap:8px}.calendar-navigation button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid #bca898;background:transparent;border-radius:50%;font-size:26px;line-height:1;color:#3d3027}.calendar-navigation button:hover:not(:disabled){background:#dfc9b9;border-color:#8b6d58}.calendar-navigation button:disabled{opacity:.28;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;font-size:10px;color:#79675a;padding-bottom:12px}.calendar-days button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:44px;aspect-ratio:1.16;border:1px solid transparent;border-radius:8px;background:transparent;color:#29201a;font-size:13px;transition:background .15s,color .15s}.calendar-days button:hover:not(:disabled){background:#ddc5b3}.calendar-days button[aria-current=date]{border-color:#b49a85;font-weight:700}.calendar-days button[aria-pressed=true]{background:#181411;color:#fff6ee;border-color:#181411;box-shadow:0 3px 9px #412b1520}.calendar-days button:disabled{color:#ae9d90;cursor:default}.calendar-selection{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #b49a854a;margin-top:20px;padding-top:17px;font-size:12px;font-weight:600}.calendar-timezone{color:#79675a;font-size:10px;font-weight:400}.booking-picker .picker-help{font-size:12px;line-height:1.7;color:#bca99c;margin:-6px 0 0}.booking-check{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:8px;min-height:56px;font-size:13px}.booking-check span{font-size:21px}.booking-page .booking-summary{border-radius:14px;padding:32px;position:sticky;top:30px}.booking-summary [data-summary-name]{font-family:var(--display);font-size:27px;font-weight:500;line-height:1.2}.booking-summary [data-summary-description]{color:#665346;line-height:1.8;margin:20px 0}.booking-summary .summary-price{font-family:var(--display);font-size:34px;line-height:1.2;margin-bottom:8px}.booking-summary [data-summary-duration]{color:#79675a;font-size:12px;border-bottom:1px solid #0002;padding-bottom:22px;margin-bottom:22px}.booking-page .inquiry-form{margin-top:38px;padding-top:34px}.booking-page .field{color:#cbbbaf;gap:10px}.booking-page .field input,.booking-page .field textarea,.booking-page .field select{background:#161310;border:1px solid #6c56464d;color:var(--ivory);border-radius:8px;padding:15px;transition:border-color .15s}.booking-page .field input:hover,.booking-page .field textarea:hover{border-color:#a4846e}.booking-page .field input:focus,.booking-page .field textarea:focus{border-color:var(--nude)}.booking-page .slot-option span{border-radius:8px}.booking-page .form-actions .button{border-radius:8px}.booking-picker button:focus-visible{outline:2px solid #b98f6f;outline-offset:4px}.booking-calendar button:focus-visible{outline-color:#52392a;outline-offset:2px}.booking-page .cf-turnstile{margin-top:22px}
@media(max-width:900px){.booking-page .booking-layout{grid-template-columns:minmax(0,1fr) 250px;gap:22px}.booking-page .booking-panel{padding:26px}.booking-calendar{padding:22px}.booking-page .booking-summary{padding:26px}}
@media(max-width:700px){.booking-page .booking-layout{grid-template-columns:minmax(0,1fr);gap:24px}.booking-page .booking-summary{order:0;position:static}.booking-page .booking-panel{padding:24px 18px}.booking-calendar{padding:20px 14px}.booking-page .booking-panel>h2{font-size:36px}.calendar-days{gap:3px}.calendar-days button{min-height:40px}.service-trigger{padding:18px 16px}.service-trigger strong{font-size:16px}.service-choice{padding:15px 10px;gap:12px}.service-choice strong{font-size:13px}.service-choice-price{font-size:11px}.calendar-heading{gap:8px}.booking-calendar h3{font-size:29px}.calendar-navigation{gap:6px}.calendar-navigation button{height:36px;width:36px}.booking-page .form-actions .button{width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.booking-picker *{transition:none!important}}
/* Local service content follows the existing editorial layout. */
.local-services{border-top:1px solid var(--line)}.local-services>p{font-size:14px;color:#c1b5ae;max-width:780px;line-height:1.9}.local-service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin-top:32px}.local-service-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 0;font-family:var(--display);font-size:30px;line-height:1.2}.local-service-links a span:last-child{font-family:Manrope;font-size:20px;color:var(--nude)}.seo-page{max-width:1380px}.seo-page h1{font-size:clamp(48px,5.5vw,82px);max-width:950px;line-height:1.05}.seo-intro{max-width:750px;line-height:1.9}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#bba698;margin-bottom:42px}.seo-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;margin-top:70px}.seo-copy{max-width:760px}.seo-copy h2{font-size:39px;margin-bottom:28px}.seo-copy>p{font-size:14px;line-height:1.95;color:#c1b5ae;margin-bottom:24px}.seo-copy p a{text-decoration:underline;text-underline-offset:4px;color:var(--nude)}.seo-page .booking-summary{border-radius:10px}.seo-page .summary-price{font-family:var(--display);font-size:32px}.seo-contact{margin-top:24px;overflow-wrap:anywhere}.seo-faq{margin-top:50px}.seo-faq details{border-top:1px solid var(--line);padding:20px 0}.seo-faq details:last-child{border-bottom:1px solid var(--line)}.seo-faq summary{cursor:pointer;font-size:15px;color:var(--ivory);line-height:1.6;padding-right:15px}.seo-faq details p{font-size:13px;line-height:1.9;color:#c1b5ae;margin-top:15px}.about-portrait img[src^="/media/josie-about-seo-"]{object-position:50% 0%}
@media(max-width:800px){.seo-content-layout{grid-template-columns:1fr;gap:35px;margin-top:50px}.seo-content-layout .booking-summary{order:-1}.local-service-links{gap:0 22px}.local-service-links a{font-size:26px}}
@media(max-width:500px){.local-service-links{grid-template-columns:1fr}.seo-copy h2{font-size:32px}.breadcrumbs{gap:8px;margin-bottom:30px}.seo-page .hero-actions{align-items:flex-start;flex-direction:column}.seo-page .button{white-space:normal}}
