/* SonoraPort AI Banking — Phase 2 production polish */
:root{
  --sp-gold:#d8b25c;--sp-gold-soft:#f2d995;--sp-ink:#05070a;--sp-panel:#0b0f14;
  --sp-line:rgba(216,178,92,.28);--sp-text:#f4f0e7;--sp-muted:#a8a19a;
  --sp-radius:20px;--sp-shadow:0 22px 70px rgba(0,0,0,.38);
}
html{scroll-padding-top:92px}
body{min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(216,178,92,.28);color:#fff8e6}
:focus-visible{outline:2px solid var(--sp-gold-soft)!important;outline-offset:3px!important}
a,button,.btn,.v2-btn,.service-card,.card{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease,color .24s ease,opacity .24s ease}
img{height:auto}

/* Shared premium surfaces */
.card,.service-card,.intelligence-card,.crypto-terminal,.form-shell,.cta,.stat,.charter-summary>div{
  box-shadow:0 18px 60px rgba(0,0,0,.24);
}
.card:hover,.service-card:hover,.intelligence-card:hover{
  transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,0,0,.38);border-color:rgba(242,217,149,.52)!important
}
.btn,.v2-btn{min-height:46px;letter-spacing:.015em}
.btn:active,.v2-btn:active{transform:translateY(0) scale(.985)}

/* Navigation refinement */
.site-header,.v2-header,.nav{isolation:isolate}
.site-header,.v2-header{box-shadow:0 12px 40px rgba(0,0,0,.18)}
.desktop-nav a,.v2-nav a,.links a{position:relative}
.desktop-nav a::after,.v2-nav a::after,.links a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--sp-gold);transition:right .25s ease}
.desktop-nav a:hover::after,.desktop-nav a.active::after,.v2-nav a:hover::after,.v2-nav a.active::after,.links a:hover::after,.links a.active::after{right:0}
.mobile-menu.open,.links.open,.v2-nav.open{box-shadow:0 24px 70px rgba(0,0,0,.65)}

/* Typography and spacing */
.lead,.hero-lead{max-width:760px}
.section,.v2-section{position:relative}
.section h2,.v2-section h2{letter-spacing:-.025em}
.card p,.service-card p,.intelligence-card p{color:var(--sp-muted)}
.card h3,.service-card h3,.intelligence-card h3{text-wrap:balance}

/* Forms */
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(216,178,92,.10)!important}
label{font-weight:650}
form .btn,form button[type="submit"]{min-height:48px}

/* Tables and rates */
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--sp-line);border-radius:16px;background:rgba(8,11,15,.72)}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(216,178,92,.14)}
th{color:var(--sp-gold-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(216,178,92,.07)}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:rgba(216,178,92,.035)}

/* Homepage polish */
.home-v2 .command-hero{background:radial-gradient(circle at 78% 30%,rgba(216,178,92,.08),transparent 32%)}
.home-v2 .hero-copy{max-width:760px}
.home-v2 .hero-actions{row-gap:12px}
.home-v2 .fast-actions a{min-height:112px}
.home-v2 .service-card b{color:var(--sp-gold-soft)}
.home-v2 .machine-core{box-shadow:0 0 75px rgba(216,178,92,.15)}
.home-v2 .crypto-terminal,.home-v2 .intelligence-card{backdrop-filter:blur(10px)}

/* Footer */
.footer,.v2-footer{background:linear-gradient(180deg,#05070a,#020304)}
.footer a,.v2-footer a{transition:color .2s ease}
.footer a:hover,.v2-footer a:hover{color:var(--sp-gold-soft)}

/* Reveal enhancement; content remains visible if JS is unavailable */
.sp-reveal{opacity:0;transform:translateY(18px)}
.sp-reveal.sp-visible{opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease}

/* Responsive production pass */
@media(max-width:900px){
  .desktop-nav a::after,.v2-nav a::after,.links a::after{display:none}
  table{display:block;overflow-x:auto;white-space:nowrap}
  .section,.v2-section{overflow:hidden}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1180px)}
  .btn,.v2-btn{width:100%}
  .hero-actions,.asset-buttons{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .card-body,.form-shell{padding:22px}
  th,td{padding:12px}
  .josh-panel{right:10px!important;bottom:76px!important;width:calc(100vw - 20px)!important;height:min(570px,calc(100vh - 100px))!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.sp-reveal{opacity:1;transform:none}
}
