:root{--paper:#f4f1e9;--ink:#292c26;--muted:#727468;--line:#d4d3c7;--accent:#a3aa8b;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--paper);color:var(--ink);font:14px var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:5px;outline:2px solid #a77c43}img{width:100%;display:block}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h2{letter-spacing:-.035em;font-size:clamp(38px,4vw,62px);line-height:1.05}p{line-height:1.8}em{font-weight:400}::selection{background:var(--accent);color:#fff}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--paper);padding:14px;position:fixed;top:-70px;left:20px}.skip-link:focus{top:10px}.scroll-progress{background:var(--accent);transform-origin:0;z-index:150;height:3px;position:fixed;inset:0 0 auto}.header{background:var(--paper);z-index:50;justify-content:space-between;align-items:center;height:84px;padding:0 4%;display:flex;position:relative}.brand{font-family:var(--serif);letter-spacing:-1px;font-size:30px;line-height:.9}.brand span{font-family:var(--sans);letter-spacing:2.5px;text-align:center;margin-top:10px;font-size:8px;display:block}.nav{align-items:center;gap:35px;font-size:12px;display:flex}.nav>a{border-bottom:1px solid #0000;padding:10px 0;transition:border-color .25s}.nav>a:hover{border-color:currentColor}.nav .nav-contact{border-color:var(--ink);margin-left:25px}.nav-contact span{margin-left:22px;font-size:19px}.menu-toggle{display:none}.eyebrow{letter-spacing:2px;margin-bottom:18px;font-size:10px;font-weight:500;line-height:1.6}.section-pad{padding:70px 4%}.hero{color:#fff;background:#33392c;height:calc(100svh - 84px);min-height:580px;max-height:1000px;position:relative;overflow:hidden}.hero-images{position:absolute;inset:-6% 0}.hero-images img{object-fit:cover;object-position:center 48%;height:100%;position:absolute}.hero-shade{background:linear-gradient(#0000 42%,#0c160eab);position:absolute;inset:0}.hero-copy{justify-content:space-between;align-items:flex-end;gap:30px;display:flex;position:absolute;bottom:110px;left:4%;right:4%}.hero-copy>.eyebrow{display:none}.hero-copy h1{letter-spacing:-.025em;text-shadow:0 2px 24px #0003;font-size:clamp(56px,6vw,90px);line-height:.96}.hero-copy h1 em{color:#eef0df}.hero-bottom{padding-bottom:8px}.circle-link{align-items:center;gap:20px;font-size:12px;display:flex}.circle-link span{border:1px solid #fff9;border-radius:50%;place-items:center;width:54px;height:54px;font-size:22px;transition:background .3s,transform .3s;display:grid}.circle-link:hover span{background:#ffffff20;transform:translateY(4px)}.hero-footer{letter-spacing:1.5px;justify-content:space-between;align-items:center;gap:20px;font-size:9px;display:flex;position:absolute;bottom:25px;left:4%;right:4%}.slide-controls{gap:12px;display:flex}.slide-controls button{color:#fffc;background:0 0;border:0;border-bottom:1px solid #fff4;width:38px;min-height:44px;font-size:11px}.slide-controls button.active{color:#fff;border-color:#fff}.text-link{background:0 0;border:0;border-bottom:1px solid;justify-content:space-between;align-items:center;gap:28px;padding:10px 0;font-size:12px;line-height:1.4;display:inline-flex}.text-link span{font-size:22px;transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}.section-top{margin-bottom:20px}.filters{flex-wrap:wrap;gap:28px;margin-bottom:16px;padding:0 0 20px;display:flex}.filters button{color:var(--muted);white-space:nowrap;background:0 0;border:0;min-height:44px;padding:10px 0;font-size:12px;position:relative}.filters button.selected{color:var(--ink)}.filters button.selected:after{content:"";background:currentColor;height:1px;position:absolute;bottom:3px;left:0;right:0}.filters button span{vertical-align:super;color:var(--muted);margin-left:6px;font-size:9px}.gallery{columns:2;column-gap:18px}.photo{break-inside:avoid;text-align:left;background:#dcded3;border:0;width:100%;margin:0 0 18px;padding:0;display:block;position:relative;overflow:hidden}.photo-frame{position:relative;overflow:hidden}.photo img{height:auto;transition:transform .9s cubic-bezier(.2,.7,.3,1),filter .7s}.photo:hover img{filter:brightness(.88);transform:scale(1.025)}.photo-open{color:#fff;opacity:0;background:#292c2630;border:1px solid #fff9;border-radius:50%;place-items:center;width:38px;height:38px;font-size:21px;transition:opacity .3s;display:grid;position:absolute;top:20px;right:20px}.photo-caption{color:#fff;opacity:0;background:linear-gradient(#0000,#0007);justify-content:space-between;align-items:center;padding:45px 24px 22px;font-size:11px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(5px)}.photo-caption small{text-transform:uppercase;letter-spacing:1.5px;font-size:10px}.photo:hover .photo-caption,.photo:focus-visible .photo-caption{opacity:1;transform:none}.photo:hover .photo-open,.photo:focus-visible .photo-open{opacity:1}.gallery-footer{justify-content:center;padding-top:20px;display:flex}.film-section{height:75svh;min-height:500px;max-height:850px;color:var(--paper);background:var(--ink);position:relative;overflow:hidden}.film-image{position:absolute;inset:0}.film-image img{object-fit:cover;object-position:50% 45%;width:100%;height:100%}.film-image:after{content:"";background:linear-gradient(#0000 35%,#10150dd9);position:absolute;inset:0}.film-copy{position:absolute;bottom:55px;left:4%;right:4%}.film-copy h2{font-size:clamp(45px,5vw,76px)}.film-copy .text-link{position:absolute;bottom:0;right:0}.about{grid-template-columns:1.6fr 1fr;align-items:center;gap:9%;padding-top:90px;padding-bottom:90px;display:grid}.about-images{padding-bottom:45px;padding-right:18%;position:relative}.about-main{aspect-ratio:4/5;object-fit:cover}.about-small{border:8px solid var(--paper);width:43%;height:auto;position:absolute;bottom:0;right:0}.about-copy{max-width:330px}.about-copy h2{margin-bottom:24px;font-size:clamp(40px,4vw,60px)}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:20px;font-size:13px}.faq{border-top:1px solid var(--line);grid-template-columns:.8fr 1.5fr;gap:8%;padding-top:50px;padding-bottom:50px;display:grid}.faq h2{font-size:38px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;align-items:center;gap:20px;font-size:12px;line-height:1.6;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-icon{margin-left:auto;font-size:22px;font-weight:400;transition:transform .3s}.faq-list details[open] .faq-icon{transform:rotate(45deg)}.faq-list details p{color:var(--muted);padding:12px 25px 0 0;font-size:12px}.contact{background:var(--ink);color:var(--paper);grid-template-columns:1fr 1fr;gap:12%;display:grid}.contact h2{font-size:clamp(48px,4.7vw,72px)}.contact-email{font-family:var(--serif);overflow-wrap:anywhere;margin:30px 0 15px;font-size:28px;display:block}.contact-email span{margin-left:15px}.contact-copy>.text-link{color:#c8cbb9}.form-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}label{margin-bottom:20px;font-size:11px;display:block}input,textarea,select{width:100%;min-width:0;color:var(--paper);outline-offset:3px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;border-bottom:1px solid #626658;border-radius:0;padding:12px 0;font-size:12px;line-height:1.7;display:block}input::placeholder,textarea::placeholder{color:#aeb39f}textarea{resize:vertical}select option{background:var(--ink)}.submit-button{color:var(--ink);background:#d8ddc5;border:0;justify-content:space-between;align-items:center;width:100%;padding:17px 22px;font-size:12px;transition:background .3s;display:flex}.submit-button:hover{background:#edf0df}.submit-button span{font-size:22px}.form-note,.form-status{color:#b6bca6;margin-top:12px;font-size:10px;line-height:1.8}.form-status:empty{display:none}footer{color:#e1e2d5;background:#20231e;padding:32px 4% 25px}.footer-wordmark{font-family:var(--serif);letter-spacing:-.04em;justify-content:space-between;align-items:center;padding-bottom:25px;font-size:clamp(38px,5vw,70px);line-height:1.1;display:flex}.footer-wordmark span{font-family:var(--sans);color:var(--accent);font-size:.55em}.footer-bottom{color:#b0b6a0;border-top:1px solid #484d40;justify-content:space-between;gap:20px;padding-top:20px;font-size:10px;display:flex}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--paper);background:#0f120ef7;border:0;margin:0;padding:65px 7% 20px;position:fixed;inset:0}.lightbox::backdrop{background:#111}.lightbox-close{color:#fff;z-index:2;background:0 0;border:1px solid #777;min-height:44px;padding:10px 18px;font-size:12px;position:absolute;top:20px;right:25px}.lightbox-stage{pointer-events:none;justify-content:center;align-items:center;height:calc(100dvh - 170px);display:flex}.lightbox-stage img{object-fit:contain;width:100%;height:100%}.lightbox-controls{justify-content:center;align-items:center;gap:35px;padding-top:20px;display:flex}.lightbox-controls button{color:#fff;background:0 0;border:1px solid #777;border-radius:50%;width:44px;height:44px;font-size:20px}.lightbox-controls p{text-align:center;min-width:180px;font-size:12px}.lightbox-controls small{color:#aab09c;margin-top:4px;font-size:10px;display:block}@media (min-width:1700px){.gallery{columns:3}}@media (max-width:900px){.section-pad{padding:55px 4%}.about{gap:6%}.contact{gap:7%}.contact-email{font-size:24px}.hero-copy h1{font-size:66px}.filters{gap:22px}}@media (max-width:600px){.header{height:72px;padding:0 5%}.brand{font-size:27px}.brand span{font-size:7px}.menu-toggle{background:0 0;border:0;padding:14px 0 14px 20px;font-size:12px;display:block}.nav{background:var(--paper);padding:20px 5% 30px;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 20px 20px #0001}.nav.open{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.nav .nav-contact{margin-left:0}.hero{height:calc(90svh - 72px);min-height:540px;max-height:850px}.hero-images img{object-position:56% center}.hero-copy{display:block;bottom:95px;left:5%;right:5%}.hero-copy h1{font-size:57px}.hero-bottom{padding:0;position:absolute;bottom:5px;right:0}.circle-link{gap:0;font-size:0}.circle-link span{width:44px;height:44px;font-size:20px}.hero-footer{align-items:flex-end;bottom:20px;left:5%;right:5%}.hero-footer>span{letter-spacing:1px;max-width:145px;font-size:8px;line-height:1.8}.slide-controls{gap:6px}.slide-controls button{width:28px}.section-pad{padding:42px 5%}.portfolio{padding-left:12px;padding-right:12px}.section-top{margin-bottom:14px;padding:0 6px}.section-top h2{font-size:39px}.filters{gap:19px;margin-bottom:8px;padding:0 6px 12px}.filters button{font-size:11px}.filters button span{display:none}.gallery{columns:1;column-gap:0}.photo{margin-bottom:12px}.photo-open{opacity:1;width:32px;height:32px;font-size:18px;top:15px;right:15px}.photo-caption{display:none}.gallery-footer{padding-top:16px}.film-section{height:70svh;min-height:470px;max-height:700px}.film-image img{object-position:50% center}.film-copy{bottom:35px;left:5%;right:5%}.film-copy h2{font-size:46px}.film-copy .text-link{margin-top:15px;position:static}.eyebrow{margin-bottom:15px;font-size:9px}.about{grid-template-columns:1fr;gap:32px}.about-images{padding-bottom:25px;padding-right:18%}.about-small{border-width:5px}.about-copy{max-width:100%}.about-copy h2{font-size:44px}.about-copy h2 br{display:none}.about-copy>p:not(.eyebrow){margin-bottom:10px}.faq{grid-template-columns:1fr;gap:24px}.faq h2{font-size:34px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:50px}.contact h2 br{display:none}.contact-email{margin:24px 0 10px;font-size:26px}.form-row{gap:18px}input,textarea,select{font-size:16px}footer{padding:28px 5% 22px}.footer-wordmark{font-size:42px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:9px;line-height:1.7}.lightbox{padding:75px 12px 20px}.lightbox-controls{gap:14px}.lightbox-controls p{min-width:140px;font-size:10px}.lightbox-stage{height:calc(100dvh - 185px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.photo:hover img{transform:none}}
