:root {
  --forest: #123f36;
  --forest-deep: #092a27;
  --teal: #2c7a69;
  --mint: #9cc9a8;
  --gold: #e7c45b;
  --mist: #eef4ec;
  --ink: #17221f;
  --muted: #71817b;
  --line: rgba(18, 63, 54, .15);
  --white: #fbfcf8;
  --display: "IBM Plex Sans Thai", "Noto Sans Thai", sans-serif;
  --body: "Noto Sans Thai", "IBM Plex Sans Thai", sans-serif;
  --mono: "IBM Plex Mono", monospace;
  --ease: cubic-bezier(.22, .75, .24, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--mist); }
body { margin: 0; color: var(--ink); background: var(--mist); font-family: var(--body); font-size: 17px; line-height: 1.65; overflow-x: hidden; }
body.menu-lock { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
/* Tailwind also defines .container; keep the Deanwork rhythm after its generated utilities. */
body .container { width: 100%; max-width: 1360px; margin-inline: auto; padding-inline: clamp(20px, 4vw, 64px); }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 14px; padding: 8px 12px; color: var(--forest-deep); background: var(--gold); transform: translateY(-150%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 20; top: 0; right: 0; left: 0; color: var(--white); border-bottom: 1px solid transparent; transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease; }
.site-header.is-scrolled { color: var(--forest); background: rgba(238,244,236,.86); border-color: var(--line); backdrop-filter: blur(16px); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 84px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font-family: var(--display); font-weight: 700; letter-spacing: -.04em; }
.brand__word { font-size: 21px; line-height: 1; }
.brand__word span { font-weight: 400; }
.brand__logo { flex: 0 0 auto; width: 60px; height: 48px; object-fit: contain; filter: invert(1); transition: filter .35s ease; }
.site-header.is-scrolled .brand__logo { filter: none; }
.site-nav { display: flex; align-items: center; gap: 30px; font-family: var(--display); font-size: 14px; font-weight: 600; }
.site-nav > a { position: relative; opacity: .8; transition: opacity .2s ease; }
.site-nav > a::after { position: absolute; bottom: -8px; left: 0; width: 100%; height: 1px; background: var(--gold); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s var(--ease); }
.site-nav > a:hover, .site-nav > a[aria-current="true"] { opacity: 1; }
.site-nav > a:hover::after { transform: scaleX(1); transform-origin: left; }
.language-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 100px; font-family: var(--mono); font-size: 10px; cursor: pointer; opacity: .9; }
.language-toggle [data-language-label] { opacity: .46; }
.language-toggle [data-language-label].is-active { color: var(--gold); opacity: 1; }
.language-toggle__divider { opacity: .4; }
.menu-toggle { display: none; position: relative; width: 38px; height: 38px; padding: 0; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 50%; cursor: pointer; }
.menu-toggle span { position: absolute; left: 11px; width: 14px; height: 1px; background: currentColor; transition: transform .2s ease, top .2s ease; }
.menu-toggle span:first-child { top: 15px; }.menu-toggle span:last-child { top: 21px; }
.menu-toggle[aria-expanded="true"] span:first-child { top: 18px; transform: rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { top: 18px; transform: rotate(-45deg); }

.hero { position: relative; min-height: min(880px, 100vh); display: flex; align-items: center; overflow: hidden; color: var(--white); background: var(--forest-deep); }
.hero__glow { position: absolute; width: 56vw; height: 56vw; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.hero__glow--one { top: -25vw; right: -10vw; background: radial-gradient(circle, rgba(156,201,168,.25), transparent 67%); animation: glow-drift 14s ease-in-out infinite; }
.hero__glow--two { bottom: -34vw; left: -25vw; background: radial-gradient(circle, rgba(44,122,105,.32), transparent 67%); animation: glow-drift 18s ease-in-out infinite reverse; }
.hero-ambient { position: absolute; z-index: 0; top: 23%; left: 37%; width: clamp(220px, 19vw, 360px); height: clamp(280px, 42vh, 430px); pointer-events: none; opacity: .92; transform: translateZ(0); }
.hero-ambient__core { position: absolute; top: 43%; left: 43%; width: 78px; height: 78px; border: 1px solid rgba(156,201,168,.62); border-radius: 50%; background: radial-gradient(circle at 36% 30%, rgba(231,196,91,.9), rgba(44,122,105,.58) 38%, rgba(18,63,54,0) 70%); box-shadow: 0 0 0 14px rgba(156,201,168,.06), 0 0 55px rgba(156,201,168,.34); filter: blur(.2px); animation: ambient-pulse 4.8s ease-in-out infinite; }
.hero-ambient__core::after { position: absolute; inset: 10px; border: 1px solid rgba(231,196,91,.46); border-radius: 50%; content: ""; animation: ambient-pulse 4.8s ease-in-out infinite reverse; }
.hero-ambient__orbit { position: absolute; top: 33%; left: 7%; width: 86%; height: 35%; border: 1px solid rgba(156,201,168,.3); border-radius: 50%; transform: rotate(-24deg); animation: ambient-orbit 17s linear infinite; }
.hero-ambient__orbit--two { top: 27%; left: 14%; width: 72%; height: 49%; border-color: rgba(231,196,91,.28); transform: rotate(58deg); animation-duration: 23s; animation-direction: reverse; }
.hero-ambient__particle { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(231,196,91,.09), 0 0 18px rgba(231,196,91,.48); animation: ambient-float 7s ease-in-out infinite; }
.hero-ambient__particle--one { top: 27%; left: 18%; animation-delay: -1.4s; }.hero-ambient__particle--two { top: 62%; right: 4%; width: 4px; height: 4px; animation-delay: -4s; }.hero-ambient__particle--three { bottom: 14%; left: 27%; width: 4px; height: 4px; background: var(--mint); animation-delay: -2.7s; }.hero-ambient__particle--four { top: 39%; right: 18%; width: 3px; height: 3px; background: var(--mint); animation-delay: -5.2s; }
.hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; min-width: 0; min-height: min(880px, 100vh); padding-top: 76px; }
.hero__copy { min-width: 0; padding: 48px 0 50px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--mint); font-family: var(--mono); font-size: 11px; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.eyebrow--dark { color: var(--teal); }
.eyebrow__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(231,196,91,.12); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); }
body h1 { max-width: 700px; margin: 27px 0 22px; font-size: clamp(3.75rem, 6.8vw, 7rem); font-weight: 600; letter-spacing: -.085em; line-height: .94; }
h1 em, h2 em { color: var(--mint); font-style: normal; }
html[lang="th"] body h1 { max-width: 100%; letter-spacing: -.055em; line-height: 1.08; overflow-wrap: anywhere; }
html[lang="th"] body h1 em { display: inline-block; max-width: 100%; overflow-wrap: anywhere; word-break: break-all; }
html[lang="th"] p { overflow-wrap: anywhere; word-break: break-word; }
.hero__lead { max-width: 470px; margin-bottom: 30px; color: rgba(251,252,248,.74); font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.65; }
.hero__actions { display: flex; align-items: center; gap: 25px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; padding: 0 19px 0 23px; border: 1px solid transparent; border-radius: 99px; font-family: var(--display); font-size: 14px; font-weight: 700; transition: transform .25s var(--ease), background .25s ease, color .25s ease, box-shadow .25s ease; }
.button span:last-child { font-size: 20px; font-weight: 400; line-height: 1; }
.button:hover { transform: translateY(-3px); }
.button--light { color: var(--forest); background: var(--white); box-shadow: 0 12px 34px rgba(0,0,0,.12); }.button--light:hover { background: var(--gold); }
.button--gold { color: var(--forest-deep); background: var(--gold); }.button--gold:hover { background: #f4d978; box-shadow: 0 12px 34px rgba(231,196,91,.2); }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-family: var(--display); font-size: 13px; font-weight: 600; }
.text-link span:last-child { font-size: 18px; line-height: 1; transition: transform .2s ease; }.text-link:hover span:last-child { transform: translateX(4px); }
.text-link--light { color: var(--white); }.text-link--dark { color: var(--forest); }
.hero__signature { display: flex; align-items: center; gap: 13px; margin-top: 92px; color: rgba(251,252,248,.48); }.hero__signature-line { width: 42px; height: 1px; background: rgba(251,252,248,.35); }.hero__signature-value { color: rgba(251,252,248,.78); font-family: var(--display); font-size: 11px; font-weight: 600; }
.mono-label { font-family: var(--mono); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.hero-stage { position: relative; min-height: 690px; transform: perspective(1200px) rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)); transform-style: preserve-3d; transition: transform .18s ease-out; }
.hero-stage__halo { position: absolute; top: 50%; left: 50%; width: 540px; height: 540px; border-radius: 50%; background: radial-gradient(circle, rgba(156,201,168,.12), transparent 65%); transform: translate(-43%, -43%); animation: breathe 7s ease-in-out infinite; }
.hero-stage__grid { position: absolute; right: -10%; bottom: 5%; left: 16%; height: 43%; opacity: .16; background-image: linear-gradient(rgba(156,201,168,.5) 1px, transparent 1px), linear-gradient(90deg, rgba(156,201,168,.5) 1px, transparent 1px); background-size: 44px 44px; transform: perspective(500px) rotateX(62deg) rotateZ(-6deg); mask-image: linear-gradient(to top, black, transparent); }
.hero-stage__image-wrap { position: absolute; z-index: 2; top: 12%; right: 1%; width: 98%; transform: translate3d(var(--image-x, 0), var(--image-y, 0), 45px); }
.hero-stage__image-wrap img { width: 100%; mix-blend-mode: screen; filter: saturate(.92) contrast(1.02); }
.hero-stage__orbit { position: absolute; z-index: 1; top: 31%; left: 16%; border: 1px solid rgba(231,196,91,.45); border-radius: 50%; transform: rotate(-20deg); animation: orbit-spin 22s linear infinite; }
.hero-stage__orbit--one { width: 440px; height: 160px; }.hero-stage__orbit--two { width: 480px; height: 190px; transform: rotate(66deg); animation-duration: 30s; animation-direction: reverse; }
.hero-stage__note { position: absolute; z-index: 3; display: flex; align-items: flex-start; gap: 10px; max-width: 190px; color: rgba(251,252,248,.72); font-size: 11px; line-height: 1.35; transform: translate3d(var(--note-x, 0), var(--note-y, 0), 55px); }.hero-stage__note span:last-child { overflow-wrap: anywhere; }.hero-stage__note::before { flex: 0 0 5px; width: 5px; height: 5px; margin-top: 5px; border-radius: 50%; background: var(--gold); content: ""; }.hero-stage__note--top { top: 25%; right: clamp(24px, 4%, 58px); }.hero-stage__note--bottom { bottom: 24%; left: 10%; }
.scroll-cue { position: absolute; z-index: 2; bottom: 38px; left: max(32px, calc((100% - 1180px) / 2)); display: flex; align-items: center; gap: 13px; color: rgba(251,252,248,.5); transition: color .2s ease; }.scroll-cue:hover { color: var(--gold); }.scroll-cue__line { display: block; width: 52px; height: 1px; background: currentColor; }

.section { position: relative; padding: 142px 0; overflow: hidden; }.section--mist { background: var(--mist); }
.about__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12%; }.section-intro h2, .section-heading h2, .ecosystem__top h2, .leadership__copy h2, .sustainability__copy h2, .contact h2 { margin: 24px 0 0; font-size: clamp(2.65rem, 4.5vw, 5rem); font-weight: 600; letter-spacing: -.08em; line-height: .98; }.section-intro h2 { max-width: 650px; }.about__body { padding-top: 79px; }.about__body p { max-width: 480px; color: var(--muted); font-size: 1.08rem; }.about__body .lead-copy { color: var(--ink); font-size: 1.42rem; line-height: 1.5; }.about__body .text-link { margin-top: 20px; }.about__signal { display: flex; align-items: center; gap: 15px; margin-top: 120px; color: var(--teal); }.about__signal-line { flex: 1; height: 1px; background: var(--line); }
html[lang="th"] .section-intro h2, html[lang="th"] .section-heading h2, html[lang="th"] .ecosystem__top h2, html[lang="th"] .leadership__copy h2, html[lang="th"] .sustainability__copy h2, html[lang="th"] .contact h2 { letter-spacing: -.055em; line-height: 1.14; }
.vision { color: var(--white); background: var(--forest); }.section-heading { display: grid; grid-template-columns: 1.1fr .9fr; column-gap: 12%; align-items: end; }.section-heading h2 { grid-row: span 2; }.section-heading p { max-width: 390px; margin: 0; color: rgba(251,252,248,.66); }.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; margin-top: 78px; }.principle-card { position: relative; min-height: 290px; padding: 27px; border: 1px solid rgba(251,252,248,.18); border-radius: 18px; overflow: hidden; transition: transform .3s var(--ease), border-color .3s ease; }.principle-card:hover { transform: translateY(-7px); border-color: rgba(231,196,91,.7); }.principle-card--vision { background: linear-gradient(145deg, rgba(156,201,168,.17), transparent 74%); }.principle-card--mission { background: linear-gradient(145deg, rgba(231,196,91,.14), transparent 74%); }.principle-card--value { background: linear-gradient(145deg, rgba(44,122,105,.55), transparent 74%); }.principle-card__index { color: var(--gold); font-family: var(--mono); font-size: 10px; }.principle-card__icon { position: absolute; top: 22px; right: 25px; color: var(--mint); font-size: 30px; font-weight: 300; }.principle-card h3 { margin: 85px 0 9px; color: var(--white); font-size: 25px; }.principle-card p { max-width: 300px; margin-bottom: 0; color: rgba(251,252,248,.68); font-size: 15px; line-height: 1.65; }
.ecosystem { background: #e8efe6; }.ecosystem__top { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12%; align-items: end; }.ecosystem__top h2 { color: var(--forest); }.ecosystem__top > p { max-width: 390px; margin: 0 0 8px; color: var(--muted); }.business-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 77px; }.business-card { position: relative; isolation: isolate; min-height: 415px; padding: 19px; border-radius: 17px; overflow: hidden; color: var(--forest); transition: transform .35s var(--ease), box-shadow .35s ease; }.business-card:hover { box-shadow: 0 22px 40px rgba(18,63,54,.12); }.business-card::before { position: absolute; z-index: 1; inset: 0; content: ""; pointer-events: none; }.business-card--farm::before { background: linear-gradient(180deg, rgba(175,213,178,.94) 0%, rgba(175,213,178,.72) 38%, rgba(175,213,178,.16) 76%, rgba(18,63,54,.26) 100%); }.business-card--food::before { background: linear-gradient(180deg, rgba(232,201,107,.9) 0%, rgba(232,201,107,.72) 38%, rgba(232,201,107,.1) 76%, rgba(18,63,54,.3) 100%); }.business-card--space::before { background: linear-gradient(180deg, rgba(224,187,162,.92) 0%, rgba(224,187,162,.72) 38%, rgba(224,187,162,.12) 76%, rgba(18,63,54,.3) 100%); }.business-card--consult::before { background: linear-gradient(180deg, rgba(153,200,192,.92) 0%, rgba(153,200,192,.72) 38%, rgba(153,200,192,.12) 76%, rgba(18,63,54,.28) 100%); }.business-card__image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(.95); transition: transform .5s var(--ease), filter .35s ease; }.business-card:hover .business-card__image { transform: scale(1.06); filter: saturate(1.05) contrast(1); }.business-card__top { position: relative; z-index: 2; display: flex; justify-content: space-between; }.business-card__arrow { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 17px; line-height: 1; }.business-card h3 { position: relative; z-index: 2; margin: 28px 0 7px; font-size: 23px; line-height: 1.1; }.business-card p { position: relative; z-index: 2; max-width: 220px; margin: 0; color: rgba(18,63,54,.72); font-size: 14px; line-height: 1.55; }.business-card--farm { background: #afd5b2; }.business-card--food { background: #e8c96b; }.business-card--space { background: #e0bba2; }.business-card--consult { background: #99c8c0; }.business-card__art { position: absolute; right: -7px; bottom: 65px; left: -7px; height: 190px; }.business-card__art--farm { background: radial-gradient(ellipse at center bottom, rgba(18,63,54,.3), transparent 60%); }.leaf { position: absolute; display: block; width: 65px; height: 115px; border: 2px solid rgba(18,63,54,.48); border-radius: 100% 5% 100% 5%; background: rgba(156,201,168,.34); transform-origin: bottom; }.leaf--one { left: 28%; bottom: 8px; transform: rotate(-31deg); }.leaf--two { left: 46%; bottom: 2px; transform: rotate(12deg) scale(.88); }.leaf--three { left: 63%; bottom: 12px; transform: rotate(40deg) scale(.7); }.seed-dot { position: absolute; bottom: 1px; left: 45%; width: 39px; height: 39px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 12px rgba(231,196,91,.22); }.business-card__art--food { background: radial-gradient(ellipse at center bottom, rgba(142,89,28,.2), transparent 58%); }.food-orb { position: absolute; right: 24%; bottom: 17px; width: 92px; height: 92px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff0aa 0 6%, #c99a2a 45%, #6e5623 100%); box-shadow: 20px -10px 0 -8px #e4a876, -20px 13px 0 -10px #aac67d; }.food-orb--two { right: 11%; bottom: 49px; width: 45px; height: 45px; opacity: .72; }.food-line { position: absolute; right: 7%; bottom: 5px; left: 8%; height: 2px; background: rgba(18,63,54,.35); transform: rotate(-5deg); }.business-card__art--space { overflow: hidden; background: linear-gradient(180deg, rgba(255,239,204,.48), transparent 48%); }.space-sun { position: absolute; right: 16%; top: 11px; width: 130px; height: 130px; border-radius: 50%; background: #f4d881; box-shadow: 0 0 0 15px rgba(244,216,129,.18); }.space-line { position: absolute; right: -5%; bottom: 42px; left: 8%; height: 80px; border-top: 2px solid rgba(125,76,58,.48); transform: skewY(-11deg); }.space-line--two { bottom: 25px; left: 21%; opacity: .5; }.business-card__art--consult { background: radial-gradient(ellipse at center, rgba(251,252,248,.38), transparent 65%); }.consult-ring { position: absolute; top: 6px; left: 23%; width: 170px; height: 170px; border: 1px solid rgba(18,63,54,.47); border-radius: 50%; }.consult-ring--two { top: 28px; left: 31%; width: 126px; height: 126px; border-color: rgba(231,196,91,.85); }.consult-node { position: absolute; top: 78px; left: 53%; width: 17px; height: 17px; border-radius: 50%; background: var(--forest); box-shadow: 0 0 0 8px rgba(18,63,54,.15); }
.leadership { color: var(--white); background: var(--forest-deep); }.leadership__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 13%; align-items: center; }.leadership__portrait { position: relative; min-height: 470px; border: 1px solid rgba(156,201,168,.32); border-radius: 45% 45% 18px 18px; overflow: hidden; background: radial-gradient(circle at 45% 28%, rgba(156,201,168,.28), transparent 34%), linear-gradient(160deg, rgba(44,122,105,.8), rgba(9,42,39,.95)); }.portrait-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(231,196,91,.66); border-radius: 50%; transform: translate(-50%, -50%); }.portrait-orbit--one { width: 82%; height: 62%; transform: translate(-50%, -50%) rotate(47deg); }.portrait-orbit--two { width: 88%; height: 38%; transform: translate(-50%, -50%) rotate(-38deg); }.portrait-monogram { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; color: var(--gold); font-family: var(--display); font-size: 170px; font-weight: 600; letter-spacing: -.2em; line-height: .8; transform: translate(-55%, -50%); }.portrait-monogram i { margin: 85px 0 0 -35px; color: var(--mint); font-size: 102px; font-style: normal; }.portrait-caption { position: absolute; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; gap: 10px; color: rgba(251,252,248,.68); }.portrait-caption__line { flex: 1; height: 1px; background: rgba(251,252,248,.32); }.leadership__copy h2 { max-width: 720px; color: var(--white); }.leadership__copy blockquote { max-width: 620px; margin: 45px 0 33px; padding-left: 21px; border-left: 1px solid var(--gold); color: rgba(251,252,248,.72); font-size: 1.17rem; line-height: 1.65; }.leader-name { margin-bottom: 1px; color: var(--white); font-family: var(--display); font-size: 16px; font-weight: 600; }.leader-name span { color: var(--mint); font-weight: 400; }.leadership__copy > .mono-label { color: var(--mint); }
.sustainability { background: var(--mist); }.sustainability__grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 11%; align-items: center; }.sustainability__image { position: relative; min-height: 540px; overflow: hidden; border-radius: 20px; background: #c9dccc; }.sustainability__image::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(9,42,39,.58)); content: ""; }.sustainability__image img { width: 100%; height: 100%; min-height: 540px; object-fit: cover; }.sustainability__image-label { position: absolute; z-index: 1; right: 23px; bottom: 23px; left: 23px; display: flex; align-items: center; gap: 13px; color: var(--white); }.sustainability__image-label::after { flex: 1; height: 1px; background: rgba(251,252,248,.4); content: ""; }.sustainability__copy h2 { color: var(--forest); }.sustainability__copy > p { max-width: 450px; margin-top: 30px; color: var(--muted); }.sustainability__signals { display: flex; gap: 23px; margin-top: 39px; padding-top: 18px; border-top: 1px solid var(--line); }.sustainability__signals span { display: flex; align-items: baseline; gap: 7px; }.sustainability__signals b { color: var(--teal); font-family: var(--mono); font-size: 10px; }.sustainability__signals small { color: var(--ink); font-family: var(--display); font-size: 12px; }
.contact { min-height: 535px; display: flex; align-items: center; color: var(--white); background: var(--forest); }.contact__mesh { position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(156,201,168,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(156,201,168,.3) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse at center, black 0, transparent 70%); transform: perspective(500px) rotateX(52deg) scale(1.35); transform-origin: center bottom; }.contact::after { position: absolute; top: -140px; right: -160px; width: 500px; height: 500px; border: 1px solid rgba(231,196,91,.4); border-radius: 50%; content: ""; box-shadow: 0 0 0 45px rgba(231,196,91,.06), 0 0 0 94px rgba(231,196,91,.03); }.contact__inner { position: relative; z-index: 1; text-align: center; }.contact__inner .eyebrow { justify-content: center; }.contact h2 { max-width: 820px; margin-right: auto; margin-left: auto; color: var(--white); }.contact p { max-width: 490px; margin: 28px auto 32px; color: rgba(251,252,248,.7); }.site-footer { color: rgba(251,252,248,.56); background: var(--forest-deep); }.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; min-height: 105px; font-size: 11px; }.site-footer__inner > :nth-child(2) { justify-self: center; }.site-footer__inner > :last-child { justify-self: end; }.brand--footer { color: var(--white); }
.reveal { opacity: 1; transform: none; transition: opacity .8s var(--ease), transform .8s var(--ease); }.js-ready .reveal { opacity: 0; transform: translateY(26px); }.reveal--delay { transition-delay: .14s; }.reveal--delay-more { transition-delay: .25s; }.js-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
.asset-fallback { background: linear-gradient(135deg, rgba(44,122,105,.7), rgba(156,201,168,.35)); object-fit: cover; }.asset-fallback[src=""] { display: none; }
@keyframes glow-drift { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-3%, 4%, 0) scale(1.08); } }
@keyframes breathe { 0%, 100% { opacity: .65; transform: translate(-43%, -43%) scale(1); } 50% { opacity: 1; transform: translate(-43%, -43%) scale(1.08); } }
@keyframes orbit-spin { to { transform: rotate(340deg); } }
@keyframes ambient-pulse { 0%, 100% { opacity: .55; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes ambient-orbit { to { transform: rotate(336deg); } }
@keyframes ambient-float { 0%, 100% { opacity: .4; transform: translate3d(0, 8px, 0) scale(.8); } 50% { opacity: 1; transform: translate3d(8px, -12px, 0) scale(1.12); } }

@media (max-width: 980px) {
  body .container { width: 100%; max-width: 820px; padding-inline: 21px; }.site-header__inner { min-height: 72px; }.menu-toggle { position: absolute; top: 17px; right: 0; display: grid !important; place-items: center; flex: 0 0 38px; }.site-nav { position: absolute; top: 72px; right: 21px; left: 21px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 14px; color: var(--forest); background: rgba(238,244,236,.97); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 42px rgba(18,63,54,.16); }.site-nav.is-open { display: flex; }.site-nav > a { padding: 12px 10px; opacity: 1; }.site-nav > a::after { display: none; }.language-toggle { align-self: flex-start; margin: 10px 10px 3px; }.hero { min-height: auto; }.hero__grid { grid-template-columns: 1fr; min-height: auto; padding-top: 125px; }.hero__copy { padding: 32px 0 0; }.hero__signature { margin-top: 50px; }.hero-stage { min-height: 530px; margin-top: -18px; }.hero-stage__image-wrap { top: 4%; right: 0; width: 100%; }.hero-stage__note--top { right: 16px; max-width: 155px; }.hero-stage__orbit--one { width: 370px; height: 140px; }.hero-stage__orbit--two { width: 390px; height: 160px; }.scroll-cue { display: none; }.section { padding: 100px 0; }.about__grid, .section-heading, .ecosystem__top, .leadership__grid, .sustainability__grid { grid-template-columns: 1fr; gap: 35px; }.about__body { padding-top: 0; }.about__signal { margin-top: 75px; }.section-heading h2 { grid-row: auto; }.principles-grid { grid-template-columns: 1fr; margin-top: 45px; }.principle-card { min-height: 230px; }.principle-card h3 { margin-top: 55px; }.business-grid { grid-template-columns: repeat(2, 1fr); margin-top: 45px; }.leadership__portrait { width: min(100%, 470px); min-height: 450px; }.leadership__grid { align-items: start; }.sustainability__image { min-height: 430px; }.sustainability__image img { min-height: 430px; }.site-footer__inner { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }.site-footer__inner > :nth-child(2), .site-footer__inner > :last-child { justify-self: start; }
}
@media (max-width: 560px) {
  body .container { width: 100%; max-width: none; padding-inline: 16px; }body h1 { font-size: clamp(3rem, 12.5vw, 4.8rem); }.hero__lead { font-size: 1.05rem; }.hero__actions { align-items: flex-start; flex-direction: column; gap: 17px; }.hero-stage { min-height: 390px; margin: 12px 0 -20px; }.hero-stage__image-wrap { top: 2%; right: 0; width: 125%; }.hero-stage__note--top { right: 12px; max-width: 145px; }.hero-stage__orbit--one { left: 14%; width: 290px; height: 105px; }.hero-stage__orbit--two { left: 12%; width: 315px; height: 120px; }.hero-stage__note--bottom { bottom: 15%; left: 13%; }.hero__signature { flex-wrap: wrap; margin-top: 42px; }.section { padding: 82px 0; }.section-intro h2, .section-heading h2, .ecosystem__top h2, .leadership__copy h2, .sustainability__copy h2, .contact h2 { font-size: clamp(2.55rem, 12vw, 3.8rem); }.principles-grid { gap: 11px; }.principle-card { min-height: 215px; padding: 22px; }.business-grid { grid-template-columns: 1fr; gap: 11px; }.business-card { min-height: 370px; }.business-card__art { bottom: 57px; }.leadership__portrait { min-height: 350px; }.portrait-monogram { font-size: 125px; }.portrait-monogram i { margin-top: 60px; font-size: 80px; }.leadership__copy blockquote { margin-top: 30px; }.sustainability__image, .sustainability__image img { min-height: 330px; }.sustainability__signals { flex-wrap: wrap; gap: 13px; }.contact { min-height: 475px; }
  html[lang="th"] body h1 { font-size: clamp(2.6rem, 11vw, 4.3rem); line-height: 1.12; letter-spacing: -.035em; }
  html[lang="th"] body h1 em { display: block; }
  html[lang="th"] p { word-break: break-all; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.hero__glow, .hero-stage__halo, .hero-stage__orbit, .hero-ambient__core, .hero-ambient__core::after, .hero-ambient__orbit, .hero-ambient__particle { animation: none; }.hero-stage { transform: none !important; transition: none; }.reveal, .reveal.is-visible, .button, .business-card { transition: none; transform: none; }.reveal, .js-ready .reveal { opacity: 1; }.site-nav, .menu-toggle span { transition: none; }
}
