/* Contact presentation only. Existing contact details and lead-form behavior are retained. */
.contact-story-page.contact-page {
  --contact-accent:var(--accent-primary); --contact-button:var(--primary-color); --contact-button-ink:var(--btn-primary-text,#fff);
  width:100%; max-width:1120px; padding:24px 24px 64px; position:relative;
  background:none;
}
html[data-mode="dark"]:is([data-theme="silver"],[data-theme="monochrome"],[data-theme="ocean"],[data-theme="emerald"]) .contact-story-page {--contact-button-ink:#07121c;}
.contact-story-page.contact-page :is(h1,h2,h3) {font-family:'Rubik',sans-serif; letter-spacing:-.025em;}
.contact-story-page .contact-header-section {text-align:center; max-width:820px; margin:0 auto 28px;}
.contact-story-page .contact-header-section .premium-eyebrow {font-size:.78rem; font-weight:500; color:var(--text-muted); margin:0 0 8px;}
.contact-story-page .contact-h1 {color:var(--text-primary); font-size:clamp(2.2rem,4vw,3.2rem); font-weight:800; line-height:1.2; margin:0;}
.contact-story-page .contact-lead {max-width:760px; margin:0 auto; color:var(--text-secondary); font-size:.86rem; line-height:1.8;}
.contact-story-page .contact-layout-grid {display:grid; grid-template-columns:minmax(0,1.22fr) minmax(0,.9fr); gap:24px; align-items:start; margin-bottom:28px;}
.contact-story-page :is(.contact-form-col,.contact-info-col) {min-width:0;}
.contact-story-page .contact-info-col {display:grid; gap:0; border:1px solid var(--border-card); border-radius:16px; background:var(--bg-card); box-shadow:0 8px 28px color-mix(in srgb,var(--text-primary) 4%,transparent); padding:26px;}
.contact-story-page .form-card {background:var(--bg-card); border:1px solid var(--border-card); border-radius:16px; box-shadow:0 8px 28px color-mix(in srgb,var(--text-primary) 4%,transparent); padding:26px;}
.contact-story-page :is(.form-title,.channels-title) {font-size:1.35rem; font-weight:700; line-height:1.45; color:var(--text-primary); margin:0 0 7px;}
.contact-story-page .form-sub {font-size:.86rem; color:var(--text-muted); line-height:1.65; margin:0 0 20px;}
.contact-story-page .form-group {margin:0 0 14px;}
.contact-story-page .form-row {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.contact-story-page .form-label {display:block; color:var(--text-secondary); font-size:.8rem; font-weight:500; margin-bottom:5px; line-height:1.5;}
.contact-story-page :is(.form-input,.form-select,.form-textarea) {width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--border-card); border-radius:9px; background:color-mix(in srgb,var(--bg-card) 85%,var(--bg-subtle)); color:var(--text-primary); font-family:inherit; font-size:.9rem; transition:border-color .15s,box-shadow .15s;}
.contact-story-page :is(.form-input,.form-select,.form-textarea):focus {outline:0; border-color:var(--contact-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--contact-accent) 13%,transparent);}
.contact-story-page :is(input,textarea)::placeholder {color:var(--text-muted); opacity:1;}
.contact-story-page .form-textarea {display:block; min-height:108px; line-height:1.7; resize:vertical;}
.contact-story-page .form-submit-btn {width:100%; min-height:46px; display:flex; align-items:center; justify-content:center; gap:10px; padding:11px 16px; border:0; border-radius:9px; background:var(--contact-button); color:var(--contact-button-ink); font-family:inherit; font-size:.97rem; font-weight:600; cursor:pointer; transition:opacity .15s;}
.contact-story-page .form-submit-btn:hover:not(:disabled) {background:var(--contact-button); opacity:.88; transform:none;}
.contact-story-page .form-submit-btn:disabled {opacity:.65; cursor:wait;}
.contact-story-page .contact-privacy-notice {font-size:.76rem; line-height:1.65; padding:12px; margin-bottom:12px; border:1px solid var(--border-subtle); border-radius:9px; color:var(--text-muted); background:var(--bg-subtle);}
.contact-story-page .contact-consent-group {margin-bottom:14px;}
.contact-story-page .consent-checkbox-label {display:flex; align-items:flex-start; gap:9px; font-size:.77rem; line-height:1.65; color:var(--text-secondary); cursor:pointer;}
.contact-story-page .consent-checkbox-label input {width:17px; height:17px; flex-shrink:0; margin:3px 0 0; accent-color:var(--contact-accent);}
.contact-story-page :is(.contact-privacy-notice a,.consent-checkbox-label a,.links-item) {color:var(--text-primary); text-decoration:underline; text-underline-offset:3px;}
.contact-story-page .form-feedback {font-size:.9rem; line-height:1.6; border-radius:9px; padding:12px; margin-bottom:16px;}
.contact-story-page .channels-card {background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; margin:0;}
.contact-story-page .channels-title {margin-bottom:8px;}
.contact-story-page .channel-row {display:flex; flex-direction:row-reverse; align-items:center; justify-content:space-between; padding:19px 0; gap:16px; border-bottom:1px solid var(--border-subtle);}
.contact-story-page .channel-row:last-child {border-bottom:0;}
.contact-story-page .channel-row > div:not(.channel-icon) {flex:1; min-width:0;}
.contact-story-page .channel-icon {width:48px; height:48px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:50%; color:var(--text-primary); background:color-mix(in srgb,var(--contact-accent) 7%,var(--bg-card));}
.contact-story-page .channel-label {font-size:.86rem; font-weight:650; color:var(--text-primary); line-height:1.5; margin-bottom:4px;}
.contact-story-page .channel-val {font-size:.9rem; font-weight:400; line-height:1.7; color:var(--text-secondary); text-decoration:none; overflow-wrap:anywhere;}
.contact-story-page a.channel-val {display:inline-block; direction:ltr; unicode-bidi:isolate;}
.contact-story-page a.channel-val:hover {color:var(--contact-accent); text-decoration:underline;}
.contact-story-page .contact-wa-banner {display:block; padding:18px; border:0; border-radius:12px; background:color-mix(in srgb,var(--contact-accent) 8%,var(--bg-card)); margin:12px 0 0; box-shadow:none;}
.contact-story-page .wa-banner-badge {display:block; background:transparent; border:0; padding:0; color:var(--text-muted); font-size:.75rem; margin:0 0 5px;}
.contact-story-page .wa-banner-title {font-size:1.08rem; font-weight:700; margin:0 0 7px; line-height:1.5;}
.contact-story-page .wa-banner-desc {font-size:.84rem; color:var(--text-secondary); line-height:1.75; margin:0;}
.contact-story-page .wa-banner-action {margin-top:14px;}
.contact-story-page .btn-wa-action {display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:9px 15px; background:var(--bg-card); color:var(--text-primary); border:1px solid var(--border-card); border-radius:9px; font-size:.88rem; font-weight:650; text-decoration:none; box-shadow:none; white-space:normal;}
.contact-story-page .btn-wa-action:hover {background:var(--bg-subtle); color:var(--text-primary); box-shadow:none; transform:none; opacity:1;}
.contact-story-page .guidelines-card {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 26px; padding:26px; background:var(--bg-card); border:1px solid var(--border-card); border-radius:16px; box-shadow:none;}
.contact-story-page .guidelines-title {grid-column:1 / -1; font-size:1.18rem; margin:0;}
.contact-story-page .faq-mini-item {margin:0; padding:0;}
.contact-story-page .faq-mini-q {font-size:.9rem; font-weight:650; color:var(--text-primary); line-height:1.6; margin-bottom:6px;}
.contact-story-page .faq-mini-a {font-size:.83rem; color:var(--text-secondary); line-height:1.8; margin:0;}
.contact-story-page .contact-links-section {margin-top:24px;}
.contact-story-page .links-box {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; background:transparent; border:0; border-top:1px solid var(--border-subtle); border-radius:0; padding:22px 0 0; box-shadow:none;}
.contact-story-page .links-box-title {font-size:.9rem; font-weight:600;}
.contact-story-page .links-row {display:flex; gap:12px 22px; flex-wrap:wrap;}
.contact-story-page .links-item {font-size:.83rem; line-height:1.7;}
@media (max-width:760px) {
 .contact-story-page.contact-page {padding:20px 16px 44px;}
 .contact-story-page .contact-header-section {margin-bottom:24px;}
 .contact-story-page .contact-h1 {font-size:2.35rem;}
 .contact-story-page .contact-lead {font-size:.84rem;}
 .contact-story-page .contact-layout-grid {grid-template-columns:minmax(0,1fr); gap:20px;}
 .contact-story-page :is(.form-card,.contact-info-col,.guidelines-card) {padding:22px 18px;}
 .contact-story-page .guidelines-card {grid-template-columns:minmax(0,1fr); gap:22px;}
 .contact-story-page :is(.form-input,.form-select,.form-textarea) {font-size:1rem;}
}
@media (max-width:420px) {
 .contact-story-page .form-row {grid-template-columns:minmax(0,1fr); gap:0;}
 .contact-story-page :is(.form-title,.channels-title) {font-size:1.2rem;}
}

/* A centered form and a horizontal contact strip share one central axis. */
.contact-story-page .contact-h1 {font-weight:900;}
.contact-story-page .contact-layout-grid {grid-template-columns:minmax(0,1fr); gap:28px;}
.contact-story-page .contact-form-col {width:100%; max-width:780px; margin-inline:auto;}
.contact-story-page .form-card {padding:30px 34px;}
.contact-story-page .contact-info-col {width:100%; padding:26px 28px;}
.contact-story-page .channels-card {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 24px;}
.contact-story-page .channels-title {grid-column:1 / -1; text-align:center; margin:0 0 4px;}
.contact-story-page .channel-row {padding:12px 0; border-bottom:0; gap:12px; align-items:flex-start;}
.contact-story-page .channel-icon {width:42px; height:42px;}
.contact-story-page .channel-row:not(:last-child) {border-inline-end:1px solid var(--border-subtle); padding-inline-end:24px;}
.contact-story-page .channel-row:last-child .channel-label {font-size:.82rem;}
.contact-story-page .contact-wa-banner {display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:22px; padding:20px 24px;}
.contact-story-page .wa-banner-content {max-width:680px; min-width:0;}
.contact-story-page .wa-banner-action {margin:0; flex-shrink:0;}
.contact-story-page .wa-banner-badge {margin-bottom:3px;}
.contact-story-page .wa-banner-title {margin-bottom:5px;}
@media (max-width:900px) {
 .contact-story-page .channels-card {grid-template-columns:minmax(0,1fr); gap:0;}
 .contact-story-page .channel-row {align-items:center; padding:16px 0;}
 .contact-story-page .channel-row:not(:last-child) {border-inline-end:0; border-bottom:1px solid var(--border-subtle); padding-inline-end:0;}
 .contact-story-page .channel-row:last-child .channel-label {font-size:.86rem;}
 .contact-story-page .contact-wa-banner {gap:18px; padding:18px;}
}
@media (max-width:760px) {
 .contact-story-page .form-card,.contact-story-page .contact-info-col {padding:22px 18px;}
 .contact-story-page .contact-wa-banner {display:block;}
 .contact-story-page .wa-banner-action {margin-top:14px;}
 .contact-story-page .contact-layout-grid {gap:20px;}
}

/* The existing contact card sits to the left of the form on desktop. */
@media (min-width:901px) {
 .contact-story-page .contact-layout-grid {grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:24px; align-items:start;}
 .contact-story-page .contact-form-col {max-width:none; margin:0;}
 .contact-story-page .channels-card {display:block;}
 .contact-story-page .channels-title {text-align:start; margin-bottom:8px;}
 .contact-story-page .channel-row {padding:18px 0; align-items:center;}
 .contact-story-page .channel-row:not(:last-child) {border-inline-end:0; border-bottom:1px solid var(--border-subtle); padding-inline-end:0;}
 .contact-story-page .contact-wa-banner {display:block; padding:18px; margin-top:18px;}
 .contact-story-page .wa-banner-action {margin-top:14px;}
}

/* Reduce desktop entry spacing while retaining the existing contact layout. */
@media (min-width:901px) {
 .contact-diagonal-page .breadcrumb-nav {padding-top:8px; padding-bottom:0;}
 .contact-story-page.contact-page {padding-top:0;}
 .contact-story-page .contact-h1 {font-size:2.5rem;}
 .contact-story-page .contact-header-section {margin-bottom:12px;}
 .contact-story-page .form-card {padding-block:22px;}
 .contact-story-page .form-sub {margin-bottom:14px;}
 .contact-story-page .form-group {margin-bottom:10px;}
 .contact-story-page .form-textarea {height:108px;}
}

/* Spread the desktop form across two field columns without changing keyboard order. */
@media (min-width:901px) {
 .contact-story-page.contact-page {max-width:1320px;}
 .contact-story-page .contact-h1 {font-size:3.25rem;}
 .contact-story-page .contact-header-section {margin-bottom:10px;}
 .contact-story-page .contact-layout-grid {grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);}
 .contact-story-page .form-card {padding:20px 28px;}
 .contact-story-page #publicContactForm {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px;}
 .contact-story-page #publicContactForm > * {grid-column:1 / -1;}
 .contact-story-page #publicContactForm > .form-row {display:contents;}
 .contact-story-page #publicContactForm > :is(.contact-name-group,.contact-course-group) {grid-column:auto;}
 .contact-story-page .form-sub {margin-bottom:12px;}
 .contact-story-page .form-textarea {height:90px; min-height:90px;}
 .contact-story-page .contact-privacy-notice {padding:10px 12px; margin-bottom:10px;}
 .contact-story-page .turnstile-container {align-items:center; line-height:0; margin-bottom:10px !important;}
}


@media (min-width:901px) and (max-height:800px) {
 .contact-story-page .form-card {padding-block:16px;}
 .contact-story-page .form-sub {margin-bottom:10px;}
 .contact-story-page .form-group {margin-bottom:8px;}
 .contact-story-page .form-textarea {height:80px; min-height:80px;}
 .contact-story-page .contact-privacy-notice {padding-block:8px;}
 .contact-story-page .turnstile-container {margin-bottom:8px !important;}
}

/* Center both narrower contact cards together as one group. */
@media (min-width:901px) {
 .contact-story-page.contact-page {max-width:1060px;}
 .contact-story-page .contact-layout-grid {grid-template-columns:minmax(0,2.1fr) minmax(0,1fr); gap:20px;}
 .contact-story-page .contact-info-col {padding:22px 18px;}
 .contact-story-page .contact-wa-banner {padding:16px;}
}


@media (min-width:901px) and (max-height:800px) {
 .contact-diagonal-page .breadcrumb-nav {padding-top:4px;}
 .contact-story-page .contact-header-section {margin-bottom:6px;}
 .contact-story-page .form-card {padding-block:14px;}
 .contact-story-page .form-sub {margin-bottom:8px;}
 .contact-story-page .form-group {margin-bottom:6px;}
 .contact-story-page .form-textarea {height:74px; min-height:74px;}
 .contact-story-page .contact-privacy-notice {padding-block:6px;}
 .contact-story-page .contact-info-col {padding-block:18px;}
 .contact-story-page .channels-title {font-size:1.2rem;}
 .contact-story-page .channel-row {padding-block:12px;}
 .contact-story-page .contact-wa-banner {margin-top:12px; padding:14px;}
}

.contact-story-page .contact-wa-simple {padding:0 !important; background:transparent; margin-top:16px !important;}
.contact-story-page .contact-wa-simple .btn-wa-action {width:100%;}

.contact-story-page .contact-spam-note {margin:10px 0 0; color:var(--text-secondary); font-size:.76rem; line-height:1.7;}
.contact-story-page .contact-spam-note a,.contact-story-page #contactFormFeedback a {color:inherit; text-decoration:underline; text-underline-offset:3px;}
.contact-story-page #contactFormFeedback a {display:block; margin-top:6px; font-weight:500;}
.contact-story-page.premium-page #contactFormFeedback.feedback-error {border-inline-start-color:var(--semantic-error);}
.contact-story-page #contactChannels {scroll-margin-top:100px;}
