/* SMG V31.0 PRODUCTION ENGINEERING LOCK
   Hard final layer for production: stable header, no overlap, no photo collision,
   locked cards/footer grids, responsive MacBook/iPad/iPhone/Android behavior. */

:root{
  --smg-bg:#050505;
  --smg-panel:rgba(8,10,13,.90);
  --smg-panel-soft:rgba(14,14,16,.78);
  --smg-gold:#d7af45;
  --smg-gold-soft:#f4dfa0;
  --smg-gold-hot:#ffca45;
  --smg-line:rgba(215,175,69,.42);
  --smg-text:#f8f4e9;
  --smg-muted:rgba(248,244,233,.76);
  --smg-max:1180px;
  --smg-side:clamp(18px,3vw,44px);
  --smg-radius:24px;
}

*,
*::before,
*::after{box-sizing:border-box!important;}

html,
body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  background:#050505!important;
}

body{
  margin:0!important;
  color:var(--smg-text)!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

img,video,svg,canvas,iframe{
  max-width:100%!important;
  height:auto!important;
}

main,
.page,
.content,
section,
.section{
  position:relative!important;
  clear:both!important;
  max-width:100%!important;
  overflow:hidden!important;
  z-index:1!important;
}

/* GLOBAL CONTAINER LOCK */
.wrap,
.container,
.smg-wrap,
.smg-container,
main > .wrap,
section > .wrap,
.section > .wrap,
.hero > .wrap,
.footer-wrap{
  width:min(var(--smg-max), calc(100vw - 40px))!important;
  max-width:var(--smg-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* HEADER: never overlap. On laptop/tablet use Menu instead of cramped nav. */
.smg-guardian-header{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:9999!important;
  width:100%!important;
  background:rgba(5,5,5,.96)!important;
  border-bottom:1px solid var(--smg-line)!important;
  backdrop-filter:blur(16px)!important;
  overflow:visible!important;
}

.smg-guardian-strip{display:none!important;}

.smg-guardian-nav{
  width:min(1240px, calc(100vw - 36px))!important;
  max-width:1240px!important;
  margin:0 auto!important;
  min-height:72px!important;
  padding:9px 0!important;
  display:grid!important;
  grid-template-columns:minmax(190px,260px) minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;
}

.smg-guardian-brand{
  min-width:0!important;
  max-width:260px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow:hidden!important;
}

.smg-guardian-brand img{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  object-fit:contain!important;
  border-radius:10px!important;
}

.smg-guardian-brand span{min-width:0!important;display:block!important;}

.smg-guardian-brand strong{
  display:block!important;
  color:var(--smg-gold-soft)!important;
  font-size:clamp(13px,1.05vw,17px)!important;
  line-height:1.04!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.smg-guardian-brand small{
  display:block!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:normal!important;
}

.smg-guardian-links{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:clamp(10px,.9vw,18px)!important;
  overflow:visible!important;
}

.smg-guardian-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  padding:9px 0!important;
  min-height:34px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(11px,.78vw,13px)!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  border:0!important;
  background:transparent!important;
  text-shadow:none!important;
}

.smg-guardian-links a[href*="client-intake"],
.smg-guardian-links a[href*="Open"],
.smg-guardian-links a[href*="open"]{
  padding:9px 16px!important;
  border:1px solid var(--smg-line)!important;
  border-radius:999px!important;
  color:var(--smg-gold-soft)!important;
}

.smg-guardian-menu{
  display:none!important;
  justify-self:end!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 18px!important;
  border:1px solid var(--smg-line)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:rgba(215,175,69,.10)!important;
  font-weight:800!important;
}

/* MacBook and small desktop: use Menu instead of squeezed nav */
@media (max-width:1280px){
  .smg-guardian-nav{
    grid-template-columns:minmax(180px,1fr) auto!important;
    width:calc(100vw - 28px)!important;
  }
  .smg-guardian-menu{display:inline-flex!important;}
  .smg-guardian-links{
    grid-column:1 / -1!important;
    display:none!important;
    margin-top:12px!important;
    padding:14px!important;
    border:1px solid var(--smg-line)!important;
    border-radius:18px!important;
    background:rgba(5,5,5,.985)!important;
    box-shadow:0 24px 54px rgba(0,0,0,.58)!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    justify-content:stretch!important;
  }
  .smg-guardian-links.open,
  .smg-guardian-links[data-open="true"],
  .smg-guardian-header.is-open .smg-guardian-links{
    display:grid!important;
  }
  .smg-guardian-links a{
    width:100%!important;
    justify-content:flex-start!important;
    padding:12px 14px!important;
    border:1px solid rgba(215,175,69,.14)!important;
    border-radius:12px!important;
    font-size:13px!important;
    background:rgba(255,255,255,.02)!important;
  }
}

@media (max-width:720px){
  .smg-guardian-links{grid-template-columns:1fr!important;}
}

/* TYPOGRAPHY: premium but controlled, no broken words */
h1,h2,h3,h4,
.smg-home-title,
.smg-home-title span,
.card h3,
.step b,
[class*="title"],
[class*="heading"],
.smg-guardian-footer h3,
.smg-guardian-footer h4{
  color:var(--smg-gold-soft)!important;
  background:linear-gradient(180deg,#fff7c3 0%,#d7af45 48%,#a66c10 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  max-width:100%!important;
}

.smg-home-title{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(44px,5.6vw,76px)!important;
  line-height:.94!important;
  letter-spacing:-.022em!important;
  margin:0 0 24px!important;
  max-width:620px!important;
}

.smg-home-title span{
  display:block!important;
  white-space:nowrap!important;
}

h1{
  font-size:clamp(40px,4.8vw,70px)!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
}
h2,.head h2{
  font-size:clamp(30px,3.2vw,50px)!important;
  line-height:1.06!important;
}
h3,.card h3{
  font-size:clamp(22px,2vw,32px)!important;
  line-height:1.08!important;
}

p,li,small,span,div,a,button,input,textarea,select{
  hyphens:none!important;
  word-break:normal!important;
}

p,li{
  color:var(--smg-muted)!important;
  line-height:1.58!important;
}

/* HERO AND MEDIA: no content/photo collision */
.hero,
[class*="hero"]{
  min-height:0!important;
  overflow:hidden!important;
  padding:clamp(46px,5vw,82px) 0!important;
}

.heroGrid,
.hero-grid,
.smg-hero-grid,
.split,
[class*="hero-grid"]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px)!important;
  gap:clamp(26px,4vw,58px)!important;
  align-items:center!important;
  min-width:0!important;
  max-width:100%!important;
}

.heroGrid > *,
.hero-grid > *,
.smg-hero-grid > *,
.split > *,
[class*="hero-grid"] > *{
  min-width:0!important;
  max-width:100%!important;
  position:relative!important;
  float:none!important;
  transform:none!important;
}

.founderLivePhoto,
.media,
figure,
.executive-photo-card,
[class*="photo"],
[class*="image"]{
  position:relative!important;
  float:none!important;
  transform:none!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.founderLivePhoto img,
.media img,
figure img,
.executive-photo-card img,
[class*="photo"] img,
[class*="image"] img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  border-radius:18px!important;
}

@media (max-width:980px){
  .heroGrid,
  .hero-grid,
  .smg-hero-grid,
  .split,
  [class*="hero-grid"]{
    grid-template-columns:1fr!important;
  }
  .smg-home-title span{white-space:normal!important;}
  .smg-home-title{font-size:clamp(38px,10vw,58px)!important;}
}

/* SECTION LOCK */
section,.section{
  padding:clamp(42px,5vw,76px) 0!important;
  margin:0!important;
}

.panel,
.card,
.step,
.smg-media-card,
article,
[class*="card"],
[class*="panel"],
[class*="module"]{
  min-width:0!important;
  max-width:100%!important;
  position:relative!important;
  float:none!important;
  inset:auto!important;
  transform:none!important;
  overflow:hidden!important;
}

.grid,
.cards,
.steps,
.module-grid,
.service-grid,
.property-grid,
.jobs-grid,
.smg-media-grid,
[class*="grid"]{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
  gap:clamp(18px,2.2vw,30px)!important;
  align-items:stretch!important;
  min-width:0!important;
  max-width:100%!important;
}

.card,
.step,
.smg-media-card,
.panel,
[class*="card"],
[class*="panel"]{
  border:1px solid var(--smg-line)!important;
  border-radius:var(--smg-radius)!important;
  background:linear-gradient(135deg,rgba(10,11,13,.92),rgba(19,16,9,.72))!important;
  box-shadow:0 18px 46px rgba(0,0,0,.36)!important;
  padding:clamp(20px,2.2vw,30px)!important;
}

.tag,.badge,.kicker,[class*="tag"],[class*="badge"]{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* CONTROL MODULE: centered block, not floating over content */
.smg-executive-control-card{
  display:block!important;
  position:relative!important;
  clear:both!important;
  float:none!important;
  inset:auto!important;
  transform:none!important;
  z-index:2!important;
  width:min(var(--smg-max), calc(100vw - 40px))!important;
  max-width:var(--smg-max)!important;
  margin:28px auto!important;
  padding:24px!important;
  border:1px solid var(--smg-line)!important;
  border-radius:var(--smg-radius)!important;
  background:linear-gradient(135deg,rgba(10,11,13,.94),rgba(18,15,9,.72))!important;
  overflow:hidden!important;
}

.smg-control-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
  gap:12px!important;
}

.smg-control-grid a,
.smg-control-status span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  border:1px solid var(--smg-line)!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

/* FOOTER: production fixed, no vertical legal mess */
.smg-guardian-footer{
  clear:both!important;
  position:relative!important;
  z-index:5!important;
  margin:72px 0 0!important;
  padding:0 0 30px!important;
  border-top:1px solid var(--smg-line)!important;
  background:linear-gradient(180deg,rgba(5,5,5,.15),rgba(5,5,5,.98))!important;
  overflow:hidden!important;
}

.smg-guardian-footer-grid{
  width:min(var(--smg-max), calc(100vw - 40px))!important;
  max-width:var(--smg-max)!important;
  margin:0 auto!important;
  padding:clamp(30px,3vw,44px) 0!important;
  display:grid!important;
  grid-template-columns:1.15fr .82fr .95fr 1.2fr!important;
  gap:clamp(18px,2.8vw,38px)!important;
  align-items:stretch!important;
}

.smg-guardian-footer section{
  min-width:0!important;
  min-height:178px!important;
  height:100%!important;
  padding:22px!important;
  border:1px solid rgba(215,175,69,.18)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,rgba(12,12,14,.76),rgba(18,15,9,.48))!important;
  overflow:hidden!important;
}

.smg-guardian-footer h3,
.smg-guardian-footer h4{
  margin:0 0 14px!important;
  font-size:clamp(18px,1.55vw,26px)!important;
  line-height:1.05!important;
}

.smg-guardian-footer p,
.smg-guardian-footer a{
  font-size:14px!important;
  line-height:1.45!important;
}

.smg-guardian-footer a{
  display:block!important;
  margin:0 0 11px!important;
  color:rgba(255,255,255,.9)!important;
  overflow-wrap:anywhere!important;
}

.smg-final-copyright{
  width:min(var(--smg-max), calc(100vw - 40px))!important;
  max-width:var(--smg-max)!important;
  margin:0 auto!important;
  padding:18px 0 0!important;
  border-top:1px solid var(--smg-line)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:20px!important;
  align-items:center!important;
  color:rgba(255,255,255,.75)!important;
  font-size:13px!important;
  line-height:1.4!important;
}

.smg-final-copyright span:first-child{
  min-width:0!important;
}

.smg-final-copyright span:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}

.smg-final-copyright a{
  display:inline-flex!important;
  margin:0!important;
  color:var(--smg-gold-soft)!important;
  white-space:nowrap!important;
}

.smg-final-copyright span:last-child br,
.smg-final-copyright span:last-child::before,
.smg-final-copyright span:last-child::after{
  display:none!important;
  content:none!important;
}

/* medium layouts: footer becomes 2x2, legal stays clean */
@media (max-width:1100px){
  .smg-guardian-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .smg-final-copyright{
    grid-template-columns:1fr!important;
  }
  .smg-final-copyright span:last-child{
    justify-content:flex-start!important;
  }
}

@media (max-width:640px){
  .wrap,.container,.smg-wrap,.smg-container,main>.wrap,section>.wrap,.section>.wrap,.hero>.wrap,.footer-wrap,
  .smg-executive-control-card,
  .smg-guardian-footer-grid,
  .smg-final-copyright{
    width:calc(100vw - 28px)!important;
  }
  .smg-guardian-footer-grid{
    grid-template-columns:1fr!important;
  }
  h1{font-size:clamp(34px,10vw,52px)!important;}
  h2,.head h2{font-size:clamp(28px,8vw,42px)!important;}
  h3,.card h3{font-size:clamp(22px,7vw,32px)!important;}
  .actions,.btnrow{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .btn,button,[class*="btn"]{
    width:100%!important;
    justify-content:center!important;
  }
}

/* Kill old floating pills that were overlapping pages */
.float,
.floating,
[class*="floating"],
[style*="position: fixed"][class*="whatsapp"]{
  max-width:calc(100vw - 28px)!important;
}

/* Do not allow any accidental sideways expansion */
body > *,
main > *,
section > *{
  max-width:100%!important;
}
