/* Premium visual system — shared across all public pages. */
:root {
  --cx-ink: #172c23;
  --cx-body: #34463c;
  --cx-mute: #657369;
  --cx-line: #dfe7dc;
  --cx-wash: #f6f8f3;
  --cx-green: #648e37;
  --cx-green-dark: #3d6724;
  --cx-radius: 12px;
  --cx-shadow: 0 12px 40px rgba(35, 65, 38, .07);
  --cx-max: 1400px;
}
body { background: #fff; }
.cx-wrap { padding-inline: clamp(20px, 4vw, 56px); }
.cx-pad { padding-block: clamp(56px, 7vw, 100px); }
.cx-section { border-bottom-color: #e5eae1; }
.cx-section--wash { background: #f6f8f3; }
.cx-h1, .cx-h2, .cx-h3 { letter-spacing: -.04em; text-wrap: balance; }
.cx-h2 { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.16; }
.cx-lead, .cx-body-text { line-height: 1.75; }
.cx-eyebrow { color: #587a42; font-size: 11px; letter-spacing: .16em; }
.cx-eyebrow::before { content: ''; width: 22px; height: 1px; background: currentColor; }
.cx-nav { background: rgba(255,255,255,.94); border-bottom-color: #e6ebe1; box-shadow: 0 5px 28px rgba(34,50,26,.035); }
.cx-nav__in { height: 78px; padding-inline: clamp(20px, 4vw, 56px); gap: 20px; }
.cx-nav__link { font-size: 13px; font-weight: 600; border-radius: 8px; }
.cx-nav__link:hover, .cx-nav__link[aria-current=page] { background: #f1f5eb; color: #3d6724; }
.cx-logo img { width: 134px; height: auto; object-fit: contain; }
.cx-utility__in { font-size: 11px; padding-block: 8px; }
.cx-mega { border-top: 1px solid #d9e4d1; padding: 12px; border-radius: 16px; box-shadow: 0 22px 60px rgba(27,51,31,.13); }
.cx-mega__item { border-radius: 10px; }
.cx-mega__icon { border-radius: 10px; background: #edf3e6; }
.cx-btn { min-height: 48px; padding: 14px 24px; border-radius: 9px; font-size: 14px; font-weight: 700; letter-spacing: -.01em; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.cx-btn:not(.cx-btn--outline) { background: #42692c; color: #fff; border: 1px solid #42692c; box-shadow: 0 6px 15px rgba(49,88,28,.12), inset 0 1px rgba(255,255,255,.15); }
.cx-btn:not(.cx-btn--outline):hover { background: #315421; color: #fff; box-shadow: 0 8px 20px rgba(49,88,28,.16); }
.cx-btn--outline { border: 1px solid #becdb1; color: #304b2a; background: rgba(255,255,255,.65); }
.cx-btn--outline:hover { background: #eef4e7; color: #304b2a; }
.cx-btn:active { transform: translateY(1px); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #678e47; outline-offset: 4px; }
.cx-card, .cx-plan { border: 1px solid #e0e7da; border-radius: 16px; box-shadow: 0 7px 24px rgba(40,67,32,.035); background: #fff; }
.cx-card { padding: 30px; }
.cx-card--hover:hover { transform: translateY(-3px); border-color: #bdcfae; box-shadow: 0 18px 40px rgba(35,65,27,.075); }
.cx-card > i:first-child { display: inline-grid; place-content: center; width: 48px; height: 48px; border-radius: 13px; background: #eef4e7; }
.cx-chip::before, .cx-chip-br::after { display: none; }
.cx-pill { border-radius: 7px; background: rgba(255,255,255,.82); border-color: #dfe7d7; font-size: 10px; letter-spacing: .04em; padding: 9px 12px; }
.cx-badge { border-radius: 5px; padding: 4px 7px; font-size: 9px; }
.cx-plan { padding: 32px; }
.cx-plan--pop { border: 2px solid #648c3e; box-shadow: 0 18px 50px rgba(59,95,31,.11); }
.cx-plan__name { letter-spacing: .06em; font-size: 12px; }
.cx-plan__price { letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.cx-plan__feats { line-height: 1.7; }
.cx-plan__feats li { padding-block: 4px; }
.cx-plan__pop-tag { border-radius: 6px; }
.cx-faq-item { border-color: #e2e8dc; }
.cx-faq-q { padding-block: 22px; font-weight: 600; }
.cx-faq-a { line-height: 1.8; }
.cx-frame { border-radius: 18px; overflow: hidden; border-color: #dbe5d1; box-shadow: 0 16px 40px rgba(31,60,26,.07); }
.cx-frame img { border-radius: 12px !important; }
.cx-float-tag { border-radius: 8px; border-color: #dce5d4; box-shadow: 0 8px 22px rgba(43,66,31,.07); }
.cx-domain-searchrow { border-radius: 14px; border: 1px solid #dfe7d7; box-shadow: 0 8px 26px rgba(34,60,30,.06); }
.cx-domain-searchrow input { min-width: 0; }
.cx-domain-searchrow .cx-btn { border-radius: 9px; }
form input:not([type=checkbox]):not([type=radio]), form textarea, form select { border-radius: 9px !important; border-color: #dbe4d2 !important; background: #fcfdf9 !important; transition: border-color .18s ease, box-shadow .18s ease; }
form input:focus, form textarea:focus, form select:focus { box-shadow: 0 0 0 3px rgba(97,135,58,.12); }
.cx-section table { color: #34463c; }
.cx-section table thead { background: #f1f5eb; }
.cx-section table th { color: #4b6740 !important; font-size: 11px !important; letter-spacing: .07em !important; }
.cx-section table tbody tr:hover { background: #fafcf6; }
.cx-footer { border-top: 1px solid #e0e6da; background: #f8faf5; }
.cx-footer__head { color: #2f4b31; letter-spacing: .12em; font-size: 11px; }
.cx-footer__desc { line-height: 1.8; color: #64775f; }
.cx-footer__links a { color: #586a52; font-size: 13px; }
.cx-footer__links a:hover { color: #355c24; }

/* The illustration is a full second column, with no empty outer SVG margin. */
.cx-premium-hero { background: linear-gradient(125deg,#fdfefb 10%,#f8faf3 55%,#edf4e4 100%) !important; border-bottom: 1px solid #e0e8d8; isolation: isolate; }
.cx-premium-hero > .cx-wrap { position: relative; z-index: 1; padding-top: 52px; padding-bottom: 64px; }
.cx-premium-hero .cx-atmo-canvas { display: none; }
.cx-premium-grid, .cx-premium-hero .cx-page-hero__grid, .cx-festival.cx-premium-hero .cx-festival__grid { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr) !important; gap: clamp(24px,3vw,48px) !important; align-items: center !important; min-height: 560px !important; text-align: left !important; }
.cx-premium-grid > div:first-child { padding-block: 0 !important; min-width: 0; }
.cx-premium-hero .cx-h1 { font-size: clamp(40px,4.6vw,68px) !important; line-height: 1.08 !important; letter-spacing: -.05em !important; max-width: 710px !important; margin-inline: 0 !important; overflow-wrap: normal !important; }
.cx-premium-hero .cx-article-h1 { font-size: clamp(34px,3.4vw,49px) !important; line-height: 1.15 !important; }
.cx-premium-hero .cx-lead { font-size: 16px; max-width: 550px !important; color: #667560; }
.cx-premium-hero .cx-breadcrumb { font-size: 10px; letter-spacing: .08em; color: #7e8c76; margin-bottom: 26px; flex-wrap: wrap; line-height: 1.7; }
.cx-premium-hero .cx-breadcrumb a { color: #728269; }
.cx-premium-hero .cx-eyebrow { color: #57733f; }
.cx-premium-text { text-align: left; min-width: 0; }
.cx-premium-text > p { margin-inline: 0 !important; }
.cx-premium-text > .cx-eyebrow--center { justify-content: flex-start; }
.cx-premium-text > div[style*="justify-content:center"] { justify-content: flex-start !important; }
.cx-premium-art { margin: 0; width: 100%; max-width: 740px; justify-self: center; position: relative; line-height: 0; }
.cx-premium-art img { display: block; width: 100%; height: auto; aspect-ratio: 38/31; object-fit: contain; }
.cx-premium-hero .cx-marquee { margin-top: 25px; opacity: .55; border-block: 1px solid #dce6d0; }
.cx-premium-hero .cx-article-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 12px; line-height: 1.8; }
.cx-festival.cx-premium-hero { background: linear-gradient(125deg,#fffaf2,#fff3df) !important; }
.cx-festival.cx-premium-hero > .cx-wrap { padding-top: 28px; padding-bottom: 52px; }
.cx-festival.cx-premium-hero .cx-festival__grid { padding-block: 12px; }
.cx-festival.cx-premium-hero .cx-premium-art { max-width: 700px; }
.cx-festival.cx-premium-hero h1 { font-size: clamp(42px,4.6vw,67px); line-height: 1.08; }
.cx-festival-page #bundles .cx-btn { background: #a84b25; color: #fff; border-color: #a84b25; }
.cx-sale-strip { padding-block: 13px; font-size: 12px; border-bottom-color: #efdfc6; }

@media (min-width:1600px) { .cx-premium-hero > .cx-wrap { padding-top: 68px; padding-bottom: 80px; } }
@media (max-width:1100px) { .cx-nav__in { height: 70px; } .cx-premium-grid, .cx-premium-hero .cx-page-hero__grid { gap: 24px !important; min-height: 480px !important; } .cx-premium-hero .cx-h1 { font-size: clamp(36px,4.8vw,52px) !important; } .cx-premium-hero .cx-lead { font-size: 15px; } }
@media (max-width:800px) {
  .cx-premium-hero > .cx-wrap { padding-top: 30px; padding-bottom: 40px; }
  .cx-premium-grid, .cx-premium-hero .cx-page-hero__grid, .cx-festival.cx-premium-hero .cx-festival__grid { grid-template-columns: minmax(0,1fr) !important; gap: 26px !important; min-height: 0 !important; }
  .cx-premium-art { max-width: 640px; order: 0; }
  .cx-premium-hero .cx-h1 { font-size: clamp(36px,7vw,52px) !important; }
  .cx-premium-hero .cx-article-h1 { font-size: clamp(30px,6vw,42px) !important; }
  .cx-premium-hero .cx-lead { margin-top: 20px !important; }
  .cx-premium-hero .cx-page-hero__text > div[style*="margin-top:44px"], .cx-premium-hero .cx-page-hero__text > div[style*="margin-top:36px"] { margin-top: 24px !important; }
  .cx-premium-hero .cx-pill { white-space: normal; max-width: 100%; line-height: 1.5; }
  .cx-festival.cx-premium-hero h1 { font-size: clamp(38px,7vw,52px); }
  .cx-card, .cx-plan { padding: 24px; }
}
@media (max-width:480px) {
  .cx-nav__in { height: 66px; }
  .cx-logo img { width: 122px; }
  .cx-premium-hero .cx-breadcrumb { font-size: 9px; margin-bottom: 22px; }
  .cx-premium-hero .cx-h1 { font-size: 37px !important; }
  .cx-premium-art { width: calc(100% + 12px); max-width: none; }
  .cx-premium-hero .cx-btn { padding-inline: 20px; }
  .cx-festival.cx-premium-hero h1 { font-size: 39px; }
  .cx-plan__price { font-size: 38px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .cx-btn, .cx-card { transition: none; } .cx-btn:hover { transform: none; } }

/* Compact campaign and status rows above the mobile navigation. */
.cx-sale-strip__mobile { display: none; }
@media (max-width:800px) {
  .cx-sale-strip { display: flex; flex-wrap: nowrap; justify-content: center; gap: 14px; padding: 10px 16px; font-size: 11px; line-height: 1.3; min-height: 38px; }
  .cx-sale-strip__desktop { display: none; }
  .cx-sale-strip__mobile { display: inline; }
  .cx-sale-strip > strong { font-size: 10px; letter-spacing: .04em; white-space: nowrap; }
  .cx-sale-strip > .cx-sale-strip__mobile { padding-left: 13px; border-left: 1px solid #d8bd98; white-space: nowrap; }
  .cx-sale-strip > a { white-space: nowrap; text-decoration: none; background: #f7e5c8; border-radius: 5px; padding: 5px 8px; font-size: 10px; }
  .cx-utility__in { justify-content: center; padding: 6px 16px; font-size: 10px; line-height: 1.3; min-height: 26px; }
  .cx-utility__status { gap: 6px; color: #d0dace; }
  .cx-utility__status .cx-dot { width: 5px; height: 5px; animation: none; box-shadow: none; }
  .cx-utility__links { display: none; }
}
@media (max-width:360px) { .cx-sale-strip { gap: 9px; padding-inline: 10px; } .cx-sale-strip > .cx-sale-strip__mobile { padding-left: 9px; font-size: 10px; } }

/* Remove legacy inline grid minimums on narrow phones. */
@media (max-width:600px) {
  .cx-wrap[style*="grid-template-columns"],
  .cx-wrap div[style*="grid-template-columns"],
  .cx-wrap form[style*="grid-template-columns"] { grid-template-columns: minmax(0,1fr) !important; }
  .cx-wrap > *, .cx-card > *, .cx-premium-text > * { min-width: 0; }
  .cx-card, .cx-plan { overflow-wrap: break-word; }
  .cx-float-tag { max-width: calc(100% - 20px); left: 10px !important; right: auto !important; }
  .cx-mnav { max-width: 100vw; }
}
@media (max-width:600px) {
  section.cx-section .cx-wrap div[style*="grid-template-columns"],
  header.cx-premium-hero .cx-wrap div[style*="grid-template-columns"] { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width:600px) {
  section.cx-section div.cx-wrap[style*="grid-template-columns"] { grid-template-columns: minmax(0,1fr) !important; }
}
.cx-legal { max-width: 960px; padding: 72px 32px 96px; }
.cx-legal h2 { letter-spacing: -.035em; font-size: 26px; }
.cx-legal-note { background: #f3f7ec; border-color: #dde7d2; border-left: 3px solid #819f5c; }
.cx-table-scroll { overflow-x: auto; border: 1px solid #e0e8d8; border-radius: 12px; margin-block: 24px; }
.cx-table-scroll table { min-width: 560px; margin-bottom: 0; }
.cx-table-scroll th { background: #f1f5eb; }
.cx-table-scroll td, .cx-table-scroll th { padding: 16px; }
.cx-article-body { overflow-wrap: break-word; }
.cx-article-body h2, .cx-article-body h3 { letter-spacing: -.03em; }
.cx-article-body p { line-height: 1.85; }
@media (max-width:600px) { .cx-legal { padding: 48px 20px 64px; } .cx-legal h2 { font-size: 24px; } .cx-legal-note { padding: 20px; } }

/* Footer brand and social icons must stay legible on the light surface. */
.cx-footer { background: #f6f9f1; border-top: 1px solid #dde6d3; }
.cx-footer__grid { grid-template-columns: minmax(220px,1.6fr) repeat(5,minmax(0,1fr)); gap: 32px; padding: 64px clamp(20px,4vw,56px) 0; }
.cx-footer__grid > div { min-width: 0; }
.cx-footer__logo { display: inline-flex; width: 170px; max-width: 100%; line-height: 0; }
.cx-footer__logo img { display: block; width: 170px; height: auto; object-fit: contain; }
.cx-footer__desc { margin-top: 18px; max-width: 250px; font-size: 13px; color: #617158; }
.cx-footer__social { display: flex; align-items: center; gap: 10px; margin-top: 22px; }
.cx-footer .cx-social { width: 40px; height: 40px; border-radius: 10px; background: #fff; color: #36512e; border: 1px solid #d6e1cd; transition: color .18s ease, background .18s ease, border-color .18s ease; }
.cx-footer .cx-social svg { display: block; width: 18px; height: 18px; flex-shrink: 0; }
.cx-footer .cx-social:hover { color: #fff; background: #42692c; border-color: #42692c; }
.cx-footer__bottom { color: #687660; border-top: 1px solid #dce5d3; padding: 24px clamp(20px,4vw,56px); font-size: 11px; }
.cx-footer__payments { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #627257; }
.cx-payment-mark { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 4px 8px; background: #fff; border: 1px solid #d9e3cf; border-radius: 5px; color: #41593a; font-size: 10px; font-weight: 600; letter-spacing: 0; }
.cx-payment-note { font-size: 10px; margin-left: 4px; }
@media (max-width:1100px) { .cx-footer__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; } }
@media (max-width:600px) {
  .cx-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 20px; padding-top: 44px; }
  .cx-footer__grid > div:first-child { grid-column: 1/-1; padding-bottom: 24px; border-bottom: 1px solid #dce5d3; }
  .cx-footer__desc { max-width: 300px; }
  .cx-footer__bottom { margin-top: 32px; padding-block: 22px; align-items: flex-start; flex-direction: column; gap: 16px; }
  .cx-footer__links { gap: 12px; }
  .cx-footer__links a { font-size: 12px; line-height: 1.5; }
  .cx-payment-note { margin-left: 0; }
}

.cx-footer__payments img { display:block;width:61px;height:37px;object-fit:contain; }
.cx-footer__ssl { display:flex;align-items:center;gap:9px;color:#536c46; }
.cx-footer__ssl > img { width:31px;height:36px; }
.cx-footer__ssl span { display:flex;flex-direction:column;gap:4px; }
.cx-footer__ssl strong { font-size:10px;font-weight:600; }
.cx-footer__ssl small { font-size:9px;color:#80916e; }
@media(max-width:600px) { .cx-footer__payments { gap:7px; } .cx-footer__payments img { width:54px;height:33px; } .cx-footer__ssl { margin-top:3px; } }
/* Leave breathing room above the fixed support/back-to-top controls. */
.cx-footer__ssl { margin-right:54px; }
@media(max-width:600px) { .cx-footer__bottom { padding-bottom:84px; } .cx-footer__ssl { margin-right:0; } }
