/* ============================================================
   RESPONSIVE SAFETY NET — force any inline multi-column grid to a
   single column on phones/small tablets. !important beats inline
   styles, so this works even where CSS min()/auto-fit is unreliable
   (e.g. some iOS Safari versions). Guarantees no 2-col overflow.
   ============================================================ */
@media (max-width: 768px){
  [style*="grid-template-columns"]{ grid-template-columns: 1fr !important; }
  .site-footer__grid{ grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 460px){
  .site-footer__grid{ grid-template-columns: 1fr !important; }
}
/* defensive: media + long words/URLs never force horizontal overflow */
img,video{ max-width: 100%; height: auto; }
h1,h2,h3,h4,p,li,a,span,td{ overflow-wrap: break-word; }
.section-inner,.site-nav__in,.site-footer__in{ max-width: 100%; }

/* ============================================================
   MEWAYZ Foundation — shared design system (matches homepage)
   Loaded LAST on every sub-page so it governs the site look.
   Navy #1e3a5f · Gold #c9a227 · Cream #f8f6f3 · Playfair + DM Sans
   ============================================================ */

/* ---- Fonts (self-hosted, same as homepage) ---- */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/public/fonts/dm-sans-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/public/fonts/dm-sans-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/public/fonts/dm-sans-600-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/public/fonts/dm-sans-700-normal.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('/public/fonts/playfair-display-700-normal.woff2') format('woff2');}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:800;font-display:swap;src:url('/public/fonts/playfair-display-800-normal.woff2') format('woff2');}

:root{
  --navy:#1e3a5f; --navy-2:#2d5a87; --navy-3:#3d7ab3;
  --gold:#c9a227; --gold-dark:#a5851f;
  --cream:#f8f6f3; --ink:#1e3a5f; --muted:#5a6c7d;
  --line:#e5e0d8; --sans:'DM Sans',sans-serif; --serif:'Playfair Display',serif;
}

/* ---- Base ---- */
body{font-family:var(--sans) !important;background:var(--cream) !important;color:var(--muted);line-height:1.65;}
h1,h2,h3,h4,.section-title,.hero h1,.hero-section h1,.hero h2,.hero-section h2{
  font-family:var(--serif) !important;color:var(--navy);line-height:1.15;}
p,li,td,label,input,textarea,select,button{font-family:var(--sans);}
a{color:var(--navy);}

/* ---- Accents / eyebrow labels ---- */
.subtitle,.badge,.eyebrow{color:var(--gold) !important;text-transform:uppercase;letter-spacing:0.14em;font-weight:700;font-size:0.75rem;font-family:var(--sans);}
.text-gold{color:var(--gold) !important;}
.text-green{color:var(--navy) !important;}

/* ---- Buttons: gold pill (homepage style) ---- */
.btn,.btn-primary,a.btn,button.btn{
  display:inline-block;background:var(--gold) !important;color:#fff !important;
  border:none;border-radius:9999px !important;padding:0.85rem 2rem;font-weight:600;
  font-family:var(--sans);font-size:0.95rem;text-decoration:none;cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease;box-shadow:0 4px 14px rgba(201,162,39,.25);}
.btn:hover,.btn-primary:hover,a.btn:hover,button.btn:hover{transform:translateY(-2px) scale(1.02);background:var(--gold-dark) !important;}
.btn-outline{
  display:inline-block;background:transparent !important;color:var(--navy) !important;
  border:1.5px solid var(--navy) !important;border-radius:9999px !important;padding:0.8rem 2rem;
  font-weight:600;font-family:var(--sans);text-decoration:none;transition:all .25s ease;}
.btn-outline:hover{background:var(--navy) !important;color:#fff !important;}

/* ---- Cards (rounded, soft shadow, hover lift) ---- */
.card{background:#fff;border:1px solid #eef0ee;border-radius:20px !important;
  box-shadow:0 6px 24px rgba(30,58,95,.06);transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s;}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(30,58,95,.10);}
.card-icon{background:linear-gradient(135deg,var(--navy),var(--navy-2)) !important;color:#fff !important;
  border-radius:16px !important;}
.card-icon svg,.card-icon i{color:#fff !important;}

/* ---- Section rhythm ---- */
.hero-section,.hero{background:var(--cream);}
.section .subtitle,.hero .badge,.hero-section .badge{color:var(--gold) !important;}

/* ---- Dark sections + footer: navy gradient ---- */
.dark-section{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%) !important;color:#fff;}
.dark-section h1,.dark-section h2,.dark-section h3{color:#fff !important;}

/* ============================================================
   Shared site header (matches homepage nav)
   ============================================================ */
.site-nav{position:sticky;top:0;z-index:1000;background:rgba(248,246,243,.95);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);font-family:var(--sans);}
.site-nav__in{max-width:80rem;margin:0 auto;padding:0.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.site-nav__brand{display:flex;align-items:center;gap:0.65rem;text-decoration:none;}
.site-nav__logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy),var(--navy-2));flex-shrink:0;}
.site-nav__logo svg{width:26px;height:26px;color:#fff;}
.site-nav__name{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--navy);line-height:1;}
.site-nav__loc{font-size:0.78rem;color:var(--muted);margin-left:0.5rem;}
.site-nav__links{display:flex;align-items:center;gap:1.75rem;}
.site-nav__links a{color:var(--navy);text-decoration:none;font-size:0.9rem;font-weight:500;position:relative;}
.site-nav__links a::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--gold);transition:width .3s;}
.site-nav__links a:hover::after{width:100%;}
.site-nav__cta{background:var(--gold) !important;color:#fff !important;padding:0.6rem 1.35rem;border-radius:9999px;
  font-weight:600;font-size:0.9rem;text-decoration:none;transition:transform .25s;}
.site-nav__cta::after{display:none !important;}
.site-nav__cta:hover{transform:scale(1.05);}
.site-nav__toggle{display:none;background:none;border:none;color:var(--navy);cursor:pointer;padding:0.4rem;}
.site-nav__toggle svg{width:26px;height:26px;}
@media(max-width:860px){
  .site-nav__links{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--cream);border-bottom:1px solid var(--line);padding:0.5rem 1.5rem 1rem;display:none;}
  .site-nav__links.open{display:flex;}
  .site-nav__links a{padding:0.7rem 0;font-size:1rem;}
  .site-nav__links a::after{display:none;}
  .site-nav__cta{text-align:center;margin-top:0.5rem;}
  .site-nav__toggle{display:block;}
  .site-nav__loc{display:none;}
}

/* ============================================================
   Shared footer (matches homepage)
   ============================================================ */
.site-footer{background:var(--navy);color:rgba(255,255,255,.75);font-family:var(--sans);padding:4rem 1.5rem 2rem;}
.site-footer__in{max-width:80rem;margin:0 auto;}
.site-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2.5rem;margin-bottom:2.5rem;}
.site-footer h4{color:#fff;font-family:var(--sans);font-weight:600;margin-bottom:1rem;font-size:0.95rem;}
.site-footer__brand{font-family:var(--serif);font-weight:700;color:#fff;font-size:1.15rem;margin-bottom:0.75rem;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin:0.6rem 0;}
.site-footer a{color:rgba(255,255,255,.75);text-decoration:none;font-size:0.9rem;}
.site-footer a:hover{color:#fff;}
.site-footer__note{font-size:0.85rem;line-height:1.6;color:rgba(255,255,255,.6);}
.site-footer__bar{border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:0.5rem;font-size:0.8rem;color:rgba(255,255,255,.5);}
