/* Vườn Tuổi Thơ — art-directed garden system. */
.template-vuon-tuoi-tho {
    --vt-leaf: #79b86a;
    --vt-leaf-dark: #315c4a;
    --vt-leaf-deep: #23483a;
    --vt-mint: #ddf3e2;
    --vt-mint-soft: #f0f8ef;
    --vt-sun: #f6c85f;
    --vt-sun-dark: #d69a19;
    --vt-peach: #f5aaa5;
    --vt-sky: #a9d8e8;
    --vt-cream: #fff9ed;
    --vt-paper: #fffdf7;
    --vt-earth: #896b52;
    --vt-ink: #315c4a;
    --vt-body-ink: #4f5e55;
    --vt-muted: #66756c;
    --vt-line: #d7e5d7;
    --vt-white: #fff;
    --vt-danger: #a64141;
    --vt-body-font: "Be Vietnam Pro", var(--school-font-family), "Segoe UI", Arial, sans-serif;
    --vt-display-font: "Nunito", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
    --vt-radius-sm: 14px;
    --vt-radius-md: 24px;
    --vt-radius-lg: 42px;
    --vt-radius-xl: 64px;
    --vt-shadow-sm: 0 10px 30px rgb(49 92 74 / 10%);
    --vt-shadow: 0 22px 60px rgb(49 92 74 / 14%);
    --vt-container: 1240px;
    --public-section-space: clamp(2.5rem, 3.5vw, 3.25rem);
    --public-section-space-hero: 0;
    --public-heading-gap: 1.25rem;
    --tenant-primary: var(--vt-leaf);
    --tenant-on-primary: var(--vt-leaf-deep);
    --tenant-accent: var(--vt-sun);
    color: var(--vt-body-ink);
    background: var(--vt-cream);
    font-family: var(--vt-body-font);
    font-size: 16px;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
    margin: 0;
}

.template-vuon-tuoi-tho *,
.template-vuon-tuoi-tho *::before,
.template-vuon-tuoi-tho *::after { box-sizing: border-box; }

.template-vuon-tuoi-tho :where(h1, h2, h3, p, figure, blockquote, ul, ol) { margin-top: 0; }
.template-vuon-tuoi-tho :where(h1, h2, h3) { color: var(--vt-ink); font-family: var(--vt-display-font); line-height: 1.15; text-wrap: balance; }
.template-vuon-tuoi-tho h1 { font-size: clamp(2.55rem, 5.3vw, 5.65rem); letter-spacing: -.035em; }
.template-vuon-tuoi-tho h2 { font-size: clamp(2rem, 3.5vw, 3.55rem); letter-spacing: -.025em; }

/* Keep the garden theme compact when Page Builder's public CSS is loaded last. */
.template-vuon-tuoi-tho #main-content h1 { font-size: clamp(2.25rem, 3.35vw, 3.35rem) !important; line-height: 1.07 !important; }
.template-vuon-tuoi-tho #main-content h2 { font-size: clamp(1.65rem, 2.2vw, 2.1rem) !important; line-height: 1.16 !important; }
.template-vuon-tuoi-tho #main-content .vt-home-hero h1 { max-width: 14ch; font-size: clamp(2.55rem, 3.5vw, 3.2rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-page-hero h1 { max-width: 18ch; font-size: clamp(2.35rem, 3.2vw, 3.05rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-page-hero--compact h1,
.template-vuon-tuoi-tho #main-content .vt-not-found h1 { font-size: clamp(2.2rem, 3vw, 2.8rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-article__heading h1 { max-width: 22ch; font-size: clamp(2.3rem, 3.25vw, 3rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-featured-story__grid h2 { font-size: clamp(1.55rem, 2vw, 1.9rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-contact-cards__grid h2 { font-size: 1.25rem !important; line-height: 1.3 !important; }
.template-vuon-tuoi-tho #main-content .vt-form__heading h2 { font-size: clamp(1.55rem, 2vw, 1.85rem) !important; }
.template-vuon-tuoi-tho #main-content .vt-article__aside h2 { font-size: 1.35rem !important; line-height: 1.25 !important; }
.template-vuon-tuoi-tho #main-content .vt-prose h2 { font-size: clamp(1.45rem, 1.9vw, 1.8rem) !important; line-height: 1.25 !important; }
.template-vuon-tuoi-tho #main-content .vt-policy h2 { font-size: clamp(1.3rem, 1.65vw, 1.5rem) !important; }
.template-vuon-tuoi-tho #main-content#main-content > .vt-page-hero { padding-block: 0 !important; }
.template-vuon-tuoi-tho #main-content#main-content > .vt-page-hero--compact { padding-block: clamp(3.25rem, 5vw, 4.5rem) !important; }
.template-vuon-tuoi-tho h3 { font-size: clamp(1.18rem, 1.8vw, 1.5rem); }
.template-vuon-tuoi-tho p { max-width: 68ch; }
.template-vuon-tuoi-tho a { color: inherit; text-decoration: none; }
.template-vuon-tuoi-tho img { display: block; max-width: 100%; height: auto; }
.template-vuon-tuoi-tho button,
.template-vuon-tuoi-tho input,
.template-vuon-tuoi-tho select,
.template-vuon-tuoi-tho textarea { font: inherit; }
.template-vuon-tuoi-tho button,
.template-vuon-tuoi-tho a { -webkit-tap-highlight-color: transparent; }
.template-vuon-tuoi-tho :focus-visible { outline: 3px solid var(--vt-sun-dark); outline-offset: 4px; }

.vt-container { width: min(var(--vt-container), calc(100% - clamp(2rem, 7vw, 6rem))); margin-inline: auto; }
.vt-section { position: relative; padding-block: var(--public-section-space); }
.vt-section--compact { padding-block: clamp(1.75rem, 2.5vw, 2.25rem); }
.vt-section--mint { background: var(--vt-mint-soft); }
.vt-section--butter { background: #fff4cf; }
.vt-section--lilac { background: #f1edf7; }
.vt-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.vt-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

.vt-kicker,
.vt-chapter-label { display: inline-flex; align-items: center; gap: .55rem; color: var(--vt-leaf-dark); font-size: .76rem; font-weight: 800; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.vt-kicker::before { width: 1.75rem; height: 2px; border-radius: 999px; background: var(--vt-sun); content: ""; }
.vt-kicker--light { color: var(--vt-white); }
.vt-chapter-label { margin-bottom: 1rem; padding: .48rem .75rem .48rem .52rem; border: 1px solid rgb(49 92 74 / 15%); border-radius: 999px; background: rgb(255 255 255 / 65%); letter-spacing: .07em; }
.vt-chapter-label b { display: grid; width: 1.8rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--vt-sun); color: var(--vt-leaf-deep); }
.vt-chapter-label--light { border-color: rgb(255 255 255 / 28%); background: rgb(255 255 255 / 12%); color: var(--vt-white); }
.vt-heading { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.vt-heading > .vt-kicker,
.vt-heading > div > .vt-kicker { margin-bottom: 1rem; }
.vt-heading h2 { max-width: 24ch; margin-bottom: .85rem; }
.vt-heading p { color: var(--vt-muted); }
.vt-heading--center { max-width: 800px; margin-inline: auto; text-align: center; }
.vt-heading--center h2,
.vt-heading--center p { margin-inline: auto; }
.vt-heading--center .vt-kicker { justify-content: center; }
.vt-heading--split { display: flex; align-items: end; justify-content: flex-start; gap: clamp(2rem, 5vw, 5rem); }
.vt-heading--split > div { min-width: 0; flex: 1 1 auto; }
.vt-heading--split > p { max-width: 44ch; flex: 0 1 44ch; }

.vt-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.vt-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .55rem; padding: .76rem 1.25rem; border: 1px solid var(--vt-leaf-dark); border-radius: 999px; background: var(--vt-leaf-dark); box-shadow: none; color: var(--vt-white); font-family: inherit; font-weight: 800; line-height: 1.15; transition: background-color .2s ease, border-color .2s ease, color .2s ease; cursor: pointer; }
.vt-button:hover { transform: none; border-color: var(--vt-leaf-deep); background: var(--vt-leaf-deep); box-shadow: none; }
.vt-button:active { transform: none; border-color: #1a352b; background: #1a352b; box-shadow: none; }
.vt-button:disabled { transform: none; border-color: #9eaa9f; background: #9eaa9f; box-shadow: none; cursor: not-allowed; opacity: .72; }
.vt-button--small { min-height: 2.65rem; padding: .62rem .95rem; font-size: .86rem; }
.vt-button--full { width: 100%; }
.vt-button--outline { border-color: var(--vt-leaf); background: transparent; box-shadow: none; color: var(--vt-leaf-dark); }
.vt-button--outline:hover { border-color: var(--vt-leaf-dark); background: var(--vt-mint); box-shadow: none; color: var(--vt-leaf-deep); }
.vt-button--soft { border-color: rgb(49 92 74 / 20%); background: rgb(255 253 247 / 88%); box-shadow: none; color: var(--vt-leaf-deep); backdrop-filter: blur(8px); }
.vt-button--soft:hover { border-color: var(--vt-leaf); background: var(--vt-white); box-shadow: none; }
.vt-button--sun { border-color: var(--vt-sun); background: var(--vt-sun); box-shadow: none; color: var(--vt-leaf-deep); }
.vt-button--sun:hover { border-color: #e5b13b; background: #ffd97e; box-shadow: none; }
.vt-button--ghost { border-color: rgb(255 255 255 / 50%); background: transparent; box-shadow: none; color: var(--vt-white); }
.vt-button--ghost:hover { border-color: var(--vt-white); background: rgb(255 255 255 / 12%); box-shadow: none; }
.template-vuon-tuoi-tho .vt-button,
.template-vuon-tuoi-tho .vt-button:hover,
.template-vuon-tuoi-tho .vt-button:active,
.template-vuon-tuoi-tho .vt-button:focus-visible { transform: none; box-shadow: none; }
.template-vuon-tuoi-tho .vt-button { color: var(--vt-white); }
.template-vuon-tuoi-tho .vt-button--outline,
.template-vuon-tuoi-tho .vt-button--soft,
.template-vuon-tuoi-tho .vt-button--sun { color: var(--vt-leaf-deep); }
.template-vuon-tuoi-tho .vt-button--ghost { color: var(--vt-white); }
.vt-text-link { display: inline-flex; align-items: center; gap: .55rem; color: var(--vt-leaf-dark); font-weight: 800; }
.vt-text-link span { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--vt-sun); transition: transform .2s ease; }
.vt-text-link:hover span { transform: translateX(4px); }

.vt-skip { position: fixed; z-index: 200; top: .75rem; left: .75rem; padding: .7rem 1rem; transform: translateY(-160%); border-radius: .75rem; background: var(--vt-white); box-shadow: var(--vt-shadow-sm); color: var(--vt-leaf-deep); font-weight: 800; }
.vt-skip:focus { transform: translateY(0); }
.vt-garden-bar { width: 100%; background: var(--vt-leaf-deep); color: #f2f9ef; font-size: .8rem; }
.vt-garden-bar__inner { display: flex; min-height: 1.9rem; align-items: center; justify-content: space-between; gap: 1.5rem; padding-inline: clamp(1rem, 3vw, 3rem); }
.vt-garden-bar p { margin: 0; }
.vt-garden-bar p span { margin-right: .55rem; color: var(--vt-sun); font-size: .65rem; }
.vt-garden-bar__inner > div { display: flex; gap: 1.5rem; }
.vt-garden-bar a { color: var(--vt-white); font-weight: 800; }

.vt-header { position: sticky; z-index: 100; top: 0; width: 100%; border-bottom: 1px solid rgb(49 92 74 / 12%); background: rgb(255 249 237 / 94%); backdrop-filter: blur(16px); transition: box-shadow .25s ease; }
.vt-header.is-scrolled { box-shadow: 0 12px 38px rgb(49 92 74 / 12%); }
.vt-header__inner { display: flex; width: 100%; min-height: 4.45rem; align-items: center; justify-content: space-between; gap: clamp(.8rem, 1.6vw, 1.5rem); padding-inline: clamp(1rem, 3vw, 3rem); }
.vt-brand { display: inline-flex; min-width: 0; align-items: center; gap: .8rem; color: var(--vt-leaf-deep); }
.vt-brand__mark { display: grid; width: 3rem; flex: 0 0 3rem; aspect-ratio: 1; place-items: center; overflow: hidden; border: 1px solid rgb(49 92 74 / 14%); border-radius: 50% 45% 48% 42%; background: var(--vt-white); box-shadow: none; }
.vt-brand__mark img { width: 100%; height: 100%; object-fit: contain; }
.vt-brand > span:last-child { display: grid; min-width: 0; }
.vt-brand strong { max-width: 22ch; overflow: hidden; font-family: var(--vt-display-font); font-size: clamp(1rem, 1.4vw, 1.28rem); line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.vt-brand small { color: var(--vt-earth); font-size: .72rem; line-height: 1.35; }
.vt-nav { position: relative; display: flex; align-items: center; gap: clamp(.25rem, .8vw, .75rem); }
.vt-nav > a:not(.vt-button) { position: relative; z-index: 1; padding: .82rem clamp(.4rem, .8vw, .72rem); color: var(--vt-body-ink); font-size: .86rem; font-weight: 750; white-space: nowrap; transition: color .2s ease; }
.vt-nav > a:not(.vt-button):hover,
.vt-nav > a:not(.vt-button).is-active { color: var(--vt-leaf-deep); }
.vt-nav__indicator { position: absolute; z-index: 0; bottom: .24rem; left: 0; width: var(--vt-indicator-width, 0); height: .3rem; transform: translateX(var(--vt-indicator-x, 0)); border-radius: 999px 999px 65% 65%; background: linear-gradient(90deg, var(--vt-leaf) 0 24%, var(--vt-sun) 24% 100%); box-shadow: none; opacity: var(--vt-indicator-opacity, 0); transition: transform .35s cubic-bezier(.2,.8,.2,1), width .35s ease, opacity .2s ease; }
.vt-nav__indicator::after { position: absolute; top: -.16rem; right: .2rem; width: .42rem; height: .28rem; transform: rotate(-20deg); border-radius: 100% 0 100% 0; background: var(--vt-leaf); content: ""; }
html:not(.vt-js) .vt-nav > a:not(.vt-button).is-active::after { position: absolute; right: .6rem; bottom: .45rem; left: .6rem; height: .3rem; border-radius: 999px; background: var(--vt-sun); content: ""; }
.vt-nav-toggle { display: none; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--vt-line); border-radius: 50%; background: var(--vt-white); color: var(--vt-leaf-deep); cursor: pointer; }
.vt-nav-toggle > span { display: block; width: 1.25rem; height: 2px; margin: 3px auto; border-radius: 999px; background: currentColor; }

.vt-flashes { position: fixed; z-index: 150; top: 8.75rem; right: 1.25rem; width: min(420px, calc(100% - 2rem)); }
.vt-flash { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border-left: 5px solid var(--vt-leaf); border-radius: var(--vt-radius-sm); background: var(--vt-white); box-shadow: var(--vt-shadow); }
.vt-flash p { margin: 0; }
.vt-flash button { border: 0; background: transparent; color: var(--vt-ink); font-size: 1.5rem; cursor: pointer; }
.vt-flash--error { border-color: var(--vt-danger); }

/* Full-bleed home hero: the image and color field always touch both viewport edges. */
.vt-home-hero { position: relative; left: 0; display: grid; width: 100%; max-width: none; min-height: clamp(640px, 74svh, 760px); margin: 0; align-items: center; isolation: isolate; overflow: clip; background: var(--vt-mint); }
.vt-home-hero__image,
.vt-home-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.vt-home-hero__image { z-index: -4; object-fit: cover; object-position: center 46%; }
.vt-home-hero__veil { z-index: -3; background: linear-gradient(90deg, rgb(255 249 237 / 99%) 0%, rgb(255 249 237 / 93%) 29%, rgb(255 249 237 / 56%) 48%, rgb(255 249 237 / 4%) 74%), linear-gradient(0deg, rgb(49 92 74 / 16%), transparent 42%); }
.vt-home-hero::before { position: absolute; z-index: -2; top: 6%; left: -8rem; width: 34rem; aspect-ratio: 1; border: 1px solid rgb(121 184 106 / 22%); border-radius: 50%; box-shadow: 0 0 0 2.5rem rgb(255 249 237 / 16%), 0 0 0 5rem rgb(246 200 95 / 8%); content: ""; }
.vt-home-hero::after { position: absolute; z-index: -1; right: 0; bottom: -1px; left: 0; height: clamp(24px, 3.4vw, 54px); background: var(--vt-cream); clip-path: polygon(0 76%, 6% 54%, 13% 72%, 20% 46%, 28% 70%, 37% 42%, 47% 72%, 57% 44%, 67% 68%, 78% 40%, 88% 70%, 95% 48%, 100% 68%, 100% 100%, 0 100%); content: ""; }
.vt-home-hero__content { position: relative; z-index: 2; width: min(720px, 55vw); margin-left: clamp(1rem, 5.5vw, 6.8rem); padding-block: clamp(4.2rem, 7vw, 7rem); }
.vt-home-hero__content .vt-kicker { margin-bottom: 1.2rem; }
.vt-home-hero h1 { max-width: 11.5ch; margin-bottom: 1.35rem; color: var(--vt-leaf-deep); font-size: clamp(3.35rem, 5.3vw, 6.1rem); letter-spacing: -.045em; }
.vt-home-hero h1 em { color: var(--vt-leaf); font-style: normal; }
.vt-home-hero__content > p { max-width: 61ch; margin-bottom: 1.8rem; color: #43544a; font-size: clamp(1rem, 1.3vw, 1.15rem); }
.vt-home-hero__promises { display: grid; max-width: 720px; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 2.4rem 0 0; padding: 0; list-style: none; }
.vt-home-hero__promises li { display: grid; min-width: 0; grid-template-columns: auto 1fr; gap: .08rem .7rem; padding: .78rem .85rem; border: 1px solid rgb(49 92 74 / 13%); border-radius: 1.2rem 1.2rem 1.2rem .45rem; background: rgb(255 253 247 / 88%); box-shadow: 0 .6rem 1.4rem rgb(49 92 74 / 8%); backdrop-filter: blur(12px); }
.vt-home-hero__promises li:nth-child(2) { background: rgb(221 243 226 / 91%); }
.vt-home-hero__promises li:nth-child(3) { background: rgb(255 242 207 / 92%); }
.vt-mini-icon { display: grid; width: 2.35rem; height: 2.35rem; grid-row: 1 / 3; place-items: center; border-radius: 50%; background: var(--vt-leaf-deep); color: var(--vt-white); }
.vt-mini-icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.vt-home-hero__promises b { color: var(--vt-ink); font-size: .84rem; line-height: 1.25; }
.vt-home-hero__promises small { overflow: hidden; color: var(--vt-muted); font-size: .7rem; line-height: 1.35; }
.vt-home-hero__decor span { position: absolute; color: var(--vt-sun); pointer-events: none; }
.vt-home-hero__decor span:nth-child(1) { top: 12%; left: 3%; font-size: 1.6rem; }
.vt-home-hero__decor span:nth-child(2) { top: 20%; left: 46%; color: var(--vt-peach); }
.vt-home-hero__decor span:nth-child(3) { bottom: 15%; left: 2%; color: var(--vt-leaf); font-size: 2.2rem; }
.vt-home-hero__decor span:nth-child(4) { right: 2.5%; bottom: 13%; color: var(--vt-sun); font-size: 2rem; }

/* Home sections. */
.vt-welcome { background: var(--vt-cream); }
.vt-welcome__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.vt-welcome__visual { position: relative; padding: 1.25rem 2rem 2rem 0; }
.vt-welcome__visual figure { overflow: hidden; border-radius: 44% 56% 38% 62% / 42% 36% 64% 58%; box-shadow: var(--vt-shadow); }
.vt-welcome__visual img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.vt-welcome__note { position: absolute; right: 0; bottom: 0; max-width: 12rem; padding: 1rem 1.2rem; transform: rotate(2deg); border: 1px solid rgb(137 107 82 / 16%); border-radius: 1rem 1rem 1rem .2rem; background: var(--vt-sun); box-shadow: var(--vt-shadow-sm); color: var(--vt-leaf-deep); font-size: .88rem; line-height: 1.45; }
.vt-welcome__leaf { position: absolute; top: -.4rem; right: 7%; color: var(--vt-leaf); font-size: 2.2rem; }
.vt-welcome__copy h2 { margin: .9rem 0 1rem; }
.vt-welcome__copy > p { font-size: 1.05rem; }
.vt-welcome__signals { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 1.35rem 0; }
.vt-welcome__signals > span { display: grid; min-width: 0; grid-template-columns: auto 1fr; align-items: center; column-gap: .55rem; padding: .75rem; border: 1px solid var(--vt-line); border-radius: 1.1rem; background: var(--vt-paper); box-shadow: var(--vt-shadow-sm); }
.vt-welcome__signals b { display: grid; width: 2.2rem; height: 2.2rem; grid-row: 1 / 3; place-items: center; border-radius: 50%; background: var(--vt-sun); color: var(--vt-leaf-deep); font-size: .68rem; }
.vt-welcome__signals > span:nth-child(2) b { background: var(--vt-mint); }
.vt-welcome__signals > span:nth-child(3) b { background: var(--vt-peach); }
.vt-welcome__signals small { color: var(--vt-earth); font-size: .64rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.vt-welcome__signals strong { overflow-wrap: anywhere; color: var(--vt-leaf-deep); font-size: .76rem; line-height: 1.35; }
.vt-welcome blockquote { margin: 1.6rem 0; padding: 1.1rem 1.25rem; border-left: 4px solid var(--vt-sun); border-radius: 0 1rem 1rem 0; background: var(--vt-mint-soft); color: var(--vt-earth); font-style: italic; }

.vt-values { background: linear-gradient(180deg, var(--vt-mint-soft), #edf7e8); }
.vt-values::before { position: absolute; inset: 0; opacity: .28; background-image: radial-gradient(circle at 12% 16%, var(--vt-leaf) 0 2px, transparent 3px), radial-gradient(circle at 83% 74%, var(--vt-sun) 0 3px, transparent 4px); background-size: 80px 80px, 110px 110px; content: ""; pointer-events: none; }
.vt-growth-map { position: relative; display: grid; min-height: 640px; grid-template-columns: minmax(250px, 1fr) minmax(300px, .92fr) minmax(250px, 1fr); grid-template-rows: repeat(2, 1fr); align-items: center; gap: 1.25rem 2rem; margin-top: 3rem; }
.vt-growth-map__routes { position: absolute; z-index: 0; inset: 6% 3%; width: 94%; height: 88%; pointer-events: none; }
.vt-growth-map__routes path { fill: none; stroke: rgb(121 184 106 / 66%); stroke-dasharray: 9 12; stroke-linecap: round; stroke-width: 5; }
.vt-growth-card { position: relative; z-index: 2; display: grid; min-height: 215px; grid-template-columns: auto 1fr; align-items: start; gap: 1rem; padding: 1.45rem; border: 1px solid rgb(49 92 74 / 11%); border-radius: 1.8rem 1.8rem 1.8rem .55rem; background: var(--vt-paper); box-shadow: 0 1rem 2.4rem rgb(49 92 74 / 9%); }
.vt-growth-card--roots { grid-column: 1; grid-row: 1; }
.vt-growth-card--sprout { grid-column: 3; grid-row: 1; background: #fff3c9; }
.vt-growth-card--branch { grid-column: 1; grid-row: 2; background: #fbe3df; }
.vt-growth-card--fruit { grid-column: 3; grid-row: 2; background: #e4f1f8; }
.vt-values__icon { display: grid; width: 3.8rem; aspect-ratio: 1; place-items: center; border-radius: 1.2rem 1.2rem 1.2rem .35rem; background: var(--vt-leaf-dark); color: var(--vt-white); }
.vt-growth-card:nth-of-type(even) .vt-values__icon { background: var(--vt-leaf); }
.vt-values__icon svg { width: 2.15rem; height: 2.15rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.7; }
.vt-growth-card small { color: var(--vt-earth); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.vt-growth-card h3 { margin: .35rem 0 .55rem; }
.vt-growth-card p { margin-bottom: 0; color: var(--vt-muted); font-size: .88rem; }
.vt-growth-map__heart { position: relative; z-index: 2; display: grid; min-height: 540px; grid-column: 2; grid-row: 1 / 3; align-content: end; overflow: hidden; border: .55rem solid rgb(255 255 255 / 68%); border-radius: 48% 48% 2.2rem 2.2rem; background: linear-gradient(180deg, #fff8d9, var(--vt-mint) 64%); box-shadow: var(--vt-shadow); text-align: center; }
.vt-growth-map__heart::before { position: absolute; inset: auto -15% 25%; height: 35%; border-radius: 50% 50% 0 0; background: #ccebc9; content: ""; }
.vt-growth-map__heart img { position: relative; z-index: 1; width: 100%; height: 310px; object-fit: contain; object-position: center bottom; }
.vt-growth-map__heart > div { position: relative; z-index: 2; display: grid; gap: .35rem; padding: 1.4rem; background: var(--vt-leaf-deep); color: #dceadf; }
.vt-growth-map__heart small { color: var(--vt-sun); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vt-growth-map__heart strong { color: var(--vt-white); font-family: var(--vt-display-font); font-size: 1.25rem; line-height: 1.3; }
.vt-growth-map__heart span { font-size: .76rem; }
.vt-growth-map__sun { position: absolute; z-index: 0; top: 2.2rem; right: 2rem; width: 4.5rem; height: 4.5rem; border-radius: 50%; background: var(--vt-sun); box-shadow: 0 0 0 1rem rgb(246 200 95 / 18%), 0 0 0 2rem rgb(246 200 95 / 9%); }

.vt-experiences { background: var(--vt-paper); }
.vt-experiences__lead { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr); align-items: end; gap: 3rem; margin-bottom: 2.5rem; }
.vt-experiences__lead h2 { max-width: 18ch; margin: .8rem 0 0; }
.vt-experiences__lead > p { color: var(--vt-muted); }
.vt-experiences__layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 1.1rem; }
.vt-experiences__photo { position: relative; overflow: hidden; border-radius: var(--vt-radius-xl) var(--vt-radius-xl) var(--vt-radius-xl) 1rem; box-shadow: var(--vt-shadow); }
.vt-experiences__photo img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.vt-experiences__photo figcaption { position: absolute; right: 1.25rem; bottom: 1.25rem; padding: .65rem 1rem; border-radius: 999px; background: rgb(255 249 237 / 92%); color: var(--vt-leaf-deep); font-size: .82rem; font-weight: 800; backdrop-filter: blur(10px); }
.vt-experiences__cards { display: grid; gap: 1rem; }
.vt-experiences__cards article { position: relative; display: grid; min-height: 0; grid-template-columns: 6rem 1fr; align-items: center; gap: 1rem; overflow: hidden; padding: 1rem 1.2rem 1rem .8rem; border: 1px solid var(--vt-line); border-radius: 1.6rem 1.6rem 1.6rem .5rem; background: var(--vt-cream); box-shadow: var(--vt-shadow-sm); }
.vt-experiences__cards article:nth-child(2) { background: #fff2d0; }
.vt-experiences__cards article:nth-child(3) { background: var(--vt-mint); }
.vt-experience-card__art { display: grid; width: 5.7rem; height: 5.7rem; place-items: center; border-radius: 1.4rem 1.4rem 1.4rem .4rem; background: var(--vt-leaf-deep); color: var(--vt-white); }
.vt-experiences__cards article:nth-child(2) .vt-experience-card__art { background: var(--vt-sun-dark); }
.vt-experiences__cards article:nth-child(3) .vt-experience-card__art { background: var(--vt-leaf); }
.vt-experience-card__art svg { width: 4.6rem; height: 3.8rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.6; }
.vt-experiences__cards span { color: var(--vt-earth); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vt-experiences__cards h3 { margin: .25rem 0 .45rem; }
.vt-experiences__cards p { margin-bottom: 0; color: var(--vt-muted); font-size: .9rem; }

.vt-day-path { overflow: hidden; background: linear-gradient(180deg, #dff2f5 0 48%, #f4edc9 48% 56%, #dff0d4 56% 100%); }
.vt-day-path::before { position: absolute; right: -8rem; bottom: -10rem; width: 34rem; aspect-ratio: 1; border-radius: 50%; background: rgb(121 184 106 / 18%); content: ""; }
.vt-day-map { position: relative; min-height: 520px; margin-top: 1.5rem; }
.vt-day-map__route { position: absolute; top: 5rem; left: 0; width: 100%; height: 330px; pointer-events: none; }
.vt-day-map__route path { fill: none; stroke: var(--vt-earth); stroke-dasharray: 4 12; stroke-linecap: round; stroke-width: 7; }
.vt-day-map__route circle { fill: var(--vt-sun); stroke: var(--vt-cream); stroke-width: 5; }
.vt-day-path__list { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 0; padding: 1.4rem 0 0; list-style: none; }
.vt-day-path__list li { position: relative; display: grid; justify-items: center; gap: .7rem; }
.vt-day-path__list li:nth-child(even) { margin-top: 10rem; }
.vt-day-path__list li > div { width: 100%; min-height: 190px; padding: 1.3rem; border: 1px solid rgb(49 92 74 / 11%); border-radius: 1.6rem 1.6rem 1.6rem .45rem; background: rgb(255 253 247 / 94%); box-shadow: var(--vt-shadow-sm); backdrop-filter: blur(8px); }
.vt-day-stop__icon { display: grid; width: 4.6rem; aspect-ratio: 1; place-items: center; border: 6px solid rgb(255 249 237 / 82%); border-radius: 50%; background: var(--vt-leaf-deep); box-shadow: var(--vt-shadow-sm); color: var(--vt-white); }
.vt-day-path__list li:nth-child(2) .vt-day-stop__icon { background: var(--vt-sun-dark); }
.vt-day-path__list li:nth-child(3) .vt-day-stop__icon { background: var(--vt-leaf); }
.vt-day-path__list li:nth-child(4) .vt-day-stop__icon { background: var(--vt-peach); color: var(--vt-leaf-deep); }
.vt-day-stop__icon svg { width: 2.55rem; height: 2.55rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.8; }
.vt-day-path__list small { color: var(--vt-earth); font-weight: 800; text-transform: uppercase; }
.vt-day-path__list h3 { margin: .45rem 0 .6rem; }
.vt-day-path__list p { margin-bottom: 0; color: var(--vt-muted); font-size: .9rem; }
.vt-day-map__tree { position: absolute; z-index: 0; bottom: 1rem; width: 5rem; height: 8rem; border-radius: 50% 50% 35% 35%; background: var(--vt-leaf); box-shadow: -2rem 1rem 0 -.35rem #9ecf83, 2rem 1.4rem 0 -.7rem #b5d994; }
.vt-day-map__tree::after { position: absolute; bottom: -2.2rem; left: calc(50% - .35rem); width: .7rem; height: 3rem; border-radius: .4rem; background: var(--vt-earth); content: ""; }
.vt-day-map__tree--one { left: -2rem; }
.vt-day-map__tree--two { right: -1rem; transform: scale(.72); }

.vt-greenhouse-letter { background: var(--vt-leaf-deep); color: #eaf5ed; }
.vt-greenhouse-letter::before { position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(circle at 15% 24%, var(--vt-sun) 0 4px, transparent 5px), radial-gradient(circle at 85% 68%, var(--vt-mint) 0 3px, transparent 4px); background-size: 120px 120px, 88px 88px; content: ""; }
.vt-greenhouse-letter__shell { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(420px, 1fr); align-items: center; gap: clamp(3rem, 6vw, 6rem); }
.vt-greenhouse-letter__copy h2 { margin: .9rem 0 1rem; color: var(--vt-white); }
.vt-greenhouse-letter__copy > p { color: #d7e8da; }
.vt-greenhouse-letter__copy ul { padding-left: 1.2rem; }
.vt-greenhouse-letter__art { position: relative; max-width: 26rem; margin: 0 0 1.5rem; padding: .7rem; border-radius: 2rem 2rem 2rem .7rem; background: var(--vt-mint); box-shadow: 0 1rem 2.5rem rgb(11 35 27 / 28%); }
.vt-greenhouse-letter__art img { width: 100%; max-height: 235px; object-fit: contain; }
.vt-greenhouse-letter__art figcaption { position: absolute; right: -.7rem; bottom: -.8rem; display: grid; padding: .65rem .85rem; transform: rotate(2deg); border-radius: .8rem .8rem .8rem .2rem; background: var(--vt-sun); box-shadow: var(--vt-shadow-sm); color: var(--vt-leaf-deep); }
.vt-greenhouse-letter__art figcaption span { font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vt-greenhouse-letter__art figcaption b { font-size: .78rem; }
.vt-home-news { background: var(--vt-paper); }

/* Shared inner-page hero and content grammar. */
.vt-page-hero { position: relative; overflow: clip; background: var(--vt-mint); }
.vt-page-hero::after { position: absolute; right: -4rem; bottom: -8rem; width: 22rem; aspect-ratio: 1; border: 3rem solid rgb(255 255 255 / 24%); border-radius: 50%; content: ""; pointer-events: none; }
.vt-page-hero__grid { display: grid; min-height: clamp(500px, 39vw, 560px); grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); align-items: center; gap: clamp(2rem, 4vw, 4rem); padding-block: clamp(2.5rem, 3.5vw, 3.25rem); }
.vt-page-hero__grid > div:first-child { position: relative; z-index: 2; }
.vt-page-hero h1 { max-width: 13ch; margin: .9rem 0 1.1rem; font-size: clamp(2.65rem, 5vw, 5.3rem); }
.vt-page-hero h1 em { color: var(--vt-leaf); font-style: normal; }
.vt-page-hero p { color: #4e6255; font-size: 1.05rem; }
.vt-page-hero__art { position: relative; z-index: 1; display: grid; place-items: center; }
.vt-page-hero__art::before { position: absolute; z-index: -1; width: 90%; aspect-ratio: 1; border-radius: 52% 48% 62% 38%; background: rgb(255 253 247 / 72%); content: ""; }
.vt-page-hero__art img { width: min(100%, 560px); max-height: 410px; object-fit: contain; }
.vt-page-hero__art--photo::before { width: 78%; transform: translate(10%, 3%); }
.vt-page-hero__art--photo img { width: min(100%, 390px); aspect-ratio: 4 / 5; max-height: 440px; object-fit: cover; object-position: center 48%; border: .65rem solid rgb(255 253 247 / 92%); border-radius: 42% 58% 40% 60% / 38% 45% 55% 62%; box-shadow: var(--vt-shadow); }
.vt-page-hero--sun { background: #fff1bc; }
.vt-page-hero--peach { background: #fce3df; }
.vt-page-hero--lilac { background: #eee9f4; }
.vt-page-hero--leaf { background: var(--vt-mint); }
.vt-page-hero--compact { min-height: 300px; padding-block: clamp(3.25rem, 5vw, 4.5rem); }
.vt-page-hero--compact h1 { margin-bottom: .65rem; }
.vt-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1.25rem; color: var(--vt-earth); font-size: .82rem; }
.vt-breadcrumbs a { font-weight: 750; }
.vt-breadcrumbs a:hover { color: var(--vt-leaf-deep); text-decoration: underline; }
.vt-paper-note,
.vt-stamp { position: absolute; right: 0; bottom: 4%; padding: .8rem 1rem; transform: rotate(3deg); border-radius: .8rem; background: var(--vt-sun); box-shadow: var(--vt-shadow-sm); color: var(--vt-leaf-deep); font-size: .8rem; line-height: 1.35; }

.vt-zigzag { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.vt-zigzag--reverse > :first-child { order: 2; }
.vt-zigzag__art { position: relative; }
.vt-zigzag__art > img { width: 100%; max-height: 570px; object-fit: cover; border-radius: 40% 60% 42% 58% / 45% 40% 60% 55%; background: var(--vt-mint); box-shadow: var(--vt-shadow); }
.vt-copy > .vt-kicker { margin-bottom: .9rem; }
.vt-copy h2 { margin-bottom: 1rem; }
.vt-copy blockquote { margin: 1.5rem 0 0; padding: 1rem 1.2rem; border-left: 4px solid var(--vt-sun); background: var(--vt-mint-soft); color: var(--vt-earth); font-style: italic; }
.vt-value-grid,
.vt-space-grid,
.vt-contact-cards__grid,
.vt-job-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.vt-space-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vt-value-grid article,
.vt-space-grid article,
.vt-contact-cards__grid article,
.vt-job-grid article { padding: 1.5rem; border: 1px solid rgb(49 92 74 / 11%); border-radius: 1.55rem; background: var(--vt-paper); box-shadow: var(--vt-shadow-sm); }
.vt-value-grid article > span,
.vt-space-grid article > span,
.vt-contact-cards__grid article > span { display: grid; width: 3rem; aspect-ratio: 1; margin-bottom: 1rem; place-items: center; border-radius: 1rem; background: var(--vt-sun); color: var(--vt-leaf-deep); font-weight: 900; }
.vt-value-grid h3,
.vt-space-grid h3,
.vt-contact-cards__grid h2,
.vt-job-grid h3 { margin: .45rem 0 .6rem; }
.vt-value-grid p,
.vt-space-grid p,
.vt-contact-cards__grid p,
.vt-job-grid p { margin-bottom: 0; color: var(--vt-muted); }
.vt-mission { background: var(--vt-leaf-deep); }
.vt-mission__grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr; gap: 1rem; }
.vt-mission__grid article { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgb(255 255 255 / 15%); border-radius: var(--vt-radius-md); background: rgb(255 255 255 / 8%); color: #d8e9dc; }
.vt-mission__grid h2,
.vt-mission__grid h3 { color: var(--vt-white); }
.vt-mission__grid article > span:not(.vt-kicker) { color: var(--vt-sun); font-size: 2rem; }
.vt-care { background: var(--vt-paper); }
.vt-culture-list { display: grid; gap: .8rem; margin-top: 1.5rem; }
.vt-culture-list article { display: grid; grid-template-columns: auto 1fr; gap: .9rem; }
.vt-culture-list article > span { display: grid; width: 2.6rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--vt-mint); color: var(--vt-leaf-dark); }
.vt-culture-list h3 { margin-bottom: .2rem; font-size: 1.05rem; }
.vt-culture-list p { margin: 0; color: var(--vt-muted); font-size: .9rem; }

.vt-age-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; }
.vt-age { padding: 1.35rem; border: 1px solid rgb(49 92 74 / 10%); border-radius: 1.5rem 1.5rem 1.5rem .45rem; background: var(--vt-paper); }
.vt-age--mint { background: var(--vt-mint); }
.vt-age--leaf { background: #e9f5df; }
.vt-age--butter { background: #fff1c8; }
.vt-age--peach { background: #fae1de; }
.vt-age--lilac { background: #ece8f4; }
.vt-age small { color: var(--vt-earth); font-weight: 800; }
.vt-age > span { display: block; margin-top: 1rem; color: var(--vt-leaf-dark); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.vt-age h3 { margin: .25rem 0 .55rem; }
.vt-age p { margin: 0; color: var(--vt-muted); font-size: .86rem; }
.vt-admission-banner { padding-block: 1.1rem; background: var(--vt-leaf-deep); color: var(--vt-white); }
.vt-admission-banner .vt-container { display: flex; align-items: center; justify-content: center; gap: 1.5rem; }
.vt-admission-banner p { margin: 0; }
.vt-admission-banner a { color: var(--vt-sun); font-weight: 800; }
.vt-number-list,
.vt-document-list { display: grid; gap: .9rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.vt-number-list li,
.vt-document-list li { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .9rem; }
.vt-number-list li > b,
.vt-document-list li > b { display: grid; width: 2.6rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--vt-sun); color: var(--vt-leaf-deep); font-size: .78rem; }
.vt-number-list h3 { margin-bottom: .2rem; font-size: 1.05rem; }
.vt-number-list p { margin: 0; color: var(--vt-muted); font-size: .9rem; }
.vt-process__line { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.vt-process__line li { padding: 1.35rem; border: 1px solid var(--vt-line); border-radius: 1.4rem; background: var(--vt-paper); }
.vt-process__line li > span { color: var(--vt-sun-dark); font-family: var(--vt-display-font); font-size: 1.7rem; font-weight: 900; }
.vt-process__line h3 { margin: .7rem 0 .45rem; }
.vt-process__line p { margin: 0; color: var(--vt-muted); font-size: .9rem; }
.vt-document-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; }

/* Forms and accordions. */
.vt-form-layout,
.vt-contact-main { display: grid; grid-template-columns: minmax(0, .75fr) minmax(420px, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.vt-admission-form,
.vt-recruit-form,
.vt-general-request { background: var(--vt-leaf-dark); color: #dfefe2; }
.vt-form-layout__copy h2 { color: var(--vt-white); }
.vt-form-layout__copy a { color: var(--vt-sun); font-weight: 800; }
.vt-form-layout__copy ul { padding-left: 1.2rem; }
.vt-form { position: relative; padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid rgb(49 92 74 / 12%); border-radius: var(--vt-radius-md); background: var(--vt-paper); box-shadow: var(--vt-shadow); color: var(--vt-body-ink); }
.vt-form__heading small { color: var(--vt-earth); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vt-form__heading h2 { margin: .3rem 0 1.25rem; font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
.vt-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.vt-form label:not(.vt-consent) { display: grid; gap: .4rem; min-width: 0; }
.vt-form label > span { color: var(--vt-leaf-deep); font-size: .84rem; font-weight: 800; }
.vt-field--full { grid-column: 1 / -1; }
.vt-form :where(input:not([type="checkbox"]), select, textarea),
.vt-news-search input,
.vt-news-tools select { width: 100%; min-height: 3.2rem; padding: .75rem .9rem; border: 1px solid #bfd0c2; border-radius: .85rem; background: var(--vt-white); color: var(--vt-body-ink); transition: border-color .2s ease, box-shadow .2s ease; }
.vt-form textarea { min-height: 7.5rem; resize: vertical; }
.vt-form :where(input, select, textarea):focus,
.vt-news-search input:focus,
.vt-news-tools select:focus { border-color: var(--vt-leaf-dark); outline: 0; box-shadow: 0 0 0 4px rgb(121 184 106 / 20%); }
.vt-consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .65rem; margin: 1rem 0; }
.vt-consent input { width: 1.15rem; height: 1.15rem; margin-top: .22rem; accent-color: var(--vt-leaf-dark); }
.vt-form-note { margin: .8rem auto 0; color: var(--vt-muted); font-size: .76rem; text-align: center; }
.vt-direct-contact { margin: .4rem 0; }
.vt-accordion { display: grid; gap: .75rem; }
.vt-accordion article { overflow: hidden; border: 1px solid var(--vt-line); border-radius: 1.15rem; background: var(--vt-paper); }
.vt-accordion button { display: flex; width: 100%; min-height: 3.6rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border: 0; background: transparent; color: var(--vt-leaf-deep); font-weight: 800; text-align: left; cursor: pointer; }
.vt-accordion button b { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--vt-mint); transition: transform .2s ease, background-color .2s ease; }
.vt-accordion article.is-open button b { transform: rotate(45deg); background: var(--vt-sun); }
.vt-accordion article > div { padding: 0 1rem 1rem; color: var(--vt-muted); }
.vt-accordion article > div p { margin: 0; }
.vt-faq-grid { display: grid; grid-template-columns: .65fr 1fr; gap: 4rem; }

/* News and article. */
.vt-news-tools { padding-block: 1.25rem; border-block: 1px solid var(--vt-line); background: var(--vt-paper); }
.vt-news-tools form { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(190px, .4fr) auto auto; align-items: center; gap: .75rem; }
.vt-news-search { position: relative; }
.vt-news-search > span[aria-hidden] { position: absolute; top: .55rem; left: .9rem; color: var(--vt-leaf-dark); font-size: 1.3rem; }
.vt-news-search input { padding-left: 2.5rem; }
.vt-featured-story__grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.vt-featured-story__art { position: relative; overflow: hidden; border-radius: var(--vt-radius-lg) var(--vt-radius-lg) var(--vt-radius-lg) .8rem; box-shadow: var(--vt-shadow); }
.vt-featured-story__art img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.vt-featured-story__art span,
.vt-news-card__image span { position: absolute; top: .8rem; left: .8rem; padding: .35rem .7rem; border-radius: 999px; background: var(--vt-sun); color: var(--vt-leaf-deep); font-size: .72rem; font-weight: 800; }
.vt-featured-story__grid time,
.vt-news-card time { color: var(--vt-earth); font-size: .76rem; font-weight: 750; }
.vt-featured-story__grid h2 { margin: .75rem 0; }
.vt-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.vt-news-card { overflow: hidden; border: 1px solid rgb(49 92 74 / 11%); border-radius: 1.6rem 1.6rem 1.6rem .55rem; background: var(--vt-paper); box-shadow: var(--vt-shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.vt-news-card:hover { transform: translateY(-5px); box-shadow: var(--vt-shadow); }
.vt-news-card__image { position: relative; display: block; overflow: hidden; }
.vt-news-card__image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s ease; }
.vt-news-card:hover .vt-news-card__image img { transform: scale(1.03); }
.vt-news-card__body { padding: 1.25rem; }
.vt-news-card__body h3 { margin: .55rem 0 .65rem; }
.vt-news-card__body h3 a:hover { color: var(--vt-leaf); }
.vt-news-card__body p { display: -webkit-box; overflow: hidden; color: var(--vt-muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.vt-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; margin-top: 2rem; }
.vt-pagination a { display: grid; width: 2.8rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--vt-line); border-radius: 50%; background: var(--vt-white); color: var(--vt-leaf-dark); font-weight: 800; }
.vt-pagination a:hover,
.vt-pagination a.is-current { border-color: var(--vt-sun); background: var(--vt-sun); color: var(--vt-leaf-deep); }
.vt-empty { padding: 3rem 1.5rem; border: 2px dashed var(--vt-line); border-radius: var(--vt-radius-md); text-align: center; }
.vt-empty img { margin: 0 auto 1rem; }
.vt-empty p { margin-inline: auto; }

.vt-article__header { padding-block: clamp(3.5rem, 6vw, 5.25rem); background: var(--vt-mint); text-align: center; }
.vt-article__heading { max-width: 930px; }
.vt-article__heading .vt-breadcrumbs { justify-content: center; }
.vt-article__heading .vt-kicker { justify-content: center; }
.vt-article__heading h1 { max-width: 16ch; margin: .9rem auto 1rem; font-size: clamp(2.5rem, 5vw, 5.2rem); }
.vt-article__heading > p { margin-inline: auto; color: var(--vt-muted); font-size: 1.08rem; }
.vt-article__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; color: var(--vt-earth); font-size: .82rem; }
.vt-article__cover { margin-top: clamp(-3.5rem, -5vw, -2rem); }
.vt-article__cover img { width: 100%; max-height: 720px; object-fit: cover; border-radius: var(--vt-radius-lg); box-shadow: var(--vt-shadow); }
.vt-article__layout { display: grid; grid-template-columns: 70px minmax(0, 760px) minmax(240px, 310px); align-items: start; justify-content: center; gap: clamp(1.5rem, 4vw, 3.5rem); padding-block: clamp(4rem, 8vw, 7rem); }
.vt-share { position: sticky; top: 7rem; display: grid; justify-items: center; gap: .6rem; }
.vt-share > span { color: var(--vt-earth); font-size: .72rem; font-weight: 800; text-transform: uppercase; writing-mode: vertical-rl; }
.vt-share a,
.vt-share button { display: grid; width: 2.7rem; aspect-ratio: 1; place-items: center; border: 1px solid var(--vt-line); border-radius: 50%; background: var(--vt-white); color: var(--vt-leaf-dark); font-weight: 900; cursor: pointer; }
.vt-article__aside { position: sticky; top: 7rem; }
.vt-article__aside > div { padding: 1.4rem; border-radius: var(--vt-radius-md); background: var(--vt-mint-soft); }
.vt-article__aside img { margin-bottom: 1rem; border-radius: 50%; }
.vt-article__aside h2 { margin: .5rem 0; font-size: 1.5rem; }
.vt-prose { color: #435149; }
.vt-prose > :first-child { margin-top: 0; }
.vt-prose > :last-child { margin-bottom: 0; }
.vt-prose h2 { margin-top: 2.2rem; font-size: clamp(1.55rem, 2.7vw, 2.2rem); }
.vt-prose h3 { margin-top: 1.8rem; }
.vt-prose a { color: var(--vt-leaf-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.vt-prose img { width: auto; max-height: 720px; margin: 1.5rem auto; border-radius: var(--vt-radius-md); }
.vt-prose figure { margin: 1.8rem 0; }
.vt-prose figcaption { color: var(--vt-muted); font-size: .84rem; text-align: center; }
.vt-prose blockquote { margin: 1.5rem 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--vt-sun); background: var(--vt-mint-soft); color: var(--vt-earth); }
.vt-policy { max-width: 850px; }

/* Contact, footer, global CTA and states. */
.vt-contact-side { padding: 1.5rem; border-radius: var(--vt-radius-md); background: var(--vt-mint); }
.vt-contact-side img { width: min(100%, 280px); margin: 0 auto 1rem; }
.vt-contact-side ul { padding-left: 1.2rem; }
.vt-map { background: var(--vt-paper); }
.vt-map__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-block: 3rem; }
.vt-map__heading h2 { margin: .5rem 0 0; white-space: nowrap; }
.vt-map__frame { width: 100%; height: min(520px, 62vw); min-height: 340px; }
.vt-map__frame iframe { width: 100%; height: 100%; border: 0; }
.vt-global-cta { position: relative; overflow: clip; padding-block: clamp(3rem, 4.5vw, 4rem); background: var(--vt-leaf-dark); color: #dcebe0; }
.vt-global-cta::before { position: absolute; right: 2%; bottom: -8rem; width: 22rem; aspect-ratio: 1; border: 4rem solid rgb(246 200 95 / 12%); border-radius: 50%; content: ""; }
.vt-global-cta__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(2rem, 4vw, 4rem); }
.vt-global-cta h2 { max-width: 28ch; margin: .65rem 0; color: var(--vt-white); font-size: clamp(1.9rem, 2.8vw, 2.35rem); line-height: 1.16; }
.vt-global-cta p { margin-bottom: 0; }
.vt-footer { position: relative; padding-top: clamp(4rem, 7vw, 6rem); background: #203e33; color: #cfe0d4; }
.vt-footer__hills { position: absolute; top: -2.4rem; left: 0; width: 100%; height: 3rem; background: #203e33; clip-path: ellipse(58% 50% at 50% 100%); }
.vt-footer__grid { display: grid; grid-template-columns: 1.3fr .75fr .9fr 1fr; gap: clamp(2rem, 4vw, 4rem); }
.vt-brand--footer { display: flex; width: fit-content; color: var(--vt-white); }
.vt-brand--footer small { color: #b7ccbd; }
.vt-brand--footer .footer-brand__slogan { display: block; max-width: 28rem; margin-top: .25rem; color: #cfe0d4; font-family: var(--vt-body-font); font-size: .88rem; font-weight: 400; line-height: 1.45; white-space: normal; }
.vt-footer h2 { margin-bottom: 1rem; color: var(--vt-white); font-size: 1rem; }
.vt-footer ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.vt-footer a:hover { color: var(--vt-sun); }
.tenant-social-links { display: flex; gap: .55rem; margin-top: 1rem; }
.tenant-social-links a { display: grid; width: 2.5rem; aspect-ratio: 1; place-items: center; border: 1px solid rgb(255 255 255 / 20%); border-radius: 50%; color: var(--vt-white); }
.tenant-social-links svg { width: 1.15rem; fill: currentColor; }
.vt-newsletter { display: grid; grid-template-columns: 1fr auto; gap: .45rem; padding: .35rem; border: 1px solid rgb(255 255 255 / 20%); border-radius: 999px; background: rgb(255 255 255 / 8%); }
.vt-newsletter input[type="email"] { min-width: 0; padding: .65rem .8rem; border: 0; outline: 0; background: transparent; color: var(--vt-white); }
.vt-newsletter input::placeholder { color: #b8ccbf; }
.vt-newsletter button { display: grid; width: 2.75rem; aspect-ratio: 1; place-items: center; border: 0; border-radius: 50%; background: var(--vt-sun); color: var(--vt-leaf-deep); font-weight: 900; cursor: pointer; }
.vt-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3.5rem; padding-block: 1.35rem; border-top: 1px solid rgb(255 255 255 / 12%); font-size: .8rem; }
.vt-footer__bottom p { margin: 0; }
.vt-footer__bottom .footer-legal-links { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; padding-inline-end: 4.75rem; }
.vt-footer__bottom .footer-legal-links span { opacity: .62; }
.vt-floating-phone { position: fixed; z-index: 90; right: 1.1rem; bottom: 1.1rem; display: grid; width: 3.6rem; aspect-ratio: 1; place-items: center; border: 3px solid var(--vt-cream); border-radius: 50%; background: var(--vt-sun); box-shadow: var(--vt-shadow); color: var(--vt-leaf-deep); font-size: 1.25rem; }
.vt-not-found { display: grid; min-height: 70vh; place-items: center; padding-block: 5rem; background: var(--vt-mint-soft); text-align: center; }
.vt-not-found .vt-container { max-width: 720px; }
.vt-not-found img { margin: 0 auto 1rem; }
.vt-not-found h1 { margin: .7rem 0; font-size: clamp(2.5rem, 6vw, 5rem); }
.vt-not-found p { margin-inline: auto; }
.vt-not-found .vt-actions { justify-content: center; }

/* Motion enhancement: content stays visible without JavaScript. */
.vt-js [data-vt-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease calc(var(--vt-reveal-order, 0) * 50ms), transform .65s ease calc(var(--vt-reveal-order, 0) * 50ms); }
.vt-js [data-vt-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
    .vt-header__inner { min-height: 4.25rem; }
    .vt-nav > a:not(.vt-button) { font-size: .82rem; }
    .vt-nav { gap: .05rem; }
    .vt-brand strong { max-width: 15ch; }
    .vt-brand small { display: none; }
    .vt-growth-map { grid-template-columns: minmax(220px, 1fr) minmax(260px, .9fr) minmax(220px, 1fr); gap: 1rem; }
    .vt-growth-card { grid-template-columns: 1fr; }
    .vt-age-grid { grid-template-columns: repeat(3, 1fr); }
    .vt-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
    .vt-garden-bar__inner { min-height: 1.9rem; }
    .vt-garden-bar__inner > p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .vt-garden-bar__inner > div span { display: none; }
    .vt-nav-toggle { display: block; flex: 0 0 3rem; }
    .vt-nav { position: fixed; top: calc(6.15rem + env(safe-area-inset-top)); right: 1rem; left: 1rem; display: grid; max-height: calc(100vh - 7.15rem); align-content: start; gap: .2rem; padding: 1rem; transform: translateY(-1rem) scale(.98); overflow-y: auto; border: 1px solid var(--vt-line); border-radius: 1.4rem; background: var(--vt-paper); box-shadow: var(--vt-shadow); opacity: 0; visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
    .vt-nav-open .vt-nav { transform: none; opacity: 1; visibility: visible; }
    .vt-nav > a:not(.vt-button) { padding: .75rem 1rem; border-radius: .8rem; font-size: .95rem; }
    .vt-nav > a:not(.vt-button).is-active { background: var(--vt-mint); }
    .vt-nav > .vt-button { margin-top: .5rem; }
    .vt-nav__indicator { display: none; }
    .vt-nav-open { overflow: hidden; }
    .vt-home-hero { min-height: 780px; align-items: end; }
    .vt-home-hero__image { object-position: 64% center; }
    .vt-home-hero__veil { background: linear-gradient(180deg, rgb(255 249 237 / 4%) 0 28%, rgb(255 249 237 / 84%) 55%, var(--vt-cream) 82%); }
    .vt-home-hero__content { width: auto; margin: 0; padding: 13.5rem clamp(1rem, 5vw, 3rem) 5rem; }
    .vt-home-hero h1 { max-width: 14ch; }
    .vt-home-hero::before { display: none; }
    .vt-welcome__grid,
    .vt-zigzag,
    .vt-experiences__lead,
    .vt-experiences__layout,
    .vt-greenhouse-letter__shell,
    .vt-form-layout,
    .vt-contact-main,
    .vt-featured-story__grid,
    .vt-document-grid,
    .vt-faq-grid { grid-template-columns: 1fr; }
    .vt-zigzag--reverse > :first-child { order: initial; }
    .vt-growth-map { min-height: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
    .vt-growth-map__routes { display: none; }
    .vt-growth-card--roots,
    .vt-growth-card--sprout,
    .vt-growth-card--branch,
    .vt-growth-card--fruit { min-height: 0; grid-column: auto; grid-row: auto; grid-template-columns: auto 1fr; }
    .vt-growth-map__heart { min-height: 430px; grid-column: 1 / -1; grid-row: 1; border-radius: 2.4rem; }
    .vt-growth-map__heart img { height: 250px; }
    .vt-experiences__photo img { min-height: 430px; }
    .vt-experiences__cards { grid-template-columns: repeat(3, 1fr); }
    .vt-experiences__cards article { grid-template-columns: 1fr; align-content: start; }
    .vt-day-path__list,
    .vt-process__line { grid-template-columns: repeat(2, 1fr); }
    .vt-day-map { min-height: 0; }
    .vt-day-map__route,
    .vt-day-map__tree { display: none; }
    .vt-day-path__list { padding-top: 0; }
    .vt-day-path__list li,
    .vt-day-path__list li:nth-child(even) { margin-top: 0; }
    .vt-page-hero__grid { min-height: 0; grid-template-columns: 1fr 320px; gap: 1.5rem; }
    .vt-value-grid,
    .vt-space-grid,
    .vt-contact-cards__grid,
    .vt-job-grid { grid-template-columns: repeat(2, 1fr); }
    .vt-mission__grid { grid-template-columns: 1fr 1fr; }
    .vt-mission__lead { grid-column: 1 / -1; }
    .vt-article__layout { grid-template-columns: 54px minmax(0, 1fr); }
    .vt-article__aside { display: none; }
    .vt-global-cta__inner { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .template-vuon-tuoi-tho { line-height: 1.65; }
    .vt-container { width: min(100% - 2rem, var(--vt-container)); }
    .vt-garden-bar__inner { padding-inline: 1rem; }
    .vt-garden-bar__inner > p { max-width: 65%; }
    .vt-header__inner { padding-inline: 1rem; }
    .vt-brand__mark { width: 3rem; flex-basis: 3rem; }
    .vt-brand strong { max-width: 14ch; font-size: .98rem; }
    .vt-home-hero { min-height: 820px; }
    .vt-home-hero__content { padding-top: 14.5rem; }
    .vt-home-hero h1 { font-size: clamp(2.65rem, 11vw, 4.1rem); }
    .vt-home-hero__promises { grid-template-columns: 1fr; gap: .45rem; }
    .vt-home-hero__promises li { padding: .6rem .7rem; }
    .vt-home-hero__promises small { white-space: normal; }
    .vt-welcome__signals { grid-template-columns: 1fr; }
    .vt-heading--split { align-items: start; flex-direction: column; }
    .vt-growth-map,
    .vt-experiences__cards,
    .vt-day-path__list,
    .vt-value-grid,
    .vt-space-grid,
    .vt-contact-cards__grid,
    .vt-job-grid,
    .vt-process__line,
    .vt-age-grid,
    .vt-mission__grid { grid-template-columns: 1fr; }
    .vt-mission__lead { grid-column: auto; }
    .vt-growth-map__heart { grid-column: 1; grid-row: 1; }
    .vt-growth-card { min-height: 0; }
    .vt-experiences__photo { border-radius: 2rem 2rem 2rem .7rem; }
    .vt-experiences__photo img { min-height: 320px; }
    .vt-experiences__photo figcaption { right: .75rem; bottom: .75rem; }
    .vt-experiences__cards article { grid-template-columns: 5rem 1fr; }
    .vt-experience-card__art { width: 4.7rem; height: 4.7rem; }
    .vt-experience-card__art svg { width: 3.8rem; height: 3.2rem; }
    .vt-day-path__list li > div { min-height: 0; }
    .vt-greenhouse-letter__art { max-width: 100%; }
    .vt-page-hero__grid { grid-template-columns: 1fr; padding-block: 3.75rem; }
    .vt-page-hero__art { max-width: 420px; margin-inline: auto; }
    .vt-page-hero__art img { max-height: 330px; }
    .vt-page-hero h1 { font-size: clamp(2.55rem, 11vw, 4rem); }
    .vt-form__grid { grid-template-columns: 1fr; }
    .vt-field--full { grid-column: auto; }
    .vt-form-layout,
    .vt-contact-main { gap: 2rem; }
    .vt-news-tools form { grid-template-columns: 1fr; }
    .vt-news-grid { grid-template-columns: 1fr; }
    .vt-article__layout { display: block; }
    .vt-share { position: static; display: flex; align-items: center; margin-bottom: 2rem; }
    .vt-share > span { writing-mode: initial; }
    .vt-map__heading { align-items: start; flex-direction: column; }
    .vt-map__heading h2 { white-space: normal; }
    .vt-footer__grid { grid-template-columns: 1fr; }
    .vt-footer__bottom { align-items: start; flex-direction: column; padding-bottom: 5.5rem; }
    .vt-footer__bottom .footer-legal-links { padding-inline-end: 0; }
    .vt-global-cta .vt-actions { align-items: stretch; flex-direction: column; }
    .vt-global-cta .vt-button { width: 100%; }
    .vt-admission-banner .vt-container { align-items: start; flex-direction: column; gap: .35rem; }
}

@media (max-width: 390px) {
    .vt-garden-bar__inner > p { max-width: 56%; font-size: .72rem; }
    .vt-garden-bar__inner a { font-size: .72rem; }
    .vt-brand strong { max-width: 11ch; }
    .vt-actions { align-items: stretch; flex-direction: column; }
    .vt-actions .vt-button { width: 100%; }
    .vt-home-hero { min-height: 880px; }
    .vt-home-hero__content { padding-top: 14rem; }
    .vt-welcome__visual { padding: 0 0 3rem; }
    .vt-welcome__note { right: .3rem; }
    .vt-flashes { top: 6.65rem; right: .5rem; width: calc(100% - 1rem); }
}

@media (prefers-reduced-motion: reduce) {
    .template-vuon-tuoi-tho *,
    .template-vuon-tuoi-tho *::before,
    .template-vuon-tuoi-tho *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .vt-js [data-vt-reveal] { opacity: 1; transform: none; }
}

@media (forced-colors: active) {
    .vt-button,
    .vt-nav-toggle,
    .vt-pagination a,
    .vt-share a,
    .vt-share button { border: 2px solid ButtonText; box-shadow: none; forced-color-adjust: auto; }
    .vt-nav__indicator { background: Highlight; }
    .vt-form :where(input, select, textarea) { border: 1px solid FieldText; }
}
