.home-v2-main { position: relative; z-index: 1; }
.home-v2-main :is(h1,h2,h3,p) { overflow-wrap: normal; word-break: normal; hyphens: none; }
.home-v2-main :is(a,button):focus-visible { outline: 3px solid #78dcff; outline-offset: 4px; }
.home-v2-hero { position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); align-items: center; gap: clamp(32px,4.5vw,86px); min-height: min(780px,calc(100svh - 110px)); padding: 65px clamp(12px,2.3vw,40px) 92px; isolation: isolate; }
.home-v2-hero::before { position: absolute; z-index: -1; inset: 0 -4vw 6%; content: ""; background: radial-gradient(ellipse at 12% 34%,rgba(15,134,250,.16),transparent 47%),radial-gradient(ellipse at 76% 52%,rgba(100,67,217,.15),transparent 42%); pointer-events: none; }
.home-v2-hero-copy { position: relative; z-index: 3; min-width: 0; }
.home-v2-overline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #92e4ea; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.home-v2-overline [data-home-v2="heroRegion"] { color: #aebdd6; font-weight: 700; letter-spacing: .05em; }
.home-v2-overline-line { width: 28px; height: 2px; border-radius: 2px; background: linear-gradient(90deg,#30c4ff,#7a64ff); }
.home-v2-hero h1 { max-width: 830px; margin: 28px 0 0; color: #f7fbff; font-size: clamp(50px,5vw,82px); font-weight: 900; line-height: .99; letter-spacing: -.064em; text-wrap: balance; }
.home-v2-hero h1 span,.home-v2-hero h1 strong { display: block; }
.home-v2-hero h1 strong { margin-top: 7px; background: linear-gradient(110deg,#2dd0ff,#4e9bff 42%,#9a77ff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.home-v2-hero-lead { max-width: 620px; margin: 27px 0 0; color: #c7d4e7; font-size: clamp(17px,1.3vw,20px); line-height: 1.55; }
.home-v2-hero-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 37px; }
.home-v2-action { display: flex; align-items: center; min-width: 0; min-height: 72px; gap: 12px; padding: 14px 16px; border: 1px solid rgba(95,197,255,.38); border-radius: 17px; color: #f7fbff; background: linear-gradient(135deg,rgba(19,75,133,.9),rgba(20,37,75,.95)); box-shadow: 0 16px 42px rgba(0,0,0,.18); font-size: 14px; font-weight: 800; line-height: 1.2; transition: border-color .2s,transform .2s; }
.home-v2-action:hover { transform: translateY(-3px); border-color: #7fdbff; }
.home-v2-action-media { border-color: rgba(161,135,255,.4); background: linear-gradient(135deg,rgba(41,42,102,.85),rgba(29,35,72,.95)); }
.home-v2-action-number { flex: 0 0 auto; align-self: flex-start; color: #8ce4e9; font-size: 11px; }
.home-v2-action > span:last-child { flex: 0 0 auto; margin-left: auto; color: #86dfff; font-size: 23px; font-weight: 400; }
.home-v2-hero-footnote { display: flex; align-items: center; gap: 11px; margin: 26px 0 0; color: #90a8c6; font-size: 12px; }
.home-v2-status-dot { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #6be7dc; box-shadow: 0 0 0 5px rgba(88,228,222,.1),0 0 18px rgba(88,228,222,.8); }
.home-v2-hero .home-hero-window { min-height: clamp(480px,43vw,625px); }
.home-v2-hero .home-window-panel h2 { max-width: 16ch; font-size: clamp(26px,2.8vw,41px); }
.home-v2-section-index { display: block; color: #7fddd6; font-size: 11px; font-weight: 900; letter-spacing: .17em; line-height: 1.3; text-transform: uppercase; }
.home-v2-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 20px 64px; align-items: end; margin: 0 clamp(12px,2.3vw,40px); padding: 43px 0 73px; border-top: 1px solid rgba(130,184,232,.24); }
.home-v2-intro > .home-v2-section-index { grid-column: 1/-1; }
.home-v2-intro h2 { max-width: 980px; margin: 0; font-size: clamp(36px,4vw,66px); line-height: 1.06; letter-spacing: -.05em; text-wrap: balance; }
.home-v2-intro > p { max-width: 560px; margin: 0 0 7px; color: var(--muted); font-size: clamp(16px,1.35vw,20px); line-height: 1.55; }
.home-v2-pathways { padding: 58px clamp(24px,4vw,66px) 88px; border: 1px solid rgba(118,162,218,.24); border-radius: 36px; color: #f7fbff; background: linear-gradient(145deg,rgba(13,27,48,.94),rgba(15,19,36,.94)); box-shadow: 0 28px 80px rgba(0,0,0,.18); }
.home-v2-section-heading { max-width: 920px; }
.home-v2-section-heading h2 { margin: 15px 0 0; font-size: clamp(40px,4.4vw,68px); line-height: 1.04; letter-spacing: -.05em; text-wrap: balance; }
.home-v2-section-heading > p { max-width: 720px; margin: 17px 0 0; color: #acbdd3; font-size: 18px; line-height: 1.55; }
.home-v2-path-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 41px; }
.home-v2-path { display: flex; flex-direction: column; min-width: 0; min-height: 440px; overflow: hidden; border: 1px solid rgba(75,181,243,.32); border-radius: 28px; color: #f7fbff; background: radial-gradient(circle at 100% 0,rgba(43,149,239,.22),transparent 36%),linear-gradient(150deg,#0c243d,#0d1c31 76%); transition: transform .25s,border-color .25s,box-shadow .25s; }
.home-v2-path:hover { transform: translateY(-5px); border-color: rgba(125,216,255,.7); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.home-v2-path-media { border-color: rgba(145,125,243,.34); background: radial-gradient(circle at 100% 0,rgba(133,91,243,.24),transparent 38%),linear-gradient(150deg,#1b2040,#111a2e 76%); }
.home-v2-path-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 27px 31px 0; color: #97dce8; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.home-v2-path-top img { width: 74px; height: 74px; object-fit: contain; filter: drop-shadow(0 12px 21px rgba(0,0,0,.25)); }
.home-v2-path-body { padding: 7px 31px 30px; }
.home-v2-path h3 { max-width: 570px; margin: 0; font-size: clamp(30px,3vw,46px); line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.home-v2-path-body > p { max-width: 560px; margin: 16px 0 0; color: #bbccdf; font-size: 16px; line-height: 1.55; }
.home-v2-path ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 23px 0 0; padding: 0; list-style: none; }
.home-v2-path li { padding: 7px 10px; border: 1px solid rgba(146,209,255,.21); border-radius: 99px; color: #cfdeec; background: rgba(255,255,255,.045); font-size: 11px; font-weight: 750; }
.home-v2-path-link { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding: 18px 31px; border-top: 1px solid rgba(151,203,237,.17); color: #8fe7f5; font-size: 14px; font-weight: 850; }
.home-v2-path-link span:last-child { font-size: 24px; font-weight: 400; }
.home-v2-koos-intro { max-width: 980px; padding: 105px clamp(12px,2.3vw,40px) 30px; }
.home-v2-koos-intro h2 { margin: 16px 0 0; font-size: clamp(38px,4.7vw,74px); line-height: 1.04; letter-spacing: -.052em; text-wrap: balance; }
.home-v2-koos-intro p { max-width: 670px; margin: 18px 0 0; color: var(--muted); font-size: 18px; line-height: 1.55; }
.home-v2-main .home-koos-section { padding: 28px clamp(12px,2.3vw,40px) 108px; }
.home-v2-process { padding: 70px clamp(12px,2.3vw,40px) 110px; border-top: 1px solid rgba(122,177,229,.22); }
.home-v2-process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; margin-top: 40px; }
.home-v2-process-grid article { min-height: 250px; padding: 30px; border: 1px solid rgba(131,177,224,.2); border-radius: 24px; background: linear-gradient(145deg,rgba(26,44,70,.65),rgba(17,24,42,.65)); }
.home-v2-process-grid article > span { color: #79dbe8; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.home-v2-process-grid h3 { margin: 42px 0 0; font-size: clamp(24px,2.15vw,34px); line-height: 1.1; letter-spacing: -.035em; }
.home-v2-process-grid p { max-width: 370px; margin: 12px 0 0; color: #aec0d5; font-size: 15px; line-height: 1.5; }
.home-v2-contact { display: flex; align-items: end; justify-content: space-between; gap: 25px 60px; margin: 0 clamp(12px,2.3vw,40px) 90px; padding: clamp(38px,5vw,72px); border: 1px solid rgba(106,211,251,.4); border-radius: 34px; color: #f8fbff; background: radial-gradient(circle at 82% 18%,rgba(124,93,245,.3),transparent 38%),linear-gradient(120deg,#0d2c48,#122750 58%,#262357); box-shadow: 0 25px 75px rgba(0,24,64,.22); }
.home-v2-contact h2 { max-width: 860px; margin: 14px 0 0; font-size: clamp(38px,4.5vw,72px); line-height: 1.04; letter-spacing: -.05em; text-wrap: balance; }
.home-v2-contact p { max-width: 680px; margin: 16px 0 0; color: #c7d8ec; font-size: 17px; line-height: 1.5; }
.home-v2-contact-link { display: flex; align-items: center; justify-content: space-between; flex: 0 0 225px; min-height: 66px; padding: 15px 20px; border-radius: 16px; color: #071931; background: #f5fbff; font-size: 14px; font-weight: 900; transition: transform .2s,background .2s; }
.home-v2-contact-link:hover { transform: translateY(-3px); background: #c3f0ff; }
.home-v2-contact-link span:last-child { font-size: 24px; font-weight: 400; }
body.light .home-v2-hero { margin-top: 16px; border-radius: 32px; color: #f7fbff; background: linear-gradient(125deg,#081a31,#14264a 78%); }
body.light .home-v2-intro,body.light .home-v2-koos-intro { color: #10243d; }
body.light .home-v2-process-grid article { color: #142942; background: rgba(255,255,255,.8); }
body.light .home-v2-process-grid p { color: #526781; }
@media (max-width: 1100px) {
  .home-v2-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 26px; }
  .home-v2-hero h1 { font-size: clamp(44px,4.6vw,63px); }
  .home-v2-hero-actions { grid-template-columns: 1fr; }
  .home-v2-action { min-height: 61px; }
  .home-v2-hero .home-hero-window { min-height: 530px; }
}
@media (max-width: 860px) {
  .home-v2-hero { grid-template-columns: 1fr; gap: 26px; min-height: 0; padding: 48px 8px 72px; }
  .home-v2-hero-copy { max-width: 750px; }
  .home-v2-hero h1 { font-size: clamp(45px,7.2vw,74px); }
  .home-v2-hero-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-v2-hero .home-hero-window { min-height: 500px; }
  .home-v2-intro { grid-template-columns: 1fr; }
  .home-v2-pathways { padding: 44px 27px 55px; }
  .home-v2-path h3 { font-size: 31px; }
  .home-v2-path-body,.home-v2-path-top,.home-v2-path-link { padding-left: 22px; padding-right: 22px; }
  .home-v2-contact { align-items: start; flex-direction: column; }
  .home-v2-contact-link { flex: 0 0 auto; width: min(100%,285px); }
}
@media (max-width: 640px) {
  .home-v2-hero { padding: 26px 0 52px; }
  .home-v2-overline { gap: 7px; font-size: 9px; }
  .home-v2-overline-line { width: 18px; }
  .home-v2-hero h1 { margin-top: 20px; font-size: clamp(39px,10.4vw,59px); line-height: 1.01; letter-spacing: -.055em; }
  .home-v2-hero-lead { margin-top: 22px; font-size: 16px; }
  .home-v2-hero-actions { grid-template-columns: 1fr; gap: 9px; margin-top: 26px; }
  .home-v2-action { min-height: 60px; }
  .home-v2-hero-footnote { margin-top: 18px; }
  .home-v2-hero .home-hero-window { min-height: 400px; border-radius: 24px; }
  .home-v2-hero .home-window-panel { right: 14px; bottom: 37px; left: 14px; padding: 16px; border-radius: 17px; }
  .home-v2-hero .home-window-panel h2 { margin: 8px 0 11px; font-size: 26px; }
  .home-v2-hero .home-window-panel li { font-size: 10px; padding: 5px 8px; }
  .home-v2-hero .home-slide-dots { right: 18px; bottom: 16px; }
  .home-v2-intro { margin: 0; padding: 35px 0 60px; }
  .home-v2-intro h2 { font-size: clamp(32px,8.2vw,47px); }
  .home-v2-intro > p { font-size: 16px; }
  .home-v2-pathways { padding: 30px 16px 22px; border-radius: 25px; }
  .home-v2-section-heading h2 { font-size: 38px; }
  .home-v2-section-heading > p { font-size: 15px; }
  .home-v2-path-grid { grid-template-columns: 1fr; gap: 13px; margin-top: 27px; }
  .home-v2-path { min-height: 0; border-radius: 22px; }
  .home-v2-path-top { padding-top: 20px; }
  .home-v2-path-top img { width: 55px; height: 55px; }
  .home-v2-path-body { padding-bottom: 22px; }
  .home-v2-path h3 { font-size: clamp(28px,7vw,38px); }
  .home-v2-path-body > p { font-size: 14px; }
  .home-v2-path ul { margin-top: 18px; }
  .home-v2-koos-intro { padding: 72px 0 4px; }
  .home-v2-koos-intro h2 { font-size: clamp(36px,8.5vw,50px); }
  .home-v2-koos-intro p { font-size: 16px; }
  .home-v2-main .home-koos-section { padding: 22px 0 75px; }
  .home-v2-process { padding: 51px 0 70px; }
  .home-v2-process-grid { grid-template-columns: 1fr; gap: 11px; margin-top: 27px; }
  .home-v2-process-grid article { min-height: 0; padding: 21px; border-radius: 19px; }
  .home-v2-process-grid h3 { margin-top: 16px; font-size: 25px; }
  .home-v2-process-grid p { margin-top: 7px; font-size: 14px; }
  .home-v2-contact { margin: 0 0 54px; padding: 29px 22px; border-radius: 25px; }
  .home-v2-contact h2 { font-size: clamp(36px,8.8vw,52px); }
  .home-v2-contact p { font-size: 15px; }
  .home-v2-contact-link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .home-v2-action,.home-v2-path,.home-v2-contact-link { transition: none; } }

/* A real photographic layer remains visible through the desktop glass panels. */
@media (min-width: 761px) {
  body.home-redesign::before {
    inset: -3px; opacity: 1; mask-image: none;
    background-image: linear-gradient(110deg,rgba(3,12,27,.86),rgba(4,16,34,.67) 60%,rgba(5,12,27,.78)),url('/assets/marketing/speed-v488/workspace.webp');
    background-size: cover; background-position: center; filter: blur(1.5px); 
  }
  body.light.home-redesign::before { background-image: linear-gradient(110deg,rgba(239,246,255,.88),rgba(231,242,253,.74)),url('/assets/marketing/speed-v488/workspace.webp'); }
  .home-v2-pathways { background: linear-gradient(145deg,rgba(13,27,48,.68),rgba(15,19,36,.72)); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
  .home-v2-path { background: linear-gradient(145deg,rgba(12,36,61,.72),rgba(13,28,49,.66)); }
  .home-v2-path-media { background: linear-gradient(145deg,rgba(35,30,68,.74),rgba(17,26,46,.66)); }
  .home-v2-process-grid article { backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
  .home-v2-contact { background: linear-gradient(120deg,rgba(13,44,72,.85),rgba(38,35,87,.78)); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
  .home-v2-hero .marketing-atmosphere { display: none; }
}
/* Keep both devices in the compact mobile brand card. Scale the whole phone,
   including its localized screen, so the perspective stays aligned. */
@media (max-width: 720px) {
  .home-v2-main .home-koos-showcase { min-height: 258px; }
  .home-v2-main .home-koos-scene { min-height: 258px; }
  .home-v2-main .home-koos-laptop { top: 91px; left: 5%; right: 20%; height: 139px; }
  .home-v2-main .home-koos-laptop-base { left: 2%; right: 17%; bottom: 20px; }
  .home-v2-main .home-koos-laptop-content { padding: 13px 36px 13px 12px; }
  .home-v2-main .home-koos-laptop-content small { font-size: 6px; }
  .home-v2-main .home-koos-laptop-content strong { font-size: 15px; }
  .home-v2-main .home-koos-phone { display: block; width: 263px; top: 15px; right: -48px; transform: scale(.59); transform-origin: top center; filter: drop-shadow(-12px 18px 16px rgba(0,0,0,.5)); }
}

/* Light theme: layered glass, with dark text and distinct blue/violet edges. */
body.light .home-v2-main { --muted: #435974; }
body.light .home-v2-hero,
body.light .home-v2-pathways,
body.light .home-v2-contact,
body.light .home-v2-main .home-koos-showcase {
  color: #142a43;
  background: linear-gradient(135deg,rgba(255,255,255,.78),rgba(225,239,253,.54));
  border: 1px solid rgba(111,147,183,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95),0 18px 48px rgba(32,63,100,.12);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
body.light .home-v2-hero { padding-left: clamp(18px,2.3vw,40px); padding-right: clamp(18px,2.3vw,40px); }
body.light .home-v2-hero h1 { color: #102840; }
body.light .home-v2-hero h1 strong { background-image: linear-gradient(110deg,#0075ad,#265ec6 48%,#6741b7); }
body.light :is(.home-v2-hero-lead,.home-v2-section-heading > p,.home-v2-path-body > p,.home-v2-contact p,.home-v2-main .home-koos-lead) { color: #3c526d; }
body.light :is(.home-v2-overline,.home-v2-section-index,.home-v2-path-top,.home-v2-process-grid article > span,.home-v2-main .home-koos-kicker) { color: #086980; }
body.light :is(.home-v2-overline [data-home-v2="heroRegion"],.home-v2-hero-footnote) { color: #4a607a; }
body.light .home-v2-action { color: #123653; background: linear-gradient(130deg,rgba(220,244,255,.9),rgba(245,251,255,.72)); border-color: #8ab8d4; box-shadow: inset 0 1px 0 white,0 8px 20px rgba(34,89,131,.1); }
body.light .home-v2-action-media { background: linear-gradient(130deg,rgba(232,228,255,.88),rgba(250,248,255,.72)); border-color: #b4a5d9; }
body.light :is(.home-v2-action-number,.home-v2-action > span:last-child) { color: #086a96; }
body.light .home-v2-path { color: #142a43; background: linear-gradient(145deg,rgba(230,247,255,.83),rgba(255,255,255,.6)); border-color: rgba(58,140,184,.48); box-shadow: inset 0 1px 0 white,0 10px 24px rgba(35,75,111,.09); }
body.light .home-v2-path-media { background: linear-gradient(145deg,rgba(235,229,255,.8),rgba(255,255,255,.6)); border-color: rgba(126,99,178,.42); }
body.light .home-v2-path li { color: #354d68; background: rgba(255,255,255,.62); border-color: rgba(104,137,172,.35); }
body.light .home-v2-path-link { color: #075d91; border-color: rgba(85,129,171,.25); background: rgba(255,255,255,.3); }
body.light .home-v2-process-grid article { background: linear-gradient(135deg,rgba(255,255,255,.82),rgba(229,242,255,.55)); border-color: rgba(101,143,184,.42); box-shadow: inset 0 1px 0 white,0 12px 28px rgba(40,70,110,.09); }
body.light .home-v2-contact-link { color: white; background: linear-gradient(110deg,#0875be,#5746ba); box-shadow: 0 8px 22px rgba(46,82,152,.2); }
body.light .home-v2-contact-link:hover { background: linear-gradient(110deg,#065d9b,#443493); }
body.light .home-v2-hero .home-window-panel { background: rgba(244,250,255,.84); border-color: rgba(255,255,255,.86); box-shadow: 0 14px 34px rgba(7,27,46,.2); }
body.light .home-v2-hero .home-window-panel h2 { color: #142a43; }
body.light .home-v2-hero .home-window-panel > span { color: #086980; }
body.light .home-v2-hero .home-window-panel li { color: #274663; background: rgba(255,255,255,.6); border-color: rgba(101,143,184,.4); }
body.light .home-v2-main .home-koos-wordmark { content: url('/assets/koos/wordmark-light.png'); }
/* The miniature website screens retain their own dark interface. */
body.light .home-v2-main .home-koos-laptop-content { color: #f7fbff; }
@media (max-width: 640px) {
  body.light .home-v2-hero h1 { font-size: clamp(33px,9vw,53px); }
}
