
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Noto+Serif+Hebrew:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

:root{
  --display-fr:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --display-he:'Noto Serif Hebrew', Georgia, serif;
  --ui:'Inter', Arial, sans-serif;
  --blue:#10253d;--deep:#0a1a2d;--gold:#cfaf6b;--goldsoft:#e8d6a7;--ivory:#fffaf0;--paper:#f8f4ea;--ink:#273447;--muted:#69727b;--line:rgba(196,163,99,.35)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--ui);color:var(--ink);background:#f0e9df}button,input,textarea{font:inherit}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent }button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d6b970;outline-offset:3px}
.site-page[hidden]{display:none!important}.site-wrap{min-height:100vh;padding:32px 18px 60px;background:radial-gradient(circle at 20% 0,#fff8e9,transparent 40%),radial-gradient(circle at 80% 85%,#d8d5ce,transparent 38%),#eeeae3}
.topbar{width:min(100%,960px);margin:0 auto 19px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 11px/1.4 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#263b4f}.brand{display:flex;align-items:center;gap:11px}.brand-icon{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid #c8a866;border-radius:50%;color:#9c763a;font-size:18px}.top-link{font-size:10px;color:#91723f;text-decoration:none;border-bottom:1px solid #bda16c;padding-bottom:5px}
.card{position:relative;width:min(100%,960px);margin:0 auto;box-shadow:0 26px 75px rgba(24,36,50,.18);overflow:hidden}
/* HOME */
.home-card{color:#f5ecd9;background:radial-gradient(circle at 50% 23%,#1e3a57 0%,transparent 42%),linear-gradient(150deg,#102941,#09192a 75%);min-height:885px;padding:22px}
.home-card:before,.home-card:after{content:'';position:absolute;inset:13px;border:1px solid rgba(216,183,112,.52);pointer-events:none}.home-card:after{inset:20px;border-color:rgba(216,183,112,.12)}
.home-art{position:absolute;inset:0;pointer-events:none;overflow:hidden}.home-art .halo{position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid #dec48c30;left:50%;top:-194px;transform:translateX(-50%);box-shadow:0 0 0 45px #c1aa7f09,0 0 0 94px #c1aa7f08}.home-art .halo:after{content:'';position:absolute;inset:70px;border:1px solid #dec48c20;border-radius:50%}.home-art .spark{position:absolute;width:3px;height:3px;background:#e4c381;border-radius:50%;opacity:.6}.home-art .spark:nth-child(2){top:110px;left:13%}.home-art .spark:nth-child(3){top:245px;right:16%}.home-art .spark:nth-child(4){top:390px;left:21%}.home-art .spark:nth-child(5){top:55%;right:12%}
.home-main{position:relative;z-index:1;text-align:center;max-width:760px;margin:0 auto;padding:24px 22px 36px}
.bs{font:18px Arial,sans-serif;color:var(--goldsoft);margin:0 0 21px}.crest{width:80px;height:80px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;border:1px solid #d8b87099;background:#d0b87808}.crest svg{width:51px;height:51px;fill:none;stroke:#d6b476;stroke-width:2}
.eyebrow{font:700 11px/1.8 Arial,sans-serif;letter-spacing:.35em;text-transform:uppercase;color:#d1b273}.home-title{font-family:var(--display-fr);font-size:82px;font-size:clamp(51px,9vw,94px);line-height:.91;font-weight:400;letter-spacing:-.055em;margin:22px 0 7px;color:#fff8eb}.home-title span{display:block;font-size:.84em}.gold-script{font-family:var(--display-fr);font-size:28px;font-style:italic;color:#d9c596;margin:22px auto 18px}.rule{display:flex;align-items:center;justify-content:center;gap:16px;color:#b89856;margin:23px auto;max-width:300px}.rule:before,.rule:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#ad8d4d)}.rule:after{transform:rotate(180deg)}
.home-family{font:14px/1.7 Arial,sans-serif;letter-spacing:.02em;color:#e7dfd1;margin:10px 0 24px}
.date-lockup{display:flex;align-items:center;justify-content:center;gap:18px;margin:21px auto 20px}.date-day{font-size:82px;line-height:1;color:#e9d5a8;font-weight:400}.date-side{text-align:left;border-left:1px solid #d3b67b66;padding-left:17px}.date-month{display:block;color:#fff6e9;font-size:24px}.date-year{display:block;letter-spacing:.24em;font:12px/2 Arial,sans-serif;color:#c7ad77}.date-time{display:block;font:600 16px/2 Arial,sans-serif;color:#e8d4a2}
.home-ceremony{font-size:19px;line-height:1.6;margin:10px 0;color:#f6ecda}.home-location{font:13px/1.9 Arial,sans-serif;letter-spacing:.05em;color:#c9c9ca;margin:18px 0 22px}.home-location strong{font-weight:600;color:#f8e3bd;letter-spacing:.13em}
.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:57px;border:1px solid #f3dfb2;background:linear-gradient(135deg,#bf9755,#f9e8bd 50%,#d7b878);border-radius:60px;text-decoration:none;color:#17283a;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;box-shadow:0 12px 24px #020d1c3d;cursor:pointer;transition:transform .2s,box-shadow .2s}.gold-button:hover{transform:translateY(-3px);box-shadow:0 16px 28px #020d1c66}.arrow{font-size:22px;line-height:1}
.home-foot{margin:25px 0 0;color:#bbad95;font:13px/1.5 Arial,sans-serif;letter-spacing:.05em}.home-wave{position:absolute;bottom:0;left:0;width:100%;height:90px;opacity:.35}
/* INVITATION */
.invite-card{background:linear-gradient(155deg,#fffdf7 0%,#f9f4e8 65%,#fffaf0);padding:13px}
.invite-inner{position:relative;border:1px solid #c8a86b;padding:28px clamp(15px,6vw,72px) 42px;text-align:center}.invite-inner:before{content:'';position:absolute;inset:7px;border:1px solid #d4bd8b66;pointer-events:none}
.invite-header{text-align:center;padding:0 10px 15px}.invite-bs{font:16px Arial,sans-serif;color:#aa8a4a;margin:0 0 7px}.invite-crest{margin:12px auto;width:66px;height:66px;border:1px solid #c5a468;border-radius:50%;display:grid;place-items:center}.invite-crest svg{width:39px;height:39px;fill:none;stroke:#b48e4d;stroke-width:2}
.family-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0 26px;color:#6a5b48;font:13px/1.6 Arial,sans-serif}.family-row>div{width:47%}.family-row>div:first-child{text-align:left}.family-row>div:last-child{text-align:right}.family-row small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:#ae8d59;margin-bottom:5px}
.invite-kicker{color:#9e7f49;font:700 11px/1.6 Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;margin:6px 0 15px}.invite-parents{font-size:18px;color:#273d56;margin:0 0 8px}.invite-intro{font-size:17px;line-height:1.65;margin:8px 0 10px;color:#66727b}.invite-name{color:#142b43;font-size:59px;font-size:clamp(39px,7.4vw,70px);font-weight:400;line-height:1.03;letter-spacing:-.04em;margin:12px 0 4px}.invite-name span{display:block}.hebrew{font-family:Arial,'Noto Sans Hebrew',sans-serif;direction:rtl}.hebrew-title{font-size:19px;color:#a78752;margin:14px 0 16px}.ornament{display:flex;align-items:center;justify-content:center;gap:11px;max-width:330px;margin:23px auto;color:#b49454}.ornament:before,.ornament:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#c8ac77);flex:1}.ornament:after{transform:rotate(180deg)}
.event-block{display:flex;justify-content:center;gap:25px;align-items:center;margin:23px auto}.event-date{color:#122b45;font-size:68px;line-height:1}.event-meta{text-align:left;border-left:1px solid #ba9b5f;padding-left:20px;font:15px/1.8 Arial,sans-serif;color:#5e6976}.event-meta strong{display:block;color:#122b45;letter-spacing:.03em;font:600 22px/1.4 Georgia,serif}.event-meta span{display:block}
.section-label{font:700 10px/1.8 Arial,sans-serif;text-transform:uppercase;letter-spacing:.25em;color:#aa8c53;margin:10px 0}.ceremony-title{font-size:22px;font-weight:400;color:#263f59;margin:8px 0}.event-details{font:15px/1.65 Arial,sans-serif;color:#69727e;margin:4px 0 20px}.place{font-size:27px;color:#152d45;margin:6px 0 8px}.location{font:15px/1.65 Arial,sans-serif;color:#687482;margin:0 0 12px}.map-link{display:inline-flex;align-items:center;gap:7px;color:#98763b;font:600 12px Arial,sans-serif;text-decoration:none;border-bottom:1px solid #ad8c54;padding:7px;margin:0 0 12px}.map-link:hover{color:#59441e}
.rsvp{position:relative;background:#f4eddd;border:1px solid #d7bc86;border-radius:2px;max-width:625px;margin:40px auto 10px;padding:26px 28px 30px;text-align:left}.rsvp:before{content:'';position:absolute;inset:6px;border:1px solid #e3d1ac;pointer-events:none}.rsvp h2{text-align:center;color:#142c44;font-size:31px;font-weight:400;line-height:1.1;margin:7px 0}.rsvp-sub{text-align:center;color:#9c7b43;font:13px Arial,sans-serif;margin:8px 0 26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:19px}.field label,.field legend{display:block;font:600 12px/1.45 Arial,sans-serif;letter-spacing:.04em;color:#2f4051;margin-bottom:8px}.field input[type=text],.field input[type=number],.field textarea{width:100%;background:#fffdf8;border:1px solid #d0c0a4;padding:13px 14px;border-radius:3px;outline:none;color:#1a2f44;font:14px/1.5 Arial,sans-serif}.field textarea{min-height:85px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#a48348;box-shadow:0 0 0 2px #e8d3a966}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;background:#fffcf7;border:1px solid #cdb98f;border-radius:3px;cursor:pointer;font:13px Arial,sans-serif;color:#263849}.choice input{accent-color:#9e7a3d}.choice:has(input:checked){border-color:#9b7d4d;background:#fff4d9}.count-summary{font:12px/1.5 Arial,sans-serif;color:#707b86;margin:-3px 0 18px}.rsvp-btn{width:100%;font-size:12px}.rsvp-note{font:11px/1.6 Arial,sans-serif;color:#7d8183;text-align:center;margin:12px 0 0}.form-error{color:#9b2e2e;font:12px Arial,sans-serif;min-height:15px}.back-link{display:inline-flex;gap:8px;align-items:center;margin:23px 0 0;color:#a37e45;font:600 12px Arial,sans-serif;text-decoration:none;border-bottom:1px solid #ceb27b;padding-bottom:5px}.footer-hint{text-align:center;font:12px/1.6 Arial,sans-serif;color:#a9916b;margin:19px 0}
/* MUSIC */
.music-toggle{position:fixed;right:22px;bottom:22px;z-index:15;display:flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid #c4a36b;border-radius:40px;background:#fffaf0;color:#2a3d4f;box-shadow:0 9px 24px #10233824;cursor:pointer;font:600 12px Arial,sans-serif;letter-spacing:.025em}.music-toggle .music-symbol{font-size:18px;color:#af8743}.music-toggle.playing .music-symbol{animation:bounce 1s infinite alternate}@keyframes bounce{to{transform:translateY(-3px)}}
@media(max-width:650px){.site-wrap{padding:0 0 50px}.topbar{padding:13px 20px;margin:0;background:#faf6ed}.card{box-shadow:none}.home-card{padding:8px;min-height:780px}.home-card:before{inset:10px}.home-card:after{inset:17px}.home-main{padding:27px 15px 35px}.home-title{font-family:var(--display-fr);font-size:clamp(48px,13vw,68px)}.home-family{font-size:13px}.home-ceremony{font-size:17px}.date-day{font-size:72px}.date-side{padding-left:14px}.date-month{font-size:21px}.gold-button{padding:15px 22px;min-height:55px}.invite-card{padding:6px}.invite-inner{padding:26px 22px 40px}.family-row{gap:14px;font-size:11px}.invite-name{font-size:clamp(39px,11vw,56px)}.event-block{gap:15px}.event-date{font-size:59px}.event-meta{padding-left:15px;font-size:13px}.event-meta strong{font-size:19px}.rsvp{padding:20px 16px;margin-top:30px}.music-toggle{right:12px;bottom:12px}.form-row{gap:10px}}
@media(max-width:365px){.topbar{font-size:10px}.home-title{font-family:var(--display-fr);font-size:46px}.date-lockup{gap:12px}.date-day{font-size:63px}.invite-inner{padding-left:13px;padding-right:13px}.family-row{font-size:10px}.rsvp h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Bilingual typography – each text has a clearly paired Hebrew equivalent */
#page-home[hidden],#page-invite[hidden]{display:none!important}
.he-line{display:block;direction:rtl;unicode-bidi:plaintext;font-family:Arial,'Noto Sans Hebrew',sans-serif;letter-spacing:0;line-height:1.65}
.duo{display:block;margin:0 auto 12px;line-height:1.55}
.duo .fr-line{display:block}
.duo .he-line{margin-top:5px}
.top-link .he-line{font-size:12px;text-transform:none;letter-spacing:0;margin-top:2px}
.eyebrow-pair{margin:0 0 12px}
.eyebrow-pair .he-line{font:500 14px/1.65 Arial,sans-serif;color:#dec895;margin-top:1px}
.home-main .gold-script{margin:12px auto 16px;font-style:normal}
.home-main .gold-script .he-line{font-size:18px;color:#f0dcae;margin-top:6px}
.home-kicker{font:700 12px/1.4 Arial,sans-serif;color:#d1b273;letter-spacing:.25em}
.home-kicker .he-line{font-size:16px;letter-spacing:0;font-weight:500;margin-top:5px}
.home-hebrew-name{font:normal clamp(22px,4.5vw,31px)/1.4 Arial,sans-serif;color:#ead5a0;margin:12px 0 14px}
.home-family{margin:10px auto 18px}
.home-family .fr-line{font-size:14px}
.home-family .he-line{font-size:17px;color:#f5e6c6;margin-top:6px}
.home-family .sub-fr{font-size:13px;color:#e7dfd1;margin-top:11px}
.home-family .sub-he{font-size:15px;color:#d5c8ad;margin-top:4px}
.home-date-he{font-size:17px;color:#f3e3bc;margin:0 auto 15px}
.home-ceremony .fr-line{font-size:20px}
.home-ceremony .he-line{font-size:18px;margin-top:7px;color:#ead8b4}
.home-location{font-size:14px}
.home-location .he-line{font-size:17px;margin-top:7px;color:#ead8b4}
.home-button .button-text,.rsvp-btn .button-text{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center}
.gold-button .button-text .fr-line{font:700 13px/1.35 Arial,sans-serif;letter-spacing:.05em;text-transform:none}
.gold-button .button-text .he-line{font:600 15px/1.5 Arial,sans-serif;letter-spacing:0;text-transform:none}
.home-foot .he-line{font-size:14px;color:#d6c198}
.topbar .brand .he-line{font-size:12px;letter-spacing:0;font-weight:normal;color:#9e7e45;margin-top:2px}
.invite-kicker .he-line{font:500 15px/1.5 Arial,sans-serif;letter-spacing:0;margin-top:3px}
.family-row{margin-bottom:24px}
.family-row small{font-size:11px;letter-spacing:.03em;text-transform:none}
.family-row small .he-line{font-size:12px;color:#ac8b53;margin-top:4px}
.family-row .family-person{font-size:14px;color:#364455}
.family-row .family-person .he-line{font-size:15px;color:#927243;margin-top:4px}
.invite-parents .he-line{font-size:19px;margin-top:7px;color:#a88953}
.invite-intro .he-line{font-size:17px;color:#806d52;margin-top:5px}
.invite-name{margin-top:13px}
.hebrew-title{font-size:22px;color:#a78752}
.section-label .he-line{font-size:14px;letter-spacing:0;text-transform:none;font-weight:500;margin-top:4px}
.date-translation{font:16px/1.65 Arial,sans-serif;color:#9d824c;margin:-5px auto 22px}
.ceremony-title .he-line{font:18px/1.6 Arial,sans-serif;color:#926f39;margin-top:9px}
.place .he-line{font-size:20px;color:#9f824e;margin-top:4px}
.location .he-line{font-size:17px;margin-top:4px;color:#826d50}
.map-link{display:inline-flex;flex-direction:column;gap:2px;text-align:center;font-size:13px}
.map-link .he-line{font-size:14px}
.rsvp h2 .he-line{font:21px/1.55 Arial,sans-serif;color:#9c7b43;margin-top:2px}
.rsvp-sub{font-size:14px;line-height:1.65}
.rsvp-sub .he-line{font-size:15px}
.field label .he-line{font:500 14px/1.5 Arial,sans-serif;color:#886d42;margin-top:3px}
.field>label{font-size:13px;line-height:1.5;letter-spacing:0}
.choice{font-size:13px;gap:10px}
.choice .choice-copy{display:flex;flex-direction:column;gap:4px;text-align:center;align-items:center}
.choice .choice-copy .he-line{font-size:14px;color:#967442}
.field input[type=text],.field input[type=number],.field textarea{font-size:15px}
.form-bilingual-hint{font:12px/1.6 Arial,sans-serif;color:#7d775e;margin:-8px 0 14px;text-align:left}
.form-bilingual-hint .he-line{font-size:13px}
.count-summary{font-size:13px}
.count-summary .he-line{font-size:14px;margin-top:4px}
.rsvp-note .he-line{font-size:12px;margin-top:4px}
.back-link{display:inline-flex;flex-direction:column;gap:3px;align-items:center;font-size:13px}
.back-link .he-line{font-size:15px}
.footer-hint .he-line{font-size:14px;color:#aa8d58}
.music-toggle{max-width:min(345px,calc(100vw - 24px));padding:10px 15px}
.music-label{font:600 12px/1.4 Arial,sans-serif}
.music-label .he-line{font-size:13px;color:#9d7b45;margin-top:2px}
@media (max-width:650px){
 .topbar{gap:12px}.topbar .brand{font-size:9px}.topbar .brand .he-line{font-size:11px}
 .home-main{padding-left:18px;padding-right:18px}
 .home-title{font-family:var(--display-fr);font-size:clamp(49px,12.5vw,68px)}
 .home-family .fr-line{font-size:13px}.home-family .he-line{font-size:16px}
 .home-ceremony .fr-line{font-size:18px}.home-ceremony .he-line{font-size:17px}
 .home-date-he{font-size:15px}
 .invite-inner{padding-left:23px;padding-right:23px}
 .family-row{gap:9px}.family-row small{font-size:10px}.family-row small .he-line{font-size:11px}
 .family-row .family-person{font-size:12px}.family-row .family-person .he-line{font-size:13px}
 .rsvp{padding:22px 17px 27px}
}
@media(max-width:390px){.choice-row{grid-template-columns:1fr}.home-title{font-family:var(--display-fr);font-size:46px}.family-row .family-person{font-size:11px}}

/* Envoi de la réponse aux deux destinataires */
.delivery-panel[hidden]{display:none!important}
.delivery-panel{margin-top:18px;padding:19px 16px 20px;border:1px solid #c6a76c;border-radius:9px;background:#fdf9ed;text-align:center}
.delivery-title{font:700 15px/1.6 Arial,sans-serif;color:#26384b;margin:0 0 9px}
.delivery-title .he-line{font-weight:600;font-size:16px;color:#94713c}
.delivery-info{font:13px/1.7 Arial,sans-serif;color:#596474;margin:0 0 16px}
.delivery-info .he-line{font-size:13px;color:#856b44}
.delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.delivery-actions a{display:block;text-decoration:none;border:1px solid #b4935c;border-radius:7px;padding:12px 9px;background:linear-gradient(130deg,#f2e0ac,#fff9e9);font:700 13px/1.45 Arial,sans-serif;color:#1d3247}
.delivery-actions a .he-line{font-weight:500;font-size:13px;color:#77603e;margin-top:4px}
.delivery-actions a:hover{background:#f4d99d}
@media(max-width:450px){.delivery-actions{grid-template-columns:1fr}}

.authentic-nigun-link{display:block;text-align:center;color:#a37b32;text-decoration:underline;font:12px/1.5 Arial,sans-serif;padding:12px 12px 22px;max-width:450px;margin:0 auto}.authentic-nigun-link .he-line{display:block} .authentic-nigun-link:focus{outline:2px solid #caa25b;outline-offset:2px}

/* Lien vers l'enregistrement officiel Mipi Kel (la musique est hébergée sur Chabad.org). */
.music-toggle{text-decoration:none;text-align:left}.music-toggle .external-arrow{font-size:17px;color:#a37b32;margin-left:1px}.music-toggle:hover,.music-toggle:focus-visible{background:#ffefd0;border-color:#ad7d32}.authentic-nigun-link{padding-bottom:30px}

/* Lecteur musical intégré, version live provenant de YouTube (sans copie d'audio) */
.music-toggle{cursor:pointer;appearance:none;-webkit-appearance:none;}
.mipi-overlay[hidden]{display:none!important;}
.mipi-overlay{position:fixed;inset:0;z-index:10000;background:rgba(7,20,38,.89);display:flex;align-items:center;justify-content:center;padding:15px;}
.mipi-panel{position:relative;max-width:600px;width:100%;border-radius:16px;background:#fbf9f2;color:#172b46;border:1px solid #d2b575;padding:26px 22px 24px;box-shadow:0 18px 65px rgba(0,0,0,.4);text-align:center;}
.mipi-heading{font:normal 28px Georgia,serif; color:#233f62;letter-spacing:.015em;padding:4px 0;}
.mipi-sub{margin:6px 0 19px;font-size:13px;line-height:1.5;color:#637086;}
.mipi-close{position:absolute;right:10px;top:7px;border:0;background:transparent;color:#20364f;font-size:31px;cursor:pointer;padding:2px 10px;}
.mipi-frame{position:relative;width:100%;aspect-ratio:16/9;min-height:205px;overflow:hidden;border-radius:7px;background:#11263d;}
.mipi-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0;display:block;}
.mipi-help{font:13px/1.6 Arial,sans-serif;margin:17px 0 9px;}
.mipi-help [lang=he]{display:block;}
.mipi-fallback{display:inline-block;margin:3px auto;color:#594319;font:13px Arial,sans-serif;text-decoration:underline;}
.mipi-fallback span{margin-left:6px;}
@media(max-width:450px){.mipi-panel{padding:23px 12px 17px}.mipi-heading{font-size:24px}.mipi-frame{min-height:200px}}

/* Correctifs : musique officielle et réponses WhatsApp sans fenêtre automatique */
.music-link{display:flex;gap:9px;align-items:center;justify-content:center;white-space:normal;text-decoration:none;}
.music-link .music-symbol{font-size:21px;flex:none}
.music-link .music-label{text-align:left}
.delivery-panel{margin-top:22px}
.delivery-panel a{touch-action:manipulation}
.delivery-panel a:focus-visible,.fallback-actions button:focus-visible{outline:3px solid #1c6585;outline-offset:3px}
.delivery-fallback{font:12px/1.65 Arial,sans-serif;color:#596474;margin:16px 0 7px}
.fallback-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.fallback-actions a,.fallback-actions button{font:12px Arial,sans-serif;padding:9px 10px;color:#173956;background:#fff;border:1px solid #cfb77c;border-radius:7px;cursor:pointer;text-decoration:none}
.copy-notice{font:13px/1.6 Arial,sans-serif;color:#27634d;margin:9px auto 0}
.copy-text-fallback{width:100%;min-height:130px;direction:auto;margin:9px auto}
[hidden]{display:none!important}

/* Transmission automatique du RSVP : retour lisible dans les deux langues. */
.anti-spam{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.rsvp-feedback[hidden]{display:none!important}
.rsvp-feedback{border:1px solid #bda36f;border-radius:10px;padding:15px;margin:17px auto 0;line-height:1.6;font:14px Arial,sans-serif;color:#243950;background:#f8f4e8;text-align:center}
.rsvp-feedback.success{border-color:#8eae92;background:#f2faf2;color:#1c613e}
.rsvp-feedback.failure{border-color:#bf8e8e;background:#fcf4f3;color:#8b3030}
.rsvp-feedback .he-line{font-size:15px;margin-top:5px}
.privacy-note{margin:12px 5px 0;font:12px/1.6 Arial,sans-serif;color:#7a7261;text-align:center}
.privacy-note .he-line{font-size:13px;margin-top:2px}
.rsvp-btn[disabled]{opacity:.65;cursor:wait;transform:none;box-shadow:none}


.fr-display,.invite-name,.home-title,.cover-title,.cover-date-fr,.cover-subtitle,.cover-enter{
  font-family:var(--display-fr);
}
.hebrew,.he-line,.cover-title-he,.cover-date-he,.he-display{
  font-family:var(--display-he);
}
.topbar,.top-link,.brand,.field label,.choice-copy,.count-summary,.privacy-note,.form-error,.rsvp-feedback,.music-link,.home-location,.home-family,.home-foot,.invite-kicker,.section-label,.rsvp-sub,.footer-hint,.back-link,.map-link,.event-meta,.family-row,.place,.location{
  font-family:var(--ui);
}

/* New noble opening cover */
.cover-wrap{min-height:100vh;padding:28px 18px 40px;background:
  radial-gradient(circle at 20% 0%, rgba(255,247,228,.9), transparent 34%),
  radial-gradient(circle at 80% 100%, rgba(208,175,107,.18), transparent 24%),
  linear-gradient(145deg,#ebe3d4,#f6f0e6 48%,#e3dac8);
}
.cover-card{
  width:min(100%,980px);margin:0 auto;position:relative;overflow:hidden;
  background:linear-gradient(145deg,#10253d 0%,#0d2035 45%,#142f4a 100%);
  color:#f7efe0;box-shadow:0 28px 80px rgba(10,22,34,.24);border:1px solid rgba(207,175,107,.48);
  min-height:88vh;
}
.cover-card:before,.cover-card:after{
  content:'';position:absolute;inset:16px;border:1px solid rgba(224,196,137,.4);pointer-events:none;
}
.cover-card:after{inset:28px;border-color:rgba(224,196,137,.12)}
.cover-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:34px;
  align-items:center;min-height:88vh;padding:58px clamp(24px,5vw,60px);
}
.cover-side-text{display:flex;flex-direction:column;justify-content:center;gap:10px}
.cover-bs{margin:0 0 12px;color:#d8c28d;font-size:18px;text-align:left}
.cover-kicker{
  margin:0;color:#cfaf6b;font:600 12px/1.7 var(--ui);letter-spacing:.36em;text-transform:uppercase;
}
.cover-title{
  margin:0;font-size:clamp(48px,7vw,84px);font-weight:500;line-height:.9;letter-spacing:-.03em;color:#fff6e8;
}
.cover-title span{display:block;font-size:.87em}
.cover-title-he{
  margin:4px 0 0;font-size:clamp(32px,5vw,52px);line-height:1.15;color:#eadcbc;
}
.cover-subtitle{
  margin:14px 0 0;font-size:30px;font-style:italic;color:#dfc48b;line-height:1.25;
}
.cover-subtitle .he-line{display:block;font-size:24px;font-style:normal;margin-top:10px;color:#efe4c7}
.cover-rule{
  width:150px;max-width:100%;height:1px;background:linear-gradient(90deg,transparent,#d5b579,transparent);
  margin:18px 0 12px;
}
.cover-date-fr{
  font-size:38px;line-height:1.12;color:#fff7ea;margin:2px 0 0;
}
.cover-date-he{
  margin:8px 0 0;font-size:26px;line-height:1.35;color:#eadcc0;
}
.cover-enter{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;align-self:flex-start;
  margin-top:20px;padding:17px 32px;border-radius:999px;text-decoration:none;
  border:1px solid #f2dfb2;background:linear-gradient(135deg,#bf9755,#f6e5bc 50%,#d4b676);
  color:#182637;font-size:23px;font-weight:600;box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.cover-enter small{display:block;font:600 13px/1.4 var(--display-he)}
.cover-enter:hover{transform:translateY(-2px)}
.cover-photo-side{display:flex;align-items:center;justify-content:center}
.cover-photo-shell{
  width:min(100%,420px);aspect-ratio:4/5;position:relative;
  border-radius:220px 220px 30px 30px / 260px 260px 30px 30px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    radial-gradient(circle at 50% 28%, rgba(224,193,132,.18), transparent 42%),
    linear-gradient(160deg,#18324e,#0d1f33 70%);
  border:1px solid rgba(224,194,129,.5);
  box-shadow:0 18px 40px rgba(0,0,0,.25), inset 0 0 0 10px rgba(230,203,149,.07);
  overflow:hidden;
}
.cover-photo-shell:before{
  content:'';position:absolute;inset:18px;border:1px solid rgba(224,194,129,.28);
  border-radius:200px 200px 22px 22px / 240px 240px 22px 22px;pointer-events:none;
}
.cover-photo-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 30%, rgba(223,193,126,.24), transparent 28%),
    radial-gradient(circle at 50% 120%, rgba(255,255,255,.11), transparent 45%);
}
.cover-photo-placeholder{
  position:absolute;inset:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:180px 180px 18px 18px / 220px 220px 18px 18px;
  border:1px dashed rgba(227,206,164,.42);text-align:center;padding:30px;color:#f0e1c0;
}
.cover-photo-icon{font-size:54px;line-height:1;margin-bottom:16px;color:#dcb879}
.cover-photo-placeholder strong{font:600 26px/1.2 var(--display-fr);letter-spacing:.02em}
.cover-photo-placeholder .he-line{font-size:21px;margin-top:8px;color:#f6eedc}
.cover-photo-placeholder .mini-note{font:13px/1.6 var(--ui);margin-top:16px;color:#cfbf9f;max-width:250px}
.cover-overlay-pattern{
  position:absolute;inset:0;pointer-events:none;opacity:.35;
  background:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.18) 1px, transparent 1.5px) 0 0/90px 90px,
    radial-gradient(circle at 85% 70%, rgba(255,255,255,.12) 1px, transparent 1.5px) 0 0/120px 120px;
}
.cover-bottom-note{
  position:absolute;left:0;right:0;bottom:24px;text-align:center;padding:0 24px;
  color:#cfbf9f;font:500 14px/1.8 var(--ui);
}
.cover-bottom-note .he-line{font-size:15px}
@media (max-width:860px){
  .cover-inner{grid-template-columns:1fr;gap:30px;padding:46px 22px 70px}
  .cover-side-text{text-align:center;align-items:center}
  .cover-bs{text-align:center}
  .cover-rule{margin-left:auto;margin-right:auto}
  .cover-enter{align-self:center}
  .cover-photo-shell{max-width:420px}
}
@media (max-width:480px){
  .cover-wrap{padding:0;background:#f3ece1}
  .cover-card{min-height:100vh;border:none;box-shadow:none}
  .cover-card:before,.cover-card:after{inset:10px}
  .cover-inner{min-height:100vh;padding:30px 18px 82px}
  .cover-title{font-size:48px}
  .cover-title-he{font-size:31px}
  .cover-subtitle{font-size:24px}
  .cover-date-fr{font-size:28px}
  .cover-date-he{font-size:22px}
  .cover-photo-shell{width:100%;max-width:360px}
}

/* Three-page presentation refinements */
:root{--display-fr:'Cormorant Garamond','EB Garamond',Georgia,serif;--display-he:'Noto Serif Hebrew',serif}
.cover-wrap{padding:22px 16px}
.cover-card{min-height:calc(100vh - 44px)}
.cover-inner{min-height:calc(100vh - 44px);grid-template-columns:1.05fr .95fr;gap:36px;padding:58px clamp(30px,5.8vw,62px) 82px}
.cover-mini-ornament{font:500 12px/1.4 var(--ui);letter-spacing:.33em;color:#d6b577;margin:0 0 18px}
.cover-bs{margin:0 0 22px}
.cover-title{font-size:clamp(46px,5.8vw,73px);line-height:1.01;letter-spacing:-.023em;margin:0;white-space:normal}
.cover-title span{font-size:.85em;white-space:nowrap}
.cover-title-he{font-size:clamp(31px,3.7vw,43px);margin:16px 0 0;line-height:1.38}
.cover-intro{font:italic 28px/1.24 var(--display-fr);color:#dfc999;margin:4px 0 0}
.cover-intro-he{font:400 20px/1.5 var(--display-he);color:#f2e5c7;margin:0}
.cover-date-fr{font-size:clamp(27px,3.5vw,36px);margin:0;white-space:normal}
.cover-date-he{font-size:clamp(20px,2.6vw,26px);margin:0;line-height:1.5}
.cover-hebrew-calendar{font:400 20px/1.4 var(--display-he);color:#dbc18a;margin:0 0 4px}
.cover-rule{margin:15px 0 18px}
.cover-enter{font-size:23px;gap:20px;padding:12px 23px;min-height:66px;letter-spacing:0}
.cover-enter>span:first-child{display:flex;flex-direction:column;gap:0}
.cover-enter small{font-size:17px;font-weight:500;letter-spacing:0}
.cover-arrow{font-size:25px;font-family:var(--ui);font-weight:400}
.cover-photo-shell{width:min(100%,380px);aspect-ratio:4/5.25;border-radius:48% 48% 14px 14px / 34% 34% 14px 14px;
 background:radial-gradient(circle at 53% 35%,#385069,#122a45 53%,#0b1c30)}
.cover-photo-shell:before{border-radius:48% 48% 14px 14px / 34% 34% 14px 14px}
.cover-photo-real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;mask-image:linear-gradient(to bottom,#000 72%,transparent 100%)}
.cover-photo-placeholder{inset:32px;border:0;gap:10px}
.cover-photo-icon{font-size:65px;margin:0;color:#d7b77b}
.cover-photo-placeholder strong{font:500 28px/1.15 var(--display-fr)}
.cover-photo-placeholder .he-line{font:400 22px/1.5 var(--display-he)}
.cover-photo-note{font:12px/1.5 var(--ui);color:#c3b292;margin-top:9px}
.cover-bottom-note{bottom:25px}
.cover-bottom-note>span:first-child{display:block;font:italic 22px/1.2 var(--display-fr)}
.cover-bottom-note .he-line{font:400 17px/1.5 var(--display-he)}
.invite-name{font-family:var(--display-fr);font-size:clamp(50px,9vw,82px)}
.invite-kicker,.section-label{letter-spacing:.15em}
.hebrew-title{font:400 30px/1.45 var(--display-he)}
.invite-parents{font-family:var(--display-fr);font-size:29px}
.invite-parents .he-line{font-family:var(--display-he);font-size:22px}
.invite-intro{font-family:var(--display-fr);font-size:25px}
.invite-intro .he-line{font-family:var(--display-he);font-size:18px}
.place{font-family:var(--display-fr);font-size:32px}
.place .he-line{font-family:var(--display-he);font-size:22px}
.rsvp-callout{margin:28px auto 32px;max-width:440px;padding:22px 18px;background:rgba(223,200,149,.13);border:1px solid rgba(192,155,86,.34);border-radius:12px}
.rsvp-callout-title{font:italic 24px/1.3 var(--display-fr);color:#604c2c;margin:0 0 18px}
.rsvp-callout-title .he-line{font:400 18px/1.55 var(--display-he);color:#856732;margin-top:8px}
.rsvp-to-page{width:100%;max-width:350px;padding:14px 24px}
.rsvp-page .invite-inner{max-width:none;padding-bottom:42px}
.rsvp-page-heading{font:500 clamp(46px,7vw,67px)/1 var(--display-fr);color:#243b50;margin:15px auto 6px}
.rsvp-page-heading-he{font:400 32px/1.3 var(--display-he);color:#a1834c;margin:0}
.rsvp-page-event{font:500 26px/1.25 var(--display-fr);color:#243b50;margin:0}
.rsvp-page-event-he{font:400 19px/1.5 var(--display-he);color:#8a703f;margin:5px 0}
.rsvp-page-venue{font:400 20px/1.4 var(--display-fr);color:#3f4d54;margin:15px 0}
.rsvp-page-venue .he-line{font:400 16px/1.6 var(--display-he)}
.rsvp-page .rsvp{margin:30px auto 16px;max-width:580px}
.rsvp-page .rsvp h2{display:none}
@media (max-width:860px){.cover-inner{grid-template-columns:1fr;padding:50px 30px 88px;gap:32px}.cover-title span{white-space:normal}.cover-rule{margin-left:auto;margin-right:auto}.cover-enter{align-self:center}.cover-photo-shell{max-width:360px}.cover-date-fr{white-space:normal}}
@media(max-width:480px){.cover-wrap{padding:0}.cover-card,.cover-inner{min-height:100vh}.cover-inner{padding:38px 19px 108px}.cover-title{font-size:49px}.cover-title-he{font-size:31px}.cover-intro{font-size:25px}.cover-date-fr{font-size:28px}.cover-date-he{font-size:21px}.cover-photo-shell{max-width:300px}.cover-photo-placeholder strong{font-size:23px}.cover-photo-note{font-size:11px}.cover-bottom-note{bottom:15px}}

[data-view][hidden]{display:none!important}
/* Portrait final validé : cadrage vertical et médaillons harmonisés */
.cover-photo-shell{overflow:hidden;isolation:isolate;}
.cover-photo-shell.has-photo{box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 0 10px rgba(230,203,149,.06);}
.cover-photo-real{object-fit:cover;object-position:50% 12%;width:calc(100% - 26px);height:calc(100% - 10px);inset:10px 13px 0 13px;filter:none;mask-image:linear-gradient(to bottom,#000 76%,rgba(0,0,0,.90) 84%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 76%,rgba(0,0,0,.90) 84%,transparent 100%)}
.portrait-medallion img{object-position:center center;border:4px solid #d1b573;outline:1px solid #fff8e6;outline-offset:-8px;}
@media(max-width:480px){.cover-photo-real{object-position:center 8%;}}


/* v2 refinement: integrated hero portrait and no portrait on faire-part page */
.cover-inner{grid-template-columns:1fr .92fr;gap:26px;padding-right:48px}
.cover-side-text{position:relative;z-index:3;padding-right:8px}
.cover-photo-side{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:100%}
.cover-photo-shell{
  width:min(100%,455px);
  aspect-ratio:4/5.15;
  background:none;
  border:none;
  box-shadow:none;
  overflow:visible;
  border-radius:0;
  isolation:isolate;
}
.cover-photo-shell:before{display:none}
.cover-photo-shell:after{
  content:'';position:absolute;inset:8% 3% 6% 3%;z-index:0;
  background:
    radial-gradient(ellipse at 50% 28%, rgba(242,218,163,.72) 0%, rgba(230,196,122,.32) 20%, rgba(18,37,61,.02) 60%, transparent 76%),
    radial-gradient(ellipse at 50% 90%, rgba(18,37,61,.88) 0%, rgba(18,37,61,.25) 38%, transparent 72%);
  filter:blur(12px);
}
.cover-photo-bg{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse at 52% 26%, rgba(227,193,126,.58), rgba(223,182,96,.16) 34%, rgba(18,37,61,0) 64%),
    radial-gradient(ellipse at 50% 98%, rgba(6,16,29,.72), rgba(6,16,29,0) 62%);
  opacity:1;
}
.cover-photo-real{
  position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);
  width:118%;height:100%;object-fit:cover;object-position:center 12%;
  border-radius:0;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.34));
  -webkit-mask-image:radial-gradient(ellipse at 50% 42%, #000 56%, #000 70%, rgba(0,0,0,.8) 76%, transparent 98%), linear-gradient(to bottom, #000 72%, rgba(0,0,0,.96) 82%, transparent 100%);
  mask-image:radial-gradient(ellipse at 50% 42%, #000 56%, #000 70%, rgba(0,0,0,.8) 76%, transparent 98%), linear-gradient(to bottom, #000 72%, rgba(0,0,0,.96) 82%, transparent 100%);
  -webkit-mask-composite:source-in;
}
.cover-card{
  background:
    radial-gradient(circle at 78% 18%, rgba(212,174,95,.12), transparent 18%),
    linear-gradient(145deg,#0f2238 0%,#0d2035 42%,#152c46 100%);
}
.cover-overlay-pattern{opacity:.2}
.cover-enter{margin-top:26px}
.cover-bottom-note{bottom:22px}
.cover-mini-ornament{margin-bottom:12px}
.portrait-medallion-invite{display:none!important}

@media (max-width:860px){
  .cover-inner{grid-template-columns:1fr;gap:16px;padding-right:24px;padding-left:24px}
  .cover-photo-side{order:-1;align-items:flex-end}
  .cover-photo-shell{width:min(100%,360px);aspect-ratio:4/4.9;margin-top:8px}
  .cover-photo-real{width:113%;object-position:center 10%}
  .cover-side-text{padding-right:0}
}
@media (max-width:480px){
  .cover-inner{padding:26px 18px 86px;gap:8px}
  .cover-photo-shell{width:min(100%,315px);aspect-ratio:4/4.85}
  .cover-title{font-size:42px}
  .cover-title-he{font-size:28px}
  .cover-intro{font-size:22px}
  .cover-date-fr{font-size:25px}
}


/* Final refined responsive version, no visible sound banner */
html,body {overflow-x:clip; width:100%;}
body {min-width:0;}
img,svg {max-width:100%;}
:where(.cover-card,.invite-card,.invite-inner,.rsvp,.topbar,.family-row,.field,.choice,.gold-button){min-width:0;}
.he-line {unicode-bidi:isolate;overflow-wrap:break-word;}

/* Portrait: seamless integration on desktop */
.cover-inner {align-items:center;}
.cover-photo-side {min-width:0;}
.cover-photo-shell {max-width:100%;}
.portrait-medallion {display:flex;justify-content:center;margin:16px auto 10px;}
.portrait-medallion img {width:110px;height:110px;object-fit:cover;object-position:center center;border-radius:50%;border:4px solid #d0b271;box-shadow:0 10px 24px #10253d25;}
.portrait-medallion-rsvp img {width:104px;height:104px;}
.portrait-medallion-invite {display:none!important;}
.rsvp-page .invite-header {padding-bottom:7px;}

/* Keep navigation and CTA large enough for touch. */
.cover-enter,.gold-button,.top-link,.back-link,.map-link {touch-action:manipulation;}
.cover-enter,.gold-button {transition:transform .2s,box-shadow .2s;}
.rsvp-page .rsvp-btn {width:100%;max-width:100%;white-space:normal;}
.field input[type=text],.field input[type=number],.field textarea {min-height:47px;}
.choice {min-height:63px;}

@media (max-width: 950px) {
  .site-wrap {padding:16px 12px 32px;}
  .cover-wrap {padding:12px;}
  .cover-card {min-height:0;}
  .cover-inner {min-height:min(800px,100svh);gap:18px;padding:35px 30px 82px;}
  .cover-title {font-size:clamp(42px,5.5vw,64px);}
  .cover-title span {white-space:normal;}
  .cover-photo-shell {width:min(100%,380px);}
}

/* Phone and narrow tablets: image and typography reflow into a single clean column. */
@media (max-width: 680px) {
  body {font-size:15px;}
  .cover-wrap {padding:0;background:#10253d;}
  .cover-card {width:100%;min-height:100svh;border:none;box-shadow:none;}
  .cover-card:before {inset:8px;border-color:rgba(216,183,112,.42);}
  .cover-card:after {inset:13px;}
  .cover-inner {
    display:flex;flex-direction:column;align-items:center;
    width:100%;min-height:0;padding:14px 19px 18px;gap:0;
  }
  .cover-photo-side {
    order:-1;align-self:stretch;display:flex;align-items:center;justify-content:center;
    width:100%;height:clamp(192px,33svh,325px);min-height:0;margin:0 0 -4px;overflow:hidden;
  }
  .cover-photo-shell {width:min(94%,365px);height:100%;aspect-ratio:auto;margin:0;flex:none;overflow:hidden;}
  .cover-photo-shell:after {inset:0 7%;filter:blur(18px);}
  .cover-photo-real {
    width:110%;height:112%;left:50%;bottom:-8px;inset:auto;
    transform:translateX(-50%);object-fit:cover;object-position:center 17%;
    -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 66%, rgba(0,0,0,.8) 78%, transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 66%,rgba(0,0,0,.8) 78%,transparent 100%);
    -webkit-mask-composite:source-over;
  }
  .cover-side-text {width:100%;max-width:500px;gap:0;text-align:center;align-items:center;padding:0;}
  .cover-bs {font-size:15px;margin:0 0 3px;}
  .cover-mini-ornament {font-size:10px;letter-spacing:.23em;margin:0 0 6px;}
  .cover-title {font-size:clamp(36px,9.2vw,54px);line-height:1.02;margin:0;letter-spacing:-.025em;}
  .cover-title span {white-space:normal;overflow-wrap:normal;font-size:.91em;}
  .cover-title-he {font-size:clamp(23px,6.1vw,32px);line-height:1.35;margin:7px 0 0;}
  .cover-rule {margin:10px auto 11px;width:115px;}
  .cover-intro {font-size:clamp(20px,5.2vw,25px);line-height:1.18;margin:0;}
  .cover-intro-he {font-size:clamp(15px,4vw,19px);line-height:1.4;margin:1px 0 7px;}
  .cover-date-fr {font-size:clamp(24px,6.2vw,32px);line-height:1.12;margin:0;}
  .cover-date-he {font-size:clamp(18px,4.8vw,23px);line-height:1.35;margin:2px 0;}
  .cover-hebrew-calendar {font-size:clamp(16px,4vw,20px);margin:0;}
  .cover-enter {
    width:min(100%,345px);min-height:57px;margin:16px auto 10px;align-self:center;
    padding:9px 17px;gap:10px;justify-content:center;border-radius:34px;
  }
  .cover-enter>span:first-child {font-size:clamp(16px,4.8vw,20px);line-height:1.1;}
  .cover-enter small {font-size:clamp(13px,3.8vw,16px);line-height:1.3;}
  .cover-arrow {font-size:20px;flex:none;}
  .cover-bottom-note {position:relative;bottom:auto;padding:0 20px 20px;text-align:center;}
  .cover-bottom-note>span:first-child {font-size:18px;}
  .cover-bottom-note .he-line {font-size:14px;}

  .site-wrap {padding:0 0 25px;background:#f1ece4;}
  .topbar {width:100%;display:flex;gap:12px;align-items:center;padding:14px 16px;
           margin:0;min-height:72px;background:#fbf7ee;letter-spacing:.06em;}
  .brand {min-width:0;gap:7px;letter-spacing:.07em;font-size:10px;line-height:1.25;}
  .brand-icon {width:29px;height:29px;font-size:15px;flex:none;}
  .brand .he-line {font-size:13px;letter-spacing:0;}
  .top-link {flex:none;max-width:42%;font-size:11px;line-height:1.35;letter-spacing:0;text-align:right;padding:3px 0;}
  .top-link .he-line {font-size:12px;}
  .card {max-width:none;border:0;box-shadow:none;}
  .invite-card {padding:7px;background:linear-gradient(150deg,#fffcf6,#f8f0e4);}
  .invite-inner {padding:19px 14px 31px;border-color:#cfb77b;}
  .invite-inner:before {inset:4px;border-color:#eadbbd;}
  .invite-header {padding:0 0 7px;}
  .invite-kicker,.section-label {letter-spacing:.12em;font-size:10px;line-height:1.5;}
  .family-row {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px auto 19px;}
  .family-row>div {width:auto;min-width:0;}
  .family-row small {font-size:10px;letter-spacing:.02em;text-transform:none;line-height:1.4;}
  .family-row .family-person {font-size:12px;}
  .family-row .family-person .he-line {font-size:13px;}
  .invite-parents {font-size:clamp(23px,6.5vw,29px);line-height:1.2;}
  .invite-parents .he-line {font-size:clamp(17px,4.5vw,21px);line-height:1.35;}
  .invite-intro {font-size:clamp(21px,5.6vw,25px);line-height:1.4;}
  .invite-intro .he-line {font-size:17px;line-height:1.6;}
  .invite-name {font-size:clamp(41px,12.5vw,61px);line-height:1;}
  .hebrew-title {font-size:clamp(23px,6vw,29px);}
  .ornament {margin:16px auto;}
  .event-block {gap:12px;margin:18px auto;}
  .event-date {font-size:clamp(52px,15vw,68px);}
  .event-meta {padding-left:12px;}
  .event-meta strong {font-size:clamp(18px,5.5vw,22px);}
  .date-translation {font-size:17px;line-height:1.55;}
  .ceremony-title {font-size:clamp(19px,5.4vw,22px);line-height:1.45;}
  .place {font-size:clamp(27px,7.4vw,33px);}
  .place .he-line {font-size:19px;}
  .location {font-size:14px;line-height:1.6;}
  .map-link {font-size:13px;padding:11px 8px;}
  .rsvp-callout {margin:26px auto 20px;padding:18px 12px;max-width:100%;}
  .rsvp-callout-title {font-size:23px;line-height:1.2;}
  .rsvp-to-page,.gold-button {max-width:100%;min-height:56px;padding:13px 14px;}
  .rsvp-to-page {width:100%;}
  .gold-button .button-text,.rsvp-btn .button-text {font-size:13px;letter-spacing:.04em;line-height:1.25;}
  .gold-button .he-line {letter-spacing:0;font-size:15px;}
  .footer-hint,.back-link {line-height:1.5;font-size:13px;}
  .back-link {display:block;padding:12px 5px;}

  .rsvp-page-heading {font-size:clamp(42px,12vw,58px);}
  .rsvp-page-heading-he {font-size:clamp(24px,7vw,31px);}
  .rsvp-page-event {font-size:23px;}
  .rsvp-page-event-he {font-size:17px;line-height:1.55;}
  .rsvp-page-venue {font-size:19px;}
  .rsvp-page .rsvp {margin:20px auto 13px;}
  .portrait-medallion-rsvp img {width:88px;height:88px;}

  .rsvp {width:100%;padding:18px 12px 21px;}
  .rsvp:before {inset:4px;}
  .rsvp-sub {margin-bottom:18px;line-height:1.4;}
  .field {margin-bottom:16px;}
  .field label {font-size:13px;letter-spacing:0;line-height:1.45;}
  .field label .he-line {font-size:15px;}
  .field input[type=text],.field input[type=number],.field textarea {
     font-size:16px;line-height:1.35; padding:12px; min-height:49px; border-radius:5px;
  }
  .field textarea {min-height:92px;}
  .choice-row {grid-template-columns:1fr;gap:9px;}
  .choice {width:100%;min-height:61px;justify-content:flex-start;padding:10px 14px;
           border-radius:6px;font-size:14px;}
  .choice input {width:18px;height:18px;flex:none;}
  .choice-copy {font-size:14px;line-height:1.35;}
  .choice-copy .he-line {font-size:16px;}
  .form-row {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
  .count-summary {font-size:13px;line-height:1.5;}
  .rsvp-btn {width:100%;}
  .rsvp-feedback {font-size:14px;line-height:1.65;}
  .privacy-note {font-size:12px;}
}
@media (max-width: 365px) {
  .cover-inner {padding:12px 16px 14px;}
  .cover-photo-side {height:clamp(175px,30svh,240px);}
  .cover-title {font-size:35px;}
  .cover-title-he {font-size:23px;}
  .cover-date-fr {font-size:24px;}
  .cover-date-he {font-size:18px;}
  .invite-card {padding:5px;}
  .invite-inner {padding:18px 11px 27px;}
  .family-row {gap:8px;}
  .family-row .family-person {font-size:11px;}
  .family-row .family-person .he-line {font-size:12px;}
  .topbar {padding:12px;}
  .rsvp {padding:15px 10px;}
}
@media (prefers-reduced-motion:reduce) {
  .gold-button,.cover-enter {transition:none;}
  html {scroll-behavior:auto;}
}


/* SEO release — bilingual cover presentation, designed to fit the portrait card */
.cover-presentation {margin:8px 0 10px;max-width:510px;display:flex;flex-direction:column;gap:7px;}
.cover-presentation .cover-intro {font:400 clamp(19px,2.3vw,25px)/1.22 var(--display-fr);color:#f2ddaf;margin:0;letter-spacing:.002em;}
.cover-presentation .cover-intro-he {font:400 clamp(16px,1.7vw,20px)/1.45 var(--display-he);color:#f3e8d4;margin:0;}
@media(max-width:950px) {
 .cover-presentation {max-width:100%;margin:5px 0 8px;}
 .cover-presentation .cover-intro {font-size:clamp(18px,2.6vw,22px);}
 .cover-presentation .cover-intro-he {font-size:clamp(15px,2.2vw,18px);}
}
@media(max-width:680px) {
 .cover-presentation {max-width:480px;padding:0 5px;margin:6px auto 10px;gap:7px;}
 .cover-presentation .cover-intro {font-size:clamp(17px,4.7vw,21px);line-height:1.18;}
 .cover-presentation .cover-intro-he {font-size:clamp(15px,4.05vw,18px);line-height:1.37;}
 .cover-rule {margin:9px auto 10px;}
 .cover-date-fr {font-size:clamp(22px,5.8vw,29px);}
 .cover-enter {margin-top:12px;}
}
@media(max-width:365px){
 .cover-presentation .cover-intro{font-size:16px;line-height:1.17;}
 .cover-presentation .cover-intro-he{font-size:14px;line-height:1.32;}
 .cover-photo-side{height:clamp(168px,27svh,235px);}
}

/* Keep the portrait centered on phones: the earlier inset shorthand reset left and bottom. */
@media (max-width:680px) {
  .cover-photo-real {inset:auto;left:50%;right:auto;top:auto;bottom:-8px;transform:translateX(-50%);object-position:center 17%;}
}

/* Programme de la matinée : 09h00 et 10h30, français + hébreu */
.morning-schedule{width:min(100%,540px);margin:14px auto 22px;padding:14px 22px 11px;border:1px solid rgba(178,142,76,.42);background:linear-gradient(145deg,rgba(253,249,240,.82),rgba(242,234,215,.58));border-radius:11px}
.schedule-entry{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:19px;min-width:0;text-align:left;padding:12px 0}
.schedule-hour{font:500 32px/1.05 var(--display-fr);color:#9c7840;white-space:nowrap;text-align:center;letter-spacing:-.02em}
.schedule-he-time{display:block;font:400 15px/1.6 var(--display-he);color:#8b774f}
.schedule-description{min-width:0}
.schedule-description p{margin:0}
.schedule-fr{font:500 23px/1.2 var(--display-fr);color:#203a51}
.schedule-he{font:400 17px/1.5 var(--display-he);color:#84693d;margin-top:7px!important;text-align:left;direction:rtl;unicode-bidi:isolate}
.schedule-divider{height:1px;position:relative;background:linear-gradient(90deg,transparent,rgba(178,142,76,.6),transparent);margin:8px 0}
.schedule-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#f8f3e9;color:#b19459;padding:0 10px;font-size:13px}
.rsvp-program{max-width:460px;margin:14px auto 6px;padding:12px 15px;border-top:1px solid rgba(192,159,96,.5);border-bottom:1px solid rgba(192,159,96,.5)}
.rsvp-program p{font:500 19px/1.4 var(--display-fr);color:#263e55;margin:6px 0}
.rsvp-program .he-line{font:400 15px/1.6 var(--display-he);color:#866a40;margin:2px 0 4px}
@media(max-width:600px){
 .morning-schedule{width:100%;padding:11px 12px 9px;margin:10px auto 19px}
 .schedule-entry{grid-template-columns:75px minmax(0,1fr);gap:12px;padding:11px 0}
 .schedule-hour{font-size:27px}
 .schedule-he-time{font-size:12px}
 .schedule-fr{font-size:clamp(19px,5.7vw,23px);line-height:1.25}
 .schedule-he{font-size:clamp(14px,4.1vw,17px);line-height:1.5}
 .rsvp-program{padding:11px 9px;margin-top:11px}
 .rsvp-program p{font-size:18px}
 .rsvp-program .he-line{font-size:14px}
}
@media(max-width:340px){
 .morning-schedule{padding:8px 8px}
 .schedule-entry{grid-template-columns:65px minmax(0,1fr);gap:7px}
 .schedule-hour{font-size:24px}
 .schedule-fr{font-size:18px}
 .schedule-he{font-size:14px}
}
