@import url('/hansen-flagship.css');
@import url('/hansen-brandfix.css?v=20261013-3');

/* Hansen Bygg – språk- og typografipolish.
   Prinsipp: aldri automatisk orddeling i overskrifter. Korte norske setninger,
   rolige linjelengder og naturlige brudd på mobil og desktop. */

.premium-v2 h1,
.premium-v2 h2,
.premium-v2 h3,
.premium-v2 .eyebrow,
.premium-v2 .button,
.premium-v2 .text-link,
.premium-v2 .header-cta,
.premium-v2 .desktop-nav a,
.premium-v2 .mobile-nav a,
.premium-v2 .chooser-card strong,
.premium-v2 .approval-grid strong {
  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.premium-v2 h1,
.premium-v2 h2,
.premium-v2 h3 {
  text-wrap: balance;
}

.premium-v2 p,
.premium-v2 li,
.premium-v2 dd,
.premium-v2 small,
.premium-v2 figcaption,
.premium-v2 blockquote {
  -webkit-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: pretty;
}

.premium-v2 .page-hero h1 {
  max-width: 15ch;
}

.premium-v2 .page-hero .page-lead,
.premium-v2 .split-heading > p,
.premium-v2 .section-heading > p {
  max-width: 38rem;
}

.premium-v2 .project-browser__controls h2 {
  max-width: 15ch;
}

.premium-v2 .service-row__copy h2 {
  max-width: 19ch;
}

.premium-v2 .project-card__meta h3 {
  max-width: 24ch;
}

.premium-v2 .contact-card a[href^="mailto:"] {
  overflow-wrap: anywhere !important;
}

/* Skissen skal oppleves som kundens nettside, ikke som interne produksjonsnotater. */
.premium-v2 .contact-card__note,
.premium-v2 .case-hero-media figcaption,
.premium-v2 .story-grid figcaption,
.premium-v2 .craft-grid figcaption,
.premium-v2 .project-card__meta small {
  display: none;
}

.premium-v2 .contact-band h2,
.premium-v2 .craft-copy h2,
.premium-v2 .approval-callout h2,
.premium-v2 .story-grid h2,
.premium-v2 .proposal-intro h2,
.premium-v2 .proposal-difference h2,
.premium-v2 .proposal-value h2,
.premium-v2 .scope-section h2 {
  max-width: 17ch;
}

/* Endelig bilde- og geometri-QA.
   De publiserte Hansen-bildene har svært ulike originalformater. Panoramaer
   forblir panoramaer, og mindre portretter skaleres aldri opp til store flater. */
.premium-v2 .service-row figure {
  align-self: center;
  overflow: hidden;
  background: var(--paper-2);
}
.premium-v2 .service-row figure img {
  width: 100% !important;
  height: 140px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

.premium-v2 .chooser-result {
  min-height: 435px;
  padding-top: 170px;
}
.premium-v2 .chooser-result__media {
  height: 140px;
}
.premium-v2 .chooser-result__media img {
  object-position: center;
}

.premium-v2 .editorial-gallery img {
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.premium-v2 .editorial-gallery figure:nth-child(2) {
  width: min(100%, 500px);
  justify-self: end;
}

.premium-v2 .story-grid {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
}
.premium-v2 .story-grid figure {
  align-self: center;
  width: min(100%, 600px);
}
.premium-v2 .story-grid figure:has(> img[src*="Erik-Hansen-702219.jpg"]) {
  aspect-ratio: 600 / 426;
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/HVEM-VI-ER-775295.jpg') center / cover no-repeat;
}
.premium-v2 .story-grid figure:has(> img[src*="Erik-Hansen-702219.jpg"]) > img {
  width: 100%;
  height: auto !important;
  aspect-ratio: 600 / 426;
  opacity: 0;
}

.premium-v2 .team-card img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover;
  object-position: center top;
}

.premium-v2 .craft-grid {
  grid-template-columns: minmax(280px, 520px) minmax(0, 1fr);
}
.premium-v2 .craft-grid figure {
  width: min(100%, 520px);
}
.premium-v2 .craft-grid figure img {
  width: 100%;
  height: auto !important;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

/* Høyoppløste originaler brukes visuelt der den eksisterende DOM-kilden er en
   web-/small-variant. Det semantiske img-elementet beholdes for alt-tekst. */
.premium-v2 .home-hero__media {
  background-color: #f4f3ef;
  background-image: url('https://files.expub.net/Content/Archive/599/Vestheiveien_12-401655.jpg');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: min(69vw, 1000px) auto;
}
.premium-v2 .home-hero__media > img {
  opacity: 0;
}

.premium-v2 figure:has(> img[src*="small/l_2016430125-448826.jpg"]) {
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/8116_1-448809.jpg') center / cover no-repeat;
}
.premium-v2 figure:has(> img[src*="small/l_2016430125-448826.jpg"]) > img {
  opacity: 0;
}

.premium-v2 .project-card figure:has(> img[src*="/web/Vestheiveien_12-401655.jpg"]) {
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/Vestheiveien_12-401655.jpg') center / cover no-repeat;
}
.premium-v2 .project-card figure:has(> img[src*="/web/IMG_8315-401658.jpg"]) {
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/IMG_8315-401658.jpg') center / cover no-repeat;
}
.premium-v2 .project-card figure:has(> img[src*="/web/Bv6-LR-2-775308.jpg"]) {
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/Bv6-LR-2-775308.jpg') center / cover no-repeat;
}
.premium-v2 .project-card figure:has(> img[src*="/web/ABA7-LR-775310.jpg"]) {
  background: #e9e7e0 url('https://files.expub.net/Content/Archive/599/ABA7-LR-775310.jpg') center / cover no-repeat;
}
.premium-v2 .project-card figure:has(> img[src*="/web/Vestheiveien_12-401655.jpg"]) > img,
.premium-v2 .project-card figure:has(> img[src*="/web/IMG_8315-401658.jpg"]) > img,
.premium-v2 .project-card figure:has(> img[src*="/web/Bv6-LR-2-775308.jpg"]) > img,
.premium-v2 .project-card figure:has(> img[src*="/web/ABA7-LR-775310.jpg"]) > img {
  opacity: 0;
}

@media (max-width: 980px) {
  .premium-v2 .home-hero__media {
    background-size: cover;
    background-position: center 47%;
  }
}

@media (max-width: 820px) {
  .premium-v2 .page-hero h1 {
    max-width: 16ch;
  }

  .premium-v2 .split-heading h2,
  .premium-v2 .section-heading h2 {
    max-width: 16ch;
  }

  .premium-v2 .story-grid,
  .premium-v2 .craft-grid {
    grid-template-columns: 1fr;
  }
  .premium-v2 .story-grid figure,
  .premium-v2 .craft-grid figure {
    justify-self: start;
  }
  .premium-v2 .editorial-gallery figure:nth-child(2) {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .premium-v2 .chooser-result {
    min-height: 420px;
    padding: 165px 1.6rem 2rem;
  }
  .premium-v2 .chooser-result__media {
    height: 140px;
  }
}

@media (max-width: 560px) {
  .premium-v2 .page-hero h1 {
    font-size: clamp(2.2rem, 10.5vw, 2.85rem);
    line-height: 1.04;
    letter-spacing: -0.035em;
  }

  .premium-v2 h2,
  .premium-v2 .service-row__copy h2 {
    font-size: clamp(2rem, 9.5vw, 2.55rem);
    line-height: 1.06;
    letter-spacing: -0.03em;
  }

  .premium-v2 .project-browser__controls h2 {
    max-width: 13.5ch;
  }

  .premium-v2 .chooser-result h3 {
    font-size: clamp(1.8rem, 8.5vw, 2.25rem);
    line-height: 1.08;
  }

  .premium-v2 .hero-lead,
  .premium-v2 .page-lead,
  .premium-v2 .split-heading > p,
  .premium-v2 .section-heading > p {
    line-height: 1.55;
  }

  .premium-v2 .service-row figure img {
    height: 120px !important;
  }
  .premium-v2 .story-grid figure,
  .premium-v2 .craft-grid figure {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .premium-v2 .page-hero h1 {
    font-size: 2.15rem;
  }

  .premium-v2 h2,
  .premium-v2 .service-row__copy h2 {
    font-size: 1.95rem;
  }
}

