:root{--black:#0A0A0A;--ivory:#F4F1E8;--copper:#B87333;--line:rgba(244,241,232,.19)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:var(--ivory);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid var(--copper);outline-offset:7px}::selection{background:var(--copper);color:var(--black)}.skip{position:fixed;top:-100px;z-index:20;background:var(--ivory);color:var(--black);padding:15px}.skip:focus{top:5px}header{position:absolute;z-index:3;left:0;right:0;height:100px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line)}.brand{font-weight:600;font-size:20px;letter-spacing:.06em}.brand span{color:var(--copper)}nav{display:flex;gap:38px;font-size:14px}nav a{padding:12px 0}nav span{color:var(--copper);margin-left:10px}nav a:hover{color:#d89c67}.hero{position:relative;min-height:900px;min-height:100svh;padding:145px 5% 34px;overflow:hidden}.hero-film,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.hero-film{object-position:center 42%;opacity:.55}.hero-shade{background:linear-gradient(90deg,rgba(10,10,10,.75),rgba(10,10,10,.16)),linear-gradient(0deg,#0a0a0a 0%,transparent 65%)}.hero-top{display:flex;justify-content:space-between}.eyebrow,.edition,.tags,.num{font-size:12px;font-weight:500;letter-spacing:.14em}.eyebrow{text-transform:uppercase}.eyebrow span{color:var(--copper);margin-right:25px}.edition{opacity:.65}.hero-title{margin:64px 0 50px}.wordmark{font-size:14px;letter-spacing:.4em;margin:0 0 20px}h1{font-size:clamp(62px,7.5vw,116px);font-weight:400;letter-spacing:-.055em;line-height:1.01;margin:0}em{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.04em}h1 em{color:var(--ivory)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:45px}.intro{max-width:510px;font-size:17px;line-height:1.8;margin:0 0 24px}.disciplines{font-size:12px;color:#dfb48f;letter-spacing:.15em}.slogan{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:18px}.hero-aside{max-width:325px}#motion{font-size:12px;border:0;border-bottom:1px solid var(--line);padding:7px 0;background:transparent;cursor:pointer}.scroll{font-size:12px;display:flex;justify-content:space-between;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);letter-spacing:.08em}.scroll span{color:var(--copper);font-size:20px}.section{padding:130px 7%}.section-head{position:relative;margin-bottom:70px}.section-head h2{margin:35px 0 0}h2{font-size:clamp(38px,4.5vw,70px);line-height:1.13;font-weight:400;letter-spacing:-.045em}.section-note{position:absolute;right:0;bottom:0;font-size:14px;color:#b6b2a9}.project{margin-bottom:100px}.project:last-child{margin-bottom:0}.project-film{height:650px;position:relative;background:#141412;overflow:hidden;display:flex;justify-content:center}.project-film video{width:100%;height:100%;object-fit:contain;background:#141412}.film-index{position:absolute;left:24px;top:22px;font-size:12px;letter-spacing:.12em;pointer-events:none;background:#0a0a0ab8;padding:8px 12px}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:28px}.project-caption h3{font-size:28px;font-weight:400;letter-spacing:-.03em;margin:10px 0}.project-caption .eyebrow{font-size:11px;color:#b6b2a9}.project-caption p{margin:8px 0 20px}.tags{font-size:11px;line-height:1.9;letter-spacing:.07em;color:#b6b2a9}.services{background:var(--ivory);color:var(--black)}.service{border-top:1px solid #0a0a0a33;display:grid;grid-template-columns:8% 44% 1fr;gap:2%;padding:45px 0}.service:last-child{padding-bottom:0}.num{color:var(--copper)}.service h3{font-size:clamp(25px,3vw,43px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:0}.service p{margin:0 0 20px}.service .tags{color:#60574e}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps h3{font-weight:400;font-size:23px;margin:24px 0 14px}.steps p{font-size:15px;color:#bab7b0}.vision{padding-top:90px;border-top:1px solid var(--line)}blockquote{font-size:clamp(48px,7.2vw,110px);line-height:1.12;letter-spacing:-.055em;margin:70px 0 60px}blockquote em{color:#d29a69}.vision-copy{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.vision-copy p{max-width:510px;margin:0;color:#c5c1b8}.contact{border-top:1px solid var(--line);text-align:center;padding-top:125px;padding-bottom:140px}.contact h2{font-size:clamp(44px,6vw,90px);margin:48px 0 30px}.contact>p:not(.eyebrow){color:#bab7b0}.contact-cta{display:inline-flex;gap:65px;border-bottom:1px solid var(--copper);padding:20px 0;font-size:18px}.contact-cta span{color:var(--copper);font-size:25px}.contact-pending{font-size:12px}footer{margin:0 5%;padding:35px 0;display:flex;align-items:center;gap:35px;flex-wrap:wrap;border-top:1px solid var(--line)}footer p,footer a:not(.brand),footer small{font-size:12px}footer p{flex:1;color:#b6b2a9}footer small{width:100%;color:#8f8d86}.reveal{transition:opacity .8s ease,transform .8s ease}.reveal.pending{opacity:0;transform:translateY(18px)}@media(min-width:1000px){.project-film{height:680px}.project-film video{max-width:100%}}@media(max-width:700px){header{height:80px}.brand{font-size:16px}nav{gap:18px}nav a{font-size:12px}nav a:nth-child(2),nav a:nth-child(3){display:none}.hero{padding-top:115px;min-height:920px}.edition{display:none}.hero-title{margin-top:65px}h1{font-size:clamp(55px,12.5vw,85px)}.hero-bottom{display:block}.intro{font-size:16px}.hero-aside{margin-top:25px}.slogan{font-size:16px}.section{padding:80px 6%}.section-head{margin-bottom:40px}.section-note{position:static;margin-top:25px}.project-film{height:auto;aspect-ratio:9/14}.project-caption{grid-template-columns:1fr;gap:10px}.project-caption h3{font-size:25px}.project{margin-bottom:65px}.service{grid-template-columns:25px 1fr;padding:32px 0;gap:14px}.service>div{grid-column:2}.service h3{font-size:30px}.steps{grid-template-columns:1fr 1fr;gap:28px}.steps p{font-size:14px}.steps h3{font-size:20px}.vision-copy{grid-template-columns:1fr;gap:30px}blockquote{margin:40px 0;font-size:clamp(43px,10vw,65px)}.contact-cta{gap:24px;font-size:16px}.contact{padding-bottom:90px}footer{gap:15px}footer p{flex-basis:100%}.film-index{left:12px;top:12px;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.reveal.pending{opacity:1;transform:none}}
button.contact-cta{background:transparent;border-top:0;border-left:0;border-right:0;color:inherit;font-family:inherit}
.service .digital-intro{font-size:clamp(24px,2.2vw,34px);line-height:1.3;margin-bottom:24px}.service .digital-closing{font-size:20px;margin-bottom:0}

.contact-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:32px 0 50px;font-size:14px}.contact-links a,.case-link{border-bottom:1px solid var(--copper)}.case-link{font-size:14px}.project-form{max-width:800px;margin:55px auto 0;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.form-field{display:flex;flex-direction:column;gap:10px;font-size:14px}.form-field-wide{grid-column:1/-1}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #656159;background:#141412;color:var(--ivory);padding:15px;font:inherit;border-radius:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--copper);outline-offset:3px}.form-consent{display:flex;align-items:flex-start;gap:12px;margin:28px 0;font-size:14px}.form-consent input{margin-top:5px;accent-color:var(--copper)}.form-submit{background:var(--ivory);color:var(--black);border:0;padding:17px 28px;cursor:pointer}.form-submit span{margin-left:25px}.form-honeypot{display:none}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center;gap:14px}}

/* Contact: warm cinematic lighting and a restrained editorial panel. */
#contacto {
  background:
    radial-gradient(ellipse at 12% 50%, rgba(184,115,51,.12), transparent 55%),
    radial-gradient(ellipse at 90% 85%, rgba(184,115,51,.07), transparent 48%),
    linear-gradient(155deg, #0a0a0a 10%, #15120f 55%, #0a0a0a);
}
#contacto .project-form {
  max-width: 880px;
  padding: clamp(24px, 5vw, 64px);
  background: linear-gradient(145deg, rgba(244,241,232,.055), rgba(244,241,232,.015)), #100f0d;
  border: 1px solid rgba(184,115,51,.3);
  border-top-color: rgba(184,115,51,.65);
  box-shadow: 0 28px 80px rgba(0,0,0,.25);
}
#contacto .form-field input,
#contacto .form-field select,
#contacto .form-field textarea {
  background: #0d0c0b;
  border-color: #73695e;
  font-size: 16px;
}
#contacto .form-field span { color: #e6dfd4; }
#contacto .form-consent { color: #c5beb2; }
#contacto .form-submit { border: 1px solid #b87333; }
#contacto .form-submit:hover { background: #e9ddcd; }
@media(max-width:600px) {
  #contacto .project-form { padding: 26px 20px; }
  #contacto .form-submit { width: 100%; }
}

/* Home: cinematic hero and category portfolio. */
.hero {
  height: 90vh;
  min-height: 90vh;
  display: flex;
  align-items: flex-end;
  padding: 0 7vw 9vh;
  background: #000;
}
.hero-film { z-index: 0; opacity: .82; object-position: center center; }
.hero-shade {
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(10,10,10,.34) 0%, rgba(10,10,10,.12) 38%, rgba(10,10,10,.58) 100%);
}
.hero-copy { position: relative; z-index: 2; max-width: 980px; }
.hero h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  font-size: clamp(58px, 7.4vw, 112px);
  line-height: .9;
  letter-spacing: -.035em;
  text-transform: uppercase;
  margin: 0 0 22px;
  max-width: 11ch;
}
.hero-copy p {
  max-width: 34rem;
  margin: 0;
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  color: rgba(244,241,232,.88);
}
.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(184,115,51,.75);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero-cta span { color: var(--copper); font-size: 16px; letter-spacing: 0; }
.hero-copy #motion {
  display: block;
  margin-top: 28px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .72;
}

.folio { padding-bottom: 40px; }
.folio .section-head { max-width: 720px; }
.folio .section-head h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; }
.folio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.cat {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 78vh;
  overflow: hidden;
  color: var(--ivory);
  background: #0a0a0a;
}
.cat-photo {
  position: absolute;
  inset: -14%;
  background-position: center;
  background-size: cover;
  filter: blur(6px);
  transform: scale(1.08);
  transition: filter 700ms ease, transform 700ms ease;
}
.cat-veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10,10,10,.28) 0%, rgba(10,10,10,.42) 42%, rgba(10,10,10,.78) 100%);
}
.cat-mark {
  position: absolute;
  left: 0;
  right: 0;
  top: 46%;
  transform: translateY(-50%);
  z-index: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .34em;
  text-indent: .34em;
  text-transform: uppercase;
  pointer-events: none;
}
.cat-mark span { color: var(--copper); }
.cat-mark:has(img) {
  letter-spacing: 0;
  text-indent: 0;
  mix-blend-mode: screen;
}
.cat-mark img {
  width: min(62%, 300px);
  height: auto;
  display: block;
  margin-inline: auto;
  object-fit: contain;
}
.cat-copy {
  position: relative;
  z-index: 1;
  padding: 34px 28px 32px;
}
.cat-num {
  display: block;
  margin-bottom: 14px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
  color: #dfb48f;
}
.cat h3 {
  margin: 0 0 14px;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  font-size: clamp(30px, 2.2vw, 42px);
  line-height: 1.02;
  letter-spacing: -.03em;
}
.cat p {
  margin: 0;
  max-width: 34ch;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(244,241,232,.84);
}
.cat:hover .cat-photo,
.cat:focus-visible .cat-photo {
  filter: blur(1px);
  transform: scale(1.14);
}

@media (max-width: 900px) {
  .hero { height: auto; min-height: 90vh; padding: 128px 7vw 64px; }
  .hero h1 { font-size: clamp(46px, 13vw, 72px); }
  .folio-grid { grid-template-columns: 1fr; gap: 36px; }
  .cat { min-height: 88vh; }
  .cat-mark { font-size: 12px; letter-spacing: .28em; text-indent: .28em; }
}

@media (prefers-reduced-motion: reduce) {
  .cat-photo { transition: none; transform: none; }
  .cat:hover .cat-photo,
  .cat:focus-visible .cat-photo { filter: blur(6px); transform: none; }
}
