@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Inter:wght@300;400;500;600&display=swap";:root{--paper:#fffaf2;--paper-2:#fbf6ec;--ivory:#eee5d8;--sand:#d5c5ad;--sand-2:#b7a58b;--sand-3:#97836b;--ink:#2f302d;--muted:#776f65;--soft:#a3998d;--sea:#79aebb;--sea-dark:#416a73;--green:#6f8763;--rock:#b6876f;--line:#2f302d24;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container:min(1160px, calc(100vw - 34px));--radius:24px;--shadow-panel:0 28px 88px #32434729;--shadow-card:0 24px 70px #2d383829}*{box-sizing:border-box}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth;background:var(--ivory)}body{min-height:100vh;color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at 8% 2%,#d9edf08c,#0000 28rem),radial-gradient(circle at 96% 0,#d5c5ad7a,#0000 26rem),linear-gradient(#f1eadf 0%,#f8f2e9 48%,#ede3d6 100%);margin:0}body:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;opacity:.48;background-image:url(/assets/paper-grain.svg);background-size:420px 420px;position:fixed;inset:0}button,input,select,textarea{font:inherit}a{color:inherit}.topbar{z-index:40;backdrop-filter:blur(16px);background:#efe6dab3;border-bottom:1px solid #2f302d14;position:fixed;inset:0 0 auto}.topbar__inner{width:var(--container);grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:72px;margin:0 auto;display:grid}.nav{align-items:center;gap:clamp(22px,4vw,54px);display:flex}.nav--right{justify-content:flex-end}.nav a{font-family:var(--serif);letter-spacing:.19em;text-transform:uppercase;color:#2f302dbd;font-size:16px;text-decoration:none;transition:color .2s}.nav a:hover{color:var(--sea-dark)}.logo{font-family:var(--serif);letter-spacing:.22em;color:#2f302de0;font-size:26px;text-decoration:none}.menu-button{width:44px;height:44px;color:var(--ink);background:0 0;border:0;padding:0;display:none}.menu-button span,.menu-button:before,.menu-button:after{content:"";background:currentColor;width:25px;height:1px;margin:6px auto;transition:transform .25s,opacity .2s;display:block}.mobile-menu{display:none}.site{width:var(--container);margin:0 auto;padding:108px 0 64px}.wedding-panel{background:var(--paper);box-shadow:var(--shadow-panel);isolation:isolate;border:1px solid #2f302d29;border-radius:26px;position:relative;overflow:hidden}.wedding-panel:before{content:"";z-index:10;pointer-events:none;mix-blend-mode:multiply;opacity:.33;background-image:url(/assets/paper-grain.svg);background-size:420px 420px;position:absolute;inset:0}.hero{place-items:center;min-height:540px;padding:94px 28px 74px;display:grid;position:relative}.hero__watercolor{z-index:0;height:430px;transform:translate3d(0, calc(var(--scroll,0px) * -.035), 0) scale(1.025);transform-origin:50%;background-image:linear-gradient(#fffaf20d,#fffaf214 50%,#fffaf2cc 100%),url(/assets/coast-watercolor-wide.webp);background-position:50% 46%;background-size:cover;position:absolute;inset:0 0 auto}.hero__watercolor:after{content:"";background:linear-gradient(180deg, #fffaf200, var(--paper));height:140px;position:absolute;bottom:-1px;left:0;right:0}.invitation-card{z-index:5;text-align:center;width:min(650px,100vw - 72px);box-shadow:var(--shadow-card);transform:translate3d(0, calc(var(--scroll,0px) * .018), 0);background:linear-gradient(#ffffffb3,#fffaf2f5),url(/assets/paper-grain.svg) 0 0/420px 420px;border:1px solid #534b4021;padding:clamp(46px,6vw,70px) clamp(34px,6vw,84px) clamp(42px,5vw,62px);position:relative}.mark{color:var(--sand-3);justify-items:center;gap:5px;margin-bottom:24px;display:grid}.mark__letters{font-family:var(--serif);letter-spacing:.18em;font-size:25px;font-style:italic}.ornament{width:98px;height:20px;position:relative}.ornament:before,.ornament:after{content:"";background:#97836b8c;width:43px;height:1px;position:absolute;top:10px}.ornament:before{transform-origin:100%;right:50%;transform:rotate(12deg)}.ornament:after{transform-origin:0;left:50%;transform:rotate(-12deg)}.ornament span,.ornament span:before,.ornament span:after{content:"";border:1px solid #6f8763b8;border-radius:100% 0;width:12px;height:5px;display:block;position:absolute;transform:rotate(-28deg)}.ornament span{top:6px;left:42px}.ornament span:before{top:5px;left:-20px}.ornament span:after{top:5px;left:20px}h1{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(70px,8.2vw,118px);font-weight:400;line-height:.82}h1 .amp{color:var(--sand-3);letter-spacing:-.04em;font-style:italic}.hero-date{font-family:var(--serif);letter-spacing:.24em;color:#9a7b61;margin:34px 0 8px;font-size:clamp(25px,2.4vw,34px)}.hero-place{font-family:var(--serif);letter-spacing:.09em;color:#2f302dc2;margin:0;font-size:19px}.gull{z-index:4;pointer-events:none;color:#2f302d73;filter:drop-shadow(0 10px 14px #37596824);transform:translate3d(var(--gx,0), var(--gy,0), 0);position:absolute}.gull svg{width:100%;height:auto;display:block}.gull--one{opacity:.65;width:clamp(90px,10vw,138px);top:120px;right:11%}.gull--two{opacity:.38;width:clamp(54px,6vw,84px);top:213px;right:5%}@media (width>=821px){.hero__watercolor{background-image:linear-gradient(#fffaf208,#fffaf20d 78%,#fffaf28c 100%),url(/assets/coast-watercolor-wide.webp);background-position:50%,45% 88%;background-repeat:no-repeat;background-size:cover,125%;height:470px}.invitation-card{width:min(610px,100vw - 72px)}}.info-section{z-index:3;padding:46px clamp(36px,10vw,150px) 86px;position:relative}.eyebrow{letter-spacing:.42em;text-transform:uppercase;color:#2f302da8;margin:0 0 28px;font-size:12px;font-weight:600}.itinerary-panel{width:min(100%,1100px);margin:0 auto}.itinerary-panel>.eyebrow{text-align:center;margin-bottom:38px;font-size:14px}.timeline{grid-template-columns:repeat(6,minmax(0,1fr));padding:6px 0 26px;display:grid;position:relative}.timeline:before{content:"";background:#596f759e;height:2px;position:absolute;top:164px;left:8.333%;right:8.333%}.timeline__item{z-index:1;text-align:center;min-width:0;font-family:var(--serif);letter-spacing:.025em;padding:0 8px;font-size:clamp(18px,1.7vw,23px);position:relative}.timeline__icon{object-fit:contain;filter:drop-shadow(0 5px 7px #596f7514);width:min(100%,156px);height:130px;margin:0 auto 16px;display:block}.timeline time{font-family:var(--sans);letter-spacing:.14em;color:var(--sea-dark);margin:54px 0 6px;font-size:14px;font-weight:500;display:block}.timeline__item span{line-height:1.12;display:block}.timeline__item small{color:#2f302d8c;font-family:var(--sans);letter-spacing:.04em;margin-top:5px;font-size:10px;display:block}.rsvp{z-index:3;background:linear-gradient(#fffaf2cc,#fffaf2f7),linear-gradient(#0000 65%,#79aebb14);border-top:1px solid #2f302d14;padding:58px clamp(36px,8vw,118px) 78px;position:relative}.rsvp:after{content:"";opacity:.14;pointer-events:none;background:url(/assets/coast-watercolor-wide.webp) bottom/cover no-repeat;height:138px;position:absolute;inset:auto 0 0}.rsvp__head{z-index:2;grid-template-columns:1fr auto;align-items:end;gap:28px;margin-bottom:28px;display:grid;position:relative}.rsvp h2{font-family:var(--serif);letter-spacing:-.03em;margin:0;font-size:clamp(42px,5.5vw,76px);font-weight:400}.rsvp__note{max-width:340px;font-family:var(--serif);color:var(--muted);margin:0 0 7px;font-size:19px}.form{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid;position:relative}.field{align-content:start;gap:8px;display:grid}.field[hidden],.field__hint[hidden]{display:none}.field--wide{grid-column:1/-1}.field__hint{color:#2f302d8f;font-family:var(--serif);margin-top:-2px;font-size:15px}label{letter-spacing:.18em;text-transform:uppercase;color:#2f302d9e;font-size:11px;font-weight:600}input,select,textarea{width:100%;color:var(--ink);background:#fffaf2c2;border:1px solid #534b4029;outline:0;min-height:48px;padding:0 15px;box-shadow:inset 0 1px #ffffffb8}textarea{resize:vertical;min-height:92px;padding-top:14px}input:focus,select:focus,textarea:focus{border-color:#416a738c;box-shadow:0 0 0 3px #79aebb29}.submit-wrap{grid-column:1/-1;justify-content:center;padding-top:10px;display:flex}.privacy-note{text-align:center;color:#2f302d8f;max-width:620px;font-family:var(--serif);grid-column:1/-1;margin:0 auto;font-size:15px}.submit{background:var(--sand-2);color:#fffaf2;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;border:0;min-width:280px;min-height:52px;font-size:13px;transition:transform .22s,background .22s;box-shadow:0 16px 30px #534b4029}.submit:hover{background:#a49178;transform:translateY(-2px)}.confirmation-page{place-items:center;min-height:100vh;padding:24px;display:grid}.confirmation-card{width:min(620px,100%);box-shadow:var(--shadow-card);text-align:center;background:#fffaf2f0;border:1px solid #534b4021;padding:clamp(44px,8vw,76px) clamp(28px,7vw,68px)}.confirmation-card .eyebrow{margin-bottom:20px}.confirmation-card h1{font-size:clamp(50px,9vw,82px);line-height:.95}.confirmation-card p:not(.eyebrow){color:var(--muted);font-family:var(--serif);margin:24px auto 32px;font-size:21px}.celebration-video[hidden]{display:none}.celebration-video{margin:28px auto 30px}.celebration-video p{color:var(--sea-dark);font-family:var(--serif);margin:0 0 14px;font-size:22px}.celebration-video video{background:#000;border:1px solid #534b4029;border-radius:18px;width:min(100%,360px);margin:0 auto;display:block;box-shadow:0 18px 44px #2d38382e}.confirmation-card a{background:var(--sand-2);color:#fffaf2;letter-spacing:.24em;text-transform:uppercase;padding:16px 28px;font-size:12px;text-decoration:none;display:inline-block}.confirmation-card a:focus-visible{outline-offset:4px;outline:3px solid #416a738c}.footer{width:var(--container);text-align:center;color:#2f302d94;font-family:var(--serif);margin:24px auto 0;padding-bottom:24px;font-size:18px}.ad-trigger{color:#2f302d6b;font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:8px auto 0;font-size:14px;text-decoration:underline 1px;display:block}.ad-trigger:hover,.ad-trigger:focus-visible{color:var(--sea-dark)}.ad-break[hidden]{display:none}.ad-break{z-index:80;backdrop-filter:blur(5px);background:#2f302d6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ad-break__panel{text-align:center;background:#fffaf2f7;border:1px solid #534b402e;border-radius:22px;width:min(900px,100%);max-height:min(92vh,760px);padding:clamp(18px,4vw,28px);overflow:auto;box-shadow:0 26px 80px #191f1f47}.ad-break__label{color:#2f302d85;letter-spacing:.24em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:700}.ad-break p:not(.ad-break__label){max-width:560px;color:var(--muted);font-family:var(--serif);margin:0 auto 16px;font-size:18px;line-height:1.24}.ad-break img{object-fit:contain;background:#fff;border-radius:14px;width:100%;max-height:62vh;margin:0 auto 20px;display:block;box-shadow:0 16px 40px #2d383829}.ad-break__close{background:var(--sand-2);color:#fffaf2;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;min-height:48px;padding:0 22px;font-size:12px;font-weight:700}.ad-break__close:hover,.ad-break__close:focus-visible{background:#a49178}.reveal{opacity:0;transition:opacity .72s,transform .72s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=820px){:root{--container:min(100vw - 22px, 520px)}.topbar__inner{justify-content:space-between;min-height:62px;display:flex}.nav{display:none}.menu-button{display:block}.menu-button[aria-expanded=true] span{opacity:0}.menu-button[aria-expanded=true]:before{transform:translateY(7px)rotate(45deg)}.menu-button[aria-expanded=true]:after{transform:translateY(-7px)rotate(-45deg)}.mobile-menu{opacity:0;visibility:hidden;background:#f9f3eaf7;border-bottom:1px solid #2f302d1a;gap:0;padding:16px max(22px,50vw - 238px) 22px;transition:opacity .22s,transform .22s,visibility .22s;display:grid;position:absolute;inset:62px 0 auto;transform:translateY(-8px);box-shadow:0 18px 38px #2f302d1a}.mobile-menu[aria-hidden=false]{opacity:1;visibility:visible;transform:none}.mobile-menu a{color:#2f302dd1;font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #2f302d17;padding:14px 0;font-size:20px;text-decoration:none}.mobile-menu a:last-child{border-bottom:0}.logo{font-size:22px}.site{padding-top:82px}.wedding-panel{border-radius:22px}.hero{min-height:560px;padding:72px 18px 60px}.hero__watercolor{background-position:45%;height:350px}.invitation-card{width:min(100% - 28px,360px);padding:38px 22px 34px}h1{font-size:clamp(58px,18vw,78px)}.hero-date{letter-spacing:.18em;margin-top:26px;font-size:20px}.hero-place{font-size:16px}.gull--one{width:80px;top:92px;right:6%}.gull--two{width:50px;top:156px;right:2%}.info-section{padding:38px 26px 64px}.eyebrow{margin-bottom:22px}.itinerary-panel>.eyebrow{text-align:left;margin-bottom:30px;font-size:13px}.timeline{grid-template-columns:1fr;gap:4px;padding:0}.timeline:before{display:none}.timeline__item{text-align:left;grid-template-columns:146px 1fr;align-items:center;min-height:148px;padding:0;font-size:24px;display:grid}.timeline__item:before{content:"";background:#596f7594;width:1px;height:58px;position:absolute;top:120px;left:63px}.timeline__item:last-child:before{display:none}.timeline__icon{z-index:2;width:126px;height:112px;margin:0 20px 0 0;position:relative}.timeline__copy{align-self:center}.timeline time{margin:0 0 5px;font-size:13px}.timeline__item small{margin-top:7px}.rsvp{padding:44px 22px 58px}.rsvp__head{grid-template-columns:1fr;gap:10px}.rsvp h2{font-size:48px}.rsvp__note{font-size:18px}.form{grid-template-columns:1fr}.submit{width:100%;min-width:0}.ad-break{align-items:end;padding:12px}.ad-break__panel{border-radius:18px}.ad-break p:not(.ad-break__label){font-size:17px}.ad-break img{border-radius:10px;max-height:56vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero__watercolor,.invitation-card,.gull,.submit{transition:none;transform:none!important}}
