:root{--ink: #1c1c1a;--paper: #f6f4ef;--sand: #d7cbb8;--clay: #85745d;--night: #20211f;--line: rgba(28, 28, 26, .18);--space-1: clamp(.75rem, 1vw, 1rem);--space-2: clamp(1rem, 2vw, 2rem);--space-3: clamp(2rem, 5vw, 6rem);--radius: 0;--ease: .22s ease;--z-header: 20;--z-dialog: 50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}button{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;z-index:var(--z-header);inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.5rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid rgba(255,255,255,.25);background:#141513eb;box-shadow:0 .5rem 1.8rem #0003;color:#fff;-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem)}.site-brand{font-family:Georgia,serif;font-size:clamp(1rem,1.8vw,1.35rem);letter-spacing:.04em;line-height:.95;text-decoration:none}.primary-navigation{display:flex;align-items:center;gap:2rem}.menu,.footer-menu{display:flex;gap:1.5rem;margin:0;padding:0;list-style:none}.menu a,.nav-cta,.footer-menu a{font-size:.72rem;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}.menu a:hover,.menu a:focus-visible,.nav-cta:hover,.nav-cta:focus-visible{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.45rem}.nav-cta{border:1px solid currentColor;padding:.7rem 1rem}.menu-button{display:none;width:2.75rem;height:2.75rem;border:1px solid currentColor;background:transparent;color:inherit}.menu-button span{display:block;width:1.2rem;height:1px;margin:.25rem auto;background:currentColor}.hero{position:relative;display:grid;min-height:100svh;place-items:center;overflow:hidden;background:var(--night);color:#fff}.hero__slides,.hero__slide{position:absolute;inset:0}.hero__slide{opacity:0;transition:opacity var(--ease)}.hero__slide.is-current{opacity:1}.hero__slide:after,.project-hero:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#0000002e,#0000008c)}.hero__slide img,.project-hero>img{width:100%;height:100%;object-fit:cover}.hero__content{position:relative;z-index:1;max-width:50rem;padding:8rem 1.5rem 4rem;text-align:center}.hero h1{margin:.5rem 0 2rem;font-family:Georgia,serif;font-size:clamp(2.6rem,6.8vw,6.8rem);font-weight:400;line-height:1.03}.eyebrow{margin:0 0 .7rem;color:inherit;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase}.button{display:inline-block;border:1px solid currentColor;padding:.9rem 1.25rem;font-size:.72rem;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.button--light{color:#fff}.carousel-controls{position:absolute;z-index:2;bottom:1.5rem;display:flex;align-items:center;gap:1rem;color:#fff}.carousel-controls button{width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.7);background:transparent;color:inherit}.carousel-controls span{min-width:6.5rem;font-size:.75rem}.intro-section,.projects-section,.page-shell{padding:var(--space-3) clamp(1.25rem,7vw,8rem)}.intro-section{max-width:62rem}.intro-section h2,.section-heading h2,.archive-heading h1,.page-content h1,.contact-page h1{max-width:20ch;margin:.25rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(2.1rem,4.7vw,5rem);font-weight:400;line-height:1.08}.intro-section>p:not(.eyebrow){max-width:52rem;font-size:clamp(1.05rem,1.7vw,1.35rem)}.text-link{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.projects-section{background:#e9e4db}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:var(--space-2)}.section-heading h2{margin:0}.project-group{margin-top:var(--space-3)}.group-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:1.25rem}.group-heading h3{font-family:Georgia,serif;font-size:clamp(1.5rem,2.6vw,2.4rem);font-weight:400}.group-heading a{font-size:.75rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.project-card{min-width:0;background:var(--night);color:#fff}.project-card a{text-decoration:none}.project-card__image{aspect-ratio:4/3;overflow:hidden;background:#555}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card a:hover img{transform:scale(1.04)}.project-card__content{padding:1.1rem}.project-card h3{margin:.1rem 0;font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.project-card__detail{margin:0;color:#d9d5ce;font-size:.86rem}.enquiry-cta{padding:var(--space-3) clamp(1.25rem,7vw,8rem);background:var(--clay);color:#fff}.enquiry-cta h2{max-width:15ch;margin:.3rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4.5rem);font-weight:400;line-height:1.05}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:2.5rem clamp(1.25rem,5vw,5rem);background:var(--night);color:#fff;font-size:.76rem}.site-footer p{margin:0}.page-shell{min-height:60vh;padding-top:clamp(8rem,13vw,12rem)}.page-content,.contact-page{max-width:70rem}.prose{max-width:48rem;font-size:1.06rem}.prose>*:first-child{margin-top:0}.contact-layout,.project-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr);gap:var(--space-3)}.contact-form{align-self:start;padding:clamp(1.5rem,3vw,2.75rem);border:1px solid rgba(28,28,26,.12);background:#e4ddd1;box-shadow:0 1.25rem 3rem #1c1c1a17}.contact-form h2{margin:0 0 1.25rem;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400}.contact-shell{max-width:92rem;margin-inline:auto}.contact-heading{max-width:46rem;margin-bottom:clamp(2rem,4vw,4rem)}.contact-heading h1{margin-bottom:.8rem}.contact-heading>p:last-child{margin:0;font-family:Georgia,serif;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.25}.contact-lead{font-size:1.08rem}.contact-lead p:first-child{margin-top:0}.contact-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:2rem 0}.contact-detail{display:grid;gap:.45rem;min-height:8.25rem;padding:1.25rem;border:1px solid var(--line);background:#fff;text-decoration:none}.contact-detail:hover,.contact-detail:focus-visible{border-color:var(--clay);box-shadow:0 .6rem 1.5rem #1c1c1a14}.contact-detail span{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.contact-detail strong{font-family:Georgia,serif;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:400}.contact-form .frm-fluent-form .ff-el-group{margin-bottom:1.1rem}.contact-form .frm-fluent-form .ff-el-input--label label,.contact-form .frm-fluent-form .ff-el-form-control{color:var(--ink)}.contact-form .frm-fluent-form input,.contact-form .frm-fluent-form textarea{border:1px solid rgba(28,28,26,.2)!important;border-radius:0!important;background:#ffffffeb!important;box-shadow:none!important}.contact-form .frm-fluent-form input:focus,.contact-form .frm-fluent-form textarea:focus{border-color:var(--clay)!important;outline:3px solid rgba(133,116,93,.35)!important;outline-offset:1px!important}.contact-form .frm-fluent-form .ff-btn-submit,.contact-form .frm-fluent-form .ff-btn{border:1px solid var(--night)!important;border-radius:0!important;background:var(--night)!important;padding:.95rem 1.25rem!important;color:#fff!important;font-size:.75rem!important;letter-spacing:.12em;text-transform:uppercase}.privacy-note{font-size:.85rem}.project-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0}.project-filters a{border:1px solid var(--line);padding:.55rem .8rem;font-size:.74rem;text-decoration:none}.project-filters a.is-active{background:var(--night);color:#fff}.project-hero{position:relative;display:grid;min-height:min(72svh,58rem);align-items:end;background:var(--night);color:#fff}.project-hero>img{position:absolute;inset:0}.project-hero__content{position:relative;z-index:1;padding:clamp(8rem,15vw,14rem) clamp(1.25rem,7vw,8rem) clamp(3rem,6vw,6rem)}.project-hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(3rem,8vw,8rem);font-weight:400;line-height:.95}.project-layout{padding:var(--space-3) clamp(1.25rem,7vw,8rem)}.project-summary{margin-top:0;font-family:Georgia,serif;font-size:clamp(1.5rem,2.8vw,2.8rem);line-height:1.2}.project-meta{border-top:1px solid var(--line)}.project-meta dl{margin:0}.project-meta div{padding:1rem 0;border-bottom:1px solid var(--line)}.project-meta dt{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.project-meta dd{margin:.2rem 0 0}.gallery-section{padding:0 clamp(1.25rem,4vw,4rem) var(--space-3)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gallery-item{border:0;padding:0;background:#ddd;cursor:zoom-in}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;padding:2rem clamp(1.25rem,7vw,8rem);background:var(--night);color:#fff}.project-navigation a{font-size:.75rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.project-navigation a:last-child{text-align:right}.lightbox{width:min(100vw,110rem);height:100vh;max-width:none;max-height:none;border:0;padding:2rem;background:#0f0f0efa;color:#fff}.lightbox::backdrop{background:#000000e0}.lightbox figure{display:grid;height:100%;place-items:center;margin:0}.lightbox img{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain}.lightbox figcaption{margin-top:.75rem}.lightbox button{position:absolute;z-index:1;border:1px solid rgba(255,255,255,.7);background:#0003;color:#fff;font-size:1.3rem}.lightbox__close{right:1rem;top:1rem;width:2.8rem;height:2.8rem}.lightbox__previous,.lightbox__next{top:50%;width:3rem;height:3rem;transform:translateY(-50%)}.lightbox__previous{left:1rem}.lightbox__next{right:1rem}.nav-links{display:flex;gap:1rem;margin-top:2rem}.nav-links a,.nav-links span{border:1px solid var(--line);padding:.5rem .75rem}@media(max-width:799px){.menu-button{display:block}.primary-navigation{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--night)}.primary-navigation.is-open{display:flex}.menu{flex-direction:column;gap:1rem}.nav-cta{text-align:center}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout,.project-layout,.contact-details-grid{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.footer-menu{flex-direction:column;gap:.6rem}.project-navigation{grid-template-columns:1fr}.project-navigation a:last-child{text-align:left}.project-navigation a:nth-child(2){order:-1}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:1rem}}@media(max-width:520px){.project-grid,.project-gallery{grid-template-columns:1fr}.hero__content{padding-inline:1.25rem}.carousel-controls{bottom:.8rem}.lightbox{padding:4rem .5rem 1rem}.lightbox__previous{left:.3rem}.lightbox__next{right:.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__slide,.project-card__image img{transition:none}}.contact-shell{min-height:100vh;max-width:none;padding:5.7rem 0 0;background:var(--night)}.contact-page{max-width:none}.contact-stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(25rem,1.05fr);align-items:center;gap:clamp(3rem,7vw,9rem);min-height:calc(100vh - 5.7rem);padding:clamp(4rem,8vw,9rem) clamp(1.25rem,7vw,8rem);background:radial-gradient(circle at 8% 18%,rgba(183,160,124,.2),transparent 28rem),linear-gradient(135deg,#292a27,#171816)}.contact-story{max-width:42rem;color:#fff}.contact-story h1{margin:0 0 1.5rem;font-family:Georgia,serif;font-size:clamp(4rem,9vw,8.5rem);font-weight:400;line-height:.9}.contact-story .contact-lead{max-width:34rem;margin:0;color:#dedbd4;font-family:Georgia,serif;font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.35}.contact-details-list{margin:clamp(2.5rem,5vw,5rem) 0 2rem;border-top:1px solid rgba(255,255,255,.25)}.contact-details-list .contact-detail{display:grid;grid-template-columns:minmax(6rem,.38fr) minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:0;padding:1.3rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;text-decoration:none}.contact-details-list .contact-detail:hover,.contact-details-list .contact-detail:focus-visible{border-color:#ead7b8bf;color:#ead7b8;box-shadow:none}.contact-details-list .contact-detail strong{font-size:clamp(1rem,1.8vw,1.45rem);overflow-wrap:anywhere}.contact-story>.privacy-note{max-width:34rem;color:#aaa9a3}.contact-extras{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-bottom:2rem}.contact-address{display:grid;gap:.3rem;font-style:normal}.contact-address span,.contact-instagram{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase}.contact-address strong{color:#dedbd4;font-family:Georgia,serif;font-size:1.05rem;font-weight:400;letter-spacing:normal;line-height:1.35;text-transform:none}.contact-instagram{display:inline-flex;align-items:center;align-self:end;gap:.5rem;color:#fff;font-weight:700;text-decoration:none}.contact-instagram span:first-child{font-size:1.6rem;font-weight:400;line-height:1}.contact-instagram:hover,.contact-instagram:focus-visible{color:#ead7b8;text-decoration:underline;text-underline-offset:.4rem}.contact-affiliations{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr);gap:clamp(2rem,6vw,7rem);padding:clamp(3rem,6vw,6rem) clamp(1.25rem,7vw,8rem);background:#ece7dc}.contact-affiliations .eyebrow{color:var(--clay)}.contact-affiliations h2{max-width:15ch;margin:0;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3.25rem);font-weight:400;line-height:1.08}.contact-affiliations ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.contact-affiliations li:last-child{grid-column:span 2}.contact-affiliations a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:5.5rem;padding:1rem;border:1px solid rgba(28,28,26,.17);background:#ffffff94;color:var(--ink);font-size:.78rem;font-weight:700;line-height:1.25;text-decoration:none}.contact-affiliations a:hover,.contact-affiliations a:focus-visible{border-color:var(--clay);background:#fff;box-shadow:0 .75rem 1.5rem #1c1c1a17}.affiliation-icon{display:block;width:2.75rem;height:2.75rem;object-fit:contain}.contact-stage .contact-form{position:relative;z-index:1;align-self:center;width:min(100%,42rem);padding:clamp(2rem,4vw,4.5rem);border:0;background:#f7f5f0;color:var(--ink);box-shadow:0 2rem 5rem #0000003d}.contact-stage .contact-form h2{max-width:12ch;margin-bottom:2rem;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05}.contact-stage .contact-form .eyebrow{color:var(--clay)}.contact-stage .contact-form .frm-fluent-form input,.contact-stage .contact-form .frm-fluent-form textarea{background:#fff!important}@media(max-width:900px){.contact-stage{grid-template-columns:1fr;padding-top:5rem}.contact-stage .contact-form{justify-self:stretch}.contact-affiliations{grid-template-columns:1fr}}@media(max-width:520px){.contact-stage{padding-inline:1.25rem}.contact-details-list .contact-detail{grid-template-columns:1fr auto}.contact-details-list .contact-detail span:first-child{grid-column:1 / -1}.contact-stage .contact-form{padding:1.5rem}.contact-affiliations ul{grid-template-columns:1fr}.contact-affiliations li:last-child{grid-column:auto}}
