/* Multi-page layout: short landing, offers, page heroes, CTA band */
.nav a[aria-current="page"]{background:var(--mist)}
.section.tight{padding:clamp(48px,6vw,80px) 0}
.hero .tagline{font-family:var(--font-h);font-weight:700;font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--magenta);margin:-.2em 0 .8em}
.btn-wa{background:#128043;color:#fff;box-shadow:0 10px 24px -12px #128043}
.btn-wa:hover{background:#0F6B37}
.utility .wa{font-weight:700;color:var(--ink)}

/* Language switch: FR and EN are separate pages */
.lang-toggle a{display:inline-block;padding:4px 12px;font-weight:700;font-size:.78rem;color:var(--muted);text-decoration:none}
.lang-toggle a:hover{color:var(--ink)}
.lang-toggle a[aria-current="true"]{background:var(--ink);color:#fff}

/* Page hero (inner pages) */
.page-hero{padding:clamp(40px,6vw,72px) 0 clamp(24px,3vw,40px);background:linear-gradient(180deg,var(--mist),#fff)}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.4rem);margin:.35em 0 .3em}

/* What we do cards */
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,border-color .25s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--magenta)}
.pcard .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--sand);font-size:1.4rem;margin-bottom:8px}
.pcard b{font-family:var(--font-h);font-size:1.2rem}
.pcard small{color:var(--muted);font-size:.92rem}
.pcard .link-arrow{margin-top:10px;font-size:.92rem}

/* Offers */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.offer{border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;border:1px solid var(--line)}
.offer .ph{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,var(--ink),var(--magenta));overflow:hidden}
.offer .ph img{width:100%;height:100%;object-fit:cover}
.offer .ph .tag{position:absolute;left:16px;top:16px;background:#fff;color:var(--ink);font-weight:700;font-size:.78rem;padding:6px 12px;border-radius:999px}
.offer .bd{padding:clamp(22px,3vw,30px);display:flex;flex-direction:column;flex:1}
.offer h3{font-size:1.25rem}
.offer .for{color:var(--muted);margin-bottom:12px}
.offer .price{font-family:var(--font-h);font-weight:800;font-size:1.6rem;margin:4px 0 14px;color:var(--magenta)}
.offer ul{padding:0;margin:0 0 14px;list-style:none}
.offer li{padding:8px 0 8px 30px;position:relative;border-bottom:1px dashed var(--line)}
.offer li::before{content:"✓";position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:6px;background:#128043;color:#fff;font-size:.75rem;font-weight:800;display:grid;place-items:center}
.offer .obj{font-weight:600;margin-bottom:18px}
.offer .actions{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.soon{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.soon div{border:2px dashed var(--line);border-radius:18px;padding:20px;color:var(--muted)}
.soon b{display:block;font-family:var(--font-h);color:var(--ink);margin-bottom:4px}

/* Founder strip on the landing */
.strip{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,4vw,48px);align-items:center;background:var(--sand);border-radius:28px;padding:clamp(20px,3vw,32px)}
.strip .ph{border-radius:20px;overflow:hidden;aspect-ratio:4/5;position:relative;background:linear-gradient(160deg,var(--ink),var(--magenta))}
.strip .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.strip blockquote{font-size:clamp(1.2rem,2vw,1.6rem)}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--ink) 0%,var(--ink-2) 55%,var(--magenta) 130%);color:#fff;border-radius:32px;padding:clamp(28px,5vw,56px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band h2{margin:0 0 .3em;font-size:clamp(1.6rem,3vw,2.4rem)}
.cta-band p{color:#d6e6dc;margin:0;max-width:52ch}
.cta-band .actions{display:flex;gap:12px;flex-wrap:wrap}

/* Contact info cards */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}
.info a,.info div{display:block;padding:22px;border-radius:20px;border:1px solid var(--line);text-decoration:none;color:inherit;background:#fff}
.info a:hover{border-color:#128043;box-shadow:var(--shadow)}
.info b{display:block;font-family:var(--font-h);font-size:1.1rem;margin:6px 0 2px}
.info small{color:var(--muted)}
.info .ic{font-size:1.5rem}

.footer .contact-line{margin-top:10px}
.footer .contact-line a{display:inline;color:#fff;font-weight:700}

/* 404 page */
.notfound{padding:clamp(64px,10vw,140px) 0;text-align:center}
.notfound .code{font-family:var(--font-h);font-weight:800;font-size:clamp(4rem,12vw,8rem);line-height:1;color:var(--magenta)}
.notfound .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* Accessibility: text and button colors meet WCAG AA (4.5:1).
   The logo keeps the official brand orange. */
:root{--magenta:#B04E0B;--magenta-d:#8F3F08;--gold:#8A6F2A}
.wm b{color:#F3761F}
.footer .wm b{color:#F58F30}
.nav .btn-primary,.nav .btn-primary:hover{color:#fff}

@media (max-width:1080px){.cards4{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.offers,.info{grid-template-columns:1fr}.soon{grid-template-columns:1fr}}
@media (max-width:600px){.cards4{grid-template-columns:1fr}.strip{grid-template-columns:1fr}.strip .ph{max-width:260px}.cta-band .actions .btn{flex:1;justify-content:center}}
