/* ============ STANDFAST VISUAL UPGRADE LAYER — 2026-06-10 (preview) ============ */
:root{
  --gold-soft: rgba(201,169,97,.18);
  --shadow-card: 0 6px 24px rgba(15,23,34,.08);
  --shadow-lift: 0 14px 34px rgba(15,23,34,.16);
  --vu-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- motion primitives ---------- */
html.vu-anim .vu-r{opacity:0;transform:translateY(14px);transition:opacity .55s var(--vu-ease),transform .55s var(--vu-ease);transition-delay:calc(var(--i,0)*90ms)}
html.vu-anim .vu-r.vu-in{opacity:1;transform:none}
html.vu-anim .vu-h{opacity:0;transform:translateY(16px);transition:opacity .7s var(--vu-ease),transform .7s var(--vu-ease)}
html.vu-anim .vu-h.vu-in{opacity:1;transform:none}

/* ---------- header ---------- */
.navbar, header{transition:box-shadow .3s var(--vu-ease)}
.vu-scrolled{box-shadow:0 4px 18px rgba(15,23,34,.3)}
.nav-links a:not(.btn){position:relative}
.nav-links a:not(.btn)::after{content:'';position:absolute;left:0;bottom:-4px;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--vu-ease)}
.nav-links a:not(.btn):hover::after{transform:scaleX(1)}
.nav-links a:not(.btn):hover{text-decoration:none}

/* ---------- buttons ---------- */
.btn{border-radius:6px;transition:transform .15s var(--vu-ease),box-shadow .25s var(--vu-ease),background .2s,color .2s}
.btn:hover{box-shadow:0 0 0 4px var(--gold-soft)}
.btn:active{transform:translateY(1px)}
.hero .btn-gold,.midcta .btn-gold{animation:vuGlow 6s ease-in-out infinite}
@keyframes vuGlow{0%,100%{box-shadow:0 0 0 0 var(--gold-soft)}50%{box-shadow:0 0 22px 6px var(--gold-soft)}}

/* ---------- hero ---------- */
.hero{background:linear-gradient(150deg,#141c2b 0%,var(--navy) 45%,var(--navy-2) 100%)}
.hero::before{content:'';position:absolute;inset:0;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400'%3E%3Cg fill='none' stroke='%23f5f1e8' stroke-width='1'%3E%3Cpath d='M-20 80 C120 40 220 140 360 100 S560 60 640 110'/%3E%3Cpath d='M-20 140 C120 100 230 200 370 160 S560 120 640 170'/%3E%3Cpath d='M-20 200 C120 160 240 260 380 220 S560 180 640 230'/%3E%3Cpath d='M-20 260 C120 220 250 320 390 280 S560 240 640 290'/%3E%3Cpath d='M-20 320 C120 280 260 380 400 340 S560 300 640 350'/%3E%3C/g%3E%3C/svg%3E");background-size:cover}
.hero .container{position:relative;z-index:1}
.hero h1,.hero .hero-subtitle{max-width:660px}

/* hero packet visual (desktop only) */
.hero-visual{position:absolute;top:36px;right:0;width:320px;height:330px;pointer-events:none}
@media(max-width:1080px){.hero-visual{display:none}}
.vu-doc{position:absolute;left:50%;width:150px;background:var(--cream);border-radius:8px;padding:10px 12px;color:var(--navy);box-shadow:0 8px 20px rgba(0,0,0,.28);opacity:0;transform:translate(-50%,46px)}
.vu-doc b{font-family:'Oswald',sans-serif;font-size:.72rem;letter-spacing:1px;display:block;margin-bottom:5px;text-transform:uppercase}
.vu-doc i{display:block;height:3px;background:rgba(26,35,50,.16);border-radius:2px;margin:4px 0}
html.vu-anim .vu-doc.vu-go{animation:vuDock .5s var(--vu-ease) forwards}
.vu-folder{position:absolute;left:50%;bottom:0;width:210px;transform:translateX(-50%) translateY(18px);opacity:0}
html.vu-anim .vu-folder.vu-go{animation:vuLock .55s var(--vu-ease) forwards}
@keyframes vuDock{to{opacity:1;transform:translate(-50%,0)}}
@keyframes vuLock{to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ---------- trust strip ---------- */
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-item::before{color:var(--gold)}

/* ---------- generic card polish ---------- */
.elig-card,.t-card,.faq-item,.price-card{border-radius:10px}
.elig-card{background:#fff;box-shadow:var(--shadow-card);border:1px solid rgba(31,56,100,.10);padding:26px;transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease)}
.elig-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.four-cats-grid > div{border-radius:10px;transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease)}
.four-cats-grid > div:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}

/* eligibility check draw */
.vu-check{display:inline-block;vertical-align:-4px;margin-right:8px}
.vu-check circle{fill:none;stroke:var(--gold);stroke-width:2}
.vu-check path{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:20;stroke-dashoffset:20}
html.vu-anim .vu-in .vu-check path{animation:vuDraw .5s var(--vu-ease) .35s forwards}
@keyframes vuDraw{to{stroke-dashoffset:0}}

/* ---------- pricing ---------- */
.price-card{background:#fff;border:1px solid rgba(31,56,100,.10);border-top:4px solid var(--line);box-shadow:var(--shadow-card);transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease),border-color .25s}
.price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-top-color:var(--gold)}
.price-card.featured{border-top:4px solid var(--gold)}
.vu-svc-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vu-svc-icon{width:38px;height:38px;border-radius:8px;background:var(--gold-soft);display:flex;align-items:center;justify-content:center;flex:none}
.vu-svc-icon svg{width:20px;height:20px;stroke:var(--navy);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.vu-bestfor{font-family:'Oswald',sans-serif;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--navy);background:var(--gold-soft);padding:3px 9px;border-radius:99px}

/* ---------- leadership ---------- */
.founder-portrait img{border-radius:10px;box-shadow:var(--shadow-card);transition:transform .35s var(--vu-ease),box-shadow .35s var(--vu-ease)}
.founder-portrait img:hover{transform:scale(1.015);box-shadow:var(--shadow-lift)}

/* ---------- testimonials ---------- */
.t-card{background:#fff;box-shadow:var(--shadow-card);border:1px solid rgba(31,56,100,.08);transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease)}
.t-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.testimonials-footnote{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:14px 18px;background:#fff}

/* ---------- process timeline ---------- */
#process .steps{position:relative}
#process .steps::before{content:'';position:absolute;top:22px;left:1%;height:2px;width:0;background:linear-gradient(90deg,var(--gold),rgba(201,169,97,.35));transition:width 1.3s var(--vu-ease) .2s}
html.vu-anim #process .steps.vu-in::before{width:98%}
#process .step::before{background:var(--navy);border:2px solid var(--gold);border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;z-index:1}
@media(max-width:700px){
  #process .steps::before{left:22px;top:0;width:2px!important;height:0;transition:height 1.3s var(--vu-ease) .2s}
  html.vu-anim #process .steps.vu-in::before{height:100%;width:2px!important}
  #process .step{padding-left:64px;padding-top:4px}
  #process .step::before{left:0;top:0}
}

/* ---------- midcta ---------- */
.midcta{position:relative;overflow:hidden}
.midcta::before{content:'';position:absolute;top:-40%;left:50%;transform:translateX(-50%);width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--gold-soft) 0%,transparent 65%);pointer-events:none}

/* ---------- book ---------- */
#book img[src*="playbook-cover"]{border-radius:6px;transform:perspective(900px) rotateY(-10deg);box-shadow:16px 22px 38px rgba(15,23,34,.30);transition:transform .5s var(--vu-ease),box-shadow .5s var(--vu-ease)}
#book img[src*="playbook-cover"]:hover{transform:perspective(900px) rotateY(-4deg);box-shadow:10px 16px 30px rgba(15,23,34,.24)}

/* ---------- faq ---------- */
.faq-item{background:#fff;border:1px solid rgba(31,56,100,.10);box-shadow:var(--shadow-card);transition:border-color .25s}
.faq-item:hover{border-color:var(--gold)}

/* ---------- forms ---------- */
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)!important;box-shadow:0 0 0 3px var(--gold-soft)}

/* ---------- newsletter ---------- */
.newsletter-band{border-top:3px solid var(--gold)}

/* ---------- footer ---------- */
footer h4{border-top:2px solid var(--gold);padding-top:10px;display:inline-block}

/* ---------- sticky mobile bar ---------- */
html.vu-anim .sticky-cta{transform:translateY(110%);transition:transform .45s var(--vu-ease)}
html.vu-anim .sticky-cta.vu-show{transform:translateY(0)}
.sticky-cta{border-top:2px solid var(--gold)}

/* ---------- reduced motion: everything instant, everything visible ---------- */
@media (prefers-reduced-motion: reduce){
  html.vu-anim .vu-r,html.vu-anim .vu-h{opacity:1!important;transform:none!important;transition:none!important}
  html.vu-anim .vu-doc,html.vu-anim .vu-folder{opacity:1!important;transform:translate(-50%,0)!important;animation:none!important}
  html.vu-anim .sticky-cta{transform:none!important}
  .hero .btn-gold,.midcta .btn-gold{animation:none!important}
  #process .steps::before{transition:none!important;width:98%!important}
  *{scroll-behavior:auto!important}
}

/* ============ CONVERSION UPGRADE LAYER — 2026-06-11 ============ */
.hero-phone{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:1.5px;color:var(--gold);align-self:center;padding:0 6px;text-decoration:none}
.hero-phone:hover{color:var(--cream);text-decoration:none}
@media(max-width:1080px){.hero-phone{display:none}}
.hero-trustbar{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.hero-trustbar span{font-family:'Oswald',sans-serif;font-size:.72rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--cream);border:1px solid rgba(201,169,97,.45);padding:5px 11px;border-radius:99px;background:rgba(201,169,97,.08)}
.whn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:32px}
.whn-step{background:var(--cream);border-radius:10px;padding:26px;border:1px solid rgba(31,56,100,.10)}
.whn-num{font-family:'Oswald',sans-serif;font-size:1.1rem;font-weight:700;color:var(--navy);background:var(--gold);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.whn-step h3{font-size:1.05rem;line-height:1.35;margin-bottom:8px}
.whn-step p{color:var(--muted);font-size:.95rem;margin:0}
.cta-inline{margin-top:30px}
.seg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px;margin-top:32px}
.seg-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(31,56,100,.12);border-top:4px solid var(--line);border-radius:10px;padding:26px;box-shadow:var(--shadow-card);text-decoration:none;color:var(--ink);transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease),border-color .25s}
.seg-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-top-color:var(--gold);text-decoration:none;color:var(--ink)}
.seg-card h3{font-size:1.08rem;line-height:1.35;margin-bottom:10px}
.seg-card p{font-size:.95rem;color:var(--muted);margin-bottom:10px}
.seg-card .seg-why{font-size:.9rem;color:var(--ink)}
.seg-btn{margin-top:auto;background:var(--navy);color:var(--cream);text-align:center;font-size:.85rem;padding:12px 14px}
.seg-card:hover .seg-btn{background:var(--gold);color:var(--navy)}
.pq-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.pq-row{grid-template-columns:1fr}}
.pq-consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;text-transform:none!important;letter-spacing:0!important;margin:16px 0;cursor:pointer}
.pq-consent input{width:auto;margin-top:3px}
form[name="intake"] select{width:100%;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:inherit;font-size:.95rem;color:var(--ink)}

/* ---------- nav bar fix (no label wrapping, clean alignment) ---------- */
.nav-links a{white-space:nowrap}
.nav-links{gap:18px}
.nav-links a:not(.btn){font-size:.9rem}
.nav-phone a{white-space:nowrap}
nav > .container{max-width:1340px}
@media(min-width:1101px){
  .nav-links{flex:1;margin-left:48px;justify-content:space-between;gap:10px}
  .nav-links a:not(.btn){font-size:.93rem}
}
@media(max-width:1280px) and (min-width:1101px){.nav-phone{display:none}.nav-links a:not(.btn){font-size:.86rem}}
.branch-emblem .seal{transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease)}
.branch-emblem:hover .seal{transform:translateY(-3px)}

/* ---------- FAQ restyle: breathing room + gold accents ---------- */
#faq .faq-item{background:#fff;border:1px solid rgba(31,56,100,.10);border-left:4px solid var(--gold);border-radius:10px;padding:22px 26px;margin-bottom:14px;box-shadow:var(--shadow-card);transition:box-shadow .25s var(--vu-ease),border-color .25s var(--vu-ease)}
#faq .faq-item:hover{box-shadow:var(--shadow-lift);border-color:var(--gold)}
#faq .faq-item.open{border-left-color:var(--navy)}
#faq .faq-q{font-size:1.08rem;line-height:1.45;gap:16px}
#faq .faq-q::after{content:'+';flex:none;width:32px;height:32px;border-radius:50%;background:var(--gold-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:600;margin-left:auto;transition:transform .25s var(--vu-ease),background .25s}
#faq .faq-item.open .faq-q::after{transform:rotate(45deg);background:var(--gold)}
#faq .faq-a{padding-top:16px;margin-top:16px;border-top:1px solid var(--line);line-height:1.7}
@media(max-width:600px){#faq .faq-item{padding:18px 18px}}

/* ---------- Calendly framed panel ---------- */
.calendly-inline-widget{background:linear-gradient(150deg,#141c2b 0%,var(--navy) 60%,var(--navy-2) 100%)!important;border:1px solid rgba(201,169,97,.45)!important;border-radius:12px!important;padding:14px;box-shadow:var(--shadow-card);height:720px!important}
.calendly-inline-widget iframe{border-radius:8px;background:var(--cream)}

/* ---------- hero plain-talk path cards ---------- */
.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 16px;max-width:680px}
@media(max-width:720px){.hero-paths{grid-template-columns:1fr}}
.hp-card{background:rgba(245,241,232,.06);border:1px solid rgba(201,169,97,.35);border-left:3px solid var(--gold);border-radius:8px;padding:16px 18px}
.hp-card h3{color:var(--gold);font-size:1.02rem;letter-spacing:1px;margin:0 0 6px;line-height:1.3}
.hp-card p{color:#dde3ec;font-size:.97rem;margin:0;line-height:1.55}
.hp-card strong{color:var(--cream)}
.hero-cats{color:#aeb6c4;font-size:.92rem;max-width:680px;margin-bottom:14px}

/* ---------- hero animation v2: scan, tilt, stamp, float ---------- */
.vu-doc{overflow:hidden}
.vu-doc::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(201,169,97,.4) 50%,transparent 70%);transform:translateX(-120%)}
html.vu-anim .vu-doc.vu-go::after{animation:vuScan .8s ease .3s forwards}
@keyframes vuScan{to{transform:translateX(120%)}}
@keyframes vuDock{from{opacity:0;transform:translate(-50%,46px) rotate(4deg)}to{opacity:1;transform:translate(-50%,0) rotate(0)}}
.vu-folder .vu-stamp{opacity:0;transform-origin:180px 92px}
html.vu-anim .vu-folder.vu-go .vu-stamp{animation:vuStamp .5s cubic-bezier(.34,1.56,.64,1) .55s forwards}
@keyframes vuStamp{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
.vu-folder .vu-ripple{opacity:0;transform-origin:180px 92px}
html.vu-anim .vu-folder.vu-go .vu-ripple{animation:vuRipple 1s ease-out .7s forwards}
@keyframes vuRipple{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
html.vu-anim .vu-folder.vu-go{animation:vuLock .55s var(--vu-ease) forwards,vuFloat 7s ease-in-out 2.6s infinite}
@keyframes vuFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
html.vu-anim .vu-folder.vu-go path[fill="#243044"], html.vu-anim .vu-folder.vu-go > path:first-of-type{filter:drop-shadow(0 0 14px rgba(201,169,97,.25))}
@media (prefers-reduced-motion: reduce){
  html.vu-anim .vu-doc::after{animation:none!important;opacity:0}
  html.vu-anim .vu-folder .vu-stamp,html.vu-anim .vu-folder .vu-ripple{opacity:1!important;animation:none!important}
  html.vu-anim .vu-folder .vu-ripple{opacity:0!important}
  html.vu-anim .vu-folder.vu-go{animation:none!important}
}

/* ---------- official branch seal badges ---------- */
.branches-row .seal{width:132px!important;height:132px!important;border-radius:50%;border:2px solid var(--gold);background:#101827;display:flex;align-items:center;justify-content:center;padding:20px;transition:transform .25s var(--vu-ease),box-shadow .25s var(--vu-ease)}
.branches-row .seal img{width:100%;height:100%;object-fit:contain;transition:transform .25s var(--vu-ease)}
.branch-emblem{width:auto!important}
.branch-emblem .label{transition:color .25s;letter-spacing:.14em!important;color:var(--cream)}
.branch-emblem:hover .seal{transform:translateY(-4px);box-shadow:0 0 0 4px var(--gold-soft),0 10px 24px rgba(0,0,0,.35)}
.branch-emblem:hover .seal img{transform:scale(1.04)}
.branch-emblem:hover .label{color:var(--gold)}
.branch-disclaimer{margin-top:28px;font-size:.78rem;color:#8d97a8;max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:820px){
  .branches-row{display:grid!important;grid-template-columns:1fr 1fr;gap:22px;justify-items:center}
  .branches-row .seal{width:100px!important;height:100px!important;padding:14px}
}
@media (prefers-reduced-motion: reduce){.branch-emblem:hover .seal,.branch-emblem:hover .seal img{transform:none!important}}
