/*
Theme Name: CausalGraphOS
Theme URI: https://rung2ai.com
Author: CausalGraphOS
Description: A quiet, editorial public site for CausalGraphOS.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: causalgraphos
*/

:root { --ink:#17212b; --muted:#4b565b; --paper:#f0eee8; --white:#f8f7f3; --line:#cfcfc8; --teal:#315b55; --teal-light:#e0e3dc; --coral:#8b4a3e; --coral-light:#e9ddd5; --blue:#355978; --serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif; --sans:"Avenir Next", "Trebuchet MS", sans-serif; --content:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; }
a { color:inherit; }
a:hover { color:var(--teal); }
:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
img { max-width:100%; height:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; top:12px; left:12px; z-index:20; width:auto; height:auto; padding:10px 14px; margin:0; clip:auto; background:var(--white); }
.wrap { width:min(var(--content), calc(100% - 48px)); margin-inline:auto; }
.site-header { position:relative; z-index:5; background:rgba(251,250,247,.96); border-bottom:1px solid var(--line); }
.header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:inline-flex; align-items:center; flex:0 1 250px; text-decoration:none; }
.brand-lockup { display:flex; flex-direction:column; align-items:flex-start; }
.brand img { display:block; width:100%; max-width:218px; max-height:54px; object-fit:contain; object-position:left center; }
.primary-nav { display:flex; align-items:center; gap:32px; }
.primary-nav a { color:var(--ink); font-size:14px; font-weight:600; text-decoration:none; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color:var(--teal); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 20px; border:1px solid var(--teal); border-radius:3px; background:var(--teal); color:var(--white)!important; font:700 14px/1.3 var(--sans); text-decoration:none; transition:background-color .18s ease, transform .18s ease; }
.button:hover { background:#244841; transform:translateY(-1px); }
.menu-details { display:none; }
h1, h2, h3, p { margin-top:0; }
h1, h2, h3 { line-height:1.12; }
h1, h2 { font-family:var(--serif); font-weight:600; }
h1 { max-width:850px; margin-bottom:22px; font-size:64px; }
h2 { margin-bottom:18px; font-size:43px; }
h3 { margin-bottom:10px; font-size:20px; }
.eyebrow { display:inline-block; margin-bottom:18px; color:var(--teal); font-size:12px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.lead { max-width:690px; color:var(--muted); font-size:19px; line-height:1.65; }
.hero { position:relative; overflow:hidden; padding:96px 0 92px; background-color:#e7e5dd; background-image:linear-gradient(90deg,transparent 49.9%,rgba(49,91,85,.07) 50%,transparent 50.1%),linear-gradient(rgba(23,33,43,.035) 1px,transparent 1px); background-size:100% 100%,100% 44px; }
.hero-content { position:relative; z-index:1; }
.hero h1 span { color:var(--teal); }
.hero .lead { margin-bottom:30px; }
.hero-note { display:inline-block; margin-left:18px; color:var(--muted); font-size:13px; }
.integration-band { padding:42px 0; border-bottom:1px solid var(--line); background:var(--teal-light); }
.integration-inner { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:44px; align-items:center; }
.integration-band h2 { margin:0; font-size:34px; }
.integration-band p { max-width:680px; margin:0; color:var(--muted); font-size:17px; }
.section { padding:88px 0; }
.section-white { background:var(--white); }
.section-tint { background:#e2e3dc; }
.section-head { max-width:720px; margin-bottom:38px; }
.section-head p { color:var(--muted); }
.mission-vision-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; }
.mission-vision-grid article { padding-top:24px; border-top:2px solid var(--teal); }
.mission-vision-grid h2 { max-width:500px; font-size:36px; }
.mission-vision-grid p { max-width:520px; margin-bottom:0; color:var(--muted); }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.reason { padding:26px 26px 0 0; border-right:1px solid var(--line); }
.reason+.reason { padding-left:26px; }
.reason:last-child { border-right:0; }
.reason-number { display:block; margin-bottom:16px; color:var(--coral); font:600 31px/1 var(--serif); }
.reason p { max-width:320px; margin-bottom:0; color:var(--muted); }
.ewa-results-intro { max-width:850px; }
.ewa-synthetic-note { margin-top:24px; padding:15px 18px; border-left:3px solid var(--coral); background:var(--coral-light); color:var(--ink)!important; }
.ewa-table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); background:var(--white); }
.ewa-results { width:100%; min-width:900px; border-collapse:collapse; color:var(--ink); font-size:14px; line-height:1.55; text-align:left; }
.ewa-results caption { padding:16px; color:var(--muted); font-size:13px; font-weight:700; text-align:left; }
.ewa-results th, .ewa-results td { padding:16px; border-top:1px solid var(--line); vertical-align:top; }
.ewa-results thead th { background:#dedfd8; font-size:12px; }
.ewa-results tbody th { width:130px; color:var(--teal); }
.ewa-results td { min-width:190px; }
.science-formula { max-width:100%; margin:22px 0; padding:18px 20px; border-left:3px solid var(--teal); background:#d6d9d2; overflow-x:auto; }
.science-formula code { color:var(--ink); font:600 15px/1.6 ui-monospace, "Cascadia Code", monospace; white-space:nowrap; }
.science-caveat, .science-source { font-size:14px; }
.science-caveat { color:var(--ink)!important; }
.science-source { margin-top:20px; color:var(--muted); }
.vertical-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.vertical-card { position:relative; min-height:260px; padding:30px; border:1px solid var(--line); background:var(--white); }
.vertical-card:nth-child(2) { background:#e9e4da; border-color:#d5cec1; }
.vertical-card .card-index { display:block; margin-bottom:26px; color:var(--teal); font-size:12px; font-weight:800; }
.vertical-card:nth-child(2) .card-index { color:var(--coral); }
.vertical-card p { max-width:480px; color:var(--muted); }
.text-link { display:inline-flex; gap:10px; align-items:center; color:var(--teal); font-size:14px; font-weight:800; text-decoration-thickness:1px; text-underline-offset:4px; }
.cta-band { padding:66px 0; background:var(--ink); color:var(--white); }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-band h2 { max-width:650px; margin-bottom:12px; font-size:36px; }
.cta-band p { max-width:660px; margin-bottom:0; color:#c7d2d9; }
.cta-band .button { flex:0 0 auto; border-color:#d1cdc1; background:#d1cdc1; color:var(--ink)!important; }
.page-hero { padding:82px 0 64px; border-bottom:1px solid var(--line); background:#e7e5dd; }
.page-hero h1 { max-width:900px; font-size:58px; }
.page-hero .lead { margin-bottom:0; }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.78fr); gap:72px; align-items:start; }
.split-copy p { color:var(--muted); }
.pull-quote { padding:26px 0 26px 28px; border-left:3px solid var(--coral); font:500 25px/1.35 var(--serif); }
.question-list { margin:28px 0 0; padding:0; list-style:none; }
.question-list li { padding:15px 0; border-top:1px solid var(--line); font-weight:700; }
.question-list li::before { margin-right:12px; color:var(--teal); content:"+"; }
.caveat { padding:18px 20px; border-left:3px solid var(--coral); background:var(--coral-light); color:#49312d; }
.about-mark { display:inline-block; padding:24px 28px; border:1px solid #cbd9d4; background:var(--teal-light); color:var(--teal); font:600 31px/1.15 var(--serif); }
.contact-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; }
.contact-cta > div:first-child { max-width:700px; }
.contact-cta p { color:var(--muted); }
.contact-email { margin:12px 0 0; font-size:13px; }
.contact-email a { color:var(--ink); }
.site-footer { padding:34px 0; border-top:1px solid var(--line); background:var(--paper); }
.footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.footer-brand { font:600 20px var(--serif); }
.footer-product { max-width:480px; margin:4px 0 8px; color:var(--muted); font-size:13px; }
.footer-note { margin:0; color:var(--muted); font-size:12px; }
.footer-nav { display:flex; gap:20px; }
.footer-nav a { color:var(--muted); font-size:13px; text-decoration:none; }
@media(max-width:800px) { .wrap{width:min(var(--content),calc(100% - 36px))}.header-inner{min-height:74px}.brand{flex-basis:205px}.primary-nav{gap:18px}.primary-nav a{font-size:13px}h1{font-size:52px}h2{font-size:36px}.hero{padding:76px 0}.section{padding:68px 0}.split{gap:36px} }
@media(max-width:620px) { .wrap{width:calc(100% - 36px)}.header-inner{min-height:70px;gap:10px}.brand{flex:0 1 190px}.brand img{max-height:60px}.primary-nav{display:none}.menu-details{position:relative;display:block}.menu-details summary{display:grid;place-items:center;width:46px;height:44px;border:1px solid var(--line);border-radius:2px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:800;list-style:none}.menu-details summary::-webkit-details-marker{display:none}.mobile-nav{position:absolute;top:52px;right:0;display:grid;min-width:210px;padding:10px;border:1px solid var(--line);background:var(--white);box-shadow:0 12px 28px rgba(23,33,43,.16)}.mobile-nav a{padding:10px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}h1{font-size:43px}h2{font-size:33px}h3{font-size:19px}.hero{padding:62px 0 70px}.lead{font-size:17px}.hero-note{display:block;margin:14px 0 0}.section{padding:58px 0}.mission-vision-grid{grid-template-columns:1fr;gap:34px}.mission-vision-grid h2{font-size:30px}.reason-grid{grid-template-columns:1fr}.reason,.reason+.reason{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.reason:last-child{border-bottom:0}.vertical-grid,.split{grid-template-columns:1fr}.vertical-card{min-height:0}.cta-inner{align-items:flex-start;flex-direction:column;gap:22px}.cta-band{padding:52px 0}.cta-band h2{font-size:32px}.page-hero{padding:58px 0 44px}.page-hero h1{font-size:43px}.split{gap:28px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-nav{flex-wrap:wrap;gap:12px 18px} }
@media(max-width:620px) { .integration-inner{grid-template-columns:1fr;gap:12px}.integration-band{padding:32px 0}.integration-band h2{font-size:29px}.contact-cta{grid-template-columns:1fr;gap:18px} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important} }
