/* RADS-CMS default theme — navy/red editorial */
:root { --accent:#d7263d; --brand:#0d1b2e; }
body { font-family:'Sora',system-ui,sans-serif; color:#1c2431; background:#fbfaf8; }
.serif { font-family:'Source Serif 4',Georgia,serif; }
a { color:var(--accent); text-decoration:none; } a:hover { color:#a91d2f; }

.site-nav { background:var(--brand); padding:.9rem 0; }
.site-nav .navbar-brand { letter-spacing:-.02em; font-size:1.35rem; }
.brand-dot { color:var(--accent); }
.site-nav .nav-link { font-size:.92rem; font-weight:600; }
.search-input { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.15); color:#fff; }
.search-input::placeholder { color:rgba(255,255,255,.5); }

/* nested dropdowns (unlimited depth) */
.dropdown-submenu { position:relative; }
.dropdown-submenu > .dropdown-menu { top:0; left:100%; margin-top:-.4rem; display:none; }
.dropdown-submenu:hover > .dropdown-menu { display:block; }
@media (max-width: 991px) { .dropdown-submenu > .dropdown-menu { position:static; display:block; border:0; padding-left:1rem; } }

/* hero */
.hero { background:var(--brand); color:#fff; padding:5rem 0 6rem; position:relative; overflow:hidden; }
.hero .eyebrow { color:var(--accent); font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:.75rem; }
.hero h1 { font-weight:800; letter-spacing:-.03em; font-size:clamp(2.2rem,5vw,3.6rem); }
.hero h1 .accent { color:var(--accent); }
.hero p { color:rgba(255,255,255,.72); max-width:34rem; }
.btn-accent { background:var(--accent); color:#fff; font-weight:600; border:0; padding:.65rem 1.4rem; }
.btn-accent:hover { background:#b71f33; color:#fff; }
.btn-ghost { border:1px solid rgba(255,255,255,.35); color:#fff; font-weight:600; padding:.65rem 1.4rem; }
.btn-ghost:hover { border-color:#fff; color:#fff; }

/* section headings */
.section-eyebrow { color:var(--accent); font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:.72rem; }
.section-eyebrow::before { content:""; display:inline-block; width:26px; height:2px; background:var(--accent); vertical-align:middle; margin-right:.6rem; }
.section-title { font-weight:800; letter-spacing:-.02em; }
.section-title .accent { color:var(--accent); }

/* post cards */
.post-card { background:#fff; border:1px solid #e9e6e0; transition:transform .18s ease, box-shadow .18s ease; height:100%; }
.post-card:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(13,27,46,.10); }
.post-card .thumb { aspect-ratio:16/10; object-fit:cover; width:100%; background:#e9edf3; }
.post-card .cat-badge { font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.post-card h3 { font-size:1.08rem; font-weight:700; letter-spacing:-.01em; }
.post-card h3 a { color:var(--brand); } .post-card h3 a:hover { color:var(--accent); }
.post-meta { font-size:.78rem; color:#8a8f99; }

/* article */
.article-body { font-family:'Source Serif 4',Georgia,serif; font-size:1.13rem; line-height:1.85; color:#2a3242; }
.article-body img { max-width:100%; height:auto; }
.article-title { font-weight:800; letter-spacing:-.03em; font-size:clamp(1.8rem,4vw,2.7rem); color:var(--brand); }

/* breadcrumbs show the full nested trail */
.crumbs { font-size:.82rem; color:#8a8f99; }
.crumbs a { color:#5a6270; font-weight:600; } .crumbs a:hover { color:var(--accent); }

/* subcategory chips */
.subcat-chip { display:inline-block; border:1px solid #e0dcd4; background:#fff; color:var(--brand); font-weight:600; font-size:.85rem; padding:.4rem 1rem; border-radius:100px; margin:0 .4rem .5rem 0; }
.subcat-chip:hover { border-color:var(--accent); color:var(--accent); }

/* footer */
.site-footer { background:var(--brand); color:rgba(255,255,255,.65); margin-top:5rem; }
.site-footer h6 { color:#fff; font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; }
.site-footer a { color:rgba(255,255,255,.65); } .site-footer a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); font-size:.8rem; }

/* business mode */
.feature-tile { background:#fff; border:1px solid #e9e6e0; padding:2rem 1.6rem; height:100%; }
.feature-tile .num { color:var(--accent); font-weight:800; font-size:.85rem; }
.stat-band { background:var(--brand); color:#fff; }
.stat-band .stat { border-left:1px solid rgba(255,255,255,.12); }
.stat-band .stat b { color:var(--accent); font-size:1.6rem; font-weight:800; }

/* comments */
.comment { border-left:3px solid #e9e6e0; }

/* ---------- business homepage modules ---------- */
.service-card{background:#fff;border:1px solid #e9e6e0;height:100%}
.service-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.portfolio-card{position:relative;overflow:hidden;border-radius:.4rem}
.portfolio-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.portfolio-card .cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(13,27,46,.85));color:#fff;padding:2rem 1rem .8rem}
.gallery-tile{aspect-ratio:1;object-fit:cover;width:100%;border-radius:.4rem;display:block}
.team-card{background:#fff;border:1px solid #e9e6e0;text-align:center;padding:1.5rem 1rem}
.team-card img{width:110px;height:110px;object-fit:cover;border-radius:50%}
.testimonial-card{background:#fff;border:1px solid #e9e6e0;padding:2rem;max-width:720px;margin:0 auto;text-align:center}
.testimonial-card img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.partner-strip img{height:44px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .2s,opacity .2s}
.partner-strip img:hover{filter:none;opacity:1}
.carousel-item .hero{min-height:420px;display:flex;align-items:center}

/* ---------- topbar, page banners, contact band, gallery/portfolio pages ---------- */
.topbar{background:var(--brand);color:rgba(255,255,255,.75);font-size:.8rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar a{color:rgba(255,255,255,.75);text-decoration:none}
.topbar a:hover{color:#fff}
.page-banner{background-color:var(--brand);background-size:cover;background-position:center;padding:4.5rem 0;text-align:center;color:#fff}
.page-banner h1{font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-size:2rem;margin:0}
.contact-band{background:var(--brand);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-band i{color:var(--accent)}
.contact-band .small{color:rgba(255,255,255,.75)}
.gallery-card{background:var(--brand);color:#fff;border-radius:.3rem;overflow:hidden}
.gallery-card img{width:100%;aspect-ratio:16/11;object-fit:cover;display:block;border-bottom:3px solid var(--accent)}
.gallery-card .cap{padding:.55rem .9rem;font-size:.85rem}
.filter-btns .btn{border-radius:0}

/* nav polish */
.site-nav .nav-link{white-space:nowrap}
.site-nav .navbar-nav{align-items:center;column-gap:.15rem}
