.page-shell-hero{
  background:var(--hx-light);
  border-bottom:1px solid var(--hx-line);
}

.pd-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:var(--hx-space-5);
  align-items:center;
  padding-block:var(--hx-space-5);
}

.pd-hero-copy,
.pd-hero-summary{
  min-width:0;
}

.pd-hero-copy .c-breadcrumb{
  margin-bottom:var(--hx-space-4);
}

.pd-hero-copy h1{
  max-width:48rem;
  margin-bottom:var(--hx-space-3);
}

.pd-hero-lead{
  max-width:45rem;
  margin-bottom:var(--hx-space-3);
  color:var(--hx-text);
  font-size:var(--hx-text-lg);
}

.pd-hero-actions{
  margin-top:var(--hx-space-3);
}

.pd-boundary{
  max-width:45rem;
  margin:var(--hx-space-2) 0 0;
  font-size:var(--hx-text-sm);
}

.pd-hero-summary{
  padding:var(--hx-space-4);
  border:1px solid var(--hx-line-strong);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-surface);
  box-shadow:var(--hx-shadow);
}

.pd-summary-top{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--hx-space-2);
}

.pd-summary-price{
  display:flex;
  min-width:0;
  align-items:end;
  gap:var(--hx-space-1);
  margin:var(--hx-space-4) 0;
  padding-bottom:var(--hx-space-3);
  border-bottom:1px solid var(--hx-line);
}

.pd-summary-price strong{
  color:var(--hx-ink);
  font-size:clamp(2.5rem,5vw,var(--hx-text-hero));
  line-height:1;
  letter-spacing:-.06em;
}

.pd-summary-price span{
  color:var(--hx-muted);
}

.pd-summary-list{
  display:grid;
  gap:0;
  margin:0;
}

.pd-summary-list div{
  display:flex;
  min-width:0;
  justify-content:space-between;
  gap:var(--hx-space-2);
  padding-block:var(--hx-space-2);
  border-bottom:1px solid var(--hx-line);
}

.pd-summary-list div:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.pd-summary-list dt{
  color:var(--hx-muted);
}

.pd-summary-list dd{
  min-width:0;
  margin:0;
  color:var(--hx-ink);
  font-weight:700;
  text-align:right;
}

.pd-period-bar{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--hx-space-3);
  margin-bottom:var(--hx-space-4);
  padding:var(--hx-space-2) var(--hx-space-3);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-md);
  background:var(--hx-surface);
}

.pd-period-bar > div{
  min-width:0;
}

.pd-period-bar strong{
  display:block;
  color:var(--hx-ink);
}

.pd-period-bar span{
  display:block;
  margin-top:.25rem;
  color:var(--hx-muted);
  font-size:var(--hx-text-sm);
}

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

.pd-plan-grid .c-price{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.pd-plan-label{
  display:block;
  margin-bottom:var(--hx-space-1);
  color:var(--hx-primary-hover);
  font-size:var(--hx-text-xs);
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pd-plan-grid h3,
.pd-addon-card h3{
  margin-bottom:0;
}

.pd-price-list,
.pd-addon-prices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0 0 var(--hx-space-3);
  border-block:1px solid var(--hx-line);
}

.pd-price-list div,
.pd-addon-prices div{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--hx-space-1);
  padding:var(--hx-space-2);
  border-bottom:1px solid var(--hx-line);
}

.pd-price-list div:nth-child(odd),
.pd-addon-prices div:nth-child(odd){
  border-right:1px solid var(--hx-line);
}

.pd-price-list div:nth-child(n+3),
.pd-addon-prices div:nth-child(n+3){
  border-bottom:0;
}

.pd-price-list dt,
.pd-addon-prices dt{
  color:var(--hx-muted);
  font-size:var(--hx-text-sm);
}

.pd-price-list dd,
.pd-addon-prices dd{
  min-width:0;
  margin:0;
  color:var(--hx-ink);
  font-size:var(--hx-text-sm);
  font-weight:700;
  text-align:right;
}

.pd-check-list{
  display:grid;
  gap:var(--hx-space-1);
  margin:0 0 var(--hx-space-3);
  padding:0;
  list-style:none;
}

.pd-check-list li{
  position:relative;
  padding-left:var(--hx-space-3);
  color:var(--hx-text);
}

.pd-check-list li:before{
  content:"";
  position:absolute;
  top:.65em;
  left:0;
  width:.45rem;
  height:.45rem;
  border-radius:50%;
  background:var(--hx-success);
}

.pd-plan-cta{
  width:100%;
  margin-top:auto;
}

.pd-plan-notice{
  margin-top:var(--hx-space-3);
}

.pd-plan-notice svg,
.pd-billing-notes .c-notice svg{
  flex:0 0 auto;
  width:1.5rem;
  height:1.5rem;
  margin-top:.1rem;
  color:var(--hx-primary-hover);
}

.pd-plan-notice p,
.pd-billing-notes .c-notice p{
  margin:.25rem 0 0;
}

.pd-compare-table caption,
.pd-region-table caption{
  padding:var(--hx-space-2);
  color:var(--hx-muted);
  font-size:var(--hx-text-sm);
  text-align:left;
}

.pd-compare-table tbody th,
.pd-region-table tbody th{
  color:var(--hx-ink);
  font-weight:700;
  text-align:left;
}

.pd-decision-grid,
.pd-region-guidance{
  margin-top:var(--hx-space-3);
}

.pd-card-icon{
  width:1.75rem;
  height:1.75rem;
  margin-bottom:var(--hx-space-2);
  color:var(--hx-primary-hover);
}

.pd-decision-grid h3,
.pd-region-guidance h3,
.pd-payment-card h3{
  margin-bottom:var(--hx-space-1);
}

.pd-decision-grid p,
.pd-region-guidance p,
.pd-payment-card p{
  margin-bottom:0;
}

.pd-addon-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--hx-space-3);
}

.pd-addon-card{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.pd-addon-head{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:var(--hx-space-2);
  margin-bottom:var(--hx-space-2);
}

.pd-addon-head .pd-card-icon{
  flex:0 0 auto;
  margin-bottom:0;
}

.pd-addon-head > div{
  min-width:0;
}

.pd-addon-card > p{
  flex:1;
}

.pd-addon-prices{
  margin-bottom:0;
}

.pd-billing-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:var(--hx-space-4);
  align-items:start;
}

.pd-invoice{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--hx-line-strong);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-surface);
  box-shadow:var(--hx-shadow);
}

.pd-invoice-head{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--hx-space-2);
  padding:var(--hx-space-3);
  border-bottom:1px solid var(--hx-line);
}

.pd-invoice-head > div{
  min-width:0;
}

.pd-invoice-head span:not(.c-badge){
  display:block;
  color:var(--hx-muted);
  font-size:var(--hx-text-sm);
}

.pd-invoice-head strong{
  display:block;
  color:var(--hx-ink);
  font-size:var(--hx-text-lg);
}

.pd-invoice-lines{
  margin:0;
  padding:0 var(--hx-space-3);
}

.pd-invoice-lines div{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,max-content);
  gap:var(--hx-space-2);
  padding-block:var(--hx-space-2);
  border-bottom:1px solid var(--hx-line);
}

.pd-invoice-lines dt{
  min-width:0;
  color:var(--hx-text);
}

.pd-invoice-lines dt span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.75rem;
  height:1.75rem;
  margin-right:var(--hx-space-1);
  border-radius:50%;
  background:var(--hx-primary-soft);
  color:var(--hx-primary-hover);
  font:700 var(--hx-text-xs)/1 var(--hx-font-mono);
}

.pd-invoice-lines dd{
  min-width:0;
  margin:0;
  color:var(--hx-ink);
  font-weight:700;
  text-align:right;
}

.pd-invoice-total,
.pd-invoice-renewal{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--hx-space-2);
  padding:var(--hx-space-3);
}

.pd-invoice-total{
  background:var(--hx-dark);
  color:var(--hx-surface);
}

.pd-invoice-total strong{
  color:var(--hx-surface);
  font-size:var(--hx-text-xl);
}

.pd-invoice-renewal{
  border-top:1px solid var(--hx-line);
}

.pd-invoice-renewal span{
  color:var(--hx-muted);
}

.pd-invoice-renewal strong{
  color:var(--hx-ink);
  text-align:right;
}

.pd-billing-notes{
  min-width:0;
  padding:var(--hx-space-3);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-surface);
}

.pd-billing-notes h3{
  margin-bottom:var(--hx-space-2);
}

.pd-billing-notes ol{
  margin:0 0 var(--hx-space-3);
  padding-left:var(--hx-space-3);
}

.pd-billing-notes li+li{
  margin-top:var(--hx-space-2);
}

.pd-billing-notes li::marker{
  color:var(--hx-primary-hover);
  font-family:var(--hx-font-mono);
  font-weight:700;
}

.pd-billing-notes li strong{
  color:var(--hx-ink);
}

.pd-region-table td{
  vertical-align:middle;
}

.pd-payment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--hx-space-3);
}

.pd-payment-card{
  min-width:0;
}

.pd-order-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:var(--hx-space-4);
  overflow:hidden;
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-surface);
}

.pd-order-flow > div{
  min-width:0;
  padding:var(--hx-space-3);
  border-right:1px solid var(--hx-line);
}

.pd-order-flow > div:last-child{
  border-right:0;
}

.pd-order-flow span{
  display:block;
  margin-bottom:var(--hx-space-2);
  color:var(--hx-primary-hover);
  font-weight:700;
}

.pd-order-flow strong{
  display:block;
  margin-bottom:var(--hx-space-1);
  color:var(--hx-ink);
}

.pd-order-flow p{
  margin-bottom:0;
  font-size:var(--hx-text-sm);
}

.pd-final-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,max-content);
  gap:var(--hx-space-4);
  align-items:center;
  padding:var(--hx-space-5);
  border:1px solid var(--hx-line);
  border-radius:var(--hx-radius-lg);
  background:var(--hx-primary-soft);
  overflow:hidden;
}

.pd-final-cta > div{
  min-width:0;
}

.pd-final-cta h2{
  margin-bottom:var(--hx-space-2);
}

.pd-final-cta p{
  max-width:45rem;
  margin-bottom:0;
  color:var(--hx-text);
}

.pd-final-actions{
  justify-content:flex-end;
}

@media(max-width:768px){
  .pd-hero-grid,
  .pd-plan-grid,
  .pd-billing-grid,
  .pd-addon-grid,
  .pd-payment-grid,
  .pd-final-cta{
    grid-template-columns:1fr;
  }

  .pd-period-bar{
    align-items:flex-start;
    flex-direction:column;
  }

  .pd-order-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pd-order-flow > div{
    border-bottom:1px solid var(--hx-line);
  }

  .pd-order-flow > div:nth-child(2){
    border-right:0;
  }

  .pd-order-flow > div:nth-child(n+3){
    border-bottom:0;
  }

  .pd-final-actions{
    justify-content:flex-start;
  }
}

@media(max-width:390px){
  .pd-hero-grid{
    gap:var(--hx-space-3);
    padding-block:var(--hx-space-4);
  }

  .pd-hero-summary,
  .c-price,
  .pd-billing-notes,
  .pd-final-cta{
    padding:var(--hx-space-3);
  }

  .pd-hero-actions,
  .pd-final-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .pd-hero-actions .c-btn,
  .pd-final-actions .c-btn{
    width:100%;
    white-space:normal;
  }

  .pd-summary-top,
  .pd-invoice-head,
  .pd-invoice-total,
  .pd-invoice-renewal{
    align-items:flex-start;
    flex-direction:column;
  }

  .pd-summary-price{
    flex-wrap:wrap;
  }

  .pd-price-list,
  .pd-addon-prices{
    grid-template-columns:1fr;
  }

  .pd-price-list div:nth-child(odd),
  .pd-addon-prices div:nth-child(odd){
    border-right:0;
  }

  .pd-price-list div:nth-child(n+3),
  .pd-addon-prices div:nth-child(n+3){
    border-bottom:1px solid var(--hx-line);
  }

  .pd-price-list div:last-child,
  .pd-addon-prices div:last-child{
    border-bottom:0;
  }

  .pd-invoice-lines div{
    grid-template-columns:1fr;
  }

  .pd-invoice-lines dd{
    padding-left:calc(1.75rem + var(--hx-space-1));
    text-align:left;
  }

  .pd-invoice-renewal strong{
    text-align:left;
  }

  .pd-order-flow{
    grid-template-columns:1fr;
  }

  .pd-order-flow > div,
  .pd-order-flow > div:nth-child(2),
  .pd-order-flow > div:nth-child(n+3){
    border-right:0;
    border-bottom:1px solid var(--hx-line);
  }

  .pd-order-flow > div:last-child{
    border-bottom:0;
  }

  .c-price__specs{
    grid-template-columns:1fr;
    gap:var(--hx-space-1);
  }

  .c-price__specs div,
  .c-price__specs div:first-child,
  .c-price__specs div:last-child{
    padding:var(--hx-space-1) 0;
    border-right:0;
    border-bottom:1px solid var(--hx-line);
    text-align:left;
  }

  .c-price__specs div:last-child{
    border-bottom:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .pd-plan-grid .c-price,
  .pd-addon-card,
  .pd-invoice{
    transition:none;
  }
}
