:root{--paper: #f8f3ea;--paper-soft: #fdfaf4;--paper-edge: #efe6d4;--surround: #e7dac6;--gold: #b8860b;--gold-light: #c9a227;--gold-soft: #d8c082;--gold-deep: #8c6510;--gold-line: rgba(184, 134, 11, .4);--gold-line-soft: rgba(184, 134, 11, .18);--burgundy: #7a1f2f;--burgundy-deep: #4a0f1c;--ink: #2c2416;--ink-muted: #6b5c47;--leaf: #2d5a27;--site-header-offset: 3.5rem;--site-max: 44rem;--radius-card: 1.1rem;--radius-field: .6rem;--font-script: "Great Vibes", cursive;--font-serif: "Cormorant Garamond", "Georgia", serif;--font-arabic: "Amiri", serif;--shadow-card: 0 1.5rem 4rem rgba(44, 36, 22, .18);--shadow-soft: 0 .75rem 2.25rem rgba(44, 36, 22, .1);--shadow-frame: 0 .4rem 1.6rem rgba(44, 36, 22, .08);--rose-cluster: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cdefs%3E%3CradialGradient id='r' cx='40%25' cy='35%25' r='65%25'%3E%3Cstop offset='0%25' stop-color='%238b1538'/%3E%3Cstop offset='100%25' stop-color='%234a0f1c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='70' cy='35' rx='22' ry='18' fill='%232d5a27' transform='rotate(-20 70 35)'/%3E%3Cellipse cx='85' cy='50' rx='18' ry='14' fill='%233d7a35' transform='rotate(10 85 50)'/%3E%3Ccircle cx='55' cy='55' r='16' fill='url(%23r)'/%3E%3Ccircle cx='75' cy='48' r='14' fill='url(%23r)'/%3E%3Ccircle cx='68' cy='68' r='15' fill='url(%23r)'/%3E%3Ccircle cx='88' cy='62' r='12' fill='url(%23r)'/%3E%3Ccircle cx='48' cy='72' r='11' fill='url(%23r)'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--surround)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;font-family:var(--font-serif);font-size:1.15rem;line-height:1.6;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.visually-hidden{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;top:-3rem;left:1rem;z-index:200;padding:.6rem 1.1rem;background:var(--burgundy-deep);color:var(--paper);text-decoration:none;border-radius:.25rem;letter-spacing:.04em}.skip-link:focus{top:1rem}.page-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:url(../floral-bg.png);background-size:cover;background-position:center;background-attachment:fixed}.page-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% 0%,rgba(248,243,234,.55),transparent 60%),radial-gradient(120% 80% at 50% 100%,rgba(248,243,234,.7),transparent 55%),linear-gradient(180deg,#e7dac68c,#f5eee2d1)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.35rem;background:linear-gradient(180deg,rgba(248,243,234,.95) 0%,rgba(248,243,234,.78) 65%,transparent 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.site-header__monogram{margin:0;font-family:var(--font-script);font-size:2rem;line-height:1;background:linear-gradient(135deg,var(--gold-deep),var(--gold-light) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.site-header__end{display:flex;align-items:center;gap:1.25rem}.site-nav{display:flex;gap:1.5rem}.site-nav a{position:relative;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;padding:.25rem 0;transition:color .2s ease}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .25s ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--gold-deep)}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.lang-toggle{flex-shrink:0;min-width:2.5rem;padding:.35rem .55rem;font-family:var(--font-serif);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);background:#f8f3eae6;border:1px solid var(--gold-line);border-radius:999px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.lang-toggle:hover,.lang-toggle:focus-visible{color:var(--burgundy);border-color:var(--gold);background:#fff;outline:none}@media(max-width:30rem){.site-header__end{gap:.75rem}.site-nav{gap:1rem}.site-nav a{font-size:.72rem;letter-spacing:.1em}}.card-section{position:relative;display:flex;flex-direction:column;width:100%;height:100dvh;height:100svh;margin:0;padding:var(--site-header-offset) 0 0}.invite-card-figure{position:relative;display:block;flex:1;min-height:0;width:100%;margin:0;padding:0;overflow:hidden;animation:rise-in .9s ease both}.invite-card-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}@media(min-aspect-ratio:1/1){.invite-card-image{object-fit:contain;object-position:center;padding:1.5rem 0}}.scroll-hint--hero{position:relative;flex-shrink:0;z-index:2;margin:0;padding:.5rem 1rem 1.5rem;text-align:center}.scroll-hint{font-size:1.05rem;letter-spacing:.04em}.scroll-hint a{display:inline-block;color:var(--gold-deep);font-weight:600;text-decoration:none;padding-bottom:2px;border-bottom:1px solid var(--gold-line);transition:border-color .2s ease,transform .2s ease}.scroll-hint a:hover,.scroll-hint a:focus-visible{border-bottom-color:var(--gold)}@keyframes rise-in{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.invite-card-figure{animation:none}}.details-section,.rsvp-section{max-width:var(--site-max);margin:0 auto;padding:3.5rem 1.5rem}.section-title{font-size:clamp(2.6rem,9vw,3.6rem);line-height:1.3;text-align:center;margin:0 0 .4rem;padding-top:.25em;overflow:visible}.script{font-family:var(--font-script);font-weight:400;margin:0;background:linear-gradient(135deg,var(--gold-deep),var(--gold-light) 50%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.ornament{display:flex;align-items:center;justify-content:center;gap:.85rem;width:min(18rem,70%);margin:0 auto 1.75rem}.ornament:before,.ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent)}.ornament span{display:block;width:.55rem;height:.55rem;background:var(--gold);transform:rotate(45deg);border-radius:1px;box-shadow:0 0 0 3px #b8860b1f}.section-lead{text-align:center;color:var(--ink-muted);font-size:1.18rem;max-width:34rem;margin:0 auto 1rem;text-wrap:pretty}.section-lead--emphasis{color:var(--ink);margin-bottom:1rem}.section-lead--followup{font-size:1.05rem;line-height:1.6;margin-bottom:2.5rem}.section-lead strong{color:var(--ink);font-weight:600}.guest-notice{max-width:34rem;margin:-.5rem auto 2.25rem;text-align:center}.guest-notice__title{margin:0 0 .65rem;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-deep);text-decoration:underline;text-underline-offset:.35em}.guest-notice__text{margin:0 auto;max-width:34rem;padding:1.35rem 1.5rem;font-size:1.05rem;line-height:1.65;color:var(--ink-muted);text-wrap:pretty;background:linear-gradient(165deg,var(--paper-soft),var(--paper));border:1px solid var(--gold-line-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-frame)}.detail-cards{display:grid;gap:1.25rem}@media(min-width:48rem){.detail-cards{grid-template-columns:repeat(2,1fr)}}.detail-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(165deg,var(--paper-soft),var(--paper));border:1px solid var(--gold-soft);border-radius:var(--radius-card);padding:1.85rem 1.35rem;box-shadow:var(--shadow-frame);transition:transform .25s ease,box-shadow .25s ease}.detail-card:before{content:"";position:absolute;top:.45rem;right:.45rem;bottom:.45rem;left:.45rem;border:1px solid var(--gold-line-soft);border-radius:calc(var(--radius-card) - .35rem);pointer-events:none}.detail-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}.detail-card h3{margin:0 0 .65rem;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}.detail-card__main{margin:0 0 .4rem;font-size:1.3rem;font-weight:600;color:var(--ink);line-height:1.3}.detail-card__sub{margin:0 0 1.25rem;font-size:.98rem;color:var(--ink-muted);font-style:italic}.detail-card .btn{margin-top:auto}.detail-card__main--note{font-size:1rem;font-weight:500;line-height:1.55;font-style:normal;color:var(--ink)}.detail-card__main--note+.detail-card__main--note{margin-top:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.7rem 1.5rem;font-family:var(--font-serif);font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-align:center;line-height:1.25;border-radius:2rem;cursor:pointer;border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.btn:active{transform:translateY(1px)}.btn--ghost{color:var(--gold-deep);border-color:var(--gold-light);background:#fff6;font-weight:600}.btn--ghost:hover,.btn--ghost:focus-visible{background:#b8860b1f;border-color:var(--gold)}.btn--primary{width:100%;max-width:20rem;margin:.75rem auto 0;min-height:3.2rem;color:var(--paper-soft);background:linear-gradient(135deg,var(--gold-deep) 0%,var(--gold) 50%,var(--gold-light) 100%);border:none;font-weight:600;font-size:1rem;letter-spacing:.12em;box-shadow:0 .5rem 1.25rem #8c651047}.btn--primary:hover:not(:disabled),.btn--primary:focus-visible:not(:disabled){filter:brightness(1.06);box-shadow:0 .65rem 1.5rem #8c651057}.btn--primary:disabled{opacity:.65;cursor:wait;box-shadow:none}.btn:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}.rsvp-form{position:relative;max-width:30rem;margin:0 auto;background:linear-gradient(170deg,var(--paper-soft),var(--paper));border:1px solid var(--gold-soft);border-radius:var(--radius-card);padding:2.25rem 1.75rem 2rem;box-shadow:var(--shadow-card);overflow:hidden}.rsvp-form:before{content:"";position:absolute;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;border:1px solid var(--gold-line-soft);border-radius:calc(var(--radius-card) - .4rem);pointer-events:none;z-index:0}.rsvp-form .form-row,.rsvp-form .form-message,.rsvp-form .btn{position:relative;z-index:1}.rsvp-form .form-row label,.rsvp-form .form-row legend,.rsvp-form .field-hint{text-align:center}.rsvp-form .btn--primary{display:flex;margin-left:auto;margin-right:auto}.form-row{margin-bottom:1.35rem}.form-row label,.form-row legend{display:block;margin-bottom:.45rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600}.form-row label .emphasis-word{font-size:1.22em;letter-spacing:.08em;text-decoration:underline;text-underline-offset:.18em}.label-bilingual{display:block}.label-fr{display:block;font-size:.82rem;font-style:italic;text-transform:none;letter-spacing:.01em;font-weight:400;color:var(--ink-muted);margin-top:.15rem}.field-hint{margin:.45rem 0 0;font-size:.85rem;color:var(--ink-muted);font-style:italic}.required{color:var(--burgundy)}fieldset.form-row{border:none;padding:0;margin:0 0 1.35rem}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form select,.rsvp-form textarea{width:100%;padding:.85rem 1rem;font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);background:var(--paper-soft);border:1px solid rgba(140,101,16,.3);border-radius:var(--radius-field);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rsvp-form textarea{resize:vertical;min-height:3.5rem;line-height:1.5}.rsvp-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238c6510' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.75rem}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#6b5c4799}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px #b8860b29}.radio-group{display:flex;flex-direction:column;gap:.75rem}@media(min-width:30rem){.radio-group{flex-direction:row}.radio-pill{flex:1}}.radio-pill{position:relative;display:block;cursor:pointer}.radio-pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.radio-pill__label{display:block;height:100%;text-align:center;padding:.9rem 1rem;border:1px solid rgba(140,101,16,.3);border-radius:var(--radius-field);background:var(--paper-soft);font-size:1rem;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:.01em;line-height:1.4;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.radio-pill:hover .radio-pill__label{border-color:var(--gold-light)}.radio-pill input:checked+.radio-pill__label{background:#b8860b29;border-color:var(--gold);box-shadow:inset 0 0 0 1px #b8860b40}.radio-pill input:focus-visible+.radio-pill__label{outline:2px solid var(--gold-deep);outline-offset:2px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-message{text-align:center;font-size:1rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--radius-field);line-height:1.45}.form-message--error{color:var(--burgundy-deep);background:#7a1f2f14;border:1px solid rgba(122,31,47,.25)}.form-message--success{color:#275023;background:#2d5a271a;border:1px solid rgba(45,90,39,.28)}.rsvp-note{text-align:center;margin-top:1.75rem;font-size:.95rem;color:var(--ink-muted)}.rsvp-note a{color:var(--gold-deep)}.site-footer{text-align:center;padding:2.75rem 1.25rem 3rem;margin-top:1rem}.script--footer{font-size:clamp(1.85rem,6vw,2.4rem)}.site-footer__copy{margin:.85rem 0 0;font-size:.82rem;letter-spacing:.04em;color:var(--ink-muted)}.invite-card{position:relative;width:100%;max-width:28rem;background:linear-gradient(180deg,var(--paper-soft) 0%,var(--paper) 100%);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:3px double var(--gold-light);outline:1px solid var(--gold-line);outline-offset:4px;overflow:hidden}.invite-card__inner{position:relative;z-index:1;padding:2.25rem 1.75rem 1.75rem;text-align:center}
