:root{--navy:#041F60;--red:#96030A;--blue:#0091EA;--ink:#20252D;--paper:#F8F6F1;--white:#fff;--muted:#59616d;--rule:#d5d5d0;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,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.7}a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.hero a:focus-visible,.contact a:focus-visible{outline-color:var(--white)}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:16px;z-index:100;padding:10px 18px;background:var(--white);color:var(--navy);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:30;background:rgba(248,246,241,.97);border-bottom:1px solid var(--rule)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;flex-direction:column;text-align:center;line-height:1;text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:32px;letter-spacing:.1em;font-weight:600}.wordmark-sub{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.48em;padding:9px 0 0 .48em}.main-nav{display:flex;gap:42px;align-items:center;font-size:13px}.main-nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}.main-nav a:hover{border-bottom-color:var(--red)}.main-nav .nav-contact{color:var(--red);border-bottom-color:var(--red)}.nav-contact span{margin-left:18px}.nav-toggle{border:0;background:none;color:var(--navy);padding:12px 0;align-items:center;gap:12px;font-size:13px}.menu-lines{width:22px;height:12px;border-block:1px solid currentColor}.eyebrow{margin:0 0 25px;font-size:11px;letter-spacing:.21em;text-transform:uppercase;font-weight:600;color:var(--red)}.eyebrow.light{color:#e2d8c2}.hero{position:relative;isolation:isolate;overflow:hidden;background-color:#041F60;background-image:linear-gradient(90deg, rgba(4,31,96,.90) 0%, rgba(4,31,96,.82) 45%, rgba(4,31,96,.66) 100%),url("assets/hero-meeting-1920.jpg");background-image:linear-gradient(90deg, rgba(4,31,96,.90) 0%, rgba(4,31,96,.82) 45%, rgba(4,31,96,.66) 100%),-webkit-image-set(url("assets/hero-meeting-1920.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));background-image:linear-gradient(90deg, rgba(4,31,96,.90) 0%, rgba(4,31,96,.82) 45%, rgba(4,31,96,.66) 100%),image-set(url("assets/hero-meeting-1920.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));background-size:cover;background-position:70% 30%;background-repeat:no-repeat;color:var(--white)}.hero-inner{position:relative;padding-block:92px 64px}.hero h1{font-family:var(--serif);font-size:clamp(54px,5.6vw,82px);font-weight:400;line-height:1.04;letter-spacing:-.028em;max-width:820px;margin:0 0 30px}.hero h1 em{font-weight:400;color:#e2d8c2}.hero-description{font-size:15px;line-height:1.85;max-width:540px;margin:0 0 35px;color:#e0e5ee}.button{display:inline-flex;gap:48px;align-items:center;background:var(--paper);color:var(--navy);font-size:13px;font-weight:500;padding:15px 23px;text-decoration:none;border:1px solid var(--paper);transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--white)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.text-link{font-size:13px;text-underline-offset:5px}.text-link span{margin-left:8px}.hero-languages{font-size:12px;color:#e0e5ee;margin:22px 0 0}.hero-architecture{position:absolute;z-index:-1;inset:0;overflow:hidden;background:none}.hero-architecture:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 109px,#ffffff05 110px,transparent 111px)}.hero-architecture span{position:absolute;border:1px solid #c6c9c52b;width:43%;height:140%;right:-3%;top:8%;transform:skewY(-24deg)}.hero-architecture span:nth-child(2){right:5%;top:22%;width:28%;border-color:#c6c9c539}.hero-architecture span:nth-child(3){right:13%;top:36%;width:13%;border-color:#c6c9c54a}.section-space{padding-block:104px}h2{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:clamp(40px,4vw,56px);line-height:1.1;letter-spacing:-.025em;margin:0 0 32px}h3{font-family:var(--serif);font-weight:500;color:var(--navy);font-size:30px;line-height:1.15;margin:0 0 15px}.about-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:100px;align-items:center}blockquote{margin:0;font-family:var(--serif);color:var(--navy);font-size:29px;line-height:1.4;font-weight:400}.person-details{margin-top:34px;padding-top:28px;border-top:1px solid var(--rule)}.person-details h3{margin-bottom:8px}.person-role{font-size:13px;line-height:1.8;margin:0 0 20px}.about-support{color:var(--muted);font-size:14px;margin:24px 0 0}.bio-facts{list-style:none;margin:0;padding:0;color:var(--muted);font-size:12px;line-height:1.8}.bio-facts li{position:relative;padding-left:16px;margin-top:6px}.bio-facts li:before{content:'';position:absolute;width:4px;height:4px;background:var(--red);left:0;top:.75em}.portrait{width:100%;max-width:420px;justify-self:center;margin:0;padding:10px;border:1px solid var(--navy);background:var(--white);box-shadow:12px 12px 0 #e2d8c2}.portrait img{display:block;width:100%;height:auto;aspect-ratio:800/1121}.portrait figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}.services{background:#efeee8;border-block:1px solid var(--rule)}.section-heading{margin-bottom:44px}.section-heading h2{margin-bottom:0}.services-intro{max-width:760px;font-size:14px;color:var(--muted);margin:24px 0 0}.services-cta{padding-block:28px;border-bottom:1px solid var(--rule)}.services-cta a{color:var(--navy);font-size:14px;text-underline-offset:5px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #c7cbc9;border-left:1px solid #c7cbc9}.service-card{padding:34px 38px 38px;border-right:1px solid #c7cbc9;border-bottom:1px solid #c7cbc9}.card-mark{display:block;font-size:11px;color:var(--red);letter-spacing:.12em;margin-bottom:30px}.service-card h3{max-width:350px;font-size:32px}.service-card p{font-size:14px;color:var(--muted);max-width:440px;margin:0}.service-card-wide{grid-column:1/-1;display:flex;gap:45px;align-items:baseline}.service-card-wide .card-mark{margin:0}.service-card-wide h3{max-width:none}.service-card-wide p{max-width:850px}.contact{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--white)}.contact::before{content:"";position:absolute;z-index:-2;inset:-6px;background:url("assets/living-room-contact-bg.webp") center/cover no-repeat;filter:blur(2px);transform:scale(1.05)}.contact::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(4,31,96,.88),rgba(4,31,96,.80))}.contact>.wrap{position:relative;z-index:1}.contact-grid>div{min-width:0}.contact-button{margin-top:28px}.contact-brand{font-size:14px;color:#e0e5ee;margin:0 0 28px}.contact-details a{overflow-wrap:anywhere;text-underline-offset:4px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{color:var(--white);max-width:440px;font-size:58px}.contact-intro{color:#e0e5ee;font-size:14px;margin:30px 0 0}.contact-details{margin:0}.contact-details>div{border-bottom:1px solid #ffffff38;padding:19px 0}.contact-details>div:first-child{padding-top:0}.contact-details dt{text-transform:uppercase;letter-spacing:.16em;color:#e2d8c2;font-size:10px;margin-bottom:8px}.contact-details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.site-footer{background:var(--paper);padding-block:27px;color:var(--muted);font-size:11px}.footer-inner{display:flex;gap:12px;align-items:center}.footer-inner p{margin:0}.error-page{min-height:100svh;display:flex;flex-direction:column}.error-page main{flex:1;padding-block:100px}.error-page h1{font-family:var(--serif);font-size:clamp(50px,7vw,90px);line-height:1.05;color:var(--navy);font-weight:400;max-width:700px}.error-page .button{background:var(--navy);color:var(--white);margin-top:20px}.error-page .button:hover{background:var(--red)}
@media(min-width:761px){.hero-inner>*{animation:arrive .7s ease-out both}.hero-description{animation-delay:.1s}.hero .button{animation-delay:.2s}}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.about-grid,.contact-grid{gap:50px}.hero h1{max-width:720px}.hero-architecture{opacity:.7}.section-space{padding-block:80px}}
@media(max-width:760px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.wordmark{font-size:27px}.wordmark-sub{font-size:8px}.nav-toggle:not([hidden]){display:inline-flex}.main-nav{width:100%;gap:26px;padding:12px 0 18px;justify-content:space-between;border-top:1px solid var(--rule)}.main-nav a{font-size:13px}.hero-inner{padding-block:64px 48px}.hero h1{font-size:clamp(46px,9.3vw,68px);line-height:1.07;max-width:600px}.hero-description{font-size:14px;margin-bottom:28px}.eyebrow{font-size:10px;margin-bottom:22px}.hero-architecture{opacity:.4}.hero-architecture span{width:70%}.section-space{padding-block:64px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}h2{font-size:42px;margin-bottom:25px}blockquote{font-size:27px}.portrait{max-width:360px;box-shadow:7px 7px 0 #e2d8c2}.person-details{margin-top:26px}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-card h3{font-size:30px}.card-mark{margin-bottom:21px}.service-card-wide{display:block}.service-card-wide .card-mark{margin-bottom:21px}.section-heading{margin-bottom:32px}.contact h2{font-size:48px;margin-bottom:20px}.contact-intro{margin-top:22px}.footer-inner{flex-direction:column;align-items:flex-start;gap:5px;padding-right:45px}.site-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.wechat-qr{display:block;box-sizing:content-box;width:180px;min-width:180px;height:auto;padding:12px;background:var(--white)}.wechat-caption{max-width:320px;margin:10px 0 0;font-size:12px;line-height:1.7;color:#e0e5ee}
@media(max-width:640px){.wechat-qr{width:200px}}
@media(max-width:760px){.hero{background-image:linear-gradient(180deg, rgba(4,31,96,.80) 0%, rgba(4,31,96,.86) 60%, rgba(4,31,96,.92) 100%),url("assets/hero-meeting-1920.jpg");background-image:linear-gradient(180deg, rgba(4,31,96,.80) 0%, rgba(4,31,96,.86) 60%, rgba(4,31,96,.92) 100%),-webkit-image-set(url("assets/hero-meeting-1024.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));background-image:linear-gradient(180deg, rgba(4,31,96,.80) 0%, rgba(4,31,96,.86) 60%, rgba(4,31,96,.92) 100%),image-set(url("assets/hero-meeting-1024.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));background-position:60% 20%}}

/* Centred full-bleed photo hero — luxury hotel styling overrides. */
.hero {
  min-height: calc(100vh - 94px);
  min-height: calc(100svh - 94px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), url("assets/hero-meeting-1920.jpg");
  background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), -webkit-image-set(url("assets/hero-meeting-1920.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));
  background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), image-set(url("assets/hero-meeting-1920.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
  background-color: #041F60;
}
.hero-architecture {
  display: none;
}
.hero-inner {
  width: 100%;
  padding-block: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.hero .eyebrow {
  color: #fff;
  font-size: 12px;
  letter-spacing: .32em;
  text-transform: uppercase;
  margin-bottom: 28px;
}
.hero h1 {
  color: #fff;
  font-size: clamp(60px,6.6vw,104px);
  line-height: 1.02;
  max-width: 1100px;
  margin: 0 auto 26px;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 2px 24px rgba(0,0,0,.25);
}
.hero h1 em {
  color: #e2d8c2;
}
.hero-description {
  font-family: var(--serif);
  font-size: clamp(22px,2vw,30px);
  line-height: 1.35;
  color: #fff;
  max-width: 760px;
  margin: 0 auto 40px;
  text-wrap: balance;
}
.hero-actions {
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.hero .button {
  background: #fff;
  border: 1px solid #fff;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .24em;
  font-size: 13px;
  font-weight: 600;
  padding: 18px 56px;
  gap: 0;
  justify-content: center;
  min-width: 280px;
}
.hero .button span {
  display: none;
}
.hero .button:hover {
  background: transparent;
  color: #fff;
}
.hero .text-link {
  color: #fff;
  font-size: 13px;
}
.hero-languages {
  color: #fff;
  opacity: .9;
  margin-top: 26px;
  text-align: center;
}
@media (max-width: 760px) {
  .hero {
    min-height: calc(100vh - 81px);
    min-height: calc(100svh - 81px);
    background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), url("assets/hero-meeting-1920.jpg");
    background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), -webkit-image-set(url("assets/hero-meeting-1024.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));
    background-image: linear-gradient(rgba(4,31,96,.66), rgba(4,31,96,.66)), image-set(url("assets/hero-meeting-1024.webp") type("image/webp"), url("assets/hero-meeting-1920.jpg") type("image/jpeg"));
    background-position: center 25%;
  }
  .hero-inner {
    padding-block: 64px;
  }
  .hero h1 {
    font-size: clamp(38px,10.6vw,48px);
    line-height: 1.08;
    hyphens: none;
    overflow-wrap: normal;
    word-break: keep-all;
  }
  .hero-description {
    font-size: 20px;
  }
  .hero .eyebrow {
    font-size: 10px;
    letter-spacing: .26em;
  }
  .hero .button {
    min-width: 0;
    width: 100%;
    max-width: 320px;
    padding: 17px 20px;
    letter-spacing: .2em;
  }
}
