
/* ==========================================================
   HEDA SHELVES
   CUSTOM DISPLAY RACK - AUTOMOTIVE SUPPLY STORE MOTOR OIL
   MODEL: CDR01

   Complete Product Description | HTML + CSS
   Independent Editorial Design
   Responsive / Scoped Styles / Native Inquiry Popup
   ========================================================== */

.hcmo01 {
  --cm-black:#1d2326;
  --cm-deep:#14191c;
  --cm-red:#cb363d;
  --cm-red-dark:#a72c34;
  --cm-red-soft:#f9eeee;
  --cm-text:#283237;
  --cm-muted:#697477;
  --cm-line:#e1e5e4;
  --cm-soft:#f4f5f3;
  --cm-white:#ffffff;

  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:var(--cm-text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  line-height:1.75;
  container:hcmo01-page / inline-size;
}

.hcmo01,
.hcmo01 *,
.hcmo01 *::before,
.hcmo01 *::after {
  box-sizing:border-box;
}

.hcmo01 h2,
.hcmo01 h3,
.hcmo01 h4,
.hcmo01 p,
.hcmo01 figure {
  margin:0;
  padding:0;
}

.hcmo01 h2,
.hcmo01 h3,
.hcmo01 h4 {
  color:inherit;
  font-family:inherit;
  line-height:1.22;
  font-weight:700;
}

.hcmo01 p {
  line-height:1.85;
}

.hcmo01 img {
  display:block;
  max-width:100%;
  height:auto;
  border:0;
}

.hcmo01 a {
  text-decoration:none;
}

.hcmo01 .cm-container {
  width:calc(100% - 64px);
  max-width:1180px;
  margin:0 auto;
}

.hcmo01 .cm-kicker {
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:var(--cm-red);
  font-size:10.5px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.hcmo01 .cm-kicker::before {
  content:"";
  width:23px;
  height:2px;
  flex:0 0 23px;
  background:currentColor;
}

.hcmo01 .cm-heading {
  font-size:clamp(29px,3.4vw,45px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-1.3px;
}

.hcmo01 .cm-copy {
  color:var(--cm-muted);
  font-size:15px;
  line-height:1.92;
}

/* ==========================================================
   OFFICIAL HEDA NATIVE INQUIRY BUTTON
   ========================================================== */

.hcmo01 .cm-quote.themes_box_inquiry_button_alert {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:22px;
  width:auto !important;
  max-width:100%;
  min-height:52px;
  padding:14px 26px !important;
  border:1px solid var(--cm-red) !important;
  border-radius:2px !important;
  background:var(--cm-red) !important;
  color:#fff !important;
  font-family:inherit;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  letter-spacing:.6px;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:none !important;
  white-space:normal;
  cursor:pointer;
  transition:background .2s ease;
}

.hcmo01 .cm-quote.themes_box_inquiry_button_alert:hover {
  background:var(--cm-red-dark) !important;
  border-color:var(--cm-red-dark) !important;
  color:#fff !important;
}

.hcmo01 .cm-arrow {
  font-size:19px;
  font-weight:400;
  line-height:1;
}

/* ==========================================================
   01 | EDITORIAL HERO
   ========================================================== */

.hcmo01 .cm-hero {
  background:#f5f5f2;
}

.hcmo01 .cm-hero-intro {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:70px;
  align-items:end;
  padding-top:75px;
  padding-bottom:53px;
}

.hcmo01 .cm-hero-intro .cm-kicker {
  margin-bottom:23px;
}

.hcmo01 .cm-hero h2 {
  max-width:760px;
  color:#1e272b;
  font-size:clamp(38px,4.8vw,62px);
  line-height:1.075;
  letter-spacing:-2px;
}

.hcmo01 .cm-hero h2 span {
  color:var(--cm-red);
}

.hcmo01 .cm-hero-intro-right {
  min-width:0;
}

.hcmo01 .cm-hero-intro-right p {
  margin-bottom:25px;
  color:#5f6d72;
  font-size:14.5px;
  line-height:1.94;
}

.hcmo01 .cm-hero-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid #d9dedb;
}

.hcmo01 .cm-hero-meta span {
  color:#667276;
  font-size:10px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:.65px;
  text-transform:uppercase;
}

.hcmo01 .cm-hero-meta strong {
  color:#252f33;
}

.hcmo01 .cm-hero-showcase {
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);
  align-items:stretch;
}

.hcmo01 .cm-hero-photo {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:580px;
  padding:29px;
  background:#fff;
}

.hcmo01 .cm-hero-image {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  width:100%;
  min-height:0;
}

.hcmo01 .cm-hero-image img {
  width:100%;
  height:auto;
  max-height:530px;
  object-fit:contain;
}

.hcmo01 .cm-image-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
  margin-top:15px;
  padding-top:16px;
  border-top:1px solid var(--cm-line);
  color:#6b7679;
  font-size:10px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.hcmo01 .cm-image-caption strong {
  color:var(--cm-red);
}

.hcmo01 .cm-hero-feature {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:44px 38px;
  background:var(--cm-deep);
  color:#fff;
}

.hcmo01 .cm-hero-feature-label {
  color:#f0a9ac;
  font-size:10px;
  font-weight:700;
  line-height:1.6;
  letter-spacing:1.3px;
}

.hcmo01 .cm-hero-feature h3 {
  margin-top:25px;
  margin-bottom:25px;
  color:#fff;
  font-size:clamp(26px,3vw,38px);
  line-height:1.17;
  letter-spacing:-.8px;
}

.hcmo01 .cm-hero-feature h3 span {
  color:#f1a0a4;
}

.hcmo01 .cm-hero-points {
  margin-bottom:29px;
  border-top:1px solid #435056;
}

.hcmo01 .cm-hero-point {
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:13px;
  padding:17px 0;
  border-bottom:1px solid #435056;
}

.hcmo01 .cm-hero-point > span {
  color:#ed9fa3;
  font-size:11px;
  font-weight:700;
}

.hcmo01 .cm-hero-point strong {
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:14px;
  line-height:1.5;
}

.hcmo01 .cm-hero-point p {
  color:#bdc8cb;
  font-size:12.5px;
  line-height:1.82;
}

.hcmo01 .cm-hero-feature .cm-quote {
  align-self:flex-start;
}

/* ==========================================================
   02 | CURVED DESIGN STORY
   ========================================================== */

.hcmo01 .cm-identity {
  padding:105px 0 112px;
  background:#fff;
}

.hcmo01 .cm-identity-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  align-items:end;
  gap:64px;
  margin-bottom:45px;
}

.hcmo01 .cm-identity-head .cm-kicker {
  margin-bottom:20px;
}

.hcmo01 .cm-identity-head .cm-copy {
  max-width:490px;
}

.hcmo01 .cm-identity-layout {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  align-items:stretch;
}

.hcmo01 .cm-identity-highlight {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  padding:38px;
  background:var(--cm-red);
  color:#fff;
}

.hcmo01 .cm-identity-mark {
  width:115px;
  height:190px;
  margin:0 auto 35px;
  border-left:13px solid #fff;
  border-right:13px solid #fff;
  border-radius:55% / 50%;
  opacity:.9;
}

.hcmo01 .cm-identity-highlight h3 {
  margin-bottom:17px;
  color:#fff;
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.6px;
}

.hcmo01 .cm-identity-highlight p {
  color:#ffe0e1;
  font-size:13.5px;
  line-height:1.9;
}

.hcmo01 .cm-identity-details {
  border-top:2px solid var(--cm-black);
}

.hcmo01 .cm-identity-row {
  display:grid;
  grid-template-columns:39px minmax(0,1fr);
  gap:17px;
  padding:24px 0;
  border-bottom:1px solid var(--cm-line);
}

.hcmo01 .cm-identity-row > span {
  color:var(--cm-red);
  font-size:12px;
  font-weight:700;
}

.hcmo01 .cm-identity-row h3 {
  margin-bottom:9px;
  font-size:18px;
}

.hcmo01 .cm-identity-row p {
  color:#697578;
  font-size:13px;
  line-height:1.9;
}

/* ==========================================================
   03 | AUTHENTIC PRODUCT PHOTOS
   TWO EQUAL-HEIGHT IMAGE CARDS
   ========================================================== */

.hcmo01 .cm-gallery {
  padding:100px 0 109px;
  background:#f2f4f2;
}

.hcmo01 .cm-gallery-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.88fr);
  align-items:end;
  gap:60px;
  margin-bottom:40px;
}

.hcmo01 .cm-gallery-head .cm-kicker {
  margin-bottom:20px;
}

.hcmo01 .cm-gallery-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
}

.hcmo01 .cm-gallery-card {
  display:grid;
  grid-template-rows:380px minmax(0,1fr);
  min-width:0;
  height:100%;
  background:#fff;
  overflow:hidden;
}

.hcmo01 .cm-gallery-image {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:380px;
  min-height:0;
  padding:17px;
  overflow:hidden;
  background:#e8ecea;
}

.hcmo01 .cm-gallery-image img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}

.hcmo01 .cm-gallery-body {
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  padding:29px 29px 34px;
  border-top:1px solid var(--cm-line);
}

.hcmo01 .cm-gallery-index {
  display:block;
  margin-bottom:13px;
  color:var(--cm-red);
  font-size:10px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:1px;
  text-transform:uppercase;
}

.hcmo01 .cm-gallery-body h3 {
  margin-bottom:14px;
  font-size:22px;
}

.hcmo01 .cm-gallery-body p {
  color:#687478;
  font-size:13.5px;
  line-height:1.89;
}

/* ==========================================================
   04 | STEEL SHELF DETAIL
   ========================================================== */

.hcmo01 .cm-detail {
  padding:106px 0;
  background:#fff;
}

.hcmo01 .cm-detail-layout {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  align-items:center;
  gap:clamp(40px,6vw,90px);
}

.hcmo01 .cm-detail-content {
  min-width:0;
}

.hcmo01 .cm-detail-content .cm-kicker {
  margin-bottom:21px;
}

.hcmo01 .cm-detail-content .cm-heading {
  margin-bottom:24px;
}

.hcmo01 .cm-detail-content > .cm-copy {
  margin-bottom:31px;
}

.hcmo01 .cm-detail-list {
  border-top:1px solid var(--cm-line);
}

.hcmo01 .cm-detail-row {
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  gap:14px;
  padding:19px 0;
  border-bottom:1px solid var(--cm-line);
}

.hcmo01 .cm-detail-row > span {
  color:var(--cm-red);
  font-size:12px;
  font-weight:700;
}

.hcmo01 .cm-detail-row h3 {
  margin-bottom:8px;
  font-size:16px;
}

.hcmo01 .cm-detail-row p {
  color:#697578;
  font-size:13px;
  line-height:1.85;
}

.hcmo01 .cm-detail-photo {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:22px;
  background:#f0f2f0;
}

.hcmo01 .cm-detail-photo img {
  width:100%;
  height:auto;
  object-fit:contain;
}

.hcmo01 .cm-detail-photo figcaption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:15px;
  padding-top:16px;
  border-top:1px solid #d9dfdc;
  color:#6a7678;
  font-size:10px;
  font-weight:700;
  letter-spacing:.7px;
  line-height:1.6;
  text-transform:uppercase;
}

.hcmo01 .cm-detail-photo figcaption strong {
  color:var(--cm-red);
}

/* ==========================================================
   05 | AUTOMOTIVE MERCHANDISING
   ========================================================== */

.hcmo01 .cm-merch {
  padding:103px 0 110px;
  background:var(--cm-black);
  color:#fff;
}

.hcmo01 .cm-merch-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.87fr);
  align-items:end;
  gap:63px;
  margin-bottom:43px;
}

.hcmo01 .cm-merch .cm-kicker {
  margin-bottom:20px;
  color:#eea4a8;
}

.hcmo01 .cm-merch .cm-heading {
  color:#fff;
}

.hcmo01 .cm-merch-intro {
  color:#c4cccd;
  font-size:14px;
  line-height:1.93;
}

.hcmo01 .cm-merch-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:1px;
  border:1px solid #515b5e;
  background:#515b5e;
}

.hcmo01 .cm-merch-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:33px 28px 38px;
  background:#272f32;
}

.hcmo01 .cm-merch-number {
  display:block;
  margin-bottom:48px;
  color:#eba0a4;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  line-height:1.5;
}

.hcmo01 .cm-merch-card h3 {
  margin-bottom:15px;
  color:#fff;
  font-size:20px;
}

.hcmo01 .cm-merch-card p {
  color:#c1ccce;
  font-size:13px;
  line-height:1.9;
}

.hcmo01 .cm-merch-note {
  margin-top:23px;
  padding:18px 21px;
  border-left:3px solid var(--cm-red);
  background:#2d383b;
  color:#c5cfd0;
  font-size:12px;
  line-height:1.87;
}

/* ==========================================================
   06 | OEM CUSTOMIZATION
   ========================================================== */

.hcmo01 .cm-custom {
  padding:103px 0 108px;
  background:#fff;
}

.hcmo01 .cm-custom-layout {
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  align-items:start;
  gap:clamp(40px,7vw,88px);
}

.hcmo01 .cm-custom-intro .cm-kicker {
  margin-bottom:21px;
}

.hcmo01 .cm-custom-intro .cm-heading {
  margin-bottom:25px;
}

.hcmo01 .cm-custom-intro .cm-copy {
  max-width:430px;
}

.hcmo01 .cm-custom-note {
  margin-top:30px;
  padding:19px 21px;
  background:#f7eeee;
  border-left:3px solid var(--cm-red);
}

.hcmo01 .cm-custom-note strong {
  display:block;
  margin-bottom:9px;
  font-size:13px;
}

.hcmo01 .cm-custom-note p {
  color:#6c7274;
  font-size:12px;
  line-height:1.88;
}

.hcmo01 .cm-custom-list {
  border-top:2px solid var(--cm-black);
}

.hcmo01 .cm-custom-row {
  display:grid;
  grid-template-columns:39px minmax(0,1fr);
  gap:17px;
  padding:23px 0;
  border-bottom:1px solid var(--cm-line);
}

.hcmo01 .cm-custom-row > span {
  color:var(--cm-red);
  font-size:12px;
  font-weight:700;
}

.hcmo01 .cm-custom-row h3 {
  margin-bottom:9px;
  font-size:17px;
}

.hcmo01 .cm-custom-row p {
  color:#697579;
  font-size:13px;
  line-height:1.88;
}

/* ==========================================================
   07 | PRODUCT REFERENCE TABLE
   ========================================================== */

.hcmo01 .cm-spec {
  padding:103px 0 111px;
  background:#f3f4f2;
}

.hcmo01 .cm-spec-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  align-items:end;
  gap:60px;
  margin-bottom:40px;
}

.hcmo01 .cm-spec-top .cm-kicker {
  margin-bottom:21px;
}

.hcmo01 .cm-spec-table-wrap {
  min-width:0;
  background:#fff;
}

.hcmo01 .cm-spec-table {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
}

.hcmo01 .cm-spec-table th,
.hcmo01 .cm-spec-table td {
  padding:19px 19px;
  border:0;
  border-bottom:1px solid var(--cm-line);
  text-align:left;
  vertical-align:top;
  line-height:1.83;
}

.hcmo01 .cm-spec-table tr:first-child th,
.hcmo01 .cm-spec-table tr:first-child td {
  border-top:3px solid var(--cm-black);
}

.hcmo01 .cm-spec-table th {
  width:34%;
  color:#283237;
  font-size:13px;
  font-weight:700;
}

.hcmo01 .cm-spec-table td {
  color:#657176;
  font-size:13px;
  overflow-wrap:anywhere;
}

.hcmo01 .cm-spec-table td strong {
  color:#283237;
}

.hcmo01 .cm-table-note {
  display:block;
  margin-top:5px;
  color:#839093;
  font-size:11px;
  line-height:1.7;
}

/* ==========================================================
   08 | BUYER PROJECT PREPARATION
   ========================================================== */

.hcmo01 .cm-planning {
  padding:102px 0 110px;
  background:#fff;
}

.hcmo01 .cm-planning-head {
  max-width:780px;
  margin-bottom:42px;
}

.hcmo01 .cm-planning-head .cm-kicker {
  margin-bottom:20px;
}

.hcmo01 .cm-planning-head .cm-heading {
  margin-bottom:22px;
}

.hcmo01 .cm-planning-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:17px;
}

.hcmo01 .cm-planning-card {
  display:grid;
  grid-template-columns:39px minmax(0,1fr);
  align-items:start;
  gap:16px;
  min-width:0;
  padding:30px 28px 33px;
  background:#f4f5f3;
  border-top:2px solid #e2e5e2;
}

.hcmo01 .cm-planning-card > span {
  color:var(--cm-red);
  font-size:12px;
  font-weight:700;
}

.hcmo01 .cm-planning-card h3 {
  margin-bottom:10px;
  font-size:17px;
}

.hcmo01 .cm-planning-card p {
  color:#687578;
  font-size:13px;
  line-height:1.88;
}

/* ==========================================================
   09 | FINAL INQUIRY CTA
   ========================================================== */

.hcmo01 .cm-final {
  padding:89px 0 94px;
  background:var(--cm-deep);
  color:#fff;
  border-top:5px solid var(--cm-red);
}

.hcmo01 .cm-final-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:55px;
}

.hcmo01 .cm-final .cm-kicker {
  margin-bottom:21px;
  color:#eea4a8;
}

.hcmo01 .cm-final h2 {
  max-width:760px;
  margin-bottom:23px;
  color:#fff;
  font-size:clamp(29px,3.4vw,44px);
  line-height:1.19;
  letter-spacing:-1px;
}

.hcmo01 .cm-final p {
  max-width:710px;
  color:#c6cfd0;
  font-size:14px;
  line-height:1.91;
}

.hcmo01 .cm-final-action {
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

/* ==========================================================
   RESPONSIVE - DESCRIPTION CONTAINER WIDTH
   ========================================================== */

@container hcmo01-page (max-width:970px) {
  .hcmo01 .cm-hero-intro {
    grid-template-columns:minmax(0,1fr);
    gap:26px;
    padding-top:62px;
  }

  .hcmo01 .cm-hero h2 {
    max-width:810px;
    font-size:clamp(38px,5.8cqw,57px);
  }

  .hcmo01 .cm-hero-intro-right {
    max-width:740px;
  }

  .hcmo01 .cm-hero-showcase {
    grid-template-columns:minmax(0,1fr);
  }

  .hcmo01 .cm-hero-photo {
    min-height:0;
    padding:25px;
  }

  .hcmo01 .cm-hero-image img {
    max-height:520px;
  }

  .hcmo01 .cm-hero-feature {
    padding:37px;
  }

  .hcmo01 .cm-hero-feature h3 {
    max-width:670px;
  }
}

@container hcmo01-page (max-width:800px) {
  .hcmo01 .cm-identity-head,
  .hcmo01 .cm-identity-layout,
  .hcmo01 .cm-gallery-head,
  .hcmo01 .cm-detail-layout,
  .hcmo01 .cm-merch-head,
  .hcmo01 .cm-custom-layout,
  .hcmo01 .cm-spec-top {
    grid-template-columns:minmax(0,1fr);
    gap:29px;
  }

  .hcmo01 .cm-identity-highlight {
    padding:29px 32px;
  }

  .hcmo01 .cm-identity-mark {
    height:135px;
    margin-bottom:25px;
  }

  .hcmo01 .cm-merch-grid {
    grid-template-columns:minmax(0,1fr);
  }

  .hcmo01 .cm-merch-card {
    padding:28px;
  }

  .hcmo01 .cm-merch-number {
    margin-bottom:24px;
  }

  .hcmo01 .cm-detail-photo img {
    max-height:470px;
  }

  .hcmo01 .cm-final-layout {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }

  .hcmo01 .cm-final-action {
    justify-content:flex-start;
  }
}

@container hcmo01-page (max-width:660px) {
  .hcmo01 .cm-container {
    width:calc(100% - 40px);
  }

  .hcmo01 .cm-gallery-grid {
    grid-template-columns:minmax(0,1fr);
    gap:19px;
  }

  .hcmo01 .cm-gallery-card {
    grid-template-rows:350px minmax(0,1fr);
  }

  .hcmo01 .cm-gallery-image {
    height:350px;
  }

  .hcmo01 .cm-planning-grid {
    grid-template-columns:minmax(0,1fr);
    gap:13px;
  }
}

@container hcmo01-page (max-width:490px) {
  .hcmo01 .cm-container {
    width:calc(100% - 34px);
  }

  .hcmo01 .cm-heading {
    font-size:29px;
    letter-spacing:-.7px;
  }

  .hcmo01 .cm-copy {
    font-size:14px;
  }

  .hcmo01 .cm-hero-intro {
    padding-top:52px;
    padding-bottom:38px;
  }

  .hcmo01 .cm-hero h2 {
    font-size:clamp(33px,8.5cqw,44px);
    letter-spacing:-1.2px;
  }

  .hcmo01 .cm-hero-intro-right p {
    font-size:14px;
  }

  .hcmo01 .cm-hero-photo {
    padding:14px;
  }

  .hcmo01 .cm-image-caption {
    font-size:9px;
  }

  .hcmo01 .cm-hero-feature {
    padding:30px 23px;
  }

  .hcmo01 .cm-hero-feature h3 {
    font-size:27px;
  }

  .hcmo01 .cm-identity,
  .hcmo01 .cm-gallery,
  .hcmo01 .cm-detail,
  .hcmo01 .cm-merch,
  .hcmo01 .cm-custom,
  .hcmo01 .cm-spec,
  .hcmo01 .cm-planning {
    padding-top:68px;
    padding-bottom:75px;
  }

  .hcmo01 .cm-identity-highlight {
    padding:26px 24px;
  }

  .hcmo01 .cm-identity-highlight h3 {
    font-size:24px;
  }

  .hcmo01 .cm-identity-row {
    gap:12px;
    padding:21px 0;
  }

  .hcmo01 .cm-identity-row h3 {
    font-size:17px;
  }

  .hcmo01 .cm-gallery-card {
    grid-template-rows:285px minmax(0,1fr);
  }

  .hcmo01 .cm-gallery-image {
    height:285px;
    padding:12px;
  }

  .hcmo01 .cm-gallery-body {
    padding:24px 23px 29px;
  }

  .hcmo01 .cm-gallery-body h3 {
    font-size:20px;
  }

  .hcmo01 .cm-detail-photo {
    padding:14px;
  }

  .hcmo01 .cm-detail-row {
    gap:11px;
  }

  .hcmo01 .cm-merch-card {
    padding:26px 23px;
  }

  .hcmo01 .cm-merch-card h3 {
    font-size:18px;
  }

  .hcmo01 .cm-custom-row {
    gap:12px;
    padding:21px 0;
  }

  .hcmo01 .cm-custom-row h3 {
    font-size:16px;
  }

  .hcmo01 .cm-custom-note {
    padding:18px;
  }

  .hcmo01 .cm-spec-table th,
  .hcmo01 .cm-spec-table td {
    padding:15px 10px;
    font-size:12px;
  }

  .hcmo01 .cm-spec-table th {
    width:39%;
  }

  .hcmo01 .cm-planning-card {
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    padding:24px 21px;
  }

  .hcmo01 .cm-final {
    padding:69px 0;
  }

  .hcmo01 .cm-final h2 {
    font-size:29px;
  }

  .hcmo01 .cm-quote.themes_box_inquiry_button_alert {
    width:100% !important;
  }
}

@container hcmo01-page (max-width:380px) {
  .hcmo01 .cm-container {
    width:calc(100% - 28px);
  }

  .hcmo01 .cm-hero h2 {
    font-size:31px;
  }

  .hcmo01 .cm-heading {
    font-size:27px;
  }
}

/* ==========================================================
   VIEWPORT RESPONSIVE FALLBACK
   ========================================================== */

@media (max-width:700px) {
  .hcmo01 .cm-container {
    width:calc(100% - 34px);
  }

  .hcmo01 .cm-hero-intro,
  .hcmo01 .cm-hero-showcase,
  .hcmo01 .cm-identity-head,
  .hcmo01 .cm-identity-layout,
  .hcmo01 .cm-gallery-head,
  .hcmo01 .cm-gallery-grid,
  .hcmo01 .cm-detail-layout,
  .hcmo01 .cm-merch-head,
  .hcmo01 .cm-merch-grid,
  .hcmo01 .cm-custom-layout,
  .hcmo01 .cm-spec-top,
  .hcmo01 .cm-planning-grid,
  .hcmo01 .cm-final-layout {
    grid-template-columns:minmax(0,1fr);
  }

  .hcmo01 .cm-final-action {
    justify-content:flex-start;
  }
}
