@font-face{font-family:Futura;src:url(assets/futura.ttf);font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:#202c38;font-family:Futura,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a65e00;outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}header{height:112px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{width:210px}.brand img{width:100%;height:auto}nav{display:flex;gap:34px;font-size:.9rem}nav a{padding:12px 0}nav a:hover{box-shadow:0 2px #f69f19}.place{font-size:.75rem;letter-spacing:.13em}.hero{padding:28px 3% 0}.hero-intro{position:relative;padding:15px 2.1% 35px}.eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.7}.hero h1{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.12;letter-spacing:-.035em;margin-top:20px}.hero h1 em{font-weight:400}.hero-note{position:absolute;right:2.1%;bottom:40px;font-size:.9rem;line-height:1.6}.hero-image{position:relative}.hero-image>img{width:100%;height:58vw;max-height:670px;object-fit:cover;object-position:50% 54%}.hero-image figcaption{display:flex;justify-content:space-between;align-items:center;padding:18px 2.1%;border-bottom:1px solid #d8ddd8;font-size:.8rem;letter-spacing:.07em}.hero-image figcaption a{font-size:.9rem;letter-spacing:0}.section{padding:100px 5%}.section-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:55px}.section-top>p:last-child{font-size:1rem;line-height:1.5;max-width:340px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.service-grid article{position:relative;border-top:1px solid #c9cfca;padding:34px 0 0 45px}.service-index{position:absolute;left:0;top:37px;font-size:.75rem;color:#737b72}.service-grid h2{font-family:Georgia,serif;font-size:2.6rem;line-height:1.2;margin-bottom:22px}.service-grid i{color:#a35c00;font-style:normal}.service-grid p{max-width:430px;color:#52606b}.projects{background:#eceef0}.projects>h2{font-family:Georgia,serif;font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.2;margin-bottom:60px}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:65px 5%}.project{grid-column:span 6;min-width:0}.project:nth-child(4n+1){grid-column:span 7}.project:nth-child(4n+2){grid-column:span 5;padding-top:100px}.project-open{padding:0;border:0;background:none;display:block;width:100%;text-align:left;color:inherit;cursor:pointer}.project-picture{position:relative;overflow:hidden}.project-picture img{width:100%;height:420px;object-fit:cover;transition:transform .4s}.project-open:hover img{transform:scale(1.025)}.project-heading{display:flex;gap:15px;justify-content:space-between;align-items:baseline;margin-top:18px}.project h3{font-size:1.2rem;line-height:1.4}.project-number{font-size:.8rem;color:#566370}.project p{font-size:.9rem;color:#566370;margin-top:4px}.view{position:absolute;right:0;bottom:0;padding:10px 15px;background:#fff;font-size:.75rem;display:flex;gap:20px;align-items:center}.view>span{font-size:1.3rem}.more-projects{margin-top:70px;border-top:1px solid #aab4a9}.more-projects summary{padding:24px 0;cursor:pointer;display:flex;justify-content:space-between;list-style:none;font-size:.9rem}.more-projects summary::-webkit-details-marker{display:none}.more-projects summary span{display:flex;gap:25px}.more-projects summary b{font-size:1.4rem;font-weight:400}.more-projects[open] summary b{transform:rotate(45deg)}.archive{margin-top:20px;gap:40px 3%}.archive .project{grid-column:span 4;padding-top:0}.archive .project img{height:260px}.archive h3{font-size:1rem}.studio{background:#152b42;color:#fff}.studio-content{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:60px}.studio h2{font-family:Georgia,serif;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.25}.studio h2 em{color:#ddd0bc;font-weight:400}.studio-content p{margin-bottom:25px;color:#e2e7ed}.studio-content .large-copy{font-size:1.25rem}.disciplines{display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem;padding-top:20px;border-top:1px solid #526173}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:45px 5%;font-size:.75rem}footer img{width:190px;height:auto}footer p{letter-spacing:.08em}dialog{width:min(1440px,96vw);max-width:96vw;height:94svh;max-height:94svh;padding:25px 35px;border:0;background:#152b42;color:white}dialog::backdrop{background:#000c}.gallery-bar{display:flex;justify-content:space-between;gap:30px;align-items:start}.gallery-bar .eyebrow{font-size:.75rem;margin:0 0 9px}.gallery-bar h2{font-size:1.5rem;line-height:1.3}.close-gallery{background:none;border:0;color:white;display:flex;gap:15px;align-items:center;padding:6px;cursor:pointer;font-size:.8rem}.close-gallery span{font-size:2rem;line-height:1}.gallery-stage{height:calc(100% - 115px);display:flex;align-items:center;position:relative;justify-content:center;padding:24px 65px 10px}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-stage button{position:absolute;top:50%;background:#fff;color:#111;border:0;width:46px;height:46px;font-size:25px;cursor:pointer}.gallery-stage button[hidden]{display:none}.gallery-prev{left:0}.gallery-next{right:0}.gallery-bottom{display:flex;justify-content:space-between;gap:25px;font-size:.75rem;color:#ccd4cc}.gallery-bottom p{margin:12px 0}body:has(dialog[open]){overflow:hidden}@media(max-width:800px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:25px 5%;gap:20px}.brand{width:175px}nav{order:3;justify-content:space-between;width:100%;gap:16px}.hero{padding-top:10px}.hero-note{display:none}.hero-intro{padding-bottom:30px}.hero-image>img{height:65vh;min-height:340px;max-height:600px}.hero-image figcaption{gap:20px;font-size:.75rem}.section{padding:65px 5%}.section-top{margin-bottom:35px}.service-grid{gap:35px}.service-grid article{padding-left:0}.service-index{position:static;display:block;margin-bottom:15px}.service-grid h2{font-size:2rem}.project-picture img{height:310px}.project:nth-child(4n+2){padding-top:50px}.archive .project{grid-column:span 6;padding-top:0}.studio-content{grid-template-columns:1fr;gap:35px}.gallery-bar h2{font-size:1.2rem}dialog{padding:20px}.gallery-stage{padding-left:50px;padding-right:50px}footer{flex-wrap:wrap}}@media(max-width:520px){.hero h1{font-size:2.15rem}.hero .eyebrow{font-size:.7rem}.hero-image figcaption{align-items:start;flex-direction:column;gap:8px}.hero-image>img{height:53vh;object-position:52% center}.section-top{display:block}.section-top>p:last-child{margin-top:15px}.service-grid{grid-template-columns:1fr;gap:40px}.project-grid{display:block}.project+.project{margin-top:35px}.project:nth-child(4n+2){padding-top:0}.project img,.archive .project img{height:auto;aspect-ratio:4/3}.project-heading{gap:15px}.more-projects{margin-top:45px}.studio-content{margin-top:35px}footer{align-items:start;flex-direction:column}dialog{padding:18px 15px;width:100vw;max-width:100vw;height:100svh;max-height:100svh;margin:0}.gallery-bar{gap:15px}.gallery-stage{height:calc(100% - 140px);padding:15px 0 55px}.gallery-stage button{top:auto;bottom:0}.gallery-bottom{margin-top:14px}.close-gallery{font-size:0}.close-gallery span{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:45px 8%;align-items:start}.detail-copy{grid-row:span 2}.detail h2,.contact h2{font-family:Georgia,serif;font-size:clamp(2rem,3.2vw,3.3rem);line-height:1.22}.detail h2{margin-bottom:30px}.detail em,.contact em{font-weight:400}.detail-copy p{color:#52606b;max-width:370px;margin:0 0 20px}.detail-caption{display:block;font-size:.75rem;letter-spacing:.12em;margin-top:45px}.sketch img{width:100%;height:auto}.detail figcaption{margin-top:12px;font-size:.8rem;color:#566370}.built{width:65%;justify-self:end}.built img{width:100%;height:310px;object-fit:cover}.contact{border-bottom:1px solid #c9cfca}.contact-content{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin-top:45px;align-items:center}.contact-content p{color:#52606b}.email{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid #8d988e;padding:18px 0;font-size:clamp(1.1rem,2vw,1.65rem);overflow-wrap:anywhere}.email span{color:#a35c00;font-size:1.6rem}.contact-place{font-size:.9rem;margin-top:20px}@media(max-width:800px){.detail-grid{grid-template-columns:1fr 1fr;gap:30px}.detail-copy{grid-column:span 2;grid-row:auto}.detail-copy p{max-width:600px}.built{width:100%;align-self:end}.built img{height:280px}.contact-content{grid-template-columns:1fr;gap:30px}.contact-content>div{max-width:480px}}@media(max-width:520px){.detail-grid{display:block}.detail figure{margin-top:35px}.built{width:80%;margin-left:auto}.built img{height:300px}.detail-caption{margin-top:25px}}
/* Commercial direction */
.hero-intro{background:#eceef0;padding:30px 2.1% 35px}.hero h1{font-size:clamp(2.1rem,3.7vw,4.25rem)}.hero-note{max-width:220px}.hero-image>img{height:57vw;max-height:650px;object-position:50% 48%}.hero-image figcaption{background:#152b42;color:white;border:0}.service-grid h2{font-size:clamp(1.75rem,2.65vw,2.8rem)}.services{background:#e5dccd;margin-top:32px}.service-grid article{border-color:#b6afa4}.service-index{color:#566370}.service-grid p{color:#43505b}.section{padding-top:80px;padding-bottom:80px}@media(max-width:800px){.hero-intro{padding:25px 3% 30px}.hero h1{font-size:clamp(2rem,5vw,3rem)}.hero-image>img{height:55vh;min-height:320px}.section{padding-top:55px;padding-bottom:55px}}@media(max-width:520px){.hero h1{font-size:2rem}.hero-image>img{height:48vh;min-height:300px}.hero-intro{padding-left:5%;padding-right:5%}}
/* Compact architectural portfolio grid */
.projects{background:#eceef0}.projects .section-top{margin-bottom:28px}.projects>h2{margin-bottom:36px}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:8px}.project,.project:nth-child(4n+1),.project:nth-child(4n+2){grid-column:auto;padding:0;margin:0;position:relative;min-width:0}.project.feature{grid-column:span 2;grid-row:span 2}.project.wide{grid-column:span 2}.project-open{height:100%;position:relative;overflow:hidden;background:#152b42;color:#fff}.project-picture{position:absolute;inset:0}.project-picture:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(9,21,34,.92));pointer-events:none}.project-picture img,.archive .project img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.project-heading{position:absolute;left:20px;right:20px;bottom:42px;margin:0;align-items:end;gap:15px}.project h3,.archive h3{font-size:1.05rem;line-height:1.3;max-width:90%;text-wrap:balance}.feature h3{font-size:1.6rem}.project-number{color:#fff;font-size:.75rem}.project p{position:absolute;bottom:17px;left:20px;margin:0;color:#e4e8ed;font-size:.8rem}.view{top:12px;right:12px;bottom:auto;width:30px;height:30px;padding:0;display:grid;place-items:center;background:#fff;color:#152b42;font-size:1.2rem;z-index:1}.project-color{background:#ded2bd;color:#152b42;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.project-color>p{font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,2.1rem);line-height:1.18}.project-color em{font-weight:400}.color-rule{display:block;width:42px;height:2px;background:#152b42}.archive{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;margin-top:8px;gap:8px}.archive .project{grid-column:auto;padding:0}.more-projects{margin-top:25px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 5%;align-items:start}.detail-copy{grid-column:span 2;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 5%;margin-bottom:30px}.detail-copy h2{grid-row:span 3;margin:0}.detail-copy p{max-width:none}.detail-caption{margin-top:5px}.sketch,.built{width:100%;justify-self:stretch;margin:0}.sketch img,.built img{width:100%;height:380px;object-fit:contain;background:#fff}.built img{object-fit:cover}.detail figcaption{margin-top:10px}.contact{background:#e7dfd2}.studio h2 em{color:#ddd0bc}.disciplines{border-color:#5d6a7b}.contact-content p,.detail-copy p{color:#52606b}footer{background:#f4f5f6}@media(min-width:1600px){.project-grid,.archive{grid-auto-rows:310px}}@media(max-width:1000px){.project-grid,.archive{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px}.project.feature{grid-column:span 2;grid-row:span 1}.project.wide{grid-column:auto}.project-color{grid-column:span 2;min-height:170px;flex-direction:row;align-items:center;gap:24px}.project-color>p{font-size:1.8rem}.project-color>p br{display:none}.project-color>p em{margin-left:.25em}.detail-copy{display:block}.detail-copy h2{margin-bottom:25px}.sketch img,.built img{height:310px}}@media(max-width:520px){.project-grid,.archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px;gap:6px}.project,.project:nth-child(4n+1),.project:nth-child(4n+2),.archive .project{margin:0;padding:0;grid-column:span 2}.project.feature{grid-row:span 1}.project-heading{left:16px;right:16px;bottom:41px}.project p{left:16px}.project h3,.feature h3{font-size:1.15rem}.project-color{padding:20px;min-height:0;flex-direction:column;align-items:start;gap:16px}.project-color>p{font-size:1.85rem}.project-color>p br{display:block}.project-color>p em{margin-left:0}.detail-grid{display:block}.detail figure{margin-top:24px;width:100%;margin-left:0}.sketch img,.built img{height:auto;max-height:360px;object-fit:contain}.detail-copy h2{font-size:2rem}}
/* Geometric headings; retain approved backgrounds and supporting type. */
.hero h1,.service-grid h2,.projects>h2,.detail h2,.studio h2,.contact h2,.project-color>p{font-family:Futura,"Avenir Next",Arial,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1.2}.hero h1 em,.detail em,.studio h2 em,.contact em,.project-color em{font-style:normal;font-weight:400}.hero h1{font-size:clamp(2rem,3.5vw,4rem);max-width:77%}.service-grid h2{font-size:clamp(1.7rem,2.5vw,2.6rem)}.projects>h2,.detail h2,.studio h2,.contact h2{font-size:clamp(1.9rem,3vw,3rem)}@media(max-width:1000px){.hero h1{max-width:100%}.hero-note{display:none}}@media(max-width:520px){.hero h1{font-size:1.95rem}.service-grid h2{font-size:1.75rem}.detail-copy h2{font-size:1.9rem}}

/* Portfolio categories */
.project-category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0;border-top:2px solid #152b42}.project-category-heading h3{font-family:Futura,Arial,sans-serif;font-size:1.45rem;line-height:1.3;color:#152b42}.project-category-heading p{font-size:.9rem;color:#566370}.residential-group{margin-top:60px}.residential-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:310px}.residential-grid .project{grid-column:auto;grid-row:auto;padding:0}.residential-group>.project-category-heading{border-color:#a99d87}.more-projects summary{font-size:.85rem}@media(max-width:800px){.project-category-heading{align-items:start;flex-direction:column;gap:6px}.residential-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px}.residential-grid .project:first-child{grid-column:span 2}.residential-group{margin-top:40px}}@media(max-width:520px){.residential-grid{grid-template-columns:1fr;grid-auto-rows:250px}.residential-grid .project,.residential-grid .project:first-child{grid-column:1}.project-category-heading h3{font-size:1.3rem}.more-projects summary{gap:14px}}
/* Return to the original white and green palette; preserve geometry. */
body,header,.hero-intro,.services,.detail,.contact,footer{background:#fff;color:#262b27}.hero-image figcaption,.studio,dialog{background:#233c32;color:#fff}.projects{background:#f3f5f2}.hero-image figcaption{border-color:#d8ddd8}.project-open{background:#233c32}.project-color{background:#e4ebe1;color:#233c32}.project-picture:after{background:linear-gradient(transparent,rgba(18,35,27,.92))}.view{color:#233c32}.color-rule{background:#233c32}.studio h2 em{color:#d1ddca}.studio-content p{color:#e1e7e2}.disciplines{border-color:#64766c}.project-category-heading,.service-grid article{border-color:#aab4a9}.project-category-heading h3{color:#233c32}.residential-group>.project-category-heading{border-color:#aab4a9}.project-category-heading p,.service-grid p,.detail-copy p,.contact-content p{color:#535c54}.services{margin-top:0}.contact{border-color:#c9cfca}.email{border-color:#8d988e}.more-projects{border-color:#aab4a9}
