/* Scoped component styles, shared by the standalone tool and PHP articles. */
.cac-page{background:#f4efe5;color:#20271f;font-family:"Geist",Arial,sans-serif}
.cac-page-main{max-width:1160px;margin:auto;padding:150px clamp(18px,4vw,48px) 80px}
.cac-page-intro{max-width:780px;margin-bottom:48px}
.cac-page-intro>a{color:#7e2527;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.cac-page-intro h1{margin:24px 0 20px;font:650 clamp(2.3rem,5.2vw,4.5rem)/1.06 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:-.065em}
.cac-page-intro>p{max-width:640px;color:#60645b;font-size:clamp(16px,2vw,19px);line-height:1.65}
.cac-calculator{container-type:inline-size;max-width:100%;min-width:0;margin:32px 0;color:#253028;font:400 15px/1.5 "Geist",Arial,sans-serif;text-align:left}
.cac-calculator *{box-sizing:border-box;min-width:0}
.cac-calculator [hidden]{display:none!important}
.cac-calculator .cac-layout{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid #ccc8bd;border-bottom:1px solid #ccc8bd}
.cac-calculator .cac-inputs{padding:30px 0}
.cac-calculator .cac-kicker{display:block;color:#864033;font:700 10px/1.4 "Plus Jakarta Sans",Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em}
.cac-calculator .cac-section-head h2{margin:12px 0;font:650 clamp(24px,4vw,30px)/1.2 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:-.04em;color:#20271f}
.cac-calculator .cac-section-head p{margin:0 0 28px;color:#66685f;font-size:14px;line-height:1.55}
.cac-calculator .cac-field{margin:0 0 24px}
.cac-calculator .cac-field label{display:block;margin-bottom:9px;font-size:14px;font-weight:650;line-height:1.45;color:#2b322b}
.cac-calculator .cac-input-wrap{display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid #b9beb2;border-radius:var(--radius-small,0.85rem);background:linear-gradient(125deg,#fffefa,#f8f6ef);box-shadow:inset 0 1px 0 #fff}
.cac-calculator .cac-input-wrap>span{color:#63695c;font-size:15px}
.cac-calculator .cac-input-wrap:focus-within{outline:2px solid #923237;outline-offset:3px}
.cac-calculator .cac-input-wrap:has([aria-invalid=true]){border-color:#a12a30}
.cac-calculator .cac-field input{display:block;flex:1;width:100%;height:49px;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:#1e2e23;font:550 18px/1.2 "Geist",Arial,sans-serif;font-variant-numeric:tabular-nums}
.cac-calculator .cac-help{margin:8px 0 0;color:#62665c;font-size:12px;line-height:1.55}
.cac-calculator .cac-preserve-note{margin:0 0 10px;padding-left:10px;border-left:2px solid #963c37;color:#81372f;font-size:12px;font-weight:600;line-height:1.5}
.cac-calculator .cac-field-error{margin:8px 0 0;color:#96282b;font-size:12px;font-weight:600}
.cac-calculator .cac-reset{display:inline-flex;align-items:center;gap:9px;max-width:100%;min-height:44px;padding:10px 15px;border:1px solid #bdc2b6;border-radius:var(--radius-small,0.85rem);background:linear-gradient(#fffdf7,#eae9df);box-shadow:inset 0 1px #fff;color:#303d31;font:600 13px "Geist",Arial,sans-serif;cursor:pointer}
.cac-calculator .cac-reset:hover{border-color:#667962}
.cac-calculator .cac-reset:focus-visible{outline:2px solid #923237;outline-offset:3px}
.cac-calculator .cac-private{margin:15px 0 0;color:#62665c;font-size:12px;line-height:1.55}
.cac-calculator .cac-results{align-self:stretch;padding:28px clamp(16px,4cqi,36px);border-radius:var(--radius-card,2rem);background:radial-gradient(ellipse at top right,#e8eedf,transparent 70%),linear-gradient(130deg,#e1e7da,#d5ddcb);margin:0 0 28px}
.cac-calculator .cac-primary h2{margin:22px 0 10px;max-width:290px;font:550 20px/1.3 "Geist",Arial,sans-serif;letter-spacing:-.025em;color:#253d2b}
.cac-calculator .cac-primary>strong{display:block;font:650 clamp(30px,6cqi,49px)/1.14 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:-.065em;color:#24462e;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cac-calculator .cac-primary>p{margin:12px 0 26px;color:#4f614c;font-size:12px;line-height:1.6}
.cac-calculator .cac-metrics{margin:0;padding:0}
.cac-calculator .cac-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid #b8c3ae}
.cac-calculator .cac-metrics dt{font-size:13px;line-height:1.45}
.cac-calculator .cac-metrics dd{flex:0 0 auto;margin:0;max-width:55%;font-weight:650;font-size:17px;line-height:1.3;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cac-calculator .cac-metrics .cac-contribution{color:#56614e}
.cac-calculator .cac-contribution dd{font-size:14px;font-weight:500}
.cac-calculator .cac-flow{margin:25px 0;padding:23px 0;border-top:1px solid #b8c3ae;border-bottom:1px solid #b8c3ae}
.cac-calculator .cac-flow>div{display:flex;justify-content:space-between;align-items:center;gap:14px}
.cac-calculator .cac-flow>div>span{font-size:14px;font-weight:650}
.cac-calculator .cac-flow small{display:block;font-size:11px;font-weight:400;color:#576650}
.cac-calculator .cac-flow strong{max-width:55%;text-align:right;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.cac-calculator .cac-flow>p{display:flex;align-items:center;gap:8px;margin:12px 0;color:#5a6c50;font-size:11px;line-height:1.4}
.cac-calculator .cac-flow svg{flex:none}
.cac-calculator .cac-summary{margin:0;color:#3f513b;font-size:13px;line-height:1.8}
.cac-calculator .cac-warning{margin:18px 0;padding:13px 15px;border-left:3px solid #945125;background:#f3e8d1;color:#713e20;font-size:13px;line-height:1.6}
.cac-calculator .cac-disclaimer{padding-top:24px;color:#62665c;font-size:12px;line-height:1.75}
.cac-calculator .cac-disclaimer p{margin:0 0 10px}
.cac-calculator .cac-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cac-explainer{max-width:760px;margin-top:64px}
.cac-explainer h2{margin:35px 0 13px;font:650 clamp(22px,3vw,29px)/1.25 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:-.04em}
.cac-explainer p{margin:0 0 15px;color:#60645b;font-size:15px;line-height:1.8}
@container(min-width:780px){.cac-calculator .cac-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;padding:36px 0}.cac-calculator .cac-inputs{padding:0}.cac-calculator .cac-results{margin:0}.cac-calculator .cac-primary>strong{font-size:clamp(36px,4.4cqi,49px)}}
@media(max-width:480px){.cac-page-main{padding-top:120px}.cac-page-intro{margin-bottom:30px}.cac-calculator .cac-metrics dd{font-size:15px}}
