.ct-contact { --ct-soft:color-mix(in srgb,var(--brand) 5%,var(--card)); color:var(--text); }
.ct-contact *, .ct-contact *::before, .ct-contact *::after { box-sizing:border-box; }
.ct-contact [hidden] { display:none!important; }
.ct-contact h1,.ct-contact h2,.ct-contact h3 { text-align:left; letter-spacing:-.035em; }
.ct-contact h1 { font-size:clamp(2.25rem,4.8vw,3.2rem); line-height:1.1; margin:0 0 22px; }
.ct-contact h1 span { color:var(--brand-accent); }
.ct-contact h2 { margin:0 0 16px; font-size:clamp(1.45rem,2.4vw,1.8rem); line-height:1.22; }
.ct-contact p { color:var(--muted); line-height:1.65; }
.ct-contact a:focus-visible,.ct-contact button:focus-visible,.ct-contact input:focus-visible,.ct-contact textarea:focus-visible,.ct-contact summary:focus-visible { outline:3px solid var(--brand-accent); outline-offset:4px; }
.ct-contact a:hover { text-decoration:underline; text-underline-offset:4px; }
.ct-contact .btn:hover { text-decoration:none; }
.ct-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; margin:8px 3px 22px; color:var(--muted); font-size:.76rem; }
.ct-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.ct-intro { max-width:760px; padding:35px 0 38px; }
.ct-intro p { max-width:650px; font-size:1.04rem; margin:0; }
.ct-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(30px,6vw,70px); align-items:start; }
.ct-form-card { padding:34px; border:1px solid var(--stroke); border-radius:24px; background:var(--card); }
.ct-contact .ct-form-intro { margin-bottom:26px; font-size:.88rem; }
.ct-form-grid { display:grid; gap:22px; }
.ct-form-grid label { display:block; margin:0 0 9px; color:var(--text); font-size:.9rem; font-weight:650; }
.ct-form-grid label span { color:var(--muted); font-size:.81rem; font-weight:400; }
.ct-form-grid input,.ct-form-grid textarea { display:block; width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--stroke); border-radius:11px; background:var(--bg); color:var(--text); font:inherit; font-size:1rem; line-height:1.5; }
.ct-form-grid textarea { resize:vertical; min-height:144px; }
.ct-form-grid input:focus-visible,.ct-form-grid textarea:focus-visible { outline:2px solid var(--brand-accent); outline-offset:2px; }
.ct-contact .ct-field-hint { margin:8px 0 0; font-size:.76rem; line-height:1.55; }
.ct-form-footer { display:grid; gap:17px; justify-items:start; }
.ct-form-footer .btn { min-height:48px; padding:12px 25px; font-family:inherit; }
.ct-form-footer .btn:disabled { cursor:wait; opacity:.7; transform:none; }
.ct-form-footer p { font-size:.75rem; margin:0; max-width:380px; }
.ct-form-footer a { color:var(--brand-accent); text-decoration:underline; text-underline-offset:3px; }
.ct-status { margin:0 0 25px; padding:16px 18px; border:1px solid var(--brand-accent); border-radius:12px; background:var(--ct-soft); color:var(--text); font-size:.9rem; line-height:1.65; }
.ct-status:focus { outline:3px solid var(--brand-accent); outline-offset:4px; }
.ct-status[data-state=success] { border-left-width:4px; }
.ct-status[data-state=error] { border-left-width:4px; border-style:dashed; }
.ct-sidebar { padding-top:17px; }
.ct-sidebar h2 { font-size:1.25rem; line-height:1.3; }
.ct-sidebar p { font-size:.88rem; margin-bottom:22px; }
.ct-contact-method { display:flex; align-items:flex-start; gap:16px; margin:25px 0; }
.ct-contact-method svg { flex:none; color:var(--brand-accent); margin-top:3px; }
.ct-contact-method>div { min-width:0; }
.ct-contact-method h3 { margin:0 0 5px; font-size:.86rem; letter-spacing:0; font-weight:600; color:var(--muted); }
.ct-contact-method a { display:inline-block; color:var(--text); font-size:1rem; line-height:1.65; font-weight:650; overflow-wrap:anywhere; }
.ct-account-note { padding:23px; margin:31px 0; border-radius:17px; background:var(--ct-soft); border:1px solid var(--stroke); }
.ct-account-note h2 { font-size:1.06rem; }
.ct-account-note p { font-size:.82rem; margin-bottom:15px; }
.ct-text-link { display:inline-flex; align-items:center; gap:10px; min-height:36px; color:var(--brand-accent); font-size:.85rem; font-weight:650; }
.ct-location { padding:0 0 22px; }
.ct-location h2 { font-size:1.06rem; }
.ct-location address { font-style:normal; color:var(--muted); line-height:1.7; font-size:.86rem; margin-bottom:12px; }
.ct-explore { margin:65px 0; padding-top:31px; border-top:1px solid var(--stroke); }
.ct-explore h2 { font-size:1.5rem; margin-bottom:24px; }
.ct-explore-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.ct-explore-grid>a { display:flex; justify-content:space-between; gap:18px; padding:25px; background:var(--card); border:1px solid var(--stroke); border-radius:18px; }
.ct-explore-grid>a:hover { text-decoration:none; border-color:var(--brand-accent); }
.ct-explore-grid>a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.ct-explore-grid strong { display:block; margin:0 0 10px; font-size:1.02rem; letter-spacing:-.02em; }
.ct-explore-grid> a>span>span { display:block; font-size:.84rem; color:var(--muted); line-height:1.6; }
.ct-route-arrow { color:var(--brand-accent); font-size:1.15rem; }
.ct-faq { margin:60px 0; max-width:820px; }
.ct-faq .faq-grid { display:block; }
.ct-faq details { border:0; border-bottom:1px solid var(--stroke); border-radius:0; background:transparent; box-shadow:none; padding:0; }
.ct-faq details::before { display:none; }
.ct-faq summary { padding:20px 4px 20px 0; font-size:.95rem; line-height:1.6; }
.ct-faq .faq-content { padding:0 0 20px; font-size:.9rem; color:var(--muted); }
@media(max-width:800px) { .ct-layout { gap:30px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); } .ct-form-card { padding:27px; } .ct-explore-grid>a { padding:22px; gap:10px; } }
@media(max-width:680px) { .ct-intro { padding:24px 0 30px; } .ct-intro p { font-size:.96rem; } .ct-layout { grid-template-columns:1fr; gap:30px; } .ct-form-card { padding:27px 23px; border-radius:20px; } .ct-sidebar { padding:0 5px; } .ct-direct>p { max-width:450px; } .ct-account-note { margin:27px 0; } .ct-explore { margin:35px 0 50px; } .ct-explore-grid { grid-template-columns:1fr; gap:13px; } .ct-explore-grid>a { padding:23px; } .ct-explore-grid strong { margin-bottom:7px; } .ct-faq { margin:50px 0; } }
@media(max-width:380px) { .ct-form-card { padding:23px 19px; } .ct-form-footer,.ct-form-footer .btn { width:100%; } .ct-contact-method { gap:12px; } .ct-contact-method a { font-size:.94rem; } }
@media(prefers-reduced-motion:reduce) { .ct-contact * { scroll-behavior:auto!important; transition:none!important; } }
