/* QUALITIK: soap bubbles, a shared thread and tangible project work. */
.hero .hero-copy .floating-bubble.floating-bubble{isolation:isolate;box-sizing:border-box;border-radius:50%;overflow:visible;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #d2fbfa59;background:radial-gradient(circle at 32% 22%,#ffffff13,transparent 33%),radial-gradient(circle at 70% 83%,#80d9ff12,transparent 47%);box-shadow:inset 1px 1px 5px #e1fff738,inset -2px -4px 12px #87b9f825,0 12px 30px -23px #0008;color:#edf8fa;backdrop-filter:none}
.hero .floating-bubble::before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 25deg,#a7f2ed25,#f8f4fdc9 14%,#9aabf066 26%,#9decdc15 43%,#b8c3fe8c 58%,#f3d1f06e 68%,#a7f2ed12 82%,#f7ffffa6);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;z-index:-1}
.hero .floating-bubble::after{content:"";position:absolute;inset:7%;width:auto;height:auto;border-radius:50%;border-top:2px solid #efffffa3;border-left:1px solid #c2ffff3b;border-right:1px solid transparent;transform:rotate(-37deg);background:none;pointer-events:none;z-index:-1}
.hero .floating-bubble>span{display:block;position:relative;text-shadow:0 2px 14px #071b27,0 1px 3px #071b27;max-width:100%}
.hero .hero-copy>p.bubble-description:first-of-type{width:264px;height:264px;max-width:none;top:35px;left:var(--gutter);padding:43px;font-size:15px;line-height:1.75;margin:0}
.hero .bubble-contact{width:184px;height:184px;top:315px;left:calc(var(--gutter) + 212px);margin:0;flex-direction:column}
.hero .bubble-contact .button{display:flex;flex-direction:column;justify-content:center;gap:13px;width:100%;height:100%;padding:30px;border-radius:50%;background:transparent;box-shadow:none;color:#d9fff5;font-size:15px;line-height:1.5;text-shadow:0 1px 10px #071b27;white-space:normal}
.hero .bubble-contact .button svg{color:#befff1}.hero .bubble-contact:focus-within{outline:2px solid #a8efdf;outline-offset:8px}.hero .bubble-contact .button:focus-visible{outline:none}.hero .bubble-contact .button:hover{background:#a8efdf0c}
.hero .bubble-promise{width:192px;height:192px;max-width:none;top:373px;left:var(--gutter);padding:30px;font-size:13px;line-height:1.7;margin:0!important}
@media(min-width:801px){.hero{min-height:max(865px,calc(100svh - 112px))}}

.journey-thread{position:fixed;left:19px;top:150px;bottom:120px;width:2px;z-index:22;background:#5e99a329;pointer-events:none;opacity:0;transition:opacity .4s}
.journey-thread.visible{opacity:1}.journey-thread-line{position:absolute;inset:0;background:linear-gradient(#6acfb9,#8ca5d9);transform:scaleY(var(--journey-progress,0));transform-origin:top}.journey-thread-orb{position:absolute;left:-4px;top:calc(var(--journey-progress,0) * 100%);width:10px;height:10px;border:2px solid #e2fffa;border-radius:50%;background:#429c9b;box-shadow:0 0 15px #6acfb999}.journey-thread-label{position:absolute;top:calc(var(--journey-progress,0) * 100%);left:14px;writing-mode:vertical-rl;font-size:10px;font-weight:600;letter-spacing:.02em;color:#437080;max-height:130px;padding-top:18px}
.connection h2 em{color:inherit}.connection-world{--route-accent:#a8efdf}.connection-world[data-challenge="1"]{--route-accent:#c0baf6}.connection-world[data-challenge="2"]{--route-accent:#a8d8ff}
.connection .orchestration{aspect-ratio:1160/270;min-width:1020px}.connection .orchestration .orch-detail{font-size:10.5px}.connection .orch-node.active rect{stroke:var(--route-accent);fill:#255166}.connection .orch-node.active circle,.connection .flow-progress span.active{background:var(--route-accent);fill:var(--route-accent)}.connection .orch-pulse{stroke:var(--route-accent)}.flow-story strong{color:#d1eee9}
.challenge-picker{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.challenge-picker button{border:1px solid #9bb6c4;background:#f4f9fb;color:#24475c;min-height:48px;border-radius:30px;padding:12px 21px;font:600 13px Manrope,sans-serif}.challenge-picker button[aria-selected=true]{color:#e7fcf6;background:#153e51;border-color:#153e51}.connection-world{margin-top:24px}.challenge-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;padding:32px 5px 0}.challenge-context{display:block;color:#477080;font-size:12px;margin-bottom:12px}.challenge-panel h3{max-width:480px;font-size:28px;margin-bottom:12px}.challenge-panel p{max-width:550px;color:#3f5f70;font-size:15px}.challenge-panel ol{padding-left:19px;margin:0;color:#2b5063;font-size:15px;line-height:2.1}

.transformation{height:1080px;background:#e2eff0;padding-block:70px;position:relative}.transformation::before{background:linear-gradient(100deg,#e3f0f2eb,#e9edf6ed),url('assets/network-overlay.svg') center/cover}.transformation-layout{position:sticky;top:145px;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.transformation-copy h2{font-size:clamp(40px,4.4vw,63px);margin-bottom:25px}.transformation-copy>p{max-width:420px;color:#3e5c6d;font-size:17px}.transformation-legend{margin-top:32px;display:flex;flex-direction:column;gap:12px;font-size:13px;color:#3e6273}.transformation-legend span{display:flex;align-items:center;gap:12px}.transformation-legend span::before{content:"";width:8px;height:8px;border:1px solid #638697;border-radius:50%}.transformation-legend span:last-child::before{background:#1b7a73;border-color:#1b7a73}.transformation-copy .transformation-note{font-size:12px;margin-top:28px;color:#526e7b}
.transformation-board{height:480px;position:relative;min-width:0;isolation:isolate;border-radius:50%;background:radial-gradient(ellipse,#9ac8d02b,transparent 68%)}.transform-item{position:absolute;left:0;top:0;width:64%;min-height:68px;padding:13px 14px 13px 46px;background:#f5fafb;border:1px solid #bdced8;border-radius:9px;box-shadow:0 12px 32px -25px #28465d80;will-change:transform}.transform-item>span{position:absolute;left:16px;top:17px;color:#53838a;font-size:11px}.transform-item strong{display:block;color:#214858;font:600 16px/1.4 Switzer,sans-serif}.transform-item small{display:block;font-size:11px;line-height:1.7;color:#507080}.transform-item:nth-of-type(4){background:#153b50;color:#e5f8f4}.transform-item:nth-of-type(4) strong,.transform-item:nth-of-type(4) small,.transform-item:nth-of-type(4)>span{color:#d3eeef}.transform-guide{position:absolute;left:50%;top:30px;bottom:60px;width:1px;background:#429890;opacity:var(--order-progress,0)}.transform-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;color:#547483}

.deliverables{background:#0c293b;color:#edf8fa}.deliverables::before{background:linear-gradient(120deg,#0b293bed,#153148ed),url('assets/network-overlay.svg') center/cover}.deliverables .section-header p{color:#c1d5df}.deliverable-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:55px;align-items:start}.deliverable:nth-child(2){margin-top:65px}.deliverable:nth-child(3){margin-top:130px}.sample-sheet{height:340px;padding:24px 22px;background:#e7f0f4;color:#1b4055;border-radius:3px;box-shadow:0 20px 36px -30px #000b;overflow:hidden}.sample-label{font-size:11px;display:block;padding-bottom:15px;border-bottom:1px solid #bed0d9}.sample-map-flow{padding:22px 18px 14px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;text-align:center}.sample-map-flow>span{width:100%;padding:9px;background:#d4e5e9;border:1px solid #a9c9cc;border-radius:5px}.sample-map-flow>i{font-style:normal;color:#43857f;line-height:1.2}.sample-map-foot{font-size:10px;text-align:center;padding-top:10px;color:#557787}.sample-prototype{background:#c2d9de}.prototype-window{margin-top:23px;background:#f7fafb;border-radius:6px;box-shadow:0 12px 20px -19px #082c3d;overflow:hidden}.prototype-top{padding:16px 14px;background:#123b50;color:#e0f7f3}.prototype-top strong{display:block;font-size:13px}.prototype-top>span{font-size:10px;color:#bdd6df}.prototype-row{display:flex;justify-content:space-between;gap:8px;padding:13px 12px;border-bottom:1px solid #d9e4e8;font-size:10px}.prototype-row strong{font-size:10px;font-weight:600}.prototype-footer{padding:12px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#3d6572}.prototype-footer b{color:#166b5e;font-size:17px}.sample-plan{background:#e0e1f0}.sample-plan ol{list-style:none;padding:25px 0 0 12px;margin:0;display:flex;flex-direction:column;gap:21px}.sample-plan li{position:relative;padding-left:22px;border-left:1px solid #a6aac6}.sample-plan li::before{content:"";width:7px;height:7px;border-radius:50%;background:#597e90;position:absolute;left:-4px;top:6px}.sample-plan li span{display:block;font-size:14px;font-weight:600}.sample-plan li small{font-size:10px;line-height:1.7}.deliverable-copy{padding-top:25px}.deliverable-copy>span{color:#a1c1ce;font-size:11px}.deliverable-copy h3{margin:10px 0 12px;font-size:27px}.deliverable-copy p{font-size:14px;color:#bcd3df;line-height:1.8}.deliverables-note{font-size:11px;color:#abc9d4;margin-top:45px;max-width:640px}.scene-visible .sample-map-flow>span{animation:sample-highlight 9s ease-in-out infinite}.sample-map-flow>span:nth-of-type(2){animation-delay:1.5s}.sample-map-flow>span:nth-of-type(3){animation-delay:3s}.sample-map-flow>span:nth-of-type(4){animation-delay:4.5s}@keyframes sample-highlight{0%,35%,100%{border-color:#a9c9cc}15%{border-color:#236b70}}
@media(max-width:1200px) and (min-width:801px){.hero .hero-copy>p.bubble-description:first-of-type{width:240px;height:240px;font-size:14px;padding:36px}.hero .bubble-contact{left:calc(var(--gutter) + 170px);top:300px;width:170px;height:170px}.hero .bubble-promise{top:395px;width:174px;height:174px;padding:27px;font-size:12px}.journey-thread{left:13px}.journey-thread-label{display:none}.deliverable-gallery{gap:22px}.sample-sheet{padding:20px 14px}.sample-map-flow{padding-inline:7px}}
@media(max-width:800px){.hero{min-height:1180px;display:block;padding-top:30px}.hero .hero-copy{position:relative;width:100%;height:690px;pointer-events:none}.hero h1{position:relative;inset:auto;font-size:62px;line-height:1;white-space:normal;margin:0}.hero .hero-copy>p.bubble-description:first-of-type{position:absolute;top:120px;left:0;width:228px;height:228px;max-width:none;padding:34px;font-size:13px;line-height:1.75;margin:0}.hero .bubble-contact{position:absolute;top:350px;left:auto;right:0;width:165px;height:165px;margin:0}.hero .bubble-contact .button{font-size:13px;padding:30px;gap:10px}.hero .bubble-promise{position:absolute;top:487px;left:0;width:174px;height:174px;max-width:none;padding:27px;font-size:12px;line-height:1.7;margin:0!important}.hero .brand-art{top:680px;bottom:90px;left:-8%;right:-8%}.hero .art-controls{bottom:18px;gap:12px}.hero .art-controls>p{display:none}.journey-thread{display:none}.connection h2{font-size:37px}.challenge-picker{flex-direction:column;align-items:stretch;margin-top:28px;gap:8px}.challenge-picker button{text-align:left;padding:12px 18px}.connection .orchestration{min-width:1020px}.challenge-panel{grid-template-columns:1fr;gap:25px;padding-top:25px}.challenge-panel h3{font-size:25px}.challenge-panel ol,.challenge-panel p{font-size:14px}.transformation{height:1160px;padding-block:60px}.transformation-layout{top:110px;grid-template-columns:1fr;gap:20px}.transformation-copy h2{font-size:36px;margin-bottom:14px}.transformation-copy>p{font-size:14px}.transformation-legend{flex-direction:row;gap:14px;margin-top:18px;font-size:10px}.transformation-legend span{gap:6px}.transformation-copy .transformation-note{font-size:10px;margin-top:12px}.transformation-board{height:420px}.transform-item{width:76%;padding-left:33px;min-height:62px}.transform-item>span{left:11px;font-size:9px}.transform-item strong{font-size:14px}.transform-item small{font-size:10px}.transform-caption{font-size:10px}.deliverable-gallery{grid-template-columns:1fr;gap:42px;margin-top:35px}.deliverable:nth-child(n){margin-top:0}.sample-sheet{height:345px;max-width:480px;padding:24px}.deliverable-copy h3{font-size:26px}.deliverables .section-header h2{font-size:36px}.sample-map-flow{font-size:13px}.prototype-row,.prototype-row strong{font-size:11px}.sample-plan li small{font-size:12px}.sample-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.transformation{height:auto;padding-block:80px}.transformation-layout{position:relative;top:auto}.transformation-note{display:none}.journey-thread-orb{box-shadow:none}.scene-visible .sample-map-flow>span{animation:none}}
@media(max-width:800px){.hero{min-height:1280px}.hero .hero-copy>p.bubble-description:first-of-type{top:150px}.hero .bubble-contact{top:400px}.hero .bubble-promise{top:552px}.hero .brand-art{top:780px}}
.hero .bubble-promise br{display:block}.challenge-panel:focus-visible{outline:2px solid #166f79;outline-offset:8px;border-radius:4px}
@media(max-width:800px){.effects-pause{left:auto;right:12px}}
