@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap";:root{--ivory:#f8f4ef;--nude:#e8d9d0;--rose:#b79288;--ink:#342b2a;--champagne:#aa8c69;--line:#d9cbc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);margin:0;font:16px/1.6 DM Sans,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Italiana,Georgia,serif;font-weight:400;line-height:1.08}h1{letter-spacing:-.045em;font-size:clamp(3.5rem,8vw,8rem)}h2{letter-spacing:-.035em;font-size:clamp(2.7rem,5vw,5.2rem)}h3{font-size:2rem}em{color:var(--rose);font-family:Georgia,serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}img{max-width:100%;display:block}::selection{background:var(--rose);color:#fff}:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.68rem;font-weight:700}.wordmark{letter-spacing:.18em;white-space:nowrap;font-family:Georgia,serif;font-size:1.35rem}.wordmark span{color:var(--rose)}.site-header{border-bottom:1px solid var(--line);z-index:3;justify-content:space-between;align-items:center;height:86px;padding:0 5%;display:flex;position:relative}.site-header nav{gap:2.2rem;font-size:.82rem;display:flex}.site-header nav a:hover,.footer a:hover,.text-link:hover{color:#9b695d}.header-book{border-bottom:1px solid var(--ink);padding-bottom:.35rem;font-size:.83rem;font-weight:700}.header-book span{margin-left:1rem}.mobile-book{display:none}.hero{grid-template-columns:53% 47%;min-height:690px;display:grid;overflow:hidden}.hero-copy{flex-direction:column;align-items:flex-start;padding:clamp(4rem,8vw,9rem) 7% 3rem 9.5%;display:flex}.hero-copy .eyebrow{color:var(--rose);margin-bottom:2rem}.hero h1{max-width:760px;margin:0 0 1.7rem}.hero h1 em{white-space:nowrap;display:block}.hero-copy>p{color:#6e615d;max-width:360px;line-height:1.8}.actions{flex-wrap:wrap;align-items:center;gap:2rem;margin-top:2rem;display:flex}.button{background:var(--ink);border:1px solid var(--ink);color:var(--ivory);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:2.2rem;min-height:52px;padding:1rem 1.5rem;font-size:.8rem;font-weight:700;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{background:#604c45;transform:translateY(-2px)}.quiet-link,.text-link{border-bottom:1px solid var(--champagne);padding-bottom:.35rem;font-size:.82rem;font-weight:700}.hero-caption{color:#9d8980;letter-spacing:.2em;text-transform:uppercase;margin-top:auto;padding-top:3rem;font-size:.65rem}.hero-art{background:var(--nude);justify-content:center;align-items:center;min-height:610px;padding:7%;display:flex;position:relative;overflow:hidden}.art-frame{background:#cbb3a4;width:min(78%,490px);height:min(76%,550px);min-height:480px;position:relative;overflow:hidden;box-shadow:24px 26px #f8f4ef59}.art-frame:before{content:"";background:radial-gradient(at 70% 20%,#eee0d3,#0000 50%),linear-gradient(130deg,#a9877b,#e6d1c2 55%,#b28d83);position:absolute;inset:-20%}.art-script{color:#fffaf4;z-index:2;font:italic 1.7rem Georgia,serif;position:absolute;bottom:2rem;left:2rem;transform:rotate(-5deg)}.nail-art{filter:drop-shadow(-14px 16px 12px #3e282340);position:absolute;inset:0;transform:rotate(-17deg)translate(15%,17%)}.finger{background:linear-gradient(90deg,#ad7b6e,#dfb2a0 30%,#ebc7b4 65%,#bc8c7d);border-radius:55% 55% 27% 27%/12%;width:18%;height:83%;position:absolute;bottom:-11%;box-shadow:inset -5px 0 12px #a87c6d55}.finger i{background:linear-gradient(115deg,#faf6ee,#ead8cc 60%,#c7a395);border:2px solid #e9c9ba;border-radius:46% 46% 13% 13%/23% 23% 13% 13%;width:68%;height:31%;display:block;position:absolute;top:-1%;left:16%;box-shadow:0 2px 3px #8e625b55}.finger-one{height:60%;left:13%}.finger-two{height:89%;left:32%}.finger-three{height:96%;left:51%}.finger-four{height:75%;left:70%}.finger-two i:after,.finger-four i:after{content:"";background:#b89d7d;width:75%;height:1px;position:absolute;top:27%;left:12%;transform:rotate(-18deg)}.art-note{color:#796961;writing-mode:vertical-rl;font:italic 1rem Georgia,serif;position:absolute;bottom:3%;right:3%}.section-pad{padding:7rem max(5%,50vw - 660px)}.section-marker{color:var(--rose);font:italic 1.2rem Georgia,serif}.section-marker span{letter-spacing:.2em;color:var(--ink);margin-left:1rem;font:700 .67rem DM Sans,sans-serif}.intro{border-bottom:1px solid var(--line);grid-template-columns:30% 70%;display:grid}.intro h2{margin-bottom:2rem}.intro p{color:#726762;max-width:580px;font-size:1.07rem;line-height:1.85}.intro .text-link{margin-top:1rem;display:inline-block}.services-section{background:#eee5df}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:3rem;display:flex}.section-heading .eyebrow{color:#9b6e64}.section-heading h2{margin:.8rem 0 0}.service-list{border-top:1px solid #bba99e}.service-row{border-bottom:1px solid #bba99e;justify-content:space-between;gap:2rem;padding:2rem 0;display:flex}.service-row h3{margin:.5rem 0 .6rem}.service-row p{color:#776b66;max-width:600px}.service-row small{color:#877970;font-size:.75rem}.service-side{text-align:right;white-space:nowrap;flex-direction:column;align-items:end;gap:1.4rem;display:flex}.service-side strong{font-size:1.15rem;font-weight:500}.work-section{background:var(--ivory)}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.gallery-item{background:var(--nude);aspect-ratio:4/5;position:relative;overflow:hidden}.gallery-item:nth-child(2n){transform:translateY(1.8rem)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{color:#fff;background:linear-gradient(#0000,#342b2a99);padding:1rem;position:absolute;bottom:0;left:0;right:0}.empty{border:1px solid var(--line);color:#70645f;padding:3rem}.empty h3{margin-bottom:.6rem}.gallery-empty{background:#efe4dc;grid-template-columns:38% 1fr;align-items:center;gap:3rem;min-height:300px;display:grid}.mini-mark{text-align:center;color:#c1a79b;font:8rem Georgia,serif}.booking-band{text-align:center;background:var(--ink);color:var(--ivory);padding:6rem 5%}.booking-band h2{margin:.5rem 0 1rem}.booking-band p{color:#d7c9bf}.button-light{background:var(--ivory);border-color:var(--ivory);color:var(--ink);margin-top:1rem}.button-light:hover{color:var(--ink);background:#e7d9d0}.footer{background:#e8d9d0;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding:5rem 5% 2rem;display:grid}.footer>div{flex-direction:column;align-items:start;gap:.5rem;display:flex}.footer p{max-width:300px;margin-top:1rem;font-size:.84rem}.footer a{font-size:.82rem}.footer .eyebrow{margin-bottom:.6rem}.footer small{color:#796d67;border-top:1px solid #c9b6aa;grid-column:1/-1;padding-top:1.5rem}.inner-page{min-height:70vh;padding:5.5rem max(5%,50vw - 600px) 8rem}.page-intro{max-width:800px;margin-bottom:4rem}.page-intro .eyebrow,.about-page>.eyebrow{color:#9e746b}.page-intro h1,.about-page h1{margin:.9rem 0 1.3rem}.page-intro p{color:#766a65;max-width:530px}.filters{flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;display:flex}.filters button,.time-grid button{border:1px solid var(--line);color:var(--ink);background:0 0;padding:.6rem 1.1rem}.filters .selected,.time-grid .selected{background:var(--ink);color:#fff;border-color:var(--ink)}.about-layout{grid-template-columns:45% 45%;justify-content:space-between;align-items:center;gap:3rem;margin-top:4rem;display:grid}.about-art{background:linear-gradient(145deg,#c9ada0,#ead7ca);place-items:center;height:500px;display:grid}.about-art span{color:#f8f4ef;font:15rem Georgia,serif}.about-layout p{color:#72655f;white-space:pre-line;line-height:1.9}.prose-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.prose-grid section{border-top:1px solid var(--line);padding-top:2rem}.preline{white-space:pre-line}.contact-grid{grid-template-columns:1.1fr .8fr;gap:10%;display:grid}.field,.contact-form label,.admin-form label{letter-spacing:.03em;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:700;display:flex}.field input,.field select,.field textarea,.contact-form input,.contact-form textarea,.admin-main input,.admin-main textarea,.admin-main select{width:100%;color:var(--ink);outline-offset:2px;background:0 0;border:1px solid #cdbdb4;border-radius:0;padding:.8rem}.field textarea,.contact-form textarea{resize:vertical}.contact-form{flex-direction:column;align-items:start;gap:1.2rem;display:flex}.contact-form label{width:100%}.contact-details{border-top:1px solid var(--line);padding-top:2rem}.contact-details p{flex-direction:column;margin-bottom:1.5rem;display:flex}.contact-details p span{letter-spacing:.18em;color:#9c7c70;font-size:.65rem;font-weight:700}.booking-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:5rem;display:grid}.step{border-top:1px solid var(--line);grid-template-columns:54px 1fr;gap:1rem;padding:2.2rem 0;display:grid}.step-number{color:var(--rose);font:italic 1.1rem Georgia,serif}.step h2{font-size:2.3rem}.choice-list{gap:.5rem;display:grid}.choice{border:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;justify-content:space-between;gap:1rem;padding:1rem;display:flex}.choice.active{border-color:var(--ink);background:#f0e8e1}.choice small{color:#7e706a;margin-top:.3rem;display:block}.choice b{white-space:nowrap}.time-grid{flex-wrap:wrap;gap:.6rem;display:flex}.subtle{color:#8e8078;font-size:.85rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.wide,.policy-note,.error{grid-column:1/-1}.policy-note{color:#776b66;font-size:.75rem}.error{color:#a22d30}.booking-summary{border:1px solid var(--line);background:#eee5df;padding:2rem;position:sticky;top:2rem}.booking-summary h3{margin:1rem 0}.booking-summary strong{font-size:1.4rem}.booking-summary small{border-top:1px solid var(--line);color:#7b6e69;padding-top:1rem;display:block}.confirmation,.manage-panel{border:1px solid var(--line);max-width:700px;padding:3rem}.confirmation h2,.manage-panel .field{margin:1rem 0}.manage-panel h3{margin-top:2rem;font-size:2rem}.quiet-button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:0 0;padding:.6rem}.admin-shell{background:#f7f3ef;grid-template-columns:235px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--ink);color:#fff;flex-direction:column;gap:1rem;padding:2rem 1.2rem;display:flex}.admin-sidebar .wordmark{font-size:1rem}.admin-sidebar small{letter-spacing:.2em;color:#bca89e;font-size:.6rem}.admin-sidebar nav{flex-direction:column;gap:.2rem;margin:2rem 0;display:flex}.admin-sidebar button{color:#d9cbc1;text-align:left;background:0 0;border:0;padding:.8rem 1rem;font-size:.85rem}.admin-sidebar button.active,.admin-sidebar button:hover{color:#fff;background:#584743}.admin-sidebar>a:last-child{margin-top:auto;font-size:.75rem}.admin-main{width:100%;min-width:0;max-width:1600px;padding:2.5rem 4%}.admin-main>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.admin-main h1{margin:.3rem 0 0;font-size:3.3rem}.admin-main h2{margin-bottom:1rem;font-size:2rem}.admin-date{color:#8a7b73;font-size:.75rem}.admin-message{border-left:3px solid var(--rose);background:#eee1d8;padding:.8rem 1rem}.admin-card{background:#fffdfa;border:1px solid #e2d6cc;margin:1.5rem 0;padding:1.5rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-grid>div{background:#eee5df;flex-direction:column;padding:1.5rem;display:flex}.stat-grid span{font-size:.75rem}.stat-grid strong{margin-top:.5rem;font:3rem Georgia,serif}.admin-list-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:.85rem;display:flex}.admin-list-row small{color:#7a6c65;display:block}.admin-list-row button,.rule-row button,.content-field button,.admin-photo button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:0 0;padding:.3rem;font-size:.75rem}.admin-form{margin-top:2rem}.admin-form .actions{margin-top:1rem}.rule-row{border-bottom:1px solid var(--line);grid-template-columns:1fr repeat(4,90px) 60px;align-items:end;gap:.7rem;padding:1rem 0;display:grid}.rule-row label,.admin-main label{font-size:.75rem}.rule-row input{padding:.35rem}.check{align-items:center;gap:.5rem;flex-direction:row!important;display:flex!important}.check input{width:auto!important}.upload-zone{text-align:center;border:1px dashed var(--champagne);cursor:pointer;background:#eee5df;flex-direction:column;align-items:center;margin:1.5rem 0;padding:2rem;display:flex}.upload-zone input{max-width:250px;margin:.8rem auto}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.admin-photo{border:1px solid var(--line);background:#fff;gap:.6rem;padding:1rem;display:grid}.admin-photo img{aspect-ratio:1;object-fit:cover;width:100%}.admin-photo label,.content-field label{flex-direction:column;display:flex}.admin-photo .actions{gap:1rem;margin:0}.content-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.content-field{align-items:end;gap:.5rem;display:flex}.content-field label{flex:1}.admin-loading{padding:5rem}@media (max-width:900px){.site-header{height:72px;padding:0 4%}.site-header nav{gap:1rem}.hero{grid-template-columns:1fr 45%;min-height:580px}.hero-copy{padding:6rem 5%}.hero h1{font-size:clamp(3.5rem,6.5vw,6rem)}.hero-art{min-height:580px}.art-frame{width:90%;min-height:380px}.booking-grid{gap:2rem}.admin-shell{grid-template-columns:180px 1fr}.rule-row{grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){body{font-size:15px}.site-header{height:68px}.site-header .wordmark{font-size:1rem}.site-header nav{display:none}.header-book{font-size:.7rem}.hero{flex-direction:column;display:flex}.hero-copy{min-height:510px;padding:4rem 6% 2rem}.hero h1{font-size:clamp(3.6rem,13vw,5.8rem)}.hero-copy .eyebrow{margin-bottom:1.4rem}.hero-caption{padding-top:2rem}.hero-art{min-height:440px;padding:8%}.art-frame{width:74%;height:355px;min-height:0;box-shadow:14px 16px #f8f4ef55}.art-script{font-size:1.2rem}.section-pad{padding:5rem 6%}.intro{grid-template-columns:1fr;gap:2rem}.section-heading{flex-direction:column;align-items:start}.service-row{gap:1rem}.service-row h3{font-size:1.7rem}.service-side{white-space:normal;min-width:95px}.service-side .text-link{font-size:.7rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.gallery-item:nth-child(2n){transform:translateY(.8rem)}.gallery-empty{grid-template-columns:1fr;gap:0}.mini-mark{text-align:left;font-size:5rem}.booking-band{padding:5rem 6%}.footer{grid-template-columns:1fr 1fr;gap:2rem;padding:4rem 6% 6rem}.footer>div:first-child{grid-column:1/-1}.mobile-book{z-index:5;background:var(--ink);color:#fff;text-align:center;padding:.85rem;font-size:.85rem;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 10px #342b2a22}.inner-page{padding:4rem 6% 7rem}.page-intro h1,.about-page h1{font-size:3.9rem}.about-layout,.prose-grid,.contact-grid,.booking-grid{grid-template-columns:1fr;gap:2rem}.about-art{height:340px}.booking-summary{grid-row:1;position:static}.step{grid-template-columns:36px 1fr}.form-grid{grid-template-columns:1fr}.wide,.policy-note,.error{grid-column:auto}.admin-shell{display:block}.admin-sidebar{z-index:10;padding:1rem;position:sticky;top:0}.admin-sidebar nav{flex-direction:row;gap:0;margin:.5rem 0;overflow-x:auto}.admin-sidebar button{white-space:nowrap;padding:.6rem}.admin-sidebar>a:last-child,.admin-sidebar small{display:none}.admin-main{padding:1.3rem}.admin-main>header{align-items:start}.admin-main h1{font-size:2.8rem}.admin-date{display:none}.stat-grid{gap:.5rem}.stat-grid>div{padding:.8rem}.stat-grid strong{font-size:2.2rem}.rule-row{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.admin-list-row{flex-wrap:wrap}.admin-card{padding:1rem}.contact-grid{gap:3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.hero-photo{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}.about-art img{object-fit:cover;width:100%;height:100%}.gallery-item{text-align:left;cursor:pointer;border:0;padding:0}.lightbox{z-index:30;color:#fff;background:#211b1bed;justify-content:center;align-items:center;gap:2rem;padding:2rem;display:flex;position:fixed;inset:0}.lightbox figure{text-align:center;max-width:min(75vw,950px);max-height:90vh;margin:0}.lightbox img{object-fit:contain;width:auto;max-height:80vh;margin:auto}.lightbox figcaption{margin-top:.6rem;font-size:.8rem}.lightbox button{color:#fff;background:0 0;border:0;font-size:2rem}.lightbox-close{position:absolute;top:1rem;right:2rem}@media (max-width:700px){.lightbox{gap:.3rem;padding:1rem}.lightbox figure{max-width:80vw}.lightbox button{font-size:1.4rem}}.brand-logo{width:218px;max-width:100%;height:auto;display:block}.site-header .wordmark{flex:none;align-items:center;display:inline-flex}.footer .brand-logo{width:238px}.admin-sidebar .brand-logo{width:190px}.admin-sidebar .wordmark{width:100%;display:block}@media (max-width:900px){.site-header .brand-logo{width:176px}}@media (max-width:700px){.site-header .brand-logo{width:155px}.footer .brand-logo{width:218px}}.price-catalog{gap:2.2rem;display:grid}.price-category h2{color:#8c7164;margin:0 0 .8rem;font-size:2rem}.price-category .service-list{border-color:#cbb8aa}.service-row h3{margin:.1rem 0 .4rem;font-family:Georgia,serif;font-size:1.36rem;font-weight:400}.service-side strong small{color:#776b66;font-size:.72rem;font-weight:400}.about-art img{object-fit:contain;width:100%;height:100%;padding:2rem}.date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 1.4rem;display:grid}.date-grid button{border:1px solid var(--line);color:var(--ink);text-align:left;text-transform:capitalize;background:0 0;min-height:44px;padding:.7rem .8rem;font-size:.76rem}.date-grid button.selected{background:var(--ink);color:var(--ivory);border-color:var(--ink)}@media (max-width:700px){.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.portfolio-heading{border-top:1px solid var(--line);letter-spacing:.13em;text-transform:uppercase;color:#806f68;justify-content:space-between;gap:1rem;padding:1rem 0 1.5rem;font-size:.72rem;display:flex}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.25rem;display:grid}.portfolio-post{text-align:left;color:var(--ink);background:0 0;border:0;min-width:0;padding:0}.portfolio-post-image{aspect-ratio:1;background:#e8d9d0;display:block;position:relative;overflow:hidden}.portfolio-post-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.portfolio-post:hover .portfolio-post-image img{transform:scale(1.045)}.portfolio-post-arrow{opacity:0;background:#f8f4efed;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:1.1rem;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:1rem;right:1rem;transform:translateY(.4rem)}:is(.portfolio-post:hover .portfolio-post-arrow,.portfolio-post:focus-visible .portfolio-post-arrow){opacity:1;transform:none}.portfolio-post-caption{justify-content:space-between;gap:.5rem;padding:.75rem .1rem 0;font-size:.86rem;line-height:1.4;display:flex}.portfolio-post-caption>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-post-caption>span:last-child{color:var(--rose)}.portfolio-modal{z-index:50;background:#211b1bd9;place-items:center;padding:2rem;display:grid;position:fixed;inset:0;overflow-y:auto}.portfolio-modal-close{color:#fff;z-index:2;background:0 0;border:0;font-size:2rem;line-height:1;position:fixed;top:1.1rem;right:1.6rem}.portfolio-modal-card{background:var(--ivory);grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);width:min(100%,980px);max-height:min(86vh,760px);display:grid;box-shadow:0 20px 70px #140e0e55}.portfolio-modal-image{background:#d9cbc1;place-items:center;min-height:380px;display:grid;overflow:hidden}.portfolio-modal-image img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:min(86vh,760px)}.portfolio-modal-detail{flex-direction:column;min-width:0;display:flex}.portfolio-modal-brand{border-bottom:1px solid var(--line);align-items:center;gap:.85rem;padding:1.4rem 1.6rem;font-size:.86rem;display:flex}.portfolio-modal-brand strong,.portfolio-modal-brand small{display:block}.portfolio-modal-brand small{color:#8f7b72;font-size:.7rem}.portfolio-avatar{border:1px solid var(--rose);color:#9d746b;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-family:Georgia,serif;font-size:1.1rem;display:grid}.portfolio-modal-copy{flex:1;min-height:180px;padding:2rem 1.6rem}.portfolio-modal-copy .eyebrow{color:#9d746b}.portfolio-modal-copy h2{margin:.8rem 0 1rem;font-size:clamp(2rem,3vw,3.2rem)}.portfolio-modal-copy p{color:#756a65;font-size:.86rem}.portfolio-modal-bottom{border-top:1px solid var(--line);letter-spacing:.14em;color:#8b746a;justify-content:space-between;align-items:center;padding:.85rem 1.6rem;font-size:.72rem;display:flex}.portfolio-modal-bottom div{gap:.5rem;display:flex}.portfolio-modal-bottom button{border:1px solid var(--line);width:2.4rem;height:2.4rem;color:var(--ink);background:0 0;font-size:1.2rem}.portfolio-modal-book{background:var(--ink);color:var(--ivory);padding:1.2rem 1.6rem;font-size:.77rem;font-weight:700}@media (max-width:700px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .6rem}.portfolio-post-caption{font-size:.73rem}.portfolio-modal{align-items:center;padding:3.5rem .8rem 1rem}.portfolio-modal-card{grid-template-columns:1fr;max-height:calc(100vh - 4.5rem);overflow-y:auto}.portfolio-modal-image{min-height:0;max-height:50vh}.portfolio-modal-image img{max-height:50vh}.portfolio-modal-brand{padding:.9rem 1rem}.portfolio-modal-copy{min-height:0;padding:1rem}.portfolio-modal-copy h2{margin:.3rem 0;font-size:2rem}.portfolio-modal-copy p{margin:0}.portfolio-modal-bottom{padding:.5rem 1rem}.portfolio-modal-book{padding:.8rem 1rem}.portfolio-modal-close{top:.7rem;right:1rem}}.mobile-menu{display:none}@media (max-width:700px){.site-header{z-index:10}.mobile-menu{margin-left:auto;margin-right:1.2rem;display:block}.mobile-menu summary{cursor:pointer;border-bottom:1px solid var(--ink);padding:.3rem 0;font-size:.78rem;font-weight:700;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:.3rem}.mobile-menu nav{background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:1rem 6% 1.4rem;display:flex;position:absolute;top:68px;left:0;right:0;box-shadow:0 12px 20px #342b2a16}.mobile-menu nav a{border-bottom:1px solid var(--line);padding:.7rem 0}.site-header .mobile-menu nav{display:flex}}.contact-hours{white-space:pre-line}.admin-login-page{background:#eee5df;place-items:center;min-height:100vh;padding:2rem;display:grid}.admin-login-card{background:var(--ivory);border:1px solid var(--line);flex-direction:column;gap:1rem;width:min(100%,460px);padding:clamp(2rem,5vw,3rem);display:flex}.admin-login-card>img{width:170px;margin-bottom:1rem}.admin-login-card h1{margin:0;font-size:clamp(3rem,6vw,4.5rem)}.admin-login-card p{color:#70645f}.admin-login-card label{gap:.4rem;font-size:.8rem;font-weight:700;display:grid}.admin-login-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:.8rem}.admin-login-card .text-link{align-self:flex-start;margin-top:.5rem}.admin-logout{color:#f8f4ef;text-align:left;background:0 0;border:0;margin-top:.8rem;padding:.8rem 1rem;font-size:.8rem}.extra-choice{align-items:center}.extra-label{cursor:pointer;align-items:center;gap:.8rem;display:flex}.extra-label input{accent-color:#342b2a;flex:none;width:1.1rem;height:1.1rem}.extra-price{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.extra-price label{align-items:center;gap:.4rem;font-size:.75rem;display:flex}.extra-price select{border:1px solid var(--line);background:var(--ivory);padding:.2rem}.summary-extra{color:#675955;margin:.35rem 0;font-size:.85rem}.booking-summary strong{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem;display:block}.hero-art{background:#c5a6a2}.hero-art .art-frame{box-shadow:18px 22px #f8f4ef55}.hero-photo{object-position:center 55%}.hero-copy>p{max-width:440px}.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,8vw,7rem)}.about-photo{aspect-ratio:4/5;background:#d2aaa5;height:auto;display:block;position:relative;overflow:hidden}.about-photo img{object-fit:cover;width:100%;height:100%;padding:0;display:block}.about-photo-label{color:#fff;letter-spacing:.02em;background:linear-gradient(#0000,#2d2020a6);justify-content:space-between;align-items:end;padding:2rem 1.5rem 1.3rem;font-size:.83rem;display:flex;position:absolute;bottom:0;left:0;right:0}.about-photo-label span{letter-spacing:.14em;font-size:.62rem}.about-story>.eyebrow{color:#9e746b}.about-story h2{margin:1rem 0 1.5rem;font-size:clamp(2.7rem,4vw,4.5rem)}.about-story .actions{flex-wrap:wrap;align-items:center;margin-top:2rem}.about-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:2rem;padding:1.3rem 0}.about-note>span{letter-spacing:.16em;text-transform:uppercase;color:#9e746b;font-size:.68rem;font-weight:700}.about-note p{margin:.6rem 0 0;font-size:.87rem;line-height:1.7}.portfolio-post-caption small{color:#8d7a70;font-size:.68rem;font-weight:400}.portfolio-post-image,.portfolio-post:nth-child(6n+1) .portfolio-post-image{aspect-ratio:4/5}.booking-progress{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1.5rem;display:grid}.booking-progress button{text-align:left;color:#927f75;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:0;padding:.7rem .2rem .9rem;font-size:.73rem}.booking-progress button:disabled{opacity:.45;cursor:default}.booking-progress button.current{border-color:var(--ink);color:var(--ink);font-weight:700}.booking-progress button span{margin-bottom:.25rem;font-family:Georgia,serif;font-size:.92rem;display:block}.booking-form .step{min-height:360px}.step-next{margin-top:1.5rem}.step-next:disabled{opacity:.45;cursor:not-allowed}.booking-inspiration{background:#eee5df;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.7rem;display:flex}.booking-inspiration img{object-fit:cover;width:76px;height:84px}.booking-inspiration div{flex:1;gap:.1rem;min-width:0;display:grid}.booking-inspiration strong{font-family:Georgia,serif;font-size:1rem}.booking-inspiration small{color:#766b65;font-size:.7rem;line-height:1.4}.booking-inspiration>a{color:var(--ink);align-self:flex-start;font-size:1.3rem;line-height:1;text-decoration:none}@media (max-width:700px){.about-layout{grid-template-columns:1fr;gap:2.5rem}.about-photo{max-height:520px}.about-story h2{font-size:3rem}.booking-grid{flex-direction:column-reverse;gap:1.5rem;display:flex}.booking-form,.booking-summary{width:100%}.booking-summary{padding:1.2rem}.booking-summary h3{margin:.4rem 0;font-size:1.6rem}.booking-summary p{margin:.2rem 0}.booking-summary strong{font-size:1.1rem}.booking-summary small{display:none}.booking-progress button{font-size:.62rem}.booking-progress button span{font-size:.8rem}.booking-form .step{min-height:330px}.book-page{padding-bottom:5rem}body:has(.book-page) .mobile-book{display:none}.portfolio-post-image{aspect-ratio:4/5}}.about-art .about-photo-label{color:#fff;font:400 .83rem/1.5 DM Sans,Arial,sans-serif}.about-art .about-photo-label span{letter-spacing:.14em;color:#fff;font:400 .62rem/1.5 DM Sans,Arial,sans-serif}.mood-section{background:#e9dcd5}.mood-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.7rem;display:flex}.mood-heading h2{margin:.65rem 0 0}.mood-heading>p{color:#756962;max-width:270px;margin:0;font-size:.88rem}.mood-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.mood-card{aspect-ratio:3/4;color:#fff;background:#b89d90;min-height:430px;display:block;position:relative;overflow:hidden}.mood-card img{object-fit:cover;filter:brightness(.82);width:100%;height:100%;transition:transform .45s,filter .45s}:is(.mood-card:hover img,.mood-card:focus-visible img){filter:brightness(.72);transform:scale(1.045)}.mood-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#211816bb);position:absolute;inset:35% 0 0}.mood-card-number,.mood-card-title{z-index:1;position:absolute;left:1.6rem;right:1.6rem}.mood-card-number{letter-spacing:.18em;font-size:.65rem;font-weight:700;top:1.4rem}.mood-card-title{justify-content:space-between;align-items:end;gap:.8rem;font:400 clamp(1.7rem,2.5vw,3rem)/1.1 Italiana,Georgia,serif;display:flex;bottom:1.5rem}.mood-card-title span{font:1.3rem DM Sans,sans-serif}.mood-footer{color:#74665f;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;font-size:.85rem;display:flex}.service-clarifier{font-size:.83rem;line-height:1.6}.service-side strong small{display:block}.booking-recap{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0 0 1.5rem;display:grid}.booking-recap button{border:1px solid var(--line);text-align:left;color:var(--ink);background:#eee5df;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.2rem .5rem;min-height:84px;padding:.9rem 1rem;display:grid}.booking-recap button:hover{border-color:var(--rose)}.booking-recap button>span{color:#8d7066;letter-spacing:.14em;grid-column:1/-1;font-size:.61rem;font-weight:700}.booking-recap button strong{font-size:.8rem;font-weight:600;line-height:1.3}.booking-recap button small{white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose);font-size:.7rem}.date-range{justify-content:space-between;align-items:center;gap:.7rem;margin:1.3rem 0;display:flex}.date-range strong{text-align:center;text-transform:capitalize;font-size:.78rem;font-weight:600}.date-range button{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose);background:0 0;border:0;padding:.6rem;font-size:.75rem;font-weight:700}.date-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.date-grid button{flex-direction:column;justify-content:center;gap:.15rem;min-height:70px;display:flex}.date-grid button small{color:#81736c;font-size:.65rem}.date-grid button.selected small{color:#e9dcd5}.date-grid button:disabled{opacity:.46;color:#625853;background:#e5dcd5}.date-grid button:disabled small{color:#625853}.empty-time{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.empty-time p{width:100%;margin:0}.booking-alert{color:var(--ink);background:#eee2da;border-left:3px solid #8d645a;padding:.9rem 1rem;font-size:.85rem}.extra-label{flex:1;min-width:0}.extra-label span{min-width:0}.extra-price small{color:#756962;font-size:.69rem}.field-error{color:#9c2e33;letter-spacing:0;font-size:.72rem;font-weight:600}.field [aria-invalid=true]{border-color:#a83438;box-shadow:inset 3px 0 #a83438}.booking-review{background:#eee5df;border:1px solid #c8b6ab;margin:1rem 0 0;padding:1.2rem 1.4rem}.booking-review>.eyebrow{color:#87675c;margin-bottom:.75rem;display:block}.booking-review>div{border-top:1px solid #d4c4ba;grid-template-columns:95px minmax(0,1fr) auto;align-items:baseline;gap:.7rem;padding:.7rem 0;font-size:.78rem;display:grid}.booking-review>div span{color:#76665e}.booking-review>div strong{font-weight:600}.booking-review>div button{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose);background:0 0;border:0;padding:.1rem;font-size:.7rem}.booking-review>div.review-total{border-top:1px solid #9d8679;padding-bottom:0;font-size:1rem}.review-total strong{font-size:1.2rem}@media (max-width:900px){.mood-card{min-height:320px}.mood-card-title{font-size:2rem}.date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.mood-heading{margin-bottom:1.8rem;display:block}.mood-heading>p{margin-top:1rem}.mood-grid{scroll-snap-type:x mandatory;margin-right:-6vw;padding-bottom:.6rem;padding-right:6vw;display:flex;overflow-x:auto}.mood-card{scroll-snap-align:start;flex:0 0 min(75vw,310px);min-height:390px}.mood-card-title{font-size:2.25rem}.mood-footer{flex-direction:column;align-items:start}.booking-recap{grid-template-columns:1fr 1fr}.booking-recap button{min-height:90px;padding:.7rem}.booking-recap button strong{font-size:.75rem}.booking-recap button small{grid-column:1/-1}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-range{flex-wrap:wrap}.date-range strong{order:-1;width:100%}.booking-review{padding:1rem}.booking-review>div{grid-template-columns:1fr auto}.booking-review>div span{grid-column:1/-1}.booking-review>div strong{min-width:0}.extra-choice{gap:.5rem}.extra-price{white-space:normal;text-align:right}}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-bottom a{font-size:inherit;border-bottom:1px solid #9e8276;padding-bottom:.12rem;font-weight:700}@media (max-width:700px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}}
