@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:light;font-family:Manrope,system-ui,sans-serif;color:#142d3e;background:#f5f7f7;line-height:1.7}*{box-sizing:border-box}body{margin:0}a{color:inherit}h1,h2,h3,.brand{font-family:Sora,system-ui,sans-serif;line-height:1.3}h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em}h2{font-size:1.65rem;margin-top:2em}h3{font-size:1.2rem;margin-top:1.6em}p{margin:1em 0}img{max-width:100%;height:auto;display:block}.site-header{background:#fff;border-bottom:1px solid #dde5e6;position:sticky;top:0;z-index:10}.site-header>div{max-width:1152px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:1.5rem;font-weight:700;text-decoration:none}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav>a{text-decoration:none;font-weight:600}.button{display:inline-block;background:#f6ae2d;color:#142d3e;border-radius:999px;padding:12px 24px;text-decoration:none;font-weight:700}.button:hover{background:#eaa023}a:focus-visible,summary:focus-visible{outline:3px solid #247a83;outline-offset:4px}main{max-width:1152px;margin:auto;padding:48px 24px 64px;min-height:70vh}time{color:#607274;font-size:.9rem}.listing-heading{max-width:760px;margin-bottom:40px}.eyebrow{letter-spacing:.12em;font-weight:700;color:#247a83;font-size:.8rem}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-card{background:white;border:1px solid #d7e1e4;border-radius:20px;overflow:hidden}.guide-card>a{display:block;height:100%;text-decoration:none}.guide-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.guide-card> a>div{padding:24px}.guide-card h2{font-size:1.2rem;margin:.65em 0}.guide-card p{color:#607274}.guide-card span{color:#247a83;font-weight:700}.guide-card:hover{border-color:#247a83}.guide-article{max-width:780px;margin:auto}.guide-article>.back{color:#607274;font-size:.9rem}.guide-article>header{margin:24px 0}.summary{color:#526574;font-size:1.15rem}.guide-article>img,.guide-body img{width:100%;border-radius:20px}.guide-body{overflow-wrap:anywhere}.guide-body a:not(.button){color:#247a83}.guide-body ul,.guide-body ol{padding-left:1.5rem}.guide-body figure{margin:32px 0}.guide-body figcaption{color:#607274;font-size:.9rem;text-align:center;margin-top:8px}.guide-callout{border-left:4px solid #247a83;background:#e8f4f5;padding:20px 24px;border-radius:0 16px 16px 0;margin:32px 0}.guide-callout h3{margin-top:0}.guide-cta{background:#142d3e;color:#fff;border-radius:24px;padding:32px;margin:40px 0}.guide-cta h2{margin-top:0}.guide-faq{margin:40px 0}.guide-faq details{background:#fff;border:1px solid #d7e1e4;border-radius:12px;margin:12px 0;padding:20px}.guide-faq summary{cursor:pointer;font-weight:700}.guide-faq details p{margin-bottom:0}.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:40px}footer{border-top:1px solid #d7e1e4;padding:24px;text-align:center;color:#607274;font-size:.9rem}.skip-link{position:absolute;left:16px;top:-80px;z-index:20;background:white;padding:12px}.skip-link:focus{top:8px}@media(max-width:900px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){main{padding:32px 20px}.guide-grid{grid-template-columns:1fr}.site-header>div{padding:12px 16px;gap:12px}.brand{font-size:1.2rem}.site-header nav{gap:12px;font-size:.85rem}.site-header .button{padding:10px 14px}.guide-cta{padding:24px}.guide-body h2{font-size:1.4rem}}

/* Article columns only; published content and the common site shell stay shared. */
.guide-layout{--guide-header-offset:96px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.guide-layout>.guide-article{min-width:0;width:100%;max-width:none;margin:0}
.guide-layout h2[id]{scroll-margin-top:var(--guide-header-offset)}
.guide-sidebar{align-self:stretch;min-width:0}
.guide-sidebar-inner{position:sticky;top:var(--guide-header-offset);display:grid;gap:20px}
.guide-toc{border:1px solid #e8dff0;background:rgba(255,255,255,.85);border-radius:20px;padding:22px;color:#3e176d}
.guide-toc h2{font-size:1.25rem;margin:0 0 18px}
.guide-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.guide-toc a{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.45;font-size:.95rem;border-left:3px solid transparent;padding-left:6px;overflow-wrap:anywhere}
.guide-toc a>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#f2edf7;font-weight:700}
.guide-toc a[aria-current="location"]{color:#6d20c5;border-color:#6d20c5;font-weight:700}
.guide-toc a[aria-current="location"]>span{background:#e8d5ff}
.guide-toc-mobile{display:none}
.guide-estimate-banner{overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:24px 20px;background:linear-gradient(145deg,rgba(232,215,255,.9),rgba(255,247,204,.85));backdrop-filter:blur(8px);box-shadow:0 8px 28px #461c7010;color:#3e176d}
.guide-estimate-banner h2{margin:0;font-size:1.65rem;letter-spacing:-.025em}
.guide-estimate-banner p{font-size:1rem;line-height:1.55;margin:14px 0}
.guide-estimate-banner img{width:100%;height:auto;object-fit:contain;margin:10px 0 18px}
.guide-estimate-button{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;background:#6421a3;color:white!important;border-radius:14px;padding:14px 12px;font-weight:700;text-decoration:none;line-height:1.4}
.guide-estimate-button:hover{background:#4d1783}
.guide-estimate-banner small{display:block;text-align:center;margin-top:10px;font-size:.8rem}
.guide-sidebar-tall .guide-sidebar-inner{display:block;position:static;height:100%}
.guide-sidebar-tall .guide-toc-desktop{margin-bottom:20px}
.guide-sidebar-tall .guide-estimate-banner{align-self:start;position:sticky;top:var(--guide-header-offset)}
.guide-banner-tall .guide-estimate-banner{position:static}
@media(max-width:900px){
 .guide-layout{display:block}
 .guide-toc-mobile{display:block;margin:28px 0}
 .guide-toc-mobile summary{font-family:Sora,system-ui,sans-serif;font-weight:700;cursor:pointer}
 .guide-toc-mobile[open] summary{margin-bottom:18px}
 .guide-toc-desktop{display:none}
 .guide-sidebar{margin-top:32px}
 .guide-sidebar-inner,.guide-sidebar-tall .guide-sidebar-inner{display:block;position:static;height:auto}
 .guide-estimate-banner,.guide-sidebar-tall .guide-estimate-banner{position:static;max-width:480px;margin:auto}
 .guide-estimate-banner img{max-width:300px;margin:14px auto}
}

/* Existing Prismic EncadréConseil variations; no dependency on removed fields. */
.guide-advice{--advice-accent:#94A3B8;margin:28px 0;padding:22px 24px;border-left:4px solid var(--advice-accent);border-radius:12px;background:#F5F6F8;max-width:100%;min-width:0;overflow-wrap:anywhere;color:#3c3450;box-shadow:none}
.guide-advice--advice{--advice-accent:#E5A52A;background:#FFFAEB}
.guide-advice--info{--advice-accent:#005DAB;background:#EFF7FF}
.guide-advice--warning{--advice-accent:#D9534F;background:#FFF2F0}
.guide-advice-heading{display:flex;align-items:flex-start;gap:12px}
.guide-advice-icon{flex:0 0 24px;margin-top:2px;color:var(--advice-accent)}
.guide-body .guide-advice-heading h3{font-size:1.15rem;font-weight:700;line-height:1.5;margin:0;min-width:0;color:#3e176d}
.guide-advice-content{line-height:1.75;margin-top:12px}
.guide-advice-content>:first-child{margin-top:0}
.guide-advice-content>:last-child{margin-bottom:0}
.guide-body .guide-advice a{color:#005DAB;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.guide-body .guide-advice a:hover{color:#3e176d}
.guide-advice-content pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.guide-advice{padding:20px}.guide-body .guide-advice-heading h3{font-size:1.1rem}}

/* Existing CTA Secondary variation (Prismic API ID: ctaSecondary). */
.cc-editorial .guide-cta.guide-cta-secondary{background:#F1EDF8;border:1px solid #E2D8EE;border-radius:16px;color:#43394C;padding:24px;margin:28px 0;min-width:0;max-width:100%}
.cc-editorial .guide-cta-secondary h2{color:#3E1766;font-size:1.4rem;margin:0 0 10px}
.cc-editorial .guide-cta-secondary p{color:#43394C;margin:0 0 14px;line-height:1.65}
.cc-editorial .guide-cta-secondary>:last-child{margin-bottom:0}
.cc-editorial .guide-cta-secondary .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #E2D8EE;color:#3E1766;box-shadow:none;border-radius:12px;min-height:44px;padding:10px 16px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.cc-editorial .guide-cta-secondary .button span{flex-shrink:0}
.cc-editorial .guide-cta-secondary .button:hover{background:#faf8fd;border-color:#b9a3d1}
@media(max-width:600px){.cc-editorial .guide-cta-secondary .button{width:100%;text-align:center}.cc-editorial .guide-cta-secondary h2{font-size:1.25rem}}

.guide-article .guide-rich-image{margin:1.5rem 0;}.guide-article .guide-rich-image img{display:block;max-width:100%;height:auto;object-fit:contain;}.guide-article .guide-rich-embed{width:100%;margin:1.5rem auto;overflow:hidden;}.guide-article .guide-rich-embed iframe{display:block;width:100%;height:100%;border:0;}.guide-article .guide-embed-link{overflow-wrap:anywhere;}

/* Passive HTML supplied by Prismic: tables and editorial CTA boxes. */
/* Server-rendered recommendations reuse the guide listing cards. */
.guide-related{margin-top:48px;color:#40156B}
.guide-related>h2{font-size:1.65rem;margin:0 0 24px}
.guide-related .guide-card{min-width:0;border-radius:20px;transition:box-shadow .15s,border-color .15s}
.guide-related .guide-card:hover{box-shadow:0 8px 24px #40156b14;border-color:#9b85b0}
.guide-related .guide-card>a{display:flex;flex-direction:column}
.guide-related .guide-card img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}
.guide-related .guide-card>a>div{display:flex;flex:1;flex-direction:column;padding:20px}
.guide-related .guide-card h3{font-size:1.15rem;line-height:1.4;margin:0 0 12px;overflow-wrap:anywhere}
.guide-related .guide-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.95rem;line-height:1.5;max-height:3em;margin:0 0 16px}
.guide-related .guide-card span{margin-top:auto;color:#6B3FA0}
@media(prefers-reduced-motion:reduce){.guide-related .guide-card{transition:none}}
.guide-html { max-width:100%; overflow-x:auto; margin:1.5rem 0; }
.guide-html table { width:100%; border-collapse:collapse; font-size:.95rem; }
.guide-html th,.guide-html td { border:1px solid #ded5eb; padding:.75rem; text-align:left; vertical-align:top; }
.guide-html th { background:#f5effc; font-weight:700; }
.guide-html caption { text-align:left; font-weight:700; margin-bottom:.75rem; }
.guide-html .cta,.guide-html .cta-box { background:#f5effc; border-left:4px solid #7446a6; border-radius:12px; padding:1.5rem; }
.guide-html .cta-button { display:inline-block; background:#f7cb46; color:#4b197b; border-radius:999px; padding:.75rem 1.25rem; font-weight:700; text-decoration:none; }

/* Shared author profile: outside article body and before related guides. */
.guide-author{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:start;gap:24px;max-width:1000px;margin:36px auto;padding:24px;background:#F6F0FC;border:1px solid #e5d8ef;border-left:4px solid #F7CB46;border-radius:16px;color:#40156B;box-sizing:border-box}
.guide-author-photo,.guide-author-placeholder{display:block;width:128px;height:128px;border-radius:50%;object-fit:cover;background:#fff}
.guide-author-placeholder{padding:28px;box-sizing:border-box;color:#9b85b0}
.guide-author-placeholder svg{width:100%;height:100%}
.guide-author-copy{min-width:0}
.guide-author-copy h2{font-size:1.2rem;line-height:1.4;margin:0 0 12px}
.guide-author-copy p{font-size:.95rem;line-height:1.65;margin:0 0 12px;overflow-wrap:anywhere}
.guide-author-copy p:last-child{margin-bottom:0}
.guide-author-copy .guide-author-name{font-size:1.1rem;font-weight:700;margin-bottom:2px}
.guide-author-copy .guide-author-role{color:#6b4e83;font-size:.9rem;margin-bottom:14px}
@media(max-width:600px){.guide-author{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;margin:28px auto}.guide-author-photo,.guide-author-placeholder{width:96px;height:96px}}

/* Shared by the React article frontend and published Prismic articles. */
/* Opt-in editorial comparison tables; other Table slices keep their design. */
.guide-table-slice table.guide-comparison-table { min-width:540px; }
.guide-table-slice table.guide-comparison-table th,.guide-table-slice table.guide-comparison-table td { text-align:left; vertical-align:top; }
.guide-table-slice table.guide-comparison-table thead th { background:#6B3FA0; color:#fff; text-align:left; }
.guide-table-slice { min-width:0; max-width:100%; }
.guide-table-slice .guide-html {
  max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  border-radius:12px; border:1px solid #e4d8ef;
}
.guide-table-slice table {
  width:100%; border-collapse:separate; border-spacing:0;
  border-radius:12px; overflow:hidden;
}
.guide-table-slice th,.guide-table-slice td {
  padding:1rem 1.25rem; text-align:center; vertical-align:middle;
  line-height:1.6; border:0; border-bottom:1px solid #e4d8ef;
}
.guide-table-slice tbody tr:nth-child(odd) { background:#fff; }
.guide-table-slice tbody tr:nth-child(even) { background:#F6F0FC; }
.guide-table-slice tbody th { background:transparent; color:inherit; }
.guide-table-slice thead th,
.guide-table-slice table>tr:first-child>th,
.guide-table-slice tbody:first-child>tr:first-child>th {
  background:#40156B; color:#fff; text-align:center; font-weight:700;
}
.guide-table-slice tbody tr:last-child>* { border-bottom:0; }
@media(max-width:600px) {
  .guide-table-slice th,.guide-table-slice td { min-width:8rem; padding:.85rem 1rem; font-size:.9rem; }
}
