@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#fcfbfa;--white:#fff;--ink:#171717;--muted:#716c68;--line:#e9e5e2;--pink:#f5b4ca;--pink-strong:#e86f99;--pink-pale:#fff0f5;--blue:#164a83;--mono:"DM Mono", monospace;--sans:"DM Sans", sans-serif;--display:"Manrope", sans-serif;--container:1160px;--button-shadow:0 0 0 transparent;--button-shadow-hover:0 0 0 transparent;background:#fcfbfa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);min-width:320px;margin:0}body.modal-open{overflow:hidden}body,button,a{font-family:var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--pink-strong);outline-offset:4px}::selection{color:var(--ink);background:#f8cddd}svg{width:20px;height:20px}.section-wrap{width:min(var(--container), calc(100% - 64px));margin-inline:auto}.section-space{padding-block:116px}.eyebrow,.section-kicker,.hero-location,.hero-bottom,.social-label,.art-index,.project-number,.project-meta,.project-actions,.projects-footnote,.timeline-label,.timeline-marker,.modal-topline,.modal-detail>span,.site-footer,.tech-note{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase}.eyebrow{color:var(--muted);letter-spacing:.15em;margin:0;font-size:10px;line-height:1.6}.section-kicker{color:#79736f;align-items:center;gap:13px;margin-bottom:54px;font-size:10px;display:flex}.section-kicker>span,.pink-dot{color:var(--pink-strong)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.065em}h2{margin-bottom:0;font-size:clamp(42px,5.4vw,70px);font-weight:600;line-height:1.04}h2>span{color:var(--pink-strong)}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(22px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.button{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;letter-spacing:-.01em;min-height:49px;box-shadow:var(--button-shadow);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 23px;font-size:12px;font-weight:700;transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .25s;display:inline-flex}.button:hover{border-color:var(--pink);background:var(--pink);color:var(--ink);box-shadow:var(--button-shadow-hover);transform:translate(2px,2px)}.button svg{flex-shrink:0;width:16px;height:16px;transition:transform .25s}.button:hover svg{transform:translate(3px)}.button-dark{background:var(--pink-strong);color:#fff}.button-dark:hover{background:var(--pink);color:var(--ink)}.text-link{color:#5f5955;text-underline-offset:4px;align-items:center;gap:0;font-size:11px;font-weight:600;text-decoration-color:#0000;transition:color .2s,text-decoration-color .2s;display:inline-flex}.text-link>span{color:var(--pink-strong);font-size:16px}.text-link:hover{color:var(--pink-strong);-webkit-text-decoration:underline #eb6f9b80;text-decoration:underline #eb6f9b80}.site-header{z-index:20;width:min(var(--container), calc(100% - 64px));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:36px;height:84px;margin:auto;display:flex;position:relative}.brand{flex-shrink:0;align-items:center;gap:11px;display:flex}.brand-mark{font-family:var(--display);letter-spacing:-.1em;font-size:27px;font-weight:800}.brand-mark>span,.footer-brand>span{color:var(--pink-strong)}.brand-name{letter-spacing:-.02em;flex-direction:column;gap:2px;font-size:12px;font-weight:700;display:flex}.brand-name small{color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:400}.main-nav{align-items:center;gap:clamp(14px,2.1vw,28px);display:flex}.main-nav>a{color:#625e5a;font-size:11px;transition:color .25s}.main-nav>a:hover{color:var(--pink-strong)}.main-nav .nav-contact{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;box-shadow:var(--button-shadow);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:11px 18px;font-size:11px;font-weight:700;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-flex}.main-nav .nav-contact:hover{border-color:var(--pink);background:var(--pink);color:var(--ink);box-shadow:var(--button-shadow-hover);transform:translate(2px,2px)}.nav-contact svg{width:14px;height:14px}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:42px;height:42px;display:none}.menu-toggle span{background:var(--ink);width:17px;height:1px;transition:transform .2s;display:block}.menu-toggle.active span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.hero{padding-top:27px}.hero-topline,.hero-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.hero-topline .eyebrow{align-items:center;gap:9px;display:flex}.hero-topline .eyebrow i{background:var(--pink-strong);width:7px;height:7px;box-shadow:0 0 0 4px var(--pink-pale);border-radius:50%}.hero-location{color:#8a837d;font-size:9px}.hero-layout{grid-template-columns:1.08fr .92fr;align-items:center;gap:25px;min-height:605px;padding-block:52px 48px;display:grid}.hero-copy{z-index:2;position:relative}.hero-intro{color:#6e6864;margin-bottom:15px;font-size:14px}.hero h1{margin-bottom:27px;font-size:clamp(55px,7.3vw,94px);font-weight:600;line-height:.99}.hero h1>span{color:var(--pink-strong)}.hero-description{color:#6f6964;max-width:410px;margin-bottom:28px;font-size:14px;line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;display:flex}.hero-socials{align-items:center;gap:15px;margin-top:42px;display:flex}.hero-socials a{background:#fff;border:1px solid #e9e3df;border-radius:50%;place-items:center;width:32px;height:32px;transition:background .2s,transform .2s;display:grid}.hero-socials svg{width:14px;height:14px}.social-divider{background:var(--line);width:1px;height:20px}.social-label{color:#918983;font-size:8px}.hero-visual{isolation:isolate;place-items:center;min-height:480px;display:grid;position:relative}.visual-outline{aspect-ratio:1;border:1px solid #eadfe2;border-radius:48% 52% 50% 50%;width:min(91%,425px);position:absolute;transform:rotate(-17deg)}.visual-orbit{border:1px solid #e7c8d3;border-radius:50%;position:absolute}.orbit-outer{width:350px;height:445px;animation:12s ease-in-out infinite alternate orbit-float;transform:rotate(33deg)}.orbit-inner{border-color:#f2dfe5;width:270px;height:355px;animation:9s ease-in-out infinite alternate-reverse orbit-float;transform:rotate(-34deg)}.visual-center{z-index:1;background:#f7e3ea;border:1px solid #f0cbd8;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:220px;height:220px;display:flex;box-shadow:0 30px 80px #e7cbd64a}.visual-br{font-family:var(--display);letter-spacing:-.12em;font-size:78px;font-weight:800;line-height:1}.visual-br>span{color:var(--pink-strong)}.visual-center-caption{font-family:var(--mono);letter-spacing:.12em;text-align:center;margin-top:13px;font-size:8px;line-height:1.6}.code-card{z-index:3;background:#fff;border:1px solid #e9e4e0;width:246px;padding:0 16px 16px;animation:6s ease-in-out infinite card-float;position:absolute;top:43px;right:-4px;transform:rotate(3deg);box-shadow:0 17px 55px #33212b13}.code-card-top{border-bottom:1px solid #f0ece9;align-items:center;gap:5px;height:37px;margin-bottom:13px;display:flex}.code-card-top>span{background:#e9a2b9;border-radius:50%;width:6px;height:6px}.code-card-top>span:nth-child(2){background:#ded4c7}.code-card-top>span:nth-child(3){background:#a8c6a8}.code-card-top small{color:#928a85;font-family:var(--mono);margin-left:auto;font-size:8px}.code-card pre{color:#6d5364;font-family:var(--mono);white-space:pre-wrap;margin:0;font-size:9px;line-height:2}.code-purple{color:#b05c91}.code-green{color:#678d76}.floating-label{z-index:4;background:#fff;border:1px solid #eee5e8;align-items:center;gap:8px;padding:11px 14px;font-size:10px;animation:5s ease-in-out infinite alternate card-float;display:flex;position:absolute;box-shadow:0 10px 30px #33212b0c}.floating-label>span{color:var(--pink-strong);font-size:15px}.label-tech{top:150px;left:1px}.label-cyber{animation-delay:-2s;bottom:94px;right:1px}.visual-index{color:#9b918b;font-family:var(--mono);letter-spacing:.12em;font-size:9px;position:absolute;bottom:17px;right:8px}.hero-bottom{border-top:1px solid var(--line);color:#8b837d;min-height:58px;font-size:8px}.hero-bottom a{color:#514b47;align-items:center;gap:9px;display:flex}.hero-bottom a span{color:var(--pink-strong);font-size:15px;animation:1.5s ease-in-out infinite arrow-bob}.marquee{background:var(--pink-pale);border-block:1px solid #f5d7e2;width:100%;padding:18px 0;overflow:hidden}.marquee-track{width:max-content;animation:35s linear infinite marquee-scroll;display:flex}.marquee-track>span{font-family:var(--mono);letter-spacing:.13em;white-space:nowrap;align-items:center;gap:22px;padding-right:22px;font-size:10px;display:inline-flex}.marquee-track i{color:var(--pink-strong);font-size:15px;font-style:normal}.about-layout{grid-template-columns:1fr 1fr;gap:11%;display:grid}.about-title{position:relative}.about-title h2{margin-top:17px}.about-title h2>span{color:var(--pink-strong)}.about-asterisk{color:#f1c4d4;font-size:96px;line-height:1;animation:22s linear infinite slow-spin;position:absolute;bottom:-70px;right:10%}.about-content blockquote{border-left:2px solid var(--pink-strong);font-family:var(--display);letter-spacing:-.04em;margin:0 0 25px;padding-left:20px;font-size:clamp(19px,2vw,25px);font-weight:600;line-height:1.4}.about-content>p{color:#716a65;margin-bottom:15px;font-size:13px;line-height:1.95}.about-content .text-link{margin-top:9px}.stats-row{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr) .8fr;gap:20px;margin-top:85px;padding-top:27px;display:grid}.stat-item{flex-direction:column;gap:8px;display:flex}.stat-item strong{font-family:var(--display);letter-spacing:-.08em;font-size:clamp(34px,4vw,49px);font-weight:600}.stat-item strong>span{color:var(--pink-strong)}.stat-item>span{max-width:160px;color:var(--muted);font-size:10px;line-height:1.6}.stat-note{color:#a19a94;font-family:var(--display);text-align:right;place-self:center end;font-size:13px;line-height:1.6}.projects-section,.formation-section{background:#f6f3f1}.section-heading-row{justify-content:space-between;align-items:end;gap:45px;margin-bottom:53px;display:flex}.section-heading-row h2{margin-top:16px}.section-intro{color:#77706a;max-width:330px;margin-bottom:5px;font-size:12px;line-height:1.9}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px;display:grid}.project-card{min-width:0}.project-art-wrap{background:#eee;border-radius:16px;min-width:0;position:relative;overflow:hidden}.project-art{aspect-ratio:1.8;width:100%;min-height:0;transition:transform .65s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}.project-card:hover .project-art{transform:scale(1.025)}.art-index{z-index:5;letter-spacing:.12em;font-size:8px;position:absolute;top:15px;left:16px}.project-number{z-index:6;color:#625a55;font-size:8px;position:absolute;bottom:13px;left:15px}.project-open{z-index:8;border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;min-height:39px;font-family:var(--sans);box-shadow:var(--button-shadow);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 17px;font-size:10px;font-weight:700;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-flex;position:absolute;bottom:16px;right:16px}.project-open svg{width:15px;height:15px}.project-open:hover{border-color:var(--pink);background:var(--pink);color:var(--ink);box-shadow:var(--button-shadow-hover);transform:translate(2px,2px)}.art-mg{color:#392a23;background:#e8d9ce}.art-mg .art-index{color:#735c4f}.mg-wordmark{z-index:2;font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:12px;font-size:9px;line-height:1.5;display:flex;position:absolute;top:35%;left:8%}.mg-mark{font-family:var(--display);letter-spacing:-.12em;font-size:49px;font-weight:800}.mg-orbit{border:1px solid #c8ab9b;border-radius:50%;position:absolute}.mg-orbit.orbit-one{width:290px;height:390px;top:-6%;right:-3%;transform:rotate(-28deg)}.mg-orbit.orbit-two{width:210px;height:310px;top:8%;right:6%;transform:rotate(29deg)}.phone-mockup{z-index:3;background:#f9f5f0;border:5px solid #342d29;border-radius:23px;width:150px;height:275px;padding:12px;position:absolute;top:16%;right:15%;transform:rotate(7deg);box-shadow:15px 19px 28px #47372b25}.phone-top{justify-content:space-between;margin-bottom:11px;display:flex}.phone-top span:first-child{background:#b6aaa0;border-radius:4px;width:35px;height:4px}.phone-top span:last-child{background:#b6aaa0;border-radius:50%;width:7px;height:7px}.phone-brand{font-family:var(--display);font-size:22px;font-weight:800}.phone-search{color:#9a8a7e;border:1px solid #e2d8d0;border-radius:5px;margin-top:7px;padding:7px;font-size:6px}.phone-product{background:#efe6de;border-radius:4px;justify-content:center;align-items:end;gap:8px;height:100px;margin-top:7px;display:flex}.bottle-shape{background:#9e453a;border-radius:5px 5px 3px 3px;width:22px;height:59px;display:block;position:relative}.bottle-shape:before{content:"";background:#d6c1a0;border-radius:2px 2px 0 0;width:9px;height:9px;position:absolute;top:-8px;left:7px}.bottle-two{background:#4c6550;height:73px}.bottle-three{background:#d1a24c;height:48px}.phone-lines{gap:5px;margin-top:10px;display:grid}.phone-lines i{background:#e6ddd5;border-radius:3px;height:4px;display:block}.phone-lines i:nth-child(2){width:75%}.phone-lines i:nth-child(3){width:48%}.phone-nav{justify-content:space-between;display:flex;position:absolute;bottom:9px;left:13px;right:13px}.phone-nav i{border:1px solid #b7a99f;border-radius:50%;width:9px;height:9px}.art-sticker{z-index:4;color:#fff;width:65px;height:65px;font-family:var(--mono);text-align:center;background:#d9a5a0;border-radius:50%;place-items:center;font-size:9px;line-height:1.4;display:grid;position:absolute;bottom:22%;right:6%;transform:rotate(10deg)}.art-album{color:#455543;background:#dce0d1}.art-album .art-index{color:#66745f}.album-sun{background:#f2e9d8;border-radius:50%;width:160px;height:160px;position:absolute;top:13%;right:15%}.album-heading{z-index:3;font-family:var(--mono);letter-spacing:.15em;flex-direction:column;gap:5px;font-size:8px;display:flex;position:absolute;top:20%;left:8%}.album-heading strong{font-family:var(--display);letter-spacing:-.07em;font-size:clamp(20px,2.6vw,32px)}.album-photo{border:8px solid #faf7f0;place-items:center;width:43%;height:53%;display:grid;position:absolute;bottom:11%;box-shadow:0 15px 30px #2b382b20}.photo-back{background:#b8c3ad;bottom:14%;left:14%;transform:rotate(-11deg)}.photo-back>span{color:#66745f;font-family:var(--display);font-size:44px;font-style:italic}.photo-front{background:linear-gradient(145deg,#c7b3a0,#ece0d0);bottom:9%;right:13%;transform:rotate(7deg)}.photo-placeholder{color:#5a6854;font-family:var(--display);letter-spacing:.13em;flex-direction:column;align-items:center;font-size:12px;line-height:1.4;display:flex}.photo-placeholder>span:nth-child(2){font-family:Georgia,serif;font-size:35px;font-style:italic}.album-caption{z-index:4;color:#586854;font-family:var(--mono);font-size:8px;position:absolute;bottom:20px;right:20px}.art-marry{color:#59433e;background:#f4e7e2}.art-marry .art-index{color:#8b6e67}.marry-orbit{border:1px solid #d7b7b0;border-radius:50%;position:absolute}.orbit-a{width:390px;height:230px;top:12%;left:10%;transform:rotate(-34deg)}.orbit-b{width:320px;height:370px;top:-2%;right:7%;transform:rotate(32deg)}.marry-monogram{z-index:2;color:#d39ca8;letter-spacing:-.15em;font-family:Georgia,serif;font-size:110px;font-style:italic;line-height:1;position:absolute;top:18%;left:14%}.marry-heading{z-index:3;flex-direction:column;gap:4px;display:flex;position:absolute;top:37%;left:15%}.marry-heading>span{font-family:var(--mono);letter-spacing:.17em;font-size:8px}.marry-heading strong{letter-spacing:-.06em;font-family:Georgia,serif;font-size:clamp(25px,3.3vw,39px);font-style:italic;font-weight:400}.marry-panels{z-index:3;gap:6px;display:flex;position:absolute;bottom:18%;right:9%}.marry-panels span{font-family:var(--mono);letter-spacing:.08em;background:#fffaf6b5;border:1px solid #d7b8b0;padding:10px 9px;font-size:7px}.marry-footer{font-family:var(--mono);letter-spacing:.1em;font-size:8px;position:absolute;bottom:20px;right:20px}.art-abg{color:#f8fbff;background:#143e6b}.art-abg .art-index{color:#b6cbe0}.abg-grid{opacity:.15;background-image:linear-gradient(#b8d2ec 1px,#0000 1px),linear-gradient(90deg,#b8d2ec 1px,#0000 1px);background-size:35px 35px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.abg-blueprint{opacity:.6;border:1px solid #a6c5e2;position:absolute;transform:rotate(33deg)}.blueprint-one{width:350px;height:240px;top:4%;right:-6%}.blueprint-two{width:240px;height:360px;top:12%;right:8%;transform:rotate(-27deg)}.abg-logo{z-index:3;flex-direction:column;gap:2px;display:flex;position:absolute;top:25%;left:9%}.abg-symbol{font-family:var(--display);letter-spacing:-.09em;font-size:58px;font-weight:800;line-height:1}.abg-symbol>span{color:#82b7ed}.abg-logo>span:last-child{font-family:var(--mono);letter-spacing:.24em;font-size:9px}.abg-art-copy{z-index:4;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:20%;left:9%}.abg-art-copy>span{color:#a9c9e8;font-family:var(--mono);letter-spacing:.17em;font-size:8px}.abg-art-copy strong{font-family:var(--display);letter-spacing:-.06em;font-size:clamp(25px,3vw,36px);font-weight:500;line-height:1.05}.abg-art-line{background:#a6c5e2;width:1px;height:55%;position:absolute;top:22%;right:16%;transform:rotate(33deg)}.abg-art-tag{z-index:4;color:#b6cbe0;font-family:var(--mono);letter-spacing:.1em;font-size:8px;position:absolute;bottom:20px;right:20px}.project-info{min-width:0;padding:12px 1px 0}.project-meta{color:#8a827c;justify-content:space-between;gap:15px;font-size:8px;display:flex}.project-info h3{letter-spacing:-.055em;overflow-wrap:anywhere;margin:7px 0 6px;font-size:clamp(19px,2vw,25px);font-weight:600;transition:color .2s}.project-card:hover .project-info h3{color:#c65d84}.project-info>p{color:#77706a;overflow-wrap:anywhere;max-width:510px;min-height:0;margin-bottom:10px;font-size:11px;line-height:1.6}.tech-tags,.modal-tech{flex-wrap:wrap;gap:5px;display:flex}.tech-tags>span,.modal-tech>span{color:#746b65;font-family:var(--mono);letter-spacing:.02em;border:1px solid #e3dcd6;padding:5px 7px;font-size:7px}.project-actions{width:100%;min-width:0;font-family:var(--mono);letter-spacing:0;text-transform:none;border-top:1px solid #ded8d2;flex-flow:row;align-items:stretch;gap:8px;margin-top:12px;padding-top:12px;font-size:9px;display:flex}.project-link,.project-github,.details-button{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;min-width:0;min-height:36px;font-family:var(--sans);letter-spacing:-.02em;text-align:center;text-transform:none;white-space:nowrap;border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;padding:7px 6px;font-size:10px;font-weight:700;line-height:1.15;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,color .16s,border-color .16s;display:inline-flex;box-shadow:3px 3px #171717}.project-link svg,.project-github svg,.details-button svg{flex-shrink:0;width:13px;height:13px}.project-link:hover,.project-github:hover,.details-button:hover{color:#171717;background:#f7c0d3;border-color:#171717;transform:translate(2px,2px);box-shadow:1px 1px #171717}.project-link{cursor:pointer}.project-link.project-disabled,.project-disabled{color:#827872;box-shadow:none;text-overflow:ellipsis;cursor:default;background:#eee8e3;border-color:#d9d0ca;overflow:hidden}.project-link.project-disabled:hover,.project-disabled:hover{color:#827872;box-shadow:none;background:#eee8e3;border-color:#d9d0ca;transform:none}.project-github{border-radius:3px;margin-left:0}.project-github:after{content:"Ver no Git";font-family:var(--sans);white-space:nowrap;font-size:10px;font-weight:700}.details-button{cursor:pointer}.details-button span{color:inherit;font-size:13px}.tech-section{isolation:isolate;color:#f7f2f5;background:radial-gradient(at 78% 16%,#dd4b8730,#0000 34%),radial-gradient(at 4% 90%,#80306529,#0000 38%),linear-gradient(#ff91bc0b 1px,#0000 1px) 0 0/30px 30px,linear-gradient(90deg,#ff91bc0b 1px,#0000 1px) 0 0/30px 30px,linear-gradient(135deg,#111016 0%,#17121c 53%,#100f15 100%);border:1px solid #f485ae47;border-radius:22px;padding:clamp(34px,5.2vw,68px) clamp(20px,4.4vw,56px);position:relative;overflow:hidden;box-shadow:0 22px 70px #160a1221,inset 0 1px #ffffff0e}.tech-section>:not(.tech-ambient){z-index:1;position:relative}.tech-section:before{z-index:0;pointer-events:none;content:"";opacity:.34;background:linear-gradient(112deg,#0000 0 42%,#ffa9c924 49%,#0000 56%) 0 0/220% 100%;animation:13s ease-in-out infinite techBackgroundSweep;position:absolute;inset:0}.tech-section:after{z-index:2;pointer-events:none;content:"";filter:drop-shadow(0 0 7px #e86f99bf);background:linear-gradient(90deg,#0000,#e86f99 22%,#ffd3e3 50%,#e86f99 78%,#0000);height:1px;position:absolute;top:0;left:7%;right:7%}.tech-ambient{z-index:0;pointer-events:none;opacity:.72;background-image:radial-gradient(#ffb8d380 .7px,#0000 .7px);background-size:23px 23px;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(115deg,#0000 4%,#000 45%,#0000 96%);mask-image:linear-gradient(115deg,#0000 4%,#000 45%,#0000 96%)}.tech-ambient-glow{aspect-ratio:1;filter:blur(15px);background:radial-gradient(circle,#e86f9933,#ab386f12 43%,#0000 72%);border-radius:50%;width:clamp(190px,28vw,360px);animation:7s ease-in-out infinite alternate techGlowBreathe;position:absolute;top:5%;right:7%}.tech-ambient-orbit{aspect-ratio:1;border:1px solid #f485ae36;border-radius:50%;width:clamp(230px,31vw,390px);position:absolute;top:4%;right:2%;transform:rotate(-24deg)scaleY(.72)}.tech-ambient-orbit:before,.tech-ambient-orbit:after{content:"";border:1px solid #f485ae21;border-radius:50%;position:absolute;inset:12%}.tech-ambient-orbit:before{transform:rotate(42deg)scaleY(.8)}.tech-ambient-orbit:after{inset:26%;transform:rotate(-50deg)scaleY(.7)}.tech-ambient-orbit-two{border-color:#ffffff13;width:clamp(290px,39vw,490px);top:18%;right:-3%;transform:rotate(28deg)scaleY(.66)}.tech-ambient-cross{color:#f18ab0;text-shadow:0 0 14px #e86f998c;font-size:17px;animation:6s ease-in-out infinite techCrossFloat;position:absolute}.tech-cross-one{top:21%;right:17%}.tech-cross-two{opacity:.7;font-size:11px;animation-delay:-2.5s;top:57%;right:42%}.tech-heading{justify-content:space-between;align-items:center;gap:clamp(22px,4vw,48px);margin:25px 0 38px;display:flex}.tech-heading-copy{min-width:0;max-width:680px}.tech-heading-copy:before{content:"";background:linear-gradient(90deg,#e86f99,#ffd1e1);width:44px;height:3px;margin-bottom:19px;display:block;box-shadow:0 0 16px #e86f997a}.tech-heading .eyebrow{color:#f2a0bf;letter-spacing:.19em}.tech-heading h2{color:#fff8fb;letter-spacing:-.065em;text-wrap:balance;max-width:100%;margin-top:14px;font-size:clamp(32px,4.3vw,56px);line-height:1.04}.tech-heading h2 span{color:#0000;background:linear-gradient(100deg,#f5a3c1 5%,#ffd4e4 49%,#d95e91 95%);-webkit-background-clip:text;background-clip:text}.tech-heading>.tech-heading-copy>p:last-child{color:#c2b4bf;max-width:470px;margin:20px 0 0;font-size:12px;line-height:1.9}.tech-stack-stamp{background:radial-gradient(circle at 40% 30%,#30202d 0 14%,#201622 58%,#17121b 100%);border:1px solid #f485ae8c;border-radius:50%;flex-direction:column;flex:0 0 122px;justify-content:center;align-items:center;gap:7px;width:122px;height:122px;transition:transform .35s,box-shadow .35s;display:flex;position:relative;transform:rotate(5deg);box-shadow:0 0 0 7px #e86f990b,0 0 34px #e86f9921,inset 0 0 0 5px #ffffff06}.tech-stack-stamp:before,.tech-stack-stamp:after{content:"";border:1px dashed #f485ae8c;border-radius:50%;animation:24s linear infinite techStampSpin;position:absolute;inset:-6px}.tech-stack-stamp:after{border-style:solid;border-color:#f485ae30;animation-duration:32s;animation-direction:reverse;inset:7px}.tech-stack-stamp:hover{transform:rotate(0)scale(1.035);box-shadow:0 0 0 9px #e86f9911,0 0 42px #e86f993b,inset 0 0 0 5px #ffffff09}.tech-stamp-top,.tech-stamp-bottom{z-index:1;color:#d7b8c6;font-family:var(--mono,"DM Mono", monospace);letter-spacing:.1em;white-space:nowrap;font-size:7px;position:relative}.tech-stamp-symbol{z-index:1;color:#f28eb4;text-shadow:0 0 16px #f28eb499;font-size:29px;line-height:1;animation:3.8s ease-in-out infinite techSymbolPulse;position:relative}.tech-grid-label{color:#c8b2bf;font-family:var(--mono,"DM Mono", monospace);letter-spacing:.1em;border-top:1px solid #f485ae38;border-bottom:1px solid #f485ae38;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;padding:13px 0;font-size:8px;display:flex}.tech-grid-label>span:first-child{align-items:center;gap:9px;min-width:0;display:inline-flex}.tech-grid-label i{background:#f18ab0;border-radius:50%;flex:0 0 6px;width:6px;height:6px;animation:2.5s ease-in-out infinite techStatusPulse;box-shadow:0 0 0 4px #f18ab01a,0 0 15px #e86f99a6}.tech-grid-label b{color:#f18ab0;margin-left:6px;font-size:11px}.tech-grid{perspective:1100px;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.tech-card{min-width:0;min-height:116px;transform-style:preserve-3d;background:linear-gradient(145deg,#231b26f5,#19141dfa);border:1px solid #f485ae30;border-radius:12px;align-items:center;gap:15px;padding:22px 17px;transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,background .3s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09,0 8px 22px #0000001f}.tech-card:before{content:"";opacity:0;background:linear-gradient(112deg,#0000 15%,#ffc1d70a 35%,#ffc1d726 49%,#0000 67%);transition:transform .65s,opacity .25s;position:absolute;inset:-1px;transform:translate(-125%)}.tech-card:after{content:"";opacity:.55;border:1px solid #f485ae2e;border-radius:50%;width:112px;height:112px;transition:opacity .3s,transform .4s;position:absolute;bottom:-45px;right:-36px;transform:scale(.85);box-shadow:0 0 0 10px #f485ae06,0 0 0 21px #f485ae05}.tech-card:hover,.tech-card:focus-within{z-index:2;background:linear-gradient(145deg,#361f2ffc,#1f1622fc);border-color:#f597bbc2;transform:translateY(-5px)rotateX(1deg);box-shadow:inset 0 1px #ffffff12,0 16px 36px #0000003d,0 0 0 1px #e86f991a,0 0 26px #e86f9924}.tech-card:hover:after,.tech-card:focus-within:after{opacity:.9;transform:scale(1)}.tech-card-index{color:#947e8d;font-family:var(--mono,"DM Mono", monospace);letter-spacing:.04em;font-size:8px;position:absolute;top:10px;right:12px}.tech-icon-wrap{z-index:1;background:linear-gradient(145deg,#2b222d,#211b27);border:1px solid #f485ae3d;border-radius:13px;flex:0 0 50px;place-items:center;width:50px;height:50px;transition:transform .32s,border-color .3s,box-shadow .3s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0e,0 5px 15px #0000002b}.tech-icon-wrap:after{content:"";border:1px solid #0000;border-radius:17px;transition:border-color .3s,transform .3s;position:absolute;inset:-5px}.tech-card:hover .tech-icon-wrap:after{border-color:#f485ae47;transform:scale(1.07)}.technology-icon{object-fit:contain;filter:drop-shadow(0 2px 6px #0000002e);width:27px;max-width:100%;height:27px;max-height:100%;transition:transform .32s,filter .32s;display:block}.tech-card-copy{z-index:1;flex-direction:column;flex:auto;gap:7px;min-width:0;display:flex;position:relative}.tech-card-copy strong{color:#fff7fb;font-family:var(--display,"Manrope", sans-serif);letter-spacing:-.025em;overflow-wrap:anywhere;font-size:13px;font-weight:800;line-height:1.3;transition:color .25s}.tech-card-copy>span{color:#b9aab5;overflow-wrap:anywhere;font-size:10px;line-height:1.5}.tech-card-mark{z-index:1;color:#f18ab0;opacity:0;text-shadow:0 0 12px #e86f9966;font-size:12px;transition:opacity .25s,transform .3s;position:absolute;bottom:9px;right:13px;transform:rotate(-45deg)scale(.55)}.tech-card:hover .tech-card-mark{opacity:1;transform:rotate(0)scale(1)}.tech-note{color:#c8b8c3;letter-spacing:.025em;background:linear-gradient(100deg,#36202ed9,#1b161fe6);border:1px solid #f485ae38;border-radius:10px;align-items:center;gap:12px;min-width:0;margin-top:25px;padding:15px 17px;font-size:10px;line-height:1.7;display:flex;position:relative;overflow:hidden}.tech-note:before{content:"";background:#e86f99;width:2px;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #e86f9980}.tech-note>span:first-child{color:#f18ab0;text-shadow:0 0 12px #e86f9973;font-size:17px;animation:3.8s ease-in-out infinite techSymbolPulse}.tech-note p{min-width:0;margin:0}.tech-note-line{background:linear-gradient(90deg,#f18ab0a6,#0000);flex:40px;min-width:20px;height:1px;margin-left:8px}@keyframes techGlowBreathe{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@keyframes techCrossFloat{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translateY(-8px)rotate(22deg)}}@keyframes techStampSpin{to{transform:rotate(360deg)}}@keyframes techSymbolPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes techStatusPulse{0%,to{box-shadow:0 0 0 4px #f18ab01a,0 0 12px #e86f9947}50%{box-shadow:0 0 0 6px #f18ab01a,0 0 19px #e86f9985}}@keyframes techBackgroundSweep{0%,35%{background-position:120% 0}75%,to{background-position:-120% 0}}@media (width<=900px){.tech-section{padding:46px 30px}.tech-ambient{opacity:.45}.tech-heading{gap:24px}.tech-stack-stamp{flex-basis:102px;width:102px;height:102px}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tech-card{gap:11px;min-height:116px;padding:22px 12px}.tech-icon-wrap{flex-basis:43px;width:43px;height:43px}.technology-icon{width:24px;height:24px}}@media (width<=640px){.tech-section{border-radius:17px;padding:34px 20px}.tech-heading{flex-direction:column;align-items:stretch;gap:19px;margin:22px 0 27px}.tech-heading-copy{width:100%;max-width:none}.tech-heading h2{font-size:clamp(30px,8vw,42px);line-height:1.08}.tech-heading>.tech-heading-copy>p:last-child{margin-top:16px;font-size:12px}.tech-stack-stamp{flex-basis:76px;align-self:flex-end;gap:3px;width:76px;height:76px;margin-top:-4px}.tech-stack-stamp:before{inset:-4px}.tech-stack-stamp:after{inset:5px}.tech-stamp-top,.tech-stamp-bottom{font-size:5px}.tech-stamp-symbol{font-size:21px}.tech-grid-label{letter-spacing:.045em;align-items:flex-start;gap:8px;font-size:7px}.tech-grid-label>span:first-child{gap:7px}.tech-grid-label>span:last-child{white-space:nowrap}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tech-card{border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px;min-height:124px;padding:17px 12px 15px}.tech-card-index{font-size:7px;top:9px;right:10px}.tech-icon-wrap{border-radius:10px;flex-basis:39px;width:39px;height:39px}.technology-icon{width:23px;height:23px}.tech-card-copy{gap:4px;width:100%;padding-right:0}.tech-card-copy strong{max-width:100%;font-size:11px}.tech-card-copy>span{font-size:9px;line-height:1.45}.tech-card-mark{font-size:10px;bottom:8px;right:9px}.tech-note{align-items:flex-start;gap:9px;margin-top:19px;padding:13px 12px;font-size:9px}.tech-note>span:first-child{flex:none}.tech-note-line{display:none}}@media (width<=360px){.tech-section{padding-inline:15px}.tech-grid{gap:7px}.tech-card{min-height:128px;padding:16px 9px 13px}.tech-card-copy strong{font-size:10px}.tech-card-copy>span{font-size:8px}.tech-grid-label{font-size:6px}}@media (hover:none){.tech-card:hover,.tech-stack-stamp:hover{transform:none}.tech-card-mark{opacity:.65;transform:none}}@media (prefers-reduced-motion:reduce){.tech-section:before,.tech-ambient *,.tech-stack-stamp:before,.tech-stack-stamp:after,.tech-stamp-symbol,.tech-grid-label i,.tech-note>span:first-child{animation:none!important}.tech-card,.tech-card:before,.tech-card:after,.tech-icon-wrap,.technology-icon,.tech-stack-stamp{transition:none!important;transform:none!important}}.formation-layout{grid-template-columns:.85fr 1.15fr;gap:12%;display:grid}.formation-heading h2{margin-top:18px}.formation-heading h2>span{color:var(--pink-strong)}.formation-heading>p:last-child{color:#77706a;max-width:300px;margin-top:24px;font-size:12px;line-height:1.9}.timeline{position:relative}.timeline:before{content:"";background:#dfd5cf;width:1px;position:absolute;top:12px;bottom:20px;left:17px}.timeline-item{grid-template-columns:36px 1fr;gap:19px;padding-bottom:37px;display:grid;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{z-index:1;color:#b85f80;background:#f8e7ed;border:1px solid #e0c3cd;border-radius:50%;place-items:center;width:35px;height:35px;font-size:9px;display:grid;position:relative}.timeline-label{color:#a46d82;margin:4px 0 10px;font-size:8px;display:block}.timeline-content h3{letter-spacing:-.04em;margin-bottom:6px;font-size:21px;font-weight:600}.timeline-content>p{color:#4e4945;margin-bottom:11px;font-size:11px}.timeline-description{color:#79716b;max-width:440px;font-size:11px;line-height:1.8;display:block}.contact-panel{text-align:center;background:linear-gradient(135deg,#fff3f7 0%,#f9e9ef 100%);border:1px solid #f0dbe3;border-radius:28px;padding:clamp(35px,7vw,85px) 30px;position:relative;overflow:hidden}.contact-panel .eyebrow{z-index:1;position:relative}.contact-panel h2{z-index:1;margin-top:20px;font-size:clamp(39px,6.3vw,75px);position:relative}.contact-panel h2>span{color:var(--pink-strong)}.contact-description{z-index:1;color:#756b70;max-width:420px;margin:20px auto 25px;font-size:12px;line-height:1.8;position:relative}.contact-panel .button{z-index:1;min-height:51px;padding-inline:25px;position:relative}.contact-decoration{color:#f3d0dc;font-size:220px;line-height:1;animation:30s linear infinite slow-spin;position:absolute;top:-55px;right:5%}.contact-links{z-index:1;border-top:1px solid #edcbd7;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:35px;padding-top:28px;display:flex;position:relative}.contact-links a{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;min-height:43px;font-family:var(--sans);letter-spacing:0;text-transform:none;box-shadow:var(--button-shadow);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:11px;font-weight:700;transition:color .25s,background .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-flex}.contact-links .contact-link svg{flex-shrink:0;width:16px;height:16px}.contact-links .contact-link:hover{border-color:var(--pink);background:var(--pink);color:var(--ink);box-shadow:var(--button-shadow-hover);transform:translate(2px,2px)}.contact-links .contact-whatsapp{color:#167447;background:#f0fbf5;border-color:#c5ead5;box-shadow:3px 3px #171717}.contact-links .contact-whatsapp:hover{color:#fff;background:#16834a;border-color:#16834a;transform:translate(2px,2px);box-shadow:1px 1px #171717}.site-footer{border-top:1px solid var(--line);color:#8a827c;justify-content:space-between;align-items:center;gap:20px;min-height:92px;font-size:8px;display:flex}.footer-brand{color:var(--ink);font-family:var(--display);letter-spacing:-.1em;font-size:26px;font-weight:800}.back-top{color:#4f4945;font-family:var(--mono);letter-spacing:.07em;font-size:8px;transition:color .2s}.back-top:hover{color:var(--pink-strong)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#171717b8;place-items:center;padding:25px;animation:.2s fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.project-modal{border:1px solid var(--line);background:var(--paper);border-radius:22px;width:min(650px,100%);max-height:min(88vh,850px);padding:clamp(28px,5vw,52px);animation:.3s cubic-bezier(.2,.7,.2,1) modal-in;position:relative;overflow-y:auto;box-shadow:0 24px 80px #17171720}.modal-close{border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;width:36px;height:36px;font-size:24px;transition:background .2s;display:grid;position:absolute;top:18px;right:18px}.modal-topline{color:#8a827c;justify-content:space-between;gap:15px;padding-right:35px;font-size:8px;display:flex}.project-modal h2{margin:28px 0 14px;font-size:clamp(35px,5vw,55px)}.project-modal h2>span{color:var(--pink-strong)}.modal-description{color:#77706a;max-width:510px;margin-bottom:31px;font-size:13px;line-height:1.8}.modal-detail{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:20px;padding:19px 0;display:grid}.modal-detail>span{color:#b46180;font-size:8px;line-height:1.8}.modal-detail p{color:#6f6862;margin:0;font-size:12px;line-height:1.8}.modal-tech{margin-top:22px}.modal-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px;display:flex}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes orbit-float{0%{translate:0 -5px}to{translate:0 8px}}@keyframes card-float{0%{translate:0}50%{translate:0 -8px}to{translate:0 3px}}@keyframes arrow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(15px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=1400px){:root{--container:1220px}.hero-layout{min-height:670px}}@media (width<=1000px){.section-wrap,.site-header{width:calc(100% - 48px)}.main-nav{gap:14px}.main-nav>a{font-size:10px}.main-nav .nav-contact{padding:10px}.hero-layout{grid-template-columns:1fr .9fr}.hero h1{font-size:clamp(52px,7vw,75px)}.hero-visual{transform:scale(.92)}.code-card{right:-10px}.about-layout,.formation-layout{gap:7%}.projects-grid{gap:34px 22px}.project-art{aspect-ratio:1.5}.project-info h3{font-size:22px}.phone-mockup{transform-origin:100% 0;right:9%;transform:scale(.9)rotate(7deg)}.tech-card{padding:15px 12px}.project-actions{gap:7px}.project-link,.project-github,.details-button{padding-inline:5px;font-size:9px}.project-github:after{font-size:9px}}@media (width<=760px){html{scroll-padding-top:72px}.section-wrap,.site-header{width:calc(100% - 36px)}.section-space{padding-block:78px}.site-header{height:72px}.menu-toggle{display:flex}.main-nav{border-bottom:1px solid var(--line);background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;display:none;position:absolute;top:71px;left:-18px;right:-18px;box-shadow:0 20px 30px #1717170a}.main-nav.nav-open{display:flex}.main-nav>a{border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.main-nav .nav-contact{justify-content:center;margin-top:12px;padding:13px 18px}.hero{padding-top:23px}.hero-location{font-size:8px}.hero-layout{grid-template-columns:1fr;gap:10px;padding-block:53px 30px}.hero h1{font-size:clamp(55px,11.5vw,83px)}.hero-description{max-width:470px;font-size:13px}.hero-socials{flex-wrap:wrap;margin-top:29px}.social-label{font-size:7px}.hero-visual{width:min(100%,480px);min-height:410px;margin:0 auto;transform:none}.visual-outline{width:80%}.orbit-outer{width:300px;height:380px}.orbit-inner{width:235px;height:310px}.visual-center{width:190px;height:190px}.visual-br{font-size:67px}.code-card{width:215px;top:21px;right:0}.label-tech{top:125px;left:0}.label-cyber{bottom:70px;right:0}.hero-bottom{flex-wrap:wrap;padding-block:17px}.hero-bottom>span:last-child{display:none}.section-kicker{margin-bottom:36px}.about-layout{grid-template-columns:1fr;gap:40px}.about-asterisk{font-size:70px;bottom:-25px;right:5%}.stats-row{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:55px}.stat-note{display:none}.stat-item strong{font-size:37px}.stat-item>span{font-size:9px}.section-heading-row{margin-bottom:38px;display:block}.section-intro{margin-top:24px}.projects-grid{grid-template-columns:1fr;gap:30px}.project-art{aspect-ratio:1.65}.project-info{padding-top:12px}.project-info h3{font-size:24px}.project-info>p{font-size:12px}.project-actions{flex-wrap:nowrap;gap:8px;margin-top:14px;padding-top:12px}.project-link,.project-github,.details-button{flex:1 1 0;min-width:0;min-height:36px;padding-inline:5px;font-size:10px}.project-github:after{font-size:10px}.projects-footnote{margin-top:35px}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-heading{gap:20px}.tech-stack-stamp{flex-basis:100px;width:100px;height:100px}.tech-stamp-symbol{font-size:25px}.tech-card{gap:11px;min-height:96px;padding:17px 12px}.tech-icon-wrap{flex-basis:40px;width:40px;height:40px}.technology-icon{width:21px;height:21px}.tech-card-copy strong{font-size:12px}.tech-card-copy>span{font-size:9px}.formation-layout{grid-template-columns:1fr;gap:43px}.formation-heading>p:last-child{max-width:400px}.contact-section{padding-bottom:75px}.contact-panel{border-radius:22px}.contact-decoration{font-size:160px;top:-25px;right:-10%}.contact-links{gap:10px}.contact-links .contact-link{min-height:42px;padding-inline:15px}.site-footer{grid-template-columns:auto 1fr;gap:16px;padding-block:22px;display:grid}.site-footer>span:nth-child(2){justify-self:end}.site-footer>span:nth-child(3){grid-area:2/1}.back-top{grid-area:2/2;justify-self:end}.modal-detail{grid-template-columns:1fr;gap:8px}.modal-actions{gap:12px}}@media (width<=420px){.section-wrap,.site-header{width:calc(100% - 30px)}.hero-topline{flex-direction:column;align-items:flex-start;gap:10px}.hero h1{font-size:52px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-visual{min-height:355px;margin-top:10px}.visual-center{width:165px;height:165px}.visual-br{font-size:58px}.orbit-outer{width:250px;height:320px}.orbit-inner{width:205px;height:275px}.code-card{width:190px;right:-4px}.code-card pre{font-size:8px}.floating-label{padding:9px 10px;font-size:9px}.label-tech{left:-4px}.label-cyber{bottom:50px;right:-4px}.hero-bottom{font-size:7px}h2{font-size:43px}.stat-item strong{font-size:31px}.project-art{aspect-ratio:1.4}.phone-mockup{transform-origin:100% 0;right:9%;transform:scale(.78)rotate(7deg)}.mg-wordmark{gap:7px;font-size:7px;left:5%}.mg-mark{font-size:39px}.album-heading strong{font-size:21px}.marry-monogram{font-size:85px}.marry-heading strong{font-size:26px}.abg-symbol{font-size:47px}.abg-art-copy strong{font-size:26px}.project-actions{gap:5px}.project-link,.project-github,.details-button{letter-spacing:-.04em;flex:1 1 0;gap:3px;min-width:0;min-height:34px;padding:6px 3px;font-size:9px}.project-link svg,.project-github svg,.details-button svg{width:11px;height:11px}.project-github:after{letter-spacing:-.04em;font-size:9px}.tech-tags>span{padding:6px 7px;font-size:7px}.tech-card{flex-direction:column;align-items:flex-start;min-height:118px}.tech-arrow{top:11px;right:10px}.timeline-content h3{font-size:19px}.contact-panel{border-radius:19px;padding-inline:15px}.contact-panel h2{font-size:39px}.contact-links{gap:9px}.contact-links .contact-link{gap:6px;min-height:40px;padding-inline:10px;font-size:10px}.contact-links .contact-link svg{width:14px;height:14px}.site-footer{font-size:7px}.project-modal{padding:26px 20px}.modal-topline{flex-direction:column;gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}:root{--button-shadow:none;--button-shadow-hover:none}.button{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;min-height:46px;box-shadow:none;border-radius:6px;padding:0 23px;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s}.button:hover{border-color:var(--pink-strong);color:var(--ink);box-shadow:none;background:0 0;transform:none}.button svg,.button:hover svg{transform:none}.text-link{gap:0;font-size:12px;font-weight:600;text-decoration:none}.text-link>span{display:none}.text-link:hover{text-decoration:none}.main-nav .nav-contact{box-shadow:none;border-radius:5px;padding:10px 17px;font-weight:600}.main-nav .nav-contact:hover{border-color:var(--pink-strong);color:var(--ink);box-shadow:none;background:0 0;transform:none}.menu-toggle{border-radius:5px;width:40px;height:40px}.project-open{display:none}.project-actions{border-top:1px solid var(--line);width:100%;min-width:0;font-family:var(--sans);letter-spacing:0;text-transform:none;flex-flow:row;align-items:center;gap:8px;margin-top:15px;padding-top:14px;font-size:10px;display:flex}.project-actions .project-link,.project-actions .project-github,.project-actions .details-button{color:#514b47;min-width:0;min-height:36px;font-family:var(--sans);letter-spacing:0;text-align:center;text-transform:none;white-space:nowrap;box-shadow:none;background:0 0;border:1px solid #e2ddda;border-radius:5px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;padding:7px 8px;font-size:10px;font-weight:600;line-height:1.2;text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .2s;display:inline-flex}.project-actions .project-link svg,.project-actions .project-github svg,.project-actions .details-button svg{flex-shrink:0;width:12px;height:12px}.project-actions .project-link:hover,.project-actions .project-github:hover,.project-actions .details-button:hover{color:#171717;box-shadow:none;background:#f5f1ef;border-color:#d3cbc7;transform:translateY(-1px)}.project-actions .project-link{border-color:var(--pink-strong);background:var(--pink-strong);color:#fff}.project-actions .project-link:hover{border-color:var(--pink-strong);color:var(--ink);background:#f8dce6}.project-actions .project-github{margin-left:0}.project-actions .project-github:after{content:"Ver no Git";font-family:var(--sans);font-size:inherit;white-space:nowrap;font-weight:600}.project-actions .details-button{color:#171717;cursor:pointer;background:0 0;border-color:#e2ddda}.project-actions .details-button:hover{color:#171717;background:#f5f1ef;border-color:#d3cbc7}.project-actions .details-button span,.project-actions .details-button svg,.project-actions .project-link svg{display:none}.project-actions .details-button:focus-visible{outline:2px solid var(--pink-strong);outline-offset:3px}.project-actions .project-link.project-disabled,.project-actions .project-disabled{color:#827872;box-shadow:none;text-overflow:ellipsis;cursor:default;background:#eee8e3;border-color:#e3dcd6;overflow:hidden}.project-actions .project-link.project-disabled:hover,.project-actions .project-disabled:hover{color:#827872;box-shadow:none;background:#eee8e3;border-color:#e3dcd6;transform:none}.contact-links .contact-link{min-height:42px;box-shadow:none;border-radius:5px;padding:0 17px;font-size:11px;font-weight:600}.contact-links .contact-link:hover{border-color:var(--pink-strong);color:var(--ink);box-shadow:none;background:0 0;transform:none}.contact-links .contact-whatsapp{color:#167447;box-shadow:none;background:#f0fbf5;border-color:#c9e5d5}.contact-links .contact-whatsapp:hover{color:#fff;box-shadow:none;background:#16834a;border-color:#16834a;transform:none}.modal-close{border-radius:5px;width:36px;height:36px;font-size:21px}.modal-close:hover{background:var(--pink-pale)}.hero-socials a{box-shadow:none;border-radius:6px}.hero-socials a:hover{background:var(--pink-pale);transform:translateY(-2px)}.modal-actions .button{box-shadow:none}.projects-footnote{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:28px;display:flex}.projects-footnote>span{color:#77716f;font-family:var(--sans);letter-spacing:.04em;font-size:10px;font-weight:400;line-height:1.5}.projects-footnote .projects-footnote-discover{color:#77716f;font-family:var(--sans);letter-spacing:.03em;text-align:right;font-size:9px;font-weight:400;line-height:1.5}.projects-footnote .pink-dot{color:var(--pink-strong);font-size:11px}@media (width<=760px){.project-actions{gap:7px}.project-actions .project-link,.project-actions .project-github,.project-actions .details-button{min-height:36px;padding-inline:8px;font-size:10px}.contact-links .contact-link{padding-inline:13px}}@media (width<=600px){.project-actions{gap:6px}.project-actions .project-link,.project-actions .project-github,.project-actions .details-button{min-height:35px;padding-inline:6px;font-size:9px}.project-actions .project-github:after{font-size:9px}.projects-footnote{gap:6px 10px;margin-top:24px}.projects-footnote>span{letter-spacing:.02em;font-size:9px}.projects-footnote .projects-footnote-discover{letter-spacing:.01em;font-size:8px}.projects-footnote .pink-dot{font-size:10px}}@media (width<=420px){.project-actions{gap:4px}.project-actions .project-link,.project-actions .project-github,.project-actions .details-button{min-height:34px;padding-inline:4px;font-size:8px}.project-actions .project-github:after{font-size:8px}}@media (width<=380px){.projects-footnote{flex-direction:column;align-items:flex-start;gap:4px}.projects-footnote .projects-footnote-discover{text-align:left}}.services-section{background:#fff0f5;border-top:1px solid #f4dce5;border-bottom:1px solid #f4dce5;width:100%;max-width:none;margin:0;position:relative;overflow:hidden}.services-content{z-index:1;position:relative}.services-heading{align-items:end;gap:clamp(28px,5vw,76px);margin-bottom:clamp(42px,6vw,76px)}.services-heading .section-kicker>span,.services-heading h2 span{color:#d94f82}.services-heading .section-intro{color:#705b66;max-width:360px}.services-timeline{gap:0;max-width:940px;margin-inline:auto;padding-left:clamp(0px,1.2vw,18px);display:grid;position:relative}.services-timeline:before{content:"";transform-origin:top;background:linear-gradient(#d94f8233,#d94f82b8 45%,#d94f8233);width:1px;animation:5s ease-in-out infinite serviceLineGlow;position:absolute;top:22px;bottom:46px;left:34px}.service-step{outline:none;grid-template-columns:70px minmax(0,1fr) 54px;align-items:start;gap:clamp(18px,3vw,34px);padding:0 20px 44px 0;display:grid;position:relative}.service-step:last-child{padding-bottom:0}.service-step-marker{z-index:1;background:#fff0f5;border:1px solid #d94f8247;border-radius:50%;place-items:center;width:70px;height:70px;transition:color .3s,background .3s,border-color .3s,transform .3s,box-shadow .3s;display:grid;position:relative;box-shadow:0 0 0 7px #fff0f5d9}.service-step-marker span{color:#d94f82;font-family:var(--mono);letter-spacing:.04em;font-size:13px;transition:color .3s}.service-step-content{min-width:0;padding:4px 0 0;position:relative}.service-index{color:#c34b79;font-family:var(--mono);letter-spacing:.14em;margin-bottom:10px;font-size:9px;font-weight:500;line-height:1.7;display:block}.service-step-content h3{color:#211820;letter-spacing:-.055em;width:fit-content;max-width:100%;margin:0 0 12px;font-size:clamp(25px,3.1vw,37px);font-weight:650;line-height:1.12;transition:color .25s,transform .3s}.service-step-content p{color:#705b66;max-width:620px;margin:0 0 17px;font-size:13px;line-height:1.9}.service-tags{color:#8d707e;font-family:var(--mono);letter-spacing:.035em;font-size:9px;line-height:1.8;display:inline-block}.service-tags i{color:#d94f82;padding-inline:4px;font-style:normal}.service-step-symbol{color:#d94f82;border:1px solid #d94f823d;border-radius:50%;place-items:center;width:48px;height:48px;margin-top:2px;font-size:22px;transition:background .3s,color .3s,transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .3s;display:grid}.service-step:hover .service-step-marker span,.service-step:focus-within .service-step-marker span{color:#fff}.service-step:hover .service-step-symbol,.service-step:focus-within .service-step-symbol{color:#fff;background:#d94f82;transform:rotate(45deg);box-shadow:0 8px 24px #d94f8233}.services-cta{border-top:1px solid #e7bfd0;justify-content:space-between;align-items:center;gap:20px;max-width:940px;margin:clamp(42px,6vw,70px) auto 0;padding:23px 0 0;display:flex}.services-cta p{color:#211820;font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(18px,2.2vw,24px);font-weight:650}.services-cta .button{flex-shrink:0}@keyframes serviceLineGlow{0%,to{opacity:.58}50%{opacity:1}}@media (width<=700px){.services-section{padding-block:72px}.services-heading{margin-bottom:42px;display:block}.services-heading .section-intro{margin-top:18px}.services-timeline{padding-left:0}.services-timeline:before{top:17px;bottom:30px;left:23px}.service-step{grid-template-columns:48px minmax(0,1fr);gap:17px;padding:0 0 35px}.service-step-marker{width:48px;height:48px;box-shadow:0 0 0 5px #fff0f5}.service-step-marker span{font-size:11px}.service-step-content{padding-top:2px}.service-step-content h3{font-size:clamp(23px,6vw,29px)}.service-step-content p{font-size:12px;line-height:1.8}.service-step-symbol{grid-column:2;width:34px;height:34px;margin-top:-3px;font-size:17px}.services-cta{flex-direction:column;align-items:stretch;margin-top:40px;padding-top:22px}.services-cta .button{width:100%}}@media (width<=380px){.services-section{padding-block:60px}.services-timeline:before{left:20px}.service-step{grid-template-columns:42px minmax(0,1fr);gap:13px}.service-step-marker{width:42px;height:42px}.service-step-content h3{font-size:22px}.service-tags{font-size:8px}}@media (prefers-reduced-motion:reduce){.services-timeline:before{animation:none}.service-step-marker,.service-step-marker span,.service-step-content h3,.service-step-symbol{transition:none!important}.service-step:hover .service-step-content h3{transform:none}}.contact-section{padding-bottom:100px}.contact-shell{background:linear-gradient(145deg,#fff9fb 0%,#fff 58%,#fcf7f9 100%);border:1px solid #eadfe3;border-radius:24px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:clamp(28px,5vw,72px);padding:clamp(24px,4.8vw,64px);display:grid;box-shadow:0 18px 55px #27161d0b}.contact-intro{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.contact-eyebrow,.contact-form-index,.contact-social-label{color:#7b6d73;font-family:var(--mono);letter-spacing:.11em;align-items:center;gap:9px;font-size:9px;font-weight:500;line-height:1.7;display:inline-flex}.contact-status-dot{background:#4ca878;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e5f5eb}.contact-intro h2{max-width:540px;color:var(--ink);font-family:var(--display);letter-spacing:-.065em;margin:23px 0 0;font-size:clamp(34px,4.3vw,57px);font-weight:800;line-height:1.05}.contact-intro h2 span{color:var(--pink-strong)}.contact-intro .contact-description{color:#756b70;max-width:440px;margin:20px 0 27px;font-size:13px;line-height:1.9}.contact-info-list{gap:10px;width:100%;display:grid}.contact-info-card{min-width:0;color:var(--ink);background:#ffffffc7;border:1px solid #eee1e6;border-radius:12px;align-items:center;gap:13px;padding:14px;text-decoration:none;transition:transform .22s,border-color .22s,box-shadow .22s;display:flex}.contact-info-card:hover{border-color:#e9a8bf;transform:translateY(-2px);box-shadow:0 9px 22px #27161d0f}.contact-info-icon{color:#bd4f79;background:#fff1f6;border:1px solid #f1d8e2;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.contact-info-icon svg{width:18px;height:18px}.contact-info-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.contact-info-copy small{color:#8d7d84;font-family:var(--mono);letter-spacing:.08em;font-size:8px}.contact-info-copy strong{overflow-wrap:anywhere;font-size:11px;font-weight:700}.contact-info-mark{color:var(--pink-strong);font-size:16px}.contact-info-whatsapp .contact-info-icon{color:#16804b;background:#effaf3;border-color:#d5eddf}.contact-social-area{flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto;padding-top:28px;display:flex}.contact-socials{flex-wrap:wrap;gap:9px;display:flex}.contact-socials a{color:#292326;background:#fff;border:1px solid #e9dce1;border-radius:10px;place-items:center;width:40px;height:40px;transition:color .2s,background .2s,border-color .2s,transform .2s;display:grid}.contact-socials a:hover{border-color:var(--pink-strong);color:#bd4f79;background:#fff0f5;transform:translateY(-2px)}.contact-socials svg{width:17px;height:17px}.contact-form{background:#fff;border:1px solid #eee3e7;border-radius:16px;flex-direction:column;gap:17px;min-width:0;padding:clamp(20px,3vw,34px);display:flex;box-shadow:0 12px 32px #27161d0b}.contact-form-heading{margin-bottom:3px}.contact-form-index{color:var(--pink-strong)}.contact-form-heading h3{font-family:var(--display);letter-spacing:-.045em;margin:12px 0 7px;font-size:clamp(22px,2.5vw,30px);font-weight:800;line-height:1.15}.contact-form-heading p{color:#82767b;margin:0;font-size:11px;line-height:1.8}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.contact-field{flex-direction:column;gap:8px;min-width:0;display:flex}.contact-field>span{color:#30282c;font-size:10px;font-weight:700}.contact-field i{color:var(--pink-strong);font-style:normal}.contact-field input,.contact-field select,.contact-field textarea{color:#272125;width:100%;min-width:0;font:11px/1.6 var(--sans);background:#fdfbfc;border:1px solid #e8dfe3;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.contact-field input,.contact-field select{min-height:46px;padding:0 13px}.contact-field textarea{resize:vertical;min-height:120px;padding:12px 13px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#a69aa0}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--pink-strong);background:#fff;box-shadow:0 0 0 3px #e86f991f}.contact-submit{color:#fff;width:100%;min-height:50px;font:700 11px/1.5 var(--sans);cursor:pointer;box-shadow:3px 3px 0 var(--pink-strong);background:#171717;border:1px solid #171717;border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.contact-submit svg{flex:none;width:17px;height:17px}.contact-submit span{color:#f4a7c1;margin-left:auto;font-size:16px}.contact-submit:hover{box-shadow:1px 1px 0 var(--pink-strong);background:#30272c;transform:translate(2px,2px)}.contact-form-note{color:#8e8288;text-align:center;margin:-5px 0 0;font-size:9px;line-height:1.7}@media (width<=900px){.contact-shell{grid-template-columns:1fr;gap:32px}.contact-social-area{margin-top:0}}@media (width<=560px){.tech-heading{align-items:flex-start;margin-bottom:30px}.tech-stack-stamp{flex-basis:76px;gap:4px;width:76px;height:76px}.tech-stamp-top,.tech-stamp-bottom{font-size:5px}.tech-stamp-symbol{font-size:20px}.tech-grid-label{font-size:7px}.tech-card{gap:9px;min-height:90px;padding:16px 9px 14px}.tech-icon-wrap{flex-basis:34px;width:34px;height:34px}.technology-icon{width:18px;height:18px}.tech-card-copy strong{overflow-wrap:anywhere;font-size:11px}.tech-card-copy>span{font-size:8px}.contact-section{padding-bottom:65px}.contact-shell{border-radius:17px;gap:26px;padding:22px 15px}.contact-intro h2{margin-top:17px;font-size:clamp(34px,10vw,45px)}.contact-intro .contact-description{font-size:12px}.contact-info-card{gap:10px;padding:11px}.contact-info-icon{flex-basis:36px;width:36px;height:36px}.contact-info-copy strong{font-size:10px}.contact-form{border-radius:12px;gap:15px;padding:18px 14px}.contact-form-row{grid-template-columns:1fr}.contact-submit{font-size:10px}}@media (prefers-reduced-motion:reduce){.contact-info-card,.contact-socials a,.contact-submit{transition:none!important}.contact-info-card:hover,.contact-socials a:hover,.contact-submit:hover{transform:none}}.tech-section{color:#21191d;background:radial-gradient(at 82% 8%,#e86f991b,#0000 32%),radial-gradient(at 4% 92%,#f5b4ca21,#0000 35%),#fff;border:1px solid #f0dfe6;border-radius:24px;overflow:clip;box-shadow:0 18px 52px #4823320e}.tech-section:before{opacity:.55;background:linear-gradient(110deg,#0000 0%,#e86f9912 48%,#0000 58%) 0 0/240% 100%;animation:9s ease-in-out infinite techBackgroundSweep}.tech-section:after{filter:drop-shadow(0 0 5px #e86f9952);background:linear-gradient(90deg,#0000,#f0b1c7 22%,#e86f99 50%,#f0b1c7 78%,#0000);left:8%;right:8%}.tech-ambient{opacity:1;background:0 0;-webkit-mask-image:none;mask-image:none}.tech-ambient-glow{filter:blur(18px);background:radial-gradient(circle,#e86f9924,#f5b4ca0f 48%,#0000 72%);width:clamp(210px,30vw,390px);top:0;right:2%}.tech-ambient-orbit{border-color:#e86f9929;animation:22s linear infinite techOrbitDrift}.tech-ambient-orbit:before{border-color:#e86f991f}.tech-ambient-orbit:after{border-color:#e86f991a}.tech-ambient-orbit-two{border-color:#e86f9914}.tech-ambient-cross{color:#d95f8c;text-shadow:0 0 12px #e86f9940}.tech-section .section-kicker{color:#84747b}.tech-section .section-kicker>span{color:#d75e8c}.tech-heading-copy:before{background:linear-gradient(90deg,#e86f99,#f6cad9);box-shadow:0 0 13px #e86f9940}.tech-heading .eyebrow{color:#b54c74}.tech-heading h2{color:#20191d}.tech-heading h2 span{background:linear-gradient(100deg,#d65a88 0%,#ee8caf 48%,#b94270 100%);-webkit-background-clip:text;background-clip:text}.tech-heading>.tech-heading-copy>p:last-child{color:#74666d}.tech-stack-stamp{background:radial-gradient(circle at 40% 30%,#fff 0 16%,#fff4f8 60%,#fce9f0 100%);border-color:#d85f8c80;box-shadow:0 0 0 7px #e86f990b,0 12px 30px #79365014,inset 0 0 0 5px #e86f9909}.tech-stack-stamp:before{border-color:#d85f8c7a}.tech-stack-stamp:after{border-color:#d85f8c33}.tech-stamp-top,.tech-stamp-bottom{color:#876a77}.tech-stamp-symbol{color:#d95f8c;text-shadow:0 0 13px #e86f994d}.tech-grid-label{color:#82727a;border-color:#f0dce4}.tech-grid-label b{color:#d75e8c}.tech-grid-label i{background:#d75e8c;box-shadow:0 0 0 4px #d75e8c1a,0 0 12px #e86f9940}.tech-card{background:linear-gradient(145deg,#fff 0%,#fffafd 100%);border:1px solid #eee1e6;border-radius:15px;min-width:0;transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,background .3s;box-shadow:0 7px 20px #371d280b,inset 0 1px #fff}.tech-card:before{opacity:0;background:linear-gradient(112deg,#0000 15%,#e86f9906 34%,#e86f9926 50%,#0000 68%);transition:transform .72s,opacity .25s;inset:0;transform:translate(-130%)}.tech-card:after{border-color:#e86f9924;bottom:-53px;right:-44px;box-shadow:0 0 0 10px #e86f9906,0 0 0 21px #e86f9905}.tech-card:hover,.tech-card:focus-within{background:linear-gradient(145deg,#fff 0%,#fff5f9 100%);border-color:#e7a0ba;transform:translateY(-7px)scale(1.012);box-shadow:0 17px 34px #77314d1b,0 0 0 1px #e86f991a,0 0 26px #e86f991a}.tech-card:hover:before,.tech-card:focus-within:before{opacity:1;transform:translate(130%)}.tech-card-index{color:#b7a2ac}.tech-icon-wrap{background:linear-gradient(145deg,#fff,#fff3f7);border-color:#f1dce5;border-radius:14px;transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;box-shadow:inset 0 1px #fff,0 5px 13px #77314d0e}.tech-icon-wrap:after{border-radius:18px}.tech-card:hover .tech-icon-wrap{border-color:#e8a0ba;transform:translateY(-3px)rotate(-5deg)scale(1.07);box-shadow:0 0 0 4px #e86f9913,0 0 20px #e86f991f}.technology-icon{filter:none}.tech-card:hover .technology-icon{filter:drop-shadow(0 4px 7px #bb4b7529);transform:scale(1.14)rotate(3deg)}.technology-icon-css3{color:#1572b6}.tech-card-copy strong{color:#282026;transition:color .25s}.tech-card:hover .tech-card-copy strong{color:#c44d7b}.tech-card-copy>span{color:#8b7c83}.tech-card-mark{color:#d75e8c;text-shadow:0 0 12px #e86f994d}.tech-note{color:#71636a;background:linear-gradient(100deg,#fff6f9,#fff 82%);border-color:#f0dce4;box-shadow:0 7px 18px #371d2806}.tech-note:before{box-shadow:0 0 10px #e86f9959}.tech-note>span:first-child{color:#d75e8c;text-shadow:0 0 10px #e86f9940}.tech-note-line{background:linear-gradient(90deg,#d75e8c8c,#0000)}@keyframes techOrbitDrift{0%{transform:rotate(-24deg)scaleY(.72)}to{transform:rotate(336deg)scaleY(.72)}}@media (width<=760px){.tech-section{border-radius:18px;padding:34px 20px}.tech-heading{align-items:flex-start;gap:16px}.tech-heading-copy{flex:auto}.tech-heading h2{font-size:clamp(30px,7vw,43px)}.tech-stack-stamp{flex-basis:84px;width:84px;height:84px}.tech-stamp-top,.tech-stamp-bottom{font-size:5.5px}.tech-stamp-symbol{font-size:22px}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tech-card{gap:11px;min-height:112px;padding:18px 12px}.tech-icon-wrap{flex-basis:42px;width:42px;height:42px}.technology-icon{width:24px;height:24px}.tech-card-copy strong{font-size:11px}.tech-card-copy>span{font-size:9px}}@media (width<=420px){.tech-section{padding:30px 15px}.tech-heading{gap:10px}.tech-heading h2{font-size:29px}.tech-heading .eyebrow{letter-spacing:.12em;font-size:8px}.tech-heading>.tech-heading-copy>p:last-child{font-size:11px}.tech-stack-stamp{flex-basis:68px;gap:3px;width:68px;height:68px}.tech-stamp-top,.tech-stamp-bottom{font-size:4.5px}.tech-stamp-symbol{font-size:18px}.tech-grid-label{align-items:flex-start;font-size:7px}.tech-card{border-radius:12px;gap:8px;min-height:106px;padding:15px 9px 13px}.tech-icon-wrap{border-radius:10px;flex-basis:35px;width:35px;height:35px}.technology-icon{width:21px;height:21px}.tech-card-copy{gap:4px}.tech-card-copy strong{font-size:10px}.tech-card-copy>span{font-size:8px}.tech-card-index{font-size:7px;top:7px;right:8px}.tech-card-mark{font-size:10px;bottom:7px;right:8px}.tech-note{gap:9px;padding:12px;font-size:9px}}@media (hover:none){.tech-card:hover,.tech-card:hover .tech-icon-wrap{transform:none}}@media (prefers-reduced-motion:reduce){.tech-section:before,.tech-ambient-glow,.tech-ambient-orbit,.tech-ambient-cross,.tech-stack-stamp:before,.tech-stack-stamp:after,.tech-stamp-symbol,.tech-note>span:first-child,.tech-grid-label i{animation:none!important}.tech-card,.tech-card:before,.tech-card:after,.tech-icon-wrap,.technology-icon{transition:none!important}.tech-card:hover,.tech-card:focus-within{transform:none}}.tech-section{isolation:isolate;color:#21191d;width:100%;max-width:none;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0;position:relative;overflow:hidden}.tech-section:before{opacity:.48;background:radial-gradient(at 82% 16%,#e86f991b,#0000 30%),radial-gradient(at 9% 82%,#f5b4ca1f,#0000 32%),linear-gradient(110deg,#0000 0 38%,#e86f9912 49%,#0000 60%) 0 0/220% 100%;animation:14s ease-in-out infinite techBackgroundSweep;inset:0}.tech-section:after{display:none}.tech-content-wrap{z-index:1;width:min(var(--container), calc(100% - 64px));margin-inline:auto;padding-block:clamp(76px,9vw,116px);position:relative}.tech-section>.tech-ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tech-section .tech-ambient-cross{display:none}.tech-section .tech-ambient-orbit{opacity:.65;border-color:#e86f991a}.tech-section .tech-ambient-glow{opacity:.7}.tech-note-symbol-only{min-height:112px;box-shadow:none;background:0 0;border:0;justify-content:flex-end;align-items:center;margin:clamp(28px,4vw,46px) 0 0;padding:8px clamp(10px,4vw,54px) 0 0;display:flex;overflow:visible}.tech-note-symbol-only:before,.tech-note-symbol-only .tech-note-line,.tech-note-symbol-only p{display:none!important}.tech-note-symbol-only>span:first-child{color:#e86f99;font-family:var(--sans);text-shadow:0 0 12px #e86f992e,0 0 32px #e86f9933;transform-origin:50%;justify-content:center;align-items:center;font-size:clamp(58px,7.2vw,88px);line-height:1;animation:4.2s ease-in-out infinite techStarFloat,3.4s ease-in-out infinite techStarGlow;display:inline-flex}@keyframes techStarFloat{0%,to{transform:translateY(0)rotate(0)scale(1)}50%{transform:translateY(-7px)rotate(8deg)scale(1.04)}}@keyframes techStarGlow{0%,to{filter:drop-shadow(0 0 3px #e86f992e);opacity:.82}50%{filter:drop-shadow(0 0 14px #e86f9973);opacity:1}}@media (width<=760px){.tech-content-wrap{width:calc(100% - 40px);padding-block:66px}.tech-heading{align-items:center}.tech-note-symbol-only{min-height:84px;margin-top:28px;padding-right:12px}.tech-note-symbol-only>span:first-child{font-size:60px}}@media (width<=420px){.tech-content-wrap{width:calc(100% - 32px);padding-block:56px}.tech-heading{align-items:flex-start}.tech-note-symbol-only{min-height:76px;padding-right:8px}.tech-note-symbol-only>span:first-child{font-size:54px}}@media (prefers-reduced-motion:reduce){.tech-note-symbol-only>span:first-child{animation:none!important}}.services-timeline{max-width:980px}.service-step{padding-bottom:clamp(34px,4.5vw,52px)}.service-step-last{padding-bottom:0}.service-step-last .service-step-symbol{opacity:.78}.service-step-content h3{overflow-wrap:anywhere}@media (width<=700px){.services-timeline:before{bottom:22px}.service-step{padding-bottom:32px}.service-step-last{padding-bottom:0}}@media (prefers-reduced-motion:reduce){.service-step-symbol{transition:none!important}}.tech-card-mark,.tech-grid-label b{display:none!important}.tech-heading{grid-template-columns:minmax(0,1fr)}.tech-heading-copy{max-width:760px}.about{background:#fff}.services-section{background:#fff0f5}.projects-section{background:#fff}.tech-section{color:#171717;width:100%;max-width:none;box-shadow:none;background:#fff0f5;border:0;border-radius:0;margin:0}.tech-section:before{opacity:.45}.tech-section:after{opacity:.65}.tech-section .section-kicker,.tech-section .tech-heading-copy,.tech-section .tech-grid-label,.tech-section .tech-card,.tech-section .tech-card-copy strong,.tech-section .tech-card-copy span{color:#171717}.tech-section .tech-card{background:#fff;border-color:#f0dfe6}.tech-section .tech-heading-copy>p:last-child{color:#71666b}.tech-section .tech-stack-stamp{display:flex}.formation-section{background:#fff}.contact-section{background:#111011;width:100%;max-width:none;margin-left:calc(50% - 50vw)}@media (width<=720px){.contact-section{margin-left:calc(50% - 50vw)}}.services-section{background:#fff0f5;padding-block:clamp(76px,9vw,118px)}.services-heading{margin-bottom:clamp(34px,5vw,58px)}.services-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;padding:0}.services-timeline:before{content:none;display:none}.service-step,.service-step.service-step-last{background:#ffffffe0;border:1px solid #d94f8229;border-radius:22px;min-width:0;padding:30px 30px 28px;transition:transform .35s,border-color .35s,box-shadow .35s,background .35s;display:block;box-shadow:0 8px 26px #59253b09}.service-step:hover,.service-step:focus-within{background:#fff;border-color:#d94f8273;transform:translateY(-6px);box-shadow:0 18px 42px #8135541a}.service-step-marker{width:46px;height:46px;box-shadow:none;background:#fff0f5;border:1px solid #d94f8240;border-radius:15px;margin-bottom:28px;transition:transform .35s,background .35s,border-color .35s;display:grid}.service-step-marker span{font-size:12px;font-weight:600}.service-step:hover .service-step-marker,.service-step:focus-within .service-step-marker{background:#d94f82;border-color:#d94f82;transform:translateY(-2px)rotate(-4deg);box-shadow:0 8px 18px #d94f822e}.service-step-content{padding:0}.service-index{letter-spacing:.13em;margin-bottom:9px;font-size:9px}.service-step-content h3{width:auto;margin-bottom:13px;font-size:clamp(23px,2.4vw,30px);line-height:1.2}.service-step-content p{min-height:74px;margin-bottom:22px;font-size:12px;line-height:1.85}.service-tags{color:#795d69;background:#fff8fb;border:1px solid #f4e0e8;border-radius:999px;flex-wrap:wrap;gap:5px;padding:8px 10px;font-size:8px;line-height:1.6;display:inline-flex}.service-tags i{padding-inline:1px}.service-step:hover .service-step-content h3,.service-step:focus-within .service-step-content h3{color:#c34b79;transform:none}.services-cta{background:#ffffff8c;border:1px solid #edcada;border-radius:20px;max-width:1080px;margin-top:32px;padding:24px 28px}@media (width<=700px){.services-section{padding-block:66px}.services-timeline{grid-template-columns:minmax(0,1fr);gap:14px}.service-step,.service-step.service-step-last{border-radius:18px;padding:24px 22px}.service-step-marker{border-radius:13px;width:42px;height:42px;margin-bottom:22px}.service-step-content h3{font-size:clamp(23px,6vw,29px)}.service-step-content p{min-height:0;margin-bottom:17px;font-size:12px}.service-tags{font-size:8px}.services-cta{flex-direction:column;align-items:stretch;margin-top:22px;padding:22px}}@media (prefers-reduced-motion:reduce){.service-step,.service-step-marker{transition:none!important}.service-step:hover,.service-step:focus-within,.service-step:hover .service-step-marker,.service-step:focus-within .service-step-marker{transform:none}}.service-step,.service-step.service-step-last{box-shadow:4px 4px 0 var(--pink-strong);border:1px solid #171717;transition:transform .22s,background .22s,box-shadow .22s,border-color .22s}.service-step:hover,.service-step:focus-within{box-shadow:1px 1px 0 var(--pink-strong);background:#30272c;border-color:#30272c;transform:translate(3px,3px)}.service-step:hover .service-step-content h3,.service-step:focus-within .service-step-content h3,.service-step:hover .service-step-content p,.service-step:focus-within .service-step-content p,.service-step:hover .service-tags,.service-step:focus-within .service-tags{color:#fff}.service-step:hover .service-index,.service-step:focus-within .service-index{color:#f4a7c1}.service-step:hover .service-tags,.service-step:focus-within .service-tags{background:#ffffff14;border-color:#f4a7c159}.service-step:hover .service-tags i,.service-step:focus-within .service-tags i{color:#f4a7c1}.service-step-marker{box-shadow:3px 3px #eb6f9b40}.service-step:hover .service-step-marker,.service-step:focus-within .service-step-marker{box-shadow:2px 2px #f4a7c1}.about{background:#fff;width:100%;max-width:none;margin:0;padding:clamp(76px,9vw,118px) 0;overflow:visible}.about-inner{width:min(100% - 48px, var(--container));margin-inline:auto}@media (width<=700px){.about{padding-block:66px}.about-inner{width:min(100% - 36px, var(--container))}.about-layout{grid-template-columns:minmax(0,1fr);gap:32px}.about-asterisk{font-size:66px;bottom:-40px;right:2%}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-top:48px}}@media (prefers-reduced-motion:reduce){.service-step,.service-step-marker{transition:none!important}}.services-cta{isolation:isolate;background:#fff;border:1px solid #171717;border-radius:26px;justify-content:space-between;align-items:center;gap:clamp(24px,4vw,56px);max-width:1080px;min-height:250px;margin:clamp(42px,6vw,76px) auto 0;padding:clamp(28px,4.5vw,54px);transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:7px 7px #171717}.services-cta:before{content:"";z-index:-1;background:#fff0f5;border:1px solid #f4c5d7;border-radius:50%;width:260px;height:260px;position:absolute;top:-72px;right:-56px}.services-cta:after{content:"";z-index:-1;border:1px solid #d94f8247;border-radius:50%;width:145px;height:145px;position:absolute;top:-24px;right:22px}.services-cta:hover{transform:translate(3px,3px);box-shadow:3px 3px #171717}.services-cta-copy{z-index:1;max-width:620px;position:relative}.services-cta-kicker{color:#c34b79;font-family:var(--mono,"DM Mono", monospace);letter-spacing:.15em;align-items:center;gap:9px;margin-bottom:17px;font-size:9px;font-weight:700;display:inline-flex}.services-cta-kicker:before{content:"";background:#eb6f9b;width:22px;height:2px;display:inline-block}.services-cta .services-cta-button{z-index:2;color:#fff;background:#171717;border:1px solid #171717;border-radius:999px;flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:54px;padding:7px 8px 7px 21px;font-size:11px;font-weight:700;transition:transform .22s,background .22s,box-shadow .22s;display:inline-flex;position:relative;box-shadow:4px 4px #eb6f9b}.services-cta .services-cta-button:hover,.services-cta .services-cta-button:focus-visible{background:#d94f82;transform:translate(3px,3px);box-shadow:1px 1px #171717}.services-cta-button-mark{color:#171717;background:#eb6f9b;border-radius:50%;place-items:center;width:36px;height:36px;font-size:23px;font-weight:400;line-height:1;transition:transform .22s,background .22s;display:grid}.services-cta-button:hover .services-cta-button-mark,.services-cta-button:focus-visible .services-cta-button-mark{background:#fff;transform:rotate(90deg)}.services-cta-orbit{z-index:-1;color:#d94f821c;font-family:var(--display,"Manrope", sans-serif);letter-spacing:-.09em;pointer-events:none;font-size:75px;font-weight:800;line-height:1;position:absolute;bottom:12px;right:30px}@media (width<=760px){.services-cta{border-radius:21px;flex-direction:column;align-items:flex-start;gap:24px;min-height:0;margin-top:30px;padding:28px 23px;box-shadow:5px 5px #171717}.services-cta-copy h3{font-size:clamp(27px,7vw,36px)}.services-cta-copy p{max-width:100%}.services-cta .services-cta-button{width:auto;max-width:100%}.services-cta:before{top:-100px;right:-125px}.services-cta:after{right:-45px}.services-cta-orbit{font-size:58px;bottom:5px;right:18px}}@media (prefers-reduced-motion:reduce){.services-cta,.services-cta .services-cta-button,.services-cta-button-mark{transition:none!important}.services-cta:hover,.services-cta .services-cta-button:hover{transform:none}}.services-cta{width:min(100%,940px);max-width:940px;min-height:0;box-shadow:none;background:0 0;border:0;border-top:1px solid #e7bfd0;border-radius:0;justify-content:space-between;align-items:center;gap:clamp(24px,4vw,48px);margin:clamp(42px,6vw,70px) auto 0;padding:28px 0 0;transition:none;display:flex;overflow:visible;transform:none}.services-cta:before,.services-cta:after,.services-cta-orbit,.services-cta-kicker{display:none!important}.services-cta-copy{max-width:620px;position:static}.services-cta-copy h3{color:#171717;font-family:var(--display,"Manrope", sans-serif);letter-spacing:-.045em;margin:0;font-size:clamp(25px,3vw,35px);font-weight:800;line-height:1.18}.services-cta-copy h3 span{color:#d94f82}.services-cta-copy p{color:#6f6268;max-width:500px;margin:12px 0 0;font-size:12px;line-height:1.85}.services-cta .services-cta-button{border:1px solid var(--pink-strong);background:var(--pink-strong);color:#fff;width:auto;min-height:51px;box-shadow:var(--button-shadow);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 25px;font-size:12px;font-weight:700;transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .25s;display:inline-flex;position:static}.services-cta .services-cta-button:hover,.services-cta .services-cta-button:focus-visible{border-color:var(--pink);background:var(--pink);color:var(--ink);box-shadow:var(--button-shadow-hover);transform:translate(2px,2px)}@media (width<=700px){.services-cta{flex-direction:column;align-items:flex-start;gap:20px;margin-top:36px;padding-top:24px}.services-cta-copy h3{font-size:clamp(25px,6.5vw,32px)}.services-cta-copy h3 br{display:none}.services-cta .services-cta-button{width:auto;max-width:100%}}@media (prefers-reduced-motion:reduce){.services-cta .services-cta-button{transition:none!important}}.services-cta .services-cta-button{color:#fff;width:auto;min-height:50px;font:700 11px/1.5 var(--sans);box-shadow:3px 3px 0 var(--pink-strong);background:#171717;border:1px solid #171717;border-radius:9px;justify-content:center;align-items:center;padding:12px 24px;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.services-cta .services-cta-button:hover,.services-cta .services-cta-button:focus-visible{color:#fff;box-shadow:1px 1px 0 var(--pink-strong);background:#30272c;border-color:#171717;transform:translate(2px,2px)}@media (width<=700px){.services-cta .services-cta-button{width:auto;max-width:100%}}@media (prefers-reduced-motion:reduce){.services-cta .services-cta-button{transition:none!important}.services-cta .services-cta-button:hover{transform:none}}.services-cta{width:100%!important;max-width:940px!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important;margin:clamp(42px,6vw,70px) auto 0!important;padding:0!important}.services-cta:before,.services-cta:after{content:none!important;display:none!important}.services-cta-copy{box-shadow:none!important;background:0 0!important;border:0!important}@media (width<=700px){.services-cta{margin-top:36px!important;padding:0!important}}.site-header{width:100%;height:84px;padding-inline:max(32px, calc((100% - var(--container)) / 2));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;background:#fcfbfaeb;border-bottom:1px solid #e9e5e2d1;margin:0;position:sticky;top:0;box-shadow:0 8px 24px #17171708}.main-nav>a:not(.nav-contact){padding-block:9px;position:relative}.main-nav>a:not(.nav-contact):after{background:var(--pink-strong);content:"";transform-origin:0;border-radius:2px;height:2px;transition:transform .25s;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.main-nav>a:not(.nav-contact):hover,.main-nav>a:not(.nav-contact).active{color:var(--ink)}.main-nav>a:not(.nav-contact):hover:after,.main-nav>a:not(.nav-contact).active:after{transform:scaleX(1)}main section[id]{scroll-margin-top:100px}.projects-section{position:relative;overflow:hidden}.projects-section .section-kicker,.projects-section .section-heading-row,.projects-section .projects-grid,.projects-section .projects-footnote{z-index:1;position:relative}.project-card{border-radius:17px;transition:transform .3s}.project-card:hover{transform:translateY(-4px)}.project-art-wrap{border:1px solid #1717170d;transition:box-shadow .3s;box-shadow:0 8px 24px #1717170a}.project-card:hover .project-art-wrap{box-shadow:0 16px 34px #17171717}.project-info{padding:19px 2px 0}@media (width<=1000px){.site-header{width:100%;padding-inline:24px}}@media (width<=760px){.site-header{width:100%;height:72px;padding-inline:18px}.main-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfbfafa;padding-inline:18px;top:71px;left:0;right:0}main section[id]{scroll-margin-top:82px}}@media (width<=420px){.site-header{padding-inline:15px}}
