:root{
  --ivory:#f5f0e7;
  --paper:#fbf8f2;
  --ink:#2c211b;
  --muted:#706258;
  --brown:#2b1b14;
  --brown2:#4f2b1d;
  --copper:#c7792d;
  --gold:#e7b670;
  --line:rgba(56,37,28,.15);
  --shadow:0 28px 70px rgba(43,27,20,.14);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Be Vietnam Pro",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.04}
.shell{width:min(1180px,calc(100% - 48px));margin:auto}
.section{padding:108px 0}
.skip-link{position:fixed;z-index:999;top:-60px;left:16px;padding:10px 16px;background:#fff}
.skip-link:focus{top:12px}
.kicker{margin-bottom:18px;color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.kicker.dark{color:var(--copper)}
.button{display:inline-flex;min-height:50px;padding:12px 24px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;font-size:.82rem;font-weight:700;transition:.25s}
.button:hover{transform:translateY(-2px)}
.primary{background:var(--copper);color:#fff}
.ghost{border-color:rgba(255,255,255,.42);color:#fff}
.actions{display:flex;gap:12px;flex-wrap:wrap}
[data-lang=en]{display:none}
html[lang=en] [data-lang=vi]{display:none}
html[lang=en] [data-lang=en]{display:inline}

.site-header{position:fixed;z-index:100;inset:0 0 auto;color:var(--ink);background:linear-gradient(90deg,rgba(251,248,242,.97),rgba(245,240,231,.88));border-bottom:1px solid rgba(199,121,45,.18);backdrop-filter:blur(15px) saturate(130%);transition:.25s}
.site-header.scrolled{background:rgba(245,240,231,.97);box-shadow:0 10px 34px rgba(43,27,20,.11)}
.nav-shell{width:min(1240px,calc(100% - 48px));height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{position:relative;width:245px;height:76px;display:flex;align-items:center}
.brand:after{content:"";position:absolute;left:20px;right:20px;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent)}
.brand img{height:72px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(199,121,45,.2));transform:scale(1.06);transition:.25s}
.brand:hover img{transform:scale(1.095);filter:drop-shadow(0 10px 17px rgba(199,121,45,.34))}
.site-menu{display:flex;gap:27px;align-items:center}
.site-menu a{position:relative;font-size:.77rem;font-weight:600}
.site-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--copper);transition:.25s}
.site-menu a:hover:after{right:0}
.nav-actions{display:flex;gap:12px;align-items:center}
.lang-toggle{display:flex;gap:4px;padding:4px;border:1px solid currentColor;border-radius:999px;background:transparent}
.lang-toggle span{padding:3px 7px;border-radius:999px;font-size:.63rem;font-weight:700;opacity:.58}
.lang-toggle .active{background:var(--copper);color:#fff;opacity:1}
.nav-cta{padding:9px 17px;border-radius:999px;background:var(--copper);color:#fff;font-size:.73rem;font-weight:700}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent}
.menu-toggle span{display:block;width:24px;height:1px;margin:7px auto;background:currentColor}

.hero{position:relative;min-height:760px;height:100svh;color:#fff;background:var(--brown);overflow:hidden}
.hero-media,.hero-media span{position:absolute;inset:0}
.hero-media img{height:100%;object-fit:cover}
.hero-media span{background:linear-gradient(90deg,rgba(32,19,13,.92),rgba(32,19,13,.63) 45%,rgba(32,19,13,.08) 80%),linear-gradient(0deg,rgba(32,19,13,.5),transparent 46%)}
.hero-content{position:relative;z-index:2;min-height:100%;padding-top:110px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero h1{max-width:760px;margin-bottom:25px;font-size:clamp(3.7rem,7.3vw,7rem);letter-spacing:-.04em}
.hero h1 em{color:var(--gold);font-weight:500}
.hero-lede{max-width:630px;margin-bottom:32px;color:rgba(255,255,255,.8);font-size:1rem}

.capabilities{background:var(--paper);border-bottom:1px solid var(--line)}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.capability-grid article{padding:29px 24px;border-right:1px solid var(--line)}
.capability-grid article:first-child{border-left:1px solid var(--line)}
.capability-grid span{color:var(--copper);font:1.15rem var(--serif)}
.capability-grid h2{margin:7px 0 4px;font-size:1.35rem}
.capability-grid p{margin:0;color:var(--muted);font-size:.7rem}

.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(65px,8vw,112px);align-items:start}
.about-visual{position:relative;padding:28px 30px 72px 0}
.about-visual:before{content:"";position:absolute;inset:0 0 42px 42px;border:1px solid rgba(199,121,45,.48);border-radius:28px 112px 28px 28px;background:linear-gradient(145deg,rgba(231,182,112,.18),rgba(255,255,255,.12));box-shadow:inset 0 0 0 10px rgba(255,255,255,.16)}
.about-visual:after{content:"CAMPUCHIA -> VIET NAM";position:absolute;right:-9px;top:47%;color:var(--copper);font-size:.54rem;font-weight:700;letter-spacing:.2em;writing-mode:vertical-rl;transform:rotate(180deg)}
.arch-image{position:relative;width:calc(100% - 30px);margin-left:auto;overflow:hidden;border-radius:20px;box-shadow:0 30px 62px -28px rgba(43,27,20,.5)}
.arch-image img{aspect-ratio:4/5;object-fit:cover}
.year-card{position:absolute;z-index:2;left:2px;bottom:0;width:248px;min-height:68px;padding:14px 20px;display:flex;align-items:baseline;gap:14px;border-left:3px solid var(--copper);border-radius:0 18px 18px 0;background:var(--brown);color:#fff;box-shadow:0 18px 40px -18px rgba(43,27,20,.55)}
.year-card strong{color:var(--gold);font:2rem/1 var(--serif)}
.year-card span{font-size:.64rem}
.about .section-copy{padding-top:48px}
.section-copy h2,.section-heading h2,.process-intro h2,.impact-copy h2,.heritage h2{margin-bottom:22px;font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.025em}
.section-copy>p:not(.kicker),.section-heading>p,.impact-copy>p:not(.kicker),.heritage p:not(.kicker){color:var(--muted)}
.story-stack{display:grid;gap:14px}
.story-stack p{margin:0;color:var(--muted)}
.section-copy blockquote{margin:30px 0;padding-left:20px;border-left:2px solid var(--copper);color:var(--brown2);font:italic 1.62rem/1.2 var(--serif)}
.brand-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 30px}
.brand-principles article{padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.42)}
.brand-principles strong{color:var(--copper);font-family:var(--serif)}
.brand-principles h3{margin:10px 0 8px;font-size:1.28rem}
.brand-principles p{margin:0;color:var(--muted);font-size:.68rem}
.facts{display:grid;grid-template-columns:1fr 1fr;margin:32px 0 0;border-top:1px solid var(--line)}
.facts div{padding:16px 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}
.facts dd{margin:3px 0 0;font-size:.8rem;font-weight:600}

.services,.documents{background:var(--paper)}
.section-heading{display:grid;grid-template-columns:1.5fr .7fr;gap:58px;align-items:end;margin-bottom:58px}
.section-heading h2{margin:0}
.section-heading>p{color:var(--muted);font-size:.88rem}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.service-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:20px;border:1px solid var(--line);background:#fff}
.service-card img{height:280px;object-fit:cover}
.service-card small{color:var(--copper);font-size:.58rem;font-weight:700;text-transform:uppercase}
.service-card h3{margin:10px 0 12px;font-size:1.9rem}
.service-card p{margin:0;color:var(--muted);font-size:.73rem}

.process{background:linear-gradient(180deg,var(--ivory),#ede4d5)}
.process-intro{max-width:820px;margin-bottom:52px}
.process-lede{margin:0;color:var(--muted)}
.process-list{display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.process-list li{position:relative;min-height:265px;padding:27px 21px;border-right:1px solid var(--line);background:rgba(255,255,255,.23)}
.process-list li:first-child{border-left:1px solid var(--line)}
.process-list li:before{content:"";position:absolute;left:21px;right:21px;top:78px;height:1px;background:linear-gradient(90deg,var(--copper),transparent)}
.process-list span{color:var(--copper);font:1.25rem var(--serif)}
.process-list h3{margin:54px 0 12px;font-size:1.4rem}
.process-list p{margin:0;color:var(--muted);font-size:.7rem}
.process-note{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.process-note article{padding:23px;border:1px solid rgba(199,121,45,.25);background:var(--paper);box-shadow:0 18px 42px -32px rgba(43,27,20,.45)}
.process-note strong{display:block;margin-bottom:8px;color:var(--brown);font:600 1.25rem/1.1 var(--serif)}
.process-note p{margin:0;color:var(--muted);font-size:.74rem}

.projects{color:#fff;background:var(--brown)}
.section-heading.light h2{color:#fff}
.section-heading.light>p{color:rgba(255,255,255,.62)}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:320px;gap:14px}
.project-card{position:relative;overflow:hidden}
.project-card.wide{grid-column:span 2}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(29,16,11,.93),transparent 70%)}
.project-card img{height:100%;object-fit:cover}
.project-card.logo-card img{padding:45px 34px 105px;object-fit:contain;background:#f8f6f1}
.project-card>div{position:absolute;z-index:2;inset:auto 22px 20px}
.project-card p{margin:0;color:var(--gold);font-size:.56rem;text-transform:uppercase}
.project-card h3{margin:3px 0;color:#fff;font-size:1.62rem}
.project-card span{font-size:.65rem;color:rgba(255,255,255,.72)}

.impact{background:#e9e4d9}
.impact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px 70px}
.founder{grid-row:span 2;background:var(--paper);box-shadow:var(--shadow)}
.founder img{aspect-ratio:1;object-fit:cover}
.founder>div{padding:32px}
.founder h2{margin:0;font-size:3rem}
.founder blockquote{font:italic 1.3rem/1.25 var(--serif)}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.impact-grid article{padding:22px 14px 18px 0;border-bottom:1px solid var(--line)}
.impact-grid article:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
.impact-grid strong{color:var(--copper);font-family:var(--serif)}
.impact-grid h3{margin:8px 0;font-size:1.35rem}

.heritage{color:#fff;background:radial-gradient(circle at 80% 20%,rgba(231,182,112,.18),transparent 34%),var(--brown2)}
.heritage-grid{display:grid;grid-template-columns:.98fr 1.02fr;gap:75px;align-items:center}
.heritage h2{color:#fff}
.heritage p:not(.kicker){color:rgba(255,255,255,.68)}
.heritage img{padding:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.ecosystem-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.ecosystem-list article{padding:19px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055)}
.ecosystem-list span{color:var(--gold);font:1.1rem var(--serif)}
.ecosystem-list h3{margin:8px 0;font-size:1.35rem;color:#fff}
.ecosystem-list p{margin:0;color:rgba(255,255,255,.63);font-size:.7rem}

.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.document-grid>a{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line);background:#fff}
.document-grid img{height:300px;object-fit:cover}
.document-grid a>div{padding:28px}
.document-grid span{color:var(--copper);font-size:.6rem}
.document-grid h3{margin:36px 0;font-size:2rem}

.contact-panel{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:68px;padding:72px;color:var(--ink);background:radial-gradient(circle at 12% 16%,rgba(255,255,255,.95),transparent 34%),linear-gradient(135deg,#fff8eb 0%,#f3dcc0 52%,#e8bf84 100%);box-shadow:0 34px 85px rgba(137,85,37,.18);overflow:hidden}
.contact-panel:before{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.72),rgba(231,182,112,.24) 45%,transparent 70%);pointer-events:none}
.contact-panel:after{content:"";position:absolute;left:40px;bottom:-95px;width:420px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(199,121,45,.18),transparent 70%);filter:blur(10px);pointer-events:none}
.contact-panel>*{position:relative;z-index:1}
.contact-panel h2{color:#2d1c14;font-size:clamp(3rem,5.5vw,5.1rem)}
.contact-panel>div>p:not(.kicker){color:#6b5748}
.contact-panel .kicker{color:#b76520}
.contact-panel .button.ghost{border-color:rgba(78,45,29,.34);color:#3a2419;background:rgba(255,255,255,.18)}
.contact-panel .button.ghost:hover{background:rgba(255,255,255,.38)}
.social-panel{margin-top:34px;padding-top:26px;border-top:1px solid rgba(78,45,29,.18)}
.social-panel>p{margin:0 0 15px;color:#9a571e;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.social-grid a{min-height:50px;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(78,45,29,.14);border-radius:999px;background:rgba(255,255,255,.44);color:#3d281d;backdrop-filter:blur(12px);transition:.25s;box-shadow:0 12px 28px rgba(102,61,31,.08)}
.social-grid a:hover{border-color:rgba(199,121,45,.55);background:#fff;color:#27170f;transform:translateY(-2px);box-shadow:0 16px 34px -22px rgba(122,72,30,.65)}
.social-grid svg{width:22px;height:22px;flex:0 0 auto;color:#b76520}
.social-grid svg *{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.social-grid span{font-size:.66rem;font-weight:700}
.contact-panel address{align-self:end;padding:30px;border:1px solid rgba(112,72,42,.16);font-style:normal;background:rgba(255,255,255,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 22px 50px rgba(116,73,37,.12);backdrop-filter:blur(14px)}
.contact-panel address p{color:#6b5748;font-size:.7rem}
.contact-panel address strong{color:#2f1e16}
.signature-kicker{margin-bottom:12px;color:#9a571e!important;font-size:.64rem!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact-methods{display:grid;gap:12px;margin-top:20px}
.contact-method{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:13px;border:1px solid rgba(112,72,42,.13);border-radius:18px;background:rgba(255,255,255,.58);transition:.25s}
.contact-method:hover{border-color:rgba(199,121,45,.42);background:#fff;transform:translateY(-2px)}
.contact-method svg{width:44px;height:44px;padding:11px;border-radius:50%;background:linear-gradient(135deg,#d98a2f,#f0c176);color:#fff;box-shadow:0 10px 22px rgba(199,121,45,.22)}
.contact-method svg *{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-method span{display:grid;gap:2px}
.contact-method small{color:#8d6e58;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-method b{color:#2f1e16;font-size:.72rem;line-height:1.35}

footer{position:relative;overflow:hidden;padding:72px 0 40px;color:#725c4f;background:linear-gradient(135deg,#fffaf0 0%,#f4e2c8 58%,#e6bd82 100%)}
footer:before{content:"";position:absolute;left:clamp(18px,6vw,92px);top:18px;width:520px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(245,184,89,.32) 44%,transparent 72%);filter:blur(5px);pointer-events:none}
footer:after{content:"";position:absolute;right:-100px;bottom:-170px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(199,121,45,.24),transparent 62%);pointer-events:none}
.footer-minimal{position:relative;display:flex;align-items:center;justify-content:space-between;gap:42px}
.footer-brand{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.footer-logo{width:410px;height:158px;object-fit:contain;filter:brightness(1.08) saturate(1.18) contrast(1.06) drop-shadow(0 0 18px rgba(255,255,255,.9)) drop-shadow(0 18px 28px rgba(137,80,32,.22));transform:scale(1.05);transition:.35s}
.footer-logo:hover{transform:scale(1.1) translateY(-3px);filter:brightness(1.18) saturate(1.25) contrast(1.08) drop-shadow(0 0 28px rgba(255,255,255,1)) drop-shadow(0 21px 34px rgba(137,80,32,.28))}
.footer-minimal p{margin:0 0 5px;color:#7c3f13;font:600 1.25rem/1.1 var(--serif)}
.footer-minimal span{font-size:.62rem}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.footer-links a{font-size:.67rem}
.footer-links a:hover{color:#2b1b14}

.reveal{opacity:0;transform:translateY(20px);transition:.7s}
.reveal.in{opacity:1;transform:none}

@media(max-width:1020px){
  .site-menu{position:fixed;inset:92px 0 0;display:none;flex-direction:column;align-items:flex-start;padding:40px 24px;background:var(--paper)}
  .site-menu.open{display:flex}
  .site-menu a{font:2.1rem var(--serif)}
  .menu-toggle{display:block;order:3}
  .nav-actions{margin-left:auto}
  .nav-cta{display:none}
  .capability-grid{grid-template-columns:1fr 1fr}
  .about-grid,.impact-layout,.heritage-grid,.contact-panel{grid-template-columns:1fr}
  .about-visual{width:min(100%,600px);margin:0 auto 18px}
  .about .section-copy{padding-top:30px}
  .service-grid{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr 1fr}
  .process-list{grid-template-columns:repeat(2,1fr)}
  .process-list li:nth-child(odd){border-left:1px solid var(--line)}
  .process-note{grid-template-columns:1fr}
  .founder{display:grid;grid-template-columns:.8fr 1.2fr;grid-row:auto}
  .social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-minimal{align-items:flex-start;flex-direction:column}
  .footer-brand{grid-template-columns:1fr}
}

@media(max-width:720px){
  .shell,.nav-shell{width:min(100% - 32px,1180px)}
  .section{padding:80px 0}
  .nav-shell{height:76px}
  .brand{width:184px;height:64px}
  .brand img{height:61px}
  .site-menu{top:76px}
  .hero{min-height:720px}
  .hero-content{justify-content:flex-end;padding-bottom:90px}
  .hero h1{font-size:clamp(3.15rem,15vw,4.9rem)}
  .capability-grid{grid-template-columns:1fr 1fr}
  .capability-grid article{padding:21px 13px}
  .about-visual{padding:18px 10px 62px 0}
  .about-visual:before{inset:0 0 36px 22px;border-radius:20px 68px 20px 20px}
  .about-visual:after{right:-5px;font-size:.47rem}
  .arch-image{width:calc(100% - 14px);border-radius:15px}
  .year-card{left:-7px;bottom:0;width:220px;min-height:62px;padding:13px 17px}
  .about .section-copy{padding-top:22px}
  .section-copy h2,.section-heading h2,.process-intro h2,.impact-copy h2,.heritage h2{font-size:2.82rem}
  .facts,.section-heading,.service-card,.founder,.impact-grid,.document-grid,.document-grid>a,.brand-principles,.ecosystem-list{grid-template-columns:1fr}
  .service-card img{height:300px}
  .process-list{grid-template-columns:1fr}
  .process-list li{min-height:auto;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .process-list h3{margin:40px 0 10px}
  .project-grid{grid-template-columns:1fr;grid-auto-rows:360px}
  .project-card.wide{grid-column:auto}
  .contact-panel{width:100%;padding:50px 22px}
  .contact-method{grid-template-columns:40px 1fr}
  .contact-method svg{width:40px;height:40px}
  .social-grid{grid-template-columns:1fr 1fr}
  .social-grid a{min-height:48px}
  .footer-logo{width:min(100%,360px);height:auto}
  .footer-links{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
