/* SMG V31.6 GOLD MASTER CLEANUP
   Final release layer: restores SMG visual identity while locking every block inside its own grid/line. */
:root{
  --smg-black:#050505;
  --smg-black-2:#090909;
  --smg-panel:rgba(9,9,9,.90);
  --smg-panel-2:rgba(15,15,15,.84);
  --smg-gold:#d4af37;
  --smg-gold-soft:#f7e7a6;
  --smg-gold-deep:#9f7a23;
  --smg-white:#fff8e6;
  --smg-text:#f4efe2;
  --smg-muted:rgba(244,239,226,.76);
  --smg-line:rgba(212,175,55,.34);
  --smg-line-strong:rgba(247,231,166,.56);
  --smg-max:1180px;
  --smg-pad:clamp(18px,3vw,34px);
  --smg-section:clamp(42px,6vw,78px);
  --smg-radius:22px;
}
*{box-sizing:border-box!important;min-width:0}
html{background:#050505!important;scroll-behavior:smooth;overflow-x:hidden!important}
body{
  margin:0!important;
  min-width:0!important;
  overflow-x:hidden!important;
  color:var(--smg-text)!important;
  background:
    radial-gradient(circle at 78% 8%,rgba(212,175,55,.105),transparent 28%),
    radial-gradient(circle at 18% 38%,rgba(247,231,166,.045),transparent 26%),
    linear-gradient(180deg,#050505 0%,#080808 42%,#050505 100%)!important;
}
body::before{
  content:"SMG";
  position:fixed;
  right:-7vw;
  bottom:4vh;
  z-index:0;
  pointer-events:none;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(150px,22vw,390px);
  font-weight:800;
  letter-spacing:-.09em;
  line-height:.78;
  color:transparent;
  -webkit-text-stroke:1px rgba(247,231,166,.135);
  text-shadow:0 0 70px rgba(212,175,55,.07);
  opacity:.68;
  transform:rotate(-8deg);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(247,231,166,.038) 1px,transparent 1px),
    linear-gradient(90deg,rgba(247,231,166,.026) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.55));
  opacity:.38;
}
body>header,body>main,body>footer,.site-header,.smg-header,.topbar,.navbar,main,footer{position:relative!important;z-index:2!important}
main{display:block!important;width:100%!important;overflow:hidden!important;isolation:isolate!important}

/* Global containers: every page starts and ends from the same line. */
.wrap,.container,.smg-container,.section>.wrap,main>section>.wrap,footer>.wrap,footer>.container{
  width:100%!important;
  max-width:var(--smg-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--smg-pad)!important;
  padding-right:var(--smg-pad)!important;
}
section,.section,.smg-section,main>section{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding-top:var(--smg-section)!important;
  padding-bottom:var(--smg-section)!important;
  clear:both!important;
  overflow:hidden!important;
}
section+section,.section+.section{border-top:1px solid rgba(212,175,55,.075)!important}

/* Header/nav: no overlap, no collision between Media and Immigration. */
header,.site-header,.smg-guardian-header,.smg-hard-header{
  width:100%!important;
  overflow:visible!important;
  border-bottom:1px solid rgba(212,175,55,.18)!important;
  background:rgba(5,5,5,.78)!important;
  backdrop-filter:blur(18px)!important;
}
header .wrap,header .container,.smg-guardian-header .wrap{
  max-width:1320px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
nav,.nav,.nav-links,.navbar,#navLinks{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px 12px!important;
  min-width:0!important;
  max-width:100%!important;
}
nav a,.nav a,.nav-links a,#navLinks a,.navbar a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  max-width:100%!important;
  line-height:1.05!important;
  padding:9px 10px!important;
  border-radius:999px!important;
}
.brand,.logo,.smg-logo{min-width:0!important;max-width:100%!important;overflow:hidden!important}.brand strong,.logo strong,.smg-logo strong{color:var(--smg-gold-soft)!important}

/* Hero and split blocks: no text/photo overlay. */
.hero,.smg-hero,main>.hero,.split,.two,.smg-split,main>.two,.heroGrid,.hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)!important;
  gap:clamp(24px,4vw,54px)!important;
  align-items:center!important;
  min-height:unset!important;
  height:auto!important;
  overflow:hidden!important;
}
main>section.hero,main>.hero{max-width:var(--smg-max)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--smg-pad)!important;padding-right:var(--smg-pad)!important}
.hero>*{min-width:0!important;max-width:100%!important;position:relative!important;z-index:1!important}

/* Text: never crosses container, never overlays another element. */
h1,h2,h3,h4,.title,.gold,.smg-title,.smg-v16-title,.smg-v2834-title,.smg-v282-title{
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
  color:transparent!important;
  background:linear-gradient(92deg,#fff6c4 0%,#f7e7a6 16%,#d4af37 56%,#a9872d 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  text-shadow:0 12px 42px rgba(212,175,55,.12)!important;
}
h1{font-size:clamp(38px,4.9vw,70px)!important;line-height:1.01!important;letter-spacing:-.035em!important;margin:0 0 18px!important}
h2{font-size:clamp(27px,3.05vw,43px)!important;line-height:1.08!important;margin:0 0 14px!important}
h3{font-size:clamp(19px,1.85vw,27px)!important;line-height:1.16!important;margin:0 0 12px!important}
h4{font-size:clamp(16px,1.35vw,20px)!important;line-height:1.2!important;margin:0 0 10px!important}
p,.lead,li,span,small,b,strong,a,button,label,input,textarea,select{
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
.lead{font-size:clamp(17px,1.45vw,21px)!important;line-height:1.58!important;color:var(--smg-muted)!important}
p,li{line-height:1.66!important;color:var(--smg-muted)!important}

/* Cards / squares / panels: strict containment inside gold lines. */
.grid,.cards,.smg-grid,.steps,.smg-v2834-grid,.smg-v282-grid,.smg-v16-dashboard-grid,.smg-v28-admin-grid,.smg-control-grid{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important;
  gap:clamp(14px,1.8vw,22px)!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.card,.panel,article,.step,.doc,.smg-card,.smg-v2834-card,.smg-v282-card,.smg-v16-module,.smg-v28-admin-tile,.smg-control-grid a,form.panel,.form,
.smg-executive-control-card,.dossier-card,.smg-v183-gallery-card,.smg-v18-photo-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:unset!important;
  overflow:hidden!important;
  contain:layout paint!important;
  padding:clamp(17px,2vw,28px)!important;
  border:1px solid var(--smg-line)!important;
  border-radius:var(--smg-radius)!important;
  background:linear-gradient(180deg,rgba(15,15,15,.92),rgba(5,5,5,.92))!important;
  box-shadow:0 18px 50px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.card>*:last-child,.panel>*:last-child,.step>*:last-child{margin-bottom:0!important}
.tag,.eyebrow,.badge,.audit-badge,.pill{
  max-width:100%!important;
  white-space:normal!important;
  color:var(--smg-gold-soft)!important;
  border-color:var(--smg-line)!important;
}

/* Images/photo boxes: never leave frame. */
img,picture,video,canvas,svg{max-width:100%!important;height:auto!important}
img{display:block!important;object-fit:cover!important}
figure{margin:0!important;max-width:100%!important;overflow:hidden!important}
.photo,.image,.portrait,.smg-photo,.smg-v224-action-img,.smg-v183-gallery-card,.smg-v18-photo-card,[class*="image"],[class*="photo"]{
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:var(--smg-radius)!important;
}
.photo img,.image img,.portrait img,.smg-photo img,[class*="image"] img,[class*="photo"] img,.smg-v224-action-img{
  width:100%!important;
  max-width:100%!important;
  max-height:min(58vh,580px)!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* API / AI / CRM / ADMIN strip: restored, but never outside line. */
.smg-v316-module-strip{
  width:100%!important;
  max-width:var(--smg-max)!important;
  margin:clamp(18px,2.5vw,32px) auto 0!important;
  padding:0 var(--smg-pad)!important;
  position:relative!important;
  z-index:3!important;
  overflow:hidden!important;
}
.smg-v316-module-strip-inner{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(10px,1.5vw,16px)!important;
  padding:clamp(12px,1.8vw,18px)!important;
  border:1px solid var(--smg-line-strong)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(8,8,8,.94),rgba(0,0,0,.96))!important;
  box-shadow:0 22px 56px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.045)!important;
  overflow:hidden!important;
}
.smg-v316-module-strip a{
  min-width:0!important;
  max-width:100%!important;
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:12px 10px!important;
  text-align:center!important;
  text-decoration:none!important;
  border:1px solid rgba(247,231,166,.42)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff5c1 0%,#d4af37 58%,#9f7a23 100%)!important;
  color:#060606!important;
  box-shadow:0 14px 30px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
.smg-v316-module-strip strong{display:block!important;color:#050505!important;font-size:13px!important;line-height:1!important;letter-spacing:.12em!important;text-transform:uppercase!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
.smg-v316-module-strip span{display:block!important;color:rgba(5,5,5,.78)!important;font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}
/* Old floating dock cannot violate page frame anymore. */
.smg-v315-module-dock{display:none!important}

/* Buttons/forms: contained. */
.actions,.btns,.btnrow,.smg-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;max-width:100%!important;overflow:hidden!important}
.btn,button,[class*="btn"],a[class*="btn"]{max-width:100%!important;min-height:44px!important;white-space:normal!important;text-align:center!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.btn.primary,.primary{background:linear-gradient(135deg,#fff5c1,#d4af37 58%,#9f7a23)!important;color:#050505!important;border-color:rgba(247,231,166,.62)!important}
.btn.secondary,.btn.ghost,.ghost{background:rgba(255,255,255,.035)!important;color:var(--smg-gold-soft)!important;border-color:var(--smg-line)!important}
form,input,textarea,select{max-width:100%!important}input,textarea,select{background:#080808!important;color:var(--smg-white)!important;border:1px solid rgba(212,175,55,.28)!important;border-radius:14px!important}

/* Footer: no floating, no column collapse into broken lines. */
footer,.footer,.site-footer,.smg-guardian-footer{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  margin-top:0!important;
  padding:clamp(42px,6vw,76px) var(--smg-pad)!important;
  border-top:1px solid var(--smg-line)!important;
  background:linear-gradient(180deg,rgba(5,5,5,.96),rgba(0,0,0,.99))!important;
  clear:both!important;
  overflow:hidden!important;
}
footer .grid,.footer-grid,footer .wrap>div:first-child,.smg-guardian-footer .wrap>div:first-child{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;
  gap:18px!important;
  align-items:start!important;
  max-width:100%!important;
}
footer a,.footer a{color:var(--smg-gold-soft)!important;max-width:100%!important;overflow-wrap:break-word!important}.footer-legal,.legal-links,.smg-final-copyright,.smg-rc11-footer-links{display:flex!important;flex-wrap:wrap!important;gap:10px 16px!important;align-items:center!important;max-width:100%!important}.smg-final-copyright{justify-content:space-between!important;border-top:1px solid rgba(212,175,55,.14)!important;margin-top:22px!important;padding-top:18px!important}

/* Kill brown leftovers from older layers. */
[style*="#8b6b22"],[style*="#80611d"],[style*="brown"]{filter:saturate(.96)!important}

@media (max-width:1080px){
  .hero,.smg-hero,main>.hero,.split,.two,.smg-split,main>.two,.heroGrid,.hero-grid{grid-template-columns:1fr!important;gap:24px!important}
  header .wrap,header .container,.smg-guardian-header .wrap{align-items:flex-start!important}
  nav,.nav,.nav-links,.navbar,#navLinks{justify-content:flex-start!important}
}
@media (max-width:760px){
  :root{--smg-section:40px;--smg-pad:18px}
  body::before{font-size:145px;right:-82px;bottom:7vh;opacity:.56}
  .grid,.cards,.smg-grid,.steps,.smg-v2834-grid,.smg-v282-grid,.smg-v16-dashboard-grid,.smg-v28-admin-grid,.smg-control-grid{grid-template-columns:1fr!important}
  .smg-v316-module-strip-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .smg-v316-module-strip a{min-height:54px!important}
  h1{font-size:clamp(34px,11vw,52px)!important}
  h2{font-size:clamp(25px,8vw,38px)!important}
  nav,.nav,.nav-links,#navLinks{gap:8px!important}.nav-links:not(.open),#navLinks:not(.open){display:none!important}.nav-links.open,#navLinks.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;padding:12px 0!important}.nav-links.open a,#navLinks.open a{width:100%!important;justify-content:flex-start!important;padding:12px!important}
}
@media (max-width:430px){.smg-v316-module-strip-inner{grid-template-columns:1fr 1fr!important;padding:10px!important;gap:8px!important}.smg-v316-module-strip strong{font-size:12px!important}.smg-v316-module-strip span{font-size:9px!important}}
