.elementor-62421 .elementor-element.elementor-element-e8f5fc1{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-62421 .elementor-element.elementor-element-5e992c1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-62421 .elementor-element.elementor-element-727dd46{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:120px;--padding-left:24px;--padding-right:24px;}.elementor-62421 .elementor-element.elementor-element-727dd46:not(.elementor-motion-effects-element-type-background), .elementor-62421 .elementor-element.elementor-element-727dd46 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F3EE;}.elementor-62421 .elementor-element.elementor-element-c92637a > .elementor-widget-container{background-color:#FFFFFF;padding:36px 36px 36px 36px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E2DED6;border-radius:22px 22px 22px 22px;box-shadow:0px 18px 44px 0px rgba(11,14,15,0.07);}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group{padding-right:calc( 18px/2 );padding-left:calc( 18px/2 );margin-bottom:16px;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-form-fields-wrapper{margin-left:calc( -18px/2 );margin-right:calc( -18px/2 );margin-bottom:-16px;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group.recaptcha_v3-bottomleft, .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-labels-inline .elementor-field-group > label{padding-left:7px;}body:not(.rtl) .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-labels-inline .elementor-field-group > label{padding-right:7px;}body .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-labels-above .elementor-field-group > label{padding-bottom:7px;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group > label, .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-subgroup label{color:#0B0E0F;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group > label{font-family:"Manrope", Sans-serif;font-size:13px;font-weight:600;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-type-html{padding-bottom:0px;color:#4E585C;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group .elementor-field{color:#0B0E0F;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group .elementor-field, .elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-subgroup label{font-family:"Manrope", Sans-serif;font-size:15px;font-weight:500;line-height:1.4em;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-color:#E2DED6;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-color:#E2DED6;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-field-group .elementor-select-wrapper::before{color:#E2DED6;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button span{justify-content:center;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button{font-family:"Manrope", Sans-serif;font-size:15px;font-weight:700;text-transform:none;line-height:1.35em;letter-spacing:0px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;padding:19px 26px 19px 26px;}.elementor-62421 .elementor-element.elementor-element-c92637a .e-form__buttons__wrapper__button-next{background-color:#FF6518;color:#FFFFFF;border-color:#FF6518;transition-duration:200ms;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button[type="submit"]{background-color:#FF6518;color:#FFFFFF;border-color:#FF6518;transition-duration:200ms;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button[type="submit"] svg *{fill:#FFFFFF;transition-duration:200ms;}.elementor-62421 .elementor-element.elementor-element-c92637a .e-form__buttons__wrapper__button-previous{color:#ffffff;transition-duration:200ms;}.elementor-62421 .elementor-element.elementor-element-c92637a .e-form__buttons__wrapper__button-next:hover{background-color:#E14E06;color:#FFFFFF;border-color:#E14E06;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button[type="submit"]:hover{background-color:#E14E06;color:#FFFFFF;border-color:#E14E06;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-62421 .elementor-element.elementor-element-c92637a .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-message{font-family:"Manrope", Sans-serif;font-size:14px;font-weight:500;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-message.elementor-message-success{color:#1F6B3A;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-message.elementor-message-danger{color:#B42318;}.elementor-62421 .elementor-element.elementor-element-c92637a .elementor-message.elementor-help-inline{color:#B42318;}.elementor-62421 .elementor-element.elementor-element-c92637a{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-62421 .elementor-element.elementor-element-ce1cdb8{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-62421 .elementor-element.elementor-element-1a95fde > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:769px){.elementor-62421 .elementor-element.elementor-element-e8f5fc1{--width:100%;}.elementor-62421 .elementor-element.elementor-element-727dd46{--content-width:1180px;}.elementor-62421 .elementor-element.elementor-element-ce1cdb8{--width:100%;}}@media(max-width:1024px){.elementor-62421 .elementor-element.elementor-element-727dd46{--padding-top:0px;--padding-bottom:90px;--padding-left:20px;--padding-right:20px;}.elementor-62421 .elementor-element.elementor-element-c92637a > .elementor-widget-container{padding:28px 28px 28px 28px;}}@media(max-width:768px){.elementor-62421 .elementor-element.elementor-element-727dd46{--padding-top:0px;--padding-bottom:70px;--padding-left:16px;--padding-right:16px;}.elementor-62421 .elementor-element.elementor-element-c92637a > .elementor-widget-container{padding:20px 20px 20px 20px;border-radius:16px 16px 16px 16px;}}/* Start custom CSS for html, class: .elementor-element-5e992c1 */@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

/* =========================================================
   ALUGLOBUS — CALIFORNIA WILDFIRE REBUILD
   Visual system: "extruded aluminum"
   Graphite panels, anodized silver type, hairline metal edges,
   signal-orange used only where an action or a fact lives.
   ========================================================= */

:root {
  --ag-ink: #0B0E0F;
  --ag-ink-2: #12171A;
  --ag-panel: #161C1F;
  --ag-panel-2: #1D2427;
  --ag-paper: #F5F3EE;
  --ag-paper-2: #EAE7DF;
  --ag-silver: #C9D1D4;
  --ag-silver-dim: #98A2A6;
  --ag-graphite: #4E585C;
  --ag-orange: #FF6518;
  --ag-orange-deep: #E14E06;
  --ag-edge: rgba(255, 255, 255, .11);
  --ag-edge-strong: rgba(255, 255, 255, .2);
  --ag-edge-dark: rgba(11, 14, 15, .13);
  --ag-r-control: 10px;
  --ag-r-panel: 18px;
  --ag-r-media: 22px;
  --ag-r-hero: 28px;
  --ag-ease: cubic-bezier(.22, .68, .18, 1);
  --ag-display: "Archivo", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ag-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }

.elementor-62421 .elementor-element.elementor-element-5e992c1,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ag-ink) !important;
  color: #FFFFFF !important;
  font-family: var(--ag-body) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elementor-62421 .elementor-element.elementor-element-5e992c1 *,
.elementor-62421 .elementor-element.elementor-element-5e992c1 *::before,
.elementor-62421 .elementor-element.elementor-element-5e992c1 *::after { box-sizing: border-box !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 a { text-decoration: none; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 a:focus-visible,
.elementor-62421 .elementor-element.elementor-element-5e992c1 button:focus-visible,
.elementor-62421 .elementor-element.elementor-element-5e992c1 summary:focus-visible,
.elementor-62421 .elementor-element.elementor-element-5e992c1 input:focus-visible {
  outline: 2px solid var(--ag-orange);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- Color system -------------------------------- */
.elementor-62421 .elementor-element.elementor-element-5e992c1 { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 h1, .elementor-62421 .elementor-element.elementor-element-5e992c1 h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 h3, .elementor-62421 .elementor-element.elementor-element-5e992c1 h4,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 summary, .elementor-62421 .elementor-element.elementor-element-5e992c1 strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 b { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 p, .elementor-62421 .elementor-element.elementor-element-5e992c1 li, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-copy { color: var(--ag-silver) !important; }
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-copy strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-copy b { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-kicker,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-story-role { color: var(--ag-orange) !important; }

/* Light editorial sections */
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro { color: var(--ag-ink) !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human h1, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human .ag-h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human b,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof .ag-h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare h3, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare .ag-h2,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare b,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience h3, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience .ag-h2,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience b,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library h3, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library .ag-h2,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library strong, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library b,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro .ag-h2,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro strong { color: var(--ag-ink) !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human li, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro p, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro .ag-copy { color: var(--ag-graphite) !important; }

.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-human .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-altadena-proof .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-compare .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-library .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-form-intro .ag-copy strong { color: var(--ag-ink) !important; }

/* ---------- Layout -------------------------------------- */
.ag-wrap { width: min(1240px, calc(100% - 44px)); margin-inline: auto; }

.ag-section {
  position: relative;
  padding: clamp(76px, 8vw, 132px) 0;
}

.ag-grid2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: center;
}

.ag-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ag-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }

/* ---------- Typography ---------------------------------- */
.ag-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ag-body);
  font-size: 13px;
  letter-spacing: .005em;
  text-transform: none;
  font-weight: 600;
  margin-bottom: 20px;
}

.ag-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  background: currentColor;
  border-radius: 1px;
  transform: rotate(45deg);
  flex: none;
}

.ag-h2 {
  font-family: var(--ag-display);
  font-size: clamp(38px, 4.6vw, 66px);
  line-height: 1.02;
  letter-spacing: -.032em;
  font-weight: 700;
  margin: 0 0 24px;
  max-width: 20ch;
  text-wrap: balance;
}

.ag-h3 {
  font-family: var(--ag-display);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.16;
  letter-spacing: -.02em;
  font-weight: 600;
  margin: 0 0 18px;
}

.ag-copy {
  font-size: clamp(16px, 1.05vw, 17.5px);
  line-height: 1.68;
  max-width: 62ch;
}

.ag-copy p { margin: 0 0 1.1em; }
.ag-copy p:last-child { margin-bottom: 0; }
.ag-copy strong { font-weight: 650; }

/* ---------- Controls ------------------------------------ */
.ag-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; }

.ag-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: var(--ag-r-control);
  font-family: var(--ag-body);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .002em;
  text-transform: none;
  white-space: nowrap;
  transition: background .25s var(--ag-ease), border-color .25s var(--ag-ease), color .25s var(--ag-ease);
}

.ag-btn::after { content: none; }

.ag-btn-primary {
  background: var(--ag-orange);
  color: #FFFFFF !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
}
.ag-btn-primary:hover { background: var(--ag-orange-deep); }

.ag-btn-ghost {
  border: 1px solid var(--ag-edge-strong);
  background: transparent;
  color: #FFFFFF !important;
}
.ag-btn-ghost:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .38); }

.ag-btn-light { background: #FFFFFF; color: var(--ag-ink) !important; }
.ag-btn-light:hover { background: var(--ag-paper-2); }

.ag-altadena-proof .ag-btn-ghost,
.ag-compare .ag-btn-ghost,
.ag-audience .ag-btn-ghost {
  border-color: var(--ag-edge-dark);
  color: var(--ag-ink) !important;
}

/* ---------- Tags ---------------------------------------- */
.ag-tagrow { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }

.ag-tag {
  border: 1px solid var(--ag-edge);
  background: rgba(255, 255, 255, .05);
  padding: 8px 13px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 550;
  letter-spacing: .002em;
  text-transform: none;
  color: #E6EAEB !important;
}

.ag-altadena-proof .ag-tag {
  border-color: var(--ag-edge-dark);
  background: rgba(11, 14, 15, .04);
  color: var(--ag-ink) !important;
}

/* ---------- Media --------------------------------------- */
.ag-media,
.ag-project,
.ag-process-gallery figure,
.ag-house-map {
  position: relative;
  overflow: hidden;
  border-radius: var(--ag-r-media);
  background: var(--ag-panel);
  border: 1px solid var(--ag-edge);
}

.ag-media > img,
.ag-media > a > img,
.ag-project > img,
.ag-process-gallery figure > img,
.ag-house-map > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .9s var(--ag-ease);
}

.ag-media:hover > img,
.ag-media:hover > a > img,
.ag-project:hover > img { transform: scale(1.03); }

.ag-altadena-proof .ag-media,
.ag-compare .ag-media { border-color: var(--ag-edge-dark); }

/* Old decorative overlays removed — captions live in the images. */
.ag-label,
.ag-project-meta,
.ag-process-gallery figcaption,
.ag-human-media::after,
.ag-founder-media::after { display: none !important; content: none !important; }

/* ---------- Hero ---------------------------------------- */
.ag-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: min(880px, 100svh);
  padding: clamp(120px, 16vh, 200px) 0 clamp(56px, 7vh, 88px);
  overflow: hidden;
  background: #0A0D0E url(https://aluglobusfence.com/wp-content/uploads/2026/04/1-11.webp) center/cover no-repeat;
}

.ag-hero-video { position: absolute; inset: 0; overflow: hidden; }

.ag-hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 56.25vw;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  filter: saturate(.82) contrast(1.02);
}

.ag-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 9, 10, .58) 0%, rgba(6, 9, 10, .28) 34%, rgba(8, 11, 12, .95) 100%),
    linear-gradient(90deg, rgba(7, 10, 11, .72), transparent 62%);
}

.ag-hero-inner { position: relative; z-index: 2; }

.ag-hero .ag-kicker {
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(10, 14, 15, .42);
  border-radius: 999px;
  padding: 9px 15px 9px 13px;
  margin-bottom: 26px;
  backdrop-filter: blur(10px);
  font-size: 12.5px;
}

.ag-hero .ag-kicker::before {
  background: var(--ag-orange);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: none;
  box-shadow: 0 0 0 4px rgba(255, 101, 24, .2);
}

.ag-hero h1 {
  font-family: var(--ag-display);
  font-size: clamp(46px, 6.4vw, 92px);
  line-height: .96;
  letter-spacing: -.038em;
  font-weight: 700;
  margin: 0;
  max-width: 16ch;
  color: #FFFFFF !important;
  text-wrap: balance;
}

.ag-hero h1 span {
  display: block;
  margin-top: .34em;
  padding-top: .34em;
  border-top: 1px solid rgba(255, 255, 255, .2);
  font-size: .42em;
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.015em;
  max-width: 24ch;
  color: var(--ag-silver) !important;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.ag-hero-copy {
  max-width: 58ch;
  font-size: clamp(16px, 1.15vw, 18.5px);
  line-height: 1.6;
  margin-top: 24px;
  color: #DFE4E5 !important;
}

.ag-hero .ag-actions { margin-top: 30px; }

.ag-trust {
  display: inline-flex;
  margin-top: 26px;
  padding: 11px 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(0, 0, 0, .3);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 550;
  letter-spacing: .002em;
  text-transform: none;
  color: #D3D9DB !important;
}

.ag-scroll {
  position: absolute;
  right: 3vw;
  bottom: 64px;
  z-index: 3;
  writing-mode: vertical-rl;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: none;
  color: #B9C0C2 !important;
}

.ag-scroll::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 46px;
  background: linear-gradient(var(--ag-orange), transparent);
  margin-bottom: 12px;
}

/* ---------- Opening editorial ---------------------------- */
.ag-human {
  background: var(--ag-paper);
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
  margin-top: -26px;
  z-index: 4;
}

.ag-human .ag-h2 { font-size: clamp(32px, 3.6vw, 50px); max-width: 22ch; }
.ag-human-media { aspect-ratio: 4 / 5; height: auto; }
.ag-founder-media { aspect-ratio: 4 / 5; height: auto; }

.ag-quote {
  font-family: var(--ag-display);
  font-size: clamp(21px, 1.9vw, 28px);
  line-height: 1.36;
  letter-spacing: -.018em;
  font-weight: 500;
  color: #FFFFFF !important;
  border-left: 2px solid var(--ag-orange);
  padding-left: 22px;
  margin: 26px 0;
  max-width: 34ch;
}

/* ---------- Education ------------------------------------ */
.ag-education { background: var(--ag-ink-2); }
.ag-house-map { aspect-ratio: 16 / 9; margin-top: 34px; }
.ag-house-map > img { filter: brightness(.74) saturate(.88); }

.ag-source {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ag-silver-dim) !important;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--ag-edge);
  max-width: 70ch;
}

.ag-source a { color: #DDE2E4 !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Altadena proof ------------------------------- */
.ag-altadena-proof { background: var(--ag-paper); }
.ag-altadena-proof .ag-grid2 { align-items: start; }
.ag-altadena-proof .ag-media { aspect-ratio: 4 / 5; min-height: 0; }
.ag-altadena-proof .ag-media > a { display: block; width: 100%; height: 100%; }
.ag-altadena-proof .ag-h2 { max-width: 16ch; }
.ag-altadena-proof .ag-source { border-top-color: var(--ag-edge-dark); color: #6B7477 !important; }

/* ---------- System sections ------------------------------ */
.ag-system {
  position: relative;
  width: min(1440px, calc(100% - 32px));
  min-height: min(680px, 80svh);
  margin: 16px auto;
  border-radius: var(--ag-r-hero);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background-position: center;
  background-size: cover;
}

.ag-system::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .06) 24%, rgba(4, 7, 8, .9) 96%),
    linear-gradient(90deg, rgba(4, 7, 8, .5), transparent 56%);
}

.ag-system::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--ag-edge);
  border-radius: inherit;
  pointer-events: none;
}

.ag-system .ag-wrap { position: relative; z-index: 2; padding-bottom: clamp(44px, 5vw, 72px); }
.ag-system .ag-kicker { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.ag-system .ag-h2 { max-width: 18ch; }
.ag-system-copy { max-width: 56ch; }
.ag-system .ag-copy { color: #DDE2E4 !important; }

.ag-system-fence { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/photo-2025-03-22-11.07.08.webp); }
.ag-system-gate { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/WhatsApp-Image-2025-03-22-at-08.12.50.webp); }
.ag-system-patio { background-image: url(https://aluglobusfence.com/wp-content/uploads/2026/07/31-1-1.webp); }
.ag-system-railing { background-image: url(https://aluglobusfence.com/wp-content/uploads/2026/09/11.png); }
.ag-system-cladding { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/WhatsApp-Image-2025-03-12-at-06.28.22-1.jpeg); }

/* ---------- Patio video --------------------------------- */
.ag-video-panel { background: var(--ag-panel); }
.ag-video-frame {
  position: relative;
  padding-top: 56.25%;
  border-radius: var(--ag-r-media);
  overflow: hidden;
  border: 1px solid var(--ag-edge);
  background: #000;
}
.ag-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Material comparison -------------------------- */
.ag-compare {
  background: var(--ag-paper);
  border-radius: var(--ag-r-hero);
  margin: 18px 12px;
}

.ag-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 36px;
  background: #FFFFFF;
  border: 1px solid var(--ag-edge-dark);
  border-radius: var(--ag-r-panel);
  overflow: hidden;
}

.ag-table th,
.ag-table td {
  text-align: left;
  padding: 19px 22px;
  border-bottom: 1px solid #E7E4DE;
  font-size: 15px;
}

.ag-table tr:last-child td { border-bottom: 0; }

.ag-table th {
  background: var(--ag-ink);
  color: #FFFFFF !important;
  text-transform: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .002em;
}

.ag-table td { color: var(--ag-graphite) !important; }

.ag-table td:last-child {
  color: var(--ag-ink) !important;
  font-weight: 600;
  box-shadow: inset 2px 0 0 var(--ag-orange);
}

.ag-mantra {
  font-family: var(--ag-display);
  font-size: clamp(28px, 3.6vw, 52px);
  font-weight: 700;
  letter-spacing: -.032em;
  line-height: 1.02;
  margin-top: 46px;
  max-width: 16ch;
  color: var(--ag-ink) !important;
}

/* ---------- Projects ------------------------------------ */
.ag-projects { background: var(--ag-ink-2); }

.ag-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 38px;
}

.ag-project { border-radius: var(--ag-r-media); }
.ag-project:nth-child(1), .ag-project:nth-child(4) { aspect-ratio: 16 / 10; }
.ag-project:nth-child(2), .ag-project:nth-child(3) { aspect-ratio: 4 / 3; }
.ag-project::after { content: none; }

/* ---------- Process ------------------------------------- */
.ag-process { background: var(--ag-ink); }

.ag-process-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 40px;
}

.ag-process-gallery figure { margin: 0; aspect-ratio: 4 / 3; }

.ag-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ag-edge); border: 1px solid var(--ag-edge); border-radius: var(--ag-r-panel); overflow: hidden; }

.ag-step { padding: 26px 24px 28px; background: var(--ag-ink); min-height: 190px; }

.ag-step b {
  display: block;
  font-family: var(--ag-display);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ag-orange) !important;
  letter-spacing: .04em;
}

.ag-step h3 {
  font-family: var(--ag-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 18px 0 9px;
  color: #FFFFFF !important;
}

.ag-step p { font-size: 14px; line-height: 1.6; color: var(--ag-silver-dim) !important; margin: 0; }

/* ---------- Audience ------------------------------------ */
.ag-audience { background: var(--ag-paper); }

.ag-card {
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--ag-edge);
  border-radius: var(--ag-r-panel);
  padding: 28px;
  transition: border-color .3s var(--ag-ease);
}

.ag-audience .ag-card {
  background: #FFFFFF;
  border-color: var(--ag-edge-dark);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ag-audience .ag-card h3 {
  font-family: var(--ag-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 0;
}

.ag-audience .ag-card p { font-size: 14.5px; line-height: 1.6; margin: 0; flex: 1; }

.ag-audience .ag-card a {
  color: var(--ag-ink) !important;
  font-weight: 650;
  font-size: 14px;
  text-transform: none;
  border-bottom: 1px solid var(--ag-orange);
  padding-bottom: 3px;
  align-self: flex-start;
}

.ag-audience .ag-card a:hover { color: var(--ag-orange-deep) !important; }
.ag-audience .ag-card:hover { border-color: rgba(255, 101, 24, .5); }

/* ---------- Factory ------------------------------------- */
.ag-factory { background: var(--ag-ink); }
.ag-factory-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; margin-top: 36px; }
.ag-factory-grid .ag-media { aspect-ratio: 4 / 3; height: auto; }
.ag-factory-points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }

.ag-factory-point {
  border: 1px solid var(--ag-edge);
  background: rgba(255, 255, 255, .04);
  border-radius: var(--ag-r-control);
  padding: 14px 16px;
  font-size: 13.5px;
  font-weight: 550;
  text-align: center;
  text-transform: none;
  color: #FFFFFF !important;
}

.ag-source-orange { color: var(--ag-orange) !important; }

/* ---------- Promotion ----------------------------------- */
.ag-promo {
  position: relative;
  background: linear-gradient(128deg, var(--ag-orange-deep) 0%, #FF6D22 58%, #FF8B4C 100%);
  border-radius: var(--ag-r-hero);
  margin: 18px 12px;
  overflow: hidden;
}

.ag-promo::before {
  content: "REBUILD26";
  position: absolute;
  right: -1.5vw;
  top: 4vw;
  font-family: var(--ag-display);
  font-size: clamp(80px, 15vw, 220px);
  font-weight: 800;
  letter-spacing: -.06em;
  color: rgba(255, 255, 255, .09);
  transform: rotate(-6deg);
  pointer-events: none;
}

.ag-promo .ag-grid2 { align-items: center; position: relative; z-index: 1; }
.ag-promo .ag-kicker { color: #FFE6D8 !important; }
.ag-promo .ag-copy { color: #FFEDE3 !important; max-width: 46ch; }

.ag-coupon {
  position: relative;
  background: #FFFFFF;
  color: var(--ag-ink) !important;
  padding: clamp(28px, 3.6vw, 46px);
  border-radius: var(--ag-r-panel);
}

.ag-coupon-brand {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ag-graphite) !important;
}

.ag-coupon h3 {
  font-family: var(--ag-display);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 12px 0 20px;
  color: var(--ag-ink) !important;
  max-width: 22ch;
}

.ag-coupon-label { font-size: 12.5px; color: var(--ag-graphite) !important; }

.ag-code {
  font-family: var(--ag-display);
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
  margin: 8px 0 20px;
  color: var(--ag-orange-deep) !important;
}

.ag-coupon ul { padding-left: 18px; line-height: 1.85; margin: 0; }
.ag-coupon li { color: var(--ag-graphite) !important; font-size: 15px; }
.ag-coupon .ag-btn-primary { background: var(--ag-ink); }
.ag-coupon .ag-btn-primary:hover { background: #000; }

.ag-disclaimer {
  font-size: 12px;
  line-height: 1.6;
  color: #FFE0CE !important;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .28);
  max-width: 72ch;
}

/* ---------- Showroom + library pair ---------------------- */
.ag-visit-design {
  width: min(1440px, calc(100% - 32px));
  margin: 16px auto;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 16px;
  align-items: stretch;
}

.ag-visit-design > .ag-section {
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  border-radius: var(--ag-r-hero);
  overflow: hidden;
  padding: clamp(46px, 4.4vw, 72px) 0;
}

.ag-visit-design > .ag-section .ag-wrap { width: min(100% - 44px, 1240px); }
.ag-visit-design .ag-h2 { font-size: clamp(30px, 3.2vw, 44px); max-width: 18ch; }

.ag-showroom { background: var(--ag-panel); }

.ag-showroom-box {
  border: 1px solid var(--ag-edge);
  border-radius: var(--ag-r-panel);
  padding: clamp(24px, 3vw, 38px);
  background: rgba(255, 255, 255, .035);
}

.ag-address {
  font-family: var(--ag-display);
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.2;
  letter-spacing: -.025em;
  font-weight: 600;
  color: #FFFFFF !important;
}

.ag-library { background: var(--ag-paper-2); }
.ag-covers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }

.ag-cover {
  position: relative;
  min-height: 230px;
  padding: 24px;
  background: linear-gradient(158deg, var(--ag-panel-2), var(--ag-ink));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--ag-r-panel);
  overflow: hidden;
}

.ag-cover::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--ag-orange), transparent 68%);
  right: -72px;
  top: -72px;
  opacity: .24;
}

.ag-cover small { font-size: 12px; letter-spacing: .01em; text-transform: none; color: var(--ag-silver-dim) !important; }
.ag-cover b { position: relative; font-family: var(--ag-display); font-size: 22px; line-height: 1.1; letter-spacing: -.022em; font-weight: 600; color: #FFFFFF !important; }
.ag-cover span { color: var(--ag-silver-dim) !important; font-size: 13px; }

.ag-access {
  margin-top: 26px;
  background: #FFFFFF;
  padding: 14px;
  border: 1px solid var(--ag-edge-dark);
  border-radius: var(--ag-r-panel);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.ag-access input {
  padding: 16px 18px;
  border: 1px solid #E7E4DE;
  background: #F7F5F1;
  border-radius: var(--ag-r-control);
  font: inherit;
  font-size: 15px;
  width: 100%;
  outline: none;
  color: var(--ag-ink) !important;
}

.ag-access input::placeholder { color: #8B9295; }
.ag-access-note { grid-column: 1 / -1; color: #6B7477 !important; font-size: 13px; padding: 4px 6px 2px; }
.ag-access-note a { color: var(--ag-ink) !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Stories ------------------------------------- */
.ag-stories { background: var(--ag-ink); }

.ag-story-card {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 26px;
}

.ag-story-card::before { content: none; }

.ag-story-role { font-size: 12.5px; letter-spacing: .01em; font-weight: 650; margin-bottom: 10px; }

.ag-story-question {
  font-family: var(--ag-display);
  font-size: 23px;
  line-height: 1.22;
  letter-spacing: -.022em;
  font-weight: 600;
  color: #FFFFFF !important;
}

.ag-story-card a {
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 650;
  align-self: flex-start;
  border-bottom: 1px solid var(--ag-orange);
  padding-bottom: 3px;
}

/* ---------- Form intro ---------------------------------- */
.ag-form-intro {
  background: var(--ag-paper);
  padding: clamp(80px, 8vw, 120px) 0 34px;
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
}

/* ---------- FAQ ----------------------------------------- */
.ag-faq { background: var(--ag-ink-2); }
.ag-faq-list { border-top: 1px solid var(--ag-edge); margin-top: 34px; }

.ag-faq details { border-bottom: 1px solid var(--ag-edge); padding: 0; }

.ag-faq summary {
  font-family: var(--ag-display);
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 600;
  letter-spacing: -.015em;
  cursor: pointer;
  list-style: none;
  padding: 24px 52px 24px 0;
  position: relative;
  color: #FFFFFF !important;
}

.ag-faq summary::-webkit-details-marker { display: none; }

.ag-faq summary::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  width: 13px;
  height: 1.5px;
  background: var(--ag-orange);
  transform: translateY(-50%);
}

.ag-faq summary::before {
  content: "";
  position: absolute;
  right: 11.75px;
  top: 50%;
  width: 1.5px;
  height: 13px;
  background: var(--ag-orange);
  transform: translateY(-50%);
  transition: opacity .2s var(--ag-ease);
}

.ag-faq details[open] summary::before { opacity: 0; }
.ag-faq details p { max-width: 74ch; line-height: 1.68; padding: 0 0 26px; margin: 0; color: #B4BDC0 !important; }

/* ---------- Final --------------------------------------- */
.ag-final {
  position: relative;
  width: min(1440px, calc(100% - 32px));
  min-height: 640px;
  margin: 16px auto 0;
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: url(https://aluglobusfence.com/wp-content/uploads/2026/07/5-3-1.webp) center/cover no-repeat;
}

.ag-final::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(5, 8, 9, .92));
}

.ag-final .ag-wrap { position: relative; z-index: 2; padding-bottom: 76px; }
.ag-final .ag-h2 { max-width: 18ch; }

/* ---------- Mobile action bar ---------------------------- */
.ag-sticky {
  position: fixed;
  z-index: 9999;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(10px + env(safe-area-inset-bottom));
  background: rgba(9, 12, 13, .92);
  border: 1px solid var(--ag-edge);
  backdrop-filter: blur(16px);
  display: none;
  grid-template-columns: repeat(3, 1fr);
  width: calc(100% - 20px);
  border-radius: 14px;
  overflow: hidden;
}

.ag-sticky a {
  padding: 15px 6px;
  color: #FFFFFF !important;
  text-align: center;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: .002em;
}

.ag-sticky a:nth-child(2) { background: var(--ag-orange); }

/* ---------- Reveal -------------------------------------- */
.ag-reveal { opacity: 0; transform: translateY(12px); transition: opacity .7s var(--ag-ease), transform .7s var(--ag-ease); }
.ag-reveal.ag-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ag-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .ag-media > img, .ag-project > img { transition: none !important; }
}

/* ---------- Responsive ---------------------------------- */
@media (max-width: 1040px) {
  .ag-grid3, .ag-grid4, .ag-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-factory-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-visit-design { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .ag-system { min-height: 580px; }
  .ag-factory-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .ag-wrap { width: min(100% - 32px, 1240px); }
  .ag-section { padding: 64px 0; }
  .ag-hero { min-height: calc(100svh - 60px); padding-top: 96px; padding-bottom: 52px; }
  .ag-hero-video { display: none; }
  .ag-hero h1 { font-size: clamp(38px, 11vw, 58px); }
  .ag-hero h1 span { font-size: .48em; }
  .ag-scroll { display: none; }
  .ag-grid2, .ag-grid3, .ag-grid4, .ag-project-grid,
  .ag-process-gallery, .ag-covers, .ag-steps,
  .ag-factory-points { grid-template-columns: 1fr; }
  .ag-human { border-radius: 22px 22px 0 0; margin-top: -18px; }
  .ag-human-media, .ag-founder-media, .ag-altadena-proof .ag-media { aspect-ratio: 4 / 3; }
  .ag-project:nth-child(1), .ag-project:nth-child(2),
  .ag-project:nth-child(3), .ag-project:nth-child(4) { aspect-ratio: 4 / 3; }
  .ag-system { min-height: 560px; border-radius: 20px; }
  .ag-compare, .ag-promo { border-radius: 20px; margin-inline: 8px; }
  .ag-table { display: block; overflow-x: auto; }
  .ag-promo::before { display: none; }
  .ag-access { grid-template-columns: 1fr; }
  .ag-access .ag-btn { width: 100%; }
  .ag-visit-design { width: calc(100% - 16px); margin: 10px auto; gap: 10px; }
  .ag-visit-design > .ag-section { border-radius: 20px; }
  .ag-visit-design > .ag-section .ag-wrap { width: min(100% - 32px, 1240px); }
  .ag-form-intro { border-radius: 22px 22px 0 0; }
  .ag-final { min-height: 560px; border-radius: 20px 20px 0 0; }
  .ag-sticky { display: grid; }
  .elementor-62421 .elementor-element.elementor-element-5e992c1 { padding-bottom: 74px !important; }
}

/* =========================================================
   TYPOGRAPHY ARMOR
   Elementor Global Fonts are as aggressive as Global Colors.
   Colors are protected inline in the markup; fonts are pinned here.
   ========================================================= */
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-h2,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-hero h1,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-quote,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-mantra,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-address,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-code,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-story-question,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-coupon h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-step h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-cover b,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-audience .ag-card h3,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-faq summary {
  font-family: var(--ag-display) !important;
}

.elementor-62421 .elementor-element.elementor-element-5e992c1,
.elementor-62421 .elementor-element.elementor-element-5e992c1 p,
.elementor-62421 .elementor-element.elementor-element-5e992c1 li,
.elementor-62421 .elementor-element.elementor-element-5e992c1 a,
.elementor-62421 .elementor-element.elementor-element-5e992c1 span,
.elementor-62421 .elementor-element.elementor-element-5e992c1 input,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-copy,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-kicker,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-btn,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-tag,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-trust,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-source,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-step p,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-factory-point {
  font-family: var(--ag-body) !important;
}

/* Global Typography also likes to reset weight and case. */
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-h2, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-hero h1 { font-weight: 700 !important; text-transform: none !important; }
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-kicker, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-tag, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-btn,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-trust, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-factory-point,
.elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-cover small, .elementor-62421 .elementor-element.elementor-element-5e992c1 .ag-story-role { text-transform: none !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1a95fde */@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Manrope:wght@400;500;600;700&display=swap');

/* =========================================================
   ALUGLOBUS — CALIFORNIA WILDFIRE REBUILD
   Visual system: "extruded aluminum"
   Graphite panels, anodized silver type, hairline metal edges,
   signal-orange used only where an action or a fact lives.
   ========================================================= */

:root {
  --ag-ink: #0B0E0F;
  --ag-ink-2: #12171A;
  --ag-panel: #161C1F;
  --ag-panel-2: #1D2427;
  --ag-paper: #F5F3EE;
  --ag-paper-2: #EAE7DF;
  --ag-silver: #C9D1D4;
  --ag-silver-dim: #98A2A6;
  --ag-graphite: #4E585C;
  --ag-orange: #FF6518;
  --ag-orange-deep: #E14E06;
  --ag-edge: rgba(255, 255, 255, .11);
  --ag-edge-strong: rgba(255, 255, 255, .2);
  --ag-edge-dark: rgba(11, 14, 15, .13);
  --ag-r-control: 10px;
  --ag-r-panel: 18px;
  --ag-r-media: 22px;
  --ag-r-hero: 28px;
  --ag-ease: cubic-bezier(.22, .68, .18, 1);
  --ag-display: "Archivo", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ag-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }

.elementor-62421 .elementor-element.elementor-element-1a95fde,
.elementor-62421 .elementor-element.elementor-element-1a95fde .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ag-ink) !important;
  color: #FFFFFF !important;
  font-family: var(--ag-body) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elementor-62421 .elementor-element.elementor-element-1a95fde *,
.elementor-62421 .elementor-element.elementor-element-1a95fde *::before,
.elementor-62421 .elementor-element.elementor-element-1a95fde *::after { box-sizing: border-box !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde a { text-decoration: none; }

.elementor-62421 .elementor-element.elementor-element-1a95fde a:focus-visible,
.elementor-62421 .elementor-element.elementor-element-1a95fde button:focus-visible,
.elementor-62421 .elementor-element.elementor-element-1a95fde summary:focus-visible,
.elementor-62421 .elementor-element.elementor-element-1a95fde input:focus-visible {
  outline: 2px solid var(--ag-orange);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- Color system -------------------------------- */
.elementor-62421 .elementor-element.elementor-element-1a95fde { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde h1, .elementor-62421 .elementor-element.elementor-element-1a95fde h2, .elementor-62421 .elementor-element.elementor-element-1a95fde h3, .elementor-62421 .elementor-element.elementor-element-1a95fde h4,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde summary, .elementor-62421 .elementor-element.elementor-element-1a95fde strong, .elementor-62421 .elementor-element.elementor-element-1a95fde b { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde p, .elementor-62421 .elementor-element.elementor-element-1a95fde li, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-copy { color: var(--ag-silver) !important; }
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-copy strong, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-copy b { color: #FFFFFF !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-kicker,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-story-role { color: var(--ag-orange) !important; }

/* Light editorial sections */
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro { color: var(--ag-ink) !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human h1, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human .ag-h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human strong, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human b,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof .ag-h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare h3, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare .ag-h2,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare strong, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare b,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience h3, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience .ag-h2,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience strong, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience b,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library h3, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library .ag-h2,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library strong, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library b,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro .ag-h2,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro strong { color: var(--ag-ink) !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human li, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro p, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro .ag-copy { color: var(--ag-graphite) !important; }

.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-human .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-altadena-proof .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-compare .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-library .ag-copy strong,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-form-intro .ag-copy strong { color: var(--ag-ink) !important; }

/* ---------- Layout -------------------------------------- */
.ag-wrap { width: min(1240px, calc(100% - 44px)); margin-inline: auto; }

.ag-section {
  position: relative;
  padding: clamp(76px, 8vw, 132px) 0;
}

.ag-grid2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: center;
}

.ag-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ag-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }

/* ---------- Typography ---------------------------------- */
.ag-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ag-body);
  font-size: 13px;
  letter-spacing: .005em;
  text-transform: none;
  font-weight: 600;
  margin-bottom: 20px;
}

.ag-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  background: currentColor;
  border-radius: 1px;
  transform: rotate(45deg);
  flex: none;
}

.ag-h2 {
  font-family: var(--ag-display);
  font-size: clamp(38px, 4.6vw, 66px);
  line-height: 1.02;
  letter-spacing: -.032em;
  font-weight: 700;
  margin: 0 0 24px;
  max-width: 20ch;
  text-wrap: balance;
}

.ag-h3 {
  font-family: var(--ag-display);
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.16;
  letter-spacing: -.02em;
  font-weight: 600;
  margin: 0 0 18px;
}

.ag-copy {
  font-size: clamp(16px, 1.05vw, 17.5px);
  line-height: 1.68;
  max-width: 62ch;
}

.ag-copy p { margin: 0 0 1.1em; }
.ag-copy p:last-child { margin-bottom: 0; }
.ag-copy strong { font-weight: 650; }

/* ---------- Controls ------------------------------------ */
.ag-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; }

.ag-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: var(--ag-r-control);
  font-family: var(--ag-body);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .002em;
  text-transform: none;
  white-space: nowrap;
  transition: background .25s var(--ag-ease), border-color .25s var(--ag-ease), color .25s var(--ag-ease);
}

.ag-btn::after { content: none; }

.ag-btn-primary {
  background: var(--ag-orange);
  color: #FFFFFF !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22);
}
.ag-btn-primary:hover { background: var(--ag-orange-deep); }

.ag-btn-ghost {
  border: 1px solid var(--ag-edge-strong);
  background: transparent;
  color: #FFFFFF !important;
}
.ag-btn-ghost:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .38); }

.ag-btn-light { background: #FFFFFF; color: var(--ag-ink) !important; }
.ag-btn-light:hover { background: var(--ag-paper-2); }

.ag-altadena-proof .ag-btn-ghost,
.ag-compare .ag-btn-ghost,
.ag-audience .ag-btn-ghost {
  border-color: var(--ag-edge-dark);
  color: var(--ag-ink) !important;
}

/* ---------- Tags ---------------------------------------- */
.ag-tagrow { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }

.ag-tag {
  border: 1px solid var(--ag-edge);
  background: rgba(255, 255, 255, .05);
  padding: 8px 13px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 550;
  letter-spacing: .002em;
  text-transform: none;
  color: #E6EAEB !important;
}

.ag-altadena-proof .ag-tag {
  border-color: var(--ag-edge-dark);
  background: rgba(11, 14, 15, .04);
  color: var(--ag-ink) !important;
}

/* ---------- Media --------------------------------------- */
.ag-media,
.ag-project,
.ag-process-gallery figure,
.ag-house-map {
  position: relative;
  overflow: hidden;
  border-radius: var(--ag-r-media);
  background: var(--ag-panel);
  border: 1px solid var(--ag-edge);
}

.ag-media > img,
.ag-media > a > img,
.ag-project > img,
.ag-process-gallery figure > img,
.ag-house-map > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .9s var(--ag-ease);
}

.ag-media:hover > img,
.ag-media:hover > a > img,
.ag-project:hover > img { transform: scale(1.03); }

.ag-altadena-proof .ag-media,
.ag-compare .ag-media { border-color: var(--ag-edge-dark); }

/* Old decorative overlays removed — captions live in the images. */
.ag-label,
.ag-project-meta,
.ag-process-gallery figcaption,
.ag-human-media::after,
.ag-founder-media::after { display: none !important; content: none !important; }

/* ---------- Hero ---------------------------------------- */
.ag-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: min(880px, 100svh);
  padding: clamp(120px, 16vh, 200px) 0 clamp(56px, 7vh, 88px);
  overflow: hidden;
  background: #0A0D0E url(https://aluglobusfence.com/wp-content/uploads/2026/04/1-11.webp) center/cover no-repeat;
}

.ag-hero-video { position: absolute; inset: 0; overflow: hidden; }

.ag-hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  height: 56.25vw;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
  filter: saturate(.82) contrast(1.02);
}

.ag-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 9, 10, .58) 0%, rgba(6, 9, 10, .28) 34%, rgba(8, 11, 12, .95) 100%),
    linear-gradient(90deg, rgba(7, 10, 11, .72), transparent 62%);
}

.ag-hero-inner { position: relative; z-index: 2; }

.ag-hero .ag-kicker {
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(10, 14, 15, .42);
  border-radius: 999px;
  padding: 9px 15px 9px 13px;
  margin-bottom: 26px;
  backdrop-filter: blur(10px);
  font-size: 12.5px;
}

.ag-hero .ag-kicker::before {
  background: var(--ag-orange);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: none;
  box-shadow: 0 0 0 4px rgba(255, 101, 24, .2);
}

.ag-hero h1 {
  font-family: var(--ag-display);
  font-size: clamp(46px, 6.4vw, 92px);
  line-height: .96;
  letter-spacing: -.038em;
  font-weight: 700;
  margin: 0;
  max-width: 16ch;
  color: #FFFFFF !important;
  text-wrap: balance;
}

.ag-hero h1 span {
  display: block;
  margin-top: .34em;
  padding-top: .34em;
  border-top: 1px solid rgba(255, 255, 255, .2);
  font-size: .42em;
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.015em;
  max-width: 24ch;
  color: var(--ag-silver) !important;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.ag-hero-copy {
  max-width: 58ch;
  font-size: clamp(16px, 1.15vw, 18.5px);
  line-height: 1.6;
  margin-top: 24px;
  color: #DFE4E5 !important;
}

.ag-hero .ag-actions { margin-top: 30px; }

.ag-trust {
  display: inline-flex;
  margin-top: 26px;
  padding: 11px 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(0, 0, 0, .3);
  backdrop-filter: blur(8px);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 550;
  letter-spacing: .002em;
  text-transform: none;
  color: #D3D9DB !important;
}

.ag-scroll {
  position: absolute;
  right: 3vw;
  bottom: 64px;
  z-index: 3;
  writing-mode: vertical-rl;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: none;
  color: #B9C0C2 !important;
}

.ag-scroll::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 46px;
  background: linear-gradient(var(--ag-orange), transparent);
  margin-bottom: 12px;
}

/* ---------- Opening editorial ---------------------------- */
.ag-human {
  background: var(--ag-paper);
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
  margin-top: -26px;
  z-index: 4;
}

.ag-human .ag-h2 { font-size: clamp(32px, 3.6vw, 50px); max-width: 22ch; }
.ag-human-media { aspect-ratio: 4 / 5; height: auto; }
.ag-founder-media { aspect-ratio: 4 / 5; height: auto; }

.ag-quote {
  font-family: var(--ag-display);
  font-size: clamp(21px, 1.9vw, 28px);
  line-height: 1.36;
  letter-spacing: -.018em;
  font-weight: 500;
  color: #FFFFFF !important;
  border-left: 2px solid var(--ag-orange);
  padding-left: 22px;
  margin: 26px 0;
  max-width: 34ch;
}

/* ---------- Education ------------------------------------ */
.ag-education { background: var(--ag-ink-2); }
.ag-house-map { aspect-ratio: 16 / 9; margin-top: 34px; }
.ag-house-map > img { filter: brightness(.74) saturate(.88); }

.ag-source {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ag-silver-dim) !important;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--ag-edge);
  max-width: 70ch;
}

.ag-source a { color: #DDE2E4 !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Altadena proof ------------------------------- */
.ag-altadena-proof { background: var(--ag-paper); }
.ag-altadena-proof .ag-grid2 { align-items: start; }
.ag-altadena-proof .ag-media { aspect-ratio: 4 / 5; min-height: 0; }
.ag-altadena-proof .ag-media > a { display: block; width: 100%; height: 100%; }
.ag-altadena-proof .ag-h2 { max-width: 16ch; }
.ag-altadena-proof .ag-source { border-top-color: var(--ag-edge-dark); color: #6B7477 !important; }

/* ---------- System sections ------------------------------ */
.ag-system {
  position: relative;
  width: min(1440px, calc(100% - 32px));
  min-height: min(680px, 80svh);
  margin: 16px auto;
  border-radius: var(--ag-r-hero);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background-position: center;
  background-size: cover;
}

.ag-system::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .06) 24%, rgba(4, 7, 8, .9) 96%),
    linear-gradient(90deg, rgba(4, 7, 8, .5), transparent 56%);
}

.ag-system::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--ag-edge);
  border-radius: inherit;
  pointer-events: none;
}

.ag-system .ag-wrap { position: relative; z-index: 2; padding-bottom: clamp(44px, 5vw, 72px); }
.ag-system .ag-kicker { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.ag-system .ag-h2 { max-width: 18ch; }
.ag-system-copy { max-width: 56ch; }
.ag-system .ag-copy { color: #DDE2E4 !important; }

.ag-system-fence { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/photo-2025-03-22-11.07.08.webp); }
.ag-system-gate { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/WhatsApp-Image-2025-03-22-at-08.12.50.webp); }
.ag-system-patio { background-image: url(https://aluglobusfence.com/wp-content/uploads/2026/07/31-1-1.webp); }
.ag-system-railing { background-image: url(https://aluglobusfence.com/wp-content/uploads/2026/04/9.webp); }
.ag-system-cladding { background-image: url(https://aluglobusfence.com/wp-content/uploads/2025/03/WhatsApp-Image-2025-03-12-at-06.28.22-1.jpeg); }

/* ---------- Patio video --------------------------------- */
.ag-video-panel { background: var(--ag-panel); }
.ag-video-frame {
  position: relative;
  padding-top: 56.25%;
  border-radius: var(--ag-r-media);
  overflow: hidden;
  border: 1px solid var(--ag-edge);
  background: #000;
}
.ag-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Material comparison -------------------------- */
.ag-compare {
  background: var(--ag-paper);
  border-radius: var(--ag-r-hero);
  margin: 18px 12px;
}

.ag-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 36px;
  background: #FFFFFF;
  border: 1px solid var(--ag-edge-dark);
  border-radius: var(--ag-r-panel);
  overflow: hidden;
}

.ag-table th,
.ag-table td {
  text-align: left;
  padding: 19px 22px;
  border-bottom: 1px solid #E7E4DE;
  font-size: 15px;
}

.ag-table tr:last-child td { border-bottom: 0; }

.ag-table th {
  background: var(--ag-ink);
  color: #FFFFFF !important;
  text-transform: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .002em;
}

.ag-table td { color: var(--ag-graphite) !important; }

.ag-table td:last-child {
  color: var(--ag-ink) !important;
  font-weight: 600;
  box-shadow: inset 2px 0 0 var(--ag-orange);
}

.ag-mantra {
  font-family: var(--ag-display);
  font-size: clamp(28px, 3.6vw, 52px);
  font-weight: 700;
  letter-spacing: -.032em;
  line-height: 1.02;
  margin-top: 46px;
  max-width: 16ch;
  color: var(--ag-ink) !important;
}

/* ---------- Projects ------------------------------------ */
.ag-projects { background: var(--ag-ink-2); }

.ag-project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 38px;
}

.ag-project { border-radius: var(--ag-r-media); }
.ag-project:nth-child(1), .ag-project:nth-child(4) { aspect-ratio: 16 / 10; }
.ag-project:nth-child(2), .ag-project:nth-child(3) { aspect-ratio: 4 / 3; }
.ag-project::after { content: none; }

/* ---------- Process ------------------------------------- */
.ag-process { background: var(--ag-ink); }

.ag-process-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 40px;
}

.ag-process-gallery figure { margin: 0; aspect-ratio: 4 / 3; }

.ag-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ag-edge); border: 1px solid var(--ag-edge); border-radius: var(--ag-r-panel); overflow: hidden; }

.ag-step { padding: 26px 24px 28px; background: var(--ag-ink); min-height: 190px; }

.ag-step b {
  display: block;
  font-family: var(--ag-display);
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ag-orange) !important;
  letter-spacing: .04em;
}

.ag-step h3 {
  font-family: var(--ag-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 18px 0 9px;
  color: #FFFFFF !important;
}

.ag-step p { font-size: 14px; line-height: 1.6; color: var(--ag-silver-dim) !important; margin: 0; }

/* ---------- Audience ------------------------------------ */
.ag-audience { background: var(--ag-paper); }

.ag-card {
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--ag-edge);
  border-radius: var(--ag-r-panel);
  padding: 28px;
  transition: border-color .3s var(--ag-ease);
}

.ag-audience .ag-card {
  background: #FFFFFF;
  border-color: var(--ag-edge-dark);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ag-audience .ag-card h3 {
  font-family: var(--ag-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 0;
}

.ag-audience .ag-card p { font-size: 14.5px; line-height: 1.6; margin: 0; flex: 1; }

.ag-audience .ag-card a {
  color: var(--ag-ink) !important;
  font-weight: 650;
  font-size: 14px;
  text-transform: none;
  border-bottom: 1px solid var(--ag-orange);
  padding-bottom: 3px;
  align-self: flex-start;
}

.ag-audience .ag-card a:hover { color: var(--ag-orange-deep) !important; }
.ag-audience .ag-card:hover { border-color: rgba(255, 101, 24, .5); }

/* ---------- Factory ------------------------------------- */
.ag-factory { background: var(--ag-ink); }
.ag-factory-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12px; margin-top: 36px; }
.ag-factory-grid .ag-media { aspect-ratio: 4 / 3; height: auto; }
.ag-factory-points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }

.ag-factory-point {
  border: 1px solid var(--ag-edge);
  background: rgba(255, 255, 255, .04);
  border-radius: var(--ag-r-control);
  padding: 14px 16px;
  font-size: 13.5px;
  font-weight: 550;
  text-align: center;
  text-transform: none;
  color: #FFFFFF !important;
}

.ag-source-orange { color: var(--ag-orange) !important; }

/* ---------- Promotion ----------------------------------- */
.ag-promo {
  position: relative;
  background: linear-gradient(128deg, var(--ag-orange-deep) 0%, #FF6D22 58%, #FF8B4C 100%);
  border-radius: var(--ag-r-hero);
  margin: 18px 12px;
  overflow: hidden;
}

.ag-promo::before {
  content: "REBUILD26";
  position: absolute;
  right: -1.5vw;
  top: 4vw;
  font-family: var(--ag-display);
  font-size: clamp(80px, 15vw, 220px);
  font-weight: 800;
  letter-spacing: -.06em;
  color: rgba(255, 255, 255, .09);
  transform: rotate(-6deg);
  pointer-events: none;
}

.ag-promo .ag-grid2 { align-items: center; position: relative; z-index: 1; }
.ag-promo .ag-kicker { color: #FFE6D8 !important; }
.ag-promo .ag-copy { color: #FFEDE3 !important; max-width: 46ch; }

.ag-coupon {
  position: relative;
  background: #FFFFFF;
  color: var(--ag-ink) !important;
  padding: clamp(28px, 3.6vw, 46px);
  border-radius: var(--ag-r-panel);
}

.ag-coupon-brand {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--ag-graphite) !important;
}

.ag-coupon h3 {
  font-family: var(--ag-display);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: 12px 0 20px;
  color: var(--ag-ink) !important;
  max-width: 22ch;
}

.ag-coupon-label { font-size: 12.5px; color: var(--ag-graphite) !important; }

.ag-code {
  font-family: var(--ag-display);
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
  margin: 8px 0 20px;
  color: var(--ag-orange-deep) !important;
}

.ag-coupon ul { padding-left: 18px; line-height: 1.85; margin: 0; }
.ag-coupon li { color: var(--ag-graphite) !important; font-size: 15px; }
.ag-coupon .ag-btn-primary { background: var(--ag-ink); }
.ag-coupon .ag-btn-primary:hover { background: #000; }

.ag-disclaimer {
  font-size: 12px;
  line-height: 1.6;
  color: #FFE0CE !important;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .28);
  max-width: 72ch;
}

/* ---------- Showroom + library pair ---------------------- */
.ag-visit-design {
  width: min(1440px, calc(100% - 32px));
  margin: 16px auto;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 16px;
  align-items: stretch;
}

.ag-visit-design > .ag-section {
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
  border-radius: var(--ag-r-hero);
  overflow: hidden;
  padding: clamp(46px, 4.4vw, 72px) 0;
}

.ag-visit-design > .ag-section .ag-wrap { width: min(100% - 44px, 1240px); }
.ag-visit-design .ag-h2 { font-size: clamp(30px, 3.2vw, 44px); max-width: 18ch; }

.ag-showroom { background: var(--ag-panel); }

.ag-showroom-box {
  border: 1px solid var(--ag-edge);
  border-radius: var(--ag-r-panel);
  padding: clamp(24px, 3vw, 38px);
  background: rgba(255, 255, 255, .035);
}

.ag-address {
  font-family: var(--ag-display);
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.2;
  letter-spacing: -.025em;
  font-weight: 600;
  color: #FFFFFF !important;
}

.ag-library { background: var(--ag-paper-2); }
.ag-covers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }

.ag-cover {
  position: relative;
  min-height: 230px;
  padding: 24px;
  background: linear-gradient(158deg, var(--ag-panel-2), var(--ag-ink));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--ag-r-panel);
  overflow: hidden;
}

.ag-cover::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--ag-orange), transparent 68%);
  right: -72px;
  top: -72px;
  opacity: .24;
}

.ag-cover small { font-size: 12px; letter-spacing: .01em; text-transform: none; color: var(--ag-silver-dim) !important; }
.ag-cover b { position: relative; font-family: var(--ag-display); font-size: 22px; line-height: 1.1; letter-spacing: -.022em; font-weight: 600; color: #FFFFFF !important; }
.ag-cover span { color: var(--ag-silver-dim) !important; font-size: 13px; }

.ag-access {
  margin-top: 26px;
  background: #FFFFFF;
  padding: 14px;
  border: 1px solid var(--ag-edge-dark);
  border-radius: var(--ag-r-panel);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.ag-access input {
  padding: 16px 18px;
  border: 1px solid #E7E4DE;
  background: #F7F5F1;
  border-radius: var(--ag-r-control);
  font: inherit;
  font-size: 15px;
  width: 100%;
  outline: none;
  color: var(--ag-ink) !important;
}

.ag-access input::placeholder { color: #8B9295; }
.ag-access-note { grid-column: 1 / -1; color: #6B7477 !important; font-size: 13px; padding: 4px 6px 2px; }
.ag-access-note a { color: var(--ag-ink) !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Stories ------------------------------------- */
.ag-stories { background: var(--ag-ink); }

.ag-story-card {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 26px;
}

.ag-story-card::before { content: none; }

.ag-story-role { font-size: 12.5px; letter-spacing: .01em; font-weight: 650; margin-bottom: 10px; }

.ag-story-question {
  font-family: var(--ag-display);
  font-size: 23px;
  line-height: 1.22;
  letter-spacing: -.022em;
  font-weight: 600;
  color: #FFFFFF !important;
}

.ag-story-card a {
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 650;
  align-self: flex-start;
  border-bottom: 1px solid var(--ag-orange);
  padding-bottom: 3px;
}

/* ---------- Form intro ---------------------------------- */
.ag-form-intro {
  background: var(--ag-paper);
  padding: clamp(80px, 8vw, 120px) 0 34px;
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
}

/* ---------- FAQ ----------------------------------------- */
.ag-faq { background: var(--ag-ink-2); }
.ag-faq-list { border-top: 1px solid var(--ag-edge); margin-top: 34px; }

.ag-faq details { border-bottom: 1px solid var(--ag-edge); padding: 0; }

.ag-faq summary {
  font-family: var(--ag-display);
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 600;
  letter-spacing: -.015em;
  cursor: pointer;
  list-style: none;
  padding: 24px 52px 24px 0;
  position: relative;
  color: #FFFFFF !important;
}

.ag-faq summary::-webkit-details-marker { display: none; }

.ag-faq summary::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  width: 13px;
  height: 1.5px;
  background: var(--ag-orange);
  transform: translateY(-50%);
}

.ag-faq summary::before {
  content: "";
  position: absolute;
  right: 11.75px;
  top: 50%;
  width: 1.5px;
  height: 13px;
  background: var(--ag-orange);
  transform: translateY(-50%);
  transition: opacity .2s var(--ag-ease);
}

.ag-faq details[open] summary::before { opacity: 0; }
.ag-faq details p { max-width: 74ch; line-height: 1.68; padding: 0 0 26px; margin: 0; color: #B4BDC0 !important; }

/* ---------- Final --------------------------------------- */
.ag-final {
  position: relative;
  width: min(1440px, calc(100% - 32px));
  min-height: 640px;
  margin: 16px auto 0;
  border-radius: var(--ag-r-hero) var(--ag-r-hero) 0 0;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: url(https://aluglobusfence.com/wp-content/uploads/2026/07/5-3-1.webp) center/cover no-repeat;
}

.ag-final::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(5, 8, 9, .92));
}

.ag-final .ag-wrap { position: relative; z-index: 2; padding-bottom: 76px; }
.ag-final .ag-h2 { max-width: 18ch; }

/* ---------- Mobile action bar ---------------------------- */
.ag-sticky {
  position: fixed;
  z-index: 9999;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(10px + env(safe-area-inset-bottom));
  background: rgba(9, 12, 13, .92);
  border: 1px solid var(--ag-edge);
  backdrop-filter: blur(16px);
  display: none;
  grid-template-columns: repeat(3, 1fr);
  width: calc(100% - 20px);
  border-radius: 14px;
  overflow: hidden;
}

.ag-sticky a {
  padding: 15px 6px;
  color: #FFFFFF !important;
  text-align: center;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: .002em;
}

.ag-sticky a:nth-child(2) { background: var(--ag-orange); }

/* ---------- Reveal -------------------------------------- */
.ag-reveal { opacity: 0; transform: translateY(12px); transition: opacity .7s var(--ag-ease), transform .7s var(--ag-ease); }
.ag-reveal.ag-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ag-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .ag-media > img, .ag-project > img { transition: none !important; }
}

/* ---------- Responsive ---------------------------------- */
@media (max-width: 1040px) {
  .ag-grid3, .ag-grid4, .ag-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-factory-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ag-visit-design { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .ag-system { min-height: 580px; }
  .ag-factory-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .ag-wrap { width: min(100% - 32px, 1240px); }
  .ag-section { padding: 64px 0; }
  .ag-hero { min-height: calc(100svh - 60px); padding-top: 96px; padding-bottom: 52px; }
  .ag-hero-video { display: none; }
  .ag-hero h1 { font-size: clamp(38px, 11vw, 58px); }
  .ag-hero h1 span { font-size: .48em; }
  .ag-scroll { display: none; }
  .ag-grid2, .ag-grid3, .ag-grid4, .ag-project-grid,
  .ag-process-gallery, .ag-covers, .ag-steps,
  .ag-factory-points { grid-template-columns: 1fr; }
  .ag-human { border-radius: 22px 22px 0 0; margin-top: -18px; }
  .ag-human-media, .ag-founder-media, .ag-altadena-proof .ag-media { aspect-ratio: 4 / 3; }
  .ag-project:nth-child(1), .ag-project:nth-child(2),
  .ag-project:nth-child(3), .ag-project:nth-child(4) { aspect-ratio: 4 / 3; }
  .ag-system { min-height: 560px; border-radius: 20px; }
  .ag-compare, .ag-promo { border-radius: 20px; margin-inline: 8px; }
  .ag-table { display: block; overflow-x: auto; }
  .ag-promo::before { display: none; }
  .ag-access { grid-template-columns: 1fr; }
  .ag-access .ag-btn { width: 100%; }
  .ag-visit-design { width: calc(100% - 16px); margin: 10px auto; gap: 10px; }
  .ag-visit-design > .ag-section { border-radius: 20px; }
  .ag-visit-design > .ag-section .ag-wrap { width: min(100% - 32px, 1240px); }
  .ag-form-intro { border-radius: 22px 22px 0 0; }
  .ag-final { min-height: 560px; border-radius: 20px 20px 0 0; }
  .ag-sticky { display: grid; }
  .elementor-62421 .elementor-element.elementor-element-1a95fde { padding-bottom: 74px !important; }
}

/* =========================================================
   TYPOGRAPHY ARMOR
   Elementor Global Fonts are as aggressive as Global Colors.
   Colors are protected inline in the markup; fonts are pinned here.
   ========================================================= */
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-h2,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-hero h1,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-quote,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-mantra,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-address,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-code,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-story-question,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-coupon h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-step h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-cover b,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-audience .ag-card h3,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-faq summary {
  font-family: var(--ag-display) !important;
}

.elementor-62421 .elementor-element.elementor-element-1a95fde,
.elementor-62421 .elementor-element.elementor-element-1a95fde p,
.elementor-62421 .elementor-element.elementor-element-1a95fde li,
.elementor-62421 .elementor-element.elementor-element-1a95fde a,
.elementor-62421 .elementor-element.elementor-element-1a95fde span,
.elementor-62421 .elementor-element.elementor-element-1a95fde input,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-copy,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-kicker,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-btn,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-tag,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-trust,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-source,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-step p,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-factory-point {
  font-family: var(--ag-body) !important;
}

/* Global Typography also likes to reset weight and case. */
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-h2, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-hero h1 { font-weight: 700 !important; text-transform: none !important; }
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-kicker, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-tag, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-btn,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-trust, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-factory-point,
.elementor-62421 .elementor-element.elementor-element-1a95fde .ag-cover small, .elementor-62421 .elementor-element.elementor-element-1a95fde .ag-story-role { text-transform: none !important; }/* End custom CSS */