/* Matte paper, ink and photographic finishes. No gradient surfaces. */
body{background-color:#f5f2ec;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.055' filter='url(%23grain)'/%3E%3C/svg%3E")}.experience-section{background:#e8ded2}.price-card{box-shadow:7px 9px 0 #15120e09}.prototype-notice{border:0;border-left:0;background:#f5f2ec;padding:22px 25px;box-shadow:0 2px 8px #15120e08}.panel-demo{border:0;box-shadow:0 8px 25px #15120e09}.panel-totals>div{border:0;background:#eae5dc}.sample-pill{border:0;background:#e4dccf}.scope-number{border-color:#15120e20}.terms-grid{background:#ebe6df}.web-preview{--w-paper:#f5f4ee;--w-soft:#e8eae6;--w-ink:#323c43;--w-accent:#3d5664;--w-gold:#60777d;border:0;border-radius:3px;box-shadow:0 20px 55px #15120e24}.preview-label{background:#303c42;color:#e9eae5;padding:12px 20px}.wedding-scroll{background-color:#f5f4ee;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.065'/%3E%3C/svg%3E");scrollbar-color:#849398 #ecece5}.wedding-nav{background:#f5f4eef5;border-bottom:0;box-shadow:0 2px 12px #26353e08}.monogram em,.wedding-kicker{color:#61747b}.wedding-nav nav #guest-logout{border:0;color:#65777e}.guest-welcome{background:#dfe5e3;color:#405861}.guest-access{position:relative;max-width:620px;min-height:650px;padding-top:60px}.guest-access h4{color:#344650;font-size:62px}.guest-access>p:not(.wedding-kicker){color:#59686c;font-size:14px}.access-flourish{color:#60797e}.guest-access label{color:#3c535e}.guest-access label span{color:#748082;font-size:10px}.guest-access input{border:0;border-bottom:1px solid #829398;border-radius:0;background:#ffffff85;padding:14px;color:#344650;box-shadow:none}.guest-access input:focus{background:#fff}.access-explanation{max-width:380px;margin:30px auto 0;padding:20px 22px;background:#e6eae6;transform:rotate(-.7deg);box-shadow:3px 4px 0 #33454e08;text-align:left}.access-explanation>span{font:9px Lora,serif;letter-spacing:.12em;color:#587078}.access-explanation p{font:11px/1.9 Lora,serif;color:#536368;margin-top:10px}.guest-access .access-date{font:10px Lora,serif!important;letter-spacing:.15em;margin-top:35px!important;color:#748185!important}.welcome-letter{border:0;background:#fffefa;box-shadow:0 2px 3px #26353e0a,0 14px 35px #26353e12;color:#39464b;transform:rotate(-.7deg);transition:transform .45s,opacity .45s}.welcome-letter:before,.welcome-letter:after{border:0;height:17px;width:75px;background:#d8dfd8b0;left:auto;right:35px;top:-6px;bottom:auto;transform:rotate(6deg)}.welcome-letter:after{right:auto;left:22px;top:auto;bottom:-5px;transform:rotate(-8deg)}.letter-flourish{color:#55717a}.welcome-letter.letter-opening{transform:translateY(-25px) rotate(1deg);opacity:0}.film-hero{background:#404a4c}.film-shade{background:#0b1d253d}.film-title{padding-top:100px}.film-title h3{text-shadow:0 2px 12px #152a3280}.film-footer{bottom:28px;color:#fff}.film-footer button{border:0;background:#f5f4eee6;color:#344650;border-radius:3px}.film-hero:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:16px;background:#f5f4ee;clip-path:polygon(0 40%,3% 55%,8% 30%,14% 45%,19% 20%,24% 55%,30% 40%,36% 65%,42% 30%,48% 50%,55% 20%,63% 48%,70% 32%,77% 60%,84% 40%,90% 55%,96% 28%,100% 40%,100% 100%,0 100%);z-index:2}.wedding-section{background:transparent;border:0;padding-block:70px}.wedding-section h4{color:#344650}.wedding-section>p:not(.wedding-kicker){color:#5d686b;font-size:14px}.wedding-intro{padding-top:45px}.wedding-intro .date-line{border:0;color:#344650!important}.wedding-count strong{color:#405f6e}.wedding-count span{color:#677b80}.love-divider{color:#6a8489;margin-block:30px 0}.love-divider:before,.love-divider:after{display:none}.love-divider{justify-content:center}.wedding-button,.wedding-button.solid{border:0;border-radius:3px;background:#3c5663;color:#f9faf5;box-shadow:0 3px 0 #203844;transition:transform .2s,box-shadow .2s,background .2s}.wedding-button:hover,.wedding-button.solid:hover{background:#2d4653;color:#fff;transform:translateY(-2px);box-shadow:0 5px 0 #203844}.wedding-button:active{transform:translateY(2px);box-shadow:0 1px 0 #203844}.guest-access form>.wedding-button{display:flex;align-items:center;justify-content:space-between;padding:15px 22px}.guest-access form>.wedding-button span{font-size:20px}.places-grid{gap:45px}.place-card{padding:20px 0;gap:45px}.place-card+.place-card{border:0}.venue-photo{padding:13px 13px 17px;background:#fffefa;box-shadow:1px 2px 4px #2537400a,0 10px 24px #25374012;transform:rotate(-3deg);max-width:290px;margin:auto;transition:transform .4s,box-shadow .4s}.place-card:nth-child(2) .venue-photo{transform:rotate(3deg)}.venue-photo:hover,.place-card:nth-child(2) .venue-photo:hover{transform:rotate(0) translateY(-4px);box-shadow:0 15px 30px #25374020}.venue-photo img{display:block;max-width:260px;width:100%;border:0;border-radius:2px;box-shadow:none;aspect-ratio:1.05;filter:saturate(.75)}.venue-photo span{color:#5c7279;margin-top:12px}.place-info .wedding-kicker{background:#dfe7e4;border-radius:2px;color:#516b71}.place-info h5{color:#344650}.place-info p:not(.wedding-kicker){color:#617176;font-size:12px}.venue-symbol,.wedding-timeline .icon,.illustration{color:#617a80}.schedule-section{background:#e5e9e580}.wedding-timeline article{transition:transform .3s}.wedding-timeline article:hover{transform:translateY(-6px)}.wedding-timeline span{border:0;color:#45616b}.wedding-timeline h5{color:#344650}.wedding-timeline p{color:#65777c;font-size:12px}.dress-section{position:relative}.transport-section{background:#e0e7e3}.rsvp-area form{border:0;border-radius:2px;background:#fffefa;box-shadow:0 10px 35px #25374010}.rsvp-area input,.rsvp-area select{border:0;border-bottom:1px solid #a8b7b7;border-radius:0;background:#f2f5f2;color:#344650;padding:13px}.rsvp-copy>p{color:#5c6b70;font-size:14px}.person-card{border-color:#cbd3cf}.rsvp-area #rsvp-status{color:#46636a}.wedding-note{color:#718083!important}.wedding-farewell{background:#344b57;color:#e9efeb;padding:65px 25px}.wedding-farewell h4{color:#fffefa}.wedding-farewell span{color:#c2d2d3}.gift-section{background:transparent}.invitation-progress{position:sticky;top:0;height:3px;z-index:12;background:transparent}.invitation-progress span{display:block;height:100%;width:0;background:#5b7d88;transition:width .15s linear}.wedding-nav{top:3px}.reveal.visible{animation:arrival .7s ease both}.scope-grid article,.work-grid article{transition:transform .25s}.scope-grid article:hover,.work-grid article:hover{transform:translateY(-3px)}@media(max-width:640px){.guest-access{padding:45px 24px;min-height:620px}.guest-access h4{font-size:43px}.welcome-letter{padding:38px 28px}.film-title{padding-top:70px}.wedding-section{padding:50px 24px}.wedding-intro{padding-top:35px}.venue-photo{max-width:250px}.venue-photo img{width:100%;max-width:none}.place-card{gap:25px}.places-grid{gap:40px}.wedding-farewell{padding:50px 24px}.wedding-farewell h4{font-size:40px}}@media(prefers-reduced-motion:reduce){.welcome-letter,.venue-photo,.wedding-timeline article{transition:none}.welcome-letter.letter-opening{transform:none}}

/* Quotation: exact Mariannyrp palette, principal logo without watermark. */
:root{--paper:#f5f2ec;--sand:#e8ded2;--ink:#15120e;--muted:#4a443b;--line:#15120e26}
.brand-header img{width:240px;height:55px;object-fit:cover;object-position:center 48%;box-shadow:none;filter:none;opacity:1}
.proposal-hero,.scope-section,#condiciones{background-color:#f5f2ec}.price-card,.experience-section,.terms-grid{background:#e8ded2}.price-card{box-shadow:none}.prototype-notice,.panel-demo{background:#f5f2ec}.panel-totals>div{background:#e8ded2}.sample-pill{background:#d9cfc3;color:#4a443b}.state,.state.pending{background:#d9cfc3;color:#4a443b}.chapter-number,.scope-number{color:#857a6c}.demo-style-note,.byline,.eyebrow{color:#6b6156}.proposal-closing{background:#15120e;color:#f5f2ec}.proposal-closing p:not(.eyebrow),.proposal-closing .eyebrow{color:#d9cfc3}footer{background:#f5f2ec;color:#4a443b}.brand-header .hamburger{border-color:#9a9087;color:#15120e}@media(max-width:640px){.brand-header img{width:180px;height:42px}}

/* Invitation palette inspired by the supplied wedding reference. */
.web-preview{--w-paper:#fff9f0;--w-soft:#eee8de;--w-ink:#403c38;--w-accent:#665c4f;--w-gold:#a58f68}.wedding-scroll{background-color:#fff9f0;scrollbar-color:#b7ac99 #fff9f0}.preview-label{background:#e8ded2;color:#62594d}.wedding-nav{background:#fff9f0f5}.monogram,.wedding-nav nav button{color:#403c38}.monogram em,.wedding-kicker{color:#8a7a61}.guest-welcome{background:#eee7dc;color:#695e4b}.wedding-nav nav #guest-logout{color:#7c715e}.guest-access{max-width:410px;min-height:590px;margin:auto;padding:55px 28px;text-align:center}.access-emblem{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 25px;background:#f0e8db;border-radius:50%}.access-emblem .icon{width:39px;height:39px;color:#887658;stroke-width:1.3}.guest-access .wedding-kicker{font:10px/1.8 'Hanken Grotesk',sans-serif;letter-spacing:.16em;margin:0 auto 18px}.guest-access h4{font:500 36px/1.15 'Cormorant Garamond',Georgia,serif;color:#403c38;margin:18px 0}.guest-access>p:not(.wedding-kicker){font:15px/1.8 'Hanken Grotesk',sans-serif;color:#645d54}.guest-access form{margin:27px auto 0;text-align:left;max-width:340px}.guest-access label{font:13px/1.7 'Hanken Grotesk',sans-serif;color:#544c42}.guest-access input{background:#fffefa;border:0;border-bottom:1px solid #d0c8ba;color:#403c38;font:16px 'Hanken Grotesk',sans-serif;min-height:48px;padding:13px;border-radius:3px}.guest-access form>.wedding-button{display:block;width:100%;padding:14px;font:14px 'Hanken Grotesk',sans-serif;margin:14px 0 0}.guest-access .access-demo-note{font:12px/1.8 'Hanken Grotesk',sans-serif!important;margin-top:20px!important;color:#837b6f!important}.welcome-letter{background:#fffdfa;color:#49413b}.letter-flourish{color:#9e8865}.welcome-letter:before,.welcome-letter:after{background:#e0d5bdb0}.wedding-section h4,.place-info h5,.wedding-timeline h5{color:#49413b}.wedding-section>p:not(.wedding-kicker),.rsvp-copy>p{color:#776c60}.wedding-intro .date-line{color:#49413b!important}.wedding-count strong{color:#ab915b}.wedding-count span{color:#88765a}.love-divider{color:#b39b72}.wedding-button,.wedding-button.solid{background:#615749;color:#fffaf2;box-shadow:0 3px 0 #4b4337}.wedding-button:hover,.wedding-button.solid:hover{background:#504739;color:#fffaf2;box-shadow:0 5px 0 #40382e}.wedding-button:active{box-shadow:0 1px 0 #40382e}.film-hero:after{background:#fff9f0}.venue-photo{background:#fffdfa}.venue-photo span{color:#8d795c}.place-info .wedding-kicker{background:#eee5d3;color:#8d7858}.place-info p:not(.wedding-kicker){color:#817669}.venue-symbol,.wedding-timeline .icon,.illustration{color:#ae966c}.schedule-section{background:#eee7dc80}.wedding-timeline span{color:#89734e}.wedding-timeline p{color:#817669}.transport-section{background:#eee7dc}.rsvp-area form{background:#fffdfa}.rsvp-area label{color:#645746}.rsvp-area input,.rsvp-area select{background:#f7f3ea;color:#49413b;border-color:#d7d0c3}.person-card{border-color:#d7d0c3}.rsvp-area #rsvp-status{color:#776344}.wedding-note{color:#857969!important}.wedding-farewell{background:#eee7dc;color:#776c60}.wedding-farewell h4{color:#64513d}.wedding-farewell span{color:#938168}.invitation-progress span{background:#b49b71}@media(max-width:640px){.guest-access{padding:45px 25px;min-height:570px}.guest-access h4{font-size:33px}.access-emblem{margin-bottom:22px}.wedding-farewell h4{font-size:40px}}

/* A short, illustrated welcome instead of a written letter. */
.welcome-card{width:min(560px,88%);margin:45px auto 60px;padding:35px 38px 38px;text-align:center;transform:none;font:14px/1.8 Lora,Georgia,serif;background:#fffdfa;border:0;border-radius:2px;box-shadow:0 2px 5px #403c3805,0 15px 35px #403c380b;position:relative;isolation:isolate;overflow:hidden}.welcome-card:before{content:'';position:absolute;inset:0;width:auto;height:auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='.055'/%3E%3C/svg%3E");transform:none;z-index:-1;pointer-events:none}.welcome-card:after{display:none}.welcome-bloom{display:block;width:125px;height:102px;margin:0 auto 13px;color:#a4906e;animation:bloom-arrives .9s ease both}.welcome-card .welcome-small{font:9px/1.8 'Hanken Grotesk',sans-serif;letter-spacing:.18em;color:#93816b;margin:0 0 18px}.welcome-card h4{font:500 44px/1.13 'Cormorant Garamond',Georgia,serif;color:#49413b;margin:0 0 23px}.welcome-card h4 em{font-weight:400}.welcome-card .welcome-message{font:13px/1.9 Lora,serif;color:#7b7064;max-width:390px;margin:0 auto}.welcome-couple{font:43px/1.4 'Alex Brush',cursive;color:#796547;margin:26px 0 5px}.welcome-couple span{font-size:29px}.welcome-card .welcome-event{font:11px/1.8 Lora,serif;color:#968570;letter-spacing:.035em;margin:0}.welcome-event span{padding-inline:8px}.welcome-card .wedding-button{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:28px auto 0;padding:14px 23px}.welcome-card .welcome-footnote{font:italic 11px/1.8 Lora,serif;color:#a39683;margin:20px 0 0}.welcome-card.letter-opening{transform:translateY(-18px);opacity:0}@keyframes bloom-arrives{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:640px){.welcome-card{width:90%;padding:28px 23px 30px;margin:30px auto 45px}.welcome-bloom{width:105px;height:85px}.welcome-card h4{font-size:38px}.welcome-card .welcome-message{font-size:12px;line-height:1.9}.welcome-couple{font-size:36px}.welcome-card .welcome-small{font-size:8px;letter-spacing:.14em}.welcome-card .wedding-button{font-size:11px;padding:14px 19px}}@media(prefers-reduced-motion:reduce){.welcome-bloom{animation:none}}

/* Continuous video backdrop within the invitation scroll area. */
#wedding-scroll{position:relative;isolation:isolate}#guest-invitation{position:relative;isolation:isolate}.invitation-backdrop{position:sticky;top:0;height:0;width:100%;z-index:0;pointer-events:none}.invitation-backdrop video,.backdrop-veil{position:absolute;left:0;top:0;width:100%;height:var(--scroll-viewport-height,760px)}.invitation-backdrop video{display:block;object-fit:cover;object-position:center;background:#635c53}.backdrop-veil{background:#1b171b21}.ambient-controls{position:sticky;top:0;height:0;z-index:25;pointer-events:none}.ambient-buttons{position:absolute;right:16px;top:calc(var(--scroll-viewport-height,760px) - 58px);display:flex;align-items:center;gap:7px;pointer-events:auto}.ambient-buttons button{background:#fffaf2f2;backdrop-filter:blur(8px);color:#554b3d;border:0;border-radius:24px;padding:11px 14px;min-height:40px;font:11px 'Hanken Grotesk',sans-serif;box-shadow:0 3px 12px #3027191a}.ambient-buttons button[aria-pressed=true]{background:#5b5145ed;color:#fffaf2}.ambient-buttons button:hover{transform:translateY(-1px)}#guest-invitation>.wedding-section,#guest-invitation>.film-hero,#guest-invitation>.wedding-farewell,#guest-invitation>.guest-welcome{position:relative;z-index:1}.film-hero{background:transparent;height:600px}.film-hero:after{display:none}.film-title{padding-top:90px}.film-footer{bottom:30px;justify-content:center;color:#fff}.film-footer a{font-size:10px}.wedding-nav{z-index:15;background:#fff9f0ed;backdrop-filter:blur(10px)}.guest-welcome{background:#eee7dcee}.wedding-section{margin:30px 5%;padding:60px 5%;background:#fff9f0e6;border-radius:3px;backdrop-filter:blur(5px)}.schedule-section,.transport-section{background:#f1eadfee}.wedding-intro{margin-top:20px;padding-top:40px}.wedding-farewell{margin:30px 5% 0;background:#eee7dced;backdrop-filter:blur(5px);border-radius:3px 3px 0 0;padding-bottom:90px}.rsvp-area form{background:#fffdfaf2}.preview-label{background:#e8ded2}.invitation-progress{z-index:20}.wedding-scroll{background-color:#fff9f0}@media(max-width:640px){.film-hero{height:540px}.film-title{padding-top:75px}.wedding-section{margin:22px 4%;padding:42px 20px}.wedding-farewell{margin-inline:4%;padding:45px 20px 95px}.ambient-buttons{right:12px;gap:5px}.ambient-buttons button{font-size:10px;padding:11px 12px}.film-footer{bottom:38px}.wedding-intro{padding-top:35px}}

/* Full-width sections dissolve into the video rather than framed cards. */
#guest-invitation>.wedding-section{width:100%;margin:0;padding:85px 9%;border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#fff9f000 0%,#fff9f0d9 11%,#fff9f0ed 35%,#fff9f0ed 68%,#fff9f0d4 90%,#fff9f000 100%);backdrop-filter:none;overflow:visible}#guest-invitation>.wedding-intro{padding-top:55px}.places-grid{max-width:800px;margin-inline:auto}.wedding-timeline{max-width:850px;margin-inline:auto}.rsvp-area form{border:0;box-shadow:none;background:#fffdf9b8;border-radius:0;padding:30px}.wedding-farewell{margin:0!important;width:100%;border-radius:0;background:linear-gradient(180deg,#eee7dc00,#eee7dcdf 25%,#eee7dcf5 75%,#eee7dc);padding-top:85px;padding-bottom:100px;backdrop-filter:none}.gift-section>p{max-width:490px;margin-inline:auto}.gift-section>p+p{margin-top:12px}.bank-toggle{display:inline-flex;align-items:center;justify-content:center;gap:20px;margin-top:28px;min-width:205px}.bank-toggle span{font:20px/1 'Hanken Grotesk',sans-serif}.bank-details{max-width:480px;margin:30px auto 0;padding:27px 30px;text-align:left;background:#fffdfad4;animation:bank-reveal .3s ease both}.bank-caption{font:9px/1.8 'Hanken Grotesk',sans-serif;letter-spacing:.16em;color:#978469;margin-bottom:20px}.bank-details dl{margin:0}.bank-details dl>div{padding:11px 0}.bank-details dt{font:10px/1.6 'Hanken Grotesk',sans-serif;letter-spacing:.04em;color:#978c7c;margin-bottom:4px}.bank-details dd{margin:0;font:14px/1.7 Lora,serif;color:#625647;overflow-wrap:anywhere}.bank-details dd.example-iban{font:13px/1.9 ui-monospace,Consolas,monospace;letter-spacing:.035em}.bank-example-note{font:11px/1.8 'Hanken Grotesk',sans-serif;color:#948572;margin-top:22px}@keyframes bank-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:640px){#guest-invitation>.wedding-section{margin:0;padding:65px 25px;width:100%}#guest-invitation>.wedding-intro{padding-top:45px}.rsvp-area form{padding:22px 16px}.bank-details{padding:24px 22px}.bank-details dd{font-size:13px}.bank-details dd.example-iban{font-size:12px;letter-spacing:0}.wedding-farewell{padding:70px 25px 100px}}

/* A continuous paper wash; sections no longer have separate gradient edges. */
.backdrop-veil{background-color:#fff9f0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.12'/%3E%3C/svg%3E");opacity:var(--paper-opacity,0);transition:opacity .14s linear}#guest-invitation>.wedding-section{background:transparent;margin:0;border:0;padding-block:62px;backdrop-filter:none}#guest-invitation>.wedding-farewell{background:transparent;border-radius:0;padding-top:60px}.wedding-section+ .wedding-section:before{content:'·';display:block;font:28px/1 Georgia,serif;color:#a5967e66;margin:-20px auto 32px;text-align:center}.gift-section .bank-details{background:#fffdfac9;border-radius:14px}.modern-form,.rsvp-area form{max-width:560px;margin:30px auto 0;padding:28px;text-align:left;background:#fffefae8;border:0;border-radius:20px;box-shadow:0 8px 32px #493d2d09}.form-heading{font:500 22px/1.3 'Cormorant Garamond',serif;color:#514639;margin:0 0 18px}.response-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}.response-choice{display:flex;align-items:center;gap:11px;min-height:78px;border:0;border-radius:13px;background:#f0ede7;color:#796f61;padding:17px 14px;text-align:left;font:500 13px/1.4 'Hanken Grotesk',sans-serif;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.response-choice:hover{transform:translateY(-2px)}.response-choice small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:inherit;opacity:.8}.choice-icon{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#e1dcd2;font:20px/1 'Hanken Grotesk',sans-serif}.response-choice.yes[aria-pressed=true]{background:#e0eee3;color:#286744;box-shadow:inset 0 0 0 1px #78a98b66}.response-choice.yes[aria-pressed=true] .choice-icon{background:#32724d;color:#fff}.response-choice.no[aria-pressed=true]{background:#f4e1df;color:#a14a45;box-shadow:inset 0 0 0 1px #cc938f55}.response-choice.no[aria-pressed=true] .choice-icon{background:#b15b54;color:#fff}.modern-form label,.rsvp-area label{font:12px/1.7 'Hanken Grotesk',sans-serif;color:#716556}.modern-form input:not([type=checkbox]),.modern-form select,.rsvp-area input,.rsvp-area select{border:0;border-radius:10px;background:#f2f0eb;color:#4b443c;font:15px 'Hanken Grotesk',sans-serif;padding:14px;min-height:49px;margin-top:7px;box-shadow:none}.modern-form input:focus,.modern-form select:focus{background:#f8f7f3;outline:2px solid #c6bda9;outline-offset:2px}.person-card{border:0;margin-top:20px;padding:20px;background:#f6f4ef;border-radius:12px}.person-card legend{font:500 18px 'Cormorant Garamond',serif;padding:0 5px;color:#756751}.modern-form .wedding-button.solid{display:block;width:100%;border-radius:11px;background:#675b4b;box-shadow:none;padding:15px;margin-top:22px;font:13px 'Hanken Grotesk',sans-serif}.modern-form[data-answer=yes] .wedding-button.solid{background:#36724e}.modern-form[data-answer=no] .wedding-button.solid{background:#a65a52}.modern-form .wedding-button.solid:hover{filter:brightness(.95);transform:translateY(-1px)}.form-note{font:11px/1.8 'Hanken Grotesk',sans-serif;color:#968b7c;margin-top:15px}.field-caption{font:12px 'Hanken Grotesk',sans-serif;color:#776858;margin:0 0 12px}.transport-person-option{display:flex!important;align-items:center;gap:11px;padding:13px 15px;background:#f4f2ec;border-radius:10px;margin-bottom:9px}.transport-person-option input[type=checkbox]{display:inline-block;width:19px;height:19px;min-height:0;margin:0;padding:0;accent-color:#36724e;flex-shrink:0}.transport-person-option span{font:13px 'Hanken Grotesk',sans-serif;color:#60574b}#transport-status,#rsvp-status{font:12px/1.8 'Hanken Grotesk',sans-serif;margin-top:15px;color:#426c4c}.modern-form[data-answer=no] #transport-status,.modern-form[data-answer=no] #rsvp-status{color:#9b5852}.panel-demo .state:not(.pending):not(.no){background:#e0eee3;color:#286744}.panel-demo .state.no{background:#f4e1df;color:#a14a45}@media(max-width:640px){#guest-invitation>.wedding-section{padding:50px 23px}.modern-form,.rsvp-area form{padding:22px 17px;border-radius:16px}.response-choices{gap:8px}.response-choice{padding:13px 10px;gap:8px;min-height:82px;font-size:12px}.response-choice small{font-size:9px}.choice-icon{width:23px;height:23px;font-size:17px}.person-card{padding:17px}.wedding-section+ .wedding-section:before{margin:-12px auto 22px}}

/* A warm gift moment and restrained contemporary refinements. */
.brand-header{position:sticky;top:0;z-index:35;background:#f5f2ecf2;backdrop-filter:blur(12px);border-bottom-color:#15120e14}.brand-header nav a{font-weight:500;font-size:13px}.brand-header .hamburger{border:0;border-radius:8px;background:#e8ded280}.proposal-hero h1,.section h2,.proposal-closing h2{text-wrap:balance}.price-card{border-radius:8px}.price-card li{position:relative;padding-left:17px}.price-card li:before{content:'·';position:absolute;left:0;color:#9a9087}.button{border-radius:5px;font-weight:500}.byline{letter-spacing:.015em}.scope-grid h3,.work-grid h3,.terms-grid h3{text-wrap:balance}.scope-grid p{line-height:1.8}.terms-grid{border-radius:10px}.prototype-notice{border-radius:10px}.prototype-notice strong{display:block;margin-bottom:5px}.panel-demo{border-radius:14px}.panel-totals>div{border-radius:9px}.panel-totals span{color:#6b6156}.sample-pill{border-radius:20px;padding:7px 12px;letter-spacing:.08em}.panel-filter select{border:0;border-radius:8px;background:#e8ded280}.panel-demo td,.panel-demo th{padding-block:16px}.panel-demo tbody tr:hover{background:#e8ded230}.dialog-top button{border:0;border-radius:20px;background:#e8ded2;min-height:40px}.wedding-nav nav button{border-radius:18px;transition:background .2s}.wedding-nav nav button:hover{background:#e8ded270}.guest-welcome{font-family:'Hanken Grotesk',sans-serif;letter-spacing:.03em}.wedding-button{font-family:'Hanken Grotesk',sans-serif;border-radius:8px;font-weight:500}.film-title>p:first-child{font:10px 'Hanken Grotesk',sans-serif;letter-spacing:.32em}.film-title h3{line-height:1.25}.film-title .film-cta{border-radius:50%}.venue-photo{border-radius:5px}.venue-photo img{border-radius:2px}.place-info h5{letter-spacing:.07em}.wedding-count strong{font-variant-numeric:tabular-nums}.wedding-section>p:not(.wedding-kicker){line-height:1.95}.ambient-buttons button{font-weight:500}.gift-section .wedding-kicker{font-size:9px;letter-spacing:.16em;margin-bottom:4px}.gift-art{color:#ac9570;width:145px;height:100px;margin:12px auto 6px}.gift-art svg{display:block;width:100%;height:100%;overflow:visible}.gift-section h4{font-size:65px;line-height:1.1;margin-bottom:25px}.gift-section .gift-message{font:14px/2 Lora,serif;max-width:470px;margin:auto;color:#796d5d}.honeymoon-note{max-width:490px;margin:35px auto 0;text-align:center;padding:24px 24px 26px;background:#fffdf765;border-radius:16px}.honeymoon-kicker{font:9px/1.8 'Hanken Grotesk',sans-serif;letter-spacing:.15em;color:#9c886b;display:block;margin-bottom:12px}.honeymoon-note>p{font:13px/1.95 Lora,serif;color:#887965;max-width:380px;margin:auto}.gift-section .bank-toggle{margin-top:23px;border-radius:25px;background:#6c5c48;box-shadow:none;font:12px 'Hanken Grotesk',sans-serif;padding:14px 22px}.gift-section .bank-toggle:hover{background:#594a38;box-shadow:none}.gift-section .bank-details{text-align:left;margin-top:24px;background:#fffdfaab;border-radius:12px;padding:24px}.gift-section .bank-details dl>div{padding:11px 0}.bank-thanks{font:italic 12px/1.9 Lora,serif;color:#8c7556;margin-top:20px}.gift-section .gift-signoff{font:italic 12px/1.9 Lora,serif;color:#9b8a74;margin:30px auto 0}.gift-signoff span{display:block;font:32px/1.5 'Alex Brush',cursive;color:#8f7856;margin-top:6px}.wedding-farewell p{max-width:420px;font-size:14px}.modern-form input:not([type=checkbox]),.modern-form select{transition:background .2s,outline-color .2s}.response-choice:focus-visible{outline:2px solid #8a9b88;outline-offset:3px}@media(max-width:640px){.brand-header{padding-block:15px}.brand-header nav a{font-size:14px}.price-card{border-radius:7px}.gift-section h4{font-size:49px}.gift-art{width:125px;height:87px}.gift-section .gift-message{font-size:13px}.honeymoon-note{margin-top:27px;padding:21px 16px}.honeymoon-note>p{font-size:12px}.gift-section .bank-details{padding:21px 17px}.gift-signoff span{font-size:30px}.modern-form input:not([type=checkbox]),.modern-form select{font-size:16px}.panel-demo td,.panel-demo th{padding-block:13px}}

/* Photo-led entry, a personal reservation and softer dress details. */
.brand-header>a{display:flex;align-items:center;gap:16px}.brand-service{font:9px/1.7 'Hanken Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#9a9087}.brand-header nav{align-items:center;gap:10px}.brand-header nav a{padding:10px 15px;border-radius:24px}.brand-header nav a:hover{background:#e8ded270}.brand-header nav a:after{display:none}.access-with-photo{max-width:930px;min-height:590px;padding:55px 6%;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:45px;text-align:left}.access-photo{position:relative;margin:0;padding:10px 10px 15px;background:#fffdf8;box-shadow:0 6px 22px #5145350d;border-radius:120px 120px 8px 8px;transform:rotate(-2deg)}.access-photo>img{display:block;width:100%;height:310px;object-fit:cover;object-position:center;border-radius:110px 110px 3px 3px;filter:saturate(.8)}.photo-reference-label{position:absolute;top:25px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:6px 10px;background:#fffdf3eb;border-radius:12px;font:8px 'Hanken Grotesk',sans-serif;letter-spacing:.08em;color:#75624b}.photo-stamp{position:absolute;bottom:78px;right:-15px;display:grid;place-items:center;width:63px;height:63px;border-radius:50%;background:#eee4d2;transform:rotate(9deg);box-shadow:0 2px 7px #66523b0c}.photo-stamp .icon{width:35px;height:35px;color:#9e8863;stroke-width:1}.access-photo figcaption{font:10px/1.8 'Hanken Grotesk',sans-serif;color:#9a8e7b;padding:12px 6px 0;transform:rotate(2deg)}.access-photo figcaption a{text-decoration:underline;text-underline-offset:2px}.access-copy .wedding-kicker{font-size:9px!important;letter-spacing:.12em!important;text-align:left;margin:0 0 16px!important}.access-with-photo h4{font:500 45px/1.08 'Cormorant Garamond',serif;color:#54483b;margin:0 0 20px}.access-copy>p:not(.wedding-kicker){font:14px/1.9 'Hanken Grotesk',sans-serif;color:#7a6d5c;max-width:360px}.access-with-photo form{margin:25px 0 0;max-width:360px}.access-with-photo form>.wedding-button{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;border-radius:9px}.access-copy .access-demo-note{font-size:11px!important;line-height:1.9!important;margin-top:18px!important}.wedding-nav{padding:10px 5%;gap:16px;align-items:center}.wedding-nav .monogram{display:flex;align-items:center;gap:14px}.nav-initials{font:33px/1.2 'Alex Brush',cursive;color:#685844}.nav-date{font:8px/1.7 'Hanken Grotesk',sans-serif;letter-spacing:.12em;color:#93836c}.wedding-nav nav{gap:7px;align-items:center}.wedding-nav nav button{padding:9px 13px;font:11px 'Hanken Grotesk',sans-serif;min-height:37px}.wedding-nav nav button[data-jump=wedding-rsvp]{background:#6b5b47;color:#fffaf2;border:0;border-radius:23px}.wedding-nav .hamburger{border:0;background:#eee6d770;border-radius:8px}.guest-reservation{margin:20px auto 0;width:90%;max-width:750px;padding:15px 20px;background:#fffaf1e6;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:'Hanken Grotesk',sans-serif}.reservation-copy{display:flex;flex-direction:column;gap:3px}.reservation-caption{font-size:8px;letter-spacing:.16em;color:#9b8b71}.reservation-copy strong{font:500 21px/1.2 'Cormorant Garamond',serif;color:#685843}.reservation-warmth{font-size:10px;color:#9c8d77}.reserved-places{display:flex;align-items:center;gap:11px;padding:8px 13px;background:#eae2d4;border-radius:9px;min-width:115px}.reserved-places strong{font:500 35px/1 'Cormorant Garamond',serif;color:#7c6748}.reserved-places span{font:10px/1.5 'Hanken Grotesk',sans-serif;color:#89765b;max-width:64px}.dress-illustrations{display:flex;align-items:center;justify-content:center;gap:28px;margin:28px auto 19px}.dress-illustrations .icon{width:69px;height:69px;stroke-width:1;color:#a08a66}.dress-example-pill{display:inline-block;background:#f5eee1b3;border-radius:25px;padding:9px 17px;font:10px 'Hanken Grotesk',sans-serif;letter-spacing:.04em;color:#948062;margin-bottom:22px}.dress-section .dress-warm-copy{max-width:470px;font:14px/2 Lora,serif;color:#80725f;margin:auto}.dress-section .dress-little-note{font:italic 13px/1.9 Lora,serif;color:#9b8769;margin:20px auto 0;max-width:400px}.dress-section .wedding-note{max-width:430px}@media(max-width:950px){.brand-service{display:none}.wedding-nav .nav-date{display:none}}@media(max-width:640px){.brand-header nav a{border-radius:7px}.access-with-photo{grid-template-columns:1fr;gap:28px;padding:35px 27px 45px;max-width:440px;text-align:center}.access-photo{max-width:245px;width:100%;margin:auto;border-radius:100px 100px 7px 7px;padding:8px 8px 13px}.access-photo>img{height:205px;border-radius:92px 92px 3px 3px}.access-photo figcaption{font-size:9px}.photo-stamp{width:49px;height:49px;bottom:74px;right:-12px}.photo-stamp .icon{width:29px;height:29px}.access-copy .wedding-kicker{text-align:center}.access-with-photo h4{font-size:38px}.access-copy>p:not(.wedding-kicker){font-size:13px;margin-inline:auto}.access-with-photo form{text-align:left;margin-inline:auto}.wedding-nav{padding:9px 5%}.wedding-nav nav{gap:4px}.wedding-nav nav button{padding:11px 13px;font-size:12px}.wedding-nav nav button[data-jump=wedding-rsvp]{border-radius:7px;text-align:left}.guest-reservation{padding:13px 15px;width:92%;gap:12px;margin-top:15px}.reserved-places{min-width:96px;padding:7px 10px;gap:8px}.reserved-places strong{font-size:30px}.reserved-places span{font-size:9px}.reservation-copy strong{font-size:20px}.reservation-warmth{font-size:9px;max-width:155px}.dress-illustrations .icon{width:59px;height:59px}.dress-section .dress-warm-copy{font-size:13px}}

.guest-reservation{flex-direction:row}

/* Clear entry and a two-step response flow, inspired by the supplied form. */
.access-with-photo{display:block;max-width:580px;min-height:0;width:90%;margin:30px auto 45px;padding:0;background:#fffdfa;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px #5145350a;text-align:center}.access-photo{margin:0;padding:0;max-width:none;width:100%;background:transparent;border-radius:0;box-shadow:none;transform:none}.access-photo>img{width:100%;height:220px;object-fit:cover;object-position:center 45%;border-radius:0;filter:saturate(.9)}.photo-reference-label{top:16px;left:16px;transform:none;border-radius:7px;font-size:9px;padding:7px 10px}.access-photo figcaption{font:10px/1.7 'Hanken Grotesk',sans-serif;transform:none;color:#9a8e7b;text-align:center;padding:13px 24px 0}.access-copy{padding:28px 38px 34px}.access-copy .wedding-kicker{text-align:center;font-size:9px!important;margin-bottom:12px!important}.access-with-photo h4{font:500 40px/1.08 'Cormorant Garamond',serif;margin:0 0 17px}.access-copy>p:not(.wedding-kicker){margin:0 auto;max-width:390px;font-size:14px;line-height:1.8}.access-with-photo form{max-width:390px;margin:24px auto 0;text-align:left}.access-copy .access-demo-note{margin:16px auto 0!important;font-size:10px!important}.access-with-photo input{background:#f4f1ea;border:0;border-radius:9px}.access-with-photo form>.wedding-button{width:100%;padding:15px 18px}.demo-flow{display:flex;gap:24px;flex-wrap:wrap;margin:5px 0 20px;font:12px 'Hanken Grotesk',sans-serif;color:#6b6156}.demo-flow span{display:flex;align-items:center;gap:9px}.demo-flow b{font-size:10px;font-weight:500;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f5f2ec;color:#8a7b67}.rsvp-wizard{max-width:620px!important}.wizard-progress{display:flex;justify-content:space-between;gap:15px;margin-bottom:28px}.wizard-progress span{display:flex;align-items:center;gap:9px;color:#aa9d89;font:12px 'Hanken Grotesk',sans-serif}.wizard-progress i{display:grid;place-items:center;width:28px;height:28px;background:#eee9df;border-radius:50%;font-style:normal;font-size:11px}.wizard-progress span[aria-current=step]{color:#775e3a;font-weight:500}.wizard-progress span[aria-current=step] i{background:#dac8a9;color:#5f4b2f}.rsvp-wizard[data-step='2'] .wizard-progress:before{display:none}.menu-step-title{font:500 26px/1.2 'Cormorant Garamond',serif;color:#61513d;margin:0 0 10px}.menu-step-caption{font:12px/1.8 'Hanken Grotesk',sans-serif;color:#978974;margin-bottom:25px}.menu-person-card{padding:22px;margin:25px 0 0;background:#faf6ed;border-radius:14px;border:0}.menu-person-card legend{font:500 21px 'Cormorant Garamond',serif;color:#7b6240;padding:0 6px}.menu-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 22px}.menu-option{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:95px;padding:17px 12px;background:#fffdfa;border-radius:11px;cursor:pointer;box-shadow:inset 0 0 0 1px #dfd8caaa;transition:background .2s,box-shadow .2s,transform .2s}.menu-option input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0;margin:0}.menu-option .icon{width:28px;height:28px;color:#978b76;stroke-width:1.5}.menu-option span{font:13px 'Hanken Grotesk',sans-serif;color:#756853}.menu-option:has(input:checked){background:#f6ebd1;box-shadow:inset 0 0 0 2px #c4a777}.menu-option:has(input:checked) .icon,.menu-option:has(input:checked) span{color:#927344}.menu-option:has(input:focus-visible){outline:2px solid #b59a70;outline-offset:3px}.menu-option:hover{transform:translateY(-2px)}.modern-form textarea{display:block;width:100%;resize:vertical;border:0;border-radius:10px;background:#fffdfa;color:#645846;font:13px/1.7 'Hanken Grotesk',sans-serif;padding:13px;margin-top:8px;min-height:90px}.modern-form textarea:focus{outline:2px solid #c6bda9;outline-offset:2px}.modern-form textarea::placeholder{color:#b0a493}.wizard-actions{display:flex;align-items:center;gap:16px;margin-top:22px}.wizard-actions .wedding-button.solid{width:auto;flex:1;margin:0}.wizard-back{background:transparent;border:0;padding:12px 0;color:#8f7e63;font:11px 'Hanken Grotesk',sans-serif;min-height:44px}.wizard-back:hover{text-decoration:underline}.panel-demo td:last-child{max-width:250px;white-space:normal;overflow-wrap:anywhere}#attendee-name-fields{margin-top:12px}@media(max-width:640px){.access-with-photo{margin:24px auto 35px;width:92%;border-radius:13px}.access-photo>img{height:185px}.access-copy{padding:24px 24px 29px}.access-with-photo h4{font-size:36px}.access-copy>p:not(.wedding-kicker){font-size:13px}.access-photo figcaption{font-size:9px;padding:11px 20px 0}.demo-flow{gap:12px;font-size:10px}.demo-flow b{width:20px;height:20px}.menu-person-card{padding:18px 13px}.menu-options{gap:8px}.menu-option{min-height:86px}.wizard-actions{flex-direction:column-reverse;gap:5px}.wizard-actions .wedding-button.solid{width:100%}.modern-form textarea{font-size:16px}.menu-person-card legend{font-size:20px}}
.panel-demo table{min-width:640px}.panel-demo th:last-child{min-width:180px}

/* Final quotation cleanup and an uncropped reference photograph. */
footer a{border-bottom:0;text-decoration:none}.access-photo>img{height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#efe9df;filter:none}.access-photo{overflow:hidden}.photo-reference-label{top:12px;left:12px}@media(max-width:640px){.access-photo>img{height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}}

/* Larger, clearer button labels without all-caps lettering. */
.button{font-family:'Hanken Grotesk',sans-serif;font-size:16px;font-weight:600;letter-spacing:.015em;min-height:48px}.wedding-button,.wedding-button.solid,.gift-section .bank-toggle,.modern-form .wedding-button.solid,.access-with-photo form>.wedding-button{font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;letter-spacing:.015em;line-height:1.4;min-height:48px;text-transform:none}.response-choice{font-size:15px;font-weight:600}.response-choice small{font-size:11px;font-weight:400}.menu-option span{font-size:15px;font-weight:500}.wizard-back{font-size:13px;font-weight:500}.wedding-nav nav button{font-size:13px;font-weight:500}.ambient-buttons button{font-size:12px;font-weight:500}.dialog-top button{font-size:14px;font-weight:500}.text-button{font-size:13px;font-weight:500}@media(max-width:640px){.button{font-size:15px}.wedding-button,.wedding-button.solid,.gift-section .bank-toggle,.modern-form .wedding-button.solid,.access-with-photo form>.wedding-button{font-size:14px;font-weight:600;min-height:48px}.response-choice{font-size:14px}.response-choice small{font-size:10px}.menu-option span{font-size:14px}.wizard-back{font-size:12px}.ambient-buttons button{font-size:11px}}

footer .footer-tagline{display:inline;white-space:normal}footer .footer-tagline em{font-style:italic}@media(max-width:640px){footer .footer-tagline{display:inline}}

/* Verified couple portrait, kept at its original horizontal frame. */
.access-with-photo{max-width:540px}.access-photo>img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;object-position:center;filter:none;background:#f4f0e8}.access-copy{padding-top:25px}.access-photo figcaption{max-width:480px;margin:auto;padding:13px 22px 0;font-size:10px;line-height:1.8}.photo-reference-label{font-size:9px;padding:7px 10px;background:#fffdf3ed}@media(max-width:640px){.access-photo>img{height:auto;aspect-ratio:8/5;object-fit:contain}.access-photo figcaption{padding:11px 19px 0;font-size:9px}.access-copy{padding-top:23px}}

/* Balanced quotation conditions: one materials list and a natural right stack. */
.terms-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:start;gap:25px;margin-top:45px;padding:0;background:transparent;border:0;border-radius:0}.terms-grid>article,.terms-stack>article{padding:27px 29px;background:#e8ded2;border-radius:10px}.terms-stack{display:flex;flex-direction:column;gap:20px}.terms-grid h3{font-size:25px;line-height:1.2;margin:0 0 18px;text-wrap:balance}.terms-grid p,.terms-grid ul{font-size:14px;line-height:1.8}.materials-card ul{padding:0;list-style:none;margin:0}.materials-card li{padding:12px 0;margin:0!important}.materials-card li:first-child{padding-top:0}.materials-card li:last-child{padding-bottom:0}.materials-card li strong{display:block;font-weight:500;color:#514639;margin-bottom:3px}.terms-stack p+p{margin-top:14px}.terms-stack>article:nth-child(2){background:#eee8df}.terms-stack>article:nth-child(3){background:#ece4d9}@media(max-width:800px){.terms-grid{grid-template-columns:1fr;gap:20px}.terms-stack{gap:20px}.terms-grid>article,.terms-stack>article{padding:25px}.terms-grid h3{font-size:24px}.materials-card li{padding:10px 0}}@media(max-width:640px){.terms-grid{margin-top:32px}.terms-grid>article,.terms-stack>article{padding:23px}.terms-grid p,.terms-grid ul{font-size:14px;line-height:1.8}}

/* Open-book guest access: portrait left, invitation and login right. */
.access-with-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0;max-width:960px;width:94%;min-height:470px;margin:38px auto 45px;padding:0;text-align:left;border-radius:18px;background:#fffdfa;box-shadow:0 16px 42px #51453510}
.access-photo{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%;max-width:none;margin:0;padding:34px 24px;background:#eee8dd;background-image:inherit;border-radius:0;transform:none;box-shadow:inset -14px 0 22px -22px #51453545}
.access-photo>img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;object-position:center;border-radius:7px;background:#eee8dd;filter:none}
.access-photo .photo-reference-label{position:static;align-self:flex-start;order:-1;margin:0 0 13px;padding:0;background:transparent;font-size:9px;letter-spacing:.1em;color:#8a7b65}
.access-photo figcaption{max-width:360px;margin:16px auto 0;padding:0;font-size:10px;line-height:1.8;text-align:left;color:#8e806b}
.access-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:42px 36px}
.access-copy .wedding-kicker{text-align:left;margin:0 0 18px!important;font-size:9px!important;line-height:1.8}
.access-with-photo h4{font-size:44px;line-height:1.07;margin:0 0 20px;text-align:left}
.access-copy>p:not(.wedding-kicker){max-width:none;margin:0;font-size:14px;line-height:1.85;text-align:left}
.access-with-photo form{width:100%;max-width:none;margin:25px 0 0;text-align:left}
.access-with-photo input{width:100%;min-height:49px;font-size:14px;background:#f3efe7;border-radius:9px}
.access-copy .access-demo-note{max-width:none;margin:17px 0 0!important;text-align:left;font-size:10px!important;line-height:1.8!important}
@media(max-width:700px){.access-with-photo{grid-template-columns:1fr;width:92%;max-width:540px;min-height:0;margin:24px auto 35px;border-radius:14px}.access-photo{padding:22px 22px 19px;box-shadow:none}.access-photo>img{height:auto;aspect-ratio:8/5;object-fit:contain}.access-photo figcaption{max-width:none;margin-top:12px;font-size:9px}.access-copy{padding:28px 25px 32px}.access-with-photo h4{font-size:38px}.access-copy .wedding-kicker{margin-bottom:15px!important}.access-with-photo input{font-size:16px}.access-photo .photo-reference-label{margin-bottom:10px}}

/* Edge-to-edge reference photograph with a discreet temporary caption. */
.access-photo{display:block;position:relative;padding:0;align-self:stretch;overflow:hidden;background:#d9d3c8;box-shadow:none;min-height:470px}
.access-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0;background:transparent}
.access-photo .photo-reference-label{position:absolute;top:19px;left:20px;z-index:1;order:initial;margin:0;padding:5px 8px;background:#211b1738;border-radius:4px;color:#fff;font-size:8px;letter-spacing:.1em;text-shadow:0 1px 3px #0004}
.access-photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;max-width:none;margin:0;padding:42px 22px 20px;background:linear-gradient(transparent,#211b176b);color:#fffefa;font-size:9px;line-height:1.7;text-align:left;text-shadow:0 1px 3px #0003}
.access-photo figcaption a{color:inherit;text-decoration-color:#ffffff70}
@media(max-width:700px){.access-photo{min-height:0;height:auto;aspect-ratio:8/5;padding:0}.access-photo>img{position:absolute;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}.access-photo .photo-reference-label{top:14px;left:15px;margin:0}.access-photo figcaption{margin:0;padding:32px 17px 14px;font-size:8px}}

/* Visible menu validation and confirmation. */
.menu-field-error{margin:12px 0 0!important;font:500 13px/1.6 'Hanken Grotesk',sans-serif!important;color:#a5463f!important}.menu-incomplete{box-shadow:inset 0 0 0 1px #b8675960}.rsvp-area #rsvp-status.response-feedback{padding:15px 18px;margin:18px 0 0;border-radius:10px;font:500 13px/1.7 'Hanken Grotesk',sans-serif}.rsvp-area #rsvp-status.saved{background:#e6eee4;color:#386144}.rsvp-area #rsvp-status.error{background:#f4e6e1;color:#93463d}.rsvp-area #rsvp-status:empty{display:none}

/* Completed RSVP replaces the form with an unmistakable success summary. */
.rsvp-confirmation{max-width:610px;margin:28px auto 0;padding:35px;background:#fffdfa;border-radius:18px;box-shadow:0 10px 30px #5145350c;scroll-margin-top:100px;text-align:center}.confirmation-check{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;background:#e5eee3;color:#376747;border-radius:50%;font:600 30px 'Hanken Grotesk',sans-serif}.confirmation-eyebrow{font:600 10px 'Hanken Grotesk',sans-serif;letter-spacing:.12em;color:#477153;margin:0 0 12px}.rsvp-confirmation h5{font:500 32px/1.15 'Cormorant Garamond',serif;color:#574d3c;margin:0 0 14px}.rsvp-confirmation>p:not(.confirmation-eyebrow){font:14px/1.8 'Hanken Grotesk',sans-serif;color:#746753}.confirmation-summary{display:grid;gap:12px;margin:24px 0;text-align:left}.confirmation-summary article{padding:17px 19px;border-radius:10px;background:#f3f1e9;min-width:0}.confirmation-summary strong,.confirmation-summary span{display:block;font:600 15px/1.6 'Hanken Grotesk',sans-serif;color:#5f5544}.confirmation-summary span{font-size:13px;font-weight:400;color:#467050}.confirmation-summary p{font:13px/1.8 'Hanken Grotesk',sans-serif;color:#7b6c56;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.rsvp-confirmation .confirmation-demo-note{font-size:10px!important;margin:20px 0 0;color:#968775!important}.rsvp-confirmation .wedding-button{width:100%;justify-content:center}.rsvp-confirmation[hidden]{display:none!important}@media(max-width:640px){.rsvp-confirmation{padding:27px 22px}.rsvp-confirmation h5{font-size:29px}}

.transport-confirmation[hidden],#transport-form[hidden]{display:none!important}.transport-confirmation{max-width:610px}.transport-confirmation .wedding-button{display:flex;align-items:center;justify-content:center}

.hero-preview-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;max-width:100%;line-height:1.5}.hero-preview-note{font:12px/1.7 "Hanken Grotesk",sans-serif;color:#766e61;max-width:390px;margin:12px 0 0}.proposal-hero .lead{max-width:530px}.scope-section h2{max-width:740px}@media(max-width:640px){.hero-preview-button{width:100%;font-size:14px;padding:16px 19px}.hero-preview-note{font-size:11px}}

/* Lucide Static 1.53.0 (ISC), consistent SVG icons in place of text symbols. */
.ui-icon{display:inline-block;width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.button .ui-icon,.wedding-button .ui-icon{width:19px;height:19px}.choice-icon .ui-icon{width:22px;height:22px}.confirmation-check .ui-icon{width:29px;height:29px;stroke-width:2}.love-divider .ui-icon{width:22px;height:22px}.film-title>button .ui-icon{width:26px;height:26px}.wizard-back .ui-icon{width:16px;height:16px;margin-right:5px}.preview-label .ui-icon{width:14px;height:14px}.dialog-top button{display:inline-flex;align-items:center;gap:8px}.bank-toggle>span{display:inline-flex;align-items:center;justify-content:center}
