
/* Sea Of Glass And Mirrors — Geometry Contract 0.5.23
   Golden invariant: full-width structural level + centered safe inner content. */

:root{
  --sog-safe-x:clamp(24px,4vw,72px);
  --sog-content-max:1480px;
}
html,body{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}
body main#main-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow-x:clip!important;
}

/* FIRST LEVEL: always full client width, square, never shifted by a Page Design. */
html body[data-sog-design] main#main-content > section{
  position:relative!important;
  display:block;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

/* PRINCIPAL HERO: exact usable page width (not 100vw, which includes scrollbar width). */
html body[data-sog-design] main#main-content > :is(.hero-carousel,.page-hero){
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  left:0!important;
  right:auto!important;
  margin:0!important;
  transform:none!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body[data-sog-design] main#main-content > .hero-carousel > .carousel-container,
html body[data-sog-design] main#main-content > .hero-carousel .carousel-slide,
html body[data-sog-design] main#main-content > .page-hero > .ghost-bg{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:100%!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  transform:none!important;
  border-radius:0!important;
}
html body[data-sog-design] main#main-content > .hero-carousel .carousel-slide,
html body[data-sog-design] main#main-content > .page-hero > .ghost-bg{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* INNER CONTENT: equal left/right margin. */
html body[data-sog-design] main#main-content >
section:not(.hero-carousel):not(.page-hero) > .container{
  width:min(var(--sog-content-max),calc(100% - (2 * var(--sog-safe-x))))!important;
  max-width:var(--sog-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html body[data-sog-design] main#main-content >
:is(.hero-carousel,.page-hero) > .container{
  width:min(var(--sog-content-max),calc(100% - (2 * var(--sog-safe-x))))!important;
  max-width:var(--sog-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* MAJOR SECOND-LEVEL OBJECTS: centered and unable to escape their container. */
html body[data-sog-design] main#main-content :is(
  .series-grid-main,.categories-grid,.gallery-grid,.official-article-grid,
  .applications-grid,.services-grid,.partition-application-grid,
  .about-content,.content-text,.editorial-copy-card,.partition-intro-card,
  .partition-gallery-block,.partition-reading-panel,.contact-grid,
  .contact-layout,.contact-map-grid,.contact-location-layout,
  .mirror-runway,.map-container,.sog-location-map
){
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  min-width:0!important;
}
html body[data-sog-design] main#main-content :is(
  .series-grid-main,.categories-grid,.gallery-grid,.official-article-grid,
  .applications-grid,.services-grid,.partition-application-grid,
  .contact-grid,.contact-layout,.contact-map-grid,.contact-location-layout
) > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* 2D symmetry: paired content considers BOTH width and height. */
@media(min-width:901px){
  html body[data-sog-design] .featured-series .series-item{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  html body[data-sog-design] .featured-series .series-item > *{
    min-width:0!important;
    align-self:stretch!important;
  }
  html body[data-sog-design] :is(.contact-layout,.contact-map-grid,.contact-location-layout){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;
  }
  html body[data-sog-design] :is(.contact-layout,.contact-map-grid,.contact-location-layout) > *{
    min-width:0!important;
    height:100%!important;
    align-self:stretch!important;
  }
}

/* Navigation is a deliberate exception: capsule centered, safe from edges. */
html body[data-sog-design] .header{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  max-width:100%!important;
}
html body[data-sog-design] .header-container{
  max-width:calc(100% - (2 * var(--sog-safe-x)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:999px!important;
}

/* LEVEL 2+: preserve approved gentle contours. */
html body[data-sog-design] :is(
  .series-item,.category-card,.service-card,.feature-card,.testimonial-card,
  .contact-card,.contact-info,.contact-map-card,.contact-location-card,
  .about-content,.content-card,.article-card,.official-article-card,
  .gallery-item,.mirror-runway,.map-container,.sog-location-map
){
  border-radius:clamp(16px,1.45vw,24px)!important;
}

@media(max-width:900px){
  :root{--sog-safe-x:clamp(14px,4vw,28px)}
  html body[data-sog-design] .featured-series .series-item{
    grid-template-columns:1fr!important;
  }
}
