*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ivory);color:var(--text);font-family:var(--serif);font-size:20px;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure,blockquote{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(40px,5vw,62px);line-height:1.08;color:var(--olive-dark)}h3{font-size:27px}p{line-height:1.65}em{font-weight:400}button{color:inherit}a,button{touch-action:manipulation}:focus-visible{outline:2px solid var(--olive-dark);outline-offset:5px}[hidden]{display:none!important}.container{width:min(100% - 48px,var(--container));margin-inline:auto}.narrow{max-width:650px;margin-inline:auto;text-align:center}.section{padding-block:100px;scroll-margin-top:80px}.eyebrow{font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive-dark);line-height:1.7}.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:fixed;left:16px;top:-100px;z-index:100;background:var(--ivory);padding:12px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;transition:background var(--transition);border-bottom:1px solid rgba(111,119,84,.18);background:var(--ivory)}.site-header.scrolled{background:rgba(247,243,234,.96);backdrop-filter:blur(10px)}.nav-container{max-width:1320px;padding:0 40px;margin:auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:33px;letter-spacing:-3px;color:var(--olive-dark);min-width:60px;min-height:44px;display:inline-flex;align-items:center}.brand span{font-family:var(--script);font-size:23px;margin:0 3px}nav{display:flex;align-items:center;gap:32px}nav a{font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:18px;position:relative}nav a:hover,nav a[aria-current]{color:var(--olive-dark)}nav a[aria-current]::after{position:absolute;content:"";height:1px;left:0;right:0;bottom:5px;background:var(--olive)}.nav-rsvp{border:1px solid #a7ab96;padding:0 17px}.menu-toggle{border:0;background:none;align-items:center;gap:10px;min-height:44px}.menu-icon{width:20px;height:10px;border-block:1px solid var(--olive-dark)}.hero{position:relative;text-align:center;min-height:790px;padding:35px 28px 40px;isolation:isolate;overflow:hidden;display:flex;align-items:center;flex-direction:column}.hero-frame{position:absolute;inset:22px 25px;border:1px solid rgba(111,119,84,.23);z-index:-1}.hero-logo{width:195px;height:195px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:12px}.hero .eyebrow{font-size:12px;letter-spacing:.22em}.hero h1{display:flex;align-items:center;justify-content:center;gap:25px;font-size:clamp(65px,8.3vw,116px);color:var(--olive-dark);line-height:1.16;margin-top:19px;letter-spacing:-.045em}.ampersand{font-family:var(--script);font-size:.64em;font-weight:400;letter-spacing:0;padding-top:9px;color:var(--olive)}.hero-invitation{margin-top:13px;font-size:21px}.hero-date{display:flex;align-items:center;gap:28px;margin-top:35px;color:var(--olive-dark)}.hero-date time{font-size:27px;letter-spacing:.22em}.date-rule{height:1px;width:45px;background:#b4b69e}.hero-place{margin-top:10px;font-size:17px;letter-spacing:.06em}.hero-place>span+span{margin-left:9px}.text-link{font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #a8ad93;margin-top:32px;color:var(--olive-dark)}.text-link:hover{border-color:var(--olive-dark)}.hero-note{font-family:var(--script);font-size:25px;margin-top:35px;color:var(--brown)}.hero-branch{position:absolute;width:180px;opacity:.45;z-index:-1;top:190px}.branch-left{left:5%;transform:rotate(-27deg)}.branch-right{right:5%;transform:rotate(153deg)}.blessing{text-align:center;padding-bottom:85px}.cross{display:block;font-size:41px;line-height:1;color:var(--olive);margin-bottom:22px}.blessing .eyebrow{font-size:12px}.blessing blockquote{max-width:680px;margin:24px auto 28px;padding:0 24px}.blessing blockquote p{font-size:clamp(27px,3.5vw,38px);line-height:1.4;font-style:italic;color:var(--olive-dark)}cite{font-size:14px;letter-spacing:.12em;font-style:normal;display:block;margin-top:20px}.fine-line{height:1px;width:54px;background:#afb398;display:block;margin:26px 0}.blessing .fine-line{margin-inline:auto}.story,.ceremony{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.story{border-top:1px solid var(--sand)}.editorial-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.editorial-image figcaption{font-size:14px;letter-spacing:.035em;text-align:center;margin-top:16px;color:var(--brown);font-style:italic}.story-copy .eyebrow{margin-bottom:22px}.story-copy p:not(.eyebrow):not(.signature){font-size:21px;line-height:1.6}.story-copy .subtle{font-size:18px!important;margin-top:20px}.signature{font-family:var(--script);color:var(--olive-dark);font-size:33px;line-height:1.5;margin-top:24px}.gallery-section{background:#eeeade;text-align:center;padding-bottom:80px}.gallery-section h2{margin-top:14px}.gallery-empty{padding:20px 10px 0}.gallery-empty img{height:115px;width:70px;object-fit:contain;margin:0 auto 16px;transform:rotate(35deg);opacity:.75}.gallery-empty p{font-size:23px}.gallery-empty span{font-size:17px;display:block;margin-top:6px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px}.gallery-grid:empty{display:none}.gallery-item{border:0;padding:0;background:transparent}.gallery-item img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.ceremony-copy .eyebrow{margin-bottom:19px}.ceremony-copy>p:not(.eyebrow){margin-top:20px}.ceremony-date{display:flex;align-items:center;gap:23px;margin-top:32px;padding-block:14px;border-block:1px solid var(--sand)}.ceremony-date strong{font-size:68px;font-weight:400;color:var(--olive-dark);line-height:1}.ceremony-date div{display:flex;flex-direction:column;gap:5px;font-size:20px}.ceremony-date div span+span{font-size:17px}.small-cross{font-size:28px;margin-top:30px;margin-bottom:13px}.address{font-size:18px;margin-top:8px!important}.button{min-height:48px;padding:12px 26px;border:1px solid var(--olive-dark);border-radius:2px;background:var(--olive-dark);color:var(--ivory);display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:17px;transition:background var(--transition),color var(--transition)}.button:hover{background:#3f4631;color:var(--ivory)}.button-outline{background:transparent;color:var(--olive-dark)}.ceremony .button{margin-top:25px}.invitation-image img{aspect-ratio:4/5;object-position:center}.gifts{background:#eaeadd;padding-inline:24px}.gifts h2{margin:18px 0 23px;font-size:clamp(37px,4.5vw,53px)}.gifts p:not(.eyebrow){font-size:21px}.status{display:inline-block;color:var(--olive-dark);font-size:15px;letter-spacing:.04em;padding:12px 18px;border:1px solid #a6ac91;margin-top:27px}.gifts .button{margin-top:25px}.rsvp{padding-bottom:70px}.rsvp h2{margin:18px 0 22px}.rsvp form{max-width:650px;margin:40px auto 0}fieldset{margin:0;padding:0;border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{font-size:18px}.form-grid label span{font-size:15px}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;border:1px solid #a5a58f;background:transparent;padding:11px 12px;margin-top:8px;border-radius:2px;color:var(--text);min-height:48px}textarea{resize:vertical}.privacy-note{font-size:16px;margin:22px 0}.button:disabled{cursor:wait;opacity:.65}#rsvp-feedback{margin-top:20px;font-size:19px}#rsvp-feedback[data-state="error"]{color:#843e2e}.closing{text-align:center;margin-top:70px;font-size:30px}.closing span{display:block;font-size:39px}footer{border-top:1px solid var(--sand);text-align:center;padding:40px 24px 27px}footer .brand{justify-content:center}footer p{font-family:var(--script);font-size:28px;color:var(--olive-dark);margin:10px 0}footer time{font-size:15px;letter-spacing:.16em}.footer-note{display:block;font-size:13px;letter-spacing:.06em;margin-top:35px}dialog{border:0;padding:60px;background:var(--ivory);max-width:94vw;max-height:94dvh;color:var(--text)}dialog::backdrop{background:#25291fe6}dialog figure img{max-height:70dvh;object-fit:contain;margin:auto}dialog figcaption{text-align:center;margin-top:12px}dialog button{position:absolute;background:var(--ivory);border:1px solid var(--sand);width:44px;height:44px;font-size:26px}.lightbox-close{right:8px;top:8px}.lightbox-prev{left:8px;top:48%}.lightbox-next{right:8px;top:48%}html.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{min-height:850px;padding-top:55px}.hero-logo{width:215px;height:215px}}
@media(max-width:1000px){nav{gap:18px}.nav-container{padding-inline:24px}.story,.ceremony{gap:50px}.hero-branch{width:130px}.branch-left{left:1%}.branch-right{right:1%}.hero h1{gap:18px}.hero{min-height:750px}}
@media(max-width:760px){body{font-size:19px}.nav-container{min-height:72px;flex-wrap:wrap;gap:0;padding:10px 22px}.brand{font-size:30px}.menu-toggle:not([hidden]){display:flex}nav{width:100%;flex-direction:column;align-items:stretch;gap:2px;padding-block:10px}nav a{justify-content:center;min-height:46px}nav a[aria-current]::after{left:42%;right:42%}.js nav:not(.is-open){display:none}.hero{min-height:790px;padding:32px 25px 42px}.hero-frame{inset:12px}.hero-logo{width:163px;height:163px;margin-bottom:10px}.hero .eyebrow{font-size:10px;letter-spacing:.16em;max-width:265px}.hero h1{flex-direction:column;gap:0;font-size:70px;line-height:.98;margin-top:25px;letter-spacing:-.035em}.ampersand{font-size:39px!important;line-height:1.05;padding-top:6px;padding-bottom:3px}.hero-invitation{font-size:18px;max-width:255px;margin-top:25px;line-height:1.5}.hero-date{margin-top:26px;gap:17px}.hero-date time{font-size:22px;letter-spacing:.15em}.date-rule{width:24px}.hero-place{font-size:15px}.text-link{margin-top:20px;font-size:15px}.hero-note{font-size:23px;margin-top:24px}.hero-branch{width:100px;top:275px;opacity:.3}.branch-left{left:-34px}.branch-right{right:-34px}.container{width:calc(100% - 44px)}.section{padding-block:65px}.story,.ceremony{grid-template-columns:1fr;gap:40px}.story-copy{padding-inline:8px}.story-copy h2{font-size:51px}.editorial-image{max-width:460px;width:100%;margin-inline:auto}.editorial-image img{aspect-ratio:4/5}.story-copy p:not(.eyebrow):not(.signature){font-size:20px}.gallery-empty p{font-size:21px}.ceremony-copy{text-align:center}.ceremony-date{justify-content:center;max-width:350px;margin-inline:auto}.ceremony .editorial-image{margin-top:5px}.gifts p:not(.eyebrow){font-size:20px}.rsvp h2{font-size:43px}.closing{margin-top:50px}.closing span{font-size:34px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.gallery-grid{grid-template-columns:1fr}.gallery-item{max-width:460px;margin:auto;width:100%}dialog{padding:60px 48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
