/* =========================================================================
   ADULT SEO MINDS — CONTACT US (bespoke)
   Loaded ONLY on template-contact-us.php, in addition to style.css. Scoped to
   .contact-page. Reuses the VELVETRANK dark tokens. Mixed tones: dark/mid/light.
   Zero inline CSS. Wraps the bundled [asm_contact_form] (.asm-form).
   ====================================================================== */
.contact-page { overflow-x: clip; }
.contact-page .ct-wrap { max-width: var(--wide); margin-inline: auto; }
.contact-page .ct-narrow { max-width: 820px; margin-inline: auto; }

/* tones */
.contact-page > section { position: relative; }
.contact-page .ct-dark  { background: var(--c-base); }
.contact-page .ct-mid   { background: linear-gradient(180deg, #23252f 0%, #191a22 100%); }
.contact-page .ct-light { background: linear-gradient(180deg, #eef1fb 0%, #f6f8fd 100%); color: #4c4e5b; }
.contact-page .ct-light :where(h2, h3) { color: #15151f; }
.contact-page .ct-light p { color: #4c4e5b; }

/* shared */
.contact-page .ct-kicker { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--font-display); font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--c-primary-light); margin: 0 0 1.1rem; }
.contact-page .ct-kicker::before { content: ""; width: 24px; height: 2px; background: var(--gradient); border-radius: 2px; }
.contact-page .ct-light .ct-kicker { color: var(--c-primary); }
.contact-page .ct-h { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.9rem, 1.35rem + 2.1vw, 2.95rem); line-height: 1.07; letter-spacing: -0.028em; margin: 0 0 1rem; }
.contact-page .ct-lead { font-size: clamp(1.05rem, 1rem + .4vw, 1.2rem); line-height: 1.65; color: var(--c-muted); }
.contact-page .ct-light .ct-lead { color: #5a5c6a; }
.contact-page .ct-grad { background: var(--gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* HERO (centered, compact) */
.contact-page .ct-hero { text-align: center; background: radial-gradient(55% 70% at 50% -12%, rgba(255,45,120,.16), transparent 60%), var(--c-base); }
.contact-page .ct-hero .ct-kicker { margin-inline: auto; }
.contact-page .ct-hero h1 { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.2rem); line-height: 1.04; letter-spacing: -0.035em; margin: 0 0 1.2rem; }
.contact-page .ct-hero__lead { max-width: 60ch; margin: 0 auto 1.9rem; }
.contact-page .ct-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
.contact-page .ct-chip { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1.1rem; background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: var(--radius-pill); font-size: .9rem; color: var(--c-text); }
.contact-page .ct-chip svg { width: 17px; height: 17px; stroke: var(--c-primary); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-page .ct-hero__cta { margin-top: 1.7rem; }
.contact-page .ct-book { display: inline-flex; align-items: center; gap: .55rem; background: var(--gradient); color: #fff; font-family: var(--font-display); font-weight: 700; font-size: .98rem; padding: .9em 1.9em; border-radius: var(--radius-pill); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.contact-page .ct-book:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(255,45,120,.6); color: #fff; }
.contact-page .ct-book svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

/* CONTACT (info + form) */
.contact-page .ct-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 1rem + 3vw, 3.5rem); align-items: start; }
.contact-page .ct-info > p { color: var(--c-muted); margin: 0 0 1.5rem; max-width: 42ch; }
.contact-page .ct-method { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; padding: 1.15rem 0; border-bottom: 1px solid var(--border); }
.contact-page .ct-method:first-of-type { border-top: 1px solid var(--border); }
.contact-page .ct-method__ic { width: 44px; height: 44px; flex: none; border-radius: 12px; background: rgba(255,45,120,.1); border: 1px solid var(--border-accent); display: grid; place-items: center; }
.contact-page .ct-method__ic svg { width: 20px; height: 20px; stroke: var(--c-primary); fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.contact-page .ct-method__l { font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; color: var(--c-muted); margin: 0 0 .15rem; }
.contact-page .ct-method__v { font-family: var(--font-display); color: var(--c-text); font-size: 1.04rem; margin: 0; }
.contact-page .ct-method__v a { color: var(--c-text); text-decoration: none; transition: color .18s ease; }
.contact-page .ct-method__v a:hover { color: var(--c-primary); }
.contact-page .ct-info__note { margin: 1.5rem 0 0; display: flex; align-items: center; gap: .6rem; color: var(--c-muted); font-size: .9rem; }
.contact-page .ct-info__note svg { width: 18px; height: 18px; stroke: #6ee7a8; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.contact-page .ct-form-card { background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); border: 1px solid var(--border); border-radius: 20px; padding: clamp(1.5rem, 1rem + 2vw, 2.4rem); }
.contact-page .ct-form-card h3 { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 .4rem; }
.contact-page .ct-form-card > p { color: var(--c-muted); font-size: .95rem; margin: 0 0 1.4rem; }
/* the [asm_contact_form] shortcode renders the .asm-inline-form lead form, which
   carries its own panel; collapse it so OUR .ct-form-card is the single card. */
.contact-page .ct-form-card .asm-inline-form { max-width: none; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; }
.contact-page .ct-form-card .asm-form { max-width: none; margin: 0; }

/* STEPS (what happens next, light) */
.contact-page .ct-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; margin-top: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.contact-page .ct-step__n { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; background: var(--gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.contact-page .ct-step h3 { font-family: var(--font-display); font-size: 1.15rem; margin: .45rem 0 .4rem; }
.contact-page .ct-step p { margin: 0; font-size: .95rem; line-height: 1.55; }

/* responsive */
@media (max-width: 860px) {
	.contact-page .ct-grid { grid-template-columns: 1fr; }
	.contact-page .ct-steps { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .contact-page * { transition: none !important; } }
