
:root{--bg:#f4f3ef;--ink:#111;--muted:#77736c;--line:#d7d4cc;--dark:#111;--light:#f7f6f2;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference}.brand{display:flex;align-items:baseline;gap:10px;font-size:24px;letter-spacing:-.04em}.brand-mark{font-weight:700}.brand-name{font-weight:400}.nav{display:flex;gap:28px;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.25s}.nav a:hover:after,.nav a.active:after{width:100%}.menu-btn{display:none;background:none;border:0;padding:10px}.menu-btn span{display:block;width:24px;height:1px;background:currentColor;margin:6px 0}
.hero{position:relative;min-height:100svh;background:#111;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;filter:grayscale(1);object-position:center 48%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.08) 100%)}.hero-copy{position:absolute;left:max(6vw,36px);bottom:10vh;max-width:720px}.eyebrow,.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.hero h1{font-size:clamp(64px,10.5vw,170px);line-height:.82;letter-spacing:-.075em;margin:18px 0 30px;font-weight:500}.hero-lead{max-width:540px;font-size:18px;color:rgba(255,255,255,.8);margin:0 0 30px}.hero-index{position:absolute;right:34px;bottom:32px;font-size:11px;letter-spacing:.12em}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px;text-transform:uppercase;letter-spacing:.09em}.light{color:#fff}
.page-hero{min-height:56vh;background:#111;color:#fff;display:flex;align-items:flex-end;padding:150px max(5vw,34px) 72px}.page-hero-inner{width:min(var(--max),100%);margin:auto}.page-hero .eyebrow{color:#aaa7a0}.page-hero h1{font-size:clamp(64px,10vw,150px);line-height:.84;letter-spacing:-.07em;font-weight:400;margin:18px 0 0;max-width:1200px}
.section{max-width:var(--max);margin:auto;padding:130px max(5vw,34px)}.section-kicker{margin-bottom:54px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:9vw;align-items:start}.intro h2{font-size:clamp(38px,5.2vw,74px);letter-spacing:-.055em;line-height:1.03;font-weight:400;margin:0}.intro-copy{font-size:18px;max-width:520px}.intro-copy p{margin:0 0 32px}.muted{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.home-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.home-strip h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.055em;line-height:1.02;font-weight:400;margin:0}.home-strip p{font-size:18px;margin:0 0 28px;color:#555}
.dark{max-width:none;background:var(--dark);color:var(--light)}.projects>.section-head,.project-grid,.archive{max-width:var(--max);margin-left:auto;margin-right:auto}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:54px}.section-head .section-kicker{margin:0;color:#8b8983}.section-head p{margin:0;color:#aaa7a0;max-width:420px}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.project-card{grid-column:span 6;position:relative;aspect-ratio:4/5;overflow:hidden;background:#252525;cursor:pointer}.project-card--wide{grid-column:span 8;aspect-ratio:16/10}.project-card:nth-child(5){grid-column:span 4}.project-card img{transition:transform .65s ease,filter .65s ease;filter:saturate(.72)}.project-card:hover img{transform:scale(1.025);filter:saturate(1)}.project-label{position:absolute;left:0;right:0;bottom:0;padding:52px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.72))}.project-label span{font-size:11px;letter-spacing:.12em}.project-label h3{font-size:24px;margin:5px 0 0;font-weight:400;letter-spacing:-.035em}.project-placeholder{width:100%;height:100%;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(135deg,#1c1c1c,#333);color:#aaa;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.archive{padding-top:120px}.archive-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8b8983;margin-bottom:20px}.archive-list{border-top:1px solid #353535}.archive-project{display:grid;grid-template-columns:90px 1fr 36px;padding:18px 0;border-bottom:1px solid #353535;transition:padding-left .2s ease,background .2s ease}.archive-project:hover{padding-left:10px;background:#171717}.archive-project span{color:#8b8983;font-size:12px}.archive-project strong{font-size:18px;font-weight:400}.archive-project em{font-style:normal;color:#8b8983;text-align:right}
.profile-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start}.profile-photo{aspect-ratio:1/1.15;background:#ddd;overflow:hidden;filter:grayscale(1)}.profile-copy h2{font-size:clamp(44px,6vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:400;margin:0 0 36px}.profile-copy>p{font-size:19px;max-width:680px}.timeline{margin-top:62px;border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:110px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-row span{color:var(--muted);font-size:13px}.timeline-row p{margin:0;max-width:760px}
.philosophy blockquote{font-size:clamp(42px,6.4vw,92px);line-height:1.01;letter-spacing:-.058em;margin:0;max-width:1280px;font-weight:400}.philosophy-foot{display:grid;grid-template-columns:1fr 280px;gap:8vw;margin-top:80px;padding-top:24px;border-top:1px solid var(--line)}.philosophy-foot>div p{max-width:700px;font-size:18px;margin:0 0 20px}.signature{font-size:17px}.signature span{color:var(--muted);font-size:13px}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw}.contact h2{font-size:clamp(50px,8vw,118px);letter-spacing:-.065em;line-height:.92;font-weight:400;margin:0}.contact-details{padding-top:8px;font-size:18px}.contact-details>a.primary{font-size:26px;letter-spacing:-.025em}.contact-details p{margin:40px 0;color:var(--muted)}.contact-actions{display:flex;gap:18px;flex-wrap:wrap}
.project-detail{max-width:var(--max);margin:auto;padding:145px max(5vw,34px) 120px}.project-detail-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:70px}.project-detail-top a,.project-detail-top span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.project-detail h1{font-size:clamp(58px,9vw,138px);line-height:.88;letter-spacing:-.07em;font-weight:400;margin:0 0 38px;max-width:1200px}.project-meta{font-size:14px;color:var(--muted);padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:48px}.project-copy{max-width:820px;font-size:20px;margin-bottom:64px}.project-image{width:100%;height:auto;max-height:82vh;object-fit:cover;background:#111}.project-detail-placeholder{min-height:54vh;background:#111;color:#eee;display:flex;align-items:flex-end;padding:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.project-nav{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.09em}
footer{max-width:var(--max);margin:auto;padding:36px max(5vw,34px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px}.footer-brand{font-size:18px}.footer-social{display:flex;align-items:center;gap:14px}.footer-social a{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center}.footer-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.footer-social a:nth-child(2) svg{fill:currentColor;stroke:none}
.whatsapp-float{position:fixed;z-index:60;right:28px;bottom:28px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.22);transition:transform .2s ease,background .2s ease}.whatsapp-float:hover{transform:translateY(-2px);background:#25D366}.whatsapp-float svg{width:27px;height:27px;fill:currentColor}
@media(max-width:800px){.site-header{height:66px;padding:0 20px}.nav{position:absolute;top:66px;left:0;right:0;background:#111;color:#fff;display:none;flex-direction:column;padding:28px 20px;gap:22px;mix-blend-mode:normal}.nav.open{display:flex}.menu-btn{display:block;color:inherit}.hero-copy{left:20px;right:20px;bottom:11vh}.hero h1{font-size:21vw}.hero-index{right:20px}.page-hero{padding:120px 20px 54px;min-height:44vh}.section{padding:90px 20px}.home-strip,.intro-grid,.profile-grid,.contact-grid,.philosophy-foot{grid-template-columns:1fr;gap:48px}.section-head{display:block}.section-head p{margin-top:18px}.project-grid{display:block}.project-card,.project-card--wide{margin-bottom:12px;aspect-ratio:4/5}.archive{padding-top:70px}.archive-project{grid-template-columns:62px 1fr 26px}.philosophy blockquote{font-size:12vw}.timeline-row{grid-template-columns:80px 1fr}.project-detail{padding:110px 20px 70px}.project-detail-top{margin-bottom:48px}.project-copy{font-size:18px}footer{padding:28px 20px;gap:16px;flex-wrap:wrap}.footer-social{order:4;width:100%}.whatsapp-float{right:18px;bottom:18px;width:52px;height:52px}}

.project-body{max-width:900px;margin:0 0 64px}.project-body h2{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.04em;margin:0 0 28px}.project-body p{font-size:18px;line-height:1.7;margin:0 0 20px}.project-body h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:48px 0 18px;padding-top:22px;border-top:1px solid var(--line)}.project-body .project-tech{font-size:15px;line-height:1.65;margin-bottom:10px;color:#4d4a45}


/* V1.7: galerías ordenadas de proyectos */
.project-media-section{margin-top:72px;padding-top:28px;border-top:1px solid var(--line)}
.project-media-section>h2{margin:0 0 24px;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.project-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.project-media-item{margin:0;min-width:0}
.project-media-item img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;background:#f4f4f2}
.project-media-item figcaption{padding:10px 2px 2px;font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.project-media-grid--renders .project-media-item img{max-height:760px;background:#111;object-fit:cover}
@media(max-width:800px){.project-media-section{margin-top:54px}.project-media-grid{grid-template-columns:1fr;gap:18px}.project-media-item img,.project-media-grid--renders .project-media-item img{max-height:none;object-fit:contain}}

/* V1.8: ampliación de imágenes (lightbox), sin alterar el diseño base */
.h2-lightbox-trigger{cursor:zoom-in}
.h2-lightbox-trigger:focus-visible{outline:2px solid currentColor;outline-offset:4px}
body.lightbox-open{overflow:hidden}
.h2-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:28px;color:#fff}
.h2-lightbox.is-open{display:flex}
.h2-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(3px)}
.h2-lightbox__panel{position:relative;z-index:1;width:min(94vw,1500px);height:min(92vh,1000px);display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:18px}
.h2-lightbox__figure{margin:0;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.h2-lightbox__image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 58px);object-fit:contain;background:transparent}
.h2-lightbox__caption{width:100%;padding-top:12px;text-align:center;font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.72)}
.h2-lightbox__close,.h2-lightbox__nav{appearance:none;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}
.h2-lightbox__close:hover,.h2-lightbox__nav:hover{background:rgba(255,255,255,.18)}
.h2-lightbox__close:focus-visible,.h2-lightbox__nav:focus-visible{outline:2px solid #fff;outline-offset:3px}
.h2-lightbox__close{position:absolute;right:0;top:0;z-index:2;width:44px;height:44px;border-radius:50%;font-size:29px;font-weight:300;line-height:1}
.h2-lightbox__nav{width:48px;height:64px;border-radius:2px;font-size:44px;font-weight:200;line-height:1}
.h2-lightbox__prev{grid-column:1}.h2-lightbox__figure{grid-column:2}.h2-lightbox__next{grid-column:3}
@media(max-width:800px){
  .h2-lightbox{padding:14px}
  .h2-lightbox__panel{width:100%;height:94vh;display:block}
  .h2-lightbox__figure{height:100%;padding:42px 0 54px}
  .h2-lightbox__image{max-height:calc(94vh - 110px)}
  .h2-lightbox__close{right:4px;top:2px;width:40px;height:40px}
  .h2-lightbox__nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:40px;height:56px;background:rgba(0,0,0,.45)}
  .h2-lightbox__nav:hover{transform:translateY(-50%)}
  .h2-lightbox__prev{left:0}.h2-lightbox__next{right:0}
  .h2-lightbox__caption{padding:10px 46px 0}
}


/* V1.9: páginas legales y enlaces discretos en footer */
.footer-legal{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted)}
.footer-legal a{white-space:nowrap}
.legal-content{max-width:980px;margin:auto;padding:110px max(5vw,34px) 130px}
.legal-content h2{font-size:clamp(30px,4vw,52px);font-weight:400;letter-spacing:-.045em;margin:0 0 24px}
.legal-content h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500;margin:48px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
.legal-content p,.legal-content li{font-size:17px;line-height:1.75;color:#3f3d39}
.legal-content ul{padding-left:20px;margin:0 0 24px}
.legal-meta{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:38px}
.legal-note{margin-top:52px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
@media(max-width:800px){.footer-legal{width:100%;order:3;gap:12px}.legal-content{padding:80px 20px 95px}.legal-content p,.legal-content li{font-size:16px}}
