:root{--paper:#f3f1eb;--ink:#252e2c;--muted:#68706b;--line:#d6d8ce;--accent:#d95b31;--pad:clamp(22px,4.2vw,76px);--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{background:none;border:0}h1,h2,h3,p,figure{margin:0}em{font-family:var(--serif);font-weight:400}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.05}::selection{background:#eac1a8}.skip-link{position:fixed;left:16px;top:-80px;padding:12px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:12px}.filter-definitions{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:98px;display:flex;justify-content:space-between;align-items:center;margin:0 var(--pad);border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:17px}.brand-mark{font-family:var(--serif);font-size:59px;line-height:1;letter-spacing:-.1em}.brand-mark span{color:var(--accent)}.brand-name{font-size:12px;line-height:1.5;letter-spacing:.08em;font-weight:600}.brand-name small{font-weight:400;font-size:8px;letter-spacing:.08em}.site-header nav{display:flex;gap:32px;align-items:center;font-size:12px}.site-header nav a,.share-button{padding:10px 0}.site-header nav a span{font-size:9px;color:var(--muted);margin-left:6px}.site-header nav a:hover,.share-button:hover{color:var(--accent)}.share-button{font-size:12px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:500;display:block;line-height:1.7}.orange-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:9px}.hero-scroll{height:185vh;min-height:1040px}.hero-sticky{position:sticky;top:0;height:100svh;min-height:600px;padding:26px var(--pad) 22px;display:flex;flex-direction:column;justify-content:space-between}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em;color:var(--muted)}.hero-grid{display:grid;grid-template-columns:.84fr 1.4fr;gap:5%;align-items:center;padding:35px 0}.hero-copy{padding-bottom:25px}.hero-copy .eyebrow{margin-bottom:32px}.hero-copy h1{font-size:clamp(62px,6.4vw,110px)}.hero-copy h1 em{letter-spacing:-.075em}.hero-copy p{font-size:13px;line-height:1.8;max-width:275px;color:var(--muted);margin-top:29px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;border-bottom:1px solid var(--ink);padding:0 0 12px;margin-top:28px}.text-link span{font-size:19px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.scroll-prompt{display:flex;gap:13px;align-items:center;font-size:9px;color:var(--muted);line-height:1.5;margin-top:53px}.scroll-glyph{font-size:23px;border:1px solid var(--line);padding:3px 9px;animation:scroll-nudge 2.5s ease-in-out infinite}.hero-figure{min-width:0}.render-stage{position:relative;overflow:hidden;aspect-ratio:1.4;background:#f5f4ed;isolation:isolate;--reveal:0%;--grid-opacity:.5;--line-opacity:1}.render-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.render-base{opacity:.08;filter:grayscale(1)}.render-linework{filter:url(#linework);opacity:var(--line-opacity);mix-blend-mode:multiply}.render-reveal{clip-path:inset(0 calc(100% - var(--reveal)) 0 0);will-change:clip-path}.drawing-grid{position:absolute;inset:0;background-image:linear-gradient(#6f817312 1px,transparent 1px),linear-gradient(90deg,#6f817312 1px,transparent 1px);background-size:40px 40px;opacity:var(--grid-opacity);pointer-events:none}.stage-corner{position:absolute;width:26px;height:26px;border-color:var(--accent);border-style:solid;z-index:2}.corner-tl{top:14px;left:14px;border-width:1px 0 0 1px}.corner-br{bottom:14px;right:14px;border-width:0 1px 1px 0}.stage-badge{position:absolute;left:26px;bottom:25px;display:flex;align-items:center;gap:14px;background:var(--paper);font-size:8px;letter-spacing:.1em;padding:9px 12px;z-index:2}.stage-cross{font-size:18px;color:var(--accent);line-height:1}.hero-figure figcaption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;padding-top:15px;color:var(--muted)}.hero-bottom{gap:25px}.progress-line{flex:1;height:1px;background:var(--line);max-width:47%}.progress-line span{display:block;height:1px;background:var(--accent);width:var(--progress,0%)}.section-pad{padding:115px var(--pad)}.projects-section{border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:.5fr 1fr .55fr;gap:40px;align-items:start;margin-bottom:78px}.section-heading h2,.process-intro h2{font-size:clamp(40px,4.3vw,70px)}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:230px;margin-top:9px}.project-row{display:grid;grid-template-columns:.5fr 1.55fr;gap:40px;margin-bottom:85px}.project-info{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:5px}.project-number{display:block;font-family:var(--serif);font-size:64px;color:#a2aaa0;font-style:italic;letter-spacing:-.06em}.project-type{font-size:9px;letter-spacing:.08em;color:var(--muted);margin-top:10px}.project-info h3{font-size:25px;font-weight:400;letter-spacing:-.03em;margin-bottom:10px}.project-info p{font-size:12px;color:var(--muted);line-height:1.8;max-width:210px}.project-cover{position:relative;overflow:hidden;aspect-ratio:1.85;display:block;background:#ddd}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.project-cover:hover img{transform:scale(1.035)}.cover-arrow{position:absolute;bottom:22px;right:22px;background:var(--paper);width:45px;height:45px;display:grid;place-items:center;font-size:24px;border-radius:50%;transition:background .2s,color .2s}.project-cover:hover .cover-arrow{background:var(--accent);color:white}.cover-caption{display:flex;justify-content:space-between;padding-top:14px;font-size:9px;color:var(--muted);letter-spacing:.05em}.project-row:last-child{margin-bottom:0}.process-section{background:#e9ece4;display:grid;grid-template-columns:1fr 1.35fr;column-gap:9%;border-top:1px solid #cdd3c7;border-bottom:1px solid #cdd3c7}.process-intro .eyebrow{margin-bottom:30px}.process-intro p{max-width:330px;font-size:13px;line-height:1.9;color:var(--muted);margin-top:30px}.process-drawing{align-self:center}.plan-draw{position:relative;aspect-ratio:1.2;overflow:hidden}.plan-draw img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.plan-foundation{opacity:.18}.plan-complete{position:absolute;inset:0;clip-path:inset(0 100% 0 0);transition:clip-path 2s cubic-bezier(.2,.6,.2,1)}.reveal-on-scroll.is-visible .plan-complete{clip-path:inset(0 0 0 0)}.drawing-label{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:.08em;border-top:1px solid #c9d0c2;padding-top:17px}.process-index{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:85px}.process-index>div{border-top:1px solid #c9d0c2;padding-top:20px}.process-index span{font-size:10px;color:var(--accent)}.process-index h3{font-size:18px;font-weight:400;margin-top:18px}.process-index p{font-size:11px;color:var(--muted);margin-top:10px}.closing{text-align:center;padding-top:125px;padding-bottom:125px}.closing .eyebrow{margin-bottom:35px}.closing>p{font-size:clamp(38px,4.9vw,77px);letter-spacing:-.055em;line-height:1.12}.site-footer{padding:40px var(--pad);background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:9px;letter-spacing:.05em}.footer-name{font-family:var(--serif);font-size:34px;letter-spacing:-.06em}.footer-name span{color:var(--accent)}.site-footer>a:last-child{font-size:11px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:12px 20px;background:var(--ink);color:white;font-size:12px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:40}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Project chapters */
.project-heading{padding:54px var(--pad) 65px}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:45px}.back-link:hover{color:var(--accent)}.project-title-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px}.project-title-row h1{font-size:clamp(62px,8.5vw,135px)}.project-title-row .eyebrow{margin-bottom:16px}.project-title-row>p{font-family:var(--serif);font-size:23px;font-style:italic;color:var(--muted);padding-bottom:9px}.project-hero-scroll{height:165vh;min-height:900px}.project-hero-sticky{position:sticky;top:0;height:100svh;padding:25px var(--pad);display:flex;flex-direction:column;justify-content:center}.project-render{aspect-ratio:2.03;max-height:77vh;width:100%}.project-render-caption{font-size:9px;letter-spacing:.1em;display:flex;justify-content:space-between;padding:16px 0;color:var(--muted)}.project-overview{display:grid;grid-template-columns:.55fr 1.2fr;gap:70px;border-top:1px solid var(--line);padding-bottom:85px}.project-facts{font-size:10px}.project-facts div{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:20px}.project-facts div:first-child{border-top:0}.project-facts dt{color:var(--muted)}.project-facts dd{margin:0;text-align:right}.overview-copy h2{font-size:clamp(36px,4vw,62px);margin-bottom:27px;max-width:650px}.overview-copy p{font-size:15px;line-height:1.9;max-width:650px;color:var(--muted)}.wide-image{margin:0 var(--pad) 80px}.wide-image>button{width:100%;padding:0;display:block;overflow:hidden}.wide-image img{width:100%;aspect-ratio:1.85;object-fit:cover}.wide-image.technical img{object-fit:contain;aspect-ratio:2.2;mix-blend-mode:multiply}.image-caption{display:flex;justify-content:space-between;font-size:10px;margin-top:15px;color:var(--muted)}.documentation{background:#e9ece4;padding-bottom:85px}.chapter-heading{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:45px}.chapter-heading h2{font-size:clamp(35px,3.8vw,58px);margin-top:18px}.chapter-heading>p{font-size:12px;color:var(--muted);max-width:220px;line-height:1.8;margin-top:29px}.drawing-tabs,.lighting-tabs{display:flex;gap:26px;border-bottom:1px solid #c9d0c2;margin-bottom:25px;overflow-x:auto}.drawing-tab,.lighting-tab{white-space:nowrap;font-size:11px;padding:15px 0;border-bottom:2px solid transparent}.drawing-tab[aria-selected="true"],.lighting-tab[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--accent)}.drawing-viewer{display:block;width:100%;height:clamp(350px,60vw,660px);position:relative;padding:20px;background:#f0f2eb;overflow:hidden}.drawing-viewer img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.expand-label{position:absolute;right:17px;bottom:17px;background:var(--paper);padding:9px 12px;font-size:10px}.drawing-viewer:hover .expand-label{color:var(--accent)}.drawing-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding-top:18px}.download-drawing{border-bottom:1px solid var(--muted);padding-bottom:5px}.download-drawing[hidden]{display:none}.lighting-study{padding-bottom:50px}.lighting-image{display:block;width:100%;padding:0;position:relative}.lighting-image img{width:100%;aspect-ratio:1.85;object-fit:cover}.gallery-section{padding-top:65px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.gallery-grid figure:nth-child(3):last-child{grid-column:1/-1}.gallery-grid button{width:100%;padding:0;background:#ebece5;overflow:hidden;position:relative}.gallery-grid img{width:100%;height:360px;object-fit:cover;transition:transform .5s}.gallery-grid button:hover img{transform:scale(1.03)}.gallery-grid .technical img{object-fit:contain;mix-blend-mode:multiply;padding:20px}.next-project{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line)}.next-project h2{font-size:clamp(42px,5.5vw,85px);margin-top:22px}.next-project .next-arrow{font-size:54px;font-weight:200;transition:transform .3s}.next-project:hover .next-arrow{transform:translate(10px,-10px);color:var(--accent)}.image-dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:100vw;max-height:100svh;margin:0;padding:55px 45px 25px;background:var(--paper);border:0;overflow:hidden}.image-dialog::backdrop{background:#17211ae6}.dialog-close{position:absolute;top:18px;right:30px;font-size:13px;padding:8px}.dialog-image-wrap{height:calc(100% - 55px);overflow:auto;display:flex;align-items:center;justify-content:center}.dialog-image-wrap img{width:100%;height:100%;object-fit:contain}.dialog-controls{height:55px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.dialog-controls button{font-size:27px;width:42px;height:42px}.dialog-caption{text-align:center;font-size:11px;line-height:1.6}.not-found{min-height:70vh;padding:100px var(--pad)}.not-found h1{font-size:64px;margin-bottom:20px}.noscript-message{padding:24px var(--pad)}
.render-traces{position:absolute;inset:0;width:100%;height:100%;opacity:var(--trace-opacity,.45);pointer-events:none}.render-traces path{fill:none;stroke:#46504b;stroke-width:.55;stroke-linecap:round;stroke-linejoin:round}.render-stage.traces-ready .render-base{opacity:.035}.render-stage.traces-fallback .render-linework{opacity:.65}.dialog-zoom{position:absolute;top:18px;left:30px;font-size:13px;padding:8px}.dialog-image-wrap.is-zoomed{display:block;overscroll-behavior:contain}.dialog-image-wrap.is-zoomed img{width:200%;height:auto;max-width:none;object-fit:initial}.project-hero-sticky{justify-content:flex-start;padding-top:35px}.mobile-scroll-hint{display:none}
@media(max-width:700px){.mobile-scroll-hint{display:block;font-size:7px;letter-spacing:.08em;color:var(--muted);margin-top:15px}}
@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1600px){.hero-sticky,.section-pad,.project-heading,.project-hero-sticky{padding-left:max(var(--pad),calc((100vw - 1550px)/2));padding-right:max(var(--pad),calc((100vw - 1550px)/2))}.site-header{margin-left:max(var(--pad),calc((100vw - 1550px)/2));margin-right:max(var(--pad),calc((100vw - 1550px)/2))}}
@media(max-width:1000px){.hero-grid{gap:3%;grid-template-columns:1fr 1.3fr}.hero-copy h1{font-size:66px}.section-heading{grid-template-columns:.65fr 1.2fr}.section-heading>p{grid-column:2}.project-row{grid-template-columns:.65fr 1.2fr}.section-pad{padding-top:85px;padding-bottom:85px}.project-title-row h1{font-size:80px}.process-section{gap:5%}.process-intro h2{font-size:43px}.gallery-grid img{height:280px}.project-overview{gap:40px}}
@media(max-width:700px){html{scroll-padding-top:25px}.site-header{height:80px}.brand-mark{font-size:45px}.brand{gap:11px}.brand-name{font-size:9px}.brand-name small{font-size:6px}.site-header nav{gap:17px;font-size:11px}.site-header nav a:nth-child(2),.site-header .share-button{display:none}.hero-scroll{height:165svh;min-height:960px}.hero-sticky{padding-top:20px;min-height:570px;justify-content:flex-start;gap:15px}.hero-meta{font-size:7px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:20px 0 0;flex:1;justify-content:center}.hero-copy{padding:0}.hero-copy .eyebrow{margin-bottom:16px;font-size:8px}.hero-copy h1{font-size:clamp(51px,13vw,75px);line-height:.97}.hero-copy h1 br{display:none}.hero-copy p{font-size:11px;margin-top:17px;max-width:300px;line-height:1.7}.hero-copy .text-link{margin-top:15px;padding-bottom:7px;font-size:10px}.scroll-prompt{display:none}.render-stage{aspect-ratio:1.45}.hero-figure figcaption{font-size:6px;padding-top:10px}.hero-bottom{padding-bottom:4px;font-size:6px;gap:10px}.hero-bottom .progress-line{max-width:30%}.section-pad{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:22px}.section-heading h2{font-size:43px}.section-heading>p{font-size:11px;margin-top:20px;max-width:290px}.project-row{display:flex;flex-direction:column;gap:22px;margin-bottom:52px}.project-info{display:grid;grid-template-columns:auto 1fr;gap:25px;align-items:center}.project-number{font-size:50px}.project-type{font-size:7px;margin-top:2px}.project-info h3{font-size:23px;margin-bottom:6px}.project-info p{font-size:11px;max-width:none}.project-info .text-link{display:none}.project-cover{aspect-ratio:1.35}.cover-caption{font-size:7px;line-height:1.5;gap:10px}.cover-arrow{width:36px;height:36px;font-size:22px;right:15px;bottom:15px}.process-section{display:block}.process-intro h2{font-size:43px}.process-intro p{font-size:12px;margin-top:23px}.process-drawing{margin-top:35px}.process-index{gap:17px;margin-top:40px}.process-index h3{font-size:14px;margin-top:13px}.process-index p{font-size:9px;line-height:1.6}.drawing-label{font-size:6px}.closing>p{font-size:42px}.site-footer{padding-top:30px;padding-bottom:30px;flex-wrap:wrap;gap:18px}.footer-name{font-size:30px}.site-footer>span{order:3;width:100%;font-size:7px}.site-footer>a:last-child{font-size:10px}.project-heading{padding-top:35px;padding-bottom:40px}.back-link{margin-bottom:35px;font-size:10px}.project-title-row{display:block}.project-title-row h1{font-size:clamp(43px,10.3vw,72px)}.project-title-row>p{font-size:20px;margin-top:22px}.project-hero-scroll{height:140svh;min-height:800px}.project-hero-sticky{min-height:500px;height:100svh;padding-top:30px;padding-bottom:30px}.project-render{aspect-ratio:1.02;max-height:68vh}.project-render-caption{font-size:7px;line-height:1.6;gap:15px}.project-overview{display:flex;flex-direction:column;gap:30px}.project-facts{font-size:10px}.overview-copy h2{font-size:40px}.overview-copy p{font-size:13px}.wide-image{margin-bottom:50px}.wide-image img{aspect-ratio:1.25}.wide-image.technical img{aspect-ratio:1.45}.chapter-heading{display:block;margin-bottom:23px}.chapter-heading>p{max-width:300px;font-size:11px;margin-top:20px}.chapter-heading h2{font-size:37px}.drawing-tabs,.lighting-tabs{gap:22px;margin-bottom:17px}.drawing-tab,.lighting-tab{font-size:10px}.drawing-viewer{height:370px;padding:10px}.drawing-actions{font-size:9px;line-height:1.6;align-items:start}.gallery-grid{grid-template-columns:1fr;gap:32px}.gallery-grid figure:nth-child(3):last-child{grid-column:auto}.gallery-grid img{height:auto;aspect-ratio:1.4}.lighting-image img{aspect-ratio:1.35}.next-project h2{font-size:39px}.next-project .next-arrow{font-size:35px}.image-dialog{padding:55px 14px 15px}.dialog-close{right:12px}.dialog-caption{font-size:10px}.stage-badge{left:18px;bottom:18px;font-size:7px}.image-caption{font-size:9px;line-height:1.7;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.render-reveal{clip-path:none}.render-linework,.drawing-grid,.render-traces{display:none}.plan-complete{clip-path:none}}

/* Home: one clear featured project, followed by an expandable project index. */
.home-feature{height:calc(100svh - 118px);min-height:630px;position:relative;margin:20px var(--pad) 0;overflow:hidden;color:#fff;background:#46544a;display:flex;flex-direction:column;justify-content:space-between;padding:30px clamp(26px,4vw,64px)}
.home-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.home-feature-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,24,24,.72),rgba(14,24,24,.3) 54%,rgba(14,24,24,.06)),linear-gradient(0deg,rgba(14,24,24,.5),transparent 40%)}
.home-feature-top,.home-feature-copy,.home-feature-next{position:relative;z-index:1}
.home-feature-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em}
.home-feature-copy{max-width:730px;margin-top:auto;margin-bottom:clamp(35px,8vh,100px)}
.home-feature-copy .eyebrow{margin-bottom:22px;font-size:10px}
.home-feature-copy h1{font-size:clamp(68px,8vw,132px);line-height:.94;text-wrap:balance}
.home-feature-copy p{font-size:15px;line-height:1.7;max-width:460px;margin-top:27px;color:#f5f3ed}
.feature-link{display:inline-flex;align-items:center;gap:36px;border:1px solid #f5f3ed;padding:15px 19px;margin-top:30px;font-size:12px;transition:background .2s,color .2s}
.feature-link:hover{background:var(--paper);color:var(--ink)}
.feature-link span{font-size:21px;line-height:1}
.home-feature-next{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.12em;width:max-content}
.home-feature-next span{font-size:23px;line-height:1}
.home-intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;padding-top:110px;padding-bottom:110px}
.home-intro p{font-size:clamp(32px,3.6vw,59px);line-height:1.15;letter-spacing:-.045em;max-width:900px}
.projects-section{border-top:1px solid var(--line)}
.projects-section .section-heading{grid-template-columns:.8fr 1.5fr 1fr;margin-bottom:55px}
.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
.project-card{min-width:0}
.project-card-image{position:relative;aspect-ratio:1.34;overflow:hidden;background:#dde0d8}
.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vivienda-cover img{object-position:50% 50%}
.project-card-link:hover .project-card-image img{transform:scale(1.035)}
.project-card .cover-arrow{background:var(--paper)}
.project-card-link:hover .cover-arrow{background:var(--accent);color:#fff}
.project-card-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:9px;letter-spacing:.08em}
.project-card-meta .project-card-entry{flex-shrink:0;padding:10px 16px;border-radius:999px;background:#000;color:#fff;font-size:11px;letter-spacing:.07em;line-height:1;white-space:nowrap;transition:transform .25s ease,background .25s ease}
.project-card-link:hover .project-card-entry{background:var(--accent);transform:translateY(-2px)}
.project-card h3{font-size:clamp(27px,3vw,46px);font-weight:400;letter-spacing:-.04em;margin-top:24px}
.project-card p{font-size:16px;color:var(--muted);line-height:1.65;margin-top:10px}
@media(max-width:700px){
  .home-feature{height:calc(100svh - 95px);min-height:610px;margin-top:15px;padding:22px}
  .home-feature>img{object-position:55% center}
  .home-feature-shade{background:linear-gradient(0deg,rgba(14,24,24,.75),rgba(14,24,24,.12) 80%),linear-gradient(90deg,rgba(14,24,24,.35),transparent 70%)}
  .home-feature-top{font-size:8px}.home-feature-top span:last-child{display:none}
  .home-feature-copy{margin-bottom:55px}.home-feature-copy .eyebrow{font-size:8px;margin-bottom:15px}
  .home-feature-copy h1{font-size:clamp(53px,13vw,76px)}
  .home-feature-copy p{font-size:12px;margin-top:20px;max-width:340px}
  .feature-link{font-size:11px;margin-top:24px;padding:12px 14px}
  .home-feature-next{font-size:8px}
  .home-intro{display:block;padding-top:70px;padding-bottom:70px}.home-intro p{font-size:35px;margin-top:22px}
  .projects-section .section-heading{display:block;margin-bottom:34px}
  .project-list{grid-template-columns:1fr;gap:55px}
  .project-card-image{aspect-ratio:1.23}
  .project-card-meta{font-size:8px}
  .project-card h3{font-size:32px;margin-top:15px}
  .project-card p{font-size:15px}
}

/* Plano Cero identity and the scroll-led cover. */
:root{--paper:#fff;--ink:#111;--muted:#6b6b68;--line:#deded9;--accent:#858b82}
.site-header{margin:0;padding:0 var(--pad);background:#000;color:#fff;border:0;height:88px}
.brand{gap:15px}.brand-symbol{position:relative;display:block;width:72px;height:72px;overflow:hidden;flex-shrink:0;background:#000}.brand-symbol img{position:absolute;width:150px;max-width:none;left:-39px;top:-25px}.brand-name{font-size:14px;font-weight:400;letter-spacing:.23em}.brand-name small{font-size:8px;letter-spacing:.1em;color:#bcbcb8}
.site-header nav a span{color:#aaa}.site-header nav a:hover,.share-button:hover{color:#c1c8bd}
.site-footer{background:#000}.footer-name{font-family:var(--sans);font-size:22px;letter-spacing:.16em;font-weight:300}
.documentation{background:#f1f1ee}.drawing-viewer{background:#fff}.render-stage{background:#fff}
.cover-story{height:205svh;min-height:1300px;--cover-mix:0;--cover-progress:0%}
.cover-story-sticky{position:sticky;top:0;height:calc(100svh - 88px);min-height:600px;padding:30px var(--pad) 24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:#fff}
.cover-story-meta{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.13em;color:var(--muted)}
.cover-story-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;padding-top:12px}
.cover-story-heading .eyebrow{font-size:9px;margin-bottom:18px}.cover-story-heading h1{font-size:clamp(58px,6.5vw,106px);line-height:.95}.cover-story-heading h1 br{display:none}.cover-story-heading>p{font-size:13px;line-height:1.8;max-width:275px;padding-bottom:5px;color:var(--muted)}
.cover-story-figure{margin:auto 0;min-height:0;width:100%}
.cover-story-stage{position:relative;width:100%;aspect-ratio:3/1;overflow:hidden;background:#fff}
.cover-story-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-sketch{opacity:var(--cover-sketch-opacity,1)}.cover-render{opacity:var(--cover-render-opacity,0);will-change:opacity}
.cover-story-figure figcaption{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:14px;margin-top:20px;font-size:8px;letter-spacing:.12em;color:var(--muted)}
.cover-story-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:8px;letter-spacing:.08em;color:var(--muted);padding-bottom:15px}
.cover-story-footer>a{color:var(--ink);padding-bottom:8px;border-bottom:1px solid var(--ink)}
.cover-progress{flex:1;max-width:28%;height:1px;background:var(--line)}.cover-progress>span{display:block;height:1px;width:var(--cover-progress);background:var(--ink)}
.about-band{background:#000;color:#fff;display:grid;grid-template-columns:.8fr 1.25fr;column-gap:12%;row-gap:55px;align-items:center;padding-top:105px;padding-bottom:105px}
.about-kicker{grid-column:1/-1;display:flex;align-items:center;gap:45px}.about-line{flex:1;height:1px;background:#343434}
.about-portrait{position:relative;aspect-ratio:.85;background:#0b0b0b;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #252525}
.about-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 18%;opacity:1}.portrait-note{position:absolute;bottom:22px;left:24px;color:#777;font-size:8px;line-height:1.8;letter-spacing:.12em}
.about-copy .eyebrow{color:#b9b9b4;margin-bottom:28px}.about-copy h2{font-size:clamp(38px,4.8vw,77px);line-height:1.1;letter-spacing:-.045em;max-width:750px}.about-copy p{font-size:14px;line-height:1.9;color:#b9b9b4;margin-top:32px;max-width:510px}
.architecture-statement{padding-top:120px;padding-bottom:120px}.architecture-statement .eyebrow{margin-bottom:45px}.architecture-statement h2{font-size:clamp(43px,6.6vw,104px);line-height:1.1;max-width:1200px}.architecture-statement p{font-size:14px;line-height:1.9;max-width:450px;margin:42px 0 0 auto;color:var(--muted)}
.text-reveal .reveal-word{display:inline-block;opacity:var(--word-opacity,.18);transition:opacity .12s linear}
.text-enter .reveal-word{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(5px);transition:opacity 1.2s cubic-bezier(.33,1,.68,1),transform 1.2s cubic-bezier(.33,1,.68,1),filter 1.2s ease;transition-delay:var(--word-delay)}.text-enter.is-visible .reveal-word{opacity:1;transform:translateY(0);filter:blur(0)}
.scroll-image-transition{position:relative;isolation:isolate}.scroll-image-transition>.scroll-sketch{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:calc(1 - var(--image-mix,0));pointer-events:none;z-index:1}.derived-sketch{filter:url(#linework)}.scroll-image-transition .cover-arrow,.scroll-image-transition .expand-label{z-index:2}
.project-placeholder{background:#ededeb;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(#d8d8d633 1px,transparent 1px),linear-gradient(90deg,#d8d8d633 1px,transparent 1px);background-size:40px 40px}
.project-placeholder>span{font-size:9px;letter-spacing:.13em;color:#747471}.project-placeholder strong{font-size:clamp(32px,4vw,65px);font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.04em;max-width:350px}.upcoming-project .project-card-meta{color:#888}
.contact-band{background:#000;color:#fff;padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.contact-band .eyebrow{margin-bottom:25px;color:#aaa}.contact-band h2{font-size:clamp(40px,5vw,78px)}.contact-band>div:last-child{justify-self:end;max-width:330px}.contact-band p{font-size:13px;line-height:1.8;color:#aaa}.contact-band .text-link{border-color:#fff;font-size:13px}
@media(max-width:1000px){.cover-story-heading h1 br{display:block}.cover-story-heading h1{font-size:68px}.about-band{column-gap:7%}}
@media(max-width:700px){
  .site-header{height:74px;padding:0 20px}.brand-symbol{width:48px;height:52px}.brand-symbol img{width:105px;left:-28px;top:-17px}.brand{gap:9px}.brand-name{font-size:10px;letter-spacing:.18em}.brand-name small{font-size:6px}.home-page .site-header nav a:first-child{display:none}.home-page .site-header nav a:nth-child(2){display:inline-block}.site-header nav{gap:12px;font-size:10px}
  .cover-story{height:190svh;min-height:1200px}.cover-story-sticky{height:calc(100svh - 74px);min-height:610px;padding-top:24px;padding-bottom:24px;gap:20px}.cover-story-meta{font-size:7px}.cover-story-meta span:last-child{display:none}
  .cover-story-heading{display:block;padding-top:8px}.cover-story-heading .eyebrow{font-size:7px;margin-bottom:18px}.cover-story-heading h1{font-size:58px}.cover-story-heading>p{font-size:11px;max-width:250px;margin-top:20px;padding:0;line-height:1.7}
  .cover-story-stage{aspect-ratio:1.6}.cover-story-stage img{object-fit:contain;object-position:center}.cover-story-figure{margin:auto 0}.cover-story-figure figcaption{font-size:6px;gap:12px;margin-top:13px;padding-top:12px}.cover-story-figure figcaption span:nth-child(2){display:none}
  .cover-story-footer{font-size:7px;gap:12px;align-items:start;line-height:1.7;padding:0}.cover-progress{display:none}.cover-story-footer>span{max-width:130px}.cover-story-footer>a{max-width:130px;text-align:right}
  .about-band{display:block;padding-top:65px;padding-bottom:65px}.about-kicker{margin-bottom:35px}.about-portrait{width:70%;max-width:350px;margin-bottom:40px}.about-copy .eyebrow{font-size:8px;margin-bottom:20px}.about-copy h2{font-size:43px}.about-copy p{font-size:12px;margin-top:25px}.portrait-note{font-size:7px;left:18px;bottom:16px}
  .architecture-statement{padding-top:70px;padding-bottom:70px}.architecture-statement .eyebrow{font-size:8px;margin-bottom:28px}.architecture-statement h2{font-size:46px}.architecture-statement p{font-size:12px;margin-top:28px}
  .project-placeholder{padding:25px}.project-placeholder strong{font-size:43px}.contact-band{display:block;padding-top:65px;padding-bottom:65px}.contact-band h2{font-size:45px}.contact-band>div:last-child{margin-top:35px}.contact-band p{font-size:12px}.footer-name{font-size:18px}
}
@font-face{font-family:'Plano Display';src:url('assets/fonts/BarlowSemiCondensed-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Plano Identity';src:url('assets/fonts/PlanoIdentity-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
:root{--display:'Plano Display','Arial Narrow',Arial,sans-serif}
h1,h2,h3,.brand-name,.footer-name,.project-placeholder strong{font-family:var(--display);font-weight:300;letter-spacing:.025em}
h1 em,h2 em,h3 em,.project-placeholder strong{font-family:var(--display);font-style:normal;font-weight:300;letter-spacing:inherit}
.brand-name,.footer-name{letter-spacing:.23em}
.brand-name{font-size:19px}
.brand-name,.footer-name,.brand-name small,.site-footer>.footer-credit{font-family:'Plano Identity',var(--display);font-weight:300;font-synthesis:none;letter-spacing:.23em}
.brand-name small{font-size:12px;color:#c7c7c7}
.brand-wordmark{display:block;white-space:nowrap;line-height:1.5}
.brand-name .brand-wordmark{margin-bottom:4px}
.brand-name small{display:block;white-space:nowrap}
@media(max-width:700px){.brand-name .brand-wordmark{margin-bottom:4px}}
.site-footer>.footer-credit{font-size:14px;color:#c7c7c7}
@media(max-width:700px){.site-footer>.footer-credit{font-size:12px}.brand-name{font-size:14px}.brand-name small{font-size:10px;letter-spacing:.12em}}
.cover-story-heading h1{font-size:clamp(58px,6.5vw,106px);letter-spacing:.035em;text-transform:uppercase;line-height:1.05}
.cover-story{height:auto;min-height:0;background:#000}
.cover-story-sticky{position:sticky;top:0;height:auto;min-height:0;justify-content:flex-start;gap:20px;padding-top:24px;padding-bottom:24px}
.cover-story-heading{padding-top:0}
.cover-story-heading .eyebrow{margin-bottom:12px}
.cover-story-figure{margin:4px 0 0}
.cover-scroll-hint{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:.08em;line-height:1.4}
.cover-scroll-hint span{font-size:24px;line-height:1}
.plan-scroll[data-active="false"] .plan-scroll-hint{display:none}
@media(max-width:700px){.plan-sequence-caption .plan-percent{display:block}}
.cover-sketch{opacity:var(--cover-sketch-opacity,.085);mask-image:none}
.cover-architectural-drawing{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:var(--cover-drawing-opacity,1);pointer-events:none}
.cover-traces{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#252525;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;opacity:var(--cover-trace-opacity,1);pointer-events:none}
.cover-story-stage.traces-fallback .cover-sketch{mask-image:none;opacity:max(.15,var(--cover-sketch-opacity,0))}
.cover-middle{opacity:var(--cover-middle-opacity,0);will-change:opacity}
.cover-story-figure figcaption{margin-top:14px;padding-top:12px}
.cover-story-footer{padding-bottom:0}
@media(max-width:700px){.cover-story-sticky{gap:16px;padding-top:20px;padding-bottom:20px}.cover-story-heading .eyebrow{margin-bottom:12px}.cover-story-heading>p{margin-top:12px}.cover-story-stage{aspect-ratio:3/1}.cover-story-figure{margin:4px 0 0}}
@media(prefers-reduced-motion:reduce){.cover-sketch,.cover-traces,.cover-architectural-drawing,.cover-middle,.scroll-sketch{opacity:0}.cover-render{opacity:1}.text-reveal .reveal-word,.text-enter .reveal-word{opacity:1;transform:none;filter:none}.cover-story{height:auto;min-height:0}.cover-story-sticky{position:relative}}

/* Project sequences use the same pinned chapter and phase variables as the home. */
.project-card-sequence{background:#fff;aspect-ratio:1.34}
.project-card-sequence img,.project-card-sequence .cover-architectural-drawing{transform:scale(1.12);transform-origin:50% 50%;transition:none;object-fit:cover;object-position:center}
.project-card-link:hover .project-card-sequence img{transform:scale(1.12)}
.project-card-sequence .cover-architectural-drawing{stroke-width:.88}
.project-card-sequence .cover-arrow{z-index:2}
@media(max-width:700px){.project-card-sequence{aspect-ratio:1.23}}
.project-transition{background:#fff;border-bottom:1px solid var(--line)}
.documentation,.drawing-viewer{background:#fff}
#project-content[data-project]>.has-gallery-study{padding:0}
.gallery-study-sticky{position:sticky;top:var(--header-height);background:#fff}
.gallery-study-sticky .chapter-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;background:#000;color:#fff;padding:20px var(--pad);margin:0}
.gallery-study-sticky .chapter-heading h2{font-size:clamp(30px,3.1vw,48px);margin-top:12px}
.gallery-study-sticky .chapter-heading>p{font-size:16px;line-height:1.6;color:#ddd;max-width:580px}
.gallery-study-nav{display:flex;gap:28px;padding:14px var(--pad) 0;font-size:14px}
.gallery-study-nav button{padding:8px 0;border-bottom:2px solid transparent}
.gallery-study-nav button[aria-pressed="true"]{border-color:#111}
.gallery-study-frames{display:grid;padding:20px var(--pad)}
.gallery-study-frame{grid-area:1/1;visibility:hidden;pointer-events:none}
.gallery-study-frame.is-active{visibility:visible;pointer-events:auto}
.gallery-study-frame button{display:block;width:100%;position:relative}
.gallery-study-frame img{height:clamp(160px,calc(100svh - var(--header-height) - var(--gallery-heading-height,160px) - 145px),680px);width:100%;object-fit:contain;background:#fff}
@media(max-width:700px){.gallery-study-sticky .chapter-heading{grid-template-columns:1fr;gap:10px;padding:16px var(--pad)}.gallery-study-sticky .chapter-heading h2{font-size:28px}.gallery-study-sticky .chapter-heading>p{font-size:14px;line-height:1.45}.gallery-study-nav{gap:18px}}
@media(prefers-reduced-motion:reduce){.gallery-study-sticky{position:relative;top:0}.gallery-study-frames{display:block}.gallery-study-frame{visibility:visible;pointer-events:auto;margin-bottom:24px}}
.documentation-static-sticky{position:sticky;top:calc(var(--header-height) + 24px);background:#fff}
.documentation-static-sticky .drawing-viewer{height:clamp(180px,calc(100svh - var(--header-height) - var(--documentation-heading-space,220px) - 45px),680px);padding:0}
.documentation-static-sticky .drawing-viewer img{width:100%;height:100%;object-fit:contain;filter:none}
@media(prefers-reduced-motion:reduce){.documentation-static-sticky{position:relative;top:0}}
.plan-sticky{position:sticky;top:24px;background:#fff}
.plan-stage{height:min(72svh,680px);padding:0;background:#fff}
.plan-stage img,.plan-geometry{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.plan-ghost{opacity:.075}.plan-architecture{opacity:var(--plan-architecture,0)}.plan-equipment{opacity:var(--plan-equipment,0)}
.plan-stage #active-drawing{opacity:var(--plan-complete,0)}
.plan-geometry{fill:none;stroke:#000;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:var(--plan-geometry,1);pointer-events:none}
.plan-sequence-caption{display:flex;justify-content:space-between;gap:18px;font-size:8px;letter-spacing:.08em;line-height:1.7;padding:17px 0;border-top:1px solid #ddd}
.plan-stage .expand-label{z-index:2}
.plan-scroll[data-active="false"] .plan-sticky{position:relative;top:0}
.plan-scroll[data-active="false"] .plan-ghost,.plan-scroll[data-active="false"] .plan-architecture,.plan-scroll[data-active="false"] .plan-equipment,.plan-scroll[data-active="false"] .plan-geometry,.plan-scroll[data-active="false"] .plan-sequence-caption{display:none}
.plan-scroll[data-active="false"] #active-drawing{opacity:1}
@media(max-width:700px){.plan-stage{height:60svh;max-height:560px}.plan-sequence-caption{font-size:7px}.plan-sequence-caption span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.plan-sticky{position:relative;top:0}.plan-ghost,.plan-architecture,.plan-equipment,.plan-geometry{display:none}.plan-stage #active-drawing{opacity:1}}
.project-transition .cover-story-sticky{padding:24px var(--pad);background:#fff}
.project-transition .cover-story-stage{display:block;padding:0;margin:0 auto;width:min(100%,calc((100svh - 150px)*var(--view-ratio)));aspect-ratio:var(--view-ratio)}
.project-transition .cover-story-stage img{object-fit:contain}
.school-entrance-sign{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}
.school-entrance-sign text{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:600;fill:#39312b;filter:drop-shadow(.5px .7px .35px rgba(0,0,0,.35))}
#project-content[data-project]>.school-interiors.section-pad{padding-top:0}
.about-copy p+p{margin-top:18px}
body#inicio .about-copy p{font-size:18px;line-height:1.75;max-width:580px}
body#inicio .eyebrow{font-size:12px}
body#inicio .about-copy .eyebrow{font-size:12px}
body#inicio .contact-band{padding-top:35px;padding-bottom:35px;align-items:center;gap:24px}
body#inicio .contact-band .eyebrow{margin-bottom:12px}
body#inicio .contact-band h2{font-size:clamp(36px,4vw,58px)}
body#inicio .contact-band .text-link{margin-top:12px;font-size:16px;padding-bottom:8px}
body#inicio .contact-band p{font-size:16px}
body#inicio .site-footer{padding-top:24px;padding-bottom:24px}
body#inicio .site-footer>a[href*="instagram"],body#inicio .site-footer>a[href*="linkedin"]{font-size:16px}
.contact-socials{display:flex;flex-wrap:wrap;gap:12px 24px}
@media(max-width:700px){body#inicio .about-copy p{font-size:17px}body#inicio .contact-band>div:last-child{margin-top:18px}body#inicio .eyebrow,body#inicio .about-copy .eyebrow{font-size:11px}.project-card-meta{gap:10px}.project-card-meta .project-card-entry{font-size:10px;padding:9px 12px}}
.thesis-heading h1{font-size:clamp(27px,3.5vw,54px);max-width:none;margin:12px 0 10px;font-family:var(--display);line-height:1.12}
.thesis-location{font-family:var(--serif);font-size:24px;font-style:italic;color:var(--muted)}
.thesis-lead{font-size:19px;line-height:1.7;max-width:860px;margin:28px 0}
.thesis-figure{margin:24px 0 0}
.thesis-figure button{display:block;width:100%;padding:0;position:relative;background:#f7f6f2}
.thesis-figure img{width:100%;height:auto;max-height:64svh;object-fit:contain}
.thesis-program-composition .thesis-figure img{max-height:none}
.thesis-problem-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:48px;align-items:start}
.thesis-problem-copy{padding-top:clamp(12px,2vw,26px)}
.thesis-problem-copy h2{font-size:clamp(34px,3.3vw,52px);margin:16px 0 22px}
.thesis-problem-copy>p{font-size:17px;line-height:1.75;color:var(--muted);max-width:440px}
.thesis-bisagra-animation{max-width:760px;margin:0;min-width:0}
.thesis-bisagra-animation .thesis-image-stage>button{background:#fff;padding:4%}
.thesis-bisagra-animation picture,.thesis-bisagra-animation img{display:block}
.thesis-bisagra-animation img{max-height:none}
.thesis-bisagra-layers{display:block;position:relative;aspect-ratio:808/444}
.thesis-bisagra-layers .bisagra-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation-duration:2.6s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.45,0,.55,1)}
.bisagra-layer-0{animation-name:bisagra-norte}
.bisagra-layer-2{animation-name:bisagra-centro}
@keyframes bisagra-norte{0%,100%{transform:translate(7.920792%,7.207207%)}50%{transform:translate(0,0)}}
@keyframes bisagra-centro{0%,100%{transform:translate(-8.663366%,-7.882883%)}50%{transform:translate(0,0)}}
@media(max-width:800px){.thesis-problem-layout{grid-template-columns:1fr;gap:24px}.thesis-problem-copy>p{max-width:620px;font-size:16px}.thesis-bisagra-animation{width:100%;max-width:650px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){.thesis-bisagra-layers .bisagra-layer{animation:none}}
.thesis-cover .thesis-image-stage{position:relative;background:#fff}
.thesis-cover button{background:#fff}
.thesis-cover img{max-height:none;display:block}
.thesis-cover-copy{position:absolute;top:5%;left:3%;width:42%;max-width:540px;margin:0;padding:clamp(16px,2vw,28px);background:transparent;font-size:clamp(15px,1.4vw,19px);line-height:1.65;color:var(--ink);pointer-events:none}
@media(max-width:700px){.thesis-cover .thesis-image-stage{display:flex;flex-direction:column}.thesis-cover-copy{position:static;order:-1;width:auto;max-width:none;margin:0;padding:18px 0;font-size:16px;pointer-events:auto}.thesis-cover{border-top:1px solid var(--line)}}
.thesis-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:30px 0 0;font-size:14px;line-height:1.7}
.thesis-facts div{border-top:1px solid var(--line);padding-top:15px}
.thesis-facts dt{color:var(--muted);font-size:11px;margin-bottom:5px}
.thesis-facts dd{margin:0}
#project-content[data-project="tesis"]>.thesis-index{display:flex;flex-wrap:wrap;gap:16px 28px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.thesis-index a:hover{color:var(--accent)}
.thesis-chapter{scroll-margin-top:calc(var(--header-height) + 20px)}
.thesis-chapter .chapter-heading{grid-template-columns:1fr 1fr;align-items:start;gap:40px}
.thesis-chapter .chapter-heading>p{font-size:17px;line-height:1.75;color:var(--muted);max-width:620px}
.thesis-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:38px}
.thesis-decisions article{border-top:1px solid var(--line);padding-top:20px}
.thesis-decisions article>span{font-size:12px;color:var(--muted)}
.thesis-decisions h3,.thesis-living h3{font-size:25px;font-weight:400;line-height:1.2;margin:18px 0}
.thesis-decisions p,.thesis-living p,.thesis-details p{font-size:16px;line-height:1.75;color:var(--muted)}
.thesis-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:32px}
.thesis-details summary{cursor:pointer;font-size:14px}
.thesis-details p{max-width:900px;margin-top:18px}
.thesis-living{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);margin-top:32px;padding-top:24px}
.thesis-living h3{margin:0}
.thesis-asset-slot{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px dashed #bdbdbd;background:#fafaf8;color:var(--muted)}
.thesis-asset-slot>p{font-size:30px;font-weight:300}
.thesis-diagram-row{display:grid;gap:24px;margin:30px 0}
.thesis-diagram-row figure{margin:0;min-width:0}
.thesis-diagram-row button{display:flex;align-items:center;justify-content:center;position:relative;width:100%;padding:12px;background:white}
.thesis-diagram-row img{width:auto;max-width:100%;height:auto;object-fit:contain}
.thesis-diagram-row figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:var(--muted)}
.thesis-diagram-title{display:block;font-size:18px;color:var(--ink);line-height:1.4}
.thesis-diagram-copy{font-size:15px;line-height:1.75;margin-top:10px;max-width:550px}
.thesis-mobility{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.thesis-mobility h3{font-size:20px;font-weight:400;margin-bottom:12px}
.thesis-mobility p{max-width:900px;font-size:16px;line-height:1.75;color:var(--muted)}
.thesis-diagram-expand{position:absolute;right:8px;bottom:8px;font-size:14px}
.thesis-connections{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:24px}
.thesis-connections button{height:clamp(150px,20vw,300px)}
.thesis-connections img{max-height:100%}
.thesis-graphic-copy{font-size:16px;line-height:1.75;max-width:800px;color:var(--muted)}
.thesis-support-diagram{margin-top:36px}
.thesis-support-icons,.thesis-massing{grid-template-columns:repeat(4,minmax(0,1fr))}
.thesis-support-icons{margin-bottom:18px}
.thesis-support-icons button{height:165px}
.thesis-support-icons img{max-height:145px}
.thesis-support-icons figcaption{text-align:center;color:var(--ink)}
.thesis-support-base{text-align:center;background:#ead7b5;padding:16px;font-size:13px;font-weight:500;letter-spacing:.12em}
.thesis-massing{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}
.thesis-massing button{height:210px}
.thesis-massing img{max-height:190px}
@media(max-width:700px){.thesis-connections{grid-template-columns:1fr;gap:28px}.thesis-connections button{height:auto;min-height:150px}.thesis-support-icons,.thesis-massing{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.thesis-massing button{height:175px}.thesis-massing img{max-height:155px}.thesis-support-icons button{height:130px}.thesis-support-icons img{max-height:110px}}
@media(max-width:700px){.thesis-heading h1{font-size:43px}.thesis-lead{font-size:17px}.thesis-facts,.thesis-decisions,.thesis-living{grid-template-columns:1fr;gap:24px}.thesis-chapter .chapter-heading{grid-template-columns:1fr;gap:20px}.thesis-chapter .chapter-heading>p{font-size:16px}.thesis-figure img{max-height:none}.thesis-asset-slot{min-height:200px}}
.cv-section{border-top:1px solid var(--line);scroll-margin-top:110px}
.cv-page .cv-back{padding:36px var(--pad) 0}
.cv-page .cv-back .back-link{margin-bottom:0}
.cv-page .cv-section{border-top:0;padding-top:40px}
.cv-page .site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:700px){.cv-page .site-header nav{gap:14px}.cv-page .site-header nav a span{display:none}.cv-page .cv-back{padding-top:24px}.cv-page .cv-section{padding-top:28px}}
.cv-layout{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.5fr);gap:70px;margin-top:45px}
.cv-section h3{font-size:22px;font-weight:400;letter-spacing:-.02em;margin:0 0 24px}
.cv-sidebar{min-width:0;font-size:14px;line-height:1.8}
.cv-tools{list-style:none;padding:0;margin:0 0 40px;color:var(--muted)}
.cv-sidebar>a{display:block;overflow-wrap:anywhere;margin-top:10px}
.cv-sidebar>a:hover{color:var(--accent)}
.cv-content>h3:not(:first-child){margin-top:48px}
.cv-entry{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding:24px 0}
.cv-date{font-size:11px;letter-spacing:.04em;line-height:1.7;color:var(--muted)}
.cv-entry h4{font-size:20px;font-weight:400;line-height:1.3;margin:0 0 8px}
.cv-entry .cv-organization{font-size:14px;line-height:1.6;margin-bottom:12px}
.cv-entry div>p:last-child{font-size:15px;line-height:1.75;color:var(--muted)}
.cv-projects{list-style:none;margin:0;padding:0;font-size:15px;line-height:1.6}
.cv-projects li{border-top:1px solid var(--line);padding:18px 0}
.cv-projects span{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.cv-download{border-top:1px solid var(--line);margin-top:40px;padding-top:12px}
@media(max-width:700px){.cv-layout{grid-template-columns:1fr;gap:40px;margin-top:30px}.cv-sidebar{order:2}.cv-entry{grid-template-columns:1fr;gap:10px}.cv-entry h4{font-size:19px}.home-page .site-header nav{gap:14px}.home-page .site-header nav a span{display:none}}
.school-interiors-grid{border-top:1px solid var(--line);padding-top:40px}
.school-interiors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.school-interiors-grid figure{margin:0;min-width:0}
.school-interiors-grid button{display:block;width:100%;padding:0;position:relative;overflow:hidden}
.school-interiors-grid img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
@media(max-width:700px){.school-interiors-grid{grid-template-columns:1fr;gap:32px}}
.gallery-grid.single-view{grid-template-columns:1fr}
.explanatory-study .chapter-heading{grid-template-columns:1fr 1fr;align-items:center;margin-bottom:28px}
.explanatory-study .chapter-heading>p{font-size:16px;line-height:1.65;color:var(--muted);max-width:540px}
.idea-tabs{display:flex;gap:28px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}
.idea-tabs button{font-size:14px;padding:12px 0;border-bottom:2px solid transparent}
.idea-tabs button[aria-selected="true"]{border-bottom-color:var(--ink)}
.explanatory-study .gallery-grid{display:block;overflow-anchor:none}
.explanatory-study .gallery-grid>figure[hidden]{display:none}
.explanatory-study .gallery-grid>figure>button{display:block;width:100%;position:relative}
.explanatory-study .gallery-grid img{width:100%;height:clamp(260px,52svh,580px);object-fit:contain;background:#fff}
.idea-explanation{font-size:15px;line-height:1.75;color:var(--muted);max-width:880px;margin-top:18px}
.explanatory-study .gallery-grid>figure>.idea-animation-control{display:inline-block;width:auto;margin-top:16px;padding:10px 0;border-bottom:1px solid var(--ink);font-size:13px}
@media(max-width:700px){.explanatory-study .chapter-heading{grid-template-columns:1fr;gap:16px}.idea-tabs{gap:8px 20px}.idea-tabs button{font-size:13px}.explanatory-study .gallery-grid img{height:auto;aspect-ratio:1000/580}.idea-explanation{font-size:14px}}
.gallery-grid.single-view img{width:100%;height:auto;max-height:65svh;object-fit:contain}
.project-intro-story .project-heading{padding:0 0 8px}
#project-content[data-project="arquitectura-5"] .project-intro-story .cover-story-stage{background:#000;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax)}
.project-intro-story .back-link{margin-bottom:14px;font-size:10px}
.project-intro-story .project-title-row{gap:24px}
.project-intro-story .project-title-row h1{font-size:clamp(44px,6vw,96px)}
.project-intro-story .project-title-row>p{font-size:clamp(16px,1.7vw,23px)}
.project-transition.project-intro-story .cover-story-stage{width:min(100%,calc((100svh - var(--header-height) - var(--intro-heading-height,230px) - 150px)*var(--view-ratio)))}
@media(max-width:700px){.project-intro-story .project-title-row{display:block}.project-intro-story .project-title-row h1{font-size:44px}.project-intro-story .project-title-row>p{font-size:16px;margin-top:8px;padding-bottom:0}.project-intro-story .back-link{margin-bottom:10px}}
.site-header{position:sticky;top:0;z-index:20}
:root{--header-height:88px}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.cover-story-sticky,.project-hero-sticky{top:var(--header-height)}
.plan-sticky{top:calc(var(--header-height) + 24px)}
.project-transition .cover-story-stage{width:min(100%,calc((100svh - var(--header-height) - 150px)*var(--view-ratio)))}
.plan-stage{height:min(calc(100svh - var(--header-height) - 100px),680px)}
@media(max-width:700px){:root{--header-height:74px}.plan-stage{height:min(60svh,calc(100svh - var(--header-height) - 100px))}}
.project-transition .cover-architectural-drawing{stroke-width:.88}
.project-transition .cover-story-figure figcaption span:nth-child(2){display:block;text-align:center}
.transition-intro{background:#000;color:#fff;padding-top:70px;padding-bottom:70px}
.transition-intro h2{font-size:clamp(38px,4.5vw,68px);margin:25px 0}
.transition-intro p{font-size:13px;line-height:1.8;max-width:460px;color:#b9b9b4}
@media(max-width:700px){.project-transition .cover-story-sticky{padding-top:20px;padding-bottom:20px}.project-transition .cover-story-figure figcaption{font-size:7px;line-height:1.6}.project-transition .cover-story-figure figcaption span:nth-child(2){max-width:180px}.project-transition .cover-story-footer>span:last-child{max-width:100px;text-align:right}}

/* Readable supporting copy; keep the generous editorial whitespace. */
.project-closing-banner{margin:50px 0 0;background:#fff}
.school-facades{margin:24px var(--pad) 30px;border-top:1px solid var(--line)}
.school-facades-sticky{position:sticky;top:var(--header-height);padding:20px 0 12px;background:#fff}
.school-facades .chapter-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:12px}
.school-facades .chapter-heading h2{font-size:clamp(28px,2.8vw,44px);margin-top:8px}
.school-facades .chapter-heading>p{max-width:530px;font-size:17px;margin-top:20px;line-height:1.5}
.school-facade-phases{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:8px;overflow-x:auto}
.school-facade-phases button{white-space:nowrap;padding:10px 0;font-size:14px;border-bottom:2px solid transparent}
.school-facade-phases button[aria-pressed="true"]{border-bottom-color:#111}
.school-facade-stack{display:grid;gap:4px}
.school-facade-stack figure{margin:0}
.school-facade-image{display:block;position:relative;width:100%;height:max(70px,min(calc((100vw - 2 * var(--pad)) * .2348),calc((100svh - var(--header-height) - var(--school-facade-heading,260px)) / 3)));padding:0;overflow:hidden;background:#fff}
.school-facade-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.school-facade-image img:not(:first-child){opacity:0}
.school-facade-stack figcaption{font-size:11px;color:#555;margin:3px 0 5px;line-height:1.4}
.school-facade-footer{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:#555;padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:700px){.school-facades .chapter-heading{grid-template-columns:1fr;gap:5px}.school-facades .chapter-heading h2{font-size:29px}.school-facades .chapter-heading>p{font-size:14px;margin-top:0}.school-facade-phases{gap:18px}.school-facade-phases button{font-size:12px}.school-facade-stack figcaption{font-size:10px}.school-facade-footer{font-size:10px}.school-facade-footer span:first-child{max-width:200px}}
@media(prefers-reduced-motion:reduce){.school-facades-sticky{position:relative;top:0}}
.project-closing-banner>button{display:block;width:100%;padding:0;position:relative}
.project-closing-banner>button{background:#000}
.project-closing-banner img{width:100%;height:auto}
.project-closing-banner figcaption{padding:18px var(--pad) 30px;margin-top:0}
.chapter-heading>p{font-size:17px;line-height:1.7;max-width:580px;color:#333}
.documentation .chapter-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);margin-bottom:24px}
.documentation .chapter-heading>p{max-width:none;margin-top:0;line-height:1.55}
.documentation .chapter-heading h2{margin-top:10px;font-size:clamp(34px,3.2vw,48px)}
.plan-sticky .drawing-tabs{margin-bottom:12px}
.plan-scroll .plan-stage{height:clamp(180px,calc(100svh - var(--header-height) - var(--plan-heading-space,220px) - 90px),680px)}
.project-facts{font-size:15px;line-height:1.6}
.project-facts dt{color:#444}
.project-facts div{padding:21px 0}
.project-transition .cover-story-figure figcaption{font-size:12px;letter-spacing:.04em;color:#444;line-height:1.6}
.project-transition .cover-story-footer{font-size:12px;letter-spacing:.03em;color:#444;line-height:1.6}
.project-transition .cover-story-footer>span:last-child{max-width:none}
.project-transition:not(.project-intro-story) .cover-story-stage{width:min(100%,calc((100svh - var(--header-height) - 110px)*var(--view-ratio)))}
.drawing-tab,.lighting-tab{font-size:15px}
.drawing-actions,.image-caption,.plan-sequence-caption{font-size:13px;line-height:1.6;color:#444}
.expand-label{font-size:12px;background:#fff}
.plan-ghost{opacity:.025}
.drawing-origin{fill:#000;stroke:none;opacity:var(--draw-origin-opacity,1)}
.plan-scroll[data-active="true"] .plan-stage img,.plan-scroll[data-active="true"] .plan-geometry{transform:none;object-fit:contain}
#project-content[data-project="arquitectura-4"] .plan-scroll[data-active="true"] .plan-stage img,
#project-content[data-project="arquitectura-4"] .plan-scroll[data-active="true"] .plan-geometry{transform:scale(.96);transform-origin:center}
#project-content[data-project="arquitectura-4"] .plan-scroll[data-active="true"] .plan-stage{height:max(180px,calc(100svh - var(--header-height) - var(--plan-heading-space,220px) - 90px))}
#project-content[data-project="arquitectura-4"] .plan-scroll[data-fit-plan-frame="true"] .plan-stage{height:max(180px,calc(100svh - var(--header-height) - var(--plan-heading-space,220px) - 90px))}
#project-content[data-project="arquitectura-4"] .plan-scroll[data-fit-plan-frame="true"] #active-drawing{transform:scale(.96);transform-origin:center;filter:none;mix-blend-mode:normal}
#project-content[data-project="arquitectura-4"] .plan-scroll[data-fit-plan-frame="true"] .plan-sticky{position:sticky;top:calc(var(--header-height) + 24px)}
.cover-sketch{opacity:var(--cover-sketch-opacity,.025)}
.cover-story-stage.traces-fallback .cover-sketch{opacity:var(--cover-sketch-opacity,.025)}
.lighting-scroll{padding-top:70px;padding-bottom:50px}
.lighting-sticky{position:sticky;top:calc(var(--header-height) + 20px);background:#fff}
.lighting-sticky .chapter-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:24px}
.lighting-sticky .chapter-heading>p{max-width:none;margin-top:10px}
.lighting-sticky .lighting-tabs{margin-bottom:16px}
.lighting-sticky .lighting-image{height:clamp(160px,calc(100svh - var(--header-height) - var(--lighting-heading-space,200px) - 55px),800px);background:#fff;overflow:hidden}
.lighting-sticky .lighting-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
.lighting-layer-1{opacity:var(--lighting-day,0)}
.lighting-layer-2{opacity:var(--lighting-night,0)}
.lighting-sticky .expand-label{z-index:3}
/* Tighten chapter boundaries only; pinned scroll distances stay unchanged. */
.facade-scroll{background:#fff}
.facade-sticky{position:sticky;top:var(--header-height);background:#fff}
.facade-navigation{display:flex;gap:28px;padding:14px var(--pad) 0;font-size:14px}
.facade-navigation button{padding:8px 0;border-bottom:2px solid transparent}
.facade-navigation button[aria-pressed="true"]{border-color:#111;color:#111}
.facade-frames{display:grid}
.facade-frame{grid-area:1/1;visibility:hidden;pointer-events:none;height:auto;min-height:0;border:0}
.facade-frame.is-active{visibility:visible;pointer-events:auto}
.facade-frame .cover-story-sticky{position:relative;top:0}
.facade-sticky .transition-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;padding:20px var(--pad)}
.facade-sticky .transition-intro h2{font-size:clamp(30px,3.1vw,48px);line-height:1.08;margin:12px 0 0}
.facade-sticky .transition-intro p{font-size:16px;line-height:1.6;max-width:580px;color:#ddd}
.facade-frame.project-transition .cover-story-stage{width:min(100%,calc(max(80px,100svh - var(--header-height) - var(--facade-intro-height,160px) - 200px)*var(--view-ratio)))}
@media(max-width:700px){.facade-sticky .transition-intro{grid-template-columns:1fr;gap:10px;padding:16px var(--pad)}.facade-sticky .transition-intro h2{font-size:28px;margin-top:8px}.facade-sticky .transition-intro p{font-size:14px;line-height:1.45}}
@media(prefers-reduced-motion:reduce){.facade-sticky{position:relative;top:0}.facade-frames{display:block}.facade-frame{visibility:visible;pointer-events:auto}}
#project-content[data-project]>.section-pad{padding-top:75px;padding-bottom:75px}
#project-content[data-project]>.documentation{padding-bottom:55px}
#project-content[data-project]>.transition-intro{padding-top:55px;padding-bottom:55px}
#project-content[data-project]>.project-overview{padding-bottom:65px}
#project-content[data-project]>.lighting-scroll{padding-top:50px;padding-bottom:30px}
#project-content[data-project]>.project-closing-banner{margin-top:25px}
#project-content[data-project]>.project-closing-banner::before{content:"";display:block;border-top:1px solid #bdbdbd;margin:0 var(--pad) 24px}
#project-content[data-project]>.project-closing-banner img{width:auto;max-width:100%;max-height:55svh;height:auto;margin:0 auto;object-fit:contain}
#project-content[data-project]>.project-closing-banner figcaption{padding-bottom:22px}
#project-content[data-project="arquitectura-5"]>.project-closing-banner>button{width:min(calc(100% - 2 * var(--pad)),var(--lighting-visible-width,100%));margin:0 auto;overflow:hidden}
#project-content[data-project="arquitectura-5"]>.project-closing-banner img{width:100%;max-height:55svh;height:auto;object-fit:cover;object-position:center}
@media(max-width:700px){
  #project-content[data-project]>.section-pad{padding-top:44px;padding-bottom:44px}
  #project-content[data-project]>.documentation{padding-bottom:38px}
  #project-content[data-project]>.transition-intro{padding-top:42px;padding-bottom:42px}
  #project-content[data-project]>.lighting-scroll{padding-top:38px;padding-bottom:24px}
  #project-content[data-project]>.project-closing-banner{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.lighting-sticky{position:relative;top:0}}
@media(max-width:700px){
  .lighting-sticky .chapter-heading{grid-template-columns:1fr;gap:12px}
  .lighting-sticky .chapter-heading h2{font-size:30px;margin-top:10px}
  .lighting-sticky .chapter-heading>p{font-size:15px;line-height:1.45;margin-top:0}
  .documentation .chapter-heading{grid-template-columns:1fr;gap:14px;margin-bottom:14px}
  .documentation .chapter-heading h2{font-size:30px}
  .documentation .chapter-heading>p{font-size:15px;line-height:1.45}
  .chapter-heading>p{font-size:16px;max-width:100%}
  .project-facts{font-size:14px}
  .project-transition .cover-story-figure figcaption,.project-transition .cover-story-footer{font-size:11px;gap:12px}
  .project-transition .cover-story-figure figcaption span:nth-child(2){max-width:none;flex:1}
  .drawing-actions,.image-caption,.plan-sequence-caption{font-size:12px}
  .drawing-tab,.lighting-tab{font-size:14px}
}
/* Thesis rhythm: override general project padding without changing other projects. */
#project-content[data-project="tesis"]>.thesis-heading{padding-top:26px;padding-bottom:24px}
#project-content[data-project="tesis"]>.thesis-heading .back-link{margin-bottom:18px}
#project-content[data-project="tesis"]>.thesis-heading h1{font-size:clamp(27px,3.5vw,54px)}
#project-content[data-project="tesis"]>.thesis-heading .thesis-location{font-size:20px}
#project-content[data-project="tesis"]>.thesis-index{padding-top:14px;padding-bottom:14px;gap:12px 28px}
#project-content[data-project="tesis"]>.thesis-chapter{padding-top:36px;padding-bottom:36px}
#project-content>.next-project{min-height:0;padding-top:18px!important;padding-bottom:18px!important}
#project-content>.next-project>div{display:flex;align-items:center;gap:14px}
#project-content>.next-project .eyebrow{font-size:7px;line-height:1;margin:0}
#project-content>.next-project h2{font-size:15px;line-height:1.15;margin:0}
#project-content>.next-project .next-arrow{font-size:20px;line-height:1}
#project-content>.next-project:hover .next-arrow{transform:translate(4px,-4px)}
#project-content[data-project="tesis"] .chapter-heading{margin-bottom:22px}
#project-content[data-project="tesis"] .thesis-diagram-row{margin-top:22px;margin-bottom:22px}
#project-content[data-project="tesis"] .thesis-connections{padding-top:18px}
#project-content[data-project="tesis"] .thesis-facts{margin-top:22px}
#project-content[data-project="tesis"] .thesis-figure button{background:#fff}
.casa-project-story{padding-top:30px;padding-bottom:35px}
.casa-project-index{display:flex;flex-wrap:wrap;gap:18px 30px;padding-top:18px;padding-bottom:18px;border-block:1px solid var(--line);font-size:13px}
.casa-story-block{scroll-margin-top:105px}
.casa-story-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:30px 0;border-top:1px solid var(--line)}
.casa-story-block h2{font-size:clamp(30px,3.3vw,48px);margin-top:12px}
.casa-story-block>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:680px}
.casa-documentation{padding-top:35px;padding-bottom:45px;background:#fff;scroll-margin-top:100px}
.casa-documentation .chapter-heading>p{max-width:350px;font-size:15px}
.casa-doc-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:24px;margin-bottom:16px}
.casa-doc-toolbar>a{font-size:12px;white-space:nowrap;margin-bottom:10px}
.casa-doc-count{font-size:10px;color:var(--muted);margin-left:5px}
.casa-drawing-viewer{position:relative;display:block;width:100%;height:min(76svh,900px);min-height:360px;padding:15px;background:#fff;border:1px solid var(--line)}
.casa-drawing-viewer img{width:100%;height:100%;object-fit:contain}
.casa-drawing-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.casa-drawing-catalogue{display:grid;gap:10px;max-height:min(76svh,900px);overflow-y:auto;padding-right:8px;overscroll-behavior:contain}
.casa-drawing-thumb{display:grid;grid-template-columns:66px 1fr;align-items:center;gap:12px;text-align:left;padding:8px;border:1px solid var(--line);background:#fff}
.casa-drawing-thumb[aria-pressed="true"]{border-color:var(--ink);background:#f7f7f5}
.casa-thumb-image{height:70px;display:block;background:#fff}
.casa-thumb-image img{width:100%;height:100%;object-fit:contain}
.casa-drawing-thumb>span:last-child{font-size:12px;line-height:1.4}
.casa-drawing-thumb small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.casa-drawing-navigation{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:12px;margin-top:12px}
.casa-drawing-navigation>button{height:38px;border:1px solid var(--line);font-size:20px}
.casa-drawing-navigation .image-caption{margin:0;display:block;text-align:center;font-size:12px}
@media(max-width:900px){.casa-drawing-workspace{grid-template-columns:180px minmax(0,1fr);gap:14px}.casa-drawing-thumb{grid-template-columns:46px 1fr;gap:7px}}
@media(max-width:700px){.casa-drawing-workspace{display:flex;flex-direction:column}.casa-drawing-catalogue{display:flex;width:100%;max-height:none;overflow-x:auto;padding:0 0 8px}.casa-drawing-thumb{flex:0 0 190px;grid-template-columns:46px 1fr}.casa-drawing-current{width:100%}.casa-project-index{gap:12px 20px}}
@media(max-width:700px){.casa-doc-toolbar{display:block}.casa-doc-toolbar>a{display:inline-block;margin-top:15px}.casa-drawing-viewer{height:65svh;min-height:300px;padding:8px}}
@media(max-width:700px){.casa-story-block{grid-template-columns:1fr;gap:18px;padding:24px 0}.casa-story-block>p{font-size:15px}}
#project-content[data-project="casa-real"]>.casa-project-index{padding-top:18px;padding-bottom:18px}
#project-content[data-project="casa-real"]>.casa-editorial-chapter{padding-top:36px;padding-bottom:36px;scroll-margin-top:100px}
#project-content[data-project="casa-real"]>.casa-documentation{padding-top:38px;padding-bottom:40px;border-top:1px solid var(--line)}
.casa-editorial-heading{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;margin-bottom:28px}
.casa-editorial-heading h2{font-size:clamp(34px,3.6vw,56px);margin-top:15px;line-height:1.1}
.casa-editorial-heading>p,.casa-envelope-story p{font-size:16px;line-height:1.8;color:var(--muted);max-width:650px}
.casa-editorial-heading>p{padding-top:24px}
.casa-editorial-figure{margin:0;min-width:0}
.casa-editorial-figure>button{display:block;position:relative;width:100%;padding:0;background:#fff}
.casa-editorial-figure img{display:block;width:100%;height:auto;object-fit:contain}
.casa-editorial-figure .image-caption{font-size:12px;margin-top:12px}
.casa-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.casa-levels dt{font-size:18px;margin-bottom:8px}
.casa-levels dd{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.casa-cuts-story{display:grid;gap:36px}
.casa-cuts-story .casa-editorial-figure{width:100%;max-width:1100px;margin-inline:auto}
.casa-access-drawings{margin-top:30px}
.casa-access-viewer{max-width:1100px;margin-inline:auto}
.casa-access-viewer .casa-editorial-figure img{height:clamp(340px,66svh,820px);object-fit:contain}
.casa-access-drawings .drawing-tabs{gap:28px}
.casa-access-drawings .drawing-tab{font-size:14px}
.casa-support-drawings{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.casa-support-drawings img{height:360px;object-fit:contain}
.casa-architecture-download{display:inline-block;margin-top:24px;font-size:12px}
.casa-material-render{margin-bottom:30px}
.casa-rear-views{display:grid;grid-template-columns:1fr;max-width:850px;align-items:start;margin:8px auto 36px}
.casa-rear-views img{width:100%;height:auto;object-fit:contain}
.casa-lighting-story{padding:0 0 30px}
.casa-lighting-heading h3{font-size:clamp(27px,2.8vw,42px);line-height:1.1;margin-top:12px}
.casa-lighting-heading h2{font-size:clamp(34px,3.6vw,56px);line-height:1.1;margin-top:15px}
.casa-lighting-story .lighting-sticky{padding-top:12px}
.casa-lighting-story .casa-lighting-heading{width:calc(100% + 2 * var(--pad));margin:0 0 12px calc(-1 * var(--pad));padding:22px var(--pad);background:#000;color:#fff;border-bottom:1px solid #555}
.casa-lighting-story .casa-lighting-heading>p{color:#ddd}
.casa-lighting-scroll-hint{display:flex;align-items:center;gap:10px;margin:0 0 2px;padding-top:2px;color:#111;font-size:12px;font-weight:600;letter-spacing:.09em}
.casa-lighting-scroll-hint span{font-size:22px;line-height:1}
.casa-lighting-story .lighting-sticky .chapter-heading>p{font-size:15px;line-height:1.7;max-width:580px}
.casa-lighting-story .lighting-image{min-height:180px}
.casa-lighting-story .lighting-sticky .lighting-image{height:min(800px,calc((100vw - 2 * var(--pad)) / 2.04545),calc(100svh - var(--header-height) - var(--lighting-heading-space,200px) - 55px))}
.casa-lighting-story .image-caption{font-size:12px;margin-top:12px}
@media(max-width:700px){.casa-rear-views{grid-template-columns:1fr;gap:25px}.casa-lighting-story .lighting-sticky .chapter-heading{display:block}.casa-lighting-story .lighting-sticky .chapter-heading>p{font-size:14px;margin-top:14px}.casa-lighting-story .lighting-tabs{gap:20px}.casa-lighting-story .lighting-tab{font-size:12px}.project-card-image .project-card-entry{padding:10px 15px;font-size:10px}}
.casa-envelope-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start;border-top:1px solid var(--line);padding-top:28px}
.casa-envelope-story h3{font-size:clamp(28px,2.7vw,40px);line-height:1.15;margin:14px 0}
.casa-envelope-story .casa-existing-heading{font-size:25px;margin-top:28px}
.casa-envelope-story .casa-editorial-figure{align-self:start}
@media(max-width:800px){.casa-editorial-heading,.casa-envelope-story{grid-template-columns:1fr;gap:20px}.casa-editorial-heading>p{padding-top:0}.casa-levels{gap:18px}.casa-support-drawings{gap:20px}.casa-support-drawings img{height:300px}}
@media(max-width:550px){#project-content[data-project="casa-real"]>.casa-editorial-chapter{padding-top:28px;padding-bottom:28px}.casa-levels{grid-template-columns:1fr;gap:15px}.casa-levels dt{font-size:16px;margin-bottom:4px}.casa-support-drawings{grid-template-columns:1fr;gap:24px}.casa-editorial-heading>p,.casa-envelope-story p{font-size:15px}.casa-cuts-story{gap:26px}}
.thesis-program-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.thesis-program-notes dt{font-size:18px;line-height:1.4;margin-bottom:8px}
.thesis-program-notes dd{font-size:15px;line-height:1.65;color:var(--muted);margin:0;max-width:540px}
.thesis-cuts{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:110px}
.thesis-cuts h3{font-size:24px;font-weight:300}
.thesis-sections{grid-template-columns:1fr;gap:22px}
.thesis-sections button{padding:0;height:auto;min-height:0}
.thesis-sections img{width:100%;max-height:none}
.thesis-sections figure:last-child{width:70%}
.site-footer .share-button{display:inline-block;font-size:14px;padding:10px 0;white-space:nowrap}
/* Continuous BIM document */
.bim-scroll-document{padding-top:0;padding-bottom:35px}
.bim-scroll-sheet{margin:0 0 28px;scroll-margin-top:110px}
.bim-scroll-sheet>a{display:block;background:#fff}
.bim-scroll-sheet img{width:100%;height:auto;display:block}
.bim-scroll-sheet figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-top:1px solid var(--line);padding:12px 0;font-size:12px;color:var(--muted)}
.bim-scroll-sheet figcaption>a{white-space:nowrap}
.bim-scroll-sheet:last-child{margin-bottom:0}
@media(max-width:700px){.bim-scroll-document{padding-left:12px;padding-right:12px}.bim-scroll-sheet{margin-bottom:20px}.bim-scroll-sheet figcaption{font-size:11px}}
/* Main navigation and BIM portfolio */
.site-header nav{font-size:16px;gap:28px;font-weight:400}
.site-header .share-button{font-size:16px}
.site-header nav a[aria-current="page"]{border-bottom:1px solid currentColor}
.bim-teaser{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:6%;border-top:1px solid var(--line);padding-top:55px;padding-bottom:55px;background:#fff}
.bim-teaser h2{font-size:clamp(40px,4.5vw,70px);margin-top:20px}
.bim-teaser p{font-size:18px;line-height:1.7;color:var(--muted);max-width:460px;margin-top:22px}
.bim-entry{display:inline-flex;gap:24px;align-items:center;margin-top:26px;background:#000;color:#fff;border-radius:999px;padding:15px 23px;font-size:12px;letter-spacing:.05em}
.bim-entry:hover{background:#333}
.bim-teaser-image img{width:100%;height:auto}
.bim-intro{padding-top:35px;padding-bottom:45px}
.bim-intro .back-link{margin-bottom:30px}
.bim-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.bim-intro h1{font-size:clamp(50px,6vw,90px);margin-top:18px}
.bim-intro p{font-size:18px;line-height:1.7;color:var(--muted);max-width:580px}
.bim-intro p+p{margin-top:14px}
.bim-intro .text-link{font-size:15px;margin-top:20px}
.bim-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px 30px;padding-top:30px;padding-bottom:45px;border-top:1px solid var(--line)}
.bim-viewer-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.bim-viewer-heading h2{font-size:30px}
.bim-viewer-heading>span{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.bim-catalogue{display:flex;flex-direction:column;gap:4px}
.bim-catalogue button{text-align:left;padding:11px 12px;display:flex;gap:12px;font-size:13px;line-height:1.4;border:1px solid transparent}
.bim-catalogue button>span{color:var(--muted);font-size:10px;padding-top:2px}
.bim-catalogue button[aria-pressed="true"]{border-color:#111;background:#f1f1ee}
.bim-catalogue button:hover{background:#f1f1ee}
.bim-sheet{min-width:0}
.bim-sheet>a{display:block;border:1px solid var(--line);background:#fff}
.bim-sheet img{width:100%;height:auto;aspect-ratio:1600/1132;object-fit:contain}
.bim-sheet figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding-top:12px}
.bim-sheet figcaption button{width:44px;height:40px;border:1px solid var(--line);font-size:22px}
.bim-sheet figcaption button:disabled{opacity:.3;cursor:default}
.bim-viewer-note{grid-column:2;font-size:13px;color:var(--muted);line-height:1.6}
@media(max-width:1050px){.site-header nav{font-size:14px;gap:18px}.site-header .share-button{font-size:14px}}
@media(max-width:700px){
 .home-page .site-header,.bim-page .site-header{height:auto;min-height:112px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:8px}
 .home-page .site-header nav,.bim-page .site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}
 .home-page .site-header nav a:first-child,.home-page .site-header .share-button,.bim-page .site-header nav a,.bim-page .site-header .share-button{display:inline-block}
 .site-header .share-button{font-size:13px}
 .bim-teaser,.bim-intro-grid{grid-template-columns:1fr;gap:28px}
 .bim-teaser{padding-top:35px;padding-bottom:35px}
 .bim-teaser p,.bim-intro p{font-size:17px}
 .bim-workspace{grid-template-columns:1fr;gap:18px}
 .bim-viewer-heading{display:block}.bim-viewer-heading>span{display:block;margin-top:12px}
 .bim-catalogue{display:grid;grid-template-columns:1fr 1fr;gap:3px}
 .bim-catalogue button{padding:9px;font-size:12px}
 .bim-viewer-note{grid-column:1}.bim-sheet figcaption{font-size:12px}
}
@media(max-width:700px){
  .thesis-program-notes{grid-template-columns:1fr;gap:18px}
  .thesis-sections figure:last-child{width:100%}
  #project-content[data-project="tesis"]>.thesis-heading{padding-top:20px;padding-bottom:20px}
  #project-content[data-project="tesis"]>.thesis-chapter{padding-top:28px;padding-bottom:28px}
  #project-content[data-project="tesis"]>.thesis-index{padding-top:12px;padding-bottom:12px;gap:10px 18px}
}

