
/* ============================================================
   HEDA SHELVES
   DOUBLE SIDED HARDWARE STORE TOOL DISPLAY RACK
   MODEL: DSDR01

   Complete Product Description | HTML + CSS
   Independent Design / Responsive / Native Inquiry Popup
   ============================================================ */

.hdsdr01 {
  --dsr-yellow:#edc326;
  --dsr-yellow-dark:#be9413;
  --dsr-black:#202a2d;
  --dsr-deep:#172226;
  --dsr-gray:#626e72;
  --dsr-line:#dfe4e1;
  --dsr-soft:#f5f6f3;
  --dsr-pale:#faf7e9;
  --dsr-white:#fff;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:var(--dsr-black);
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  line-height:1.75;
  container:hdsdr01-page / inline-size;
}

.hdsdr01,
.hdsdr01 *,
.hdsdr01 *::before,
.hdsdr01 *::after {
  box-sizing:border-box;
}

.hdsdr01 h2,
.hdsdr01 h3,
.hdsdr01 h4,
.hdsdr01 p,
.hdsdr01 figure {
  margin:0;
  padding:0;
}

.hdsdr01 h2,
.hdsdr01 h3,
.hdsdr01 h4 {
  color:inherit;
  font-family:inherit;
  font-weight:700;
  line-height:1.23;
  letter-spacing:-.025em;
}

.hdsdr01 p {
  line-height:1.86;
}

.hdsdr01 img {
  display:block;
  max-width:100%;
  height:auto;
  border:0;
}

.hdsdr01 a {
  text-decoration:none;
}

.hdsdr01 .dr-container {
  width:calc(100% - 64px);
  max-width:1180px;
  margin:0 auto;
}

.hdsdr01 .dr-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#92700f;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.35px;
  line-height:1.5;
  text-transform:uppercase;
}

.hdsdr01 .dr-eyebrow::before {
  content:"";
  display:block;
  flex:0 0 23px;
  width:23px;
  height:2px;
  background:currentColor;
}

.hdsdr01 .dr-heading {
  font-size:clamp(29px,3.2vw,43px);
  line-height:1.18;
  letter-spacing:-1.15px;
}

.hdsdr01 .dr-copy {
  color:var(--dsr-gray);
  font-size:15px;
  line-height:1.88;
}

/* ============================================================
   OFFICIAL HEDA GET QUOTE NOW POPUP
   ============================================================ */

.hdsdr01 .dr-quote.themes_box_inquiry_button_alert {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:23px;
  width:auto !important;
  max-width:100%;
  min-height:52px;
  padding:14px 25px !important;
  background:var(--dsr-black) !important;
  border:1px solid var(--dsr-black) !important;
  border-radius:2px !important;
  color:#fff !important;
  font-family:inherit;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  letter-spacing:.5px;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:none !important;
  cursor:pointer;
  white-space:normal;
  transition:background .2s ease;
}

.hdsdr01 .dr-quote.themes_box_inquiry_button_alert:hover {
  background:#455154 !important;
  border-color:#455154 !important;
  color:#fff !important;
}

.hdsdr01 .dr-arrow {
  font-size:20px;
  line-height:1;
  font-weight:400;
}

/* ============================================================
   01 | PRODUCT HERO
   ============================================================ */

.hdsdr01 .dr-hero {
  background:#f5f4ee;
}

.hdsdr01 .dr-hero-layout {
  display:grid;
  grid-template-columns:minmax(0,48%) minmax(0,52%);
  align-items:stretch;
  width:100%;
}

.hdsdr01 .dr-hero-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:65px 43px;
  border-top:5px solid var(--dsr-yellow);
}

.hdsdr01 .dr-hero .dr-eyebrow {
  margin-bottom:29px;
}

.hdsdr01 .dr-hero h2 {
  width:100%;
  max-width:540px;
  margin-bottom:25px;
  font-size:clamp(35px,3.7vw,52px);
  line-height:1.1;
  letter-spacing:-1.7px;
  color:#202a2d;
  overflow-wrap:normal;
  word-break:normal;
}

.hdsdr01 .dr-hero h2 span {
  color:#a78011;
}

.hdsdr01 .dr-hero-description {
  width:100%;
  max-width:505px;
  margin-bottom:30px;
  color:#5e6a6d;
  font-size:14.5px;
  line-height:1.92;
}

.hdsdr01 .dr-hero-features {
  display:flex;
  flex-wrap:wrap;
  gap:9px 17px;
  margin-bottom:32px;
}

.hdsdr01 .dr-hero-features span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#425054;
  font-size:11px;
  font-weight:700;
  line-height:1.5;
}

.hdsdr01 .dr-hero-features span::before {
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  background:#c69a14;
}

.hdsdr01 .dr-hero-media {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:590px;
  padding:29px 28px 23px;
  background:#fff;
}

.hdsdr01 .dr-hero-picture {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  min-height:0;
  width:100%;
}

.hdsdr01 .dr-hero-picture img {
  width:100%;
  height:auto;
  max-height:540px;
  object-fit:contain;
}

.hdsdr01 .dr-image-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
  margin-top:14px;
  padding-top:16px;
  border-top:1px solid var(--dsr-line);
  color:#6e787a;
  font-size:10px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.65px;
  text-transform:uppercase;
}

.hdsdr01 .dr-image-caption strong {
  color:#977510;
  font-weight:700;
}

/* ============================================================
   02 | TWO-FACE CONCEPT
   ============================================================ */

.hdsdr01 .dr-concept {
  padding:97px 0 104px;
  background:var(--dsr-deep);
  color:#fff;
}

.hdsdr01 .dr-concept-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  align-items:end;
  gap:56px;
  margin-bottom:42px;
}

.hdsdr01 .dr-concept .dr-eyebrow {
  margin-bottom:20px;
  color:#e4c359;
}

.hdsdr01 .dr-concept .dr-heading {
  color:#fff;
}

.hdsdr01 .dr-concept-intro {
  max-width:485px;
  color:#bfcbcc;
  font-size:14px;
  line-height:1.92;
}

.hdsdr01 .dr-concept-grid {
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    minmax(0,.75fr)
    minmax(0,1fr);
  align-items:stretch;
  gap:13px;
}

.hdsdr01 .dr-side-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:31px 28px 35px;
  border:1px solid #4d5c5f;
  background:#253337;
}

.hdsdr01 .dr-side-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:46px;
  padding-bottom:18px;
  border-bottom:1px solid #506063;
}

.hdsdr01 .dr-side-top span {
  color:#e9cd76;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
}

.hdsdr01 .dr-side-top strong {
  color:#fff;
  font-size:11px;
  font-weight:700;
}

.hdsdr01 .dr-side-card h3 {
  margin-bottom:15px;
  color:#fff;
  font-size:21px;
  line-height:1.3;
}

.hdsdr01 .dr-side-card p {
  color:#c0cbcd;
  font-size:13px;
  line-height:1.9;
}

.hdsdr01 .dr-core {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:30px 18px;
  background:var(--dsr-yellow);
  color:#202a2d;
  text-align:center;
}

.hdsdr01 .dr-core-mark {
  display:block;
  margin-bottom:15px;
  font-size:clamp(45px,6vw,82px);
  line-height:1;
  font-weight:700;
  letter-spacing:-4px;
}

.hdsdr01 .dr-core h3 {
  max-width:230px;
  font-size:19px;
  line-height:1.3;
}

.hdsdr01 .dr-core p {
  max-width:200px;
  margin-top:13px;
  color:#534a29;
  font-size:12px;
  line-height:1.75;
}

/* ============================================================
   03 | SIDE PROFILE & CONSTRUCTION
   ============================================================ */

.hdsdr01 .dr-profile {
  padding:106px 0;
  background:#fff;
}

.hdsdr01 .dr-profile-layout {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:49px;
}

.hdsdr01 .dr-profile-photo {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px;
  background:#f1f3f0;
}

.hdsdr01 .dr-profile-image {
  display:flex;
  justify-content:center;
  align-items:center;
  flex:1;
  min-height:0;
}

.hdsdr01 .dr-profile-image img {
  width:100%;
  height:auto;
  max-height:540px;
  object-fit:contain;
}

.hdsdr01 .dr-profile-photo figcaption {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:17px;
  padding-top:15px;
  border-top:1px solid #d8dfda;
  color:#657174;
  font-size:10px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.hdsdr01 .dr-profile-photo figcaption strong {
  color:#92720e;
}

.hdsdr01 .dr-profile-content {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.hdsdr01 .dr-profile-content .dr-eyebrow {
  margin-bottom:21px;
}

.hdsdr01 .dr-profile-content .dr-heading {
  margin-bottom:24px;
}

.hdsdr01 .dr-profile-content > .dr-copy {
  margin-bottom:28px;
}

.hdsdr01 .dr-profile-points {
  border-top:1px solid var(--dsr-line);
}

.hdsdr01 .dr-profile-row {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid var(--dsr-line);
}

.hdsdr01 .dr-profile-row > span {
  color:#987715;
  font-size:12px;
  font-weight:700;
}

.hdsdr01 .dr-profile-row h3 {
  margin-bottom:7px;
  font-size:16px;
}

.hdsdr01 .dr-profile-row p {
  color:#657175;
  font-size:12.8px;
  line-height:1.86;
}

/* ============================================================
   04 | TWO REAL PRODUCT VIEWS
   STRICTLY SYMMETRICAL IMAGE CARDS
   ============================================================ */

.hdsdr01 .dr-gallery {
  padding:101px 0 109px;
  background:#f3f5f2;
}

.hdsdr01 .dr-gallery-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.84fr);
  align-items:end;
  gap:60px;
  margin-bottom:39px;
}

.hdsdr01 .dr-gallery-head .dr-eyebrow {
  margin-bottom:20px;
}

.hdsdr01 .dr-gallery-head .dr-copy {
  max-width:500px;
}

.hdsdr01 .dr-gallery-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
}

.hdsdr01 .dr-gallery-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  background:#fff;
}

.hdsdr01 .dr-gallery-image {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:390px;
  padding:18px;
  overflow:hidden;
  background:#e9eeea;
}

.hdsdr01 .dr-gallery-image img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}

.hdsdr01 .dr-gallery-body {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  width:100%;
  padding:28px 29px 33px;
  border-top:1px solid var(--dsr-line);
}

.hdsdr01 .dr-gallery-index {
  display:block;
  margin-bottom:12px;
  color:#987414;
  font-size:10px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1px;
  text-transform:uppercase;
}

.hdsdr01 .dr-gallery-body h3 {
  margin-bottom:14px;
  font-size:21px;
}

.hdsdr01 .dr-gallery-body p {
  color:#657276;
  font-size:13.5px;
  line-height:1.87;
}

.hdsdr01 .dr-gallery-note {
  margin-top:23px;
  padding-top:19px;
  border-top:1px solid #d9e0dc;
  color:#687478;
  font-size:12px;
  line-height:1.85;
}

/* ============================================================
   05 | RETAIL MERCHANDISING BENEFITS
   ============================================================ */

.hdsdr01 .dr-benefits {
  padding:101px 0 108px;
  background:#fff;
}

.hdsdr01 .dr-benefits-head {
  max-width:775px;
  margin-bottom:42px;
}

.hdsdr01 .dr-benefits-head .dr-eyebrow {
  margin-bottom:19px;
}

.hdsdr01 .dr-benefits-head .dr-heading {
  margin-bottom:22px;
}

.hdsdr01 .dr-benefits-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:19px;
}

.hdsdr01 .dr-benefit {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:30px 27px 36px;
  border-top:3px solid #cfaa27;
  background:#f4f5f2;
}

.hdsdr01 .dr-benefit-number {
  display:block;
  margin-bottom:43px;
  color:#947513;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  line-height:1.5;
}

.hdsdr01 .dr-benefit h3 {
  margin-bottom:15px;
  font-size:19px;
}

.hdsdr01 .dr-benefit p {
  color:#677376;
  font-size:13px;
  line-height:1.88;
}

/* ============================================================
   06 | REFERENCE SPECIFICATIONS
   ============================================================ */

.hdsdr01 .dr-spec {
  padding:102px 0 110px;
  background:#f0f2ee;
}

.hdsdr01 .dr-spec-layout {
  display:grid;
  grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);
  align-items:start;
  gap:clamp(40px,7vw,88px);
}

.hdsdr01 .dr-spec-intro .dr-eyebrow {
  margin-bottom:20px;
}

.hdsdr01 .dr-spec-intro .dr-heading {
  margin-bottom:24px;
}

.hdsdr01 .dr-spec-intro .dr-copy {
  max-width:430px;
}

.hdsdr01 .dr-spec-note {
  margin-top:30px;
  padding:20px 21px;
  border-left:3px solid #c5a221;
  background:#e7e9df;
}

.hdsdr01 .dr-spec-note strong {
  display:block;
  margin-bottom:9px;
  font-size:13px;
}

.hdsdr01 .dr-spec-note p {
  color:#687275;
  font-size:12px;
  line-height:1.85;
}

.hdsdr01 .dr-spec-table-wrap {
  min-width:0;
  background:#fff;
}

.hdsdr01 .dr-spec-table {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
  text-align:left;
}

.hdsdr01 .dr-spec-table th,
.hdsdr01 .dr-spec-table td {
  padding:18px 16px;
  border:0;
  border-bottom:1px solid var(--dsr-line);
  text-align:left;
  vertical-align:top;
  line-height:1.82;
}

.hdsdr01 .dr-spec-table tr:first-child th,
.hdsdr01 .dr-spec-table tr:first-child td {
  border-top:3px solid var(--dsr-black);
}

.hdsdr01 .dr-spec-table th {
  width:37%;
  color:#293337;
  font-size:13px;
  font-weight:700;
}

.hdsdr01 .dr-spec-table td {
  color:#626e72;
  font-size:13px;
  overflow-wrap:anywhere;
}

.hdsdr01 .dr-spec-table td strong {
  color:#222e31;
  font-weight:700;
}

.hdsdr01 .dr-spec-sub {
  display:block;
  margin-top:5px;
  color:#818e90;
  font-size:11px;
  line-height:1.7;
}

/* ============================================================
   07 | PROJECT CONFIGURATION
   ============================================================ */

.hdsdr01 .dr-custom {
  padding:102px 0 108px;
  background:#fff;
}

.hdsdr01 .dr-custom-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.83fr);
  align-items:end;
  gap:60px;
  margin-bottom:39px;
}

.hdsdr01 .dr-custom-head .dr-eyebrow {
  margin-bottom:20px;
}

.hdsdr01 .dr-custom-list {
  border-top:2px solid var(--dsr-black);
}

.hdsdr01 .dr-custom-row {
  display:grid;
  grid-template-columns:55px minmax(0,.9fr) minmax(0,1.1fr);
  gap:27px;
  align-items:start;
  padding:26px 0;
  border-bottom:1px solid var(--dsr-line);
}

.hdsdr01 .dr-custom-number {
  color:#987514;
  font-size:12px;
  font-weight:700;
}

.hdsdr01 .dr-custom-row h3 {
  font-size:18px;
  line-height:1.32;
}

.hdsdr01 .dr-custom-row p {
  color:#657277;
  font-size:13px;
  line-height:1.87;
}

/* ============================================================
   08 | B2B BUYER CHECKLIST
   ============================================================ */

.hdsdr01 .dr-project {
  padding:100px 0 108px;
  background:#f5f3eb;
}

.hdsdr01 .dr-project-head {
  max-width:760px;
  margin-bottom:42px;
}

.hdsdr01 .dr-project-head .dr-eyebrow {
  margin-bottom:19px;
}

.hdsdr01 .dr-project-head .dr-heading {
  margin-bottom:22px;
}

.hdsdr01 .dr-project-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:17px;
}

.hdsdr01 .dr-project-card {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:17px;
  align-items:start;
  min-width:0;
  padding:29px 28px 33px;
  background:#fff;
}

.hdsdr01 .dr-project-card > span {
  color:#a17d15;
  font-size:12px;
  font-weight:700;
}

.hdsdr01 .dr-project-card h3 {
  margin-bottom:10px;
  font-size:17px;
}

.hdsdr01 .dr-project-card p {
  color:#677376;
  font-size:13px;
  line-height:1.86;
}

/* ============================================================
   09 | FINAL INQUIRY CTA
   ============================================================ */

.hdsdr01 .dr-final {
  padding:88px 0 93px;
  background:var(--dsr-deep);
  border-top:4px solid var(--dsr-yellow);
  color:#fff;
}

.hdsdr01 .dr-final-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:55px;
}

.hdsdr01 .dr-final .dr-eyebrow {
  margin-bottom:20px;
  color:#ecd27d;
}

.hdsdr01 .dr-final h2 {
  max-width:760px;
  margin-bottom:22px;
  color:#fff;
  font-size:clamp(29px,3.2vw,43px);
  line-height:1.19;
  letter-spacing:-1px;
}

.hdsdr01 .dr-final p {
  max-width:705px;
  color:#bfcbcc;
  font-size:14px;
  line-height:1.9;
}

.hdsdr01 .dr-final-action {
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hdsdr01 .dr-final .dr-quote.themes_box_inquiry_button_alert {
  background:var(--dsr-yellow) !important;
  border-color:var(--dsr-yellow) !important;
  color:#212a2e !important;
}

.hdsdr01 .dr-final .dr-quote.themes_box_inquiry_button_alert:hover {
  background:#f6d452 !important;
  border-color:#f6d452 !important;
  color:#212a2e !important;
}

/* ============================================================
   RESPONSIVE - ACTUAL DESCRIPTION CONTAINER WIDTH
   ============================================================ */

@container hdsdr01-page (max-width:960px) {
  .hdsdr01 .dr-hero-layout {
    grid-template-columns:minmax(0,1fr);
  }

  .hdsdr01 .dr-hero-content {
    padding:59px 42px;
  }

  .hdsdr01 .dr-hero h2 {
    max-width:760px;
    font-size:clamp(36px,5.3cqw,51px);
  }

  .hdsdr01 .dr-hero-description {
    max-width:715px;
  }

  .hdsdr01 .dr-hero-media {
    min-height:0;
    padding:27px 34px;
  }

  .hdsdr01 .dr-hero-picture img {
    max-height:535px;
  }
}

@container hdsdr01-page (max-width:800px) {
  .hdsdr01 .dr-concept-head,
  .hdsdr01 .dr-profile-layout,
  .hdsdr01 .dr-gallery-head,
  .hdsdr01 .dr-spec-layout,
  .hdsdr01 .dr-custom-head {
    grid-template-columns:minmax(0,1fr);
    gap:29px;
  }

  .hdsdr01 .dr-profile-photo {
    padding:23px;
  }

  .hdsdr01 .dr-profile-image img {
    max-height:490px;
  }

  .hdsdr01 .dr-concept-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hdsdr01 .dr-core {
    grid-column:1 / -1;
    grid-row:1;
    min-height:180px;
    padding:25px;
  }

  .hdsdr01 .dr-core-mark {
    margin-bottom:8px;
    font-size:55px;
    letter-spacing:-2px;
  }

  .hdsdr01 .dr-core h3 {
    font-size:18px;
  }

  .hdsdr01 .dr-side-top {
    margin-bottom:26px;
  }

  .hdsdr01 .dr-benefits-list {
    gap:12px;
  }

  .hdsdr01 .dr-benefit {
    padding:26px 21px 29px;
  }

  .hdsdr01 .dr-benefit-number {
    margin-bottom:25px;
  }

  .hdsdr01 .dr-final-layout {
    grid-template-columns:minmax(0,1fr);
    gap:30px;
  }

  .hdsdr01 .dr-final-action {
    justify-content:flex-start;
  }
}

@container hdsdr01-page (max-width:690px) {
  .hdsdr01 .dr-container {
    width:calc(100% - 40px);
  }

  .hdsdr01 .dr-gallery-grid {
    grid-template-columns:minmax(0,1fr);
    gap:19px;
  }

  .hdsdr01 .dr-gallery-image {
    height:355px;
  }

  .hdsdr01 .dr-benefits-list {
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }

  .hdsdr01 .dr-benefit {
    padding:27px 26px;
  }

  .hdsdr01 .dr-benefit-number {
    margin-bottom:22px;
  }

  .hdsdr01 .dr-custom-row {
    grid-template-columns:39px minmax(0,1fr);
    gap:13px;
  }

  .hdsdr01 .dr-custom-row p {
    grid-column:2;
  }

  .hdsdr01 .dr-project-grid {
    grid-template-columns:minmax(0,1fr);
    gap:13px;
  }
}

@container hdsdr01-page (max-width:500px) {
  .hdsdr01 .dr-container {
    width:calc(100% - 34px);
  }

  .hdsdr01 .dr-heading {
    font-size:29px;
    letter-spacing:-.7px;
  }

  .hdsdr01 .dr-copy {
    font-size:14px;
  }

  .hdsdr01 .dr-hero-content {
    padding:49px 23px;
  }

  .hdsdr01 .dr-hero h2 {
    font-size:clamp(33px,8.5cqw,42px);
    letter-spacing:-1px;
  }

  .hdsdr01 .dr-hero-description {
    font-size:14px;
  }

  .hdsdr01 .dr-hero-media {
    padding:19px 15px;
  }

  .hdsdr01 .dr-image-caption {
    font-size:9px;
  }

  .hdsdr01 .dr-concept,
  .hdsdr01 .dr-profile,
  .hdsdr01 .dr-gallery,
  .hdsdr01 .dr-benefits,
  .hdsdr01 .dr-spec,
  .hdsdr01 .dr-custom,
  .hdsdr01 .dr-project {
    padding-top:67px;
    padding-bottom:73px;
  }

  .hdsdr01 .dr-concept-grid {
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }

  .hdsdr01 .dr-core {
    grid-column:auto;
    grid-row:auto;
    min-height:0;
    padding:28px 23px;
  }

  .hdsdr01 .dr-side-card {
    padding:25px 24px;
  }

  .hdsdr01 .dr-side-top {
    margin-bottom:23px;
  }

  .hdsdr01 .dr-side-card h3 {
    font-size:19px;
  }

  .hdsdr01 .dr-profile-photo {
    padding:14px;
  }

  .hdsdr01 .dr-gallery-image {
    height:300px;
    padding:12px;
  }

  .hdsdr01 .dr-gallery-body {
    padding:24px 24px 29px;
  }

  .hdsdr01 .dr-gallery-body h3 {
    font-size:19px;
  }

  .hdsdr01 .dr-spec-table th,
  .hdsdr01 .dr-spec-table td {
    padding:15px 10px;
    font-size:12px;
  }

  .hdsdr01 .dr-spec-table th {
    width:39%;
  }

  .hdsdr01 .dr-custom-row {
    padding:23px 0;
  }

  .hdsdr01 .dr-custom-row h3 {
    font-size:17px;
  }

  .hdsdr01 .dr-project-card {
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    padding:24px 22px;
  }

  .hdsdr01 .dr-final {
    padding:68px 0;
  }

  .hdsdr01 .dr-final h2 {
    font-size:29px;
  }

  .hdsdr01 .dr-quote.themes_box_inquiry_button_alert {
    width:100% !important;
  }
}

@container hdsdr01-page (max-width:380px) {
  .hdsdr01 .dr-container {
    width:calc(100% - 28px);
  }

  .hdsdr01 .dr-hero-content {
    padding:43px 19px;
  }

  .hdsdr01 .dr-hero h2 {
    font-size:31px;
  }

  .hdsdr01 .dr-heading {
    font-size:27px;
  }
}

/* ============================================================
   VIEWPORT FALLBACK
   ============================================================ */

@media (max-width:700px) {
  .hdsdr01 .dr-container {
    width:calc(100% - 34px);
  }

  .hdsdr01 .dr-hero-layout,
  .hdsdr01 .dr-concept-head,
  .hdsdr01 .dr-profile-layout,
  .hdsdr01 .dr-gallery-head,
  .hdsdr01 .dr-spec-layout,
  .hdsdr01 .dr-custom-head,
  .hdsdr01 .dr-final-layout {
    grid-template-columns:minmax(0,1fr);
  }

  .hdsdr01 .dr-gallery-grid,
  .hdsdr01 .dr-benefits-list,
  .hdsdr01 .dr-project-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .hdsdr01 .dr-final-action {
    justify-content:flex-start;
  }
}
