:root{--bg: #f3eee8;--bg-alt: #efe4d8;--surface: #f8f2ea;--text: #171717;--muted: #66615b;--accent: #8f7b5e;--accent-dark: #4b463d;--border: #dfd6cb}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden}.scroll-stack{position:relative;display:block}a{color:inherit;text-decoration:none}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.hero-image{background-image:linear-gradient(120deg,#0b0b0bbd,#4b463d26),url(/assets/roberto-portada-inicio.jpg);background-size:cover;background-position:center;background-attachment:fixed;color:#f7f3ee}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000008,#0000007a)}.topbar{position:absolute;top:0;left:0;width:100%;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:24px 32px}.topbar .brand{display:inline-flex;align-items:center;gap:12px;font-family:Cormorant Garamond,serif;font-size:1.15rem;letter-spacing:.22em;text-transform:uppercase;color:#f7f3ee}.brand-icon{width:34px;height:34px;flex:0 0 auto;border:0}.topbar-actions{display:flex;align-items:center}.lang-switcher{display:flex;gap:12px;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}.lang-switcher a{color:#f7f3eed9;transition:color .2s ease}.lang-switcher a.active,.lang-switcher a:hover{color:#fff}.sticky-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:28px;padding:16px 24px;background:#f8f2eaf2;backdrop-filter:blur(8px);border-bottom:1px solid rgba(75,70,61,.08)}.sticky-nav a{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-dark);font-weight:600}.sticky-nav a:hover{color:var(--accent)}.hero-center{position:relative;z-index:1;text-align:center;max-width:920px;padding:52px 36px;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);background:#ffffff0f}.hero-center h1{font-family:Cormorant Garamond,serif;font-size:clamp(3rem,5.7vw,5rem);letter-spacing:.16em;text-transform:uppercase;color:#f7f3ee;margin-bottom:12px;font-weight:600}.hero-studio-logo{display:block;width:min(620px,88vw);max-height:110px;object-fit:contain;margin:0 auto 18px;filter:invert(1) brightness(1.35)}.hero-center p{font-size:1rem;letter-spacing:.3em;text-transform:uppercase;color:#f7f3eeeb}.eyebrow{display:inline-block;margin-bottom:12px;padding:6px 12px;border-radius:0;background:#ffffff1f;color:#f7f3ee;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em}.eyebrow-dark{background:#4f473a1a;color:var(--accent-dark)}.hero-copy h1{font-family:Cormorant Garamond,serif;line-height:1.08;color:#f7f3ee;font-size:clamp(2.5rem,4.8vw,4.2rem);margin-bottom:18px;max-width:640px}.intro-copy h2,.section-heading h2,.contact-grid h2{font-family:Cormorant Garamond,serif;line-height:1.08;color:var(--accent-dark)}.hero-text{color:#f7f3eee6}.intro-copy p,.section-heading p,.contact-grid p,.card p,.project-body p{color:var(--muted)}.quote-section blockquote{color:var(--accent-dark)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:0;border:none;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#f7f3ee;color:var(--accent-dark)}.btn-secondary{background:transparent;border:1px solid rgba(247,243,238,.3);color:#f7f3ee}.hero-panel,.card,.project-card,.contact-form{background:#f8f2eaeb;border:1px solid rgba(255,255,255,.2);border-radius:0;box-shadow:none}.hero-panel{padding:30px;color:var(--accent-dark)}.panel-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:10px}.hero-panel h2{font-size:1.5rem;margin-bottom:10px;color:var(--accent-dark)}.project-meta{margin-top:16px;display:flex;justify-content:space-between;color:var(--muted);font-size:.95rem}.intro-section,.section{padding:90px 24px;max-width:1180px;margin:0 auto}.intro-section{padding-bottom:40px}.projects-section{padding-top:40px}.section-heading{margin:0 auto 24px}.intro-grid{display:grid;gap:32px;grid-template-columns:1fr 1fr;align-items:center}.intro-copy h2{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:16px;color:var(--accent-dark)}.intro-copy p{color:var(--muted);max-width:560px}.intro-figure{margin:0}.intro-image{min-height:420px;aspect-ratio:2560 / 1446;background-image:linear-gradient(#1211111f,#1211111f),url(/assets/roberto-proyectamos-casa-nueva.png);background-size:contain;background-repeat:no-repeat;background-position:center;border:1px solid var(--border)}.intro-figure figcaption{margin-top:12px;color:var(--muted);font-size:.95rem;line-height:1.55;text-align:center}.intro-image-alt{background-image:linear-gradient(#1211111f,#1211111f),url(/assets/roberto-contacto.jpg);background-size:cover}.section-alt{position:relative;overflow:hidden;background:linear-gradient(90deg,#efdfcd47,#f8f2eacc);border-top:1px solid rgba(75,70,61,.08);border-bottom:1px solid rgba(75,70,61,.08)}.section-heading{text-align:center;max-width:760px;margin:0 auto 40px}.section-heading h2,.contact-grid h2{font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:12px;color:var(--accent-dark)}.section-heading p,.contact-grid p,.card p,.project-body p{color:var(--muted)}.projects-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.project-card{overflow:hidden;cursor:pointer;transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease,opacity .4s ease;background:var(--surface);border:1px solid rgba(75,70,61,.08);transform:translateY(0);will-change:transform,opacity}.project-card:hover{transform:translateY(-8px) scale(1.006);box-shadow:0 18px 40px #1e1e1e0f}.project-image{height:280px;min-height:280px;background-size:cover;background-position:center}.reveal{opacity:0;transform:translateY(14px);transition:opacity .64s cubic-bezier(.2,.9,.2,1),transform .64s cubic-bezier(.2,.9,.2,1);will-change:transform,opacity}.reveal.reveal-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(12px)}.reveal-stagger.reveal-visible>*{opacity:1;transform:translateY(0);transition:transform .56s cubic-bezier(.2,.9,.2,1),opacity .56s ease}.section-heading h2{display:inline-block;transform-origin:left center}.project-image-one{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-servicio-proyectos.jpg)}.project-image-two{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-casa-roca.jpg)}.project-image-three{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-detalle-1-vertical.jpg)}.project-image-four{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-servicio-obra.jpg)}.project-image-five{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-detalle-2-vertical.jpg)}.project-image-six{background-image:linear-gradient(#1d232129,#1d232129),url(/assets/roberto-detalle-1-horizontal.jpg)}.project-body{padding:24px}.project-number{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.project-body h3{margin-bottom:8px;color:var(--accent-dark);font-family:Cormorant Garamond,serif;font-size:1.35rem}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{padding:24px;display:grid;gap:10px}.card-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#8f7b5e1f;color:var(--accent-dark);font-size:1.2rem;border:1px solid rgba(75,70,61,.08)}.card h3{margin-bottom:0;color:var(--accent-dark);font-family:Cormorant Garamond,serif;font-size:1.2rem}.quote-section{text-align:center;padding-top:40px;padding-bottom:40px}.quote-section blockquote{max-width:760px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.45;color:var(--accent-dark)}.contact-grid{display:grid;gap:24px;grid-template-columns:.95fr 1.05fr;align-items:start;position:relative;z-index:2}#contacto{position:relative;overflow:hidden}#contacto:before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,#1111115c,#1111110f 60%),url(/assets/roberto-contacto.jpg);background-size:cover;background-position:center center;transform:scale(1.02);z-index:0}#contacto:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f3eee8e0,#f3eee8b3);z-index:1}.contact-info{padding:24px;background:#f8f2ead6;border:1px solid rgba(75,70,61,.08)}.contact-list{list-style:none;margin-top:16px;display:grid;gap:12px;color:var(--muted)}.contact-copy-row{display:inline-flex;align-items:center;gap:8px}.contact-copy{background:transparent;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.contact-copy:hover{color:var(--accent-dark)}.copy-feedback{min-width:62px;color:var(--accent-dark);font-weight:600;font-size:.95rem;opacity:0;transform:translate(6px);transition:opacity .35s ease,transform .35s ease}.copy-feedback.is-visible{opacity:1;transform:translate(0)}.contact-form{padding:24px;display:grid;gap:14px}.contact-form label{display:grid;gap:8px;font-weight:600;color:var(--text)}.contact-form input,.contact-form textarea{padding:12px 14px;border:1px solid var(--border);border-radius:0;font:inherit;background:#fcfaf7}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(143,123,94,.16);border-color:var(--accent)}.form-message{min-height:24px;color:var(--accent-dark);font-weight:600}.footer{text-align:center;padding:24px;color:var(--muted);background:#eee2d2}@media(max-width:900px){.hero-content,.intro-grid,.contact-grid,.projects-grid,.cards-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.hero{padding:16px}.topbar{padding:18px 16px}.sticky-nav{gap:14px;padding:12px 16px;flex-wrap:wrap}.hero-center{padding:28px 20px}.hero-center h1{font-size:clamp(2.2rem,7vw,3rem);letter-spacing:.1em}.hero-center p{font-size:.8rem;letter-spacing:.22em}.intro-section,.section{padding:64px 16px}.cards-grid{grid-template-columns:1fr}}:root{--bg: #f3eee8;--surface: #f8f2ea;--text: #171717;--muted: #66615b;--accent: #8f7b5e;--accent-dark: #4b463d;--border: #dfd6cb}body.detail-page{background:var(--bg);color:var(--text)}.detail-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;padding:56px 24px 32px;max-width:1240px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dark)}.detail-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.detail-topline .back-link{margin-bottom:0}.detail-topline .lang-switcher a{color:var(--accent-dark)}.detail-topline .lang-switcher a.active,.detail-topline .lang-switcher a:hover{color:var(--accent)}.detail-hero h1{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.05;margin-bottom:14px;color:var(--accent-dark)}.detail-intro{max-width:560px;color:var(--muted);font-size:1rem}.detail-hero__image img{width:100%;height:500px;object-fit:cover;display:block;border:1px solid var(--border)}.detail-main{max-width:1240px;margin:0 auto;padding:0 24px 64px}.detail-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-bottom:36px}.detail-meta{display:grid;gap:16px;padding:24px;background:var(--surface);border:1px solid rgba(75,70,61,.08)}.meta-label{display:block;margin-bottom:4px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.detail-meta p,.detail-copy p{color:var(--muted)}.detail-copy{padding:24px;background:#f8f2eacc;border:1px solid rgba(75,70,61,.08)}.detail-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-gallery__item{overflow:hidden;border:1px solid var(--border);background:var(--surface)}.detail-gallery__item img{width:100%;height:300px;object-fit:cover;display:block}@media(max-width:900px){.detail-hero,.detail-info,.detail-gallery__grid{grid-template-columns:1fr}}
