
/* SMG V30.8 LAYOUT LOCK FINAL — fixes shifted sections, footer geometry, hero/photo overlap */
:root{
  --smg-gold-1:#fff3b5;
  --smg-gold-2:#f5c04a;
  --smg-gold-3:#b87918;
  --smg-line:rgba(245,192,74,.46);
  --smg-text:#f8f2e6;
  --smg-muted:rgba(248,242,230,.78);
  --smg-bg:#050505;
  --smg-panel:rgba(8,10,14,.78);
  --smg-radius:26px;
}
html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:var(--smg-bg)!important;}
*{box-sizing:border-box!important;}
main,section,header,footer{position:relative!important;max-width:100%!important;overflow-x:clip!important;transform:none!important;}
img,video,canvas,svg{max-width:100%!important;height:auto;}

/* One stable page container across every page */
.wrap,.smg-wrap,.container,.section .wrap,.hero .wrap,main>.wrap,section.wrap,
.smg-guardian-footer-grid,.smg-final-copyright{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.section{padding:clamp(48px,6vw,82px) 0!important;clear:both!important;}
.hero{padding:clamp(44px,5.5vw,74px) 0!important;clear:both!important;}

/* Main layout lock: no overlap between text/photo/cards */
.heroGrid,.split,.two{
  display:grid!important;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.86fr)!important;
  gap:clamp(28px,3.8vw,54px)!important;
  align-items:center!important;
  overflow:visible!important;
}
.heroGrid>*,.split>*,.two>*{min-width:0!important;max-width:100%!important;position:relative!important;z-index:1!important;}
.panel,.card,.step,.smg-media-card,.smg-v28-admin-tile,.executive-photo-card,.smg-guardian-contact-card{
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  transform:none!important;
  float:none!important;
  background:linear-gradient(145deg,rgba(10,12,17,.86),rgba(5,5,5,.68))!important;
  border:1px solid var(--smg-line)!important;
  border-radius:var(--smg-radius)!important;
}

/* Typography: gold headings, readable, never broken inside word */
h1,h2,h3,h4,h5,h6,
.head h2,.card h3,.panel h2,.step b,.smg-media-card h3,
.smg-v28-admin-tile b,.smg-v28-admin-tile strong,.tag,.kicker,.eyebrow,
.smg-guardian-footer h3,.smg-guardian-footer h4,.smg-guardian-footer strong,
.smg-home-title span{
  color:var(--smg-gold-2)!important;
  background:linear-gradient(112deg,var(--smg-gold-1) 0%,var(--smg-gold-2) 48%,var(--smg-gold-3) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 0 18px rgba(245,192,74,.20)!important;
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
p,li,span,small,a,label,td,th,input,textarea,select{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
p,.lead,.muted,.card p,.panel p,.step span{color:var(--smg-muted)!important;line-height:1.55!important;}

/* Serious heading sizes: no giant typography that collides with photos */
h1,.hero h1{font-size:clamp(38px,4.25vw,62px)!important;line-height:1.02!important;letter-spacing:-.018em!important;max-width:760px!important;}
h2,.section h2,.head h2{font-size:clamp(28px,3vw,44px)!important;line-height:1.08!important;letter-spacing:-.012em!important;}
h3,.card h3,.smg-media-card h3{font-size:clamp(20px,1.65vw,28px)!important;line-height:1.12!important;}
h4,.smg-guardian-footer h4{font-size:clamp(16px,1.15vw,20px)!important;line-height:1.22!important;}

/* Main brand: guaranteed SHEVCHENKO / MOBILITY / GROUP, all gold and complete */
.smg-home-title{display:block!important;max-width:640px!important;margin:0 0 22px!important;font-size:clamp(40px,4.2vw,62px)!important;line-height:1.02!important;letter-spacing:-.014em!important;}
.smg-home-title span{display:block!important;white-space:nowrap!important;max-width:100%!important;word-break:keep-all!important;overflow-wrap:normal!important;}
.smg-home-title span:first-child{font-size:.92em!important;letter-spacing:-.02em!important;}
.smg-home-title span:nth-child(2),.smg-home-title span:nth-child(3){font-size:.90em!important;}

/* Photo cards and hero aside: keep inside the right column */
.hero aside,.hero .panel,aside.panel{height:auto!important;max-height:none!important;}
.hero aside img,.hero .panel img,.executive-photo-card img{display:block!important;width:100%!important;object-fit:cover!important;}
.hero .panel h2,.hero aside h2{font-size:clamp(24px,2vw,34px)!important;line-height:1.1!important;max-width:100%!important;}

/* Grid/card alignment: no tilted / shifted modules */
.grid,.steps,.smg-media-grid,.executive-photo-grid,.smg-v28-admin-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important;
  gap:clamp(20px,2.2vw,28px)!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.step,.card,.smg-media-card,.smg-v28-admin-tile{padding:clamp(20px,2vw,28px)!important;min-height:136px!important;}
.step{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;}
.step b{display:block!important;margin:0 0 8px!important;}
.head{margin:0 0 clamp(22px,2.6vw,34px)!important;max-width:900px!important;}
.head h2{margin:0 0 12px!important;}

/* Header/menu stability */
.smg-guardian-header{position:sticky!important;top:0!important;z-index:1000!important;background:rgba(5,5,5,.9)!important;backdrop-filter:blur(18px)!important;}
.smg-guardian-links{display:flex!important;align-items:center!important;gap:clamp(12px,1.3vw,22px)!important;flex-wrap:nowrap!important;}
.smg-guardian-links a{white-space:nowrap!important;}
.smg-guardian-menu{display:none!important;}

/* Footer final geometry: this was shifted/vertical on V30.7 */
.smg-guardian-footer,footer.smg-guardian-footer{
  clear:both!important;
  margin-top:clamp(34px,5vw,64px)!important;
  padding:clamp(44px,5vw,66px) 0 28px!important;
  border-top:1px solid rgba(245,192,74,.34)!important;
  overflow:hidden!important;
}
.smg-guardian-footer-grid{
  display:grid!important;
  grid-template-columns:1.25fr .85fr .95fr 1.2fr!important;
  gap:clamp(22px,2.3vw,32px)!important;
  align-items:stretch!important;
}
.smg-guardian-footer-grid>section{
  min-width:0!important;
  padding:clamp(20px,2vw,28px)!important;
  border:1px solid rgba(245,192,74,.22)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(10,12,17,.72),rgba(5,5,5,.46))!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.smg-guardian-footer-grid h3,.smg-guardian-footer-grid h4{margin:0 0 8px!important;}
.smg-guardian-footer-grid p{margin:0 0 8px!important;}
.smg-guardian-footer-grid a{display:block!important;color:var(--smg-text)!important;text-decoration:none!important;line-height:1.35!important;overflow-wrap:anywhere!important;}
.smg-guardian-footer-grid a:hover{color:var(--smg-gold-1)!important;}
.smg-final-copyright{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  margin-top:26px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(245,192,74,.22)!important;
  color:rgba(248,242,230,.72)!important;
  font-size:13px!important;
}
.smg-final-copyright span{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
.smg-final-copyright a{display:inline!important;color:var(--smg-gold-1)!important;text-decoration:none!important;}

/* Floating contact cannot push/cover footer layout */
.float{position:fixed!important;left:22px!important;bottom:22px!important;z-index:900!important;margin:0!important;max-width:calc(100vw - 44px)!important;}
.float .btn{box-shadow:0 18px 50px rgba(0,0,0,.45)!important;}

@media (max-width:1180px){
  .wrap,.smg-wrap,.container,.section .wrap,.hero .wrap,main>.wrap,section.wrap,.smg-guardian-footer-grid,.smg-final-copyright{width:calc(100% - 36px)!important;}
  .heroGrid,.split,.two{grid-template-columns:minmax(0,1fr)!important;align-items:start!important;}
  .hero .panel,.hero aside.panel{max-width:760px!important;}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .smg-home-title{font-size:clamp(38px,6vw,54px)!important;max-width:600px!important;}
  .smg-guardian-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  .wrap,.smg-wrap,.container,.section .wrap,.hero .wrap,main>.wrap,section.wrap,.smg-guardian-footer-grid,.smg-final-copyright{width:calc(100% - 28px)!important;}
  .hero{padding:36px 0!important;}
  h1,.hero h1,.smg-home-title{font-size:clamp(34px,10vw,46px)!important;line-height:1.04!important;}
  h2,.section h2,.head h2{font-size:clamp(28px,8vw,38px)!important;}
  .grid,.steps,.smg-media-grid,.executive-photo-grid,.smg-v28-admin-grid,.smg-guardian-footer-grid{grid-template-columns:1fr!important;}
  .smg-guardian-menu{display:inline-flex!important;}
  .smg-guardian-links{display:none!important;}
  .smg-guardian-links.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;position:absolute!important;left:14px!important;right:14px!important;top:100%!important;background:rgba(5,5,5,.96)!important;border:1px solid var(--smg-line)!important;border-radius:22px!important;padding:18px!important;}
  .float{left:14px!important;bottom:14px!important;}
  .btn,.button,button{max-width:100%!important;}
}
