/* Unified brand architecture for HT Containers. Keep existing fonts and approved colors. */
:root{--ht-primary:#1F3A4A;--ht-deep:#16262F;--ht-secondary:#4E6470;--ht-bg:#F5F3EE;--ht-orange:#D77A2D;--ht-text:#2B2F33;--ht-border:#D9D6CF}
body{color:var(--ht-text);background:#fff}
.nav{background:#fff!important;box-shadow:none!important;border-bottom:1px solid var(--ht-border)!important}
.navlinks a{color:var(--ht-primary);font-style:normal!important}
.navlinks a:hover{color:var(--ht-orange)}
.logo-mark{background:var(--ht-primary)!important;color:#fff!important}
.cta,.btn{background:var(--ht-orange);border-color:var(--ht-orange)}
.pagehero,.ht-inner-hero,.dh-intro{background:var(--ht-bg)!important}
.section-heading h2,.ht-section-heading h2,.dh-sectionhead h2{color:var(--ht-primary)}
.foot{background:var(--ht-deep)!important;color:#fff}
.foot a,.foot p{color:#dee6e9}
section{scroll-margin-top:95px}
html{scroll-behavior:smooth}
.premium-home em,.premium-home i,.dh-landing em,.ht-section em{font-style:normal!important;font-family:inherit!important}
.premium-home .premium-range,.premium-home .premium-applications,.premium-home .premium-plans{background:#fff!important}
.premium-home .ht-model-section{padding:80px 0}
.premium-home .premium-uses>a,.dh-model,.dh-info{box-shadow:none;border:1px solid var(--ht-border)}
.premium-home .premium-uses img,.dh-visual img,.dh-info img{object-fit:contain}
.dh-modelbody{min-height:320px}
.dh-final{background:var(--ht-primary)}
.ht-inner-hero{padding-top:72px;padding-bottom:70px}
.ht-section{padding-top:76px;padding-bottom:78px}
.editorial-v7{padding:64px 0 72px}
.editorial-v7-soft{background:var(--ht-bg)}

/* Fixed global contact actions */
.ht-floating-action{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));z-index:9999;display:flex;align-items:center;justify-content:center;text-decoration:none!important;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease;background-image:none!important}
.ht-floating-action:hover{transform:translateY(-3px)}
.ht-floating-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ht-floating-whatsapp{left:22px;width:58px;height:58px;border-radius:50%;background:#25D366!important;color:#fff;box-shadow:0 10px 28px rgba(14,55,37,.28)}
.ht-floating-whatsapp svg{width:31px;height:31px;fill:currentColor}
.ht-floating-quote{right:22px;min-height:56px;padding:0 22px;border-radius:999px;background:var(--ht-orange)!important;color:#fff!important;font-size:13px;font-weight:800;letter-spacing:.07em;box-shadow:0 12px 30px rgba(49,37,26,.24);gap:13px;white-space:nowrap}
.ht-floating-quote svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:700px){.nav{min-height:70px}.ht-section{padding:55px 0}.editorial-v7{padding:48px 0}.dh-modelbody{min-height:auto}.ht-floating-action{bottom:max(14px,env(safe-area-inset-bottom))}.ht-floating-whatsapp{left:14px;width:52px;height:52px}.ht-floating-whatsapp svg{width:28px;height:28px}.ht-floating-quote{right:14px;min-height:52px;padding:0 16px;font-size:11px;letter-spacing:.05em;gap:8px}}
@media(max-width:360px){.ht-floating-quote{padding:0 13px;font-size:10px}.ht-floating-quote svg{width:17px;height:17px}}

/* Real expandable project photo gallery */
.ht-real-project-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:260px 260px;gap:14px;margin-top:28px}
.ht-real-project-grid figure{position:relative;margin:0;overflow:hidden;background:#eceae5}
.ht-real-project-grid .ht-real-project-large{grid-row:1/3}
.ht-real-project-grid img{width:100%;height:100%;object-fit:cover;display:block}
.ht-real-project-grid .ht-real-project-large img{object-position:center 58%}
.ht-real-project-grid figure:nth-child(2) img{object-position:center 55%}
.ht-real-project-grid figure:nth-child(3) img{object-position:center 58%}
.ht-real-project-grid figure:nth-child(4) img{object-position:center 52%}
.ht-real-project-grid figure:nth-child(5) img{object-position:center 62%}
.ht-real-project-grid figure:nth-child(6) img{object-position:center 54%}
.ht-real-project-grid figcaption{position:absolute;left:14px;bottom:14px;padding:8px 10px;background:rgba(255,255,255,.95);color:#1F3A4A;font-size:10px;font-weight:700;letter-spacing:.08em}
@media(max-width:820px){.ht-real-project-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 230px 230px}.ht-real-project-grid .ht-real-project-large{grid-column:1/3;grid-row:auto}}
@media(max-width:560px){.ht-real-project-grid{grid-template-columns:1fr;grid-template-rows:320px repeat(5,230px)}.ht-real-project-grid .ht-real-project-large{grid-column:auto}}

/* 2026-10 image safety: product information must never be cropped */
:root{--ht-image-safe-bg:#F5F3EE}

/* Product, model, plan, structure and technical visuals: always show the whole image */
.cr-sizeband-media img,
.cr-decision-media img,
.cr-rail-card img,
.cr-story-media img,
.ht-products-hero-media img,
.ht-type-collection .ex-model-card img,
.ht-type-collection .ht-product-three article>img,
.pl-hero-media>img,
.pl-media img,
.pl-fold-card-media img,
.ex-model-hero-image img,
.ex-model-card img,
.ex-model-nav>a>img,
.ex-layout-list .ex-visual-card>img,
.ex-option-grid .ex-spec-card>img,
.ht-result-product img,
.ht-result-plan img,
.ds-hero-media img,
.ds-feature-image img,
.hp-double-main>img{
  object-fit:contain!important;
  object-position:center!important;
  background:var(--ht-image-safe-bg)!important;
}

/* Never absolutely stretch product hero imagery past its natural frame */
.cr-decision-media img,
.cr-story-media img,
.ht-products-hero-media img{
  position:relative!important;
  inset:auto!important;
}

/* Size-band images are informational product views, not decorative crops */
.cr-sizeband-media{
  align-items:stretch!important;
  background:#fff!important;
}
.cr-sizeband-media img{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  padding:10px!important;
  border:1px solid #E5E2DC!important;
}

/* Product card canvases provide breathing room instead of clipping */
.pl-media,
.ht-result-product,
.ht-result-plan,
.ex-model-hero-image,
.ex-model-card,
.pl-fold-card-media{
  background:var(--ht-image-safe-bg)!important;
}

/* Floor plans and diagrams need extra white margin */
img[src*="layout-source"],
img[src*="floor"],
img[src*="structure"],
img[src*="installation"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  padding:10px!important;
}

/* Double-storey exterior hero must show the complete building */
.ds-hero-media,
.ds-feature-image,
.hp-double-main{
  background:#F5F3EE!important;
}
.ds-hero-media img,
.ds-feature-image img,
.hp-double-main>img{
  object-fit:contain!important;
}

/* On small screens, let informational imagery grow naturally instead of hard-cropping */
@media(max-width:760px){
  .cr-sizeband{grid-template-columns:1fr!important}
  .cr-sizeband-media{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .cr-sizeband-media img,
  .cr-sizeband-media img:first-child{
    grid-row:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
  .pl-media img,
  .ht-result-product img,
  .ht-result-plan img,
  .ex-model-card img,
  .ex-model-nav>a>img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}
