html{scroll-behavior:smooth}body{margin:0}:root{--bg:#f6f6f4;--text:#111;--muted:#bdbdb8;--line:#d8d8d3;--accent:#b42318}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-shell{background:var(--bg);min-height:100vh;overflow-x:hidden}.topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;font-size:1.25rem;font-weight:900}.nav{align-items:center;gap:2rem;display:flex}.nav-link{opacity:.35;font-size:.72rem;font-weight:800;transition:opacity .25s}.nav-link.active,.nav-link:hover{opacity:1}.hero{align-items:flex-start;min-height:68vh;padding:3rem 1.5rem;display:flex;position:relative}.hero-grid{grid-template-columns:1fr 1fr;align-items:flex-start;width:100%;max-width:1280px;margin:0 auto;padding-top:0;display:grid}.hero-left{z-index:2;max-width:34rem;padding-top:10rem;padding-left:3rem;position:relative}.hero-title{letter-spacing:-.05em;flex-direction:column;margin:0;font-size:clamp(4rem,7vw,6.5rem);font-weight:900;line-height:.88;display:flex}.hero-lastname{margin-top:.1rem}.accent-dot{color:var(--accent)}.hero-subtitle{color:#8d8d88;letter-spacing:-.02em;margin:1.8rem 0 0;font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.4rem;display:flex}.btn{text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #0000;min-width:13rem;padding:1.15rem 2rem;font-size:.78rem;font-weight:800;transition:transform .2s,opacity .2s,background-color .2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{color:var(--text);background:0 0;border-color:#9e9e99}.hero-right{min-height:38rem;position:relative;overflow:hidden}.wheel-wrap{cursor:default;width:42rem;height:42rem;position:absolute;top:30%;right:-42%;transform:translateY(-50%)}.wheel,.wheel-svg{width:100%;height:100%}.wheel-text{fill:#c9c9c4;letter-spacing:.62em;text-transform:uppercase;font-size:10px;font-weight:600}.scroll-indicator{opacity:.45;flex-direction:column;align-items:center;gap:.9rem;display:flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.32em;font-size:.62rem}.scroll-line{background:#8f8f89;width:1px;height:3rem}.services{background:#f3f3f1;padding:2.5rem 2rem 6rem}.services-line{background:var(--line);width:100%;max-width:1280px;height:1px;margin:0 auto 3rem}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;max-width:1280px;margin:0 auto;display:grid}.service-card{max-width:24rem}.service-number{color:var(--accent);transform-origin:0;font-size:3rem;font-weight:900;line-height:1;transition:transform .35s;display:inline-block}.service-number:hover{transform:scale(1.5)}.service-card h3{letter-spacing:-.05em;text-transform:uppercase;margin:1rem 0;font-size:2rem;line-height:1}.service-card p{color:#4f4f4a;margin:0;font-size:1rem;line-height:1.7}.footer{border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:2rem;padding:2rem;display:flex}.footer-copy,.footer-links a{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.footer-links{gap:2rem;display:flex}@media (width<=1100px){.hero-grid{grid-template-columns:1fr;gap:4rem}.hero-right{min-height:24rem}.wheel-wrap{width:28rem;height:28rem;right:-15%}.services-grid{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}.portfolio-intro{background:var(--bg);padding:6rem 2rem}.portfolio-intro-inner{max-width:1280px;margin:0 auto}.portfolio-label{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.72rem;font-weight:800;display:block}.portfolio-title{letter-spacing:-.05em;color:var(--text);margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:900;line-height:.9}.portfolio-title--projects{font-size:clamp(2.5rem,10vw,6rem)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem;display:grid}.project-card{opacity:0;flex-direction:column;gap:1.25rem;transition:opacity .6s,transform .6s;display:flex;transform:translateY(28px)}.project-card.visible{opacity:1;transform:translateY(0)}.project-card[data-index="1"]{transition-delay:.15s}.project-card-header{align-items:baseline;gap:1rem;display:flex}.project-number{letter-spacing:.18em;color:var(--accent);font-size:.72rem;font-weight:800}.project-name{letter-spacing:-.04em;text-transform:uppercase;color:var(--text);margin:0;font-size:1.5rem;font-weight:900}.project-image-wrap{aspect-ratio:3/2;background:#e8e8e5;width:100%;overflow:hidden}.project-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.project-image-wrap--wip{position:relative}.wip-overlay{background:#14141273;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.wip-label{letter-spacing:.28em;text-transform:uppercase;color:#f6f6f4;font-size:.72rem;font-weight:800}.cursor-blink{background:var(--text);vertical-align:middle;width:2px;height:1em;margin-left:6px;animation:1.1s step-start infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=700px){.scroll-indicator{display:none}.site-shell{overflow-x:clip}.topbar{z-index:35;padding:1rem 1.2rem}.brand{font-size:1.1rem}.nav{gap:1rem}.nav-link{font-size:.65rem}.hero{min-height:auto;padding:1.25rem 1.2rem 5.5rem}.hero-grid{gap:0}.hero-left{padding-top:2.5rem;padding-left:0}.hero-right,.wheel-wrap{display:none}.hero-title{font-size:clamp(3.5rem,18vw,5.5rem)}.hero-subtitle{margin-top:1.2rem;font-size:1rem}.hero-actions{gap:.75rem;margin-top:2rem}.btn{width:100%}.services,.footer{padding-left:1.2rem;padding-right:1.2rem}.service-card{grid-template-columns:auto 1fr;align-items:start;column-gap:1rem;display:grid}.service-number{grid-area:1/1/span 2;align-self:start;font-size:3rem;line-height:.85}.service-card h3{grid-column:2;margin-top:0;margin-bottom:.4rem;font-size:1.5rem}.service-card p{grid-column:2}.service-card{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(10px)}.service-card.is-visible{opacity:1;transform:translateY(0)}.projects-grid{grid-template-columns:1fr}}.contact{background:var(--bg);border-top:1px solid var(--line);padding:6rem 2rem}.contact.contact-anim{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.contact.contact-anim.contact-section--visible{opacity:1;transform:translateY(0)}.contact-inner{max-width:1280px;margin:0 auto}.contact-form{flex-direction:column;gap:1.5rem;max-width:52rem;margin-top:3rem;display:flex}.contact-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.contact-field{flex-direction:column;gap:.5rem;display:flex}.contact-label{letter-spacing:.18em;text-transform:uppercase;color:#8d8d88;font-size:.72rem;font-weight:500}.contact-input{border:1px solid var(--line);font:inherit;color:var(--text);background:#fff;border-radius:2px;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.contact-input:focus{border-color:var(--accent);box-shadow:0 2px 8px #b4231814}.contact-form .btn-primary:hover{background:#951e15;transform:translateY(-2px)}.contact-textarea{resize:vertical;min-height:7rem}@media (width<=700px){.contact{padding:4rem 1.2rem}.contact-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.contact.contact-anim{opacity:1;transition:none;transform:none}}.contact-body{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;margin-top:3rem;display:grid}.contact-body .contact-form{margin-top:0}.contact-info{flex-direction:column;gap:2rem;padding-top:.25rem;display:flex}.contact-info-main{letter-spacing:-.04em;color:var(--text);margin:0;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;line-height:1.1}.contact-info-secondary{color:#4f4f4a;margin:0;font-size:1rem;line-height:1.7}.contact-info-details{flex-direction:column;gap:.25rem;display:flex}.contact-info-detail{color:var(--text);margin:0 0 .75rem;font-size:1rem}.contact-info-links{flex-direction:column;gap:.5rem;display:flex}.contact-info-link{letter-spacing:.18em;text-transform:uppercase;color:var(--text);opacity:.45;font-size:.72rem;font-weight:800;text-decoration:none;transition:opacity .2s}.contact-info-link:hover{opacity:1}@media (width<=900px){.contact-body{grid-template-columns:1fr;gap:3rem}}.hamburger,.mobile-overlay{display:none}@media (width<=700px){.nav{display:none}.hamburger{cursor:pointer;width:2rem;height:2rem;color:var(--accent);z-index:30;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.2rem;font-weight:900;display:flex;position:relative}.hamburger-lines{flex-direction:column;gap:5px;width:22px;display:flex}.hamburger-lines span{background:var(--accent);border-radius:1px;width:100%;height:2px;display:block}.mobile-overlay{z-index:25;background:var(--bg);opacity:0;pointer-events:none;padding:5.5rem 2rem 3rem;transition:opacity .28s;position:fixed;inset:0}.mobile-overlay--open{opacity:1;pointer-events:all;display:flex}.mobile-overlay-nav{flex-direction:column;gap:0;width:100%;display:flex}.mobile-nav-link{border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;font:inherit;letter-spacing:-.04em;color:var(--text);background:0 0;padding:.9rem 0;font-size:clamp(1.6rem,8vw,2.2rem);font-weight:900;line-height:1;text-decoration:none;transition:color .2s;display:block}.mobile-nav-link:first-child{border-top:1px solid var(--line)}.mobile-nav-link--soon{opacity:.35;cursor:default}.mobile-nav-link:not(.mobile-nav-link--soon):hover{color:var(--accent)}}.mobile-divider{display:none}@media (width<=700px){.mobile-divider{background:#d0d0d0;width:1px;height:40px;margin:1.25rem auto -3.5rem;display:block}}.qs-split{grid-template-columns:1fr;width:100%;min-height:50vh;display:grid;position:relative;overflow:hidden}.qs-split-text{z-index:1;background:0 0;justify-content:flex-start;align-items:center;padding:3rem 4rem;display:flex;position:relative}.qs-split-title{letter-spacing:.02em;text-transform:uppercase;color:#111;margin:0;font-size:clamp(3rem,7vw,6rem);font-weight:700;line-height:.95}.qs-split-title span{display:block}.qs-split-title .qs-split-dot{color:var(--accent);margin-left:.02em;font-size:1.95em;font-weight:900;line-height:0;animation:1.6s ease-in-out infinite qs-dot-breathe;display:inline}@keyframes qs-dot-breathe{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.qs-split-title .qs-split-dot{animation:none}}.qs-split-circle{pointer-events:none;z-index:2;background:#f6f6f4;border:1px solid #111;border-radius:50%;width:3.5rem;height:3.5rem;position:absolute;top:50%;left:67.5%;transform:translate(-50%,-50%)}.qs-hero-cloud{opacity:0;z-index:0;pointer-events:none;filter:grayscale();width:120%;height:auto;animation:1.4s cubic-bezier(.6,0,.2,1) forwards qs-cloud-fade;position:absolute;bottom:-75%;left:0}@keyframes qs-cloud-fade{to{opacity:.15}}@media (prefers-reduced-motion:reduce){.qs-hero-cloud{opacity:.15;animation:none}}@media (width<=700px){.qs-split-text{padding:2.5rem 1.5rem}.qs-split-circle{display:none}.qs-hero-cloud{opacity:.18;width:140%;animation:none;bottom:-30%}}.qs-below{padding:4rem 4rem 6rem;position:relative;overflow:hidden}.qs-below-texture{opacity:.55;z-index:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.qs-below-grid{z-index:1;grid-template-columns:1.1fr 1fr 1fr;align-items:start;gap:5rem;max-width:1280px;margin:0 auto;display:grid;position:relative}.qs-accordion{flex-direction:column;display:flex}.qs-accordion-item{border-bottom:1px solid #e2e2dd}.qs-accordion-trigger{cursor:pointer;text-align:left;color:#111;background:0 0;border:none;outline:none;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.25rem 0;transition:color .2s;display:flex}.qs-accordion-trigger:hover{color:#555}.qs-accordion-trigger:focus{outline:none}.qs-accordion-trigger:focus-visible{outline-offset:4px;outline:1px solid #d0d0d0}.qs-accordion-title{letter-spacing:.02em;text-transform:uppercase;font-size:1.05rem;font-weight:700}.qs-accordion-icon{color:#111;font-size:1.25rem;font-weight:400;line-height:1;transition:transform .25s,color .2s}.qs-accordion-item--open .qs-accordion-icon{color:var(--accent)}.qs-accordion-panel{opacity:0;max-height:0;transition:max-height .35s,opacity .25s,padding .25s;overflow:hidden}.qs-accordion-item--open .qs-accordion-panel{opacity:1;max-height:400px;padding:0 0 1.25rem}.qs-accordion-panel p{color:#333;margin:0;font-size:.9rem;line-height:1.65}.qs-col-text{flex-direction:column;gap:1.4rem;max-width:32rem;display:flex}.qs-col-text p{color:#333;text-align:justify;margin:0;font-size:.95rem;line-height:1.7}.qs-below-grid>*{opacity:0;animation:.7s ease-out forwards qs-fade-up;transform:translateY(10px)}.qs-below-grid>:first-child{animation-delay:.2s}.qs-below-grid>:nth-child(2){animation-delay:.35s}.qs-below-grid>:nth-child(3){animation-delay:.5s}@keyframes qs-fade-up{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.qs-below-grid>*{opacity:1;animation:none;transform:none}}@media (width<=900px){.qs-below{padding:3.5rem 1.5rem 4rem}.qs-below-grid{grid-template-columns:1fr;gap:3rem}}.qs-stats{padding:4rem 4rem 2rem;position:relative}.qs-stats:before{content:"";transform-origin:0;background:#d0d0d0;width:100%;height:1px;animation:1.4s cubic-bezier(.6,0,.2,1) forwards qs-line-draw-x;position:absolute;top:0;left:0;transform:scaleX(0)}.qs-stats:after{content:"";transform-origin:0;background:#d0d0d0;width:100%;height:1px;animation:1.4s cubic-bezier(.6,0,.2,1) forwards qs-line-draw-x;position:absolute;bottom:0;left:0;transform:scaleX(0)}@keyframes qs-line-draw-x{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.qs-stats:before,.qs-stats:after{animation:none;transform:scaleX(1)}}.qs-stat-plus{color:var(--accent)}.qs-stats-grid{grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1280px;margin:0 auto;display:grid}.qs-stat{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.qs-stat-number{letter-spacing:-.02em;color:#111;font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,7vw,5.5rem);font-weight:700;line-height:1}.qs-stat-label{letter-spacing:.12em;text-transform:uppercase;color:#4f4f4a;font-size:.8rem;font-weight:600}.qs-tipos{padding:3rem 4rem 5rem;position:relative}.qs-tipos:after{content:"";transform-origin:0;background:#d0d0d0;width:100%;height:1px;animation:1.4s cubic-bezier(.6,0,.2,1) forwards qs-line-draw-x;position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.qs-tipos:after{animation:none;transform:scaleX(1)}}.qs-tipos-inner{max-width:1280px;margin:0 auto}.qs-tipos-grid{grid-template-columns:repeat(6,1fr);gap:1.5rem;display:grid}.qs-tp-card{background-color:#f3f3f1;grid-column:span 2;min-height:11rem;padding:2rem 1.75rem;display:flex;position:relative}.qs-tp-line{background:#d0d0d0;transition:background .25s;position:absolute}.qs-tp-line-top,.qs-tp-line-bottom{height:1px;left:0;right:0}.qs-tp-line-top{top:0}.qs-tp-line-bottom{bottom:0}.qs-tp-line-left,.qs-tp-line-right{width:1px;top:0;bottom:0}.qs-tp-line-left{left:0}.qs-tp-line-right{right:0}.qs-tp-line-top{transform-origin:0;transform:scaleX(0)}.qs-tp-line-right{transform-origin:top;transform:scaleY(0)}.qs-tp-line-bottom{transform-origin:100%;transform:scaleX(0)}.qs-tp-line-left{transform-origin:bottom;transform:scaleY(0)}.qs-tp-content{opacity:0;align-items:flex-start;gap:1.25rem;width:100%;display:flex;transform:translateY(6px)}.qs-tp-card.is-built .qs-tp-line-top{animation:.28s forwards qs-tp-draw-x;animation-delay:var(--qs-tp-delay,0s)}.qs-tp-card.is-built .qs-tp-line-right{animation:.28s forwards qs-tp-draw-y;animation-delay:calc(var(--qs-tp-delay,0s) + .28s)}.qs-tp-card.is-built .qs-tp-line-bottom{animation:.28s forwards qs-tp-draw-x;animation-delay:calc(var(--qs-tp-delay,0s) + .56s)}.qs-tp-card.is-built .qs-tp-line-left{animation:.28s forwards qs-tp-draw-y;animation-delay:calc(var(--qs-tp-delay,0s) + .84s)}.qs-tp-card.is-built .qs-tp-content{animation:.5s forwards qs-tp-fade-in;animation-delay:calc(var(--qs-tp-delay,0s) + .9s)}@keyframes qs-tp-draw-x{to{transform:scaleX(1)}}@keyframes qs-tp-draw-y{to{transform:scaleY(1)}}@keyframes qs-tp-fade-in{to{opacity:1;transform:translateY(0)}}.qs-tp-number{letter-spacing:.18em;color:#888;flex-shrink:0;font-size:.75rem;font-weight:700}.qs-tp-text{flex-direction:column;gap:.6rem;display:flex}.qs-tp-title{letter-spacing:.02em;text-transform:uppercase;color:#111;margin:0;font-size:1.1rem;font-weight:700;line-height:1.2}.qs-tp-body{color:#333;margin:0;font-size:.9rem;line-height:1.6}.qs-tp-card:hover .qs-tp-line{background:#111}@media (prefers-reduced-motion:reduce){.qs-tp-line,.qs-tp-content{opacity:1!important;animation:none!important;transform:none!important}}@media (width<=900px){.qs-stats{padding:2.5rem 1.2rem 1.5rem}.qs-stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.qs-stat{gap:.4rem}.qs-stat-number{font-size:clamp(2rem,8vw,2.8rem)}.qs-stat-label{letter-spacing:.08em;font-size:.6rem}.qs-tipos{padding:3rem 1.5rem 3.5rem}.qs-tipos-grid{grid-template-columns:1fr}.qs-tp-card{grid-column:span 1}}.contact-page{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(10px)}.contact-page--visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.contact-page{opacity:1;transition:none;transform:none}}
