/* Shared style for revopt.ai content pages (case studies, markets, comparisons).
   Built by scripts/build_pages.py. Tokens match the homepage's inline :root. */
:root{--paper:#EFF3F5;--card:#FFF;--ink:#16213A;--body:#3D4C63;--muted:#64748C;--faint:#8B98AC;--sage:#4B7A71;--teal:#1A8FA0;--teal2:#2CBAC9;--lime:#6CC043;--limeD:#4E9E30;--rose:#C23E57;--navy:#16213A;--rule:rgba(22,33,58,.14);--rule2:rgba(22,33,58,.3);--fd:'Nunito',sans-serif;--fb:'Poppins',sans-serif;--fm:'DM Mono',monospace;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--fb);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--teal)}a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--fd);color:var(--ink);margin:0;text-wrap:balance}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.wrap.narrow{max-width:920px}
.dot{color:var(--teal2)}
.no{font:500 12px var(--fm);letter-spacing:.2em;color:var(--sage);text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;border:none;cursor:pointer;font:600 14.5px var(--fb);padding:14px 26px;border-radius:999px;transition:transform .3s var(--ease),background .2s}
.btn:hover{transform:translateY(-2px)}
.btn.p{background:var(--navy);color:#fff}
.btn.l{background:var(--lime);color:#122106;box-shadow:0 10px 26px rgba(108,192,67,.3)}
.btn.o{background:transparent;color:#fff;border:1px solid rgba(239,243,245,.35)}
.btn.sm{padding:10px 18px;font-size:13.5px}
/* nav */
.nav{position:sticky;top:0;z-index:90;background:rgba(239,243,245,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.nav .inner{display:flex;align-items:center;gap:26px;max-width:1200px;margin:0 auto;padding:13px 28px}
.brand{text-decoration:none;font:900 20px var(--fd);letter-spacing:-.5px;color:var(--ink)}
.brand i{font-style:normal;color:var(--teal2)}
.nav .links{display:flex;gap:22px;margin-left:12px;flex-wrap:wrap}
.nav .links a{font:500 11.5px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.nav .links a:hover,.nav .links a[aria-current]{color:var(--ink)}
.nav .btn{margin-left:auto}
@media (max-width:900px){.nav .links{display:none}}
/* hero */
.pg-hero{padding:46px 0 34px;border-bottom:1px solid var(--rule)}
.crumbs{font:500 11px var(--fm);letter-spacing:.06em;color:var(--faint);margin:0 0 26px}
.crumbs a{color:var(--faint);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.pg-hero h1{font:900 clamp(34px,5vw,58px)/1.04 var(--fd);letter-spacing:-.025em;margin-top:12px}
.pg-hero .lead{font-size:18px;color:var(--body);max-width:62ch;margin:20px 0 0}
.upd{font:500 11px var(--fm);letter-spacing:.1em;color:var(--faint);text-transform:uppercase;margin:18px 0 0}
/* sections */
.pg-sec{padding:62px 0;border-bottom:1px solid var(--rule)}
.pg-sec h2{font:900 clamp(26px,3.2vw,38px)/1.1 var(--fd);letter-spacing:-.02em;margin:10px 0 18px}
.pg-sec h3{font:800 20px var(--fd);margin:28px 0 8px}
.pg-sec p,.pg-sec li{font-size:16px;max-width:70ch}
.pg-sec ul{padding-left:20px}
.pg-sec .sub{color:var(--muted);font-size:15.5px}
.note{font:500 12px/1.7 var(--fm);color:var(--muted);margin-top:16px;max-width:90ch}
/* key numbers */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);margin:26px 0 8px}
.kpis div{padding:16px 16px 4px 0;border-right:1px solid var(--rule)}
.kpis div:last-child{border-right:0}
.kpis b{display:block;font:900 clamp(28px,3.4vw,40px)/1 var(--fd);color:var(--ink);letter-spacing:-.02em}
.kpis b.up{color:var(--limeD)}.kpis b.dn{color:var(--rose)}
.kpis span{display:block;font:500 10.5px/1.5 var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px}
@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}.kpis div:nth-child(2){border-right:0}}
/* tables */
.tbl{width:100%;border-collapse:collapse;margin:20px 0 4px;background:#fff;border:1.5px solid var(--ink);font-size:14px}
.tbl th{font:500 10.5px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--sage);text-align:right;padding:11px 12px;border-bottom:1.5px solid var(--ink);background:var(--paper)}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:right;font-variant-numeric:tabular-nums}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td.up{color:var(--limeD);font-weight:600}.tbl td.dn{color:var(--rose);font-weight:600}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* comparison table */
.cmp td{text-align:left;vertical-align:top}.cmp th{text-align:left}
.cmp td:first-child{font-weight:600;color:var(--ink);width:24%}
@media (max-width:640px){.cmp thead{display:none}.cmp tr{display:block;border-bottom:1.5px solid var(--rule2);padding:10px 0}.cmp td{display:block;width:auto!important;border:0;padding:4px 14px}
.cmp td:nth-child(2)::before{content:'On its own: ';font:500 10px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.cmp td:nth-child(3)::before{content:'With a revenue manager: ';font:500 10px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}}
/* case study block */
.cs{background:#fff;border:1.5px solid var(--ink);box-shadow:10px 10px 0 rgba(22,33,58,.08);padding:30px 30px 24px;margin:0 0 34px}
.cs-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:14px}
.cs-top h2{font:900 26px/1.15 var(--fd);margin:0}
.cs-top .wh{font:500 11px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.cs .kpis{border-top:0;margin-top:10px}
.cs h3{font:800 17px var(--fd);margin:22px 0 6px}
.cs p{font-size:15px;margin:6px 0}
/* bar chart */
.bars{width:100%;height:auto;display:block;margin:12px 0 0;max-width:640px}
.bars rect.a{fill:#C9D2DD}.bars rect.b{fill:var(--teal)}
.bars text{font:500 9px var(--fm);fill:var(--faint);text-anchor:middle;letter-spacing:.06em}
.lg{display:flex;gap:16px;font:500 10.5px var(--fm);color:var(--muted);margin-top:6px}
.lg i{display:inline-block;width:9px;height:9px;margin-right:6px;vertical-align:-1px}.lg i.a{background:#C9D2DD}.lg i.b{background:var(--teal)}
/* callouts */
.callout{border-left:3px solid var(--lime);background:#fff;padding:16px 20px;margin:22px 0;font-size:15px}
.callout b{color:var(--ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.two > div{background:#fff;border:1.5px solid var(--ink);padding:20px 22px}
.two > div.alt{background:transparent;border-style:dashed;border-color:var(--rule2)}
.two h3{margin-top:0}
@media (max-width:760px){.two{grid-template-columns:1fr}}
/* faq */
.faq details{border-top:1px solid var(--rule);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;font:700 16px var(--fd);color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--teal)}
.faq details[open] summary::after{content:'×'}
.faq p{font-size:15px;margin:10px 0 0;color:var(--body)}
/* cta + footer */
.pg-cta{background:var(--navy);color:#B9C4D6;padding:76px 0 70px}
.pg-cta .no{color:#8ADB63}
.pg-cta h2{color:#fff;font:900 clamp(28px,3.6vw,44px)/1.08 var(--fd);margin:12px 0 14px}
.pg-cta p{max-width:60ch;margin:0}
.pg-cta .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.terms{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.terms span{font:500 11px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:#DCE4EE;border:1px solid rgba(239,243,245,.28);padding:7px 11px}
.terms span::before{content:'✓ ';color:var(--lime)}
.pg-foot{padding:22px 0 28px;font:400 11.5px var(--fm);color:var(--faint)}
.pg-foot .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.pg-foot .r{display:flex;gap:16px}.pg-foot a{color:var(--muted);text-decoration:none}.pg-foot a:hover{color:var(--ink)}
@media (max-width:640px){.wrap{padding:0 16px}.nav .inner{padding:12px 16px}.cs{padding:22px 18px 18px}.pg-sec{padding:46px 0}}
/* markets hub */
.mks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:16px}
.mk{display:flex;flex-direction:column;gap:6px;background:#fff;border:1.5px solid var(--ink);padding:18px 18px 14px;text-decoration:none;color:var(--body);box-shadow:7px 7px 0 rgba(22,33,58,.07);transition:transform .25s var(--ease)}
.mk:hover{transform:translateY(-3px);color:var(--body)}
.mk b{font:800 19px var(--fd);color:var(--ink)}.mk span{font-size:13.5px}.mk i{font:600 13px var(--fb);font-style:normal;color:var(--teal)}
/* vs tables: column headers matter here */
.vs td:first-child{width:22%}
@media (max-width:640px){.vs td:nth-child(2)::before{content:'Them: '}.vs td:nth-child(3)::before{content:'RevOpt: '}}
.note,.pg-sec p,.pg-hero h1,.lead{overflow-wrap:anywhere}
.pg-foot .r{flex-wrap:wrap;gap:8px 16px}
/* The Revenue Room card on market and comparison pages */
.gamecta{padding:0 0 56px}
.gc-in{display:flex;gap:28px;align-items:center;justify-content:space-between}
.gamecta .gc-in{background:var(--card);border:1.5px solid var(--ink);border-radius:16px;padding:26px 28px;box-shadow:6px 6px 0 rgba(22,33,58,.08)}
.gamecta .gc-in>div{background:none;border:0;box-shadow:none;padding:0}
.gamecta h2{font-size:clamp(22px,2.6vw,28px);margin:8px 0 8px;line-height:1.2}
.gamecta p{margin:0;font-size:15px}
.gamecta .btn{flex:0 0 auto}
@media (max-width:760px){.gc-in{flex-direction:column;align-items:flex-start}.gamecta .btn{width:100%;justify-content:center}}
@media (max-width:640px){.gamecta .gc-in{margin:0 16px;padding:22px 18px}}
/* /compare hub: 2x2 cards and a text comparison table (left-aligned; scrolls on phones) */
.mks.mks2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tbl.glance td,.tbl.glance th{text-align:left;vertical-align:top}
.tbl.glance td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.tbl.glance td:last-child,.tbl.glance th:last-child{background:rgba(44,186,201,.07)}
@media (max-width:640px){.tbl.glance{min-width:640px}}
