:root{--paper:#f5f5f0;--ink:#0b1a14;--sage:#7a8d84;--teal:#4a6b6a;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--gutter:clamp(24px,5.5vw,104px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:6px}button{border:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.filter-defs{position:absolute;width:0;height:0;pointer-events:none}.glass{background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.23));border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 1px #fff9,inset 0 -1px 1px #fff5,0 8px 26px #1b332314;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.header{position:absolute;top:0;left:0;width:100%;z-index:10;padding:32px var(--gutter);display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;flex-direction:column;align-items:center;width:max-content;gap:5px}.wordmark>span{font-size:25px;letter-spacing:.36em;font-weight:300;margin-right:-.36em}.wordmark small{font-size:9px;letter-spacing:.6em;margin-right:-.6em}.nav{display:flex;gap:3px;border-radius:50px;padding:7px}.nav a{font-size:13px;padding:12px 22px;border-radius:30px;transition:background .25s}.nav a:hover{background:#fff8}.hero{min-height:850px;height:min(100svh,1050px);position:relative;isolation:isolate;overflow:hidden}.ambient{position:absolute;inset:-40px;background:url('assets/frame-36-large.webp') center/cover;filter:blur(40px);opacity:.18;z-index:-3;transform:scale(1.08)}.hero-wash{position:absolute;inset:0;background:linear-gradient(100deg,var(--paper) 4%,#f5f5f0e8 33%,#f5f5f020 80%),linear-gradient(0deg,var(--paper),transparent 22%);z-index:-2}.hero-copy{position:absolute;top:24%;left:var(--gutter);z-index:4;width:59%;pointer-events:none}.hero-copy>*{pointer-events:auto}h1{font-family:var(--serif);font-weight:400;font-size:clamp(58px,6.5vw,112px);letter-spacing:-.065em;line-height:.99;margin:0 0 29px}em{font-weight:400}.hero-copy p{font-size:clamp(14px,1.2vw,19px);line-height:1.65;color:#304138;margin:0 0 30px}.mobile-break{display:none}.action{display:inline-flex;align-items:center;gap:38px;padding:17px 25px;border-radius:50px;font-size:14px;transition:transform .35s,box-shadow .35s,background .35s}.action:hover{transform:translateY(-3px);background:#ffffffb3;box-shadow:0 12px 32px #1b332322}.hero-art{position:absolute;right:5.5%;top:13%;height:72%;width:37%;perspective:1000px;transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform .8s ease-out}.video-frame{position:absolute;right:7%;top:0;height:100%;aspect-ratio:9/16;padding:9px;border-radius:25px;transform:rotate(4deg);box-shadow:inset 0 0 4px #fff,0 34px 65px #112c2429;overflow:hidden}.video-frame video{height:100%;width:100%;object-fit:cover;display:block;border-radius:18px}.icon-button{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:inherit;transition:background .25s,transform .25s}.icon-button:hover{background:#ffffff5c;transform:scale(1.06)}#video-toggle{position:absolute;bottom:23px;right:23px;color:white;background:#15322750;width:38px;height:38px}#video-toggle svg{width:19px;height:19px}.glass-ribbon{position:absolute;z-index:-1;border:1px solid #ffffffbc;border-right:8px solid #ffffff48;border-bottom:3px solid #ffffff91;border-radius:48% 52% 64% 36%/36% 38% 62% 64%;background:linear-gradient(115deg,#ffffff50,#fff0 37%,#edf9f117 60%,#ffffff82);backdrop-filter:blur(5px);box-shadow:inset 2px 1px 3px #fff,4px 10px 15px #294d3517}.ribbon-one{width:115%;height:94%;left:-17%;top:-2%;transform:rotate(-29deg);animation:float-ribbon 12s ease-in-out infinite}.ribbon-two{width:72%;height:72%;right:-24%;bottom:-13%;transform:rotate(35deg);animation:float-ribbon 15s ease-in-out infinite reverse}.hero-preview{position:absolute;bottom:5%;left:calc(var(--gutter) + 18px);width:43%;height:26%;z-index:3}.preview-photo{position:absolute;padding:5px;background:#ffffff70;border:1px solid #fff9;border-radius:7px;box-shadow:0 14px 38px #15271c20;overflow:hidden;transition:transform .4s}.preview-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}.preview-wedding{width:51%;height:100%;left:0;top:0;transform:rotate(-6deg)}.preview-stage{width:43%;height:85%;right:0;bottom:-7%;transform:rotate(3deg)}.preview-wedding:hover{transform:rotate(-3deg) translateY(-8px)}.preview-stage:hover{transform:rotate(0deg) translateY(-8px)}.scroll-cue{position:absolute;bottom:37px;right:var(--gutter);opacity:.55}.scroll-cue svg{height:31px}.portfolio{padding:85px var(--gutter) 90px;position:relative;min-height:600px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:32px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4vw,67px);line-height:1.1;letter-spacing:-.045em;margin:0}.result-count{font-size:12px;color:#647068;letter-spacing:.04em;white-space:nowrap}.filter-wrap{position:sticky;top:20px;z-index:8;margin-bottom:40px;width:max-content;max-width:100%}.filters{padding:6px;border-radius:40px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.filters button{font-size:12px;letter-spacing:.01em;white-space:nowrap;padding:12px 20px;border-radius:35px;background:transparent;transition:background .3s,color .3s,box-shadow .3s}.filters button:hover{background:#fff8}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:0 2px 6px #0b1a142b}.gallery{columns:4;column-gap:22px}.photo{width:100%;display:block;position:relative;padding:0;background:transparent;break-inside:avoid;margin:0 0 24px;text-align:left;overflow:hidden;border-radius:3px;animation:photo-in .65s both;animation-delay:calc(var(--i,0)*30ms)}.photo-image{overflow:hidden;position:relative;display:block;border-radius:3px}.photo img{display:block;width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}.photo:hover img{transform:scale(1.035)}.photo .expand{position:absolute;bottom:13px;right:13px;color:#fff;background:#18302640;opacity:0;transform:translateY(8px);transition:.3s;width:35px;height:35px;backdrop-filter:blur(12px)}.photo .expand svg{width:17px;height:17px}.photo:hover .expand,.photo:focus-visible .expand{opacity:1;transform:none}.photo-caption{display:flex;justify-content:space-between;gap:5px;padding:10px 0 0;font-size:10px;letter-spacing:.04em;color:#6f7a71}.photo-caption span:last-child{font-size:9px;opacity:.7}.outro{position:relative;overflow:hidden;isolation:isolate;min-height:570px;display:grid;place-items:center;text-align:center;background:#e8ede7}.outro-content{padding:90px 24px;position:relative;z-index:2}.footer-mark{margin:0 auto 32px;opacity:.7}.outro h2{font-size:clamp(58px,6vw,92px);margin-bottom:25px}.outro p{line-height:1.8;font-size:14px;color:#4b5b50;margin:0 0 30px}.outro-wave{position:absolute;width:110%;height:160%;left:-30%;top:5%;border-radius:50%;border:2px solid #ffffffa8;box-shadow:inset -35px 8px 60px #fff9,40px -25px 80px #739a8718;transform:rotate(-25deg);background:linear-gradient(120deg,#99b7a54a,#ffffff00 65%)}.footer{padding:28px var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#536257}.footer a{display:flex;gap:10px}.reveal{transition:opacity .8s,transform .8s}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(22px)}dialog{border:0;max-width:none;max-height:none;width:100%;height:100%;padding:0;margin:0;background:#0b1510c9;color:white;overflow:hidden}dialog::backdrop{background:#101d1590;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.lightbox-shell{height:100%;width:100%;display:grid;place-items:center;padding:64px 100px}.lightbox-shell figure{margin:0;width:max-content;max-width:100%;max-height:100%;display:flex;flex-direction:column;min-height:0}.lightbox-image-frame{padding:8px;border-radius:14px;background:#ffffff12;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-image-frame img{max-width:100%;width:auto;height:auto;max-height:calc(100svh - 185px);object-fit:contain;border-radius:7px;display:block;animation:photo-in .35s}.lightbox-shell figcaption{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 2px 0;color:#e4e9e4;font-size:12px}.lightbox-shell figcaption h2{font-family:var(--sans);font-size:13px;letter-spacing:0;line-height:1.6;margin-top:4px;font-weight:400;color:#aebbb1}#lightbox-category{font-size:14px}.close{position:absolute;top:25px;right:30px;background:#ffffff1a}.previous,.next{position:absolute;top:calc(50% - 23px);background:#ffffff1a}.previous{left:28px}.next{right:28px}body.modal-open{overflow:hidden}@keyframes float-ribbon{50%{translate:0 -18px;rotate:3deg}}@keyframes photo-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.hero{height:1050px}.gallery{columns:5}}@media(max-width:1100px){.hero{min-height:760px}.hero-copy{top:26%;width:62%}h1{font-size:clamp(55px,6.8vw,78px)}.hero-art{right:1%;width:40%;height:65%;top:18%}.gallery{columns:3}.hero-preview{width:47%;height:24%}.filters button{padding:11px 16px}}@media(max-width:700px){.header{padding-top:22px}.wordmark>span{font-size:20px}.wordmark small{font-size:7px}.nav a{padding:9px 13px;font-size:11px}.nav{padding:5px}.hero{height:auto;min-height:1050px}.hero-copy{position:relative;top:auto;left:auto;width:auto;padding:148px var(--gutter) 0}h1{font-size:clamp(44px,10.8vw,72px);letter-spacing:-.06em;margin-bottom:23px}.hero-copy p{font-size:14px;line-height:1.8;margin-bottom:23px}.mobile-break{display:block}.action{font-size:12px;padding:14px 21px;gap:30px}.hero-art{top:430px;right:8%;width:69%;height:510px}.video-frame{right:0;border-radius:22px}.ribbon-one{left:-25%}.hero-preview{bottom:35px;left:var(--gutter);height:155px;width:66%}.preview-wedding{width:52%}.preview-stage{width:47%;bottom:0}.scroll-cue{bottom:32px}.ambient{background-position:center}.portfolio{padding-top:60px;padding-bottom:50px}.section-heading{margin-bottom:24px}h2{font-size:39px}.result-count{font-size:10px}.filter-wrap{top:12px;margin-bottom:26px;width:100%;overflow:visible}.filters{border-radius:25px;padding:5px}.filters button{font-size:10px;padding:11px 14px}.gallery{columns:2;column-gap:12px}.photo{margin-bottom:17px}.photo-caption{padding-top:7px;font-size:9px}.photo-caption span:last-child{display:none}.outro{min-height:490px}.outro h2{font-size:58px}.footer{font-size:10px;flex-wrap:wrap;row-gap:18px}.footer>span:nth-child(2){display:none}.lightbox-shell{padding:70px 15px 100px}.lightbox-image-frame img{max-height:calc(100svh - 220px)}.previous,.next{top:auto;bottom:26px}.previous{left:calc(50% - 63px)}.next{right:calc(50% - 63px)}.close{right:20px;top:18px}.lightbox-shell figcaption{gap:10px;padding-top:13px}.lightbox-shell figcaption h2{font-size:11px}#lightbox-counter{font-size:11px}.photo .expand{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}.hero-art{transform:none!important}}
