/* Contact page styles. */
.contact-page .mainnav a[aria-current], .contact-page .mobile-menu a[aria-current], .contact-page .eyebrow { background:var(--sky); color:var(--teal); }
.ct-opening { padding-top:64px; padding-bottom:56px; }
.ct-opening-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:88px; align-items:center; margin-top:28px; }
.ct-opening h1 { font-size:clamp(46px,5.3vw,76px); line-height:1.04; letter-spacing:-.03em; }
.ct-layout { display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, .85fr); gap:64px; align-items:start; }
.ct-panel { background:var(--cloud); border-radius:32px; padding:36px; }
.ct-panel [hidden], .ct-key [hidden] { display:none !important; }
.ct-proof { font-size:15px; line-height:1.55; color:var(--teal); margin-bottom:28px; }
.ct-proof b { display:block; }
.ct-panel fieldset { min-width:0; border:0; padding:0; margin:0; }
.ct-type legend { padding:0; font-size:23px; font-weight:600; color:var(--teal); line-height:1.3; margin-bottom:16px; }
.ct-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ct-choices label { display:flex; gap:9px; align-items:center; background:var(--white); border:1px solid #6E8D95; border-radius:16px; padding:14px 12px; cursor:pointer; font-size:15px; line-height:1.35; }
.ct-choices label:has(:checked) { background:var(--sky); border:2px solid var(--teal); padding:13px 11px; }
.ct-choices input { flex:none; width:18px; height:18px; margin:0; accent-color:var(--teal); }
.ct-required { font-size:14px; color:var(--slate); margin:24px 0 16px; }
.ct-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
.ct-field { min-width:0; }
.ct-field label { display:block; font-size:16px; line-height:1.5; font-weight:600; margin-bottom:8px; color:var(--teal); }
.ct-field label span { color:var(--slate); font-weight:400; }
.ct-field input, .ct-field textarea { width:100%; min-height:52px; border:1px solid #6E8D95; border-radius:12px; background:var(--white); color:var(--graphite); padding:12px 14px; font:400 16px/1.5 var(--font); }
.ct-field textarea { resize:vertical; min-height:144px; display:block; }
.ct-field [aria-invalid=true] { border:2px solid #8C3028; padding:11px 13px; }
.ct-hint, .ct-small { font-size:14px; line-height:1.55; color:var(--slate); }
.ct-field .ct-hint { margin:6px 0 0; }
.ct-message { grid-column:1/-1; }
.ct-message .ct-hint { margin:0 0 12px; }
.ct-error { font-size:14px; line-height:1.5; color:#8C3028; margin-top:8px; }
.ct-action { margin-top:28px; display:flex; align-items:center; gap:20px; }
.ct-action .btn { flex:none; font-size:16px; }
.ct-handling { border-top:1px solid #BBCFD2; padding-top:24px; margin-top:28px; font-size:15px; line-height:1.55; }
.ct-handling > p + p { margin-top:12px; }
.ct-alert { border:1px solid #8C3028; border-left-width:4px; padding:18px; border-radius:12px; background:#FFF8F4; margin-bottom:24px; }
.ct-alert h2 { font-size:20px; line-height:1.3; color:#8C3028; }
.ct-alert p, .ct-alert ul { font-size:15px; line-height:1.5; margin:10px 0 0; }
.ct-alert ul { padding-left:20px; }
.ct-alert a { color:#8C3028; }
.ct-notice { margin-bottom:24px; font-size:15px; padding:16px; background:var(--sky); border-radius:12px; }
.ct-receipt { width:100%; min-width:0; padding:12px 0 20px; display:grid; gap:24px; }
.ct-receipt h2 { font-size:clamp(30px,3.4vw,44px); line-height:1.18; margin:0; max-width:none; text-wrap:balance; }
.ct-receipt .actions { margin-top:8px; gap:16px; }
.ct-receipt a { overflow-wrap:anywhere; }
.ct-layout:has(.ct-receipt:not([hidden])) { grid-template-columns:minmax(0,1fr); gap:40px; }
.ct-layout:has(.ct-receipt:not([hidden])) .ct-aside { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.ct-layout:has(.ct-receipt:not([hidden])) .ct-aside > div { padding:24px 0 0; border-top:1px solid var(--line); }
.ct-receipt > p:not(.ct-small) { font-size:18px; line-height:1.65; max-width:64ch; }
.ct-receipt dl { margin:24px 0; }
.ct-receipt dt { font-size:14px; color:var(--slate); margin-top:16px; }
.ct-receipt dd { margin:4px 0 0; font-size:17px; white-space:pre-wrap; overflow-wrap:anywhere; }
.ct-aside > div { padding:24px 0; border-top:1px solid var(--line); }
.ct-aside > div:first-child { padding-top:0; border:0; }
.ct-aside h2 { font-size:23px; line-height:1.3; }
.ct-aside p { font-size:16px; line-height:1.55; margin-top:14px; }
.ct-review { font-size:14px; line-height:1.55; margin-top:20px; color:var(--slate); }
.ct-review summary { cursor:pointer; padding:8px 0; }
.ct-review p { margin:8px 0 12px; }
.ct-review button { font:inherit; color:var(--teal); border:1px solid #6E8D95; border-radius:12px; background:var(--white); padding:10px 12px; cursor:pointer; min-height:44px; }
.contact-page .site-footer { margin-top:80px; }
.ct-key { max-width:760px; }
.ct-key .ct-panel { margin-top:24px; }
@media(max-width:1100px) { .ct-opening-grid { gap:48px; } .ct-layout { gap:32px; } .ct-panel { padding:28px; } }
@media(max-width:960px) { .ct-opening-grid, .ct-layout { grid-template-columns:minmax(0,1fr); gap:28px; } .ct-aside { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; } .ct-aside > div { border:0; padding:0; } }
@media(max-width:600px) {
 .ct-opening { padding-top:36px; padding-bottom:32px; }
 .ct-opening-grid { margin-top:22px; gap:24px; }
 .ct-opening h1 { font-size:46px; }
 .ct-panel { padding:24px 20px; border-radius:24px; }
 .ct-choices, .ct-fields-grid, .ct-aside, .ct-layout:has(.ct-receipt:not([hidden])) .ct-aside { grid-template-columns:minmax(0,1fr); }
 .ct-choices label { min-height:52px; }
 .ct-action { align-items:stretch; flex-direction:column; gap:12px; }
 .ct-action .btn { width:100%; }
 .ct-aside { gap:0; margin-top:12px; }
 .ct-aside > div { padding:24px 0; border-top:1px solid var(--line); }
 .ct-receipt h2 { font-size:30px; }
 .contact-page .site-footer { margin-top:40px; }
}

.ct-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ct-action button:disabled { opacity:.65; cursor:wait; }
