:root{--paper:#f5f2ec;--cream:#eae4da;--ink:#353a30;--muted:#686b61;--olive:#535c48;--line:#d6d2c8;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #697758;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(52px,5.25vw,82px);line-height:1.08;letter-spacing:-3px}h1 em{font-weight:400;color:#737c65}h2{font-size:clamp(36px,3.6vw,54px);line-height:1.2;letter-spacing:-1.6px}h3{font-size:27px;line-height:1.3}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--olive);font-weight:600}.skip{position:fixed;top:-100px;padding:15px;background:white;z-index:10}.skip:focus{top:0}header{height:104px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand{font-size:21px;letter-spacing:5px;line-height:1.4;display:block;white-space:nowrap}.brand span{display:block;font-size:8px;letter-spacing:3.2px;margin-top:4px}header nav{display:flex;gap:30px;font-size:12px}.header-end{display:flex;gap:32px;align-items:center}.languages{display:flex;gap:8px;font-size:11px}.languages button{background:none;border:0;padding:4px;color:#8a8e83}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.nav-contact{font-size:11px;border-bottom:1px solid;padding-bottom:3px}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{width:22px;height:1px;background:var(--ink);display:block;margin:6px}.hero{display:grid;grid-template-columns:1fr 47%;min-height:690px;position:relative;padding:0 5.5%;gap:7%}.hero-copy{padding-top:100px;padding-bottom:38px;display:flex;align-items:flex-start;flex-direction:column}.hero h1{margin:27px 0}.hero-description{max-width:390px;font-size:16px;line-height:1.85}.button{display:inline-flex;gap:45px;align-items:center;justify-content:space-between;background:var(--olive);color:#fff;padding:16px 24px;font-size:11px;letter-spacing:.8px;border:1px solid var(--olive);transition:background .2s}.button:hover{background:#3e4936}.hero .button{margin-top:34px}.hero-bottom{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.5px;margin-top:auto;padding-top:50px;color:var(--muted)}.dot{width:5px;height:5px;background:#697758;border-radius:50%}.portrait{overflow:hidden;position:relative;margin-top:28px;margin-bottom:28px;min-height:600px;background:#dedbd5}.portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 53%;transform:scale(1.24)}.image-note{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:18px 22px;background:linear-gradient(transparent,rgba(238,232,223,.9));font-size:9px;letter-spacing:1.5px}.vertical-label{position:absolute;right:15px;top:45%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:var(--muted)}section{scroll-margin-top:20px}.intro{padding:110px 8%;border-top:1px solid var(--line);display:grid;grid-template-columns:25% 1fr;gap:7%}.section-heading{display:flex;align-items:flex-start;gap:22px}.section-num{font-size:10px;color:#979b90}.intro h2{max-width:670px}.large-text{font-size:19px;line-height:1.8}.intro .large-text{margin:28px 0 48px;max-width:670px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.pillars>div{border-top:1px solid var(--line);padding-top:18px}.tiny{font-size:10px;letter-spacing:2px;color:#8a927f}.pillars h3{font-size:23px;margin:10px 0}.pillars p{font-size:13px;line-height:1.9}.services{background:#ece9e1;padding:85px 8% 65px}.services-top{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.services-top h2{margin-top:17px}.services-top>p{max-width:350px;font-size:14px}.filters{display:flex;gap:28px;margin:42px 0 30px;border-bottom:1px solid #cccfc2}.filters button{border:0;background:transparent;padding:0 0 13px;font-size:11px;color:var(--muted);position:relative}.filters button[aria-pressed=true]{color:var(--ink)}.filters button[aria-pressed=true]:after{content:'';position:absolute;height:2px;background:var(--olive);bottom:-1px;left:0;right:0}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{padding:34px 38px;background:var(--paper);min-height:330px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:1.8px;text-transform:uppercase}.service-card h3{font-size:33px;margin:23px 0 16px;max-width:330px}.service-card p{font-size:14px;max-width:400px}.card-meta{font-size:10px;color:var(--muted);margin:25px 0 15px}.service-card button{border:0;border-top:1px solid var(--line);background:none;padding:17px 0 0;display:flex;justify-content:space-between;width:100%;font-size:11px;margin-top:auto;text-align:left}.service-footnote{font-size:11px;margin-top:25px}.pause{padding:90px 20%;text-align:center;position:relative;overflow:hidden;background:#dfe3d8}.pause>*:not(.ripple){position:relative}.pause h2{max-width:730px;margin:22px auto;line-height:1.35}.pause>p:last-child{max-width:550px;margin:auto;font-size:14px}.ripple{position:absolute;right:-100px;top:-60px;width:650px;height:450px;transform:rotate(-22deg);opacity:.4}.ripple span{border:1px solid #aab39b;border-radius:50%;position:absolute;inset:0}.ripple span:nth-child(2){inset:40px}.ripple span:nth-child(3){inset:80px}.ripple span:nth-child(4){inset:120px}.about{padding:100px 8% 60px;display:grid;grid-template-columns:38% 1fr;gap:7%}.about-title h2{margin:20px 0;max-width:330px}.monogram{font-family:var(--serif);font-size:150px;letter-spacing:-18px;line-height:1;margin:60px 0 25px;color:#c4c8b9}.signature{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--ink)}.about-copy>p{margin-bottom:20px}.about-copy>p:not(.large-text){font-size:14px}.credentials{margin:30px 0}.credentials>div{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:20px}.credentials span{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;padding-top:4px;color:var(--olive)}.credentials p{font-size:12px}.text-link{font-size:11px;border-bottom:1px solid;padding-bottom:5px;display:inline-block}.experience-line{grid-column:1/-1;border-top:1px solid var(--line);margin-top:40px;padding-top:25px;text-align:center}.experience-line>span{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.experience-line>div{font-family:var(--serif);font-size:21px;margin:22px 0}.experience-line i{font-size:12px;margin:0 20px;color:#9c9e93}.experience-line p{font-size:10px}.process{padding:80px 8%;display:grid;grid-template-columns:30% 1fr;gap:10%;border-top:1px solid var(--line)}.process h2{margin-top:20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article>span{font-size:11px;color:#909780}.steps h3{margin:16px 0;font-size:24px}.steps p{font-size:13px}.faq{padding:70px 19%;background:#eeebe4}.faq h2{margin:18px 0 35px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:14px;list-style:none;display:flex;gap:25px;justify-content:space-between}.faq summary:after{content:'+';font-size:20px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;line-height:1.9;max-width:650px;padding:15px 25px 0 0}.contact{padding:95px 8%;display:grid;grid-template-columns:42% 1fr;gap:12%;background:#e1e4d9}.contact h2{margin:20px 0 25px;max-width:370px;font-size:52px}.contact-copy>p:not(.eyebrow){max-width:350px;font-size:14px}.contact-meta{margin:30px 0}.contact-meta p{font-size:11px}.contact form{padding-top:5px}.contact label{display:block;font-size:10px;letter-spacing:.8px;margin-bottom:6px}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid #aeb6a2;background:transparent;border-radius:0;padding:10px 0;margin-bottom:25px;color:var(--ink);font-size:14px}.contact textarea{resize:vertical}.contact select{height:46px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:10px;line-height:1.8;margin-bottom:20px}#inquiry-result{margin-top:25px;padding:20px;background:#f0f1eb}#inquiry-result p{font-size:12px}#inquiry-result textarea{margin-top:12px;font-size:12px;padding:10px;border:1px solid var(--line)}.result-actions{display:flex;gap:22px;font-size:11px;flex-wrap:wrap}.result-actions button{border:0;border-bottom:1px solid;background:none;padding:0}.result-actions a{border-bottom:1px solid}.copyright{font-size:10px;margin-top:5px}footer{padding:38px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:17px}footer>div{font-size:11px}footer>button{border:0;background:none;border-bottom:1px solid;font-size:10px;padding:0}dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,90vw);max-height:85vh;padding:55px;box-shadow:0 20px 100px #242a2633}dialog::backdrop{background:#242a267a;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:20px;top:12px;border:0;background:none;font-size:30px;font-weight:300}.dialog-content h2,#dialog-content h2{font-size:38px;margin:18px 0 22px}#dialog-content>p{font-size:14px;margin-bottom:22px}#dialog-content ul{padding-left:18px;font-size:14px;color:var(--muted);margin:25px 0}#dialog-content li{margin-bottom:10px}.dialog-meta{font-size:12px;padding:15px 0;border-top:1px solid var(--line)}[hidden]{display:none!important}::selection{background:#d7dec9}@media(min-width:1600px){body{max-width:1700px;margin:auto}.hero{min-height:780px}.hero-copy{padding-top:145px}}@media(max-width:1000px){header{padding:0 5%;height:88px}header nav{gap:18px}.header-end{gap:16px}.brand{font-size:17px;letter-spacing:3px}.hero{gap:5%;min-height:610px}.hero-copy{padding-top:65px}h1{font-size:58px}.portrait{min-height:550px}.hero-description{font-size:14px}.intro{padding:80px 6%;grid-template-columns:18% 1fr;gap:6%}.services,.about,.process,.contact{padding-left:6%;padding-right:6%}.process{grid-template-columns:1fr;gap:45px}.services-top{gap:30px}.service-card{padding:30px}.contact{gap:7%}.contact h2{font-size:44px}.about{gap:6%;grid-template-columns:32% 1fr}.experience-line i{margin:0 10px}}@media(max-width:720px){header{height:82px}.brand{font-size:16px;letter-spacing:3px}.brand span{font-size:7px;letter-spacing:2px}header nav,.nav-contact{display:none}.menu-toggle{display:block}.header-end{gap:9px}#mobile-nav{padding:15px 6%;border-bottom:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:13px;font-size:14px}.hero{padding:0;display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{padding:55px 7% 42px}h1{font-size:56px;letter-spacing:-2px;max-width:480px}.hero h1{margin:20px 0}.hero-description{font-size:15px;max-width:440px}.hero-bottom{padding-top:30px;margin-top:0}.hero .button{margin-top:27px}.portrait{margin:0 7% 35px;min-height:480px}.portrait img{object-position:50% 52%;transform:scale(1.24)}.vertical-label{display:none}.intro{padding:60px 7%;display:block}.section-heading{margin-bottom:25px}.intro h2{font-size:37px}.intro .large-text{font-size:17px;margin:24px 0 35px}.pillars{grid-template-columns:1fr;gap:25px}.pillars h3{margin:6px 0}.services{padding:60px 7% 45px}.services-top{display:block}.services-top>p{margin-top:22px}.filters{gap:22px;margin-top:30px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:310px;padding:27px}.service-card h3{font-size:32px}.pause{padding:65px 8%}.pause h2{font-size:35px}.about{padding:60px 7% 40px;display:block}.about-title h2{max-width:440px}.monogram,.signature{display:none}.about-copy{margin-top:30px}.about-copy .large-text{font-size:18px}.credentials>div{grid-template-columns:100px 1fr;gap:15px}.experience-line{margin-top:40px}.experience-line>div{font-size:19px;line-height:2}.experience-line i{margin:0 8px}.process{padding:60px 7%;gap:30px}.steps{grid-template-columns:1fr;gap:28px}.steps article{position:relative;padding-left:45px}.steps article>span{position:absolute;left:0;top:3px}.steps h3{margin:0 0 9px}.faq{padding:60px 7%}.contact{padding:60px 7%;grid-template-columns:1fr;gap:42px}.contact h2{font-size:43px}.contact-copy>p:not(.eyebrow){max-width:100%}.contact-meta{margin:22px 0}.form-row{grid-template-columns:1fr;gap:0}footer{padding:35px 7%;flex-direction:column;align-items:flex-start;gap:22px}dialog{padding:42px 26px}#dialog-content h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full supplied portrait, without crop or added caption. */
.portrait{min-height:0;aspect-ratio:1122/1402;align-self:center;width:100%;background:transparent}.portrait img{position:static;display:block;width:100%;height:auto;object-fit:contain;transform:none}.hero{align-items:center}.hero-copy{align-self:stretch}@media(max-width:720px){.portrait{width:86%;min-height:0;margin:0 7% 35px}.portrait img{transform:none;object-fit:contain}}

/* Official marks, optically balanced within the professional experience strip. */
.experience-line>.hotel-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:36px;align-items:center;margin:30px 0 28px}.hotel-logo{display:flex;justify-content:center;align-items:center;height:76px}.hotel-logo img{display:block;max-width:100%;height:auto;max-height:62px;filter:brightness(0);opacity:.64}.hotel-logo.sensei img{width:132px}.hotel-logo.ritz-carlton img{width:180px}.hotel-logo.four-seasons img{width:126px}.hotel-logo.mondrian img{width:148px}.hotel-logo.w-hotels img{width:114px}@media(max-width:1000px){.experience-line>.hotel-logos{gap:24px}}@media(max-width:720px){.experience-line>.hotel-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin:25px 0}.hotel-logo{height:64px}.hotel-logo:last-child{grid-column:1/-1}.hotel-logo.ritz-carlton img{width:165px}}

/* Prominent, comfortably sized service category controls. */
.filters{display:flex;flex-wrap:wrap;gap:12px;border-bottom:0;margin:38px 0 32px;padding:0}
.filters button{display:flex;align-items:center;justify-content:center;min-height:54px;padding:14px 25px;border:1px solid #929a86;border-radius:3px;background:#f5f2ec;color:#353a30;font-size:15px;font-weight:500;line-height:1.45;text-align:center;transition:background .2s,color .2s,border-color .2s}
.filters button:hover{background:#dce1d2;border-color:#535c48}
.filters button[aria-pressed=true]{background:#535c48;color:#fff;border-color:#535c48;font-weight:600}
.filters button[aria-pressed=true]:after{display:none}
.filters button:focus-visible{outline:2px solid #353a30;outline-offset:4px}
@media(max-width:720px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0 26px}.filters button{font-size:15px;min-height:56px;padding:13px 14px}.filters button:last-child{grid-column:1/-1}}
