/* Editorial additions use the existing theme palette and motion system. */
.ve-section { padding: var(--section-padding) 0; }
.ve-section h2, .ve-cta h2 { font-size: clamp(1.8rem, 3.2vw, 3.3rem); line-height: 1.5; margin: 0 0 1.5rem; }
.ve-section p { line-height: 1.95; margin: 0 0 1.4rem; }
.ve-section :is(h2,h3,p,a,li), .tradition-content, .kh-content { overflow-wrap: anywhere; min-width: 0; }
[lang="ml"] { letter-spacing: normal; }
[lang="ml"] :is(h2,h3), .kh-content[lang="ml"] .kh-heading { font-family: 'Nirmala UI', 'Kartika', var(--font-heading); }
.ve-kicker { display: block; color: var(--gold-dark); font: 500 .78rem/1.7 var(--font-body); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1.5rem; }
.ve-lead { max-width: 850px; }
.ve-split { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.ve-split > * { min-width: 0; }
.ve-process-strip { display: flex; flex-wrap: wrap; border-top: 1px solid var(--gold-primary); margin-top: 2rem; padding-top: 2rem; gap: 1rem 2rem; font-size: .85rem; }
.ve-process-strip li::before { content: '·'; color: var(--gold-dark); margin-right: .7rem; }
.ve-flagship { background: var(--bg-white); }
.ve-flagship-image { aspect-ratio: 4 / 5; overflow: hidden; }
.ve-flagship-image img { width: 100%; height: 100%; object-fit: cover; }
.ve-material-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 3rem; border-left: 1px solid var(--gold-primary); border-top: 1px solid var(--gold-primary); }
.ve-material-grid li { padding: 2rem; border-right: 1px solid var(--gold-primary); border-bottom: 1px solid var(--gold-primary); }
.ve-material-grid strong, .ve-material-grid span { display: block; }
.ve-material-grid strong { font-family: var(--font-heading); font-size: 1.45rem; margin: .8rem 0; }
.ve-material-index { color: var(--gold-dark); font-size: .75rem; }
.ve-dark { background: var(--bg-dark); color: var(--text-light); }
.ve-dark .ve-kicker, .ve-cta .ve-kicker { color: var(--gold-light); }
.ve-dark .ve-manifesto { max-width: 1100px; font-size: clamp(1.7rem, 3.2vw, 3.5rem); line-height: 1.9; }
.ve-values { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 2rem; margin-top: 3rem; }
.ve-values article { border-top: 1px solid var(--gold-primary); padding-top: 2rem; }
.ve-values svg { color: var(--gold-dark); margin-bottom: 1.5rem; }
.ve-values h3 { font-size: 1.4rem; line-height: 1.4; margin-bottom: 1rem; }
.ve-values p { font-size: .95rem; }
.ve-legacy { border-block: 1px solid var(--gold-primary); }
.ve-leadership { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,5vw,5rem); margin: 3rem 0; max-width: 900px; }
.ve-portrait { aspect-ratio: 3 / 4; overflow: hidden; margin-bottom: 1.5rem; }
.ve-portrait img { width: 100%; height: 100%; object-fit: cover; }
.ve-placeholder { display: flex; width: 100%; height: 100%; min-height: 160px; align-items: center; justify-content: center; text-align: center; padding: 2rem; color: var(--gold-light, #DFBE77); background: var(--bg-dark, #161512); border: 1px solid var(--gold-primary, #C5A059); font: 400 .9rem/1.7 var(--font-body, sans-serif); }
.ve-placeholder::before { content: ''; width: 1px; height: 4rem; background: var(--gold-primary); margin-right: 1.5rem; flex-shrink: 0; }
.ve-placeholder-expertise { aspect-ratio: 4 / 3; height: auto; }
.kodimaram-expertise-card { min-width: 0; }
.kodimaram-expertise-card :is(h3,p,a) { overflow-wrap: anywhere; }
.kodimaram-expertise-single .kodimaram-expertise-title { line-height: 1.5; overflow-wrap: anywhere; }
.ve-leadership h3 { font-size: 1.65rem; }
.ve-timeline { border-left: 1px solid var(--gold-primary); margin: 3rem 0 0 1rem; padding-left: 2.5rem; }
.ve-timeline li { position: relative; padding: 0 0 2.5rem; }
.ve-timeline li::before { content: ''; position: absolute; width: .65rem; height: .65rem; left: -2.85rem; top: .4rem; background: var(--gold-primary); border-radius: 50%; }
.ve-timeline h3 { margin-bottom: 1rem; font-size: 1.6rem; }
.ve-timeline .ve-kicker { margin-bottom: .4rem; }
.ve-story > p { max-width: 950px; }
.ve-story .ve-section { padding: 3rem 0; }
.ve-story .container { padding: 0; }
.ve-story .ve-about-values li { padding: 1rem 0; border-bottom: 1px solid var(--gold-primary); }
.single-page-content .ve-story h2 { line-height: 1.65; }
.single-page-content .btn { text-decoration: none; }
.single-page-content a.btn { min-height: 48px; line-height: 1.5; text-align: center; }
.single-page-content a.btn-gold,
.single-page-content a.btn-gold:visited { color: var(--bg-dark); border-color: var(--gold-primary); }
.single-page-content a.btn-gold:hover,
.single-page-content a.btn-gold:focus-visible { color: var(--bg-dark); background-color: var(--gold-light); border-color: var(--gold-light); }
.single-page-content a.btn:not(.btn-gold) { color: var(--text-dark); border-color: var(--gold-primary); }
.single-page-content a.btn:not(.btn-gold):hover { background-color: var(--gold-primary); color: var(--bg-dark); }
.single-page-content a.btn:focus-visible { outline: 2px solid var(--text-dark); outline-offset: 4px; }
.ve-story > p:has(> a.btn) { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
@media (max-width: 480px) { .ve-story > p > a.btn { width: 100%; } }
.ve-home .tradition-content h2 { font-size: clamp(1.7rem,2.5vw,2.7rem); line-height: 1.6; }
.ve-home .tradition-content p { line-height: 1.95; }
.ve-home .tradition-container { margin-top: 0; }
.ve-home .stat-number { font-size: clamp(1.5rem,2.4vw,2.5rem); line-height: 1.3; }
.ve-home .stat-content { min-width: 0; }
.ve-home .stat-item { min-width: 0; }
.ve-home .expertise-section .container .container { padding: 0; }
.ve-home .expertise-section h3 { line-height: 1.6; }
.site-header .site-title { flex-shrink: 0; font-family: var(--font-heading); font-size: 1.3rem; color: var(--text-light); }
.site-header .site-title .logo { display: block; }
.ve-brand-tag { display: block; font: 400 .58rem/1.7 var(--font-body); letter-spacing: .03em; }
.ve-brand-lockup { flex-shrink: 0; }
.ve-brand-name { display: block; color: var(--text-light); font: 500 .85rem/1.8 var(--font-body); letter-spacing: .06em; }
.ve-footer-brand { color: var(--text-light); font-size: 1.6rem; margin: 1rem 0; }
.site .site-header { padding: 1.2rem 0; }
.site .site-header.scrolled { position: fixed; padding: .7rem 0; }
.site .site-header.solid-header,
.site .site-header.scrolled { background: var(--bg-dark); border-bottom: 1px solid rgba(197,160,89,.25); box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.site-header.solid-header .nav-links .menu a { color: var(--text-light); }
.site-header.solid-header .nav-links .menu a:hover,
.site-header.solid-header .nav-links .menu a:focus-visible,
.site-header.solid-header .nav-links .menu .current-menu-item > a,
.site-header.solid-header .nav-links .menu .current_page_item > a { color: var(--gold-primary); }
.site-header.solid-header .ve-language-switch a:not([aria-current="true"]) { color: var(--text-light); }
.site-header.solid-header .ve-language-switch a:hover { color: var(--bg-dark); }
.site-header.solid-header .mobile-toggle { color: var(--text-light); border-color: rgba(197,160,89,.45); }
.site-header :is(a,button):focus-visible { outline: 2px solid var(--gold-primary); outline-offset: 4px; }
.site-header .nav-links .sub-menu { display: none; position: absolute; background: var(--bg-dark); padding: 1rem; min-width: 190px; }
.site-header .nav-links li:hover > .sub-menu, .site-header .nav-links li:focus-within > .sub-menu { display: block; }
.site-header .nav-links .sub-menu a { display: block; padding: .6rem; }
.site a:focus-visible, .site button:focus-visible { outline: 3px solid var(--gold-primary); outline-offset: 5px; }
.ve-skip-link { position: fixed; left: 1rem; top: -100px; z-index: 2000; padding: 1rem; background: var(--bg-dark); color: var(--text-light); }
.ve-skip-link:focus { top: 1rem; }
.ve-home .kh-hero { --kh-gold: var(--gold-primary); --kh-gold-hover: var(--gold-light); height: auto; min-height: 100svh; }
/* Grid preserves the tallest slide's intrinsic height, including translated copy. */
.ve-home .kh-slides { display: grid; position: relative; height: auto; }
.ve-home .kh-slide { grid-area: 1 / 1; position: relative; min-width: 0; height: auto; }
.ve-home .kh-slide > .kh-container { min-height: 100svh; padding-top: 150px; padding-bottom: 150px; }
.ve-home .kh-content { max-width: 980px; padding-top: 0; }
.ve-home .kh-heading { font-size: clamp(1.7rem,3.3vw,3.6rem); line-height: 1.6; text-transform: none; }
.ve-home .kh-eyebrow { letter-spacing: .08em; color: var(--gold-light); }
.ve-home .kh-desc { max-width: 800px; line-height: 1.9; margin-bottom: 1.5rem; }
.ve-home .kh-subdesc { font-size: .93rem; line-height: 1.9; letter-spacing: normal; text-transform: none; color: var(--text-light); max-width: 760px; margin: 0 0 2rem; }
.ve-home .kh-btn { letter-spacing: normal; font-size: .95rem; padding: .9rem 1.5rem; line-height: 1.7; }
.ve-home .kh-nav-btn { min-height: 44px; min-width: 60px; }
.ve-cta .cta-content { max-width: 1000px; }
.ve-cta .cta-content p { line-height: 1.95; }
@media (max-width:1200px) {
 .ve-values { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .site-header .nav-links .menu { gap: 1rem; }
 .site-header .header-cta { display: none; }
 .ve-home .stats-grid { gap: 1rem; }
 .ve-home .stat-item { flex-direction: column; text-align: center; }
}
@media (max-width:1024px) {
 .ve-split { grid-template-columns: 1fr 1fr; gap: 2rem; }
 .ve-material-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .ve-home .tradition-container { flex-direction: column; }
 .ve-home .tradition-img { flex: none; width: min(100%,560px); max-width: 560px; }
}
@media (max-width:768px) {
 .ve-section { padding: 4rem 0; }
 .ve-split { grid-template-columns: 1fr; }
 .ve-values { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ve-material-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ve-home .kh-slide > .kh-container { padding-top: 130px; padding-bottom: 160px; }
 .ve-home .kh-content { text-align: left; }
 .ve-home .kh-actions { justify-content: flex-start; gap: .75rem; }
 .ve-home .kh-ui-bottom { flex-direction: row; justify-content: space-between; gap: 1rem; }
 .site-header.is-menu-open .nav-links { display: block; position: absolute; top: 100%; left: 0; width: 100%; max-height: calc(100svh - 90px); overflow-y: auto; padding: 1rem 2rem 2rem; background: var(--bg-dark); }
 .site-header.is-menu-open { background: var(--bg-dark); }
 .site-header.is-menu-open .nav-links .menu { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; }
 .site-header.is-menu-open .nav-links .menu a { display: block; padding: .6rem; }
 .site-header .nav-links .sub-menu { position: static; }
}
@media (max-width:480px) {
 .ve-home .tradition-container { padding: 1.5rem; margin-inline: 1rem; }
 .ve-section .container, .site-header .container { padding-inline: 1.25rem; }
 .ve-values { grid-template-columns: 1fr; }
 .ve-leadership { grid-template-columns: 1fr; }
 .ve-material-grid li { padding: 1.25rem; }
 .ve-home .kh-heading { font-size: 1.7rem; }
 .ve-home .kh-btn { width: 100%; }
 .ve-home .stats-grid { gap: 1.5rem .7rem; }
 .ve-home .stat-number { font-size: 1.55rem; }
 .ve-home .stat-text { font-size: .8rem; }
 .ve-home .stat-icon { display: none; }
 .site-header .site-title { font-size: 1.15rem; }
 .ve-brand-tag { font-size: .5rem; }
 .ve-cta .cta-actions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion:reduce) {
 .ve-home .kh-slide, .ve-home .kh-content *, .ve-home .kh-bg-wrapper { transition: none; animation: none; }
 .ve-home .reveal-up { opacity: 1; transform: none; }
}
