/* Shared presentation for editable contact and legal pages. */
.gc-service-page .site-main, .gc-service-page .entry-content { margin: 0; }
.gc-service-page .inside-article, .gc-service-page .site-content { padding: 0; }
.gc-service { background: var(--gc-color-surface); color: var(--gc-color-text); font: 17px/1.7 "Segoe UI", Arial, sans-serif; }
.gc-service *, .gc-service *::before, .gc-service *::after { box-sizing: border-box; }
.gc-service.wp-block-group .wp-block-group__inner-container { display: contents; }
.gc-service .gc-service-shell { max-width: 1120px; margin: auto; }
.gc-service .gc-service-eyebrow { color: var(--gc-color-action-hover); text-transform: uppercase; font-size: 12px; letter-spacing: .12em; font-weight: 700; }
.gc-service h1 { color: var(--gc-color-brand); font-size: clamp(38px, 5vw, 64px); letter-spacing: -.04em; line-height: 1.1; margin: 16px 0 24px; }
.gc-service h2 { color: var(--gc-color-brand); font-size: 26px; line-height: 1.25; margin: 0 0 18px; }
.gc-service p { margin: 0 0 20px; }
.gc-service .gc-service-lead { max-width: 680px; font-size: 20px; color: var(--gc-color-text-muted); margin-bottom: 40px; }
.gc-service .gc-contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 56px; align-items: start; }
.gc-service .gc-contact-aside { border-top: 3px solid var(--gc-color-accent); padding-top: 24px; }
.gc-service .gc-contact-panel, .gc-service .gc-legal-body { background: var(--gc-color-surface); padding: 36px; border-radius: 8px; }
.gc-service .gc-legal-body { max-width: 800px; }
.gc-service .gc-legal-body h2:not(:first-child) { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--gc-color-border); }
.gc-service a { color: var(--gc-color-link); text-underline-offset: 4px; overflow-wrap: anywhere; }
.gc-service a:hover { color: var(--gc-color-link-hover); }
.gc-service :is(a,input,textarea,button):focus-visible { outline: 3px solid var(--gc-color-focus); outline-offset: 4px; }
.gc-service .wpcf7 label { display: block; font-size: 15px; font-weight: 600; }
.gc-service .wpcf7 :is(input[type=text],input[type=email],textarea) { display: block; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid var(--gc-color-border-control); border-radius: 4px; background: var(--gc-color-surface); color: var(--gc-color-text); font: inherit; }
.gc-service .wpcf7 textarea { min-height: 150px; resize: vertical; }
.gc-service .wpcf7 input[type=submit] { background: var(--gc-color-action); color: var(--gc-color-action-text); border: 0; border-radius: 5px; padding: 14px 24px; font: 600 16px/1.5 "Segoe UI", Arial, sans-serif; cursor: pointer; }
.gc-service .wpcf7 input[type=submit]:hover { background: var(--gc-color-action-hover); }
.gc-service .gc-contact-notice { font-size: 14px; color: var(--gc-color-text-muted); }
.gc-service .wpcf7-not-valid-tip { color: var(--gc-color-negative); font-size: 14px; font-weight: 400; }
.gc-service .wpcf7 form .wpcf7-response-output { margin: 24px 0 0; border-color: var(--gc-color-warning); }
.gc-service .wpcf7 form.sent .wpcf7-response-output { border-color: var(--gc-color-positive); }
.gc-service .wpcf7 form.failed .wpcf7-response-output { border-color: var(--gc-color-negative); }
.gc-service .gc-service-hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; gap: 64px; padding: 48px max(32px, calc((100% - 1120px) / 2)) 56px; margin: 0; 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))); border-bottom: 1px solid var(--gc-color-border); }
.gc-service .gc-service-hero-copy { min-width: 0; }
.gc-service .gc-service-hero .gc-service-lead { margin-bottom: 0; }
.gc-service .gc-service-hero-image { margin: 0; overflow: hidden; border-radius: 72px 12px 12px 12px; box-shadow: 0 20px 44px -24px color-mix(in srgb, var(--gc-color-brand) 38%, transparent); border-bottom: 5px solid var(--gc-color-accent); }
.gc-service .gc-service-hero-image img { display: block; width: 100%; height: 290px; object-fit: cover; }
.gc-service .gc-service-content { max-width: 1184px; padding: 64px 32px 80px; margin: auto; }
.gc-service .gc-contact-panel { border: 1px solid var(--gc-color-border); background: linear-gradient(155deg, var(--gc-color-surface) 70%, var(--gc-color-background)); box-shadow: 0 16px 40px -30px color-mix(in srgb, var(--gc-color-brand) 35%, transparent); }
.gc-service .gc-contact-aside { padding: 28px; background: linear-gradient(145deg, var(--gc-color-background), color-mix(in srgb, var(--gc-color-accent) 9%, var(--gc-color-surface))); border-radius: 0 0 12px 12px; }
.gc-service .wpcf7 textarea { height: 180px; }
.gc-service-legal .gc-service-hero-image img { height: 230px; }
.gc-service-legal .gc-legal-body { padding: 0; }
@media (prefers-reduced-motion: no-preference) { .gc-service .wpcf7 input[type=submit] { transition: background-color .2s ease, box-shadow .2s ease; } .gc-service .wpcf7 input[type=submit]:hover { box-shadow: 0 6px 16px -8px var(--gc-color-brand); } }
@media (max-width: 900px) { .gc-service .gc-service-hero { gap: 32px; } .gc-service .gc-contact-grid { gap: 32px; } }
@media (max-width: 760px) { .gc-service .gc-service-hero { grid-template-columns: 1fr; padding: 36px 20px; gap: 28px; } .gc-service .gc-service-hero-image img { height: 220px; } .gc-service .gc-service-content { padding: 36px 20px 48px; } .gc-service .gc-contact-grid { grid-template-columns: 1fr; gap: 28px; } .gc-service .gc-contact-panel, .gc-service .gc-contact-aside { padding: 24px; } }
@media (prefers-reduced-motion: reduce) { .gc-service .wpcf7-spinner::before { animation: none; } }
/* Compact cross-navigation connects the public information pages. */
.gc-service .gc-legal-navigation { display: flex; flex-wrap: wrap; gap: 8px 16px; border-bottom: 1px solid var(--gc-color-border); padding-bottom: 20px; margin-bottom: 36px; font-size: 14px; }
.gc-service .gc-legal-navigation a { padding-block: 8px; }
.gc-service .gc-legal-navigation span { padding-block: 8px; color: var(--gc-color-text-muted); }
.gc-service .gc-legal-date { margin: 20px 0 0; font-size: 13px; color: var(--gc-color-text-muted); }
.gc-service .gc-legal-notice { padding: 20px 24px; border-left: 3px solid var(--gc-color-accent); background: var(--gc-color-background); font-size: 15px; }
