
.sgfg{background:#050505;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.sgfg *{box-sizing:border-box}
.sgfg-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.sgfg h1,.sgfg h2{font-family:Impact,'Arial Narrow','Helvetica Neue',Arial,sans-serif;text-transform:uppercase;font-weight:400;letter-spacing:.01em}
.sgfg p{color:#fff;font-size:18px;line-height:1.7}
.sgfg-kicker{color:#FBB03A;font-weight:900;letter-spacing:.15em;font-size:13px;margin-bottom:12px}

.sgfg-hero{min-height:720px;background-image:var(--sgfg-hero);background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end}
.sgfg-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.56) 43%,rgba(0,0,0,.16) 78%),linear-gradient(0deg,rgba(0,0,0,.78),transparent 58%)}
.sgfg-hero-copy{position:relative;padding-bottom:84px}
.sgfg-hero h1{font-size:clamp(68px,8vw,126px);line-height:.88;margin:0}
.sgfg-hero h2{font-size:clamp(36px,4.8vw,72px);line-height:.98;margin:18px 0;color:#FBB03A;max-width:850px}
.sgfg-hero p{max-width:680px;font-size:20px}

.sgfg-section{padding:100px 0;border-top:1px solid rgba(255,255,255,.09)}
.sgfg-alt{background:#0a0a0a}
.sgfg-two{display:grid;grid-template-columns:1fr .88fr;gap:76px;align-items:center}
.sgfg-reverse{grid-template-columns:.88fr 1fr}
.sgfg h2{font-size:clamp(42px,5vw,72px);line-height:.98;margin:0 0 28px}
.sgfg-photo{margin:0;overflow:hidden;border-radius:18px;position:relative;background:#111}
.sgfg-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 100px rgba(0,0,0,.58);pointer-events:none}
.sgfg-photo img{display:block;width:100%;height:100%;object-fit:cover}
.sgfg-photo-tall{height:600px}
.sgfg-photo-square{height:520px}
.sgfg-photo-wide{height:500px}

.sgfg-live{min-height:720px;background-size:cover;background-position:center;display:flex;align-items:center}
.sgfg-live-copy{max-width:680px;padding:95px 0}
.sgfg-live-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:60px;align-items:center}
.sgfg-live-console{height:600px}
.sgfg-stage{grid-column:1/-1;height:430px}
.sgfg-selected{margin-top:50px;padding:28px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.sgfg-selected strong{font-size:20px;line-height:1.7}

.sgfg-cta{text-align:center;padding:105px 0;background:radial-gradient(circle at 50% 100%,rgba(251,176,58,.12),transparent 45%),#050505}
.sgfg-cta h2{font-size:clamp(56px,7vw,94px);margin:0}
.sgfg-cta p{max-width:720px;margin:20px auto 32px}
.sgfg-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.sgfg-buttons a{padding:17px 28px;border-radius:999px;text-decoration:none;font-weight:900;font-size:13px;letter-spacing:.05em}
.sgfg-primary{background:#FBB03A;color:#050505}
.sgfg-secondary{border:1px solid rgba(255,255,255,.5);color:#fff}

@media(max-width:800px){
 .sgfg-shell{width:calc(100% - 36px)}
 .sgfg-hero{min-height:650px;background-position:60% center}
 .sgfg-hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.97),rgba(0,0,0,.62) 60%,rgba(0,0,0,.2))}
 .sgfg-hero-copy{padding-bottom:52px}
 .sgfg-hero h1{font-size:clamp(52px,15vw,72px);overflow-wrap:anywhere}
 .sgfg-hero h2{font-size:36px}
 .sgfg-hero p,.sgfg p{font-size:17px}
 .sgfg-section{padding:64px 0}
 .sgfg-two,.sgfg-reverse,.sgfg-live-grid{grid-template-columns:1fr;gap:34px}
 .sgfg-reverse .sgfg-photo{order:2}
 .sgfg h2{font-size:42px}
 .sgfg-photo-tall,.sgfg-photo-square,.sgfg-photo-wide,.sgfg-live-console,.sgfg-stage{height:420px;grid-column:auto}
 .sgfg-live{min-height:680px;background-position:58% center}
 .sgfg-live-copy{padding:68px 0}
 .sgfg-selected strong{font-size:17px}
 .sgfg-cta{padding:78px 0}
 .sgfg-buttons{display:grid}
 .sgfg-buttons a{width:100%}
}


/* ==========================================================
   v1.0.2 — CTA contrast fix + editable gallery
   ========================================================== */
.sgfg-buttons .sgfg-primary,
.sgfg-buttons a.sgfg-primary,
.sgfg-primary:link,
.sgfg-primary:visited{
  background:#FBB03A!important;
  color:#050505!important;
  border-color:#FBB03A!important;
  text-shadow:none!important;
}
.sgfg-buttons .sgfg-primary:hover,
.sgfg-buttons .sgfg-primary:focus{
  background:#FFFFFF!important;
  color:#050505!important;
  border-color:#FFFFFF!important;
}

.sgfg-gallery-head{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}
.sgfg-gallery-head p{
  margin:0 auto;
}
.sgfg-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:280px;
  gap:14px;
}
.sgfg-gallery-item{
  margin:0;
  height:auto;
  min-height:0;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  background:#111;
}
.sgfg-gallery-item.sgfg-gallery-wide{
  grid-column:span 2;
}
.sgfg-gallery-item:after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 90px rgba(0,0,0,.46);
  pointer-events:none;
}
.sgfg-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease, filter .5s ease;
  filter:saturate(.9) contrast(1.03);
}
.sgfg-gallery-item:hover img{
  transform:scale(1.025);
  filter:saturate(1) contrast(1.06);
}

@media(max-width:800px){
  .sgfg-gallery{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:220px;
  }
  .sgfg-gallery-item.sgfg-gallery-wide{
    grid-column:span 2;
  }
}
@media(max-width:520px){
  .sgfg-gallery{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .sgfg-gallery-item,
  .sgfg-gallery-item.sgfg-gallery-wide{
    grid-column:auto;
    height:260px;
  }
}


/* ==========================================================
   v1.0.3 — Gallery face framing + lightbox
   ========================================================== */
.sgfg-gallery-item{
  display:block;
  cursor:zoom-in;
  text-decoration:none;
}
.sgfg-gallery-item img{
  object-fit:cover;
}
.sgfg-gallery-item:first-child img{
  object-position:center 38%;
}
.sgfg-gallery-item:nth-child(2) img{
  object-position:center 34%;
}
.sgfg-gallery-item:nth-child(4) img{
  object-position:center 40%;
}
.sgfg-gallery-item:nth-child(6) img{
  object-position:center 34%;
}

/* Lightbox */
.sgfg-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(0,0,0,.94);
  backdrop-filter:blur(6px);
}
.sgfg-lightbox.is-open{
  display:flex;
}
.sgfg-lightbox img{
  display:block;
  max-width:min(94vw,1600px);
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 18px 70px rgba(0,0,0,.6);
}
.sgfg-lightbox-close{
  position:fixed;
  top:18px;
  right:22px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:34px;
  line-height:42px;
  cursor:pointer;
  z-index:2;
}
.sgfg-lightbox-close:hover{
  background:#FBB03A;
  color:#050505;
  border-color:#FBB03A;
}

@media(max-width:520px){
  .sgfg-gallery-item{
    height:300px!important;
  }
  .sgfg-gallery-item:first-child img,
  .sgfg-gallery-item:nth-child(2) img,
  .sgfg-gallery-item:nth-child(4) img,
  .sgfg-gallery-item:nth-child(6) img{
    object-position:center 28%;
  }
  .sgfg-lightbox{
    padding:14px;
  }
  .sgfg-lightbox-close{
    top:12px;
    right:12px;
  }
}


/* ==========================================================
   v1.0.4 — StudioGaudio typography contrast
   No grey text: white body copy + official orange accents.
   ========================================================== */
.sgfg-page,
.sgfg-page p,
.sgfg-page li,
.sgfg-page blockquote,
.sgfg-page .sgfg-lead,
.sgfg-page .sgfg-copy,
.sgfg-page .sgfg-bio,
.sgfg-page .sgfg-meta,
.sgfg-page .sgfg-stat,
.sgfg-page .sgfg-card,
.sgfg-page .sgfg-card p,
.sgfg-page .sgfg-gallery-head p,
.sgfg-page .sgfg-hero p,
.sgfg-page .sgfg-hero-title,
.sgfg-page h1,
.sgfg-page h2,
.sgfg-page h3,
.sgfg-page h4{
  color:#FFFFFF!important;
}

/* Official accent elements remain orange */
.sgfg-page .sgfg-kicker,
.sgfg-page .sgfg-eyebrow,
.sgfg-page .sgfg-role,
.sgfg-page .sgfg-accent,
.sgfg-page .sgfg-highlight,
.sgfg-page a:not(.sgfg-primary):not(.sgfg-secondary){
  color:#FBB03A;
}

/* Hero name must never disappear into the photograph */
.sgfg-page .sgfg-hero h1,
.sgfg-page .sgfg-hero-title,
.sgfg-page .sgfg-name{
  color:#FFFFFF!important;
  opacity:1!important;
  text-shadow:0 3px 24px rgba(0,0,0,.65);
}

/* Buttons */
.sgfg-page .sgfg-primary,
.sgfg-page .sgfg-primary:link,
.sgfg-page .sgfg-primary:visited{
  color:#050505!important;
  background:#FBB03A!important;
}
.sgfg-page .sgfg-secondary,
.sgfg-page .sgfg-secondary:link,
.sgfg-page .sgfg-secondary:visited{
  color:#FFFFFF!important;
}

/* Muted classes from earlier versions are intentionally neutralized */
.sgfg-page [class*="muted"],
.sgfg-page [class*="subtext"],
.sgfg-page [class*="description"]{
  color:#FFFFFF!important;
  opacity:1!important;
}


/* ==========================================================
   v1.0.5 — REAL contrast fix
   The actual root element is .sgfg (not .sgfg-page).
   ========================================================== */

.sgfg,
.sgfg p,
.sgfg li,
.sgfg blockquote,
.sgfg .sgfg-copy,
.sgfg .sgfg-selected,
.sgfg .sgfg-selected strong,
.sgfg .sgfg-gallery-head p,
.sgfg .sgfg-hero p,
.sgfg h1,
.sgfg h2,
.sgfg h3,
.sgfg h4,
.sgfg h5,
.sgfg h6 {
  color:#FFFFFF !important;
  opacity:1 !important;
}

/* Hero name */
.sgfg .sgfg-hero h1 {
  color:#FFFFFF !important;
  opacity:1 !important;
  text-shadow:0 3px 24px rgba(0,0,0,.70) !important;
}

/* Orange accents only */
.sgfg .sgfg-kicker,
.sgfg .sgfg-hero h2 {
  color:#FBB03A !important;
}

/* Buttons */
.sgfg .sgfg-primary,
.sgfg .sgfg-primary:link,
.sgfg .sgfg-primary:visited {
  background:#FBB03A !important;
  color:#050505 !important;
  border-color:#FBB03A !important;
  opacity:1 !important;
}

.sgfg .sgfg-secondary,
.sgfg .sgfg-secondary:link,
.sgfg .sgfg-secondary:visited {
  color:#FFFFFF !important;
  border-color:rgba(255,255,255,.55) !important;
  opacity:1 !important;
}

/* Neutralize generic theme muted/gray rules inside this template */
.sgfg [class*="muted"],
.sgfg [class*="subtext"],
.sgfg [class*="description"],
.sgfg small {
  color:#FFFFFF !important;
  opacity:1 !important;
}
