/* White + Slate, the global palette. */
:root {
 color-scheme:light;
 --bg-color:#f8fafc; --surface-color:#fff; --border-color:#e2e8f0;
 --color-bg:#f8fafc; --color-surface:#fff; --color-text:#1e293b;
 --color-text-muted:#475569; --color-border:#e2e8f0;
 --color-accent:#2563eb; --color-accent-hover:#1d4ed8;
 --shadow-sm:0 4px 12px rgba(15,23,42,.05);
 --shadow-md:0 12px 32px rgba(15,23,42,.08);
}
body { background:var(--color-bg); color:var(--color-text); }
::selection { background:#bfdbfe; color:#0f172a; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #2563eb; outline-offset:4px; }
.site-header,.site-header.scrolled { background:rgba(255,255,255,.97); border-bottom:1px solid #e2e8f0; box-shadow:0 2px 16px rgba(15,23,42,.04); }
.top-bar { background:#f1f5f9; border-color:#e2e8f0; }
.top-bar-content p,.top-socials a { color:#475569; }
.site-header .logo a,.site-header .nav-menu a { color:#1e293b; }
.site-header .nav-menu a:hover,.site-header .nav-menu .current-menu-item > a { color:#1d4ed8; }
.site-header .sub-menu,.site-header .children { background:#fff; border-color:#e2e8f0; }
.menu-toggle span { background:#1e293b; }
.site-header a:focus-visible,.site-header button:focus-visible { outline-color:#2563eb; }
.btn-primary,.site-header a.btn-primary,.alif-pagination .page-numbers.current,.portfolio-filter .filter-btn.active,.portfolio-filter .filter-btn:hover,.filter-btn.active { color:#fff; background:#2563eb; border-color:#2563eb; }
.btn-primary:hover,.site-header a.btn-primary:hover { background:#1d4ed8; color:#fff; }
.btn-secondary { color:#1e293b; border-color:#cbd5e1; background:#fff; }
.btn-secondary:hover { color:#1d4ed8; background:#eff6ff; border-color:#2563eb; }
.section-label { color:#475569; }
.portfolio-link,.blog-prose a { color:#1d4ed8; }
.cta-box { background:var(--color-surface, #FFFFFF); border:1px solid #dbeafe; }
.site-footer { background:#f1f5f9; border-color:#e2e8f0; }
.footer-logo,.footer-column h4 { color:#1e293b; }
.footer-brand p,.footer-column a,.footer-bottom p { color:#475569; }
.footer-column a:hover { color:#1d4ed8; }
.footer-bottom { border-color:#cbd5e1; }
.footer-grid { grid-template-columns:2fr 1fr 1fr; }
.blog-card,.certificate-card,.blog-author,.blog-post-navigation,.blog-prose th,.blog-prose td { border-color:#e2e8f0; }
.blog-card-image,.certificate-placeholder { background:#eaf0f8; color:#334155; }
.blog-categories a,.blog-tags a { background:#fff; color:#334155; border-color:#cbd5e1; }
.blog-categories a:hover,.blog-categories a[aria-current] { color:#1d4ed8; background:#eff6ff; border-color:#93c5fd; }
.certificate-preview { background:#f1f5f9; }
.certificate-modal { background:#fff; color:#1e293b; border-color:#cbd5e1; }
.certificate-modal::backdrop { background:rgba(15,23,42,.65); }
.certificate-modal-bar button { color:#1e293b; background:#f1f5f9; border-color:#cbd5e1; }
.certificate-modal img { background:#f8fafc; }
.about-button:hover,.about-button:focus-visible { color:#fff !important; }
.about-card,.about-tool-card,.about-work-step,.about-work-detail-wrap { border-color:#e2e8f0; }
.about-card:hover,.about-tool-card:hover { background:#eff6ff; }
input,textarea,select { color:#1e293b; background:#fff; border:1px solid #cbd5e1; border-radius:8px; max-width:100%; }
input::placeholder,textarea::placeholder { color:#64748b; opacity:1; }
input:focus,textarea:focus,select:focus { outline:2px solid #93c5fd; outline-offset:2px; }
input[type=submit] { background:#2563eb; color:#fff; border-color:#2563eb; cursor:pointer; }
/* Article sidebar: reading text stays comfortably narrow. */
.blog-with-sidebar { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr); gap:56px; align-items:start; }
.blog-with-sidebar .blog-reading { width:100%; max-width:820px; margin-inline:0; }
.blog-sidebar { min-width:0; height:100%; }
.blog-sidebar-sticky { position:sticky; top:calc(var(--alif-header-height) + 24px); display:grid; gap:20px; max-height:calc(100dvh - var(--alif-header-height) - 48px); overflow-y:auto; padding:2px; }
.admin-bar .blog-sidebar-sticky { top:calc(var(--alif-header-height) + 56px); max-height:calc(100dvh - var(--alif-header-height) - 80px); }
.sidebar-card { padding:24px; background:#fff; border:1px solid #e2e8f0; border-radius:16px; }
.sidebar-card h2 { font-size:1.15rem; line-height:1.45; letter-spacing:0; margin-bottom:12px; }
.sidebar-card p { font-size:.9rem; margin-bottom:14px; }
.sidebar-card .btn { padding:12px 16px; font-size:.85rem; white-space:normal; }
.sidebar-consultation { background:#eff6ff; border-color:#dbeafe; }
.blog-toc summary { cursor:pointer; font-weight:700; }
.blog-toc ol { list-style:none; padding:14px 0 0; display:grid; gap:10px; }
.blog-toc li { font-size:.88rem; line-height:1.5; }
.blog-toc li.toc-subheading { padding-left:14px; }
.blog-toc a { display:block; color:#475569; border-left:2px solid transparent; padding-left:10px; }
.blog-toc a[aria-current],.blog-toc a:hover { color:#1d4ed8; border-color:#2563eb; }
.blog-prose h2,.blog-prose h3 { scroll-margin-top:calc(var(--alif-header-height) + 36px); }
@media(max-width:1100px) {
 .site-header .nav-menu { background:#fff; border-color:#e2e8f0; }
 .site-header .sub-menu,.site-header .children { background:transparent; }
 .blog-with-sidebar { gap:30px; grid-template-columns:minmax(0,2fr) minmax(250px,1fr); }
}
@media(max-width:900px) {
 .blog-with-sidebar { display:flex; flex-direction:column; gap:32px; }
 .blog-with-sidebar .blog-reading { max-width:none; }
 .blog-sidebar { display:contents; }
 .blog-sidebar-sticky { display:contents; position:static; max-height:none; overflow:visible; }
 .blog-toc { order:-1; width:100%; }
 .blog-sidebar .sidebar-card:not(.blog-toc) { width:100%; }
}
@media(max-width:768px) { .footer-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Keep custom monochrome header logos legible on white. */
.site-header .custom-logo { filter:brightness(0) saturate(100%); opacity:.88; }
.about-work-step__number { color:#475569; }
.blog-sidebar [hidden] { display:none; }

/* Solid surfaces; retain the original White + Slate palette. */
.cta-box { background:#eff6ff; }
.about-page { background:#f8fafc; }
.about-work-step[aria-selected="true"] { background:#eff6ff; }
.about-work-detail-wrap { background:#fff; }
.blog-share { margin-top:36px; padding-block:24px; border-block:1px solid var(--color-border); }
.blog-share h2 { font-size:1.1rem; letter-spacing:0; margin-bottom:16px; }
.blog-share-actions { display:flex; flex-wrap:wrap; gap:10px; }
.blog-share-actions a,.blog-share-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; border:1px solid #cbd5e1; border-radius:999px; background:#fff; color:#1d4ed8; font:inherit; font-size:.9rem; cursor:pointer; }
.blog-share-actions a:hover,.blog-share-actions button:hover { background:#eff6ff; border-color:#2563eb; }
.blog-share-status { font-size:.85rem; margin-top:10px; }
.blog-share-status:empty { display:none; }
/* Four editable footer widget columns. */
.site-footer .footer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; }
.footer-block { min-width:0; overflow-wrap:anywhere; }
.footer-block .footer-widget + .footer-widget { margin-top:26px; }
.footer-block .footer-widget-title,.footer-block h2,.footer-block h3,.footer-block h4 { font-size:1rem; line-height:1.4; letter-spacing:0; color:var(--color-text); margin-bottom:20px; }
.footer-block p { color:var(--color-text-muted); font-size:.95rem; }
.footer-block a { color:var(--color-text-muted); }
.footer-block a:hover { color:var(--color-accent); }
.footer-block .footer-logo { color:var(--color-text); }
.footer-block img { max-width:100%; height:auto; }
.footer-block figure { margin:0; }
.footer-block ul ul { padding-left:16px; margin-top:12px; }
.footer-block .wp-block-social-links { flex-direction:row; flex-wrap:wrap; }
.footer-block .wp-block-navigation__container { align-items:flex-start; }
.footer-block input:not([type=checkbox]):not([type=radio]),.footer-block select,.footer-block textarea { width:100%; min-width:0; }
.footer-block .wp-block-search__inside-wrapper { flex-wrap:wrap; gap:8px; }
.footer-block .wp-block-search__button { margin-left:0; }
@media(max-width:1024px) { .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; } }
@media(max-width:600px) { .site-footer .footer-grid { grid-template-columns:1fr; gap:32px; } }
/* Clean headings and floating contact. */
.section-label,.about-label,.about-work-detail__label { display:none; }
.certificate-issuer { color:var(--color-text-muted); font-size:.9rem; margin-bottom:12px; }
.alif-floating-wa { position:fixed; right:max(22px,env(safe-area-inset-right)); bottom:calc(22px + env(safe-area-inset-bottom)); z-index:1000; display:flex; align-items:center; gap:12px; }
.alif-wa-button { display:flex; align-items:center; justify-content:center; width:58px; height:58px; flex-shrink:0; border-radius:50%; background:#15803d; color:#fff; box-shadow:0 5px 20px rgba(15,23,42,.18); transition:box-shadow .2s,background .2s; }
.alif-wa-button:hover { background:#166534; }
.alif-floating-wa.is-highlighted .alif-wa-button { box-shadow:0 0 0 7px rgba(21,128,61,.16),0 5px 20px rgba(15,23,42,.18); }
.alif-wa-prompt { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:12px 14px; box-shadow:0 5px 20px rgba(15,23,42,.1); }
.alif-wa-prompt[hidden] { display:none; }
.alif-wa-prompt a { color:#1e293b; font-weight:600; font-size:.9rem; }
.alif-wa-prompt button { border:0; background:transparent; color:#475569; cursor:pointer; padding:4px 8px; font-size:20px; line-height:1; }
@media(max-width:600px) { .alif-floating-wa { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); } .alif-wa-button { width:54px; height:54px; } }
@media(prefers-reduced-motion:reduce) { .alif-wa-button { transition:none; } }
/* Home: continuous brand strip and swipeable collections. */
.home-brands { padding:42px 0; border-block:1px solid var(--color-border); background:#fff; }
.home-brands h2 { font-size:1.1rem; text-align:center; letter-spacing:0; margin-bottom:28px; }
.brand-marquee { overflow:hidden; }
.brand-marquee-track { display:flex; width:max-content; animation:alif-brand-marquee 28s linear infinite; }
.brand-marquee-group { display:flex; align-items:center; flex-shrink:0; }
.brand-marquee-item { width:220px; padding:0 24px; display:flex; flex-direction:column; align-items:center; gap:12px; color:#475569; font-size:.8rem; }
.brand-marquee-item img { width:150px; height:54px; object-fit:contain; filter:brightness(0) saturate(100%); opacity:.76; }
.brand-marquee:hover .brand-marquee-track { animation-play-state:paused; }
@keyframes alif-brand-marquee { to { transform:translateX(-50%); } }
.home-slider { margin-top:28px; }
.home-slider-controls { display:flex; justify-content:flex-end; gap:10px; margin-bottom:16px; }
.home-slider-controls[hidden] { display:none; }
.home-slider-controls button { width:44px; height:44px; border-radius:50%; border:1px solid #cbd5e1; background:#fff; color:#1e293b; cursor:pointer; }
.home-slider-controls button:disabled { opacity:.35; cursor:default; }
.home-slider-track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:2px 2px 18px; scrollbar-width:thin; }
.home-slide { flex:0 0 calc((100% - 48px)/3); min-width:0; scroll-snap-align:start; }
.home-slide.portfolio-card { border:1px solid var(--color-border); background:#fff; border-radius:20px; overflow:hidden; }
.home-slide .portfolio-image { display:block; height:auto; aspect-ratio:16/10; }
.home-slide .portfolio-image img { width:100%; height:100%; object-fit:cover; }
.home-slide h3 { font-size:1.25rem; line-height:1.4; letter-spacing:0; overflow-wrap:anywhere; }
.home-slide .portfolio-content { padding:24px; }
@media(max-width:1024px) { .home-slide { flex-basis:calc((100% - 24px)/2); } }
@media(max-width:600px) { .home-slide { flex-basis:90%; } .brand-marquee-item { width:180px; } }
@media(prefers-reduced-motion:reduce) { .brand-marquee-track { animation:none; } .brand-marquee { overflow-x:auto; } .brand-marquee-group[aria-hidden] { display:none; } }
.brand-marquee-group { min-width:max(880px,min(1400px,calc(100vw - 40px))); justify-content:space-around; }
@media(max-width:600px) { .brand-marquee-group { min-width:720px; } }
body.alif-no-topbar{--alif-header-height:90px}.alif-no-topbar .site-header{--header-topbar:0px}.site-header .external-click-icon,.site-footer .external-click-icon,.alif-floating-wa .external-click-icon{display:none!important}
@media(max-width:768px){body.alif-no-topbar{--alif-header-height:76px}}
.hero-content.hero-no-image{grid-template-columns:1fr}.hero-no-image .hero-text{max-width:1000px}
[data-alif-copy]{font:inherit;color:inherit}
