/* SMG V30.5 Module Action + Serious Typography Fix
   Purpose: every module card must open, menu must work, no broken words/column headings, no desktop Menu button. */
:root{
  --smg-v305-gold:#f5d98b;
  --smg-v305-gold-2:#d9a33f;
  --smg-v305-text:#fff7e8;
  --smg-v305-muted:rgba(255,247,232,.78);
  --smg-v305-line:rgba(245,217,139,.34);
}

/* Header/menu discipline */
.smg-guardian-header{position:sticky!important;top:0!important;z-index:9999!important;}
.smg-guardian-nav{position:relative!important;z-index:10000!important;}
.smg-guardian-links,.smg-guardian-links a,.smg-guardian-menu{pointer-events:auto!important;}
@media (min-width:981px){
  .smg-guardian-menu{display:none!important;visibility:hidden!important;}
  .smg-guardian-links{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
}
@media (max-width:980px){
  .smg-guardian-menu{display:inline-flex!important;visibility:visible!important;align-items:center!important;justify-content:center!important;min-height:48px!important;min-width:96px!important;cursor:pointer!important;touch-action:manipulation!important;}
  .smg-guardian-links{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
  .smg-guardian-header.is-open .smg-guardian-links,
  body.smg-menu-open .smg-guardian-links,
  .smg-guardian-links.open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;flex-direction:column!important;width:100%!important;gap:6px!important;}
  .smg-guardian-links a{display:block!important;width:100%!important;min-height:44px!important;padding:12px 10px!important;}
}

/* Zero tolerance: no word splitting in luxury headings */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.hero h1,.hero h2,.hero h3,.card h1,.card h2,.card h3,.panel h1,.panel h2,.panel h3,
[class*="title"],[class*="Title"],[class*="heading"],[class*="Heading"],.smg-display,.smg-card h3,.smg-media-card h3,.smg-v28-admin-tile,.smg-v28-admin-tile small{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  white-space:normal!important;
  text-wrap:balance!important;
}
p,li,small,span,label,.muted{hyphens:none!important;-webkit-hyphens:none!important;}

/* Serious executive scale: not huge, not broken */
h1,.hero h1,.h1,.smg-display{
  font-size:clamp(38px,4.15vw,64px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  max-width:900px!important;
}
h2,.section h2,.head h2,.panel h2{
  font-size:clamp(30px,3.05vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.026em!important;
}
h3,.card h3,.panel h3,.smg-card h3,.smg-media-card h3,article h3,.smg-v28-admin-tile{
  font-size:clamp(21px,1.55vw,30px)!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
}
h4,.card h4,.panel h4,footer h4{font-size:clamp(17px,1.2vw,22px)!important;line-height:1.16!important;}

@media (min-width:981px) and (max-width:1366px){
  h1,.hero h1,.h1,.smg-display{font-size:clamp(36px,3.75vw,56px)!important;line-height:1.07!important;max-width:780px!important;}
  h2,.section h2,.head h2,.panel h2{font-size:clamp(28px,2.55vw,42px)!important;}
  h3,.card h3,.panel h3,.smg-card h3,.smg-media-card h3,article h3,.smg-v28-admin-tile{font-size:clamp(20px,1.35vw,26px)!important;}
  .heroGrid,.hero-grid,.split{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;gap:clamp(24px,3vw,44px)!important;}
  .hero .panel,.hero .card,.hero aside.panel,.hero-grid .card{max-width:360px!important;}
}

/* Home/hero specific: keep brand readable; never SHEVCHE / NKO */
body .hero h1:first-child,
main .hero h1,
main > section:first-child h1{
  overflow:visible!important;
}
@media (min-width:981px){
  main > section:first-child h1{font-size:clamp(38px,4vw,58px)!important;max-width:760px!important;}
  main > section:first-child .card h2,
  main > section:first-child .panel h2,
  main > section:first-child .card h3,
  main > section:first-child .panel h3{font-size:clamp(24px,2vw,32px)!important;line-height:1.12!important;}
}

/* Module/card grids: straight lines, equal rows, no tilted or narrow cards */
.grid,.cards,.smg-media-grid,[class*="grid"],[class*="Grid"],.smg-v28-admin-grid{
  align-items:stretch!important;
  gap:clamp(18px,2vw,28px)!important;
}
.card,.panel,.smg-card,.smg-media-card,.service-card,.property-card,.job-card,article,.smg-v28-admin-tile,
[class*="card"],[class*="Card"],[class*="panel"],[class*="Panel"]{
  min-width:0!important;
  transform:none!important;
  rotate:0deg!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.card p,.panel p,.smg-card p,.smg-media-card p,article p,.smg-v28-admin-tile small{
  font-size:clamp(14px,.95vw,17px)!important;
  line-height:1.55!important;
}

/* Click/touch visibility */
[data-smg-href],.smg-module-clickable{cursor:pointer!important;touch-action:manipulation!important;}
[data-smg-href]:hover,.smg-module-clickable:hover{border-color:rgba(245,217,139,.72)!important;box-shadow:0 0 0 1px rgba(245,217,139,.22),0 18px 50px rgba(0,0,0,.34)!important;}
.smg-card-tap-active{transform:translateY(1px)!important;filter:brightness(1.08)!important;}

/* Buttons/actions */
.btn,button,.pill,.smg-control-grid a,.actions a,.btnrow a{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;line-height:1.15!important;}
.actions,.btnrow,.btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;}

@media (max-width:980px){
  h1,.hero h1,.h1,.smg-display{font-size:clamp(34px,8.8vw,50px)!important;line-height:1.08!important;}
  h2,.section h2,.head h2,.panel h2{font-size:clamp(28px,7.2vw,42px)!important;}
  h3,.card h3,.panel h3,.smg-card h3,.smg-media-card h3,article h3,.smg-v28-admin-tile{font-size:clamp(22px,5.8vw,32px)!important;}
  .heroGrid,.hero-grid,.split{grid-template-columns:1fr!important;}
}
