/* RADTL — Contact page (2026 refresh). Self-contained, no Tailwind dependency. */
.ct{--navy:#0b1b33;--navy-2:#132a4a;--blue:#2563eb;--blue-d:#1d4ed8;--gold:#c8a45c;--ink:#0f172a;--muted:#64748b;--line:#e6ebf2;--bg:#f6f8fb;font-family:inherit;color:var(--ink)}
.ct *{box-sizing:border-box}
.ct-wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* HERO */
.ct-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 15% -10%,#1e3a8a 0%,transparent 60%),linear-gradient(135deg,var(--navy) 0%,#0d203b 55%,#091628 100%);padding:120px 0 150px;color:#fff}
.ct-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 50% 20%,#000,transparent 75%);opacity:.5}
.ct-hero-inner{position:relative;z-index:2;max-width:820px}
.ct-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(200,164,92,.14);border:1px solid rgba(200,164,92,.45);color:#e7cd97;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ct-hero h1{font-size:clamp(34px,5.2vw,60px);line-height:1.05;margin:18px 0 14px;font-weight:800;letter-spacing:-.02em}
.ct-hero h1 em{font-style:normal;color:var(--gold)}
.ct-hero p{color:#c8d6ea;font-size:clamp(15px,1.6vw,19px);line-height:1.7;max-width:620px;margin:0}
.ct-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ct-chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;transition:.25s;border:1px solid rgba(255,255,255,.16);color:#fff;background:rgba(255,255,255,.07)}
.ct-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.ct-chip.is-primary{background:var(--blue);border-color:var(--blue)}
.ct-chip.is-primary:hover{background:var(--blue-d)}
.ct-chip.is-wa{background:#22a34a;border-color:#22a34a}
.ct-chip.is-wa:hover{background:#1c8b3f}

/* CARD DECK */
.ct-deck{background:var(--bg);padding:0 0 80px}
.ct-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:-88px;position:relative;z-index:3}
@media(min-width:760px){.ct-grid{grid-template-columns:repeat(3,1fr)}}
.ct-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 40px -28px rgba(11,27,51,.45);transition:.3s}
.ct-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(11,27,51,.5);border-color:#d5e0f0}
.ct-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--blue),#0ea5e9);margin-bottom:16px}
.ct-ico.g{background:linear-gradient(135deg,#16a34a,#4ade80)}
.ct-ico.v{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.ct-card h3{margin:0 0 6px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.ct-card p{margin:0 0 10px;color:var(--muted);font-size:14px;line-height:1.65}
.ct-card a.ct-link{display:block;color:var(--blue);font-weight:700;font-size:14.5px;text-decoration:none}
.ct-card a.ct-link:hover{color:var(--blue-d)}
.ct-meta{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:12px;font-weight:700;color:#15803d;background:#ecfdf3;border:1px solid #c7ecd4;padding:5px 10px;border-radius:999px}
.ct-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:ctPulse 2s infinite}
@keyframes ctPulse{70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* MAIN SPLIT */
.ct-split{display:grid;grid-template-columns:1fr;gap:28px;margin-top:56px}
@media(min-width:1000px){.ct-split{grid-template-columns:1.35fr .95fr}}
.ct-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 20px 50px -34px rgba(11,27,51,.5)}
.ct-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--gold)}
.ct-panel h2{margin:10px 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.02em}
.ct-panel .ct-sub{color:var(--muted);font-size:15px;margin:0 0 26px;line-height:1.65}
.ct-fields{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:620px){.ct-fields.two{grid-template-columns:1fr 1fr}}
.ct-field label{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:7px}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:13px 15px;border:1px solid #dbe3ee;border-radius:12px;font-size:15px;color:var(--ink);background:#fbfcfe;outline:none;transition:.2s;font-family:inherit}
.ct-field textarea{resize:vertical;min-height:140px}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.ct-hp{position:absolute!important;left:-9999px!important}
.ct-submit{margin-top:22px;width:100%;border:0;cursor:pointer;padding:16px 22px;border-radius:14px;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue),#1e40af);box-shadow:0 16px 30px -16px rgba(37,99,235,.85);display:flex;align-items:center;justify-content:center;gap:10px;transition:.25s}
.ct-submit:hover{transform:translateY(-2px);box-shadow:0 22px 36px -16px rgba(37,99,235,.9)}
.ct-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}
.ct-note{margin-top:14px;font-size:12.5px;color:var(--muted);text-align:center}

/* SIDE PANEL */
.ct-side{display:flex;flex-direction:column;gap:24px}
.ct-hours{list-style:none;margin:0;padding:0}
.ct-hours li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #e8edf5;font-size:14px;color:#475569}
.ct-hours li:last-child{border-bottom:0}
.ct-hours b{color:var(--ink)}
.ct-people{display:grid;gap:14px}
.ct-person{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;transition:.25s}
.ct-person:hover{background:#fff;border-color:#cddcf3;transform:translateX(3px)}
.ct-av{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--navy),#24406b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:0 0 auto}
.ct-person span{display:block}
.ct-person .n{font-weight:700;font-size:14.5px}
.ct-person .e{font-size:13px;color:var(--muted);word-break:break-all}
.ct-person a{text-decoration:none;color:inherit}

/* MAP */
.ct-mapwrap{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);padding:80px 0 90px}
.ct-head{text-align:center;max-width:680px;margin:0 auto 38px}
.ct-head h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin:10px 0 10px}
.ct-head p{color:var(--muted);margin:0;line-height:1.7}
.ct-map{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 70px -40px rgba(11,27,51,.6);min-height:460px;background:#dfe6ef}
.ct-map iframe{width:100%;height:520px;border:0;display:block;filter:grayscale(35%) contrast(1.04) saturate(.85)}
.ct-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);z-index:4;pointer-events:none;text-align:center}

@keyframes ctFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ct-pin .ring{position:absolute;left:50%;bottom:-10px;width:26px;height:12px;border-radius:50%;background:rgba(37,99,235,.35);transform:translateX(-50%);animation:ctRing 3s ease-in-out infinite}
@keyframes ctRing{0%,100%{opacity:.8;width:26px}50%{opacity:.35;width:40px}}
.ct-mapcard{position:absolute;z-index:5;left:22px;bottom:22px;right:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:18px;padding:22px;box-shadow:0 22px 50px -28px rgba(11,27,51,.6)}
@media(min-width:860px){.ct-mapcard{right:auto;max-width:380px;left:28px;bottom:28px}}
.ct-mapcard h3{margin:0 0 8px;font-size:18px;font-weight:800}
.ct-mapcard p{margin:0 0 16px;font-size:13.5px;color:var(--muted);line-height:1.65}
.ct-mapbtns{display:flex;flex-wrap:wrap;gap:10px}
.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:11px;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:.25s}
.ct-btn.solid{background:var(--blue);color:#fff}
.ct-btn.solid:hover{background:var(--blue-d);transform:translateY(-2px)}
.ct-btn.ghost{background:#f1f5fb;color:var(--navy);border:1px solid var(--line)}
.ct-btn.ghost:hover{background:#e7eefb;transform:translateY(-2px)}

/* FAQ */
.ct-faq{background:#fff;padding:80px 0}
.ct-acc{max-width:820px;margin:0 auto;display:grid;gap:14px}
.ct-acc details{border:1px solid var(--line);border-radius:16px;background:#fbfcfe;padding:20px 22px;transition:.25s}
.ct-acc details[open]{background:#fff;border-color:#cddcf3;box-shadow:0 18px 40px -32px rgba(11,27,51,.6)}
.ct-acc summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-weight:700;font-size:15.5px;list-style:none}
.ct-acc summary::-webkit-details-marker{display:none}
.ct-acc summary i{color:var(--blue);transition:transform .3s}
.ct-acc details[open] summary i{transform:rotate(180deg)}
.ct-acc p{margin:14px 0 0;color:var(--muted);font-size:14.5px;line-height:1.75}

/* CTA STRIP */
.ct-strip{background:linear-gradient(120deg,var(--navy) 0%,#16305a 60%,#0b1b33 100%);color:#fff;padding:62px 0}
.ct-strip .ct-wrap{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
@media(min-width:880px){.ct-strip .ct-wrap{flex-direction:row;align-items:center;justify-content:space-between}}
.ct-strip h2{margin:0 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.02em}
.ct-strip p{margin:0;color:#bccbe0;font-size:15px}
.ct-strip .ct-chips{margin:0}

/* Heading color overrides (mirror stylesheet sets a blue h1-h3) */
.ct h1,.ct h2,.ct h3,.ct h4{color:var(--ink);font-family:inherit}
.ct-hero h1{color:#fff}
.ct-hero h1 em{color:var(--gold)}
.ct-strip h2{color:#fff}
.ct-mapcard h3,.ct-card h3,.ct-panel h2,.ct-head h2{color:var(--ink)}

/* --- refinements --- */
.ct-crumb{font-size:12.5px;letter-spacing:.06em;color:#9fb4d0;margin-bottom:14px}
.ct-crumb a{color:#c8d6ea;text-decoration:none}
.ct-crumb a:hover{color:#fff}
.ct-crumb b{color:var(--gold);font-weight:700}
.ct-crumb span{margin:0 6px;opacity:.6}
.ct-hero h1{font-size:clamp(38px,6vw,68px);text-transform:none}
.ct-lead{margin-top:6px!important}

/* Static logo marker — no motion */
.ct-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);z-index:4;pointer-events:none;display:flex;flex-direction:column;align-items:center}
.ct-pin-badge{width:58px;height:58px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 12px 26px -10px rgba(11,27,51,.6);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ct-pin-badge img{width:36px;height:auto;display:block}
.ct-pin-label{order:-1;margin-bottom:8px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 22px -12px rgba(11,27,51,.8)}
.ct-pin-stem{width:3px;height:16px;background:var(--blue);border-radius:2px;margin-top:-2px}
.ct-pin-stem:after{content:"";display:block;width:14px;height:5px;border-radius:50%;background:rgba(11,27,51,.25);transform:translate(-5.5px,14px)}

/* Map bar below the map (no overlay on the map) */
.ct-map iframe{height:480px}
.ct-mapbar{margin-top:18px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:18px;padding:22px 24px;box-shadow:0 20px 46px -34px rgba(11,27,51,.6);display:flex;flex-direction:column;gap:16px}
@media(min-width:820px){.ct-mapbar{flex-direction:row;align-items:center;justify-content:space-between}}
.ct-mapbar h3{margin:0 0 6px;font-size:18px;font-weight:800}
.ct-mapbar p{margin:0;font-size:14px;color:var(--muted)}

.ct-list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.ct-list li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:#475569;line-height:1.55}
.ct-list i{margin-top:3px;width:20px;height:20px;flex:0 0 auto;border-radius:50%;background:#ecfdf3;color:#15803d;display:flex;align-items:center;justify-content:center;font-size:10px}
