/* Edition 02: an independent analogue signal treatment. */
:root{--ink:#05060c;--paper:#edf8ff;--green:#95f7ff;--muted:#8395ab;--line:#91b7dc35;--blue:#254bff;--pad:4vw}
body{background:var(--ink)}
.light-section,.dark-section,.subpage{background:var(--ink);color:var(--paper)}
.header,.header.on-light,.subpage .header,.subpage .header.scrolled{color:var(--paper);background:transparent}
.header.scrolled,.header.on-light.scrolled{background:#05060cf2;border-bottom:1px solid #86baff24}
.header nav a:hover,.header nav a.active{color:var(--green)}
.wordmark-star{color:var(--green);text-shadow:0 0 18px #249cff8c}
.status-dot,.progress-dot{border-radius:0;background:var(--green);box-shadow:0 0 12px #86edff70}
.crt-screen{position:fixed;inset:0;z-index:81;pointer-events:none;background:repeating-linear-gradient(0deg,#02050a14 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#66b6ff04 0 1px,transparent 1px 3px);box-shadow:inset 0 0 10vw #01030835}
.grain{opacity:.045}
.signal-transition{background:repeating-linear-gradient(0deg,transparent 0 19px,#7ddcff50 19px 21px,transparent 21px 47px,#2445ff40 47px 57px)}
.cursor{border-radius:0;width:10px;height:10px;box-shadow:0 0 16px #54b6ff75}
.cursor.over-card{background:var(--blue);color:white;border:1px solid var(--green);border-radius:0}
.cursor span{color:white}

/* Title and welcome remain in separate, height-aware rows. */
.hero{--hero-title-top:clamp(134px,25svh,230px);--hero-title-size:min(17vw,31svh,440px);--hero-question-gap:clamp(28px,5.2svh,60px);background:radial-gradient(ellipse at 80% 48%,#101b49 0%,#060912 47%,#05060c 72%)}
.hero-grid{background:linear-gradient(90deg,#8fa5ff0a 1px,transparent 1px);background-size:calc(100vw / 8) 100%;mask-image:none}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#05060c 0%,transparent 18%),radial-gradient(ellipse at 12% 42%,transparent 24%,#05060c30 70%);z-index:1}
.hero-topline{top:clamp(100px,17svh,155px);font-size:10px;color:#b7c6dc;border-top:1px solid #91b7dc30;padding-top:14px;z-index:4}
.hero-title{left:3.25vw;z-index:3;letter-spacing:-.065em;line-height:.85;color:#effbff;text-shadow:-2px 0 #658bff80,2px 0 #96f7ff60;animation:signal-arrive .85s var(--ease) both}
.hero-title::before,.hero-title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0;line-height:inherit}
.hero-title::before{color:#406dff;mix-blend-mode:screen;animation:signal-title 5.8s steps(1) infinite 1s}
.hero-title::after{color:#b3ffff;animation:signal-title 5.8s steps(1) infinite 1.13s;animation-direction:reverse}
.hero-stop{color:var(--green);text-shadow:0 0 32px #50c8ff80}
.hero-question{top:calc(var(--hero-title-top) + var(--hero-title-size) * .85 + var(--hero-question-gap));font-size:min(3.8vw,7svh,64px);z-index:4;letter-spacing:-.045em;color:#d8e8f9}
.typing-cursor{color:var(--green);text-shadow:0 0 15px #54d8ff80}
.rabbit-world{left:45%;right:-2%;top:13%;bottom:13%;height:auto;z-index:2;max-height:none}
#signal-canvas{width:100%;height:100%;opacity:0;transition:opacity .8s}
.signal-ready #signal-canvas{opacity:1}
.signal-fallback{position:absolute;inset:7% 16%;opacity:.75;filter:drop-shadow(-15px 0 10px #3559ff) drop-shadow(15px 0 20px #66ffff)}
.signal-fallback svg{width:100%;height:100%;fill:#96ecff}
.signal-ready .signal-fallback{display:none}
.rabbit-coordinate{bottom:1%;right:12%;font-size:8px;color:#8ac9f1;letter-spacing:.09em;border-left:2px solid #6dcaff;padding-left:12px}
.rabbit-coordinate span{display:block}
.rabbit-state{opacity:.75;color:#789fbf}
.crosshair{color:#7dc6ff90;text-shadow:0 0 10px #548bff70}
.hero-bottom{align-items:end;z-index:4;bottom:clamp(24px,5.3svh,54px);border-top:1px solid #8bc9ff30;padding-top:20px}
.entry-link{min-width:46%;font-size:10px}
.entry-link .mono{opacity:.7}
.entry-icon{background:var(--green);box-shadow:5px 5px 0 #2344ff70;transition:box-shadow .3s,transform .3s}
.entry-link:hover .entry-icon{box-shadow:9px 9px 0 #2344ff;transform:translate(-2px,-2px)}
.hero-positioning{color:#cfdeec}
.hero-positioning h1{font-size:15px}
.hero-bottom .hero-positioning p{color:#8b9db6;font-size:10px}
.hero-edition{line-height:1.9;color:#849fc1;font-size:8px;white-space:nowrap}
.hero-edition:hover{color:var(--green)}
.hero-edge{color:#7288af}
.ticker{background:var(--blue);color:#e7f8ff;border-top:1px solid #6894ff;border-bottom:1px solid #7b9fff;transform:none}
.ticker-track{font-size:24px;animation-duration:24s;letter-spacing:-.02em}
.ticker-track b{color:var(--green)}

.intro{position:relative;background:radial-gradient(ellipse at 6% 48%,#0c1732 0%,#05060c 45%)}
.section-kicker,.intro-footer{color:#8da2c0}
.intro-layout{grid-template-columns:27% 1fr}
.intro-side{position:relative;color:#a2e9ff}
.intro-side p{color:#829fc1}
.intro-title{font-weight:500;color:#e1edfc;letter-spacing:-.06em}
.intro-title span{color:var(--green);text-shadow:2px 0 #244bff,0 0 36px #2b81ff40}
.intro-copy p,.intro-copy p:last-child,.work-station p,.project-description{color:#a3b4ca}
.text-link{color:var(--green);border-color:#719cd550}
.text-link:hover{color:var(--paper)}
.partner-proof{color:#7f9bbb}
.partner-proof:hover{color:var(--green)}
.signal-orbit{display:block;width:min(17vw,230px);height:min(17vw,230px);position:relative;margin:25px 0 50px;border-radius:50%;background:repeating-radial-gradient(ellipse at 53% 46%,transparent 0 4px,#72e8ffb3 4px 5px,#2b4affbf 5px 7px,transparent 8px 12px);box-shadow:inset 0 0 55px #05060c,0 0 60px #1449ff25;transform:rotate(-24deg);animation:orbit-liquid 9s ease-in-out infinite}
.signal-orbit::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#05060c 5px 7px);border-radius:inherit}
.intro-side .rabbit-symbol{position:absolute;top:95px;left:75px;width:38px;color:#dbfaff;z-index:1;mix-blend-mode:screen;filter:drop-shadow(0 0 10px #1a74ff)}

.work-section{background:linear-gradient(180deg,#070b15,#05060c);border-top:1px solid #8bc9ff24}
.work-station h2{color:#dceefe;text-shadow:2px 0 #244bff60,-1px 0 #9ffaff60}
.work-station h2 span{-webkit-text-stroke:1px #70afff;color:transparent}
.work-progress,.project-meta{color:#8daed1}
.work-station-bottom{color:#829fc1}
.work-station-bottom svg{stroke:var(--green)}
.project-card{position:relative}
.project-image{background:#071128;border:1px solid #80acff40;box-shadow:6px 6px 0 #12305625}
.project-image img,.related-image img{filter:grayscale(.2) saturate(.95) contrast(1.06) brightness(.96);transition:filter .8s,transform 1.2s var(--ease)}
.project-card:hover .project-image img,.related-project:hover img{filter:grayscale(0) contrast(1.05) brightness(1);transform:scale(1.025)}
.project-image::before,.related-image::before,.case-image::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(145deg,#1552ff25,#6febff10 60%,#00071b18);mix-blend-mode:color}
.project-image::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,#03081422 0 1px,transparent 1px 3px);box-shadow:inset 0 0 45px #03071630}
.photo-signal{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.project-image-label{background:#040916be;left:0;right:auto;bottom:0;padding:10px 13px;border-top:1px solid #9cbcf040;text-shadow:none;color:#b1ecff;max-width:100%}
.project-caption{font-size:26px;color:#e5f1fd}
.project-arrow{color:var(--green)}
.image-slice{z-index:2}
.slice-b{mix-blend-mode:screen}
.project-card:hover .slice-a,.project-card.signal-hit .slice-a{animation:signal-image .65s steps(1) both}
.project-card:hover .slice-b,.project-card.signal-hit .slice-b{animation:signal-image .7s steps(1) reverse both}
.client-archive,.service-list,.service{border-color:#91b7dc35}
.archive-list{color:#96acc7}
.archive-list a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0 12px;border-bottom:1px solid #91b7dc25;transition:color .2s,border-color .2s}
.archive-list a::after{content:'↗';color:var(--green);font-size:16px;transition:transform .2s}
.archive-list a:hover,.archive-list a:focus-visible{color:var(--paper);border-color:var(--green)}
.archive-list a:hover::after{transform:translate(3px,-3px)}
.capabilities{background:radial-gradient(ellipse at 80% 45%,#11193a 0%,#070911 55%);border-top:1px solid #8bc9ff24}
.capabilities .section-kicker,.capabilities-heading p,.service-number,.collaboration>span{color:#8da2c0}
.service-content p,.service-content>div>p{color:#a3b4ca}
.service-tags{color:#b0c8e7}
.service-tags span{border-color:#91b7dc35}
.circle-link{border-color:#85bdff75;border-radius:0}
.contact{background:radial-gradient(ellipse at 48% 100%,#16319a 0%,#090f28 38%,#05060c 75%);border-top:1px solid #91b7dc35}
.contact-grid{opacity:.6}
.contact-grid>div{background-image:linear-gradient(#759bff80 1px,transparent 1px),linear-gradient(90deg,#86dcff75 1px,transparent 1px);animation-duration:4s}
.contact>.section-kicker,.contact-main>.mono,.contact-actions,.footer-services,footer>.mono{color:#97b6dc}
.contact-main h2 span{text-shadow:4px 0 #3155ff,0 0 50px #236dff80}
.contact-email{border-color:#779fff70}
footer,.contact>.section-kicker{border-color:#91b7dc35}

.project-dialog{background:#080e1c;color:var(--paper);border:1px solid #749aff70}
.project-dialog::backdrop{background:#000515db}
.dialog-close{background:var(--green);color:var(--ink)}
.dialog-visual{background:#0b1732}
.dialog-content>.mono,.dialog-scope h3,.dialog-stack span{color:#8aaed2}
.dialog-content>p:not(.mono):not(.dialog-headline){color:#a3b4ca}
.dialog-scope li::before{color:var(--green)}
.dialog-content .text-link{color:var(--green)}
.dialog-content .dialog-details{display:flex;width:max-content;max-width:100%;margin-bottom:18px}
.project-dialog [hidden]{display:none!important}

/* The secondary pages share the same edition without new navigation paths. */
.subpage-main{background:radial-gradient(ellipse at 95% 12%,#111d4240,transparent 50%)}
.breadcrumbs,.subpage-hero>.mono,.case-hero .mono,.content-section>div>.mono{color:#82aed9}
.breadcrumbs [aria-current]{color:var(--paper)}
.subpage-hero h1 span{color:var(--green)}
.subpage-lead p+p,.offering-list p,.related-project>p,.case-overview,.case-scope p,.service-faq details p{color:#a3b4ca}
.related-image,.case-image{position:relative;background:#101b31}
.case-image img{filter:grayscale(.12) saturate(.98) contrast(1.05)}
.related-project>.mono{color:#82aed9}
.case-scope li::before,.service-faq summary::after{color:var(--green)}
.subpage-contact{background:radial-gradient(ellipse at 80% 100%,#16319a,var(--ink) 65%)}
.subpage-contact>.mono,.subpage-contact>p{color:#97b6dc}

@keyframes signal-title{0%,82%,100%{opacity:0;transform:none;clip-path:inset(0)}83%{opacity:.85;transform:translate(-12px,1px);clip-path:inset(18% 0 63%)}85%{opacity:.9;transform:translate(16px,-1px);clip-path:inset(54% 0 35%)}87%{opacity:.7;transform:translate(-6px,0);clip-path:inset(77% 0 13%)}89%{opacity:0}92%{opacity:.9;transform:translate(7px,0);clip-path:inset(38% 0 56%)}94%{opacity:0}}
@keyframes signal-image{0%,100%{opacity:0;transform:none}12%{opacity:.9;transform:translateX(28px);filter:hue-rotate(170deg) contrast(1.8)}25%{opacity:.7;transform:translateX(-14px)}42%{opacity:.3;transform:translateX(9px);filter:invert(.9)}60%{opacity:.8;transform:translateX(-6px)}79%{opacity:0}}
@keyframes signal-arrive{from{opacity:0;transform:translateY(18px);clip-path:inset(60% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes orbit-liquid{0%,100%{border-radius:42% 58% 66% 34%/58% 30% 70% 42%;transform:rotate(-24deg) scale(1)}50%{border-radius:62% 38% 28% 72%/30% 62% 38% 70%;transform:rotate(24deg) scale(.92)}}

@media(max-width:1100px){.hero-positioning h1{font-size:13px}.hero{--hero-title-size:min(20vw,31svh,440px)}.intro-layout{grid-template-columns:24% 1fr}.project-caption{font-size:21px}.intro-side .rabbit-symbol{top:8vw;left:6vw}}
@media(max-width:760px){:root{--pad:6vw}.hero{--hero-title-top:clamp(131px,21svh,180px);--hero-title-size:min(25vw,18svh);--hero-question-gap:28px;background:radial-gradient(ellipse at 65% 58%,#111c41,#05060c 70%)}.hero-title{left:5vw}.hero-topline{top:clamp(90px,14svh,116px);font-size:7px;padding-top:12px}.hero-topline>span:first-child{max-width:60%}.hero-topline>span:last-child{font-size:6px}.hero-question{font-size:min(8.7vw,6svh);line-height:1.04}.rabbit-world{left:5%;right:-5%;top:42%;bottom:calc(clamp(62px,8svh,72px) + 110px);height:auto;opacity:.88}.hero::after{background:linear-gradient(0deg,#05060c 0%,transparent 25%)}.rabbit-coordinate{bottom:2%;right:9%;font-size:6px}.hero-bottom{bottom:clamp(62px,8svh,72px);padding-top:15px;align-items:center;gap:15px}.entry-link{min-width:0;font-size:8px}.hero-positioning h1{font-size:10px}.hero-bottom .hero-positioning p{font-size:8px}.motion-toggle{border-color:#72c7ff70;background:#071021;color:var(--green)}.hero-edition{display:none}.ticker-track{font-size:19px}.intro-layout{grid-template-columns:1fr}.signal-orbit{width:60px;height:60px;margin:0;flex:none}.intro-side .rabbit-symbol{position:absolute;left:20px;top:18px;width:20px;height:25px}.intro-side p{font-size:8px}.project-caption{font-size:18px}.project-image-label{font-size:5px;padding:7px 8px}.project-image{box-shadow:3px 3px 0 #12305640}.contact-main h2 span{text-shadow:2px 0 #3155ff,0 0 35px #236dff80}}
@media(max-width:380px){.hero-bottom{gap:10px}.entry-link{font-size:7px}.hero-positioning h1{font-size:9px}.hero-bottom .hero-positioning p{font-size:7px}.project-caption{font-size:16px}}
@media(min-width:761px) and (max-height:550px){.hero{--hero-title-top:122px;--hero-title-size:min(17vw,27svh,350px);--hero-question-gap:24px}.hero-topline{top:85px;padding-top:9px}.hero-question{font-size:min(3.8vw,6.4svh,50px)}.hero-bottom{bottom:20px;padding-top:14px}.rabbit-world{top:17%;bottom:19%}.hero-positioning h1{font-size:13px}}
@media(max-width:760px){.dialog-content h2{font-size:clamp(32px,10.5vw,46px);overflow-wrap:anywhere}}
body.motion-paused .hero-title::before,body.motion-paused .hero-title::after{opacity:0!important}
body.motion-paused .photo-signal{display:none}
@media(prefers-reduced-motion:reduce){.hero-title::before,.hero-title::after{display:none}.photo-signal{display:none}.signal-orbit{animation:none}.hero-title{animation:none;opacity:1;transform:none;clip-path:none}}
