@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}:root{--ivory:#fbfaf7;--ink:#223c30;--green:#244737;--gold:#ae8a4c;--line:#e5ded2;--body:#4a514a;--sans:Manrope,Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.16}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:wait;opacity:.6}button[hidden],[hidden]{display:none!important}::selection{background:#d6dfcf;color:#203a2b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:100;top:-70px;left:20px;background:var(--green);color:#fff;padding:12px 18px}.skip-link:focus{top:8px}.icon{width:19px;height:19px;display:block;flex-shrink:0}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;padding:10px 25px;font-family:var(--serif);font-size:16px;line-height:1.25;transition:background .2s,color .2s,border-color .2s}.button .icon{width:16px;height:16px}.green{background:var(--green);color:#fffdf8}.green:hover{background:#173525}.outline{border-color:#bea778;color:var(--body);background:transparent}.outline:hover{background:#f0ece1}.light-outline{border-color:#c5b789;color:#fffaf0;background:transparent}.light-outline:hover{background:#fffaf0;color:#244737}.button.small{font-size:13px;min-height:34px;padding:7px 14px;gap:10px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:inherit;padding:12px;min-width:44px;min-height:44px}.site-header{border-bottom:1px solid #e8e3d9}.header-inner{width:84%;max-width:1330px;min-height:73px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-size:clamp(25px,2.9vw,42px);white-space:nowrap;line-height:1.25;letter-spacing:-.7px}.wordmark em{font-weight:400;color:var(--gold);margin:0 6px}.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;color:#4c5048}.main-nav>a:not(.button){padding:11px 0;position:relative;white-space:nowrap}.main-nav>a.active:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:1px;background:var(--gold)}.main-nav>a:hover{color:#9a7336}.menu-toggle{display:none}.wedding-hero{position:relative;height:clamp(400px,36.3vw,660px);min-height:400px;color:#fffdf9;overflow:hidden;background:#2c4332}.hero-photo{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--focus-x) var(--focus-y)!important}.wedding-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101b1673 0%,#101b164a 26%,#101b1600 62%),linear-gradient(0deg,#12201455,transparent 65%)}.hero-copy{position:absolute;z-index:1;left:4.5%;bottom:31px;width:38%;max-width:510px}.eyebrow{font-family:var(--sans);font-size:11px;line-height:1.5;letter-spacing:2.8px;text-transform:uppercase;font-weight:600;margin-bottom:13px}.hero-copy h1{font-size:clamp(41px,4.65vw,69px);letter-spacing:-2.4px;line-height:1.07;text-wrap:balance;max-width:500px}.gold-rule{display:block;background:#c7a35d;height:2px;width:46px;margin:22px 0 18px}.wedding-date{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:2.7px;text-transform:uppercase}.no-photo{background:linear-gradient(110deg,#1c3728,#5a6951)}.album-section{max-width:1536px;width:95%;margin:auto;padding:25px 0 25px}.album-heading{text-align:center;margin:0 0 20px}.album-heading h1,.album-heading h2{font-size:clamp(28px,3.1vw,44px);letter-spacing:-1.2px;line-height:1.2;color:#202b23}.album-heading>p{font-size:18px;color:var(--body);margin-top:8px}.gallery-filters{display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px 46px;margin:19px 0 18px}.js .gallery-filters{display:flex}.gallery-filters button{border:0;border-bottom:2px solid transparent;background:none;font-family:var(--serif);font-size:16px;padding:3px 0 7px;color:#555b51}.gallery-filters button.active{border-color:var(--green);color:var(--green)}.gallery-filters button:hover{color:var(--gold)}.gallery-grid{columns:3;column-gap:10px}.album-photo{break-inside:avoid;margin:0 0 10px}.photo-link{position:relative;display:block;background:#ddd9cd;overflow:hidden}.photo-link img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .6s}.album-photo:nth-child(3n+2) img{aspect-ratio:1.66}.album-photo:nth-child(3n) img{aspect-ratio:1.48}.photo-link:hover img{transform:scale(1.025)}.expand-icon{position:absolute;right:15px;bottom:14px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#222b2199;color:#fff}.expand-icon .icon{width:16px;height:16px}.gallery-bottom{text-align:center;margin-top:15px}.gallery-bottom .button{min-width:236px}.gallery-count{font-family:var(--sans);font-size:12px;color:#687064;margin-top:15px}.gallery-empty,.no-js-note{text-align:center;margin:25px;color:var(--body)}.empty-album{text-align:center;padding:80px 25px;border:1px solid var(--line);margin:40px 0}.empty-album p:first-child{font-size:29px;margin-bottom:12px}.empty-album p+p{color:var(--body)}.thanks-band{position:relative;background:var(--green);color:#faf8ed;overflow:hidden}.thanks-band:before,.thanks-band:after{content:'';position:absolute;width:160px;height:150px;bottom:0;background:url('branch.svg') center/contain no-repeat;opacity:.36;pointer-events:none}.thanks-band:before{left:-18px}.thanks-band:after{right:-20px;transform:scaleX(-1)}.thanks-inner{position:relative;z-index:1;max-width:1180px;width:82%;margin:auto;min-height:158px;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:30px 0}.thanks-inner h2{font-size:clamp(27px,2.75vw,40px);letter-spacing:-.8px}.thanks-inner p{font-family:var(--sans);font-size:10px;letter-spacing:2.3px;line-height:1.8;text-transform:uppercase;margin-top:13px;color:#ede9d9}.thanks-inner .button{white-space:nowrap;font-size:14px;padding-inline:18px;min-height:39px}.footer-inner{display:flex;align-items:center;gap:35px;width:90%;max-width:1430px;margin:auto;padding:23px 0}.monogram{font-size:32px;font-style:italic;white-space:nowrap;color:#637363}.footer-rule{height:1px;flex:1;background:#cfb984}.footer-inner p{font-style:italic;font-size:14px;white-space:nowrap;color:#4f534a}.demo-credit{font-family:var(--sans);display:flex;justify-content:space-between;width:90%;max-width:1430px;margin:0 auto;font-size:9px;letter-spacing:.3px;color:#777e71;padding-bottom:15px}.demo-credit a:hover{text-decoration:underline}.footer-links ul{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:14px;list-style:none;padding:0}.footer-links a{text-decoration:underline}.page-top{width:90%;max-width:1400px;margin:25px auto 0}.back-link{font-size:14px;color:#69705f;display:inline-block;margin-bottom:20px}.back-link:hover{color:var(--green);text-decoration:underline}.full-album{padding-top:12px;padding-bottom:55px}.full-album .album-heading{margin-bottom:25px}.inner-page{max-width:1280px;width:88%;margin:15px auto 65px}.inner-page h1{font-size:clamp(39px,4.6vw,66px);letter-spacing:-2px;max-width:850px;margin-bottom:18px}.inner-page>p{color:var(--body);font-size:19px}.inner-page>.eyebrow,.guest-intro>.eyebrow{color:var(--gold);font-size:11px}.archive-download{margin-top:26px}.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px;margin-top:40px}.download-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.download-grid h2{font-size:23px;letter-spacing:-.4px;margin:13px 0 10px}.text-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #a9b39d;padding-bottom:4px;font-size:15px}.text-link .icon{width:16px;height:16px}.text-link:hover{color:var(--gold);border-color:var(--gold)}.film-page{text-align:center}.film-page h1{margin-inline:auto}.wedding-film{width:100%;max-height:720px;background:#17231a;display:block;margin:35px 0;aspect-ratio:16/9}.photo-story{margin-top:35px}.story-stage{position:relative;background:#152219;aspect-ratio:16/9;overflow:hidden}.story-slide{position:absolute;inset:0}.story-slide img{width:100%;height:100%;object-fit:contain;display:block}.story-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 20px;color:#fff;background:linear-gradient(transparent,#112012bb);font-size:21px}.story-controls{display:none;align-items:center;justify-content:center;gap:18px;margin-top:18px}.js .story-controls{display:flex}.story-controls>span{font:12px var(--sans);min-width:55px}.story-controls .button{min-width:205px}.guest-page{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start;margin-top:20px}.guest-intro h1{font-size:clamp(40px,4.8vw,66px);letter-spacing:-2.5px;line-height:1.08;margin-bottom:22px}.guest-intro>p{color:var(--body);font-size:18px;line-height:1.65}.demo-note,.small-note{font-family:var(--sans);font-size:12px!important;border-left:2px solid var(--gold);padding:12px 0 12px 18px;margin-top:28px;line-height:1.8!important}.guest-form{border:1px solid var(--line);background:#fffefa;padding:28px}.form-field+.form-field{margin-top:20px}.form-field>label{display:block;font-size:15px;margin-bottom:9px}.form-field label>span{font-size:12px;color:#757b6c}.form-field>input,.form-field>textarea{font-family:var(--sans);font-size:14px;padding:12px;width:100%;border:1px solid #b9bfaf;border-radius:0;color:var(--ink);background:#fffefa}.form-field>textarea{resize:vertical;min-height:100px}.form-field>input[type=file]{font-size:12px;padding:16px;line-height:1.6;background:#f4f3eb}.form-field input::file-selector-button{border:1px solid #a9b39d;background:#fffefa;color:var(--ink);padding:7px 10px;margin-right:10px;font:12px var(--sans);cursor:pointer}.form-field>p{font-family:var(--sans);font-size:11px;line-height:1.7;color:#6b735f;margin-top:8px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;gap:10px;align-items:flex-start;font-family:var(--sans);font-size:12px;line-height:1.7;margin-top:20px}.consent input{width:17px;height:17px;accent-color:var(--green);flex-shrink:0;margin:2px 0}.privacy-note{font-family:var(--sans);font-size:10px;color:#737968;line-height:1.8;margin:12px 0 22px}.privacy-note a{text-decoration:underline}.form-feedback{padding:14px 16px;margin-top:20px;background:#eef2e9;border-left:2px solid var(--green);font-family:var(--sans);font-size:13px;line-height:1.7}.form-feedback.error{background:#fff0e9;color:#8c3f21;border-color:#a35231}.sharing-closed{border:1px solid var(--line);padding:35px;background:#f1f2e9}.sharing-closed h2{font-size:31px;margin-bottom:17px}.sharing-closed p{color:var(--body);margin-bottom:25px}.not-found{min-height:50vh;margin-top:65px}.not-found .button{margin-top:30px}.prose{min-height:55vh;padding-top:25px;color:var(--body)}.prose h1{color:var(--ink);margin-top:25px}.prose p{margin:1em 0}.prose h2,.prose h3{color:var(--ink);margin:1.3em 0 .6em}.prose a:not(.back-link){text-decoration:underline}.prose img{max-width:100%;height:auto}.prose iframe{max-width:100%}.prose article+article{border-top:1px solid var(--line);margin-top:40px;padding-top:25px}.photo-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;inset:0;margin:0;padding:0;border:0;background:#111712f5;color:#f8f5ed;overflow:hidden}.photo-viewer::backdrop{background:#111}.viewer-toolbar{height:65px;display:flex;align-items:center;justify-content:space-between;padding:10px 30px;font:13px var(--sans)}.viewer-toolbar>div{display:flex;align-items:center;gap:15px}.viewer-download{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;height:calc(100% - 140px);padding:0 65px}.viewer-stage>img{display:block;max-width:100%;max-height:100%;object-fit:contain}.viewer-prev,.viewer-next{position:absolute;top:calc(50% - 22px)}.viewer-prev{left:10px}.viewer-next{right:10px}#viewer-caption{text-align:center;font-size:19px;padding:18px 65px;line-height:1.5}.viewer-error{text-align:center;color:#f3c6a6;font:13px var(--sans)}body.viewer-open{overflow:hidden}
@media(min-width:1750px){.album-section{padding-block:35px}.thanks-inner{padding-block:40px}.gallery-filters{margin-block:25px}}
@media(max-width:1150px){.header-inner{width:90%;gap:25px;min-height:67px}.wordmark{font-size:31px}.main-nav{gap:22px;font-size:13px}.hero-copy{max-width:420px;width:42%}.hero-copy h1{font-size:50px}.thanks-inner{width:83%;gap:25px}.thanks-inner h2{font-size:30px}.thanks-inner p{letter-spacing:1.7px;font-size:9px}.guest-page{gap:45px}.guest-intro h1{font-size:52px}.album-heading h2{font-size:34px}.gallery-filters{gap:26px}.guest-form{padding:23px}}
@media(max-width:850px){.header-inner{width:92%;min-height:67px;gap:20px}.wordmark{font-size:27px}.wordmark em{margin-inline:2px}.main-nav{gap:15px;font-size:12px}.button.small{font-size:11px;padding:7px 10px;gap:6px}.main-nav .button .icon{width:14px;height:14px}.wedding-hero{height:430px}.hero-copy{width:46%;bottom:30px}.hero-copy h1{font-size:46px;letter-spacing:-1.5px}.album-heading h2{font-size:31px}.album-heading>p{font-size:16px}.gallery-filters{gap:25px;font-size:14px}.gallery-filters button{font-size:14px}.gallery-grid{column-gap:7px}.album-photo{margin-bottom:7px}.expand-icon{right:9px;bottom:9px;width:24px;height:24px}.expand-icon .icon{width:13px;height:13px}.thanks-inner{width:84%;align-items:flex-start;flex-direction:column;gap:23px;padding-block:30px}.thanks-inner h2{font-size:33px}.thanks-inner p{font-size:9px}.footer-inner{gap:25px}.footer-inner p{font-size:12px}.guest-page{grid-template-columns:1fr;max-width:660px;gap:35px}.guest-intro h1{font-size:53px;max-width:620px}.guest-intro>p{font-size:17px}.demo-note{margin-top:22px}.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-controls{gap:10px}.story-stage{aspect-ratio:1.6}.viewer-toolbar{padding-inline:17px}.viewer-stage{padding:0 45px}.viewer-prev{left:0}.viewer-next{right:0}}
@media(max-width:620px){.header-inner{min-height:68px;position:relative;width:89%;flex-wrap:wrap;padding-block:14px;gap:12px}.wordmark{font-size:29px;letter-spacing:-.8px}.js .menu-toggle{display:inline-flex;padding:8px;min-width:36px;min-height:36px;margin-right:-8px}.main-nav{width:100%;display:flex;flex-wrap:wrap;gap:12px 18px;font-size:13px}.js .main-nav{display:none;position:absolute;top:65px;left:0;right:0;width:100%;z-index:8;padding:17px 22px;background:var(--ivory);border:1px solid var(--line);box-shadow:0 15px 25px #18251724;flex-direction:column;align-items:stretch;gap:4px}.js .main-nav.open{display:flex}.main-nav>a:not(.button){padding:12px 0}.main-nav>a.active:after{right:auto;width:40px}.main-nav .button.small{font-size:13px;margin:10px 0 5px;padding:12px}.wedding-hero{height:515px;min-height:0}.hero-photo img{object-position:var(--mobile-focus-x) var(--mobile-focus-y)!important}.wedding-hero:after{background:linear-gradient(0deg,#112016c2 0%,#11201638 42%,transparent 70%)}.hero-copy{left:7%;bottom:29px;width:80%;max-width:330px}.hero-copy h1{font-size:45px;letter-spacing:-1.8px;max-width:310px}.eyebrow{font-size:9px;letter-spacing:2.3px;margin-bottom:12px}.gold-rule{margin:18px 0 14px;width:38px}.wedding-date{font-size:10px;letter-spacing:2px}.album-section{width:93%;padding-top:25px;padding-bottom:28px}.album-heading{padding:0 10px;margin-bottom:17px}.album-heading h1,.album-heading h2{font-size:29px;letter-spacing:-.9px;text-wrap:balance}.album-heading>p{font-size:15px;line-height:1.5;margin-top:12px}.gallery-filters{gap:4px 21px;margin-top:14px;margin-bottom:18px}.gallery-filters button{font-size:12px;padding:7px 0 5px;min-height:34px}.gallery-grid{columns:2;column-gap:7px}.photo-link img,.album-photo:nth-child(3n+2) img,.album-photo:nth-child(3n) img{aspect-ratio:1.05}.expand-icon{width:23px;height:23px;bottom:8px;right:8px}.gallery-bottom{margin-top:19px}.gallery-bottom .button{min-width:225px;font-size:14px}.thanks-inner{width:85%;padding-block:30px;gap:23px}.thanks-inner h2{font-size:29px;line-height:1.16;max-width:370px}.thanks-inner p{font-size:8px;letter-spacing:1.5px;line-height:1.9;max-width:330px}.thanks-band:before,.thanks-band:after{width:95px;opacity:.18}.thanks-inner .button{font-size:13px;min-height:43px}.footer-inner{width:86%;padding:23px 0;gap:18px;flex-wrap:wrap}.monogram{font-size:27px}.footer-inner p{font-size:13px;white-space:normal}.footer-rule{min-width:20px}.demo-credit{width:86%;flex-direction:column;gap:6px;font-size:8px;padding-bottom:19px}.page-top{width:88%;margin-top:25px}.back-link{font-size:13px;margin-bottom:14px}.inner-page{width:88%;margin-top:20px;margin-bottom:45px}.inner-page h1{font-size:40px;letter-spacing:-1.8px}.inner-page>p{font-size:17px}.full-album{padding-top:12px}.download-grid{gap:28px 15px;margin-top:30px}.download-grid h2{font-size:20px;margin-top:10px;line-height:1.25}.download-grid img{aspect-ratio:1}.text-link{font-size:13px;gap:7px}.archive-download{font-size:15px}.film-page{width:93%}.film-page>.eyebrow{font-size:9px}.film-page h1{font-size:38px;padding-inline:10px}.film-page>p{font-size:15px}.story-stage{aspect-ratio:1.3}.story-slide img{object-fit:cover}.story-slide figcaption{font-size:17px;padding-bottom:17px}.story-controls{gap:4px;flex-wrap:wrap}.story-controls .button{font-size:13px;min-width:174px;padding:10px 13px;gap:10px}.story-controls>span{font-size:10px;min-width:43px}.wedding-film{aspect-ratio:16/9}.guest-page{gap:25px}.guest-intro h1{font-size:42px}.guest-intro>p{font-size:16px}.guest-intro>.eyebrow{font-size:9px}.guest-form{padding:22px 18px}.form-field>input,.form-field>textarea{font-size:16px}.form-field input[type=file]{font-size:11px;padding:12px}.consent{font-size:11px}.privacy-note{font-size:10px}.form-feedback{font-size:12px}.viewer-toolbar{height:57px;font-size:11px;padding-inline:13px}.viewer-stage{height:calc(100% - 137px);padding:0 8px}.viewer-prev,.viewer-next{top:auto;bottom:-61px;z-index:2}.viewer-prev{left:7px}.viewer-next{right:7px}#viewer-caption{padding:20px 55px;font-size:16px}.viewer-error{position:absolute;bottom:100px;left:10px;right:10px}.prose h1{font-size:36px}.prose{font-size:16px}.not-found{margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
