:root { --ink:#4e6455; --paper:#f8f5ed; --olive:#aebca8; --clay:#d8a995; --line:rgba(78,100,85,.24); --serif:'Libre Baskerville', Georgia, serif; --sans:'DM Sans', Arial, sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; }
p { text-wrap:pretty; }
h1,h2,h3 { text-wrap:balance; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:21px 4.8vw; position:relative; z-index:2; }
.brand { display:flex; flex-direction:column; flex:0 0 auto; line-height:1; text-transform:uppercase; }.brand span { font-family:var(--serif); font-size:1.42rem; letter-spacing:-.09em; text-transform:none; }.brand small { font-family:var(--mono); font-size:.55rem; letter-spacing:.05em; margin-top:5px; white-space:nowrap; }
.main-nav { align-items:center; display:flex; gap:30px; font-family:var(--mono); font-size:.67rem; text-transform:uppercase; }.main-nav a:hover,.text-link:hover { color:var(--clay); }.nav-contact { border:1px solid var(--ink); padding:8px 12px; }.menu-button { background:none; border:0; color:var(--ink); display:none; font:inherit; text-transform:uppercase; }
.hero { display:grid; grid-template-columns:1fr 1.13fr; min-height:calc(100vh - 79px); }.hero-copy { align-self:end; padding:9vw 7vw 8vw 11vw; }.eyebrow { font-family:var(--mono); font-size:.66rem; letter-spacing:.04em; margin:0 0 24px; text-transform:uppercase; }.hero h1,.statement h2,.process h2,.work h2,.contact h2 { font-family:var(--serif); font-size:clamp(2.2rem,4.3vw,4.8rem); font-weight:400; letter-spacing:-.065em; line-height:1.13; margin:0; }.hero h1 em { color:var(--clay); font-weight:400; }.hero-intro { font-size:1.05rem; margin:32px 0; max-width:410px; }.text-link { border-bottom:1px solid var(--ink); font-family:var(--mono); font-size:.7rem; padding-bottom:7px; text-transform:uppercase; }.text-link span,.contact-link span { font-size:1.2em; margin-left:12px; }.hero-image { min-height:580px; position:relative; }.hero-image img,.project img,.process-image img { height:100%; object-fit:cover; width:100%; }.image-caption { bottom:24px; color:#fff; font-family:var(--mono); font-size:.62rem; left:27px; margin:0; position:absolute; text-transform:uppercase; }
.section-space { padding:11vw 9vw; }.statement { border-top:1px solid var(--line); }.statement-grid { display:grid; gap:10vw; grid-template-columns:1.1fr .9fr; }.statement h2 { font-size:clamp(2rem,3.6vw,3.8rem); }.statement p { margin:0 0 18px; max-width:470px; }.values { background:var(--ink); color:var(--paper); display:grid; grid-template-columns:repeat(3,1fr); padding:7vw 9vw; }.values article { border-left:1px solid rgba(244,241,232,.3); padding:0 3.5vw; }.values article:first-child { border:0; padding-left:0; }.values span { color:#d7d0bb; font: .65rem var(--mono); }.values h3 { font:400 1.55rem var(--serif); letter-spacing:-.04em; margin:55px 0 14px; }.values p { font-size:.9rem; margin:0; max-width:255px; }
.process { align-items:stretch; display:grid; gap:9vw; grid-template-columns:.87fr 1.13fr; }.process-image { min-height:640px; }.process-copy { padding-top:20px; }.process h2 { font-size:clamp(2rem,3.5vw,3.4rem); margin-bottom:55px; }.process ol { list-style:none; margin:0; padding:0; }.process li { border-top:1px solid var(--line); display:grid; gap:20px; grid-template-columns:.72fr 1.28fr; padding:20px 0; }.process li b { font:400 1.05rem var(--serif); }.process li span { font-size:.9rem; }
.work { border-top:1px solid var(--line); }.work-heading { display:grid; grid-template-columns:1fr 1.5fr .7fr; margin-bottom:55px; }.work-heading .eyebrow { grid-row:1/3; }.work h2 { font-size:clamp(2rem,3.4vw,3.5rem); }.work-heading > p:last-child { align-self:end; font-size:.85rem; margin:0; padding-left:30px; }.work-grid { display:grid; gap:18px; grid-template-columns:1fr 1fr; }.project { margin:0; }.project-large { grid-row:span 2; }.project img { display:block; height:360px; }.project-large img { height:100%; min-height:555px; }.project div { display:flex; justify-content:space-between; padding-top:13px; }.project h3,.project p { font-size:.75rem; font-weight:400; margin:0; }.project p { font-family:var(--mono); font-size:.57rem; text-transform:uppercase; }.quote { background:#c6ad83; color:var(--ink); padding:12vw 12vw; }.quote p { font:400 clamp(2rem,4vw,4.4rem)/1.25 var(--serif); letter-spacing:-.055em; margin:0; max-width:950px; }.contact { background:var(--olive); color:#fffdf6; padding:12vw 15vw; }.contact h2 { font-size:clamp(2.6rem,5.3vw,5.8rem); }.contact > p:not(.eyebrow):not(.contact-note) { margin:25px 0 45px; }.contact-link { border-bottom:1px solid currentColor; display:inline-block; font:clamp(1.1rem,2.2vw,2rem) var(--serif); padding-bottom:8px; }.contact-note { font: .62rem var(--mono); margin:70px 0 0; text-transform:uppercase; }footer { align-items:end; display:flex; justify-content:space-between; padding:28px 4.8vw; }footer p,footer>a { font: .58rem var(--mono); margin:0; text-transform:uppercase; }
.statement h2 em { color:var(--clay); font-weight:400; }.values { background:#7f9982; }.values article { border-color:rgba(248,245,237,.42); }.values span { color:#f7dfcf; }.quote { background:#e5c7ad; }.services { background:#e4dfc9; }.services-intro { align-items:end; display:grid; gap:6vw; grid-template-columns:1.2fr .8fr; }.services h2 { font:400 clamp(2rem,3.8vw,3.9rem)/1.13 var(--serif); letter-spacing:-.065em; margin:0; }.services-intro p { font-size:.95rem; margin:0; max-width:340px; }.services-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; }.services-grid article { border-left:1px solid var(--line); min-height:250px; padding:0 30px; }.services-grid article:first-child { border:0; padding-left:0; }.services-grid p { color:var(--clay); font:.65rem var(--mono); margin:0; }.services-grid h3 { font:400 1.45rem var(--serif); letter-spacing:-.04em; margin:54px 0 16px; }.services-grid span { font-size:.88rem; }.collaboration-note { border-top:1px solid var(--line); font-size:.92rem; margin:65px 0 0; max-width:650px; padding-top:20px; }.back-link { font:.65rem var(--mono); text-transform:uppercase; }.contact-page { display:grid; gap:9vw; grid-template-columns:.85fr 1.15fr; padding:11vw 10vw; }.contact-page h1 { font:400 clamp(2.4rem,4.5vw,4.7rem)/1.13 var(--serif); letter-spacing:-.065em; margin:0 0 30px; }.contact-page-intro > p:not(.eyebrow) { max-width:410px; }.contact-email { margin-top:45px; }.contact-email a { border-bottom:1px solid var(--ink); }.project-form { display:grid; gap:26px; }.project-form label { display:grid; font:.68rem var(--mono); gap:9px; text-transform:uppercase; }.project-form label > span { color:rgba(78,100,85,.7); }.form-two { display:grid; gap:24px; grid-template-columns:1fr 1fr; }.project-form input:not([type="checkbox"]),.project-form select,.project-form textarea { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); font:400 .98rem var(--sans); outline:none; padding:10px 0; width:100%; }.project-form textarea { resize:vertical; }.project-form input:focus,.project-form select:focus,.project-form textarea:focus { border-color:var(--ink); }.file-field { background:#e7e2d6; cursor:pointer; padding:23px; }.file-field input { height:1px; opacity:0; overflow:hidden; position:absolute; width:1px; }.file-field small { border-bottom:1px solid var(--ink); font:.62rem var(--mono); justify-self:start; margin-top:12px; padding-bottom:4px; }.check { align-items:start; grid-template-columns:16px 1fr; line-height:1.5; text-transform:none!important; }.check input { accent-color:var(--ink); margin:2px 0 0; }.project-form button { background:var(--ink); border:1px solid var(--ink); color:var(--paper); cursor:pointer; font:.68rem var(--mono); justify-self:start; padding:14px 20px; text-transform:uppercase; }.project-form button:hover { background:transparent; color:var(--ink); }.form-note { color:rgba(78,100,85,.75); font-size:.76rem; margin:0; }
.faq { border-top:1px solid var(--line); }.faq-heading { align-items:end; display:grid; gap:8vw; grid-template-columns:1.1fr .9fr; margin-bottom:70px; }.faq h2 { font:400 clamp(2rem,3.7vw,3.7rem)/1.16 var(--serif); letter-spacing:-.06em; margin:0; }.faq-heading p { margin:0; max-width:390px; }.faq-list { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); padding:19px 0; }.faq summary { cursor:pointer; font:400 1.12rem var(--serif); list-style:none; padding-right:30px; position:relative; }.faq summary::-webkit-details-marker { display:none; }.faq summary:after { content:'+'; font:1.3rem var(--sans); position:absolute; right:0; top:-3px; }.faq details[open] summary:after { content:'−'; }.faq details p { font-size:.9rem; margin:15px 30px 0 0; max-width:650px; }
@media (max-width:760px) { .statement-grid,.process,.work-heading,.services-intro{display:block}.services-intro p{margin-top:20px}.services-grid{grid-template-columns:1fr;margin-top:45px}.services-grid article,.services-grid article:first-child{border-left:0;border-top:1px solid var(--line);min-height:0;padding:28px 0}.services-grid article:first-child{border-top:0;padding-top:0}.services-grid h3{margin:25px 0 10px}.contact-page{display:block;padding:18vw 8vw}.contact-page-intro{margin-bottom:60px}.form-two{grid-template-columns:1fr} }
@media (max-width:760px) { .faq-heading { display:block; margin-bottom:45px; }.faq-heading p { margin-top:22px; } }
.projects-page-head { padding:11vw 18vw 8vw; }.projects-page-head h1 { font:400 clamp(2.7rem,5.3vw,5.8rem)/1.08 var(--serif); letter-spacing:-.07em; margin:0 0 32px; max-width:850px; }.projects-page-head > p:last-child { font-size:1.05rem; max-width:570px; }.projects-index { display:grid; grid-template-columns:1fr 1fr; }.projects-index a { background:#edf0e6; min-height:560px; overflow:hidden; position:relative; }.projects-index a:nth-child(2),.projects-index a:nth-child(3) { background:#eee4d4; }.projects-index img { height:100%; object-fit:cover; position:absolute; transition:transform .6s ease; width:100%; }.projects-index a:hover img { transform:scale(1.04); }.projects-index div { background:linear-gradient(transparent,rgba(35,47,39,.72)); bottom:0; color:#fffdf6; left:0; padding:110px 7vw 40px; position:absolute; right:0; }.projects-index p { font:.6rem var(--mono); margin:0 0 12px; text-transform:uppercase; }.projects-index h2 { font:400 clamp(1.8rem,3vw,3.3rem)/1.1 var(--serif); letter-spacing:-.06em; margin:0 0 13px; }.projects-index span { font-size:.85rem; }.case-hero { padding:9vw 10vw 0; }.case-hero h1 { font:400 clamp(3rem,6.2vw,7rem)/1 var(--serif); letter-spacing:-.08em; margin:0; }.case-hero > p:not(.eyebrow) { font:400 clamp(1.25rem,2.3vw,2.1rem)/1.35 var(--serif); margin:25px 0 55px; max-width:680px; }.case-hero img { display:block; height:min(63vw,760px); object-fit:cover; width:100%; }.case-text { display:grid; gap:9vw; grid-template-columns:.75fr 1.25fr; padding:11vw 18vw; }.case-text h2 { font:400 clamp(2rem,3.7vw,3.8rem)/1.15 var(--serif); letter-spacing:-.06em; margin:0; }.case-text .eyebrow { grid-row:1/3; }.case-text p { margin:0 0 20px; max-width:500px; }.case-images { display:grid; gap:18px; grid-template-columns:1fr 1fr; padding:0 10vw; }.case-images img { height:33vw; max-height:480px; object-fit:cover; width:100%; }.case-closing { background:#e5c7ad; margin-top:11vw; padding:11vw 15vw; }.case-closing p { font:400 clamp(2rem,4.1vw,4.3rem)/1.17 var(--serif); letter-spacing:-.065em; margin:0 0 40px; max-width:780px; }.case-closing a { border-bottom:1px solid var(--ink); font:.68rem var(--mono); padding-bottom:7px; text-transform:uppercase; }
@media (max-width:760px) { .projects-page-head { padding:20vw 8vw 14vw; }.projects-index { grid-template-columns:1fr; }.projects-index a { min-height:440px; }.projects-index div { padding:90px 8vw 28px; }.case-hero { padding:17vw 8vw 0; }.case-hero img { height:95vw; }.case-text { display:block; padding:18vw 8vw; }.case-text .eyebrow { margin-bottom:25px; }.case-images { gap:10px; padding:0 8vw; }.case-images img { height:46vw; }.case-closing { margin-top:18vw; padding:18vw 8vw; } }
.hero-image img,.project img,.projects-index img,.case-hero img,.case-images img { object-fit:contain; background:#ebe6d9; }.visualization { background:#dce4d7; }.visualization-grid { align-items:end; display:grid; gap:9vw; grid-template-columns:1.08fr .92fr; }.visualization h2 { font:400 clamp(2rem,3.8vw,4rem)/1.13 var(--serif); letter-spacing:-.065em; margin:0; }.visualization-grid p { margin:0 0 18px; max-width:460px; }
@media (max-width:760px) { .visualization-grid { display:block; }.visualization-grid > div { margin-top:28px; } }
.brand span::first-letter { color:#748f77; }.brand span::after { border:1px solid #c99e89; border-radius:50%; content:''; display:inline-block; height:.34em; margin:0 0 .18em .22em; width:.34em; }.page-nav { gap:18px; }.inner-hero { padding:12vw 16vw 10vw; }.inner-hero h1 { font:400 clamp(2.8rem,5.6vw,6rem)/1.07 var(--serif); letter-spacing:-.075em; margin:0 0 30px; max-width:960px; }.inner-hero h1 em { color:var(--clay); font-weight:400; }.inner-hero > p:last-child { font-size:1.08rem; max-width:580px; }.service-list { padding:0 16vw 12vw; }.service-list article { border-top:1px solid var(--line); display:grid; gap:7vw; grid-template-columns:.8fr 1.2fr; padding:42px 0; }.service-list article p { font:.62rem var(--mono); margin:0; text-transform:uppercase; }.service-list article h2 { font:400 clamp(1.65rem,2.8vw,2.8rem)/1.14 var(--serif); grid-column:2; letter-spacing:-.055em; margin:0; }.service-list article div { font-size:.94rem; grid-column:2; max-width:510px; }.callout { background:#e5c7ad; padding:10vw 16vw; }.callout p { font:400 clamp(2rem,4vw,4rem)/1.15 var(--serif); letter-spacing:-.065em; margin:0 0 38px; max-width:880px; }.callout a { border-bottom:1px solid var(--ink); font:.67rem var(--mono); padding-bottom:7px; text-transform:uppercase; }.studio-story { display:grid; gap:9vw; grid-template-columns:.85fr 1.15fr; padding:11vw 17vw; }.studio-story h2 { font:400 clamp(2rem,3.8vw,4rem)/1.14 var(--serif); letter-spacing:-.065em; margin:0; }.studio-story p { margin:0 0 20px; max-width:520px; }.principles { background:#dce4d7; display:grid; grid-template-columns:repeat(3,1fr); padding:8vw 12vw; }.principles article { border-left:1px solid var(--line); padding:0 3vw; }.principles article:first-child { border:0; padding-left:0; }.principles span { color:var(--clay); font:.62rem var(--mono); }.principles h3 { font:400 1.55rem var(--serif); letter-spacing:-.04em; margin:55px 0 14px; }.principles p { font-size:.9rem; margin:0; }.work-grid { grid-template-columns:repeat(3,1fr); }.project-large { grid-row:auto; }.project img,.project-large img { height:320px; min-height:0; object-fit:cover; }.projects-index img,.case-hero img,.case-images img { object-fit:cover; }.case-images { align-items:stretch; }.case-images img { height:370px; }.projects-index a { min-height:500px; }
@media (max-width:760px) { .page-nav { display:flex; flex-wrap:wrap; gap:12px; justify-content:flex-end; }.page-nav a { font-size:.56rem; }.inner-hero { padding:20vw 8vw 14vw; }.service-list { padding:0 8vw 18vw; }.service-list article { display:block; padding:30px 0; }.service-list article h2 { margin:20px 0 12px; }.studio-story { display:block; padding:18vw 8vw; }.studio-story > div:first-child { margin-bottom:35px; }.principles { grid-template-columns:1fr; padding:14vw 8vw; }.principles article,.principles article:first-child { border-left:0; border-top:1px solid var(--line); padding:28px 0; }.principles article:first-child { border-top:0; padding-top:0; }.principles h3 { margin:22px 0 10px; }.work-grid { grid-template-columns:1fr; }.project img,.project-large img { height:360px; }.case-images img { height:45vw; } }
.archive-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }.archive-gallery a { background:#e6e1d5; display:block; height:220px; overflow:hidden; }.archive-gallery img { height:100%; object-fit:cover; width:100%; }.archive-gallery a:hover img { transform:scale(1.04); transition:transform .45s ease; }
@media (max-width:760px) { .archive-gallery { grid-template-columns:repeat(2,1fr); }.archive-gallery a { height:160px; } }
.service-list article p { font-size:.82rem; letter-spacing:.04em; }.service-list article h2 { font-size:clamp(2rem,3.3vw,3.25rem); }
.hero-image { background:var(--paper); }.hero-image img { background:transparent!important; object-fit:contain; padding:clamp(24px,4vw,70px); }.case-gallery { grid-template-columns:repeat(3,1fr); }.case-gallery img { height:260px; object-fit:cover; }
.brand span { letter-spacing:.035em; }.brand span::first-letter { margin-right:.07em; }.process-sketch { background:#fff; }.process-sketch img { object-fit:contain!important; padding:24px; }
.service-image { margin:0 auto 9vw; max-width:1100px; padding:0 9vw; }.service-image img { display:block; height:460px; object-fit:cover; width:100%; }.visualization-grid { align-items:center; }
@media (max-width:760px) { .service-image { padding:0 8vw; margin-bottom:16vw; }.service-image img { height:300px; }.visualization { padding:18vw 8vw; } }
.case-gallery img { cursor:zoom-in; transition:opacity .2s ease,transform .2s ease; }.case-gallery img:hover { opacity:.88; transform:scale(1.015); }.no-scroll { overflow:hidden; }.lightbox { align-items:center; background:rgba(28,40,32,.94); display:none; inset:0; justify-content:center; padding:30px 75px; position:fixed; z-index:100; }.lightbox.is-open { display:flex; }.lightbox figure { height:100%; margin:0; max-width:1200px; position:relative; text-align:center; width:100%; }.lightbox figure img { height:calc(100% - 35px); object-fit:contain; width:100%; }.lightbox figcaption { color:#fff; font:12px var(--mono); padding-top:8px; }.lightbox button { background:transparent; border:0; color:#fff; cursor:pointer; font:400 38px var(--sans); padding:12px; position:absolute; z-index:1; }.lightbox-close { right:22px; top:12px; }.lightbox-prev { left:18px; top:50%; transform:translateY(-50%); }.lightbox-next { right:18px; top:50%; transform:translateY(-50%); }@media(max-width:760px){.lightbox{padding:22px 6px}.lightbox button{font-size:28px}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-close{right:5px;top:2px}}
@media (max-width:760px) { .case-gallery { grid-template-columns:repeat(2,1fr); }.case-gallery img { height:180px; } }
.case-text > .eyebrow { color:var(--clay); font-size:clamp(.86rem,1.15vw,1.08rem); letter-spacing:.075em; line-height:1.35; }
.case-narrative { border-top:1px solid var(--line); margin:10vw 10vw; }
.case-narrative article { align-items:start; display:grid; gap:7vw; grid-template-columns:.72fr 1.28fr; padding:clamp(52px,6vw,82px) 8vw; text-align:left; }
.case-narrative article + article { border-top:1px solid var(--line); }
.case-narrative h2 { font:400 clamp(1.65rem,2.8vw,2.8rem)/1.18 var(--serif); letter-spacing:-.055em; margin:0; max-width:390px; }
.case-narrative div { max-width:590px; width:100%; }
.case-narrative p { line-height:1.72; margin:0 0 24px; }
.case-narrative p:last-child { margin-bottom:0; }
.case-hero,.case-text { text-align:left; }
.case-text { align-items:start; }
.case-text h2 { max-width:540px; }
.case-text #copy { max-width:540px; width:100%; }
.case-text p { line-height:1.72; }
@media (min-width:761px) and (max-width:1100px) {
  .case-text { gap:6vw; padding-left:12vw; padding-right:12vw; }
  .case-narrative article { gap:5vw; padding-left:4vw; padding-right:4vw; }
}
@media (max-width:760px) {
  .case-narrative { margin:18vw 8vw; }
  .case-narrative article { display:block; padding:48px 0; }
  .case-narrative h2 { margin:0 0 28px; max-width:100%; }
  .case-narrative p { line-height:1.68; margin-bottom:20px; }
  .case-text h2 { margin-bottom:30px; }
}

/* Más aire en los titulares principales. */
.hero h1,
.statement h2,
.process h2,
.work h2,
.services h2,
.contact h2 {
  line-height:1.18;
}
.projects-page-head h1,
.inner-hero h1 {
  line-height:1.15;
}
.contact-page h1,
.faq h2,
.visualization h2,
.studio-story h2,
.case-text h2,
.case-closing p {
  line-height:1.2;
}
.case-hero h1 {
  letter-spacing:-.07em;
  line-height:1.12;
}
.projects-index h2,
.service-list article h2 {
  line-height:1.18;
}
.case-narrative h2 {
  line-height:1.24;
}

@media (max-width:760px) {
  .hero h1,
  .projects-page-head h1,
  .inner-hero h1,
  .case-hero h1,
  .contact-page h1 {
    line-height:1.18;
  }
}

footer {
  gap:20px;
  flex-wrap:wrap;
}
@media (max-width:520px) {
  footer {
    align-items:center;
    gap:14px 24px;
    padding-bottom:24px;
    padding-top:24px;
  }
  footer .brand {
    flex:1 0 100%;
  }
}
.editorial-pair { align-items:end; display:grid; gap:clamp(22px,5vw,74px); grid-template-columns:.72fr 1.28fr; padding:2vw 10vw 11vw; }
.editorial-image { margin:0; }
.editorial-image img { display:block; height:clamp(430px,50vw,720px); object-fit:cover; width:100%; }
.editorial-image-detail { margin-bottom:8vw; }
.editorial-image-detail img { height:clamp(420px,48vw,650px); }
.editorial-image figcaption,.service-notes figcaption { color:rgba(78,100,85,.78); font:.6rem var(--mono); letter-spacing:.035em; margin-top:12px; text-transform:uppercase; }
.service-image { max-width:980px; }
.service-image img { background:#e6e1d5; object-fit:cover; object-position:center 62%; }
.service-notes { align-items:center; border-top:1px solid var(--line); display:grid; gap:9vw; grid-template-columns:.72fr 1fr; margin:0 16vw 11vw; padding-top:7vw; }
.service-notes figure { margin:0; max-width:430px; }
.service-notes img { display:block; height:min(52vw,610px); object-fit:cover; width:100%; }
.service-notes > p { font:400 clamp(1.45rem,2.6vw,2.7rem)/1.28 var(--serif); letter-spacing:-.045em; margin:0; max-width:580px; }
.statement-lead { display:flex; flex-direction:column; }
.statement-orchid { margin:clamp(42px,6vw,86px) 0 0; width:min(78%,430px); }
.statement-orchid img { display:block; height:clamp(390px,42vw,590px); object-fit:cover; width:100%; }
.statement-orchid figcaption,.process-portrait figcaption,.studio-story-lead figcaption { color:rgba(78,100,85,.78); font:.6rem var(--mono); letter-spacing:.035em; margin-top:12px; text-transform:uppercase; }
.process { align-items:start; display:grid; gap:9vw; grid-template-columns:.85fr 1.15fr; }
.process-lead h2 { margin-bottom:0; }
.process-portrait { margin:clamp(44px,5vw,72px) 0 0; width:min(100%,430px); }
.process-portrait img { display:block; height:clamp(430px,48vw,650px); object-fit:cover; object-position:center; width:100%; }
.process-steps { padding-top:42px; }
.studio-story-lead figure { margin:clamp(40px,5vw,72px) 0 0; width:min(100%,460px); }
.studio-story-lead img { display:block; height:clamp(430px,45vw,650px); object-fit:cover; width:100%; }
@media (max-width:1024px) {
  .main-nav { gap:17px; }
  .hero { grid-template-columns:.9fr 1.1fr; }
  .hero-copy { padding-left:8vw; }
  .editorial-pair { padding-left:8vw; padding-right:8vw; }
  .case-gallery { grid-template-columns:repeat(2,1fr); }
  .service-notes { margin-left:11vw; margin-right:11vw; }
}
@media (max-width:760px) {
  .site-header { align-items:start; display:grid; gap:22px; grid-template-columns:1fr; padding:22px 6vw 20px; }
  .site-header .brand { justify-self:start; }
  .page-nav { display:grid; gap:8px 10px; grid-template-columns:repeat(5,minmax(0,1fr)); justify-content:stretch; width:100%; }
  .page-nav a { align-items:center; display:flex; font-size:clamp(.48rem,2.45vw,.58rem); justify-content:center; min-height:34px; text-align:center; white-space:nowrap; }
  .page-nav .nav-contact { padding:7px 5px; }
  .hero { display:block; min-height:0; }
  .hero-copy { padding:20vw 8vw 15vw; }
  .hero-image { min-height:105vw; }
  .hero-image img { padding:24px 5vw; }
  .hero-image .image-caption { bottom:18px; color:var(--ink); left:8vw; }
  .section-space { padding:18vw 8vw; }
  .values { grid-template-columns:1fr; padding:14vw 8vw; }
  .values article,.values article:first-child { border-left:0; border-top:1px solid rgba(248,245,237,.42); padding:30px 0; }
  .values article:first-child { border-top:0; padding-top:0; }
  .values h3 { margin:20px 0 10px; }
  .values p { max-width:440px; }
  .process-image { margin-bottom:12vw; min-height:118vw; }
  .process { display:block; }
  .process-portrait { margin:11vw 0 14vw; width:100%; }
  .process-portrait img { height:auto; max-height:none; object-fit:contain; width:100%; }
  .process-steps { padding-top:0; }
  .process li { display:block; }
  .process li span { display:block; margin-top:8px; }
  .work-heading > p:last-child { margin-top:20px; padding-left:0; }
  footer { align-items:flex-start; flex-wrap:wrap; gap:22px; padding:25px 6vw; }
  .case-text > .eyebrow { font-size:.82rem; }
  .editorial-pair { display:block; padding:4vw 8vw 18vw; }
  .editorial-image-detail { margin:0 12vw 14vw 0; }
  .editorial-image img,.editorial-image-detail img { height:112vw; max-height:620px; }
  .editorial-image-wide { margin-left:9vw; }
  .service-image img { height:110vw; max-height:590px; }
  .service-notes { display:block; margin:0 8vw 18vw; padding-top:14vw; }
  .service-notes figure { margin:0 12vw 12vw 0; }
  .service-notes img { height:112vw; max-height:620px; }
  .statement-orchid { margin:11vw auto 0; width:100%; }
  .statement-orchid img { height:auto; max-height:none; object-fit:contain; width:100%; }
  .studio-story-lead figure { margin-top:11vw; width:82%; }
  .studio-story-lead img { height:108vw; max-height:620px; }
}

.projects-index .project-featured {
  grid-column:1 / -1;
  min-height:640px;
}

/* Todas las fichas parten de la misma línea editorial. */
.projects-index > a {
  min-height:520px;
}
.projects-index > a > div {
  display:grid;
  grid-template-rows:3.1em auto 2.9em;
}
.projects-index > a p {
  align-self:end;
  line-height:1.5;
  margin:0 0 12px;
}
.projects-index > a h2 {
  align-self:start;
}
.projects-index > a span {
  align-self:start;
  line-height:1.45;
}
@media (max-width:760px) {
  .projects-index > a {
    min-height:460px;
  }
  .projects-index > a > div {
    grid-template-rows:auto auto auto;
  }
}
.projects-index .project-featured img {
  object-position:center 54%;
}
@media (max-width:760px) {
  .projects-index .project-featured {
    grid-column:auto;
    min-height:460px;
  }
}

/* Alineación común de los pies de proyecto en la portada */
.work-grid .project {
  display:grid;
  grid-template-rows:auto 1fr;
}
.work-grid .project div {
  align-items:start;
  display:grid;
  gap:18px;
  grid-template-columns:minmax(0,1fr) minmax(120px,1fr);
  min-height:62px;
  padding-top:14px;
}
.work-grid .project h3 {
  line-height:1.4;
}
.work-grid .project p {
  justify-self:end;
  line-height:1.45;
  max-width:170px;
  text-align:right;
}
@media (max-width:760px) {
  .work-grid .project div {
    gap:12px;
    grid-template-columns:minmax(0,1fr) minmax(105px,.8fr);
    min-height:58px;
  }
}

/* El selector nativo de archivos permanece accesible sin desbordar la vista móvil. */
.project-form .file-field input {
  border:0;
  height:1px;
  opacity:0;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

.case-back-link {
  display:inline-block;
  margin:clamp(28px,4vw,54px) 10vw 0;
}

@media (max-width:760px) {
  .case-back-link {
    margin:10vw 8vw 0;
  }
}
