:root{--bg:#041A19;--bg2:#082725;--card:#0C302D;--line:#1B4743;--text:#EAF3F0;--muted:#9DB8B3;--gold:#E8B04A;--jade:#3DDBB0;--display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;--body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%;overflow-x:hidden}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.025em}h2{font-size:clamp(2rem,6vw,3.3rem);font-weight:800;margin-bottom:14px}.lede{color:var(--muted);max-width:54ch;margin-bottom:38px;font-size:1.05rem}section{padding:80px 0}.btn{display:inline-block;font-weight:700;text-decoration:none;padding:15px 26px;border-radius:999px;border:2px solid var(--gold);color:var(--gold);transition:transform .15s,background .15s,color .15s;cursor:pointer;font-family:inherit;font-size:1rem;background:transparent}.btn.fill{background:var(--gold);color:#041a19}.btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:9px}.btn:hover{background:#fff;border-color:#fff;color:#041a19}.btn:active{transform:scale(.97)}.call-banner{background:var(--gold);color:#041a19;font-size:.95rem}.call-banner .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px;text-align:center}.cb-btn{background:#041a19;color:var(--gold);text-decoration:none;font-weight:700;padding:6px 16px;border-radius:999px;white-space:nowrap}.cb-btn:hover{background:#fff;color:#041a19}nav{position:sticky;top:0;z-index:20;background:#041a19d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}nav .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}.logo{font-family:var(--display);font-weight:800;text-decoration:none;font-size:1.2rem}.logo i{font-style:normal;color:var(--gold)}.links{display:flex;gap:22px;font-size:.95rem;font-weight:500;align-items:center}.links a{text-decoration:none;color:var(--muted)}.links a:hover{color:var(--text)}.links .pill{color:#041a19;background:var(--gold);padding:8px 16px;border-radius:999px;font-weight:700}.links .pill:hover{color:#041a19;background:#fff}@media (max-width:640px){.links a:not(.pill){display:none}}.hero{position:relative;padding:72px 0 96px;overflow:hidden;isolation:isolate}.aurora{position:absolute;inset:-20% -10% auto -10%;height:120%;z-index:-1;pointer-events:none;filter:blur(70px);opacity:.75}.aurora b{position:absolute;border-radius:50%}.aurora b:nth-child(1){width:46vmax;height:46vmax;left:-8%;top:-10%;background:radial-gradient(circle,#0f6b5c,transparent 65%)}.aurora b:nth-child(2){width:38vmax;height:38vmax;right:-6%;top:4%;background:radial-gradient(circle,rgba(232,176,74,.55),transparent 65%)}.aurora b:nth-child(3){width:34vmax;height:34vmax;left:30%;top:40%;background:radial-gradient(circle,rgba(61,219,176,.35),transparent 65%)}.lattice{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(45deg,transparent 0 30px,rgba(234,243,240,.05) 30px 31px),repeating-linear-gradient(-45deg,transparent 0 30px,rgba(234,243,240,.05) 30px 31px);-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,#000,transparent 70%)}.status{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;font-weight:500;margin-bottom:28px;border:1px solid var(--line);background:#0c302db3;padding:7px 16px 7px 12px;border-radius:999px}.dot{width:10px;height:10px;border-radius:50%;background:var(--jade);box-shadow:0 0 0 4px #3ddbb038}.hero h1{font-size:clamp(2.3rem,9vw,6.2rem);font-weight:800;max-width:14ch;margin-bottom:26px;text-wrap:balance}.hero h1 span{display:block}.hero h1 em{font-style:normal;color:var(--gold)}.hero .sub{font-size:1.18rem;color:var(--muted);max-width:50ch;margin-bottom:34px}.hero .sub strong{color:var(--text)}.cta{display:flex;flex-wrap:wrap;gap:12px}.hero-grid{display:grid;gap:36px;align-items:center}.photo{display:none;order:-1;width:150px;aspect-ratio:1;border-radius:50%;object-fit:cover;border:3px solid var(--gold);box-shadow:0 0 0 8px #e8b04a24,0 20px 50px #00000080}.photo.on{display:block}@media (min-width:860px){.hero-grid.has-photo{grid-template-columns:1.5fr .8fr}.photo{order:0;width:min(340px,100%);justify-self:center}.has-photo h1{font-size:clamp(2.3rem,5.2vw,4.6rem);max-width:16ch}}@media (prefers-reduced-motion:no-preference){.hero h1 span{opacity:0;transform:translateY(40px);animation:up .8s cubic-bezier(.2,.8,.2,1) forwards}.hero h1 span:nth-child(2){animation-delay:.14s}.hero h1 span:nth-child(3){animation-delay:.28s}.hero .status,.hero .sub,.hero .cta{opacity:0;animation:fade .8s .5s forwards}.hero .sub{animation-delay:.65s}.hero .cta{animation-delay:.8s}.aurora b:nth-child(1){animation:drift 18s ease-in-out infinite alternate}.aurora b:nth-child(2){animation:drift 22s ease-in-out infinite alternate-reverse}.aurora b:nth-child(3){animation:drift 26s ease-in-out infinite alternate}@keyframes up{to{opacity:1;transform:none}}@keyframes fade{to{opacity:1}}@keyframes drift{to{transform:translate(6vmax,4vmax) scale(1.12)}}}.ba{background:var(--bg2)}.frame{position:relative;container-type:inline-size;aspect-ratio:4/3;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#000;user-select:none;-webkit-user-select:none;box-shadow:0 30px 80px #00000073}@media (min-width:760px){.frame{aspect-ratio:16/9}}.frame:focus-within{outline:3px solid var(--gold);outline-offset:4px}.layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.layer.before{clip-path:inset(0 calc(100% - var(--p,50%)) 0 0)}.tag{position:absolute;top:2.5cqw;z-index:3;font:700 2.6cqw/1 var(--body);padding:1.2cqw 2.2cqw;border-radius:99px;background:#000000a6;color:#fff;pointer-events:none}.tag.l{left:2.5cqw}.tag.r{right:2.5cqw}.handle{position:absolute;top:0;bottom:0;left:var(--p,50%);width:3px;margin-left:-1.5px;background:var(--gold);z-index:4;pointer-events:none}.handle:after{content:"↔";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--gold);color:#041a19;display:grid;place-items:center;font-size:22px;font-weight:700;box-shadow:0 4px 18px #0006}.frame input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;touch-action:pan-y;margin:0}.caption{margin-top:16px;color:var(--muted);font-size:.92rem}.old{background:#fff35c;color:#000;font-family:Times New Roman,Times,serif;padding:9cqw 2.5cqw 2.5cqw;border:1.2cqw ridge #c33;height:100%}.old h4{font-size:5.4cqw;color:#d00;text-align:center;text-decoration:underline;line-height:1.1}.old .mq{font-size:3cqw;text-align:center;color:#00c;margin:1.2cqw 0}.old .row{display:flex;gap:2cqw;margin-top:1.5cqw}.old .box{flex:1;background:#9c9;border:.5cqw inset #666;font-size:2.6cqw;padding:1.2cqw;color:#00f;text-decoration:underline;line-height:1.3}.old .small{font-size:2.3cqw;margin-top:1.6cqw;text-align:center}.old .blink{color:red;font-weight:700}.neu{background:linear-gradient(160deg,#0a2b28,#103b35);color:#fff;font-family:var(--body);padding:9cqw 5cqw 3.2cqw;height:100%;display:flex;flex-direction:column}.neu .top{display:flex;justify-content:space-between;align-items:center;font-size:3cqw}.neu .top b{font-family:var(--display);font-size:3.8cqw}.neu .top span{background:#e8b04a;color:#0a2b28;font-weight:700;padding:1cqw 2.6cqw;border-radius:99px;font-size:2.6cqw}.neu h4{font-family:var(--display);font-size:7cqw;line-height:1;letter-spacing:-.03em;margin:3cqw 0 2cqw;max-width:14ch}.neu p{font-size:3cqw;color:#bcd6d1;max-width:34ch}.neu .cards{display:flex;gap:2cqw;margin-top:auto}.neu .cards div{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:2cqw;padding:2cqw;font-size:2.6cqw;line-height:1.3}.neu .cards b{display:block;color:#e8b04a;font-size:3cqw}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.svc{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;transition:transform .2s,border-color .2s}.svc:hover{transform:translateY(-4px);border-color:var(--gold)}.svc h3{font-size:1.3rem;margin-bottom:10px}.svc p{color:var(--muted);font-size:.98rem}.svc .tag2{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:700;color:var(--jade)}.calc{background:var(--bg2)}.calc-box{display:grid;gap:22px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px}@media (min-width:860px){.calc-box{grid-template-columns:1.25fr .9fr;padding:36px;gap:40px}}.calc fieldset{border:0;margin-bottom:22px}.calc legend{font-family:var(--display);font-weight:700;font-size:1.15rem;margin-bottom:12px}.opt{display:block;position:relative;margin-bottom:10px}.opt input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;margin:0}.opt span{display:block;border:2px solid var(--line);border-radius:14px;padding:14px 16px;transition:border-color .15s,background .15s}.opt span b{display:block}.opt span small{color:var(--muted);font-size:.9rem}.opt input:checked+span{border-color:var(--gold);background:#e8b04a1a}.opt input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.result{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:24px;align-self:start}.result small{color:var(--muted);display:block}.price{font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,6vw,2.5rem);color:var(--gold);line-height:1.1;margin:8px 0 14px}.result ul{list-style:none;color:var(--muted);font-size:.95rem;margin-bottom:20px}.result li{padding:5px 0;border-bottom:1px solid var(--line)}.result .btn{width:100%;text-align:center}.note{font-size:.85rem;color:var(--muted);margin-top:12px}.flow{display:grid;gap:0}.node{position:relative;padding:18px 0 22px 56px;border-left:3px solid var(--line);margin-left:14px}.node:before{content:"";position:absolute;left:-12px;top:22px;width:21px;height:21px;border-radius:50%;background:var(--gold);border:4px solid var(--bg);box-shadow:0 0 0 2px var(--gold)}.node h3{font-size:1.2rem;margin-bottom:4px}.node p{color:var(--muted);font-size:.98rem}.node .tech{display:inline-block;margin-top:8px;font-weight:700;color:var(--jade);font-size:.9rem}.node:last-child{border-left-color:transparent}@media (min-width:860px){.flow{grid-template-columns:repeat(4,1fr);gap:22px}.node{padding:44px 0 0;border-left:0;margin-left:0;border-top:3px solid var(--line)}.node:before{left:0;top:-12px}.node:last-child{border-top-color:transparent}}.proj{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.proj .shot{aspect-ratio:16/10;background:linear-gradient(135deg,#0f3b37,#0a2b28);display:grid;place-items:center;color:var(--muted);font-weight:500;text-align:center;padding:12px}.proj .shot img{width:100%;height:100%;object-fit:cover;display:block}.proj .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.proj h3{font-size:1.25rem}.proj p{color:var(--muted);font-size:.97rem}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{font-size:.8rem;font-weight:700;background:#3ddbb01f;color:var(--jade);padding:3px 10px;border-radius:999px}.proj .row{margin-top:auto;display:flex;gap:18px;font-weight:700}.proj .row a{color:var(--gold)}.proj .lab{align-self:flex-start;font-size:.8rem;font-weight:700;color:var(--gold);border:1px solid var(--gold);padding:2px 10px;border-radius:999px}.proj.empty{border-style:dashed;background:transparent}.about{display:grid;gap:28px;margin-top:26px}@media (min-width:860px){.about{grid-template-columns:1.4fr .9fr;gap:48px}}.story p{font-size:1.12rem;color:var(--text);max-width:60ch;margin-bottom:18px}.story p:first-child{font-family:var(--display);font-size:clamp(1.4rem,3.6vw,1.9rem);line-height:1.25;letter-spacing:-.015em;font-weight:700}.fit{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;align-self:start}.fit h3{font-size:1.05rem;color:var(--gold);margin-bottom:8px}.fit p{margin-bottom:22px;color:var(--text)}.fit ul{list-style:none}.fit li{padding:8px 0;border-top:1px solid var(--line);color:var(--muted)}.quote{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px}.quote p{font-size:1.05rem}.quote .who{margin-top:auto;font-weight:700}.quote .who small{display:block;color:var(--muted);font-weight:400}.quote .lab{align-self:flex-start;font-size:.8rem;font-weight:700;color:var(--jade);background:#3ddbb01f;padding:3px 10px;border-radius:999px}.skills{display:flex;flex-wrap:wrap;gap:10px}.skills span{border:1px solid var(--line);padding:9px 18px;border-radius:999px;font-weight:500;background:var(--card)}.skills span.core{background:var(--gold);color:#041a19;border-color:var(--gold);font-weight:700}.rows{display:grid;gap:14px}.edu{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 24px;display:grid;gap:4px}.edu h3{font-size:1.15rem}.edu .meta{color:var(--muted);font-size:.95rem}.edu a{color:var(--gold);font-weight:700}.steps{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));counter-reset:s}.step{border-top:3px solid var(--gold);padding-top:14px;counter-increment:s}.step h3{font-size:1.1rem;margin-bottom:6px}.step h3:before{content:counter(s) ". "}.step p{color:var(--muted);font-size:.97rem}.contact{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f5a4e,#0a2b28);border:1px solid var(--line);border-radius:26px;padding:52px 28px}.contact h2{max-width:14ch}.contact p{color:#bcd6d1;max-width:48ch;margin-bottom:26px}.contact .btn{margin:0 8px 10px 0}footer{padding:36px 0 54px;color:var(--muted);font-size:.9rem}[hidden]{display:none!important}.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px #00000073;transition:transform .15s}.wa-float:hover{transform:scale(1.08)}.wa-float:focus-visible{outline:3px solid #fff}
