.cost-page {
    --ink:#192d34;
    --muted:#52656a;
    --teal:#147c78;
    --deep:#102e35;
    --cream:#f7f2e9;
    --line:#d7e0de;
    color:var(--ink);
    font-family:inherit;
    background:#fff
}
.cost-page * {
    box-sizing:border-box
}
.cost-page .cost-wrap {
    width:min(1180px,calc(100% - 40px));
    margin:auto
}
.cost-page h1,.cost-page h2,.cost-page h3,.cost-page p {
    margin-top:0
}
.cost-page h1,.cost-page h2 {
    letter-spacing:-.045em;
    line-height:1.08
}
.cost-page h1 {
    font-size:clamp(2.8rem,5vw,4.7rem);
    max-width:760px
}
.cost-page h2 {
    font-size:clamp(2rem,3.7vw,3.5rem)
}
.cost-page h3 {
    font-size:1.3rem
}
.cost-page p {
    line-height:1.65
}
.cost-page a {
    color:var(--teal)
}
.cost-eyebrow {
    display:block;
    margin-bottom:18px;
    color:#2b897f;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.74rem;
    font-weight:800
}
.cost-hero {
    background:var(--deep);
    color:#fff;
    padding:54px 0 100px;
    overflow:hidden
}
.cost-hero-grid {
    display:grid;
    grid-template-columns:1.45fr .8fr;
    gap:6vw;
    align-items:center
}
.cost-hero p {
    font-size:1.2rem;
    max-width:650px;
    color:#d9e5e3
}
.cost-hero .cost-eyebrow {
    margin-top:65px;
    color:#9ddbd3
}
.cost-back {
    color:#cbe9e5!important;
    font-size:.9rem
}
.cost-button {
    display:inline-flex;
    align-items:center;
    gap:20px;
    border:0;
    border-radius:3px;
    background:#e5b870;
    color:#172f35!important;
    padding:16px 22px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 8px 0 rgba(0,0,0,.13)
}
.cost-button:hover {
    filter:brightness(1.06);
    transform:translateY(-2px)
}
.cost-button-small {
    padding:12px 17px;
    white-space:nowrap;
    box-shadow:none
}
.cost-hero-note {
    font-size:.82rem!important;
    margin:22px 0 0
}
.cost-hero-art {
    background:linear-gradient(145deg,#245e60,#173b42);
    border:1px solid #4e8988;
    border-radius:24px;
    padding:30px;
    box-shadow:25px 25px 0 rgba(7,31,35,.35);
    transform:rotate(2deg)
}
.cost-art-caption {
    font-size:.72rem;
    letter-spacing:.18em;
    color:#c5dcd9
}
.cost-hero-art>div {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:36px 0
}
.cost-hero-art>div span {
    border:1px solid #7ab3ad;
    border-radius:100px;
    padding:8px 13px;
    color:#ebf8f6
}
.cost-hero-art strong {
    font-size:clamp(1.6rem,2.7vw,2.8rem);
    letter-spacing:-.05em
}
.cost-hero-art p {
    font-size:.97rem;
    margin:16px 0 30px
}
.cost-art-total {
    display:block;
    border-top:1px solid #74a8a6;
    padding-top:18px;
    color:#f1c17b;
    font-weight:800
}
.cost-truth {
    padding:55px 0;
    background:#e9f2ef
}
.cost-truth-grid,.cost-final-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7vw
}
.cost-truth h2 {
    margin-bottom:0
}
.cost-truth h2 em {
    color:#178079;
    font-style:normal
}
.cost-truth p {
    font-size:1rem
}
.cost-section {
    padding:90px 0
}
.cost-tint {
    background:var(--cream)
}
.cost-heading {
    max-width:760px;
    margin-bottom:32px
}
.cost-heading p {
    font-size:1.1rem;
    color:var(--muted)
}
.cost-workspace {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(350px,.78fr);
    gap:26px;
    align-items:start
}
.cost-inputs {
    display:grid;
    gap:17px
}
.cost-panel,.cost-results,.cost-fit-grid article,.cost-price-card {
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    padding:24px
}
.cost-panel h3 {
    margin-bottom:8px
}
.cost-page label {
    display:block;
    font-size:.9rem;
    font-weight:700
}
.cost-page input,.cost-page select {
    display:block;
    width:100%;
    height:43px;
    padding:9px 12px;
    margin-top:7px;
    border:1px solid #acbdbd;
    border-radius:5px;
    background:#fff;
    color:var(--ink);
    font:inherit
}
.cost-page input:focus,.cost-page select:focus,.cost-page button:focus-visible,.cost-page a:focus-visible {
    outline:3px solid #eab96f;
    outline-offset:2px
}
.cost-add-row {
    display:flex;
    gap:9px;
    align-items:end
}
.cost-add-row select {
    flex:1
}
.cost-hint,.cost-small {
    font-size:.8rem;
    color:var(--muted);
    line-height:1.5
}
.cost-hint {
    margin:12px 0 0
}
.cost-error {
    color:#a53726;
    font-weight:700
}
.cost-custom {
    display:grid;
    grid-template-columns:1.2fr .7fr .8fr auto;
    gap:9px;
    align-items:end
}
.cost-custom label {
    font-size:.8rem
}
.cost-stack {
    display:grid;
    gap:11px
}
.cost-stack-row {
    border:1px solid var(--line);
    border-left:4px solid var(--teal);
    border-radius:6px;
    padding:15px
}
.cost-stack-top {
    display:flex;
    justify-content:space-between;
    gap:15px
}
.cost-stack-top button,.cost-result-actions button {
    background:none;
    border:0;
    color:var(--teal);
    text-decoration:underline;
    cursor:pointer;
    font-weight:700
}
.cost-stack-row p {
    font-size:.8rem;
    color:var(--muted);
    margin:8px 0
}
.cost-row-fields {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:8px
}
.cost-row-fields label {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    font-size:.74rem
}
.cost-row-fields input,.cost-row-fields select {
    height:38px
}
.cost-inline {
    display:flex;
    gap:8px
}
.cost-inline input {
    flex:1
}
.cost-inline select {
    width:150px
}
.cost-assumptions label+label {
    margin-top:19px
}
.cost-results {
    box-shadow:0 22px 60px rgba(22,53,56,.11);
    border-top:7px solid var(--teal)
}
.cost-selected-plans {
    border-bottom:1px solid var(--line);
    margin-bottom:20px;
    padding-bottom:20px
}
.cost-selected-plans h3 {
    margin-bottom:0
}
.cost-selected-plans .cost-hint {
    margin-bottom:16px
}
.cost-result-intro {
    margin-bottom:0!important
}
.cost-giant {
    font-size:clamp(2.9rem,5vw,4.9rem);
    letter-spacing:-.07em;
    line-height:1.1;
    display:block;
    color:#106d6a
}
.cost-giant small {
    font-size:1rem;
    letter-spacing:0;
    color:var(--muted)
}
.cost-result-sub {
    color:var(--muted)
}
.cost-fee-card {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    margin-top:18px;
    padding:15px 16px;
    border-radius:8px;
    background:#e9f2ef;
    font-size:.86rem
}
.cost-fee-card strong {
    font-size:1.16rem;
    color:#106d6a;
    text-align:right
}
.cost-result-grid,.cost-periods {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px
}
.cost-result-grid>div,.cost-periods>div {
    padding:12px;
    border-radius:7px;
    background:#f0f5f3
}
.cost-result-grid span,.cost-periods span {
    display:block;
    font-size:.74rem;
    color:var(--muted);
    line-height:1.3
}
.cost-result-grid strong,.cost-periods strong {
    display:block;
    font-size:1.12rem;
    margin-top:5px
}
.cost-chart {
    margin:25px 0
}
.cost-chart>div {
    display:grid;
    grid-template-columns:94px 1fr 65px;
    align-items:center;
    gap:7px;
    font-size:.73rem;
    margin:10px 0
}
.cost-chart b {
    text-align:right;
    font-size:.85rem
}
.cost-bar-track {
    height:16px;
    background:#edf1ee;
    border-radius:20px;
    overflow:hidden
}
.cost-bar-track i {
    display:block;
    background:#dba95d;
    height:100%;
    width:0;
    transition:width .3s
}
.cost-chart>div+div .cost-bar-track i {
    background:var(--teal)
}
.cost-difference {
    border-radius:8px;
    background:#def1e9;
    color:#145c4d;
    padding:17px;
    font-weight:800;
    line-height:1.4
}
.cost-difference.cost-negative {
    background:#fff1e8;
    color:#873d24
}
.cost-results > .cost-small {
    margin-top:14px
}
.cost-break-even {
    font-size:.9rem;
    margin:15px 0 25px
}
.cost-periods {
    margin-bottom:20px
}
.cost-result-actions {
    display:flex;
    gap:13px;
    flex-wrap:wrap;
    margin-top:18px
}
.cost-result-actions button {
    padding:0
}
.cost-scenarios,.cost-price-cards {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px
}
.cost-scenarios button {
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    text-align:left;
    padding:22px;
    cursor:pointer;
    color:var(--ink)
}
.cost-scenarios button:hover {
    border-color:var(--teal);
    box-shadow:0 8px 25px #164d4417
}
.cost-scenarios strong,.cost-scenarios span {
    display:block
}
.cost-scenarios span {
    font-size:.85rem;
    color:var(--muted);
    margin-top:9px
}
.cost-seasons {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px
}
.cost-seasons>span {
    padding:23px;
    border-top:4px solid #e2ab5e;
    background:#f4f5f1;
    font-weight:700
}
.cost-seasons>span:nth-child(3),.cost-seasons>span:nth-child(4) {
    border-color:#93bbb5
}
.cost-seasons strong {
    display:block;
    font-size:1.8rem
}
.cost-seasons .cost-season-note {
    grid-column:1/-1;
    border:0;
    padding:10px;
    color:#815525;
    background:#fff2dd;
    font-size:.9rem
}
.cost-fit-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
.cost-fit-grid article {
    padding:30px
}
.cost-fit-label {
    font-size:.75rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--teal);
    font-weight:800
}
.cost-fit-grid h3 {
    margin:12px 0
}
.cost-fit-grid li {
    margin:7px 0
}
.cost-fit-grid p {
    color:var(--muted)
}
.cost-reviewed {
    font-size:.85rem!important
}
.cost-price-cards {
    grid-template-columns:repeat(3,1fr)
}
.cost-price-card {
    display:flex;
    flex-direction:column
}
.cost-price-card>span {
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.72rem;
    color:var(--teal);
    font-weight:800
}
.cost-price-card h3 {
    margin:10px 0
}
.cost-price-card strong {
    font-size:1.35rem
}
.cost-price-card p {
    font-size:.85rem;
    color:var(--muted);
    margin:10px 0
}
.cost-price-card a {
    margin-top:auto
}
.cost-price-card small {
    display:block;
    margin-top:8px;
    color:var(--muted)
}
.cost-final {
    background:var(--deep);
    color:#fff;
    padding:80px 0
}
.cost-final p {
    color:#d4e7e3
}
.cost-final a {
    color:#c8e9e5
}
.cost-final .cost-button {
    margin-top:10px
}
.cost-final-grid>div+div {
    display:flex;
    flex-direction:column;
    gap:12px;
    border-left:1px solid #527c7e;
    padding-left:45px
}
.cost-final-grid>div+div h3 {
    margin:0
}
.cost-disclaimer {
    padding:25px 0;
    font-size:.85rem;
    color:var(--muted)
}
@media(max-width:900px) {
    .cost-hero-grid,.cost-truth-grid,.cost-workspace,.cost-final-grid {
        grid-template-columns:1fr
    }
    .cost-hero-art {
        max-width:550px
    }
    .cost-custom {
        grid-template-columns:1fr 1fr
    }
    .cost-scenarios {
        grid-template-columns:1fr 1fr
    }
    .cost-price-cards {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:600px) {
    .cost-page .cost-wrap {
        width:min(100% - 28px,1180px)
    }
    .cost-hero {
        padding:90px 0 55px
    }
    .cost-hero .cost-eyebrow {
        margin-top:38px
    }
    .cost-hero-art {
        transform:none
    }
    .cost-section {
        padding:55px 0
    }
    .cost-panel,.cost-results {
        padding:17px
    }
    .cost-add-row,.cost-inline {
        flex-direction:column;
        align-items:stretch
    }
    .cost-inline select {
        width:100%
    }
    .cost-custom,.cost-row-fields,.cost-fit-grid,.cost-price-cards {
        grid-template-columns:1fr
    }
    .cost-scenarios {
        grid-template-columns:1fr 1fr
    }
    .cost-seasons {
        grid-template-columns:1fr 1fr
    }
    .cost-final-grid>div+div {
        border-left:0;
        border-top:1px solid #527c7e;
        padding:25px 0 0
    }
    .cost-chart>div {
        grid-template-columns:75px 1fr 55px
    }
}
@media print {
    .cost-hero,.cost-truth,.cost-inputs,.cost-scenarios,.cost-final,.cost-result-actions,.cost-page #published-prices {
        display:none!important
    }
    .cost-workspace {
        display:block
    }
    .cost-results {
        box-shadow:none;
        border:1px solid #999
    }
    .cost-section {
        padding:15px 0
    }
    .cost-page .cost-wrap {
        width:100%
    }
}
