/* SeniorMedInsure — shared site styles */
:root{
  --teal:#0C7C8D;
  --teal-dark:#095F6D;
  --teal-deep:#0A6C7C;
  --ink:#243139;
  --cream:#FAF6F0;
  --border:#E2D6C6;
  --duration:200ms;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:112.5%;}
body{margin:0;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;}
img{max-width:100%;}

@keyframes smi-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

input:focus,textarea:focus{outline:none;border-color:var(--teal) !important;box-shadow:0 0 0 4px rgba(12,124,141,.14);}

/* Hover states (converted from design style-hover attributes) */
.nav-link{transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease);}
.nav-link:hover{color:var(--teal) !important;}

.btn-primary{transition:background var(--duration) var(--ease),transform var(--duration) var(--ease);}
.btn-primary:hover{background:var(--teal-dark) !important;}
.btn-primary.lift:hover{transform:translateY(-1px);}

.btn-outline{transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease);}
.btn-outline:hover{border-color:var(--teal) !important;color:var(--teal) !important;}

.btn-email-dark{transition:border-color var(--duration) var(--ease);}
.btn-email-dark:hover{border-color:#5BC2D4 !important;}

.link-arrow{transition:gap var(--duration) var(--ease);}
.link-arrow:hover{gap:14px !important;}

.banner-cta{transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease);}
.banner-cta:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(12,124,141,.34);}

.contact-card{transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease);}
.contact-card:hover{border-color:var(--teal) !important;box-shadow:0 10px 26px rgba(12,124,141,.12);}

.footer-link{transition:color var(--duration) var(--ease);}
.footer-link:hover{color:#fff !important;}

.surface-card{transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease);}
.surface-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(40,55,64,.12);}

.link-card{transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease);}
.link-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(40,55,64,.12);border-color:#CDEAEF !important;}

.media-img{width:100%;height:100%;object-fit:cover;display:block;}

.field-error{display:block;color:#C2410C;font-size:13.5px;font-weight:600;margin-top:6px;}
[hidden]{display:none !important;}

/* Header navigation */
.nav-logo{height:38px;width:auto;max-width:none;display:block;flex:0 0 auto;}
.nav-bar{max-width:1140px;margin:0 auto;padding:12px 20px;}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.nav-desktop{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;}
/* Mobile-only: full-width primary CTA below the top row (wraps rather than overflow) */
.nav-cta-mobile{display:none;align-items:center;justify-content:center;gap:9px;text-align:center;line-height:1.25;font-size:17px;padding:14px 16px;margin-top:12px;}
.nav-cta-mobile svg{flex:0 0 auto;}

/* Mobile-only: About / Plan Links text links beside the logo */
.nav-links-mobile{display:none;align-items:center;gap:22px;}
.nav-text{font-weight:700;font-size:17px;color:var(--teal);white-space:nowrap;transition:color var(--duration) var(--ease);}
.nav-text:hover{color:var(--teal-dark);}
.nav-text[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;}

@media (max-width:768px){
  .nav-desktop{display:none;}
  .nav-links-mobile{display:flex;}
  .nav-cta-mobile{display:flex;width:100%;}
  .nav-logo{height:32px;}
}
@media (max-width:380px){
  .nav-logo{height:28px;}
  .nav-links-mobile{gap:16px;}
  .nav-text{font-size:16px;}
}

/* Consultation page layout — mobile: intro, form, contact; desktop: 2 columns */
.consult-grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,5vw,36px);align-items:start;}
.consult-intro{order:1;}
.consult-form{order:2;}
.consult-contact{order:3;}
@media (min-width:769px){
  .consult-grid{grid-template-columns:1fr 1fr;grid-template-areas:"intro form" "contact form";column-gap:clamp(40px,5vw,60px);row-gap:28px;}
  .consult-intro{grid-area:intro;}
  .consult-form{grid-area:form;}
  .consult-contact{grid-area:contact;}
}

/* Subtle scroll-reveal (progressive enhancement; only active with JS) */
.reveal{transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js .reveal{opacity:0;transform:translateY(24px);will-change:opacity,transform;}
.js .reveal.is-visible{opacity:1;transform:none;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important;}
  .btn-primary.lift:hover,.banner-cta:hover,.surface-card:hover,.link-card:hover{transform:none;}
  .js .reveal{opacity:1 !important;transform:none !important;}
  .reveal{transition:none !important;}
}
