/* VDMT V8 — refined typography, quiet menu motion, brighter homepage imagery. */
:root{
  --brand:#3f8f78;
  --brand-deep:#2e6757;
  --ink:#202522;
  --ink-soft:#4b524e;
  --paper:#fbfaf6;
  --cream:#f6f2e9;
  --line:rgba(32,37,34,.14);
  --muted:#66706b;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:"Aptos","Segoe UI","Be Vietnam Pro",Arial,sans-serif;
}
body{font-family:var(--sans);font-weight:400;letter-spacing:-.005em;background:var(--paper);color:var(--ink)}
h1,h2,h3,.cred-grid strong,.founder blockquote,.quote-band blockquote,.list-lines span{font-family:var(--serif);font-weight:400}

/* Header: quieter, more premium navigation */
.site-header{background:rgba(251,250,246,.92);border-bottom:1px solid rgba(32,37,34,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.brand{width:150px}.brand img{width:150px;height:auto;aspect-ratio:auto;object-fit:contain}
.nav{gap:25px}
.nav a{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.015em;color:#323835;padding:7px 0;transition:color .25s ease}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:1px;background:var(--brand);transition:right .32s cubic-bezier(.2,.7,.2,1)}
.nav a:hover{color:var(--brand-deep)}
.nav a:hover:after,.nav a[aria-current=page]:after{right:0;width:auto;background:var(--brand)}
.language{font-size:11px;letter-spacing:.08em}.header-tools .btn{font-size:11px;letter-spacing:.03em;background:transparent;color:var(--ink);border-color:rgba(32,37,34,.18)}
.header-tools .btn:hover{background:var(--ink);color:#fff;transform:none}

/* Homepage: refined split hero, light photography, no black stage feeling */
body[data-page=home] .hero-carousel{background:var(--paper);color:var(--ink);min-height:710px;max-height:860px;height:calc(100svh - 100px);border-bottom:1px solid var(--line)}
body[data-page=home] .hero-carousel:after{display:none}
body[data-page=home] .hero-carousel .hero-slide{position:relative;height:100%;background:transparent;overflow:hidden}
body[data-page=home] .hero-carousel .hero-slide[hidden]{display:none!important}
body[data-page=home] .hero-carousel .hero-slide>.wrap{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-top:0;padding-bottom:86px}
body[data-page=home] .hero-carousel .hero-copy{width:42%;max-width:650px;padding-right:40px}
body[data-page=home] .hero-carousel .hero-image{position:absolute;z-index:1;top:44px;right:0;bottom:auto;left:auto;width:51%;height:calc(100% - 116px);margin:0;object-fit:cover;object-position:center center;opacity:1;mask-image:none;border-radius:0;box-shadow:none}
body[data-page=home] .hero-carousel video.hero-image{z-index:1;background:#e8ece7}
body[data-page=home] .hero-carousel .hero-slide:first-child .hero-image{object-position:center 47%}
body[data-page=home] .hero-carousel .hero-slide:nth-child(3) .hero-image{object-position:center 42%}
body[data-page=home] .hero-carousel h1,body[data-page=home] .hero-carousel h2{font-family:var(--serif);font-size:clamp(54px,5.35vw,84px);line-height:1.03;letter-spacing:-.045em;color:var(--ink);font-weight:400}
body[data-page=home] .hero-carousel h1 em,body[data-page=home] .hero-carousel h2 em{color:var(--brand);font-style:italic;font-weight:400}
body[data-page=home] .hero-carousel .eyebrow{font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.24em;color:var(--brand);margin-bottom:30px}
body[data-page=home] .hero-carousel .eyebrow:before{width:22px}
body[data-page=home] .hero-carousel p{font-size:15px;line-height:1.8;max-width:430px;color:#59645f;margin-top:28px}
body[data-page=home] .hero-carousel .actions{margin-top:30px;gap:28px}
body[data-page=home] .hero-carousel .btn{background:var(--brand);border-color:var(--brand);color:#fff;padding:13px 26px;min-height:50px}
body[data-page=home] .hero-carousel .btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);transform:translateY(-1px)}
body[data-page=home] .hero-carousel .text-link{color:var(--ink);font-size:11px;font-weight:500}
body[data-page=home] .hero-carousel .hero-side{display:none}
body[data-page=home] .hero-carousel .hero-controls{position:absolute;left:0;right:0;bottom:18px;z-index:6;width:min(1360px,calc(100% - 96px));margin:auto;padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px}
body[data-page=home] .hero-controls button{font-family:var(--sans);font-size:9px;letter-spacing:.08em;text-decoration:none;color:#7a827e}
body[data-page=home] .hero-dots button{min-width:34px;padding:5px 0 8px;border-bottom:1px solid transparent}
body[data-page=home] .hero-dots button[aria-pressed=true]{color:var(--brand-deep);border-color:var(--brand);font-weight:600}
body[data-page=home] .hero-counter{font-family:var(--serif);font-size:12px;color:var(--brand-deep)}
body[data-page=home] .hero-interval{color:#8a918e;font-size:8px;letter-spacing:.1em}
body[data-page=home] .hero-pause{border:0;background:transparent}

/* Section typography: less generic, more editorial */
body[data-page=home] .recognition-line h2,body[data-page=home] .split-title h2,body[data-page=home] .section-head h2,body[data-page=home] .founder h2,body[data-page=home] .faq>h2{letter-spacing:-.035em}
body[data-page=home] .recognition-line h2{font-size:clamp(30px,3.4vw,54px)}
body[data-page=home] .split-title h2{font-size:clamp(45px,5vw,76px)}
body[data-page=home] .path-card h3{font-family:var(--serif);letter-spacing:-.025em}
.eyebrow{font-family:var(--sans);font-weight:600;letter-spacing:.22em}
.text-link,.btn{font-family:var(--sans);letter-spacing:.025em}

/* Footer logo — preserve original proportions */
.footer-brand{width:182px;padding:0;background:transparent;overflow:visible}
.footer-brand img{display:block;width:182px;height:auto!important;max-height:none!important;object-fit:contain;aspect-ratio:auto!important}
.footer-grid>div:first-child>p{margin-top:22px}

@media(max-width:1150px){
  .nav{gap:16px}.nav a{font-size:11px}.brand,.brand img{width:132px}
  body[data-page=home] .hero-carousel .hero-copy{width:46%}
  body[data-page=home] .hero-carousel .hero-image{width:49%}
}
@media(max-width:850px){
  .brand,.brand img{width:120px}.nav a{font-family:var(--serif);font-size:27px;letter-spacing:-.02em}
  .nav a:after{display:none}
  body[data-page=home] .hero-carousel{height:700px;min-height:700px}
  body[data-page=home] .hero-carousel .hero-copy{width:52%;padding-right:25px}
  body[data-page=home] .hero-carousel .hero-image{width:46%;height:560px}
  body[data-page=home] .hero-carousel h1,body[data-page=home] .hero-carousel h2{font-size:54px}
}
@media(max-width:600px){
  .brand,.brand img{width:108px}
  body[data-page=home] .hero-carousel{height:810px;min-height:0;max-height:none;display:block;padding-bottom:68px}
  body[data-page=home] .hero-carousel .hero-slide{display:flex;flex-direction:column;height:auto}
  body[data-page=home] .hero-carousel .hero-slide>.wrap{order:0;height:auto;display:block;padding:38px 20px 0;width:100%}
  body[data-page=home] .hero-carousel .hero-copy{width:100%;max-width:none;padding:0}
  body[data-page=home] .hero-carousel .hero-image{position:static;order:1;width:calc(100% - 40px);height:300px;margin:26px 20px 0;object-position:center center}
  body[data-page=home] .hero-carousel .hero-slide:first-child .hero-image{object-position:center 48%}
  body[data-page=home] .hero-carousel h1,body[data-page=home] .hero-carousel h2{font-size:clamp(42px,12.5vw,54px);line-height:1.02;letter-spacing:-.04em}
  body[data-page=home] .hero-carousel .eyebrow{font-size:8px;margin-bottom:20px;letter-spacing:.18em}
  body[data-page=home] .hero-carousel p{font-size:13px;line-height:1.65;margin-top:18px;max-width:none;min-height:auto}
  body[data-page=home] .hero-carousel .actions{margin-top:20px;gap:18px}
  body[data-page=home] .hero-carousel .btn{font-size:10px;padding:11px 14px;min-height:44px}
  body[data-page=home] .hero-carousel .hero-controls{width:calc(100% - 40px);bottom:12px;gap:10px}
  body[data-page=home] .hero-interval{display:none}.hero-pause{display:none}
  .footer-brand{width:126px}.footer-brand img{width:126px}
}
@media(prefers-reduced-motion:reduce){.nav a:after{transition:none}}


/* V10 — navigation typography refinement */
.nav a{
  font-family:"Be Vietnam Pro","Helvetica Neue",Arial,sans-serif!important;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.005em;
  line-height:1.25;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
@media(max-width:1150px){
  .nav a{font-size:11.5px;letter-spacing:0}
}
@media(max-width:850px){
  .nav.open{padding:24px 30px 32px}
  .nav a{
    font-family:"Be Vietnam Pro","Helvetica Neue",Arial,sans-serif!important;
    font-size:19px!important;
    font-weight:500;
    letter-spacing:-.015em!important;
    line-height:1.35;
    padding:13px 0!important;
    border-bottom:1px solid rgba(32,37,34,.08);
  }
  .nav a:last-child{border-bottom:0}
}
@media(max-width:600px){
  .nav.open{padding:18px 22px 28px}
  .nav a{font-size:18px!important;padding:12px 0!important}
}

/* V11 — stabilize homepage split hero across desktop/tablet widths.
   Keep the photo in its own right-hand lane so large Vietnamese serif lines never collide with it. */
@media(min-width:1151px){
  body[data-page=home] .hero-carousel .hero-copy{width:40%;max-width:560px;padding-right:20px}
  body[data-page=home] .hero-carousel .hero-image{width:48%;right:0;left:auto}
  body[data-page=home] .hero-carousel h1,
  body[data-page=home] .hero-carousel h2{font-size:clamp(52px,4.7vw,76px);max-width:560px}
}
@media(min-width:851px) and (max-width:1150px){
  body[data-page=home] .hero-carousel{min-height:650px;height:calc(100svh - 100px)}
  body[data-page=home] .hero-carousel .hero-slide>.wrap{padding-bottom:78px}
  body[data-page=home] .hero-carousel .hero-copy{width:42%;max-width:420px;padding-right:16px}
  body[data-page=home] .hero-carousel .hero-image{top:36px;width:50%;height:calc(100% - 104px);right:0;left:auto}
  body[data-page=home] .hero-carousel h1,
  body[data-page=home] .hero-carousel h2{font-size:clamp(48px,5.8vw,62px);line-height:1.03;letter-spacing:-.04em;max-width:420px}
  body[data-page=home] .hero-carousel p{font-size:14px;line-height:1.72;max-width:390px;margin-top:22px}
}
@media(min-width:601px) and (max-width:850px){
  body[data-page=home] .hero-carousel .hero-copy{width:46%;max-width:360px;padding-right:14px}
  body[data-page=home] .hero-carousel .hero-image{width:48%;right:0;left:auto;height:540px}
  body[data-page=home] .hero-carousel h1,
  body[data-page=home] .hero-carousel h2{font-size:clamp(43px,6.4vw,52px);line-height:1.03;max-width:360px}
}

/* V12 — root fix for homepage hero horizontal jump.
   site.css keeps .hero .wrap as flex-direction:column; V8 set align-items:center,
   which centered the hero-copy horizontally and made it appear to jump right.
   Force the copy lane back to the left at non-mobile widths. */
@media(min-width:601px){
  body[data-page=home] .hero-carousel .hero-slide>.wrap{
    align-items:flex-start;
    justify-content:center;
  }
}
