/*! mentalprojector.com © 2026 Talis. All rights reserved. */

:root { --cursor-x: 50vw; --cursor-y: 50vh; }
* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: #2D2D2D; background: #FAF7F2; -webkit-font-smoothing: antialiased; line-height: 1.75; overflow-x: hidden; }
h1, h2, h3, .serif { font-family: 'Fraunces', serif; font-weight: 300; letter-spacing: -0.02em; line-height: 1.1; }
.display { font-family: 'Fraunces', serif; font-weight: 300; font-variation-settings: "opsz" 144; }
.eyebrow { font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; font-weight: 500; }
#progress { position: fixed; top: 0; left: 0; height: 2px; width: 0%; background: #D4A85A; z-index: 100; transition: width .15s linear; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 1.1s cubic-bezier(.2,.6,.2,1), transform 1.1s cubic-bezier(.2,.6,.2,1); transition-delay: var(--d, 0ms); }
.reveal.in { opacity: 1; transform: none; }
.nav-solid { background: rgba(15,23,42,0.78); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid rgba(226,232,240,0.06); }
.link-quiet { position: relative; padding-bottom: 3px; display: inline-block; }
.link-quiet::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .55s cubic-bezier(.2,.6,.2,1); }
.link-quiet:hover::after, .link-quiet:focus-visible::after { transform: scaleX(1); }
.magnetic { display: inline-block; transition: transform .3s cubic-bezier(.2,.6,.2,1); }
#nav a.is-current, #nav button.is-current { color: #D4A85A; }
#nav a.is-current::after, #nav button.is-current::after { background: #D4A85A; transform: scaleX(1); }
#mobileMenu a.is-current { color: #D4A85A; }
.card { transition: transform .6s cubic-bezier(.2,.6,.2,1), box-shadow .6s, border-color .6s; will-change: transform; }
.card:hover { transform: translateY(-6px); box-shadow: 0 40px 80px -40px rgba(15,23,42,0.22); border-color: #D4A85A; }
.card .arrow { transition: transform .55s cubic-bezier(.2,.6,.2,1); display: inline-block; }
.card:hover .arrow { transform: translateX(6px); }
@media (hover: hover) and (pointer: fine) {
  body.cursor-on { cursor: none; }
  #cursor {
    position: fixed; top: 0; left: 0;
    width: 0; height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 14px solid #D4A85A;
    pointer-events: none; z-index: 9999;
    will-change: transform;
    filter: drop-shadow(0 0 6px rgba(212,168,90,0.7));
    transition: opacity .25s, border-left-width .3s, border-right-width .3s, border-top-width .3s;
  }
  #cursor.big {
    border-left-width: 13px;
    border-right-width: 13px;
    border-top-width: 22px;
  }
  #cursor.hidden { opacity: 0; }
}
@media not all and (hover: hover) { #cursor { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .reveal, .card, .link-quiet::after, .magnetic { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; }
}
.h-svh { height: 100vh; height: 100svh; }
.min-h-svh { min-height: 100vh; min-height: 100svh; }
.h-display { font-size: clamp(2.75rem, 9vw, 7rem); }
.h-section { font-size: clamp(2rem, 5vw, 3.5rem); }
.h-resonance { font-size: clamp(1.6rem, 4.6vw, 3rem); }
.quote-card { background: #FEFDFB; border: 1px solid #E2E8F0; border-radius: 2px; padding: 2rem; transition: border-color .5s, transform .5s; }
.quote-card:hover { border-color: #D4A85A; transform: translateY(-4px); }
.quote-card .source { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(45,45,45,0.45); margin-top: 1rem; }
.card-offer { display: block; padding: 1.6rem 1.5rem 1.8rem; background: rgba(15,23,42,0.55); border: 1px solid rgba(212,168,90,0.25); border-radius: 4px; transition: border-color .4s, transform .4s, background .4s; }
.card-offer:hover { border-color: #D4A85A; background: rgba(15,23,42,0.85); transform: translateY(-4px); }
#nav a[href="/"].serif { font-weight: 600; }
</content>
</invoke>