.elementor-5694 .elementor-element.elementor-element-16e1857{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5694 .elementor-element.elementor-element-ea4ca29 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-5694 .elementor-element.elementor-element-egmc1gs{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5694 .elementor-element.elementor-element-t7qx6rb{text-align:center;}.elementor-5694 .elementor-element.elementor-element-t7qx6rb .elementor-heading-title{font-size:30px;font-weight:800;}.elementor-5694 .elementor-element.elementor-element-e94ca81{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-5694 .elementor-element.elementor-element-853a063 > .elementor-element-populated{padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-5694 .elementor-element.elementor-element-ea4ca29{width:100%;}.elementor-5694 .elementor-element.elementor-element-ndqit9e{width:100%;}.elementor-5694 .elementor-element.elementor-element-853a063{width:100%;}}/* Start custom CSS */:root{
  --a1vsr-slate-900:#14181C;
  --a1vsr-slate-800:#1D2429;
  --a1vsr-slate-700:#2C343B;
  --a1vsr-slate-500:#5B666F;
  --a1vsr-slate-300:#A7B0B7;
  --a1vsr-paper:#EDEFF0;
  --a1vsr-paper-2:#F7F8F8;
  --a1vsr-white:#FFFFFF;
  --a1vsr-gold:#FFFA14;
  --a1vsr-gold-deep:#B7A800;
  --a1vsr-sage:#3F6B4E;
  --a1vsr-rust:#A8442A;
  --a1vsr-rule:rgba(20,24,28,.12);
  --a1vsr-rule-dk:rgba(255,255,255,.14);
  --a1vsr-display:"Archivo",system-ui,sans-serif;
  --a1vsr-body:"IBM Plex Sans",system-ui,sans-serif;
  --a1vsr-mono:"IBM Plex Mono",ui-monospace,monospace;
  --a1vsr-max:1200px;
  --a1vsr-gut:clamp(20px,5vw,64px);
}
.elementor-widget-html,
.elementor-widget-html .elementor-widget-container{
  margin:0 !important;
  padding:0 !important;
}
.a1vsr-root{margin:0 !important;padding:0 !important}
.a1vsr-root ,.a1vsr-root ::before,.a1vsr-root *::after{box-sizing:border-box}
.a1vsr-root{
  font-family:var(--a1vsr-body);
  color:var(--a1vsr-slate-900);
  background:var(--a1vsr-paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.a1vsr-root img{max-width:100%;display:block;height:auto}
.a1vsr-wrap{max-width:var(--a1vsr-max);margin:0 auto;padding-inline:var(--a1vsr-gut)}
.a1vsr-root .a1vsr-h1{
  font-family:var(--a1vsr-display);
  font-variation-settings:"wdth" 112,"wght" 800;
  font-weight:800;
  font-size:clamp(2.5rem,6.2vw,5.2rem);
  line-height:.96;letter-spacing:-.025em;margin:0;text-transform:uppercase;
}
.a1vsr-root .a1vsr-h2{
  font-family:var(--a1vsr-display);
  font-variation-settings:"wdth" 108,"wght" 750;
  font-weight:700;
  font-size:clamp(1.75rem,3.4vw,2.9rem);
  line-height:1.06;letter-spacing:-.02em;margin:0 0 1.1rem;text-transform:uppercase;
}
.a1vsr-root .a1vsr-h3{
  font-family:var(--a1vsr-display);
  font-variation-settings:"wdth" 100,"wght" 700;
  font-weight:700;
  font-size:clamp(1.1rem,1.7vw,1.35rem);
  line-height:1.2;letter-spacing:-.01em;margin:0 0 .5rem;
}
.a1vsr-lede{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--a1vsr-slate-700);max-width:62ch}
.a1vsr-p{margin:0 0 1.1rem;max-width:68ch;color:var(--a1vsr-slate-700)}
.a1vsr-root .a1vsr-p a{
  color:var(--a1vsr-slate-900);text-decoration:underline;
  text-decoration-color:var(--a1vsr-gold);text-decoration-thickness:2px;
  text-underline-offset:3px;font-weight:500;
}
.a1vsr-root .a1vsr-p a:hover{color:var(--a1vsr-gold-deep)}
.a1vsr-label{
  font-family:var(--a1vsr-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--a1vsr-gold-deep);
  display:flex;align-items:center;gap:.7rem;margin:0 0 1.2rem;
}
.a1vsr-label::after{content:"";flex:1;height:1px;background:var(--a1vsr-rule);max-width:120px}
.a1vsr-sec--dk .a1vsr-label{color:var(--a1vsr-gold)}
.a1vsr-sec--dk .a1vsr-label::after{background:var(--a1vsr-rule-dk)}
.a1vsr-sec{padding:clamp(56px,8vw,116px) 0;position:relative}
.a1vsr-sec--dk{background:var(--a1vsr-slate-900);color:var(--a1vsr-paper)}
.a1vsr-root .a1vsr-sec--dk .a1vsr-h2,
.a1vsr-root .a1vsr-sec--dk .a1vsr-h3{color:var(--a1vsr-white)}
.a1vsr-sec--dk .a1vsr-p,.a1vsr-sec--dk .a1vsr-lede{color:var(--a1vsr-slate-300)}
.a1vsr-root .a1vsr-sec--dk .a1vsr-p a{color:var(--a1vsr-white)}
.a1vsr-sec--wht{background:var(--a1vsr-white)}
.a1vsr-root a.a1vsr-btn,
.a1vsr-root a.a1vsr-btn:visited{
  display:inline-flex;align-items:center;gap:.65rem;
  font-family:var(--a1vsr-mono);font-size:.8rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  padding:1.05rem 1.6rem;border:0;border-radius:0;cursor:pointer;
  background:var(--a1vsr-gold);color:var(--a1vsr-slate-900);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  box-shadow:none;
}
.a1vsr-root a.a1vsr-btn:hover{
  background:#FFC547;color:var(--a1vsr-slate-900);transform:translateY(-2px);
  box-shadow:0 10px 24px -8px rgba(240,180,41,.55);text-decoration:none;
}
.a1vsr-btn__arw{transition:transform .18s ease}
.a1vsr-root a.a1vsr-btn:hover .a1vsr-btn__arw{transform:translateX(4px)}
.a1vsr-root a.a1vsr-btn--ghost,
.a1vsr-root a.a1vsr-btn--ghost:visited{
  background:transparent;color:var(--a1vsr-white);
  box-shadow:inset 0 0 0 1.5px var(--a1vsr-rule-dk);
}
.a1vsr-root a.a1vsr-btn--ghost:hover{
  background:rgba(255,255,255,.07);color:var(--a1vsr-white);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);transform:translateY(-2px);
}
.a1vsr-root a.a1vsr-btn:focus-visible{outline:3px solid var(--a1vsr-gold);outline-offset:3px}
.a1vsr-stick{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(20,24,28,.96);backdrop-filter:blur(10px);
  border-top:1px solid var(--a1vsr-rule-dk);
  transform:translateY(102%);transition:transform .34s cubic-bezier(.4,0,.2,1);
}
.a1vsr-stick.is-on{transform:translateY(0)}
.a1vsr-stick__in{
  max-width:var(--a1vsr-max);margin:0 auto;padding:.75rem var(--a1vsr-gut);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.a1vsr-stick__t{
  font-family:var(--a1vsr-mono);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--a1vsr-slate-300);
}
.a1vsr-stick__t b{color:var(--a1vsr-white);font-weight:600}
@media(max-width:640px){
  .a1vsr-stick__t{display:none}
  .a1vsr-stick__in{justify-content:center}
  .a1vsr-root .a1vsr-stick a.a1vsr-btn{width:100%;justify-content:center}
}
.a1vsr-hero{
  position:relative;background:var(--a1vsr-slate-900);color:var(--a1vsr-white);
  padding:clamp(90px,13vw,170px) 0 clamp(56px,7vw,90px);overflow:hidden;
}
.a1vsr-hero__bg{position:absolute;inset:0;opacity:.3}
.a1vsr-hero__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.05)}
.a1vsr-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,var(--a1vsr-slate-900) 8%,rgba(20,24,28,.9) 42%,rgba(20,24,28,.55) 100%);
}
.a1vsr-hero__grid{
  position:absolute;inset:0;opacity:.25;
  background-image:linear-gradient(var(--a1vsr-rule-dk) 1px,transparent 1px),
                   linear-gradient(90deg,var(--a1vsr-rule-dk) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 55%,transparent);
  mask-image:linear-gradient(to bottom,transparent,#000 55%,transparent);
}
.a1vsr-hero__in{position:relative;z-index:3}
.a1vsr-hero__eye{
  font-family:var(--a1vsr-mono);font-size:.75rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--a1vsr-gold);margin:0 0 1.4rem;
  display:flex;align-items:center;gap:.8rem;
}
.a1vsr-hero__eye::before{content:"";width:34px;height:2px;background:var(--a1vsr-gold)}
.a1vsr-root .a1vsr-hero .a1vsr-h1{max-width:20ch}
.a1vsr-hero__accent{color:var(--a1vsr-gold);display:block}
.a1vsr-hero__sub{
  font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--a1vsr-slate-300);
  max-width:48ch;margin:1.5rem 0 2.2rem;font-weight:400;
}
.a1vsr-hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.a1vsr-hero__chips{
  display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin:2.6rem 0 0;padding:1.5rem 0 0;
  border-top:1px solid var(--a1vsr-rule-dk);list-style:none;
}
.a1vsr-hero__chips li{
  font-family:var(--a1vsr-mono);font-size:.76rem;letter-spacing:.06em;
  color:var(--a1vsr-slate-300);display:flex;align-items:center;gap:.5rem;
  text-transform:uppercase;margin:0;
}
.a1vsr-hero__chips svg{flex:none;color:var(--a1vsr-gold)}
.a1vsr-spec{background:var(--a1vsr-slate-800);border-top:1px solid var(--a1vsr-rule-dk);color:var(--a1vsr-white)}
.a1vsr-spec__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.a1vsr-spec__c{padding:clamp(22px,3.4vw,38px) clamp(14px,2.4vw,30px);border-left:1px solid var(--a1vsr-rule-dk)}
.a1vsr-spec__c:first-child{border-left:0}
.a1vsr-spec__n{
  font-family:var(--a1vsr-display);font-variation-settings:"wdth" 105,"wght" 800;font-weight:800;
  font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1;letter-spacing:-.02em;color:var(--a1vsr-gold);
}
.a1vsr-spec__l{
  font-family:var(--a1vsr-mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--a1vsr-slate-300);margin-top:.6rem;line-height:1.4;
}
@media(max-width:760px){
  .a1vsr-spec__grid{grid-template-columns:repeat(2,1fr)}
  .a1vsr-spec__c:nth-child(3){border-left:0}
  .a1vsr-spec__c:nth-child(n+3){border-top:1px solid var(--a1vsr-rule-dk)}
}
.a1vsr-two{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:start}
@media(max-width:900px){.a1vsr-two{grid-template-columns:1fr}}
.a1vsr-scope{list-style:none;margin:0;padding:0;border-top:1px solid var(--a1vsr-rule)}
.a1vsr-scope li{
  display:flex;gap:1rem;align-items:baseline;padding:.85rem 0;
  border-bottom:1px solid var(--a1vsr-rule);font-size:.97rem;margin:0;
}
.a1vsr-scope__n{
  font-family:var(--a1vsr-mono);font-size:.72rem;color:var(--a1vsr-gold-deep);
  flex:none;letter-spacing:.06em;
}
.a1vsr-vsi{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.a1vsr-vsi{grid-template-columns:1fr}}
.a1vsr-seal{
  border:1.5px solid var(--a1vsr-rule-dk);padding:clamp(24px,3.5vw,40px);
  background:linear-gradient(160deg,rgba(240,180,41,.09),transparent 70%);position:relative;
}
.a1vsr-seal::before{
  content:"";position:absolute;top:-1px;left:-1px;width:36px;height:36px;
  border-top:2px solid var(--a1vsr-gold);border-left:2px solid var(--a1vsr-gold);
}
.a1vsr-seal::after{
  content:"";position:absolute;bottom:-1px;right:-1px;width:36px;height:36px;
  border-bottom:2px solid var(--a1vsr-gold);border-right:2px solid var(--a1vsr-gold);
}
.a1vsr-seal__k{
  font-family:var(--a1vsr-display);font-variation-settings:"wdth" 118,"wght" 850;font-weight:900;
  font-size:clamp(2.6rem,6vw,4.4rem);line-height:.9;color:var(--a1vsr-gold);letter-spacing:-.03em;
}
.a1vsr-seal__t{
  font-family:var(--a1vsr-mono);font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--a1vsr-white);margin-top:.7rem;
}
.a1vsr-seal__d{
  color:var(--a1vsr-slate-300);font-size:.92rem;margin:1.1rem 0 0;
  border-top:1px solid var(--a1vsr-rule-dk);padding-top:1.1rem;
}
.a1vsr-crit{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.55rem}
.a1vsr-crit li{
  display:flex;gap:.85rem;align-items:flex-start;font-size:.95rem;margin:0;
  color:var(--a1vsr-slate-300);padding:.6rem .9rem;background:rgba(255,255,255,.035);
  border-left:2px solid var(--a1vsr-gold-deep);
}
.a1vsr-crit li svg{flex:none;margin-top:.28rem;color:var(--a1vsr-gold)}
.a1vsr-signs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;
  background:var(--a1vsr-rule);border:1px solid var(--a1vsr-rule);margin-top:2.4rem;
}
.a1vsr-signs__i{
  background:var(--a1vsr-white);padding:1.4rem 1.3rem;
  display:flex;gap:.9rem;align-items:flex-start;
  transition:background .2s ease,transform .2s ease;
}
.a1vsr-signs__i:hover{
  background:#FFFDF6;transform:translateY(-2px);
  z-index:2;box-shadow:0 8px 26px -14px rgba(20,24,28,.3);
}
.a1vsr-signs__i svg{flex:none;margin-top:.15rem;color:var(--a1vsr-gold-deep)}
.a1vsr-signs__i span{font-size:.94rem;font-weight:500;line-height:1.35}
.a1vsr-sym{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);margin-top:2.6rem}
@media(max-width:880px){.a1vsr-sym{grid-template-columns:1fr}}
.a1vsr-sym__c{
  background:var(--a1vsr-white);border:1px solid var(--a1vsr-rule);
  display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;
}
.a1vsr-sym__c:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(20,24,28,.34)}
.a1vsr-sym__im{aspect-ratio:4/3;overflow:hidden;background:var(--a1vsr-slate-700);position:relative}
.a1vsr-sym__im img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.a1vsr-sym__c:hover .a1vsr-sym__im img{transform:scale(1.05)}
.a1vsr-sym__tag{
  position:absolute;top:0;left:0;z-index:2;font-family:var(--a1vsr-mono);font-size:.66rem;
  letter-spacing:.13em;text-transform:uppercase;background:var(--a1vsr-gold);
  color:var(--a1vsr-slate-900);padding:.42rem .7rem;font-weight:600;
}
.a1vsr-sym__b{padding:1.3rem;display:flex;flex-direction:column;flex:1}
.a1vsr-sym__b p{font-size:.93rem;color:var(--a1vsr-slate-700);margin:0 0 1rem}
.a1vsr-root a.a1vsr-sym__lk{
  margin-top:auto;font-family:var(--a1vsr-mono);font-size:.72rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--a1vsr-gold-deep);text-decoration:none;font-weight:600;
  display:inline-flex;gap:.4rem;align-items:center;
}
.a1vsr-root a.a1vsr-sym__lk:hover{color:var(--a1vsr-slate-900)}
.a1vsr-sym__lk span{transition:transform .18s ease}
.a1vsr-root a.a1vsr-sym__lk:hover span{transform:translateX(3px)}
.a1vsr-vs{
  display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin-top:2.6rem;
  border:1px solid var(--a1vsr-rule);background:var(--a1vsr-white);
}
@media(max-width:840px){.a1vsr-vs{grid-template-columns:1fr}}
.a1vsr-vs__side{padding:clamp(22px,3vw,36px)}
.a1vsr-vs__hd{
  display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;
  padding-bottom:1rem;border-bottom:2px solid;
}
.a1vsr-vs__side--a .a1vsr-vs__hd{border-color:var(--a1vsr-sage)}
.a1vsr-vs__side--b .a1vsr-vs__hd{border-color:var(--a1vsr-rust)}
.a1vsr-root .a1vsr-vs__hd h3{
  font-family:var(--a1vsr-display);font-variation-settings:"wdth" 104,"wght" 750;font-weight:700;
  font-size:1.05rem;margin:0;text-transform:uppercase;letter-spacing:-.005em;
}
.a1vsr-vs__pill{
  font-family:var(--a1vsr-mono);font-size:.64rem;letter-spacing:.12em;
  text-transform:uppercase;padding:.3rem .55rem;color:#fff;font-weight:600;
}
.a1vsr-vs__side--a .a1vsr-vs__pill{background:var(--a1vsr-sage)}
.a1vsr-vs__side--b .a1vsr-vs__pill{background:var(--a1vsr-rust)}
.a1vsr-vs__l{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.a1vsr-vs__l li{
  display:flex;gap:.7rem;font-size:.95rem;color:var(--a1vsr-slate-700);
  align-items:flex-start;margin:0;
}
.a1vsr-vs__l li::before{content:"";width:6px;height:6px;flex:none;margin-top:.55rem;border-radius:50%}
.a1vsr-vs__side--a .a1vsr-vs__l li::before{background:var(--a1vsr-sage)}
.a1vsr-vs__side--b .a1vsr-vs__l li::before{background:var(--a1vsr-rust)}
.a1vsr-vs__div{width:1px;background:var(--a1vsr-rule);position:relative}
.a1vsr-vs__div span{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:var(--a1vsr-slate-900);color:var(--a1vsr-white);
  font-family:var(--a1vsr-mono);font-size:.64rem;letter-spacing:.1em;
  padding:.45rem .5rem;writing-mode:vertical-rl;text-transform:uppercase;
}
@media(max-width:840px){
  .a1vsr-vs__div{width:auto;height:1px}
  .a1vsr-vs__div span{writing-mode:horizontal-tb}
}
.a1vsr-cmp{margin-top:2.4rem;border:1px solid var(--a1vsr-rule-dk)}
.a1vsr-cmp__hd{display:grid;grid-template-columns:1.3fr 1fr 1fr;background:rgba(255,255,255,.05)}
.a1vsr-cmp__hd>div{
  padding:1rem 1.1rem;font-family:var(--a1vsr-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--a1vsr-slate-300);border-left:1px solid var(--a1vsr-rule-dk);
}
.a1vsr-cmp__hd>div:first-child{border-left:0}
.a1vsr-cmp__hd>div b{color:var(--a1vsr-white);font-weight:600;font-size:.78rem;letter-spacing:.06em}
.a1vsr-cmp__r{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;
  border-top:1px solid var(--a1vsr-rule-dk);transition:background .18s ease;
}
.a1vsr-cmp__r:hover{background:rgba(240,180,41,.06)}
.a1vsr-cmp__r>div{
  padding:.9rem 1.1rem;border-left:1px solid var(--a1vsr-rule-dk);
  font-size:.92rem;display:flex;align-items:center;gap:.6rem;
}
.a1vsr-cmp__r>div:first-child{
  border-left:0;color:var(--a1vsr-slate-300);font-family:var(--a1vsr-mono);
  font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;
}
.a1vsr-cmp__r>div:not(:first-child){color:var(--a1vsr-white);font-weight:500}
.a1vsr-bar{display:flex;gap:3px;flex:none}
.a1vsr-bar i{width:7px;height:16px;background:var(--a1vsr-rule-dk);display:block}
.a1vsr-bar i.on{background:var(--a1vsr-gold)}
@media(max-width:720px){
  .a1vsr-cmp__hd,.a1vsr-cmp__r{grid-template-columns:1fr 1fr}
  .a1vsr-cmp__hd>div:first-child,
  .a1vsr-cmp__r>div:first-child{
    grid-column:1/-1;border-bottom:1px solid var(--a1vsr-rule-dk);background:rgba(255,255,255,.03);
  }
  .a1vsr-cmp__r>div:nth-child(2){border-left:0}
}
.a1vsr-asm{
  display:grid;grid-template-columns:1fr .95fr;gap:clamp(32px,5vw,64px);
  align-items:center;margin-top:2.4rem;
}
@media(max-width:960px){.a1vsr-asm{grid-template-columns:1fr}}
.a1vsr-asm__stage{
  position:relative;background:var(--a1vsr-slate-800);
  border:1px solid var(--a1vsr-rule-dk);padding:clamp(16px,2.4vw,26px);
}
.a1vsr-asm__stage::before{
  content:"WALL ASSEMBLY / SECTION DETAIL";position:absolute;top:-1px;left:-1px;
  font-family:var(--a1vsr-mono);font-size:.62rem;letter-spacing:.14em;
  background:var(--a1vsr-gold);color:var(--a1vsr-slate-900);padding:.35rem .6rem;font-weight:600;
}
.a1vsr-asm svg{width:100%;height:auto;display:block;margin-top:1.4rem}
.a1vsr-layer{cursor:pointer;transition:opacity .25s ease}
.a1vsr-layer rect,.a1vsr-layer path,.a1vsr-layer line{transition:all .25s ease}
.a1vsr-asm.has-sel .a1vsr-layer{opacity:.32}
.a1vsr-asm.has-sel .a1vsr-layer.is-sel{opacity:1}
.a1vsr-layer:hover{opacity:1}
.a1vsr-layer:focus-visible{outline:2px solid var(--a1vsr-gold);outline-offset:2px}
.a1vsr-lead{stroke:var(--a1vsr-gold);stroke-width:1;stroke-dasharray:3 3;opacity:0;transition:opacity .25s ease}
.a1vsr-layer.is-sel .a1vsr-lead{opacity:1}
.a1vsr-layer text{
  font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.08em;
  fill:var(--a1vsr-slate-300);text-transform:uppercase;
}
.a1vsr-layer.is-sel text{fill:var(--a1vsr-gold)}
.a1vsr-asm__ctl{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.a1vsr-asm__ctl li{margin:0}
.a1vsr-root button.a1vsr-asm__b{
  width:100%;text-align:left;background:rgba(255,255,255,.04);border:0;border-radius:0;
  border-left:2px solid transparent;padding:1rem 1.1rem;cursor:pointer;
  display:flex;gap:1rem;align-items:flex-start;transition:all .2s ease;
  color:inherit;font-family:inherit;
}
.a1vsr-root button.a1vsr-asm__b:hover{background:rgba(255,255,255,.08)}
.a1vsr-root button.a1vsr-asm__b.is-sel{background:rgba(240,180,41,.1);border-left-color:var(--a1vsr-gold)}
.a1vsr-asm__b em{
  font-family:var(--a1vsr-mono);font-size:.7rem;color:var(--a1vsr-gold);
  font-style:normal;flex:none;padding-top:.15rem;letter-spacing:.08em;
}
.a1vsr-asm__b strong{
  display:block;font-family:var(--a1vsr-display);font-variation-settings:"wdth" 102,"wght" 700;
  font-weight:700;font-size:.98rem;color:var(--a1vsr-white);margin-bottom:.2rem;
}
.a1vsr-asm__b span{font-size:.87rem;color:var(--a1vsr-slate-300);line-height:1.45}
.a1vsr-root button.a1vsr-asm__b:focus-visible{outline:2px solid var(--a1vsr-gold);outline-offset:2px}
.a1vsr-proc{margin-top:2.8rem;position:relative;display:grid;gap:0}
.a1vsr-proc::before{content:"";position:absolute;left:19px;top:14px;bottom:14px;width:2px;background:var(--a1vsr-rule)}
.a1vsr-proc__s{
  display:grid;grid-template-columns:40px 1fr;gap:1.3rem;
  padding:.85rem 0;position:relative;align-items:start;
}
.a1vsr-proc__n{
  width:40px;height:40px;flex:none;background:var(--a1vsr-white);
  border:2px solid var(--a1vsr-rule);border-radius:50%;
  display:grid;place-items:center;font-family:var(--a1vsr-mono);font-size:.8rem;
  font-weight:600;color:var(--a1vsr-slate-500);position:relative;z-index:2;transition:all .3s ease;
}
.a1vsr-proc__s.is-in .a1vsr-proc__n{
  border-color:var(--a1vsr-gold);color:var(--a1vsr-slate-900);background:var(--a1vsr-gold);
}
.a1vsr-proc__t{padding-top:.45rem}
.a1vsr-proc__t strong{
  font-family:var(--a1vsr-display);font-variation-settings:"wdth" 102,"wght" 700;
  font-weight:700;font-size:1.02rem;display:block;
}
.a1vsr-proc__t span{font-size:.93rem;color:var(--a1vsr-slate-700)}
.a1vsr-proc__s--key{
  background:linear-gradient(90deg,rgba(240,180,41,.13),transparent 65%);
  margin-inline:-1rem;padding-inline:1rem;
}
.a1vsr-proc__s--key .a1vsr-proc__t strong::after{
  content:"WHERE MOST QUOTES GO WRONG";font-family:var(--a1vsr-mono);font-size:.6rem;
  letter-spacing:.12em;background:var(--a1vsr-slate-900);color:var(--a1vsr-gold);
  padding:.22rem .45rem;margin-left:.6rem;vertical-align:middle;white-space:nowrap;
}
@media(max-width:560px){
  .a1vsr-proc__s--key .a1vsr-proc__t strong::after{display:block;margin:.5rem 0 0;width:max-content}
}
.a1vsr-prof{margin-top:2.4rem;border:1px solid var(--a1vsr-rule);background:var(--a1vsr-white)}
.a1vsr-prof__tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--a1vsr-rule)}
.a1vsr-root button.a1vsr-prof__t{
  flex:1 1 auto;background:transparent;border:0;border-radius:0;cursor:pointer;padding:1.1rem .9rem;
  font-family:var(--a1vsr-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--a1vsr-slate-500);border-bottom:3px solid transparent;
  transition:all .2s ease;font-weight:600;
}
.a1vsr-root button.a1vsr-prof__t:hover{color:var(--a1vsr-slate-900);background:var(--a1vsr-paper-2)}
.a1vsr-root button.a1vsr-prof__t.is-sel{
  color:var(--a1vsr-slate-900);border-bottom-color:var(--a1vsr-gold);background:var(--a1vsr-paper-2);
}
.a1vsr-root button.a1vsr-prof__t:focus-visible{outline:2px solid var(--a1vsr-gold);outline-offset:-2px}
.a1vsr-prof__pane{display:none;padding:clamp(22px,3.4vw,40px);gap:clamp(24px,4vw,52px);align-items:center}
.a1vsr-prof__pane.is-sel{display:grid;grid-template-columns:.85fr 1.15fr}
@media(max-width:820px){.a1vsr-prof__pane.is-sel{grid-template-columns:1fr}}
.a1vsr-prof__dr{
  background:var(--a1vsr-paper-2);border:1px solid var(--a1vsr-rule);
  padding:1.2rem;position:relative;
}
.a1vsr-prof__dr::before{
  content:"PROFILE / ELEVATION";position:absolute;top:.6rem;right:.7rem;
  font-family:var(--a1vsr-mono);font-size:.58rem;letter-spacing:.12em;color:var(--a1vsr-slate-500);
}
.a1vsr-prof__dr svg{width:100%;height:auto}
.a1vsr-grid6{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--a1vsr-rule-dk);border:1px solid var(--a1vsr-rule-dk);margin-top:2.4rem;
}
@media(max-width:880px){.a1vsr-grid6{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.a1vsr-grid6{grid-template-columns:1fr}}
.a1vsr-grid6__c{background:var(--a1vsr-slate-900);padding:1.6rem 1.4rem;transition:background .22s ease}
.a1vsr-grid6__c:hover{background:var(--a1vsr-slate-800)}
.a1vsr-grid6__c em{
  font-family:var(--a1vsr-mono);font-size:.66rem;letter-spacing:.14em;color:var(--a1vsr-gold);
  font-style:normal;display:block;margin-bottom:.7rem;
}
.a1vsr-grid6__c strong{
  font-family:var(--a1vsr-display);font-variation-settings:"wdth" 102,"wght" 700;font-weight:700;
  font-size:1rem;color:var(--a1vsr-white);display:block;margin-bottom:.4rem;
}
.a1vsr-grid6__c span{font-size:.9rem;color:var(--a1vsr-slate-300);line-height:1.5}
.a1vsr-grid6--lt{background:var(--a1vsr-rule);border-color:var(--a1vsr-rule)}
.a1vsr-grid6--lt .a1vsr-grid6__c{background:var(--a1vsr-white)}
.a1vsr-grid6--lt .a1vsr-grid6__c:hover{background:#FFFDF6}
.a1vsr-grid6--lt .a1vsr-grid6__c em{color:var(--a1vsr-gold-deep)}
.a1vsr-grid6--lt .a1vsr-grid6__c strong{color:var(--a1vsr-slate-900)}
.a1vsr-grid6--lt .a1vsr-grid6__c span{color:var(--a1vsr-slate-700)}
.a1vsr-wx{
  display:grid;grid-template-columns:repeat(6,1fr);gap:1px;
  background:var(--a1vsr-rule);border:1px solid var(--a1vsr-rule);margin:2.2rem 0;
}
@media(max-width:880px){.a1vsr-wx{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.a1vsr-wx{grid-template-columns:repeat(2,1fr)}}
.a1vsr-wx__c{background:var(--a1vsr-white);padding:1.2rem .9rem;text-align:center}
.a1vsr-wx__c svg{color:var(--a1vsr-gold-deep);margin:0 auto .6rem}
.a1vsr-wx__c span{
  font-family:var(--a1vsr-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--a1vsr-slate-700);display:block;line-height:1.4;
}
.a1vsr-close{text-align:center;position:relative;overflow:hidden}
.a1vsr-close__grid{
  position:absolute;inset:0;opacity:.2;
  background-image:linear-gradient(var(--a1vsr-rule-dk) 1px,transparent 1px),
                   linear-gradient(90deg,var(--a1vsr-rule-dk) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 72%);
  mask-image:radial-gradient(ellipse at center,#000,transparent 72%);
}
.a1vsr-close__in{position:relative;z-index:2}
.a1vsr-root .a1vsr-close .a1vsr-h2{max-width:24ch;margin-inline:auto}
.a1vsr-close__p{color:var(--a1vsr-slate-300);max-width:52ch;margin:0 auto 2rem}
.a1vsr-close__meta{
  font-family:var(--a1vsr-mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--a1vsr-slate-500);margin-top:1.6rem;
}
.a1vsr-rv{
  opacity:0;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1);
}
.a1vsr-rv.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .a1vsr-root ,.a1vsr-root ::before,.a1vsr-root *::after{
    animation:none !important;transition:none !important;
  }
  .a1vsr-rv{opacity:1;transform:none}
  .a1vsr-stick{transform:translateY(0)}
}
.a1vsr-faqsec{background:#FFFFFF;padding:clamp(56px,8vw,116px) 0}
.a1vsr-faqsec .elementor-accordion{border:0}
.a1vsr-faqsec .elementor-accordion-item{
  border:0 !important;border-bottom:1px solid var(--a1vsr-rule) !important;
}
.a1vsr-faqsec .elementor-accordion-item:first-child{
  border-top:1px solid var(--a1vsr-rule) !important;
}
.a1vsr-faqsec .elementor-tab-title{
  background:transparent !important;border:0 !important;
  padding:1.25rem 2.6rem 1.25rem 0 !important;
  font-family:var(--a1vsr-display) !important;
  font-variation-settings:"wdth" 102,"wght" 650;
  font-weight:600 !important;font-size:1.02rem !important;
  color:var(--a1vsr-slate-900) !important;
  transition:color .18s ease;
}
.a1vsr-faqsec .elementor-tab-title:hover,
.a1vsr-faqsec .elementor-tab-title.elementor-active{color:var(--a1vsr-gold-deep) !important}
.a1vsr-faqsec .elementor-accordion-icon{color:var(--a1vsr-gold-deep) !important}
.a1vsr-faqsec .elementor-tab-content{
  background:transparent !important;border:0 !important;
  padding:0 0 1.25rem !important;
  color:var(--a1vsr-slate-700) !important;font-size:.96rem;
}
.a1vsr-faqsec .elementor-tab-content p{max-width:70ch;color:var(--a1vsr-slate-700)}
.a1vsr-faqsec .elementor-tab-content a{
  color:var(--a1vsr-slate-900);text-decoration:underline;
  text-decoration-color:var(--a1vsr-gold);text-decoration-thickness:2px;
  text-underline-offset:3px;font-weight:500;
}

/* ==========================================================================
   REVISION 2 OVERRIDES — must remain at the end of the stylesheet
   ========================================================================== */

/* --- 4a. Headings in dark sections were inheriting AlphaOne's global navy.
       H1 was never covered. This closes the gap for all heading levels. --- */
.a1vsr-root .a1vsr-hero h1,
.a1vsr-root .a1vsr-hero h2,
.a1vsr-root .a1vsr-hero h3,
.a1vsr-root .a1vsr-sec--dk h1,
.a1vsr-root .a1vsr-sec--dk h2,
.a1vsr-root .a1vsr-sec--dk h3{
  color:var(--a1vsr-white);
}

/* --- 4b. Hero height: was too tall next to the site's other banners.
       Verify against the hero on /roofing/roof-replacement/ and report both
       measured heights. --- */
.a1vsr-hero{
  padding:clamp(64px,8vw,104px) 0 clamp(40px,5vw,64px);
}
.a1vsr-root .a1vsr-hero .a1vsr-h1{
  color:var(--a1vsr-white);
  font-size:clamp(2.15rem,4.6vw,3.7rem);
  max-width:24ch;
}
.a1vsr-hero__sub{
  margin:1.2rem 0 1.8rem;
}
.a1vsr-hero__chips{
  margin-top:2rem;
  padding-top:1.2rem;
}

/* --- 4c. Background legibility: lift the photo out of grey mush, and weight
       the gradient harder on the left where the headline sits. --- */
.a1vsr-hero__bg{opacity:.44}
.a1vsr-hero__bg img{filter:grayscale(.22) contrast(1.08) brightness(.82)}
.a1vsr-hero::after{
  background:linear-gradient(100deg,
    rgba(20,24,28,.97) 0%,
    rgba(20,24,28,.92) 44%,
    rgba(20,24,28,.52) 100%);
}

/* --- 4d. Closer becomes a full-bleed brand-yellow CTA band so it separates
       cleanly from both the white FAQ above and the dark footer below.
       This block MUST come after 4a or the H2 will render white on yellow. --- */
.a1vsr-root .a1vsr-close{
  background:var(--a1vsr-gold);
  color:var(--a1vsr-slate-900);
}
.a1vsr-root .a1vsr-close h2,
.a1vsr-root .a1vsr-close .a1vsr-h2{
  color:var(--a1vsr-slate-900);
}
.a1vsr-root .a1vsr-close .a1vsr-close__p{color:rgba(20,24,28,.78)}
.a1vsr-root .a1vsr-close .a1vsr-close__meta{color:rgba(20,24,28,.55)}
.a1vsr-close__grid{
  opacity:.16;
  background-image:linear-gradient(rgba(20,24,28,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(20,24,28,.5) 1px,transparent 1px);
}

/* inverted button: dark on yellow */
.a1vsr-root .a1vsr-close a.a1vsr-btn,
.a1vsr-root .a1vsr-close a.a1vsr-btn:visited{
  background:var(--a1vsr-slate-900);
  color:var(--a1vsr-gold);
}
.a1vsr-root .a1vsr-close a.a1vsr-btn:hover{
  background:#000000;
  color:var(--a1vsr-gold);
  box-shadow:0 10px 24px -8px rgba(20,24,28,.45);
}
.a1vsr-root .a1vsr-close a.a1vsr-btn:focus-visible{
  outline:3px solid var(--a1vsr-slate-900);
  outline-offset:3px;
}

/* ==========================================================================
   REVISION 3 — wall assembly rebuild + global bleed defence
   ========================================================================== */

/* --- 3a. BLANKET DEFENCE against AlphaOne's global typography.
       The navy H1 and the forced-uppercase buttons were both this. Reset
       transform and letter-spacing across the block, then re-apply only where
       the design actually wants them. --- */
.a1vsr-root p,
.a1vsr-root li,
.a1vsr-root strong,
.a1vsr-root b,
.a1vsr-root em,
.a1vsr-root span,
.a1vsr-root button{
  text-transform:none;
  letter-spacing:normal;
}
/* re-apply the intentional uppercase + tracking */
.a1vsr-root .a1vsr-h1,
.a1vsr-root .a1vsr-h2{text-transform:uppercase;letter-spacing:-.02em}
.a1vsr-root .a1vsr-label,
.a1vsr-root .a1vsr-hero__eye,
.a1vsr-root .a1vsr-spec__l,
.a1vsr-root .a1vsr-hero__chips li,
.a1vsr-root .a1vsr-stick__t,
.a1vsr-root .a1vsr-vs__pill,
.a1vsr-root .a1vsr-sym__tag,
.a1vsr-root .a1vsr-cmp__hd>div,
.a1vsr-root .a1vsr-cmp__r>div:first-child,
.a1vsr-root .a1vsr-wx__c span,
.a1vsr-root .a1vsr-close__meta,
.a1vsr-root a.a1vsr-btn,
.a1vsr-root a.a1vsr-sym__lk,
.a1vsr-root button.a1vsr-prof__t{
  text-transform:uppercase;
  letter-spacing:.1em;
}
.a1vsr-root .a1vsr-label{letter-spacing:.16em}
.a1vsr-root .a1vsr-hero__eye{letter-spacing:.2em}

/* --- 3b. Kill the grid blowout. minmax(0,1fr) lets tracks shrink below
       their content's min-content width instead of expanding. This is what
       crushed the drawing. --- */
.a1vsr-asm{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  align-items:start;
}
@media(max-width:960px){
  .a1vsr-asm{grid-template-columns:minmax(0,1fr)}
}

/* --- 3c. The stage can no longer collapse. --- */
.a1vsr-asm__stage{
  min-width:0;
  padding-top:clamp(30px,3.4vw,40px);
}
.a1vsr-asm__stage::before{
  white-space:nowrap;
  letter-spacing:.14em;
}
.a1vsr-root .a1vsr-asm svg{
  width:100%;
  height:auto;
  aspect-ratio:420/300;
  margin-top:0;
  display:block;
}

/* --- 3d. Controls are now compact rows: number + title only. --- */
.a1vsr-asm__side{min-width:0}
.a1vsr-root button.a1vsr-asm__b{
  align-items:center;
  gap:1rem;
  padding:.95rem 1.1rem;
}
.a1vsr-asm__b em{padding-top:0;font-size:.72rem;letter-spacing:.08em}
.a1vsr-root .a1vsr-asm__b strong{
  margin-bottom:0;
  font-size:1rem;
  text-transform:none;
  letter-spacing:-.005em;
}

/* --- 3e. Note panel. Swapped by CSS :has() — no JavaScript change. --- */
.a1vsr-asm__notes{
  margin-top:1.4rem;
  border-left:2px solid var(--a1vsr-gold);
  background:rgba(255,255,255,.04);
  padding:1.1rem 1.2rem;
  min-height:7.5rem;
}
.a1vsr-asm__note{
  display:none;
  margin:0;
  font-size:.93rem;
  line-height:1.55;
  color:var(--a1vsr-slate-300);
  max-width:none;
}
.a1vsr-asm__note b{
  display:block;
  font-family:var(--a1vsr-mono);
  font-size:.68rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--a1vsr-gold);
  margin-bottom:.45rem;
  font-weight:600;
}
.a1vsr-asm:has(.a1vsr-asm__b[data-target="1"].is-sel) .a1vsr-asm__note[data-note="1"],
.a1vsr-asm:has(.a1vsr-asm__b[data-target="2"].is-sel) .a1vsr-asm__note[data-note="2"],
.a1vsr-asm:has(.a1vsr-asm__b[data-target="3"].is-sel) .a1vsr-asm__note[data-note="3"],
.a1vsr-asm:has(.a1vsr-asm__b[data-target="4"].is-sel) .a1vsr-asm__note[data-note="4"]{
  display:block;
}
/* fallback for browsers without :has() — show the first note */
@supports not body.elementor-page-5694(:has(*)){
  .a1vsr-asm__note[data-note="1"]{display:block}
}

/* ==========================================================================
   REVISION 4 — anchor offset + annotated section drawing
   ========================================================================== */

/* --- 4a. Anchor jumps were landing under the sticky header. Applied to all
       sections so any future anchor behaves correctly too.
       Measured sticky header = 109px, so clearance raised to 109+30 = 139px. --- */
.a1vsr-root .a1vsr-sec,
.a1vsr-root #a1vsr-assembly{
  scroll-margin-top:139px;
}
@media(max-width:767px){
  .a1vsr-root .a1vsr-sec,
  .a1vsr-root #a1vsr-assembly{scroll-margin-top:80px}
}

/* --- 4b. Leader dots and label numbers for the new right-hand annotation. --- */
.a1vsr-dot{
  fill:var(--a1vsr-slate-500);
  transition:fill .25s ease;
}
.a1vsr-layer.is-sel .a1vsr-dot{fill:var(--a1vsr-gold)}
.a1vsr-root .a1vsr-layer .a1vsr-lnum{
  fill:var(--a1vsr-slate-500);
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  letter-spacing:.06em;
  transition:fill .25s ease;
}
.a1vsr-root .a1vsr-layer.is-sel .a1vsr-lnum{fill:var(--a1vsr-gold)}
/* labels are written uppercase in the markup, so no transform dependency */
.a1vsr-root .a1vsr-layer text{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:none;
  fill:var(--a1vsr-slate-300);
}
.a1vsr-root .a1vsr-layer.is-sel text{fill:var(--a1vsr-gold)}

/* --- 4c. Drawing now fills its frame, so it can sit tighter. --- */
.a1vsr-asm__stage{
  padding:clamp(34px,3.6vw,44px) clamp(14px,1.8vw,20px) clamp(14px,1.8vw,20px);
}

/* ==========================================================================
   REVISION 5 — phone annotation. Word labels hide; numbers stay and scale up.
   The control rows below the drawing already carry the layer names, so the
   numbers on the drawing map to the named rows.
   ========================================================================== */
@media(max-width:480px){
  .a1vsr-root .a1vsr-layer text:not(.a1vsr-lnum){display:none}
  .a1vsr-root .a1vsr-layer .a1vsr-lnum{font-size:15px;letter-spacing:.04em}
  .a1vsr-root .a1vsr-asm__stage{padding-top:clamp(30px,7vw,38px)}
}

/* ==========================================================================
   REVISION 6 — grid dividers rebuilt as real borders.
   Replaces the gap:1px + container-background technique, which drops lines at
   fractional device pixel ratios. Cells carry right + bottom borders; the
   container carries top + left.
   ========================================================================== */

/* --- 6a. SIGNS GRID --- */
.a1vsr-root .a1vsr-signs{
  gap:0;
  background:var(--a1vsr-white);
  border:0;
  border-top:1px solid var(--a1vsr-rule);
  border-left:1px solid var(--a1vsr-rule);
}
.a1vsr-root .a1vsr-signs__i{
  background:var(--a1vsr-white);
  border-right:1px solid var(--a1vsr-rule);
  border-bottom:1px solid var(--a1vsr-rule);
  border-left:3px solid transparent;
  padding-left:calc(1.3rem - 3px);
  transform:none;
  box-shadow:none;
  transition:background .2s ease,border-left-color .2s ease;
}
/* translateY fought the border grid and opened seams on hover.
   Replaced with a left accent reveal, which suits the drafting language. */
.a1vsr-root .a1vsr-signs__i:hover{
  background:#FFFEF2;
  border-left-color:var(--a1vsr-gold);
  transform:none;
  box-shadow:none;
  z-index:auto;
}

/* --- 6b. 6-UP GRIDS (dark and light variants) --- */
.a1vsr-root .a1vsr-grid6{
  gap:0;
  background:transparent;
  border:0;
  border-top:1px solid var(--a1vsr-rule-dk);
  border-left:1px solid var(--a1vsr-rule-dk);
}
.a1vsr-root .a1vsr-grid6__c{
  border-right:1px solid var(--a1vsr-rule-dk);
  border-bottom:1px solid var(--a1vsr-rule-dk);
}
.a1vsr-root .a1vsr-grid6--lt{
  border-top-color:var(--a1vsr-rule);
  border-left-color:var(--a1vsr-rule);
}
.a1vsr-root .a1vsr-grid6--lt .a1vsr-grid6__c{
  border-right-color:var(--a1vsr-rule);
  border-bottom-color:var(--a1vsr-rule);
}

/* --- 6c. WEATHER STRIP --- */
.a1vsr-root .a1vsr-wx{
  gap:0;
  background:var(--a1vsr-white);
  border:0;
  border-top:1px solid var(--a1vsr-rule);
  border-left:1px solid var(--a1vsr-rule);
}
.a1vsr-root .a1vsr-wx__c{
  border-right:1px solid var(--a1vsr-rule);
  border-bottom:1px solid var(--a1vsr-rule);
}

/* ==========================================================================
   REVISION 7 — centred treatments
   7a: full centred section, applied to "Why Ohio weather is tough on vinyl"
   7b: centred closing cluster, applied to the "Why homeowners choose" tail
   Both classes are reusable on future pages.
   ========================================================================== */

/* --- 7a. CENTRED SECTION --- */
.a1vsr-root .a1vsr-sec--ctr{text-align:center}
/* eyebrow label gets a rule on BOTH sides so it reads symmetrical */
.a1vsr-root .a1vsr-sec--ctr .a1vsr-label{justify-content:center}
.a1vsr-root .a1vsr-sec--ctr .a1vsr-label::before{
  content:"";
  flex:1;
  height:1px;
  background:var(--a1vsr-rule);
  max-width:120px;
}
.a1vsr-root .a1vsr-sec--ctr .a1vsr-h2{
  margin-left:auto;
  margin-right:auto;
  max-width:28ch;
}
/* tighter measure — five lines of centred text at 68ch rags badly */
.a1vsr-root .a1vsr-sec--ctr .a1vsr-p{
  margin-left:auto;
  margin-right:auto;
  max-width:58ch;
  text-align:center;
}
/* the icon strip still spans the full container width */
.a1vsr-root .a1vsr-sec--ctr .a1vsr-wx{
  margin-left:0;
  margin-right:0;
}

/* --- 7b. CENTRED CLOSING CLUSTER --- */
/* Paragraph and button centre together. Centring the button alone would leave
   it floating under a left-aligned paragraph. */
.a1vsr-root .a1vsr-tail__p{
  margin-left:auto;
  margin-right:auto;
  max-width:56ch;
  text-align:center;
}
.a1vsr-root .a1vsr-tail__cta{
  text-align:center;
}

/* ==========================================================================
   REVISION 8 — no-JS fallback.
   Reveals are opt-IN via .a1vsr-js, added by the script the moment it runs.
   If the script never runs the class is never added, so all content renders at
   full opacity. Crawlers were always fine (content is in the HTML); this
   protects real visitors with JS blocked or broken.
   ========================================================================== */
.a1vsr-root .a1vsr-rv{opacity:1;transform:none}
.a1vsr-root.a1vsr-js .a1vsr-rv{opacity:0;transform:translateY(22px)}
.a1vsr-root .a1vsr-rv.is-in{opacity:1;transform:none}

/* ==========================================================================
   REVISION 9 — remove the "VS" badge from the repair/replace divider.
   Vertical 0.64rem text rendered as an illegible dark smudge. The divider rule
   and the colour-coded REPAIR / REPLACE pills already carry the comparison, so
   the badge added nothing. Keeping the rule itself.
   ========================================================================== */
.a1vsr-root .a1vsr-vs__div span{display:none}
/* divider now runs the full height cleanly */
.a1vsr-root .a1vsr-vs__div{
  background:var(--a1vsr-rule);
}
@media(max-width:840px){
  .a1vsr-root .a1vsr-vs__div{height:1px}
}/* End custom CSS */