/* ==========================================================================
   Ressources : centre d’aide, FAQ, journal, guides, documents légaux,
   disponibilité, presse.
   ========================================================================== */
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:clamp(50px,7vw,90px)}
.resource-card{display:flex;flex-direction:column;align-items:flex-start;padding:32px 30px;border-radius:var(--r-l);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));scroll-margin-top:calc(var(--nav-h) + 24px);transition:transform var(--base) var(--ease),border-color var(--base),box-shadow var(--base)}
.resource-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.resource-card h2{font-size:clamp(22px,2vw,27px);letter-spacing:-.03em;line-height:1.2;margin:0 0 14px}
.resource-card p{font-size:14.5px;color:var(--ink-2);line-height:1.75;margin:0 0 24px}
.resource-card .text-link{margin-top:auto;font-size:13px}
.resource-card>img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px;margin:-6px 0 22px}
.resource-banner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:clamp(30px,5vw,56px);border-radius:var(--r-xl);border:1px solid var(--line);background:linear-gradient(120deg,rgba(56,200,234,.14),rgba(255,255,255,.03) 60%);margin-bottom:clamp(40px,5vw,60px);position:relative;overflow:hidden}
.resource-banner::after{content:"";position:absolute;right:-10%;top:-40%;width:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(246,182,58,.16),transparent 65%);pointer-events:none}
.resource-banner>div{max-width:600px;position:relative}
.resource-banner h2{font-size:clamp(30px,3.4vw,46px);margin:0 0 18px}
.resource-banner p:not(.eyebrow){font-size:15.5px;line-height:1.75;color:var(--ink-2)}
.resource-banner .pill{position:relative;flex:none}
.resource-note{border-top:1px solid var(--line);padding:36px 0 clamp(40px,6vw,70px)}
.resource-note h2{font-size:clamp(22px,2.2vw,28px);margin-bottom:12px}
.resource-note p{font-size:15px;line-height:1.75;color:var(--ink-2)}

/* FAQ hub ---------------------------------------------------------------- */
.faq-hub{max-width:980px;margin:0 auto clamp(60px,8vw,100px)}
.faq-tools{margin:0 auto clamp(36px,5vw,56px);max-width:700px}
.faq-tools input{padding:20px 24px 20px 54px;border-radius:50px;font-size:16px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%238a8a95' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 22px center}
.faq-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.faq-filters button{padding:11px 18px;border-radius:50px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:550;color:var(--ink-2);transition:background var(--fast),color var(--fast),border-color var(--fast)}
.faq-filters button:hover{color:var(--ink);border-color:var(--line-strong)}
.faq-filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
#faq-result{text-align:center;font-size:12.5px;color:var(--ink-3);margin:18px 0 0;min-height:18px}
.faq-category{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin:0 0 clamp(36px,5vw,56px)}
.faq-category>h2{font-size:clamp(22px,2.2vw,28px);line-height:1.25;margin:22px 0;position:sticky;top:calc(var(--nav-h) + 28px)}
.faq-category>div{border-top:1px solid var(--line)}
.faq-empty{text-align:center;padding:40px 30px;border-radius:var(--r-l);border:1px dashed var(--line-strong)}
.faq-empty h2{font-size:26px;margin-bottom:8px}
.faq-empty p{color:var(--ink-2)}

/* Documents and editorial ------------------------------------------------- */
.document-page .page-hero h1,.editorial-page .page-hero h1{font-size:clamp(34px,4.6vw,64px);max-width:960px;margin:auto;letter-spacing:-.035em;line-height:1.08}
.doc-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,80px);align-items:start;margin-bottom:clamp(50px,6vw,80px)}
.doc-toc{position:sticky;top:calc(var(--nav-h) + 24px);padding:22px 24px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface)}
.doc-toc .eyebrow{font-size:10px;margin-bottom:12px}
.doc-toc>a{display:block;font-size:13px;line-height:1.5;padding:7px 0;color:var(--ink-2);transition:color var(--fast),padding-left var(--fast) var(--ease)}
.doc-toc>a:hover{color:var(--ink);padding-left:6px}
.doc-content{max-width:780px;color:var(--ink-2);font-size:15.5px;line-height:1.85;overflow-wrap:anywhere}
.doc-content h2{font-size:clamp(22px,2.2vw,28px);line-height:1.3;color:var(--ink);margin:46px 0 16px;scroll-margin-top:calc(var(--nav-h) + 28px)}
.doc-content h3{font-size:19px;color:var(--ink);margin:30px 0 12px}
.doc-content p{margin:0 0 18px}
.doc-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(56,200,234,.4)}
.doc-content>aside{padding:20px 22px;border-radius:var(--r-m);border:1px solid rgba(246,182,58,.3);background:rgba(246,182,58,.08);color:#ffe0a8;font-size:13.5px;line-height:1.7;margin:0 0 22px}
.doc-content>p:first-of-type{font-size:12.5px;color:var(--ink-3)}
.doc-content ul,.doc-content ol{padding-left:22px}
.doc-content li{margin-bottom:8px}
.legal-links{display:flex;gap:10px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:28px 0 clamp(40px,6vw,70px);font-size:13px;color:var(--ink-3)}
.legal-links a{transition:color var(--fast)}
.legal-links a:hover{color:var(--ink)}
.reading-content{max-width:800px;font-size:17px;line-height:1.85;color:var(--ink-2);overflow-wrap:anywhere;margin:0 auto 40px}
.reading-content>div>*:first-child{margin-top:0}
.reading-content h2{font-size:clamp(26px,2.6vw,34px);line-height:1.2;color:var(--ink);margin:48px 0 18px;scroll-margin-top:calc(var(--nav-h) + 28px)}
.reading-content h3{font-size:21px;color:var(--ink);margin:32px 0 12px}
.reading-content p{margin:0 0 20px}
.reading-content strong{color:var(--ink);font-weight:600}
.reading-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(56,200,234,.4);transition:text-decoration-color var(--fast)}
.reading-content a:hover{text-decoration-color:currentColor}
.reading-content ul,.reading-content ol{padding-left:22px}
.reading-content li{margin-bottom:10px}
.reading-content li::marker{color:var(--accent)}
.reading-content img{width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:22px;border:1px solid var(--line)}
.reading-content figure{margin:34px 0}
.reading-content figcaption{font-size:12.5px;color:var(--ink-3);margin-top:10px}
.reading-content blockquote{margin:28px 0;padding:24px 28px;border-radius:0 18px 18px 0;border-left:3px solid var(--accent);background:var(--surface);color:var(--ink)}
.reading-content>div>div{padding:22px 24px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);margin:28px 0}
.reading-content>div>div>div{font-size:28px;margin-bottom:8px}
.reading-content>div>div p:last-child{margin-bottom:0}
.reading-content table{width:100%;font-size:13.5px;line-height:1.6;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.reading-content th,.reading-content td{padding:14px 12px;border-bottom:1px solid var(--line)}
.reading-content th{background:var(--surface);color:var(--ink)}
.reading-content tr:last-child td{border-bottom:0}
.reading-content table a{overflow-wrap:anywhere}
.reading-back{max-width:800px;margin:0 auto;border-top:1px solid var(--line);padding:22px 0 clamp(40px,6vw,70px)}

/* Launch signup ----------------------------------------------------------- */
.launch-signup{position:relative;max-width:760px;padding:clamp(30px,5vw,52px);border-radius:var(--r-xl);border:1px solid var(--line);background:linear-gradient(180deg,rgba(56,200,234,.12),rgba(255,255,255,.03));margin:0 auto clamp(50px,6vw,70px);overflow:hidden}
.launch-signup::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:90%;background:radial-gradient(50% 50% at 50% 50%,rgba(56,200,234,.24),transparent 70%);pointer-events:none}
.launch-signup>*{position:relative}
.launch-signup>img{width:72px;height:72px;margin-bottom:22px;border-radius:20px;box-shadow:0 20px 40px -16px rgba(0,0,0,.8)}
.launch-signup h2{font-size:clamp(28px,3.2vw,40px);margin:0 0 26px}
.signup-row{display:flex;gap:10px}
.signup-row input{min-width:0;flex:1;border-radius:50px;padding:16px 22px}
.signup-row button{border:0;flex:none}
.launch-signup form>p{font-size:12.5px;line-height:1.7;color:var(--ink-3);margin-top:18px}
.launch-signup form>p a{color:var(--accent)}
.honeypot{position:absolute;left:-5000px}

/* Press ------------------------------------------------------------------ */
.press-intro{max-width:880px;margin:0 auto clamp(40px,6vw,70px)}
.press-intro>p{font-size:clamp(20px,2.2vw,27px);letter-spacing:-.02em;line-height:1.55;color:var(--ink-2);margin:0 0 40px}
.press-intro dl{margin:0}
.press-intro dl>div{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.7}
.press-intro dt{font-weight:600;color:var(--ink)}
.press-intro dd{margin:0;color:var(--ink-2)}
.press-intro a{color:var(--accent)}

/* Responsive ------------------------------------------------------------- */
@media(max-width:1000px){
  .resource-grid{grid-template-columns:repeat(2,1fr)}
  .resource-banner{gap:30px;padding:32px}
  .doc-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}
  .faq-category{gap:24px}
}
@media(max-width:700px){
  .resource-grid{grid-template-columns:1fr;gap:14px;margin-bottom:50px}
  .resource-card{padding:26px 22px}
  .resource-banner{flex-direction:column;align-items:flex-start;padding:26px 22px;gap:18px;border-radius:24px}
  .resource-banner .pill{white-space:normal}
  .faq-tools input{padding:17px 18px 17px 50px;font-size:16px;background-position:18px center}
  .faq-filters button{padding:10px 14px;font-size:12px}
  .faq-category{grid-template-columns:1fr;gap:10px}
  .faq-category>h2{position:static;margin:8px 0}
  .doc-layout{grid-template-columns:1fr;gap:22px}
  .doc-toc{position:static}
  .document-page .page-hero h1,.editorial-page .page-hero h1{font-size:clamp(30px,8.5vw,40px)}
  .doc-content{font-size:15px}
  .reading-content{font-size:16px}
  .reading-content ul,.reading-content ol{padding-left:20px}
  .reading-content table{font-size:11.5px}
  .reading-content th,.reading-content td{padding:10px 8px}
  .launch-signup{padding:26px 20px;border-radius:24px}
  .signup-row{flex-direction:column}
  .signup-row input{font-size:16px}
  .press-intro dl>div{grid-template-columns:1fr;gap:6px}
}
