/* Page: Contact - scoped styles */
body.page-template-page-contact {
    --bg-void: #000000;
    --bg-deep: #020202;
    --bg-rich: #040404;
    --bg-surface: #070707;
    --bg-card: #0a0a0a;
    --bg-elevated: #0e0e0e;
    --bg-hover: #111111;
    --border-ghost: #141414;
    --border-subtle: #1c1c1c;
    --border-mid: #282828;
    --border-accent: #333333;
    --border-glow: #3d3d3d;
    --text-primary: #F4F4F4;
    --text-secondary: #AEAEAE;
    --text-muted: #686868;
    --accent: #E85002;
    --accent-deep: #B84000;
    --accent-deeper: #C10801;
    --accent-glow: rgba(232, 80, 2, 0.28);
    --accent-subtle: rgba(232, 80, 2, 0.05);
    --accent-wash: rgba(232, 80, 2, 0.08);
    --accent-warm: #F16001;
    --accent-light: #FF7A2E;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --transition-smooth: 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
    --transition-bounce: 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);
    --transition-glacial: 0.5s cubic-bezier(0.16, 0.84, 0.44, 1);
}

body.page-template-page-contact { background-color: var(--bg-void); }

body.page-template-page-contact::before {
    content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0;
    background:
        radial-gradient(ellipse at 12% 8%, rgba(232,80,2,0.018) 0%, transparent 55%),
        radial-gradient(ellipse at 78% 52%, rgba(193,8,1,0.014) 0%, transparent 50%),
        radial-gradient(ellipse at 32% 78%, rgba(241,96,1,0.012) 0%, transparent 55%),
        radial-gradient(ellipse at 55% 35%, rgba(232,80,2,0.01) 0%, transparent 60%);
    opacity: 1;
}

body.page-template-page-contact::after {
    content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.012) 1px, transparent 1px); background-size: 24px 24px; opacity: 0.55;
    mask-image: radial-gradient(ellipse at 50% 40%, black 40%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, black 40%, transparent 75%);
}

/* Geometric linework overlay (only on contact page) */
body.page-template-page-contact .geo-linework { position: fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; opacity:0.03; background: repeating-linear-gradient(0deg, transparent, transparent 119px, rgba(255,255,255,0.5) 119px, rgba(255,255,255,0.5) 120px), repeating-linear-gradient(90deg, transparent, transparent 119px, rgba(255,255,255,0.5) 119px, rgba(255,255,255,0.5) 120px); }

/* Section overrides */
body.page-template-page-contact .section { padding: 110px 0; }
body.page-template-page-contact .section-divider { background: linear-gradient(90deg, transparent 0%, var(--border-ghost) 15%, var(--border-mid) 30%, var(--border-glow) 50%, var(--border-mid) 70%, var(--border-ghost) 85%, transparent 100%); max-width: 860px; opacity: 0.55; }
body.page-template-page-contact .section-divider::after { font-size: 0.42rem; background: var(--bg-void); padding: 0 14px; opacity: 0.55; text-shadow: 0 0 8px rgba(232,80,2,0.4); }

/* Typography adjustments */
body.page-template-page-contact h1 { font-size: clamp(2.5rem, 5.2vw, 3.7rem); font-weight: 900; line-height: 1.12; letter-spacing: -0.03em; color: var(--text-primary); margin-bottom: 24px; }
body.page-template-page-contact h1 .accent-word { background: linear-gradient(160deg, var(--accent-light) 0%, var(--accent) 25%, var(--accent-warm) 55%, var(--accent-deep) 80%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
body.page-template-page-contact p, body.page-template-page-contact .body-text { color: var(--text-muted); margin-bottom: 16px; font-size: 1.0625rem; line-height: 1.72; }

/* Buttons overrides */
body.page-template-page-contact .btn { padding: 15px 36px; border-radius: var(--radius-sm); font-size: 0.94rem; letter-spacing: 0.015em; }
body.page-template-page-contact .btn-primary { background: linear-gradient(145deg, var(--accent) 0%, #d14800 100%); color: #FAFAFA; box-shadow: 0 0 0 0 rgba(232,80,2,0); transition: all var(--transition-bounce); }
body.page-template-page-contact .btn-primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, #f05808 0%, #c14000 100%); opacity: 0; transition: opacity var(--transition-smooth); z-index: -1; }
body.page-template-page-contact .btn-primary:hover::before { opacity: 1; }
body.page-template-page-contact .btn-primary:hover { box-shadow: 0 10px 36px rgba(232,80,2,0.32), 0 0 0 2px rgba(232,80,2,0.15), 0 0 80px rgba(232,80,2,0.08); transform: translateY(-3px); }

/* Grid overrides */
body.page-template-page-contact .grid-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
body.page-template-page-contact .grid-2 { grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); }

/* Card overrides */
body.page-template-page-contact .card { padding: 38px 34px; transition: all var(--transition-glacial); isolation: isolate; text-decoration: none; color: inherit; }
body.page-template-page-contact .card::before { top: 0; right: 0; border-width: 0 32px 32px 0; border-color: transparent var(--border-ghost) transparent transparent; z-index:1; }
body.page-template-page-contact .card:hover::before { border-color: transparent rgba(232,80,2,0.22) transparent transparent; opacity:1; }
body.page-template-page-contact .card::after { top:7px; right:7px; width:5px; height:5px; z-index:2; box-shadow: 0 0 10px rgba(232,80,2,0.6); }
body.page-template-page-contact .card:hover { transform: translateY(-6px); background: var(--bg-hover); box-shadow: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(232,80,2,0.06), inset 0 0 60px rgba(232,80,2,0.015); }

/* Hero Contact */
body.page-template-page-contact .hero-contact { background: radial-gradient(ellipse at 48% 0%, rgba(232,80,2,0.04) 0%, transparent 60%), radial-gradient(ellipse at 22% 60%, rgba(193,8,1,0.028) 0%, transparent 55%), radial-gradient(ellipse at 72% 32%, rgba(241,96,1,0.022) 0%, transparent 55%), radial-gradient(ellipse at 50% 85%, rgba(232,80,2,0.015) 0%, transparent 60%), var(--bg-void); position: relative; overflow: hidden; padding: 180px 0 120px; text-align: center; }
body.page-template-page-contact .hero-contact::before { content: ""; position: absolute; top: -70px; left: 50%; transform: translateX(-50%); width: 1px; height: 110px; background: linear-gradient(180deg, transparent, rgba(232,80,2,0.3) 30%, rgba(232,80,2,0.15) 60%, rgba(232,80,2,0.03) 100%); }

/* Floating diamonds (contact) */
body.page-template-page-contact .floating-diamonds { position: absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; }
body.page-template-page-contact .geo-diamond { position:absolute; background: transparent; border:1px solid rgba(232,80,2,0.1); transform: rotate(45deg); animation: floatDiamondContact 10s ease-in-out infinite; }
body.page-template-page-contact .geo-diamond:nth-child(1) { top:16%; left:5%; width:11px; height:11px; }
body.page-template-page-contact .geo-diamond:nth-child(2) { top:28%; right:7%; width:14px; height:14px; border-color: rgba(241,96,1,0.09); animation-delay:2.8s; }
body.page-template-page-contact .geo-diamond:nth-child(3) { bottom:20%; left:9%; width:9px; height:9px; animation-delay:5.2s; }
body.page-template-page-contact .geo-diamond:nth-child(4) { bottom:28%; right:11%; width:16px; height:16px; border-color: rgba(193,8,1,0.08); animation-delay:7.5s; }

@keyframes floatDiamondContact {
    0%,100% { transform: rotate(45deg) translateY(0); opacity: 0.35; }
    20% { transform: rotate(45deg) translateY(-18px); opacity: 0.7; }
    40% { transform: rotate(45deg) translateY(-6px); opacity: 0.5; }
    60% { transform: rotate(45deg) translateY(14px); opacity: 0.25; }
    80% { transform: rotate(45deg) translateY(4px); opacity: 0.45; }
}

/* Site Header (contact overrides) */
body.page-template-page-contact .site-header { padding: 20px 0; border-bottom: 1px solid var(--border-ghost); background: rgba(0,0,0,0.75); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); position: relative; z-index: 10; }
body.page-template-page-contact .site-header .container { display:flex; justify-content:space-between; align-items:center; }
body.page-template-page-contact .site-header .logo { font-weight:700; font-size:1.18rem; color:var(--text-primary); text-decoration:none; letter-spacing:-0.015em; transition: color var(--transition-smooth); }
body.page-template-page-contact .site-header .logo:hover { color: var(--accent); }
body.page-template-page-contact .site-header nav a { color: var(--text-secondary); text-decoration: none; font-weight: 500; font-size: 0.88rem; padding: 6px 12px; border-radius: var(--radius-sm); }
body.page-template-page-contact .site-header nav a:hover { color: var(--accent); background: var(--accent-subtle); }

/* Form */
body.page-template-page-contact .form-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 48px; transition: border-color var(--transition-smooth); }
body.page-template-page-contact .form-card:hover { border-color: rgba(232,80,2,0.3); }
body.page-template-page-contact .form-group { margin-bottom: 24px; }
body.page-template-page-contact label { display:block; font-weight:500; margin-bottom:8px; color: var(--text-primary); }
body.page-template-page-contact .input, body.page-template-page-contact select, body.page-template-page-contact textarea { width:100%; padding:14px 16px; background: var(--bg-surface); border:1px solid var(--border-mid); border-radius: var(--radius-sm); color: var(--text-primary); font-family: 'Inter', sans-serif; font-size:1rem; transition: border-color 0.2s, box-shadow 0.2s; }
body.page-template-page-contact .input:focus, body.page-template-page-contact select:focus, body.page-template-page-contact textarea:focus { outline:none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(232,80,2,0.2); }
body.page-template-page-contact textarea { min-height: 120px; resize: vertical; }
body.page-template-page-contact .form-helper { font-size: 0.9rem; color: var(--text-muted); margin-top: 8px; }

/* FAQ */
body.page-template-page-contact .faq-item { border-bottom: 1px solid var(--border-ghost); margin-bottom: 10px; }
body.page-template-page-contact .faq-question { background: none; border: none; color: var(--text-primary); font-size:1.06rem; font-weight:600; padding: 19px 0; width:100%; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
body.page-template-page-contact .faq-question:hover { color: var(--accent-light); }
body.page-template-page-contact .faq-answer { max-height:0; overflow:hidden; transition: max-height 0.38s ease, padding 0.38s ease; color: var(--text-muted); font-size:0.94rem; padding: 0 16px; line-height:1.7; }
body.page-template-page-contact .faq-answer.open { max-height: 200px; padding: 4px 16px 20px; }

/* Responsive contact */
@media (min-width: 768px) {
    body.page-template-page-contact .form-columns { display:flex; gap:40px; align-items:flex-start; }
    body.page-template-page-contact .form-columns .form-container { flex:2; }
    body.page-template-page-contact .form-columns .testimonial-side { flex:1; margin-top:0; }
}
@media (max-width: 767px) {
    body.page-template-page-contact .btn-outline { margin-left:0; margin-top:12px; display:inline-block; }
    body.page-template-page-contact .hero-contact { padding: 120px 24px 80px; }
    body.page-template-page-contact .form-card { padding: 32px 24px; }
    body.page-template-page-contact .geo-diamond { display:none; }
}
