/* Editorial refinement; all original photography and content are retained. */
:root { --paper: #fcfaf6; --linen: #f1eee7; --ink: #202320; --forest: #202320; --muted: #545851; --line: #d6d3cb; }
::selection { color: #fff; background: #555d52; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { font-size: 1.0625rem; line-height: 1.85; }
.frame { width: min(100% - 7rem, 78rem); }
.header { position: sticky; top: 0; z-index: 20; }
.masthead { min-height: 5.25rem; }
.header-broker { font-family: 'Jost', var(--site-font); font-weight: 400; text-transform: uppercase; font-size: 1.3rem; letter-spacing: .14em; }
.nav a, .header-cta, .mobile-menu summary { font-weight: 500; font-size: .8rem; letter-spacing: .045em; }
.header-cta { color: var(--paper); }
.arrow-icon { display: inline-block; flex: none; width: 1.05rem; height: 1.05rem; margin-left: .45rem; vertical-align: middle; }
.hero-video { max-height: 75svh; }
.hero-brand { width: clamp(4.5rem, 7.5vw, 7rem); top: 1.5rem; right: 1.5rem; }
.hero-copy { padding-block: clamp(4rem, 8vw, 8rem); }
.hero-copy h1 { line-height: 1.12; font-size: clamp(2.6rem, 5.7vw, 5.5rem); letter-spacing: -.01em; }
.hero-copy h1 span { font-size: .85em; margin-top: .15em; letter-spacing: 0; }
.hero-intro { max-width: 58ch; margin-top: 2rem; line-height: 1.9; }
.actions { gap: 1rem; margin-top: 2.5rem; }
.button { min-width: 11.5rem; min-height: 3.5rem; padding: .85rem 1.4rem; font-weight: 500; letter-spacing: .035em; }
.hero-broker { margin-top: 2.5rem; gap: .3rem; }
.hero-broker strong { font-weight: 500; }
.section { padding-block: clamp(4.5rem, 8.5vw, 8rem); }
.section h2 { font-family: 'Jost', var(--site-font); font-weight: 400; font-size: clamp(2.2rem, 4.5vw, 4.3rem); line-height: 1.18; letter-spacing: -.015em; }
.section-heading { margin-bottom: 3.5rem; gap: 1.5rem; }
.section-heading > p { max-width: 58ch; }
.about { gap: 3.25rem clamp(2rem, 6vw, 5rem); }
.about > h2 { margin-bottom: .5rem; }
.portrait { align-self: start; }
.portrait img { aspect-ratio: 4 / 5.3; border: 0; }
.portrait figcaption { font-size: .8rem; padding-top: .4rem; }
.about-text { margin-top: 1.5rem; }
.about > div:not(.thai) { align-self: center; }
.text-link { font-size: .95rem; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; margin-top: 1.75rem; }
.thai { grid-column: 1 / -1; width: min(100%, 52rem); margin: 1rem auto 0; padding: 3rem 0 0; border: 0; border-top: 1px solid var(--line); background: none; }
.thai h3 { font-weight: 500; margin-bottom: 1.5rem; }
.thai p + p { margin-top: 1.2rem; }
.communities { border-top: 1px solid var(--line); }
.places { gap: 4.5rem 3.5rem; }
.places article { padding-bottom: 2rem; }
.places h3 { font-family: 'Jost', var(--site-font); font-weight: 400; font-size: clamp(1.7rem, 2.6vw, 2.6rem); margin-block: 1.25rem .85rem; letter-spacing: 0; }
.places article > p { line-height: 1.9; }
.places .place-label { margin-top: 1.25rem; }
.label { font-weight: 500; letter-spacing: .07em; }
.service-grid { gap: 2rem; margin-top: 3rem; }
.service-grid details { border: 0; }
.service-grid summary { font-family: 'Jost', var(--site-font); font-weight: 400; font-size: clamp(2rem, 3vw, 3rem); aspect-ratio: 1.5; padding-bottom: 2rem; }
.service-copy { padding: 2rem; }
.service-copy h4 { font-weight: 600; margin-top: 1.5rem; }
.contact-grid { gap: 2.5rem; }
.contact-links { width: min(100%, 31rem); }
.contact-links a { min-height: 3.5rem; font-weight: 500; }
.contact .social-links { padding-top: 1rem; justify-content: center; }
.contact .social-links a { border: 0; }
.connect-options { width: min(100%, 39rem); margin-top: 3rem; }
.connect-options > div { padding-top: 1.75rem; }
.connect-options h3 { text-align: center; font-family: 'Jost', var(--site-font); font-weight: 400; font-size: 1.7rem; margin-bottom: 1rem; }
.connect-options > div > p { text-align: center; }
.connect-options fieldset { gap: .5rem; margin-top: 2rem; }
.connect-options input { min-height: 3.25rem; background: transparent; margin-bottom: 1rem; border-color: #a6aaa0; border-radius: 0; }
.connect-options input:focus-visible { outline: 2px solid #555d52; outline-offset: 2px; }
.connect-button { min-height: 3.5rem; padding-inline: 1.6rem; font-weight: 500; cursor: pointer; }
.footer-inner { padding-block: 2.5rem 1.5rem; align-items: center; }
.footer-inner > span:first-child { font-family: 'Jost', var(--site-font); font-size: 1.25rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-disclosure { padding-block: 2.5rem 3.5rem; gap: 2rem; }
.footer-notices { font-size: .9375rem; }
@media (max-width: 1000px) { .frame { width: calc(100% - 3.5rem); } .nav { gap: 1rem; } .header-broker { font-size: 1.05rem; letter-spacing: .08em; } }
@media (max-width: 760px) {
  html { scroll-padding-top: 5.5rem; }
  .frame { width: calc(100% - 2.5rem); }
  .masthead { min-height: 4.25rem; gap: .4rem; }
  .header-broker { font-size: 1rem; letter-spacing: .06em; }
  .mobile-menu summary, .header-cta { font-size: .75rem; }
  .mobile-menu .nav { padding: .75rem 1.25rem; }
  .mobile-menu .nav a { min-height: 3rem; font-size: .95rem; }
  .hero-brand { top: 1rem; right: 1rem; }
  .hero-copy { padding-block: 4rem; }
  .hero-intro { margin-top: 1.5rem; }
  .button { min-width: 0; gap: .75rem; padding-inline: 1rem; }
  .about { gap: 2rem; }
  .thai { margin-top: .75rem; padding-top: 2rem; }
  .section-heading { margin-bottom: 2.5rem; }
  .places { gap: 2.75rem; }
  .places article { padding-bottom: 1.75rem; }
  .service-grid { gap: 1.75rem; }
  .service-copy { padding: 1.5rem; }
  .footer-inner { justify-content: center; text-align: center; gap: 1rem; }
  .footer-inner > span { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* A visibly new editorial composition: gallery white, cinematic imagery, paired contact. */
:root { --paper: #ffffff; --linen: #f3f2ee; --ink: #212522; --muted: #525852; --bronze: #5b655b; }
body { background: #fff; }
.header { background: #fff; color: var(--ink); border-bottom: 1px solid #d9ddd7; }
.masthead { min-height: 7.25rem; grid-template-columns: 1fr auto 1fr; }
.header-broker { grid-column: 2; grid-row: 1; display: grid; text-align:center; text-decoration:none; font-size:1.8rem; letter-spacing:.16em; line-height:1.3; }
.header-broker small { font: 500 .59rem/2.2 var(--site-font); letter-spacing:.26em; margin-top:.35rem; }
.masthead > .nav { display: none; }
.header-cta { color:var(--ink); font-size:.8rem; border-bottom:1px solid var(--ink); min-height:2.25rem; }
.mobile-menu { display:block; grid-column:1; grid-row:1; justify-self:start; }
.mobile-menu summary { display:flex; gap:.6rem; cursor:pointer; list-style:none; font-weight:400; font-size:.85rem; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu .nav { position:absolute; inset:100% 0 auto; display:grid; gap:0; padding:1.25rem max(2rem,calc((100vw - 78rem)/2)); background:#fff; color:var(--ink); border-bottom:1px solid var(--line); }
.mobile-menu:not([open]) .nav { display:none; }
.mobile-menu .nav a { font:400 1.3rem/1.5 Jost,var(--site-font); padding:.7rem 0; border-bottom:1px solid #e4e6e0; }
.hero-video { height: calc(85svh - 7.25rem); max-height:none; min-height:320px; }
.hero-scene { margin:0; min-height:640px; display:grid; place-items:center; }
.hero-copy { padding-block:6rem; }
.hero-copy h1 { font-size:clamp(2.75rem,6.7vw,6rem); }
.hero-intro { max-width:54ch; }
.hero-broker { font-size:.8rem; }
.about { padding-top:6rem; padding-bottom:5rem; grid-template-columns:1fr 1fr; }
.about > h2 { font-size:clamp(2.6rem,5vw,4.75rem); margin-bottom:1rem; }
.portrait img { aspect-ratio:4/5; object-position:center 48%; }
.about > div:not(.thai) { padding:1rem 0; }
.about .text-link { display:flex; width:max-content; margin-inline:auto; padding:.85rem 1.8rem; border:1px solid var(--ink); text-decoration:none; }
.thai { width:100%; background:var(--linen); padding:3rem clamp(1.5rem,7vw,6rem); border:0; margin-top:2rem; }
.thai > p:not(.label) { max-width:70ch; margin-inline:auto; }
.communities { width:100%; background:var(--linen); border:0; padding-inline:max(2rem,calc((100% - 78rem)/2)); }
.communities .section-heading { margin-bottom:4rem; }
.places { gap:4.5rem 3rem; }
.places article { border:0; padding-bottom:0; }
.places article:first-child { grid-column:auto; }
.places article:last-child { grid-column:1/-1; width:min(100%,58rem); margin:auto; }
.places article:last-child > img { aspect-ratio:2/1; object-fit:cover; }
.community-photo img { aspect-ratio:16/9; }
.places h3 { margin-top:1.5rem; }
.places article > p:last-child { text-align:center; max-width:53ch; font-size:1rem; }
.places article > img, .community-photo { margin-bottom:1.3rem; }
.services { background:#fff; }
.services > .frame { width:100%; }
.services h2 { padding-inline:1.5rem; }
.service-grid { gap:2px; margin-top:3.5rem; }
.service-grid summary { aspect-ratio:1.15; align-items:center; padding:2rem; }
.service-grid summary::before { background:linear-gradient(0deg,#1118,#1113); }
.service-grid summary::after { bottom:2.5rem; }
.service-label { font-size:clamp(2.3rem,4vw,4.1rem); }
.service-copy { width:min(100%,44rem); margin-inline:auto; padding:2.5rem; }
.contact { background:#eaece6; color:var(--ink); }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.contact-grid { gap:2rem; }
.contact-language { color:var(--muted); margin-bottom:1.2rem; }
.contact-grid > div:first-child > p:last-child { color:var(--muted); max-width:38ch; }
.contact-links a { border-color:#a8afa5; }
.contact .social-links { gap:1.5rem; }
.connect { padding:3rem; background:white; min-width:0; }
.connect h2 { font-size:2.5rem; margin:0; }
.connect-options { width:100%; margin-top:1.5rem; }
.connect-options > div { border:0; padding:0; }
.connect-options h3 { font-size:1.2rem; }
.connect-options input { border:0; border-bottom:1px solid #969e92; background:#f8f9f5; }
.connect-options label { font-weight:500; }
.connect-button { width:100%; }
.footer { background:#212522; }
@media (max-width:760px) {
 html { scroll-padding-top:6.4rem; }
 .frame { width:calc(100% - 3rem); }
 .masthead { min-height:5.5rem; }
 .header-broker { font-size:1.08rem; letter-spacing:.09em; }
 .header-broker small { font-size:.46rem; letter-spacing:.15em; }
 .header-cta { font-size:.68rem; }
 .header-cta .arrow-icon { display:none; }
 .mobile-menu summary { font-size:.7rem; gap:.35rem; }
 .hero-video { height:58svh; min-height:300px; object-position:center; }
 .hero-scene { min-height:0; }
 .hero-copy { padding-block:4.5rem; }
 .hero-copy h1 { font-size:2.8rem; }
 .hero-intro { font-size:1rem; line-height:1.8; }
 .about { grid-template-columns:1fr; padding-block:4rem; }
 .about > h2 { margin-bottom:.5rem; }
 .about > div:not(.thai) { padding:0; }
 .thai { margin-top:1rem; padding:2rem 1.5rem; }
 .communities { width:100%; padding:4.5rem 1.5rem; }
 .places { grid-template-columns:1fr; gap:3.5rem; }
 .places article:last-child { grid-column:auto; }
 .places article:last-child > img { aspect-ratio:auto; }
 .community-photo img { aspect-ratio:1450/967; }
 .places article > p:last-child { text-align:left; }
 .service-grid { gap:1.5rem; }
 .service-grid summary { aspect-ratio:1.25; }
 .service-copy { padding:1.5rem; }
 .contact { padding-block:4rem; }
 .contact-layout { grid-template-columns:1fr; gap:3rem; }
 .connect { padding:2rem 1.25rem; }
 .connect h2 { font-size:2.2rem; }
}
