/* A shared graphic language, generous typography, and continuous section entrances. */
.symbol-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.ui-arrow{display:inline-block;width:1.25em;height:1.25em;flex-shrink:0;vertical-align:middle;overflow:visible}.arrow-se{transform:rotate(90deg)}.arrow-down{transform:rotate(135deg)}.arrow-up{transform:rotate(-45deg)}.pill .ui-arrow{width:22px;height:22px}.text-link .ui-arrow{width:22px;height:22px}.circle-link .ui-arrow{width:25px;height:25px}.circle-link:hover{transform:translateY(3px)}.footer-wordmark>span{display:flex;font-size:inherit}.footer-wordmark .ui-arrow{width:.65em;height:.65em}.footer-bottom .ui-arrow{width:12px;height:12px}.brand-bird{width:37px;height:29px}.brand span{font-size:inherit}.site-header .brand{gap:14px}.intro{top:27%}.intro h1{line-height:1.12;letter-spacing:-.055em;margin:24px 0 25px;font-weight:500}.intro h1 em{display:inline-block}.hero-description{font-size:14px;line-height:1.85}h2{letter-spacing:-.05em;line-height:1.13}.manifesto{letter-spacing:-.048em;line-height:1.18}.expertise-art h2{line-height:1.16}.section-heading h2{line-height:1.14}.contact-content h2{line-height:.95;letter-spacing:-.065em}.contact-copy{width:325px;min-width:0}.contact-copy p{margin-bottom:26px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid #aecde540;width:100%}.contact-email span{margin:0;display:flex}.contact-email .ui-arrow{width:18px;height:18px}.contact-copy>.pill{width:100%}.contact-content{align-items:flex-end}.light-interactive{isolation:isolate;overflow:hidden;--light-x:50%;--light-y:50%}.light-interactive:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(480px circle at var(--light-x) var(--light-y),#c8e4f380,transparent 75%);opacity:0;transition:opacity .9s}.light-interactive:hover:before{opacity:1}.about-main{position:relative}.orbit-symbol{width:150px;height:160px;flex-basis:150px;perspective:700px}.orbit-rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--orbit-x,0deg)) rotateY(var(--orbit-y,0deg));transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.orbit-rig i{position:absolute;inset:5px;border:1px solid #5b7d8b80;border-radius:50%;transform:rotateY(65deg) rotateZ(20deg)}.orbit-rig i:nth-child(2){transform:rotateY(65deg) rotateZ(-45deg)}.orbit-rig i:nth-child(3){transform:rotateX(65deg) rotateZ(40deg)}.orbit-core{position:absolute;inset:39px 43px;filter:drop-shadow(9px 9px 9px #22465c25);transform:rotate(-12deg);animation:coreFloat 9s ease-in-out infinite}.orbit-core b{position:absolute;inset:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#f5fcff,#6191b3 48%,#1e3f57)}.orbit-core b:nth-child(2){clip-path:polygon(50% 0,50% 60%,0 50%);background:linear-gradient(120deg,#e1f3ff,#8aaec3)}.orbit-core b:nth-child(3){clip-path:polygon(50% 0,100% 50%,50% 60%);background:linear-gradient(80deg,#15384c,#70a4c9)}.orbit-core b:nth-child(4){clip-path:polygon(50% 60%,100% 50%,50% 100%);background:linear-gradient(20deg,#416c8b,#e8faff)}@keyframes coreFloat{50%{transform:translateY(-6px) rotate(6deg)}}
/* Icon-first work gallery. Placeholder concepts are explicitly identified. */
.app-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.app-project{position:relative;display:flex;flex-direction:column;min-width:0;aspect-ratio:.88;padding:23px;text-align:left;border:1px solid #b9ddff20;border-radius:4px;background:radial-gradient(ellipse at 50% 35%,var(--tile-glow,#203f56),#111d29 62%,#0d151f);overflow:hidden;isolation:isolate;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .7s}.app-project:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.15;background-image:linear-gradient(#def3ff1a 1px,transparent 1px),linear-gradient(90deg,#def3ff1a 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse,black,transparent 80%)}.app-project:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#e3faff0a 44%,transparent 65%);transform:translateX(-100%);transition:transform 1s;pointer-events:none}.app-project:hover:after{transform:translateX(100%)}.app-project:hover{border-color:#c2e7ff60;box-shadow:0 22px 50px #0004}.theme-coffee{--tile-glow:#2a4d49;--icon-a:#a2d1b9;--icon-b:#255d4d;--icon-c:#142d29;--icon-ink:#e2f3da}.theme-magazine{--tile-glow:#373c5c;--icon-a:#c6c4e9;--icon-b:#6a6798;--icon-c:#302d53;--icon-ink:#f3f0ff}.theme-valet{--tile-glow:#253950;--icon-a:#b5d6ee;--icon-b:#47708e;--icon-c:#122b40;--icon-ink:#e1f2ff}.theme-cookies{--tile-glow:#503943;--icon-a:#efc3c0;--icon-b:#a65b66;--icon-c:#572b3c;--icon-ink:#ffe7db}.theme-food{--tile-glow:#514333;--icon-a:#e9c78f;--icon-b:#b87644;--icon-c:#5b3928;--icon-ink:#fff0cb}.app-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b5c8d6;font-size:7px;letter-spacing:1.4px}.app-card-top>span:last-child{border:1px solid #cce8ff24;padding:5px 7px;border-radius:2px;font-size:6px}.icon-plinth{position:relative;display:grid;place-items:center;flex:1;min-height:170px;perspective:900px}.app-icon{width:42%;aspect-ratio:1;border-radius:25%;background:linear-gradient(140deg,var(--icon-a),var(--icon-b) 48%,var(--icon-c));box-shadow:inset 1px 2px 2px #edffff88,inset -2px -3px 5px #0008,7px 10px 0 -3px var(--icon-c),20px 30px 36px #0005;position:relative;display:grid;place-items:center;transform:rotateY(-13deg) rotateX(12deg) rotateZ(-8deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.app-icon:after{content:'';position:absolute;inset:5px;border:1px solid #efffff26;border-radius:23%;pointer-events:none}.app-icon svg{width:55%;height:55%;fill:none;stroke:var(--icon-ink);stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;filter:drop-shadow(0 2px 1px #0003)}.app-project:hover .app-icon,.app-project:focus-visible .app-icon{transform:translateY(-12px) rotateY(10deg) rotateX(4deg) rotateZ(2deg)}.icon-shadow{position:absolute;bottom:17%;left:30%;width:45%;height:12%;background:#0004;filter:blur(13px);border-radius:50%;z-index:-1}.app-card-bottom{display:flex;gap:12px;justify-content:space-between;align-items:center}.app-card-bottom strong{display:block;font-size:19px;font-weight:500;letter-spacing:-.5px}.app-card-bottom small{display:block;font-size:9px;color:#9fb1c0;line-height:1.8;margin-top:7px}.app-card-arrow{width:36px;height:36px;border:1px solid #cee7fc40;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .3s,color .3s}.app-card-arrow svg{width:18px;height:18px}.app-project:hover .app-card-arrow{background:#e1f4ff;color:#0b1924}.app-invitation{display:flex;flex-direction:column;justify-content:center;padding:30px 10%;gap:25px}.app-invitation p{font-size:clamp(26px,2.8vw,42px);line-height:1.2;letter-spacing:-.045em}.app-invitation .text-link{align-self:flex-start}.mini-monolith{width:37px;height:48px;display:block;clip-path:polygon(50% 0,100% 28%,100% 73%,50% 100%,0 73%,0 28%);background:conic-gradient(from 30deg,#79b4de,#d9f4ff,#335674,#8cd2ff);transform:rotate(15deg);filter:drop-shadow(0 8px 12px #8ccaff22)}.work-disclosure{font-size:10px;max-width:100%;color:#8497a7}.app-gallery+.work-disclosure{margin-top:35px}
/* Fullscreen product presentation with a dimensional, live HTML phone. */
body.project-open{overflow:hidden}.project-viewer{--accent:#a2d1b9;--demo-bg:#09231f;position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;padding:0;overflow:auto;background:var(--demo-bg);color:#eef4f5;isolation:isolate;box-shadow:none}.project-viewer[open]{display:flex;flex-direction:column;animation:demoOpen .85s cubic-bezier(.19,1,.22,1) both}.project-viewer.closing{animation:demoClose .5s cubic-bezier(.65,0,.35,1) both}.project-viewer::backdrop{background:#080e14}.demo-background{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.demo-background>span:first-child{position:absolute;width:100%;height:110%;left:27%;top:-5%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 28%,transparent),transparent 66%)}.demo-background>span:nth-child(2){position:absolute;width:65vw;height:65vw;border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:50%;right:-10%;top:-18%;transform:rotateX(48deg) rotateZ(-20deg)}.demo-background>span:nth-child(3){position:absolute;width:50vw;height:50vw;border:1px solid color-mix(in srgb,var(--accent) 10%,transparent);border-radius:50%;right:-2%;top:-5%;transform:rotateY(50deg)}.demo-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:26px 4.5vw}.demo-brand{font-weight:800;font-size:17px;letter-spacing:3px}.demo-brand>span{font-size:7px;font-weight:400;letter-spacing:1.8px;color:#b2c9cc;margin-left:20px}.demo-close{display:flex;align-items:center;gap:18px;border:1px solid #ffffff45;border-radius:40px;font-size:11px;padding:14px 20px}.demo-close svg{width:16px;height:16px;transform:rotate(180deg)}.demo-close:hover{background:#ffffff15}.demo-layout{display:grid;grid-template-columns:1fr 1.25fr;flex:1;min-height:610px;max-width:1600px;width:100%;margin:0 auto;align-items:center;padding:20px 7.3vw 25px;gap:4vw}.demo-copy{position:relative;z-index:2}.demo-copy .eyebrow{color:var(--accent);font-size:8px;letter-spacing:2px;margin:0 0 30px}.project-viewer h2{font-size:clamp(50px,5.6vw,90px);font-weight:500;letter-spacing:-.055em;line-height:1.07;margin:0 0 28px;max-width:540px}.demo-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#b1c8cb;max-width:330px}.demo-chapters{display:flex;gap:22px;margin:35px 0 22px}.demo-chapters button{padding:12px 0;border-bottom:1px solid #ffffff30;color:#a6b8bc;font-size:10px;display:flex;gap:9px;transition:color .3s,border-color .3s}.demo-chapters button span{font-size:9px}.demo-chapters button.active{color:#f2f9fa;border-color:var(--accent)}.demo-explore{gap:22px;padding:14px 0;font-size:12px;color:#eff9fc}.demo-copy #demo-disclaimer{font-size:9px;line-height:1.8;margin-top:28px;color:#8fa9ae;max-width:270px}.demo-footer{display:flex;align-items:center;gap:24px;padding:22px 4.5vw;border-top:1px solid #ccecff18;font-size:9px;letter-spacing:.5px;position:relative;z-index:3}.demo-footer>span{min-width:220px;color:#b7cbd0}.demo-footer button{font-size:10px;padding:6px}.demo-footer button:hover{color:var(--accent)}.demo-timeline{height:1px;flex:1;background:#ffffff28;overflow:hidden}.demo-timeline i{display:block;background:var(--accent);width:100%;height:1px;transform-origin:left;transform:scaleX(var(--demo-progress,0))}.phone-stage{position:relative;min-width:0;height:min(72svh,760px);min-height:550px;perspective:1400px;display:grid;place-items:center;touch-action:pan-y}.phone-aura{position:absolute;width:85%;height:55%;bottom:12%;left:10%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 19%,transparent),transparent 67%);filter:blur(20px)}.phone-orbit{position:relative;width:278px;height:600px;transform-style:preserve-3d;transform:translateY(var(--phone-y,0px)) rotateX(var(--phone-x,8deg)) rotateY(var(--phone-ry,-18deg)) rotateZ(var(--phone-z,-5deg));transition:transform 1.7s cubic-bezier(.2,.8,.2,1);will-change:transform}.phone-model{width:100%;height:100%;position:relative;transform-style:preserve-3d}.phone-layer,.phone-front,.phone-back{position:absolute;inset:0;border-radius:47px;background:#bac5ca;backface-visibility:hidden}.phone-layer{backface-visibility:visible;background:linear-gradient(110deg,#c4ced1 5%,#e4eced 17%,#58656f 38%,#91a1ac 61%,#e1e8eb 81%,#6b7b87);border:1px solid #d5e2e8}.phone-front{transform:translateZ(14px);padding:7px;background:linear-gradient(140deg,#e5edf0,#758189 50%,#c8d7df);box-shadow:inset 0 0 0 1px #f2ffff80,0 35px 60px #0004;overflow:hidden}.phone-screen{border:5px solid #080c0f;height:100%;border-radius:40px;position:relative;overflow:hidden;background:#f2f0e8;color:#172622;isolation:isolate}.phone-status{display:flex;justify-content:space-between;position:absolute;top:12px;left:24px;right:18px;z-index:8;font-family:Arial,sans-serif;font-size:10px;font-weight:700;pointer-events:none}.phone-status>span:last-child{letter-spacing:1px;font-size:8px;display:flex;align-items:center;gap:4px}.phone-status b{font-size:15px;letter-spacing:0}.dynamic-island{width:77px;height:22px;position:absolute;top:7px;left:50%;transform:translateX(-50%);background:#050709;border-radius:25px;z-index:9}.dynamic-island i{position:absolute;right:8px;top:7px;width:8px;height:8px;background:radial-gradient(circle at 40% 30%,#243e53,#08121b 60%);border-radius:50%}.home-indicator{position:absolute;bottom:7px;left:33%;right:33%;height:4px;border-radius:4px;background:#102018;opacity:.8;z-index:8;pointer-events:none}.phone-back{background:linear-gradient(135deg,#dbe4e8,#99aeb9);transform:rotateY(180deg) translateZ(7px);border:2px solid #c4d4df;display:flex;align-items:center;justify-content:center}.phone-back>span{text-align:center;font-size:10px;line-height:2;letter-spacing:4px;color:#718895}.camera-plate{position:absolute;top:10px;left:9px;right:9px;height:145px;background:linear-gradient(135deg,#c4d3dc,#849ea9);border-radius:37px;box-shadow:0 3px 5px #1a293d30}.camera-plate i{position:absolute;width:43px;height:43px;border-radius:50%;background:radial-gradient(circle,#17334b 0%,#050b10 40%,#1f2732 61%,#758797 64%,#06101a 70%);border:2px solid #cad9df}.camera-plate i:first-child{top:15px;left:16px}.camera-plate i:nth-child(2){bottom:15px;left:16px}.camera-plate i:nth-child(3){top:52px;left:67px}.camera-plate b{position:absolute;width:18px;height:18px;right:22px;top:35px;background:#ebeddf;border-radius:50%}.phone-volume,.phone-power{position:absolute;background:linear-gradient(90deg,#8c9ca4,#e0e9ed,#748591);width:5px;border-radius:3px;transform:translateZ(3px);box-shadow:0 1px 1px #0007}.phone-volume{height:50px;left:-2px;top:129px}.phone-power{height:70px;right:-2px;top:154px}.phone-caption{position:absolute;bottom:-3px;left:0;right:0;text-align:center;display:flex;flex-direction:column;gap:8px;font-size:6px;letter-spacing:1.8px;color:#b6ced6}.phone-caption span:last-child{font-size:5px;color:#809da8}#demo-screen{position:absolute;inset:0;padding:54px 18px 25px;display:flex;flex-direction:column;overflow:auto;scrollbar-width:none;overscroll-behavior:contain}.screen-content{min-height:100%;display:flex;flex-direction:column;animation:screenIn .5s ease both}.screen-eyebrow{font-size:7px;letter-spacing:1.1px;text-transform:uppercase;color:#647b70}.screen-heading{font-size:30px!important;line-height:1.06!important;letter-spacing:-1.5px!important;font-weight:600!important;margin:13px 0 18px!important;color:#182b24}.screen-top{display:flex;justify-content:space-between;align-items:center}.screen-avatar{width:25px;height:25px;display:grid;place-items:center;background:#dbe5dc;border-radius:50%;font-size:8px}.screen-hero{border-radius:12px;background:var(--screen-accent,#d6e5d7);min-height:168px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:17px}.screen-hero:before,.screen-hero:after{content:'';width:160px;height:160px;border:1px solid #fff7;border-radius:50%;position:absolute;left:-50px;top:-50px}.screen-hero:after{top:auto;left:auto;bottom:-70px;right:-40px;width:190px;height:190px}.screen-hero svg{height:75px;width:75px;stroke:#305c46;stroke-width:2.5;fill:none;z-index:1}.screen-hero .hero-word{font-size:58px;font-weight:600;line-height:1;letter-spacing:-3px;color:#2d534a;z-index:1}.screen-hero-tag{position:absolute;bottom:13px;left:13px;font-size:6px;letter-spacing:1px;color:#27453b}.screen-section-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:10px}.screen-section-heading span{font-size:7px;color:#637d6d}.screen-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 0;border-top:1px solid #23362a1c;text-align:left;color:#263c32}.screen-row strong{display:block;font-size:10px;font-weight:600}.screen-row small{display:block;font-size:7px;line-height:1.6;margin-top:3px;color:#6b7b73}.screen-row b{font-weight:500;font-size:11px}.screen-action{margin-top:auto;background:#1c3b2d;color:#f4f6ed;border-radius:25px;padding:14px 12px;display:flex;align-items:center;justify-content:space-between;font-size:10px;min-height:42px;gap:10px}.screen-action svg{width:14px;height:14px}.screen-action:hover{background:#315c46}.screen-caption{font-size:6px!important;line-height:1.6!important;text-align:center;color:#6c7e73!important;margin:8px 0 0!important}.screen-options{display:flex;gap:6px;margin:12px 0 20px}.screen-options button{border:1px solid #213c2c30;border-radius:30px;padding:8px 12px;font-size:8px;color:#253d31}.screen-options button.selected{background:#294c39;color:#f0f3e8}.screen-detail{font-size:10px;line-height:1.8;color:#5d7366;margin-bottom:13px}.screen-price{font-size:29px;letter-spacing:-1px;color:#183d2b;display:block;margin-bottom:20px}.screen-success{width:76px;height:76px;border-radius:50%;background:#d6e6d8;display:grid;place-items:center;font-size:30px;color:#245436;margin:35px auto 15px}.screen-content.is-success{text-align:center}.screen-content.is-success .screen-heading{font-size:32px!important}.screen-content.is-success .screen-detail{max-width:180px;margin:0 auto 25px}.screen-receipt{padding:18px 12px;border:1px solid #284a3630;border-radius:12px;margin-bottom:20px;text-align:left;font-size:9px;line-height:2.1;color:#5a7162}.screen-receipt strong{color:#24412e;display:block;font-size:10px}.screen-nav{display:flex;justify-content:space-around;margin-top:18px;font-size:6px;color:#748576}.screen-nav .active{color:#244f38;font-weight:700}.phone-screen .screen-row:hover{background:#244f3808}.screen-back{font-size:9px;align-self:flex-start;margin-bottom:8px;padding:3px 0;color:#4c6659}.demo-detail-note{margin-top:15px;font-size:9px;color:#a5c1c6;max-width:300px;line-height:1.8}
@keyframes demoOpen{from{clip-path:circle(0% at var(--origin-x,50%) var(--origin-y,50%));opacity:.6}to{clip-path:circle(150% at var(--origin-x,50%) var(--origin-y,50%));opacity:1}}@keyframes demoClose{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.app-project{padding:30px}.app-card-bottom strong{font-size:23px}.app-card-bottom small{font-size:11px}.app-card-top{font-size:8px}}
@media(max-width:1100px){.app-gallery{gap:18px}.app-project{padding:19px;aspect-ratio:.8}.app-card-top{font-size:6px;letter-spacing:.8px}.app-card-bottom strong{font-size:16px}.app-card-bottom small{font-size:8px}.icon-plinth{min-height:130px}.app-icon{width:48%}.demo-layout{padding-left:6vw;padding-right:6vw;gap:20px}.project-viewer h2{font-size:55px}.phone-orbit{width:250px;height:540px}.phone-stage{min-height:530px}.demo-chapters{gap:13px}.demo-chapters button span{font-size:8px}.screen-heading{font-size:27px!important}.screen-hero{min-height:145px}.screen-options{margin-bottom:13px}.screen-detail{font-size:9px}}
@media(max-width:700px){.intro{top:17%}.intro h1{font-size:clamp(58px,13vw,88px);line-height:1.1;letter-spacing:-.05em;margin:20px 0 17px}.hero-description{font-size:11px}.brand-bird{width:29px;height:24px}.site-header .brand{gap:10px}.section-heading h2{font-size:43px}.about .manifesto{font-size:35px;letter-spacing:-1.6px;line-height:1.2}.orbit-symbol{width:95px;height:102px;margin-bottom:31px}.orbit-core{inset:27px 27px}.orbit-rig i{inset:3px}.app-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-project{padding:14px 12px;aspect-ratio:.68}.app-card-top{font-size:5px;letter-spacing:.3px;align-items:flex-start}.app-card-top>span:last-child{font-size:4px;padding:3px;letter-spacing:.3px}.icon-plinth{min-height:110px}.app-icon{width:57%;border-radius:25%;box-shadow:inset 1px 1px 2px #edffff88,inset -2px -3px 5px #0008,4px 6px 0 -2px var(--icon-c),9px 15px 25px #0005}.app-card-bottom{align-items:flex-end;gap:7px}.app-card-bottom strong{font-size:13px;letter-spacing:-.3px}.app-card-bottom small{font-size:7px;line-height:1.6;margin-top:6px}.app-card-arrow{width:22px;height:22px;border:0}.app-card-arrow svg{height:14px;width:14px}.app-invitation{padding:20px 10px;gap:18px}.app-invitation p{font-size:22px;line-height:1.2;letter-spacing:-.8px}.app-invitation .text-link{font-size:10px;gap:10px}.app-invitation .ui-arrow{width:16px;height:16px}.mini-monolith{width:23px;height:30px}.work-disclosure{font-size:8px}.expertise-art h2{font-size:36px}.contact-copy{width:100%}.contact-content h2{line-height:.95}.contact-copy>.pill{width:min(100%,325px)}.contact-email{max-width:325px;margin-bottom:22px}.project-viewer[open]{display:block}.demo-header{padding:18px 22px;position:sticky;top:0;background:color-mix(in srgb,var(--demo-bg) 92%,transparent);backdrop-filter:blur(10px)}.demo-brand{font-size:14px;letter-spacing:2px}.demo-brand>span{display:none}.demo-close{font-size:9px;padding:10px 13px;gap:11px}.demo-close svg{width:14px;height:14px}.demo-layout{display:flex;flex-direction:column;min-height:0;padding:23px 24px 32px;gap:10px}.demo-copy{width:100%}.demo-copy .eyebrow{font-size:6px;margin-bottom:14px}.project-viewer h2{font-size:40px;line-height:1.09;letter-spacing:-1.7px;margin-bottom:15px;max-width:330px}.demo-copy>p:not(.eyebrow){font-size:11px;line-height:1.7;max-width:300px}.demo-chapters{margin:20px 0 13px;gap:17px}.demo-chapters button{font-size:8px;padding:9px 0}.demo-explore{font-size:10px;padding:10px 0}.demo-copy #demo-disclaimer{font-size:7px;max-width:none;margin-top:12px}.phone-stage{width:100%;height:540px;min-height:540px;margin-top:8px}.phone-orbit{width:244px;height:528px}.phone-caption{bottom:-15px;font-size:5px;gap:5px}.phone-caption span:last-child{display:none}.demo-footer{padding:18px 22px;gap:14px;display:flex;flex-wrap:wrap;font-size:8px}.demo-footer>span{min-width:0;flex:1}.demo-timeline{order:4;flex-basis:100%;margin:6px 0}.demo-footer button{font-size:9px}.demo-background>span:nth-child(2){width:150vw;height:150vw;right:-25%;top:30%}#demo-screen{padding:50px 15px 24px}.screen-hero{min-height:140px}.screen-heading{font-size:26px!important;margin:12px 0 14px!important}.screen-section-heading{font-size:10px}.screen-row{padding:11px 0}.screen-action{padding:12px;font-size:9px}.screen-content.is-success .screen-heading{font-size:29px!important}}
@media(max-width:360px){.app-gallery{grid-template-columns:1fr}.app-project{aspect-ratio:1.1}.icon-plinth{min-height:160px}.app-icon{width:35%}.app-card-top{font-size:7px}.app-card-bottom strong{font-size:18px}.app-card-bottom small{font-size:9px}.app-invitation{padding:30px 10px}}
@media(prefers-reduced-motion:reduce){.phone-orbit{transform:none!important}.light-interactive:before{display:none}.project-viewer[open],.project-viewer.closing{animation:none}.app-project,.app-icon{transform:none!important}}
body.motion-paused .phone-orbit{transition:none!important}body.motion-paused .app-project,body.motion-paused .app-icon{transform:none!important}
@media(max-width:700px){.demo-layout{padding-top:14px;padding-bottom:26px;gap:3px}.demo-copy{display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:end}.demo-copy .eyebrow{grid-column:1/-1;font-size:6px;margin-bottom:9px}.project-viewer .demo-copy h2{font-size:29px;line-height:1.08;max-width:225px;margin:0;letter-spacing:-1.2px}.demo-copy>#demo-description,.demo-copy .demo-chapters{display:none}.demo-copy .demo-explore{max-width:95px;gap:10px;font-size:8px;line-height:1.6;margin-bottom:3px;text-align:left}.demo-copy .demo-explore svg{width:14px;height:14px}.demo-copy #demo-disclaimer{grid-column:1/-1;font-size:6px;margin-top:10px}.phone-stage{height:530px;min-height:530px;margin-top:10px}.phone-orbit{width:231px;height:500px}.phone-caption{bottom:0}.demo-footer{padding-top:14px;padding-bottom:14px}.screen-hero{min-height:125px}.screen-options{margin:8px 0 12px}.screen-price{font-size:24px;margin-bottom:12px}.screen-detail{font-size:9px;line-height:1.6;margin-bottom:8px}.screen-content.is-success .screen-detail{margin-bottom:18px}.screen-success{margin-top:20px}}

.screen-content.is-detail .screen-top{display:none}.screen-content.is-detail .screen-hero{min-height:125px}.screen-content.is-detail .screen-heading{margin-top:8px!important}.screen-content.is-detail .screen-back{margin-bottom:2px}
@media(max-width:700px){.screen-content.is-detail .screen-hero{min-height:90px;margin-bottom:12px}.screen-content.is-detail .screen-hero svg{width:49px;height:49px}.screen-content.is-detail .screen-hero-tag{font-size:5px;bottom:9px}.screen-content.is-detail .screen-heading{margin-bottom:10px!important}.screen-content.is-detail .screen-caption{font-size:5px!important}}

/* One shared viewport surface changes light in the space between chapters. */
#top{position:relative;isolation:isolate;background:#0a1018}
.page-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--page-bg,#0a1018)}
.page-atmosphere:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 74% 45%,#193e5a60,transparent 75%);opacity:var(--night-light,1)}
.continuity-ready #top{background:transparent;color:var(--surface-ink,#edf1f5)}
.continuity-ready #top>.section-pad,.continuity-ready #top>.chapter-bridge{position:relative;background:transparent;margin-top:0;clip-path:none}
.continuity-ready #top .stage{background:transparent}
.stage:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 76% 45%,#17395750,transparent 68%);opacity:var(--hero-atmosphere,1)}
.stage>.bottom{bottom:52px;opacity:var(--hero-cue,1);transform:translateY(calc((1 - var(--hero-cue,1))*-14px));transition:opacity .2s}
.chapter-bridge{height:clamp(210px,28svh,340px);overflow:hidden;pointer-events:none}
.chapter-bridge.to-light{background:linear-gradient(#0a1018,#e8eae5)}.chapter-bridge.to-dark{background:linear-gradient(#e8eae5,#0a1018)}
.chapter-bridge svg{display:block;width:100%;height:100%;overflow:visible;transform:translateY(calc(var(--bridge-drift,0)*1px));opacity:.65}
.flow-thread,.flow-glint{fill:none;stroke-width:.7;vector-effect:non-scaling-stroke}
.flow-thread{stroke:#7b9caf;opacity:.24}
.flow-glint{stroke:#b9e5fa;stroke-width:1.4;stroke-dasharray:.12 .88;stroke-dashoffset:var(--thread-offset,1);opacity:.65;filter:drop-shadow(0 0 3px #b0dfff)}
.to-dark .flow-glint{stroke:#5386a1;filter:none}
/* A cool, shallow light stays local to the artwork rather than filling a panel. */
.expertise:before{content:'';position:absolute;inset:10% 30% 0 -15%;z-index:-1;background:radial-gradient(ellipse,#23496950,transparent 66%);pointer-events:none}
.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 50%,#1b558455,transparent 70%);pointer-events:none}
.site-footer{background:#0a1018}
.light-interactive:before{background:radial-gradient(400px circle at var(--light-x) var(--light-y),#b8dbe632,transparent 72%)}
/* Typography is the interaction: a local spring field and a faint ink echo.
   Original heading labels remain available to assistive technology. */
.type-word{display:inline-block;white-space:nowrap}
.type-glyph{display:inline-block;position:relative;transform-origin:50% 75%;color:var(--glyph-color,inherit);transform:translate3d(var(--glyph-x,0px),var(--glyph-y,0px),0) rotate(var(--glyph-r,0deg)) scale(var(--glyph-s,1))}
.type-glyph:after{content:attr(data-char);position:absolute;inset:0;color:#699eb7;opacity:var(--glyph-echo,0);transform:translate3d(calc(var(--glyph-x,0px)*-.5),calc(var(--glyph-y,0px)*-.85),0);pointer-events:none}
[data-type-field]{cursor:default}
.process-grid .process-step{position:relative;padding:0;margin:0;border:0;border-radius:0;background:none;transform:none;transition:none}
.process-grid .process-step:hover,.process-grid .process-step:focus-visible{background:none;transform:none}
.process-grid .process-step:after{display:none}
.process-grid h3{transition:none}
.process-line i{animation:none;width:100%;transform:scaleX(var(--process-progress,0));transform-origin:left}
@media(max-width:700px){.chapter-bridge{height:160px}.chapter-bridge svg{opacity:.45}.stage>.bottom{bottom:42px}.process-grid{gap:42px}.process-grid .process-step{padding:0;margin:0}.process-grid article:last-child{padding:0}.type-glyph:after{display:none}}
@media(prefers-reduced-motion:reduce){.chapter-bridge svg{transform:none}.flow-glint{display:none}.type-glyph{transform:none!important;color:var(--glyph-color,inherit)!important}.type-glyph:after{display:none}.stage>.bottom{opacity:1;transform:none}}
body.motion-paused .type-glyph{transform:none!important;color:var(--glyph-color,inherit)!important}body.motion-paused .type-glyph:after{display:none}

.continuity-ready #top .about,.continuity-ready #top .approach{color:var(--surface-ink)}
.continuity-ready #top .section-label,.continuity-ready #top .small-label,.continuity-ready #top .section-intro,.continuity-ready #top .muted,.continuity-ready #top .about-bottom>p:nth-child(2),.continuity-ready #top .process-grid p,.continuity-ready #top .process-grid article>span,.continuity-ready #top .service-body p{color:var(--surface-muted)}
.continuity-ready #top .section-heading h2>span,.continuity-ready #top .expertise-art h2>span{color:var(--surface-accent)}
.continuity-ready #top .about-bottom,.continuity-ready #top .services details,.continuity-ready #top .circle-link{border-color:var(--surface-line)}
.continuity-ready #top .process-line{background:var(--surface-line)}
.continuity-ready #top .process-line i{background:var(--surface-accent)}
.continuity-ready #top .circle-link{color:var(--surface-ink)}

.light-interactive [data-type-field] .type-glyph{color:var(--glyph-color,inherit)}
.continuity-ready .final-copy h2 em{color:var(--surface-accent)}
.continuity-ready .site-header.scrolled{background:var(--nav-bg,#080c12dc);color:var(--nav-ink,#edf1f5);border-bottom-color:var(--nav-line,#ffffff10)}
.continuity-ready .site-header.scrolled .desktop-nav a,.continuity-ready .site-header.scrolled .motion-toggle,.continuity-ready .site-header.scrolled .header-cta{color:inherit}
.continuity-ready .site-header.scrolled .motion-toggle,.continuity-ready .site-header.scrolled .header-cta{border-color:var(--nav-line)}

.continuity-ready .site-header.scrolled .menu-toggle i{background:var(--nav-ink)}
.continuity-ready body.menu-open .site-header{background:#0a1018;color:#edf1f5;border-color:#b7d2e535}
.continuity-ready body.menu-open .site-header .menu-toggle i{background:#edf1f5}
/* Keep the hero's invitation and its arrow together as one compact link. */
.final-copy .text-link,.final-copy .text-link:hover{gap:10px}
.final-copy .text-link>span{display:flex;align-items:center}
.final-copy .text-link .ui-arrow{width:18px;height:18px}

/* Give the portfolio introduction room to explain the interactive concepts. */
.work .section-heading{align-items:center}
.work .section-intro{max-width:410px}
.work .section-intro>p{line-height:1.75}
.work .section-intro>.muted{margin-top:16px}
@media(max-width:700px){.work .section-heading{align-items:stretch;gap:24px}.work .section-intro{max-width:100%}.work .section-intro>p{font-size:13px}.work .section-intro>.muted{font-size:11px}}
