/* SMG V31.1 EMERGENCY LAYOUT RESET
   Purpose: production-safe layout reset after V30/V31 visual drift.
   Rules: normal document flow, no floating overlays, no section/image collisions,
   compact professional spacing, stable header/footer on MacBook, desktop, tablet and phone. */
:root{
  --smg-bg:#050505;
  --smg-panel:rgba(8,10,13,.90);
  --smg-panel-soft:rgba(12,12,14,.76);
  --smg-gold:#d7af45;
  --smg-gold-light:#fff0a8;
  --smg-gold-dark:#a86f13;
  --smg-text:#f8f3e6;
  --smg-muted:rgba(248,243,230,.80);
  --smg-line:rgba(215,175,69,.42);
  --smg-line-soft:rgba(215,175,69,.22);
  --smg-radius:22px;
  --smg-max:1180px;
  --smg-side:clamp(16px,3vw,34px);
  --smg-section:clamp(34px,4.2vw,62px);
}
*,*::before,*::after{box-sizing:border-box!important;}
html{margin:0!important;min-width:0!important;overflow-x:hidden!important;background:var(--smg-bg)!important;scroll-behavior:smooth!important;}
body{margin:0!important;min-width:0!important;overflow-x:hidden!important;background:radial-gradient(circle at 50% -10%,rgba(215,175,69,.10),transparent 30%),#050505!important;color:var(--smg-text)!important;font-family:Inter,Arial,sans-serif!important;}
a{color:inherit!important;text-decoration:none!important;}
img,video,canvas,svg{max-width:100%!important;height:auto!important;}
body>*,main>*{max-width:100%!important;}
main{display:block!important;position:relative!important;z-index:1!important;width:100%!important;max-width:100%!important;overflow:visible!important;clear:both!important;}
/* Remove hidden overlay behavior from previous versions */
.smg-executive-control-card,.float,.floating,.smg-floating,.smg-control-fixed,[class*="float"]{
  position:relative!important;inset:auto!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;float:none!important;z-index:2!important;
}
.float{display:none!important;}
/* Universal production container */
.wrap,.container,.smg-wrap,.smg-container,.content,.inner,main>.wrap,section>.wrap,.section>.wrap,.hero>.wrap,footer>.wrap{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!important;
  max-width:var(--smg-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-width:0!important;
}
/* Header: stable, wrapping, no menu overlap */
.smg-guardian-header,header[data-smg-global-header="true"]{
  position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;max-width:100%!important;
  background:rgba(5,5,5,.96)!important;backdrop-filter:blur(14px)!important;
  border-bottom:1px solid var(--smg-line)!important;overflow:visible!important;margin:0!important;
}
.smg-guardian-strip{display:none!important;}
.smg-guardian-nav{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!important;max-width:var(--smg-max)!important;
  margin:0 auto!important;padding:10px 0!important;min-height:72px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  flex-wrap:wrap!important;overflow:visible!important;
}
.smg-guardian-brand{display:flex!important;align-items:center!important;gap:10px!important;flex:0 1 250px!important;min-width:190px!important;max-width:270px!important;overflow:hidden!important;}
.smg-guardian-brand img{width:42px!important;height:42px!important;object-fit:contain!important;flex:0 0 42px!important;border-radius:10px!important;}
.smg-guardian-brand span{display:block!important;min-width:0!important;line-height:1.06!important;}
.smg-guardian-brand strong{display:block!important;color:var(--smg-gold-light)!important;font-size:clamp(13px,1vw,17px)!important;line-height:1.05!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.smg-guardian-brand small{display:block!important;font-size:11px!important;line-height:1.15!important;color:var(--smg-muted)!important;white-space:normal!important;}
.smg-guardian-menu{display:none!important;}
.smg-guardian-links{
  flex:1 1 620px!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:clamp(12px,1.15vw,22px)!important;flex-wrap:wrap!important;overflow:visible!important;line-height:1!important;
}
.smg-guardian-links a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;
  padding:7px 0!important;margin:0!important;border:0!important;background:transparent!important;
  color:rgba(255,255,255,.92)!important;font-size:clamp(11px,.82vw,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;
}
.smg-guardian-links a[href*="client-intake"],.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-light)!important;}
/* Page sections: normal flow, no massive gaps, no cutting */
section,.section,.hero{
  position:relative!important;clear:both!important;display:block!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:var(--smg-section) 0!important;min-height:0!important;height:auto!important;overflow:visible!important;
}
section + section,.section + .section{margin-top:0!important;}
.hero{padding-top:clamp(42px,5vw,78px)!important;padding-bottom:clamp(42px,5vw,76px)!important;}
/* Grid standards */
.heroGrid,.hero-grid,.smg-hero-grid,.split,.two,.grid.two{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,430px)!important;
  gap:clamp(22px,3.6vw,52px)!important;align-items:center!important;min-width:0!important;width:100%!important;
}
.grid,.cards,.steps,.smg-media-grid,.module-grid,.service-grid,.property-grid,.jobs-grid,.executive-photo-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
  gap:clamp(18px,2.2vw,28px)!important;align-items:stretch!important;width:100%!important;min-width:0!important;
}
/* Panels/cards: fixed geometry, never absolute */
.panel,.card,.step,.media,.smg-media-card,.smg-v28-contact-card,article[class*="card"],div[class*="card"]{
  position:relative!important;float:none!important;inset:auto!important;transform:none!important;min-width:0!important;max-width:100%!important;height:auto!important;
  overflow:visible!important;border:1px solid var(--smg-line)!important;border-radius:var(--smg-radius)!important;
  background:linear-gradient(135deg,rgba(10,11,13,.91),rgba(18,15,9,.68))!important;box-shadow:0 18px 44px rgba(0,0,0,.34)!important;
}
.card,.step,.smg-media-card,.panel{padding:clamp(20px,2.3vw,30px)!important;}
.card,.step,.smg-media-card{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:12px!important;min-height:190px!important;}
.card>*,.panel>*,.step>*,.smg-media-card>*{min-width:0!important;max-width:100%!important;}
/* Contact and extra legacy blocks: compact and aligned */
.smg-v28-contact-card,[data-smg-contact-card="true"]{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!important;margin:var(--smg-section) auto!important;padding:clamp(22px,2.6vw,34px)!important;
  display:block!important;clear:both!important;
}
.smg-v28-founder-restore{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,380px)!important;gap:clamp(20px,3vw,40px)!important;align-items:center!important;}
/* Control module becomes clean section before footer */
.smg-executive-control-card{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!important;max-width:var(--smg-max)!important;
  margin:var(--smg-section) auto!important;padding:clamp(20px,2.5vw,30px)!important;display:block!important;clear:both!important;
  border:1px solid var(--smg-line)!important;border-radius:var(--smg-radius)!important;background:linear-gradient(135deg,rgba(10,11,13,.92),rgba(18,15,9,.70))!important;
}
.smg-control-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;gap:12px!important;width:100%!important;}
.smg-control-grid a,.smg-control-status span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 12px!important;border:1px solid var(--smg-line)!important;border-radius:999px!important;white-space:nowrap!important;}
.smg-control-status{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:14px!important;}
/* Typography: gold headings, no broken words */
h1,h2,h3,h4,h5,.head h2,.card h3,.step b,.panel h2,.panel h3,.smg-home-title span,.smg-guardian-footer h3,.smg-guardian-footer h4{
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-wrap:balance!important;
  color:var(--smg-gold-light)!important;background:linear-gradient(180deg,#fff6be 0%,#d7af45 45%,#a86f13 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:0 0 20px rgba(215,175,69,.16)!important;
}
h1{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(42px,5.4vw,74px)!important;line-height:.98!important;letter-spacing:-.025em!important;margin:0 0 20px!important;}
h2,.head h2,.panel h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(30px,3.1vw,50px)!important;line-height:1.05!important;letter-spacing:-.02em!important;margin:0 0 14px!important;}
h3,.card h3,.panel h3{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(22px,1.9vw,32px)!important;line-height:1.10!important;margin:0 0 10px!important;}
h4{font-size:clamp(16px,1.2vw,22px)!important;line-height:1.15!important;margin:0 0 12px!important;}
p,li,small,span,div,a,b,strong,label,input,select,textarea,button{hyphens:none!important;}
p{color:var(--smg-muted)!important;line-height:1.58!important;margin-top:0!important;}
.smg-home-title{max-width:650px!important;margin:0 0 22px!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(44px,6vw,78px)!important;line-height:.93!important;letter-spacing:-.025em!important;}
.smg-home-title span{display:block!important;white-space:nowrap!important;}
.tag,.kicker,.badge,.smg-media-type,[class*="tag"],[class*="badge"]{display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;}
.actions,.btnrow{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:13px!important;}
.btn,button,[class*="btn"]{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;max-width:100%!important;min-height:40px!important;}
input,select,textarea{max-width:100%!important;}
/* Images: contained, no text on top */
figure,.founderLivePhoto,.media{margin:0!important;overflow:hidden!important;}
.founderLivePhoto img,.media img,.executive-photo-card img,figure img{display:block!important;width:100%!important;max-width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;border-radius:18px!important;}
/* Footer: no drift, no vertical legal column */
.smg-guardian-footer,footer[data-smg-global-footer="true"]{
  position:relative!important;clear:both!important;z-index:5!important;width:100%!important;max-width:100%!important;
  margin:var(--smg-section) 0 0!important;padding:0 0 28px!important;overflow:visible!important;
  border-top:1px solid var(--smg-line)!important;background:linear-gradient(180deg,rgba(5,5,5,.18),rgba(5,5,5,.98))!important;
}
.smg-guardian-footer-grid{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!important;max-width:var(--smg-max)!important;margin:0 auto!important;
  padding:clamp(26px,3vw,38px) 0!important;display:grid!important;grid-template-columns:1.15fr .82fr .95fr 1.16fr!important;
  gap:clamp(16px,2.8vw,34px)!important;align-items:stretch!important;
}
.smg-guardian-footer section{min-height:160px!important;height:auto!important;padding:clamp(18px,2vw,24px)!important;overflow:visible!important;}
.smg-guardian-footer h3,.smg-guardian-footer h4{margin:0 0 12px!important;font-size:clamp(17px,1.45vw,25px)!important;line-height:1.05!important;}
.smg-guardian-footer p{margin:0 0 14px!important;font-size:13.5px!important;line-height:1.45!important;color:var(--smg-muted)!important;}
.smg-guardian-footer a{display:block!important;margin:0 0 10px!important;color:rgba(255,255,255,.92)!important;font-size:13.5px!important;line-height:1.32!important;overflow-wrap:anywhere!important;word-break:normal!important;}
.smg-final-copyright{
  width:min(var(--smg-max),calc(100vw - (var(--smg-side) * 2)))!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:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;
  color:rgba(255,255,255,.76)!important;font-size:12.5px!important;line-height:1.35!important;
}
.smg-final-copyright span{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;}
.smg-final-copyright span:last-child{justify-content:flex-end!important;}
.smg-final-copyright a{display:inline!important;margin:0!important;color:var(--smg-gold-light)!important;white-space:nowrap!important;}
.smg-final-copyright br,.smg-final-copyright span:last-child br{display:none!important;}
/* Laptop specific: when menu is too wide, do not overlap; wrap to second line cleanly */
@media (max-width:1280px){
  .smg-guardian-nav{width:calc(100vw - 28px)!important;gap:12px!important;}
  .smg-guardian-brand{flex-basis:225px!important;max-width:235px!important;}
  .smg-guardian-links{gap:12px!important;flex:1 1 680px!important;}
  .smg-guardian-links a{font-size:11.5px!important;}
  .heroGrid,.hero-grid,.smg-hero-grid,.split,.two,.grid.two{grid-template-columns:minmax(0,1fr) minmax(270px,390px)!important;gap:28px!important;}
  .smg-home-title{font-size:clamp(40px,5.4vw,64px)!important;}
  .smg-guardian-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
}
@media (max-width:1040px){
  .smg-guardian-nav{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;}
  .smg-guardian-menu{display:inline-flex!important;grid-column:2!important;align-items:center!important;justify-content:center!important;padding:10px 18px!important;border:1px solid var(--smg-line)!important;border-radius:999px!important;background:rgba(215,175,69,.10)!important;color:#fff!important;}
  .smg-guardian-links{grid-column:1 / -1!important;display:none!important;margin-top:10px!important;padding:14px!important;border:1px solid var(--smg-line)!important;border-radius:18px!important;background:rgba(5,5,5,.98)!important;justify-content:flex-start!important;}
  .smg-guardian-links.open,.smg-guardian-links[data-open="true"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 12px!important;}
  .smg-guardian-links a{justify-content:flex-start!important;width:100%!important;padding:12px 14px!important;font-size:14px!important;border-bottom:1px solid rgba(215,175,69,.14)!important;}
  .heroGrid,.hero-grid,.smg-hero-grid,.split,.two,.grid.two,.smg-v282-founder-restore{grid-template-columns:1fr!important;}
  .smg-guardian-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:720px){
  :root{--smg-side:14px;--smg-section:32px;}
  .wrap,.container,.smg-wrap,.smg-container,.content,.inner,main>.wrap,section>.wrap,.section>.wrap,.hero>.wrap,.smg-v28-contact-card,.smg-executive-control-card,.smg-guardian-footer-grid,.smg-final-copyright{width:calc(100vw - 28px)!important;}
  .smg-guardian-links.open,.smg-guardian-links[data-open="true"]{grid-template-columns:1fr!important;}
  .grid,.cards,.steps,.smg-media-grid,.module-grid,.service-grid,.property-grid,.jobs-grid,.executive-photo-grid{grid-template-columns:1fr!important;}
  .smg-guardian-footer-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .smg-guardian-footer section{min-height:0!important;}
  .smg-final-copyright{display:block!important;}
  .smg-final-copyright span,.smg-final-copyright span:last-child{display:flex!important;justify-content:flex-start!important;margin-top:10px!important;}
  h1{font-size:clamp(36px,12vw,54px)!important;}
  h2,.head h2,.panel h2{font-size:clamp(28px,9vw,42px)!important;}
  h3,.card h3{font-size:clamp(22px,7vw,32px)!important;}
  .smg-home-title{font-size:clamp(34px,11vw,52px)!important;}
  .smg-home-title span{white-space:normal!important;}
  .actions,.btnrow{display:grid!important;grid-template-columns:1fr!important;}
  .btn,button,[class*="btn"]{width:100%!important;justify-content:center!important;}
}
/* kill final accidental horizontal expansion */
body *{max-width:100%;}
