@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f4f0e9;--paper:#f8f5ef;--ink:#30312d;--muted:#716e64;--terracotta:#ab7056;--line:#d9d1c6;--dark:#272c28}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 80px));margin:auto}.skip{position:absolute;top:-150px;left:10px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}
.header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.header__inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{text-decoration:none;letter-spacing:.06em;font-weight:700;font-size:24px;line-height:1.1;white-space:nowrap}.wordmark span{font-weight:500}.wordmark i{display:block;width:100px;height:3px;background:var(--terracotta);margin-top:11px}.nav{display:flex;align-items:center;gap:42px}.nav a{text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.nav a:hover,.text-link:hover{color:var(--terracotta)}.nav__contact{border-bottom:1px solid var(--terracotta);padding-bottom:5px}.nav__contact span{margin-left:7px}.menu-toggle{display:none}
.hero{min-height:695px;display:grid;grid-template-columns:52% 48%;background:var(--paper)}.hero__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 8vw 54px max(40px,calc((100vw - 1160px)/2));}.hero__eyebrow,.hero__foot,.section-label{font-size:11px;letter-spacing:.17em;font-weight:700}.hero__eyebrow{color:var(--muted);display:flex;align-items:center;gap:12px}.dot{width:7px;height:7px;background:var(--terracotta);border-radius:50%;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(48px,5.7vw,88px);margin:50px 0 18px}h1 em,h2 em{font-weight:400;font-style:normal;color:var(--terracotta)}.hero__rule{width:120px;height:3px;background:var(--terracotta);margin:10px 0 30px}.hero__copy>p{max-width:460px;font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:30px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:56px;padding:15px 21px;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button--dark{background:var(--dark);color:#fff}.button--dark:hover{background:var(--terracotta)}.hero__foot{margin-top:95px;color:#7b7d6d;letter-spacing:.075em}.hero__foot b{padding:0 8px;color:var(--terracotta)}.hero__visual{background:linear-gradient(180deg,rgba(40,36,30,0) 68%,rgba(40,36,30,.33)),url('assets/hero.webp') center center/cover no-repeat;position:relative;min-height:550px}.image-credit{position:absolute;bottom:24px;right:30px;color:white;text-transform:uppercase;font-size:10px;letter-spacing:.14em;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.section{padding:116px 0}.section-label{color:var(--muted);margin-bottom:30px}.section-label__number{color:var(--terracotta);margin-right:14px}.intro__grid{display:grid;grid-template-columns:27% 73%;gap:20px}.intro h2,.categories h2,.approach h2,.contact h2,.promise h2{font-size:clamp(44px,5vw,72px);margin:0 0 32px}.lead{font-size:20px;line-height:1.8;color:#55554e;max-width:810px}.intro__pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:60px}.intro__pillars>div{border-top:1px solid var(--terracotta);padding-top:23px}.intro__pillars strong{font-size:11px;letter-spacing:.13em}.intro__pillars p{margin:12px 0 0;color:var(--muted);font-size:14px}
.categories{background:var(--dark);color:#f7f1e8}.section-label--light{color:#b9bab0}.categories__head{display:flex;gap:70px;justify-content:space-between;align-items:end;margin-bottom:48px}.categories__head h2{flex:0 0 60%;margin:0}.categories__head p{max-width:330px;color:#c0c1ba;font-size:15px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-card{background:#393c37;overflow:hidden}.category-card img{width:100%;height:226px;object-fit:cover;filter:saturate(.78);transition:transform .3s}.category-card:hover img{transform:scale(1.035)}.category-card>div{padding:24px 23px 28px}.category-card span{font-size:11px;letter-spacing:.14em;color:#bf8971}.category-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:29px;font-weight:400;line-height:1.2;margin:8px 0}.category-card p{font-size:13px;color:#c9cbc3;margin:0}.categories__note{color:#aeb2a8;margin:30px 0 0;font-size:12px;letter-spacing:.03em}
.approach__top{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:58px}.approach__top h2{margin:0}.approach__top p{max-width:310px;color:var(--muted);margin-bottom:12px}.steps{border-top:1px solid #c6bfb4;display:grid;grid-template-columns:repeat(5,1fr)}.step{padding:27px 22px 20px 0;border-bottom:1px solid #c6bfb4}.step span{font-size:12px;color:var(--terracotta)}.step h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:27px;font-weight:400;margin:12px 0}.step p{color:var(--muted);font-size:13px;margin-bottom:0}
.promise{min-height:560px;display:grid;grid-template-columns:50% 50%;background:#44473e;color:var(--paper)}.promise__image{background:url('assets/hospitality.webp') center/cover no-repeat;min-height:400px}.promise__content{align-self:center;padding:80px 9vw 80px 9vw}.promise h2{font-size:clamp(44px,4.7vw,67px)}.promise__content>p{color:#d4d5cc;line-height:1.85;font-size:15px;max-width:520px;margin-bottom:32px}.text-link{display:inline-block;color:var(--paper);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;text-decoration:none;border-bottom:1px solid var(--terracotta);padding-bottom:7px}.text-link span{margin-left:16px}
.contact__grid{display:grid;grid-template-columns:60% 36%;gap:4%}.contact p{color:var(--muted);max-width:560px}.contact__details{margin-top:70px}.contact__details>div{border-top:1px solid #c9c0b4;padding:18px 0 24px}.contact__details span{display:block;font-size:11px;color:var(--muted);letter-spacing:.13em;margin-bottom:5px}.contact__details>div>a,.contact__details strong{font-size:19px;text-decoration:none;font-weight:500;overflow-wrap:anywhere}.contact__details>div>a:hover{color:var(--terracotta)}.contact__details .button{margin-top:22px}.footer{background:var(--dark);color:#e5e2db;padding:30px 0}.footer__row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.06em}.footer__brand{font-size:17px;font-weight:700;text-decoration:none}
@media(max-width:1000px){.hero__copy{padding-left:40px}.container{width:calc(100% - 70px)}.category-card img{height:190px}.category-card h3{font-size:26px}.promise__content{padding:50px}}
@media(max-width:760px){.container{width:calc(100% - 42px)}.header__inner{min-height:78px}.wordmark{font-size:20px}.menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:32px;height:26px;background:none;border:0;padding:2px;cursor:pointer}.menu-toggle span{height:2px;width:100%;background:var(--ink)}.nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:22px;gap:0;border-top:1px solid var(--line);box-shadow:0 12px 26px #0001}.nav.open{display:flex}.nav a{padding:13px 0}.hero{grid-template-columns:1fr}.hero__copy{padding:58px 22px 54px}.hero h1{margin-top:30px}.hero__foot{margin-top:65px;font-size:10px}.hero__visual{min-height:410px}.section{padding:78px 0}.intro__grid{display:block}.intro__pillars{grid-template-columns:1fr;gap:24px;margin-top:40px}.intro__pillars>div{padding-top:15px}.intro__pillars p{margin-top:5px}.categories__head,.approach__top{display:block}.categories__head h2,.approach__top h2{margin-bottom:24px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card img{height:190px}.steps{grid-template-columns:repeat(2,1fr)}.promise{grid-template-columns:1fr}.promise__content{padding:70px 22px}.promise__image{min-height:350px}.contact__grid{display:block}.contact__details{margin-top:55px}.footer__row{flex-wrap:wrap}.footer__row span:nth-child(2){display:none}}
@media(max-width:470px){h1{font-size:51px}h2,.intro h2,.categories h2,.approach h2,.contact h2,.promise h2{font-size:43px}.lead{font-size:17px}.category-grid{grid-template-columns:1fr}.category-card img{height:230px}.steps{grid-template-columns:1fr}.step{padding:20px 0}.hero__visual{min-height:330px}.hero__foot{line-height:2}.footer__row{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.hero__foot{display:flex;flex-wrap:wrap;row-gap:2px}.hero__foot span{white-space:nowrap}
.header__right{display:flex;align-items:center;gap:34px}
.lang{display:flex;gap:2px;border-left:1px solid var(--line);padding-left:26px}
.lang a{font-size:11px;letter-spacing:.12em;font-weight:700;text-decoration:none;color:var(--muted);padding:6px 6px}
.lang a:hover{color:var(--terracotta)}
.lang a[aria-current]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--terracotta)}
.partners{background:var(--paper);border-bottom:1px solid var(--line)}
.partners h2{font-size:clamp(44px,5vw,72px);margin:0 0 32px}
.partners__btn{margin-top:54px}
.contact__details strong{display:block;line-height:1.45}
@media(max-width:1180px){.nav{gap:26px}.header__right{gap:22px}.lang{padding-left:16px}}
@media(max-width:1060px){.nav a{font-size:11px;letter-spacing:.08em}.nav{gap:18px}}
@media(max-width:760px){.header__right{gap:14px}.lang{border:0;padding:0}.lang a{padding:6px 4px}.partners h2{font-size:clamp(40px,10vw,56px)}.partners__btn{margin-top:40px}}
@media(max-width:470px){.partners h2{font-size:43px}}
@media(max-width:760px){.header__inner{gap:12px}}
@media(max-width:400px){.wordmark{font-size:17px}.wordmark i{width:80px;margin-top:9px}.header__right{gap:8px}.lang a{padding:6px 3px;font-size:10.5px}.menu-toggle{width:28px;height:22px}}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}h1,h2{overflow-wrap:break-word}}
@media(max-width:470px){h1{font-size:min(51px,11.6vw)}h2,.intro h2,.categories h2,.approach h2,.contact h2,.promise h2,.partners h2{font-size:min(43px,10.6vw)}}
