@import url('fonts.css');
:root{--paper:#faf9f7;--ink:#2a2426;--rose:#a17d84;--wine:#49353d;--line:#d8d0d1;--muted:#71666c;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;letter-spacing:0}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:5px}button{color:inherit}svg{width:20px;height:20px;stroke-width:1.4}h1,h2,h3,p,figure{margin:0}h2{font-family:var(--serif);font-size:76px;font-weight:400;line-height:.99}h2 em{font-weight:400;color:var(--rose)}.skip{position:fixed;top:-100px;left:20px;background:white;z-index:100;padding:12px}.skip:focus{top:10px}.header{height:102px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;background:rgba(250,249,247,.97);z-index:30;border-bottom:1px solid transparent;transition:height .35s,border-color .35s,box-shadow .35s}.header.scrolled{height:80px;border-color:var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:53px;height:64px;object-fit:contain}.brand span{font-family:var(--serif);font-size:21px;line-height:1.1}.brand small{display:block;font-family:var(--sans);font-size:10px;margin-top:6px}.header nav{display:flex;gap:29px;font-size:13px}.header nav a{position:relative;padding:12px 0}.header nav a:after,.text-link:after{content:'';position:absolute;height:1px;bottom:5px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}.header nav a:hover:after,.text-link:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:26px}.languages{display:flex;align-items:center;gap:8px;font-size:12px}.languages button{background:none;border:0;padding:8px 2px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--ink);font-weight:700;border-bottom:1px solid var(--ink)}.languages span{color:#bdb1b5}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:15px 30px;background:var(--wine);color:white;border:1px solid var(--wine);font-size:13px;font-weight:600;transition:background .3s,color .3s,transform .3s;border-radius:0}.button:hover{background:#76545f;border-color:#76545f;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#e8d8db;border-color:#e8d8db}.button.small{min-height:43px;padding:10px 24px}.button.outline{background:transparent;color:var(--wine)}.button.outline:hover{background:var(--wine);color:white}.icon-button{width:44px;height:44px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center}.menu{display:none}.hero{height:min(760px,calc(100svh - 160px));min-height:570px;position:relative;background:#d6d6d6;overflow:hidden;color:white}.hero-picture{display:contents}.hero-photo{position:absolute;width:100%;height:120%;object-fit:cover;object-position:center 41%;top:-10%;filter:brightness(.78);will-change:transform}.hero-top{position:absolute;top:28px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:11px;color:white;text-shadow:0 1px 8px #000}.hero-content{position:absolute;left:7%;right:7%;bottom:65px}.hero-kicker{font-size:14px;margin-bottom:18px}h1{font-family:var(--serif);font-size:110px;font-weight:400;line-height:.89;text-shadow:0 2px 30px #0003}h1 span,h1 em{display:block}h1 em{font-size:120px;font-weight:400}.hero-bottom{display:flex;gap:40px;align-items:center;margin-top:32px}.hero-bottom p{font-size:14px;line-height:1.6}.photo-credit{position:absolute;bottom:22px;right:4%;font-size:11px;color:#fff}.intro-strip{display:flex;justify-content:space-between;align-items:center;padding:27px 7%;border-bottom:1px solid var(--line)}.intro-strip span{font-family:var(--serif);font-style:italic;font-size:27px}.intro-strip a{font-size:12px;border-bottom:1px solid var(--ink)}.section{max-width:1600px;margin:auto;padding:115px 7%}.eyebrow{font-size:11px;font-weight:600;margin-bottom:28px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 2.2fr 1.9fr;gap:40px;align-items:start}.about h2{font-size:59px}.body-copy{font-size:15px;line-height:1.9;margin:29px 0;max-width:490px;color:var(--muted)}.text-link{position:relative;display:inline-block;border:0;background:transparent;padding:0 0 5px;border-bottom:1px solid var(--line);font-size:13px}.about-photo{margin-top:35px}.about-photo img{aspect-ratio:4/5;object-fit:cover;object-position:45% center}.about-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px}.services{background:#f0e8e9;max-width:none}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;gap:30px}.section-description{font-size:14px;color:var(--muted);max-width:350px;padding-bottom:8px}.catalog-tools{display:flex;gap:20px;align-items:center;margin-bottom:30px}.search{display:flex;align-items:center;gap:15px;border-bottom:1px solid #b3a0a5;padding:12px 0;width:100%;max-width:570px}.search input{width:100%;min-width:0;border:0;background:transparent;font-size:14px;outline:none;padding:8px 0;color:var(--ink)}.search span{white-space:nowrap;font-size:11px;color:var(--muted)}.category{border-top:1px solid #c8babc}.category:last-child{border-bottom:1px solid #c8babc}.category summary{list-style:none;display:grid;grid-template-columns:50px 1fr auto 40px;gap:15px;align-items:center;cursor:pointer;padding:25px 0}.category summary::-webkit-details-marker{display:none}.category-num{font-size:11px;color:var(--muted)}.category h3{font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.2}.category-count{font-size:12px;color:var(--muted)}.category summary .plus{font-size:28px;font-weight:400;text-align:right;transition:transform .4s}.category[open] summary .plus{transform:rotate(45deg)}.category[open] summary h3{color:#77515d}.service-list{padding:0 0 25px 65px}.service-row{display:grid;grid-template-columns:minmax(0,1fr) 105px 40px;gap:24px;align-items:center;padding:18px 0;border-top:1px solid #d9cdcf}.service-name{background:none;border:0;padding:0;text-align:left;font-size:14px;line-height:1.7}.service-name:hover{text-decoration:underline;text-underline-offset:4px}.service-duration{display:block;color:var(--muted);font-size:12px;margin-top:4px}.service-price{font-size:14px;text-align:right;white-space:nowrap}.service-info{background:transparent;border:1px solid #bbaaaf;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center}.service-info:hover{background:white}.catalog-note{font-size:12px;color:var(--muted);margin-top:27px}.empty{padding:35px 0;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:45px 24px;margin-bottom:45px}.team-card{background:none;border:0;padding:0;text-align:left;min-width:0}.team-image{aspect-ratio:3/4;overflow:hidden;background:#ece5e5;position:relative}.team-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.7)}.team-card:hover img{transform:scale(1.04);filter:saturate(1)}.team-card .team-name{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-family:var(--serif);font-size:30px}.team-card .profile-label{display:block;font-size:11px;color:var(--muted);margin-top:2px}.team-card .initial{display:flex;height:100%;align-items:center;justify-content:center;font:italic 110px var(--serif);color:#a88790}.booking-band{background:var(--wine);color:var(--paper);padding:80px 7% 90px;text-align:center;position:relative}.booking-band>img{width:110px;height:115px;object-fit:contain;margin:0 auto 35px;opacity:.8}.booking-band .eyebrow{color:#d7bbc2}.booking-band h2{font-size:86px}.booking-band h2 em{color:#d8b7c0}.booking-band .button{margin-top:40px}.booking-band>p:last-child{font-size:12px;color:#d8c8cd;margin-top:22px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:38px}.contact-data>div>span{display:block;font-size:11px;color:var(--muted);margin-bottom:15px}.contact-data p,.contact-data a{font-size:14px}.contact-data>div>a{display:block;width:fit-content;margin:8px 0;overflow-wrap:anywhere}.contact h2{font-size:70px}footer{padding:45px 7% 26px;background:#eee9e7}.footer-wordmark{font-family:var(--serif);font-size:64px;line-height:1.1;display:block;padding:25px 0 55px;border-bottom:1px solid #cfc5c5}.footer-wordmark em{font-weight:400;color:var(--rose)}.footer-bottom{display:flex;gap:25px;justify-content:space-between;margin-top:25px;font-size:10px;color:var(--muted)}dialog{border:0;padding:0;max-width:760px;width:calc(100% - 32px);max-height:85svh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#211b21a6;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:15px;top:15px;background:var(--paper);z-index:2}.dialog-content{padding:55px}.dialog-content h2{font-size:43px;line-height:1.13;overflow-wrap:anywhere}.dialog-content .eyebrow{margin-bottom:20px}.detail-meta{display:flex;gap:35px;border-block:1px solid var(--line);padding:22px 0;margin:26px 0}.detail-meta span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.detail-meta strong{font-weight:500;font-size:23px}.detail-note{font-size:13px;color:var(--muted);margin:22px 0}.profile-dialog{display:grid;grid-template-columns:1fr 1.2fr}.profile-dialog>.portrait{width:100%;height:100%;max-height:650px;object-fit:contain;background:#e9e3e3}.profile-dialog .dialog-content{padding:55px 30px}.profile-dialog .initial{display:grid;place-items:center;font:120px var(--serif);background:#e9e3e3}.source-label{margin-top:18px;color:var(--muted);font-size:11px}.reveal{transition:none}[hidden]{display:none!important}
@media(min-width:1700px){.hero-content{left:10%}.hero{height:780px}.hero-photo{object-position:center 40%}.hero h1{font-size:140px}.hero h1 em{font-size:150px}}
@media(max-width:1100px){.header nav{gap:17px}.header{padding:0 3%}.header-actions{gap:15px}.brand span{font-size:17px}.about{grid-template-columns:1.2fr 1fr}.about>.eyebrow{grid-column:1/-1;margin-bottom:0}.section{padding:85px 6%}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact{gap:30px}.contact-data{grid-template-columns:1fr}.hero h1{font-size:86px}.hero h1 em{font-size:100px}}
@media(max-width:760px){html{scroll-padding-top:85px}.header,.header.scrolled{height:78px;padding:0 20px;gap:10px}.brand img{width:38px;height:49px}.brand{gap:8px}.brand span{font-size:15px}.brand small{font-size:8px;margin-top:5px}.header-actions{gap:10px}.header-book{display:none}.languages{font-size:11px;gap:5px}.menu{display:inline-flex;width:33px}.header nav{position:absolute;top:78px;left:0;right:0;background:var(--paper);display:none;padding:30px 25px 40px;border-bottom:1px solid var(--line)}.header nav.is-open{display:flex;flex-direction:column;gap:9px}.header nav a{font-family:var(--serif);font-size:32px}.hero{height:calc(100svh - 136px);min-height:560px;max-height:740px}.hero-photo{object-position:58% 22%;height:110%;top:-5%;filter:brightness(.72)}.hero-top{top:20px;left:22px;right:22px;font-size:9px}.hero-top span:last-child{display:none}.hero-content{left:24px;right:24px;bottom:60px}.hero-kicker{font-size:12px;margin-bottom:18px}.hero h1{font-size:50px;line-height:.97}.hero h1 em{font-size:74px}.hero-bottom{gap:18px;margin-top:25px;align-items:flex-start}.hero-bottom p{font-size:11px;max-width:145px}.hero-bottom .button{padding:13px 23px;min-height:47px;font-size:12px;flex-shrink:0}.photo-credit{font-size:9px;bottom:15px}.intro-strip{padding:22px 24px;gap:20px}.intro-strip span{font-size:21px;line-height:1.15}.intro-strip a{font-size:10px;flex-shrink:0;max-width:85px}.section{padding:70px 24px}.about{grid-template-columns:1fr;gap:23px}.about h2{font-size:52px}.about-photo{margin-top:12px;width:85%;margin-left:auto}.about-photo img{aspect-ratio:1/1.05}.body-copy{font-size:14px;margin:23px 0}.eyebrow{font-size:10px;margin-bottom:24px}h2{font-size:60px}.section-head{display:block;margin-bottom:35px}.section-description{margin-top:23px;font-size:13px}.catalog-tools{margin-bottom:20px}.search{gap:10px}.search span{font-size:10px}.search input{font-size:13px}.category summary{grid-template-columns:24px 1fr 28px;gap:12px;padding:22px 0}.category h3{font-size:27px}.category-count{display:none}.category-num{font-size:10px}.service-list{padding:0 0 20px}.service-row{grid-template-columns:minmax(0,1fr) 72px 28px;gap:10px}.service-name{font-size:12px;overflow-wrap:anywhere}.service-price{font-size:12px}.service-info{width:28px;height:28px}.service-duration{font-size:11px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px;margin-bottom:30px}.team-card .team-name{font-size:26px;margin-top:12px}.team-card .profile-label{font-size:10px}.team-image{aspect-ratio:3/4}.booking-band{padding:60px 24px}.booking-band h2{font-size:66px}.booking-band>img{width:90px;height:95px;margin-bottom:27px}.booking-band>p:last-child{font-size:11px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:60px}.contact-data{grid-template-columns:1fr;gap:26px}.contact-data>div{border-top:1px solid var(--line);padding-top:22px}.contact-data>div>span{margin-bottom:10px}.footer-wordmark{font-size:37px;padding:10px 0 30px}.footer-wordmark em{display:block}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:9px}footer{padding:35px 24px 26px}.dialog-content{padding:58px 24px 30px}.dialog-content h2{font-size:34px}.profile-dialog{display:block}.profile-dialog>.portrait{height:290px;width:100%;object-fit:contain}.profile-dialog .dialog-content{padding:30px 24px}.profile-dialog .initial{height:180px}.detail-meta{gap:25px}.detail-meta strong{font-size:20px}.catalog-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo{will-change:auto}}
