
/* =========================================================
   TRUENORTH PHASE 18 — PREMIUM POLISH
   Isolated visual refinement. No structural redesign.
   ========================================================= */

:root{
  --v18-green:#0b3d2e;
  --v18-green-2:#155441;
  --v18-gold:#bd8a38;
  --v18-gold-soft:#d6a64f;
  --v18-ivory:#fbf8f1;
  --v18-surface:#fffdf8;
  --v18-text:#29443a;
  --v18-border:rgba(11,61,46,.14);
  --v18-shadow:0 12px 34px rgba(8,42,33,.08);
  --v18-shadow-hover:0 18px 46px rgba(8,42,33,.14);
  --v18-radius:14px;
}

/* Global rendering and typography refinement */
html{
  scroll-behavior:smooth;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  background:var(--v18-ivory);
}

::selection{
  background:rgba(189,138,56,.28);
  color:var(--v18-green);
}

:where(h1,h2,h3,h4,h5,h6){
  text-wrap:balance;
}

:where(p,li,blockquote){
  text-wrap:pretty;
}

a,button,.btn{
  -webkit-tap-highlight-color:transparent;
}

.skip-link-v18{
  position:fixed;
  top:12px;
  left:12px;
  z-index:99999;
  transform:translateY(-150%);
  padding:11px 15px;
  border-radius:8px;
  background:var(--v18-green);
  color:white;
  font-weight:900;
  text-decoration:none;
  box-shadow:var(--v18-shadow);
  transition:transform .2s ease;
}
.skip-link-v18:focus{
  transform:translateY(0);
}

/* Visible, professional focus states */
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(189,138,56,.72)!important;
  outline-offset:3px!important;
  border-radius:6px;
}

/* Navigation refinement without changing layout */
header,
.site-header{
  backdrop-filter:saturate(1.1) blur(8px);
}

nav a{
  transition:color .2s ease,opacity .2s ease,transform .2s ease;
}
nav a:hover{
  transform:translateY(-1px);
}

/* Consistent premium surfaces */
.premium-surface-v18{
  border-radius:var(--v18-radius)!important;
  border:1px solid var(--v18-border)!important;
  box-shadow:var(--v18-shadow)!important;
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
  will-change:transform;
}

.premium-surface-v18:hover{
  transform:translateY(-4px);
  box-shadow:var(--v18-shadow-hover)!important;
  border-color:rgba(189,138,56,.4)!important;
}

/* Button and CTA polish */
.premium-action-v18{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .2s ease,
    box-shadow .25s ease,
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease!important;
}

.premium-action-v18::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 76%);
  transform:translateX(-130%);
  transition:transform .55s ease;
}

.premium-action-v18:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(8,42,33,.16);
}

.premium-action-v18:hover::after{
  transform:translateX(130%);
}

/* Card consistency */
.service-card,
.conversion-card,
.resource-card-v15,
.process-step{
  padding-block:clamp(22px,2.4vw,30px)!important;
}

.service-card h3,
.conversion-card h3,
.resource-card-v15 h3,
.process-step h3{
  line-height:1.17!important;
}

.service-card p,
.conversion-card p,
.resource-card-v15 p,
.process-step p{
  color:var(--v18-text)!important;
  line-height:1.62!important;
}

/* Resource Library polish */
.resource-category-v15{
  box-shadow:0 16px 42px rgba(8,42,33,.09)!important;
}

.resource-category-v15 > header{
  position:relative;
  overflow:hidden;
}

.resource-category-v15 > header::after{
  content:"";
  position:absolute;
  right:-55px;
  top:-75px;
  width:190px;
  height:190px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    0 0 0 24px rgba(255,255,255,.04),
    0 0 0 48px rgba(255,255,255,.025);
}

.resource-card-v15{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,253,248,.96))!important;
}

.resource-card-v15 h3 a{
  transition:color .2s ease;
}

.resource-card-v15 h3 a:hover{
  color:var(--v18-gold)!important;
}

/* Testimonials */
.premium-testimonial-v18{
  position:relative;
}

.premium-testimonial-v18::before{
  content:"“";
  position:absolute;
  top:18px;
  right:22px;
  color:rgba(214,166,79,.22);
  font:700 72px/1 Georgia,serif;
  pointer-events:none;
}

.premium-testimonial-v18 blockquote,
blockquote.premium-testimonial-v18{
  line-height:1.65;
}

/* FAQ refinement */
details.faq-item summary{
  transition:background-color .2s ease,color .2s ease;
}
details.faq-item[open] summary{
  background:rgba(189,138,56,.06);
}

/* Section transitions */
section{
  scroll-margin-top:110px;
}

[data-premium-reveal="true"]{
  opacity:1;
  transform:none;
}

html.v18-js [data-premium-reveal="true"]{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .6s cubic-bezier(.2,.8,.2,1),
    transform .6s cubic-bezier(.2,.8,.2,1);
}

html.v18-js [data-premium-reveal="true"].v18-visible{
  opacity:1;
  transform:translateY(0);
}

/* Footer polish without restructuring */
footer{
  position:relative;
  overflow:hidden;
}

footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 0%,rgba(214,166,79,.09),transparent 25%),
    radial-gradient(circle at 92% 100%,rgba(255,255,255,.05),transparent 26%);
}

/* Mobile touch targets and spacing */
@media(max-width:760px){
  :where(.btn,button,.resource-button-v15,.resource-link){
    min-height:48px;
  }

  nav a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .premium-surface-v18:hover{
    transform:none;
  }

  .premium-testimonial-v18::before{
    font-size:56px;
    top:14px;
    right:16px;
  }
}

/* Respect reduced motion */
@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;
  }
  html.v18-js [data-premium-reveal="true"]{
    opacity:1!important;
    transform:none!important;
  }
}
