@font-face{font-family:'Silkscreen';src:url('assets/silkscreen-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--blue:#141b41;--dark:#0c112c;--orange:#fa7921;--orange2:#fe9920;--ink:#f4f3f0;--muted:#afb4cc;--line:#ffffff22;--display:'Silkscreen','Courier New',monospace;--body:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--dark);color:var(--ink);font:16px/1.65 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange2);outline-offset:6px}::selection{background:var(--orange);color:var(--dark)}.skip{position:fixed;top:-100px;left:20px;background:var(--orange);color:var(--dark);padding:12px;z-index:99}.skip:focus{top:10px}.header{height:96px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand,.footer-brand{display:block;width:134px}.logo-crop{display:block;position:relative;width:100%;aspect-ratio:874/390;overflow:hidden;filter:invert(1);mix-blend-mode:screen}.logo-crop img{position:absolute;width:123.57%;max-width:none;height:auto;left:-11.78%;top:-74.87%}.header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.header nav a{transition:color .2s}.header nav a:hover{color:var(--orange2)}.nav-contact{border:1px solid var(--orange);padding:10px 20px}.menu-toggle{display:none}.hero{min-height:780px;height:calc(100svh - 96px);max-height:1100px;position:relative;overflow:hidden;background:var(--blue)}.hero-art,.hero-shade{position:absolute;inset:0}.hero-art{background:url('assets/cidade-cyber.png') center center/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(12,17,44,.96),rgba(20,27,65,.75) 37%,rgba(20,27,65,.08) 80%),linear-gradient(0deg,var(--dark),transparent 20%)}.hero-content{position:relative;z-index:1;padding:85px 5% 130px;max-width:900px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--orange2);margin:0 0 24px}h1,h2,h3{margin:0;font-family:var(--display);font-weight:900;line-height:.99;letter-spacing:.005em}h1{font-size:clamp(64px,7.9vw,120px)}h1 span,h2 span{color:var(--orange2)}.hero-copy{font-size:18px;max-width:470px;line-height:1.7;margin:28px 0 32px;color:#d7daea}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;font-size:14px;font-weight:700;min-height:54px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:linear-gradient(100deg,var(--orange),var(--orange2));color:var(--dark);box-shadow:4px 4px 0 #0004}.secondary{border:1px solid #a5abc273;background:#141b4140}.secondary:hover{background:var(--blue)}.hero-bottom{position:absolute;z-index:1;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.07em;color:#c6cadb;border-top:1px solid var(--line);padding-top:20px}.hero-bottom>span:first-child{color:var(--orange2);font-weight:bold}.ribbon{padding:19px 5%;display:flex;justify-content:space-between;gap:24px;background:var(--orange);color:var(--dark);font-size:14px;font-weight:900;letter-spacing:.04em}.ribbon i{font-style:normal}.section{padding:95px 5%;scroll-margin-top:10px}.section-index{color:var(--muted);font-size:12px;letter-spacing:.12em;border-top:1px solid var(--line);padding-top:17px;margin-bottom:45px}.about{display:grid;grid-template-columns:1.2fr 1fr;column-gap:8%;background:var(--dark)}.about .section-index{grid-column:1/-1}h2{font-size:clamp(44px,4.8vw,74px)}.about-copy p{color:var(--muted);margin:0 0 22px}.about-copy .lead{font-size:24px;color:var(--ink);line-height:1.4}.origin{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.origin>span{font:54px var(--display);color:var(--orange2)}.origin p{font-size:14px;margin:0}.lines{background:var(--blue)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading>p{color:var(--muted);max-width:360px;margin:0}.line-explorer{display:grid;grid-template-columns:1fr 1.15fr;border:1px solid var(--line)}.line-tabs{display:flex;flex-direction:column}.line-tabs button{color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:26px 28px;display:flex;align-items:center;gap:24px;text-align:left;font-size:24px;cursor:pointer;transition:background .2s}.line-tabs button:last-child{border-bottom:0}.line-tabs button span{color:var(--muted);font-size:12px;letter-spacing:.06em}.line-tabs button b{margin-left:auto;font-weight:normal;font-size:24px}.line-tabs button[aria-selected=true]{background:var(--orange);color:var(--dark)}.line-tabs button[aria-selected=true] span{color:var(--dark)}.line-tabs button[aria-selected=true] b{transform:rotate(45deg)}.line-tabs button:hover:not([aria-selected=true]){background:#ffffff08}.line-panel{position:relative;overflow:hidden;padding:46px;background:#0c112c70;border-left:1px solid var(--line)}.panel-number{position:absolute;right:22px;top:20px;font:170px/1 var(--display);color:#ffffff05;pointer-events:none}.line-panel>*:not(.panel-number){position:relative}.line-panel h3{font-size:52px;margin-bottom:25px}.line-panel>p:not(.eyebrow){max-width:410px;color:var(--muted)}.line-panel ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 34px}.line-panel li{padding:6px 12px;border:1px solid var(--line);font-size:14px}.text-link{display:inline-block;padding-bottom:5px;border-bottom:2px solid var(--orange);font-weight:700;font-size:14px}.fronts{background:var(--dark)}.front-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.front{min-height:450px;padding:32px;position:relative;display:flex;flex-direction:column;background:var(--blue);border-top:3px solid var(--orange)}.front-tag{font-size:12px;letter-spacing:.1em;color:var(--muted)}.front h3{font-size:clamp(40px,4.3vw,67px);margin:44px 0 25px}.front h3>span:not(.dzn){display:block;font:14px var(--body);letter-spacing:.42em;margin-top:10px}.front .dzn{color:var(--orange2);display:block}.front p{color:var(--muted);font-size:16px;margin:0 0 35px}.front a{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:14px;font-weight:700}.front a:hover{color:var(--orange2)}.front-sabo{background:linear-gradient(150deg,#182149,#0c112c)}.front-design{background:linear-gradient(150deg,#20284f,#141b41)}.services{display:grid;grid-template-columns:1fr 1.2fr;gap:0 8%;background:var(--blue)}.services .section-index{grid-column:1/-1}.services-intro>p:not(.eyebrow){color:var(--muted);max-width:330px;margin-top:30px}.service-list details{border-bottom:1px solid var(--line)}.service-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;font-size:22px;padding:23px 0;font-weight:700}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{font-size:12px;color:var(--orange2);font-weight:normal}.service-list summary b{margin-left:auto;font-size:26px;font-weight:normal;transition:transform .2s}.service-list details[open] summary b{transform:rotate(45deg)}.service-list details p{margin:0 0 25px;padding-left:36px;color:var(--muted)}.contact{position:relative;text-align:center;background:var(--dark);padding-bottom:110px}.contact .section-index{text-align:left}.contact h2{font-size:clamp(60px,8vw,120px)}.contact>p:not(.eyebrow){color:var(--muted);margin:30px 0}.contact-actions{justify-content:center}.email{display:inline-block;color:var(--muted);font-size:14px;margin-top:25px;overflow-wrap:anywhere}.email:hover{color:var(--orange2)}footer{display:grid;grid-template-columns:1fr 1fr 1fr;padding:45px 5% 25px;gap:35px;background:var(--blue);border-top:1px solid var(--line)}.footer-brand{width:170px}footer p{color:var(--muted);font-size:14px;margin:0}footer>div{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px;font-size:14px}footer a:hover{color:var(--orange2)}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px}@media(min-width:1700px){.header,.section,footer{padding-left:max(5%,calc((100vw - 1550px)/2));padding-right:max(5%,calc((100vw - 1550px)/2))}}@media(max-width:1000px){.header nav{gap:16px}.nav-contact{padding:8px 12px}.hero{min-height:740px}.hero-bottom>span:nth-child(2){display:none}.section{padding:70px 5%}.about{gap:0 5%}.front{padding:24px}.front h3{font-size:48px}.line-panel{padding:32px}.services{gap:0 5%}.service-list summary{font-size:20px}}@media(max-width:720px){html{scroll-padding-top:20px}.header{height:82px}.brand{width:115px}.menu-toggle{display:flex;gap:14px;align-items:center;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-size:14px}.menu-toggle span{color:var(--orange2);font-size:22px}.header nav{display:none;position:absolute;left:0;right:0;top:81px;padding:24px 5%;background:var(--blue);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav a{padding:12px 0}.header nav .nav-contact{margin-top:10px;text-align:center;padding:12px}.hero{height:auto;min-height:780px}.hero-art{background-position:65% center}.hero-shade{background:linear-gradient(90deg,#0c112ce8,#141b4170),linear-gradient(0deg,var(--dark),transparent 40%)}.hero-content{padding:68px 5% 140px}h1{font-size:clamp(66px,14vw,100px)}.hero-copy{font-size:16px;max-width:360px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-bottom{font-size:12px;bottom:25px}.eyebrow{font-size:12px;letter-spacing:.1em}.ribbon{flex-wrap:wrap;justify-content:center;gap:12px 22px;font-size:12px}.ribbon i{display:none}.section{padding:58px 5%}.section-index{margin-bottom:30px}.about{display:block}.about-title{margin-bottom:30px}h2{font-size:46px}.about-copy .lead{font-size:22px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:25px}.line-explorer{display:block}.line-tabs{flex-direction:row;overflow-x:auto}.line-tabs button{padding:17px;gap:10px;font-size:16px;white-space:nowrap;border-bottom:1px solid var(--line)}.line-tabs button b{display:none}.line-panel{border-left:0;padding:32px 25px;min-height:390px}.line-panel h3{font-size:44px}.front-grid{grid-template-columns:1fr}.front{min-height:350px;padding:28px}.front h3{font-size:60px;margin:30px 0 25px}.front p{max-width:420px}.services{display:block}.services-intro>p:not(.eyebrow){max-width:none}.service-list{margin-top:32px}.service-list summary{font-size:18px}.contact h2{font-size:clamp(55px,12vw,85px)}.contact>p:not(.eyebrow) br{display:none}.contact-actions{flex-direction:column;align-items:stretch}.contact{padding-bottom:70px}footer{grid-template-columns:1fr;gap:24px}.footer-brand{width:145px}footer small{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Pixel typography, sized to preserve readable lines on small screens. */
h1,h2,h3{font-weight:400;line-height:1.18;letter-spacing:-.035em}
h1{font-size:clamp(44px,5.7vw,86px)}
h2{font-size:clamp(28px,3.2vw,48px)}
.front h3{font-size:clamp(26px,2.6vw,40px)}
.line-panel h3{font-size:34px}
.panel-number{font-size:110px}
.origin>span{font-size:38px}
.eyebrow,.front-tag,.hero-bottom>span:first-child{font-family:var(--display);font-weight:400;letter-spacing:0;line-height:1.6}
.contact h2{font-size:clamp(34px,5.5vw,82px)}
@media(max-width:720px){h1{font-size:clamp(32px,9vw,60px)}h2{font-size:clamp(25px,6.3vw,38px)}.front h3{font-size:34px}.line-panel h3{font-size:28px}.contact h2{font-size:clamp(29px,7.4vw,48px)}.hero{min-height:740px}.hero-content{padding-top:65px}}

/* CYBER atmosphere: neon light, smoked glass and restrained motion. */
:root{--muted:#bac2dc;--line:#b7c9ff26}
body{background:radial-gradient(ellipse at 10% 35%,#25427728,transparent 45%),#080e24}
.header{background:#10182bd9;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 40px #0003;border-bottom-color:#92b3ff25}
.header nav a:not(.nav-contact){position:relative}.header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:-7px;left:0;right:0;height:2px;background:var(--orange2);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}
.nav-contact{border-radius:8px;background:#fa79210a;box-shadow:inset 0 0 18px #fa79210a;transition:box-shadow .25s,background .25s!important}.nav-contact:hover{background:#fa79211c;box-shadow:0 0 24px #fa792126}
.hero-art{animation:city-arrive 1.6s ease-out both}.hero-shade{background:linear-gradient(90deg,#080e24f5,#101932bc 40%,#10193210 85%),linear-gradient(0deg,#080e24,transparent 28%)}
.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 40%,#fa792119,transparent 48%);box-shadow:inset 0 -1px #fe992030}
h1 span,h2 span{ text-shadow:0 0 28px #fa792133,0 0 70px #fa792119}
.hero-content>.eyebrow{animation:hero-arrive .8s .1s both}.hero-content>h1{animation:hero-arrive .95s .2s both}.hero-copy{animation:hero-arrive .95s .35s both}.hero-actions{animation:hero-arrive .95s .5s both}
.button{border-radius:9px;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.primary{box-shadow:0 5px 24px #fa79212e,inset 0 1px #ffffff55}.primary:hover{box-shadow:0 8px 35px #fa79215c,inset 0 1px #ffffff80}.secondary{background:#18213e66;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:#c1d2ff40}.secondary:hover{background:#26325280;border-color:#c1d2ff80;box-shadow:0 8px 30px #426ce622}
.hero-bottom{background:#10182c60;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:18px 22px;border:1px solid var(--line);border-radius:10px}
.ribbon{background:linear-gradient(110deg,#fa7921,#ffac42);box-shadow:0 0 40px #fa79211c;position:relative;z-index:2}
.section{position:relative}.about,.fronts{background:transparent}.lines{background:radial-gradient(ellipse at 80% 35%,#2b488c33,transparent 65%),linear-gradient(180deg,#111a34,#0c132b)}.services{background:radial-gradient(ellipse at 12% 65%,#2249802e,transparent 60%),#10182e}
.section-index{color:#a9b8d9;border-top-color:#8da9ed29}.section-index:before{content:'';display:block;width:42px;height:2px;background:var(--orange2);box-shadow:0 0 12px #fa792166;position:absolute;top:0}
.line-explorer{border-radius:18px;overflow:hidden;background:linear-gradient(130deg,#ffffff08,#ffffff02);border-color:#9eb7ff30;box-shadow:0 20px 65px #0003,inset 0 1px #ffffff0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.line-tabs button{transition:background .25s,color .25s,box-shadow .25s}.line-tabs button[aria-selected=true]{background:linear-gradient(110deg,#fa7921,#ffa43b);box-shadow:0 0 30px #fa792130}.line-tabs button b{transition:transform .3s}.line-panel{background:radial-gradient(ellipse at 100% 0,#fe992012,transparent 65%),#080e244d}.line-panel li{border-radius:6px;background:#ffffff05;border-color:#a9beff26}.text-link{transition:color .25s,text-shadow .25s}.text-link:hover{color:var(--orange2);text-shadow:0 0 16px #fa792150}
.front{border:1px solid #a7bdff2b;border-top:2px solid #fa7921b3;border-radius:16px;background:linear-gradient(145deg,#26365766,#141b4133);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 45px #0002,inset 0 1px #ffffff08;transition:transform .35s,border-color .35s,box-shadow .35s;overflow:hidden}
.front:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 100% 0,#fe99201a,transparent 65%);opacity:.55;transition:opacity .35s}.front>*{position:relative}.front-sabo:before{background:radial-gradient(ellipse at 100% 0,#4e87ff30,transparent 65%)}.front-design:before{background:radial-gradient(ellipse at 100% 0,#ab72ff26,transparent 65%)}
.front h3{line-height:1.3}.front .dzn{ text-shadow:0 0 24px #fa79212a}
.service-list{padding:8px 28px;border:1px solid #a7bdff26;border-radius:16px;background:linear-gradient(135deg,#ffffff07,#ffffff02);box-shadow:0 18px 50px #0002;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.service-list details:last-child{border-bottom:0}.service-list summary{transition:color .25s}.service-list summary:hover,.service-list details[open] summary{color:#ffb05b}.service-list details[open] p{animation:detail-arrive .35s ease both}
.contact{background:radial-gradient(ellipse at 50% 55%,#fa792114,transparent 65%),#080e24}.contact h2 span{ text-shadow:0 0 45px #fa792144}.contact-actions{margin-top:35px}footer{background:#0f172bf0}
.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal:not(.is-visible){opacity:0;transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal:focus-within{opacity:1;transform:none}
@keyframes hero-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes city-arrive{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes detail-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(hover:hover){.front:hover{transform:translateY(-7px);border-color:#fe992070;box-shadow:0 22px 60px #0005,0 0 32px #fa792115}.front:hover:before{opacity:1}}
@media(max-width:720px){.header nav{background:#10182bf5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.header nav.is-open{animation:detail-arrive .25s both}.hero-bottom{left:5%;right:5%;padding:15px 14px;gap:12px}.hero-bottom>span:first-child{font-size:11px}.service-list{padding:5px 18px}.line-explorer{border-radius:12px}.line-tabs button{font-size:16px}.line-panel{min-height:430px}.section-index:before{top:0}.front{border-radius:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal:not(.is-visible){opacity:1;transform:none}}

/* A calmer hierarchy, richer surfaces and a more spacious mobile composition. */
:root{--dark:#090f23;--blue:#131d38;--ink:#f6f7fc;--muted:#b7c1d9}
html{scroll-padding-top:118px}.header{position:sticky;top:0;height:84px;padding-top:12px;padding-bottom:12px;transition:background .3s,box-shadow .3s}.header.is-scrolled{background:#0b1226ed;box-shadow:0 12px 36px #0005}.brand{width:124px}.header .logo-crop{filter:invert(1) drop-shadow(0 0 10px #ffffff12)}
.hero{height:calc(100svh - 84px);min-height:720px}.hero-content{padding-top:clamp(70px,9vh,125px);max-width:960px}.hero-content h1{line-height:1.24;letter-spacing:-.045em}.hero-content>.eyebrow{display:inline-block;padding:8px 13px;border:1px solid #fea23d35;border-radius:6px;background:#10182b80;backdrop-filter:blur(12px);font-size:12px}.hero-copy{font-size:19px;line-height:1.8;color:#c8d1e6;max-width:480px}.hero-actions{gap:14px}.button{padding:16px 26px;min-height:56px}.hero-bottom{background:linear-gradient(110deg,#ffffff09,#ffffff03);border-color:#bcd0ff22;font-size:12px}.hero-bottom a{padding:4px 0;transition:color .2s}.hero-bottom a:hover{color:#ffb05a}
.ribbon{padding-top:22px;padding-bottom:22px;letter-spacing:.1em;background:linear-gradient(105deg,#ff922f,#ffb553);box-shadow:0 0 40px #fa792112}.ribbon i{opacity:.55}
.section{padding-top:112px;padding-bottom:112px;scroll-margin-top:0}.section-index{position:relative;margin-bottom:54px;padding-top:20px;font-size:12px;letter-spacing:.16em}.section-index:before{top:-1px;width:56px}.section-heading{margin-bottom:54px}.section-heading>p{font-size:17px;line-height:1.8}.eyebrow{margin-bottom:20px}h2{line-height:1.3;letter-spacing:-.04em}.about{align-items:start;grid-template-columns:1.1fr 1fr;column-gap:9%}.about-copy{padding:30px 32px;background:linear-gradient(135deg,#ffffff06,#ffffff02);border:1px solid #abc4ff20;border-radius:18px;box-shadow:0 18px 50px #0002}.about-copy .lead{font-size:25px;line-height:1.5}.about-copy p{line-height:1.85}.origin{gap:24px}.origin>span{text-shadow:0 0 25px #fa792128}
.line-tabs button{min-height:93px;padding:25px 30px;font-size:22px}.line-tabs button span{font-family:var(--display);font-size:12px}.line-panel{padding:50px 44px;min-height:465px}.line-panel h3{font-size:clamp(28px,2.6vw,38px);line-height:1.3}.line-panel>p:not(.eyebrow){line-height:1.85}.panel-number{top:28px;right:28px;color:#c6d6ff0b}.line-panel li{padding:7px 13px;background:#ffffff06}.line-panel .text-link{padding-bottom:9px}
.front-grid{gap:24px}.front{padding:34px;min-height:440px;border-top-color:#fa79219c}.front-tag{display:inline-flex;align-self:flex-start;padding:6px 10px;border:1px solid #fea23d26;border-radius:5px;color:#ffc086;background:#fa79210a;font-size:12px}.front h3{margin-top:38px;margin-bottom:24px}.front p{line-height:1.8}.front a{padding-top:20px;line-height:1.6;transition:color .25s}.front-sabo{border-top-color:#739ef5b0}.front-sabo .front-tag{color:#a9c6ff;background:#5783e40b;border-color:#739ef52b}.front-design{border-top-color:#ac88eab0}.front-design .front-tag{color:#d0b8fc;background:#a67ae80b;border-color:#ac88ea2b}.front-sabo:hover{border-color:#739ef580;box-shadow:0 22px 60px #0005,0 0 32px #739ef51a}.front-design:hover{border-color:#ac88ea80;box-shadow:0 22px 60px #0005,0 0 32px #ac88ea1a}
.services-intro>p:not(.eyebrow){font-size:17px;line-height:1.8}.service-list summary{padding-top:26px;padding-bottom:26px}.service-list details p{line-height:1.85}.service-list summary b{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:1px solid #a9beff26;border-radius:50%;font-size:22px;background:#ffffff04}.service-list details[open] summary b{border-color:#fa79214d;background:#fa792110}
.contact{padding-top:110px;padding-bottom:125px}.contact h2{line-height:1.28}.contact>p:not(.eyebrow){font-size:18px;line-height:1.85}.contact .email{margin-top:18px}.contact-actions{gap:14px;margin-top:35px}footer{padding-top:50px;padding-bottom:28px}footer>div{gap:20px}footer small{padding-top:24px}
@media(min-width:1700px){.hero-content{padding-left:max(5%,calc((100vw - 1550px)/2));max-width:none}.hero-content h1,.hero-content>.hero-copy{max-width:800px}.hero-bottom{left:max(5%,calc((100vw - 1550px)/2));right:max(5%,calc((100vw - 1550px)/2))}}
@media(max-width:1000px){.section{padding-top:82px;padding-bottom:82px}.about-copy{padding:25px}.front{padding:25px}.front-grid{gap:16px}.line-panel{padding:38px 30px}.line-tabs button{padding:25px;font-size:20px}.hero-content{max-width:800px}}
@media(max-width:720px){html{scroll-padding-top:92px}.header{height:74px}.brand{width:108px}.header nav{top:73px;border-top:1px solid #ffffff0d;box-shadow:0 20px 40px #0005}.header nav a{min-height:46px;padding:12px}.header nav a:not(.nav-contact):after{display:none}.menu-toggle{border-radius:7px;padding:7px 12px}.hero{min-height:740px;height:auto}.hero-content{padding:52px 6% 170px}.hero-content>.eyebrow{font-family:var(--body);font-weight:700;letter-spacing:.08em;font-size:12px;padding:8px 10px;max-width:100%;margin-bottom:26px}.hero-content h1{font-size:clamp(30px,8.9vw,58px);line-height:1.32}.hero-copy{font-size:17px;line-height:1.8;margin-top:25px;margin-bottom:28px}.hero-actions{align-items:stretch;max-width:360px;gap:12px}.hero-actions .button{width:100%}.hero-bottom{left:6%;right:6%;bottom:24px;flex-wrap:wrap;align-items:center;padding:13px 15px}.hero-bottom>span:first-child{font-family:var(--body);font-size:12px;letter-spacing:.04em}.hero-bottom a{font-size:12px}.ribbon{font-size:12px;padding:17px 6%;gap:10px 18px;letter-spacing:.045em}.section{padding:65px 6%}.section-index{margin-bottom:34px;letter-spacing:.08em}h2{font-size:clamp(24px,6.2vw,38px);line-height:1.4}.section-heading{margin-bottom:32px}.section-heading>p{font-size:16px;margin-top:22px}.about-copy{padding:25px 23px;border-radius:14px}.about-copy .lead{font-size:21px}.about-copy p{font-size:16px}.origin{gap:18px}.origin>span{font-size:30px}.origin p{font-size:14px}.line-tabs{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#fa792180 #10182b}.line-tabs button{min-height:68px;padding:18px 20px;font-size:16px;scroll-snap-align:start}.line-panel{padding:32px 24px;min-height:460px}.line-panel h3{font-size:26px;overflow-wrap:anywhere}.line-panel .eyebrow{font-size:12px}.line-panel li{font-size:14px}.panel-number{font-size:100px}.front-grid{gap:18px}.front{min-height:355px;padding:28px}.front h3{font-size:34px;line-height:1.35;margin-top:30px}.front p{margin-bottom:25px}.service-list{padding:4px 18px}.service-list summary{font-size:17px;gap:12px;padding:23px 0;line-height:1.5}.service-list details p{padding-left:0;font-size:16px}.service-list summary b{width:28px;height:28px}.contact{padding-bottom:80px}.contact h2{font-size:clamp(28px,7.3vw,46px)}.contact>p:not(.eyebrow){font-size:16px;margin:24px 0}.contact-actions{gap:12px}.contact .email{font-size:14px}footer{padding-left:6%;padding-right:6%;gap:28px}.footer-brand{width:135px}}
@media(prefers-reduced-motion:reduce){.header{transition:none}}

/* Slow floating motion uses translate independently of reveal/hover transforms. */
@keyframes cyber-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes cyber-drift{0%,100%{translate:0 0}50%{translate:-5px -8px}}
@keyframes cyber-city-drift{0%,100%{translate:0 0}50%{translate:5px -10px}}
@keyframes cyber-light-breathe{0%,100%{opacity:.45}50%{opacity:.9}}
.hero-art{inset:-14px;animation:city-arrive 1.6s ease-out both,cyber-city-drift 18s ease-in-out infinite}
.hero-content>.eyebrow{animation:hero-arrive .8s .1s both,cyber-float 7s 1s ease-in-out infinite}
.hero-bottom{animation:cyber-float 9s 1.2s ease-in-out infinite}
.front{animation:cyber-float 6.5s ease-in-out infinite}.front-sabo{animation-duration:8s;animation-delay:-2.5s}.front-design{animation-duration:7.2s;animation-delay:-4s}
.panel-number{animation:cyber-drift 9s ease-in-out infinite}
.contact:before{content:'';position:absolute;inset:10% 8%;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at center,#fa792110,transparent 65%);animation:cyber-light-breathe 8s ease-in-out infinite}
.contact>*{position:relative}
.front.reveal:not(.is-visible){animation-play-state:paused}
.front:hover,.front:focus-within,.hero-content>.eyebrow:hover,.hero-bottom:hover,.hero-bottom:focus-within{animation-play-state:paused}
body.motion-paused .front,body.motion-paused .hero-art,body.motion-paused .hero-bottom,body.motion-paused .hero-content>.eyebrow,body.motion-paused .panel-number,body.motion-paused .contact:before{animation-play-state:paused}
@media(max-width:720px){@keyframes cyber-float{0%,100%{translate:0 0}50%{translate:0 -5px}}.hero-art{animation-duration:1.6s,22s}.front{animation-duration:8s}.front-sabo{animation-duration:9s}.front-design{animation-duration:8.5s}}
@media(prefers-reduced-motion:reduce){.front,.hero-art,.hero-bottom,.hero-content>.eyebrow,.panel-number,.contact:before{animation:none!important;translate:none!important}}

/* Persistent WhatsApp contact, with a compact touch target on phones. */
.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:14px;padding:15px 20px 15px 16px;border:1px solid #75eaa766;border-radius:18px;background:linear-gradient(125deg,#103729f2,#101e2bf2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 36px #0006,0 0 24px #25d36620;animation:cyber-float 7s ease-in-out infinite;transition:box-shadow .25s,border-color .25s,transform .25s;color:#f4fff8;line-height:1.4}
.whatsapp-float svg{width:29px;height:29px;flex-shrink:0;color:#55e38b}.whatsapp-label{display:flex;flex-direction:column;gap:3px}.whatsapp-label strong{font-size:14px;font-weight:700}.whatsapp-label>span{font-size:12px;color:#c3ddce}.whatsapp-float:hover,.whatsapp-float:focus-visible{animation-play-state:paused;border-color:#75eaa7;box-shadow:0 14px 42px #0007,0 0 32px #25d36635;transform:translateY(-2px)}footer{padding-bottom:115px}body.motion-paused .whatsapp-float{animation-play-state:paused}
@media(max-width:720px){.whatsapp-float{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:58px;height:58px;padding:15px;border-radius:18px;gap:0}.whatsapp-float svg{width:28px;height:28px}.whatsapp-label{display:none}footer{padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{animation:none!important;translate:none!important;transition:none}}

/* Shared floating dock keeps both social contacts spaced consistently. */
.social-float-group{position:fixed;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:18px;width:230px}
.social-float-group .whatsapp-float{position:relative;right:auto;bottom:auto;z-index:auto;width:100%}
.instagram-float{display:flex;align-items:center;gap:14px;padding:15px 20px 15px 16px;min-height:73px;border:1px solid #d993ef66;border-radius:18px;background:linear-gradient(125deg,#542448f2,#241b3bf2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 36px #0006,0 0 24px #d65ac620;animation:cyber-float 8s -3s ease-in-out infinite;transition:box-shadow .25s,border-color .25s,transform .25s;color:#fff5fc;line-height:1.4}
.instagram-float svg{width:29px;height:29px;flex-shrink:0;color:#ffa1d8}.instagram-label{display:flex;flex-direction:column;gap:3px}.instagram-label strong{font-size:14px;font-weight:700}.instagram-label>span{font-size:12px;color:#e4c5e2}.instagram-float:hover,.instagram-float:focus-visible{animation-play-state:paused;border-color:#e5a1ef;box-shadow:0 14px 42px #0007,0 0 32px #d65ac635;transform:translateY(-2px)}body.motion-paused .instagram-float{animation-play-state:paused}footer{padding-bottom:205px}
@media(max-width:720px){.social-float-group{right:calc(16px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:58px;gap:14px}.social-float-group .whatsapp-float,.instagram-float{width:58px;height:58px;min-height:58px;padding:15px;border-radius:18px;gap:0}.instagram-float svg{width:28px;height:28px}.instagram-label{display:none}footer{padding-bottom:170px}}
@media(prefers-reduced-motion:reduce){.instagram-float{animation:none!important;translate:none!important;transition:none}}

/* Authorial projects share the site's glass surfaces and gentle ambient motion. */
.projects{background:radial-gradient(ellipse at 15% 20%,#fa79210b,transparent 48%),radial-gradient(ellipse at 90% 80%,#739ef50c,transparent 48%),var(--dark)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.project-card{--accent:#ffab61;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:36px;border:1px solid #abc4ff25;border-top:2px solid var(--accent);border-radius:18px;background:linear-gradient(135deg,#ffffff08,#ffffff02);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 50px #0003;animation:cyber-float 8s ease-in-out infinite;transition:border-color .3s,box-shadow .3s,transform .3s}
.project-lab{--accent:#94bbff;animation-duration:9s;animation-delay:-3s}.project-sessions{--accent:#c1a3ff;animation-duration:8.5s;animation-delay:-5s}.project-cypher{--accent:#f69dcd;animation-duration:10s;animation-delay:-2s}
.project-tag{font-size:12px;letter-spacing:.08em;color:var(--accent)}.project-card h3{font-size:clamp(26px,3vw,44px);line-height:1.4;margin:28px 0 22px}.project-card h3 span{color:var(--accent);text-shadow:0 0 30px color-mix(in srgb,var(--accent) 22%,transparent)}.project-card p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 28px;max-width:520px}.project-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--accent)}
.project-card.reveal:not(.is-visible),.project-card:hover,.project-card:focus-within,body.motion-paused .project-card{animation-play-state:paused}
@media(hover:hover){.project-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 24px 55px #0004,0 0 24px color-mix(in srgb,var(--accent) 10%,transparent)}}
@media(min-width:721px) and (max-width:1100px){.header nav{gap:15px}.header{gap:18px}.nav-contact{padding:10px 12px}}
@media(max-width:720px){.project-grid{grid-template-columns:1fr;gap:22px}.project-card{padding:28px 24px;border-radius:14px}.project-card h3{font-size:30px}.project-tag{letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.project-card{animation:none!important;translate:none!important;transition:none}}

/* Portfólios oficiais */
.portfolios{background:radial-gradient(ellipse at 15% 20%,#fa792117,transparent 48%),radial-gradient(ellipse at 88% 80%,#365aa334,transparent 50%),#0d152e}.portfolios .section-heading{align-items:end}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.portfolio-card{overflow:hidden;border:1px solid #abc4ff3a;border-top:2px solid #fa7921;border-radius:18px;background:linear-gradient(145deg,#25365c88,#121b35);box-shadow:0 22px 60px #0004}.portfolio-cover{height:290px;overflow:hidden;background:#141b41;position:relative}.portfolio-cover:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#141b41d9)}.portfolio-cover img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block}.portfolio-info{padding:30px 32px 34px;position:relative;margin-top:-36px;z-index:1}.portfolio-tag{color:#ffaf6b;font-size:12px;letter-spacing:.09em}.portfolio-info h3{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:12px 0}.portfolio-info p{font-size:16px;line-height:1.7;color:#c6d0e7;min-height:82px;margin:0 0 10px}.portfolio-pages{font-size:13px;color:#a8b9dc}.portfolio-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}.portfolio-actions .button{white-space:nowrap}.portfolio-download{color:#f4f6fc;text-decoration:underline;text-decoration-color:#fa7921;text-underline-offset:5px;font-weight:700}.portfolio-download:hover{color:#ffae65}@media(max-width:850px){.portfolio-grid{grid-template-columns:1fr}.portfolio-cover{height:260px}.portfolio-info p{min-height:0}}@media(max-width:720px){.portfolio-info{padding:28px 24px 30px}.portfolio-card{border-radius:14px}.portfolio-actions{gap:22px}}


/* Cenas ilustradas a partir das fotografias oficiais. */
.hero-art{background-image:url('assets/cyber-scene-rooftop.png');background-position:center 48%;background-size:cover}.hero-shade{background:linear-gradient(90deg,#080e24ed 0%,#101932bf 29%,#10193248 53%,transparent 76%),linear-gradient(0deg,#080e24cf,transparent 25%)}.hero-content{position:relative;z-index:2;max-width:850px}.hero-bottom{z-index:3}.about-title{position:relative}.about-scene{height:clamp(390px,38vw,560px);width:100%;max-width:560px;margin-top:42px;border:1px solid #fea23d55;border-radius:18px;background:url('assets/cyber-scene-street.png') center 42%/cover no-repeat;box-shadow:0 24px 65px #0007,0 0 42px #fa792119}.front-dj{isolation:isolate;overflow:hidden;background:#101832}.front-dj:before{content:"";position:absolute;inset:0;background:url('assets/cyber-scene-steps.png') center center/cover no-repeat;opacity:.58;z-index:-2}.front-dj:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b132cef 4%,#0b132cc9 48%,#0b132c22 100%);z-index:-1;pointer-events:none}.front-dj>*{position:relative;z-index:1}.front-dj h3{text-shadow:0 3px 24px #000b}.front-dj p{color:#f2f4fc;text-shadow:0 2px 14px #000c}@media(max-width:1100px){.hero-art{background-position:58% center}.hero-shade{background:linear-gradient(90deg,#080e24f5,#101932b8 44%,#10193238 85%),linear-gradient(0deg,#080e24b8,transparent 35%)}}@media(max-width:720px){.hero-art{background-position:67% center}.hero-shade{background:linear-gradient(90deg,#080e24e8,#101932aa 65%,#10193286),linear-gradient(0deg,#080e24dc,transparent 50%)}.hero-content{z-index:2}.about-scene{height:420px;margin-top:28px;border-radius:14px}.front-dj:before{background-position:center 35%}}

/* Novas cenas com poses do ensaio oficial. */
.line-visual{display:grid;grid-template-columns:minmax(240px,34%) 1fr;min-height:350px;margin:0 0 36px;overflow:hidden;border:1px solid #abc4ff30;border-radius:18px;background:linear-gradient(120deg,#1b2b50,#10182d);box-shadow:0 18px 52px #0004}.line-visual-image{background:url('assets/cyber-scene-creative.png') center 25%/cover no-repeat;min-height:350px}.line-visual-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,70px);background:radial-gradient(ellipse at 0 50%,#fa792118,transparent 65%)}.line-visual-copy span{font:clamp(23px,3.1vw,44px)/1.25 var(--display);color:#fe9920}.line-visual-copy p{max-width:440px;color:#d4dcf0;font-size:18px;line-height:1.7}.project-visual{height:clamp(300px,34vw,460px);margin:0 0 34px;border:1px solid #abc4ff35;border-radius:18px;background:linear-gradient(90deg,#0b14269c,transparent 55%),url('assets/cyber-scene-projects.png') center center/cover no-repeat;box-shadow:0 18px 55px #0005}@media(max-width:720px){.line-visual{grid-template-columns:1fr;border-radius:14px}.line-visual-image{height:340px;min-height:340px;background-position:center 20%}.line-visual-copy{padding:27px 24px}.line-visual-copy span{font-size:24px}.line-visual-copy p{font-size:16px;margin-bottom:0}.project-visual{height:250px;background-position:65% center;border-radius:14px}}

/* Compact foreground avatars with reversible idle cycles. */
.sprite{background-repeat:no-repeat;background-size:400% 100%;background-position:0 0;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 12px 14px #0306159c)}
.sprite-tank{background-image:url('assets/cyber-sitting-loop.png')}.sprite-shorts{background-image:url('assets/cyber-thinking-loop.png')}.sprite-hoodie{background-image:url('assets/cyber-groove-loop.png')}
@keyframes cyber-frames-pingpong{0%,16.65%,100%{background-position:0 0}16.67%,33.32%,83.34%,99.98%{background-position:33.3333% 0}33.34%,49.98%,66.68%,83.32%{background-position:66.6667% 0}50%,66.66%{background-position:100% 0}}
@keyframes cyber-idle-soft{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-3px,0)}}
.hero-sprite{position:absolute;z-index:4;right:7%;bottom:44px;width:clamp(165px,17vw,230px);height:clamp(330px,34vw,460px);animation:cyber-frames-pingpong 3.6s linear infinite,cyber-idle-soft 5s ease-in-out infinite}
.hero-bottom{z-index:5}.hero-content{max-width:min(850px,72%)}
.front-dj{min-height:480px;isolation:isolate}
.front-dj .front-sprite{position:absolute;z-index:3;right:10px;bottom:36px;width:clamp(115px,11vw,150px);height:clamp(230px,22vw,300px);animation:cyber-frames-pingpong 4.2s linear infinite,cyber-idle-soft 5.6s ease-in-out infinite}
.front-dj .front-tag,.front-dj h3,.front-dj p,.front-dj a{position:relative;z-index:4}.front-dj p{max-width:70%;text-shadow:0 2px 12px #030719}.front-dj a{margin-top:auto}
.contact{padding-left:25%;text-align:left;min-height:550px}.contact .section-index{text-align:left}.contact-actions{justify-content:flex-start}
.contact-sprite{position:absolute!important;z-index:2!important;left:6%;right:auto;bottom:75px;width:clamp(145px,15vw,190px);height:clamp(193px,20vw,253px);animation:cyber-frames-pingpong 3.3s linear infinite,cyber-idle-soft 4.4s ease-in-out infinite}
.contact .section-index,.contact .eyebrow,.contact h2,.contact>p,.contact-actions,.contact .email{position:relative;z-index:3}
@media(max-width:1100px){.hero-sprite{right:3%}.front-dj p{max-width:100%}.front-dj{min-height:530px}.front-dj .front-sprite{right:8%;bottom:40px;width:120px;height:240px}.contact{padding-left:26%}.contact-sprite{left:3%;width:145px;height:193px}}
@media(max-width:850px){.hero{height:auto;max-height:none;min-height:780px}.hero-content{max-width:100%;padding-bottom:245px}.hero-sprite{right:7%;bottom:34px;width:125px;height:250px}.front-dj{min-height:0}.front-dj .front-sprite{position:relative;right:auto;top:auto;bottom:auto;order:2;width:120px;height:240px;margin:0 auto}.front-dj .front-tag{order:0}.front-dj h3{order:1;margin:25px 0 10px}.front-dj p{order:3;max-width:none}.front-dj a{order:4}.contact{padding-left:5%;text-align:center;min-height:0}.contact .section-index{text-align:left}.contact-sprite{position:relative!important;left:auto;bottom:auto;right:auto;width:130px;height:173px;margin:0 auto 22px}.contact-actions{justify-content:center}}
@media(max-width:720px){.hero{min-height:750px}.hero-content{padding-bottom:210px}.hero-sprite{right:5%;bottom:30px;width:105px;height:210px}.front-dj .front-sprite{width:115px;height:230px}.contact-sprite{width:125px;height:167px}.contact h2{font-size:clamp(46px,10vw,76px)}}
@media(prefers-reduced-motion:reduce){.hero-sprite,.front-dj .front-sprite,.contact-sprite{animation:none!important;transform:none!important;background-position:0 0!important}}

/* Avatares como detalhes de cenário, sem competir com os títulos. */
.hero-content{max-width:850px}
.hero-sprite{right:3%;bottom:45px;width:110px;height:220px;z-index:2;opacity:.9;filter:drop-shadow(0 8px 12px #0306158c)}
.front-dj{min-height:450px}
.front-dj .front-sprite{right:5px;bottom:32px;width:90px;height:180px;z-index:2;opacity:.9;filter:drop-shadow(0 7px 10px #03061588)}
.front-dj p{max-width:100%}
.contact{padding-left:5%;text-align:center;min-height:0}
.contact .section-index{text-align:left}.contact-actions{justify-content:center}
.contact-sprite{left:4%;bottom:75px;width:105px;height:140px;z-index:1!important;opacity:.9;filter:drop-shadow(0 8px 12px #03061588)}
@media(max-width:850px){.hero{min-height:780px}.hero-content{padding-bottom:130px}.hero-sprite{right:3%;bottom:45px;width:85px;height:170px}.front-dj .front-sprite{position:absolute;right:7px;bottom:30px;order:unset;width:85px;height:170px;margin:0}.front-dj{min-height:450px}.front-dj h3{margin:44px 0 25px}.front-dj p{max-width:100%}.contact-sprite{position:absolute!important;left:4%;bottom:50px;width:85px;height:113px;margin:0}.contact{padding-left:5%;text-align:center}}
@media(max-width:720px){.hero{min-height:740px}.hero-content{padding-bottom:100px}.hero-sprite{right:2%;bottom:43px;width:74px;height:148px}.front-dj .front-sprite{right:8px;bottom:22px;width:72px;height:144px}.front-dj{min-height:460px}.contact-sprite{left:2%;bottom:52px;width:66px;height:88px}.contact .email{position:relative;z-index:3}}



/* Artist illustrations based on four distinct official photos. */
.project-art{position:relative;aspect-ratio:3/2;margin:-36px -36px 28px;overflow:hidden;background:#141b41;border-bottom:1px solid #abc4ff25}
.project-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease}
@media(hover:hover){.project-card:hover .project-art img{transform:scale(1.035);filter:brightness(1.06)}}
@media(max-width:720px){.project-art{margin:-28px -24px 24px}}
@media(prefers-reduced-motion:reduce){.project-art img{transition:none}.project-card:hover .project-art img{transform:none}}

/* Generated ambient pixel art: quiet centers keep the copy readable. */
.lines{background:linear-gradient(90deg,#0c112cb0,#141b41e0 50%,#0c112cb8),url('assets/cyber-background-studio.webp') center/cover no-repeat}
.projects{background:linear-gradient(180deg,#0c112cdf,#0c112caa 45%,#0c112ce8),url('assets/cyber-background-lab.webp') center/cover no-repeat}
.contact{background:linear-gradient(180deg,#0c112cf2,#0c112cb8 48%,#0c112cf0),url('assets/cyber-background-city.webp') center/cover no-repeat}
.about{background:linear-gradient(90deg,#0c112cdd,#0c112ce5),url('assets/cyber-background-city.webp') center/cover no-repeat}
.line-explorer{background:#0c112cd9;backdrop-filter:blur(12px)}
.project-card{background:linear-gradient(135deg,#141b41dc,#0c112ce8)}
@media(max-width:720px){.lines,.projects,.contact,.about{background-position:center}.contact{background-size:auto 100%}}

/* Slow, decorative lighting layered over the generated backgrounds. */
.ambient-section{position:relative;isolation:isolate}
.ambient-scene{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;border-radius:inherit}
.ambient-section>:not(.ambient-scene):not(.sprite){position:relative;z-index:1}
.ambient-scene span{position:absolute;display:block;background:#fe9920;animation:ambient-light var(--duration) ease-in-out var(--delay) infinite;animation-play-state:paused;opacity:.15}
.ambient-in-view .ambient-scene span{animation-play-state:running}
.city-window{width:5px;height:7px;box-shadow:0 0 9px #fa792190}
.studio-led{width:3px;height:35px;box-shadow:0 0 15px #fa792185}
.ambient-scene .sound-bar{width:3px;height:var(--bar-height);transform-origin:center;animation-name:ambient-wave;box-shadow:0 0 12px #fa792180}
@keyframes ambient-light{0%,100%{opacity:.12}35%{opacity:.5}60%{opacity:.2}80%{opacity:.36}}
@keyframes ambient-wave{0%,100%{opacity:.15;transform:scaleY(.35)}50%{opacity:.5;transform:scaleY(1)}}
.motion-toggle{cursor:pointer;color:var(--muted);background:#141b4170;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:12px}.motion-toggle:hover{color:var(--orange2);border-color:var(--orange2)}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}
@media(max-width:720px){.ambient-scene span:nth-child(n+9){display:none}.ambient-scene{opacity:.6}.motion-toggle{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.ambient-scene{display:none}.motion-toggle{display:none}}

/* Individual artworks for the producer and designer fronts. */
.front-portrait{flex-shrink:0;aspect-ratio:3/2;margin:-34px -34px 26px;overflow:hidden;border-bottom:1px solid #abc4ff25;background:#141b41}
.front-portrait img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.front-sabo .front-portrait{border-bottom-color:#739ef540}.front-design .front-portrait{border-bottom-color:#ac88ea40}
@media(hover:hover){.front:hover .front-portrait img{transform:scale(1.035)}}
@media(max-width:1000px){.front-portrait{margin:-25px -25px 25px}}
@media(max-width:720px){.front-portrait{margin:-28px -28px 25px}}
@media(prefers-reduced-motion:reduce){.front-portrait img{transition:none}.front:hover .front-portrait img{transform:none}}

/* Accessible project details: one native modal, four original project names. */
.project-open{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:14px 0 0;border:0;border-top:1px solid #ffffff1c;background:transparent;color:var(--accent);font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.project-open::after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:3}
.project-card:has(.project-open:focus-visible){outline:3px solid var(--accent);outline-offset:5px;animation-play-state:paused}
.project-dialog{padding:0;width:min(900px,calc(100% - 32px));max-height:90svh;border:1px solid #abc4ff45;border-radius:20px;background:#10172b;color:var(--ink);box-shadow:0 35px 100px #000a;overflow:auto;overscroll-behavior:contain}
.project-dialog::backdrop{background:#050918d9;backdrop-filter:blur(10px)}
.project-dialog-shell{position:relative}.dialog-close{position:absolute;right:16px;top:16px;z-index:2;width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;background:#0c112ce8;color:#fff;cursor:pointer;font-size:20px}
.dialog-art{display:block;width:100%;height:clamp(190px,30vw,330px);object-fit:cover;object-position:center 35%}
.dialog-copy{padding:clamp(24px,5vw,44px)}.dialog-copy h2{font-size:clamp(24px,4vw,40px);line-height:1.35;color:#fe9920}.dialog-copy h3{font:700 17px/1.5 var(--body);margin:28px 0 10px}.dialog-copy p,.dialog-copy li{color:#c3cbe2;line-height:1.8}.dialog-intro{font-size:19px;color:#f4f3f0!important}.dialog-copy ul{padding-left:22px}.dialog-copy .button{margin-top:22px}.project-modal-open{overflow:hidden}
@media(max-width:720px){.project-dialog{width:calc(100% - 20px);max-height:92svh;border-radius:14px}.dialog-copy .button{width:100%;font-size:13px}.dialog-art{height:220px}}
/* Fixed layered artwork dissolves from city into studio and then laboratory. */
body.has-scene-stage{isolation:isolate}
#scene-stage{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#0c112c}
.scene-layer{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0}
.scene-layer-city{background-image:linear-gradient(#0c112c66,#0c112c66),url('assets/cyber-background-city.webp');opacity:1}
.scene-layer-studio{background-image:linear-gradient(#0c112c66,#0c112c66),url('assets/cyber-background-studio.webp')}
.scene-layer-lab{background-image:linear-gradient(#0c112c66,#0c112c66),url('assets/cyber-background-lab.webp')}
.has-scene-stage .about,.has-scene-stage .contact{background:linear-gradient(90deg,#0c112ca0,#0c112ca8)}
.has-scene-stage .lines{background:linear-gradient(90deg,#0c112c75,#141b41aa 50%,#0c112c75)}
.has-scene-stage .projects{background:linear-gradient(180deg,#0c112c88,#0c112c66 45%,#0c112c99)}
.has-scene-stage .fronts,.has-scene-stage .portfolios,.has-scene-stage .services{background:#0c112c99}
@media(max-width:720px){.scene-layer{background-position:center}}

/* One cinematic console for all official destinations. */
.channels{background:linear-gradient(160deg,#141b41d9,#0c112ca0);border-block:1px solid var(--line)}
.channel-console{display:grid;grid-template-columns:210px minmax(0,1fr);border-block:1px solid #a6beff36}
.channel-switcher{display:flex;flex-direction:column;padding:18px 0;border-right:1px solid var(--line)}
.channel-tab{display:flex;align-items:center;gap:16px;padding:24px 20px;color:var(--muted);border-left:3px solid transparent;font-size:15px;font-weight:700;transition:color .2s,background .2s,border-color .2s}
.channel-tab-number{font:11px/1.5 var(--display);opacity:.6}.channel-tab-arrow{margin-left:auto;opacity:.4}
.channel-tab:hover,.channel-tab[aria-selected=true]{color:#fff;background:linear-gradient(90deg,#fa792126,transparent);border-left-color:var(--orange2)}
.channel-tab[aria-selected=true] .channel-tab-number,.channel-tab[aria-selected=true] .channel-tab-arrow{color:var(--orange2);opacity:1}
.channel-stage{position:relative;isolation:isolate;overflow:hidden;min-height:520px;background:#0c112c;display:flex;flex-direction:column;padding:26px 38px}
.channel-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;z-index:-3}
.channel-stage:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0c112cf0 4%,#0c112cb3 52%,#0c112c26),linear-gradient(0deg,#0c112cea,transparent 55%)}
.channel-scanlines{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;background:repeating-linear-gradient(transparent 0 3px,#0008 3px 4px)}
.channel-readout,.channel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;font:11px/1.6 var(--display);letter-spacing:.04em;color:#c2cbea}
.channel-readout>span:first-child:before{content:'';display:inline-block;width:6px;height:6px;background:var(--orange2);margin-right:10px;box-shadow:0 0 12px var(--orange)}
.channel-content{margin:auto 0;max-width:570px;padding:42px 0 55px}.channel-content .eyebrow{margin-bottom:16px}.channel-content h3{font-size:clamp(28px,3vw,45px);line-height:1.3;text-wrap:balance}
.channel-description{max-width:430px;color:#d0d5e7;font-size:17px;line-height:1.8;margin:22px 0 26px}.channel-content .button{min-width:200px}
.channel-signal{position:absolute;right:38px;bottom:99px;display:flex;align-items:flex-end;gap:4px;height:70px;opacity:.5;pointer-events:none}
.channel-signal i{width:3px;height:var(--h);background:var(--orange2);box-shadow:0 0 10px #fa792160;animation:channel-signal 1.9s ease-in-out calc(var(--n)*-.13s) infinite alternate;transform-origin:bottom}
@keyframes channel-signal{to{transform:scaleY(.25);opacity:.4}}
.channel-controls{border-top:1px solid #ffffff30;padding-top:18px}.channel-controls>div{display:flex;gap:10px}.channel-controls button{width:42px;height:42px;border:1px solid #ffffff50;background:#0c112c88;color:#fff;cursor:pointer;font-size:21px}.channel-controls button:hover{border-color:var(--orange2);color:var(--orange2)}
.channel-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:26px}
@media(max-width:1000px){.header nav{gap:18px}.channel-console{grid-template-columns:185px minmax(0,1fr)}.channel-stage{padding:24px}.channel-signal{right:24px;opacity:.25}}
@media(max-width:720px){.channel-console{display:block}.channel-switcher{display:flex;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0;scrollbar-width:thin;scrollbar-color:var(--orange) #141b41}.channel-tab{flex-shrink:0;padding:18px 15px;border-left:0;border-bottom:2px solid transparent;gap:8px;font-size:13px}.channel-tab[aria-selected=true],.channel-tab:hover{border-left-color:transparent;border-bottom-color:var(--orange2)}.channel-tab-arrow{display:none}.channel-stage{min-height:490px;padding:22px}.channel-content{padding:42px 0}.channel-content h3{font-size:clamp(27px,6.7vw,39px)}.channel-description{font-size:16px}.channel-signal{bottom:90px;opacity:.18}.channel-readout{font-size:9px}.channel-bottom{flex-direction:column;align-items:flex-start}.channel-controls{font-size:10px}}
@media(prefers-reduced-motion:reduce){.channel-signal i{animation:none}}
