@font-face { font-family:YimuDisplay; src:url('/fonts/yimu-playfair-display-regular.woff2') format('woff2'); font-display:swap; }
@font-face { font-family:YimuText; src:url('/fonts/yimu-assistant-regular.woff2') format('woff2'); font-display:swap; }
:root { --ink:#171712; --muted:#747269; --line:#dedbd2; --paper:#faf9f6; --accent:#9a7355; }
* { box-sizing:border-box; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.subscribe-page { margin:0; color:var(--ink); background:var(--paper); font-family:YimuText,Arial,sans-serif; }
.subscribe-page [hidden] { display:none!important; }
.subscribe-page .site-header { position:sticky; top:0; z-index:50; }
.pricing-redirect .subscribe-main { visibility:hidden; }
.subscribe-main { max-width:1120px; margin:0 auto; padding:34px 32px 80px; }
.subscribe-main { position:relative; z-index:0; isolation:isolate; }
.subscribe-back { display:inline-block; color:var(--muted); font-size:13px; text-decoration:none; margin-bottom:42px; }
.subscribe-intro { max-width:900px; text-align:center; margin:0 auto 44px; }
.eyebrow { color:var(--accent); font-size:11px; letter-spacing:.14em; margin:0 0 14px; }
.subscribe-intro h1 { font:400 clamp(38px,5vw,62px)/1.1 YimuDisplay,Georgia,serif; letter-spacing:-.035em; margin:0 0 22px; }
.subscribe-intro h1 span { color:var(--accent); }
.subscribe-intro > p:last-child { max-width:720px; margin:auto; color:var(--muted); line-height:1.75; }
.billing-switch { width:max-content; display:flex; gap:4px; margin:0 auto 30px; padding:5px; border:1px solid var(--line); background:#f2f0ea; }
.billing-switch button { border:0; background:transparent; min-width:128px; padding:11px 20px; color:var(--muted); cursor:pointer; font:inherit; }
.billing-switch button[aria-pressed="true"] { color:#fff; background:var(--ink); }
.subscription-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.subscription-card { border:1px solid var(--line); padding:32px; background:#fff; transition:.18s ease; }
.subscription-card.is-selected { outline:2px solid var(--accent); outline-offset:3px; }
.plan-pro { background:#f5f1e9; border-color:#d6caba; }
.plan-number { color:var(--muted); font-size:11px; letter-spacing:.14em; }
.subscription-card h2 { font:400 36px/1.2 YimuDisplay,Georgia,serif; margin:15px 0 7px; }
.plan-tagline { color:var(--muted); margin:0 0 24px; }
.plan-price { font:400 42px/1.12 YimuDisplay,Georgia,serif; margin:0; }
.plan-price span { color:var(--muted); font:400 12px YimuText,Arial,sans-serif; }
.plan-cycle { min-height:18px; color:var(--muted); font-size:12px; margin:9px 0 28px; }
.subscription-card > button { width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; border:0; padding:12px 16px; background:var(--ink); color:#fff; cursor:pointer; font:inherit; }
.subscription-card > button:disabled { cursor:not-allowed; opacity:.45; }
.subscription-card dl { margin:23px 0 0; }
.subscription-card dl div { display:flex; flex-direction:column; gap:5px; padding:13px 0; border-top:1px solid var(--line); font-size:13px; }
.subscription-card dt { color:var(--ink); }
.subscription-card dd { color:var(--muted); margin:0; }

.checkout-panel { width:min(1080px,calc(100vw - 48px)); margin:0 auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); background:#fff; border:1px solid #e5e2dc; box-shadow:none; }
.checkout-panel[hidden],.signin-panel[hidden] { display:none; }
.order-summary { padding:46px 54px 48px; background:#fff; border-right:1px solid #e9e6df; }
.summary-back { display:inline-block; margin:0 0 36px; color:#77736b; text-decoration:none; font-size:12px; }
.order-summary .eyebrow { margin-bottom:12px; }
.order-summary h1 { margin:0 0 15px; font:400 28px/1.18 YimuDisplay,Georgia,serif; letter-spacing:-.02em; }
.summary-price { display:flex; align-items:flex-start; gap:10px; }
.summary-price strong { font:400 43px/1 YimuDisplay,Georgia,serif; letter-spacing:-.04em; }
.summary-price span { color:#5f5c55; font-size:11px; line-height:1.35; padding-top:5px; }
.summary-price em { font-style:normal; color:#8a867d; }
.summary-billing { margin:8px 0 34px; color:#77736b; font-size:12px; }
.summary-plan-row { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:13px; padding:21px 0; border-bottom:1px solid #e1ded7; }
.summary-plan-mark { width:36px; height:36px; display:grid; place-items:center; background:#111; color:#fff; border-radius:3px; font:700 17px Georgia,serif; }
.summary-plan-row div { min-width:0; display:grid; gap:3px; }
.summary-plan-row strong { font-size:14px; }
.summary-plan-row small { color:#858178; font-size:11px; }
.summary-plan-row b { font-size:13px; font-weight:600; }
.summary-totals { margin:0; }
.summary-totals div { display:flex; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid #e1ded7; font-size:13px; }
.summary-totals dt,.summary-totals dd { margin:0; }
.summary-due { font-weight:700; }
.summary-renewal { margin:19px 0 0; color:#77736b; font-size:11px; line-height:1.55; }

.checkout-form-column { padding:40px 46px 34px; min-width:0; }
#paypalButton { min-height:45px; }
.paypal-status { margin:8px 0 0; color:#9b2f25; font-size:12px; line-height:1.5; }
.retry-payment { display:block; margin:10px auto; border:0; padding:8px; background:transparent; color:var(--accent); text-decoration:underline; cursor:pointer; font:inherit; }
.retry-payment[hidden],.paypal-status[hidden] { display:none; }
.checkout-manage-account { display:block;text-align:center;margin:20px 0;color:var(--accent); }
.payment-divider { display:flex; align-items:center; gap:13px; margin:18px 0; color:#8a867f; font-size:11px; }
.payment-divider::before,.payment-divider::after { content:""; flex:1; height:1px; background:#e4e1db; }
.contact-card { min-height:48px; display:grid; grid-template-columns:74px 1fr; align-items:center; padding:0 15px; margin-bottom:16px; border:1px solid #ddd9d2; border-radius:5px; background:#fff; font-size:12px; transition:border-color .15s ease,box-shadow .15s ease; }
.contact-card span { color:#77736b; }
.contact-card input { width:100%; height:46px; min-width:0; border:0; outline:0; background:transparent; color:#24211d; font:12px YimuText,Arial,sans-serif; }
.contact-card:focus-within { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.card-payment { border:1px solid #d9d5ce; border-radius:6px; padding:16px; }
.card-payment header { display:flex; align-items:center; gap:9px; min-height:26px; margin-bottom:17px; }
.card-payment header strong { font-size:13px; }
.card-radio { width:15px; height:15px; border:4px solid #111; border-radius:50%; }
.card-brands { margin-left:auto; display:flex; align-items:center; gap:5px; }
.payment-brand { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:25px; height:16px; overflow:hidden; border-radius:2px; }
.payment-brand img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.payment-brand-visa { border:1px solid #d9d9d9; background:#fff; padding:3px 2px; }
.payment-brand-visa img { width:20px; height:auto; }
.payment-brand-mastercard { border:1px solid #111; background:#171717; padding:2px 3px; }
.payment-brand-mastercard img { width:18px; height:auto; }
.field-label { display:block; color:#555149; font-size:11px; margin:12px 0 6px; }
.card-fields-stack { border:1px solid #d7d3cc; border-radius:5px; overflow:hidden; background:#fff; }
.card-fields-row { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #ddd9d2; }
.paypal-field { position:relative; z-index:0; min-width:0; height:44px; padding:0; overflow:hidden; background:#fff; transition:box-shadow .15s ease; }
.card-fields-row .paypal-field + .paypal-field { border-left:1px solid #ddd9d2; }
.paypal-field > iframe { display:block!important; width:100%!important; height:100%!important; min-height:0!important; border:0!important; }
.paypal-field:not(.is-ready) > iframe { opacity:0!important; pointer-events:none; }
.paypal-field:not(.is-ready)::after { content:attr(data-placeholder); position:absolute; inset:0; z-index:3; display:flex; align-items:center; padding:0 12px; background:#fff; color:#757575; font:13px Arial,sans-serif; pointer-events:none; }
.paypal-field.card-number { min-width:0; }
.paypal-field.card-name { height:46px; border:1px solid #d7d3cc; border-radius:5px; }
.paypal-field:focus-within,.paypal-field.is-focused { z-index:2; box-shadow:inset 0 0 0 1.5px var(--accent); }
.paypal-field.is-ready.is-focused::after { content:""; position:absolute; inset:0; z-index:3; border:1.5px solid var(--accent); pointer-events:none; }
.billing-fields { display:grid; grid-template-columns:1fr 145px; border:1px solid #d7d3cc; border-radius:5px; overflow:hidden; }
.billing-fields select,.billing-fields input { width:100%; height:43px; border:0; background:#fff; padding:0 12px; color:#24211d; font:12px YimuText,Arial,sans-serif; outline:0; box-shadow:none; }
.billing-fields input { border-left:1px solid #ddd9d2; }
.billing-fields:focus-within { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.billing-note { margin:9px 1px 0; color:#8b877f; font-size:10px; line-height:1.45; }
.subscribe-submit { width:100%; min-height:50px; margin-top:18px; border:0; border-radius:4px; background:#111; color:#fff; cursor:pointer; font:600 14px YimuText,Arial,sans-serif; letter-spacing:.02em; }
.subscribe-submit:hover { background:#292929; }
.subscribe-submit:disabled { cursor:not-allowed; opacity:.42; }
.checkout-terms { margin:13px auto 0; max-width:430px; color:#79756e; text-align:center; font-size:10px; line-height:1.5; }
.subscription-status { min-height:20px; margin:12px 0 0; color:#77736b; text-align:center; font-size:11px; line-height:1.45; }
.subscription-status.error { color:#9b2f25; }
.plan-status { min-height:60px; padding:23px 8px; font-size:13px; }

.signin-panel { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:start; max-width:920px; margin:26px auto 0; padding:30px; border:1px solid var(--line); background:#fff; }
.signin-panel h2 { font:400 28px/1.25 YimuDisplay,Georgia,serif; margin:0 0 10px; }
.signin-panel p { color:var(--muted); line-height:1.55; margin:0; }
.checkout-action { display:grid; gap:12px; }
.checkout-action > p { font-size:12px; }
.checkout-action .primary { width:100%; border:1px solid var(--ink); background:var(--ink); color:#fff; padding:13px 16px; font:inherit; cursor:pointer; }
.signin-link { display:flex; align-items:center; justify-content:space-between; text-decoration:none; }

.checkout-entry .subscribe-main { max-width:none; padding:42px 24px 72px; }
.checkout-entry .subscribe-back,.checkout-entry .subscribe-intro,.checkout-entry .billing-switch,.checkout-entry .subscription-plans,.checkout-entry .plan-status { display:none; }
.checkout-entry body { background:#fff; }

@media(max-width:900px) {
  .checkout-panel { grid-template-columns:1fr; width:min(620px,calc(100vw - 32px)); }
  .order-summary { padding:30px 34px; border-right:0; border-bottom:1px solid #e9e6df; }
  .summary-back { margin-bottom:24px; }
  .checkout-form-column { padding:34px; }
}
@media(max-width:760px) {
  .subscribe-main { padding-inline:20px; }
  .subscription-plans,.signin-panel { grid-template-columns:1fr; }
  .subscribe-intro h1 { font-size:42px; }
  .billing-switch { width:100%; }
  .billing-switch button { min-width:0; flex:1; }
  .checkout-entry .subscribe-main { padding:20px 12px 52px; }
  .checkout-panel { width:100%; }
  .order-summary,.checkout-form-column { padding:27px 20px; }
  .summary-price strong { font-size:37px; }
  .billing-fields { grid-template-columns:1fr; }
  .billing-fields input { border-left:0; border-top:1px solid #ddd9d2; }
}
