.kh-page{max-width:1600px;margin:0 auto;padding:145px calc(var(--penfield-gutter)/2) 80px;color:var(--penfield-body);font-family:var(--penfield-font-editorial)}
.kh-page h1,.kh-page h2,.kh-page h3{color:var(--penfield-navy);font-family:var(--penfield-font-editorial);font-weight:400;margin:0}
.kh-page h1{font-size:var(--penfield-size-h1);line-height:1.25;max-width:10em}.kh-page h2{font-size:var(--penfield-size-h2);line-height:1.3}.kh-page h3{font-size:24px;line-height:1.4}
.kh-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);gap:clamp(40px,7vw,110px);padding:30px 0 85px;border-bottom:1px solid var(--penfield-line)}
.kh-kicker{font-family:var(--penfield-font-ui);font-size:14px;line-height:1.5;color:var(--penfield-secondary);margin:0 0 20px}.kh-intro{font-size:var(--penfield-size-intro);line-height:1.75;margin:30px 0;max-width:35em}
.kh-action{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:48px;padding:12px 18px;border:1px solid var(--penfield-navy);font-family:var(--penfield-font-ui);font-size:16px;color:var(--penfield-navy);text-decoration:none}
.kh-page .kh-index{display:block;position:static;inset:auto;width:auto;height:auto;transform:none;z-index:auto;border:0;padding:0;margin:8px 0 0;background:none;box-shadow:none}
.kh-index ol{list-style:none;counter-reset:kh;margin:0;padding:0}.kh-index li{counter-increment:kh;border-bottom:1px solid var(--penfield-line)}.kh-page .kh-index a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin:0;padding:14px 0;color:var(--penfield-navy);font-family:var(--penfield-font-ui);font-size:16px;text-decoration:none}.kh-index a:before{content:counter(kh,decimal-leading-zero);font-size:12px;color:var(--penfield-secondary)}.kh-index a span{margin-left:auto}
.kh-section{padding:64px 0;border-bottom:1px solid var(--penfield-line);scroll-margin-top:95px}.kh-section-heading{margin-bottom:32px}.kh-section--about{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:60px}
.kh-rich{font-size:18px;line-height:1.8;overflow-wrap:anywhere}.kh-rich p{margin:0 0 1em}.kh-rich p:last-child{margin-bottom:0}.kh-rich ul{padding-left:1.3em}.kh-rich li{margin-bottom:.6em}.kh-rich a,.kh-contact a{color:var(--penfield-navy);text-underline-offset:4px}
.kh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.kh-card{min-width:0;padding:28px;border:1px solid var(--penfield-line);background:var(--penfield-paper-raised);align-self:start}.kh-card-lead{font-family:var(--penfield-font-ui);font-size:16px;line-height:1.7;color:var(--penfield-secondary);margin:18px 0 22px}.kh-card-lead p{margin:0}.kh-card details{margin-top:22px;border-top:1px solid var(--penfield-line)}.kh-card summary{display:flex;justify-content:space-between;gap:16px;align-items:center;list-style:none;cursor:pointer;font-family:var(--penfield-font-ui);font-size:14px;line-height:1.6;min-height:48px;padding:14px 0;color:var(--penfield-navy)}.kh-card summary::-webkit-details-marker{display:none}.kh-toggle{font-size:22px;flex-shrink:0}.kh-card details[open] .kh-toggle{transform:rotate(45deg)}.kh-card details .kh-rich{padding-top:14px}.kh-grid--cases{grid-template-columns:1fr}.kh-card--cases{background:none}
.kh-rich--clients ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;list-style:none;margin:0;padding:0}.kh-rich--clients li{font-family:var(--penfield-font-ui);font-size:15px;line-height:1.8;padding:22px 0;border-bottom:1px solid var(--penfield-line);margin:0}
.kh-contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-bottom:0}.kh-contact-body{font-size:20px;line-height:1.75;overflow-wrap:anywhere}.kh-contact-body .kh-kicker{margin:30px 0 10px}.kh-contact-body .kh-kicker:first-child{margin-top:0}.kh-contact-body p{margin-top:0}.kh-contact-body a{font-size:24px}.kh-additional{padding-top:40px}.kh-page a:focus-visible,.kh-page summary:focus-visible{outline:2px solid var(--penfield-navy);outline-offset:5px}
@media(max-width:900px){.kh-hero{grid-template-columns:1fr;gap:40px;padding-bottom:48px}.kh-section--about{grid-template-columns:1fr;gap:0}.kh-rich--clients ul{grid-template-columns:repeat(2,minmax(0,1fr))}.kh-contact{gap:30px}}
@media(max-width:600px){.kh-page{padding:110px 24px 45px}.kh-page h1{font-size:36px}.kh-page h2{font-size:28px}.kh-page h3{font-size:22px}.kh-grid,.kh-contact{grid-template-columns:1fr}.kh-section{padding:44px 0}.kh-card{padding:22px}.kh-rich--clients ul{grid-template-columns:1fr}.kh-contact-body a{font-size:22px}.kh-section-heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.kh-page *{scroll-behavior:auto}}

/* Khánh Hòa follows native Home: fixed columns and biography below each portrait. */
.kh-page .kh-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;align-items:start}
.kh-page .kh-team-grid .team-member{min-width:0;display:block;position:relative}
.kh-page .kh-team-grid .team-portrait{display:grid;grid-template-rows:auto minmax(2.5em,auto) minmax(3.1em,auto);height:auto;min-width:0;align-content:start}
.kh-page .kh-team-grid .team-reveal{height:calc(clamp(280px,22vw,420px) + 18px);margin:0;display:flex;width:100%;padding:0;align-items:flex-start;justify-content:center;border:0;background:none;cursor:pointer}
.kh-page .kh-team-grid .team-reveal img{width:100%;height:clamp(280px,22vw,420px)!important;max-width:100%;margin:0 0 18px!important;object-fit:contain;object-position:center bottom;flex:0 1 auto}
.kh-portrait-slot{display:block;width:100%;height:clamp(280px,22vw,420px);background:var(--penfield-paper-raised);border-bottom:1px solid var(--penfield-line)}
.kh-page .kh-team-grid h3{font-size:var(--penfield-size-h3)!important;line-height:var(--penfield-line-h3)!important}
.kh-page .kh-team-grid .team-role{font-family:var(--penfield-font-ui);font-size:var(--penfield-size-meta)!important;line-height:1.7;margin:12px 0 0;color:var(--penfield-secondary)}
.kh-page .kh-team-grid .team-role p{margin:0}
.kh-page .kh-team-grid .team-info{padding-top:16px;overflow-wrap:anywhere}
.kh-page .kh-team-grid .team-info p{font-size:var(--penfield-size-body)!important;line-height:var(--penfield-editorial-line)!important;margin:0 0 20px!important;max-width:45ch}
@media(min-width:1001px) and (hover:hover) and (pointer:fine){
 .kh-page .kh-team-grid.team-interactions-ready .team-member{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,0fr);align-content:start;transition:grid-template-rows .3s ease}
 .kh-page .kh-team-grid.team-interactions-ready .team-info{min-height:0;overflow:hidden;padding-block:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}
 .kh-page .kh-team-grid.team-interactions-ready .team-member.is-active{grid-template-rows:auto minmax(0,1fr)}
 .kh-page .kh-team-grid.team-interactions-ready .team-member.is-active .team-info{overflow:visible;padding-block:16px 0;opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
@media(max-width:1000px),(hover:none),(pointer:coarse){
 .kh-page .kh-team-grid{grid-template-columns:1fr;gap:38px;max-width:620px;margin:0 auto}
 .kh-page .kh-team-grid .team-portrait{grid-template-rows:auto auto auto}
 .kh-page .kh-team-grid .team-reveal{height:calc(min(92vw,420px) + 18px)}
 .kh-page .kh-team-grid .team-reveal img,.kh-portrait-slot{height:min(92vw,420px)!important}
 .kh-page .kh-team-grid .team-info{display:block;padding:24px 0 30px;border-bottom:1px solid var(--penfield-line)}
}
@media(prefers-reduced-motion:reduce){.kh-page .kh-team-grid .team-member,.kh-page .kh-team-grid .team-info{transition:none;transform:none}}
