:root{--paper:#f5f4ef;--ink:#242923;--muted:#666b63;--line:#d5d8ce;--accent:#465742}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:15px}header{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin:0 4.5%}.brand{font-size:26px;letter-spacing:-1px}.brand span{display:block;font-size:10px;letter-spacing:1.4px;margin-top:7px;color:var(--muted)}nav{display:flex;gap:35px;font-size:13px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.intro{padding:70px 4.5% 42px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.8px;color:var(--muted)}h1{font-weight:400;font-size:clamp(56px,7.6vw,118px);line-height:1.03;letter-spacing:-.06em;margin:32px 0 34px}h1 span{color:#737d6d}.intro-bottom{display:flex;align-items:end;justify-content:space-between}.intro p{line-height:1.6;margin:0;color:var(--muted)}.text-link{font-size:13px;padding-bottom:6px;border-bottom:1px solid var(--ink);min-width:160px;display:flex;justify-content:space-between}.hero{display:block;margin:0 4.5%}.hero img{width:100%;height:clamp(340px,46vw,680px);object-fit:cover;display:block;object-position:center 55%}.hero-caption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.3px;padding:16px 0;border-bottom:1px solid var(--line)}.work{padding:100px 4.5%}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:36px;font-weight:400;letter-spacing:-1px;margin:0}.section-heading>span{font-size:12px;color:var(--muted)}#filters{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 38px}#filters button{background:transparent;border:1px solid var(--line);padding:9px 15px;border-radius:30px;font-size:12px;color:var(--muted)}#filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}.card{display:block}.card .image-wrap{overflow:hidden;background:#e5e5df}.card img{width:100%;aspect-ratio:1.4;object-fit:cover;display:block;transition:transform .45s}.card:hover img{transform:scale(1.025)}.card-heading{display:flex;justify-content:space-between;align-items:baseline;margin-top:17px}.card h3{font-size:22px;font-weight:400;letter-spacing:-.5px;margin:0}.card-heading span{font-size:18px}.card p{font-size:11px;color:var(--muted);margin:9px 0 0;display:flex;justify-content:space-between}.about{border-top:1px solid var(--line);padding:80px 4.5% 100px;display:grid;grid-template-columns:1fr 2fr;gap:30px}.about h2{font-size:clamp(36px,4.5vw,68px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:0 0 32px}.about p{max-width:590px;color:var(--muted);line-height:1.85;font-size:16px}.credentials{border-top:1px solid var(--line);display:flex;gap:35px;padding-top:22px;margin-top:35px;font-size:11px}.contact{background:#e6e8df;padding:65px 4.5% 80px}.contact h2{font-size:clamp(50px,6vw,86px);font-weight:400;letter-spacing:-.05em;margin:24px 0 40px}.contact>a{font-size:clamp(18px,2.6vw,36px);display:flex;max-width:640px;justify-content:space-between;border-bottom:1px solid #aeb7a7;padding-bottom:18px}footer{padding:30px 4.5%;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}#detail{padding:45px 4.5% 90px}.back{font-size:12px;display:inline-block;margin-bottom:55px}.detail-top{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:38px}.detail-top h1{font-size:clamp(44px,6vw,88px);margin:18px 0 0}.detail-top p{line-height:1.7;color:var(--muted);font-size:18px;margin:0}.project-hero{width:100%;max-height:820px;object-fit:cover;display:block}.project-info{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:50px 0 70px}.meta{font-size:13px}.meta div{border-bottom:1px solid var(--line);padding:15px 0}.meta span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.project-info p{font-size:20px;line-height:1.7;margin:12px 0 24px;max-width:730px}.award{font-size:13px!important;color:var(--accent)}.archive-heading{border-top:1px solid var(--line);padding-top:30px;margin-bottom:28px}.archive-heading h2{font-size:24px;font-weight:400}.archive-heading p{color:var(--muted);font-size:12px}.sheet-button{display:block;border:0;padding:0;background:white;margin:0 0 24px;width:100%;cursor:zoom-in}.sheet-button img{display:block;width:100%}.next-project{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:65px;padding-top:30px;font-size:clamp(22px,3vw,40px)}.next-project small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;color:var(--muted)}dialog{border:0;padding:20px;width:96vw;max-width:1800px;height:94vh;background:var(--paper)}dialog::backdrop{background:#131710dd}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding-bottom:18px}.lightbox-bar button{border:1px solid var(--line);padding:9px 16px;background:transparent}dialog img{width:100%;height:calc(100% - 58px);object-fit:contain}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}@media(max-width:650px){header{height:88px}.brand{font-size:22px}nav{gap:19px;font-size:12px}.intro{padding-top:45px}h1{font-size:58px;margin-top:24px}.intro-bottom{display:block}.intro p{font-size:13px}.text-link{margin-top:25px;width:155px}.hero img{height:370px}.hero-caption{font-size:10px}.work{padding-top:65px;padding-bottom:65px}.section-heading{display:block}.section-heading h2{font-size:30px}.section-heading>span{display:block;margin-top:12px}.grid{grid-template-columns:1fr;gap:30px}.card h3{font-size:22px}.about{grid-template-columns:1fr;padding-top:40px;padding-bottom:60px}.about h2{font-size:43px}.about p{font-size:15px}.credentials{gap:25px;line-height:1.6}.contact{padding-top:45px}.contact h2{margin-bottom:28px}footer>span{display:none}.detail-top,.project-info{grid-template-columns:1fr;gap:28px}.back{margin-bottom:30px}.detail-top h1{font-size:52px}.detail-top p{font-size:16px}.project-info{padding:20px 0 40px}.project-info p{font-size:17px}.project-hero{max-height:500px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card img{transition:none}}

.photo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}.photo-gallery figure{margin:0}.photo-gallery figure:first-child{grid-column:1/-1}.photo-gallery .sheet-button{margin-bottom:12px}.photo-gallery img{aspect-ratio:1.5;object-fit:cover}.photo-gallery figure:first-child img{aspect-ratio:auto}.photo-gallery figcaption{font-size:11px;color:var(--muted);line-height:1.6}.project-sources{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.project-sources p{font-size:12px;color:var(--muted);line-height:1.7}.project-sources a{display:inline-block;margin:10px 24px 0 0;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:6px}@media(max-width:650px){.photo-gallery{grid-template-columns:1fr}}

.photo-gallery img{aspect-ratio:auto;height:auto}

/* Native project detail layouts */
.project-section{border-top:1px solid var(--line);padding-top:32px;margin-top:35px;margin-bottom:65px}.project-section .section-heading{margin-bottom:30px}.project-section h2{font-size:30px}.native-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px;align-items:start}.project-figure{margin:0;min-width:0}.project-figure .sheet-button{margin:0 0 13px}.project-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.project-figure figcaption{font-size:12px;line-height:1.6;color:var(--muted)}.drawing .sheet-button{background:#fff;padding:22px}.drawings-gallery{gap:45px 30px}.native-gallery>.project-figure:only-child{grid-column:1/-1}.section-narrative{max-width:800px;margin:5px 0 35px}.section-narrative p{font-size:18px;line-height:1.85;color:var(--muted);margin:0 0 24px}.project-info{align-items:start}.project-narrative p{font-size:18px;line-height:1.85;margin:0 0 25px}.project-subtitle{font-size:16px!important;margin-top:18px!important}.project-legends{display:flex;gap:55px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:30px;margin-top:45px}.project-legends h3{font-size:13px;font-weight:400}.project-legends ul{padding-left:16px;color:var(--muted);font-size:12px;line-height:1.9}.project-hero{max-height:none;object-fit:contain}.meta{line-height:1.6}.project-section:has(.photograph) .native-gallery>.project-figure:first-child:nth-last-child(odd){grid-column:1/-1}.project-section:has(.photograph) .native-gallery>.project-figure:first-child:nth-last-child(odd) img{max-height:780px;object-fit:contain;background:#e9ebe3}
@media(max-width:650px){.native-gallery{grid-template-columns:1fr;gap:26px}.project-section .section-heading>span{font-size:11px}.project-section{padding-top:25px;margin-bottom:42px}.drawing .sheet-button{padding:12px}.project-narrative p,.section-narrative p{font-size:16px}.project-section h2{font-size:25px}.project-legends{gap:25px}}

/* Detail compositions follow each original portfolio sheet. */
.original-slides{margin-top:40px}.portfolio-slide{background:#fff;margin-bottom:45px;padding:0}.slide-canvas{position:relative;width:100%;aspect-ratio:1350/874}.slide-figure{position:absolute;margin:0}.slide-figure button{border:0;background:transparent;padding:0;display:block;width:100%;height:100%;cursor:zoom-in}.slide-figure img{display:block;width:100%;height:100%;object-fit:contain}.slide-figure figcaption{font-size:clamp(8px,.7vw,11px);line-height:1.3;color:var(--muted);margin-top:5px}.slide-text{position:absolute;font-size:clamp(8px,.73vw,11px);line-height:1.26;color:var(--ink)}.slide-text p{margin:0 0 8px}.slide-text h2{font-size:clamp(16px,1.5vw,24px);font-weight:400;margin:0}.slide-legend{position:absolute;top:1.6%;right:2.5%;font-size:clamp(8px,.7vw,11px);line-height:1.25}.slide-legend h3{margin:0 0 6px;font-size:inherit;font-weight:600;text-transform:uppercase}.slide-legend span{display:block}.slide-opening{display:grid;grid-template-columns:27% 1fr;gap:3%;background:#fff;padding:28px 2%;align-items:stretch}.opening-sidebar{display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;gap:65px}.opening-title h1{font-size:clamp(23px,2.3vw,38px);line-height:1.1;letter-spacing:-.025em;margin:0 0 14px}.opening-title p{font-size:clamp(12px,1.1vw,17px);line-height:1.4;margin:0 0 12px}.opening-award{font-size:12px!important;color:var(--muted)}.opening-copy{font-size:clamp(11px,1vw,15px);line-height:1.45}.opening-copy p{margin:0 0 18px}.opening-copy dl{margin:30px 0 0}.opening-copy dl>div{display:grid;grid-template-columns:28% 1fr;gap:8px;margin-bottom:8px}.opening-copy dt{color:var(--muted)}.opening-copy dd{margin:0}.opening-image{border:0;padding:0;background:#fff;cursor:zoom-in;display:block;width:100%;align-self:stretch}.opening-image img{width:100%;height:100%;object-fit:contain;display:block}.slide-credits{font-size:12px;color:var(--muted)}
@media(max-width:850px){.slide-opening{grid-template-columns:1fr;padding:24px;gap:25px}.opening-sidebar{gap:25px}.opening-title h1{font-size:38px}.opening-title p{font-size:16px}.opening-copy{font-size:15px;line-height:1.7}.opening-image img{height:auto;object-fit:contain}.slide-canvas{aspect-ratio:auto;display:grid;grid-template-columns:1fr;gap:26px;padding:24px}.slide-figure,.slide-text{position:static;width:100%!important;height:auto!important}.slide-figure img{height:auto}.slide-figure figcaption{font-size:12px;line-height:1.6;margin-top:10px}.slide-text{font-size:15px;line-height:1.7}.slide-text h2{font-size:24px}.slide-text p{margin-bottom:18px}.slide-legend{position:static;font-size:12px;line-height:1.6}.portfolio-slide{margin-bottom:25px}.original-slides{margin-top:25px}.opening-copy dl>div{grid-template-columns:30% 1fr}}

/* Jeannie's review: aligned project captions and rotating homepage hero. */
.card-heading{gap:12px;min-height:27px}.card-heading h3{font-size:clamp(15px,1.4vw,22px);line-height:1.25;white-space:nowrap;letter-spacing:-.035em}.card-heading>span{flex-shrink:0}.card p{gap:18px;align-items:start;line-height:1.5;min-height:33px}.card p>span:last-child{max-width:55%;text-align:right}.hero-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:14px 4.5% 0;color:var(--muted);font-size:11px}.hero-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 13px;min-width:38px}.hero-controls button:hover{background:#e6e8df}.hero-controls #hero-pause{min-width:62px}.hero-caption>span:first-child{padding-right:20px}#hero-count{font-variant-numeric:tabular-nums}
@media(max-width:650px){.card-heading h3{font-size:clamp(12px,3.8vw,22px)}.card p{font-size:11px}.hero-caption{line-height:1.5;align-items:start;gap:12px}.hero-caption>span{max-width:62%}.hero-caption>span:last-child{text-align:right}.hero-controls{gap:10px}}
