/* Animus Matchmaking - global styles */
html { scroll-behavior: smooth; }
body { margin: 0; background: #F4F1EC; color: #191512; font-family: 'Jost', sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: #191512; text-decoration: none; transition: color 0.3s ease; }
a:hover { color: #A62639; }
.btn-dark { display: inline-block; background: #191512; color: #F4F1EC; padding: 18px 36px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; transition: background 0.35s ease; }
.btn-dark:hover { background: #A62639; color: #F4F1EC; }
.btn-dark.small { padding: 13px 26px; }
.btn-dark.on-dark { background: #A62639; }
.btn-dark.on-dark:hover { background: #F4F1EC; color: #191512; }
.btn-accent { display: inline-block; background: #A62639; color: #F4F1EC; padding: 19px 44px; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; transition: background 0.35s ease, color 0.35s ease; }
.btn-accent:hover { background: #F4F1EC; color: #191512; }
.service-row { padding: 36px 12px; transition: background 0.4s ease, padding-left 0.4s ease; }
.service-row:hover { background: rgba(166,38,57,0.05); padding-left: 24px; }
.email-link { color: rgba(244,241,236,0.82); }
.email-link:hover { color: #A62639; }
@keyframes riseIn { from { opacity: 0; transform: translateY(46px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes scrollCue { 0% { transform: scaleY(0); transform-origin: top; } 45% { transform: scaleY(1); transform-origin: top; } 55% { transform: scaleY(1); transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@keyframes slowDrift { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (min-width: 2200px) {
  [data-r="hero-grid"], [data-r="process-grid"] { max-width: 1720px !important; }
  [data-r="services-inner"] { max-width: 1440px !important; }
  [data-r="matchmaker-grid"] { max-width: 1560px !important; }
}
@media (max-width: 1024px) {
  [data-r="hero-grid"] { grid-template-columns: 1fr !important; gap: 36px !important; padding-top: 110px !important; }
  [data-r="hero-scroll"] { display: none !important; }
  [data-r="hero-grid"] > div:first-child { order: 2; align-items: center !important; text-align: center !important; }
  [data-r="hero-grid"] > div:last-child { order: 1; }
  [data-r="hero-cta"] { justify-content: center !important; }
  [data-r="hero-img"] { max-height: 42vh !important; max-width: 420px !important; }
  [data-r="hero-grid"] h1 { font-size: clamp(38px, 11vw, 52px) !important; }
  [data-r="hero-grid"] p { max-width: 100% !important; font-size: 15.5px !important; }
  [data-r="hero-tag"] { white-space: normal !important; font-size: 11px !important; letter-spacing: 0.22em !important; }
  #approach[data-section] > div { padding-top: 70px !important; padding-bottom: 70px !important; }
  [data-r="footer-top"] { flex-direction: column; justify-content: center; text-align: center; padding-top: 32px !important; padding-bottom: 24px !important; }
  [data-r="footer-links"] { justify-content: center; }
  [data-r="footer-bar"] { flex-direction: column; align-items: center !important; text-align: center; }
  [data-r="footer-bar"] > span { justify-content: center; }
  [data-r="triptych"] { grid-template-columns: 1fr !important; gap: 44px !important; }
  [data-r="triptych"] > div { text-align: center !important; align-items: center !important; }
  [data-r="triptych-mark"] { max-width: 250px; margin: 0 auto; }
  [data-r="process-grid"] { grid-template-columns: 1fr !important; gap: 56px !important; }
  [data-r="matchmaker-grid"] { grid-template-columns: 1fr !important; gap: 56px !important; }
  [data-r="portrait"] { max-width: 340px; margin: 0 auto; }
  [data-r="portrait"] > div:first-child { inset: 12px -12px -12px 12px !important; }
  [data-section] { min-height: 0 !important; }
  [data-section] > div { padding-top: 70px !important; padding-bottom: 70px !important; }
  [data-r="service-row"] { grid-template-columns: 1fr !important; gap: 10px !important; }
  [data-r="hm-mark"] { width: 84px !important; padding: 14px 6px !important; margin: 0 !important; }
  [data-r="hm-mark"] > img[data-hm-half] { left: 6px !important; top: 14px !important; width: calc(100% - 12px) !important; }
  [data-r="hm-row"] { grid-template-columns: 1fr 44px 1fr !important; }
  [data-r="hm-row"] > div[data-reveal] { max-width: 100% !important; }
  [data-r="hm-row"] div[style*="font-size: 28px"] { font-size: 19px !important; line-height: 1.35 !important; }
  [data-r="hm-center"] [data-connector] { width: 18px !important; }
  [data-r="footer-grid"] { grid-template-columns: 1fr !important; gap: 40px !important; }
}
@media (max-width: 760px) {
  [data-section] > div, header, section, header > div, section > div, footer > div, nav > div { padding-left: 18px !important; padding-right: 18px !important; }
  [data-r="nav-links"] > a { display: none !important; }
  [data-counter] { display: none !important; }
  [data-r="hero-cta"] { flex-wrap: wrap; }
  [data-r="footer-bar"] { flex-direction: column; gap: 8px; align-items: flex-start; }
}

@keyframes dotPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(25,21,18,0.22); } 50% { box-shadow: 0 0 0 9px rgba(25,21,18,0); } }
[data-r="hm-dot"] { animation: dotPulse 2.4s ease-in-out infinite; }
.hm-btn { cursor: pointer; font-family: 'Jost', sans-serif; font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase; padding: 17px 42px; border-radius: 999px; background: transparent; transition: all 0.3s ease; }
.hm-btn:hover { transform: scale(1.05); }
.hm-btn-heart { animation: heartbeat 2s ease-in-out infinite; }
.hm-btn-mind { animation: mindThink 3s ease-in-out infinite; }
.hm-btn-heart { border: 1.5px solid #A62639; color: #A62639; }
.hm-btn-heart:hover, .hm-btn-heart.active { background: #A62639; color: #F4F1EC; }
.hm-btn-mind { border: 1.5px solid #191512; color: #191512; }
.hm-btn-mind:hover, .hm-btn-mind.active { background: #191512; color: #F4F1EC; }

@keyframes heartbeat { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.06); } 24% { transform: scale(1); } 36% { transform: scale(1.05); } 48% { transform: scale(1); } }
@keyframes ctaHalo { 0% { box-shadow: 0 0 0 0 rgba(166,38,57,0.4); } 75% { box-shadow: 0 0 0 24px rgba(166,38,57,0); } 100% { box-shadow: 0 0 0 0 rgba(166,38,57,0); } }
@keyframes arrowNudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
a[data-magnet]:hover { background: #A62639 !important; color: #F4F1EC; }
@media (max-width: 760px) {
  [data-r="pulse-card"] { padding: 40px 28px !important; border-radius: 48px !important; }
}

@keyframes mindThink { 0%, 100% { transform: rotate(0deg) scale(1); } 25% { transform: rotate(-2.5deg) scale(1.03); } 50% { transform: rotate(0deg) scale(1); } 75% { transform: rotate(2.5deg) scale(1.03); } }

@media (max-width: 760px) {
  [data-r="bio-grid"] p { font-size: 15.5px !important; line-height: 1.8 !important; }
  [data-r="aaa-row"] { gap: 16px !important; }
  [data-r="stats-row"] { padding-top: 56px !important; padding-bottom: 56px !important; }
}

.nav-burger { display: none !important; background: none; border: none; cursor: pointer; padding: 8px; flex-direction: column; gap: 5px; }
.nav-burger span { width: 22px; height: 2px; background: #191512; display: block; transition: transform 0.35s ease, opacity 0.25s ease; }
.nav-burger.open span:first-child { transform: translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:last-child { transform: translateY(-7px) rotate(-45deg); }
.nav-menu { display: flex; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s; position: absolute; top: 100%; left: 0; right: 0; background: #F4F1EC; border-bottom: 1px solid rgba(25,21,18,0.1); flex-direction: column; padding: 18px 24px; gap: 16px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; }
.nav-menu.open { visibility: visible; opacity: 1; transform: translateY(0); }
@media (max-width: 760px) {
  .nav-burger { display: flex !important; }
  [data-r="hero-mark"] { right: -60px !important; width: 190px !important; opacity: 0.1 !important; top: 40% !important; }
}
