@font-face{font-family:Cormorant;src:url('assets/cormorant.ttf') format('truetype');font-weight:300;font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--cream:#f5f2ea;--green:#142e25;--deep:#0d241c;--gold:#bca16e;--ink:#263e33;--muted:#646f62;--line:#d5d6ca;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 Manrope,Arial,sans-serif}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}p,h1,h2,figure{margin:0}h1,h2,.wordmark span,.photo-label>span,.film-choice>span:nth-child(2){font-family:Cormorant,Georgia,serif;font-weight:300}img{display:block;max-width:100%}button[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:var(--cream);padding:15px;z-index:100}.skip:focus{top:10px}
header{height:100px;padding:0 6%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20;background:rgba(245,242,234,.96);border-bottom:1px solid transparent;transition:height .4s var(--ease),box-shadow .4s,border-color .4s}header.scrolled{height:78px;border-color:var(--line);box-shadow:0 8px 30px #142e2508}.wordmark{display:flex;flex-direction:column;align-items:center;line-height:1.1}.wordmark small{font-size:8px;letter-spacing:4px;margin-bottom:7px}.wordmark span{font-size:34px}nav{display:flex;align-items:center;gap:38px;font-size:12px}nav a{padding:12px 0;position:relative}nav a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}nav a:hover:after{transform:scaleX(1)}.nav-cta{color:var(--green)}.menu-toggle{display:none}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:50;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{margin:0 6%;position:relative;display:grid;grid-template-columns:43% 57%;padding-bottom:42px}.hero-copy{padding:65px 24px 55px 0;align-self:center;position:relative;z-index:2}.eyebrow{font-size:10px;line-height:1.7;letter-spacing:3px;text-transform:uppercase}.hero .eyebrow{letter-spacing:4px}h1{font-size:clamp(100px,12.2vw,185px);line-height:.83;letter-spacing:-5px;margin:40px 0 35px}h1 em{font-style:italic;color:var(--green)}.intro{max-width:310px;font-size:14px;line-height:1.9;color:var(--muted)}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:30px}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 24px;min-height:54px;background:var(--green);color:var(--cream);border:1px solid var(--green);font-size:12px;transition:background .3s,transform .3s,box-shadow .3s}.contact-button:hover{background:#274a3c;transform:translateY(-2px);box-shadow:0 8px 24px #142e2515}.hero-link,.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);font-size:11px;padding:10px 0;min-height:44px}.hero-link span{font-size:18px}.hero-photo{position:relative;overflow:hidden;min-height:640px;background:var(--green)}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 42%;animation:photo-in 1.8s var(--ease) both}.hero-copy>*{animation:arrive 1s var(--ease) both}.hero-copy h1{animation-delay:.12s}.hero-copy .intro{animation-delay:.23s}.hero-actions{animation-delay:.34s}.hero-caption{position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:2px}.hero-caption span:last-child{letter-spacing:0;color:var(--muted)}
.section{padding:110px max(7%,calc((100vw - 1280px)/2))}.essence-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:13%}.essence-photo>div{overflow:hidden;aspect-ratio:4/5}.essence-photo img{width:100%;height:100%;object-fit:cover}.essence-photo figcaption{font-size:10px;color:var(--muted);margin-top:12px}.essence-copy .eyebrow{margin-bottom:24px;color:#8b744c}h2{font-size:clamp(46px,4.8vw,72px);line-height:1.06;letter-spacing:-1.4px}.essence-text{margin-top:27px;font-size:14px;line-height:1.95;color:var(--muted)}.essence-text p+p{margin-top:14px}.text-link{margin-top:22px}.gallery{padding-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:28px}.section-heading .eyebrow{color:#8b744c;margin-bottom:23px}.section-heading>p{font-size:12px;color:var(--muted);max-width:200px}.filters{display:flex;gap:10px;margin:28px 0 40px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;min-height:44px;padding:10px 18px;font-size:11px;transition:color .25s,background .25s,border-color .25s}.filters button.active{background:var(--green);color:var(--cream);border-color:var(--green)}.filters button:hover{border-color:var(--green)}.filters sup{display:none}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:60px 8%}.photo-card{padding:0;background:transparent;text-align:left;min-width:0}.photo-card:nth-child(even){margin-top:85px}.photo-wrap{position:relative;overflow:hidden;aspect-ratio:4/5;background:#dce0d2}.photo-wrap:after{content:'↗';position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f5f2eae8;color:var(--green);transition:transform .35s}.photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.photo-card:hover img{transform:scale(1.045)}.photo-card:hover .photo-wrap:after{transform:rotate(45deg)}.photo-label{padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-label>span{font-size:30px;line-height:1.2}.photo-label small{font-size:8px;letter-spacing:1px;color:var(--muted)}.gallery-status{font-size:11px;color:var(--muted);margin-top:28px}
.films{background:var(--green);color:var(--cream)}.films .section-heading{border:0;padding-top:0;margin-bottom:40px}.films .section-heading .eyebrow{color:var(--gold)}.films .section-heading>p{color:#bcc7b8}.film-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:center}.player-wrap{aspect-ratio:16/11;overflow:hidden;background:var(--deep)}.player-wrap video{display:block;width:100%;height:100%;object-fit:contain}.film-list>.eyebrow{color:var(--gold);margin-bottom:18px;font-size:9px}.film-choice{width:100%;display:flex;align-items:center;gap:18px;background:transparent;color:var(--cream);text-align:left;padding:23px 0;border-top:1px solid #ffffff25;transition:color .3s,padding .3s}.film-choice>span:nth-child(2){flex:1;font-size:27px;line-height:1.2}.film-choice small{display:block;font:11px/1.7 Manrope,Arial,sans-serif;color:#b9c6b5;margin-top:8px}.film-number,.film-choice>span:last-child{font-size:10px;color:var(--gold)}.film-choice.active{border-color:var(--gold);color:#d9c294}.film-choice:hover{padding-left:8px}.film-note{font-size:10px;color:#b9c6b5;margin-top:18px}.closing{position:relative;text-align:center;padding:105px 7%;overflow:hidden}.closing:before{content:'';display:block;width:1px;height:55px;background:var(--gold);margin:0 auto 35px}.closing .eyebrow{color:#8b744c;margin-bottom:20px}.closing h2{font-size:clamp(80px,12vw,170px);line-height:1;letter-spacing:-3px}.closing p:not(.eyebrow){max-width:440px;margin:18px auto;color:var(--muted);font-size:14px}.closing .contact-button{margin-top:15px}footer{border-top:1px solid var(--line);padding:28px 6%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}footer .wordmark{display:none}.mobile-contact{display:none}
 dialog{border:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#0d241cf7;color:var(--cream);padding:70px 65px}dialog::backdrop{background:var(--deep)}dialog[open]{display:flex;justify-content:center;align-items:center;animation:dialog-in .3s var(--ease)}dialog figure{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}dialog img{max-width:100%;max-height:calc(100dvh - 180px);object-fit:contain}dialog figcaption{font-size:12px}dialog button{position:absolute;background:transparent;color:var(--cream);min-width:44px;min-height:44px}.close{top:15px;right:20px;font-size:12px}.previous,.next{top:50%;font-size:26px}.previous{left:8px}.next{right:8px}.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease)}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(28px)}@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:.5;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@keyframes dialog-in{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.hero{max-width:1450px;margin-inline:auto}.hero-photo{min-height:780px}}
@media(max-width:1000px){header{padding-inline:5%;height:88px}nav{gap:23px}.hero{margin-inline:5%;grid-template-columns:45% 55%}.hero-photo{min-height:580px}.hero-copy{padding-right:20px}h1{font-size:12.5vw}.section{padding:80px 6%}.essence-grid{gap:8%}.gallery{padding-top:15px}.film-layout{gap:4%}.film-choice>span:nth-child(2){font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:84px}body{font-size:14px}header,header.scrolled{height:76px;padding:0 6%}.wordmark span{font-size:29px}.wordmark small{font-size:7px;letter-spacing:3px;margin-bottom:5px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;padding:12px 0 12px 12px;min-height:44px;font-size:11px}.menu-toggle span{font-size:21px;line-height:1}nav{position:absolute;top:75px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);padding:12px 6% 22px;border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s;box-shadow:0 20px 30px #142e2510}nav.open{opacity:1;visibility:visible;transform:none}nav a{font-size:15px;padding:14px 0}nav a:after{display:none}.hero{margin:0;display:block;min-height:620px;height:calc(100svh - 76px);max-height:820px;padding:0;color:var(--cream);background:var(--green)}.hero-photo{position:absolute;inset:0;min-height:0;height:100%;margin:0}.hero-photo img{object-position:54% 35%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b201908 15%,#0b201922 37%,#0b2019cc 72%,#0b2019f0 100%)}.hero-copy{position:absolute;bottom:0;left:0;width:100%;padding:34px 7% 40px}.hero .eyebrow{font-size:9px;letter-spacing:3px;color:#ead9b7}h1{font-size:clamp(88px,25vw,126px);letter-spacing:-3px;line-height:.82;margin:23px 0 22px}h1 em{color:var(--cream)}.intro{font-size:13px;line-height:1.75;color:#edf0e6;max-width:270px}.hero-actions{margin-top:24px;gap:12px;align-items:stretch}.hero .contact-button{background:#dbc394;color:var(--deep);border-color:#dbc394;font-size:12px;padding:16px 20px;min-height:52px}.hero-link{align-self:flex-start;color:#e2e8db;border-color:#ffffff40;font-size:11px;gap:30px;padding:6px 0;min-height:38px}.hero-caption{display:none}.section{padding:70px 7%}.essence-grid{display:flex;flex-direction:column-reverse;gap:35px;align-items:stretch}.essence-copy .eyebrow{margin-bottom:18px}h2{font-size:clamp(42px,11.5vw,58px);line-height:1.05}.essence-text{font-size:14px;margin-top:22px;line-height:1.9}.text-link{font-size:12px;margin-top:20px}.essence-photo{width:85%;align-self:flex-end}.essence-photo>div{aspect-ratio:1}.essence-photo img{object-position:center 40%}.essence-photo figcaption{font-size:10px}.gallery{padding-top:10px;padding-bottom:65px;overflow:hidden}.section-heading{flex-direction:column;align-items:flex-start;gap:18px;padding-top:25px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{max-width:none;font-size:12px}.filters{flex-wrap:nowrap;gap:7px;overflow-x:auto;margin:25px 0;padding-bottom:3px;scrollbar-width:none}.filters button{flex-shrink:0;font-size:11px;padding:10px 14px}.gallery-grid{display:flex;overflow-x:auto;gap:18px;margin-inline:-8.15%;padding:0 7% 18px;scroll-snap-type:x mandatory;scroll-padding-inline:7%;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.photo-card,.photo-card:nth-child(even){flex:0 0 86%;margin:0;scroll-snap-align:start;width:auto}.photo-wrap{aspect-ratio:4/5}.photo-label{padding-top:14px;gap:8px}.photo-label>span{font-size:29px}.photo-label small{font-size:8px;letter-spacing:.4px}.gallery-status{font-size:11px;line-height:1.8;margin-top:18px}.films{padding:65px 7%}.films .section-heading{margin-bottom:28px}.film-layout{display:block}.player-wrap{aspect-ratio:4/3;margin-bottom:28px}.film-choice{min-height:86px;padding:20px 0}.film-choice>span:nth-child(2){font-size:26px}.film-list>.eyebrow{font-size:10px}.film-choice small{font-size:11px}.closing{padding:70px 7% 65px}.closing:before{height:40px;margin-bottom:28px}.closing h2{font-size:22vw;letter-spacing:-2px}.closing p:not(.eyebrow){font-size:14px}.closing .contact-button{width:100%;font-size:12px}footer{flex-direction:column;gap:8px;padding:25px 7% 100px;font-size:10px}.mobile-contact{display:flex;position:fixed;z-index:15;left:5%;right:5%;bottom:calc(14px + env(safe-area-inset-bottom));min-height:52px;align-items:center;justify-content:space-between;gap:15px;background:var(--green);color:var(--cream);border:1px solid #72827366;box-shadow:0 7px 28px #07180d35;padding:14px 20px;font-size:12px;border-radius:3px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s,transform .3s,visibility .3s}.mobile-contact.visible{opacity:1;visibility:visible;transform:none}.mobile-contact span{color:#d7bd8b}dialog{padding:65px 12px 95px}dialog img{max-height:calc(100dvh - 205px)}.previous,.next{top:auto;bottom:25px;background:#ffffff10;border-radius:50%}.previous{left:calc(50% - 60px)}.next{right:calc(50% - 60px)}dialog figcaption{font-size:12px}.close{right:14px}.motion-ready .gallery-grid .reveal:not(.is-visible){opacity:1;transform:none}}
@media(max-width:360px){.hero{min-height:610px}.hero-copy{padding-inline:6%}.filters{gap:5px}.filters button{padding-inline:11px}.photo-label{align-items:flex-start;flex-direction:column}h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
