/* Gutenberg pricing layout. Prices and plan descriptions remain editable page content. */
.gc-pricing-page .site-main, .gc-pricing-page .entry-content { margin: 0; }
.gc-pricing-page .inside-article, .gc-pricing-page .site-content { padding: 0; }
.gc-pricing { background: var(--gc-color-surface); color: var(--gc-color-text); font: 17px/1.7 "Segoe UI", Arial, sans-serif; }
.gc-pricing *, .gc-pricing *::before, .gc-pricing *::after { box-sizing: border-box; }
.gc-pricing.wp-block-group .wp-block-group__inner-container { display: contents; }
.gc-pricing p { margin: 0 0 16px; }
.gc-pricing a { color: var(--gc-color-link); text-underline-offset: 4px; }
.gc-pricing a:hover { color: var(--gc-color-link-hover); }
.gc-pricing a:focus-visible, .gc-pricing summary:focus-visible { outline: 3px solid var(--gc-color-focus); outline-offset: 5px; }
.gc-pricing .gc-pricing-shell { max-width: 1200px; margin: 0 auto; padding: 64px 32px; }
.gc-pricing .gc-pricing-hero { margin: 0; background: var(--gc-color-background); }
.gc-pricing .gc-pricing-hero .gc-pricing-shell { padding-top: 40px; padding-bottom: 44px; }
.gc-pricing .gc-pricing-breadcrumb { margin-bottom: 36px; font-size: 13px; color: var(--gc-color-text-muted); }
.gc-pricing-breadcrumb a { color: var(--gc-color-text-muted); }
.gc-pricing .gc-pricing-eyebrow { color: var(--gc-color-accent); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 14px; }
.gc-pricing .gc-pricing-title { max-width: 840px; margin: 0 0 22px; color: var(--gc-color-brand); font-size: clamp(40px, 4.5vw, 62px); font-weight: 650; line-height: 1.1; letter-spacing: -.04em; }
.gc-pricing .gc-pricing-lead { max-width: 700px; color: var(--gc-color-text-muted); font-size: 19px; line-height: 1.65; }
.gc-pricing .gc-pricing-status { display: inline-block; padding: 7px 12px; margin: 12px 0 0; background: var(--gc-color-surface-subtle); color: var(--gc-color-brand); border-radius: 5px; font-size: 13px; font-weight: 600; }
.gc-pricing .gc-pricing-plans { background: var(--gc-color-background); margin: 0; }
.gc-pricing .gc-pricing-plans .gc-pricing-shell { padding-top: 0; padding-bottom: 48px; }
.gc-pricing .gc-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 24px; margin: 0; }
.gc-pricing .gc-plan { display: flex; flex-direction: column; margin: 0; padding: 28px; background: var(--gc-color-surface); border: 1px solid var(--gc-color-border); border-radius: 10px; }
.gc-pricing .gc-plan-label { margin: 0 0 14px; color: var(--gc-color-text-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.gc-pricing .gc-plan-name { margin: 0 0 12px; font-size: 28px; font-weight: 650; color: var(--gc-color-brand); letter-spacing: -.025em; line-height: 1.2; }
.gc-pricing .gc-plan-description { color: var(--gc-color-text-muted); font-size: 15px; line-height: 1.65; min-height: 75px; }
.gc-pricing .gc-plan-price { margin: 6px 0 0; color: var(--gc-color-brand); font-size: 48px; font-weight: 650; letter-spacing: -.045em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.gc-pricing .gc-plan-period { margin: 5px 0 24px; font-size: 13px; color: var(--gc-color-text-muted); }
.gc-pricing .gc-plan-features { margin: 0 0 28px; padding: 20px 0 0; list-style: none; border-top: 1px solid var(--gc-color-border); }
.gc-plan-features li { margin: 0; padding: 7px 0; font-size: 14px; line-height: 1.6; }
.gc-pricing .gc-plan .wp-block-buttons { margin-top: auto; }
.gc-pricing .gc-plan .wp-block-button { width: 100%; }
.gc-pricing .wp-block-button .wp-block-button__link { width: 100%; padding: 12px 20px; border-radius: 6px; color: var(--gc-color-action-text); background: var(--gc-color-action); font-size: 15px; line-height: 1.5; font-weight: 600; text-decoration: none; }
.gc-pricing .wp-block-button .wp-block-button__link:hover { background: var(--gc-color-action-hover); color: var(--gc-color-action-text); }
.gc-pricing .gc-plan-featured { background: var(--gc-color-brand); border-color: var(--gc-color-brand); color: var(--gc-color-text-inverse); }
.gc-pricing .gc-plan-featured .gc-plan-name, .gc-pricing .gc-plan-featured .gc-plan-price { color: var(--gc-color-text-inverse); }
.gc-pricing .gc-plan-featured .gc-plan-label, .gc-pricing .gc-plan-featured .gc-plan-description, .gc-pricing .gc-plan-featured .gc-plan-period { color: var(--gc-color-surface-subtle); }
.gc-pricing .gc-plan-featured .gc-plan-features { border-color: var(--gc-color-border-control); }
.gc-pricing .gc-plan-featured .wp-block-button__link { background: var(--gc-color-surface); color: var(--gc-color-brand); }
.gc-pricing .gc-plan-featured .wp-block-button__link:hover { background: var(--gc-color-surface-subtle); color: var(--gc-color-brand); }
.gc-pricing .gc-plan-featured a:focus-visible { outline-color: var(--gc-color-text-inverse); }
.gc-pricing .gc-pricing-note { color: var(--gc-color-text-muted); font-size: 14px; line-height: 1.7; margin: 24px 0 0; }
.gc-pricing .gc-pricing-heading { margin: 0 0 18px; color: var(--gc-color-brand); font-size: clamp(28px,3vw,38px); font-weight: 650; line-height: 1.2; letter-spacing: -.03em; }
.gc-pricing .gc-pricing-intro { max-width: 750px; color: var(--gc-color-text-muted); }
.gc-pricing .gc-pricing-comparison { margin: 28px 0 0; overflow-x: auto; }
.gc-pricing-comparison table { width: 100%; min-width: 660px; border-collapse: collapse; table-layout: auto; font-size: 15px; margin: 0; border: 0; }
.gc-pricing .gc-pricing-comparison th, .gc-pricing .gc-pricing-comparison td { padding: 18px 20px; border: 0; border-bottom: 1px solid var(--gc-color-border); text-align: left; vertical-align: top; }
.gc-pricing .gc-pricing-comparison th { background: var(--gc-color-background); color: var(--gc-color-brand); font-weight: 650; }
.gc-pricing-comparison td:first-child { color: var(--gc-color-brand); font-weight: 600; }
.gc-pricing .gc-pricing-comparison figcaption { margin-top: 14px; color: var(--gc-color-text-muted); font-size: 13px; line-height: 1.7; }
.gc-pricing .gc-pricing-terms { background: var(--gc-color-background); margin: 0; }
.gc-pricing .gc-pricing-terms-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 72px; margin: 0; }
.gc-pricing .gc-pricing-terms-copy p { color: var(--gc-color-text-muted); }
.gc-pricing .gc-pricing-term { margin: 0; border-bottom: 1px solid var(--gc-color-border); }
.gc-pricing-term summary { padding: 20px 12px 20px 0; color: var(--gc-color-brand); cursor: pointer; font-size: 17px; font-weight: 600; }
.gc-pricing-term summary::marker { color: var(--gc-color-accent); }
.gc-pricing .gc-pricing-term p { padding-bottom: 20px; font-size: 15px; color: var(--gc-color-text-muted); line-height: 1.75; margin: 0; }
.gc-pricing .gc-pricing-closing { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 40px; }
.gc-pricing .gc-pricing-closing p { max-width: 720px; margin-bottom: 0; color: var(--gc-color-text-muted); }
.gc-pricing .gc-pricing-risk { padding-top: 28px; border-top: 1px solid var(--gc-color-border); margin: 0; font-size: 13px; color: var(--gc-color-text-muted); }
.gc-pricing [id] { scroll-margin-top: 28px; }
@media (max-width: 1000px) {
	.gc-pricing .gc-pricing-grid { gap: 16px; }
	.gc-pricing .gc-plan { padding: 24px; }
	.gc-pricing .gc-plan-price { font-size: 42px; }
	.gc-pricing .gc-plan-description { min-height: 100px; }
}
@media (max-width: 900px) {
	.gc-pricing .gc-pricing-shell { padding: 48px 24px; }
	.gc-pricing .gc-pricing-terms-grid { gap: 36px; }
}
@media (max-width: 760px) {
	.gc-pricing .gc-pricing-grid, .gc-pricing .gc-pricing-terms-grid, .gc-pricing .gc-pricing-closing { grid-template-columns: minmax(0,1fr); gap: 24px; }
	.gc-pricing .gc-plan-description { min-height: 0; }
	.gc-pricing .gc-plan .wp-block-buttons { margin-top: 0; }
	.gc-pricing .gc-pricing-title { font-size: 42px; }
	.gc-pricing .gc-pricing-lead { font-size: 17px; }
	.gc-pricing .gc-pricing-closing .wp-block-buttons { justify-self: start; }
}
@media (max-width: 380px) {
	.gc-pricing .gc-pricing-shell { padding-inline: 16px; }
	.gc-pricing .gc-pricing-title { font-size: 38px; }
}

/* Research imagery and plan hierarchy follow the shared website identity. */
.gc-pricing .gc-pricing-hero { background: linear-gradient(115deg, var(--gc-color-background) 10%, var(--gc-color-surface-subtle) 65%, color-mix(in srgb, var(--gc-color-accent) 18%, var(--gc-color-surface))); }
.gc-pricing .gc-pricing-hero .gc-pricing-shell { padding-bottom: 64px; }
.gc-pricing .gc-pricing-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: center; gap: 56px; margin: 0; }
.gc-pricing .gc-pricing-hero-copy { min-width: 0; }
.gc-pricing .gc-pricing-title { font-size: clamp(40px,4.1vw,58px); }
.gc-pricing .gc-pricing-eyebrow { color: var(--gc-color-action-hover); }
.gc-pricing .gc-pricing-hero-image { margin: 0; overflow: hidden; border-radius: 72px 12px 12px 12px; border-bottom: 5px solid var(--gc-color-accent); box-shadow: 0 20px 44px -24px color-mix(in srgb, var(--gc-color-brand) 38%, transparent); }
.gc-pricing .gc-pricing-hero-image img { display: block; width: 100%; height: 320px; object-fit: cover; }
.gc-pricing .gc-pricing-status { background: var(--gc-color-surface); border: 1px solid var(--gc-color-border); }
.gc-pricing .gc-pricing-plans { background: linear-gradient(180deg,var(--gc-color-background),var(--gc-color-surface)); border-top: 1px solid var(--gc-color-border); }
.gc-pricing .gc-pricing-plans .gc-pricing-shell { padding-top: 40px; }
.gc-pricing .gc-plan { position: relative; border-radius: 12px; border-top: 4px solid var(--gc-color-accent); background: linear-gradient(150deg,var(--gc-color-surface) 60%,var(--gc-color-background)); box-shadow: 0 16px 40px -28px color-mix(in srgb,var(--gc-color-brand) 35%,transparent); }
.gc-pricing .gc-plan::before { content: ''; display: block; width: 36px; height: 36px; margin-bottom: 24px; background: var(--gc-color-accent); mask: url('../icons/research-idea.svg') center / contain no-repeat; }
.gc-pricing .gc-plan:nth-child(2)::before { mask-image: url('../icons/research-context.svg'); background: var(--gc-color-text-inverse); }
.gc-pricing .gc-plan:nth-child(3)::before { mask-image: url('../icons/research-scenarios.svg'); }
.gc-pricing .gc-plan-featured { background: linear-gradient(145deg,var(--gc-color-brand) 45%,var(--gc-color-action-hover)); border-color: var(--gc-color-brand); border-top-color: var(--gc-color-accent); }
.gc-pricing .gc-plan-features li { position: relative; padding-left: 18px; }
.gc-pricing .gc-plan-features li::before { content: ''; position: absolute; left: 0; top: 15px; width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.gc-pricing .gc-pricing-note { padding: 20px 24px; border-left: 3px solid var(--gc-color-accent); background: var(--gc-color-background); border-radius: 0 8px 8px 0; }
.gc-pricing .gc-pricing-comparison { border-radius: 10px; border: 1px solid var(--gc-color-border); }
.gc-pricing .gc-pricing-comparison:focus-visible { outline: 3px solid var(--gc-color-focus); outline-offset: 5px; }
.gc-pricing .gc-pricing-comparison th { background: var(--gc-color-brand); color: var(--gc-color-text-inverse); }
.gc-pricing .gc-pricing-comparison tbody tr:nth-child(even) { background: var(--gc-color-background); }
.gc-pricing .gc-pricing-comparison figcaption { padding: 16px 20px; margin: 0; text-align: left; background: var(--gc-color-surface); }
.gc-pricing .gc-pricing-terms { background: linear-gradient(115deg,var(--gc-color-background),color-mix(in srgb,var(--gc-color-accent) 10%,var(--gc-color-surface))); border-block: 1px solid var(--gc-color-border); }
.gc-pricing .gc-pricing-terms-list { padding: 8px 28px; border: 1px solid var(--gc-color-border); border-radius: 12px; background: var(--gc-color-surface); }
.gc-pricing .gc-pricing-term:last-child { border-bottom: 0; }
.gc-pricing .gc-pricing-term[open] summary { color: var(--gc-color-action-hover); }
.gc-pricing .gc-pricing-closing { padding: 36px; background: linear-gradient(115deg,var(--gc-color-brand),var(--gc-color-action-hover)); border-radius: 12px; }
.gc-pricing .gc-pricing-closing .gc-pricing-heading, .gc-pricing .gc-pricing-closing p { color: var(--gc-color-text-inverse); }
.gc-pricing .gc-pricing-closing .wp-block-button__link { background: var(--gc-color-surface); color: var(--gc-color-brand); }
.gc-pricing .gc-pricing-closing .wp-block-button__link:hover { background: var(--gc-color-surface-subtle); }
.gc-pricing .gc-pricing-closing a:focus-visible { outline-color: var(--gc-color-text-inverse); }
.gc-pricing .gc-pricing-risk { margin-top: 32px; }
@media (prefers-reduced-motion: no-preference) { .gc-pricing .wp-block-button__link { transition: background-color .2s ease,box-shadow .2s ease; } .gc-pricing .wp-block-button__link:hover { box-shadow: 0 6px 16px -8px var(--gc-color-brand); } }
@media (max-width: 1000px) { .gc-pricing .gc-pricing-hero-grid { gap: 32px; } }
@media (max-width: 900px) { .gc-pricing .gc-pricing-hero-grid { grid-template-columns: 1fr; } .gc-pricing .gc-pricing-hero-image { max-width: 620px; width: 100%; } .gc-pricing .gc-pricing-hero-image img { height: 260px; } }
@media (max-width: 760px) { .gc-pricing .gc-pricing-hero .gc-pricing-shell { padding-bottom: 36px; } .gc-pricing .gc-pricing-plans .gc-pricing-shell { padding-top: 28px; } .gc-pricing .gc-pricing-hero-image img { height: 220px; } .gc-pricing .gc-pricing-closing { padding: 28px; } .gc-pricing .gc-pricing-terms-list { padding-inline: 20px; } }
