body.einvoice{margin:0;background:#f9f7ff;color:#161229;font-family:"DM Sans",system-ui,sans-serif}
.einvoice *{box-sizing:border-box}
.ef-nav,.ef-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1.25rem,5vw)}
.ef-nav a,.ef-footer a,.ef-law a{color:inherit;text-underline-offset:.24em}
.ef-brand{display:inline-flex;align-items:center;text-decoration:none;font:700 1.6rem "Space Grotesk",sans-serif}.ef-brand img{width:1.35em}.ef-brand span{color:#623df1}
.ef-hero{position:relative;min-height:calc(100svh - 4.2rem);display:grid;place-items:center;overflow:hidden;background:#fff;color:#1c1535;padding:clamp(2.5rem,6vh,5rem) max(1.25rem,5vw) 4rem;text-align:center}
.ef-hero-content{width:100%;max-width:70rem}
.ef-kicker{font-weight:700;font-size:.76rem;letter-spacing:.17em}
.ef-hero h1,.ef-story h2,.ef-law h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.055em;line-height:1.01;margin:.25em 0}
.ef-hero h1{margin:.25em 0;font-size:clamp(2.5rem,5.7vw,6.25rem);text-wrap:balance}
.ef-hero-content>p:not(.ef-kicker){max-width:39rem;margin:1.25rem auto 0;color:#463b5b;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.5}
.ef-cta{display:inline-flex;min-height:44px;align-items:center;border-radius:999px;padding:.72rem 1.2rem;font:700 1rem "DM Sans",sans-serif}
.ef-cta{margin-top:1.5rem;background:#261b43;color:#fff;text-decoration:none}
.ef-story,.ef-law{padding:clamp(3rem,9vw,8rem) max(1.25rem,10vw)}
.ef-story h2,.ef-law h2{font-size:clamp(2.4rem,5vw,4.6rem)}
.ef-bubbles{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:1.3rem}
.ef-bubble{width:min(100%,42rem);border-radius:clamp(1.6rem,5vw,3.7rem);padding:clamp(1.4rem,4vw,3rem);color:#20172d}
.ef-bubble:nth-child(2){justify-self:end}.ef-bubble:nth-child(3){justify-self:center}
.ef-peach{background:#ffd0b5}.ef-blue{background:#c6e4ff}.ef-lilac{background:#e6d9ff}
.ef-bubble span{font-weight:700;font-size:.73rem;letter-spacing:.12em}.ef-bubble h3{font-size:clamp(1.55rem,3vw,2.5rem);margin:.35em 0}.ef-bubble p,.ef-law p{margin:.5em 0;line-height:1.6}
.ef-law{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,6vw,6rem);background:#19142d;color:#fff}
.ef-law ul{padding-inline-start:1.2rem;line-height:1.8}.ef-law a{color:#cbdfff}
.ef-footer{flex-wrap:wrap}
.ef-reveal [data-reveal]{opacity:0;transform:translateY(1.75rem);transition:opacity .6s ease,transform .6s ease}
.ef-reveal [data-reveal].ef-visible{opacity:1;transform:none}
@media(max-width:660px){.ef-law{grid-template-columns:1fr}.ef-hero{padding-bottom:5rem}.ef-bubble:nth-child(n){justify-self:stretch}}
@media(prefers-reduced-motion:reduce){.ef-reveal [data-reveal]{opacity:1;transform:none;transition:none}}
/* A typographic opening and a paper invoice for the France preview. */
.ef-hero h1 span,.ef-hero h1 em{display:block}.ef-hero h1 span{width:max-content;max-width:100%;margin:0 auto .2em;font-size:clamp(2.7rem,12vw,7rem);transform-origin:center}.ef-hero h1 em{margin:auto;max-width:18ch;color:#5940a4;font-style:normal}
.ef-preview{position:absolute;right:1.3rem;bottom:1rem;margin:0;color:#574c68;font-size:.78rem}
.ef-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,6rem);align-items:start;margin-top:3rem}
.ef-journey .ef-bubbles{margin:0}.ef-journey .ef-bubble{width:100%;justify-self:stretch}
.ef-route{margin:0;min-width:0;padding:clamp(1rem,3vw,2rem);border-radius:2rem;background:#eee8fa}
.ef-invoice{padding:clamp(1rem,3vw,2rem);border-radius:1rem;background:white;box-shadow:0 14px 40px #32265a1c;color:#20172d}
.ef-invoice-head,.ef-invoice-line,.ef-invoice-total{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.ef-invoice-head b{font-size:1.6rem;font-family:"Space Grotesk",sans-serif}.ef-invoice-head b span{color:#6545cb}
.ef-invoice-head small,.ef-invoice-label,.ef-route figcaption{color:#5c506e;font-size:.73rem;letter-spacing:.08em}
.ef-invoice-label{margin:1.5rem 0 .3rem}.ef-invoice h3{margin:0;font-size:1.5rem}.ef-invoice h3+p{margin:.25rem 0 1.4rem;color:#60566f}
.ef-invoice-line,.ef-invoice-total{padding:.65rem 0;border-top:1px solid #e9e3f1}.ef-invoice-total{font-size:1.12rem;color:#52379c}
.ef-transfer{display:grid;justify-items:center;gap:.25rem;padding:1.1rem 0;color:#493482;text-align:center}.ef-transfer span{font-size:1.6rem}
.ef-destinations{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ef-destination{display:grid;align-content:start;gap:.4rem;padding:1rem;border-radius:1rem;background:#fff;color:#241939}
.ef-destination small{line-height:1.45}.ef-destination-icon{display:block;width:2rem;height:2rem;color:#5940a4;font-size:1.65rem}
.ef-route figcaption{margin-top:1rem;text-align:center;letter-spacing:normal}
.ef-reveal [data-reveal]{opacity:0;filter:blur(12px);transform:translateY(1.6rem) scale(.98);transition:opacity .75s ease,transform .75s ease,filter .75s ease}
.ef-reveal [data-reveal].ef-visible{opacity:1;filter:blur(0);transform:none}
@keyframes ef-emerge{from{opacity:0;filter:blur(10px);transform:translateY(16px)}to{opacity:1;filter:blur(0);transform:none}}
@media(max-width:800px){.ef-journey{grid-template-columns:1fr}}
@media(max-width:360px){.ef-destinations{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ef-reveal [data-reveal]{opacity:1;filter:none;transform:none;transition:none}}

.ef-nav{background:#fff}
@keyframes ef-brand-intro{
  0%{opacity:0;filter:blur(12px);transform:translateY(1.35em) scale(1.85)}
  26%,48%{opacity:1;filter:blur(0);transform:translateY(1.35em) scale(1.85)}
  100%{opacity:1;filter:blur(0);transform:none}
}
@media(prefers-reduced-motion:no-preference){
  .ef-hero h1 span{animation:ef-brand-intro 1.15s cubic-bezier(.22,.74,.22,1) both}
  .ef-hero h1 em{animation:ef-emerge .55s 1.05s both}
  .ef-hero-content>p:not(.ef-kicker){animation:ef-emerge .55s 1.33s both}
  .ef-hero .ef-cta{animation:ef-emerge .5s 1.66s both}
  .ef-hero .ef-cta:focus-visible{animation:none}
}

.ef-product,.ef-editorial,.ef-resources{padding:clamp(2.5rem,7vw,7rem) max(1.25rem,8vw)}
.ef-product,.ef-editorial{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,7rem);align-items:center}
.ef-product{margin:clamp(.75rem,3vw,3rem);border-radius:clamp(1.5rem,4vw,4rem);background:linear-gradient(140deg,#4d37a2,#322166);color:#fff}
.ef-product h2,.ef-editorial h2,.ef-resources h2{font:700 clamp(2.2rem,5vw,5rem)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.05em;margin:.28em 0}
.ef-product-copy>p:not(.ef-kicker),.ef-editorial p,.ef-editorial li,.ef-resources p{line-height:1.6;font-size:clamp(1rem,1.3vw,1.22rem)}
.ef-product .ef-cta{background:white;color:#2a185f}
.ef-devices{position:relative;margin:0;padding:6% 0 9% 13%;isolation:isolate}
.ef-desktop-shot,.ef-phone-shot{background:#201633;padding:.45rem;border-radius:1.05rem;box-shadow:0 24px 50px #130b3c88;overflow:hidden}
.ef-desktop-shot img,.ef-phone-shot img{display:block;width:100%;height:auto;border-radius:.65rem}
.ef-phone-shot{position:absolute;left:0;bottom:8%;width:32%;z-index:1;border-radius:1.45rem;transform:rotate(-5deg)}
.ef-devices figcaption{margin-top:1rem;text-align:right;color:#f0e9ff;font-size:.78rem}
.ef-editorial{background:#171a3c;color:#fff}
.ef-editorial img{display:block;width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:2.7rem .8rem 2.7rem .8rem;box-shadow:1rem 1rem 0 #b095ff}
.ef-editorial ul{padding-inline-start:1.3rem;margin-top:1.5rem}
.ef-editorial li::marker{color:#ffba93}
.ef-official-mark{margin-top:1.5rem;max-width:28rem}
.ef-official-mark img{width:min(240px,100%);height:auto;display:block;background:white;border-radius:.55rem;padding:.65rem}
.ef-official-mark p{font-size:.88rem;color:#e0dbf0}
.ef-resources{background:#f1edff}
.ef-resources details{max-width:64rem;border-top:1px solid #c9bfeb;padding:1rem 0}
.ef-resources summary{cursor:pointer;font-weight:700;font-size:1.1rem}
.ef-resources>a{color:#412483;text-underline-offset:.2em}
@media(max-width:820px){.ef-product,.ef-editorial{grid-template-columns:1fr}.ef-editorial img{width:calc(100% - 1rem)}}

.ef-hero-benefits{list-style:none;padding:0;margin:1.5rem auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.65rem;width:fit-content;text-align:left;color:#463b5b;font-weight:600}
.ef-hero-benefits li{display:flex;gap:.6rem;align-items:baseline}
.ef-hero-benefits li::before{content:"✓";color:#5940a4;font-weight:700}
.ef-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem}
.ef-hero-actions .ef-cta{margin:0}
.ef-hero-actions .ef-cta-secondary{background:#fff;color:#251843;box-shadow:inset 0 0 0 1px #d6ccee}
.ef-devices{width:min(100%,27rem);justify-self:center}
.ef-invoice{width:min(100%,24rem);margin-inline:auto}
@media(max-width:600px){.ef-hero-benefits{grid-template-columns:1fr}.ef-devices{width:min(100%,21rem)}}
@media(prefers-reduced-motion:no-preference){.ef-hero-benefits{animation:ef-emerge .55s 1.5s both}.ef-hero-actions .ef-cta{animation-delay:1.8s}}

.ef-product {
  width: min(calc(100% - 2rem), 66rem);
  margin-inline: auto;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  gap: clamp(1.25rem, 3vw, 2.5rem);
}
.ef-product h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.ef-product .ef-devices { width: min(100%, 21rem); }
.ef-editorial img {
  width: min(100%, 14rem);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  justify-self: center;
  border-radius: 1.4rem;
  box-shadow: 0 0 0 .3rem #a78df0, 0 1rem 2rem #0e102a;
}

.ef-invoice {
  width: min(100%, 29rem);
  padding: clamp(.8rem, 2vw, 1.5rem);
  border-top: .3rem solid #6348ad;
  font-size: .83rem;
  text-align: left;
}
.ef-invoice-head .ef-invoice-brand {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: 1rem;
}
.ef-invoice-head .ef-invoice-brand > span {
  display: grid;
  place-items: center;
  flex: 0 0 2.25rem;
  height: 2.25rem;
  background: #593d9b;
  border-radius: .75rem .25rem;
  color: white;
}
.ef-invoice-head small { font-size: .62rem; text-align: right; }
.ef-invoice h3 { margin-top: 1rem; }
.ef-invoice h3 + p { margin-bottom: .9rem; }
.ef-invoice-parties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  padding: .65rem;
  background: #f5f0fd;
  border-radius: .55rem;
}
.ef-invoice-parties small, .ef-invoice-parties strong,
.ef-invoice-items small, .ef-invoice-footer small { display: block; }
.ef-invoice-items { width: 100%; margin-top: .8rem; border-collapse: collapse; line-height: 1.35; }
.ef-invoice-items th, .ef-invoice-items td { padding: .48rem .18rem; border-bottom: 1px solid #e9e3f1; }
.ef-invoice-items th { text-align: left; }
.ef-invoice-items td, .ef-invoice-items thead th:not(:first-child) { text-align: right; white-space: nowrap; }
.ef-invoice-items small { margin-top: .16rem; color: #60566f; font-weight: 400; }
.ef-invoice-line { padding: .4rem 0; }
.ef-invoice-total { padding: .5rem; background: #eee7fb; border-radius: .4rem; font-size: .95rem; }
.ef-invoice-footer {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .7rem;
  font-size: .72rem;
}
.ef-invoice-signature { font: italic 1.15rem "Segoe Script", cursive; color: #52379c; }

.ef-hero {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "copy copy" "woman official";
  gap: clamp(.8rem, 3vw, 2.5rem);
}
.ef-hero-content { grid-area: copy; }
.ef-hero-woman {
  grid-area: woman;
  position: relative;
  justify-self: end;
  width: min(100%, 10rem);
  margin: 0;
}
.ef-hero-woman img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 43% 43% 24% 24% / 27% 27% 18% 18%;
}
.ef-float-choice,
.ef-hero-official {
  padding: .65rem;
  background: #fff;
  color: #33264e;
  border: 1px solid #e9e1f5;
  border-radius: .85rem;
  box-shadow: 0 .65rem 2rem #24164226;
  font-size: .8rem;
  line-height: 1.35;
}
.ef-float-choice {
  position: relative;
  margin-top: .7rem;
  padding: .75rem;
  background: linear-gradient(130deg, #eee1ff, #ffe5ed 58%, #ffe7d2);
  border-color: #e7d5f7;
  border-radius: 1rem 1rem 1rem .45rem;
  font-weight: 650;
  text-align: left;
}
.ef-float-choice::before {
  content: "";
  position: absolute;
  top: -.35rem;
  left: 1.25rem;
  width: .65rem;
  height: .65rem;
  background: #eee1ff;
  border-top: 1px solid #e7d5f7;
  border-left: 1px solid #e7d5f7;
  transform: rotate(45deg);
}
.ef-hero-official {
  grid-area: official;
  justify-self: start;
  width: min(100%, 15rem);
  text-decoration: none;
}
.ef-hero-official img { display: block; width: 100%; height: auto; }
.ef-hero-official small { display: block; margin-top: .35rem; font-size: .75rem; }
@media (min-width: 1100px) {
  .ef-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy"; }
  .ef-hero-content { max-width: min(70rem, 63vw); }
  .ef-hero-woman,
  .ef-hero-official { position: absolute; grid-area: auto; top: 16%; }
  .ef-hero-woman { left: 3vw; width: clamp(8.75rem, 13vw, 13rem); padding: .6rem; }
  .ef-hero-official { right: 3vw; width: clamp(10rem, 14vw, 15rem); }
}
@keyframes ef-choice-float {
  0% { opacity: 0; transform: translateY(-2rem) scale(.72); }
  14% { opacity: 1; transform: translateY(0) scale(1); }
  42% { opacity: 1; transform: translateY(-.45rem); }
  60% { opacity: 1; transform: translateY(-.15rem); }
  78%, 100% { opacity: 0; transform: translateY(-.9rem) scale(.96); }
}
@keyframes ef-official-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -.4rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .ef-hero-woman,
  .ef-hero-official { animation: ef-emerge .65s 2.45s both; }
  .ef-float-choice { transform-origin: top left; animation: ef-choice-float 7s 3s ease-in-out infinite both; }
  .ef-hero-official { animation: ef-emerge .65s 2.45s both, ef-official-float 6s 3.1s ease-in-out infinite; }
  .ef-hero-woman:hover .ef-float-choice { animation: none; }
  .ef-hero-official:hover { animation: none; }
  .ef-hero-official:focus-visible { animation: none; }
}
