:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-soft:#555;--color-border:#d9d9d9;--color-accent:#1f2937;--color-accent-text:#fff;--color-error:#b42318;--color-error-bg:#fef3f2;--color-success:#067647;--color-success-bg:#ecfdf3;--color-notice-bg:#fffaeb;--color-notice-border:#f9dbaf;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--radius:8px;--space:16px;--max-width:680px;--touch:44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}main.container{max-width:var(--max-width);padding:0 var(--space) 64px;margin:0 auto}h1,h2,h3{overflow-wrap:break-word;line-height:1.25}h2{margin:0 0 12px;font-size:1.35rem}p{margin:0 0 12px}a{color:inherit}img,iframe{max-width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px var(--space);margin:20px 0}.muted{color:var(--color-text-soft);font-size:.95rem}button,.btn{font-family:inherit}.btn{width:100%;min-height:var(--touch);border-radius:var(--radius);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-text);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:1.05rem;font-weight:600;text-decoration:none;display:flex}.btn.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.small{width:auto;min-height:var(--touch);padding:8px 14px;font-size:.95rem}.field{margin-bottom:14px}.field label{margin-bottom:6px;font-weight:600;display:block}.field .hint{color:var(--color-text-soft);margin-top:4px;font-size:.9rem;font-weight:400}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],select{width:100%;min-height:var(--touch);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-family:inherit;font-size:16px}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:1px;outline:3px solid #94a3b8}input[dir=rtl]{text-align:right}.field.error input{border-color:var(--color-error)}.error-text{color:var(--color-error);margin-top:4px;font-size:.9rem}.notice{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:var(--radius);margin:12px 0;padding:12px 14px;font-size:.98rem}.alert-error{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);border-radius:var(--radius);margin:12px 0;padding:12px 14px}.alert-success{background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius);margin:12px 0;padding:16px}.preview-banner{color:#fef08a;padding:10px var(--space);text-align:center;background:#111827;font-size:.9rem}details{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);margin-bottom:10px}details summary{cursor:pointer;min-height:var(--touch);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-weight:600;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"+";color:var(--color-text-soft);font-size:1.2rem}details[open] summary:after{content:"–"}details .answer{padding:0 14px 14px}.video-frame{aspect-ratio:16/9;border-radius:var(--radius);background:#e5e7eb;width:100%;position:relative;overflow:hidden}.video-frame iframe,.video-frame button.video-poster{border:0;width:100%;height:100%;position:absolute;inset:0}button.video-poster{cursor:pointer;color:var(--color-text);background:#e5e7eb;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:1rem;display:flex}button.video-poster .play{background:var(--color-accent);width:64px;height:64px;color:var(--color-accent-text);border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;display:flex}.bsd{text-align:right;padding:8px var(--space) 0;max-width:var(--max-width);margin:0 auto;font-size:.95rem}.logo-placeholder{border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:12px;padding:10px 16px;font-size:.85rem;display:inline-flex}.table-wrap{overflow-x:auto}table.admin{border-collapse:collapse;width:100%;font-size:.95rem}table.admin th,table.admin td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 6px}tr.excluded td{opacity:.45;text-decoration:line-through}tr.duplicate td.dup-flag{color:var(--color-error);font-weight:600}.print-page{color:#000;background:#fff;max-width:720px;margin:0 auto;padding:24px}.print-page ol.reading-list{margin:24px 0;padding:0;list-style:none}.print-page ol.reading-list li{break-inside:avoid;page-break-inside:avoid;border-bottom:1px dotted #ccc;padding:4px 0;font-size:18px;line-height:1.9}@media print{@page{size:A4;margin:20mm 18mm}body{background:#fff}.no-print{display:none!important}.print-page{max-width:none;padding:0}.print-page ol.reading-list li{break-inside:avoid;page-break-inside:avoid}}@media (min-width:700px){body{font-size:17px}.btn:not(.small){width:auto;min-width:280px}.btn.full{width:100%}}.pub{--p-navy:#1b2a4a;--p-navy-deep:#14203a;--p-ivory:#f8f4ea;--p-surface:#fffdf8;--p-border:#e6ddc8;--p-text:#26324d;--p-soft:#5d6a82;--p-gold:#b3903f;--p-gold-strong:#96762e;--p-gold-soft:#dcc998;--p-green:#1c7a4d;--p-green-bg:#ecf7f0;--p-error:#b3261e;--p-error-bg:#fdf2f1;--p-serif:Georgia, "Palatino Linotype", "Book Antiqua", "Times New Roman", serif;background:var(--p-ivory);color:var(--p-text);min-height:100vh}.pub .preview-banner{background:var(--p-navy-deep);color:#f2df9b;border-bottom:2px solid var(--p-gold)}.pub .pub-hero{background:linear-gradient(175deg, var(--p-navy) 0%, var(--p-navy-deep) 100%);color:#f4efe2;border-bottom:3px solid var(--p-gold);padding:0 16px 22px;position:relative;overflow:hidden}.pub .pub-hero .pub-rav{width:auto;height:100%;opacity:var(--rav-opacity,.16);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;position:absolute;top:0}.pub .pub-hero .pub-rav-left{left:-2%}.pub .pub-hero .pub-rav-right{right:-2%}.pub .pub-hero .bsd,.pub .pub-hero-inner{z-index:1;position:relative}.pub .pub-hero-inner:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 40%,#14203a8c 0%,#14203a00 70%);position:absolute;inset:-30px -60px}.pub .pub-hero .bsd{color:var(--p-gold-soft);max-width:var(--max-width);margin:0 auto;padding:10px 0 0}.pub .pub-hero-inner{max-width:var(--max-width);text-align:center;margin:0 auto}.pub .pub-logo{width:min(190px,55vw);height:auto;margin:4px auto 0;display:block}@media (max-width:699px){.pub .pub-logo{width:min(168px,48vw)}.pub .pub-hero .pub-rav{opacity:var(--rav-opacity-mobile,.12);height:54%;top:6px}.pub .pub-hero .pub-rav-left{left:-19%}.pub .pub-hero .pub-rav-right{right:-8%}}.pub .pub-hero h1{font-family:var(--p-serif);letter-spacing:.02em;color:#faf6ea;margin:4px 0 2px;font-size:clamp(2rem,8vw,2.7rem);font-weight:600}.pub .pub-hero .pub-subtitle{font-family:var(--p-serif);color:var(--p-gold-soft);margin:0 0 10px;font-size:1.08rem;font-style:italic}.pub .pub-hero .pub-mentions{color:#c4cadd;margin:0 0 2px;font-size:.94rem}.pub .pub-hero .pub-mentions strong{color:#e9e4d2;font-weight:600}.pub .pub-hero-rule{background:var(--p-gold);border:0;width:64px;height:2px;margin:10px auto}.pub .pub-hero .notice{color:#f2edda;background:#ffffff12;border:1px solid #dcc99873;border-radius:10px;margin:10px 0;padding:10px 14px}.pub .pub-hero a.btn{background:var(--p-gold);border-color:var(--p-gold);color:#1c2237;border-radius:10px;width:auto;padding:12px 26px;font-weight:700;display:inline-flex;box-shadow:0 2px 10px #00000040}.pub .pub-hero a.btn:hover{background:#c09c49}.pub main.container{padding-top:4px}.pub .card{background:var(--p-surface);border:1px solid var(--p-border);border-radius:12px;padding:22px 18px;box-shadow:0 1px 4px #26324d0d}.pub .muted{color:var(--p-soft)}.pub h2{font-family:var(--p-serif);color:var(--p-navy);letter-spacing:.01em;font-size:1.42rem;font-weight:600}.pub .card>h2:after,.pub section>h2:after{content:"";background:var(--p-gold);border-radius:1px;width:44px;height:2px;margin-top:8px;display:block}.pub .notice{border:1px solid var(--p-gold-soft);background:#fbf7ec;border-radius:10px}.pub .alert-success{background:var(--p-green-bg);border-color:var(--p-green)}.pub .alert-error{background:var(--p-error-bg);border-color:var(--p-error);color:var(--p-error)}.pub .error-text{color:var(--p-error)}.pub .btn{border-radius:10px;transition:background-color .15s,box-shadow .15s}.pub .btn:not(.secondary){background:var(--p-navy);border-color:var(--p-navy)}.pub .btn.secondary{background:var(--p-surface);color:var(--p-navy);border:1.5px solid var(--p-navy)}.pub input[type=text],.pub input[type=email],.pub input[type=tel],.pub input[type=number]{background:#fff;border:1px solid #d5cdb8;border-radius:10px;min-height:48px;font-size:16px}.pub input:focus{outline-offset:1px;border-color:var(--p-gold);outline:3px solid #b3903f8c}.pub .field.error input{border-color:var(--p-error)}.pub fieldset.pub-defunt{border:1px solid var(--p-border);background:#fcfaf3;border-radius:12px;margin:0 0 12px;padding:12px 14px}.pub fieldset.pub-defunt legend{font-family:var(--p-serif);color:var(--p-navy)}.pub .pub-steps{color:var(--p-soft);flex-wrap:wrap;gap:6px 14px;margin:4px 0 18px;padding:0;font-size:.88rem;list-style:none;display:flex}.pub .pub-steps li{align-items:center;gap:6px;display:flex}@media (max-width:699px){.pub .pub-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}}.pub .pub-step-h{font-family:var(--p-serif);color:var(--p-navy);align-items:center;gap:10px;font-size:1.13rem;display:flex}.pub .pub-step-n{background:var(--p-gold);color:#1c2237;width:26px;height:26px;font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.pub .pub-steps .pub-step-n{width:20px;height:20px;font-size:.75rem}.pub .pub-amount{background:var(--p-navy);color:#f4efe2;border:1px solid var(--p-navy);border-left:4px solid var(--p-gold);border-radius:10px;margin:14px 0;padding:14px 16px}.pub .pub-amount .pub-amount-ils{font-family:var(--p-serif);color:#fff;margin:0;font-size:1.55rem}.pub .pub-amount .pub-amount-eur{color:#d8dcea;margin:4px 0 0}.pub .pub-amount .muted{color:#b9c0d4}.pub .btn.pub-pay-il{background:var(--p-navy);border-color:var(--p-navy);color:#fff}.pub .btn.pub-pay-fr{background:var(--p-surface);border:1.5px solid var(--p-navy);color:var(--p-navy)}.pub .btn.pub-pay-fr:disabled,.pub .btn.pub-pay-fr[aria-disabled=true]{opacity:1;color:var(--p-soft);cursor:not-allowed;background:#f4f0e4;border:1.5px dashed #b3ab93}.pub .pub-pay-note{color:var(--p-text);font-size:.98rem;font-weight:500}.pub #consent label{padding:6px 0;line-height:1.5}.pub .btn.pub-submit{background:var(--p-gold);border-color:var(--p-gold-strong);color:#1c2237;min-height:52px;margin-top:6px;font-size:1.12rem;font-weight:700;box-shadow:0 2px 8px #96762e4d}.pub .btn.pub-submit:hover:not(:disabled){background:#c09c49}.pub .video-frame{border:1px solid var(--p-border);border-radius:12px}.pub button.video-poster{background:linear-gradient(170deg, var(--p-navy) 0%, var(--p-navy-deep) 100%);color:#ece7d6}.pub button.video-poster .play{background:var(--p-gold);color:#1c2237;box-shadow:0 2px 12px #00000059}.pub details{border:1px solid var(--p-border);background:var(--p-surface);border-radius:10px}.pub details summary{color:var(--p-navy)}.pub details summary:after{color:var(--p-gold);font-weight:700}.pub details[open]{border-color:var(--p-gold-soft)}.pub .pub-temoignages{grid-template-columns:1fr;gap:14px;margin:14px 0;display:grid}@media (min-width:700px){.pub .pub-temoignages{grid-template-columns:repeat(3,minmax(0,1fr))}}.pub .pub-temoignage{border:1px solid var(--p-border);border-top:3px solid var(--p-gold-soft);background:#fcfaf3;border-radius:12px;margin:0;padding:12px 16px 14px}.pub .pub-temoignage-guillemet{height:1.6rem;font-family:var(--p-serif);color:var(--p-gold-soft);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:2.2rem;line-height:1.1;display:block}.pub .pub-temoignage-label{font-family:var(--p-serif);color:var(--p-navy);margin:0 0 6px;font-size:.95rem;font-style:italic}.pub .pub-temoignage blockquote{margin:0}.pub .pub-temoignage blockquote p{color:var(--p-text);margin:0;font-size:.97rem;line-height:1.6}.pub .pub-footer{background:var(--p-navy);color:#dfe3ee;border:0;border-top:3px solid var(--p-gold);text-align:center;border-radius:12px}.pub .pub-footer a{color:#f2df9b}.pub .pub-footer a[href^=tel\:]{white-space:nowrap;display:inline-block}.pub .pub-footer .muted{color:#aeb6cc}.pub .pub-footer .pub-footer-name{font-family:var(--p-serif);color:#f4efe2;margin:0 0 6px;font-size:1.05rem}@media (prefers-reduced-motion:reduce){.pub *{transition:none!important}}.pub .other-pay{margin:16px 0 6px}.pub .other-pay-title{font-family:var(--p-serif);color:var(--p-navy);align-items:center;gap:12px;margin:0 0 10px;font-size:1.15rem;display:flex}.pub .other-pay-title:before,.pub .other-pay-title:after{content:"";background:var(--p-gold-soft);flex:1;height:1px}.pub .other-pay-amounts{background:var(--p-surface);border:1px solid var(--p-border);border-left:4px solid var(--p-gold);border-radius:10px;margin:0 0 12px;padding:10px 12px}.pub .other-pay-line{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 6px;display:flex}.pub .other-pay-line>span{color:var(--p-soft);min-width:84px}.pub .other-pay-line strong{font-family:var(--p-serif);color:var(--p-navy);font-size:1.25rem}.pub .other-ref{letter-spacing:.06em}.pub .btn-copy{min-height:34px;margin-left:auto;padding:4px 12px;font-size:.86rem}.pub .other-pay-hint{color:var(--p-soft);margin:8px 0 0;font-size:.9rem}.pub .other-pay-options{gap:10px;margin:0 0 10px;display:grid}.pub .other-pay-item{gap:4px;display:grid}.pub .other-pay-sub{text-align:center;color:var(--p-soft);margin:0;font-size:.86rem}.pub .other-pay-fallback{text-align:center;color:var(--p-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;margin:0;font-size:.8rem;display:flex}.pub .other-pay-fallback .btn-copy{min-height:30px;margin-left:0;font-size:.78rem}.pub .other-pay-cerfa{text-align:center;margin:6px 0 10px;font-size:.85rem}.pub .copy-toast{background:var(--p-navy);color:#fff;opacity:0;pointer-events:none;z-index:60;white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:.95rem;transition:opacity .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000040}.pub .copy-toast:not(:empty){opacity:1}.pub .modal-backdrop{z-index:50;background:#0a142d8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pub .modal{overscroll-behavior:contain;background:var(--p-surface);border:1px solid var(--p-gold-soft);width:min(100%,520px);max-height:calc(100vh - 32px);color:var(--p-navy);border-radius:14px;outline:none;padding:16px 18px 18px;overflow:auto;box-shadow:0 20px 50px #0000004d}.pub .modal-head{background:var(--p-surface);border-bottom:1px solid var(--p-border);z-index:1;justify-content:space-between;align-items:center;gap:10px;margin:-16px -18px 6px;padding:12px 18px 8px;display:flex;position:sticky;top:-16px}.pub .modal-head h3{font-family:var(--p-serif);color:var(--p-navy);margin:0;font-size:1.4rem}.pub .modal-amount{color:var(--p-soft);margin:0 0 10px}.pub .modal-amount strong{color:var(--p-navy);font-family:var(--p-serif);font-size:1.15rem}.pub .bank-list{gap:6px;margin:0 0 12px;display:grid}.pub .bank-row{border-bottom:1px solid var(--p-border);grid-template-columns:110px 1fr;align-items:center;gap:6px 10px;padding:6px 0;display:grid}.pub .bank-row dt{color:var(--p-soft);margin:0;font-size:.9rem}.pub .bank-row dd{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.pub .modal-note{margin:10px 0 0;font-size:.88rem}@media (max-width:420px){.pub .other-pay-line>span{width:100%;min-width:0;font-size:.85rem}.pub .btn-copy{margin-left:0}.pub .bank-row{grid-template-columns:1fr}}
