/* One restrained visual language for Pro. Keep the original Ithy brand/theme. */
body { --pro-gold:#e4c477; --pro-edge:rgba(190,153,71,.38); --pro-surface:rgba(184,146,59,.065); --pro-ink:#eee5d1; --pro-muted:#b4b9b3; }
body.light-mode { --pro-gold:#86631b; --pro-edge:rgba(139,106,36,.3); --pro-surface:rgba(158,124,49,.055); --pro-ink:#302b22; --pro-muted:#595c56; }
.pro-mark { width:20px; height:20px; flex:0 0 20px; display:block; color:var(--pro-gold); }
body .page-utilities .pro-navigation { gap:8px; padding-inline:14px; border-color:var(--pro-edge); background:var(--pro-surface); color:var(--pro-ink); font-weight:700; letter-spacing:.01em; }
body .page-utilities .pro-navigation:hover { border-color:var(--pro-gold); background:color-mix(in srgb,var(--pro-gold) 13%,transparent); }
body .pro-invitation { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,215px); align-items:center; gap:32px; padding:32px; margin:48px auto 24px; border:1px solid var(--pro-edge); border-radius:16px; background:linear-gradient(120deg,var(--pro-surface),transparent); text-align:start; box-sizing:border-box; }
body .pro-invitation[hidden], body .pro-invitation [hidden] { display:none!important; }
body .pro-invitation .pro-eyebrow { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; text-transform:none; letter-spacing:.1em; color:var(--pro-gold); margin:0 0 13px; }
body .pro-invitation h2 { font-family:'Lato',sans-serif; font-size:clamp(21px,2.6vw,26px); font-weight:700; line-height:1.25; text-align:start; color:var(--pro-ink); margin:0 0 12px; border:0; padding:0; }
body .pro-invitation p { font-size:15px; line-height:1.65; max-width:47ch; color:var(--pro-muted); margin:0; }
body .pro-invitation .pro-offer-benefits { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:19px 0 0; list-style:none; color:var(--pro-ink); font-size:12px; line-height:1.5; }
body .pro-offer-benefits li { margin:0; padding:0; }
body .pro-offer-benefits li::before { content:'✓'; color:var(--pro-gold); margin-inline-end:6px; }
body .pro-offer-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
body .pro-invitation .pro-offer-actions a[data-pro-primary] { justify-content:center; border:1px solid var(--pro-gold); border-radius:9px; background:#e1c37b; color:#30291a; font-size:14px; font-weight:700; padding:12px 16px; min-height:46px; box-sizing:border-box; text-align:center; white-space:normal; line-height:1.4; text-decoration:none; }
body .pro-invitation .pro-offer-actions a[data-pro-primary]:hover { background:#f1d599; border-color:#f1d599; }
body .pro-offer-actions small { display:block; font-size:11px; line-height:1.6; text-align:center; color:var(--pro-muted); }
body .pro-invitation .pro-offer-actions a[data-pro-secondary] { min-height:44px; padding:8px; border:0; font-size:13px; text-align:center; justify-content:center; }
body .pro-offer-dismiss { position:absolute; inset-block-start:5px; inset-inline-end:5px; display:grid; place-items:center; width:44px; height:44px; background:none; border:0; border-radius:8px; color:var(--pro-muted); font:24px/1 'Lato',sans-serif; cursor:pointer; }
body .pro-offer-dismiss:hover { color:var(--pro-ink); background:var(--pro-surface); }
body .pro-invitation:has(.pro-offer-dismiss:not([hidden])) { padding-inline-end:48px; }
.pro-invitation :focus-visible,.pro-navigation:focus-visible,.pricing-comparison a:focus-visible,.subscribe-box-container :focus-visible { outline:2px solid var(--pro-gold); outline-offset:4px; }
body .pro-invitation[data-kind="guest_limit"] .pro-offer-benefits { display:none; }
.pro-plan-emblem { display:flex; align-items:center; gap:9px; color:var(--pro-gold); font-size:12px; font-weight:700; letter-spacing:.08em; margin-bottom:14px; }
body.account-page .subscribe-box-container { border-color:var(--pro-edge); background:linear-gradient(135deg,var(--pro-surface),transparent 70%); }
body.account-page .subscribe-box-container .subscribe-box-title { margin-top:0; }
body.account-page .pro-plan-intro { color:var(--pro-muted); font-size:15px; line-height:1.6; max-width:38ch; }
body.account-page .pro-core-benefits { list-style:none; padding:0; margin:22px 0; display:grid; gap:12px; text-align:start; color:var(--pro-ink); font-size:14px; line-height:1.5; }
.pro-core-benefits li { display:flex; align-items:baseline; gap:10px; }
.pro-core-benefits li::before { content:'✓'; color:var(--pro-gold); }
body.account-page .pro-checkout-note { color:var(--pro-muted); font-size:12px; line-height:1.7; margin:12px 0 6px; text-align:center; }
body.account-page .earned-trial { color:var(--pro-ink); background:var(--pro-surface); border-inline-start:2px solid var(--pro-edge); padding:12px 14px; font-size:13px; line-height:1.7; margin:20px 0; }
.pricing-comparison { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin:36px 0 28px; align-items:stretch; }
body .pricing-comparison .pricing-plan { display:flex; flex-direction:column; padding:28px; border:1px solid var(--pro-edge); border-radius:16px; text-align:start; background:var(--pro-surface); min-width:0; }
body .pricing-comparison .pricing-plan-standard { border-color:rgba(120,140,130,.25); background:transparent; }
body .pricing-comparison h2 { font-size:24px; line-height:1.25; text-align:start; margin:0 0 12px; color:var(--pro-ink); }
body .pricing-comparison .pricing-plan-price { display:block; font-size:32px; font-weight:700; line-height:1.2; color:var(--pro-ink); margin:12px 0 8px; }
.pricing-plan-price small { font-size:15px; font-weight:400; }
body .pricing-comparison p { font-size:14px; line-height:1.7; margin:0 0 14px; color:var(--pro-muted); }
body .pricing-comparison ul { padding-inline-start:18px; font-size:14px; line-height:1.7; display:grid; gap:10px; margin:16px 0 28px; }
body .pricing-comparison a.pricing-cta { display:flex; justify-content:center; align-items:center; min-height:48px; padding:10px 14px; box-sizing:border-box; margin-top:auto; background:#e1c37b; color:#30291a; border:1px solid var(--pro-edge); border-radius:9px; font-size:14px; line-height:1.5; font-weight:700; text-decoration:none; text-align:center; }
body .pricing-comparison .pricing-plan-standard a.pricing-cta { background:transparent; color:inherit; }
body .pricing-comparison a.pricing-cta:hover { border-color:var(--pro-gold); }
body .pricing-comparison .pricing-fine-print { font-size:11px; line-height:1.6; margin-top:13px; margin-bottom:0; }
.pricing-shared { margin:24px 0 36px; color:var(--pro-muted); font-size:14px; line-height:1.8; }
@media(max-width:600px) {
  body .pro-invitation { grid-template-columns:minmax(0,1fr); gap:24px; padding:24px; margin-block:32px 20px; }
  body .pro-invitation .pro-offer-benefits { display:grid; gap:8px; }
  body .pro-offer-actions { align-items:stretch; max-width:none; }
  .pricing-comparison { grid-template-columns:minmax(0,1fr); gap:18px; }
  body .pricing-comparison .pricing-plan { padding:24px; }
}
@media(max-width:370px) { body .page-utilities .pro-navigation { gap:5px; padding-inline:9px; } .pro-navigation .pro-mark { width:16px; height:16px; flex-basis:16px; } }
@media print { .pro-invitation,.pro-navigation { display:none!important; } }
body.ithy-page .page-utilities .pro-navigation { color:var(--pro-ink); background:var(--pro-surface); border-color:var(--pro-edge); }
body.account-page .subscribe-box-container { border-color:var(--pro-edge)!important; }
body.account-page .subscribe-box-container h2::before { content:none; }
body.account-page .subscribe-box-container .pro-plan-intro { margin:0 0 20px; font-size:15px; line-height:1.65; color:var(--pro-muted); }
body.account-page .subscribe-box-container .pro-message { margin-block:16px; }
.pricing-questions { margin-block:32px; }
body .pricing-questions h2 { text-align:start; font-size:22px; color:var(--pro-ink); }
.pricing-questions details { padding-block:18px; border-bottom:1px solid var(--pro-edge); }
.pricing-questions summary { cursor:pointer; min-height:28px; font-size:16px; font-weight:700; line-height:1.6; color:var(--pro-ink); }
body .pricing-questions p { font-size:14px; line-height:1.8; }
body.ithy-page .pricing-comparison .pricing-plan h2 { margin:0 0 14px; font-size:24px; line-height:1.3; color:var(--pro-ink); }
body.ithy-page .pricing-comparison .pricing-plan p { margin:0 0 14px; font-size:14px; line-height:1.7; color:var(--pro-muted); }
body.ithy-page .pricing-comparison .pro-plan-emblem { min-height:20px; margin:0 0 20px; }
body.ithy-page .pricing-comparison .pricing-plan-standard .pro-plan-emblem { color:var(--pro-muted); }
body.ithy-page .pricing-comparison .pricing-plan p.pricing-fine-print { margin:13px 0 0; font-size:12px; line-height:1.7; }
body.ithy-page .pricing-comparison ul { padding-inline-start:18px; margin:16px 0 28px; font-size:14px; line-height:1.7; }
body.account-page #membership-plans { scroll-margin-block-start:86px; }
body.account-page .subscribe-box-container .pro-core-benefits { margin:18px 0 22px; width:auto; align-self:stretch; transform:none; }
body.account-page .subscribe-box-container .pro-core-benefits li { padding:0; margin:0; line-height:1.55; }
body.account-page .subscribe-box-container .pro-plan-intro { max-width:43ch; }
body.account-page .subscribe-box-container .pricing-tab { min-height:44px; }
body.account-page .rewards-emblem { color:var(--pro-muted); min-height:20px; }
body .story-finish .pro-story-link { display:inline-flex; align-items:center; gap:12px; padding:12px 18px; margin:16px 8px 0; min-height:48px; border:1px solid var(--pro-edge); border-radius:10px; color:var(--pro-ink); background:var(--pro-surface); text-decoration:none; font-size:14px; font-weight:700; line-height:1.5; text-align:start; box-sizing:border-box; max-width:100%; vertical-align:middle; }
body .story-finish .pro-story-link small { display:block; margin-top:2px; font-size:11px; font-weight:400; color:var(--pro-muted); line-height:1.6; }
body .story-finish .pro-story-link:hover { border-color:var(--pro-gold); }
@media(max-width:600px) { body .story-finish .pro-story-link { display:flex; width:100%; max-width:320px; margin:16px auto 0; justify-content:center; } }
@media(min-width:601px) {
  @supports(grid-template-rows:subgrid) {
    .pricing-comparison { row-gap:0; }
    body .pricing-comparison .pricing-plan { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:0; }
    body .pricing-comparison a.pricing-cta { margin-top:0; }
  }
}
