/* Austin uses the same native two-panel service hero, with room for its project form. */
.fc-webdesign-hero.ctb-service-hero .ctb-service-hero-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    align-items: stretch !important;
    min-height: 0;
}
.fc-webdesign-hero.ctb-service-hero .ctb-service-intro { padding: clamp(28px, 4vw, 52px); }
.fc-webdesign-hero.ctb-service-hero .ctb-service-contact { padding: 28px 32px; }
.fc-webdesign-hero .ctb-service-intro .ctb-eyebrow {
    margin: 0 0 24px;
    color: #ffd7de;
    font: 700 12px/1.5 Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.fc-webdesign-hero.ctb-service-hero .ctb-service-intro h1 {
    max-width: 14ch;
    font-size: clamp(32px, 3.2vw, 44px);
    line-height: 1.15;
    letter-spacing: -.025em;
}
.fc-webdesign-hero.ctb-service-hero .ctb-service-intro p:not(.ctb-eyebrow) {
    margin-top: 24px;
    font: 400 19px/1.7 Arial, sans-serif;
}
.fc-webdesign-hero .ctb-service-intro .wp-block-buttons { margin-top: 32px; }
.fc-webdesign-form > h2 { margin: 0 0 8px; font: 700 24px/1.25 Arial, sans-serif; }
.fc-webdesign-form > p { margin: 0 0 16px; font: 400 14px/1.5 Arial, sans-serif; }
.fc-webdesign-form .nf-form-title { display: none; }
.fc-webdesign-form.ctb-contact-widget .nf-form-cont select {
    width: 100%; min-height: 40px; padding: 8px 10px;
    border: 1px solid #bfc0c3; border-radius: 0;
    font: 400 16px/1.25 Arial, sans-serif; background: #f7f7f7;
}
.fc-webdesign-form .nf-form-cont input[type=button],
.fc-webdesign-form .nf-form-cont input[type=submit] { background: #ad1b2e; width: 100%; }
.fc-webdesign-form .ctb-service-contact-links { margin-top: 16px; }
.fc-webdesign-form .ctb-service-contact-links p { font-size: 14px; gap: 8px; }
.fc-webdesign-form { scroll-margin-top: 120px; }
.fc-featured-anchor { margin: 0; scroll-margin-top: 100px; }

.fc-webdesign-section.ctb-section { padding-block: clamp(40px, 5vw, 68px); }
.fc-webdesign-section > .ctb-row { max-width: 1080px; align-items: start !important; }
.fc-webdesign-section h2 { margin: 0 0 20px; font-size: clamp(28px, 3vw, 36px); }
.fc-webdesign-section h3 { margin-top: 0; font-size: 23px; }
.fc-webdesign-section p, .fc-webdesign-section li { font-size: 17px; line-height: 1.7; }
.fc-webdesign-section .ctb-eyebrow { margin: 0 0 12px; color: #ad1b2e; font-size: 12px; }
.fc-webdesign-section.fc-webdesign-services { padding-bottom: 28px; background: #fff; }
.fc-webdesign-section.fc-webdesign-service-cards { padding-top: 0; background: #fff; }
.fc-webdesign-service-cards > .ctb-row { align-items: stretch !important; gap: 24px; }
.fc-webdesign-service-cards .ctb-card { height: 100%; border-top: 3px solid #c51f32; }
.fc-webdesign-reviews .ctb-row { max-width: 1080px; }
.fc-webdesign-reviews .fc-webdesign-review-grid { align-items: stretch !important; gap: 24px; }
.fc-webdesign-review-grid .ctb-card { height: 100%; }
.fc-webdesign-review-grid .ctb-card p { font-size: 16px; line-height: 1.7; }
.fc-webdesign-reviews > .ctb-row:first-child { text-align: center; }
.fc-webdesign-reviews h2 { margin-top: 0; font-size: clamp(28px, 3vw, 36px); }
.fc-webdesign-reviews > .ctb-row:last-child .wp-block-buttons { justify-content: center; }
.fc-webdesign-process { background: #fff !important; }
.fc-webdesign-process li + li { margin-top: 18px; }
.fc-webdesign-process .wp-block-list { padding-left: 22px; max-width: 900px; }

/* Case study: existing project screenshots remain editable Image blocks. */
.fc-efinity-hero.ctb-section { background: radial-gradient(ellipse at 0 0, #c51f3230, transparent 65%), #18181b; color: #fff; padding-block: clamp(44px, 6vw, 80px); }
.fc-efinity-hero > .ctb-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); max-width: 1080px; gap: clamp(28px, 4vw, 60px); }
.fc-efinity-intro { flex-basis: 58% !important; }
.fc-efinity-intro .ctb-eyebrow { color: #ffd7de; margin: 0 0 20px; font-size: 12px; }
.fc-efinity-intro h1 { margin: 0 0 24px; font-size: clamp(32px, 3.5vw, 46px); line-height: 1.15; letter-spacing: -.025em; }
.fc-efinity-intro > p:not(.ctb-eyebrow) { font-size: 19px; line-height: 1.7; }
.fc-efinity-intro .wp-block-buttons { margin-top: 28px; }
.fc-efinity-intro .wp-block-button__link { background: #fff; color: #18181b; }
.fc-efinity-preview { padding: 24px; background: #fff; border-radius: 12px; color: #3f3f46; box-shadow: 0 16px 40px #0003; }
.fc-efinity-map { margin: 0; }
.fc-efinity-map img { display: block; width: 100%; max-width: 400px; height: auto; margin: auto; }
.fc-efinity-preview .fc-efinity-caption { font: 400 14px/1.5 Arial, sans-serif; margin: 16px 0 0; text-align: center; }
.fc-efinity-overview { background: #fff !important; }
.fc-efinity-overview p { max-width: 900px; }
.fc-efinity-deliverables { background: #fbf3f4 !important; }
.fc-efinity-deliverables-grid.ctb-row { gap: 24px; align-items: stretch !important; }
.fc-efinity-deliverables .ctb-card { height: 100%; padding: 24px; }
.fc-efinity-map-detail { background: #fff !important; }
.fc-efinity-map-detail > .ctb-row { align-items: center !important; gap: 48px; }
.fc-efinity-interface { margin: 0; background: #fafafa; padding: 24px; border: 1px solid #ebdcde; border-radius: 8px; }
.fc-efinity-interface img { display: block; width: 100%; max-width: 440px; margin: auto; }
.fc-efinity-map-detail li + li { margin-top: 10px; }
.fc-efinity-feedback { background: #18181b !important; color: #fff; }
.fc-efinity-feedback .ctb-eyebrow { color: #ffd7de; }
.fc-efinity-feedback .wp-block-quote { margin: 24px 0; padding-left: 28px; border-left: 4px solid #c51f32; }
.fc-efinity-feedback .wp-block-quote p { font-size: clamp(22px, 2.5vw, 28px); line-height: 1.55; }
.fc-efinity-next-step { background: #fff !important; }

@media (min-width: 782px) and (max-width: 1024px) {
    .fc-webdesign-hero.ctb-service-hero .ctb-service-contact { padding: 24px; }
    .fc-webdesign-hero.ctb-service-hero .ctb-service-intro { padding: 32px 28px; }
    .fc-webdesign-service-cards > .ctb-row,
    .fc-webdesign-reviews .fc-webdesign-review-grid,
    .fc-efinity-deliverables-grid.ctb-row { flex-wrap: wrap !important; }
    .fc-webdesign-service-cards > .ctb-row > .wp-block-column,
    .fc-webdesign-review-grid > .wp-block-column,
    .fc-efinity-deliverables-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
}
@media (max-width: 781px) {
    .fc-webdesign-hero.ctb-service-hero .ctb-service-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .fc-webdesign-hero.ctb-service-hero .ctb-service-contact,
    .fc-webdesign-hero.ctb-service-hero .ctb-service-intro { padding: 28px 24px; }
    .fc-webdesign-hero.ctb-service-hero .ctb-service-intro h1 { max-width: none; font-size: 32px; }
    .fc-webdesign-hero.ctb-service-hero .ctb-service-intro p:not(.ctb-eyebrow) { font-size: 17px; }
    .fc-webdesign-section.ctb-section { padding-block: 36px; }
    .fc-webdesign-section.fc-webdesign-service-cards { padding-top: 0; }
    .fc-webdesign-service-cards > .ctb-row,
    .fc-webdesign-reviews .fc-webdesign-review-grid,
    .fc-efinity-deliverables-grid.ctb-row { gap: 20px; }
    .fc-efinity-intro { flex-basis: 100% !important; }
    .fc-efinity-hero > .ctb-row { grid-template-columns: minmax(0, 1fr); }
    .fc-efinity-map-detail > .ctb-row { gap: 28px; }
    .fc-efinity-preview { padding: 18px; }
    .fc-efinity-feedback .wp-block-quote { padding-left: 18px; }
}
