/* Page styles for contact.php — shared tokens live in ../site.css */

/* ── Keyframes ── */
@keyframes ct-rise    { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes ct-rise-sm { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes ct-fade    { from{opacity:0} to{opacity:1} }
@keyframes ct-scan    { 0%{transform:translateY(-100%)} 100%{transform:translateY(100vh)} }
@keyframes ct-grid    { from{transform:translateY(0)} to{transform:translateY(60px)} }
@keyframes ct-breathe { 0%,100%{opacity:.35;transform:scale(1)} 50%{opacity:.8;transform:scale(1.08)} }
@keyframes ct-pulse   { 0%,100%{box-shadow:0 0 0 0 rgba(191,247,71,.5)} 50%{box-shadow:0 0 0 8px rgba(191,247,71,0)} }
@keyframes ct-pulse-sm{ 0%,100%{box-shadow:0 0 0 0 rgba(191,247,71,.5)} 50%{box-shadow:0 0 0 5px rgba(191,247,71,0)} }
@keyframes ct-glitch  {
    0%,88%,100%{transform:none;opacity:0}
    89%{transform:translateX(-4px);opacity:1}
    90%{transform:translateX(3px);opacity:1}
    91%{transform:none;opacity:0}
    93%{transform:translateX(-2px);opacity:1}
    94%{transform:none;opacity:0}
}
@keyframes ct-success-pop { 0%{opacity:0;transform:scale(.88) translateY(12px)} 100%{opacity:1;transform:scale(1) translateY(0)} }

/* ── Reveal ── */
.ct-reveal      { opacity:0; transform:translateY(14px); transition:opacity var(--dur-reveal) var(--ease-expo),transform var(--dur-reveal) var(--ease-expo); }
.ct-reveal.on   { opacity:1; transform:none; }
.ct-reveal-r    { opacity:0; transform:translateX(14px); transition:opacity var(--dur-reveal) var(--ease-expo),transform var(--dur-reveal) var(--ease-expo); }
.ct-reveal-r.on { opacity:1; transform:none; }
.ct-stagger > * { opacity:0; transform:translateY(20px); }
.ct-stagger.on > * { animation:ct-rise-sm .6s .5s var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(1){ animation:ct-rise-sm .7s 0s   var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(2){ animation:ct-rise-sm .7s .10s var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(3){ animation:ct-rise-sm .7s .20s var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(4){ animation:ct-rise-sm .7s .30s var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(5){ animation:ct-rise-sm .7s .40s var(--ease-expo) forwards; }
.ct-stagger.on > *:nth-child(6){ animation:ct-rise-sm .7s .50s var(--ease-expo) forwards; }

/* cursor glow */

/* ════════════════════════════════════════
   HERO
   ════════════════════════════════════════ */
.ct-hero {
    min-height:75vh; display:flex; align-items:center;
    background:#060606; position:relative; overflow:hidden;
    padding:140px 0 80px;
}
.ct-hero::before {
    content:''; position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(191,247,71,.02) 1px,transparent 1px),
        linear-gradient(90deg,rgba(191,247,71,.02) 1px,transparent 1px);
    background-size:60px 60px; animation:ct-grid 22s linear infinite;
}
.ct-hero::after {
    content:''; position:absolute; left:0; right:0; top:0; height:40px;
    background:linear-gradient(to bottom,transparent,rgba(191,247,71,.012),transparent);
    animation:ct-scan 9s linear infinite; pointer-events:none; z-index:1;
}
.ct-hero-glow {
    position:absolute; top:-80px; right:-80px;
    width:650px; height:650px;
    background:radial-gradient(ellipse,rgba(191,247,71,.055) 0%,transparent 65%);
    animation:ct-breathe 9s ease-in-out infinite; pointer-events:none;
}
.ct-hero-glow-2 {
    position:absolute; bottom:-100px; left:-60px;
    width:450px; height:450px;
    background:radial-gradient(ellipse,rgba(100,180,255,.03) 0%,transparent 65%);
    animation:ct-breathe 12s 2s ease-in-out infinite; pointer-events:none;
}
.ct-hero-content { position:relative; z-index:2; }
.ct-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    background:rgba(191,247,71,.06); border:1px solid rgba(191,247,71,.22);
    border-radius:8px; padding:9px 16px; margin-bottom:28px;
    font-family:'Bricolage Grotesque',sans-serif; font-size:12px; color:#BFF747;

}
.ct-eyebrow::before { content:'$ '; color:rgba(191,247,71,.4); font-family:monospace; font-size:14px; }
.ct-hero h1 {
    font-family:'Big Shoulders Display',sans-serif;
    font-size:clamp(50px,7vw,92px); font-weight:900; color:#fff;
    line-height:.95; margin:0 0 26px;

}
.ct-hero h1 em { font-style:normal; color:var(--accent); }
.ct-hero h1 .glitch { position:relative; display:inline-block; }
.ct-hero h1 .glitch::after {
    content:attr(data-t); position:absolute; left:3px; top:0;
    color:rgba(191,247,71,.28);
    clip-path:polygon(0 20%,100% 20%,100% 44%,0 44%);
    animation:ct-glitch 10s 2s infinite; pointer-events:none;
}
.ct-hero-sub {
    font-size:16px; color:#999; line-height:1.9; max-width:500px;

}
.ct-hero-sub strong { color:#ccc; font-weight:600; }

/* availability card */
.ct-avail-card {
    position:relative; z-index:2;
    background:rgba(191,247,71,.025);
    border:1.5px solid rgba(191,247,71,.18);
    border-radius:24px; padding:36px 30px;

    overflow:hidden;
}
.ct-avail-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
}
.ct-avail-label {
    font-size:9px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
    color:#BFF747; font-family:'Bricolage Grotesque',sans-serif;
    display:flex; align-items:center; gap:8px; margin-bottom:20px;
}
.ct-avail-label::after { content:''; flex:1; height:1px; background:rgba(191,247,71,.18); }
.ct-status-row {
    display:flex; align-items:center; gap:12px; margin-bottom:22px;
}
.ct-status-dot {
    width:10px; height:10px; border-radius:50%; background:#BFF747; flex-shrink:0;
    animation:ct-pulse 2.2s ease infinite;
}
.ct-status-text {
    font-family:'Big Shoulders Display',sans-serif;
    font-size:20px; font-weight:800; color:#fff;
}
.ct-avail-list { display:flex; flex-direction:column; gap:8px; margin-bottom:22px; }
.ct-avail-item {
    display:flex; align-items:center; gap:10px;
    background:rgba(193,193,193,.04); border:1px solid rgba(193,193,193,.1);
    border-radius:10px; padding:11px 14px;
    transition:border-color .3s,background .3s;
}
.ct-avail-item:hover { border-color:var(--accent-border); background:var(--accent-dim); }
.ct-avail-item i { color:#BFF747; font-size:12px; width:14px; text-align:center; flex-shrink:0; }
.ct-avail-item span { font-size:13px; color:#bbb; font-family:'Bricolage Grotesque',sans-serif; font-weight:500; }
.ct-response-time {
    display:flex; align-items:center; justify-content:space-between;
    background:rgba(191,247,71,.04); border:1px solid rgba(191,247,71,.14);
    border-radius:12px; padding:14px 16px;
}
.ct-response-time-left { font-size:12px; color:var(--text-dim); font-family:'Bricolage Grotesque',sans-serif; }
.ct-response-time-val {
    font-family:'Big Shoulders Display',sans-serif;
    font-size:18px; font-weight:800; color:#BFF747;
}

/* ════════════════════════════════════════
   MAIN CONTACT SECTION
   ════════════════════════════════════════ */
.ct-main { background:var(--surface); padding:100px 0; position:relative; overflow:hidden; }
.ct-main::before {
    content:''; position:absolute; inset:0;
    background:
        radial-gradient(ellipse 55% 45% at 85% 10%,rgba(191,247,71,.03) 0%,transparent 60%),
        radial-gradient(ellipse 40% 50% at 5%  90%,rgba(100,180,255,.02) 0%,transparent 60%);
    pointer-events:none;
}

.ct-sec-label {
    font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
    color:#BFF747; font-family:'Bricolage Grotesque',sans-serif;
    display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.ct-sec-label::after { content:''; flex:1; height:1px; background:rgba(191,247,71,.18); }

.ct-info-block {
    display:flex; align-items:flex-start; gap:16px;
    background:rgba(193,193,193,.03); border:1px solid rgba(193,193,193,.09);
    border-radius:16px; padding:22px 20px;
    transition:border-color .4s,background .4s,transform .5s var(--ease-expo);
    margin-bottom:12px;
}
.ct-info-block:hover { border-color:var(--accent-border); background:var(--accent-dim); transform:translateX(5px); }
.ct-info-icon {
    width:48px; height:48px; border-radius:13px;
    background:rgba(191,247,71,.08); border:1.5px solid rgba(191,247,71,.2);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:background .4s,transform .4s var(--ease-expo);
}
.ct-info-block:hover .ct-info-icon { background:rgba(191,247,71,.15); transform:scale(1.08); }
.ct-info-icon i { font-size:18px; color:#BFF747; }
.ct-info-key {
    font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    color:var(--text-dim); font-family:'Bricolage Grotesque',sans-serif; margin-bottom:5px;
}
.ct-info-val {
    font-family:'Big Shoulders Display',sans-serif;
    font-size:17px; font-weight:800; color:#fff; line-height:1.2;
}
.ct-info-val a { color:inherit; text-decoration:none; transition:color .3s; }
.ct-info-val a:hover { color:#BFF747; }
.ct-info-sub { font-size:12px; color:var(--text-dim); margin-top:3px; font-family:'Bricolage Grotesque',sans-serif; }

.ct-socials {
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px;
}
.ct-social {
    display:flex; align-items:center; gap:12px;
    background:rgba(193,193,193,.04); border:1px solid rgba(193,193,193,.1);
    border-radius:12px; padding:14px 16px; text-decoration:none;
    transition:border-color .3s,background .3s,transform .4s var(--ease-expo);
}
.ct-social:hover { border-color:var(--accent-border); background:var(--accent-dim); transform:translateY(-3px); }
.ct-social-icon {
    width:36px; height:36px; border-radius:9px;
    background:rgba(191,247,71,.08); border:1px solid rgba(191,247,71,.18);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ct-social-icon i { font-size:15px; color:#BFF747; }
.ct-social-name { font-size:13px; font-weight:700; color:#ccc; font-family:'Bricolage Grotesque',sans-serif; }
.ct-social-handle { font-size:11px; color:var(--text-dim); font-family:'Bricolage Grotesque',sans-serif; }

.ct-expect-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px;
}
.ct-expect-chip {
    background:rgba(191,247,71,.03); border:1px solid rgba(191,247,71,.12);
    border-radius:12px; padding:16px 14px;
    transition:background .3s,border-color .3s;
}
.ct-expect-chip:hover { background:rgba(191,247,71,.07); border-color:rgba(191,247,71,.28); }
.ct-expect-chip i { font-size:18px; color:#BFF747; margin-bottom:10px; display:block; }
.ct-expect-chip-title { font-family:'Big Shoulders Display',sans-serif; font-size:14px; font-weight:800; color:#fff; margin-bottom:4px; }
.ct-expect-chip-desc { font-size:11px; color:var(--text-dim); line-height:1.6; font-family:'Bricolage Grotesque',sans-serif; }

/* ════════════════════════════════════════
   CONTACT FORM CARD
   ════════════════════════════════════════ */
.ct-form-card {
    background:rgba(191,247,71,.025);
    border:1.5px solid rgba(191,247,71,.18);
    border-radius:24px; padding:44px 40px;
    position:relative; overflow:hidden;
    height:100%;
}
.ct-form-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
}
.ct-form-heading {
    font-family:'Big Shoulders Display',sans-serif;
    font-size:32px; font-weight:900; color:#fff; margin-bottom:6px; line-height:1.1;
}
.ct-form-heading span { color:var(--accent); }
.ct-form-sub { font-size:14px; color:var(--text-dim); margin-bottom:32px; line-height:1.7; font-family:'Bricolage Grotesque',sans-serif; }

.ct-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.ct-field { position:relative; margin-bottom:14px; }
.ct-field label {
    display:block; font-size:10px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; color:var(--text-dim);
    font-family:'Bricolage Grotesque',sans-serif; margin-bottom:8px;
}
.ct-field input,
.ct-field textarea {
    width:100%; background:rgba(193,193,193,.05);
    border:1.5px solid rgba(193,193,193,.12);
    border-radius:12px; padding:14px 16px;
    font-size:14px; color:#ddd;
    font-family:'Bricolage Grotesque',sans-serif;
    outline:none; transition:border-color .3s,background .3s,box-shadow .3s;
    resize:none;
}
.ct-field input::placeholder,
.ct-field textarea::placeholder { color:var(--text-dim); }
.ct-field input:focus,
.ct-field textarea:focus {
    border-color:rgba(191,247,71,.45);
    background:rgba(191,247,71,.04);
    box-shadow:0 0 0 3px rgba(191,247,71,.08);
}
.ct-field textarea { min-height:130px; line-height:1.7; }

/* ── Custom Select ── */
.ct-select-wrap { position:relative; user-select:none; }
.ct-select-trigger {
    width:100%; background:rgba(193,193,193,.05);
    border:1.5px solid rgba(193,193,193,.12);
    border-radius:12px; padding:14px 16px;
    font-size:14px; color:#ddd;
    font-family:'Bricolage Grotesque',sans-serif;
    cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    transition:border-color .3s,background .3s,box-shadow .3s;
}
.ct-select-trigger:hover,
.ct-select-wrap.open .ct-select-trigger {
    border-color:rgba(191,247,71,.45);
    background:rgba(191,247,71,.04);
    box-shadow:0 0 0 3px rgba(191,247,71,.08);
}
.ct-select-arrow {
    width:20px; height:20px; border-radius:6px;
    background:rgba(191,247,71,.1); border:1px solid rgba(191,247,71,.2);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:transform .35s var(--ease-expo),background .3s;
}
.ct-select-arrow i { font-size:9px; color:#BFF747; transition:transform .35s var(--ease-expo); }
.ct-select-wrap.open .ct-select-arrow { background:rgba(191,247,71,.2); }
.ct-select-wrap.open .ct-select-arrow i { transform:rotate(180deg); }
.ct-select-panel {
    position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:900;
    background:#0d0d0d;
    border:1.5px solid rgba(191,247,71,.28);
    border-radius:14px; padding:6px;
    opacity:0; transform:translateY(-8px) scale(.98);
    pointer-events:none;
    transition:opacity .25s var(--ease-expo), transform .25s var(--ease-expo);
    box-shadow:0 20px 48px rgba(0,0,0,.6), 0 0 0 1px rgba(191,247,71,.06);
}
.ct-select-wrap.open .ct-select-panel {
    opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}
.ct-select-option {
    display:flex; align-items:center; gap:12px;
    padding:11px 14px; border-radius:10px; cursor:pointer;
    font-family:'Bricolage Grotesque',sans-serif;
    font-size:13px; font-weight:600; color:#aaa;
    transition:background .2s,color .2s;
}
.ct-select-option:hover { background:rgba(191,247,71,.08); color:#fff; }
.ct-select-option.selected { background:rgba(191,247,71,.1); color:#BFF747; }
.ct-select-option i { font-size:13px; color:#BFF747; width:16px; text-align:center; flex-shrink:0; }

/* ── Submit button ── */
.ct-submit {
    width:100%; padding:16px 28px;
    background:#BFF747; color:#060606;
    font-family:'Big Shoulders Display',sans-serif;
    font-size:16px; font-weight:800; letter-spacing:.5px;
    border:none; border-radius:12px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:10px;
    transition:background .3s,transform .4s var(--ease-expo),box-shadow .3s;
    margin-top:6px; margin-bottom:20px;
}
.ct-submit:hover { background:#d4ff5c; transform:translateY(-2px); box-shadow:0 8px 24px rgba(191,247,71,.3); }
.ct-submit:active { transform:translateY(0); }
.ct-submit i { font-size:14px; transition:transform .3s var(--ease-expo); }
.ct-submit:hover i { transform:translateX(4px); }

/* ── alerts ── */
.ct-alert {
    border-radius:12px; padding:16px 20px; margin-bottom:22px;
    display:flex; align-items:center; gap:12px;
    font-family:'Bricolage Grotesque',sans-serif; font-size:14px; font-weight:600;
    animation:ct-success-pop .5s var(--ease-expo) both;
}
.ct-alert.success { background:rgba(191,247,71,.08); border:1.5px solid rgba(191,247,71,.28); color:#BFF747; }
.ct-alert.error   { background:rgba(255,100,100,.07); border:1.5px solid rgba(255,100,100,.25); color:#ff8888; }
.ct-alert i { font-size:18px; flex-shrink:0; }

/* ════════════════════════════════════════
   FORM FOOTER SECTION (NEW)
   ════════════════════════════════════════ */

/* secure badge */
.ct-secure-badge {
    display:flex; align-items:center; justify-content:center; gap:7px;
    margin-bottom:12px;
}
.ct-secure-dot {
    width:6px; height:6px; border-radius:50%; background:#BFF747; flex-shrink:0;
    animation:ct-pulse-sm 2.4s ease infinite;
}
.ct-secure-label {
    font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
    color:#BFF747; font-family:'Bricolage Grotesque',sans-serif;
}

/* divider with text */
.ct-form-divider {
    display:flex; align-items:center; gap:12px;
    margin:4px 0 18px;
}
.ct-form-divider::before,
.ct-form-divider::after { content:''; flex:1; height:1px; background:rgba(193,193,193,.1); }
.ct-form-divider span {
    font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
    color:#3a3a3a; white-space:nowrap; font-family:'Bricolage Grotesque',sans-serif;
}

/* trust chips grid */
.ct-trust-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:16px;
}
.ct-trust-chip {
    display:flex; align-items:center; gap:11px;
    background:rgba(193,193,193,.04); border:1px solid rgba(193,193,193,.1);
    border-radius:11px; padding:13px 13px;
    transition:border-color .3s,background .3s;
}
.ct-trust-chip:hover { border-color:rgba(191,247,71,.22); background:rgba(191,247,71,.05); }
.ct-trust-chip-icon {
    width:32px; height:32px; border-radius:9px;
    background:rgba(191,247,71,.08); border:1px solid rgba(191,247,71,.18);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:background .3s,transform .3s var(--ease-expo);
}
.ct-trust-chip:hover .ct-trust-chip-icon { background:rgba(191,247,71,.14); transform:scale(1.06); }
.ct-trust-chip-icon i { font-size:13px; color:#BFF747; }
.ct-trust-chip-title { font-size:12px; font-weight:700; color:#ccc; margin-bottom:2px; font-family:'Bricolage Grotesque',sans-serif; }
.ct-trust-chip-desc  { font-size:10.5px; color:var(--text-dim); line-height:1.5; font-family:'Bricolage Grotesque',sans-serif; }

/* bottom privacy note */
.ct-form-note {
    display:flex; align-items:center; gap:10px;
    padding:13px 16px;
    background:rgba(191,247,71,.03); border:1px solid rgba(191,247,71,.10);
    border-radius:10px;
}
.ct-form-note i { font-size:13px; color:var(--text-dim); flex-shrink:0; }
.ct-form-note p {
    font-size:11.5px; color:var(--text-dim); margin:0; line-height:1.65;
    font-family:'Bricolage Grotesque',sans-serif; text-align:center; flex:1;
}
.ct-form-note p strong { color:var(--text-dim); font-weight:600; }
.ct-form-note-sep { width:3px; height:3px; border-radius:50%; background:#2e2e2e; flex-shrink:0; }

/* ════════════════════════════════════════
   MAP SECTION
   ════════════════════════════════════════ */
.ct-map-section { background:#060606; padding:100px 0; position:relative; overflow:hidden; }
.ct-map-section::before {
    content:''; position:absolute; inset:0;
    background-image:
        linear-gradient(rgba(191,247,71,.015) 1px,transparent 1px),
        linear-gradient(90deg,rgba(191,247,71,.015) 1px,transparent 1px);
    background-size:80px 80px; pointer-events:none;
}
.ct-map-wrap {
    border-radius:22px; overflow:hidden;
    border:1.5px solid rgba(191,247,71,.16);
    position:relative;
}
.ct-map-wrap::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px; z-index:2;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
}
.ct-map-wrap iframe {
    width:100%; height:420px; display:block;
    filter:invert(1) hue-rotate(180deg) saturate(.8) brightness(.8);
}
.ct-map-pin {
    position:absolute; bottom:24px; left:24px; z-index:3;
    background:rgba(6,6,6,.92); border:1.5px solid rgba(191,247,71,.25);
    border-radius:14px; padding:14px 18px;
    display:flex; align-items:center; gap:12px;
    backdrop-filter:blur(8px);
}
.ct-map-pin i { font-size:18px; color:#BFF747; }
.ct-map-pin-title { font-family:'Big Shoulders Display',sans-serif; font-size:16px; font-weight:800; color:#fff; }
.ct-map-pin-sub { font-size:11px; color:var(--text-dim); font-family:'Bricolage Grotesque',sans-serif; }

/* ════════════════════════════════════════
   FAQ
   ════════════════════════════════════════ */
.ct-faq { background:var(--surface); padding:100px 0; }
.ct-faq-list { display:flex; flex-direction:column; gap:10px; margin-top:48px; }
.ct-faq-item {
    background:rgba(193,193,193,.03);
    border:1px solid rgba(193,193,193,.1);
    border-radius:16px; overflow:hidden;
    transition:border-color .3s;
}
.ct-faq-item:hover { border-color:rgba(191,247,71,.2); }
.ct-faq-q {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:20px 24px; cursor:pointer;
    font-family:'Big Shoulders Display',sans-serif;
    font-size:18px; font-weight:800; color:#ddd;
    list-style:none; transition:color .3s;
}
.ct-faq-q::-webkit-details-marker { display:none; }
details[open] .ct-faq-q { color:#BFF747; }
.ct-faq-q i {
    font-size:12px; color:var(--text-dim); flex-shrink:0;
    transition:transform .4s var(--ease-expo),color .3s;
}
details[open] .ct-faq-q i { transform:rotate(45deg); color:#BFF747; }
.ct-faq-a {
    padding:0 24px 20px;
    font-size:14px; color:var(--text-dim); line-height:1.85;
    font-family:'Bricolage Grotesque',sans-serif;
}
.ct-faq-a strong { color:#aaa; font-weight:600; }

/* ════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════ */
@media(max-width:991px){
    .ct-socials       { grid-template-columns:1fr 1fr; }
    .ct-expect-grid   { grid-template-columns:1fr 1fr; }
}
@media(max-width:767px){
    .ct-hero          { min-height:auto; padding:120px 0 60px; }
    .ct-form-card     { padding:28px 20px; }
    .ct-field-row     { grid-template-columns:1fr; gap:0; }
    .ct-socials       { grid-template-columns:1fr 1fr; }
    .ct-expect-grid   { grid-template-columns:1fr; }
    .ct-map-wrap iframe { height:300px; }
    .ct-trust-grid    { grid-template-columns:1fr 1fr; }
}
@media(max-width:575px){
    .ct-hero h1       { font-size:44px; }
    .ct-socials       { grid-template-columns:1fr; }
    .ct-trust-grid    { grid-template-columns:1fr; }
}
@media(hover:none),(max-width:1024px){
    .mouse-cursor,.cursor-inner,.cursor-outer { display:none !important; }
    *,*::before,*::after { cursor:auto !important; }
    a,button,label,[role="button"] { cursor:pointer !important; }
}

/* Click-to-load map placeholder (no Google request until the visitor asks) */
.ct-map-consent {
    height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
    text-align:center; padding:24px;
    background:
        linear-gradient(rgba(var(--accent-rgb),.03) 1px,transparent 1px) 0 0/40px 40px,
        linear-gradient(90deg,rgba(var(--accent-rgb),.03) 1px,transparent 1px) 0 0/40px 40px,
        var(--surface-2);
}
.ct-map-consent > i { font-size:40px; color:var(--accent); }
.ct-map-consent p { max-width:440px; margin:0; color:var(--text-muted); font-size:14px; line-height:1.7; }
@media (max-width:575px) { .ct-map-consent { height:340px; } }
