/* Nyvario: black studio palette, with the original blue and purple accents. */
:root{color-scheme:dark;--navy:#08090c;--navy-light:#14151b;--blue:#6574ff;--lavender:#b8bfff;--ink:#f2f3f7;--muted:#a9acb8;--offwhite:#0b0c10;--line:#2a2c35;--white:#fff}
body{background:#0b0c10;color:var(--ink)}
.header{background:#08090cf5;color:#f2f3f7;border-bottom:1px solid #25262e;backdrop-filter:blur(18px)}
.header .brand-wordmark img,footer .brand-wordmark img{filter:brightness(0) invert(1)}
nav>a:hover,nav [aria-current=page]{color:#b7beff}
.menu-toggle span{background:#f2f3f7}
.services-dropdown{background:#14151b;border-color:#32343e;box-shadow:0 24px 65px #0009}
.services-dropdown .dropdown-cta{background:#222438;color:#f2f3f7}
.services-dropdown a:hover,.dropdown-cta>span:last-child{color:#b7beff}
.hero{background:#08090c}
.hero-inner{max-width:1440px;grid-template-columns:.94fr 1.16fr;gap:36px;padding-top:88px;padding-bottom:74px}
.hero-copy{position:relative;z-index:1}
.hero h1{font-size:clamp(46px,4.6vw,66px)}
.hero-description{font-size:16px;line-height:1.85;color:#b8bac6;max-width:435px}
.hero-note{font-size:12px;color:#b1b4c3;gap:6px}
.hero .eyebrow{font-size:11px;color:#c2c4d3}
.hero-actions .button,.hero-actions .text-link{font-size:14px}
.hero-bottom{border-color:#2a2c35;color:#a2a6b5}
.hero-bottom strong,.expertise-tags{color:#c6c8d3}
.device-showcase{margin:0;position:relative;min-width:0;align-self:center}
.showcase-label{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#989bae;font-size:10px;font-weight:500;letter-spacing:1.6px;padding:0 12px 16px}
.showcase-label>span:first-child{color:#c6caff}
.device-showcase img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:12px;background:#08090c}
.device-showcase figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;border-top:1px solid #24252d;padding:16px 12px 0;font-size:12px;color:#b3b6c5}
.device-showcase figcaption>span:last-child{font-size:9px;letter-spacing:1px;color:#9397a9}
.blue{color:#a5adff}
.section{background:transparent}
.work-heading>p,.section-heading>p,.portfolio-link-row p,.portfolio-filter-heading>p{font-size:14px;color:#b0b3c0}
.work-info p{font-size:13px;color:#a9acb8}
.work-info>span{border-color:#373944;color:#b3b6c5;font-size:11px}
.work-info h4{font-size:18px}
.service-panel,.post-type-card{background:#14151b;border-color:#2b2d37;box-shadow:0 12px 30px #0001}
.service-tabs button{border-color:#343640;color:#a5a8b8}
.service-tabs button[aria-selected=true]{background:#25283e;border-color:#7884ff;color:#c5cbff}
.service-tabs button>span:first-child{font-size:15px}
.service-visual{background:#20212a;color:#18223a}
.visual-caption{color:#b2b5c6;font-size:10px}
.tile-purple,.tile-light{color:#18223a;color-scheme:light}
.mini-label{color:#afb4ca}
.service-copy>p,.service-copy li{font-size:14px;line-height:1.8}
.price-row small{font-size:12px}
.type-card-top{color:#a5aabd;font-size:12px}
.type-icon{background:#272a42;color:#b7beff}
.type-purpose{background:#222536;color:#b9c0ef;font-size:12px}
.post-type-card>p,.post-type-card>button{font-size:14px;line-height:1.8}
.post-type-card:hover{border-color:#8d96ff}
.content-scope{font-size:13px;color:#aaafbf}
.promise-grid article>span{color:#a6afff;font-size:11px}
.promise-grid p,.approach>div>p:last-child{font-size:14px;line-height:1.85}
.approach .eyebrow{font-size:10px}
.founder-mark{background:#24273e;color:#b3bcff}
.process p{color:#bac0d0!important;font-size:12px!important}
.contact-section{background:#08090c;border-top:1px solid #25262e}
.contact-copy>p:not(.eyebrow){font-size:15px;color:#b3b8c8}
.contact-benefits p,.faq summary,.faq details p{font-size:14px}
.form-card{background:#15161d;color:#f2f3f7;border:1px solid #30323d;box-shadow:0 24px 65px #0004}
.form-card .mini-label,.form-time,.form-footnote{color:#aeb3c4}
.form-heading .mini-label,.form-time{font-size:11px}
.steps{font-size:12px;color:#a5acbf}
.steps li.active{color:#b3bcff}
.steps li>span{width:23px;height:23px;font-size:11px}
legend,.field-label,.service-option b{font-size:14px}
.service-option small{font-size:12px;color:#a9afc0}
.service-option:has(input:checked){background:#24273e;border-color:#8691ff}
.field-label small,.content-pick-grid label{font-size:12px}
input:not([type=radio]):not([type=checkbox]),select,textarea{background:#0e1016;border-color:#3c3f4d;color:#f0f2f7;font-size:14px;min-height:44px;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#8f96aa}
.form-step>.form-next,.form-controls .button,.back-button{font-size:14px}
.back-button{color:#b3bdd4}
.form-footnote{font-size:11px}
.content-picks summary{font-size:13px}
.content-picks summary>span{font-size:11px;color:#b3bcff}
.consent,#review{font-size:13px;color:#b9bfd0}
#review>div{border-color:#303340}
#review dt{color:#a4aec5}
.inline-link{color:#b3bcff}
.success-icon{background:#262a44;color:#aeb9ff}
.form-error{background:#341c21;border-color:#82424c;color:#ffd0d6;font-size:13px}
footer{color:#e5e8f1}
footer>p,footer>div,footer button{color:#b0b5c6;font-size:12px}
.portfolio-hero,.portfolio-cta{background:#08090c}
.portfolio-hero{border-bottom:1px solid #262832}
.portfolio-cta{border-top:1px solid #262832}
.portfolio-filters button,.slide-controls button{background:#15171e;color:#c1c6d7;border-color:#363947}
.portfolio-filters button{font-size:13px}
.portfolio-filters button[aria-pressed=true]{background:#2a2e49;border-color:#909cff;color:#fff}
.portfolio-toolbar>p{font-size:13px}
.portfolio-intro>p,.portfolio-cta>div>p:not(.eyebrow){font-size:15px;color:#b3b9ca}
.breadcrumb{color:#a5aec3;font-size:13px}
dialog{background:#161820;border:1px solid #343745;color:#edf0f7}
dialog::backdrop{background:#000b}
.dialog-close{background:#303441;color:#fff}
dialog>p,.case-text,.case-specs p,.project-transcript{font-size:14px;color:#b7bfd0}
.case-specs b{font-size:14px}
.project-note{background:#222631;color:#b7c0d4;font-size:13px}
.project-slide{color-scheme:light}
.skip{background:#1d2030;color:white}
::selection{background:#6574ff;color:white}
@media(min-width:1600px){.hero-inner{padding-top:104px;padding-bottom:92px}.device-showcase{margin-right:-24px}}
@media(max-width:1100px){.hero-inner{grid-template-columns:1fr 1fr;gap:20px;padding:68px 32px}.hero h1{font-size:48px;letter-spacing:-2.8px}.hero-description{font-size:15px}.hero-note{font-size:11px}.device-showcase figcaption{flex-wrap:wrap;gap:8px}.showcase-label{font-size:9px;letter-spacing:1px}.showcase-label>span:last-child{display:none}.hero-actions{gap:12px}.hero-actions .button,.hero-actions .text-link{font-size:12px}.post-type-card>p,.post-type-card>button{font-size:13px}.steps{font-size:10px}}
@media(max-width:760px){nav{background:#101117;border-color:#30323d}.services-dropdown{background:#1a1c26}.services-dropdown a{font-size:13px}.services-dropdown .mini-label{font-size:10px}.dropdown-cta>span,.dropdown-cta>span:last-child{font-size:11px}.hero-inner{grid-template-columns:1fr;padding:48px 23px 34px;gap:40px}.hero h1{font-size:clamp(40px,8.2vw,58px);letter-spacing:-2.4px}.hero-description{font-size:16px;max-width:530px}.hero .eyebrow{font-size:10px}.hero-actions .button,.hero-actions .text-link{font-size:13px}.hero-note{font-size:11px;gap:5px}.device-showcase{width:100%;max-width:600px;margin:0 auto}.showcase-label{font-size:9px;padding-left:0;padding-right:0}.showcase-label>span:last-child{display:block;font-size:8px}.device-showcase figcaption{padding:13px 0 0;font-size:11px}.device-showcase figcaption>span:last-child{font-size:8px;letter-spacing:.7px}.work-heading>p,.section-heading>p,.portfolio-link-row p{font-size:14px}.section-heading h2{font-size:33px}.service-copy h3{font-size:28px}.service-tabs button{padding:14px 10px;gap:6px}.service-tabs button>span:first-child{font-size:12px}.service-copy>p,.service-copy li{font-size:14px}.post-type-card h3{font-size:21px}.post-type-card>p,.post-type-card>button{font-size:13px}.type-purpose{font-size:11px}.approach .eyebrow{font-size:9px}.process p{font-size:11px!important}.promise-grid p{font-size:14px}.contact-copy>p:not(.eyebrow){font-size:15px}.contact-inner{gap:35px}.form-card{padding:25px 20px}.steps{font-size:11px;gap:5px}.content-pick-grid label{font-size:12px}.form-time{font-size:10px}.form-heading .mini-label{font-size:10px}.portfolio-filters button{font-size:12px}.portfolio-intro>p{font-size:14px}.portfolio-grid .work-info p{font-size:13px}.portfolio-grid .work-info>span{font-size:10px}.portfolio-filter-heading>p{font-size:14px}}
@media(max-width:360px){.hero-inner{padding-left:20px;padding-right:20px}.hero h1{font-size:39px}.hero-note{font-size:10px}.device-showcase figcaption>span:last-child{font-size:7px}.steps{font-size:10px}.form-card{padding:24px 16px}.field-pair{grid-template-columns:1fr}.content-picks summary>span{font-size:10px}.form-controls{flex-wrap:wrap}.post-type-card>p,.post-type-card>button{font-size:14px}}
@media(max-width:760px){.service-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.service-tabs button{min-width:0;flex-direction:column;align-items:center;text-align:center;padding:12px 4px;gap:7px}.service-tabs button>span:first-child{font-size:12px;letter-spacing:-.2px;line-height:1.4}}

/* A continuous reading flow, using native scrolling and optional motion. */
html{scroll-behavior:smooth}
.hero{background:linear-gradient(180deg,#08090c 80%,#0b0c10 100%)}
.header{transition:box-shadow .3s,background .3s}
.header.has-scrolled{background:#0b0c10f2;box-shadow:0 12px 35px #0003}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#596fff,#a47dff);transform:scaleX(0);transform-origin:left;pointer-events:none}
.device-portfolio-link{display:block;position:relative;border-radius:12px;isolation:isolate;cursor:pointer;outline-offset:6px;box-shadow:0 0 0 1px #ffffff0d;transition:box-shadow .35s,transform .5s cubic-bezier(.22,1,.36,1)}
.device-portfolio-link img{transition:filter .4s}
.device-link-label{position:absolute;right:20px;bottom:20px;padding:12px 17px;background:#11131fed;color:#f3f4ff;border:1px solid #a4adff66;border-radius:30px;box-shadow:0 6px 24px #0005;font-size:12px;font-weight:500;backdrop-filter:blur(14px);transition:background .3s,border-color .3s}
.device-portfolio-link:focus-visible{outline:3px solid #aeb8ff}
.device-portfolio-link:focus-visible .device-link-label{background:#5364e8;border-color:#a4adff}
@media(hover:hover){.device-portfolio-link:hover{transform:translateY(-5px);box-shadow:0 18px 60px #0005,0 0 0 1px #9aa4ff55}.device-portfolio-link:hover .device-link-label{background:#5364e8;border-color:#a4adff}}
.scroll-cue{display:flex;align-items:center;gap:15px;padding:12px 0;color:#b9bfd6;font-size:11px;flex-shrink:0}
.scroll-cue-line{position:relative;display:block;width:1px;height:28px;background:#4c5062;overflow:hidden}
.scroll-cue-line:after{content:'';position:absolute;top:0;left:0;width:1px;height:12px;background:#bbc3ff;animation:scroll-cue-drift 2.4s ease-in-out infinite}
@keyframes scroll-cue-drift{0%{transform:translateY(-13px)}55%,100%{transform:translateY(29px)}}
.studio{padding-top:100px;padding-bottom:100px}
.services-content{position:relative;margin-top:88px;padding-top:88px;border-top:0}
.services-content:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#838cff88,#35394e 45%,transparent)}
.post-types{margin-top:78px;padding-top:0}
.approach-intro{margin-top:90px;padding-top:62px;border-top:1px solid #292c39}
.approach{border-top:0;padding-top:0;margin-top:32px}
.contact-section{background:radial-gradient(ellipse at 25% 0%,#17182a 0%,transparent 52%),linear-gradient(#0b0c10,#08090c 55%);border-top-color:#33374b}
.contact-inner{padding-top:96px;padding-bottom:80px}
@media(max-width:1000px){.hero-bottom{gap:20px}.expertise-tags{gap:16px}.scroll-cue{font-size:10px;gap:10px}}
@media(max-width:760px){.device-link-label{right:12px;bottom:12px;padding:10px 13px;font-size:11px}.hero-bottom{flex-wrap:wrap;gap:18px;padding-top:24px;padding-bottom:24px}.scroll-cue{font-size:11px;min-height:44px}.hero-bottom .expertise-tags{width:auto;flex:1;min-width:190px;font-size:11px;gap:14px}.studio{padding-top:58px;padding-bottom:58px}.services-content{margin-top:55px;padding-top:55px}.post-types{margin-top:54px}.approach-intro{margin-top:56px;padding-top:42px}.approach{margin-top:27px}.contact-inner{padding-top:58px;padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.device-portfolio-link,.device-portfolio-link img,.device-link-label,.header{transition:none}.device-portfolio-link:hover{transform:none}.scroll-cue-line:after{animation:none;transform:translateY(8px)}}
