﻿/* Clear, editorial contact section with the same blue and neutral palette as the hero. */
.tt-consult{--tc-text:var(--tt-text,#171a20);--tc-muted:var(--tt-subtle,#5f6976);--tc-line:#d9dde3;--tc-field:#f7f8fa;--tc-surface:var(--tt-surface,#fff);--tc-focus:#006dfa;--tc-error:#b52b35;--tc-success:#166b4b;box-sizing:border-box;padding:96px 24px 112px;background:var(--tt-page,#f7f8fa);color:var(--tc-text);scroll-margin-top:82px}
.tt-consult *{box-sizing:border-box}
.tt-consult-shell{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:start;gap:clamp(44px,5vw,86px);max-width:1400px;margin:0 auto;padding-top:62px;border-top:1px solid var(--tc-line);color-scheme:light}
.tt-consult-intro{min-width:0;padding:7px 0 0}
.tt-consult-badge{display:inline-flex;align-items:center;padding:8px 15px;border:1px solid #006dfa;border-radius:999px;background:transparent;color:#1267d7;font-size:14px;font-weight:650;line-height:1.25}
.tt-consult-badge>span{display:none}
.tt-consult h2{max-width:600px;margin:28px 0 22px;color:var(--tc-text);font-size:clamp(44px,4.4vw,68px);font-weight:760;line-height:1.04;letter-spacing:-.068em}
.tt-consult h2>span{color:#006dfa}
.tt-consult-lede{max-width:510px;margin:0;color:var(--tc-muted);font-size:19px;line-height:1.65}
.tt-consult-benefits{display:grid;gap:18px;list-style:none;margin:38px 0 44px;padding:0}
.tt-consult-benefits li{display:flex;align-items:flex-start;gap:13px;color:var(--tc-text);font-size:16px;font-weight:550;line-height:1.5}
.tt-consult-benefits svg{flex:0 0 23px;width:23px;height:23px;margin-top:1px;color:#006dfa}
.tt-consult-team{max-width:480px;padding:24px;border:1px solid var(--tc-line);border-radius:18px;background:var(--tc-surface);box-shadow:0 12px 34px rgba(31,55,88,.045)}
.tt-consult-team-heading{display:flex;align-items:center;gap:14px}
.tt-consult-avatar{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;overflow:hidden;border-radius:50%;background:#e9f2ff;color:#006dfa}
.tt-consult-avatar svg{width:29px;height:29px}.tt-consult-avatar img{width:100%;height:100%;object-fit:cover}
.tt-consult-team-heading strong{display:block;color:var(--tc-text);font-size:17px;font-weight:750;line-height:1.25}
.tt-consult-team-heading span{display:block;margin-top:4px;color:var(--tc-muted);font-size:13px;line-height:1.4}
.tt-consult-team-actions{display:grid;gap:3px;margin-top:20px;padding-top:13px;border-top:1px solid var(--tc-line)}
.tt-consult-team-actions a,.tt-contact-pending{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;color:#006dfa;font-size:14px;font-weight:700;text-decoration:none}
.tt-consult-team-actions a:hover{color:#0053c2;text-decoration:underline;text-underline-offset:4px}
.tt-contact-pending{color:var(--tc-muted);cursor:default}
.tt-consult-team-actions svg{flex:0 0 18px;width:18px;height:18px}
.tt-consult-form-card{min-width:0;padding:38px 40px 36px;border:1px solid var(--tc-line);border-radius:24px;background:var(--tc-surface);box-shadow:0 22px 55px rgba(28,55,91,.075),0 2px 8px rgba(28,55,91,.025)}
.tt-consult-kicker{color:#006dfa;font-size:12px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.tt-consult-form-heading h3{margin:10px 0 8px;color:var(--tc-text);font-size:clamp(28px,2.1vw,34px);font-weight:750;line-height:1.2;letter-spacing:-.045em}
.tt-consult-form-heading p{margin:0 0 28px;color:var(--tc-muted);font-size:15px;line-height:1.55}
.tt-inquiry-form{display:grid;gap:20px}
.tt-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tt-form-field{min-width:0}
.tt-form-field>label,.tt-budget-field legend{display:block;margin:0 0 8px;color:var(--tc-text);font-size:14px;font-weight:700;line-height:1.4}
.tt-form-field>label span{color:#006dfa}
.tt-consult em{margin-left:6px;color:var(--tc-muted);font-size:12px;font-style:normal;font-weight:500}
.tt-consult input:not([type=radio]):not([type=hidden]),.tt-consult select,.tt-consult textarea{display:block;width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--tc-line);border-radius:12px;background:var(--tc-field);box-shadow:none;color:var(--tc-text);font:inherit;font-size:15px;line-height:1.5;transition:border-color .18s,background .18s,box-shadow .18s}
.tt-consult input::placeholder,.tt-consult textarea::placeholder{color:#8792a2;opacity:1}
.tt-consult select{padding-right:30px;cursor:pointer}
.tt-consult option{background:var(--tc-surface);color:var(--tc-text)}
.tt-consult textarea{min-height:132px;resize:vertical}
.tt-phone-group{display:grid;grid-template-columns:122px minmax(0,1fr);gap:10px}
.tt-consult :is(input:not([type=radio]),textarea,select):focus-visible{outline:none;border-color:#006dfa;box-shadow:0 0 0 3px rgba(0,109,250,.13)}
.tt-consult :is(a,button):focus-visible{outline:none}
.tt-consult [aria-invalid=true]{border-color:var(--tc-error)!important}
.tt-field-error{display:block;margin-top:6px;color:var(--tc-error);font-size:12px;line-height:1.45}
.tt-field-error:empty{display:none}
.tt-budget-field{min-width:0;margin:0;padding:0;border:0}
.tt-budget-options{display:flex;flex-wrap:wrap;gap:8px}
.tt-budget-chip{position:relative;cursor:pointer}
.tt-budget-chip input{position:absolute;width:1px;height:1px;opacity:0}
.tt-budget-chip span{display:block;min-height:42px;padding:10px 13px;border:1px solid var(--tc-line);border-radius:10px;background:var(--tc-field);color:var(--tc-muted);font-size:13px;font-weight:650;line-height:20px;transition:background .18s,border-color .18s,color .18s}
.tt-budget-chip:hover span{border-color:#8dbdff}
.tt-budget-chip input:checked+span{border-color:#006dfa;background:#e8f2ff;color:#005ccf}
.tt-budget-chip input:focus-visible+span{outline:none;box-shadow:0 7px 20px rgba(0,109,250,.16)}
.tt-inquiry-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:14px 20px;border:0;border-radius:12px;background:#006dfa;color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer;box-shadow:0 8px 20px rgba(0,109,250,.16);transition:background .2s,transform .2s,box-shadow .2s,opacity .2s}
.tt-inquiry-submit svg{width:20px;height:20px}
.tt-inquiry-submit:hover:not(:disabled){background:#005ed9;transform:translateY(-2px);box-shadow:0 13px 27px rgba(0,109,250,.22)}
.tt-inquiry-submit:focus-visible{box-shadow:0 13px 27px rgba(0,109,250,.22)}
.tt-inquiry-submit:disabled{opacity:.6;cursor:wait}
.tt-inquiry-submit[aria-busy=true] svg{animation:tt-contact-pulse .9s ease infinite}
.tt-consult .tt-inquiry-privacy{display:flex;align-items:center;justify-content:center;gap:7px;margin:-7px 0 0;color:var(--tc-muted);font-size:12px;line-height:1.5;text-align:center}
.tt-inquiry-privacy svg{flex:0 0 14px;width:14px;height:14px}
.tt-inquiry-status{color:var(--tc-error);font-size:14px;line-height:1.5}
.tt-inquiry-status:empty{display:none}
.tt-inquiry-status.is-success{color:var(--tc-success)}
.tt-form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tt-consult.is-entering .tt-consult-shell{animation:tt-contact-enter .5s ease both}
@keyframes tt-contact-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes tt-contact-pulse{50%{opacity:.3}}
html[data-theme=dark] .tt-consult{--tc-text:var(--tt-text,#f2f5f9);--tc-muted:var(--tt-subtle,#a8b0bd);--tc-line:#343d49;--tc-field:#232a33;--tc-surface:var(--tt-surface,#1b2028);--tc-focus:#78adff;--tc-error:#ffb3b3;--tc-success:#9de6c2;background:var(--tt-page,#101318)}
html[data-theme=dark] .tt-consult-shell{color-scheme:dark}
html[data-theme=dark] .tt-consult-badge{border-color:#529aff;color:#9cc4ff}
html[data-theme=dark] .tt-consult-team,html[data-theme=dark] .tt-consult-form-card{box-shadow:0 18px 42px rgba(0,0,0,.13)}
html[data-theme=dark] .tt-consult-avatar{background:#203b60;color:#9cc4ff}
html[data-theme=dark] .tt-budget-chip input:checked+span{background:#193b65;color:#a9d0ff}
html[data-theme=dark] .tt-consult input::placeholder,html[data-theme=dark] .tt-consult textarea::placeholder{color:#8595aa}
@media(max-width:1100px){.tt-consult-shell{gap:36px}.tt-consult-form-card{padding:30px}.tt-form-pair{grid-template-columns:1fr}.tt-consult h2{font-size:clamp(42px,5vw,58px)}}
@media(max-width:800px){.tt-consult{padding:76px 24px 88px}.tt-consult-shell{grid-template-columns:1fr;gap:34px;padding-top:44px}.tt-consult-intro{padding:0}.tt-consult h2{max-width:620px}.tt-consult-lede,.tt-consult-team{max-width:100%}.tt-consult-benefits{margin:28px 0 32px}.tt-form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tt-consult{padding:64px 20px 74px}.tt-consult-shell{gap:28px;padding-top:34px}.tt-consult h2{margin:24px 0 18px;font-size:clamp(41px,10vw,54px)}.tt-consult-lede{font-size:16px}.tt-consult-benefits li{font-size:15px}.tt-consult-team{padding:20px}.tt-consult-form-card{padding:26px 20px;border-radius:18px}.tt-consult-form-heading h3{font-size:27px}.tt-form-pair{grid-template-columns:1fr}.tt-consult input:not([type=radio]):not([type=hidden]),.tt-consult select,.tt-consult textarea{font-size:16px}.tt-phone-group{grid-template-columns:108px minmax(0,1fr)}.tt-phone-group select{padding-left:9px;padding-right:19px;font-size:13px}.tt-budget-chip span{padding:9px 11px;font-size:12px}.tt-consult-badge{font-size:13px}}
@media(prefers-reduced-motion:reduce){.tt-consult *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Match the Contact page's clean underline fields in the homepage inquiry form. */
.tt-consult .tt-inquiry-form{gap:14px}
.tt-consult .tt-inquiry-form :is(input:not([type=radio]):not([type=hidden]),select,textarea){min-height:54px;padding:14px 12px 12px;border:0;border-bottom:1px solid var(--tc-line);border-radius:0;background:transparent;box-shadow:none;color:var(--tc-text)}
.tt-consult .tt-inquiry-form textarea{min-height:100px}
.tt-consult .tt-inquiry-form .tt-form-field :is(input,select,textarea):focus-visible{outline:none!important;border:0!important;border-bottom:2px solid #006dfa!important;box-shadow:none!important}
.tt-consult .tt-inquiry-form .tt-form-field [aria-invalid=true]{border:0!important;border-bottom:2px solid var(--tc-error)!important;box-shadow:none!important}
html[data-theme=dark] .tt-consult .tt-inquiry-form :is(input:not([type=radio]):not([type=hidden]),select,textarea){color-scheme:dark}
@media(max-width:560px){.tt-consult .tt-inquiry-form{gap:12px}}
/* Keep accessible field names while removing visible labels from the CTA form. */
.tt-consult .tt-inquiry-form .tt-form-field>label,
.tt-consult .tt-inquiry-form .tt-budget-field>legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Service and budget share a row; each remains full width on narrow screens. */
.tt-consult .tt-form-pair-selects{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.tt-consult .tt-form-pair-selects{grid-template-columns:1fr}}
/* Space the team contact card after the introduction copy. */
.tt-consult .tt-consult-team{margin-top:38px}
@media(max-width:800px){.tt-consult .tt-consult-team{margin-top:30px}}
/* WordPress can insert empty paragraphs and breaks inside shortcode markup. */
.tt-consult .tt-consult-form-card p:empty,.tt-consult .tt-inquiry-form>br{display:none!important}
.tt-consult .tt-inquiry-form>p:not(.tt-inquiry-privacy){margin:0;padding:0}
/* Home CTA background stays inside a centered panel. */
body.home .tt-consult{--tc-contour:rgba(92,121,158,.07);position:relative;overflow:hidden;isolation:isolate;background:var(--tt-page)}
body.home .tt-consult::before,body.home .tt-consult::after{content:"";position:absolute;z-index:0;top:40px;bottom:40px;left:50%;width:min(1480px,calc(100% - 32px));transform:translateX(-50%);border-radius:30px;pointer-events:none}
body.home .tt-consult::before{background:radial-gradient(ellipse at 88% 18%,rgba(255,218,183,.58),transparent 48%),linear-gradient(108deg,#f2eaff 0%,#f9e8f2 48%,#ffe8d7 100%)}
body.home .tt-consult::after{background-image:repeating-radial-gradient(circle at 100% 0%,transparent 0 15px,var(--tc-contour) 16px 17px,transparent 18px 30px),repeating-radial-gradient(circle at 0% 100%,transparent 0 15px,var(--tc-contour) 16px 17px,transparent 18px 30px);background-size:clamp(280px,42vw,560px) clamp(280px,42vw,560px);background-position:right top,left bottom;background-repeat:no-repeat;opacity:.6}
body.home .tt-consult-shell{position:relative;z-index:1}
html[data-theme=dark] body.home .tt-consult{--tc-contour:rgba(145,173,214,.08);background:var(--tt-page)}
html[data-theme=dark] body.home .tt-consult::before{background:radial-gradient(ellipse at 82% 16%,rgba(0,109,250,.065),transparent 56%),linear-gradient(135deg,#131c28,#0f1721)}
@media(max-width:560px){body.home .tt-consult::before,body.home .tt-consult::after{top:24px;bottom:24px;border-radius:22px}}
.tt-inquiry-privacy a{color:#006dfa;text-decoration:underline;text-underline-offset:2px}

.tt-consult .tt-inquiry-status.is-success a { display: inline-block; margin-left: 8px; color: inherit; font-weight: 700; text-decoration: underline; }
