
:root { --ink:#171714; --paper:#f2f0ea; --line:rgba(23,23,20,.23); --olive:#3f4338; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Helvetica Neue",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(100% - 80px,1440px); margin-inline:auto; }
.hero { min-height:100svh; position:relative; color:white; background:#333 url('images/ladera-hero.webp') center/cover no-repeat; overflow:hidden; }
.heroShade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 55%); }
.nav { height:130px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; border-bottom:1px solid rgba(255,255,255,.35); }
.brand { display:block; width:290px; }
.brand img { display:block; width:100%; height:auto; }
.nav nav { display:flex; gap:44px; font-size:11px; text-transform:uppercase; letter-spacing:.17em; }
.nav nav a { transition:opacity .2s }.nav nav a:hover { opacity:.58; }
.heroCopy { position:absolute; z-index:1; inset:auto 0 72px; }
.eyebrow,.sectionNumber { font-size:10px; letter-spacing:.24em; text-transform:uppercase; }
.eyebrow { margin:0 0 26px; }
.hero h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(64px,9.2vw,146px); line-height:.86; letter-spacing:-.055em; margin:0; }
.heroFoot { display:flex; justify-content:space-between; align-items:end; margin-top:46px; }
.heroFoot p { width:390px; margin:0; font-size:14px; line-height:1.7; color:rgba(255,255,255,.82); }
.roundLink { width:58px;height:58px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:.25s; }
.roundLink:hover { background:white;color:var(--ink); }
.verticalLabel { position:absolute; z-index:2; right:22px; top:50%; writing-mode:vertical-rl; font-size:8px; letter-spacing:.25em; opacity:.7; }
.manifesto,.services { display:grid; grid-template-columns:1fr 3fr; gap:40px; padding-block:170px; }
.sectionNumber { padding-top:12px; }
.lead { font-family:Georgia,serif; font-size:clamp(38px,5vw,73px); line-height:1.08; letter-spacing:-.04em; margin:0 0 90px; }
.lead em { font-weight:400; color:#7d7c72; }
.manifestoGrid { display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);padding-top:30px; }
.manifestoGrid p { max-width:420px;font-size:15px;line-height:1.9;margin:0; }
.portfolio { background:#ddd8cd; padding:140px 0 160px; }
.featuredWork { background:#ddd8cd; padding:140px 0 160px; }
.featuredHead { display:grid;grid-template-columns:1fr 3fr;margin-bottom:80px; }
.featuredHead h2 { margin:0;font-family:Georgia,serif;font-weight:400;font-size:clamp(48px,6vw,86px);letter-spacing:-.045em;line-height:1; }
.featuredHead h2 em { color:#77766e;font-weight:400; }
.featuredHead>div:last-child>p { max-width:540px;margin:38px 0 0;font-size:14px;line-height:1.85; }
.featuredImage { display:block; }
.featuredImage img { display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:filter .35s ease; }
.featuredImage:hover img { filter:brightness(.84); }
.featuredImage span { display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:18px 0 22px; }
.featuredImage strong { font-family:Georgia,serif;font-size:22px;font-weight:400; }
.featuredImage i { font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-style:normal;padding-top:7px; }
.pageHeader { background:var(--paper); }
.pageHeader .nav { color:var(--ink);border-bottom:1px solid var(--line); }
.portfolioPage { padding-top:135px; }
.portfolioHead { display:grid; grid-template-columns:1fr 3fr; margin-bottom:135px; }
.portfolio h2,.services h2 { margin:0;font-family:Georgia,serif;font-weight:400;font-size:clamp(48px,6vw,86px);letter-spacing:-.045em;line-height:1; }
.portfolio h2 em { color:#77766e;font-weight:400; }
.portfolioHead>div:last-child>p { max-width:540px;margin:38px 0 0;font-size:14px;line-height:1.85; }
.portfolioChapter { margin-top:125px; }
.chapterTitle { display:flex;gap:24px;border-top:1px solid var(--line);padding:20px 0 32px;margin:0;font-family:Georgia,serif;font-size:28px; }
.chapterTitle span { padding-top:7px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:9px;letter-spacing:.18em; }
.portfolioGrid { display:grid;grid-template-columns:1fr 1fr;gap:70px 24px;align-items:start; }
.portfolioCard { appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;text-align:left;cursor:zoom-in;font:inherit; }
.portfolioCard.cardWide { grid-column:span 2; }
.portfolioCard img { display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#aaa;transition:filter .35s ease,transform .5s ease; }
.portfolioCard:not(.cardWide) img { aspect-ratio:4/3; }
.portfolioCard:hover img { filter:brightness(.83); }
.portfolioCard>span { display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0 18px;font-family:Georgia,serif;font-size:19px; }
.portfolioCard i { font-family:"Helvetica Neue",Arial,sans-serif;font-size:8px;letter-spacing:.2em;text-transform:uppercase;font-style:normal;padding-top:7px; }
.lightbox { width:100vw;height:100vh;max-width:none;max-height:none;border:0;padding:48px;background:rgba(14,14,12,.96);color:white;overflow:hidden; }
.lightbox::backdrop { background:rgba(14,14,12,.96); }
.lightbox[open] { display:grid;grid-template-rows:1fr auto;place-items:center; }
.lightbox img { display:block;max-width:92vw;max-height:82vh;object-fit:contain; }
.lightbox p { margin:18px 0 0;font-family:Georgia,serif;font-size:18px; }
.lightboxClose { position:fixed;top:22px;right:28px;border:0;background:transparent;color:white;font:300 34px/1 Arial;cursor:pointer;z-index:2; }
.services { padding-block:170px 190px; }
.serviceList { margin-top:100px; }
.serviceList div { display:grid;grid-template-columns:70px 1.25fr 1fr;gap:28px;align-items:start;border-top:1px solid var(--line);padding:26px 0 42px; }
.serviceList span {font-size:10px}.serviceList h3 {font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0}.serviceList p {font-size:13px;line-height:1.7;margin:0;color:#5f6059;}
.contact { min-height:760px; display:grid; grid-template-columns:1.05fr .95fr; }
.contactImage { background:#9a9388 url('images/ladera-interior.webp') center/cover no-repeat; }
.contactPanel { background:var(--olive);color:#fff;padding:80px;display:flex;flex-direction:column;justify-content:space-between; }
.sectionNumber.light { color:rgba(255,255,255,.7); }
.contactKicker {font-family:Georgia,serif;font-size:clamp(40px,5vw,70px);line-height:1.06;letter-spacing:-.04em;max-width:650px;margin:0 0 55px;}
.email {display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:18px;font-size:14px;letter-spacing:.06em;}
.contactBottom {display:grid;grid-template-columns:1fr 1fr;font-size:11px;line-height:1.8;color:rgba(255,255,255,.74);}
footer { min-height:185px; padding:50px max(40px,calc((100% - 1440px)/2)); display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase; }
footer .brand { width:260px; }
footer p{text-align:center}footer>a:last-child{text-align:right}

@media (max-width:800px){
 .shell{width:min(100% - 40px,1440px)}.nav{height:96px}.nav .brand{width:225px}.nav nav{display:none}.heroCopy{bottom:42px}.hero h1{font-size:20vw}.heroFoot{align-items:center}.heroFoot p{width:70%;font-size:12px}.verticalLabel{display:none}
 .manifesto,.services{grid-template-columns:1fr;padding-block:100px}.sectionNumber{margin-bottom:35px}.lead{font-size:12vw;margin-bottom:60px}.manifestoGrid{grid-template-columns:1fr;gap:28px}
 .featuredWork{padding:90px 0 100px}.featuredHead{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.featuredImage img{aspect-ratio:4/3}.featuredImage span{align-items:start}.featuredImage i{max-width:130px;text-align:right;line-height:1.6}.portfolio{padding:90px 0 100px}.portfolioPage{padding-top:90px}.portfolioHead{grid-template-columns:1fr;gap:30px;margin-bottom:85px}.portfolioChapter{margin-top:80px}.portfolioGrid{grid-template-columns:1fr;gap:50px}.portfolioCard.cardWide{grid-column:auto}.portfolioCard img,.portfolioCard:not(.cardWide) img{aspect-ratio:4/3}.portfolioCard>span{font-size:17px}.lightbox{padding:18px}.lightbox img{max-width:96vw;max-height:80vh}
 .serviceList{margin-top:65px}.serviceList div{grid-template-columns:40px 1fr}.serviceList p{grid-column:2}.contact{grid-template-columns:1fr}.contactImage{min-height:70vw}.contactPanel{min-height:680px;padding:50px 28px}.contactBottom{gap:20px}
 footer{grid-template-columns:1fr 1fr;padding:42px 20px}footer .brand{width:210px}footer p{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
