@font-face{font-family:Encode;src:url('/assets/fonts/encode-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Encode;src:url('/assets/fonts/encode-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Encode;src:url('/assets/fonts/encode-sans-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--red:#E64B3B;--action:var(--red);--ink:#292727;--muted:#645c59;--blush:#FADBD7;--line:#eddfdb;font-family:Encode,system-ui,sans-serif;color:var(--ink);background:#fffdfa}*{box-sizing:border-box}body{margin:0}a{color:#ac3024;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,a,input,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}img{display:block;max-width:100%;height:auto}p,li{line-height:1.75}p{margin:0 0 1.1rem}h1,h2,h3{line-height:1.17;letter-spacing:-.04em}h1{font-size:clamp(2.4rem,5.5vw,4.8rem);margin:18px 0 24px;max-width:850px}h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0 0 18px}h3{font-size:1.3rem;margin:0 0 14px}main{max-width:1180px;margin:auto;padding:0 28px 72px}.site-header{border-bottom:1px solid var(--line);background:#fffdfa}.nav{max-width:1240px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 28px}.logo{width:162px}.nav-links{display:flex;gap:24px;align-items:center}.nav-links a{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.nav-links .button{font-size:16px;color:#fff}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:14px 24px;border-radius:12px;background:var(--action);color:#fff;text-decoration:none;font-size:18px;font-weight:700;border:1px solid transparent}.button.secondary{background:transparent;border-color:#c4aca6;color:var(--ink)}.button:hover{filter:brightness(.97)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#ac3024}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:36px;padding:64px 0 48px}.hero p{font-size:18px;color:var(--muted);max-width:620px}.hero figure{margin:0;background:#fff0eb;border-radius:48% 42% 44% 39%;padding:14px}.hero img{width:100%;max-height:460px;object-fit:contain}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px}.fine{font-size:13px!important;color:var(--muted)}.breadcrumbs{padding-top:24px;font-size:13px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}.trust{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:14px}.section{margin:64px 0}.section-title{max-width:700px;margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.card img{width:100%;height:170px;object-fit:contain;margin:0 0 24px}.card p{color:var(--muted);font-size:15px}.card a{margin-top:auto;font-weight:600}.card .price{font-size:24px;color:var(--ink);font-weight:700}.card .fine{font-weight:400}.content{max-width:790px;margin:48px auto}.content section{margin-bottom:38px}.content p{color:#4b4441}.content h2{font-size:27px}.content.legal{font-size:14px}.content.legal p{overflow-wrap:anywhere}.band{padding:36px;border-radius:24px;background:#fae5df;display:flex;justify-content:space-between;gap:24px;align-items:center}.band p{margin:0}.band h2{font-size:28px}.related{display:flex;flex-wrap:wrap;gap:12px}.related a{border:1px solid var(--line);padding:12px 16px;border-radius:10px;background:#fff}.footer{border-top:1px solid var(--line);padding:44px 28px;background:#f7efeb}.footer-grid{max-width:1124px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer nav{display:grid;align-content:start;gap:12px}.footer a{font-size:14px;color:#51443f}.footer .logo{margin-bottom:20px}.footer-note{max-width:1124px;margin:32px auto 0;font-size:12px;color:var(--muted)}.mobile-nav{display:none}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}.notice{padding:18px;background:#fff2d8;border-radius:12px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-weight:600;cursor:pointer;line-height:1.5}details p{margin-top:16px}.steps{counter-reset:step}.steps .card:before{counter-increment:step;content:'0' counter(step);font-size:15px;font-weight:700;color:#ac3024;margin-bottom:18px}.events{grid-template-columns:repeat(2,minmax(0,1fr))}.events .card{padding:24px}.events .card h3{font-size:20px}
@media(max-width:780px){.nav{padding:16px 20px;gap:12px}.logo{width:132px}.nav-links{gap:12px}.nav-links .desktop{display:none}.nav-links .button{min-height:44px;padding:10px 14px;font-size:14px}.mobile-nav{display:block;margin:0 20px 12px;border:0;padding:0}.mobile-nav nav{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0}.mobile-nav a{font-size:14px}main{padding:0 20px 48px}.hero{grid-template-columns:1fr;padding:28px 0;gap:16px}.hero figure{max-width:340px;justify-self:center;order:2}.hero img{height:240px}.hero h1{font-size:39px;margin-top:12px}.hero p{font-size:16px}.hero .actions{margin-top:20px}.grid,.events{grid-template-columns:1fr}.section{margin:40px 0}.trust{justify-content:flex-start;gap:12px 24px}.card{padding:24px}.card img{height:150px}.content{margin:32px auto}.content h2{font-size:24px}.band{padding:24px;flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div{grid-column:1/-1}.footer{padding:32px 20px}.breadcrumbs{font-size:12px}.actions .button{flex:1;white-space:nowrap;padding-inline:16px;font-size:16px}.hero .fine{margin-bottom:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:480px){.nav-links>a:not(.button){display:none}.nav-links .button{white-space:nowrap}.nav .logo{width:126px}}

form label{display:block;font-weight:600;margin:20px 0}form input,form textarea{display:block;width:100%;font:inherit;line-height:1.5;padding:12px;margin-top:8px;background:white;border:1px solid #b8a5a0;border-radius:10px}form [role=status]{margin-top:18px}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}

.hero.no-art{grid-template-columns:1fr}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.footer .button{color:#fff}@media(min-width:781px) and (max-width:1100px){.nav-links .desktop{display:none}.mobile-nav{display:block;margin:0 28px 12px;border:0;padding:0}.mobile-nav nav{display:flex;flex-wrap:wrap;gap:16px;padding:14px 0}.mobile-nav a{font-size:14px}}

.card .button{color:#fff;margin-top:auto;margin-bottom:16px;font-size:16px}.card .button+a{margin-top:0}

/* White labels on the original brand red: large bold text, including mobile. */
.button,.nav-links .button,.footer .button,.card .button,.actions .button{font-size:19px;font-weight:700;line-height:1.3}
.card>a:not(.button){display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
@media(max-width:360px){.nav{padding-inline:12px;gap:8px}.nav .logo{width:100px}.nav-links .button{padding-inline:10px}}

.account-menu{position:relative;padding:0;border:0}.account-menu summary{cursor:pointer;padding:12px 8px;min-height:44px;font-weight:600;white-space:nowrap}.account-menu>nav{position:absolute;right:0;top:100%;z-index:40;display:grid;gap:4px;width:min(290px,calc(100vw - 32px));padding:12px;background:#fffdfa;border:1px solid #e3d9d2;border-radius:14px;box-shadow:0 12px 32px #313e4726}.account-menu>nav a{display:block;padding:12px;border-radius:8px;font-size:15px;line-height:1.4}.account-menu>nav a:hover,.account-menu>nav a:focus-visible{background:#fff0eb}.account-menu summary:focus-visible{outline:2px solid #313e47;outline-offset:2px}
@media(max-width:480px){.site-header .logo{width:112px;max-width:100%}.site-header .nav-links .button{min-height:42px;padding:8px 12px;font-size:14px}}

/* Subtle motion without JavaScript: content remains visible in every browser. */
@media(prefers-reduced-motion:no-preference){
  .button,.card,.related a{transition:transform .22s ease,box-shadow .22s ease}
  .card img{transition:transform .35s ease}
  .hero figure{animation:illustration-welcome 1.1s ease-out both}
  .hero figure img{animation:illustration-sway 4s ease-in-out 1.1s 2}
  @media(hover:hover){
    .button:hover,.related a:hover{transform:translateY(-2px);box-shadow:0 5px 14px #29272712}
    .card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #2927270c}
    .card:hover img{transform:translateY(-3px) rotate(-1deg)}
  }
  @supports(animation-timeline:view()){
    .section>.section-title,.section>.grid,.band{animation:section-arrival linear both;animation-timeline:view();animation-range:entry 0% entry 22%}
  }
}
@keyframes illustration-welcome{from{transform:translateY(12px) rotate(-2deg)}to{transform:none}}
@keyframes illustration-sway{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px) rotate(.6deg)}}
@keyframes section-arrival{from{transform:translateY(18px)}to{transform:translateY(0)}}

/* En-tête : sur mobile et tablette, une seule ligne (logo, « Créer ma carte », menu). */
.account-menu>summary,.site-menu>summary{list-style:none}.account-menu>summary::-webkit-details-marker,.site-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary::after{content:'';display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.account-menu[open]>summary::after{transform:translateY(1px) rotate(-135deg)}
.site-menu{display:none;position:relative;padding:0;margin:0;border:0;background:none}.site-menu>summary{display:flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;font-size:14px}
.site-menu>summary:focus-visible{outline:2px solid #313e47;outline-offset:2px}
.site-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;display:grid;gap:8px;width:min(300px,calc(100vw - 24px));padding:12px;background:#fffdfa;border:1px solid #e3d9d2;border-radius:14px;box-shadow:0 12px 32px #313e4726}
.site-menu-panel nav{display:grid;gap:2px}.site-menu-panel nav+nav{border-top:1px solid var(--line);padding-top:8px}
.site-menu-panel a{display:block;padding:12px;border-radius:8px;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}.site-menu-panel a:hover,.site-menu-panel a:focus-visible{background:#fff0eb}
.mobile-nav{display:none!important}
@media(max-width:1100px){.site-header .account-menu{display:none}.site-menu{display:block}.site-header .nav-links{gap:10px}}
@media(max-width:480px){.site-menu>summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(max-width:600px){.site-header .nav{padding:12px 16px}}
/* Pages d'information : contenu d'abord sur mobile. */
@media(max-width:780px){.hero-info figure{display:none}.hero-info{padding-bottom:8px}}
/* Occasions : liste compacte de liens plutôt que des cartes au texte répété. */
.occasion-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.occasion-list a{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}
.occasion-list a:hover,.occasion-list a:focus-visible{border-color:var(--red);background:#fffaf8}
.occasion-list strong{font-size:17px;line-height:1.3}.occasion-list span{color:#ac3024;font-size:14px;font-weight:600}
@media(max-width:780px){.occasion-list{grid-template-columns:1fr;gap:8px}.occasion-list a{padding:14px 16px}}
/* Liens sous une grille : ne pas les coller aux cartes. */
.section>.grid+p,.section>.occasion-list+p{margin-top:20px}
/* FAQ : chevron plutôt que le triangle du navigateur. */
.content details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}
.content details>summary::-webkit-details-marker{display:none}
.content details>summary::after{content:'';flex-shrink:0;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:4px}
.content details[open]>summary::after{transform:rotate(-135deg)}
/* Texte aligné sur la même grille que les titres de section (et non centré, décalé). */
.content{margin-left:0;margin-right:auto}

.packs .card{position:relative}.packs .card .price{margin-bottom:4px}.pack-badge{position:absolute;top:20px;right:20px;padding:4px 10px;border-radius:999px;background:var(--blush);color:#ac3024;font-size:13px;font-weight:700}
@media(max-width:780px){.packs{gap:10px}.packs .card{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:12px;row-gap:2px;padding:14px 16px;border-radius:14px}.packs .card h3{grid-area:1/1;font-size:17px;margin:0}.packs .card .price{grid-area:1/2;font-size:20px;margin:0}.packs .pack-savings{grid-area:2/1;margin:0;font-size:13px}.packs .pack-badge{position:static;grid-area:2/2;justify-self:end}.packs .pack-cards{grid-column:1/-1;margin:4px 0 0;font-size:13px;line-height:1.5}}
.contact-form form{max-width:790px}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}form select{display:block;width:100%;font:inherit;line-height:1.5;padding:12px;margin-top:8px;background:white;border:1px solid #b8a5a0;border-radius:10px;color:var(--ink)}form .optional{font-weight:400;color:var(--muted)}form .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button{margin-top:8px}.contact-done{max-width:790px;padding:28px;border-radius:20px;background:#fae5df}.contact-done:focus{outline:none}.contact-done h3{margin-bottom:8px}@media(max-width:780px){.contact-form .form-row{grid-template-columns:1fr}.contact-form button{width:100%}}
.store-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 4px}.store-button{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:8px 18px 8px 14px;border-radius:12px;background:#151313;color:#fff!important;text-decoration:none;line-height:1.15;font-weight:400}.store-button:hover{background:#000}.store-button span{display:grid;text-align:left}.store-button small{font-size:11px;letter-spacing:.02em}.store-button strong{font-size:18px;font-weight:700}.store-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.store-button.official{padding:0;background:none;min-height:0}.store-button.official img{display:block;height:48px;width:auto}
.apps-band{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:32px;padding:40px;border-radius:24px;background:#fff;border:1px solid var(--line)}.apps-band p{color:var(--muted);max-width:520px}.apps-art{width:100%;max-width:260px;justify-self:center;fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.apps-art .fill{fill:var(--blush);stroke:none}.apps-art .spark{stroke-dasharray:4 6}
.footer-apps-title{margin:20px 0 0;font-size:13px;font-weight:700;color:var(--ink)}.footer .store-links{margin-top:10px;gap:8px}.footer .store-button{min-height:44px;padding:6px 14px 6px 10px}.footer .store-button strong{font-size:15px}.footer .store-icon{width:22px;height:22px}
@media(max-width:780px){.apps-band{grid-template-columns:1fr;padding:24px}.apps-art{max-width:180px;order:-1}.store-links .store-button{flex:1 1 180px}}
.essentials{max-width:790px;margin:40px auto;padding:28px 32px;border:1px solid var(--line);border-radius:20px;background:#fff}.essentials h2{font-size:24px;margin-bottom:12px}.essentials ul{margin:0;padding-left:20px}.essentials li{margin:6px 0;color:#4b4441}@media(max-width:700px){.essentials{padding:22px 20px}}

.ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;color:var(--ion-color-primary,#E64B3B)}
.ambient .m{position:absolute;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.13;will-change:transform;animation:tb-float var(--d,18s) ease-in-out var(--delay,0s) infinite;--r:0deg}
.ambient .m *{vector-effect:non-scaling-stroke}
.ambient .stamp{top:9%;left:3%;width:84px;--r:-8deg;--d:19s}
.ambient .envelope{top:15%;right:5%;width:104px;--r:6deg;--d:23s;--delay:-6s}
.ambient .postmark{top:54%;left:2%;width:120px;--r:-4deg;--d:26s;--delay:-3s}
.ambient .heart{top:42%;right:4%;width:34px;fill:currentColor;fill-opacity:.25;--r:10deg;--d:15s;--delay:-9s}
.ambient .plane{bottom:12%;right:7%;width:140px;animation:tb-drift 30s ease-in-out -4s infinite alternate}
.ambient .photo{bottom:7%;left:24%;width:64px;--r:-12deg;--d:21s;--delay:-12s}
.ambient .postcard{display:none;bottom:20%;left:4%;width:104px;--r:7deg;--d:24s;--delay:-8s}
.ambient .spark{fill:currentColor;stroke:none;animation:tb-twinkle 6s ease-in-out infinite}
.ambient .s1{top:28%;left:17%;width:18px}
.ambient .s2{bottom:26%;right:26%;width:14px;animation-delay:-3s}
@keyframes tb-float{0%,100%{transform:translate3d(0,0,0) rotate(var(--r))}50%{transform:translate3d(0,-14px,0) rotate(calc(var(--r) + 4deg))}}
@keyframes tb-drift{from{transform:translate3d(-24px,12px,0) rotate(-3deg)}to{transform:translate3d(24px,-12px,0) rotate(2deg)}}
@keyframes tb-twinkle{0%,100%{opacity:.06;transform:scale(.75)}50%{opacity:.22;transform:scale(1.1)}}
/* Ambiances : welcome (accueil, connexion), checkout (panier, paiement, tarifs), create (formules, XL). */
.ambient.v-welcome .postmark,.ambient.v-welcome .photo{display:none}
.ambient.v-welcome .postcard{display:block}
.ambient.v-welcome .heart{top:34%;right:9%;width:44px}
.ambient.v-checkout{transform:scaleX(-1)}
.ambient.v-checkout .photo,.ambient.v-checkout .heart{display:none}
.ambient.v-checkout .postcard{display:block;bottom:auto;top:62%}
.ambient.v-create .envelope,.ambient.v-create .postmark{display:none}
.ambient.v-create .postcard{display:block}
.ambient.v-create .photo{bottom:auto;left:auto;top:12%;right:6%;width:84px}
/* Écrans de création : décor discret, sur les bords seulement. */
.ambient.calm .m{opacity:.08}
.ambient.calm .postmark,.ambient.calm .photo,.ambient.calm .s1,.ambient.calm .heart{display:none}
@media(max-width:700px){.ambient .stamp{width:56px;top:4%;left:auto;right:6%}.ambient .envelope{width:68px;top:auto;bottom:30%;right:auto;left:4%}.ambient .plane{width:96px;bottom:6%}.ambient .postmark,.ambient .photo{display:none}.ambient .heart{top:58%;width:26px}.ambient .postcard{width:70px;bottom:18%;left:6%}}
@media(prefers-reduced-motion:reduce){.ambient .m{animation:none!important}}
.ambient{position:fixed}@media(max-width:700px){.ambient .m{opacity:.09}}
