.plan-hero{
padding-block:var(--space-5);
background:var(--c-base);
color:var(--c-ink)
}

.plan-hero-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr);
align-items:center;
gap:var(--space-5)
}

.plan-hero-grid>*{
min-width:0
}

.plan-hero-copy{
display:grid;
gap:var(--space-3);
min-width:0
}

.plan-heading{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-heading .c-kicker{
width:fit-content;
max-width:100%;
align-self:flex-start
}

.plan-heading h1{
max-width:16ch;
font-size:var(--fs-5);
line-height:var(--lh-tight);
overflow-wrap:anywhere
}

.plan-heading h2{
max-width:21ch;
overflow-wrap:anywhere
}

.plan-heading .c-lead{
max-width:43rem;
color:var(--c-muted)
}

.plan-hero-actions{
justify-content:flex-start;
margin-block:0
}

.plan-hero-facts{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
margin-top:var(--space-1);
border-top:1px solid var(--c-line);
border-bottom:1px solid var(--c-line)
}

.plan-hero-facts div{
display:grid;
gap:var(--space-1);
min-width:0;
padding:var(--space-2)
}

.plan-hero-facts div+div{
border-left:1px solid var(--c-line)
}

.plan-hero-facts strong{
font-size:var(--fs-3);
line-height:1.2
}

.plan-hero-facts span{
color:var(--c-muted);
font-size:var(--fs-1);
line-height:1.4;
overflow-wrap:anywhere
}

.plan-stage{
height:clamp(25rem,38vw,31rem);
overflow:hidden;
padding-bottom:1.25rem;
border-radius:var(--radius-lg);
background:var(--c-dark);
color:#f8f3f2;
box-shadow:var(--shadow-float)
}

.plan-sheet{
display:flex;
width:100%;
max-width:none;
height:100%;
min-height:0;
flex-direction:column;
background:var(--c-dark-surface);
color:#f8f3f2
}

.plan-sheet-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding:var(--space-2) var(--space-3);
background:var(--c-primary);
color:var(--c-ink)
}

.plan-sheet-head span,
.plan-sheet-head strong{
min-width:0;
font-size:var(--fs-0);
line-height:1.4;
overflow-wrap:anywhere
}

.plan-device{
display:flex;
align-items:center;
gap:var(--space-2);
padding:var(--space-3);
background:var(--c-dark-surface);
color:#f8f3f2
}

.plan-device-mark{
display:grid;
flex:0 0 5.5rem;
height:3.75rem;
place-content:center;
gap:.35rem;
border-radius:var(--radius-sm);
background:var(--c-accent);
color:#f8f3f2
}

.plan-device-mark span{
display:block;
width:2.8rem;
height:.22rem;
border-radius:999px;
background:#f8f3f2
}

.plan-device-copy{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-device-copy span{
color:#c6bec3;
font-size:var(--fs-0);
line-height:1.35
}

.plan-device-copy strong{
font-family:var(--font-head);
font-size:var(--fs-3);
line-height:var(--lh-heading);
overflow-wrap:anywhere
}

.plan-sheet-list{
flex:1 1 auto;
min-height:0;
margin:0;
padding-inline:var(--space-3);
overflow:auto
}

.plan-sheet-list div{
display:grid;
grid-template-columns:minmax(7rem,.7fr) minmax(0,1.3fr);
gap:var(--space-2);
padding-block:.7rem;
border-top:1px solid var(--c-line-dark)
}

.plan-sheet-list dt{
color:#aaa1a6;
font-weight:500
}

.plan-sheet-list dd{
color:#f8f3f2;
text-align:right;
overflow-wrap:anywhere
}

.plan-sheet-foot{
display:flex;
flex:0 0 auto;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
margin-top:auto;
padding:var(--space-2) var(--space-3);
background:var(--c-dark);
color:#c6bec3
}

.plan-sheet-foot span{
min-width:0;
font-size:var(--fs-0);
line-height:1.45;
overflow-wrap:anywhere
}

.plan-sheet-foot strong{
color:#f8f3f2
}

.plan-price-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
align-items:start;
gap:var(--space-3);
margin-top:var(--space-4)
}

.plan-price-card{
display:flex;
min-width:0;
flex-direction:column;
gap:var(--space-3)
}

.plan-card-head{
display:grid;
gap:var(--space-1)
}

.plan-card-head .c-badge{
width:fit-content;
max-width:100%;
align-self:flex-start
}

.plan-card-head p{
color:var(--c-muted)
}

.plan-periods{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:var(--space-2)
}

.plan-periods div{
display:grid;
gap:var(--space-1);
min-width:0;
padding:var(--space-2);
border-radius:var(--radius-sm);
background:var(--c-base);
color:var(--c-ink)
}

.plan-price-card.is-featured .plan-periods div{
background:var(--c-surface);
color:var(--c-ink)
}

.plan-periods span,
.plan-periods small{
color:var(--c-muted)
}

.plan-periods strong{
font-size:var(--fs-3);
line-height:1.2;
overflow-wrap:anywhere
}

.plan-check-list{
display:grid;
list-style:none
}

.plan-check-list li{
position:relative;
padding:.7rem 0 .7rem 1.65rem;
border-top:1px solid var(--c-line);
color:var(--c-muted)
}

.plan-check-list li::before{
position:absolute;
top:1.1rem;
left:.15rem;
width:.55rem;
height:.3rem;
border-bottom:2px solid var(--c-success);
border-left:2px solid var(--c-success);
content:"";
transform:rotate(-45deg)
}

.plan-card-action{
width:100%;
margin-top:var(--space-2)
}

.plan-availability{
display:grid;
grid-template-columns:auto minmax(0,1fr);
align-items:start;
gap:var(--space-2);
margin-top:var(--space-3);
background:var(--c-blue);
color:var(--c-ink)
}

.plan-availability svg{
width:1.25rem;
height:1.25rem;
margin-top:.15rem;
color:var(--c-success)
}

.plan-availability div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-availability p{
color:var(--c-muted)
}

.plan-compare-table{
min-width:42rem
}

.plan-compare-table caption{
padding:var(--space-2);
background:var(--c-surface);
color:var(--c-muted);
font-size:var(--fs-1);
text-align:left
}

.plan-compare-table th,
.plan-compare-table td{
vertical-align:middle
}

.plan-compare-table th:not(:first-child),
.plan-compare-table td:not(:first-child){
text-align:left
}

.plan-status{
display:inline-flex;
align-items:center;
gap:.4rem;
width:fit-content;
max-width:100%;
color:var(--c-success);
font-weight:700
}

.plan-status::before{
width:.45rem;
height:.45rem;
flex:0 0 .45rem;
border-radius:50%;
background:var(--c-success);
content:""
}

.plan-advisor-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
align-items:start;
gap:var(--space-3);
margin-top:var(--space-4)
}

.plan-advisor-card{
display:grid;
gap:var(--space-3)
}

.plan-advisor-top{
display:grid;
grid-template-columns:auto minmax(0,1fr);
align-items:start;
gap:var(--space-2)
}

.plan-advisor-top>div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-advisor-top p{
color:var(--c-muted);
font-weight:650
}

.plan-advisor-index{
display:inline-flex;
width:2.5rem;
height:2.5rem;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--c-dark);
color:#f8f3f2;
font-size:var(--fs-1);
line-height:1
}

.plan-advisor-note{
padding-top:var(--space-2);
border-top:1px solid var(--c-line);
color:var(--c-muted)
}

.plan-advisor-rule{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:var(--space-3);
margin-top:var(--space-3);
padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--c-dark);
color:#f8f3f2
}

.plan-advisor-rule div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-advisor-rule strong{
color:#f8f3f2
}

.plan-advisor-rule span{
color:#c6bec3;
overflow-wrap:anywhere
}

.plan-addon-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
align-items:start;
gap:var(--space-3);
margin-top:var(--space-4)
}

.plan-addon-card{
display:grid;
gap:var(--space-3);
background:var(--c-surface);
color:var(--c-ink)
}

.plan-addon-prices{
display:grid;
margin:0
}

.plan-addon-prices div{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding-block:.7rem;
border-top:1px solid var(--c-line)
}

.plan-addon-prices dt{
color:var(--c-muted);
font-weight:500
}

.plan-addon-prices dd{
color:var(--c-ink);
text-align:right;
overflow-wrap:anywhere
}

.plan-billing-section{
background:var(--c-dark);
color:#f8f3f2
}

.plan-billing-section .plan-heading .c-lead{
color:#c6bec3
}

.plan-kicker-dark{
background:var(--c-primary);
color:var(--c-ink)
}

.plan-kicker-dark::before{
background:var(--c-ink)
}

.plan-billing-grid{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);
align-items:stretch;
gap:var(--space-3);
margin-top:var(--space-4)
}

.plan-invoice{
overflow:hidden;
border-radius:var(--radius-md);
background:var(--c-surface);
color:var(--c-ink)
}

.plan-invoice-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-2);
padding:var(--space-2) var(--space-3);
background:var(--c-primary);
color:var(--c-ink)
}

.plan-invoice-head>div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-invoice-head span,
.plan-invoice-head strong{
overflow-wrap:anywhere
}

.plan-invoice-state{
display:inline-flex;
width:fit-content;
max-width:45%;
align-items:center;
justify-content:center;
padding:.4rem .65rem;
border-radius:999px;
background:var(--c-dark);
color:#f8f3f2;
font-size:var(--fs-0);
line-height:1.2;
font-weight:700
}

.plan-invoice-meta{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
padding:var(--space-3);
background:var(--c-base);
color:var(--c-ink)
}

.plan-invoice-meta div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-invoice-meta div+div{
padding-left:var(--space-3);
border-left:1px solid var(--c-line)
}

.plan-invoice-meta span{
color:var(--c-muted);
font-size:var(--fs-1)
}

.plan-invoice-meta strong{
overflow-wrap:anywhere
}

.plan-invoice-lines{
padding-inline:var(--space-3)
}

.plan-invoice-lines>div{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
align-items:center;
gap:var(--space-3);
padding-block:var(--space-2);
border-bottom:1px solid var(--c-line)
}

.plan-invoice-lines>div>div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-invoice-lines span{
color:var(--c-muted);
font-size:var(--fs-1);
overflow-wrap:anywhere
}

.plan-invoice-lines>div>strong{
text-align:right;
overflow-wrap:anywhere
}

.plan-invoice-total{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-3);
padding:var(--space-3);
background:var(--c-peach);
color:var(--c-ink)
}

.plan-invoice-total strong{
font-size:var(--fs-4)
}

.plan-billing-notes{
display:grid;
grid-template-rows:repeat(3,minmax(0,1fr));
gap:var(--space-2);
min-width:0
}

.plan-note-card{
display:grid;
grid-template-columns:auto minmax(0,1fr);
align-items:start;
gap:var(--space-2);
padding:var(--space-3);
border-radius:var(--radius-md);
background:var(--c-dark-surface);
color:#f8f3f2
}

.plan-note-card>div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-note-card h3{
font-size:var(--fs-3)
}

.plan-note-card p{
color:#c6bec3
}

.plan-note-number{
display:inline-flex;
width:2rem;
height:2rem;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--c-primary);
color:var(--c-ink);
line-height:1;
font-weight:700
}

.plan-payment-grid{
display:grid;
grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
align-items:start;
gap:var(--space-4)
}

.plan-payment-methods{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
align-items:start;
gap:var(--space-3)
}

.plan-payment-card{
display:grid;
grid-template-columns:auto minmax(0,1fr);
align-items:start;
gap:var(--space-2);
background:var(--c-surface);
color:var(--c-ink)
}

.plan-payment-card svg{
width:1.5rem;
height:1.5rem;
color:var(--c-primary)
}

.plan-payment-card>div{
display:grid;
gap:var(--space-1);
min-width:0
}

.plan-payment-card h3{
font-size:var(--fs-3);
overflow-wrap:anywhere
}

.plan-payment-card p{
color:var(--c-muted)
}

.plan-payment-note{
display:grid;
gap:var(--space-1);
margin-top:var(--space-3);
background:var(--c-blue);
color:var(--c-ink)
}

.plan-payment-note p{
color:var(--c-muted)
}

.plan-closing-section{
padding-bottom:var(--space-4)
}

.plan-closing{
background:var(--c-dark);
color:#f8f3f2
}

.plan-closing-copy{
display:grid;
gap:var(--space-1);
max-width:46rem;
min-width:0
}

.plan-closing-copy h2{
font-size:var(--fs-4);
overflow-wrap:anywhere
}

.plan-closing-copy p{
color:#c6bec3
}

.plan-closing-actions{
display:flex;
flex:0 0 auto;
flex-direction:column;
align-items:stretch;
gap:.75rem
}

.plan-closing-actions .c-btn{
min-width:12rem
}

.plan-closing-actions .c-btn-ghost{
color:#f8f3f2;
border-color:color-mix(in srgb,currentColor 35%,transparent)
}

@media (max-width:64rem){
.plan-hero-grid,
.plan-billing-grid,
.plan-payment-grid{
grid-template-columns:1fr
}

.plan-stage{
height:auto;
overflow:visible
}

.plan-sheet{
height:auto
}

.plan-price-grid,
.plan-advisor-grid,
.plan-addon-grid{
grid-template-columns:repeat(2,minmax(0,1fr))
}

.plan-advisor-grid .plan-advisor-card:last-child,
.plan-addon-grid .plan-addon-card:last-child{
grid-column:1/-1
}

.plan-billing-notes{
grid-template-rows:none
}
}

@media (max-width:44rem){
.plan-hero{
padding-block:var(--space-4)
}

.plan-heading h1,
.plan-heading h2{
max-width:none
}

.plan-hero-facts,
.plan-price-grid,
.plan-periods,
.plan-advisor-grid,
.plan-addon-grid,
.plan-advisor-rule,
.plan-payment-methods{
grid-template-columns:1fr
}

.plan-hero-facts div+div{
border-top:1px solid var(--c-line);
border-left:0
}

.plan-advisor-grid .plan-advisor-card:last-child,
.plan-addon-grid .plan-addon-card:last-child{
grid-column:auto
}

.plan-sheet-head,
.plan-sheet-foot{
align-items:flex-start;
flex-direction:column
}

.plan-sheet-list div{
grid-template-columns:1fr;
gap:var(--space-1)
}

.plan-sheet-list dd{
text-align:left
}

.plan-invoice-head,
.plan-invoice-lines>div,
.plan-invoice-total{
align-items:flex-start
}

.plan-invoice-lines>div{
grid-template-columns:1fr;
gap:var(--space-1)
}

.plan-invoice-lines>div>strong{
text-align:left
}

.plan-invoice-meta{
grid-template-columns:1fr;
gap:var(--space-2)
}

.plan-invoice-meta div+div{
padding-top:var(--space-2);
padding-left:0;
border-top:1px solid var(--c-line);
border-left:0
}

.plan-closing-actions{
width:100%
}

.plan-closing-actions .c-btn{
min-width:0
}
}

@media (max-width:24.375rem){
.plan-device{
align-items:flex-start;
flex-direction:column
}

.plan-device-mark{
width:100%;
flex-basis:auto
}

.plan-availability,
.plan-advisor-top,
.plan-note-card,
.plan-payment-card{
grid-template-columns:1fr
}
}
