
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--cream:#fff5df;--paper:#fffaf1;--blue:#3159d6;--orange:#ef744b;--yellow:#f6d85f;--green:#68a87c;--purple:#8b67d1;--ink:#17213b;--muted:#657087;--line:#ddd1bd;--white:#fff;--shadow:0 24px 70px rgba(23,33,59,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}h1,h2,h3,h4{font-family:"Manrope",sans-serif;letter-spacing:-.05em}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:3000;background:#fff;padding:.8rem}.skip-link:focus{top:1rem}
.topbar{background:var(--blue);color:#fff;font-size:.72rem}.topbar .container-fluid{min-height:38px;display:flex;justify-content:center;align-items:center;gap:4rem}.topbar a{color:var(--yellow);border-bottom:1px solid currentColor}
.site-header{position:sticky;top:0;z-index:1100;background:rgba(255,245,223,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navbar{min-height:84px}.navbar-brand{display:flex;align-items:center;gap:.7rem}.brand-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:18px 48% 48% 48%;background:var(--orange);color:#fff;font-family:"Manrope";font-size:1.4rem;font-weight:800}.navbar-brand>span:last-child{display:flex;flex-direction:column}.navbar-brand strong{font-size:.95rem}.navbar-brand small{font-size:.64rem;color:var(--muted)}.nav-link{font-size:.73rem;font-weight:700;padding:.8rem .7rem!important;border-radius:999px}.nav-link:hover,.nav-link.active{background:#fff;color:var(--blue)}.nav-actions{display:flex;gap:.5rem}.offcanvas{z-index:1200!important;background:var(--cream)}.offcanvas-backdrop{z-index:1150!important}.offcanvas-title{font-family:"Manrope";font-weight:800}
.btn{border-radius:999px;padding:.82rem 1.15rem;font-weight:700;transition:.2s}.btn-brand{background:var(--blue);color:#fff;border:1px solid var(--blue)}.btn-brand:hover{background:#244ac3;color:#fff;transform:translateY(-2px)}.btn-outline-brand{border:1px solid var(--blue);color:var(--blue);background:transparent}.btn-outline-brand:hover{background:var(--blue);color:#fff}.btn-yellow{background:var(--yellow);color:var(--ink);border:0}.btn-yellow:hover{background:#edcb43}
.section-space{padding:7rem 0}.eyebrow{display:inline-block;font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem}.eyebrow.light{color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem}.section-heading h2{font-size:clamp(3rem,5.6vw,5.8rem);line-height:.94;max-width:950px}.section-heading>p{max-width:520px;color:var(--muted);line-height:1.75}.text-link{font-weight:700;color:var(--blue)}
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 122px);overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:6vw}.hero-copy h1{font-size:clamp(4.5rem,7.5vw,7.8rem);line-height:.88}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{max-width:650px;font-size:1.1rem;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.hero-proof{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}.hero-proof span{padding:.7rem 1rem;border-radius:18px;background:#fff;border:1px solid var(--line)}.hero-proof strong{display:block}.hero-visual{display:grid;place-items:center;padding:5vw;background:var(--yellow);position:relative}.hero-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:90%;transform:rotate(-2deg)}.board-note{min-height:170px;padding:1.2rem;border-radius:26px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:end}.board-note span{font-family:"Manrope";font-size:2rem}.board-note strong{font-size:1.25rem}.board-note small{color:var(--muted)}.note-orange{background:#ffd8c9}.note-blue{background:#dbe4ff}.note-green{background:#dcecdf}.note-purple{background:#e8def8}.note-yellow{background:#fff0ad;grid-column:span 2}.board-arrow{position:absolute;right:8%;bottom:5%;font-size:4rem}.hero-badge{position:absolute;right:4%;top:8%;width:130px;height:130px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#fff;text-align:center;font-family:"Manrope";font-weight:800;transform:rotate(9deg)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.path-grid a{padding:1.5rem;border-radius:28px;background:#fff;border:1px solid var(--line);transition:.22s}.path-grid a:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.path-grid span{font-family:"Manrope";font-size:2rem;color:var(--orange)}.path-grid i{float:right;font-size:2rem;color:var(--blue)}.path-grid h3{font-size:1.45rem;margin-top:1.5rem}.path-grid p{color:var(--muted)}
.diagnostic{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;padding:6rem 5vw;background:var(--green);color:#fff}.diagnostic-copy h2{font-size:5rem;line-height:.92}.diagnostic-copy p{color:#e5f0e7}.diagnostic-widget{padding:2rem;border-radius:32px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.diag-step{display:none}.diag-step.active{display:block}.diag-step h3{font-size:2.2rem}.diag-step>button:not(.diag-restart){display:block;width:100%;margin:.7rem 0;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--paper);text-align:left;font-weight:700}.diag-step>button:hover{background:var(--yellow)}.diag-result{padding:1rem;border-radius:18px;background:#e8efff}.diag-restart{display:block;margin-top:1rem;border:0;background:transparent;text-decoration:underline}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.article-grid article{padding:1rem;border-radius:28px;background:#fff;border:1px solid var(--line)}.article-grid img{width:100%;height:260px;object-fit:cover;border-radius:22px}.article-grid span{display:block;margin-top:1rem;font-size:.63rem;color:var(--orange);letter-spacing:.1em}.article-grid h3{font-size:1.5rem}.article-grid p{color:var(--muted)}.article-grid a{font-weight:700;color:var(--blue)}
.services-teaser{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--purple);color:#fff}.service-intro{padding:6vw}.service-intro h2{font-size:5rem;line-height:.92}.service-intro p{color:#eee8fa}.service-list>div{display:grid;grid-template-columns:70px 1fr auto;align-items:center;padding:1.6rem 2rem;border-bottom:1px solid rgba(255,255,255,.25)}.service-list span{font-family:"Manrope";font-size:2rem;color:var(--yellow)}.service-list h3{margin:0}.service-list strong{color:var(--yellow)}
.template-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.template-preview-grid article{border-radius:30px;overflow:hidden;background:#fff;border:1px solid var(--line)}.template-preview-grid img{width:100%;height:300px;object-fit:cover}.template-preview-grid article>div{padding:1.2rem}.template-preview-grid span{font-size:.63rem;color:var(--orange)}.template-preview-grid p{color:var(--muted)}.template-preview-grid a{font-weight:700;color:var(--blue)}
.newsletter{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;padding:5rem 5vw;background:var(--orange);color:#fff}.newsletter h2{font-size:4rem}.newsletter form{display:flex;gap:.6rem}.newsletter .form-control{min-width:320px}
.page-hero{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end;padding:6rem 5vw;overflow:hidden}.page-hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}.page-hero p{font-size:1.08rem;line-height:1.7}.page-hero-blue{background:var(--blue);color:#fff}.page-hero-orange{background:var(--orange);color:#fff}.page-hero-green{background:var(--green);color:#fff}.page-hero-purple{background:var(--purple);color:#fff}.page-hero-yellow{background:var(--yellow)}
.journey-nav{position:sticky;top:105px;z-index:10;display:flex;gap:.4rem;overflow:auto;padding:.7rem;background:rgba(255,250,241,.96);border:1px solid var(--line);border-radius:999px}.journey-nav a{white-space:nowrap;padding:.55rem .75rem;border-radius:999px}.journey-nav a:hover{background:var(--blue);color:#fff}.journey-steps{margin-top:4rem}.journey-steps article{display:grid;grid-template-columns:220px 1fr;gap:2rem;padding:3rem 0;border-top:1px solid var(--line)}.journey-steps article>span{font-family:"Manrope";font-size:1.2rem;color:var(--orange)}.journey-steps h2{font-size:3.6rem}.journey-steps p,.journey-steps li{color:var(--muted);line-height:1.7}.journey-steps ul,.journey-steps a,.journey-steps .warning-box{grid-column:2}.warning-box{padding:1rem;border-left:5px solid var(--orange);background:#fff1eb}.blog-toolbar,.template-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}.search-box{display:grid;grid-template-columns:40px 1fr;align-items:center;border-bottom:2px solid var(--ink)}.search-box input{border:0;background:transparent;padding:.8rem 0;outline:0}.category-filters{display:flex;flex-wrap:wrap;gap:.4rem}.category-filters button{padding:.6rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff}.category-filters button.active{background:var(--blue);color:#fff}.empty-state{text-align:center;padding:4rem}
.single-article{background:var(--paper)}.article-header{padding:7rem 5vw 5rem;background:var(--yellow)}.article-header>div{max-width:1000px}.article-header h1{font-size:clamp(4rem,7vw,7rem);line-height:.92}.article-header>div>p{font-size:1.15rem;max-width:760px}.article-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.article-meta span{padding:.5rem .7rem;border-radius:999px;background:#fff}.article-layout{display:grid;grid-template-columns:260px 1fr;gap:5rem;padding-top:5rem;padding-bottom:6rem}.article-toc{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:.6rem}.article-toc a{color:var(--muted)}.article-content{max-width:850px}.article-content section{margin-bottom:4rem}.article-content h2{font-size:2.6rem}.article-content p,.article-content li{font-size:1.05rem;line-height:1.8;color:#4f5870}.article-content blockquote{padding:1.5rem;border-radius:24px;background:#e8efff;font-family:"Manrope";font-size:1.5rem}.key-box{padding:1rem;border-radius:18px;background:#e8f1e9}.article-cta{padding:2rem;border-radius:30px;background:var(--blue);color:#fff}.article-cta p{color:#dbe3ff}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.tools-grid article{padding:1.5rem;border-radius:28px;background:#fff;border:1px solid var(--line)}.tools-grid i{font-size:2.5rem;color:var(--orange)}.tools-grid p{color:var(--muted)}.tool-open{border:0;background:transparent;color:var(--blue);font-weight:700}.tool-panel{display:none;grid-template-columns:.8fr 1.2fr;gap:4rem;padding:3rem;border-radius:34px;background:#fff}.tool-panel.active{display:grid}.tool-copy h2{font-size:3.5rem}.tool-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tool-form label{font-size:.72rem;font-weight:700}.tool-form input{display:block;width:100%;padding:.8rem;margin-top:.5rem;border:1px solid var(--line);border-radius:14px}.tool-result{grid-column:span 2;padding:1.5rem;border-radius:20px;background:var(--yellow);font-family:"Manrope";font-size:1.4rem}.checklist{display:grid;gap:.7rem}.checklist label{padding:1rem;border-radius:16px;background:var(--paper)}
.service-process{display:grid;grid-template-columns:repeat(4,1fr)}.service-process>div{padding:1.5rem;border-right:1px solid var(--line);background:#fff}.service-process span{font-family:"Manrope";font-size:2rem;color:var(--orange)}.service-process p{color:var(--muted)}.service-packages,.pricing-table{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-packages article,.pricing-table article{position:relative;padding:2rem;border-radius:34px;background:#fff;border:1px solid var(--line)}.service-packages article.featured,.pricing-table article.featured{background:#e6ecff;transform:translateY(-1rem);box-shadow:var(--shadow)}.service-packages em,.pricing-table em{position:absolute;right:1.3rem;top:1.3rem;font-style:normal;font-size:.62rem}.service-packages span{font-size:.64rem;color:var(--orange)}.service-packages h3{font-size:2rem}.service-packages strong{display:block;font-family:"Manrope";font-size:1.7rem}.service-packages li,.pricing-table li{margin:.7rem 0}.included-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;margin-top:6rem;padding:4rem;border-radius:36px;background:var(--blue);color:#fff}.included-section h2{font-size:4rem}.included-grid{display:grid;gap:1rem}.included-grid article{padding:1.2rem;border-radius:20px;background:rgba(255,255,255,.1)}.templates-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.template-card{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:32px;overflow:hidden;background:#fff;border:1px solid var(--line)}.template-card>img{width:100%;height:100%;min-height:360px;object-fit:cover}.template-card>div{padding:1.4rem}.template-card span{font-size:.62rem;color:var(--orange)}.template-card h2{font-size:2rem}.template-card p{color:var(--muted)}.template-card strong{display:block;font-family:"Manrope";font-size:1.35rem;margin-bottom:1rem}.template-card>div>div{display:flex;gap:.5rem;flex-wrap:wrap}
.template-detail-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:75vh}.template-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:6vw}.template-detail-copy h1{font-size:5.5rem}.template-detail-copy p{color:var(--muted)}.template-detail-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.template-detail-preview{padding:4vw;background:var(--yellow);display:grid;place-items:center}.template-detail-preview img{width:100%;max-height:620px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}.detail-columns{display:grid;grid-template-columns:1fr .7fr;gap:5rem}.detail-columns h2{font-size:4rem}.price-summary{padding:2rem;border-radius:30px;background:#fff;border:1px solid var(--line)}.price-summary span{font-size:.65rem}.price-summary strong{display:block;font-family:"Manrope";font-size:3rem}.price-summary p{color:var(--muted)}
.pricing-page .pricing-table article h2{font-size:4rem}.options-list{padding:2rem;border-radius:30px;background:#fff}.options-list>div{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about-story h2{font-size:4.5rem}.about-story p{font-size:1.08rem;line-height:1.8;color:var(--muted)}.about-values{display:grid;grid-template-columns:repeat(4,1fr)}.about-values article{padding:1.5rem;border-right:1px solid var(--line);background:#fff}.about-values span{font-family:"Manrope";font-size:2rem;color:var(--orange)}.about-values p{color:var(--muted)}
.contact-page{display:grid;grid-template-columns:.85fr 1.15fr;min-height:80vh}.contact-copy{padding:6vw;background:var(--blue);color:#fff}.contact-copy h1{font-size:5.5rem;line-height:.9}.contact-copy>p{color:#dce4ff}.contact-info{margin-top:3rem;border-top:1px solid rgba(255,255,255,.3)}.contact-info>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.3)}.contact-form-wrap{padding:5vw;background:#fff}.contact-form-wrap h2{font-size:4rem}.form-label{font-size:.72rem;font-weight:700}.form-control,.form-select{border-radius:15px;border:1px solid var(--line);min-height:52px;box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:var(--blue)}
.footer{padding:7rem 0 1.5rem;background:var(--ink);color:#aab4cb}.footer-cta{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding-bottom:4rem;border-bottom:1px solid #35405c}.footer-cta h2{font-size:4.8rem;color:#fff}.footer-cta p{max-width:650px}.footer-cta>div:last-child{display:flex;gap:.6rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:3rem;padding:3rem 0}.footer-logo{font-family:"Manrope";font-size:1.5rem;font-weight:800;color:#fff}.footer p{color:#7e8aa5}.footer h3{font-family:"DM Sans";font-size:.65rem;letter-spacing:.12em;color:var(--yellow)}.footer li{margin:.55rem 0}.footer a{color:#aab4cb}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid #35405c;color:#66738f;font-size:.75rem}.toast-demo{position:fixed;right:1rem;bottom:1rem;z-index:2100;display:none;max-width:390px;padding:1rem 1.2rem;border-radius:20px;background:var(--yellow);box-shadow:var(--shadow)}.toast-demo.active{display:block}
@media(max-width:1199.98px){.path-grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr 1fr}.today-grid{grid-template-columns:1fr 1fr}.templates-grid{grid-template-columns:1fr}.about-values{grid-template-columns:1fr 1fr}}
@media(max-width:991.98px){.offcanvas{position:fixed!important;inset:0 0 0 auto;height:100dvh}.offcanvas-body{display:flex;flex-direction:column}.nav-actions{flex-direction:column;margin-top:1.5rem}.nav-actions .btn{width:100%}.hero,.diagnostic,.services-teaser,.newsletter,.tool-panel,.included-section,.template-detail-hero,.contact-page{grid-template-columns:1fr}.hero-visual{min-height:650px}.section-heading{align-items:flex-start;flex-direction:column}.service-packages,.pricing-table{grid-template-columns:1fr}.service-packages article.featured,.pricing-table article.featured{transform:none}.journey-steps article{grid-template-columns:1fr}.journey-steps ul,.journey-steps a,.journey-steps .warning-box{grid-column:auto}.article-layout{grid-template-columns:1fr}.article-toc{position:static}.service-process{grid-template-columns:1fr 1fr}.template-card{grid-template-columns:1fr}.template-card>img{height:340px}.about-story,.detail-columns{grid-template-columns:1fr}.footer-cta{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){.section-space{padding:5rem 0}.hero-copy h1{font-size:4rem}.hero-board{width:100%}.path-grid,.article-grid,.template-preview-grid,.tools-grid{grid-template-columns:1fr}.service-list>div{grid-template-columns:55px 1fr}.service-list strong{grid-column:2}.newsletter form{flex-direction:column}.newsletter .form-control{min-width:0}.page-hero{grid-template-columns:1fr}.blog-toolbar,.template-toolbar{grid-template-columns:1fr}.service-process{grid-template-columns:1fr}.templates-grid{grid-template-columns:1fr}.about-values{grid-template-columns:1fr}.footer-cta>div:last-child{flex-direction:column;width:100%}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}
@media(max-width:520px){.topbar span{display:none}.topbar .container-fluid{justify-content:center}.navbar-brand small{display:none}.hero-copy{padding:4rem 1.2rem}.hero-copy h1{font-size:3.45rem}.hero-visual{min-height:560px}.hero-board{grid-template-columns:1fr}.note-yellow{grid-column:auto}.diagnostic,.included-section{padding:4rem 1.2rem}.diagnostic-copy h2,.service-intro h2,.included-section h2{font-size:3.5rem}.contact-copy h1,.template-detail-copy h1{font-size:4rem}.footer-cta h2{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}*{transition:none!important}}

/* Django integration adapters */
body {
    overflow-x: hidden;
}

h1,
h2,
h3,
h4 {
    letter-spacing: 0;
}

.messages {
    width: min(100% - 32px, 1180px);
    margin: 1rem auto 0;
}

.message {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 16px 38px rgba(23, 33, 59, .08);
}

.message-success {
    border-color: rgba(104, 168, 124, .38);
    background: #edf7ef;
}

.form-errors,
.errorlist {
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 18px;
    background: #fff1eb;
    color: #9f3c21;
    list-style: none;
}

.footer-newsletter-panel {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 2rem;
    align-items: start;
    padding: 3rem 0;
    border-bottom: 1px solid #35405c;
}

.footer-newsletter-panel h2 {
    max-width: 580px;
    color: #fff;
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: .98;
}

.footer-newsletter-panel p {
    max-width: 620px;
}

.footer-newsletter-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: .75rem;
}

.footer-newsletter-form input:not([type="checkbox"]) {
    min-height: 54px;
    padding: .8rem 1rem;
    border: 1px solid #35405c;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.footer-newsletter-form input::placeholder {
    color: #aab4cb;
}

.footer-newsletter-form input[name="website"] {
    position: absolute;
    left: -9999px;
}

.footer-newsletter-consent {
    grid-column: 1 / -1;
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    color: #aab4cb;
    font-size: .86rem;
}

.footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem .9rem;
    margin-top: 1rem;
}

.footer-legal-links a {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-header .navbar-toggler {
    color: var(--ink);
    font-size: 1.8rem;
}

.site-header .nav-link {
    letter-spacing: 0;
}

.offcanvas.offcanvas-end:not(.show) {
    width: 0;
    border: 0;
    overflow: hidden;
}

.offcanvas.offcanvas-end.show,
.offcanvas.offcanvas-end.showing {
    width: var(--bs-offcanvas-width);
    overflow: visible;
}

.hero {
    color: var(--ink);
    background: transparent !important;
}

.hero::before,
.hero::after {
    display: none;
}

.hero-copy h1,
.hero-proof span,
.board-note {
    color: var(--ink);
}

.hero-copy h1 em {
    color: var(--blue);
}

.hero-proof span {
    min-width: 0;
}

.section {
    width: min(100% - 32px, 1240px);
    margin: 0 auto;
    padding: 6rem 0;
}

.section-muted {
    width: 100%;
    max-width: none;
    padding: 6rem max(16px, calc((100% - 1240px) / 2));
    background: var(--paper);
}

.split-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 4rem;
}

.text-stack p,
.info-card p,
.topic-item p {
    color: var(--muted);
}

.info-grid,
.topic-list,
.category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.topic-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.info-card,
.topic-item,
.category-tile {
    padding: 1.5rem;
    border: 1px solid var(--line) !important;
    border-radius: 28px;
    background: #fff;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-radius: 999px;
    padding: .82rem 1.15rem;
    border: 1px solid transparent;
    font-weight: 700;
}

.button-primary {
    background: var(--blue);
    color: #fff;
}

.button-secondary {
    border-color: var(--blue);
    color: var(--blue);
    background: transparent;
}

.compact-hero {
    display: block;
    padding: 6rem 5vw;
    background: var(--yellow);
}

.compact-hero > div {
    max-width: 1050px;
}

.compact-hero h1 {
    font-size: clamp(3.4rem, 6.5vw, 6.4rem);
    line-height: .94;
}

.selectable-template {
    position: relative;
}

.template-radio {
    position: absolute;
    z-index: 3;
    top: 1rem;
    left: 1rem;
    width: 1.25rem;
    height: 1.25rem;
    accent-color: var(--portfolio-accent);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, .9);
}

.selectable-template:has(.template-radio:checked),
.custom-template-choice:has(.template-radio:checked) {
    border-color: var(--portfolio-accent);
    box-shadow: 0 24px 70px rgba(23, 33, 59, .14);
}

.selectable-template:has(.template-radio:checked)::after {
    content: "Sélectionné";
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: .42rem .75rem;
    border-radius: 999px;
    background: var(--portfolio-accent);
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
}

.custom-template-choice {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    padding: 2rem;
    border: 1px solid var(--line);
    border-radius: 32px;
    background: #fff;
}

.custom-template-choice > div {
    padding-left: 2rem;
}

.service-brief-panel {
    scroll-margin-top: 110px;
}

.brief-check-row {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    margin-top: 1rem;
    color: var(--muted);
}

.brief-check-row input {
    margin-top: .25rem;
}

.form-footnote {
    margin-top: 1rem;
    color: var(--muted);
}

.contact-form-wrap textarea {
    min-height: 132px;
}

.contact-form-wrap input[name="website"] {
    position: absolute;
    left: -9999px;
}

.template-card p b {
    color: var(--ink);
}

.template-card .btn {
    margin-top: .2rem;
}

.page-hero {
    min-height: 58vh;
}

.article-card .card-body {
    padding: 1.1rem .2rem .1rem;
}

.article-card h2 {
    font-size: 1.5rem;
}

.read-more,
.card-meta {
    color: var(--blue);
    font-weight: 700;
}

@media (max-width: 991.98px) {
    .footer-newsletter-panel,
    .split-section,
    .info-grid,
    .topic-list,
    .category-grid {
        grid-template-columns: 1fr;
    }

    .footer-newsletter-form {
        grid-template-columns: 1fr;
    }

    .custom-template-choice {
        grid-template-columns: 1fr;
    }

    .custom-template-choice > div {
        padding-left: 2rem;
    }
}

.dashboard-section .editor-form .form-panel > h2 {
    margin: 0 0 1.15rem;
    font-size: 1.35rem;
    line-height: 1.25;
}

.dashboard-section .rich-editor-surface h2 {
    margin: 1.5rem 0 .65rem;
    font-size: 1.55rem;
    line-height: 1.25;
}

.dashboard-section .rich-editor-surface h3 {
    margin: 1.15rem 0 .5rem;
    font-size: 1.2rem;
    line-height: 1.3;
}

@media (max-width: 767.98px) {
    .section,
    .section-muted {
        width: min(100% - 24px, 1240px);
        padding: 5rem 0;
    }

    .page-hero h1 {
        font-size: clamp(3.1rem, 14vw, 4.4rem);
    }

    .footer-newsletter-panel {
        padding: 2.5rem 0;
    }
}

/* Blog structure polish */
.brand-icon {
    font-size: .9rem;
    letter-spacing: 0;
}

.site-header .navbar {
    min-height: 82px;
}

.site-header .container-fluid,
.footer .container-fluid,
.section-space .container-fluid {
    width: min(100% - 32px, 1320px);
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.blog-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    min-height: calc(100vh - 82px);
    padding: clamp(4.5rem, 7vw, 7rem) max(16px, calc((100% - 1320px) / 2));
    background: var(--cream);
    overflow: hidden;
}

.blog-home-hero-copy {
    max-width: 760px;
}

.blog-home-hero-copy h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(4rem, 8vw, 7rem);
    line-height: .9;
}

.blog-home-hero-copy .hero-text {
    max-width: 680px;
    color: var(--muted);
    font-size: clamp(1.05rem, 1.4vw, 1.24rem);
    line-height: 1.75;
}

.blog-home-hero-board {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border-radius: 38px;
    background: var(--yellow);
    transform: rotate(-1.5deg);
}

.blog-home-hero-board .board-note {
    min-height: 190px;
}

.blog-home-hero-board .board-note:nth-child(3) {
    transform: translateY(14px);
}

.blog-home-hero-board .board-note:nth-child(4) {
    transform: translateY(-8px);
}

.section,
.section-muted {
    padding-top: clamp(4.5rem, 7vw, 7rem);
    padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.section-heading {
    gap: clamp(1.5rem, 4vw, 4rem);
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.section-heading h2,
.section h2,
.section-muted h2 {
    font-size: clamp(2.25rem, 4.2vw, 4.35rem);
    line-height: 1.03;
}

.split-section {
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.text-stack {
    display: grid;
    gap: 1rem;
}

.text-stack p {
    margin: 0;
    font-size: 1.03rem;
    line-height: 1.85;
}

.info-grid,
.topic-list,
.category-grid {
    gap: 1.15rem;
}

.info-card,
.topic-item,
.category-tile {
    min-height: 100%;
    padding: clamp(1.35rem, 2.3vw, 2rem);
    box-shadow: 0 16px 42px rgba(23, 33, 59, .07);
}

.info-card h3,
.topic-item h3 {
    margin-bottom: .9rem;
    font-size: 1.28rem;
    line-height: 1.25;
}

.info-card p,
.topic-item p {
    margin: 0;
    line-height: 1.72;
}

.topic-list {
    align-items: stretch;
}

.magazine-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 1.25rem;
    align-items: stretch;
}

.featured-story {
    display: grid;
    grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 32px;
    background: #fff;
    box-shadow: var(--shadow);
}

.featured-media {
    position: relative;
    min-height: 420px;
}

.featured-media img,
.side-story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-copy {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.featured-copy h3 {
    font-size: clamp(1.9rem, 3vw, 3rem);
    line-height: 1.05;
}

.featured-copy p {
    color: var(--muted);
    line-height: 1.75;
}

.side-stories {
    display: grid;
    gap: 1rem;
}

.side-story {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: #fff;
}

.side-story-image {
    height: 108px;
    overflow: hidden;
    border-radius: 18px;
}

.side-story small {
    display: block;
    margin-bottom: .35rem;
    color: var(--orange);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.side-story strong {
    display: block;
    line-height: 1.25;
}

.article-grid-spaced {
    margin-top: 1.25rem;
}

.category-tile {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.category-tile span {
    font-family: "Manrope", sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
}

.category-tile small {
    color: var(--muted);
}

.cta-band {
    display: flex;
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    justify-content: space-between;
    padding: clamp(2rem, 4vw, 3rem);
    border: 1px solid var(--line);
    border-radius: 34px;
    background: #fff;
    box-shadow: var(--shadow);
}

.cta-band h2 {
    margin-bottom: 1rem;
}

.cta-band p:not(.eyebrow) {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.75;
}

.footer-cta {
    align-items: center;
}

.footer-cta h2 {
    max-width: 760px;
    font-size: clamp(2.5rem, 4.6vw, 4.7rem);
    line-height: 1;
}

.footer-cta p {
    margin-top: 1rem;
    line-height: 1.75;
}

.footer-cta > div:last-child {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.service-process,
.service-packages,
.included-section,
.templates-grid,
.contact-page {
    scroll-margin-top: 104px;
}

.page-hero h1 {
    font-size: clamp(3.4rem, 6vw, 5.6rem);
    line-height: .98;
}

.page-hero p {
    max-width: 560px;
    line-height: 1.8;
}

.included-section h2,
.contact-copy h1,
.contact-form-wrap h2 {
    font-size: clamp(2.4rem, 4.6vw, 4.2rem);
    line-height: 1.03;
}

.template-card h2 {
    line-height: 1.08;
}

.template-card p {
    line-height: 1.68;
}

.template-card > div > div {
    margin-top: 1rem;
}

[data-template-target] {
    cursor: pointer;
}

@media (max-width: 1199.98px) {
    .blog-home-hero {
        grid-template-columns: 1fr;
    }

    .blog-home-hero-board {
        max-width: 760px;
    }

    .info-grid,
    .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .magazine-grid,
    .featured-story {
        grid-template-columns: 1fr;
    }

    .featured-media {
        min-height: 320px;
    }
}

@media (max-width: 767.98px) {
    .site-header .container-fluid,
    .footer .container-fluid,
    .section-space .container-fluid {
        width: min(100% - 24px, 1320px);
    }

    .blog-home-hero {
        min-height: auto;
        padding: 4rem 12px;
    }

    .blog-home-hero-copy h1 {
        font-size: clamp(3.35rem, 15vw, 4.55rem);
    }

    .blog-home-hero-board {
        grid-template-columns: 1fr;
        transform: none;
    }

    .blog-home-hero-board .board-note,
    .blog-home-hero-board .board-note:nth-child(3),
    .blog-home-hero-board .board-note:nth-child(4) {
        min-height: 150px;
        transform: none;
    }

    .info-grid,
    .topic-list,
    .category-grid {
        grid-template-columns: 1fr;
    }

    .side-story {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .side-story-image {
        height: 92px;
    }

    .cta-band {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-band .btn {
        width: 100%;
    }

    .page-hero h1 {
        font-size: clamp(2.85rem, 12vw, 4rem);
    }
}

/* Visual corrections after Bootstrap source-theme import */
.section-heading h2,
.split-section h2 {
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.cta-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: center;
    margin-bottom: 0;
    padding: clamp(1.5rem, 3.5vw, 2.6rem);
    border-radius: 28px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 18px 52px rgba(16, 24, 40, .1);
}

.cta-band h2 {
    margin: .25rem 0 .85rem;
    color: var(--ink);
    font-size: clamp(1.75rem, 2.65vw, 2.45rem) !important;
    line-height: 1.08;
}

.cta-band .eyebrow {
    color: var(--orange);
}

.cta-band p:not(.eyebrow) {
    max-width: 760px;
    color: var(--muted) !important;
    font-size: clamp(.98rem, 1.1vw, 1.08rem);
    line-height: 1.65;
}

.footer-newsletter-panel {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: center;
    margin: 2.5rem 0 0;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 28px;
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.footer-newsletter-panel .eyebrow,
.footer-newsletter-panel h2,
.footer-newsletter-panel p {
    color: #fff;
}

.footer-newsletter-panel h2 {
    margin: .25rem 0 .75rem;
    font-size: clamp(1.55rem, 2.45vw, 2.25rem);
    line-height: 1.08;
}

.footer-newsletter-panel p {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
}

.footer-newsletter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: .75rem;
    align-items: center;
}

.footer-newsletter-form input:not([type="checkbox"]):not([name="website"]) {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    padding: .75rem 1rem;
    color: #fff;
    background: rgba(255, 255, 255, .12);
}

.footer-newsletter-form input:not([type="checkbox"]):not([name="website"])::placeholder {
    color: rgba(255, 255, 255, .68);
}

.footer-newsletter-form input[name="website"] {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.footer-newsletter-consent {
    grid-column: 1 / -1;
    color: rgba(255, 255, 255, .76);
    font-size: .86rem;
    line-height: 1.45;
}

.article-grid,
.article-grid.wide-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.45rem) !important;
}

.article-grid.wide-grid {
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.article-card {
    min-width: 0;
    border-radius: 22px;
}

.article-card > .card-body {
    gap: .7rem;
    padding: clamp(1.05rem, 2vw, 1.35rem) !important;
}

.article-card > .card-body .card-meta {
    font-size: .82rem;
    line-height: 1.3;
}

.section .article-card h2,
.article-card > .card-body h2,
.article-card > .card-body h3 {
    margin: 0;
    color: var(--ink);
    font-size: clamp(1.22rem, 1.65vw, 1.55rem) !important;
    line-height: 1.18;
    letter-spacing: 0;
    overflow-wrap: break-word;
}

.article-card > .card-body p:not(.card-meta) {
    color: var(--muted);
    font-size: .96rem;
    line-height: 1.55;
}

.article-card > .card-body .read-more {
    margin-top: .35rem;
    font-size: .95rem;
}

.card-image,
.article-photo {
    aspect-ratio: 16 / 9;
    min-height: 0;
}

.article-card .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-lead {
    grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
    min-height: 0;
    margin-bottom: 1.75rem;
}

.blog-lead-image {
    min-height: 280px;
    aspect-ratio: 16 / 10;
}

.blog-lead-copy {
    gap: .9rem;
    padding: clamp(1.5rem, 3vw, 2.4rem) !important;
}

.section .blog-lead-copy h2,
.blog-lead-copy h2 {
    font-size: clamp(1.75rem, 3vw, 2.55rem) !important;
    line-height: 1.1;
}

.blog-lead-copy p {
    line-height: 1.62;
}

.templates-page .templates-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.45rem);
    align-items: start;
}

.templates-page .template-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 24px;
    overflow: hidden;
}

.templates-page .template-card > img {
    width: 100%;
    height: clamp(170px, 14vw, 210px) !important;
    min-height: 0 !important;
    object-fit: cover;
    object-position: top center;
    border-bottom: 1px solid var(--line);
}

.templates-page .template-card > div {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .5rem;
    padding: clamp(1rem, 1.6vw, 1.15rem) !important;
}

.templates-page .template-card span {
    margin: 0;
    color: var(--orange);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.templates-page .template-card h2 {
    margin: 0;
    max-width: 100%;
    font-size: clamp(1.16rem, 1.5vw, 1.42rem) !important;
    line-height: 1.12;
    overflow-wrap: break-word;
}

.templates-page .template-card p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.48;
}

.templates-page .template-card strong {
    margin: .1rem 0;
    font-size: .96rem !important;
    line-height: 1.35;
}

.templates-page .template-card > div > div {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: .25rem;
}

.templates-page .template-card .btn {
    padding: .68rem .9rem;
    font-size: .88rem;
    line-height: 1.1;
}

@media (max-width: 1199.98px) {
    .article-grid,
    .article-grid.wide-grid,
    .templates-page .templates-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .footer-newsletter-panel,
    .blog-lead {
        grid-template-columns: 1fr;
    }

    .footer-newsletter-form {
        grid-template-columns: 1fr;
    }

    .footer-newsletter-form .btn {
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .section-heading h2,
    .split-section h2 {
        font-size: clamp(1.85rem, 9vw, 2.55rem);
    }

    .cta-band,
    .article-grid,
    .article-grid.wide-grid,
    .templates-page .templates-grid {
        grid-template-columns: 1fr;
    }

    .blog-lead-image {
        min-height: 220px;
    }

    .templates-page .template-card > img {
        aspect-ratio: 16 / 10;
    }
}

/* Django blog: keep the original compact design while adding semantic content. */
.page-hero.compact-hero {
    display: block;
    min-height: 0;
    padding: 0;
    background: linear-gradient(135deg, #dff4ff 0%, #f5e8ff 48%, #fff3e8 100%);
}

.page-hero.compact-hero > div {
    width: min(1240px, calc(100% - 32px));
    max-width: none;
    margin: 0 auto;
    padding: clamp(3rem, 5vw, 4.5rem) 0 clamp(2.5rem, 4vw, 3.75rem);
}

.page-hero.compact-hero h1 {
    max-width: 920px;
    font-size: clamp(2.1rem, 3.8vw, 3.25rem);
    line-height: 1.08;
}

.page-hero.compact-hero p:not(.eyebrow) {
    max-width: 760px;
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.65;
}

.section .blog-lead {
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    min-height: 0;
}

.section .blog-lead-image {
    min-height: 230px;
    aspect-ratio: 16 / 9;
}

.section .blog-lead-copy {
    padding: clamp(1.25rem, 2.4vw, 2rem) !important;
}

.section .blog-lead-copy h2 {
    font-size: clamp(1.55rem, 2.2vw, 1.9rem) !important;
}

.article-page {
    width: min(1180px, calc(100% - 32px));
    padding: clamp(2.75rem, 5vw, 4.5rem) 0;
}

.article-page .article-header {
    width: 100%;
    max-width: 880px;
    margin: 0 auto 2rem;
    padding: 0;
    background: transparent;
    text-align: center;
}

.article-page .article-header h1 {
    margin: 1rem 0;
    font-size: clamp(2.05rem, 3.7vw, 3rem);
    line-height: 1.12;
}

.article-page .article-header .article-excerpt {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(1.02rem, 1.6vw, 1.18rem);
    line-height: 1.65;
}

.article-page .article-visual {
    height: clamp(250px, 31vw, 410px);
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.article-page .article-visual img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

.article-page .article-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: start;
    padding-top: 0;
    padding-bottom: 0;
}

.article-page .article-content {
    min-width: 0;
    max-width: none;
}

.article-page .article-content h2 {
    margin: 2.25rem 0 .8rem;
    font-size: clamp(1.5rem, 2vw, 1.75rem);
    line-height: 1.25;
}

.article-page .article-content h3 {
    margin: 1.6rem 0 .65rem;
    font-size: clamp(1.2rem, 1.6vw, 1.35rem);
    line-height: 1.3;
}

.article-page .article-sidebar {
    width: 100%;
}

@media (max-width: 991.98px) {
    .article-page .article-layout,
    .section .blog-lead {
        grid-template-columns: 1fr;
    }

    .section .blog-lead-image {
        aspect-ratio: 16 / 8;
    }
}
