:root{--carbon:#2d2926;--signal:#e03c31;--bone:#d6d2c4;--ivory:#f3f0e8}
.adaptation-band,.gap-editorial,.adaptation-layer,.method-strip,.ecosystem,.intelligence-preview,.commercial-ladder{padding:clamp(76px,10vw,150px) clamp(24px,7vw,110px)}
.adaptation-band{background:var(--carbon);color:var(--ivory);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:8vw;align-items:end}
.adaptation-band h2,.gap-editorial h2,.adaptation-layer h2,.ecosystem h2,.intelligence-preview h2{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(44px,7.5vw,112px);line-height:.92;margin:0}
.adaptation-band p,.ecosystem p,.intelligence-preview p{font:400 clamp(18px,2vw,27px)/1.5 Manrope,sans-serif;max-width:680px}
.adaptation-band em,.gap-editorial em{color:var(--signal);font-style:normal}
.gap-editorial{background:var(--ivory)}
.gap-editorial header{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-bottom:70px}
.tension-list{border-top:1px solid rgba(45,41,38,.35)}
.tension-list p{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin:0;padding:25px 0;border-bottom:1px solid rgba(45,41,38,.2);font:500 clamp(18px,2vw,28px)/1.35 Manrope,sans-serif}
.tension-list span:last-child{color:#6c6660}
.adaptation-layer{background:var(--bone)}
.layer-flow{margin-top:70px;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch}
.layer-flow article{padding:28px 22px;border:1px solid rgba(45,41,38,.26);min-height:190px}
.layer-flow article:nth-child(3){background:var(--carbon);color:var(--ivory);transform:translateY(-18px)}
.layer-flow small,.practice-card small,.method-strip small{font:500 11px/1.3 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.layer-flow h3,.layer-flow h2{font:400 clamp(25px,3vw,44px)/1 "Playfair Display",Georgia,serif}
.practice-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.practice-card{min-width:0;padding:clamp(65px,9vw,130px) clamp(24px,7vw,100px);min-height:620px;background:var(--ivory);color:var(--carbon)}
.practice-card+ .practice-card{background:var(--carbon);color:var(--ivory)}
.practice-card h2{font:400 clamp(44px,5vw,76px)/.95 "Playfair Display",Georgia,serif;margin:24px 0 46px}
.practice-card ul{padding:0;list-style:none;border-top:1px solid currentColor}.practice-card li{padding:18px 0;border-bottom:1px solid currentColor;font:500 17px/1.45 Manrope,sans-serif}
.practice-card a,.adaptation-link{display:inline-block;margin-top:34px;color:inherit;font:600 13px/1.2 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.method-strip{background:var(--ivory)}
.method-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:55px;border-top:1px solid var(--carbon)}
.method-grid article{padding:25px 14px;min-height:180px;border-right:1px solid rgba(45,41,38,.25)}
.method-grid b{display:block;color:var(--signal);font:500 12px Manrope,Arial,sans-serif}.method-grid h3,.method-grid h2{font:400 clamp(23px,2.4vw,38px)/1 "Playfair Display",Georgia,serif}
.ecosystem{background:var(--carbon);color:var(--ivory);display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(56px,8vw,130px);align-items:start}
.ecosystem>*{min-width:0}
.ecosystem-list{display:grid;gap:0;border-top:1px solid rgba(243,240,232,.35)}.ecosystem-list span{padding:18px 0;border-bottom:1px solid rgba(243,240,232,.22);font:500 16px Manrope,sans-serif}
.intelligence-preview{background:var(--bone)}
.intelligence-grid,.lab-grid,.commercial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px}
.intelligence-grid article,.commercial-grid article{min-width:0;border:1px solid rgba(45,41,38,.3);padding:25px;min-height:250px}.intelligence-grid h3,.intelligence-grid h2,.commercial-grid h3,.commercial-grid h2{font:400 30px/1.05 "Playfair Display",Georgia,serif}.status-chip{display:inline-block;margin-top:22px;padding:7px 9px;border:1px solid currentColor;font:500 10px Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.commercial-ladder{background:var(--ivory)}.commercial-grid article{min-height:180px}.commercial-grid article:first-child{background:var(--carbon);color:var(--ivory)}
.page-hero.adaptation-hero{background:var(--carbon);color:var(--ivory)}
.editorial-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw}.editorial-grid h2{font-size:clamp(42px,6vw,80px);line-height:.98}.editorial-grid .prose{max-width:760px}
.capability-list{columns:2;column-gap:45px;padding:0;list-style:none}.capability-list li{break-inside:avoid;padding:14px 0;border-bottom:1px solid rgba(45,41,38,.2)}
.lab-grid{grid-template-columns:repeat(2,1fr)}.adaptation-lab{padding:34px;border:1px solid rgba(45,41,38,.3);background:var(--ivory)}.adaptation-lab h3{font:400 clamp(34px,4vw,54px)/1 "Playfair Display",Georgia,serif}.lab-controls{display:grid;gap:14px;margin-top:30px}.lab-controls label{font:600 12px Manrope,sans-serif}.lab-controls input[type=range],.lab-controls select{width:100%}.lab-result{margin-top:28px;padding:24px;background:var(--carbon);color:var(--ivory);min-height:120px}.lab-result strong{display:block;font:400 35px "Playfair Display",Georgia,serif}.privacy-note{font:500 11px/1.5 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:1024px){.ecosystem{grid-template-columns:1fr;gap:46px}.ecosystem h2{max-width:760px}.practice-card h2{font-size:clamp(44px,6.6vw,68px)}}
@media(max-width:1180px){.adaptation-band,.gap-editorial header,.editorial-grid{grid-template-columns:1fr}.layer-flow{grid-template-columns:1fr}.layer-flow article:nth-child(3){transform:none}.practice-pair{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,1fr)}.intelligence-grid,.commercial-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.adaptation-band,.gap-editorial,.adaptation-layer,.method-strip,.ecosystem,.intelligence-preview,.commercial-ladder{padding:82px 22px}.tension-list p{grid-template-columns:1fr;gap:8px}.method-grid,.intelligence-grid,.lab-grid,.commercial-grid{grid-template-columns:1fr}.practice-card{min-height:0;padding:82px 22px}.practice-card h2{font-size:clamp(42px,12vw,52px)}.capability-list{columns:1}.adaptation-band h2,.gap-editorial h2,.adaptation-layer h2,.ecosystem h2,.intelligence-preview h2{max-width:100%;font-size:clamp(42px,12vw,52px)}.ecosystem p,.ecosystem-list,.ecosystem-list span{max-width:100%;overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.layer-flow article:nth-child(3){transform:none}}
html[lang="vi"] .adaptation-band h2,html[lang="vi"] .gap-editorial h2,html[lang="vi"] .adaptation-layer h2,html[lang="vi"] .ecosystem h2,html[lang="vi"] .intelligence-preview h2,html[lang="vi"] .layer-flow h2,html[lang="vi"] .layer-flow h3,html[lang="vi"] .practice-card h2,html[lang="vi"] .method-grid h3,html[lang="vi"] .method-grid h2,html[lang="vi"] .intelligence-grid h3,html[lang="vi"] .intelligence-grid h2,html[lang="vi"] .commercial-grid h3,html[lang="vi"] .commercial-grid h2,html[lang="vi"] .adaptation-lab h3,html[lang="vi"] .lab-result strong{font-family:"Playfair Display",Georgia,serif}

.gap-editorial .hero-index,.adaptation-layer .hero-index,.method-strip .hero-index,.evidence-story .hero-index,.ecosystem .hero-index,.intelligence-preview .hero-index{position:static;margin:0 0 28px}

/* ---- Section 18: site-wide microinteractions (restrained refinement pass) ---- */
.practice-card a{border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s ease,opacity .2s ease}
.practice-card a:hover,.practice-card a:focus-visible{border-color:currentColor;opacity:.75;outline:0}
.practice-card a:focus-visible{outline:2px solid var(--signal);outline-offset:4px;opacity:1}
.lab-controls input[type=range],.lab-controls input[type=checkbox]{accent-color:var(--signal)}
.lab-controls input:focus-visible,.lab-controls select:focus-visible,.lab-controls textarea:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.practice-card a{transition:none}}

/* BH-2026-010: selective major-title casing. */
.adaptation-band h2,.gap-editorial>header h2,.adaptation-layer>h2,.ecosystem h2,.intelligence-preview h2,.practice-card h2{text-transform:uppercase}
html[lang="vi"] .adaptation-band h2,html[lang="vi"] .gap-editorial>header h2,html[lang="vi"] .adaptation-layer>h2,html[lang="vi"] .ecosystem h2,html[lang="vi"] .intelligence-preview h2,html[lang="vi"] .practice-card h2{line-height:.98;letter-spacing:-.02em}

.adaptation-band h2,.gap-editorial h2,.adaptation-layer h2,.ecosystem h2,.intelligence-preview h2,.practice-card h2,.layer-flow h3,.method-grid h3,.intelligence-grid h3,.commercial-grid h3,.adaptation-lab h2{
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.layer-flow small,.practice-card small,.method-strip small,.intelligence-grid small,.commercial-grid small{
  font-family:Manrope,Arial,sans-serif;
  font-size:12px;
  font-style:normal;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
  -webkit-text-stroke:0;
  text-shadow:none;
  mix-blend-mode:normal;
  filter:none;
  mask:none;
  clip-path:none;
  transform:none;
  opacity:1;
  -webkit-font-smoothing:auto;
}

@media (min-width:1025px){
  .ecosystem h2{font-size:clamp(50px,3.8vw,72px)}
}

@media (min-width:1025px) and (max-width:1280px){
  .ecosystem{grid-template-columns:1fr;gap:46px}
  .ecosystem h2{max-width:760px}
}

.gap-editorial>header h2 .headline-line{display:block;white-space:nowrap}

@media (min-width:621px){
  .gap-editorial>header h2{font-size:clamp(58px,4.2vw,72px)}
}

@media (max-width:620px){
  .gap-editorial>header h2 .headline-line{white-space:normal}
}

/* Keep the Lab Preview promise concise and separate its two sentences. */
.lab-preview h2 .lab-headline-line{
  display:block;
  white-space:nowrap;
}

.lab-preview h2 .lab-headline-line--second{
  margin-top:.14em;
}

.lab-preview>div{min-width:0}

/* Final Art Director rhythm pass: preserve the approved system while giving
   the long-form homepage a clearer cadence between major editorial ideas. */
@media (min-width:901px){
  .gap-editorial,.adaptation-layer,.method-strip,.intelligence-preview,.ecosystem{
    padding-block:clamp(104px,10.5vw,164px);
  }
  .practice-card{padding-block:clamp(104px,10vw,154px)}
  .adaptation-layer>h2,.intelligence-preview>h2{max-width:1080px}
  .adaptation-layer>h2{margin-bottom:clamp(58px,6vw,88px)}
  .intelligence-preview>p{margin-top:clamp(30px,3.2vw,48px)}
  .intelligence-grid{margin-top:clamp(54px,5.5vw,82px)}
  .ecosystem>div:last-child>p{margin-top:0;margin-bottom:clamp(36px,4vw,56px)}
}

@media (max-width:900px){
  .gap-editorial,.adaptation-layer,.method-strip,.intelligence-preview,.ecosystem{
    padding-block:clamp(88px,13vw,116px);
  }
  .adaptation-layer>h2{margin-bottom:54px}
  .intelligence-preview>p{margin-top:28px}
  .intelligence-grid{margin-top:48px}
}

@media (min-width:901px){
  .lab-preview h2{font-size:clamp(50px,3.7vw,68px)}
}

@media (max-width:900px){
  .lab-preview{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:600px){
  .lab-preview{overflow:hidden}
  .lab-preview h2{font-size:clamp(38px,10.5vw,48px);line-height:.9}
  .lab-preview h2 .lab-headline-line{white-space:normal}
  .lab-preview p{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

/* Lab Preview: quiet orbital motion with a layered hover response. */
.lab-orbit{
  isolation:isolate;
  cursor:crosshair;
  transition:border-color .55s ease,box-shadow .55s ease;
}

.lab-orbit:before{animation:lab-orbit-wide 18s ease-in-out infinite alternate}
.lab-orbit:after{animation:lab-orbit-tall 22s ease-in-out infinite alternate}

.lab-orbit strong,.lab-orbit span,.lab-orbit i{
  position:relative;
  z-index:1;
  transition:transform .55s cubic-bezier(.2,.75,.2,1),color .4s ease,opacity .4s ease;
}

.lab-orbit i{animation:lab-orbit-pulse 2.8s ease-in-out infinite}

@media (hover:hover) and (pointer:fine){
  .lab-orbit:hover{
    border-color:#2d292688;
    box-shadow:0 0 0 1px #2d29260f,0 24px 70px #2d292612;
  }

  .lab-orbit:hover strong{transform:scale(1.12)}
  .lab-orbit:hover span{color:var(--k);transform:scale(1.28)}
  .lab-orbit:hover span:first-of-type{transform:translateX(-10px) scale(1.28)}
  .lab-orbit:hover span:last-of-type{transform:translateX(10px) scale(1.28)}
  .lab-orbit:hover i{transform:scale(1.65)}
  .lab-orbit:hover:before{animation-duration:7s}
  .lab-orbit:hover:after{animation-duration:9s}
}

@keyframes lab-orbit-wide{
  from{transform:rotate(-22deg) scale(.98)}
  to{transform:rotate(-14deg) scale(1.025)}
}

@keyframes lab-orbit-tall{
  from{transform:rotate(17deg) scale(1.02)}
  to{transform:rotate(25deg) scale(.985)}
}

@keyframes lab-orbit-pulse{
  0%,100%{box-shadow:0 0 0 0 #ef3b2d00}
  50%{box-shadow:0 0 0 7px #ef3b2d1f}
}

@media (prefers-reduced-motion:reduce){
  .lab-orbit:before,.lab-orbit:after,.lab-orbit i{animation:none}
  .lab-orbit,.lab-orbit strong,.lab-orbit span,.lab-orbit i{transition:none}
}

/* Vietnamese editorial line logic: preserve complete meaning units. */
.journey-headline-line,.market-model-line,.hero-headline-line,.closing-line{
  display:block;
}

@media (min-width:821px){
  html[lang="vi"] .journey-headline{font-size:clamp(64px,6.5vw,106px);line-height:.9}
  html[lang="vi"] .journey-headline-line,
  html[lang="vi"] .market-model-line,
  html[lang="vi"] .hero-headline-line,
  html[lang="vi"] .closing-line{white-space:nowrap}
  html[lang="vi"] .market-model-headline{font-size:clamp(58px,5.6vw,94px);line-height:.9}
  html[lang="vi"] .enterprise-hero .hero-headline-vi{font-size:clamp(58px,6.1vw,98px);line-height:.86}
  html[lang="vi"] .closing .closing-headline{font-size:clamp(74px,8.6vw,140px);line-height:.82}
}

@media (max-width:820px){
  html[lang="vi"] .journey-headline-line,
  html[lang="vi"] .market-model-line{white-space:normal}
  html[lang="vi"] .enterprise-hero .hero-headline-vi{font-size:clamp(40px,10.5vw,50px);line-height:.9}
  html[lang="vi"] .hero-headline-line{white-space:nowrap}
  html[lang="vi"] .closing .closing-headline{font-size:clamp(40px,10vw,56px);line-height:.86}
  html[lang="vi"] .closing-line{white-space:nowrap}
}

/* Make the homepage conversion row unmistakably actionable. */
.closing>a{
  cursor:pointer;
  transition:padding .35s ease,background-color .35s ease,color .35s ease;
}

.closing-cta-copy small{
  margin-left:1.4em;
  font:500 9px/1 var(--o);
  letter-spacing:.12em;
  opacity:.74;
}

.closing>a>span:last-child{transition:transform .35s ease}

@media (hover:hover) and (pointer:fine){
  .closing>a:hover,.closing>a:focus-visible{padding-inline:18px;background:#2d2926;color:var(--ivory);outline:0}
  .closing>a:hover>span:last-child,.closing>a:focus-visible>span:last-child{transform:translate(4px,-4px)}
}

@media (max-width:600px){
  .closing-cta-copy small{display:block;margin:7px 0 0}
}

/* Labs: selected decisions and the public-narrative input use Signal Red. */
.adaptation-lab[data-lab="marketing-model"] select{
  min-height:44px;
  padding:8px 12px;
  border:1px solid rgba(45,41,38,.28);
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}

.adaptation-lab[data-lab="marketing-model"] select.is-selected{
  color:var(--ivory);
  background:var(--signal);
  border-color:var(--signal);
}

.adaptation-lab[data-lab="brand-mirror"] .lab-controls label{
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(260px,.58fr);
  gap:20px;
  align-items:center;
}

.adaptation-lab[data-lab="brand-mirror"] textarea{
  width:100%;
  max-width:500px;
  min-height:112px;
  padding:14px 16px;
  resize:vertical;
  color:var(--ivory);
  background:var(--signal);
  border:1px solid var(--signal);
  border-radius:0;
  font:500 15px/1.45 Manrope,Arial,sans-serif;
}

.adaptation-lab[data-lab="brand-mirror"] textarea::placeholder{color:#f3f0e8bf}

@media (max-width:620px){
  .adaptation-lab[data-lab="brand-mirror"] .lab-controls label{grid-template-columns:1fr}
  .adaptation-lab[data-lab="brand-mirror"] textarea{max-width:100%;min-height:104px}
}
