@font-face{font-family:ThaiBowlDisplay;src:url('../fonts/ThaiBowlDisplay-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:ThaiBowlDisplay;src:url('../fonts/ThaiBowlDisplay-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:ThaiBowlDisplay;src:url('../fonts/ThaiBowlDisplay-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#26333d;--cream:#faf9f5;--gold:#977026;--gutter:clamp(6px,.56vw,12px);--inset:clamp(24px,2.35vw,54px)}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:ThaiBowlDisplay,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid #dba64d;outline-offset:6px}
[hidden]{display:none!important}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 18px;background:var(--cream);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.hero{position:relative;isolation:isolate;margin:var(--gutter);border-radius:20px;overflow:hidden;min-height:720px;height:calc(100svh - 2 * var(--gutter));max-height:1200px;background:#596143;color:#fff}
.hero__picture,.hero__image,.hero__shade{position:absolute;inset:0;width:100%;height:100%}
.hero__picture{z-index:-3}
.hero__image{object-fit:cover;object-position:center}
.hero__shade{z-index:-2;background:linear-gradient(90deg,rgba(19,30,13,.25),transparent 48%),linear-gradient(180deg,rgba(17,26,15,.23),transparent 24%,transparent 68%,rgba(27,27,15,.09))}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--inset);position:relative;z-index:5}
.wordmark{font-size:clamp(19px,1.45vw,28px);font-weight:500;letter-spacing:.23em;text-decoration:none;color:inherit;white-space:nowrap;line-height:1.5}
.navigation{display:flex;align-items:center;gap:clamp(24px,3vw,64px)}
.navigation :is(button,a){position:relative;color:inherit;background:none;border:0;padding:12px 0;min-height:44px;font-size:clamp(16px,1vw,20px);letter-spacing:.07em;font-weight:500}
.navigation :is(button,a)::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.navigation :is(button,a):hover::after{transform:scaleX(1)}
.hero__content{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:0 var(--inset) clamp(48px,4.5vw,100px)}
.hero__title{font-weight:700;font-size:clamp(100px,8.15vw,180px);letter-spacing:-.055em;line-height:.83;margin:0 0 4px -.025em}
.hero__title span{display:block}
.feature-card{flex:0 0 clamp(290px,20.5vw,410px);padding:20px;background:var(--cream);border-radius:20px;color:var(--ink);box-shadow:0 6px 30px #1723140a}
.feature-card__image{display:block;width:100%;height:auto;aspect-ratio:1.86;object-fit:cover;border-radius:13px}
.feature-card__body{padding:22px 5px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:13px;line-height:1.4;font-weight:500;color:var(--gold);margin:0 0 10px}
.feature-card h2{font-size:clamp(27px,1.55vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.03;margin:0}
.feature-card__description{font-size:clamp(16px,.93vw,19px);line-height:1.45;letter-spacing:-.015em;color:#606667;margin:20px 0 22px;max-width:30ch}
.feature-card__link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;padding:7px 0;background:none;border:0;color:var(--ink);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.13em;text-align:left}
.feature-card__link svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;transition:transform .2s ease}
.feature-card__link:hover svg{transform:translate(3px,-3px)}
.menu-toggle{display:none}
.preview-notice{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:14px 16px 14px 22px;width:max-content;max-width:calc(100% - 32px);background:var(--ink);color:white;border-radius:12px;box-shadow:0 8px 36px #0003;font-size:16px}
.preview-notice button{background:none;color:white;border:0;font-size:28px;min-width:44px;min-height:44px}
@media(min-width:901px) and (max-height:740px){.hero{min-height:620px}.hero__content{padding-bottom:40px}.feature-card{padding:16px}.feature-card__body{padding-top:16px}.feature-card__description{margin:14px 0}.hero__title{font-size:clamp(100px,8vw,150px)}}
@media(max-width:900px){.hero{min-height:760px;max-height:none}.hero__title{font-size:clamp(76px,10.5vw,110px)}.hero__content{gap:20px;padding-bottom:40px}.feature-card{flex-basis:280px;padding:16px}.feature-card__body{padding:18px 3px 0}.feature-card__description{font-size:16px}.site-header{padding-top:20px}.navigation{gap:24px}}
@media(max-width:600px){
  :root{--inset:22px}
  .hero{height:auto;min-height:calc(100svh - 12px);border-radius:16px;padding-bottom:24px}
  .hero__image{object-position:58% top}
  .hero__picture{height:660px}
  .hero__shade{background:linear-gradient(180deg,#16221340,transparent 25%,#22311d38 48%,#435134 78%)}
  .site-header{padding-top:16px;align-items:center;flex-wrap:wrap;gap:8px}
  .wordmark{font-size:19px;letter-spacing:.18em}
  .menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;color:white;background:none;border:0;padding:8px 0 8px 12px;font-size:16px}
  .menu-toggle__icon{width:22px;height:16px;display:flex;flex-direction:column;justify-content:space-around}
  .menu-toggle__icon i{display:block;height:1px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded=true] .menu-toggle__icon i:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-toggle__icon i:last-child{transform:translateY(-4px) rotate(-45deg)}
  .navigation{width:100%;justify-content:space-between;gap:10px}
  .js-enabled .navigation{display:none}
  .js-enabled .navigation.is-open{display:flex;padding:12px 18px;background:var(--cream);color:var(--ink);border-radius:12px;position:absolute;top:74px;left:var(--inset);right:var(--inset);width:auto;box-shadow:0 8px 30px #0002}
  .navigation :is(button,a){font-size:15px;letter-spacing:.02em}
  .hero__content{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:270px var(--inset) 0;gap:32px}
  .hero__title{font-size:clamp(66px,16.7vw,100px);line-height:.87;letter-spacing:-.05em;margin:0}
  .feature-card{flex-basis:auto;width:100%;max-width:420px;align-self:center;padding:16px;border-radius:16px}
  .feature-card__image{aspect-ratio:1.9}
  .feature-card__body{padding:20px 4px 0}
  .feature-card h2{font-size:29px}
  .feature-card__description{max-width:30ch;margin:16px 0 18px}
  .preview-notice{bottom:16px;font-size:14px}
}
/* The entrance controller owns animation; no competing hero arrival keyframes. */
.site-header{padding-right:clamp(40px,5.2vw,96px)}
.navigation{gap:clamp(22px,2.5vw,48px)}
.intro-overlay{position:fixed;inset:0;z-index:1000;background:#fff;pointer-events:all;overflow:hidden;isolation:isolate}
.intro-logo{position:absolute;left:50%;top:50%;width:260px;height:260px;object-fit:contain;opacity:0;transform:translate(-50%,-50%) scale(0);z-index:3;will-change:transform,opacity}
.intro-title{position:absolute;margin:0;z-index:1;white-space:nowrap;-webkit-font-smoothing:antialiased}
.intro-line{display:block;height:1lh;clip-path:inset(-.08em -2px -.08em -2px)}
.intro-line>span{display:block;transform:translateX(-110%);will-change:transform}
.intro-reveal{position:absolute;inset:0;z-index:2;visibility:hidden;will-change:clip-path}
.intro-image,.intro-image-shade{position:absolute;object-fit:cover;max-width:none}
.intro-image-shade{pointer-events:none}
.intro-reveal .intro-title{z-index:1}
.site-header{transition:opacity .45s ease,transform .45s ease}.feature-card{transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.intro-active:not(.intro-content-revealed) .site-header{opacity:0;transform:translateY(10px);pointer-events:none}.intro-active:not(.intro-content-revealed) .feature-card{opacity:0;transform:translateX(calc(100% + 100px));pointer-events:none}
@media(max-width:900px) and (min-width:601px){.site-header{padding-right:var(--inset)}.navigation{gap:18px}.navigation :is(button,a){font-size:15px}}
@media(max-width:600px){.site-header{padding-right:var(--inset)}.intro-logo{width:190px;height:190px}.js-enabled .navigation.is-open{flex-wrap:wrap;justify-content:flex-start;gap:4px 22px}.navigation :is(button,a){font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.navigation a{text-decoration:none;display:inline-flex;align-items:center}
.feature-card__link{text-decoration:none}
