/* Contact page only. Header, footer and other pages are outside this scope. */
.th-contact-page { --ct-width:calc(100% - 160px); --ct-top:120px; --ct-nav-gap:30px; --ct-y:38px; --ct-x:38px; font-family:Inter,"Helvetica Neue",Arial,sans-serif; font-size:clamp(16px,1.05vw,18px); line-height:1.7; color:#171918; }
.th-contact-page,.th-contact-page *,.th-contact-page *::before,.th-contact-page *::after { box-sizing:border-box; }
.th-contact-page .th-ct-shell { display:grid; width:var(--ct-shell-width,var(--ct-width)); max-width:100%; margin:0 auto; gap:30px; padding:max(var(--ct-top),calc(var(--ct-nav-height,0px) + var(--ct-nav-gap))) 0 36px; }
.th-contact-page .th-ct-shell > section { min-width:0; margin:0; padding:var(--ct-y) var(--ct-x); }
.th-contact-page :is(.th-ct-hero,.th-ct-direct,.th-ct-starts,.th-ct-next,.th-ct-help) :is(h1,h2,h3,p) { margin:0; }
.th-contact-page :is(.th-ct-hero,.th-ct-direct,.th-ct-starts,.th-ct-next,.th-ct-help) :is(h1,h2,h3) { font-family:inherit; font-weight:600; color:#171918; letter-spacing:-.04em; line-height:1.15; text-wrap:balance; }
.th-contact-page h1 { font-size:clamp(50px,5.2vw,84px); }
.th-contact-page h2 { font-size:clamp(32px,2.9vw,48px); }
.th-contact-page h3 { font-size:clamp(23px,1.8vw,29px); }
.th-contact-page :is(h1,h2) em { font-family:Georgia,serif; color:#ac8d56; font-weight:400; }
.th-contact-page p { font-size:inherit; line-height:1.7; color:#647184; }
.th-contact-page .th-ct-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:22px !important; color:#886935; font-size:12px; font-weight:600; letter-spacing:.1em; line-height:1.6; }
.th-contact-page .th-ct-eyebrow > span { width:7px; height:7px; border-radius:50%; flex-shrink:0; background:currentColor; }
.th-contact-page .th-ct-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:50px; padding:14px 24px; background:#192630; color:#fff; border:1px solid transparent; border-radius:999px; font-size:15px; font-weight:600; line-height:1.5; }
.th-contact-page .th-ct-button > span { color:#e4bd7c; font-size:22px; }
.th-contact-page .th-ct-button:hover { background:#2b4354; }
.th-contact-page .th-ct-link { display:inline-flex; align-items:center; gap:15px; color:#171918; font-size:15px; font-weight:600; line-height:1.6; }
.th-contact-page .th-ct-link > span { color:#886935; font-size:22px; }
.th-contact-page .th-ct-link:hover { text-decoration:underline; text-underline-offset:4px; }
.th-contact-page :is(a,button,input,textarea):focus-visible { outline:3px solid #ac8d56; outline-offset:4px; }
.th-contact-page [id] { scroll-margin-top:140px; }
.th-contact-page .th-ct-shell > .th-ct-hero { padding:20px 0 28px; }
.th-contact-page .th-ct-hero-top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px 24px; padding-bottom:22px; border-bottom:1px solid #cfc6b7; color:#647184; font-size:11px; letter-spacing:.09em; }
.th-contact-page .th-ct-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:65px; align-items:center; padding-top:38px; }
.th-contact-page .th-ct-hero h1 { margin-bottom:28px; }
.th-contact-page .th-ct-hero-grid > div > p:not(.th-ct-eyebrow) { max-width:670px; margin-bottom:28px; }
.th-contact-page .th-ct-hero-note { border-left:1px solid #cfc6b7; padding:12px 0 12px 40px; }
.th-contact-page .th-ct-hero-note > span { display:block; color:#886935; font-size:11px; letter-spacing:.08em; margin-bottom:24px; }
.th-contact-page .th-ct-hero-note h2 { font-size:clamp(30px,2.7vw,43px); margin-bottom:24px; }
.th-contact-page .th-ct-hero-note > div { display:flex; flex-wrap:wrap; gap:10px 20px; padding-top:20px; border-top:1px solid #cfc6b7; color:#886935; font-size:10px; letter-spacing:.06em; }
.th-contact-page .th-ct-direct { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; background:#192630; border-radius:24px; }
.th-contact-page .th-ct-direct :is(h2,.th-ct-link) { color:#fff; }
.th-contact-page .th-ct-direct h2 { margin-bottom:24px; }
.th-contact-page .th-ct-direct .th-ct-eyebrow { color:#e4bd7c; }
.th-contact-page .th-ct-direct p { color:#ced8df; }
.th-contact-page .th-ct-direct .th-ct-link { margin-top:26px; }
.th-contact-page .th-ct-contact-list > a { display:flex; align-items:center; gap:22px; padding:25px 0; border-top:1px solid #50606a; color:#fff; }
.th-contact-page .th-ct-contact-list > a:last-child { border-bottom:1px solid #50606a; }
.th-contact-page .th-ct-contact-list > a > div { flex:1; min-width:0; }
.th-contact-page .th-ct-contact-icon { display:grid; place-items:center; flex:0 0 47px; height:47px; border:1px solid #67737a; border-radius:50%; color:#e4bd7c; font-size:22px; }
.th-contact-page .th-ct-contact-list a > div > span { display:block; font-size:10px; letter-spacing:.1em; color:#e4bd7c; margin-bottom:10px; }
.th-contact-page .th-ct-contact-list strong { display:block; font-size:clamp(20px,1.8vw,28px); font-weight:500; line-height:1.4; overflow-wrap:anywhere; }
.th-contact-page .th-ct-contact-list p { font-size:14px; margin-top:10px; }
.th-contact-page .th-ct-contact-list b { font-size:24px; font-weight:400; color:#e4bd7c; }
.th-contact-page .th-ct-shell > .th-ct-starts { padding:28px 0; }
.th-contact-page .th-ct-section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }
.th-contact-page .th-ct-section-head > p { max-width:380px; }
.th-contact-page .th-ct-start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.th-contact-page .th-ct-start-grid > article { display:flex; flex-direction:column; min-width:0; padding:25px 0 0; border-top:2px solid #ac8d56; }
.th-contact-page .th-ct-start-grid article > span { font-size:11px; letter-spacing:.1em; color:#886935; margin-bottom:22px; }
.th-contact-page .th-ct-start-grid h3 { margin-bottom:20px; }
.th-contact-page .th-ct-start-grid p { margin-bottom:24px; }
.th-contact-page .th-ct-start-grid a { margin-top:auto; }
/* Keep the selected testimonial/team/form markup and its submission hooks. */
.th-contact-page .th-ct-shell > .th-ct-existing { padding:0 !important; }
.th-contact-page .th-ct-existing > .container-fluid { width:100%; max-width:100%; padding:0; }
.th-contact-page .th-ct-existing > .container-fluid > .row { --bs-gutter-x:30px; margin-top:0; margin-bottom:0; }
.th-contact-page .th-ct-existing-form > .container-fluid > .row > .col-xl-4 > div { padding:var(--ct-y) var(--ct-x) !important; }
.th-contact-page .th-ct-existing-form > .container-fluid > .row > .col-xl-8 > .cover-background { overflow:hidden; }
.th-contact-page .th-ct-existing-form .cover-background > .row > .col { padding:var(--ct-y) var(--ct-x) !important; min-width:0; }
.th-contact-page .th-ct-existing-form h4 { font-size:clamp(27px,2vw,36px); line-height:1.25; }
.th-contact-page .th-ct-existing-form .testimonials-style-13 h3 { font-size:clamp(23px,1.7vw,30px); line-height:1.4; }
.th-contact-page .th-ct-existing-form .th-ct-review-note { margin:0; color:#647184; font-size:11px; line-height:1.5; text-align:right; }
.th-contact-page .th-ct-existing-form .cover-background { background-position:center; background-size:cover; }
.th-contact-page .th-ct-existing-form .cover-background .w-370px { max-width:100%; }
.th-contact-page .th-ct-existing-form .cover-background .w-370px a { color:#192630; text-decoration:none; }
.th-contact-page .th-ct-existing-form .cover-background .w-370px a > span { color:#886935; }
.th-contact-page .th-ct-existing-form form :is(input:not([type="hidden"]),textarea) { font-family:inherit; font-size:16px; line-height:1.6; min-height:50px; }
.th-contact-page .th-ct-existing-form form textarea { min-height:145px; }
.th-contact-page .th-ct-existing-form form .form-group { margin-bottom:20px !important; }
.th-contact-page .th-ct-existing-form form .form-icon { pointer-events:none; }
.th-contact-page .th-ct-existing-form form .form-results { font-size:16px; }
.th-contact-page .th-ct-existing-form form button { min-height:50px; font-size:15px; }
.th-contact-page .th-ct-next { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px; border-radius:24px; background:#192630; }
.th-contact-page .th-ct-next :is(h2,h3,p) { color:#fff; }
.th-contact-page .th-ct-next .th-ct-eyebrow { color:#e4bd7c; }
.th-contact-page .th-ct-next h2 em { color:#e4bd7c; }
.th-contact-page .th-ct-next h2 { margin-bottom:25px; }
.th-contact-page .th-ct-next ol { list-style:none; padding:0; margin:0; }
.th-contact-page .th-ct-next li { display:flex; align-items:start; gap:20px; padding:20px 0; border-top:1px solid #50606a; }
.th-contact-page .th-ct-next li > span { flex:0 0 36px; min-width:36px; white-space:nowrap; font-size:12px; color:#e4bd7c; padding-top:5px; }
.th-contact-page .th-ct-next li h3 { font-size:24px; margin-bottom:13px; }
.th-contact-page .th-ct-next li p { color:#ced8df; }
.th-contact-page .th-ct-help { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; border:1px solid #ded8cc; border-radius:24px; background:#fff; }
.th-contact-page .th-ct-help h2 { margin-bottom:24px; }
.th-contact-page .th-ct-help > div:last-child > a { display:block; padding:23px 0; border-top:1px solid #ded8cc; color:#171918; }
.th-contact-page .th-ct-help strong { display:block; font-size:21px; font-weight:500; line-height:1.4; }
.th-contact-page .th-ct-help a > span { display:block; margin-top:8px; font-size:15px; color:#647184; }
@media screen and (max-width:1399px) { .th-contact-page { --ct-width:calc(100% - 120px); } }
@media screen and (max-width:1199px) { .th-contact-page { --ct-width:calc(100% - 60px); } }
@media screen and (min-width:1200px) and (max-width:1366px) and (max-height:700px) {
  .th-contact-page { --ct-width:min(calc(100vw - 136px),1130px); --ct-y:27px; --ct-x:28px; }
  .th-contact-page .th-ct-shell { gap:20px; }
  .th-contact-page h1 { font-size:59px; }
  .th-contact-page .th-ct-hero-grid { gap:40px; padding-top:28px; }
  .th-contact-page .th-ct-existing-form h4 { margin-bottom:14px !important; font-size:24px; line-height:1.2; }
  .th-contact-page .th-ct-existing-form > .container-fluid > .row { --bs-gutter-x:20px; }
  .th-contact-page .th-ct-existing-form > .container-fluid > .row > .col-xl-8 > .cover-background { min-height:405px; }
  .th-contact-page .th-ct-existing-form > .container-fluid > .row > .col-xl-4 > div > .align-self-start { margin-bottom:20px !important; }
  .th-contact-page .th-ct-existing-form .testimonials-style-13 h3 { font-size:22px; line-height:1.4; }
  .th-contact-page .th-ct-existing-form .th-ct-review-note { max-width:180px; font-size:10px; }
  .th-contact-page .th-ct-existing-form form :is(input:not([type="hidden"]),textarea) { height:38px; min-height:38px; font-size:13px; line-height:1.4; }
  .th-contact-page .th-ct-existing-form form textarea { height:66px !important; min-height:66px !important; }
  .th-contact-page .th-ct-existing-form form .form-group { margin-bottom:8px !important; }
  .th-contact-page .th-ct-existing-form form .form-textarea { margin-bottom:12px !important; }
  .th-contact-page .th-ct-existing-form form button { height:40px; min-height:40px; padding:8px 14px; }
  .th-contact-page .th-ct-existing-form form .col-12.text-center { margin-bottom:12px !important; }
  .th-contact-page .th-ct-existing-form form p.fs-14 { font-size:11px !important; line-height:1.4 !important; }
  .th-contact-page .th-ct-existing-form .cover-background > .row > .col { padding:20px !important; }
  .th-contact-page .th-ct-existing-form .cover-background .w-370px { width:min(100%,320px); }
  .th-contact-page .th-ct-existing-form .cover-background .w-370px a { font-size:15px; }
  .th-contact-page .th-ct-next,.th-contact-page .th-ct-help { gap:32px; }
  .th-contact-page .th-ct-next h2,.th-contact-page .th-ct-help h2 { font-size:34px; margin-bottom:14px; }
  .th-contact-page .th-ct-next > div:first-child > p:last-child,.th-contact-page .th-ct-help > div:first-child > p:last-child { font-size:14px; line-height:1.5; }
  .th-contact-page .th-ct-next li { gap:15px; padding:13px 0; }
  .th-contact-page .th-ct-next li > span { flex-basis:34px; min-width:34px; }
  .th-contact-page .th-ct-next li h3 { font-size:20px; margin-bottom:7px; }
  .th-contact-page .th-ct-next li p { font-size:14px; line-height:1.5; }
  .th-contact-page .th-ct-help > div:last-child > a { padding:14px 0; }
  .th-contact-page .th-ct-help strong { font-size:18px; }
  .th-contact-page .th-ct-help a > span { font-size:13px; margin-top:5px; }
}
@media screen and (max-width:991px) {
  .th-contact-page { --ct-width:calc(100% - 40px); --ct-top:140px; --ct-y:32px; --ct-x:30px; }
  .th-contact-page .th-ct-hero-grid { gap:30px; }
  .th-contact-page :is(.th-ct-direct,.th-ct-next,.th-ct-help) { grid-template-columns:minmax(0,1fr); gap:32px; }
  .th-contact-page .th-ct-section-head { flex-direction:column; align-items:start; gap:22px; }
  .th-contact-page .th-ct-section-head > p { max-width:600px; }
  .th-contact-page .th-ct-existing-form .cover-background > .row > .col { min-height:0; }
  .th-contact-page .th-ct-existing-form .swiper { min-height:220px; }
}
@media screen and (max-width:767px) {
  .th-contact-page { --ct-width:calc(100% - 28px); --ct-top:150px; --ct-nav-gap:55px; --ct-y:30px; --ct-x:22px; font-size:16px; }
  .th-contact-page h1 { font-size:clamp(40px,10.5vw,58px); }
  .th-contact-page h2 { font-size:clamp(30px,8vw,38px); }
  .th-contact-page .th-ct-eyebrow { font-size:11px; }
  .th-contact-page .th-ct-hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .th-contact-page .th-ct-hero-note { border-left:0; border-top:1px solid #cfc6b7; padding:25px 0 0; }
  .th-contact-page .th-ct-hero-note h2 { font-size:30px; }
  .th-contact-page .th-ct-contact-list > a { gap:14px; }
  .th-contact-page .th-ct-contact-icon { flex-basis:36px; height:36px; font-size:18px; }
  .th-contact-page .th-ct-contact-list strong { font-size:20px; }
  .th-contact-page .th-ct-contact-list b { display:none; }
  .th-contact-page .th-ct-start-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .th-contact-page .th-ct-existing-form h4 { font-size:27px; }
  .th-contact-page .th-ct-existing-form .testimonials-style-13 h3 { font-size:24px; }
  .th-contact-page .th-ct-existing-form .cover-background .w-370px { max-width:100%; }
  .th-contact-page .th-ct-existing-form .cover-background .w-370px img { max-width:40%; height:auto; }
  .th-contact-page .th-ct-existing-form .cover-background .w-370px a { font-size:18px; }
}
