:root{--cream:#eee8df;--ink:#161712;--gold:#bda66e;--line:#c8c2b8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;width:100%}img{object-fit:cover}a{color:inherit;text-decoration:none}
.cream{background:var(--cream)}
.skip-link{position:absolute;z-index:50;top:-100px;left:12px;background:#fff;color:#111;padding:1rem}.skip-link:focus{top:12px}
.top-nav{position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:29px 46px;color:#fff}
.monogram{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:42px;height:42px;font-family:'Bodoni MT',Didot,Georgia,serif;font-size:1.12rem;letter-spacing:-.18em;padding-right:4px}.monogram span{font-size:.75em;align-self:end;margin:-23px 0 10px 12px}
.desktop-nav{display:flex;flex-direction:column;align-items:flex-end;gap:1.05rem;text-align:right}
.desktop-nav a,.mobile-nav{font-size:.66rem;font-weight:700;letter-spacing:.02em;line-height:1}
.desktop-nav a:hover,.desktop-nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.mobile-nav{display:none}
.hero{height:100svh;min-height:640px;max-height:1000px;position:relative;overflow:hidden;background:#425046;color:#fff}
.hero video{height:100%;object-fit:cover;object-position:center 58%;filter:brightness(.87) saturate(.88)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.11),transparent 35%,rgba(0,0,0,.43) 100%)}
.hero-film{position:absolute;left:4.3%;bottom:24%;display:flex;align-items:center;gap:.65rem;font-size:.64rem;font-weight:700;letter-spacing:.08em}.hero-film span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.75);border-radius:50%}.hero-film span::after{content:'';width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #fff;margin-left:2px}
.hero-caption{position:absolute;right:4.3%;bottom:24%;text-align:right;font-size:.72rem;font-weight:700;line-height:1.13}
.hero h1{position:absolute;left:3%;bottom:-.13em;white-space:nowrap;font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(8rem,20.5vw,25rem);font-weight:400;line-height:.8;letter-spacing:-.075em;margin:0}
.hero-down{position:absolute;left:50%;bottom:1.8rem;transform:translateX(-50%);font-size:1.65rem;font-weight:300;opacity:.75}
.intro{padding:clamp(5rem,8vw,9rem) 4.2% 5rem}
.intro-headline{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3.1rem,5.65vw,7.3rem);letter-spacing:-.055em;line-height:.97;max-width:1400px;margin:0 auto}
.intro-headline span{display:block}.intro-headline span:nth-child(2){margin-left:20%}.intro-headline span:nth-child(3){margin-left:42%}.intro em,.editorial-panel em,.services em,.statement em,.interlude strong,.contact em{font-weight:400}
.intro-copy{width:min(490px,44%);margin:2rem 2% 7rem auto;font-size:.94rem;line-height:1.55}
.intro-copy p{margin:0 0 1.5rem}
.arrow-link{display:inline-flex;gap:1rem;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.02em;line-height:1.4}
.arrow-link span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--gold);color:#fff;font-size:.8rem;transition:transform .2s}
.arrow-link:hover span,.arrow-link:focus-visible span{transform:translate(2px,-2px)}
.intro-video{width:100%;height:clamp(340px,54vw,760px);background:#526453;overflow:hidden}.intro-video video{height:100%;object-fit:cover}
.editorial-panel{display:grid;grid-template-columns:39% 61%;min-height:740px}
.editorial-panel.reverse{grid-template-columns:61% 39%}
.panel-copy{padding:clamp(2rem,4.5vw,5rem);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.panel-copy .kicker{margin:0 0 1.4rem}.panel-copy h2{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3.5rem,5.7vw,7.3rem);font-weight:400;letter-spacing:-.045em;line-height:1;margin:0 0 1.8rem}.panel-copy>p:not(.kicker){font-size:.9rem;line-height:1.55;max-width:400px;margin:0 0 1.6rem}
.panel-image{min-height:740px;overflow:hidden}.panel-image img{height:100%;object-position:center 48%}.reverse .panel-image img{object-position:center 42%}
.kicker{font-size:.66rem;font-weight:700;letter-spacing:.04em}
.statement{height:clamp(500px,80vh,850px);position:relative;background:#435347;overflow:hidden;color:#fff}.statement img{height:100%;object-position:center 52%}.statement-shade{position:absolute;inset:0;background:rgba(0,0,0,.42)}.statement p{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0;padding:2rem;font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3rem,6.1vw,8rem);font-weight:400;line-height:1;letter-spacing:-.045em}
.services{padding:clamp(5rem,9vw,10rem) 4.2%}
.services-head{display:grid;grid-template-columns:1.4fr 1fr;column-gap:6rem;align-items:end;margin-bottom:4rem}.services-head .kicker{grid-column:1/-1;margin:0 0 1.4rem}.services-head h2{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3.3rem,5.6vw,6.7rem);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:0}.services-head>p:last-child{line-height:1.6;font-size:.94rem;max-width:400px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.4rem,2vw,2.6rem)}.service-grid article{min-width:0}.service-number{display:block;border-top:1px solid var(--line);padding:1rem 0;font-size:.72rem;font-weight:700}.service-grid img{height:clamp(300px,32vw,510px)}.service-grid article:nth-child(1) img{object-position:center 64%}.service-grid article:nth-child(2) img{object-position:center}.service-grid h3{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-weight:400;font-size:clamp(2.2rem,3.2vw,4.1rem);letter-spacing:-.04em;margin:1.2rem 0 .5rem}.service-grid p{line-height:1.55;font-size:.88rem;max-width:370px;margin:0}
.interlude{min-height:390px;padding:5rem 4.2%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.interlude p{font-size:.65rem;font-weight:700;letter-spacing:.1em;margin:0 0 1rem}.interlude strong{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3rem,6vw,7rem);letter-spacing:-.05em;line-height:.95}
.gallery{padding:2rem 0 8rem}.gallery-heading{padding:0 4.2% 2.6rem;display:flex;align-items:end;gap:2rem}.gallery-heading .kicker{position:absolute;align-self:start;margin:0}.gallery-heading h2{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(3.7rem,6vw,7rem);font-weight:400;letter-spacing:-.06em;margin:1.4rem auto 0 0;line-height:.9}.gallery-heading .arrow-link{margin-bottom:.4rem}
.gallery-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4.2% 1rem;scrollbar-color:#9b968c var(--cream)}.gallery-track figure{flex:0 0 clamp(280px,31vw,500px);margin:0;scroll-snap-align:start}.gallery-track img{height:clamp(330px,37vw,540px)}.gallery-track figcaption{font-size:.66rem;font-weight:700;letter-spacing:.07em;margin-top:1rem}
.contact{padding:7rem 4.2% 9rem;display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;border-top:1px solid var(--line)}.contact .kicker{margin:0 0 1.4rem}.contact h2{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-weight:400;font-size:clamp(4rem,7vw,9rem);letter-spacing:-.065em;line-height:.93;margin:0}.contact-copy{max-width:470px;align-self:end}.contact-copy p{font-size:.95rem;line-height:1.6;margin:0 0 2rem}.contact-copy .arrow-link{display:flex;margin-top:1.1rem}
.footer{padding:3rem 4.2% 1rem;border-top:1px solid var(--line);overflow:hidden}.footer-top{display:flex;justify-content:space-between;font-size:.75rem;line-height:1.5}.footer-top p{margin:0}.footer-top div{display:flex;flex-direction:column;gap:.5rem;text-align:right}.footer-wordmark{font-family:'Bodoni MT',Didot,'Times New Roman',serif;font-size:clamp(7rem,19.5vw,27rem);letter-spacing:-.075em;line-height:.88;white-space:nowrap;margin:4rem 0 1.5rem}.footer-bottom{font-size:.66rem;margin:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.editorial-panel,.editorial-panel.reverse{grid-template-columns:1fr 1fr}.panel-copy{padding:2rem}.services-head{column-gap:2rem}.footer-wordmark{font-size:19vw}}
@media(max-width:700px){.top-nav{padding:18px 20px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative;font-size:.7rem}.mobile-nav summary{list-style:none;cursor:pointer;font-weight:700}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{font-size:1rem;margin-left:.5rem}.mobile-nav nav{position:absolute;right:0;top:2.1rem;background:var(--cream);color:var(--ink);padding:1.1rem;min-width:180px;display:grid;gap:1rem;box-shadow:0 10px 30px rgba(0,0,0,.15)}.mobile-nav nav a{white-space:nowrap}.hero{min-height:560px;height:100svh}.hero video{object-position:center}.hero h1{font-size:22vw;left:3%;bottom:.1rem;letter-spacing:-.08em}.hero-caption{right:5%;bottom:26%;font-size:.63rem}.hero-film{left:5%;bottom:18%;font-size:.56rem}.hero-down{bottom:1rem}.intro{padding:5rem 5% 3rem}.intro-headline{font-size:clamp(2.9rem,11vw,4.9rem)}.intro-headline span:nth-child(2),.intro-headline span:nth-child(3){margin-left:0}.intro-copy{width:100%;margin:2rem 0 3rem;font-size:.9rem}.intro-video{height:390px}.editorial-panel,.editorial-panel.reverse{display:flex;flex-direction:column;min-height:0}.editorial-panel.reverse .panel-image{order:2}.editorial-panel.reverse .panel-copy{order:1}.panel-copy{min-height:360px;padding:3rem 5%}.panel-copy h2{font-size:3.8rem}.panel-image{min-height:0;height:520px}.statement{height:570px}.statement p{font-size:clamp(3rem,11vw,5.7rem)}.services{padding:5rem 5%}.services-head{display:block;margin-bottom:2.5rem}.services-head h2{font-size:3.6rem;margin-bottom:1.7rem}.service-grid{grid-template-columns:1fr;gap:3rem}.service-grid img{height:420px}.interlude{min-height:320px;padding-inline:5%}.gallery{padding-bottom:5rem}.gallery-heading{padding-inline:5%}.gallery-track{padding-inline:5%}.gallery-track figure{flex-basis:78vw}.gallery-track img{height:400px}.contact{grid-template-columns:1fr;padding:5rem 5%;gap:3rem}.contact h2{font-size:4.7rem}.footer{padding-inline:5%}.footer-wordmark{font-size:21vw;margin:4rem 0 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
