/* Why Kydosa: enterprise requirements paired with our practical approach. */
.pov-opening { padding-block:72px 46px; }
.pov-opening h1 { font-size:clamp(44px,5.6vw,78px); max-width:1100px; }
.pov-opening .page-lead { max-width:700px; margin-top:26px; }
.pov-opening-foot { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-top:42px; padding-top:22px; border-top:1px solid #fff9; }
.pov-opening-foot>span { font-size:10px; font-weight:700; letter-spacing:.13em; color:var(--muted); }
.pov-opening-foot .text-link { font-size:12px; }
.pov-visual { display:none; }
.pov-chapter { padding-block:28px 54px; scroll-margin-top:30px; }
.pov-inline-image { position:relative; aspect-ratio:6/5; background:#021a16; border-radius:18px; overflow:hidden; margin-bottom:30px; }
.pov-inline-image img { width:100%; height:auto; }
.pov-chapter-copy h2 { font-size:clamp(32px,3.15vw,46px); letter-spacing:-.035em; line-height:1.15; margin-block:18px 24px; }
.pov-chapter-copy>p:not(.eyebrow) { font-size:16px; line-height:1.8; margin-bottom:18px; color:var(--muted); }
.pov-copy-part { margin-top:24px; }
.pov-copy-part h3 { margin:0 0 9px; font-size:10px; line-height:1.5; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); }
.pov-copy-part p { margin:0; font-size:15px; line-height:1.8; color:var(--muted); }
.pov-kydosa-part h3 { color:var(--teal); }
.pov-kydosa-part p { color:var(--ink); }
.pov-takeaway { font-size:13px; font-weight:700; color:var(--teal); padding-left:16px; border-left:2px solid var(--teal); margin-top:26px; }
.pov-control-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.pov-control-tags span { background:#fff8; border:1px solid #fffe; border-radius:30px; padding:8px 17px; font-size:12px; font-weight:700; color:var(--teal); }
.pov-human-skills { list-style:none; margin:25px 0 0; padding:0; }
.pov-human-skills li { border-top:1px solid #38233f12; padding:13px 0; display:flex; flex-direction:column; gap:2px; }
.pov-human-skills strong { font-size:14px; }
.pov-human-skills span { font-size:13px; color:var(--muted); }
.pov-motion { display:none; flex:none; width:42px; height:42px; border-radius:50%; border:1px solid #fff; color:var(--ink); background:#ffffff94; align-items:center; justify-content:center; transition:background .2s; }
.pov-motion:hover { background:white; }
.pov-motion svg { width:16px; height:16px; }
.pov-enhanced .pov-motion { display:inline-flex; }
.pov-worktypes { padding-block:76px 80px; }
.pov-worktypes-heading { position:relative; display:grid; grid-template-columns:1.1fr 1fr; column-gap:70px; align-items:end; }
.pov-worktypes-heading .pov-motion { position:absolute; right:0; top:-12px; }
.pov-worktypes-heading .eyebrow { grid-column:1/-1; margin-bottom:20px; }
.pov-worktypes-heading h2 { font-size:clamp(38px,4.7vw,64px); letter-spacing:-.035em; }
.pov-worktypes-heading>p:not(.eyebrow) { color:var(--muted); font-size:16px; max-width:360px; padding-bottom:5px; }
.worktype-tabs { display:none; }
.pov-enhanced .worktype-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:42px; border-bottom:1px solid #38233f21; }
.worktype-tabs button { background:transparent; color:var(--muted); text-align:left; padding:20px 20px 22px; border:0; border-bottom:3px solid transparent; font-size:clamp(15px,1.6vw,21px); font-weight:700; transition:background .25s,color .25s,border-color .25s; }
.worktype-tabs button:first-child { padding-left:0; }
.worktype-tabs button span { display:block; font-size:9px; font-weight:400; letter-spacing:.13em; margin-bottom:8px; }
.worktype-tabs button[aria-selected="true"] { color:var(--teal); border-bottom-color:var(--teal); }
.worktype-tabs button:hover { background:#ffffff48; }
.worktype-panel { display:grid; grid-template-columns:1fr 1.12fr; min-height:445px; margin-top:28px; border:1px solid #fff; border-radius:18px; overflow:hidden; background:#ffffff7a; box-shadow:0 14px 40px #38233f06; }
.worktype-copy { padding:clamp(28px,3.5vw,48px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.worktype-copy h3 { margin:16px 0 22px; font-size:clamp(27px,3vw,40px); line-height:1.18; letter-spacing:-.025em; }
.worktype-copy>p:not(.eyebrow) { font-size:15px; color:var(--muted); line-height:1.8; margin-bottom:15px; }
.worktype-note { font-size:11px; font-weight:700; color:var(--teal); border-top:1px solid #087f7325; padding-top:18px; margin-top:10px; }
.worktype-visual { position:relative; min-width:0; min-height:360px; overflow:hidden; background:#edece1; isolation:isolate; }
.worktype-visual>img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.worktype-glass-note,.worktype-flow { position:absolute; bottom:30px; left:28px; right:28px; border:1px solid #fff; background:#ffffffe0; backdrop-filter:blur(15px); border-radius:10px; padding:16px 20px; font-size:13px; font-weight:700; }
.worktype-flow { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.worktype-flow i { height:1px; flex:1; position:relative; background:#087f7344; }
.worktype-flow i::after { content:""; position:absolute; top:-2px; left:0; width:5px; height:5px; background:var(--teal); border-radius:50%; animation:povFlow 2.7s ease-in-out infinite; animation-play-state:paused; }
.worktype-flow i:nth-of-type(2)::after { animation-delay:.7s; }
.pov-worktypes.is-in-view .worktype-flow i::after { animation-play-state:running; }
@keyframes povFlow { 0% { left:0; opacity:0; } 20%,75% { opacity:1; } 100% { left:100%; opacity:0; } }
.workers-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#f9f7ef18,#f9f7efd6 75%); z-index:-1; }
.worktype-visual>img.workers-backdrop { opacity:.68; z-index:-2; }
.pov-workers { position:absolute; inset:0; display:flex; gap:14px; justify-content:center; align-items:center; padding:28px; }
.pov-workers figure { flex:1; max-width:112px; min-width:0; margin:0; border:1px solid #fff; padding:5px; border-radius:80px 80px 12px 12px; background:#ffffffa6; box-shadow:0 15px 28px #38233f14; }
.pov-workers figure:nth-child(2) { transform:translateY(-22px); }
.pov-workers video { width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; border-radius:70px 70px 8px 8px; display:block; }
.pov-workers figcaption { text-align:center; padding-block:10px 7px; font-size:13px; font-weight:700; }
.pov-workers figcaption span { display:block; color:var(--muted); font-size:9px; font-weight:400; margin-top:2px; }
.workers-foundation { position:absolute; bottom:25px; left:15px; right:15px; text-align:center; font-size:8px; letter-spacing:.12em; color:var(--muted); font-weight:700; }
.pov-film-surface { position:relative; isolation:isolate; }
.pov-field { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; z-index:0; }
.pov-art { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
.pov-filaments { opacity:.5; }
.pov-image:not([data-scene="context"])::before,.pov-scene-control::before,.pov-scene-people::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 48%,#160e12b3,#160e1266 68%,transparent); z-index:1; pointer-events:none; }
.pov-gates { stroke-width:1.35; }
.pov-signal-flow { animation:povSignals 5s linear infinite; }
.pov-signal-flow path:nth-child(2) { opacity:.55; }
.pov-core-halo { transform-box:fill-box; transform-origin:center; animation:povBreathe 4s ease-in-out infinite; }
.pov-voice path { transform-box:fill-box; transform-origin:center; animation:povVoice 1.5s ease-in-out infinite alternate; }
.pov-voice path:nth-child(2n) { animation-delay:-.7s; }
.pov-voice path:nth-child(3n) { animation-delay:-.3s; }
.pov-signal-flow,.pov-core-halo,.pov-voice path { animation-play-state:paused; }
.pov-art-running .pov-signal-flow,.pov-art-running .pov-core-halo,.pov-art-running .pov-voice path { animation-play-state:running; }
.pov-image:not(.is-active) .pov-signal-flow,.pov-image:not(.is-active) .pov-core-halo,.pov-image:not(.is-active) .pov-voice path { animation-play-state:paused; }
.pov-film-surface .worktype-glass-note,.pov-film-surface .worktype-flow,.pov-workers,.workers-foundation { z-index:3; }
.workers-visual.pov-film-surface::after { z-index:1; background:linear-gradient(180deg,#160e1240,#160e12b3); pointer-events:none; }
.workers-visual.pov-film-surface .workers-foundation { color:#d6f0e4; }
.pov-film-surface .pov-workers figure { background:#f1fff3dd; border-color:#d6f0e4; }
@keyframes povSignals { to { stroke-dashoffset:-724; } }
@keyframes povBreathe { 50% { opacity:.42; transform:scale(1.2); } }
@keyframes povVoice { from { transform:scaleY(.45); } to { transform:scaleY(1.15); } }
.pov-focus { display:flex; justify-content:space-between; align-items:start; gap:30px; margin-top:36px; padding:28px 0 0; }
.pov-focus .eyebrow { margin-top:6px; }
.pov-focus>p { font-size:clamp(18px,2vw,25px); line-height:1.5; letter-spacing:-.025em; }
.pov-focus strong { color:var(--teal); }
@media(min-width:801px) {
 .pov-enhanced .pov-journey { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(36px,5.6vw,76px); align-items:start; }
 .pov-enhanced .pov-visual { display:block; position:sticky; top:104px; padding-top:22px; }
 .pov-enhanced .pov-stage { position:relative; height:min(57svh,560px); min-height:340px; isolation:isolate; overflow:hidden; border-radius:18px; border:1px solid #fff; background:#eeeadd; box-shadow:0 0 18px 4px #ffffff90; }
 .pov-image { position:absolute; inset:0; z-index:1; opacity:0; overflow:hidden; transition:opacity .85s ease; }
 .pov-image.is-active { opacity:1; }
 .pov-image img { width:100%; height:100%; object-fit:cover; transform:translate(var(--pov-x,0px),var(--pov-y,0px)) scale(1.04); transition:transform .7s ease-out; }
 .pov-glow { position:absolute; inset:-50%; background:linear-gradient(110deg,transparent 40%,#fff8 50%,transparent 60%); mix-blend-mode:soft-light; transform:translateX(-55%); animation:povLight 11s ease-in-out infinite; animation-play-state:paused; }
 .pov-journey.is-in-view .pov-image.is-active .pov-glow { animation-play-state:running; }
 .pov-streams { width:100%; height:100%; position:absolute; inset:0; opacity:.5; pointer-events:none; }
 .pov-streams path { stroke:#fff; stroke-width:1.4; stroke-linecap:round; stroke-dasharray:4 290; animation:povStream 9s linear infinite; animation-play-state:paused; }
 .pov-streams path:nth-child(2) { animation-delay:-4s; opacity:.55; }
 .pov-journey.is-in-view .pov-streams path { animation-play-state:running; }
 .pov-stage-caption { position:absolute; inset:auto 0 0; z-index:3; display:flex; gap:12px; flex-direction:column; padding:54px 28px 25px; color:#e4fff1; background:linear-gradient(transparent,#001b18ed); }
 .pov-scene-number { font-size:9px; letter-spacing:.15em; }
 .pov-scene-caption { font-size:15px; line-height:1.5; }
 .pov-stage-controls { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:16px; }
 .pov-scene-nav { display:flex; gap:3px; }
 .pov-scene-nav a { font-size:11px; padding:10px 11px; border-radius:25px; transition:background .25s,color .25s; }
 .pov-scene-nav a span { font-size:8px; opacity:.55; margin-right:4px; }
 .pov-scene-nav a[aria-current] { background:#ffffffad; color:var(--teal); box-shadow:0 2px 12px #38233f06; }
 .pov-enhanced .pov-inline-image { display:none; }
 .pov-enhanced .pov-chapter { min-height:83svh; padding-block:55px 75px; display:flex; align-items:center; }
 .pov-enhanced .pov-chapter:first-child { padding-top:30px; }
 .pov-enhanced .pov-chapter:last-child { padding-bottom:45px; }
}
@keyframes povLight { 0%,15% { transform:translateX(-55%); } 65%,100% { transform:translateX(55%); } }
@keyframes povStream { to { stroke-dashoffset:-588; } }
@media(max-width:1000px) {
 .pov-chapter-copy>p:not(.eyebrow) { font-size:15px; }
 .pov-workers { padding:22px; gap:9px; }
 .pov-stage-caption { padding-inline:20px; }
 .pov-worktypes-heading { column-gap:36px; }
}
@media(max-width:800px) {
 .pov-opening { padding-block:48px 30px; }
 .pov-opening h1 { font-size:clamp(38px,7.5vw,60px); }
 .pov-opening-foot { margin-top:30px; align-items:flex-start; flex-direction:column; gap:10px; }
 .pov-opening-foot>span { font-size:8px; }
 .pov-visual,.pov-stage,.pov-scene-nav { display:none; }
 .pov-enhanced .pov-visual { display:block; }
 .pov-stage-controls { display:flex; justify-content:flex-end; margin-block:0 4px; }
 .pov-chapter { padding-block:10px 48px; }
 .pov-chapter-copy h2 { font-size:clamp(32px,6vw,44px); }
 .pov-inline-image { border:1px solid #fff; box-shadow:0 0 14px 3px #ffffff80; margin-bottom:28px; }
 .pov-worktypes { padding-block:20px 50px; }
 .pov-worktypes-heading { grid-template-columns:1fr; gap:20px; }
 .pov-worktypes-heading .eyebrow { margin:0; }
 .pov-worktypes-heading>p:not(.eyebrow) { max-width:460px; font-size:15px; }
 .worktype-panel { grid-template-columns:1fr; }
 .worktype-copy { padding:28px; }
 .worktype-copy h3 { font-size:32px; }
 .worktype-visual { min-height:340px; }
 .pov-enhanced .worktype-tabs { margin-top:20px; }
 .worktype-tabs button { font-size:13px; line-height:1.4; padding:17px 8px; }
 .worktype-tabs button span { font-size:7px; line-height:1.5; letter-spacing:.06em; margin-bottom:10px; }
 .worktype-tabs button:first-child { padding-left:4px; }
 .worktype-glass-note,.worktype-flow { left:20px; right:20px; bottom:22px; }
 .pov-focus { flex-direction:column; gap:14px; margin-top:28px; }
 .pov-focus>p { font-size:20px; }
 .pov-workers { padding:22px; gap:12px; }
 .pov-workers figure { max-width:95px; }
}
.pov-motion-paused .pov-glow,.pov-motion-paused .pov-streams path,.pov-motion-paused .worktype-flow i::after,
.page-inactive .pov-glow,.page-inactive .pov-streams path,.page-inactive .worktype-flow i::after { animation-play-state:paused!important; }
.pov-motion-paused .pov-image,.pov-motion-paused .pov-image img { transition:none; }
.pov-motion-paused .pov-signal-flow,.pov-motion-paused .pov-core-halo,.pov-motion-paused .pov-voice path,
.page-inactive .pov-signal-flow,.page-inactive .pov-core-halo,.page-inactive .pov-voice path { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce) {
 .pov-glow,.pov-streams path,.worktype-flow i::after,.pov-signal-flow,.pov-core-halo,.pov-voice path { animation:none!important; }
 .pov-image,.pov-image img,.worktype-tabs button { transition:none!important; }
 .pov-image img { transform:none; }
}
