/* Shared components used on several pages: columns, steps, process, compare, cards, CTA band */
/* two column construct */
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:20px;}
@media(max-width:720px){.two-col{grid-template-columns:1fr;}}
.col-title{font-size:12px; letter-spacing:.16em; color:var(--gold); text-transform:uppercase; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--line);}
.col-list{list-style:none; margin:0; padding:0;}
.col-list li{padding:12px 0; border-bottom:1px solid var(--line-soft); font-size:15px; color:var(--text); font-weight:300;}

/* approach steps row */
.steps-row{display:grid; grid-template-columns:repeat(5,1fr); gap:24px; margin-top:44px;}
@media(max-width:900px){.steps-row{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.steps-row{grid-template-columns:1fr;}}
.step-item{border-top:1px solid var(--gold-dim); padding-top:16px;}
.step-item .n{font-family:var(--serif); font-style:italic; font-size:22px; color:var(--gold); display:block; margin-bottom:6px;}
.step-item h4{font-size:14px; font-weight:600; letter-spacing:.04em; margin-bottom:8px;}
.step-item p{font-size:13px;}

/* process steps (approach page, 6 numbered) */
.process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:44px; border:1px solid var(--line);}
@media(max-width:820px){.process-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.process-grid{grid-template-columns:1fr;}}
.process-item{background:var(--bg); padding:32px 26px;}
.process-item .pn{font-size:11px; color:var(--muted2); letter-spacing:.1em;}
.process-item h4{font-size:16px; margin:10px 0 10px; letter-spacing:.02em;}
.process-item p{font-size:13.5px;}

/* precision vs noise */
.compare{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media(max-width:640px){.compare{grid-template-columns:1fr;}}
.compare-col{background:var(--bg); padding:36px 30px;}
.compare-col.hi{background:#0d0d0f;}
.compare-col h4{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted2); margin-bottom:20px;}
.compare-col.hi h4{color:var(--gold);}
.compare-col ul{list-style:none; margin:0; padding:0;}
.compare-col li{padding:10px 0; border-top:1px solid var(--line-soft); font-size:14.5px;}
.compare-col li:first-child{border-top:none;}
.compare-col.hi li{color:var(--text);}

/* full system cards */
.system-cards{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px;}
@media(max-width:720px){.system-cards{grid-template-columns:1fr;}}
.system-card{border:1px solid var(--line); padding:34px 30px; transition:transform .25s ease, border-color .25s ease;}
.system-card:hover{transform:translateY(-4px); border-color:var(--gold-dim);}
.system-card.hi{border-color:var(--gold-dim); background:linear-gradient(180deg, rgba(201,167,107,.06), transparent);}
.system-card h4{font-size:16px; margin-bottom:8px;}
.system-card p.desc{font-size:13.5px; margin-bottom:20px;}
.system-card ul{list-style:none; margin:0; padding:0;}
.system-card li{font-size:13.5px; color:var(--text); padding:7px 0; border-top:1px solid var(--line-soft);}
.system-card li:first-child{border-top:none;}

/* capability columns reuse col-list */

/* starting point cards */
.start-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:44px;}
@media(max-width:820px){.start-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.start-grid{grid-template-columns:1fr;}}
.start-card{border:1px solid var(--line); padding:24px 20px; transition:border-color .2s, transform .2s;}
.start-card:hover{border-color:var(--gold-dim); transform:translateY(-3px);}
.start-card.hi{border-color:var(--gold-dim); background:rgba(201,167,107,.06);}
.start-card .start-n{font-family:var(--serif); font-style:italic; color:var(--gold); font-size:19px; display:block; margin-bottom:12px;}
.start-card h4{font-size:14.5px; margin-bottom:8px; font-weight:600;}
.start-card.hi h4{color:var(--gold-bright);}
.start-card p{font-size:12.5px;}

/* CTA band */
.cta-band{padding:100px 0; text-align:left; border-top:1px solid var(--line-soft);}
.cta-band h2{font-size:clamp(24px,3.6vw,38px); margin-bottom:26px; max-width:520px;}

