@font-face{font-family:Plex;src:url(assets/ibm-plex-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url(assets/ibm-plex-mono-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url(assets/ibm-plex-mono-700.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--paper:#dfdfdf;--ink:#1e1e1e;--orange:#e79823;--pink:#d430ce;--line:#8b8b8b;--mono:Plex,'Courier New',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:16px}body:has(dialog[open]){overflow:hidden}a{color:inherit}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--pink);outline-offset:6px}input:focus,textarea:focus{outline:none;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}button{border:0;background:none}h1,h2,h3,p{margin:0}main{overflow:hidden}section{position:relative;isolation:isolate;overflow:visible}section[id]{scroll-margin-top:20px}.container{width:min(890px,calc(100% - 80px));margin:auto;position:relative}.wide-container{width:min(1160px,calc(100% - 80px));margin:auto;position:relative}.skip-link{position:fixed;left:16px;top:-80px;padding:12px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:16px}.header{position:absolute;inset:0 0 auto;z-index:5}.header-inner{width:min(890px,calc(100% - 80px));height:90px;margin:auto;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:var(--mono);font-size:18px;letter-spacing:-.8px;text-decoration:none}.wordmark span{color:var(--orange)}nav{display:flex;align-items:center;gap:42px}nav a,nav button{padding:8px 0;text-decoration:none;font:14px var(--mono);text-transform:uppercase}nav a:hover{color:var(--orange)}.contact-link{color:var(--orange);letter-spacing:1.3px}.hero{height:100svh;min-height:720px;display:grid;place-items:center}.hero-content{text-align:center;padding:80px 30px 0;position:relative;z-index:1}.hero h1{font:400 clamp(34px,3.9vw,62px)/1.12 var(--mono);text-transform:uppercase;letter-spacing:-1.5px}.hero .arrow-button{margin-top:116px}.side-link{position:absolute;top:40%;font:12px var(--mono);text-decoration:none;writing-mode:vertical-rl;z-index:2}.side-left{left:max(35px,calc((100% - 890px)/2));transform:rotate(180deg)}.side-right{right:8px}/* Soft color fields have a continuous fade, including at their centers. */
.orb{--glow-color:231,152,35;--glow-spread:130px;position:absolute;border-radius:50%;z-index:-1;pointer-events:none;will-change:transform}
.orb::before{content:'';position:absolute;inset:calc(-1 * var(--glow-spread));border-radius:50%;background:radial-gradient(ellipse at center,rgba(var(--glow-color),.95) 0%,rgba(var(--glow-color),.68) 30%,rgba(var(--glow-color),.32) 55%,rgba(var(--glow-color),.08) 72%,rgba(var(--glow-color),0) 85%);filter:blur(16px)}
.hero-orange{width:600px;height:600px;top:67px;left:calc(50% - 230px)}.hero-pink{--glow-color:212,48,206;--glow-spread:145px;width:400px;height:400px;right:-50px;top:48%}.arrow-button{position:relative;width:102px;height:60px;display:inline-flex;align-items:center;justify-content:flex-start;padding:0}.arrow-button span{width:60px;height:60px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:42px/1 Arial,sans-serif;border-radius:50%;position:relative;z-index:1;transition:transform .3s}.arrow-button i{width:60px;height:60px;border:1px solid var(--ink);border-radius:50%;position:absolute;left:40px;transition:transform .3s}.arrow-button:hover span{transform:translateX(25px)}.arrow-button:hover i{transform:translateX(-15px)}.advantages{padding:90px 0 100px;min-height:630px}.advantage-orb{width:380px;height:380px;left:12px;top:-40px}.impact-title{font-size:40px;font-weight:400;line-height:1.08;text-transform:uppercase;max-width:810px}.advantage-grid{border-top:1px solid var(--line);margin-top:190px;padding-top:42px;display:grid;grid-template-columns:2fr 1.3fr 1.3fr 1.3fr;gap:28px}.advantage-grid h3{font-size:16px;font-weight:400;text-transform:uppercase;margin-bottom:24px}.advantage-grid p{font-size:14px;line-height:1.5}.rings{position:relative;width:120px;height:170px}.rings i{position:absolute;width:120px;height:30px;border:1px solid var(--ink);border-radius:50%;left:0;top:0;transform:translateY(calc(var(--ring) * 20px));transition:transform 4s ease-in-out}.js .rings:not(.fanned) i{transform:translateY(0)}.team{padding-bottom:90px}.section-label{font-size:22px;font-weight:400;text-transform:uppercase;border-top:1px solid var(--line);padding-top:20px}.team-intro{max-width:400px;font-size:16px;line-height:1.5;margin-top:60px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:90px}.team img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(1);display:block}.team h3{font:700 18px var(--mono);text-transform:uppercase;margin-top:16px}.team article p{font:14px var(--mono);color:#666;margin-top:10px}.about{min-height:930px;padding:120px 0 160px}.about-title{font-size:26px;line-height:1.2;font-weight:400;text-transform:uppercase;color:var(--orange)}.about-body{width:50%;margin-left:auto;margin-top:74px}.about-body>p{max-width:350px;line-height:1.45;font-size:16px}.stats{margin:62px 0 0}.stats div{border-top:1px solid var(--line);padding:24px 0 42px}.stats dt{font-size:64px;line-height:1;font-weight:700;letter-spacing:-3px}.stats dd{margin:14px 0 0;font-size:16px}.about-pink{width:280px;height:280px;--glow-color:212,48,206;--glow-spread:130px;left:13%;top:43%}.about-orange{width:160px;height:160px;left:36%;top:35%;--glow-spread:105px}.process{min-height:1430px;padding:0 0 130px}.edge-label{position:relative;border:0;padding-top:20px}.edge-label:before{content:'';position:absolute;right:calc(100% - 200px);top:0;width:100vw;height:1px;background:var(--line)}.steps{list-style:none;padding:0 0 0 60px;margin:60px 0 0;max-width:475px;position:relative}.steps:before{content:'';position:absolute;left:13px;top:16px;bottom:210px;width:2px;background:repeating-linear-gradient(to bottom,#666 0 3px,transparent 3px 14px)}.steps li{position:relative;min-height:320px}.steps li:before{content:'';position:absolute;left:-60px;top:6px;width:23px;height:23px;border:2px solid var(--pink);border-radius:50%;background:radial-gradient(circle,var(--pink) 0 4px,var(--paper) 5px);box-shadow:0 0 0 5px var(--paper)}.steps h3{font-size:40px;font-weight:400;line-height:1.1;text-transform:uppercase}.steps p{font-size:16px;line-height:1.5;margin-top:25px;max-width:410px}.process-orange{width:330px;height:330px;left:72%;top:440px;--glow-spread:155px}.process-pink{--glow-color:212,48,206;--glow-spread:135px;width:340px;height:340px;left:93%;top:600px}.process-rings{position:absolute;left:100%;top:110px;width:240px}.process-rings i{width:240px;height:60px}.faq{padding:0 0 170px}.faq-list{margin-top:80px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0;font-size:22px;line-height:1.25;text-transform:uppercase;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary span{position:relative;width:28px;height:28px;flex-shrink:0}.faq summary span:before,.faq summary span:after{content:'';position:absolute;top:13px;left:4px;background:var(--line);width:20px;height:1px;transition:transform .3s}.faq summary span:after{transform:rotate(90deg)}.faq details[open] summary span:after{transform:rotate(0)}.faq details p{max-width:750px;line-height:1.65;padding:0 0 28px;font-size:17px}.faq-orange{width:115px;height:115px;top:355px;left:4%;--glow-spread:125px}.work{min-height:570px;padding-bottom:100px}.work .wide-container{margin-top:65px}.case-content{min-height:195px}.case-content p{font-size:16px;line-height:1.65;text-transform:uppercase;margin-bottom:8px}.case-content .case-tags{text-transform:none;color:#646464;font-size:15px;margin-top:15px}.case-more{display:block;margin:12px 0 0 auto;color:var(--orange);text-transform:uppercase;font:14px var(--mono)}.case-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:18px}.case-arrow{font-size:22px;padding:8px 12px}.case-dots{display:flex;gap:10px}.case-dots button{padding:7px;position:relative;width:16px;height:16px}.case-dots button:before{content:'';width:7px;height:7px;border-radius:50%;background:#b9b9b9;position:absolute;left:4px;top:4px}.case-dots button[aria-current=true]:before{background:var(--orange)}.work-orange{width:115px;height:115px;left:3%;top:340px;--glow-spread:127px}.closing{border-top:1px solid var(--line);height:610px;text-align:center;padding-top:90px}.closing h2{font-size:40px;line-height:1.15;font-weight:400;text-transform:uppercase}.closing .arrow-button{margin-top:340px}footer{background:var(--orange);padding:45px 0 120px;text-align:center}footer nav{justify-content:center;gap:28px}footer nav a,footer nav button{font:14px Arial,sans-serif}footer p{font-size:14px;margin-top:30px}.footer-rule{height:1px;background:#a17025;margin-top:45px}dialog{color:var(--ink);border:0;background:var(--paper);width:min(620px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:48px;overflow:auto}dialog::backdrop{background:#1e1e1e88;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:16px;top:10px;padding:8px;font-size:32px;line-height:1}.eyebrow{font:13px var(--mono);text-transform:uppercase;color:#6a6a6a;margin-bottom:25px}dialog h2{font:400 34px/1.15 var(--mono);letter-spacing:-1px;margin-bottom:35px}form label{display:block;font-size:14px;margin-top:22px}input,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #999;border-radius:0;padding:12px 0;color:var(--ink)}textarea{resize:vertical}.submit-button{display:flex;justify-content:space-between;gap:15px;align-items:center;width:100%;padding:18px 20px;margin-top:28px;background:var(--ink);color:var(--paper);text-align:left;font:14px var(--mono)}.submit-button:hover{background:#383838}.submit-button:disabled{opacity:.5;cursor:wait}#form-status{font-size:14px;line-height:1.5;margin-top:18px}#form-status:empty{display:none}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#case-detail p{line-height:1.6;margin-bottom:18px}.js .reveal{opacity:0;transform:translateY(40px);transition:opacity 1.2s ease var(--delay,0ms),transform 1.6s cubic-bezier(.19,1,.22,1) var(--delay,0ms)}.js .reveal.zoom{transform:scale(.9);transition-duration:2s}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1700px){.container,.header-inner{width:1050px}.wide-container{width:1200px}.hero h1{font-size:62px}.hero-orange{left:calc(50% - 260px)}}
@media(max-width:1000px){.container{width:calc(100% - 100px)}.header-inner{width:calc(100% - 100px)}.hero h1{font-size:42px}.hero-orange{width:450px;height:450px;left:25%;top:100px}.hero-pink{width:300px;height:300px}.side-left{left:24px}.advantage-grid{grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:140px}.advantage-grid>.rings{grid-column:1/-1}.team-grid{gap:25px}.impact-title{font-size:34px}.about-pink{left:5%}.about-orange{left:30%}.about-body{width:48%}.process-rings{left:auto;right:-20px;width:150px}.process-rings i{width:150px;height:38px}.process-orange{left:80%}.process-pink{left:100%}.steps{max-width:420px}.faq summary{font-size:20px}.closing h2{font-size:34px}}
@media(max-width:600px){html{scroll-padding-top:30px}.container,.wide-container,.header-inner{width:calc(100% - 40px)}.header-inner{height:70px}.wordmark{font-size:15px}nav{gap:18px}nav a,nav button{font-size:10px}.contact-link{letter-spacing:0}.hero{height:680px;min-height:0}.hero-content{padding:25px 20px 0;width:100%}.hero h1{font-size:clamp(24px,6.5vw,36px);letter-spacing:-1px;line-height:1.2}.hero h1 br{display:none}.hero .arrow-button{margin-top:80px}.hero-orange{width:260px;height:260px;left:15%;top:120px;--glow-spread:82px}.hero-pink{width:190px;height:190px;right:-100px;top:390px;--glow-spread:80px}.side-link{font-size:9px;top:70%}.side-left{left:12px}.side-right{right:12px}.advantages{min-height:0;padding:60px 0 80px}.advantage-orb{width:190px;height:190px;left:-130px;top:20px;--glow-spread:75px}.impact-title{font-size:28px;line-height:1.12}.impact-title br{display:none}.advantage-grid{margin-top:110px;padding-top:25px;grid-template-columns:1fr;gap:38px}.advantage-grid>.rings{height:190px}.advantage-grid article{max-width:310px}.advantage-grid h3{font-size:15px;margin-bottom:12px}.advantage-grid p{font-size:15px}.team{padding-bottom:50px}.section-label{font-size:18px;padding-top:15px}.team-intro{margin-top:35px;font-size:15px;max-width:300px}.team-grid{grid-template-columns:1fr;margin-top:45px;gap:35px}.team h3{font-size:17px}.team article p{font-size:12px}.about{min-height:860px;padding:70px 0 90px}.about-title{font-size:22px;max-width:330px}.about-title br{display:none}.about-body{width:65%;margin-top:50px}.about-body>p{font-size:15px}.stats{margin-top:35px}.stats div{padding:20px 0 28px}.stats dt{font-size:48px}.stats dd{font-size:14px}.about-pink{width:160px;height:160px;left:-125px;top:440px;--glow-spread:75px}.about-orange{width:90px;height:90px;left:8%;top:390px;--glow-spread:45px}.process{min-height:0;padding-bottom:70px}.edge-label:before{right:calc(100% - 100px)}.steps{padding-left:40px;margin-top:45px;max-width:310px}.steps:before{left:7px;bottom:190px}.steps li{min-height:270px}.steps li:before{left:-40px;width:17px;height:17px;top:5px}.steps h3{font-size:30px}.steps p{font-size:15px;margin-top:18px}.process-rings{position:relative;left:auto;right:auto;top:auto;width:85px;height:162px;margin:25px 0 0 auto}.process-rings i{width:85px;height:22px}.process-orange{width:170px;height:170px;left:95%;top:440px;--glow-spread:82px}.process-pink{width:140px;height:140px;left:110%;top:610px;--glow-spread:80px}.faq{padding-bottom:90px}.faq-list{margin-top:45px}.faq summary{font-size:16px;padding:22px 0;gap:10px}.faq details p{font-size:15px}.faq-orange{width:70px;height:70px;left:-60px;top:255px;--glow-spread:52px}.work{min-height:480px;padding-bottom:55px}.work .wide-container{margin-top:45px}.case-content{min-height:255px}.case-content p{font-size:14px;line-height:1.55}.case-content .case-tags{font-size:13px}.case-more{font-size:12px;margin-top:20px}.case-controls{gap:12px}.work-orange{width:65px;height:65px;left:-40px;top:320px;--glow-spread:52px}.closing{height:420px;padding:65px 20px 0}.closing h2{font-size:27px}.closing .arrow-button{margin-top:200px}footer{padding:35px 0 65px}footer p{font-size:11px;margin-top:24px}footer nav a,footer nav button{font-size:12px}.footer-rule{margin-top:30px}dialog{padding:38px 24px}dialog h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}.orb{will-change:auto}}

/* Clear actions and readable navigation, while retaining the original visual identity. */
.header nav a,.header nav button{min-height:44px;display:inline-flex;align-items:center}
.contact-link,.case-more,nav a:hover,.about-title{color:var(--ink)}
.contact-link:hover,.case-more:hover{text-decoration:underline;text-underline-offset:5px}
.hero-content{max-width:1040px;padding:80px 36px 0}
.hero h1{text-wrap:balance}
.hero-subtitle{max-width:550px;margin:24px auto 0;font-size:18px;line-height:1.6;text-wrap:pretty}
.hero-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px}
.cta-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:17px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:100px;font:14px/1.3 var(--mono);text-align:left;transition:background-color .2s,transform .2s}
.cta-button>span:last-child{font-size:22px;line-height:1}
.cta-button:hover{background:#383838;transform:translateY(-2px)}
.hero-work-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font:13px var(--mono);text-decoration:none}
.hero-work-link:hover{text-decoration:underline;text-underline-offset:5px}
.side-link{font-size:13px}

/* Bring existing client results into focus; case-study content and dialogs stay intact. */
.work{padding:24px 0 96px;min-height:0}
.work .wide-container{margin-top:40px}
.case-content{padding:30px 32px;border:1px solid var(--line);background:#e5e5e5;min-height:240px}
.case-content p{font-size:16px;line-height:1.6;text-transform:none;overflow-wrap:anywhere}
.case-content p strong{font-weight:700}
.case-content .case-tags{font-size:14px;line-height:1.6;color:#555}
.case-more{font-size:14px;min-height:44px;padding:10px 0;margin-top:8px}
.case-controls{margin-top:20px}
.case-dots{gap:8px}
.case-dots button{width:32px;height:32px;padding:0}
.case-dots button:before{left:calc(50% - 3.5px);top:calc(50% - 3.5px)}
.case-arrow{min-height:44px}
.work-orange{top:auto;bottom:60px}

/* Let process content determine its height instead of reserving large empty blocks. */
.process{min-height:0;padding-bottom:96px}
.steps{margin-top:50px}
.steps:before{display:none}
.steps li{min-height:0;padding-bottom:72px}
.steps li:last-child{padding-bottom:0}
.steps li:before{z-index:1}
.steps li:not(:last-child):after{content:'';position:absolute;left:-48px;top:30px;bottom:-18px;width:2px;background:repeating-linear-gradient(to bottom,#666 0 3px,transparent 3px 14px);z-index:0}
.closing{height:auto;padding:80px 24px 88px}
.closing .cta-button{margin-top:32px}

@media(max-width:1000px){
  .case-content{min-height:0}
}
@media(max-width:600px){
  .header-inner{height:80px}
  .header nav{gap:16px}
  .header nav a,.header nav button{font-size:13px}
  .hero{height:auto;min-height:620px;padding:112px 0 64px}
  .hero-content{padding:0 20px}
  .hero-subtitle{font-size:16px;line-height:1.6;margin-top:20px;max-width:340px}
  .hero-actions{margin-top:24px;gap:8px}
  .cta-button{font-size:13px;min-height:54px;gap:22px;padding:16px 22px}
  .hero-work-link{font-size:13px}
  .hero-pink{top:52%}
  .side-link{display:none}
  .advantages{padding:48px 0 60px}
  .advantage-grid{margin-top:60px;gap:28px}
  .advantage-grid>.rings{height:190px}
  .advantage-grid article{max-width:none}
  .advantage-grid p{font-size:16px;line-height:1.55}
  .work{padding:0 0 64px}
  .work .wide-container{margin-top:28px}
  .case-content{padding:22px 20px}
  .case-content p{font-size:16px;line-height:1.55}
  .case-content .case-tags{font-size:14px}
  .case-more{font-size:14px}
  .case-dots{gap:6px}
  .case-dots button{width:28px;height:28px}
  .team-intro{margin-top:24px;font-size:16px;line-height:1.55;max-width:340px}
  .team-grid{margin-top:32px;gap:28px}
  .team article p{font-size:13px;line-height:1.5}
  .about{min-height:0;padding:64px 0 72px}
  .about-title{font-size:24px;line-height:1.25;max-width:none;text-wrap:balance}
  .about-body{width:100%;margin-top:30px}
  .about-body>p{font-size:16px;line-height:1.6;max-width:none}
  .stats{margin-top:32px}
  .stats div{padding:20px 0 24px}
  .stats dd{font-size:15px}
  .about-pink{top:auto;bottom:80px}
  .about-orange{top:auto;bottom:200px;left:10%}
  .process{padding-bottom:64px}
  .process-rings{height:162px;margin-top:18px}
  .steps{padding-left:36px;max-width:none;margin-top:28px}
  .steps li{padding-bottom:44px}
  .steps li:before{left:-36px}
  .steps li:not(:last-child):after{left:-28px;top:24px;bottom:-14px}
  .steps h3{font-size:28px}
  .steps p{font-size:16px;line-height:1.55;margin-top:14px}
  .process-orange{top:34%}
  .process-pink{top:60%}
  .faq{padding-bottom:64px}
  .faq-list{margin-top:32px}
  .closing{height:auto;padding:56px 20px 60px}
  .closing .cta-button{margin-top:28px}
}
@media(max-width:380px){
  .header .wordmark{font-size:14px}
  .header nav{gap:10px}
  .header nav a,.header nav button{font-size:12px}
  .case-controls{gap:8px}
}
