:root{color-scheme:light;--paper:#faf7f2;--white:#fffdf9;--ink:#302d2a;--muted:#6c635c;--accent:#805b45;--accent-dark:#63422f;--line:#dfd3c6;--soft:#f0e8de;--serif:Georgia,'Times New Roman',serif;font-family:'Segoe UI',Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,summary,select{cursor:pointer}button{color:inherit}img{display:block;max-width:100%}svg{flex-shrink:0}p{line-height:1.65}h1,h2,h3,p,ul,ol,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.2;overflow-wrap:anywhere}h2{font-size:1.65rem;line-height:1.3}h3{font-size:1.25rem}ul{padding:0;list-style:none}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #745337;outline-offset:5px}a:hover{color:var(--accent-dark)}[hidden]{display:none!important}.icon{width:24px;height:24px}.skip-link{position:absolute;left:1rem;top:1rem;transform:translateY(calc(-100% - 2rem));background:var(--ink);color:#fff;padding:1rem;z-index:20}.skip-link:focus{transform:none}.site-header{max-width:1320px;margin:auto;min-height:96px;padding:22px 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:2.1rem;letter-spacing:-.04em;line-height:1.1}.brand small{display:block;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;margin-top:7px}.header-actions{display:flex;gap:8px;align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;border-radius:50%;color:var(--accent)}.icon-button:hover{background:var(--soft)}.desktop-nav{display:flex;gap:21px;align-items:center;font-size:.88rem}.desktop-nav a{display:flex;align-items:center;min-height:44px}.desktop-nav a:nth-child(3),.desktop-nav a:nth-child(4){display:none}#menu{position:relative}summary{list-style:none}summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:54px;z-index:10;width:min(320px,calc(100vw - 32px));padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 36px #38241518}.menu-panel a{display:block;padding:14px 12px;border-bottom:1px solid var(--line);line-height:1.5}.menu-panel a:last-child{border:0}.menu-panel a:hover{background:var(--soft)}.page{max-width:1000px;margin:0 auto;padding:24px 32px 56px;min-height:66vh}.mode-switch{display:flex;margin:4px auto 28px;max-width:420px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f4eee7}.mode-switch a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;text-align:center;border-radius:5px;line-height:1.4}.mode-switch .active{background:var(--accent);color:var(--white)}.page-heading{text-align:center;margin:25px auto 32px;max-width:780px}.page-heading h1{margin:0 0 12px}.page-heading>p:not(.eyebrow){color:var(--muted);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:16px;line-height:1.6}.back-link{display:inline-flex;gap:10px;align-items:center;min-height:44px;color:var(--accent);font-size:.94rem;margin-bottom:4px}.back-link .icon{width:18px}.button{display:flex;gap:12px;align-items:center;justify-content:center;min-height:54px;padding:14px 20px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fffdf9;text-align:center;line-height:1.4}.button:hover{background:var(--accent-dark);color:white}.button .icon:last-child{width:16px}.secondary{background:transparent;color:var(--accent)}.secondary:hover{background:var(--soft);color:var(--accent-dark)}.text-link,.text-button{color:var(--accent-dark);text-decoration:underline;text-underline-offset:5px;line-height:1.6;display:inline-flex;align-items:center;gap:10px;min-height:44px}.text-button{border:0;background:none;padding:0;font-size:.94rem}.muted{color:var(--muted)}.notice{border-left:2px solid var(--accent);background:var(--soft);padding:16px 20px;color:#55483d;line-height:1.65;margin:24px 0;overflow-wrap:anywhere}.notice p:last-child{margin-bottom:0}.notice .text-link{display:inline}.home.page{max-width:900px}.home .page-heading{margin-bottom:4px}.home .body-map{position:relative;height:35rem;max-width:740px;margin:0 auto;isolation:isolate}.map-frame{position:absolute;inset:15% 16% 5%;border:1px solid var(--line);border-radius:48% 48% 0 0;z-index:-2;background:radial-gradient(ellipse,#eee5d833,transparent 70%)}.body-figure{position:absolute;height:100%;width:auto;max-width:none;left:50%;transform:translateX(-50%);top:0;z-index:-1}.body-label{position:absolute;font-family:var(--serif);font-size:1.25rem;min-width:102px;max-width:160px;min-height:46px;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;background:#faf7f2f2;border:1px solid var(--line);border-radius:4px;text-align:center;box-shadow:0 3px 16px #69543c06;line-height:1.3}.body-label:hover{border-color:var(--accent);background:var(--soft)}.body-label small{font:400 .7rem/1.4 'Segoe UI',sans-serif;color:var(--muted);margin-top:3px}.body-label:not(.rear)::after{content:'';height:1px;width:40px;background:var(--accent);position:absolute;top:50%;right:-40px;opacity:.65}.body-label.belly::after,.body-label.legs::after{right:auto;left:-40px}.body-label.head{left:16%;top:12%}.body-label.hands{left:5%;top:42%}.body-label.belly{right:9%;top:40%}.body-label.back{right:6%;top:23%}.body-label.hips{left:9%;top:64%}.body-label.legs{right:10%;top:77%}.home-booking{max-width:420px;margin:8px auto 0}.under-map{text-align:center}.under-map>.text-link{margin-top:6px;font-size:.94rem}.ai-credit{font-size:.72rem;line-height:1.6;color:var(--muted);margin:8px 0 0}.choice-list{margin:0;border-top:1px solid var(--line)}.choice-list li{border-bottom:1px solid var(--line)}.choice-row{display:flex;align-items:center;gap:18px;padding:19px 10px;min-height:82px;line-height:1.45}.choice-row>span{flex:1;font-size:1.08rem;overflow-wrap:anywhere}.choice-row small{display:block;font-size:.76rem;color:var(--muted);margin-top:4px}.choice-row>.icon:last-child{width:16px}.choice-row:hover{background:#f1e9df}.row-symbol{width:27px;height:27px;color:var(--accent);margin:0 7px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.section-end{text-align:center;margin:32px auto;max-width:420px}.area-layout{max-width:760px;margin:auto}.with-portrait{display:grid;grid-template-columns:320px 1fr;gap:44px;max-width:none}.head-figure{margin:0;text-align:center}.head-crop{height:340px;position:relative;overflow:hidden;background:#f0e7dc;border-radius:48% 48% 4px 4px}.head-crop img{position:absolute;max-width:none;width:940px;height:auto;left:50%;top:-3px;transform:translateX(-50%)}.results{max-width:760px;margin:0 auto}.result-count{font-size:.88rem;color:var(--muted);margin:22px 0 12px}.service-list{display:grid;gap:12px}.service-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid var(--line);border-radius:6px;background:var(--white);transition:background .15s,border-color .15s}.service-card:hover{border-color:var(--accent);background:#f5eee5}.service-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.service-kind{font-size:.73rem;letter-spacing:.03em;color:var(--muted);line-height:1.5}.service-name{font-family:var(--serif);font-size:1.3rem;line-height:1.4;overflow-wrap:anywhere}.service-meta{font-size:.76rem;color:var(--muted)}.service-card>.icon{width:18px}.booking-block{max-width:480px;margin:34px auto;text-align:center}.booking-block p{font-size:.82rem;color:var(--muted);margin-top:12px}.empty-state{text-align:center;padding:32px 16px;border:1px solid var(--line);background:var(--white);margin:20px 0}.empty-state>.icon{color:var(--accent);margin:10px auto 24px;width:32px;height:32px}.empty-state .button{max-width:300px;margin:20px auto 6px}.filter-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0}.filter-bar label{font-size:.94rem}.filter-bar select{padding:12px 36px 12px 12px;min-height:48px;max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:4px;background:var(--white)}form[role=search]{max-width:760px;margin:0 auto}form label{display:block;line-height:1.5;margin-bottom:14px}.search-field{display:flex;align-items:center;gap:10px;padding:4px 7px 4px 16px;border:1px solid var(--accent);background:var(--white);border-radius:6px}.search-field>svg{width:20px;color:var(--accent)}.search-field input{width:100%;min-width:0;min-height:46px;border:0;background:transparent;color:var(--ink)}.search-field button{border:0;min-width:44px;height:44px;background:var(--soft);color:var(--accent);border-radius:4px}#search-form+.text-button{display:flex;max-width:760px;margin:4px auto 20px}.service-detail,.knowledge-article{max-width:760px;margin:auto}.service-detail .page-heading{text-align:left}.detail-intro{font-size:1.04rem}.status-tag{font-size:.72rem;line-height:1.5;display:inline-block;letter-spacing:.03em;padding:6px 10px;background:var(--soft);color:var(--accent-dark);border-radius:3px}.detail-intro p{margin-top:16px}.detail-section{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.detail-section h2{margin-bottom:16px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list a{display:block;min-height:44px;padding:11px 13px;line-height:1.5;background:var(--soft);border:1px solid transparent;border-radius:4px;font-size:.94rem}.tag-list a:hover{border-color:var(--accent)}.addon-list li{padding:18px 0;border-bottom:1px solid var(--line);line-height:1.5}.addon-list li>small{display:block;color:var(--muted);margin-top:6px;font-size:.8rem}.addon-list .notice{font-size:.88rem}.knowledge-card{display:block;max-width:650px;padding:32px;border:1px solid var(--line);background:var(--white);margin:24px auto;border-radius:5px}.knowledge-card>.icon{display:block;color:var(--accent);width:36px;height:36px;margin-bottom:20px}.knowledge-card h2{margin:18px 0 14px}.knowledge-card p{color:var(--muted)}.editorial-list li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.5}.editorial-list small{color:var(--muted);flex-shrink:0}.toc{border:1px solid var(--line);padding:26px;background:var(--white)}.toc ol{padding-left:22px;margin-bottom:0}.toc li{padding-left:7px}.toc a{display:inline-block;padding:10px 0;line-height:1.5;color:var(--accent-dark)}.article-section{padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px}.article-section>.eyebrow{display:block;margin-bottom:10px}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.88rem;line-height:1.6}.metadata dt{color:var(--muted)}.metadata dd{margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:30px;border:1px solid var(--line);background:var(--white)}.contact-link{display:block;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.prose{max-width:650px;margin:auto}.site-footer{max-width:1256px;margin:0 auto;padding:24px 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.82rem;color:var(--muted);flex-wrap:wrap}.site-footer p{margin:0}.site-footer p span{margin-left:14px}.site-footer a{min-height:44px;display:flex;align-items:center}.site-footer small{font-size:.7rem}dialog{padding:30px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;max-width:540px;width:calc(100% - 32px)}dialog::backdrop{background:#21180fc0}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.dialog-heading h2{margin:0}.close-button{border:1px solid var(--line);background:var(--white);font-size:1.8rem;line-height:1;width:44px;height:44px;flex-shrink:0;border-radius:50%}dialog>.muted{font-size:.86rem;margin:18px 0 0}
@media(min-width:1200px){.desktop-nav a:nth-child(3),.desktop-nav a:nth-child(4){display:flex}.site-header{gap:20px}.desktop-nav{gap:22px;font-size:.8rem}.brand>span{font-size:2.15rem}}
@media(max-width:760px){.site-header{padding:19px 20px;min-height:84px;gap:8px}.brand>span{font-size:1.8rem}.brand small{font-size:.53rem;letter-spacing:.1em}.header-actions{gap:2px}.desktop-nav{display:none}.page{padding:16px 20px 34px}.mode-switch{margin:2px auto 22px}.page-heading{margin:17px auto 24px}.page-heading h1{font-size:1.9rem;margin-bottom:10px}.page-heading>p:not(.eyebrow){font-size:.94rem}.home .body-map{height:28rem;margin-top:0}.home .page-heading h1{font-size:1.8rem}.body-label{font-size:1.06rem;min-width:82px;max-width:100px;padding:10px 9px}.body-label small{font-size:.66rem}.body-label.head{left:6%;top:11%}.body-label.hands{left:0;top:42%}.body-label.belly{right:0;top:43%}.body-label.back{right:0;top:23%}.body-label.hips{left:0;top:66%}.body-label.legs{right:0;top:80%}.body-label:not(.rear)::after{width:21px;right:-21px}.body-label.belly::after,.body-label.legs::after{left:-21px;right:auto}.map-frame{inset:13% 12% 6%}.home-booking{margin:0 auto}.ai-credit{font-size:.68rem}.under-map>.text-link{font-size:.88rem}.two-columns{grid-template-columns:1fr;gap:0}.choice-row{padding:16px 4px;gap:12px;min-height:76px}.choice-row>span{font-size:1rem}.row-symbol{margin:0 4px}.with-portrait{display:block}.head-figure{max-width:300px;margin:0 auto 25px}.head-crop{height:280px}.head-crop img{width:800px}.service-card{padding:18px 16px;gap:12px}.service-name{font-size:1.18rem}.service-kind{font-size:.72rem}.service-detail .page-heading h1{font-size:1.95rem}.notice{padding:15px 16px;font-size:.92rem}.detail-section{padding-top:24px;margin-top:26px}.contact-grid{grid-template-columns:1fr}.contact-card{padding:24px}.editorial-list li{display:block}.editorial-list small{display:block;margin-top:6px}.site-footer{padding:20px;gap:8px}.site-footer p span{margin-left:8px}.site-footer small{flex-basis:100%}.booking-block{margin:28px auto}.knowledge-card{padding:24px}.metadata{grid-template-columns:1fr;gap:5px}.metadata dd{margin-bottom:14px}dialog{padding:22px}.button{padding:13px 14px;font-size:.95rem}}
@media(max-width:350px){.site-header{padding:16px;min-height:80px}.brand>span{font-size:1.58rem}.brand small{font-size:.46rem}.page{padding-left:16px;padding-right:16px}.body-label{min-width:75px;padding:10px 7px}.body-label.head{left:0}.body-label:not(.rear)::after{width:12px;right:-12px}.body-label.belly::after,.body-label.legs::after{left:-12px;right:auto}.home .body-map{height:27rem}.button{gap:8px}.button .icon{width:20px}.site-footer{padding:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Enlarged text must reflow instead of shrinking the lettering or hiding overflow. */
body{overflow-wrap:anywhere}
.site-header{flex-wrap:wrap}
.brand{max-width:100%;min-width:0}
.header-actions{margin-left:auto}
.mode-switch a{min-width:0;overflow-wrap:anywhere}
.body-figure{width:100%;height:100%;max-width:100%;object-fit:contain}
.body-label{overflow-wrap:anywhere}
.large-text .body-map{height:auto;display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}
.large-text .body-figure{position:static;transform:none;max-width:100%;width:100%;height:auto}
.large-text .map-frame{display:none}
.large-text .body-label{position:static;max-width:none;width:100%;min-height:44px}
.large-text .body-label::after{display:none}

/* One desktop header and a fixed scrollbar gutter on every route, including short pages. */
@media (min-width: 761px) {
  html { scrollbar-gutter: stable; }
  .site-header { border-bottom: 0; }
  .brand > span {
    font-family: 'Times New Roman', Georgia, serif;
    font-weight: 400;
    letter-spacing: -.025em;
  }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .desktop-nav { display: none; }
}
.mg-site-information { text-align:center; padding:0 20px 16px; color:#62584e; font-size:.75rem; line-height:1.5; }
.mg-site-information a { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:4px 12px; text-decoration:underline; text-underline-offset:3px; }
