.profile-services{margin:0 0 26px;border-top:1px solid var(--line)}
.profile-services details{border-bottom:1px solid var(--line)}
.profile-services summary{cursor:pointer;font-size:13px;padding:13px 0;overflow-wrap:anywhere}
.profile-services summary span{color:var(--muted);font-size:11px;margin-left:5px}
.profile-service{display:block;width:100%;padding:12px 8px;border:0;border-top:1px solid #e8dfe2;background:transparent;text-align:left;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.profile-service:hover{background:#eee5e8}
.profile-back{margin-bottom:25px}
.dialog-close{position:sticky;top:12px;float:right;margin:12px 12px -56px 0}
.team-card{transition:transform .3s ease}.team-card:hover{transform:translateY(-4px)}
.location-band{padding:0 7% 85px;display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center;max-width:1600px;margin:auto}
.map-frame{height:340px;background:#e6e8e4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px}
.map-frame:has(iframe){padding:0}.map-frame iframe{width:100%;height:100%;border:0}
.map-frame>svg{width:30px;height:30px;color:#596557}.map-frame>p{font-size:14px}.map-frame>.map-disclosure{font-size:10px;color:var(--muted);max-width:300px}
.social-note>a{display:flex;gap:15px;align-items:center;font-family:var(--serif);font-size:35px;overflow-wrap:anywhere}
.social-note .eyebrow{margin-bottom:16px}.category h3{overflow-wrap:anywhere}.team-card:focus-visible .team-image{outline:2px solid var(--rose)}
dialog[open]{animation:dialog-enter .28s ease-out}.profile-dialog .dialog-content h2{font-size:44px}.dialog-content .button{margin-top:8px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:761px) and (max-height:760px){.hero{min-height:490px}.hero-content{bottom:45px}.hero h1{font-size:80px}.hero h1 em{font-size:90px}}
@media(max-width:760px){.location-band{grid-template-columns:1fr;padding:0 24px 60px;gap:35px}.map-frame{height:300px}.social-note>a{font-size:31px}.profile-services summary{font-size:14px;padding:16px 0}.profile-service{padding:15px 7px}.hero h1 span{font-size:46px}.hero-photo{object-position:50% 20%}.hero-content{bottom:57px}.category summary{min-height:80px}.languages button{min-height:44px;min-width:27px}.service-info{min-height:36px;min-width:30px;border-radius:0;border:0}.team-card .profile-label{line-height:1.5}.team-card .team-name{font-size:25px}.category summary .plus{width:20px}.category h3{font-size:25px}.catalog-tools{gap:10px}.search{min-width:0}.catalog-tools>.text-link{font-size:11px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}
@media(max-width:760px){.service-row{grid-template-columns:minmax(0,1fr) 72px 32px}}

/* Final editorial pass: the brand leads; photography remains supporting media. */
:root{--muted:#62575c;--rose:#87616c}
.header{height:94px;transition:height .3s,background .3s,box-shadow .3s}.header.scrolled{background:#faf9f7;box-shadow:0 3px 24px #33242b0a}
.button{gap:18px;min-height:52px}.button svg{transition:transform .25s}.button:hover svg{transform:translate(2px,-2px)}
.hero{height:min(780px,calc(100svh - 160px));min-height:620px;color:var(--wine);background:#e7e7e7}
.hero-photo{height:108%;top:-4%;object-position:center 22%;filter:none}
.hero-content{top:48px;bottom:auto;left:7%;right:7%;max-width:1050px}
.hero h1{font-size:108px;line-height:.9;text-shadow:none}.hero h1 em{font-size:116px;line-height:.95;color:var(--wine)}
.hero-location{font-size:14px;margin-top:27px;max-width:450px}.hero-kicker{font-size:16px;margin:12px 0 0}
.hero>.hero-bottom{position:absolute;left:7%;bottom:65px;gap:15px;margin:0}.hero-secondary{background:#faf9f7eF;color:var(--ink);border-color:#faf9f7}.hero-secondary:hover{color:white}
.hero-address{position:absolute;top:28px;right:4%;font-size:11px;color:var(--ink)}
.intro-strip{padding-block:24px}.intro-strip span{font-size:25px}
.about{grid-template-columns:.7fr 1.5fr 1.25fr;gap:34px;padding-block:92px;align-items:center}.about>.eyebrow{align-self:start;margin-top:10px}.about h2{font-size:64px}.about-photo{margin-top:0}.about-photo img{aspect-ratio:4/4.4;object-position:50% 35%}.body-copy{max-width:420px;font-size:16px}
.section-description{font-size:16px}.services{padding-block:90px;background:#f1e9ec}.services .section-head{margin-bottom:32px}.catalog-tools{margin-bottom:35px}.search{max-width:660px}.search input{font-size:15px}.search span{font-size:12px}
.service-explorer{display:grid;grid-template-columns:290px minmax(0,1fr);gap:55px;align-items:start}.category-sidebar{position:sticky;top:110px}.category-sidebar .eyebrow{margin-bottom:15px}.category-sidebar nav{max-height:calc(100svh - 170px);overflow:auto;scrollbar-width:thin;padding-right:10px}.category-sidebar button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) 24px;gap:12px;align-items:baseline;text-align:left;border:0;border-left:2px solid transparent;padding:12px 10px;background:transparent;color:#65565d;font-size:13px;line-height:1.55;transition:background .2s,color .2s}.category-sidebar button[aria-pressed=true]{background:#e5d5db;color:var(--wine);border-left-color:var(--wine);font-weight:600}.category-sidebar button:hover{background:#eadde2;color:var(--ink)}.category-index,.category-sidebar small{font-size:10px;font-weight:400;color:#78636d}.category-sidebar small{text-align:right}
.category-mobile{display:none}.explorer-content{min-width:0;min-height:740px}.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:0 0 24px;border-bottom:1px solid #c9b7bf}.catalog-heading h3{font:400 38px/1.12 var(--serif);margin:0;overflow-wrap:anywhere}.catalog-heading>span{font-size:12px;white-space:nowrap;color:var(--muted)}
.service-list{padding:0}.service-row{grid-template-columns:minmax(0,1fr) auto;gap:25px;padding:25px 0;align-items:start;border-top:0;border-bottom:1px solid #d9cbd1}.service-summary{min-width:0}.service-summary h4{margin:0;font-weight:500}.service-name{font-size:16px;font-weight:500;line-height:1.55}.service-duration{display:flex;align-items:center;gap:7px;margin:9px 0;font-size:12px}.service-duration svg{width:14px;height:14px}.service-price{font-size:17px;padding-top:2px;font-weight:500;line-height:1.6}.service-excerpt{font-size:13px;line-height:1.7;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:560px;margin-top:10px}.service-actions{display:flex;align-items:center;gap:30px;margin-top:12px}.service-more,.service-book{display:inline-flex;align-items:center;gap:8px;font-size:12px;min-height:44px}.service-more{border-bottom:0;padding:0}.service-book{color:var(--wine);font-weight:600}.service-book:hover{text-decoration:underline;text-underline-offset:4px}.service-actions svg{width:15px;height:15px}.service-explorer.searching{display:block}.search-results{max-width:950px;margin:auto}.search-results .service-group+.service-group{margin-top:48px}.catalog-note{margin-top:32px;font-size:12px;max-width:760px}
.team-grid{gap:42px 26px}.team-image{aspect-ratio:4/5;background:#e9e4e5}.team-image img{filter:none}.team-card{align-self:start}.team-teaser{display:block;min-height:42px;color:var(--muted);font-size:12px;line-height:1.65;margin-top:6px;overflow-wrap:anywhere}.team-card .profile-label{font-size:12px;margin-top:12px;color:var(--wine);text-decoration:underline;text-underline-offset:5px}.team-card .team-name{font-size:32px}.team-card .team-name svg{width:18px;height:18px}
#detail-dialog{max-width:790px;width:calc(100% - 48px);border-top:3px solid var(--rose)}#detail-dialog.staff-detail{max-width:940px}.dialog-content{padding:58px 52px 40px}.dialog-content h2{font-size:42px;line-height:1.13}.detail-note{font-size:15px;line-height:1.85}.dialog-content>.button{min-width:190px}.dialog-close{background:var(--paper);box-shadow:0 0 0 4px var(--paper)}.source-label{font-size:12px}.profile-dialog{grid-template-columns:.9fr 1.1fr}.profile-dialog>.portrait{height:auto;max-height:580px;align-self:start;position:sticky;top:0;aspect-ratio:3/4;object-fit:contain}.profile-dialog .dialog-content{padding:58px 35px 40px}.profile-services summary{font-size:14px}.profile-service{font-size:13px;min-height:44px}
.contact{padding-bottom:50px}.contact-data{grid-template-columns:1fr 1fr;gap:30px 35px}.contact-data>div{min-width:0}.contact-data>div>span{font-size:12px;margin-bottom:10px}.contact-data p,.contact-data a{font-size:16px;line-height:1.7}.contact-data a{min-height:40px}.contact-data>div>a{margin:0}.contact h2{font-size:70px}.location-band{padding-bottom:80px}.map-frame{border:1px solid #c8cec5;position:relative;background:#e8ebe6}.map-frame>p{font-size:16px}.social-note>a{font-size:32px}.booking-band h2{font-size:78px}.booking-band>p:last-child{font-size:14px}.booking-band .button{min-width:190px}
.footer-wordmark{font-size:62px;padding-bottom:35px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.2fr .8fr .9fr;gap:40px;margin:36px 0}.footer-grid>div>span{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.footer-grid a,.footer-grid p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.footer-grid>div>a,.footer-grid nav>a{display:block;width:fit-content;min-height:36px}.footer-grid nav{display:flex;flex-direction:column}.footer-grid .languages{margin-top:18px;justify-content:flex-start}.footer-grid .languages button{min-width:44px;min-height:44px}.footer-grid .languages span{margin:0}.footer-bottom{border-top:1px solid #cfc5c5;padding-top:24px;font-size:11px}
#mobile-menu{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:24px;background:var(--paper);border:0;overflow:auto}#mobile-menu::backdrop{background:#faf9f7}.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px}.mobile-menu-top>span{font:22px var(--serif)}#mobile-menu nav{padding:34px 0;display:flex;flex-direction:column;gap:10px}#mobile-menu nav>a{display:flex;align-items:baseline;gap:20px;padding:10px 0;font:46px/1.15 var(--serif)}#mobile-menu nav>a>span:first-child{font:11px var(--sans);color:var(--muted)}.mobile-menu-bottom{display:grid;gap:22px;margin-top:10px}.mobile-menu-bottom .languages{justify-content:flex-start;font-size:15px;gap:12px}.mobile-menu-bottom .languages button{min-width:44px;min-height:44px}.mobile-menu-bottom .button{width:100%;justify-content:space-between}.mobile-menu-bottom p{font-size:12px;color:var(--muted)}
@media(min-width:1700px){.hero{height:800px;min-height:680px}.hero-content{left:8%;top:55px}.hero h1{font-size:130px}.hero h1 em{font-size:140px}.hero-photo{object-position:center 23%}.hero>.hero-bottom{left:8%}}
@media(max-width:1100px){.service-explorer{grid-template-columns:235px minmax(0,1fr);gap:32px}.category-sidebar button{font-size:12px;padding:11px 8px;gap:8px}.about{grid-template-columns:1.3fr 1fr}.about>.eyebrow{grid-column:1/-1;margin:0}.about h2{font-size:58px}.service-name{font-size:15px}.catalog-heading h3{font-size:33px}.service-price{font-size:15px}.service-row{gap:16px}.hero h1{font-size:82px}.hero h1 em{font-size:100px}.contact-data{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 40px}.footer-wordmark{font-size:52px}}
@media(max-width:900px){.header nav{display:none}.menu{display:inline-flex}.header-book{display:none}.header-actions{gap:18px}.header,.header.scrolled{height:82px}.category-sidebar{top:105px}.header .languages button{min-width:35px;min-height:44px}}
@media(max-width:760px){
 .header,.header.scrolled{height:76px;padding:0 19px}.header-actions{gap:8px}.brand img{width:35px;height:47px}.brand span{font-size:15px}.header .languages button{min-width:28px}.menu{width:44px;height:44px}.header nav.is-open{display:none}
 .hero{height:calc(100svh - 132px);min-height:595px;max-height:780px}.hero-photo{height:108%;top:-4%;object-position:50% 50%;filter:none}.hero-content{top:34px;left:23px;right:23px;max-width:none;text-align:center}.hero h1,.hero h1 span{font-size:43px;line-height:.96}.hero h1 em{font-size:66px;line-height:1}.hero-location{font-size:12px;line-height:1.55;margin:16px auto 0;max-width:260px}.hero-kicker{font-size:14px;margin-top:9px}.hero>.hero-bottom{left:23px;right:23px;bottom:30px;display:grid;grid-template-columns:1fr;gap:10px}.hero-bottom .button{width:100%;min-height:49px;font-size:13px;padding:12px 20px;justify-content:space-between}.hero-address{display:none}.intro-strip{padding:20px 24px;gap:15px}.intro-strip span{font-size:21px}.intro-strip a{font-size:11px;max-width:110px;min-height:44px;display:flex;align-items:center;border:0;text-decoration:underline;text-underline-offset:4px}
 .section{padding:66px 24px}.about{grid-template-columns:1fr;gap:25px}.about h2{font-size:52px}.about-photo{width:80%;margin-left:auto;margin-top:4px}.about-photo img{aspect-ratio:1/1.08}.body-copy{font-size:15px;margin:20px 0}.about>.eyebrow{margin:0}.eyebrow{font-size:11px}.section-description{font-size:14px}h2{font-size:54px}.services{padding-block:64px}.services .section-head{margin-bottom:28px}.catalog-tools{align-items:center;gap:10px}.search{gap:8px}.search input{font-size:14px;padding:12px 0}.search span{font-size:11px}.catalog-tools>.text-link{min-height:44px}
 .service-explorer{display:block}.category-sidebar{display:none}.explorer-content{min-height:0}.category-mobile{display:block;margin:0 0 26px}.category-mobile label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.category-mobile select{width:100%;max-width:100%;min-width:0;height:54px;background:#faf7f8;border:1px solid #b4a0a9;border-radius:0;padding:10px 34px 10px 12px;font:14px var(--sans);color:var(--ink);text-overflow:ellipsis}.catalog-heading{padding-bottom:20px;gap:16px}.catalog-heading h3{font-size:30px;line-height:1.14}.catalog-heading>span{font-size:11px}.service-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:23px 0}.service-name{font-size:14px;line-height:1.65}.service-price{font-size:14px;max-width:88px;white-space:normal;text-align:right}.service-excerpt{font-size:12px;line-height:1.75}.service-actions{gap:18px;flex-wrap:wrap;margin-top:8px}.service-more,.service-book{font-size:12px;min-height:44px;gap:5px}.service-actions svg{width:13px}.service-duration{font-size:12px}.catalog-note{font-size:12px;line-height:1.8}
 .team-grid{gap:30px 16px}.team-image{aspect-ratio:3/4}.team-card .team-name{font-size:26px}.team-teaser{font-size:11px;min-height:54px;margin-top:5px}.team-card .profile-label{font-size:12px;margin-top:8px;min-height:30px}.team-card .team-name svg{width:16px}.team-section .button{width:100%}.booking-band h2{font-size:57px}.booking-band>p:last-child{font-size:13px;max-width:290px;margin-inline:auto}.booking-band{padding:58px 24px}.booking-band>img{margin-bottom:20px;width:85px}.booking-band .button{margin-top:28px}
 #detail-dialog{width:calc(100% - 20px);max-height:92dvh}.dialog-content{padding:52px 23px 28px}.dialog-content h2{font-size:32px;line-height:1.2}.detail-note{font-size:14px}.detail-meta{gap:24px;flex-wrap:wrap;margin:23px 0;padding:18px 0}.dialog-content>.button{width:100%}.profile-dialog{display:block}.profile-dialog>.portrait{position:static;height:290px;max-height:290px;aspect-ratio:auto;object-fit:contain}.profile-dialog .dialog-content{padding:28px 23px}.profile-dialog .dialog-content h2{font-size:40px}.profile-services summary{font-size:14px;padding:16px 0}.profile-service{font-size:13px}.dialog-close{top:10px;margin-right:10px}.contact{padding-bottom:35px}.contact h2{font-size:56px}.contact-data{grid-template-columns:1fr;gap:23px}.contact-data>div{padding-top:18px}.contact-data a,.contact-data p{font-size:15px}.contact-data>div>a{min-height:44px}.location-band{padding:0 24px 60px;gap:32px}.map-frame{height:310px;padding:22px}.map-frame>p{font-size:14px}.map-frame>.map-disclosure{font-size:11px}.social-note>a{font-size:30px}
 footer{padding:35px 24px 26px}.footer-wordmark{font-size:37px}.footer-grid{gap:27px 24px;margin:28px 0;grid-template-columns:1fr}.footer-grid a,.footer-grid p{font-size:14px}.footer-grid a{min-height:40px!important}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.footer-bottom{font-size:11px;grid-template-columns:1fr;gap:15px}.footer-bottom a{min-height:36px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){.hero-photo{transform:none!important}.button:hover,.team-card:hover{transform:none}.team-card:hover img{transform:none}}
@media(max-width:760px){.hero{background:#f2f2f2}.hero-photo{top:-3%;height:138%}.services{padding-top:48px}.services h2{font-size:44px}.services .section-description{margin-top:18px}.services .catalog-tools{margin-bottom:22px}.category-mobile{margin-bottom:20px}.team-teaser{min-height:64px}}

/* 2026-10-01 final portrait + signature polish */
@media (min-width: 761px){
  .about-photo{position:relative;margin-top:20px;isolation:isolate}
  .about-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid color-mix(in srgb,var(--rose) 58%,transparent);border-radius:18px;z-index:-1;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .55s;opacity:.72}
  .about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:18px;box-shadow:0 18px 50px rgba(42,36,38,.10);transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s}
  .about-photo:hover img{transform:translateY(-4px);box-shadow:0 24px 65px rgba(42,36,38,.16)}
  .about-photo:hover::before{transform:translate(4px,4px);opacity:1}
  .about-photo figcaption{padding-left:2px}
}
@media (max-width:760px){
  .about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:16px;box-shadow:0 14px 38px rgba(42,36,38,.10)}
}
