/* Shared warm editorial palette, loaded after each page's layout styles. */
:root {
    --primary: #122b2c;
    --accent: #007d63;
    --text: #172e2c;
    --text-light: #5c6c65;
    --bg: #faf9f5;
    --bg-alt: #edf1e9;
    --border: #dce1d7;
    --ivory: #f5f4ef;
    --paper: #fffefa;
    --sage: #edf1e9;
    --stone: #eeeae2;
    --forest: #122b2c;
}
body { background: var(--bg); color: var(--text); }
nav { background: var(--ivory); border-bottom-color: #e4e5dc; }
nav .logo img { mix-blend-mode: multiply; }
.nav-links a:hover, .nav-links a.active, .nav-links a[aria-current] { color: #007d63; }
.highlights { background: #faf9f5; }
.services, .features { background: var(--sage); }
body.page-home #process, body.page-services #process,
body.page-qiro #how-it-works { background: #faf9f5; }
.about, #built-for-traders { background: var(--stone); }
#faq, body.page-zenox #testimonials { background: #faf9f5; }
.contact { background: var(--sage); }
.highlight-card, .service-card, .process-step, .faq-item, .stat,
.contact-form, .contact-item, .feature-card, .testimonial-card,
.analysis-card { background: var(--paper); border-color: var(--border); }
.highlight-card:nth-child(even) { background: #f2f3ec; }
.service-card:nth-child(2), .feature-card:nth-child(3n + 2) { background: #f7f5ed; }
.service-icon, .feature-icon, .process-step .number, .contact-item .icon {
    background: #e2ece0; color: #28634f;
}
.stat h3 { color: #007d63; }
.about-visual, .market-panel { background: var(--forest); }
.btn-primary { background: #007d63; color: #fffefa; }
.btn-primary:hover { background: #00654f; box-shadow: 0 10px 28px #183e2f20; }
.home-hero .btn-primary { background: #0a192f; }
.cta, .services-cta { background: #e2ebdf; color: var(--text); }
.cta p, .services-cta p { color: #51675a; }
footer { background: var(--forest); }
.footer-logo { background: var(--ivory); }
.footer-logo img { mix-blend-mode: multiply; }
.footer-brand p, .footer-column p, .footer-column a { color: #c2cec6; }
.footer-bottom p { color: #aabbb1; }
footer .disclaimer h2 { color: #ecf1e9; }
footer .disclaimer p { color: #b6c7bc; }
/* Service, contact and legal pages begin in the same light family as Home. */
.services-hero, .contact-hero, .policy-hero, .terms-hero {
    background: linear-gradient(115deg, #f5f4ef 35%, #e7eee2);
    color: var(--text);
}
.services-hero h1 span, .contact-hero h1 span { color: #007d63; }
.services-hero p, .contact-hero p, .policy-hero p, .terms-hero p { color: #596d63; }
.services-hero .eyebrow, .contact-hero .eyebrow, .policy-hero .eyebrow, .terms-hero .eyebrow {
    background: #e5ecdf; border-color: #cfdcca; color: #365c48;
}
.services-summary { background: #fffefa90; border-color: #d2ddce; }
.services-summary li { border-color: #d7e0d2; }
.services-summary span { color: #377457; }
.policy-wrap, .terms-wrap { background: #eeeae2; }
.policy-toc, .terms-toc { background: #f3f5ec; border-color: #d9e0d1; }
.policy-card, .terms-card { background: var(--paper); border-color: #deded3; }
.policy-card .notice, .terms-card .notice { background: #eaf1e4; border-color: #d0dec8; }
/* Product hero images keep their deep backgrounds, with calmer mint accents. */
.page-zenox .zenox-hero, .page-zenox .stats-band { background: #0a192f; }
.page-zenox .zenox-hero h1 span, .page-zenox .stat-card strong em { color: #94d5bc; }
.page-zenox .zenox-status, .page-zenox .zenox-hero-highlights li::before { background: #94d5bc; }
.page-zenox #analysis { background: var(--stone); }
.page-qiro .hero { background: #0a192f; }
.page-qiro .hero h1 span { color: #94d5bc; }
.page-qiro .hero .btn-primary { background: #a7d8bf; color: #123c30; }
.page-qiro #about-qiro { background: #faf9f5; }
.page-qiro #chart-scan { background: #f2eee5; }
.page-qiro .scan-list li, .page-qiro .benefit-list li { background: var(--paper); border-color: #dce1d7; }
.page-qiro #analysis { background: radial-gradient(ellipse at 90% 20%, #284a3c, #122b2c 70%); }
.page-qiro #analysis h2 span, .page-qiro #analysis .kicker { color: #acd9bd; }
.page-qiro #analysis .editorial-copy p, .page-qiro #analysis .flow-step p { color: #c0cfc4; }
.page-qiro .flow-icon { background: #29483d; color: #b3d9bf; }
.page-qiro .flow-footnote { color: #b3d9bf; }
.page-qiro #product-positioning { background: #faf9f5; }
.page-qiro .purpose-card { background: #e6efdf; border-color: #d3dfcb; }
.page-qiro .boundaries-card { background: var(--paper); border-color: var(--border); }
.page-qiro #responsible-use { background: var(--stone); }
.page-qiro .responsible-panel { background: var(--paper); border-color: #dcded2; }
.page-qiro .responsibility-note, .page-qiro .context-assurance { background: #edf2e7; border-color: #d6e0cf; }
.page-qiro .notice { background: #e8efe2; border-left-color: #65896a; color: #34583f; }
.page-qiro .context-assurance .notice { background: none; }
.page-qiro .purpose-tags span { background: #f7f9f1; border-color: #cfddc8; }
::selection { background: #cfe2c5; color: #183e2d; }

/* Contact details need complete card styling, not just a surface color. */
.page-home .contact-item, .page-contact .contact-item {
    padding: 1.2rem;
    border: 1px solid #dce1d7;
    border-radius: 16px;
    gap: 1rem;
    background: #fffefa;
    align-items: flex-start;
}
.page-home .contact-item > div:not(.icon),
.page-contact .contact-item > div:not(.icon) { min-width: 0; flex: 1; }
.page-home .contact-item .icon, .page-contact .contact-item .icon {
    border: 0;
    border-radius: 12px;
    width: 44px;
    height: 44px;
}
.page-home .contact-item h4, .page-contact .contact-item h4 {
    font-size: .7rem;
    letter-spacing: .09em;
    margin-bottom: .4rem;
}
.page-home .contact-item p, .page-home .contact-item a,
.page-contact .contact-item p, .page-contact .contact-item a {
    font-size: .93rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.page-contact .contact-hero {
    padding: 132px 0 58px;
    border-bottom: 1px solid #dce1d7;
    background: linear-gradient(115deg, #f5f4ef 35%, #e7eee2);
}
.page-contact .contact-hero h1 {
    max-width: 850px;
    font-size: clamp(2.5rem, 4.5vw, 3.65rem);
    line-height: 1.12;
    letter-spacing: -.035em;
    margin-bottom: 1.3rem;
}
.page-contact .contact-hero h1 span { display: block; }
.page-contact .contact-hero p { max-width: 610px; font-size: 1rem; line-height: 1.8; }
.page-contact .contact-hero .eyebrow { margin-bottom: 1.3rem; font-size: .68rem; }
@media (max-width: 768px) {
    .page-home .contact-item, .page-contact .contact-item { padding: 1rem; gap: .75rem; }
    .page-contact .contact-hero { padding: 155px 0 42px; }
    .page-contact .contact-hero h1 { font-size: clamp(2.3rem, 8.5vw, 3rem); }
}

/* Footer address and developer attribution. */
.footer-address { line-height: 1.75; overflow-wrap: anywhere; }
.footer-bottom .developer-credit { color: var(--forest); font-size: .75rem; text-decoration: none; order: 2; }
.footer-bottom .developer-credit:hover, .footer-bottom .developer-credit:focus-visible { color: #c2cec6; text-decoration: underline; }
.footer-bottom .developer-credit:focus-visible { outline: 2px solid #c2cec6; outline-offset: 5px; }
