:root{color-scheme:light;--paper:#F2F0EA;--ink:#111;--body:#4E4B46;--muted:#77736C;--line:#C8C0B4;--gutter:clamp(24px,5vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{opacity:.65}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}a{transition:opacity .2s}header{position:sticky;top:0;z-index:10;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px var(--gutter);border-bottom:1px solid var(--line)}.wordmark{display:inline-block;font-size:15px;letter-spacing:.22em;font-weight:500;line-height:1.5}.wordmark span{display:block;font-size:12px;letter-spacing:.35em}nav{display:flex;gap:clamp(20px,3vw,48px);font-size:14px}nav [aria-current=page]{text-decoration:underline;text-underline-offset:7px}main{max-width:1920px;margin:auto;padding:0 var(--gutter)}h1,h2,p,figure{margin:0}h1,h2{font-weight:400}h1{font-size:clamp(40px,6.8vw,108px);line-height:1.05;letter-spacing:-.045em}h2{font-size:24px;letter-spacing:-.02em}p{color:var(--body)}figure{margin:0}figure img{display:block;width:100%;height:auto}figure.hero{margin-top:32px}figure.hero img{max-height:84vh;object-fit:cover}figcaption{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-top:14px;color:var(--body)}.hero figcaption{display:none}.intro{padding:75px 0 100px;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end}.intro p{max-width:470px;font-size:clamp(18px,1.7vw,26px);line-height:1.5}.selected{padding:0 0 130px}.section-heading{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-bottom:28px}.section-heading h2,.section-heading span,.eyebrow{font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;line-height:1.6}.project-link{display:block}.project-caption{display:flex;justify-content:space-between;gap:24px;padding-top:22px}.project-caption h2{font-size:clamp(24px,2.5vw,38px);letter-spacing:.03em}.project-caption p{font-size:14px;margin-top:7px}.separator{padding:0 16px;color:var(--muted)}.listing{padding:75px 0 130px}.listing h1{margin:28px 0 65px}.back{display:inline-block;margin-top:30px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.project-title{padding:64px 0 40px}.project-title h1{margin:20px 0;font-size:clamp(36px,6.7vw,106px)}.project-title>p:last-child{font-size:20px}.metadata{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0}.metadata dt{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.metadata dd{font-size:16px;margin:8px 0 0}.statement{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;padding:85px 0 100px}.statement p{font-size:clamp(18px,1.5vw,23px);line-height:1.65;margin-bottom:24px}.statement p:last-child{margin:0}.image-section{margin-bottom:100px}.image-section>h2{margin-bottom:24px}.image-grid{display:grid;gap:50px 32px}.image-grid.paired{grid-template-columns:1fr 1fr}.paired figure:first-child:last-child,.paired figure:first-child:nth-last-child(odd){grid-column:1/-1}.project-note{border-top:1px solid var(--line);padding:32px 0 80px;font-size:14px}.project-note a{display:inline-block;margin-top:8px;text-decoration:underline;text-underline-offset:5px}.text-page{padding:80px 0 120px;min-height:65vh}.text-page h1{margin:35px 0 55px}.prose{max-width:710px;margin-left:auto;font-size:clamp(18px,1.6vw,24px)}.prose p+p{margin-top:26px}.contact .prose{margin-left:0;max-width:650px}.contact-pending{font-size:16px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px}footer{border-top:1px solid var(--line);padding:50px var(--gutter) 28px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:40px}.footer-top p{font-size:14px;margin-top:18px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;font-size:12px;color:var(--body)}.footer-bottom>div{text-align:right}.footer-bottom>div p{margin-top:12px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-100px;background:var(--ink);color:var(--paper);padding:12px;z-index:30}.skip:focus{top:10px;left:10px}@media(min-width:1800px){footer{padding-left:max(var(--gutter),calc((100vw - 1728px)/2));padding-right:max(var(--gutter),calc((100vw - 1728px)/2))}}@media(max-width:700px){header{padding-top:19px;padding-bottom:19px;gap:15px}.wordmark{font-size:12px;letter-spacing:.14em}.wordmark span{font-size:12px;letter-spacing:.2em}nav{gap:18px;font-size:14px}.intro{grid-template-columns:1fr;gap:35px;padding:45px 0 65px}.intro p{max-width:420px}.project-caption{flex-direction:column;gap:4px}.selected,.listing{padding-bottom:75px}.listing{padding-top:45px}.listing h1{margin-bottom:40px}.metadata{grid-template-columns:1fr 1fr}.statement{grid-template-columns:1fr;gap:25px;padding:50px 0 60px}.image-grid.paired{grid-template-columns:1fr}.image-section{margin-bottom:55px}.text-page{padding-top:45px;padding-bottom:75px}.text-page h1{margin-bottom:35px}.footer-top,.footer-bottom{flex-direction:column;gap:30px}.footer-bottom>div{text-align:left}.project-title{padding-top:40px}.hero{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}.hero img{min-height:0;max-height:none}figure.hero{margin-top:20px}.project-title>p:last-child{font-size:18px}}@media(max-width:370px){header{align-items:flex-start;flex-direction:column}header nav{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}

.floor-plan-section figure img{filter:grayscale(1) contrast(1.08)}
/* Project facts and restrained scroll reveals */
.project-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.location-note{font-size:14px;margin-top:18px}.budget{border-top:1px solid var(--line);padding:32px 0 75px;margin-bottom:25px}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:28px 0}.cost-grid dt{font-size:14px;color:var(--body)}.cost-grid dd{margin:12px 0 0;font-size:clamp(32px,4vw,58px);line-height:1.2;letter-spacing:-.025em}.cost-note{font-size:14px;max-width:920px;line-height:1.8}.design-notes{margin:0 0 85px}.design-intro{margin:0 0 35px;font-size:16px}.study-detail{border-top:1px solid var(--line)}.study-detail:last-child{border-bottom:1px solid var(--line)}.study-detail summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:clamp(18px,2vw,26px);line-height:1.4}.study-detail summary::-webkit-details-marker{display:none}.study-detail summary:after{content:'+';font-size:26px;font-weight:300}.study-detail[open] summary:after{content:'−'}.study-detail summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.detail-content{padding:0 0 30px}.detail-content>p{max-width:800px;margin-bottom:22px}.detail-content ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:45px;row-gap:12px;list-style:none;padding:0;margin:0;color:var(--body)}.detail-content li{font-size:16px;line-height:1.65;overflow-wrap:anywhere}.full-disclaimer h2{margin-bottom:22px}.full-disclaimer p{max-width:980px;margin-bottom:16px;line-height:1.8}.prose h2{margin:48px 0 20px}.scroll-reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal-pending{opacity:0;transform:translateY(16px)}@media(max-width:850px){.detail-content ul{grid-template-columns:1fr 1fr}}@media(max-width:700px){.project-facts{grid-template-columns:1fr 1fr}.cost-grid{grid-template-columns:1fr;gap:28px}.budget{padding-bottom:50px}.detail-content ul{grid-template-columns:1fr}.design-notes{margin-bottom:55px}}@media(prefers-reduced-motion:reduce){.scroll-reveal{transition:none}.reveal-pending{opacity:1;transform:none}}@media print{.reveal-pending{opacity:1;transform:none}}

/* Photograph annotations are real text beside the image. */
.image-grid.paired{grid-template-columns:minmax(0,1fr)}
figure.photo-study{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(190px,1fr);gap:clamp(24px,3vw,52px);align-items:start}
figure.photo-study img{width:100%;height:auto;max-height:none;object-fit:contain}
.photo-study figcaption,.hero.photo-study figcaption{display:block;padding:20px 0 0;border-top:1px solid var(--line);font-size:16px;letter-spacing:0;text-transform:none;line-height:1.6}
.photo-number{display:block;margin-bottom:18px;color:var(--muted);font-size:12px;letter-spacing:.14em}
.photo-title{display:block;color:var(--ink);font-size:clamp(18px,1.5vw,24px);line-height:1.3;letter-spacing:-.015em}
.photo-notes{list-style:none;margin:24px 0 0;padding:0;font-size:14px;line-height:1.65}
.photo-notes li+li{margin-top:8px}
.image-grid{row-gap:64px}
@media(max-width:850px){figure.photo-study{grid-template-columns:minmax(0,1fr);gap:20px}.photo-study figcaption,.hero.photo-study figcaption{padding-top:16px}.photo-notes{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}.photo-notes li+li{margin-top:0}.photo-number{margin-bottom:10px}}
@media(max-width:700px){figure.hero.photo-study{margin-left:0;margin-right:0}.image-grid{row-gap:42px}}
/* Casa Levante: single photographs with adjacent project notes. */
.project-link+.project-link{margin-top:90px}.levante-photo{display:grid;grid-template-columns:minmax(0,3.5fr) minmax(190px,1fr);gap:clamp(24px,3vw,52px);align-items:start}.levante-photo img{width:100%;height:auto;object-fit:contain}.levante-photo figcaption{border-top:1px solid var(--line);padding-top:20px;text-transform:none;letter-spacing:0}.levante-photo figcaption p{font-size:14px;line-height:1.7;margin-top:20px}.levante-photo.hero{display:block}.levante-photo.hero figcaption{display:none}.levante-gallery{display:grid;gap:70px}.levante-plan{margin-bottom:80px}.plan-link{display:block;background:#fff}.plan-link img{width:100%;height:auto;display:block}.room-schedule{border-collapse:collapse;width:100%;max-width:800px;font-size:16px}.room-schedule th,.room-schedule td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line)}.room-schedule th:last-child,.room-schedule td:last-child{text-align:right;white-space:nowrap}.room-schedule th{font-weight:500;color:var(--muted);font-size:14px}@media(max-width:850px){.levante-photo{grid-template-columns:1fr;gap:20px}.levante-photo figcaption{padding-top:16px}.levante-photo figcaption p{margin-top:12px}}@media(max-width:700px){.project-link+.project-link{margin-top:60px}.levante-gallery{gap:45px}}

/* Casa Cava: large architectural moments and paired domestic studies. */
.cava-photo img{width:100%;height:auto;display:block}.cava-photo.hero img{max-height:none;object-fit:contain}.cava-photo.hero figcaption{display:none}.cava-photo figcaption{display:grid;grid-template-columns:36px 1fr;gap:20px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;text-transform:none;letter-spacing:0}.cava-photo figcaption p{font-size:14px;margin-top:12px;line-height:1.7;max-width:700px}.cava-gallery{display:grid;gap:60px}.cava-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.cava-plans{margin-bottom:90px}.cava-drawing{margin:50px 0}.cava-drawing figcaption{font-size:14px}.cava-drawing .plan-link:hover{opacity:1}.cava-drawing .plan-link{border:1px solid var(--line)}@media(max-width:850px){.cava-pair{grid-template-columns:1fr;gap:45px}}@media(max-width:700px){.cava-plans{margin-bottom:55px}.cava-drawing{margin:30px 0}}

/* Homepage art direction: the image stays quiet; project identity and link sit in the caption. */
.project-link:hover{opacity:1}.project-link figure{overflow:hidden}.project-link figure img{transition:transform 900ms cubic-bezier(.2,.7,.2,1),opacity 350ms ease}.project-link:hover figure img{transform:scale(1.018)}.project-link:focus-visible{outline-offset:10px}.project-meta{display:flex;flex-direction:column;align-items:flex-end;gap:18px}.view-project{display:inline-block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px}.view-project span{font-size:16px;padding-left:7px}.intro h1{font-size:clamp(42px,5.4vw,84px);margin-top:20px;letter-spacing:-.05em}.intro-secondary{font-size:16px!important;line-height:1.7!important;margin-top:22px;color:var(--muted)!important;max-width:500px}.intro .eyebrow{color:var(--muted)}.scroll-reveal{will-change:opacity,transform}.scroll-reveal img{transition:transform 900ms cubic-bezier(.2,.7,.2,1)}.reveal-pending{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
@media(max-width:700px){.project-meta{align-items:flex-start;gap:12px}.intro h1{margin-top:14px}.intro-secondary{margin-top:18px!important}}

/* Homepage and project listing cards carry their identity in the title row; images remain unlabelled. */
.selected .project-link .hero figcaption,.listing .project-link .hero figcaption{display:none!important}
