/* Contact page */
.ct{max-width:1100px;margin:0 auto;padding:36px 20px 72px}
.ct-bc{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:24px;flex-wrap:wrap}
.ct-bc a{display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:28px;color:var(--wh-muted);text-decoration:none;font-weight:500}.ct-bc a:hover{color:var(--orange-text)}.ct-bc i{font-size:11px}
.ct-bc .s{color:var(--wh-ghost)}.ct-bc .c{color:var(--wh-text);font-weight:600}
.ct-top{margin-bottom:28px}
.ct-top h1{margin:0;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;color:var(--wh-brand-text);letter-spacing:-.035em;line-height:1.1}
.ct-top p{max-width:620px;margin:12px 0 0;font-size:15px;line-height:1.7;color:var(--wh-muted)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.ct-grid--single{grid-template-columns:minmax(0,720px)}
/* Cards */
.ct-fc,.ct-info,.ct-noform,.ct-map{background:var(--wh-surface);border:1px solid var(--wh-line);border-radius:var(--r-card,16px);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.ct-fc{padding:28px}
.ct-sec{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wh-muted)}
.ct-sec::after{content:'';flex:1;height:1px;background:var(--wh-surface-3)}
/* Form */
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.ct-f{margin-bottom:14px}
.ct-lbl{display:block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wh-muted)}
.ct-req{color:var(--tone-red-mid)}.ct-opt{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--wh-faint)}
.ct-in{display:block;width:100%;box-sizing:border-box;padding:11px 14px;border:1.5px solid var(--wh-line);border-radius:var(--r-ctl,10px);background:var(--wh-surface);font-family:inherit;font-size:14px;color:var(--wh-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.ct-in:focus{border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 12%,transparent)}
.ct-in::placeholder{color:var(--wh-faint)}
.ct-msg{min-height:140px;resize:vertical}
.ct-file{padding:9px 12px;font-size:13px;cursor:pointer}
.ct-count{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;color:var(--wh-faint)}
.ct-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;margin-top:8px;padding:14px;border:0;border-radius:var(--r-ctl,10px);background:var(--orange-bar);color:var(--on-orange-bar);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s,box-shadow .2s}
.ct-btn:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 6px 20px color-mix(in srgb,var(--orange) 30%,transparent)}
.ct-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
/* Side card: details, hours, social */
.ct-info{position:sticky;top:96px;padding:8px 24px}
.ct-block{padding:20px 0;border-bottom:1px solid var(--wh-line-soft)}.ct-block:last-child{border-bottom:0}
.ct-block .ct-sec{margin-bottom:14px}.ct-block .ct-sec::after{display:none}
.ct-list{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.ct-list li{display:flex;gap:12px;align-items:flex-start}
.ct-list small{display:block;margin-bottom:2px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wh-faint)}
.ct-list a{display:inline-block;padding-block:3px}.ct-list a,.ct-list span:not(.ct-iico){font-size:14px;font-weight:600;line-height:1.5;color:var(--wh-ink);text-decoration:none;overflow-wrap:anywhere}
.ct-list a:hover{color:var(--orange-text)}
.ct-iico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--r-ctl,10px);background:color-mix(in srgb,var(--orange) 10%,var(--wh-surface));color:var(--orange-text);font-size:13px}
.ct-hours{margin:0}
.ct-hours div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--wh-line);font-size:13.5px}.ct-hours div:last-child{border-bottom:0;padding-bottom:0}.ct-hours div:first-child{padding-top:0}
.ct-hours dt{color:var(--wh-muted)}.ct-hours dd{margin:0;font-weight:600;color:var(--wh-ink);text-align:end}
.ct-social{display:flex;flex-wrap:wrap;gap:8px}
.ct-si{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid var(--wh-line);border-radius:var(--r-ctl,10px);background:var(--wh-surface);color:var(--wh-text);font-size:15px;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s}
.ct-si:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);color:#fff}
.ct-si-fb:hover{background:#1877F2;border-color:#1877F2}.ct-si-ig:hover{background:#E4405F;border-color:#E4405F}.ct-si-x:hover,.ct-si-tt:hover{background:#000;border-color:#000}
.ct-si-li:hover{background:#0A66C2;border-color:#0A66C2}.ct-si-yt:hover{background:#F00;border-color:#F00}.ct-si-wa:hover{background:#25D366;border-color:#25D366}
/* Map */
.ct-map{margin-top:24px;overflow:hidden}
.ct-map-bar{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--wh-line-soft)}
.ct-map-addr{flex:1;min-width:0}.ct-map-addr small{display:block;margin-bottom:2px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--wh-faint)}.ct-map-addr span{display:block;font-size:14px;font-weight:600;color:var(--wh-ink);overflow-wrap:anywhere}
.ct-map-btn{display:inline-flex;flex:none;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--r-ctl,9px);background:var(--orange-bar);color:var(--on-orange-bar);font-size:13px;font-weight:700;text-decoration:none}.ct-map-btn:hover{opacity:.9}
.ct-map iframe{display:block;width:100%;height:340px;border:0}
/* Messages */
.ct-errs{margin-bottom:16px;padding:12px 16px;border:1.5px solid var(--tone-red-bg);border-radius:var(--r-ctl,10px);background:var(--tone-red-soft)}
.ct-err{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--tone-red-mid)}.ct-err+.ct-err{margin-top:5px}.ct-err i{flex:none}
.ct-ok{margin-bottom:16px;padding:22px;border:1.5px solid var(--tone-green-line);border-radius:var(--r-card,12px);background:var(--tone-green-soft);text-align:center}
.ct-ok i{display:block;margin-bottom:8px;font-size:28px;color:var(--tone-green-mid)}.ct-ok b{display:block;margin-bottom:4px;font-size:15px;font-weight:800;color:var(--tone-green-fg)}.ct-ok p{margin:0;font-size:13px;color:var(--tone-green-fg)}
/* Form switched off */
.ct-noform{padding:48px 28px;text-align:center}
.ct-noform i{display:block;margin-bottom:14px;font-size:36px;color:var(--orange-text)}
.ct-noform h2{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--wh-brand-text)}.ct-noform p{margin:0 0 20px;font-size:14px;line-height:1.7;color:var(--wh-muted)}
.ct-mail{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--r-ctl,10px);background:var(--orange-bar);color:var(--on-orange-bar);font-size:14px;font-weight:700;text-decoration:none}
/* Responsive */
@media(max-width:900px){.ct-info{position:static}.ct-grid,.ct-grid--single{grid-template-columns:minmax(0,1fr)}.ct{padding:24px 16px 60px}}
@media(max-width:560px){
    .ct-fc{padding:20px}.ct-row{grid-template-columns:1fr}.ct-info{padding:4px 18px}
    .ct-map-bar{flex-wrap:wrap}.ct-map-btn{width:100%;justify-content:center}.ct-map iframe{height:240px}
}
