:root{--paper: #fafaf7;--paper-2: #f3f1ec;--ink: #14110d;--ink-soft: #4a4640;--ink-dim: #8a857d;--rule: rgba(20,17,13,.12);--accent: #c1442e;--whatsapp: #25d366}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{font-family:Inter,sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--ink);color:var(--paper)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(20,17,13,.015) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(193,68,46,.02) 0%,transparent 50%);pointer-events:none;z-index:0}.wrap{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 28px}@media (max-width: 640px){.wrap{padding:0 22px}}nav{display:flex;align-items:center;justify-content:space-between;padding:28px 0;padding-top:calc(28px + env(safe-area-inset-top,0px))}.mark{font-family:Fraunces,serif;font-weight:500;font-size:20px;letter-spacing:-.5px;font-style:italic}.mark .dot{color:var(--accent)}.nav-links{display:flex;gap:28px}.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;-webkit-tap-highlight-color:transparent}.hamburger{display:block;width:22px;height:2px;background:var(--ink);position:relative;transition:background .2s}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0;width:100%;height:2px;background:var(--ink);transition:transform .3s ease}.hamburger:before{top:-7px}.hamburger:after{top:7px}.hamburger.active{background:transparent}.hamburger.active:before{transform:translateY(7px) rotate(45deg)}.hamburger.active:after{transform:translateY(-7px) rotate(-45deg)}@media (max-width: 640px){.nav-toggle{display:block}.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;align-items:center;justify-content:center;gap:32px;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.nav-links.open{opacity:1;pointer-events:auto}.nav-links a{font-size:22px!important;display:block!important}.nav-toggle,.mark{position:relative;z-index:101}}.contact-link{color:var(--ink)!important;border-bottom:1.5px solid var(--ink);padding-bottom:2px}.hero{padding:60px 0 0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:85vh;overflow:hidden}.hero-content{position:relative;z-index:2}.hero-badge{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:36px;display:flex;align-items:center;gap:14px;opacity:0;transform:translateY(12px);transition:opacity .6s ease .1s,transform .6s ease .1s}.hero-loaded .hero-badge{opacity:1;transform:none}.hero-badge:before{content:"";width:32px;height:1px;background:var(--ink)}.hero-title{font-family:Fraunces,serif;font-weight:400;font-size:clamp(40px,7vw,84px);line-height:.96;letter-spacing:-.04em;margin-bottom:32px}.hero-line{display:block;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.hero-loaded .hero-line-1{opacity:1;transform:none;transition-delay:.15s}.hero-loaded .hero-line-2{opacity:1;transform:none;transition-delay:.3s}.hero-loaded .hero-line-3{opacity:1;transform:none;transition-delay:.45s}.hero-title em{font-style:italic;font-weight:300;color:var(--accent);font-variation-settings:"SOFT" 80}.hero-bio{max-width:440px;color:var(--ink-soft);font-size:17px;line-height:1.6;margin-bottom:36px;opacity:0;transform:translateY(12px);transition:opacity .6s ease .6s,transform .6s ease .6s}.hero-loaded .hero-bio{opacity:1;transform:none}.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;opacity:0;transform:translateY(12px);transition:opacity .6s ease .75s,transform .6s ease .75s}.hero-loaded .hero-actions{opacity:1;transform:none}.btn-hero{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);text-decoration:none;padding:16px 28px;border-radius:100px;font-size:15px;font-weight:500;transition:background .25s,transform .18s}.btn-hero:hover{background:var(--accent)}.btn-hero:active{transform:scale(.97)}.btn-hero svg{width:18px;height:18px}.btn-hero-ghost{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;padding:16px 24px;border-radius:100px;font-size:15px;font-weight:500;border:1.5px solid var(--rule);transition:border-color .25s,background .25s}.btn-hero-ghost:hover{border-color:var(--ink);background:#14110d08}.hero-gallery{position:relative;height:100%;min-height:500px;display:flex;gap:12px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);opacity:0;transition:opacity 1s ease .3s}.hero-loaded .hero-gallery{opacity:1}.hero-img-col{flex:1;overflow:hidden;position:relative}.hero-img-scroll{display:flex;flex-direction:column;gap:12px;animation:heroScroll linear infinite}@keyframes heroScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.hero-img-card{border-radius:12px;overflow:hidden;flex-shrink:0}.hero-img-card img{width:100%;height:260px;object-fit:cover;display:block;filter:saturate(.9);transition:filter .4s}.hero-img-card:hover img{filter:saturate(1.1)}.marquee-wrap{grid-column:1 / -1;overflow:hidden;padding:32px 0 0;border-top:1px solid var(--rule);margin-top:40px;opacity:0;transition:opacity .8s ease .9s}.hero-loaded .marquee-wrap{opacity:1}.marquee-track{display:flex;white-space:nowrap;animation:marquee 30s linear infinite;width:max-content}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.marquee-word{font-family:Fraunces,serif;font-weight:300;font-style:italic;font-size:clamp(18px,2.5vw,26px);color:var(--ink-dim);padding:0 20px;letter-spacing:-.01em}.marquee-dot{color:var(--accent);font-style:normal}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--rule);border-radius:8px;margin:60px 0;overflow:hidden;background:var(--paper)}.stat{padding:32px 24px;text-align:center;border-right:1px solid var(--rule)}.stat:last-child{border-right:none}.stat-val{font-family:Fraunces,serif;font-weight:400;font-size:clamp(28px,4vw,40px);letter-spacing:-.02em;color:var(--ink);line-height:1;margin-bottom:8px}.stat-label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-dim)}@media (max-width: 640px){.stats-bar{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--rule)}}@media (max-width: 840px){.hero{grid-template-columns:1fr;min-height:auto;padding:40px 0 0}.hero-gallery{min-height:320px;max-height:400px}.hero-title{font-size:clamp(36px,10vw,60px)}}@media (max-width: 640px){.hero-gallery{display:none}.hero{padding-bottom:20px}}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:56px;padding-bottom:18px;border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:16px}.section-head h2{font-family:Fraunces,serif;font-weight:400;font-size:clamp(32px,5vw,52px);letter-spacing:-.03em;line-height:1}.section-head h2 em{font-style:italic;color:var(--accent);font-weight:300}.section-head .count{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:22px;color:var(--ink-dim)}section{padding:100px 0}@media (max-width: 640px){section{padding:70px 0}}.work-list{display:flex;flex-direction:column;gap:100px}@media (max-width: 640px){.work-list{gap:60px}}.project{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.project:nth-child(2n) .project-visual{order:2}.project:nth-child(2n) .project-text{order:1}@media (max-width: 840px){.project{grid-template-columns:1fr;gap:32px}.project:nth-child(2n) .project-visual,.project:nth-child(2n) .project-text{order:0}}.project-visual{aspect-ratio:4 / 5;border-radius:4px;overflow:hidden;position:relative;box-shadow:0 1px 2px #14110d0a,0 20px 60px #14110d1f;transition:transform .4s ease}.project:hover .project-visual{transform:translateY(-4px)}.project-text .index{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:16px;color:var(--ink-dim);margin-bottom:20px}.project-text .meta{display:flex;gap:12px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px}.project-text .meta span:not(:last-child):after{content:"·";margin-left:12px;color:var(--ink-dim)}.project-text h3{font-family:Fraunces,serif;font-weight:400;font-size:clamp(28px,4vw,40px);line-height:1.05;letter-spacing:-.02em;margin-bottom:20px}.project-text p{color:var(--ink-soft);font-size:16px;margin-bottom:24px;max-width:50ch}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);padding:6px 12px;border-radius:50px}.tag-concept{color:var(--ink-dim);border-style:dashed;font-style:italic;letter-spacing:1.2px}.tag-client{color:var(--accent);border-color:var(--accent);font-weight:600}.mock{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:28px;position:relative;background:var(--paper-2)}.mock-phone{background:#fff;width:100%;max-width:240px;aspect-ratio:9 / 19;border-radius:28px;box-shadow:0 8px 32px #0000002e,inset 0 0 0 1px #fff6;overflow:hidden;position:relative;display:flex;flex-direction:column}.mock-phone .notch{width:60px;height:18px;background:#111;border-radius:0 0 12px 12px;margin:0 auto;flex-shrink:0;position:relative;z-index:2}.mock.photo .screen-img{width:100%;flex:1;object-fit:cover;object-position:top center;display:block;margin-top:-18px}.mock.photo{background:var(--mock-bg, var(--paper-2))}.mock.placeholder{background:var(--paper-2)}.mock.placeholder .mock-phone{background:#fff;border:1px dashed var(--rule);box-shadow:none}.mock.placeholder .mock-phone .screen{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--ink-dim);padding:20px;text-align:center}.mock.placeholder .mock-phone .screen .plus{font-family:Fraunces,serif;font-style:italic;font-size:48px;font-weight:300;color:var(--ink-dim);line-height:1}.mock.placeholder .mock-phone .screen small{font-size:9px;letter-spacing:2px;text-transform:uppercase}.services-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule)}@media (max-width: 640px){.services-list{grid-template-columns:1fr}}.service{padding:36px 0;border-bottom:1px solid var(--rule);display:flex;gap:24px;align-items:flex-start}.service:nth-child(odd){padding-right:36px;border-right:1px solid var(--rule)}.service:nth-child(2n){padding-left:36px}.service:last-child:nth-child(odd){grid-column:1 / -1;border-right:none;max-width:50%}@media (max-width: 640px){.service:nth-child(odd){padding-right:0;border-right:none}.service:nth-child(2n){padding-left:0}.service:last-child:nth-child(odd){max-width:100%}}.service .num{font-family:Fraunces,serif;font-style:italic;font-weight:300;font-size:28px;color:var(--accent);line-height:1;min-width:40px}.service h3{font-family:Fraunces,serif;font-weight:500;font-size:22px;margin-bottom:8px;letter-spacing:-.01em}.service p{color:var(--ink-soft);font-size:14px}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}@media (max-width: 840px){.about-grid{grid-template-columns:1fr;gap:40px}}.about-grid .small-label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft)}.about-text p{font-family:Fraunces,serif;font-weight:400;font-size:clamp(22px,3vw,30px);line-height:1.35;letter-spacing:-.01em;color:var(--ink);margin-bottom:24px}.about-text p:last-child{color:var(--ink-soft);font-size:18px;line-height:1.6;font-family:Inter,sans-serif}.testimonial{text-align:center;max-width:800px;margin:0 auto;padding:60px 0}.testimonial .quote-mark{font-family:Fraunces,serif;font-style:italic;font-size:80px;line-height:.5;color:var(--accent);margin-bottom:24px}.testimonial blockquote{font-family:Fraunces,serif;font-weight:400;font-size:clamp(24px,3.5vw,36px);line-height:1.3;letter-spacing:-.02em;margin-bottom:28px}.testimonial cite{font-style:normal;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft)}.contact-section{padding:140px 0 80px;text-align:center}.contact-section .label{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:24px}.contact-section h2{font-family:Fraunces,serif;font-weight:400;font-size:clamp(48px,8vw,84px);line-height:.95;letter-spacing:-.04em;margin-bottom:48px}.contact-section h2 em{font-style:italic;color:var(--accent);font-weight:300}.contact-lead{font-family:Fraunces,serif;font-weight:300;font-style:italic;font-size:clamp(17px,2vw,20px);color:var(--ink-soft);max-width:520px;margin:-16px auto 36px;line-height:1.5}.btn-wa{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);text-decoration:none;padding:20px 36px;border-radius:100px;font-size:16px;font-weight:500;transition:background .25s,transform .18s}.btn-wa:hover{background:var(--accent)}.btn-wa:active{transform:scale(.97)}.btn-wa svg{width:20px;height:20px}.contact-meta{margin-top:60px;display:flex;justify-content:center;gap:40px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft)}.contact-meta a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px;transition:border-color .2s}.contact-meta a:hover{border-bottom-color:var(--accent)}.contact-meta .label-small{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-dim);display:block;margin-bottom:4px}footer{border-top:1px solid var(--rule);padding:40px 0;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-dim);letter-spacing:.5px;flex-wrap:wrap;gap:12px}@media (max-width: 640px){.contact-section{padding:80px 0 60px}.contact-section h2{margin-bottom:32px}.contact-lead{margin-bottom:28px}.contact-meta{gap:24px;margin-top:40px}footer .wrap{flex-wrap:wrap;justify-content:center!important;text-align:center;gap:4px}.project-visual{aspect-ratio:3 / 4}.hero-bio{max-width:100%}.hero-title{margin-bottom:24px}.hero-actions{gap:12px}.btn-hero{padding:14px 24px;font-size:14px;width:100%;justify-content:center}.btn-hero-ghost{padding:14px 20px;font-size:14px;width:100%;justify-content:center}.section-head{margin-bottom:40px}.about-grid{gap:24px}.testimonial{padding:40px 0}.stat{padding:24px 16px}.stat-label{font-size:11px;letter-spacing:1px}}@media (max-width: 380px){.stats-bar{grid-template-columns:1fr}.stat{border-right:none!important}.stat:not(:last-child){border-bottom:1px solid var(--rule)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
