@font-face{font-family:Cormorant;src:url(fonts/cormorant-500.ttf);font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url(fonts/cormorant-500i.ttf);font-style:italic;font-weight:500;font-display:swap}
@font-face{font-family:Garamond;src:url(fonts/ebgaramond-400.ttf);font-weight:400;font-display:swap}
:root{--paper:#f8f7f3;--ink:#35372f;--muted:#73766b;--bronze:#826744;--rule:#d0cec4;--tint:#efede7;--serif:Cormorant,Georgia,serif;--body:Garamond,Georgia,serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(24px,4vw,78px);--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:21px/1.55 var(--body);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12}h1{font-size:clamp(48px,6vw,88px)}h2{font-size:clamp(36px,4.4vw,66px)}h3{font-size:32px}em{font-weight:500}a{color:inherit;text-decoration:none}a:hover{color:var(--bronze)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}picture{display:block}button{color:inherit}button[hidden],[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}::selection{background:#c8b89c;color:#24251f}
.wrap{max-width:1500px;width:100%;padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font:10px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:12px;top:12px;z-index:100;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-150%)}.skip:focus{transform:none}.line-link,.text-link{display:inline-flex;align-items:center;gap:28px;position:relative;padding-block:14px;font:10px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;min-height:44px}.line-link:after,.text-link:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(.55);transform-origin:left;transition:transform .45s var(--ease)}.line-link:hover:after,.text-link:hover:after{transform:scaleX(1)}
/* Center the door axis (790px in the 1545px source), including when cover crops horizontally.
   Extra width keeps both edges covered with reduced motion as well as parallax. */
.contact-entry-hero .hero-media img{position:relative;left:50%;width:104%;transform:translateX(-51.1327%)}
/* A signature over the image; the menu is the persistent navigation touchpoint. */
.masthead .brand small{font-size:11px;letter-spacing:.3em;padding-left:.3em}
@media(max-width:700px){.masthead .brand small{font-size:9px;letter-spacing:.28em;padding-left:.28em}}
.masthead{position:absolute;z-index:10;top:0;left:0;width:100%;padding:28px var(--gutter);display:flex;justify-content:center;color:#fff}.brand{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.brand svg{width:32px;height:18px;fill:currentColor}.brand strong{display:block;font:500 29px/1 var(--serif);letter-spacing:.24em;padding-left:.24em}.brand small{display:block;font:7px/1.5 var(--sans);letter-spacing:.35em;padding-top:9px}.masthead .brand:hover{color:#fff}.back-link{position:absolute;left:var(--gutter);top:47px;display:flex;gap:12px;align-items:center;font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.menu-toggle{position:fixed;z-index:20;top:31px;right:var(--gutter);border:0;background:transparent;color:#fff;min-width:58px;min-height:50px;display:flex;align-items:center;gap:17px;padding:12px;transition:background .35s,color .35s}.menu-label{font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase}.menu-lines{display:block;width:28px;height:16px;position:relative;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-lines:after{content:'';height:1px;background:currentColor;position:absolute;top:6px;left:0;right:0}.past-hero .menu-toggle,.page-utility .menu-toggle{background:#f8f7f3ed;color:var(--ink)}.page-utility .masthead{position:relative;color:var(--ink)}.menu-toggle:hover{background:#f8f7f3;color:var(--ink)}
.site-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#29251e;color:#fff;overflow-y:auto;opacity:0;transition:opacity .4s var(--ease)}.site-menu::backdrop{background:#222}.site-menu.is-open{opacity:1}.menu-background{position:absolute;inset:0;overflow:hidden;pointer-events:none}.menu-background picture,.menu-background img{width:100%;height:100%;object-fit:cover}.menu-background:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16150fe0,#2420179c,#17150fbd)}.menu-background img{transform:scale(1.07);transition:transform 1.6s var(--ease);object-position:50% 52%}.is-open .menu-background img{transform:scale(1)}.menu-close{position:absolute;z-index:2;right:var(--gutter);top:32px;min-height:50px;min-width:70px;display:flex;align-items:center;gap:18px;background:none;border:0;padding:12px;color:white}.menu-close span{font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase}.menu-close i{position:relative;display:block;width:28px;height:28px}.menu-close i:before,.menu-close i:after{content:'';position:absolute;top:13px;left:0;width:28px;height:1px;background:currentColor;transform:rotate(45deg)}.menu-close i:after{transform:rotate(-45deg)}.menu-content{position:relative;min-height:100%;padding:70px 24px 35px;display:flex;flex-direction:column;align-items:center;justify-content:center}.menu-content>.eyebrow{color:#e1d8c5;margin-bottom:32px}.site-menu nav{display:flex;flex-direction:column;align-items:center;gap:17px}.site-menu nav a{font:500 clamp(32px,4.2vw,66px)/1.3 var(--serif);text-transform:uppercase;letter-spacing:.13em;opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease),transform .65s var(--ease),color .3s;transition-delay:calc(var(--order)*50ms)}.site-menu.is-open nav a{opacity:1;transform:none}.site-menu nav a:hover,.site-menu nav a[aria-current]{color:#cfb58e}.menu-foot{display:flex;gap:40px;margin-top:40px;font:10px/1.7 var(--sans);letter-spacing:.06em;color:#e1d8c5}.site-menu a:focus-visible,.site-menu button:focus-visible{outline-color:#fff}.site-menu a:hover{color:#fff}
/* Full-bleed openings and restrained scroll cues. */
.page-hero{position:relative;height:100svh;min-height:600px;max-height:1200px;background:#33372f;color:#fff;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;text-align:center}.hero-media,.hero-slides{position:absolute;inset:0;z-index:-3}.hero-media picture,.hero-media img{width:100%;height:100%;display:block}.hero-media img{object-fit:cover;object-position:var(--position,50% 50%)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10150f50,transparent 32%,#13190e38);pointer-events:none}.page-hero h1{font-size:clamp(48px,5.8vw,88px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;padding:100px 5vw;max-width:1300px;text-shadow:0 2px 26px #0003;pointer-events:none}.home-hero-title h1{font-size:clamp(46px,5vw,74px);text-transform:none;letter-spacing:.005em;line-height:1.08}.home-hero-title{margin-top:75px}.home-hero h1 em{white-space:normal}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:18px;color:white;padding:20px 24px 0;min-width:180px;z-index:4}.scroll-cue span{font:8px/1.5 var(--sans);letter-spacing:.25em;text-transform:uppercase}.scroll-cue i{display:block;width:1px;height:50px;background:#ffffff80;transform-origin:top;transition:height .4s}.scroll-cue:hover{color:white}.scroll-cue:hover i{height:64px}.hero-slide{position:absolute;inset:0;opacity:0;z-index:0;pointer-events:none}.hero-slide.is-current{opacity:1;z-index:1}.hero-slide.is-entering{opacity:1;z-index:2;transition:opacity 2400ms cubic-bezier(.4,0,.2,1)}.hero-slide picture,.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--position)}.hero-controls{position:absolute;bottom:22px;right:var(--gutter);z-index:5}.hero-dots{display:flex}.hero-dot{width:34px;height:44px;border:0;background:none;display:grid;place-items:center}.hero-dot span{display:block;width:15px;height:1px;background:#ffffff70;transition:width .5s,background .5s}.hero-dot[aria-current=true] span{background:white;width:25px}.page-hero a:focus-visible,.page-hero button:focus-visible{outline-color:white}.drawing-hero .hero-media{background:#a5957a}.drawing-hero .hero-media img{mix-blend-mode:multiply}.drawing-hero .hero-shade{background:#27261e4f}.portrait-hero .hero-media{background:#242720;transform:none}.portrait-hero .hero-media img{object-fit:contain}.project-hero h1{font-size:clamp(38px,5vw,74px);max-width:1200px}
/* A full-width drawing is the focal point of the studio introduction. */
.elevation-intro{text-align:center;max-width:850px;margin:0 auto 35px}
.elevation-intro .eyebrow{margin-bottom:24px}
.elevation-intro h2{font-size:clamp(39px,4.5vw,68px);line-height:1.1}
.elevation-intro>p[data-light-text]{max-width:650px;margin:24px auto 0;font:500 clamp(25px,2.3vw,33px)/1.35 var(--serif)}
.elevation-feature{width:100%;max-width:1400px;margin:auto}
.elevation-view{display:block;}
.elevation-view img{width:100%;height:auto}
.elevation-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font:10px/1.7 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.elevation-caption-divider{margin-inline:10px}
.drafting-portrait img{filter:grayscale(1)}
@media(max-width:700px){.elevation-intro{margin-bottom:30px}.elevation-intro>p[data-light-text]{font-size:25px;margin-top:20px}.elevation-feature{width:calc(100% + 24px);margin-inline:-12px}.elevation-caption{margin-inline:12px;display:block;text-align:center;font-size:8px}.elevation-caption>span{display:block}.elevation-caption-divider{margin-inline:5px}}
.journey-maker>figure img{object-position:50% 42%}
/* A gentle shared grade keeps photography in the same warm, quiet register. */
.hero-slide img,.page-hero:not(.drawing-hero) .hero-media img,.photo-carousel img,.row-image img,.gallery-item img,.next-project img,.chapter-media img{filter:saturate(.88) sepia(.04)}
.carousel-track{touch-action:pan-y pinch-zoom}
.photo-carousel.is-swipe .carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain}
.photo-carousel.is-swipe .carousel-track::-webkit-scrollbar{display:none}
.photo-carousel.is-swipe .carousel-panel{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.photo-carousel.is-swipe .carousel-image{-webkit-user-drag:none;user-select:none}
.photo-carousel.is-swipe .carousel-image img{-webkit-user-drag:none}
.carousel-swipe-note{margin-top:8px;font:10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.carousel-controls>div{text-align:center}
.photo-carousel .carousel-track{position:relative}
.photo-carousel .carousel-outgoing{position:absolute;inset:0;z-index:2;pointer-events:none;animation:featured-dissolve 1s ease both}
@keyframes featured-dissolve{to{opacity:0}}
.photo-carousel.is-carousel .carousel-name{font-size:15px;letter-spacing:.16em}
.photo-carousel .carousel-subtitle{margin-top:9px}
.carousel-tabs.project-type-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 38px;margin:30px auto 10px;padding:0 12px}
.carousel-tabs.project-type-nav button{display:block;position:relative;width:auto;height:auto;max-width:100%;min-height:60px;padding:8px 0 14px;border:0;background:none;font:500 clamp(27px,3.5vw,52px)/1.13 var(--serif);letter-spacing:.035em;text-transform:uppercase;color:#86877f;transition:color .65s,letter-spacing .65s;transform:translateX(var(--type-drift,0px))}
.carousel-tabs.project-type-nav button:nth-child(even){transform:translateX(calc(var(--type-drift,0px)*-1))}
.carousel-tabs.project-type-nav button:after{content:'';position:absolute;bottom:3px;left:calc(50% - 25px);width:50px;height:1px;background:var(--bronze);transform:scaleX(0);transition:transform .65s}
.carousel-tabs.project-type-nav button[aria-pressed=true],.carousel-tabs.project-type-nav button:hover{color:var(--ink);letter-spacing:.055em}
.carousel-tabs.project-type-nav button[aria-pressed=true]:after{transform:scaleX(1)}
.carousel-rotation{display:block;margin:15px auto 0;border:0;background:none;color:var(--muted);font:9px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;padding:14px 20px;min-height:44px}
.carousel-rotation:hover{color:var(--bronze)}
@media(max-width:700px){.carousel-tabs.project-type-nav{gap:3px 20px;padding-inline:4px;margin-top:25px}.carousel-tabs.project-type-nav button{font-size:clamp(25px,6.4vw,39px);min-height:48px;padding-bottom:12px}.photo-carousel.is-carousel .carousel-name{font-size:12px;letter-spacing:.08em}}
@media(max-width:700px){.photo-carousel.is-swipe .project-type-nav{gap:0;margin-top:10px}.photo-carousel.is-swipe .project-type-nav button{font-size:0;width:40px;height:44px;min-height:44px;padding:0;transform:none}.photo-carousel.is-swipe .project-type-nav button:after{width:18px;left:11px;bottom:21px;background:var(--muted);transform:none;opacity:.4}.photo-carousel.is-swipe .project-type-nav button[aria-pressed=true]:after{background:var(--ink);opacity:1}}
/* Text, space, and imagery carry the page rhythm. */
.statement-section{padding:clamp(95px,13vw,190px) var(--gutter);text-align:center;max-width:1200px;margin:auto}.statement-section .eyebrow{margin-bottom:35px}.light-statement{font:500 clamp(33px,3.7vw,55px)/1.3 var(--serif);letter-spacing:.005em;text-wrap:pretty}.statement-section .line-link{margin-top:40px}.light-word{color:currentColor;color:color-mix(in srgb,var(--lit-color,var(--ink)) calc(var(--light,1)*100%),var(--dim-color,#909186))}.section-label{text-align:center;margin-bottom:75px}.section-label>h2:first-child{font-size:14px;letter-spacing:.23em;text-transform:uppercase;font-family:var(--sans);line-height:1.5}.section-label>span,.chapter-rule{display:block;width:70px;height:1px;background:currentColor;margin:26px auto 0;opacity:.65}.section-label .eyebrow{margin-bottom:28px}.section-label h2[data-light-text]{max-width:700px;margin:auto;font-size:clamp(38px,4vw,60px)}.featured-section{padding:90px var(--gutter) 85px;background:var(--tint);text-align:center}.section-link{margin-top:25px}.editorial-carousel{max-width:1460px;margin:auto;outline-offset:10px}.carousel-controls{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:35px;margin-bottom:36px}.carousel-controls button{background:none;border:0;font:38px var(--serif);min-width:50px;min-height:50px;transition:transform .35s,color .35s}.carousel-prev:hover{transform:translateX(-5px)}.carousel-next:hover{transform:translateX(5px)}.carousel-name{font-size:clamp(24px,2.8vw,42px);letter-spacing:.07em;text-transform:uppercase;line-height:1.15}.carousel-subtitle{font:10px/1.6 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:13px}.carousel-panel{margin-bottom:55px}.carousel-image{display:block;position:relative;overflow:hidden}.photo-carousel .carousel-image img{width:100%;height:min(67vw,700px);max-height:76svh;object-fit:cover}.image-action{position:absolute;right:24px;bottom:22px;font:9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.13em;background:#f8f7f3eb;color:var(--ink);padding:13px 20px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.carousel-image:hover .image-action,.carousel-image:focus-visible .image-action,.row-image:hover .image-action,.row-image:focus-visible .image-action{opacity:1;transform:none}.panel-caption{padding-top:25px}.panel-caption p{color:var(--muted)}.is-carousel .panel-caption{display:none}.is-carousel .carousel-panel{margin-bottom:0}.carousel-tabs{display:flex;justify-content:center;margin-top:24px}.carousel-tabs button{background:none;border:0;width:38px;height:44px;display:grid;place-items:center}.carousel-tabs span{height:1px;width:18px;background:#b8b7ad;transition:width .4s,background .4s}.carousel-tabs button[aria-pressed=true] span{background:var(--ink);width:30px}.carousel-panel.is-arriving{animation:panel-in .75s var(--ease) both}@keyframes panel-in{from{opacity:0;transform:translateX(var(--slide-from,18px))}to{opacity:1;transform:none}}
.image-chapter{height:100svh;min-height:650px;max-height:1200px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.chapter-media{position:absolute;inset:0;z-index:-3}.chapter-media picture,.chapter-media img{height:100%;width:100%;object-fit:cover;object-position:var(--position)}.chapter-shade{position:absolute;inset:0;background:#11190f66;z-index:-1}.chapter-copy{max-width:950px;padding:85px var(--gutter)}.chapter-copy .eyebrow{color:#fff;font-size:12px;letter-spacing:.25em}.chapter-copy h2{margin-top:40px;font-size:clamp(40px,4.5vw,68px);line-height:1.22;--lit-color:#fff;--dim-color:#ffffffb8}.chapter-copy .line-link{margin-top:35px;color:white}.chapter-copy .line-link:hover{color:white}.drawing-invitation{padding:110px var(--gutter) 100px;text-align:center}.drawing-invitation .section-label{margin-bottom:45px}.drawing-invitation .paper-art{max-width:1250px;margin:0 auto 35px}.paper-art{display:block;mix-blend-mode:multiply}.paper-art img{object-fit:contain;height:auto}.closing{padding:130px var(--gutter);text-align:center}.closing .eyebrow{margin-bottom:30px}.closing h2{font-size:clamp(40px,4.8vw,70px)}.closing .line-link{margin-top:32px}
/* Alternating image and title rows, with a fine central guide. */
.section-nav{position:sticky;top:0;z-index:9;padding:26px var(--gutter);display:flex;justify-content:center;align-items:center;gap:24px;background:#f8f7f3f5;font:500 17px/1.5 var(--serif);text-transform:uppercase;letter-spacing:.04em}.section-nav span{color:var(--rule)}.section-nav a:last-child{color:var(--muted)}.project-index{background:var(--tint);padding:100px var(--gutter)}.project-index .section-label h2{font:500 clamp(40px,5vw,72px)/1.1 var(--serif);letter-spacing:.07em;text-transform:uppercase}.project-index .section-label em{font-size:.75em;text-transform:none;letter-spacing:.01em}.project-timeline{position:relative;max-width:1500px;margin:auto}.project-timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rule)}.project-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-bottom:65px}.project-row:last-child{padding-bottom:0}.row-image{display:block;position:relative;overflow:hidden}.row-image img{aspect-ratio:1.35;object-fit:cover;transition:transform 1s var(--ease)}.row-image:hover img{transform:scale(1.025)}.row-copy{padding:20px 7% 20px 0}.row-copy .eyebrow{font-size:9px;color:var(--muted);margin-bottom:22px}.row-copy h3{font-size:clamp(29px,3vw,46px);letter-spacing:.045em;text-transform:uppercase;line-height:1.15}.row-copy>p:not(.eyebrow){font:11px/1.8 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:20px;max-width:34ch}.row-copy .line-link{margin-top:25px}.project-row:nth-child(even) .row-image{grid-column:2;grid-row:1}.project-row:nth-child(even) .row-copy{grid-column:1;grid-row:1;text-align:right;padding:20px 0 20px 7%}.project-row:nth-child(even) .row-copy>p:not(.eyebrow){margin-left:auto}
/* Each project unfolds as a photographic essay. */
.project-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(60px,10vw,150px);padding-block:110px}.project-facts>div{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-top:1px solid var(--rule);font:11px/1.7 var(--sans);letter-spacing:.06em;text-transform:uppercase}.project-facts>div>span:last-child{text-align:right;max-width:27ch;color:var(--muted)}.credit{font:10px/1.6 var(--sans);color:var(--muted);margin-top:23px}.project-facts>.line-link{margin-top:25px}.project-description{font:500 clamp(28px,2.8vw,42px)/1.3 var(--serif)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start;padding-bottom:90px}.gallery-item.landscape{grid-column:1/-1}.gallery-item.solo{grid-column:1/-1;max-width:680px;width:100%;justify-self:center}.gallery-link{display:block;position:relative;overflow:hidden}.architectural-line{grid-column:1/-1;padding:75px 20px;text-align:center}.architectural-line p{max-width:850px;margin:auto;font:500 clamp(34px,4vw,60px)/1.2 var(--serif)}.project-pagination{display:grid;grid-template-columns:1fr 1fr}.next-project{display:block;position:relative;min-height:400px;overflow:hidden;color:#fff;text-align:center}.next-project:after{content:'';position:absolute;inset:0;background:#0f170d66;transition:background .5s}.next-project picture,.next-project img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1s var(--ease)}.next-project>div{position:relative;z-index:1;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px;gap:25px}.next-project .eyebrow{color:#fff}.next-project div>span:last-child{font:500 clamp(28px,3vw,45px)/1.2 var(--serif);letter-spacing:.06em;text-transform:uppercase}.next-project:hover{color:#fff}.next-project:hover img{transform:scale(1.035)}.next-project:hover:after{background:#0f170d44}.all-projects{text-align:center;padding-block:55px}
/* Drawings form one continuous collection on the site's paper ground. */
.boards-intro{max-width:900px;padding-block:90px 45px}.boards-intro .eyebrow{margin:0 0 30px}
.board-index{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 42px;padding-block:0 70px}
.board-index a{padding:12px 0;font:10px/1.6 var(--sans);letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid transparent}
.board-index a:hover{border-bottom-color:var(--bronze)}.board-index span{margin-right:10px;color:var(--bronze);font-size:8px}
.board-studies{max-width:1260px}.board-study{padding:0 0 110px;scroll-margin-top:110px}.board-study+.board-study{padding-top:20px}
.board-art{display:block;background:var(--paper)}.board-art img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.board-study.portrait .board-art picture{max-width:760px;margin-inline:auto}
.board-caption{display:grid;grid-template-columns:36px 1fr auto;gap:24px;align-items:start;border-top:1px solid var(--rule);margin-top:30px;padding-top:26px}
.board-number{font:10px/1.6 var(--sans);letter-spacing:.14em;color:var(--bronze);padding-top:10px}
.board-caption h2{font-size:clamp(29px,3vw,44px)}.board-caption p{font-size:20px;color:var(--muted);margin-top:8px}
.board-medium{font:9px/1.7 var(--sans);text-align:right;text-transform:uppercase;letter-spacing:.12em;padding-top:9px;color:var(--muted)}
.board-process{text-align:center;padding-block:0 60px}.board-process .eyebrow{margin-bottom:24px}.board-process .text-link{margin-top:25px}
@media(max-width:700px){.boards-intro{padding-block:70px 28px}.board-index{gap:0 20px;padding-bottom:45px}.board-index a{font-size:8px;letter-spacing:.08em}.board-index span{margin-right:6px}.board-study{padding-bottom:65px;scroll-margin-top:100px}.board-study+.board-study{padding-top:0}.board-caption{grid-template-columns:22px 1fr;gap:14px;margin-top:24px;padding-top:22px}.board-caption p{font-size:18px}.board-medium{grid-column:2;text-align:left;padding-top:0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:8px}.board-process{padding-bottom:20px}}
/* The studio: observation, drawing, and craft. */
.about-opening{padding-block:105px}.about-pair{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:center}.about-pair h2{font-size:clamp(38px,5vw,76px);line-height:.98;text-transform:uppercase;letter-spacing:.02em}.about-pair h2 em{text-transform:none}.about-pair p[data-light-text]{font:500 clamp(27px,2.8vw,41px)/1.3 var(--serif);margin-top:35px;max-width:28ch}.about-photo-note{font:italic 19px/1.5 var(--body);color:var(--muted);margin-top:25px}.studio-sketchbook{padding-block:70px 100px}.journey-heading{text-align:center;margin-bottom:55px}.journey-heading .eyebrow{margin-bottom:25px}.journey-heading>p:not(.eyebrow){color:var(--muted);margin-top:22px}.about-process{padding-block:40px 80px;text-align:center}.about-process p{font:italic 500 31px/1.3 var(--serif);margin-bottom:20px}.journey-maker{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:60px 100px}.journey-maker>figure img{aspect-ratio:4/5;object-fit:cover}.journey-maker .journey-heading{text-align:left;margin-bottom:28px}.journey-maker>div>p{color:var(--muted);max-width:39ch}.maker-signature{font:500 29px/1.3 var(--serif);margin-top:35px;color:var(--ink)!important}.maker-signature span{display:block;font:9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em;margin-top:10px}.maker-details{margin-top:25px}.maker-details summary{font:10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding-block:15px;border-bottom:1px solid var(--rule);list-style:none}.maker-details summary:after{content:'+';float:right;font-size:17px}.maker-details[open] summary:after{content:'−'}.maker-details>div{padding-top:25px}.maker-details p{margin-bottom:20px;font-size:19px;color:var(--muted)}.journey-invitation{text-align:center;padding-block:65px 100px}.journey-invitation .text-link{margin-top:28px}
/* Contact is direct, with an optional email composer. */
.contact-welcome{padding-block:100px}.contact-welcome .section-label h2{font:500 clamp(44px,5vw,72px)/1.12 var(--serif);letter-spacing:.01em;text-transform:none}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(55px,9vw,140px);align-items:center;max-width:1300px;margin:auto}.contact-grid>figure img{aspect-ratio:4/5;object-fit:cover}.contact-grid>.contact-study img{aspect-ratio:auto;object-fit:contain;mix-blend-mode:multiply}.contact-study figcaption{margin-top:22px;font:9px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}.contact-details>div{margin-bottom:35px}.contact-details h3{font:11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.2em;margin-bottom:18px}.contact-details p,.contact-details a:not(.line-link){font-size:25px;color:var(--muted)}.inquiry-details{max-width:1050px;margin:85px auto 0;border-block:1px solid var(--rule)}.inquiry-details summary{display:flex;justify-content:space-between;gap:25px;align-items:center;list-style:none;cursor:pointer;padding:30px 0;font:500 clamp(27px,3vw,39px)/1.2 var(--serif)}summary::-webkit-details-marker{display:none}.inquiry-details summary span{font:28px var(--serif);transition:transform .3s}.inquiry-details[open] summary span{transform:rotate(45deg)}.inquiry-intro{color:var(--muted);max-width:48ch;margin:15px 0 40px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:35px}form label{display:block;font:11px/1.5 var(--sans);letter-spacing:.06em;margin-bottom:30px}form label>span{color:var(--muted)}form input,form textarea{display:block;width:100%;margin-top:10px;padding:12px 0;border:0;border-bottom:1px solid #999c8e;background:transparent;color:var(--ink);font:22px/1.5 var(--body);border-radius:0}form textarea{resize:vertical;min-height:140px}form input::placeholder,form textarea::placeholder{color:var(--muted)}.form-note,#form-status{font:12px/1.6 var(--sans);color:var(--muted);max-width:50ch;margin-bottom:25px}.button{display:inline-flex;align-items:center;gap:35px;background:none;border:1px solid var(--rule);padding:18px 25px;font:10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.15em;min-height:52px;transition:background .3s}.button:hover{background:var(--tint)}#form-status{margin-top:25px}.foot{background:var(--tint);padding:0 var(--gutter) 25px;text-align:center}.back-top{font:9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.17em;display:inline-flex;gap:24px;padding:30px 0;color:var(--muted)}.foot-inner{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:35px 0 45px;gap:35px;max-width:1400px;margin:auto}.foot-inner>.brand{justify-self:start}.foot-inner p{font-size:19px;color:var(--muted)}.foot-inner>div{display:flex;flex-direction:column;align-items:end;font-size:19px;color:var(--muted);gap:5px}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 30px;padding:0 0 35px;font:9px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.13em}.foot-bottom{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;padding-top:25px;border-top:1px solid var(--rule);font:8px/1.6 var(--sans);letter-spacing:.04em;color:var(--muted)}.page-heading{padding:120px var(--gutter);text-align:center}.page-heading p{margin:25px auto;max-width:40ch}
/* Enhancements never make the static page dependent on animation. */
.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}[data-parallax]{transform:translateY(var(--drift,0px)) scale(1.08);transform-origin:center}.page-hero h1{animation:title-arrival 1.25s var(--ease) both}.masthead .brand{animation:title-arrival 1s var(--ease) both}@keyframes title-arrival{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out .25s ease both}::view-transition-new(root){animation:fade-in .45s ease both}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(hover:none){.image-action{opacity:1;transform:none}}
@media(max-width:1000px){.row-copy h3{font-size:32px}.project-row{gap:40px}.journey-maker{gap:45px}.about-pair{gap:35px}.menu-label{display:none}.project-intro{gap:55px}.contact-grid{gap:55px}}
@media(max-width:700px){
 body{font-size:20px}.masthead{padding:25px 70px}.brand strong{font-size:23px;letter-spacing:.2em}.brand small{font-size:6px;letter-spacing:.28em;padding-top:7px}.brand svg{width:26px;height:15px}.brand{gap:7px}.menu-toggle{top:28px;right:15px;min-width:44px;padding:10px}.menu-lines{width:25px}.back-link{top:38px;left:20px;font-size:20px}.back-link span{display:none}
 .menu-close{top:25px;right:18px}.menu-close span{display:none}.menu-content{padding:100px 20px 45px}.menu-content>.eyebrow{font-size:9px;margin-bottom:36px}.site-menu nav{gap:22px}.site-menu nav a{font-size:clamp(28px,7.8vw,38px);letter-spacing:.09em}.menu-foot{flex-direction:column;gap:13px;align-items:center;margin-top:40px;font-size:9px}.menu-background img{object-position:45% 50%}
 .page-hero{height:82svh;min-height:510px;max-height:900px}.home-hero{height:100svh;min-height:570px}.page-hero h1{font-size:clamp(36px,8.8vw,57px);letter-spacing:.09em;padding:100px 25px;line-height:1.25}.home-hero-title h1{font-size:clamp(42px,10vw,62px);text-transform:none;letter-spacing:0;line-height:1.12}.home-hero-title{margin-top:45px}.project-hero h1{font-size:clamp(30px,8vw,48px)}.hero-slide img{object-position:var(--mobile-position)}.scroll-cue{gap:17px}.scroll-cue i{height:40px}.hero-controls{bottom:77px;right:50%;transform:translateX(50%)}.hero-dot{width:30px;height:30px}.hero-dot span{width:12px}.hero-dot[aria-current=true] span{width:20px}
 .statement-section{padding-block:85px}.light-statement{font-size:34px;line-height:1.28}.statement-section .eyebrow{font-size:9px;letter-spacing:.13em}.statement-section .line-link{margin-top:30px}.featured-section{padding:65px 20px 60px}.section-label{margin-bottom:45px}.section-label>h2:first-child{font-size:12px}.carousel-controls{grid-template-columns:35px 1fr 35px;gap:10px;margin-bottom:28px}.carousel-controls button{min-width:35px;min-height:46px;font-size:30px}.carousel-name{font-size:25px;letter-spacing:.04em}.carousel-subtitle{font-size:9px;line-height:1.7;letter-spacing:.02em}.photo-carousel .carousel-image img{height:57svh;min-height:350px;max-height:600px;object-fit:cover}.image-action{font-size:8px;padding:10px 13px;right:12px;bottom:12px}.carousel-tabs{margin-top:14px}.section-link{margin-top:18px}
 .image-chapter{height:85svh;min-height:580px;max-height:900px}.chapter-copy{padding:55px 28px}.chapter-copy h2{font-size:40px;line-height:1.25;margin-top:30px}.chapter-copy .eyebrow{font-size:10px}.chapter-copy .line-link{margin-top:27px}.drawing-invitation{padding-block:75px 70px}.drawing-invitation .section-label h2{font-size:39px}.drawing-invitation .section-label{margin-bottom:35px}.drawing-invitation .paper-art{margin-inline:-12px}.closing{padding-block:85px}.closing h2{font-size:43px}.closing .eyebrow{font-size:9px;letter-spacing:.13em}
 .section-nav{justify-content:flex-start;gap:17px;padding:22px 24px;font-size:13px}.project-index{padding:70px 24px}.project-index .section-label h2{font-size:42px}.project-timeline:before{display:none}.project-row{grid-template-columns:1fr;gap:25px;padding-bottom:60px}.project-row:nth-child(even) .row-image,.project-row:nth-child(even) .row-copy{grid-row:auto;grid-column:auto}.row-image img{aspect-ratio:1.2}.row-copy,.project-row:nth-child(even) .row-copy{padding:0;text-align:left}.row-copy .eyebrow{font-size:8px;margin-bottom:13px}.row-copy h3{font-size:30px}.row-copy>p:not(.eyebrow){font-size:10px;margin-top:13px}.project-row:nth-child(even) .row-copy>p:not(.eyebrow){margin-left:0}.row-copy .line-link{margin-top:13px}.project-intro{grid-template-columns:1fr;gap:40px;padding-block:60px}.project-description{font-size:31px}.project-facts>div{font-size:10px}.gallery{gap:25px;padding-inline:15px;padding-bottom:50px}.gallery-item.portrait{grid-column:1/-1}.architectural-line{padding:45px 10px}.architectural-line p{font-size:35px}.project-pagination{grid-template-columns:1fr}.next-project,.next-project>div{min-height:310px}.next-project div>span:last-child{font-size:32px}.all-projects{padding-block:35px}

 .about-opening{padding-block:75px 30px}.about-pair{grid-template-columns:1fr;gap:40px}.about-pair h2{font-size:clamp(34px,11vw,62px)}.about-pair p[data-light-text]{font-size:32px;max-width:none}.about-photo-note{font-size:18px}.studio-sketchbook{padding-block:40px 70px}.journey-heading{margin-bottom:32px}.journey-heading h2{font-size:42px}.journey-heading>p:not(.eyebrow){margin-top:18px}.about-process{padding-block:20px 55px}.about-process p{font-size:28px}.journey-maker{grid-template-columns:1fr;gap:35px;padding-block:20px 60px}.journey-maker>figure img{aspect-ratio:4/3}.journey-invitation{padding-block:35px 70px}.journey-invitation h2{font-size:40px}
 .contact-welcome{padding-block:75px}.contact-welcome .section-label h2{font-size:44px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-grid>figure img{aspect-ratio:4/3}.contact-details>div{margin-bottom:28px}.contact-details h3{font-size:10px;margin-bottom:12px}.contact-details p,.contact-details a:not(.line-link){font-size:23px}.inquiry-details{margin-top:35px}.inquiry-details summary{font-size:29px;padding-block:25px}.form-row{grid-template-columns:1fr;gap:0}.inquiry-intro{margin-bottom:30px}.foot-inner{grid-template-columns:1fr;gap:28px;padding-block:20px 35px}.foot-inner>.brand{justify-self:center}.foot-inner>div{align-items:center}.foot-inner p,.foot-inner>div{font-size:18px}.footer-nav{gap:12px 20px;font-size:8px}.foot-bottom{gap:15px 25px}.foot-bottom>span{width:100%}
}
@media(max-width:360px){.brand strong{font-size:21px}.site-menu nav a{font-size:26px}.home-hero-title h1{font-size:40px}.light-statement{font-size:31px}.carousel-name{font-size:22px}.carousel-controls{gap:6px}.section-nav{font-size:12px}.chapter-copy h2{font-size:35px}.row-copy h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}[data-parallax]{transform:none}.light-word{color:var(--lit-color,var(--ink))}.site-menu nav a{transform:none}}
@media(forced-colors:active){.light-word{color:CanvasText}.paper-art{mix-blend-mode:normal}.hero-shade,.chapter-shade{display:none}}

/* Project stories: architectural passages and source-matched drawing plates. */
.project-description{font-size:clamp(26px,2.35vw,35px);line-height:1.48}
.project-chapter{grid-column:1/-1;padding:45px 0 55px}
.chapter-text{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(35px,8vw,120px);align-items:start;max-width:1080px;margin:0 auto}
.chapter-text h2{font:500 clamp(30px,3.3vw,48px)/1.15 var(--serif);max-width:15ch}
.chapter-text>p{font:400 clamp(18px,1.65vw,23px)/1.65 var(--serif);color:var(--muted);max-width:47ch}
.project-drawing{margin:55px auto 0;max-width:1120px}
.drawing-view{display:block;position:relative;}
.drawing-view picture,.drawing-view img{width:100%;display:block}
.drawing-view img{height:auto;object-fit:contain;mix-blend-mode:multiply}
.project-drawing figcaption{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--rule);padding-top:16px;margin-top:25px;font:10px/1.7 var(--sans);letter-spacing:.06em;color:var(--muted)}
.gallery-item figcaption{max-width:48ch;margin-top:17px;font:400 18px/1.5 var(--serif);color:var(--muted)}
.row-copy>p.row-story{font:400 18px/1.55 var(--serif);letter-spacing:0;text-transform:none;max-width:35ch}
@media(max-width:700px){
 .project-description{font-size:27px;line-height:1.45}
 .project-chapter{padding:25px 9px 30px}
 .chapter-text{grid-template-columns:1fr;gap:20px}
 .chapter-text h2{font-size:34px;max-width:18ch}
 .chapter-text>p{font-size:19px}
 .project-drawing{margin-top:30px}
 .project-drawing figcaption{flex-direction:column;gap:3px;font-size:9px;margin-top:18px}
 .gallery-item figcaption{font-size:17px;padding-inline:9px}
 .row-copy>p.row-story{font-size:18px}
}

/* Homepage drawing preview: stable proportions and reader-controlled automatic dissolves. */
.board-carousel{max-width:1250px;display:flex;flex-direction:column}
.board-carousel .carousel-track{position:relative;order:0}
.board-carousel .carousel-outgoing{position:absolute;inset:0;z-index:2;pointer-events:none;animation:featured-dissolve 1s ease both}
.board-carousel .carousel-image{height:clamp(280px,52vw,660px);background:transparent;mix-blend-mode:normal;margin:0!important;max-width:none;overflow:visible}
.drawing-paper-filters{position:absolute;pointer-events:none}
.board-carousel .carousel-image picture{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.board-carousel .carousel-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:var(--drawing-paper);mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.board-carousel .image-action{display:none}
.board-carousel .carousel-controls button{font-size:26px}
.board-carousel .carousel-tabs span{background:var(--rule)}
.board-carousel .carousel-controls{order:1;max-width:800px;width:100%;margin:28px auto 0;gap:20px}
.board-carousel .carousel-name{font-size:clamp(26px,2.6vw,38px);text-transform:none;letter-spacing:0}
.board-carousel .carousel-subtitle{font:19px/1.4 var(--body);text-transform:none;letter-spacing:0;margin-top:10px}
.board-carousel .carousel-tabs{order:2;margin-top:10px}.board-carousel .carousel-rotation{order:3;margin-top:0}
.board-carousel+.line-link{margin-top:24px}
@media(max-width:700px){.board-carousel .carousel-image{height:330px}.board-carousel .carousel-controls{grid-template-columns:35px 1fr 35px;gap:10px;margin-top:22px}.board-carousel .carousel-subtitle{font-size:17px}.board-carousel .image-action{display:none}}
