@font-face{font-family:Cormorant;src:url('/assets/cormorant.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url('/assets/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}@font-face{font-family:DM Sans;src:url('/assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ivory:#faf7f3;--blush:#f0e8f5;--rose:#c8b1e4;--gold:#795f85;--ink:#43234e;--muted:#634e69;--line:#d9c9ba;--serif:Cormorant,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p+p{margin-top:16px}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(62px,7.7vw,108px)}h2{font-size:clamp(42px,4.3vw,62px)}h3{font-size:31px}em{font-weight:400}h1 em,h2 em{color:#5e356b}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5e356b;outline-offset:5px}::selection{background:#e8ccc2}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2em;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:13px 24px;background:var(--ink);border:1px solid var(--ink);color:var(--ivory);font-size:12px;font-weight:500;letter-spacing:.02em;transition:background .2s,transform .2s}.button:hover{background:#554036;transform:translateY(-2px)}.button span{font-size:19px;font-weight:400}.button-outline{color:var(--ink);background:transparent}.button-outline:hover{background:var(--blush)}.text-link{display:inline-flex;gap:26px;align-items:center;padding:12px 0;min-height:44px;border-bottom:1px solid var(--gold);font-size:12px;font-weight:500;line-height:1.4}.text-link:hover{color:#5e356b}.text-link span{font-size:18px}.pending{display:block;font-size:11px;line-height:1.65;color:#634e69}.pending:before{content:'○';padding-right:7px}.skip-link{position:absolute;top:-100px;left:20px;z-index:1000;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:10px}.preview-bar{padding:7px max(24px,calc((100% - 1200px)/2));background:#f0e8f5;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.08em;color:#634e69;min-height:34px;gap:18px}.preview-bar a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;min-height:30px;display:flex;align-items:center;gap:8px}.site-header{height:126px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #e8ded1}.brand{display:block;width:108px;flex-shrink:0}.brand img{width:108px;height:108px;object-fit:contain;mix-blend-mode:multiply}.site-header nav{display:flex;gap:34px;margin-left:auto;margin-right:26px}.site-header nav a{font-size:12px;min-height:44px;display:flex;align-items:center;position:relative}.site-header nav a[aria-current]:after{content:'';position:absolute;height:1px;width:20px;background:var(--gold);bottom:6px;left:0}.header-cta{min-height:45px;padding:10px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center;padding-top:56px;padding-bottom:60px}.hero-copy>.eyebrow{margin-bottom:24px}.hero h1{margin-left:-4px}.hero-intro{font-size:14px;line-height:1.9;color:var(--muted);margin-top:26px}.hero-copy>.pending,.hero-copy>.location{margin-top:12px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:30px}.hero-note{display:flex;gap:12px;align-items:center;margin-top:45px;font-size:11px;color:var(--muted);line-height:1.8}.hero-note em{font-family:var(--serif);font-size:18px}.small-leaf{width:35px;height:50px;color:var(--rose)}.small-leaf svg{width:100%;height:100%}.hero-visual{position:relative;padding:0 8px 6px 0}.hero-visual:before{content:'';position:absolute;inset:-13px -6px 20px 14px;border:1px solid #ba996b;border-radius:260px 260px 3px 3px;pointer-events:none}.hero-image{position:relative}.hero-image img{width:100%;aspect-ratio:4/4.65;object-fit:cover;border-radius:260px 260px 3px 3px}.hero-image figcaption{font-size:9px;text-align:right;margin-top:10px;color:var(--muted)}.image-seal{position:absolute;left:-35px;bottom:68px;width:118px;height:118px;border-radius:50%;background:#f0e8f5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;line-height:1.1;font-size:11px;outline:1px solid #c5a58a;outline-offset:-8px;transform:rotate(-12deg)}.image-seal em{font-family:var(--serif);font-size:28px;margin-top:3px}.image-seal span{font-size:17px;margin-top:5px;color:#80582e}.service-ribbon{background:#eee3d8;border-top:1px solid #e4d5c7;border-bottom:1px solid #e4d5c7;display:flex;align-items:center;justify-content:center;gap:70px;padding:20px 24px;font-family:var(--serif);font-size:23px}.service-ribbon b{font-size:20px;font-weight:400;color:var(--gold)}.section{padding-block:92px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{margin-top:12px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:30px 26px 25px;background:#f1e9df;border:1px solid #e7dacc}.service-card:nth-child(even){background:#f2e4df}.card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:34px}.service-icon{width:50px;height:50px;color:#805b36}.service-number{font-size:10px;color:#7e6a5b;letter-spacing:.1em}.service-card h3{font-size:34px;margin-bottom:10px}.service-card p{font-size:12px;color:var(--muted);min-height:44px}.service-card .text-link{font-size:11px;margin-top:20px;width:100%;justify-content:space-between}.section-footnote{font-size:10px;color:var(--muted);margin-top:20px}.about-section{background:#f0e4df;padding:76px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-art{min-height:390px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;border:1px solid #c3a78d;background:radial-gradient(ellipse at 30% 50%,#f9f2eb,transparent);outline:1px solid #d9c5b7;outline-offset:-13px;text-align:center;overflow:hidden}.about-art svg{height:100px;color:var(--rose);margin-bottom:22px;transform:rotate(8deg)}.about-art>span{font-family:var(--serif);font-size:43px;line-height:1.12}.about-art .art-caption{font-family:var(--sans);font-size:9px;letter-spacing:.24em;margin-top:28px}.about-copy h2{margin:16px 0 24px}.about-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:400px}.about-copy>.pending{margin:16px 0}.about-copy>.text-link{margin-top:16px}.closing{text-align:center;position:relative;padding:80px 0 75px;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#f2e6da,transparent 60%)}.closing-inner{position:relative}.closing h2{font-size:clamp(50px,5.3vw,76px);margin-top:16px}.closing p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:22px}.closing .button{margin-top:28px}.closing small{display:block;font-size:10px;color:var(--muted);margin-top:14px}.closing-leaf{position:absolute;right:10%;top:42px;color:#bc9584;opacity:.5;width:115px;transform:rotate(20deg)}footer{background:#f0e8f5;padding:48px 0 20px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-brand{font-family:var(--serif);font-size:30px;letter-spacing:-.03em}.footer-top p{font-size:11px;color:var(--muted);margin-top:8px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;font-size:11px}.footer-top nav a,.footer-contact a{min-height:44px;display:flex;align-items:center}.footer-contact{font-size:12px}.footer-bottom{display:flex;gap:26px;align-items:center;border-top:1px solid #d4c5b5;margin-top:32px;padding-top:15px;font-size:10px}.footer-bottom small{font-size:10px;margin-right:auto}.footer-bottom a{min-height:44px;display:flex;align-items:center}.mobile-booking{display:none}.page-intro{padding-block:65px 50px}.page-intro h1{font-size:clamp(56px,6vw,82px);margin:18px 0 23px}.page-intro>p:last-child{font-size:14px;max-width:560px;color:var(--muted)}.service-jump{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:45px}.service-jump a{padding:10px 20px;border:1px solid var(--line);min-height:44px;font-size:12px}.service-jump a:hover{background:var(--blush)}.service-row{display:grid;grid-template-columns:.65fr 1fr;gap:65px;align-items:center;padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.service-illustration{min-height:270px;background:#efe4d7;display:flex;align-items:center;justify-content:center;position:relative}.service-illustration:before{content:'';position:absolute;inset:17px;border:1px solid #c8ad8c;border-radius:150px 150px 0 0}.service-illustration .service-icon{width:100px;height:100px;stroke-width:.7}.service-illustration>span{position:absolute;bottom:29px;right:32px;font-size:11px;color:#7d6251}.illustration-1{background:#efded8}.illustration-2{background:#e8dfd1}.illustration-3{background:#f2e5df}.service-description h2{margin:8px 0 18px}.service-description>p:not(.eyebrow){max-width:510px;color:var(--muted);font-size:14px}.service-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#634e69;margin:20px 0}.service-meta span+span{padding-left:18px;border-left:1px solid var(--line)}.service-description .button{margin-top:8px}.faq-section{padding-block:60px 80px;max-width:850px}.faq-section h2{margin:12px 0 28px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 35px 22px 0;font-size:14px;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:8px;font-size:22px;top:13px}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);padding-bottom:24px;max-width:650px}.story-grid{display:grid;grid-template-columns:.9fr 1fr;gap:85px;align-items:center;margin-bottom:70px}.portrait-placeholder{min-height:450px;background:var(--blush);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:200px 200px 0 0;border:1px solid #dcc2b3}.portrait-placeholder svg{width:80px;color:var(--rose);margin-bottom:30px}.portrait-placeholder>span:not(.pending){font-family:var(--serif);font-size:40px;line-height:1.2}.portrait-placeholder .pending{margin-top:25px;font-size:10px}.portrait{width:100%;border-radius:200px 200px 0 0}.story-copy h2{margin:14px 0 24px}.approval-note{padding:24px;background:#f0e6db;border-left:2px solid var(--gold);font-size:13px;color:#665145}.approval-note p{margin-top:10px}.approval-note.compact{padding:16px;font-size:12px;margin:25px 0}.story-copy .text-link{margin-top:20px}.first-visit{padding-block:30px 70px}.first-visit h2{margin-top:12px}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.three-steps>div{border-top:1px solid var(--gold);padding-top:20px}.three-steps span{font-size:12px;color:#805b36}.three-steps h3{font-size:29px;margin:15px 0}.three-steps p{font-size:13px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding-bottom:90px}.booking-panel{padding:38px;background:#f1e7dd;border:1px solid #dfcebc}.booking-panel h2{font-size:44px;margin-top:10px}.visit-details{padding:15px 0}.visit-details>div{padding:22px 0;border-bottom:1px solid var(--line)}.visit-details h3{font-size:26px;margin-bottom:12px}.visit-details p,.visit-details a{font-size:13px}.visit-details a{display:block;min-height:44px}.visit-details .details-decoration{display:flex;gap:20px;align-items:center;border:0;padding-top:30px}.details-decoration svg{width:50px;color:var(--rose)}.details-decoration p{font-family:var(--serif);font-size:28px;line-height:1.3}label{display:block;font-size:12px;margin:22px 0 8px}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #ae9786;border-radius:0;background:#fcf9f4;color:var(--ink);min-height:49px;font-size:14px}textarea{min-height:110px;resize:vertical}form small{font-size:10px;color:var(--muted);display:block;margin-top:8px}form .button{margin-top:26px}.form-note{font-size:11px;color:var(--muted);margin-top:14px}.form-result{margin-top:22px;border:1px solid #bca58e;padding:18px;font-size:13px;background:var(--ivory)}.form-result p{margin-top:12px}.form-result .button{margin-top:18px}.prose{max-width:800px;padding-bottom:80px}.prose h2{font-size:32px;margin:35px 0 15px}.prose p{color:var(--muted)}.prose a:not(.button){text-decoration:underline}.preserve-lines{white-space:pre-line}.editor-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;padding-bottom:70px}.editor-layout h2{font-size:36px;margin-bottom:20px}.checklist{padding-left:20px;font-size:13px}.checklist li{margin-bottom:12px}.small{font-size:12px;color:var(--muted)}.editor-layout form{border:1px solid var(--line);padding:30px}.editor-layout fieldset{border:0;border-top:1px solid var(--line);margin:30px 0 0;padding:20px 0 0}.editor-layout legend{padding-right:12px;font-family:var(--serif);font-size:27px}.editor-layout .small{margin-top:14px}.checkbox-label{display:flex;align-items:center;gap:12px}.checkbox-label input{width:20px;min-height:20px;height:20px}.editor-layout code{overflow-wrap:anywhere}
@media(min-width:1500px){.hero{gap:100px}.hero-image img{aspect-ratio:4/4.7}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:24px;margin-right:5px}.hero{gap:45px}.hero-actions{gap:18px;flex-wrap:wrap}.hero .button{padding-inline:18px}.hero-note{margin-top:28px}.service-ribbon{gap:40px}.service-card{padding:25px 18px}.service-card .text-link{font-size:10px;gap:10px}.about-grid{gap:55px}.about-art>span{font-size:37px}.contact-grid{gap:40px}.story-grid{gap:45px}.hero-visual:before{inset:-10px -4px 20px 12px}}
@media(max-width:700px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.preview-bar{padding:4px 20px;font-size:8px;min-height:34px}.preview-extra{display:none}.site-header{height:98px;gap:10px;position:relative}.brand,.brand img{width:83px;height:83px}.header-cta{margin-left:auto;min-height:42px;padding:9px 12px;font-size:10px;gap:12px}.menu-toggle{display:flex;align-items:center;gap:8px;justify-content:center;border:1px solid var(--line);background:transparent;min-height:44px;padding:8px 11px;font-size:11px;order:3}.site-header nav{display:none;position:absolute;top:98px;left:-20px;right:-20px;margin:0;background:var(--ivory);padding:15px 20px 20px;box-shadow:0 12px 18px #43234e12;z-index:10;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;gap:0}.site-header nav a{min-height:48px;font-size:14px}.site-header nav a[aria-current]:after{width:30px;bottom:3px}.hero{grid-template-columns:1fr;gap:36px;padding-top:38px;padding-bottom:35px}.hero-copy>.eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:76px;line-height:.98;letter-spacing:-.04em}.hero-intro{font-size:13px;line-height:1.9;margin-top:23px}.hero-actions{margin-top:22px;gap:24px}.hero-note{display:none}.hero-visual{width:88%;margin:12px 0 0 auto;padding-right:6px}.hero-image img{aspect-ratio:4/4.2;max-height:480px}.hero-image figcaption{font-size:8px}.image-seal{width:95px;height:95px;left:-28px;bottom:43px}.image-seal em{font-size:25px}.service-ribbon{gap:14px;padding:16px 12px;font-size:18px;justify-content:space-evenly}.service-ribbon b{font-size:12px}.section{padding-block:55px}.section-heading{display:block;margin-bottom:25px}.section-heading>.text-link{margin-top:17px}.section-heading h2{font-size:43px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:22px 17px}.card-top{margin-bottom:24px}.service-card h3{font-size:30px}.service-card p{font-size:11px;min-height:40px}.service-icon{width:42px;height:42px}.service-card .text-link{font-size:10px;margin-top:10px}.section-footnote{font-size:10px;line-height:1.7}.about-section{padding:40px 0}.about-grid{grid-template-columns:1fr;gap:36px}.about-art{min-height:300px}.about-art svg{height:75px;margin-bottom:14px}.about-art>span{font-size:39px}.about-art .art-caption{margin-top:18px}.about-copy h2{font-size:47px}.about-copy>p:not(.eyebrow){max-width:none}.closing{padding:58px 0}.closing-leaf{width:65px;right:-10px;top:60px;opacity:.3}.closing h2{font-size:56px}.closing p:not(.eyebrow){font-size:12px}.footer-top{grid-template-columns:1fr 1fr;gap:20px}.footer-top>div:first-child{grid-column:1/-1}.footer-top nav{grid-template-columns:1fr;gap:0}.footer-contact{padding-top:12px}.footer-brand{font-size:31px}.footer-bottom{gap:18px;flex-wrap:wrap}.footer-bottom small{width:100%}footer{padding:35px 0 90px}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px max(10px,env(safe-area-inset-bottom));background:#faf7f3f7;border-top:1px solid var(--line);z-index:20;backdrop-filter:blur(10px)}.mobile-booking .button{width:100%;min-height:45px}.page-intro{padding-block:36px}.page-intro h1{font-size:58px;margin-top:15px}.page-intro>p:last-child{font-size:13px}.service-jump{gap:8px;margin-bottom:18px}.service-jump a{padding:9px 14px;font-size:11px}.service-row{grid-template-columns:1fr;gap:25px;padding-block:28px}.service-illustration{min-height:190px}.service-illustration .service-icon{width:80px;height:80px}.service-description h2{font-size:44px}.service-description>p:not(.eyebrow){font-size:13px}.service-meta{gap:12px;font-size:10px}.service-meta span+span{padding-left:12px}.faq-section{padding-block:40px 50px}.faq-section h2{font-size:42px}.story-grid{grid-template-columns:1fr;gap:32px;margin-bottom:40px}.portrait-placeholder{min-height:360px;width:90%;margin:auto}.story-copy h2{font-size:43px}.first-visit{padding-block:15px 45px}.first-visit h2{font-size:43px}.three-steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.three-steps h3{margin:8px 0}.contact-grid{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.booking-panel{padding:24px 20px}.booking-panel h2{font-size:37px}.visit-details{padding:15px 5px}.booking-panel .button{width:100%;font-size:12px}.editor-layout{grid-template-columns:1fr;gap:30px}.editor-layout form{padding:20px}.prose h2{font-size:30px}.desktop-break{display:none}}
@media(max-width:360px){.header-cta{gap:8px;font-size:9px;padding:8px}.menu-toggle{font-size:10px;padding:8px}.hero h1{font-size:66px}.hero-actions{gap:15px}.hero-actions .button{padding:12px 14px;font-size:11px}.service-ribbon{gap:9px;font-size:16px}.service-card{padding:19px 13px}.service-card h3{font-size:27px}.service-card .text-link{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Brand guide v1.1 */
:root {
  --ink: #43234e;
  --ivory: #faf7f3;
  --blush: #f0e8f5;
  --rose: #c8b1e4;
  --gold: #795f85;
  --muted: #634e69;
  --line: #d8c6e2;
}
body { font-size: 16px; }
h1, h2, h3 { font-weight: 600; }
h1, .page-intro h1 { font-size: clamp(42px, 6vw, 64px); }
h2 { font-size: clamp(34px, 4.5vw, 54px); }
h1 em, h2 em { color: inherit; }
.button { font-weight: 600; }
.button:hover { background: #5e356b; }
.button-outline:hover { background: var(--blush); }
.preview-bar, footer { background: var(--blush); }
.site-header { height: 92px; border-color: var(--line); }
.site-header .brand { display: flex; align-items: center; gap: 11px; width: auto; }
.site-header .brand img { width: 48px; height: 48px; mix-blend-mode: normal; }
.nav-wordmark { font: 600 clamp(19px, 2.15vw, 29px)/1.02 var(--serif); max-width: 19ch; }
.site-header nav { gap: clamp(12px, 2.4vw, 34px); }
.site-header nav a { font-size: 14px; font-weight: 600; }
.site-header .header-cta { flex-shrink: 0; }
.ci-hero { padding-top: clamp(20px, 4vw, 46px); }
.ci-photo { position: relative; }
.ci-photo img {
  width: 100%;
  height: clamp(220px, 36vw, 440px);
  object-fit: cover;
  object-position: center 42%;
  border-radius: clamp(36px, 7vw, 94px) 0 clamp(36px, 7vw, 94px) 0;
}
.ci-photo figcaption { color: var(--muted); font-size: 11px; text-align: right; padding-top: 6px; }
.ci-welcome {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 22px;
  padding: 28px 0 34px;
  border-bottom: 1px solid var(--line);
}
.ci-welcome p { margin-top: 12px; max-width: 57ch; }
.ci-actions { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }
.menu-sheet { padding-block: clamp(34px, 5vw, 64px); }
.menu-sheet h2 { margin-bottom: 20px; }
.menu-entries { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.menu-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 5px;
  border-top: 1px solid var(--line);
}
.menu-entry:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
.menu-entry:hover { background: var(--blush); }
.menu-entry-name { font: 600 clamp(25px, 3vw, 36px)/1 var(--serif); }
.menu-entry-link { font-size: 12px; font-weight: 600; white-space: nowrap; }
.ci-visit { background: var(--blush); padding-block: clamp(30px, 6vw, 70px); }
.ci-visit-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; }
.ci-visit-inner p { margin-top: 12px; max-width: 52ch; }
.ci-visit-inner .text-link { margin-right: 18px; margin-top: 10px; }
.ci-visit-inner img { width: clamp(295px, 30vw, 340px); height: auto; padding: 8px; background: var(--ivory); }
.service-row:has(> .service-description:only-child) { grid-template-columns: 1fr; }
.service-meta, .pending { color: var(--muted); }
.service-description > p:not(.eyebrow), .page-intro > p:last-child,
.visit-details p, .prose p, .story-copy p { font-size: 16px; }
.booking-panel, .approval-note { background: var(--blush); color: var(--ink); border-color: var(--line); }
.closing { background: var(--blush); }
input, select, textarea { background: var(--ivory); color: var(--ink); border-color: #8b7494; }
@media (max-width: 900px) {
  .site-header .header-cta { display: none; }
  .ci-welcome { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  body { font-size: 16px; }
  .site-header { height: 78px; }
  .site-header nav { top: 78px; }
  .site-header .brand img { width: 38px; height: 38px; }
  .site-header .nav-wordmark { font-size: 20px; }
  .ci-photo img { height: auto; aspect-ratio: 4 / 3; }
  .ci-welcome { padding-block: 16px 24px; gap: 16px; }
  .ci-welcome p { margin-top: 8px; }
  .menu-entries, .ci-visit-inner { grid-template-columns: 1fr; }
  .menu-entry:nth-last-child(2) { border-bottom: 0; }
  .ci-visit-inner img { justify-self: center; max-width: 100%; }
}

.treatment-category { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(28px, 6vw, 72px); }
.treatment-category h2 { font-size: clamp(36px, 4vw, 54px); margin-top: 0; }
.service-category-photo { margin-block: 12px 16px; }
.service-category-photo img { display: block; width: 100%; height: auto; max-height: 250px; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 58%; border-radius: 9px; }
.treatment-category .button { margin-top: 22px; }
.treatment-list { margin: 0; padding: 0; list-style: none; }
.treatment { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px 24px; padding-block: 14px; border-bottom: 1px solid var(--line); }
.treatment:first-child { padding-top: 0; }
.treatment h3 { font: 600 clamp(14px, 1.6vw, 17px)/1.5 var(--sans); letter-spacing: normal; }
.treatment p { margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.treatment-rates { display: grid; margin: 0; gap: 4px; }
.treatment-rate { display: flex; justify-content: flex-end; align-items: baseline; gap: 14px; white-space: nowrap; font-size: 13px; }
.treatment-rate dt { color: var(--muted); }
.treatment-rate dd { margin: 0; min-width: 6ch; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#editor-fields h3 { margin-top: 28px; }
@media (max-width: 700px) {
  .treatment-category { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .treatment { column-gap: 12px; }
  .treatment-rate { gap: 8px; }
}

.home-showcase { padding-block: clamp(42px, 7vw, 82px); }
.showcase-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 22px; }
.photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2.4vw, 28px); }
.gallery-card a { display: block; overflow: hidden; border-radius: 8px; background: var(--blush); }
.gallery-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.gallery-card a:hover img { opacity: .88; }
.gallery-card figcaption, .gallery-clip figcaption, .about-setup figcaption { font-size: 13px; line-height: 1.5; padding-block: 8px; color: var(--muted); }
.gallery-chapter { padding-block: clamp(28px, 5vw, 64px); }
.gallery-chapter + .gallery-chapter { border-top: 1px solid var(--line); }
.gallery-chapter-copy { max-width: 570px; margin-bottom: 24px; }
.gallery-chapter-copy p, .home-visit-copy > p { margin-block: 10px; color: var(--muted); }
.gallery-split { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(0, 1.3fr); gap: clamp(16px, 5vw, 58px); align-items: start; }
.gallery-setup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gallery-setup-grid img { aspect-ratio: 4 / 3; }
.gallery-visit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 310px); gap: clamp(12px, 6vw, 78px); align-items: center; }
.gallery-nail-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-clip { width: 100%; max-width: 310px; margin: 0; }
.gallery-clip video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: contain; background: var(--ink); border-radius: 8px; }
.photo-viewer { border: 1px solid var(--line); padding: 14px; background: var(--ivory); color: var(--ink); max-width: min(92vw, 900px); text-align: center; }
.photo-viewer::backdrop { background: #241526ce; }
.photo-viewer form { display: flex; justify-content: end; margin-bottom: 12px; }
.photo-viewer form .button { margin-top: 0; }
.photo-viewer img { max-height: 69vh; max-height: 69dvh; object-fit: contain; margin-inline: auto; }
.photo-viewer figcaption { padding-top: 8px; }
@media (max-width: 700px) {
  .photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-split, .gallery-visit { grid-template-columns: minmax(0, 1fr); }
  .gallery-clip { max-width: 260px; }
  .home-showcase .gallery-card:first-child { grid-column: 1 / -1; }
  .home-showcase .gallery-card:first-child img { aspect-ratio: 4 / 3; object-position: center 65%; }
}

.home-hero {
  background: linear-gradient(115deg, var(--ivory) 15%, var(--blush) 100%);
  border-bottom: 1px solid var(--line);
}
.home-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5.5vw, 80px);
  padding-block: clamp(28px, 5vw, 70px);
}
.home-hero-copy .eyebrow { text-transform: uppercase; max-width: 48ch; }
.home-hero h1 { font-size: clamp(56px, 6.75vw, 91px); line-height: .93; margin-block: 18px 22px; }
.home-hero h1 em { display: block; font-weight: 500; }
.home-hero-description { max-width: 44ch; color: var(--muted); font-size: clamp(15px, 1.45vw, 18px); line-height: 1.65; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 26px; }
.home-actions .button, .home-ready .button { font-size: 13px; min-height: 52px; border-radius: 5px; gap: 13px; }
.home-hero-photo img { width: 100%; height: clamp(390px, 40vw, 530px); border-radius: 110px 12px 110px 12px; object-fit: cover; object-position: center 59%; }
.home-hero-photo figcaption { padding-top: 7px; color: var(--muted); font-size: 12px; }
.home-brand-lockup {
  border: 1px solid var(--line);
  border-radius: 72px 10px 72px 10px;
  background: var(--ivory);
  display: grid;
  place-items: center;
  padding: clamp(24px, 4vw, 58px);
}
.home-brand-lockup img { width: min(100%, 290px); height: auto; }
.home-benefits { background: var(--blush); }
.home-benefits-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding-block: 24px; }
.home-benefits-list li { padding-inline: clamp(10px, 3vw, 32px); border-left: 1px solid var(--line); }
.home-benefits-list li:first-child { border-left: 0; padding-left: 0; }
.home-benefits-list strong { display: block; font: 600 clamp(22px, 2.2vw, 30px)/1.1 var(--serif); }
.home-benefits-list p { margin-top: 5px; color: var(--muted); font-size: 14px; }
.home-treatments { padding-block: clamp(46px, 7vw, 90px); }
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px 25px; flex-wrap: wrap; margin-bottom: 22px; }
.home-section-heading .text-link { font-size: 14px; }
.home-treatment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 26px); }
.home-treatment-grid-confirmed { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 950px) {
  .home-treatment-grid-confirmed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.home-treatment { background: #fffdfb; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.home-treatment:hover { border-color: var(--gold); }
.home-treatment:hover .text-link { text-decoration: underline; text-underline-offset: 3px; }
.home-treatment:focus-visible { outline-offset: 4px; }
.home-treatment-photo { display: block; }
.home-treatment-photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 60%; border-radius: 9px 9px 0 0; }
.home-treatment-details { display: flex; flex-direction: column; flex: 1; padding: clamp(16px, 2vw, 26px); }
.home-treatment-details > .text-link { margin-top: auto; align-self: start; }
.home-treatment-details p { font-size: 14px; color: var(--muted); margin-block: 8px 16px; }
.home-treatment-links { display: flex; gap: 0 12px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: auto; font-size: 14px; }
.category-image-credit { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }
.category-starting-price { display: block; margin-top: 7px; font-size: 14px; }
.home-visit { background: var(--blush); padding-block: clamp(36px, 6vw, 76px); }
.home-visit-inner { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1fr); align-items: center; gap: clamp(22px, 7vw, 98px); }
.home-visit-inner.home-visit-simple { grid-template-columns: 1fr; }
.footer-contact, .visit-details a { overflow-wrap: anywhere; }
.home-visit-clips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 2vw, 18px); align-items: start; }
.visit-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; align-items: center; }
.about-story:not(:has(img)) { grid-template-columns: 1fr; max-width: 850px; }
.about-setup img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 57%; border-radius: 48px 8px; }
.about-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 3vw, 36px); padding-left: 1.35em; margin-block: 26px 20px; }
.about-steps li { padding: 12px 3px 0; border-top: 1px solid var(--line); }
.about-steps li::marker { color: var(--muted); font-weight: 700; }
.about-steps h3 { font-size: 26px; line-height: 1.08; margin-bottom: 8px; }
.about-steps p { color: var(--muted); font-size: 14px; }
.about-steps a, .faq-section details p a { text-decoration: underline; text-underline-offset: 3px; }
.home-ready { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding-block: clamp(36px, 7vw, 82px); }
.home-ready p { color: var(--muted); margin-top: 7px; }
@media (max-width: 700px) {
  .home-hero-inner, .home-visit-inner, .home-treatment-grid { grid-template-columns: minmax(0, 1fr); }
  .home-benefits-list, .about-steps { grid-template-columns: minmax(0, 1fr); }
  .home-benefits-list { padding-block: 8px; }
  .home-benefits-list li { padding: 12px 0; border-left: 0; }
  .home-benefits-list li + li { border-top: 1px solid var(--line); }
  .home-hero h1 { font-size: clamp(52px, 11vw, 74px); max-width: none; margin-block: 14px 16px; }
  .home-actions { margin-top: 18px; }
  .home-actions .button { padding-inline: 13px; }
  .home-hero-photo img { height: auto; aspect-ratio: 4 / 3; border-radius: 55px 8px 55px 8px; }
  .home-treatment { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); }
  .home-treatment:not(.has-photo) { grid-template-columns: minmax(0, 1fr); }
  .home-treatment-photo img { height: 100%; border-radius: 9px 0 0 9px; }
  .home-treatment-details h3 { font-size: 27px; }
  .home-treatment-details p { line-height: 1.45; }
  .home-visit-clips { order: 1; }
}

.landing-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; font-size: 13px; }
.landing-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.landing-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); gap: clamp(18px, 5vw, 62px); align-items: center; padding-block: clamp(24px, 5vw, 64px); }
.landing-intro p { max-width: 55ch; margin-block: 16px 22px; }
.landing-intro img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 59%; border-radius: 44px 6px; }
.landing-prices { padding-block: 26px; }
.landing-price-group { margin-top: 24px; max-width: 850px; }
.landing-price-group > h3 { margin-bottom: 12px; }
.treatment h4 { margin: 0; font-weight: 600; }
.landing-guide nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; }
.landing-guide .button { margin-top: 16px; }
@media (max-width: 700px) {
  .landing-intro { grid-template-columns: 1fr; }
  .landing-intro h1 { font-size: clamp(38px, 8vw, 54px); }
  .landing-intro img { aspect-ratio: 2 / 1; }
}

.booking-section { background: var(--blush); padding-block: clamp(32px, 7vw, 82px); }
.booking-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr);
  gap: clamp(24px, 6vw, 76px);
  align-items: start;
}
.booking-intro h1 { margin-block: 12px 16px; }
.booking-intro p { max-width: 34ch; }
.booking-intro a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.booking-number { font-weight: 700; }
.booking-layout .booking-panel { min-width: 0; padding: clamp(20px, 4vw, 38px); background: var(--ivory); }
.whatsapp-booking-form fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.booking-form-legend { font-family: var(--serif); font-size: 28px; font-weight: 600; margin-bottom: 16px; }
.booking-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.booking-fields label { margin: 0 0 6px; font-size: 14px; }
.booking-fields input, .booking-fields select, .booking-fields textarea { width: 100%; min-width: 0; font-size: 16px; }
.booking-fields textarea { resize: vertical; }
.booking-wide { grid-column: 1 / -1; }
.booking-optional { color: var(--muted); font-weight: 400; }
.booking-consent { display: flex; align-items: flex-start; gap: 10px; margin-block: 20px; }
.booking-consent input { appearance: auto; flex: 0 0 18px; height: 18px; min-height: 18px; margin: 3px 0 0; accent-color: var(--ink); }
.booking-consent label { margin: 0; font-size: 13px; line-height: 1.5; }
.booking-consent a { text-decoration: underline; }
.whatsapp-booking-form .button { width: 100%; }
@media (max-width: 850px) { .booking-layout { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .booking-fields { grid-template-columns: 1fr; } }
