/* design2publish — chatbot widget + form status styling */
.d2p-chat-launch{position:fixed;right:22px;bottom:22px;z-index:99990;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:#F0460E;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:transform .18s ease}
.d2p-chat-launch:hover{transform:translateY(-2px) scale(1.04)}
.d2p-chat-launch svg{width:26px;height:26px}
.d2p-chat-panel{position:fixed;right:22px;bottom:94px;z-index:99991;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 130px);background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.28);display:none;flex-direction:column;overflow:hidden;font-family:'DM Sans',system-ui,Arial,sans-serif}
.d2p-chat-panel.open{display:flex;animation:d2pIn .18s ease}
@keyframes d2pIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.d2p-chat-head{background:#111;color:#fff;padding:15px 18px;display:flex;align-items:center;gap:10px}
.d2p-chat-head .dot{width:9px;height:9px;border-radius:50%;background:#37d67a}
.d2p-chat-head b{font-size:15px;font-weight:600;flex:1}
.d2p-chat-head .x{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.8;line-height:1}
.d2p-chat-body{flex:1;overflow-y:auto;padding:16px;background:#f6f6f8;display:flex;flex-direction:column;gap:10px}
.d2p-msg{max-width:82%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.d2p-msg.bot{align-self:flex-start;background:#fff;color:#1a1a1a;border:1px solid #e7e7ee;border-bottom-left-radius:4px}
.d2p-msg.user{align-self:flex-end;background:#F0460E;color:#fff;border-bottom-right-radius:4px}
.d2p-typing{align-self:flex-start;color:#8a8a97;font-size:13px;padding:4px 6px}
.d2p-chat-foot{display:flex;gap:8px;padding:12px;border-top:1px solid #ececf1;background:#fff}
.d2p-chat-foot input{flex:1;border:1px solid #dcdce4;border-radius:10px;padding:11px 12px;font-size:14px;outline:none}
.d2p-chat-foot input:focus{border-color:#F0460E}
.d2p-chat-foot button{border:none;background:#F0460E;color:#fff;border-radius:10px;padding:0 15px;cursor:pointer;font-size:14px}
.d2p-chat-foot button:disabled{opacity:.5;cursor:default}
/* form status */
.d2p-form-status{margin-top:12px;padding:11px 14px;border-radius:10px;font-size:14px;display:none}
.d2p-form-status.show{display:block}
.d2p-form-status.ok{background:#e8f7ec;color:#1c7a3a;border:1px solid #bfe6c9}
.d2p-form-status.err{background:#fdecec;color:#b3261e;border:1px solid #f3c2be}

/* ---- site-wide branding (moved from home inline styles so header/footer render everywhere) ---- */
html{scroll-behavior:smooth}
.d2p-demo-menu{display:none !important}
.d2p-site-logo{display:inline-flex;align-items:center;max-width:100%}
.d2p-site-logo img{display:block !important;width:180px !important;height:auto !important;max-width:100% !important}
.d2p-site-logo img.d2p-site-logo__dark{display:none !important}
.footer-12 .d2p-footer-logo{display:block;width:clamp(172px,16vw,230px) !important;height:auto !important;max-width:100%}
.at-header-search-btn,.at-categories,.at-offcanvas-gallery,.at-offcanvas-contact,.at-offcanvas-social,.sec-1-home-12__avatars,.sec-6-home-12__brands-strip,.footer-12__socials,.footer-12__cta-form{display:none !important}
@media (max-width:575px){.d2p-site-logo img{width:150px !important;height:auto !important}.footer-12 .d2p-footer-logo{width:180px !important}}

/* ---- non-sticky, dark-safe site header ---- */
header.header-8.header-12 .at-header-area{position:absolute !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;z-index:9990 !important;background:rgba(255,255,255,.96) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.08)}
header.header-8.header-12 .container{max-width:1320px !important;padding-left:12px !important;padding-right:12px !important}
header.header-8.header-12 .at-main-menu>nav>ul>li>a,header.header-8.header-12 .at-header-action button{color:#171717 !important}
html[data-bs-theme="dark"] header.header-8.header-12 .at-header-area{background:rgba(12,13,16,.96) !important;box-shadow:0 1px 0 rgba(255,255,255,.12)}
html[data-bs-theme="dark"] header.header-8.header-12 .d2p-site-logo__light{filter:brightness(0) invert(1)}
html[data-bs-theme="dark"] header.header-8.header-12 .at-main-menu>nav>ul>li>a,html[data-bs-theme="dark"] header.header-8.header-12 .at-header-action button,html[data-bs-theme="dark"] header.header-8.header-12 .at-menu-bar{color:#fff !important}
html[data-bs-theme="dark"] header.header-8.header-12 .at-menu-bar svg path{stroke:#fff !important}

/* Footer is a normal document section; never fixed or detached from scrolling. */
footer.footer-12{position:relative !important;inset:auto !important;width:100% !important;transform:none !important}
.footer-placeholder{display:none !important;height:0 !important}

/* ---- keep the back-to-top arrow from colliding with the chat launcher ---- */
.back-to-top-wrapper{right:26px !important}
.back-to-top-wrapper.back-to-top-btn-show{bottom:96px !important}
body.d2p-chat-open .back-to-top-wrapper{opacity:0 !important;visibility:hidden !important;pointer-events:none}
@media (max-width:574.98px){.back-to-top-wrapper.back-to-top-btn-show{bottom:92px !important;right:20px !important}}


/* ===== design2publish final responsive fixes ===== */
/* Header logo matches the footer logo. */
.d2p-site-logo img{width:230px !important;height:auto !important;max-width:100% !important}

/* Off-canvas/sidebar must sit above the fixed header and remain inside viewport. */
.at-offcanvas-area{position:relative;z-index:10060 !important}
.at-offcanvas{z-index:10070 !important;width:min(460px,100vw) !important;max-width:100vw !important;overflow-x:hidden !important;box-sizing:border-box !important}
.body-overlay{z-index:10050 !important}
.at-offcanvas,.at-offcanvas *{box-sizing:border-box;max-width:100%}
.at-offcanvas a,.at-offcanvas p,.at-offcanvas h1,.at-offcanvas h2,.at-offcanvas h3,.at-offcanvas li{overflow-wrap:anywhere;word-break:normal;white-space:normal}
.at-offcanvas-menu a{white-space:normal !important;line-height:1.35 !important}
.at-offcanvas-contact a{overflow-wrap:anywhere;word-break:break-word}

/* Services hero and contact details cannot overflow. */
.d2p-services-hero-title{display:block !important;font-size:clamp(64px,10vw,148px) !important;line-height:.9 !important;letter-spacing:-.065em !important;max-width:100% !important;overflow-wrap:normal !important;word-break:normal !important}
.d2p-services-hero-title .d2p-services-line{display:block}
.d2p-services-hero-title sup{font-size:.28em !important;vertical-align:top;margin-left:.12em;letter-spacing:0}
.sec-1-services a[href^="mailto:"]{display:inline-block;max-width:100%;font-size:clamp(18px,2.1vw,30px) !important;line-height:1.15 !important;overflow-wrap:anywhere;word-break:break-word}

@media(max-width:767px){
  .d2p-services-hero-title{font-size:clamp(50px,16vw,80px) !important;line-height:.92 !important;letter-spacing:-.055em !important}
  .sec-1-services a[href^="mailto:"]{font-size:clamp(18px,6vw,23px) !important;text-align:left}
}
@media(max-width:575px){
  .d2p-site-logo img{width:180px !important;height:auto !important;max-width:none !important}
  .at-offcanvas{width:100vw !important;padding:24px 20px !important}
  .at-offcanvas-top{margin-bottom:28px !important}
  .at-offcanvas .d2p-site-logo img{width:170px !important;max-width:calc(100vw - 100px) !important}
  .at-offcanvas-menu .at-megamenu-box li a{padding:8px 4px !important;font-size:16px !important}
}

/* Preserve the template behavior: hidden initially, visible only after main.js adds header-sticky on scroll. */
.hamburger-sticky-menu.header-sticky{opacity:1 !important;visibility:visible !important;transform:scale(1) !important;position:fixed !important}

/* Canonical Services/Books hero typography */
.d2p-page-hero-heading{font-size:clamp(58px,9vw,144px)!important;line-height:.9!important;letter-spacing:-.055em!important;max-width:100%!important}.d2p-services-hero-title .d2p-services-line{display:block!important;white-space:nowrap}.d2p-services-hero-title .d2p-services-line+.d2p-services-line{margin-top:.08em}@media(max-width:767px){.d2p-page-hero-heading{font-size:clamp(48px,14vw,78px)!important;line-height:.94!important}.d2p-services-hero-title .d2p-services-line{white-space:normal}}

/* d2p menu visibility hard reset v3 */
.hamburger-sticky-menu:not(.header-sticky){opacity:0!important;visibility:hidden!important;transform:scale(.5)!important;position:absolute!important;pointer-events:none!important}
.hamburger-sticky-menu.header-sticky{opacity:1!important;visibility:visible!important;transform:scale(1)!important;position:fixed!important;pointer-events:auto!important}

/* ---- book animation backgrounds: layered behind existing content, without changing layout ---- */
.sec-1-home-12{background:#080808!important;isolation:isolate}
.d2p-hero-book-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#080808}
.d2p-hero-book-bg img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;filter:none}
.d2p-hero-book-bg::after{content:"";position:absolute;inset:0;background:transparent}
.sec-1-home-12__hero,.sec-1-home-12__strip{position:relative;z-index:1}
.sec-1-home-12__pill{background:rgba(20,20,20,.78)!important;border:1px solid rgba(255,255,255,.14)}
.sec-1-home-12__pill-text{color:#fff!important}
.sec-1-home-12__title{color:#fff!important}
.sec-1-home-12__sub{color:rgba(255,255,255,.82)!important}
.sec-1-home-12__btn-secondary,.sec-1-home-12__btn-secondary:hover,.sec-1-home-12__btn-secondary:focus-visible{color:#fff!important}
.sec-1-home-12__btn-primary-label,.sec-1-home-12__btn-primary-icon{background:#f0460e!important}

.footer-12__cta{position:relative;isolation:isolate;overflow:hidden;background:#080808!important}
.footer-12__cta::before{content:"";position:absolute;inset:0;z-index:0;background:url('../imgs/ebook/book-footer.gif') center center/cover no-repeat;opacity:.58}
.footer-12__cta::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.38) 50%,rgba(0,0,0,.72))}
.footer-12__cta-inner{position:relative;z-index:2}
@media(max-width:767px){.d2p-hero-book-bg img{object-position:center;opacity:1;filter:none}.footer-12__cta::before{background-position:42% center;opacity:.44}}
