
/* ==========================================================
   HEDA SHELVES | PRODUCT NO.00297
   CANTILEVER RACKING SYSTEM FOR OUTDOOR STORAGE

   DESIGN:
   Covered Outdoor Long-Material Storage

   IMAGE POLICY:
   5 distinct original manufacturer gallery images
   No other SKU images
   No blank placeholders
   No artificial product reconstruction

   CTA:
   Original HEDA native GET QUOTE NOW popup

   CSS SCOPE: .heda-out297
========================================================== */

.heda-out297{
  --o-ink:#203342;
  --o-deep:#182d3b;
  --o-blue:#315f7b;
  --o-amber:#d99532;
  --o-orange:#e17932;
  --o-text:#586b76;
  --o-muted:#7d909c;
  --o-line:#dce4e8;
  --o-soft:#f3f6f7;
  --o-warm:#faf8f2;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:var(--o-text);
  font:15px/1.85 Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.heda-out297,
.heda-out297 *{
  box-sizing:border-box;
}
.heda-out297 h2,
.heda-out297 h3,
.heda-out297 h4,
.heda-out297 p,
.heda-out297 figure{
  margin:0;
}
.heda-out297 img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border:0;
}
.heda-out297 a{
  text-decoration:none;
}
.heda-out297 .o-wrap{
  width:calc(100% - 44px);
  max-width:1180px;
  margin:0 auto;
}
.heda-out297 .o-section{
  padding:76px 0;
}
.heda-out297 .o-soft{
  background:var(--o-soft);
}
.heda-out297 .o-warm{
  background:var(--o-warm);
}
.heda-out297 .o-kicker{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:16px;
  color:var(--o-blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  line-height:1.6;
  text-transform:uppercase;
}
.heda-out297 .o-kicker:before{
  content:"";
  flex:0 0 27px;
  height:2px;
  background:var(--o-amber);
}
.heda-out297 .o-title{
  color:var(--o-ink);
  font-size:clamp(29px,3.5vw,43px);
  line-height:1.24;
  font-weight:800;
  letter-spacing:-.9px;
}
.heda-out297 .o-lead{
  max-width:825px;
  margin-top:17px;
  font-size:15px;
  line-height:1.95;
}
.heda-out297 .o-heading{
  max-width:850px;
  margin-bottom:35px;
}
.heda-out297 .o-caption{
  margin-top:11px;
  color:var(--o-muted);
  font-size:12px;
  line-height:1.85;
}
.heda-out297 .o-note{
  padding:19px 23px;
  border-left:3px solid var(--o-amber);
  background:#e8eef1;
  font-size:13px;
  line-height:1.95;
}
.heda-out297 .o-note strong{
  color:var(--o-ink);
}

/* ==========================================================
   01 / OUTDOOR HERO
========================================================== */

.heda-out297 .o-hero{
  background:var(--o-deep);
}
.heda-out297 .o-hero-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:19px 0;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.heda-out297 .o-hero-top span,
.heda-out297 .o-hero-top strong{
  font-size:11px;
  font-weight:800;
  letter-spacing:1.3px;
}
.heda-out297 .o-hero-top span{
  color:#c8d8e2;
}
.heda-out297 .o-hero-top strong{
  color:#f7bb68;
}
.heda-out297 .o-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:41px;
  align-items:center;
  padding:48px 0 58px;
}
.heda-out297 .o-hero-copy{
  min-width:0;
}
.heda-out297 .o-hero-label{
  display:block;
  margin-bottom:19px;
  color:#f5bf78;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.heda-out297 .o-hero h2{
  color:#fff;
  font-size:clamp(37px,4.4vw,55px);
  font-weight:800;
  line-height:1.13;
  letter-spacing:-1.3px;
}
.heda-out297 .o-hero h2 span{
  display:block;
  color:#efbb79;
}
.heda-out297 .o-hero-copy p{
  margin-top:24px;
  color:#d2dfe7;
  font-size:15px;
  line-height:1.95;
}
.heda-out297 .o-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px;
}
.heda-out297 .o-hero-tags span{
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.24);
  color:#e2ecf1;
  font-size:11px;
  font-weight:700;
}
.heda-out297 .o-hero-photo{
  min-width:0;
  padding:11px;
  background:#fff;
}
.heda-out297 .o-hero-photo img{
  max-height:620px;
  object-fit:contain;
}
.heda-out297 .o-hero-photo .o-caption{
  padding:0 7px 5px;
}

/* ==========================================================
   02 / FACT STRIP
========================================================== */

.heda-out297 .o-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--o-line);
  border-top:0;
  background:#fff;
}
.heda-out297 .o-fact{
  min-width:0;
  padding:26px 21px;
}
.heda-out297 .o-fact+.o-fact{
  border-left:1px solid var(--o-line);
}
.heda-out297 .o-fact strong{
  display:block;
  color:var(--o-ink);
  font-size:18px;
  font-weight:800;
  line-height:1.45;
}
.heda-out297 .o-fact span{
  display:block;
  margin-top:8px;
  color:var(--o-muted);
  font-size:12px;
  line-height:1.85;
}

/* ==========================================================
   03 / COVERED LUMBER INSTALLATION
========================================================== */

.heda-out297 .o-feature{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:stretch;
  border:1px solid var(--o-line);
  background:#fff;
}
.heda-out297 .o-feature-photo{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:15px;
  background:#f8fafb;
}
.heda-out297 .o-feature-photo img{
  max-height:570px;
  object-fit:contain;
}
.heda-out297 .o-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:35px;
  border-left:1px solid var(--o-line);
}
.heda-out297 .o-feature-list{
  margin-top:23px;
  border-top:1px solid var(--o-line);
}
.heda-out297 .o-feature-item{
  padding:12px 0;
  border-bottom:1px solid var(--o-line);
}
.heda-out297 .o-feature-item h3{
  color:var(--o-ink);
  font-size:16px;
  font-weight:800;
}
.heda-out297 .o-feature-item p{
  margin-top:5px;
  font-size:13px;
  line-height:1.9;
}

/* ==========================================================
   04 / TWO EQUAL HEIGHT STORAGE CASES
========================================================== */

.heda-out297 .o-cases{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.heda-out297 .o-case{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  overflow:hidden;
  border:1px solid var(--o-line);
  background:#fff;
}
.heda-out297 .o-case-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1/1;
  padding:12px;
  background:#f8fafb;
}
.heda-out297 .o-case-media img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.heda-out297 .o-case-body{
  display:flex;
  flex:1;
  flex-direction:column;
  min-width:0;
  padding:27px 28px;
  border-top:1px solid var(--o-line);
}
.heda-out297 .o-case-label{
  display:block;
  margin-bottom:12px;
  color:#a46a26;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.2px;
}
.heda-out297 .o-case h3{
  color:var(--o-ink);
  font-size:22px;
  font-weight:800;
  line-height:1.4;
}
.heda-out297 .o-case p{
  margin-top:13px;
  font-size:14px;
  line-height:1.95;
}
.heda-out297 .o-case-foot{
  margin-top:auto;
  padding-top:18px;
  color:var(--o-muted);
  font-size:12px;
  line-height:1.85;
}

/* ==========================================================
   05 / CONCEPT RENDERING
========================================================== */

.heda-out297 .o-concept{
  display:grid;
  grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);
  align-items:stretch;
  border:1px solid var(--o-line);
  background:#fff;
}
.heda-out297 .o-concept-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:35px;
}
.heda-out297 .o-concept-photo{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:15px;
  border-left:1px solid var(--o-line);
  background:#f8fafb;
}
.heda-out297 .o-concept-photo img{
  max-height:580px;
  object-fit:contain;
}
.heda-out297 .o-concept-points{
  margin-top:22px;
  border-top:1px solid var(--o-line);
}
.heda-out297 .o-concept-point{
  padding:12px 0;
  border-bottom:1px solid var(--o-line);
  font-size:13px;
  line-height:1.9;
}
.heda-out297 .o-concept-point strong{
  color:var(--o-ink);
}

/* ==========================================================
   06 / WEATHER ENGINEERING
========================================================== */

.heda-out297 .o-weather{
  padding:77px 0;
  background:var(--o-deep);
}
.heda-out297 .o-weather .o-kicker{
  color:#c7dae5;
}
.heda-out297 .o-weather .o-title{
  color:#fff;
}
.heda-out297 .o-weather .o-lead{
  color:#cedfe8;
}
.heda-out297 .o-weather-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(255,255,255,.19);
  background:rgba(255,255,255,.19);
}
.heda-out297 .o-weather-item{
  min-width:0;
  padding:28px 23px;
  background:#28485a;
}
.heda-out297 .o-weather-item span{
  display:block;
  margin-bottom:19px;
  color:#f5bd77;
  font-size:28px;
  line-height:1;
  font-weight:800;
}
.heda-out297 .o-weather-item h3{
  color:#fff;
  font-size:18px;
  font-weight:800;
  line-height:1.45;
}
.heda-out297 .o-weather-item p{
  margin-top:12px;
  color:#d2e0e8;
  font-size:13px;
  line-height:1.9;
}
.heda-out297 .o-weather-note{
  margin-top:24px;
  padding:20px 24px;
  border-left:3px solid #efaf5b;
  background:rgba(255,255,255,.08);
  color:#d7e4eb;
  font-size:13px;
  line-height:1.95;
}

/* ==========================================================
   07 / COATING & ROOF OPTIONS
========================================================== */

.heda-out297 .o-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:19px;
  align-items:stretch;
}
.heda-out297 .o-option{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:29px 26px;
  border:1px solid var(--o-line);
  border-top:3px solid var(--o-blue);
  background:#fff;
}
.heda-out297 .o-option:nth-child(2){
  border-top-color:var(--o-amber);
}
.heda-out297 .o-option span{
  display:block;
  margin-bottom:15px;
  color:#ac732b;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.1px;
}
.heda-out297 .o-option h3{
  color:var(--o-ink);
  font-size:20px;
  font-weight:800;
  line-height:1.45;
}
.heda-out297 .o-option p{
  margin-top:12px;
  font-size:13px;
  line-height:1.95;
}

/* ==========================================================
   08 / ARM & UPRIGHT LOAD DESIGN
========================================================== */

.heda-out297 .o-loading{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.heda-out297 .o-load{
  min-width:0;
  padding:29px 27px;
  background:var(--o-soft);
  border-top:3px solid var(--o-amber);
}
.heda-out297 .o-load span{
  display:block;
  margin-bottom:16px;
  color:#a66c23;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.2px;
}
.heda-out297 .o-load h3{
  color:var(--o-ink);
  font-size:20px;
  font-weight:800;
  line-height:1.45;
}
.heda-out297 .o-load p{
  margin-top:12px;
  font-size:13px;
  line-height:1.95;
}

/* ==========================================================
   09 / SITE DESIGN PRIORITIES
========================================================== */

.heda-out297 .o-design{
  border-top:1px solid var(--o-line);
}
.heda-out297 .o-design-row{
  display:grid;
  grid-template-columns:43px minmax(0,.35fr) minmax(0,.65fr);
  gap:19px;
  padding:23px 3px;
  border-bottom:1px solid var(--o-line);
}
.heda-out297 .o-design-row>span{
  color:#b47b32;
  font-size:12px;
  font-weight:800;
}
.heda-out297 .o-design-row h3{
  color:var(--o-ink);
  font-size:18px;
  font-weight:800;
  line-height:1.5;
}
.heda-out297 .o-design-row p{
  font-size:14px;
  line-height:1.95;
}

/* ==========================================================
   10 / SPECIFICATIONS
========================================================== */

.heda-out297 .o-spec{
  display:grid;
  grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);
  gap:42px;
  align-items:start;
}
.heda-out297 .o-spec-panel{
  min-width:0;
  padding:29px 31px;
  border:1px solid var(--o-line);
  background:#fff;
}
.heda-out297 .o-spec-panel h3{
  margin-bottom:18px;
  color:var(--o-ink);
  font-size:21px;
  font-weight:800;
}
.heda-out297 .o-spec-row{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);
  gap:15px;
  padding:12px 0;
  border-bottom:1px solid var(--o-line);
}
.heda-out297 .o-spec-row:last-child{
  border-bottom:0;
}
.heda-out297 .o-spec-key{
  color:#718591;
  font-size:13px;
  font-weight:700;
  line-height:1.85;
}
.heda-out297 .o-spec-value{
  min-width:0;
  color:var(--o-ink);
  font-size:13px;
  line-height:1.85;
}

/* ==========================================================
   11 / MATERIAL APPLICATIONS
========================================================== */

.heda-out297 .o-applications{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.heda-out297 .o-app{
  min-width:0;
  padding:26px 2px 12px;
  border-top:3px solid #bdcdd6;
}
.heda-out297 .o-app:nth-child(2){
  border-top-color:var(--o-amber);
}
.heda-out297 .o-app span{
  display:block;
  margin-bottom:16px;
  color:#b27b33;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.1px;
}
.heda-out297 .o-app h3{
  color:var(--o-ink);
  font-size:19px;
  font-weight:800;
  line-height:1.45;
}
.heda-out297 .o-app p{
  margin-top:12px;
  font-size:14px;
  line-height:1.95;
}

/* ==========================================================
   12 / QUOTATION CHECKLIST
========================================================== */

.heda-out297 .o-rfq{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:42px;
  align-items:start;
}
.heda-out297 .o-rfq-panel{
  min-width:0;
  padding:29px 31px;
  border:1px solid var(--o-line);
  background:#fff;
}
.heda-out297 .o-rfq-panel h3{
  margin-bottom:19px;
  color:var(--o-ink);
  font-size:21px;
  font-weight:800;
}
.heda-out297 .o-rfq-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 18px;
}
.heda-out297 .o-rfq-item{
  position:relative;
  padding:12px 0 12px 21px;
  border-bottom:1px solid var(--o-line);
  font-size:13px;
  line-height:1.85;
}
.heda-out297 .o-rfq-item:before{
  content:"";
  position:absolute;
  left:2px;
  top:21px;
  width:8px;
  height:8px;
  background:var(--o-amber);
}

/* ==========================================================
   13 / FAQ
========================================================== */

.heda-out297 .o-faq{
  border-top:1px solid var(--o-line);
}
.heda-out297 .o-faq-row{
  display:grid;
  grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);
  gap:32px;
  padding:23px 0;
  border-bottom:1px solid var(--o-line);
}
.heda-out297 .o-faq-row h3{
  color:var(--o-ink);
  font-size:16px;
  font-weight:800;
  line-height:1.6;
}
.heda-out297 .o-faq-row p{
  font-size:14px;
  line-height:1.95;
}

/* ==========================================================
   14 / NATIVE HEDA INQUIRY CTA
========================================================== */

.heda-out297 .o-cta-section{
  padding:38px 0 70px;
}
.heda-out297 .o-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:35px;
  padding:45px 46px;
  border-left:5px solid var(--o-amber);
  background:var(--o-deep);
}
.heda-out297 .o-cta-copy{
  min-width:0;
}
.heda-out297 .o-cta-label{
  display:block;
  margin-bottom:13px;
  color:#c1d7e3;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.3px;
}
.heda-out297 .o-cta h2{
  color:#fff;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  line-height:1.3;
}
.heda-out297 .o-cta p{
  margin-top:14px;
  color:#cfdee8;
  font-size:14px;
  line-height:1.95;
}
.heda-out297 a.out297-quote{
  position:relative;
  z-index:2;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto;
  width:auto !important;
  height:auto !important;
  min-width:195px;
  min-height:54px;
  margin:0 !important;
  padding:16px 27px !important;
  border:0 !important;
  border-radius:3px !important;
  background:#d99532 !important;
  background-image:none !important;
  color:#fff !important;
  font:800 13px/1.5 Arial,Helvetica,sans-serif !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:nowrap;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:none !important;
  cursor:pointer;
}
.heda-out297 a.out297-quote:hover{
  background:#b67822 !important;
  color:#fff !important;
}
.heda-out297 a.out297-quote:visited{
  color:#fff !important;
}
.heda-out297 a.out297-quote:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}

/* ==========================================================
   TABLET
========================================================== */

@media(max-width:1050px){
  .heda-out297 .o-hero-grid,
  .heda-out297 .o-spec,
  .heda-out297 .o-rfq{
    gap:28px;
  }
  .heda-out297 .o-hero h2{
    font-size:44px;
  }
  .heda-out297 .o-feature-copy,
  .heda-out297 .o-concept-copy{
    padding:27px;
  }
  .heda-out297 .o-cta{
    padding:37px 32px;
  }
}

/* ==========================================================
   TABLET PORTRAIT / MOBILE
========================================================== */

@media(max-width:768px){
  .heda-out297 .o-wrap{
    width:calc(100% - 32px);
  }
  .heda-out297 .o-section{
    padding:57px 0;
  }
  .heda-out297 .o-title{
    font-size:31px;
  }
  .heda-out297 .o-heading{
    margin-bottom:27px;
  }
  .heda-out297 .o-hero-grid,
  .heda-out297 .o-feature,
  .heda-out297 .o-concept,
  .heda-out297 .o-spec,
  .heda-out297 .o-rfq{
    grid-template-columns:1fr;
  }
  .heda-out297 .o-hero-grid{
    gap:27px;
    padding:35px 0 44px;
  }
  .heda-out297 .o-hero h2{
    font-size:39px;
  }
  .heda-out297 .o-facts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .heda-out297 .o-fact:nth-child(3){
    border-left:0;
  }
  .heda-out297 .o-fact:nth-child(n+3){
    border-top:1px solid var(--o-line);
  }
  .heda-out297 .o-feature-copy,
  .heda-out297 .o-concept-photo{
    border-left:0;
    border-top:1px solid var(--o-line);
  }
  .heda-out297 .o-feature-copy,
  .heda-out297 .o-concept-copy{
    padding:29px;
  }
  .heda-out297 .o-cases{
    grid-template-columns:1fr;
    gap:18px;
  }
  .heda-out297 .o-weather{
    padding:57px 0;
  }
  .heda-out297 .o-weather-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .heda-out297 .o-options,
  .heda-out297 .o-applications{
    grid-template-columns:1fr;
    gap:17px;
  }
  .heda-out297 .o-loading{
    grid-template-columns:1fr;
    gap:17px;
  }
  .heda-out297 .o-design-row{
    grid-template-columns:35px minmax(0,1fr);
    gap:8px 14px;
  }
  .heda-out297 .o-design-row p{
    grid-column:2;
  }
  .heda-out297 .o-faq-row{
    grid-template-columns:1fr;
    gap:8px;
  }
  .heda-out297 .o-cta{
    grid-template-columns:1fr;
    gap:25px;
    padding:34px 28px;
  }
  .heda-out297 a.out297-quote{
    justify-self:start;
  }
}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:480px){
  .heda-out297 .o-wrap{
    width:calc(100% - 26px);
  }
  .heda-out297 .o-hero h2{
    font-size:34px;
  }
  .heda-out297 .o-hero-copy p{
    font-size:14px;
  }
  .heda-out297 .o-hero-photo,
  .heda-out297 .o-feature-photo,
  .heda-out297 .o-concept-photo{
    padding:8px;
  }
  .heda-out297 .o-fact{
    padding:19px 12px;
  }
  .heda-out297 .o-fact strong{
    font-size:16px;
  }
  .heda-out297 .o-feature-copy,
  .heda-out297 .o-case-body,
  .heda-out297 .o-concept-copy{
    padding:22px;
  }
  .heda-out297 .o-weather-grid{
    grid-template-columns:1fr;
  }
  .heda-out297 .o-weather-item{
    padding:24px;
  }
  .heda-out297 .o-option,
  .heda-out297 .o-load{
    padding:23px;
  }
  .heda-out297 .o-spec-panel,
  .heda-out297 .o-rfq-panel{
    padding:21px;
  }
  .heda-out297 .o-spec-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .heda-out297 .o-rfq-list{
    grid-template-columns:1fr;
  }
  .heda-out297 .o-cta{
    padding:29px 22px;
  }
  .heda-out297 a.out297-quote{
    width:100% !important;
    min-width:0;
    white-space:normal;
  }
}
