:root{--stone:#D8D1C4;--deep:#B5AD9E;--black:#0C0C0C;--charcoal:#2A2A2A}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--stone);font:15px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--stone);outline-offset:5px}header{height:100px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--black)}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;line-height:1.1;letter-spacing:1px}.monogram{font:50px/.9 Georgia,serif;border:1px solid var(--stone);border-radius:40px 40px 0 0;padding:4px 7px;letter-spacing:-7px;width:49px;height:60px}nav{display:flex;gap:38px;font-size:12px}nav a{padding:9px 0;border-bottom:1px solid transparent}nav a[aria-current=page]{border-color:var(--stone)}.hero{height:calc(100svh - 100px);min-height:570px;max-height:1000px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;animation:breathe 18s ease-out forwards;filter:brightness(.66)}.hero-copy{position:absolute;left:7%;top:18%;text-shadow:0 1px 20px #0c0c0c}.label{font-size:10px;letter-spacing:2px;line-height:1.7}.hero h1{font:clamp(70px,9vw,150px)/.95 Georgia,serif;letter-spacing:-5px;margin:34px 0 25px}.becoming{-webkit-text-stroke:1px var(--stone);color:transparent;animation:fill 2.8s 1s forwards}.period{color:var(--deep)}.hero-link{position:absolute;right:7%;bottom:11%;padding:16px 0;border-bottom:1px solid;min-width:190px;display:flex;justify-content:space-between}.hero-note{position:absolute;bottom:6%;left:7%}.section{padding:95px 7%}h2{font:clamp(42px,5.5vw,84px)/1.12 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:22px 0 40px}em{font-weight:400;color:var(--deep)}h3{font:34px/1.2 Georgia,serif;margin:22px 0 16px}.intro{padding-top:120px}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15px 80px}.intro-bottom .draw-line{grid-column:1/-1}.intro-bottom p{max-width:470px}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:7px;align-self:center;justify-self:end}.draw-line{display:block;height:1px;background:var(--deep);width:100%;transform-origin:left;transition:transform 1.4s;transform:scaleX(.15)}.draw-line.visible{transform:scaleX(1)}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.strip{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:22px;scrollbar-color:var(--deep) var(--charcoal)}.feature{flex:0 0 42%;scroll-snap-align:start}.feature img{width:100%;height:330px;object-fit:cover}.feature h3{font-size:27px;margin-bottom:6px}.feature p{margin-top:0}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}.pillar-grid svg{width:120px;height:90px;fill:none;stroke:var(--deep);stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2.5s}.pillar-grid svg.visible{stroke-dashoffset:0}.pillar-grid p{max-width:290px;color:var(--deep)}.invitation{background:var(--stone);color:var(--black);position:relative}.invitation em{color:var(--charcoal)}.button{display:inline-block;border:1px solid;padding:15px 25px;font-size:12px;min-width:170px}.invitation .button{position:absolute;right:7%;bottom:110px}.page-head{padding-top:85px;padding-bottom:40px}.sub{max-width:540px;color:var(--deep)}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:12%;padding-top:30px}.about-grid figure{margin:0}.about-grid img{width:100%;max-height:680px;object-fit:cover}.story p{margin:0 0 28px;line-height:1.9}.story .text-link{display:inline-block;margin-top:20px}.values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--charcoal);gap:40px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px 35px;padding-top:35px}.carousel{position:relative;background:var(--stone);aspect-ratio:4/3;overflow:hidden;touch-action:pan-y}.carousel img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;user-select:none}.carousel img.plan{object-fit:contain;padding:15px}.carousel button{position:absolute;top:50%;transform:translateY(-50%);border:0;background:var(--black);color:var(--stone);width:40px;height:40px}.carousel .left{left:12px}.carousel .right{right:12px}.controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px}.dots{display:flex;gap:7px}.dots button{width:6px;height:6px;border:1px solid var(--deep);border-radius:50%;padding:0;background:transparent}.dots button.active{background:var(--stone)}.project-card h3{font-size:29px;margin:18px 0 6px}.project-card p{color:var(--deep);margin:8px 0 0}.project-card .label{color:var(--stone)}.contact{padding-top:105px;padding-bottom:150px;min-height:75vh}.contact>p:not(.label){max-width:650px}.email{font:clamp(19px,3vw,44px)/1.6 Georgia,serif;display:inline-block;border-bottom:1px solid;margin:35px 0 24px;overflow-wrap:anywhere}footer{padding:40px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}footer .draw-line{flex-basis:100%;margin-bottom:15px}footer img{width:225px}footer a{font-size:12px}footer .label{color:var(--deep);font-size:9px}.skip{position:absolute;left:10px;top:-100px;z-index:20;background:var(--stone);color:var(--black);padding:10px}.skip:focus{top:10px}.door{position:fixed;inset:0;background:var(--stone);z-index:30;transform:translateX(-101%);pointer-events:none}.door.open{animation:door .65s ease-in-out}dialog{border:0;padding:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;background:var(--black);color:var(--stone)}dialog::backdrop{background:var(--black)}.viewer-toolbar,.viewer-bottom{height:65px;padding:15px 4%;display:flex;align-items:center;justify-content:space-between;font-size:12px}.viewer-toolbar button,.viewer-bottom button{background:none;border:1px solid var(--deep);color:var(--stone);width:40px;height:35px;margin-left:8px}.viewer-canvas{height:calc(100% - 130px);overflow:auto;display:grid;place-items:center;touch-action:pan-x pan-y pinch-zoom}.viewer-canvas img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center}.viewer-bottom{justify-content:center;gap:25px}[hidden]{display:none!important}@keyframes breathe{to{transform:scale(1.055)}}@keyframes fill{to{color:var(--stone)}}@keyframes door{0%{transform:translateX(-101%)}45%{transform:translateX(0)}100%{transform:translateX(101%)}}@media(max-width:700px){header{height:86px;padding:14px 6%}.brand{font-size:10px}.monogram{height:45px;width:37px;font-size:38px}nav{gap:17px;font-size:10px}nav span{display:none}.hero{height:calc(88svh - 86px);min-height:540px}.hero-copy{left:7%;top:20%}.hero h1{font-size:75px;letter-spacing:-3px}.hero-copy .label{max-width:240px}.hero>img{object-position:54%}.hero-link{bottom:13%;left:7%;right:auto}.hero-note{font-size:8px;bottom:5%}.section{padding:65px 7%}h2{letter-spacing:-1.2px}.intro-bottom{grid-template-columns:1fr;gap:15px}.intro-bottom .text-link{justify-self:start}.feature{flex-basis:85%}.feature img{height:270px}.pillar-grid{grid-template-columns:1fr;gap:40px}.pillar-grid article{display:grid;grid-template-columns:95px 1fr;gap:0 22px}.pillar-grid svg{grid-row:1/3;width:95px}.pillar-grid h3{margin:0}.pillar-grid p{margin-bottom:0}.invitation .button{position:static}.about-grid{grid-template-columns:1fr;gap:45px}.about-grid img{max-height:500px}.values{grid-template-columns:1fr;gap:20px}.project-grid{grid-template-columns:1fr;gap:55px}.page-head{padding-bottom:0}.viewer-toolbar{gap:10px}.viewer-toolbar>span{max-width:48%;font-size:10px}footer{align-items:start}footer img{width:180px}footer .text-link{justify-self:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.becoming{color:var(--stone)}.draw-line{transform:none}.pillar-grid svg{stroke-dashoffset:0}}

.brand img{width:155px;height:auto;display:block}@media(max-width:700px){.brand img{width:108px}}

/* Brand typography aligned with supplied wordmark. */
.hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(48px,8.1vw,132px);line-height:.96;letter-spacing:-.055em}
.hero-tagline{font-family:Georgia,serif;font-size:clamp(16px,1.8vw,27px);letter-spacing:.025em}
.brand img{width:190px}footer img{width:260px}
@media(max-width:700px){.hero h1{font-size:clamp(36px,10.4vw,73px);letter-spacing:-.045em}.brand img{width:115px}footer img{width:220px}}

/* Shared label typography and a consistent homepage spacing rhythm. */
nav{font-family:Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.7;letter-spacing:2px;text-transform:uppercase}
nav a{white-space:nowrap}
#home{--section-space:96px}
#home>.section{padding-block:calc(var(--section-space) / 2)}
#home>.intro{padding-top:var(--section-space)}
#home>.section:last-child{padding-bottom:var(--section-space)}
#home .section-top{gap:20px;margin-bottom:35px}
#home .section-top>.label{margin-block:0}
#home .section-top>.text-link{flex-shrink:0}
#home .intro h2{margin-top:0}
#home .intro-bottom{grid-template-columns:1fr}
#home .intro-bottom>p{margin-bottom:0}
#home .pillar-grid p{margin-bottom:0}
#home .invitation .button{bottom:var(--section-space)}
@media(max-width:700px){
 header{height:auto;min-height:100px;flex-wrap:wrap;gap:12px;justify-content:center}
 header .brand{margin-right:auto}
 nav{font-size:12px;gap:clamp(14px,4vw,28px)}
 #home{--section-space:64px}
 #home .section-top{gap:14px}
 #home .section-top>.text-link{font-size:11px}
 #home .intro .section-top>.label{max-width:155px}
}
@media(max-width:400px){header nav{flex-basis:100%;justify-content:space-between}#home .intro .section-top>.label{max-width:125px}}

/* Invitation action shares the label row; equal outer padding balances the block. */
#home>.invitation.section{padding-block:calc(var(--section-space) / 2)}
#home .invitation .section-top{align-items:center}
#home .invitation .button{position:static;flex-shrink:0;min-width:150px;text-align:center}
#home .invitation h2{margin:0}
@media(max-width:700px){
 #home .invitation .section-top>.label{max-width:55%}
 #home .invitation .button{min-width:112px;padding:12px;font-size:11px}
}

/* Keep button height from enlarging the label-to-heading gap. */
#home .invitation .section-top{position:relative;display:block}
#home .invitation .section-top>.label{margin:0;padding-right:180px}
#home .invitation .section-top>.button{position:absolute;right:0;top:50%;bottom:auto;transform:translateY(-50%)}
@media(max-width:700px){#home .invitation .section-top>.label{max-width:none;padding-right:132px}}

#viewer-status{font-size:11px;color:var(--deep)}.viewer-bottom{flex-wrap:wrap;height:auto;min-height:65px}#viewer-img{image-rendering:auto}

/* Static-page headings preserve the original type and layout. */
.page-title{font:clamp(42px,5.5vw,84px)/1.12 Georgia,serif;font-weight:400;letter-spacing:-2px;margin:22px 0 40px}
.project-detail .detail-gallery{max-width:1250px;margin:auto;padding-top:0}
.project-detail .project-card h3,.project-detail .project-card>p,.project-detail .project-detail-link{display:none}
.project-detail-link{display:inline-block;margin-top:20px}
.render-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.render-grid figure{margin:0}.render-grid img{width:100%;height:auto;display:block}.render-grid figcaption{font-size:12px;color:var(--deep);margin-top:12px}
.contact-location{margin-bottom:24px}footer div>p{margin:10px 0}
@media(max-width:700px){.page-title{letter-spacing:-1.2px}.render-grid{grid-template-columns:1fr}}
