
    /* =====================================================================
       FARGER & STRØK — EDITORIAL PREMIUM
       Inspirert av Cereal Magazine, Aesop, Apartamento, nordiske arkitektkontor
       ===================================================================== */

    :root{
      --paper:        #F5EDD8;
      --paper-deep:   #EDE2C7;
      --paper-soft:   #FAF3E1;
      --ink:          #1B2D3D;
      --ink-soft:     #4A5C6E;
      --ink-fade:     #8A9AA9;
      --rule:         rgba(27, 45, 61, 0.18);
      --rule-soft:    rgba(27, 45, 61, 0.10);
      --terra:        #C45A2B;
      --terra-deep:   #9B4520;
      --sage:         #8FA98F;
      --night:        #14202B;

      --font-display: "Fraunces", Georgia, "Times New Roman", serif;
      --font-body:    "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;

      --max:          1240px;
      --gutter:       clamp(1.25rem, 3vw, 2.5rem);
    }

    *{ margin:0; padding:0; box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      font-family:var(--font-body);
      font-weight:400; font-size:16px; line-height:1.6;
      color:var(--ink);
      background:var(--paper);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      font-feature-settings:"ss01","cv11","ss03","liga","kern";
    }
    img{ max-width:100%; display:block; }
    a{ color:inherit; text-decoration:none; }
    button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
    input, select, textarea{ font-family:inherit; font-size:inherit; color:inherit; }

    .wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter); }

    /* ── shared editorial type ─────────────────────────────── */
    .eyebrow{
      display:inline-flex; align-items:center; gap:0.6rem;
      font-family:var(--font-body); font-size:0.7rem; font-weight:500;
      letter-spacing:0.18em; text-transform:uppercase;
      color:var(--ink-soft);
    }
    .eyebrow::before{
      content:""; width:24px; height:1px; background:var(--ink-soft); display:inline-block;
    }
    .eyebrow.center{ justify-content:center; }
    .eyebrow.center::before{ display:none; }

    .display{
      font-family:var(--font-display); font-weight:400;
      line-height:1.04; letter-spacing:-0.012em;
      color:var(--ink);
    }
    .display em{ font-style:italic; font-weight:300; color:var(--terra); }
    .display .br{ display:block; }

    .subhead{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(1.6rem, 2.6vw, 2.4rem); line-height:1.18;
      letter-spacing:-0.005em; color:var(--ink); max-width:28ch;
    }
    .subhead em{ font-style:italic; color:var(--terra); }

    .lede{
      font-size:1.05rem; line-height:1.65; color:var(--ink-soft);
      max-width:54ch;
    }
    .meta{
      font-family:var(--font-body); font-size:0.8rem; letter-spacing:0.02em;
      color:var(--ink-fade);
    }

    /* ── horizontal hairline rule with side label (editorial signature) ── */
    .rule-row{
      display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:center;
      margin-bottom:2.4rem;
    }
    .rule-row .eyebrow{ white-space:nowrap; }
    .rule-row .rule{ height:1px; background:var(--rule); }

    /* ─────────────────────────────────────────────────────────
       NAV — minimalt, sticky, krymper på scroll
       ───────────────────────────────────────────────────────── */
    header.site{
      position:sticky; top:0; z-index:50;
      background:rgba(245, 237, 216, 0.86);
      backdrop-filter:blur(14px) saturate(140%);
      border-bottom:1px solid transparent;
      transition:padding 0.25s ease, border-color 0.25s ease;
    }
    header.site.scrolled{ border-bottom-color:var(--rule-soft); }
    .site-inner{
      max-width:var(--max); margin:0 auto; padding:1.4rem var(--gutter);
      display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; align-items:center;
      transition:padding 0.25s ease;
    }
    header.site.scrolled .site-inner{ padding-top:0.95rem; padding-bottom:0.95rem; }
    .brand{ display:flex; align-items:center; gap:0.85rem; }
    .brand-img{
      width:48px; height:48px; flex-shrink:0;
      transition:transform 0.4s ease;
    }
    header.site.scrolled .brand-img{ width:42px; height:42px; }
    .brand-text{ display:flex; flex-direction:column; line-height:1.05; }
    .brand-mark{
      font-family:var(--font-display); font-weight:500; font-size:1.25rem;
      letter-spacing:-0.005em; color:var(--ink);
    }
    .brand-tag{
      font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase;
      color:var(--ink-fade); margin-top:0.25rem;
    }
    nav.primary ul{
      list-style:none; display:flex; justify-content:center; gap:2rem;
    }
    nav.primary a{
      font-size:0.86rem; letter-spacing:0.02em;
      color:var(--ink); position:relative; padding:0.2rem 0;
    }
    nav.primary a::after{
      content:""; position:absolute; left:0; right:100%; bottom:-2px; height:1px;
      background:var(--terra); transition:right 0.25s ease;
    }
    nav.primary a:hover{ color:var(--terra); }
    nav.primary a:hover::after{ right:0; }
    .nav-right{ display:flex; align-items:center; gap:1.5rem; }
    .nav-phone{
      display:flex; flex-direction:column; align-items:flex-end; line-height:1.05;
    }
    .nav-phone strong{
      font-family:var(--font-display); font-weight:500; font-size:1.1rem; color:var(--ink);
    }
    .nav-phone span{
      font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-fade);
      margin-top:0.15rem;
    }
    .menu-btn{ display:none; }

    /* ─────────────────────────────────────────────────────────
       LOGO BANNER — fremhevet logo over hero
       ───────────────────────────────────────────────────────── */
    .logo-banner{
      padding:clamp(1.4rem, 3vw, 2.4rem) 0 clamp(0.8rem, 2vw, 1.6rem);
      display:flex; flex-direction:column; align-items:center; gap:0.7rem;
      text-align:center;
      border-bottom:1px solid var(--rule-soft);
      background:radial-gradient(ellipse at top, rgba(196,90,43,0.06), transparent 60%);
    }
    .logo-banner-img{
      width:clamp(110px, 14vw, 170px); height:auto;
      filter:drop-shadow(0 6px 18px rgba(27, 45, 61, 0.12));
      transition:transform 0.5s cubic-bezier(.2,.7,.2,1);
    }
    .logo-banner-img:hover{ transform:scale(1.03) rotate(-1deg); }
    .logo-banner-tagline{
      font-family:var(--font-display); font-style:italic; font-weight:300;
      font-size:clamp(0.95rem, 1.4vw, 1.15rem);
      color:var(--ink-soft); letter-spacing:0.01em;
      max-width:42ch;
    }
    @media (max-width: 600px){
      .logo-banner{ padding:1.2rem 0 0.8rem; }
    }

    /* ─────────────────────────────────────────────────────────
       HERO — two-column editorial w/ live mini-calc
       ───────────────────────────────────────────────────────── */
    .hero{ padding:clamp(2rem, 5vw, 4.5rem) 0 clamp(4rem, 8vw, 7rem); }
    .hero-grid{
      display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
      gap:clamp(2rem, 5vw, 4.5rem); align-items:end;
    }
    .hero-text{ padding-top:0.5rem; }
    .hero h1.display{
      font-size:clamp(2.6rem, 6.2vw, 5.4rem);
      margin-top:1.6rem;
    }
    .hero .lede{ margin-top:1.8rem; }
    .hero-meta-strip{
      margin-top:2.4rem; padding-top:1.4rem;
      border-top:1px solid var(--rule);
      display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem;
    }
    .hero-stat{
      display:flex; flex-direction:column; gap:0.25rem;
    }
    .hero-stat .num{
      font-family:var(--font-display); font-weight:500; font-size:1.6rem;
      color:var(--ink); letter-spacing:-0.01em;
    }
    .hero-stat .lbl{
      font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-fade);
    }

    /* ── live mini-calc card ─────────────────────────────── */
    .mini-calc{
      background:var(--paper-soft);
      border:1px solid var(--rule);
      padding:clamp(1.6rem, 2.5vw, 2.4rem);
      position:relative;
    }
    .mini-calc::before{
      content:"01"; position:absolute; top:-0.7rem; left:1.2rem;
      background:var(--paper); padding:0 0.5rem;
      font-family:var(--font-display); font-style:italic; font-weight:300; font-size:0.95rem;
      color:var(--ink-fade); letter-spacing:0.04em;
    }
    .mini-calc-head{
      display:flex; justify-content:space-between; align-items:baseline;
      padding-bottom:1rem; margin-bottom:1.4rem; border-bottom:1px solid var(--rule);
    }
    .mini-calc-head .ttl{
      font-family:var(--font-display); font-weight:500; font-size:1.15rem;
      letter-spacing:-0.005em;
    }
    .mini-calc-head .sub{
      font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-fade);
    }
    .mini-fields{
      display:grid; grid-template-columns:repeat(3, 1fr); gap:0.8rem;
      margin-bottom:1.4rem;
    }
    .mini-field{ position:relative; }
    .mini-field label{
      display:block; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); margin-bottom:0.45rem;
    }
    .mini-field input{
      width:100%; background:transparent; border:none; border-bottom:1.5px solid var(--ink);
      padding:0.5rem 1.4rem 0.5rem 0; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.6rem;
      letter-spacing:-0.01em; color:var(--ink);
    }
    .mini-field input::placeholder{ color:var(--ink-fade); font-weight:300; }
    .mini-field input:focus{ border-bottom-color:var(--terra); }
    .mini-field .u{
      position:absolute; right:0; bottom:0.55rem;
      font-size:0.85rem; color:var(--ink-fade); pointer-events:none;
    }
    .mini-incl{
      font-size:0.78rem; color:var(--ink-soft); padding:0.7rem 0;
      border-top:1px dashed var(--rule); border-bottom:1px dashed var(--rule);
      margin-bottom:1.2rem; display:flex; gap:0.5rem; flex-wrap:wrap;
    }
    .mini-incl span{ display:inline-block; }
    .mini-incl .dot{
      display:inline-block; width:4px; height:4px; background:var(--terra); border-radius:50%;
      margin:0 0.4rem; vertical-align:middle;
    }
    /* Tease-panel — replaces the live price preview. Sends visitors to the full calculator. */
    .mini-tease{
      display:flex; align-items:center; gap:0.9rem;
      background:rgba(196, 90, 43, 0.06);
      border:1px dashed rgba(196, 90, 43, 0.35);
      padding:0.95rem 1rem;
      margin-bottom:1.1rem;
      transition:background 0.25s ease, border-color 0.25s ease;
    }
    .mini-tease.ready{
      background:rgba(196, 90, 43, 0.12);
      border-color:rgba(196, 90, 43, 0.6);
      border-style:solid;
    }
    .mini-tease-icon{
      font-family:var(--font-display); font-size:1.35rem; line-height:1;
      color:var(--terra); width:30px; height:30px; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      border:1.5px solid var(--terra); border-radius:50%;
      animation:miniTeaseBounce 1.6s ease-in-out infinite;
    }
    @keyframes miniTeaseBounce{
      0%, 100%{ transform:translateY(0); }
      50%{ transform:translateY(3px); }
    }
    .mini-tease-title{
      font-family:var(--font-display); font-weight:500; font-size:1rem;
      color:var(--ink); letter-spacing:-0.005em; line-height:1.2;
    }
    .mini-tease-sub{
      font-size:0.78rem; color:var(--ink-soft); line-height:1.4; margin-top:0.15rem;
    }
    .mini-cta{
      display:flex; gap:0.6rem; flex-wrap:wrap; align-items:center;
    }
    .mini-fwd-btn{
      flex:1; justify-content:center; padding:1rem 1.4rem !important;
      font-size:0.95rem !important; letter-spacing:0.05em;
    }
    .btn-fill{
      display:inline-flex; align-items:center; gap:0.55rem;
      background:var(--ink); color:var(--paper);
      padding:0.95rem 1.4rem; font-size:0.85rem; font-weight:500;
      letter-spacing:0.04em; transition:background 0.2s ease;
    }
    .btn-fill:hover{ background:var(--terra-deep); }
    .btn-fill .arr{ font-family:var(--font-display); font-style:italic; }
    .btn-line{
      display:inline-flex; align-items:center; gap:0.5rem;
      padding:0.95rem 1rem; font-size:0.85rem;
      letter-spacing:0.04em; color:var(--ink); position:relative;
    }
    .btn-line::after{
      content:""; position:absolute; left:1rem; right:1rem; bottom:0.6rem; height:1px;
      background:var(--ink); transform:scaleX(0.7); transform-origin:left;
      transition:transform 0.2s ease;
    }
    .btn-line:hover::after{ transform:scaleX(1); }

    /* ─────────────────────────────────────────────────────────
       PROSJEKTER — editorial gallery
       ───────────────────────────────────────────────────────── */
    section.work{ padding:clamp(4rem, 7vw, 7rem) 0; }
    .work-head{
      display:grid; grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);
      gap:clamp(2rem, 4vw, 4rem); align-items:end; margin-bottom:3.5rem;
    }
    .work-head .right .lede{ margin-top:1rem; }
    .grid-3{
      display:grid; grid-template-columns:repeat(3, 1fr);
      gap:clamp(1.4rem, 3vw, 2.4rem) clamp(1.2rem, 2.4vw, 2rem);
    }
    .project{
      display:flex; flex-direction:column; gap:1rem;
    }
    .project .img{
      width:100%; aspect-ratio:4/5; overflow:hidden; background:var(--paper-deep);
      position:relative;
    }
    .project.wide .img{ aspect-ratio:16/11; }
    .project .img img{
      width:100%; height:100%; object-fit:cover;
      transition:transform 1.4s cubic-bezier(.2,.7,.2,1);
    }
    .project:hover .img img{ transform:scale(1.04); }
    .project .meta-line{
      display:flex; justify-content:space-between; align-items:baseline;
      font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); padding-top:0.5rem;
    }
    .project h3{
      font-family:var(--font-display); font-weight:400; font-size:1.45rem;
      letter-spacing:-0.005em; color:var(--ink); line-height:1.2;
    }
    .project h3 em{ font-style:italic; color:var(--terra); }
    .project .desc{ color:var(--ink-soft); font-size:0.92rem; }

    /* ── pakker / fra-priser ── */
    section.tiers{
      padding:clamp(4rem, 7vw, 6rem) 0;
      background:var(--paper-deep);
      border-top:1px solid var(--rule);
    }
    .tiers-head{
      display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:clamp(2rem, 4vw, 4rem); align-items:end; margin-bottom:3rem;
    }
    .tiers-head h2{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.1;
      max-width:18ch;
    }
    .tiers-head h2 em{ font-style:italic; color:var(--terra); }
    .tier-grid{
      display:grid; grid-template-columns:repeat(3, 1fr); gap:1.4rem;
    }
    .tier{
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:2rem; display:flex; flex-direction:column;
      transition:transform 0.3s ease, border-color 0.3s ease;
    }
    .tier:hover{ transform:translateY(-3px); border-color:var(--terra); }
    .tier.featured{ border-color:var(--terra); position:relative; }
    .tier.featured::before{
      content:"Mest valgt"; position:absolute; top:-0.7rem; left:1.5rem;
      background:var(--terra); color:var(--paper);
      padding:0.3rem 0.7rem; font-size:0.66rem; font-weight:600;
      letter-spacing:0.16em; text-transform:uppercase;
    }
    .tier-eyebrow{
      font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase;
      color:var(--ink-fade); font-weight:600;
    }
    .tier h3{
      font-family:var(--font-display); font-weight:500; font-size:1.5rem;
      letter-spacing:-0.005em; margin-top:0.5rem; line-height:1.15;
    }
    .tier h3 em{ font-style:italic; color:var(--terra); }
    .tier-price{
      margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--rule);
      display:flex; align-items:baseline; gap:0.6rem;
    }
    .tier-price .from{
      font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase;
      color:var(--ink-fade);
    }
    .tier-price .num{
      font-family:var(--font-display); font-weight:500; font-size:2.2rem;
      color:var(--ink); letter-spacing:-0.015em; line-height:1;
    }
    .tier-price .num em{ font-style:italic; color:var(--terra); }
    .tier-price .unit{
      font-size:0.85rem; color:var(--ink-fade);
    }
    .tier ul{
      list-style:none; margin-top:1.4rem; display:grid; gap:0.55rem;
      flex:1;
    }
    .tier ul li{
      display:flex; gap:0.6rem; font-size:0.92rem; color:var(--ink-soft);
    }
    .tier ul li::before{
      content:"·"; color:var(--terra); font-weight:700;
    }
    .tier-cta{
      margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid var(--rule);
      display:inline-flex; align-items:center; gap:0.6rem;
      font-size:0.85rem; font-weight:500; color:var(--terra);
    }
    .tier-cta .arr{ font-family:var(--font-display); font-style:italic; }
    .tier-cta:hover{ color:var(--terra-deep); }
    .tier-foot{
      margin-top:2.4rem; text-align:center; color:var(--ink-soft);
      font-size:0.92rem;
    }
    .tier-foot a{ color:var(--terra); border-bottom:1px solid var(--terra); }

    /* ── projects: compact thumbnail grid ── */
    .projects-stack{
      display:grid; grid-template-columns:repeat(3, 1fr);
      gap:clamp(1.4rem, 2.4vw, 2rem);
    }
    @media (max-width: 900px){
      .projects-stack{ grid-template-columns:repeat(2, 1fr); gap:1.2rem; }
    }
    @media (max-width: 600px){
      .projects-stack{ grid-template-columns:1fr; gap:1rem; }
    }
    .pj-card{
      cursor:pointer; outline:none;
      background:var(--paper-soft); border:1px solid var(--rule);
      display:flex; flex-direction:column;
      transition:transform 0.35s cubic-bezier(.2,.7,.2,1), box-shadow 0.35s ease, border-color 0.25s ease;
    }
    .pj-card:hover, .pj-card:focus-visible{
      transform:translateY(-3px);
      border-color:rgba(196, 90, 43, 0.35);
      box-shadow:0 14px 36px rgba(27, 45, 61, 0.10);
    }
    .pj-card:focus-visible{ outline:2px solid var(--terra); outline-offset:2px; }
    .pj-thumb{
      position:relative; aspect-ratio:4/3; overflow:hidden;
      display:grid; gap:2px; background:var(--ink);
    }
    .pj-thumb.one{ grid-template-columns:1fr; }
    .pj-thumb.two{ grid-template-columns:1fr 1fr; }
    .pj-thumb-cell{
      position:relative; overflow:hidden; background:var(--paper-deep);
    }
    .pj-thumb-cell img, .pj-thumb-cell video{
      width:100%; height:100%; object-fit:cover; display:block;
      transition:transform 0.6s cubic-bezier(.2,.7,.2,1);
    }
    .pj-card:hover .pj-thumb-cell img{ transform:scale(1.04); }
    .pj-tag{
      position:absolute; top:0.7rem; left:0.7rem; z-index:2;
      padding:0.28rem 0.6rem;
      font-size:0.6rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--paper); background:rgba(20, 32, 43, 0.78);
      backdrop-filter:blur(6px);
    }
    .pj-tag.f{ background:rgba(155, 69, 32, 0.88); }   /* før */
    .pj-tag.u{ background:rgba(140, 110, 50, 0.85); }  /* under */
    .pj-tag.e{ background:rgba(20, 32, 43, 0.82); }    /* etter */
    .pj-tag.v{ background:rgba(20, 32, 43, 0.82); }    /* video */

    /* hover overlay on thumbnail */
    .pj-thumb-overlay{
      position:absolute; inset:0; z-index:3;
      display:flex; align-items:center; justify-content:center;
      flex-direction:column; gap:0.4rem;
      background:rgba(27, 45, 61, 0.42);
      color:var(--paper);
      opacity:0; transition:opacity 0.25s ease;
      pointer-events:none;
    }
    .pj-card:hover .pj-thumb-overlay,
    .pj-card:focus-visible .pj-thumb-overlay{ opacity:1; }
    .pj-overlay-icon{
      font-size:1.5rem; line-height:1;
      font-family:var(--font-display);
    }
    .pj-overlay-label{
      font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase;
      font-weight:500;
    }
    @media (hover: none){
      .pj-thumb-overlay{
        opacity:1;
        background:linear-gradient(to top, rgba(27, 45, 61, 0.55) 0%, transparent 60%);
        justify-content:flex-end; padding-bottom:0.7rem;
      }
      .pj-overlay-icon{ display:none; }
    }

    .pj-meta{
      padding:0.95rem 1.1rem 1.1rem;
      display:flex; flex-direction:column; gap:0.5rem;
    }
    .pj-meta-top{
      display:flex; align-items:center; justify-content:space-between;
      font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase;
      color:var(--ink-fade);
    }
    .pj-num{
      font-family:var(--font-display); font-style:italic; font-weight:300;
      letter-spacing:0.04em; text-transform:none; font-size:0.85rem;
    }
    .pj-loc{ color:var(--terra); font-weight:600; }
    .pj-title{
      font-family:var(--font-display); font-weight:400;
      font-size:1.05rem; line-height:1.25; color:var(--ink);
      letter-spacing:-0.005em;
    }
    .pj-title em{ font-style:italic; color:var(--terra); }

    /* ── lightbox modal ── */
    .lightbox{
      position:fixed; inset:0; z-index:200;
      display:none; align-items:stretch; justify-content:center;
    }
    .lightbox.open{ display:flex; }
    .lb-backdrop{
      position:absolute; inset:0; background:rgba(15, 22, 30, 0.88);
      backdrop-filter:blur(8px);
    }
    .lb-shell{
      position:relative; z-index:1;
      width:100%; max-width:1400px; margin:auto;
      padding:clamp(1rem, 3vw, 2.5rem);
      display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr);
      gap:clamp(1.2rem, 3vw, 2.2rem); align-items:stretch;
      max-height:100vh;
    }
    @media (max-width: 900px){
      .lb-shell{ grid-template-columns:1fr; padding:1rem; }
    }
    .lb-stage-wrap{
      position:relative; background:#0F161D; overflow:hidden;
      display:flex; align-items:center; justify-content:center;
      min-height:0; aspect-ratio:4/3;
    }
    .lb-stage{
      display:flex; width:100%; height:100%;
      transition:transform 0.5s cubic-bezier(.2,.7,.2,1);
      touch-action:pan-y;
    }
    .lb-slide{
      flex:0 0 100%; position:relative; display:flex;
      align-items:center; justify-content:center;
    }
    .lb-slide img, .lb-slide video{
      max-width:100%; max-height:100%; object-fit:contain; display:block;
    }
    .lb-tag{
      position:absolute; top:1rem; left:1rem; z-index:2;
      padding:0.3rem 0.7rem;
      font-size:0.65rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--paper); background:rgba(20, 32, 43, 0.85);
      backdrop-filter:blur(6px);
      font-family:var(--font-body);
    }
    .lb-tag.f{ background:rgba(155, 69, 32, 0.88); }
    .lb-tag.u{ background:rgba(140, 110, 50, 0.85); }
    .lb-tag.e{ background:rgba(20, 32, 43, 0.85); }
    .lb-tag.v{ background:rgba(20, 32, 43, 0.85); }

    .lb-arrow{
      position:absolute; top:50%; transform:translateY(-50%);
      width:48px; height:48px; display:flex; align-items:center; justify-content:center;
      background:rgba(245, 237, 216, 0.94); color:var(--ink);
      cursor:pointer; z-index:3;
      font-family:var(--font-display); font-size:1.6rem; font-weight:500;
      border:1px solid rgba(245, 237, 216, 0.3);
      transition:background 0.2s ease, transform 0.2s ease;
    }
    .lb-arrow:hover{ background:var(--paper); transform:translateY(-50%) scale(1.05); }
    .lb-arrow.prev{ left:1rem; }
    .lb-arrow.next{ right:1rem; }
    @media (max-width: 600px){
      .lb-arrow{ width:40px; height:40px; font-size:1.3rem; }
      .lb-arrow.prev{ left:0.5rem; } .lb-arrow.next{ right:0.5rem; }
    }
    .lb-counter{
      position:absolute; bottom:1rem; right:1rem; z-index:3;
      font-family:var(--font-display); font-weight:500; font-size:0.9rem;
      color:var(--paper); background:rgba(20, 32, 43, 0.78);
      padding:0.35rem 0.8rem;
      letter-spacing:0.05em;
    }

    .lb-close{
      position:absolute; top:1.2rem; right:1.4rem; z-index:5;
      width:42px; height:42px; border-radius:50%;
      background:rgba(245, 237, 216, 0.16); color:var(--paper);
      cursor:pointer; font-size:1.6rem; line-height:1;
      display:flex; align-items:center; justify-content:center;
      transition:background 0.2s ease, transform 0.2s ease;
      backdrop-filter:blur(6px);
    }
    .lb-close:hover{ background:rgba(245, 237, 216, 0.28); transform:rotate(90deg); }

    .lb-meta{
      background:rgba(245, 237, 216, 0.04); color:var(--paper);
      padding:clamp(1.4rem, 2.5vw, 2rem); overflow-y:auto;
      border:1px solid rgba(245, 237, 216, 0.12);
    }
    .lb-meta-top{
      display:flex; align-items:center; justify-content:space-between;
      font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.55); margin-bottom:1rem;
    }
    .lb-num{
      font-family:var(--font-display); font-style:italic; font-weight:300;
      font-size:0.95rem; letter-spacing:0.04em; text-transform:none;
    }
    .lb-loc{ color:#E8B98E; font-weight:600; }
    .lb-title{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(1.4rem, 2.4vw, 1.9rem); line-height:1.2;
      letter-spacing:-0.005em; margin-bottom:1rem;
    }
    .lb-title em{ font-style:italic; color:#E8B98E; }
    .lb-desc{
      font-size:0.95rem; line-height:1.7;
      color:rgba(245, 237, 216, 0.85);
    }
    .lb-stats{
      margin-top:1.4rem; padding-top:1.2rem;
      border-top:1px solid rgba(245, 237, 216, 0.18);
      display:flex; flex-direction:column; gap:0.9rem;
    }
    .lb-stat{ display:flex; flex-direction:column; gap:0.25rem; }
    .lb-stat .lbl{
      font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.5);
    }
    .lb-stat .val{
      font-family:var(--font-display); font-weight:500;
      font-size:1.05rem; color:var(--paper);
    }

    /* ── trust-strip (Mittanbud, forsikring, org.nr) ── */
    .trust-strip{
      padding:1.4rem 0; background:var(--paper-deep);
      border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
    }
    .trust-strip .wrap{
      display:flex; flex-wrap:wrap; gap:1.4rem 2.5rem;
      align-items:center; justify-content:center;
    }
    .trust-item{
      display:flex; align-items:center; gap:0.6rem;
      font-size:0.78rem; letter-spacing:0.02em; color:var(--ink-soft);
    }
    .trust-item .ico{
      width:24px; height:24px; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      color:var(--terra); font-size:1rem; font-weight:700;
    }
    .trust-item strong{ color:var(--ink); font-weight:500; }

    /* ── service area + sammenligning ── */
    section.service-compare{
      padding:clamp(5rem, 8vw, 8rem) 0;
    }
    .sc-grid{
      display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:clamp(2rem, 4vw, 4rem);
    }
    .area-card{
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:clamp(1.6rem, 3vw, 2.4rem);
    }
    .area-card h3{
      font-family:var(--font-display); font-weight:400; font-size:1.6rem;
      margin-top:0.7rem; line-height:1.2; max-width:18ch;
    }
    .area-card h3 em{ font-style:italic; color:var(--terra); }
    .area-card p{ color:var(--ink-soft); margin-top:1rem; line-height:1.7; }
    .area-svg{
      margin-top:1.5rem; width:100%; height:auto;
      max-height:280px; display:block;
    }
    .area-map{
      margin-top:1.5rem; width:100%; height:340px;
      border:1px solid var(--rule); background:var(--paper-deep);
      position:relative; z-index:1;
    }
    .area-map .leaflet-container{ background:#EAE0C4; font-family:var(--font-body); }
    .area-map .leaflet-popup-content-wrapper{
      background:var(--ink); color:var(--paper); border-radius:2px;
      box-shadow:0 8px 24px rgba(27, 45, 61, 0.25);
    }
    .area-map .leaflet-popup-tip{ background:var(--ink); }
    .area-map .leaflet-popup-content{
      font-family:var(--font-body); font-size:0.78rem; margin:0.55rem 0.85rem;
      letter-spacing:0.02em;
    }
    .area-map .leaflet-control-attribution{
      background:rgba(245, 237, 216, 0.75); font-size:9px;
    }
    @media (max-width: 600px){
      .area-map{ height:260px; }
    }
    .area-locations{
      margin-top:1.4rem; display:flex; flex-wrap:wrap; gap:0.5rem;
    }
    .loc-chip{
      padding:0.4rem 0.8rem; background:var(--paper-deep);
      border:1px solid var(--rule);
      font-size:0.78rem; color:var(--ink); letter-spacing:0.02em;
    }
    .loc-chip.muted{ color:var(--ink-fade); }

    .compare-card{
      background:var(--ink); color:var(--paper);
      padding:clamp(1.6rem, 3vw, 2.4rem);
    }
    .compare-card .eyebrow{
      color:rgba(245, 237, 216, 0.7);
    }
    .compare-card .eyebrow::before{ background:rgba(245, 237, 216, 0.4); }
    .compare-card h3{
      font-family:var(--font-display); font-weight:400; font-size:1.6rem;
      margin-top:0.7rem; line-height:1.2; color:var(--paper); max-width:24ch;
    }
    .compare-card h3 em{ font-style:italic; color:#E8B98E; }
    .compare-card .lede{
      color:rgba(245, 237, 216, 0.75); margin-top:1rem; line-height:1.7;
    }
    .compare-table{
      margin-top:1.6rem; border-top:1px solid rgba(245, 237, 216, 0.18);
    }
    .compare-row{
      display:grid; grid-template-columns:1fr auto auto;
      gap:1rem; padding:0.9rem 0;
      border-bottom:1px solid rgba(245, 237, 216, 0.12);
      font-size:0.88rem;
      align-items:center;
    }
    .compare-row .what{ color:rgba(245, 237, 216, 0.85); }
    .compare-row .v{
      width:90px; text-align:center;
      font-family:var(--font-display); font-style:italic; font-size:1rem;
    }
    .compare-row .v.us{ color:#E8B98E; }
    .compare-row .v.them{ color:rgba(245, 237, 216, 0.4); }
    .compare-head{
      display:grid; grid-template-columns:1fr 90px 90px;
      gap:1rem; padding:0.6rem 0;
      font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.5);
    }
    .compare-head .c{ text-align:center; }
    .compare-foot{
      margin-top:1.4rem; padding-top:1rem; border-top:1px solid rgba(245, 237, 216, 0.18);
      display:flex; flex-wrap:wrap; gap:0.7rem; align-items:center;
    }

    /* ── why-list (Hvorfor velge oss) ── */
    .why-list{
      list-style:none; margin-top:1.6rem; padding:0;
      border-top:1px solid rgba(245, 237, 216, 0.18);
    }
    .why-item{
      display:grid; grid-template-columns:auto 1fr;
      gap:1.1rem; padding:1.1rem 0;
      border-bottom:1px solid rgba(245, 237, 216, 0.12);
      align-items:start;
    }
    .why-item .why-num{
      font-family:var(--font-display); font-style:italic;
      font-size:0.95rem; color:#E8B98E; letter-spacing:0.02em;
      padding-top:0.18rem; min-width:42px;
    }
    .why-item .why-body h4{
      font-family:var(--font-display); font-weight:500;
      font-size:1.05rem; color:var(--paper);
      margin-bottom:0.35rem; letter-spacing:-0.005em;
    }
    .why-item .why-body p{
      font-size:0.9rem; line-height:1.6;
      color:rgba(245, 237, 216, 0.78);
    }

    /* ── sticky phone CTA ── */
    .float-phone{
      position:fixed; right:clamp(1rem, 3vw, 2rem);
      bottom:calc(clamp(1rem, 3vw, 2rem) + 60px);
      z-index:40;
      width:54px; height:54px;
      background:var(--terra); color:#fff;
      display:flex; align-items:center; justify-content:center;
      border-radius:50%;
      box-shadow:0 12px 28px rgba(196, 90, 43, 0.4);
      transform:translateY(0); transition:transform 0.35s cubic-bezier(.2,.7,.2,1), opacity 0.25s ease;
    }
    .float-phone svg{ width:26px; height:26px; fill:currentColor; }
    .float-phone:hover{ transform:scale(1.05); background:var(--terra-deep); }
    .float-phone.hidden{ transform:translateY(160%); opacity:0; pointer-events:none; }

    /* ── team-section "Bak hvert strøk" ── */
    section.team{
      padding:clamp(5rem, 8vw, 8rem) 0;
      background:var(--paper-deep);
    }
    .team-grid{
      display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);
      gap:clamp(2rem, 5vw, 5rem); align-items:center;
    }
    .team-text h2{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.1;
      margin-top:1rem; max-width:18ch;
    }
    .team-text h2 em{ font-style:italic; color:var(--terra); }
    .team-text p{ color:var(--ink-soft); margin-top:1.4rem; line-height:1.7; max-width:48ch; }
    .team-text .pull{
      margin:1.8rem 0; padding-left:1.4rem; border-left:2px solid var(--terra);
      font-family:var(--font-display); font-style:italic; font-weight:300; font-size:1.2rem;
      color:var(--ink); line-height:1.45; max-width:36ch;
    }

    .team-cards{
      display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;
    }
    .team-card{
      background:var(--paper-soft); border:1px solid var(--rule);
      overflow:hidden; display:flex; flex-direction:column;
    }
    .team-photo{
      aspect-ratio:3/4; background:var(--paper-deep);
      position:relative; overflow:hidden;
      display:flex; align-items:center; justify-content:center;
    }
    .team-photo img{ width:100%; height:100%; object-fit:cover; }
    .team-photo .placeholder{
      font-family:var(--font-display); font-style:italic; font-weight:400;
      font-size:3rem; color:var(--ink-fade);
      letter-spacing:-0.02em;
      width:100%; height:100%;
      align-items:center; justify-content:center;
    }
    .team-photo .placeholder::after{
      content:""; position:absolute; inset:0;
      background:linear-gradient(135deg, rgba(196, 90, 43, 0.08), transparent);
      pointer-events:none;
    }
    .team-info{
      padding:1.4rem 1.5rem 1.6rem;
    }
    .team-info .name{
      font-family:var(--font-display); font-weight:500; font-size:1.25rem;
      color:var(--ink); letter-spacing:-0.005em;
    }
    .team-info .role{
      font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--terra); margin-top:0.3rem; font-weight:600;
    }
    .team-info .bio{
      margin-top:0.9rem; color:var(--ink-soft); font-size:0.88rem; line-height:1.6;
    }

    /* ── FAQ ── */
    section.faq{
      padding:clamp(5rem, 8vw, 8rem) 0;
    }
    .faq-grid{
      display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap:clamp(2rem, 4vw, 4rem); align-items:start;
    }
    .faq-grid .left h2{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.1;
      margin-top:1rem; max-width:18ch;
    }
    .faq-grid .left h2 em{ font-style:italic; color:var(--terra); }
    .faq-grid .left .lede{ margin-top:1.4rem; }
    .faq-grid .left .help{
      margin-top:2rem; padding:1.2rem; background:var(--paper-soft);
      border:1px solid var(--rule);
      font-size:0.9rem; color:var(--ink-soft); line-height:1.6;
    }
    .faq-grid .left .help strong{ color:var(--ink); }
    .faq-grid .left .help a{ color:var(--terra); border-bottom:1px solid var(--terra); }

    .faq-list{ display:grid; gap:0; }
    details.qa{
      border-top:1px solid var(--rule);
      padding:0;
    }
    details.qa:last-child{ border-bottom:1px solid var(--rule); }
    details.qa summary{
      padding:1.2rem 0; cursor:pointer;
      list-style:none;
      display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
      font-family:var(--font-display); font-weight:500; font-size:1.1rem;
      color:var(--ink); letter-spacing:-0.005em; line-height:1.3;
      transition:color 0.2s;
    }
    details.qa summary::-webkit-details-marker{ display:none; }
    details.qa summary::after{
      content:"+"; font-family:var(--font-display); font-weight:300; font-size:1.6rem;
      color:var(--terra); flex-shrink:0; line-height:1; transition:transform 0.3s;
    }
    details.qa[open] summary::after{ transform:rotate(45deg); }
    details.qa summary:hover{ color:var(--terra); }
    details.qa .ans{
      padding:0 0 1.4rem; max-width:60ch;
      color:var(--ink-soft); font-size:0.95rem; line-height:1.7;
    }
    details.qa .ans p{ margin-bottom:0.6rem; }
    details.qa .ans p:last-child{ margin-bottom:0; }

    /* ── kundeanmeldelser ── */
    section.reviews{
      padding:clamp(5rem, 8vw, 7rem) 0;
      background:var(--paper-deep);
    }
    .reviews-head{
      display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);
      gap:clamp(2rem, 4vw, 4rem); align-items:end;
      margin-bottom:3.5rem;
    }
    .reviews-head h2{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.1;
      letter-spacing:-0.005em; max-width:18ch;
    }
    .reviews-head h2 em{ font-style:italic; color:var(--terra); }
    .reviews-summary{
      display:flex; flex-direction:column; align-items:flex-start; gap:0.5rem;
    }
    .reviews-summary .stars{
      font-family:var(--font-display); font-weight:500;
      font-size:clamp(2.5rem, 5vw, 4rem); color:var(--terra);
      line-height:1; letter-spacing:-0.02em;
    }
    .reviews-summary .stars-vis{
      color:var(--terra); font-size:1.2rem; letter-spacing:0.1em;
      margin-top:-0.2rem;
    }
    .reviews-summary .meta{
      font-size:0.78rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); margin-top:0.5rem;
    }
    .reviews-grid{
      display:grid; grid-template-columns:repeat(3, 1fr);
      gap:1.4rem;
    }
    .review{
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:1.8rem;
      display:flex; flex-direction:column;
      transition:transform 0.3s ease, box-shadow 0.3s ease;
    }
    .review:hover{
      transform:translateY(-3px);
      box-shadow:0 18px 36px rgba(27, 45, 61, 0.08);
    }
    .review-stars{
      font-size:0.95rem; letter-spacing:0.08em; color:var(--terra);
      margin-bottom:1rem;
    }
    .review-stars .empty{ color:var(--ink-fade); }
    .review-title{
      font-family:var(--font-display); font-weight:500; font-size:1rem;
      letter-spacing:-0.005em; color:var(--ink); margin-bottom:0.7rem;
    }
    .review-text{
      color:var(--ink-soft); font-size:0.92rem; line-height:1.65;
      flex:1; margin-bottom:1.4rem;
    }
    .review-foot{
      padding-top:1rem; border-top:1px solid var(--rule);
      display:flex; justify-content:space-between; align-items:baseline;
      gap:0.8rem; font-size:0.78rem;
    }
    .review-name{
      font-family:var(--font-display); font-style:italic; font-weight:400;
      font-size:1.05rem; color:var(--ink);
    }
    .review-meta{
      font-size:0.7rem; letter-spacing:0.12em; text-transform:uppercase;
      color:var(--ink-fade);
    }
    .reviews-cta{
      margin-top:3rem; padding-top:2rem; border-top:1px solid var(--rule);
      text-align:center;
      font-size:0.9rem; color:var(--ink-soft);
    }
    .reviews-cta a{
      color:var(--terra); border-bottom:1px solid var(--terra);
      transition:color 0.2s, border-color 0.2s;
    }
    .reviews-cta a:hover{ color:var(--terra-deep); border-bottom-color:var(--terra-deep); }

    /* ── prosessvideoer-section ── */
    section.videos{
      background:var(--night); color:var(--paper);
      padding:clamp(4.5rem, 7vw, 7rem) 0;
    }
    section.videos .eyebrow{ color:rgba(245, 237, 216, 0.65); }
    section.videos .eyebrow::before{ background:rgba(245, 237, 216, 0.45); }
    section.videos .rule-row .rule{ background:rgba(245, 237, 216, 0.18); }
    section.videos h2.subhead{ color:var(--paper); max-width:32ch; }
    section.videos h2.subhead em{ color:#E8B98E; }
    section.videos .lede{ color:rgba(245, 237, 216, 0.7); margin-top:1.4rem; max-width:60ch; }

    .video-grid{
      display:grid; grid-template-columns:repeat(3, 1fr);
      gap:clamp(1rem, 2vw, 1.6rem); margin-top:3rem;
    }
    .video-card{
      position:relative; aspect-ratio:9/16; overflow:hidden;
      background:#000; border:1px solid rgba(245, 237, 216, 0.15);
      cursor:pointer;
    }
    .video-card video{
      width:100%; height:100%; object-fit:cover; display:block;
    }
    .video-card .play{
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.4) 100%);
      transition:background 0.3s, opacity 0.3s;
      pointer-events:none;
    }
    .video-card .play span{
      width:64px; height:64px; border-radius:50%;
      background:rgba(245, 237, 216, 0.92); color:var(--ink);
      display:flex; align-items:center; justify-content:center;
      font-family:var(--font-display); font-size:1.5rem; font-weight:500;
      transition:transform 0.3s;
    }
    .video-card:hover .play span{ transform:scale(1.1); }
    .video-card.playing .play{ opacity:0; }
    .video-card .meta{
      position:absolute; bottom:0; left:0; right:0; padding:1rem;
      background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
      pointer-events:none;
    }
    .video-card .meta .pj{
      font-family:var(--font-display); font-weight:500; font-size:1.1rem;
      color:var(--paper); letter-spacing:-0.005em;
    }
    .video-card .meta .lbl{
      font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.7); margin-top:0.2rem; display:block;
    }

    /* ─────────────────────────────────────────────────────────
       CALCULATOR — full editorial section
       ───────────────────────────────────────────────────────── */
    section.calc{
      background:var(--paper-deep);
      padding:clamp(5rem, 8vw, 8rem) 0;
    }
    .calc-head{
      max-width:760px; margin-bottom:3rem;
    }
    .calc-head .display{ font-size:clamp(2rem, 4.4vw, 3.6rem); margin-top:1.2rem; }
    .calc-head .lede{ margin-top:1.4rem; max-width:56ch; }
    .calc-canvas{
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:clamp(1.8rem, 3.5vw, 3rem);
    }
    .room{
      padding:2rem 0; border-bottom:1px solid var(--rule);
    }
    .room:first-child{ padding-top:0; }
    .room:last-child{ border-bottom:none; padding-bottom:1rem; }
    .room-head{
      display:flex; justify-content:space-between; align-items:baseline;
      margin-bottom:1.4rem;
    }
    .room-num{
      font-family:var(--font-display); font-style:italic; font-weight:300; font-size:1rem;
      color:var(--ink-fade); letter-spacing:0.04em;
    }
    .room-name{
      flex:1; margin:0 1.2rem;
      background:transparent; border:none; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.5rem;
      letter-spacing:-0.005em; color:var(--ink);
      border-bottom:1px solid transparent; padding:0.2rem 0;
    }
    .room-name::placeholder{ color:var(--ink-fade); font-style:italic; font-weight:300; }
    .room-name:focus{ border-bottom-color:var(--terra); }
    .room-remove{
      font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase;
      color:var(--ink-fade); transition:color 0.2s;
    }
    .room-remove:hover{ color:var(--terra); }
    .room-dims{
      display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem;
      margin-bottom:1.4rem;
    }
    .dim{ position:relative; }
    .dim label{
      display:block; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); margin-bottom:0.45rem;
    }
    .dim input{
      width:100%; background:transparent; border:none; border-bottom:1.5px solid var(--ink);
      padding:0.5rem 1.4rem 0.5rem 0; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.6rem;
      letter-spacing:-0.01em; color:var(--ink);
    }
    .dim input:focus{ border-bottom-color:var(--terra); }
    .dim .u{
      position:absolute; right:0; bottom:0.6rem;
      font-size:0.85rem; color:var(--ink-fade); pointer-events:none;
    }
    .auto-strip{
      display:none; grid-template-columns:repeat(3, 1fr); gap:1rem;
      padding:1rem 0; margin-bottom:1.6rem;
      border-top:1px dashed var(--rule); border-bottom:1px dashed var(--rule);
    }
    .auto-strip.on{ display:grid; }
    .auto-strip .it{ font-size:0.78rem; }
    .auto-strip .it span:first-child{
      display:block; font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase;
      color:var(--ink-fade); margin-bottom:0.2rem;
    }
    .auto-strip .it span:last-child{
      font-family:var(--font-display); font-weight:500; font-size:1.05rem; color:var(--ink);
    }
    .what{
      font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase;
      color:var(--ink-soft); font-weight:500; margin:0.6rem 0 1rem;
    }
    .checks{
      display:grid; grid-template-columns:1fr 1fr; gap:0.8rem 1.4rem;
      margin-bottom:1.6rem;
    }
    .ck{
      display:flex; align-items:flex-start; gap:0.7rem;
      padding:0.7rem 0; border-bottom:1px solid var(--rule-soft);
      cursor:pointer; transition:border-color 0.2s;
    }
    .ck:hover{ border-bottom-color:var(--ink); }
    .ck input{
      width:16px; height:16px; margin-top:3px; accent-color:var(--terra);
    }
    .ck-body{ flex:1; }
    .ck-ttl{ font-weight:500; font-size:0.95rem; color:var(--ink); }
    .ck-sub{ font-size:0.78rem; color:var(--ink-fade); margin-top:0.2rem; }
    .quants{
      display:grid; grid-template-columns:1fr 1fr; gap:1.5rem;
      padding-top:0.4rem;
    }
    .qf label{
      display:block; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); margin-bottom:0.45rem;
    }
    .qf input{
      width:100%; background:transparent; border:none; border-bottom:1px solid var(--rule);
      padding:0.4rem 0; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.3rem;
      color:var(--ink);
    }
    .qf input:focus{ border-bottom-color:var(--terra); }
    .qf .help{ font-size:0.7rem; color:var(--ink-fade); margin-top:0.3rem; }

    .add-room{
      display:flex; align-items:center; gap:0.7rem;
      padding:1.4rem 0; margin-top:0.5rem;
      border-top:1px solid var(--rule); width:100%;
      font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase;
      color:var(--ink); transition:color 0.2s;
    }
    .add-room:hover{ color:var(--terra); }
    .add-room .plus{
      font-family:var(--font-display); font-style:italic; font-weight:300; font-size:1.4rem;
      color:var(--terra); line-height:1;
    }

    /* lead form gate */
    .lead-gate{
      background:var(--ink); color:var(--paper);
      padding:clamp(2rem, 4vw, 3rem); margin-top:2rem;
    }
    .lead-gate .eyebrow{ color:rgba(245, 237, 216, 0.6); }
    .lead-gate .eyebrow::before{ background:rgba(245, 237, 216, 0.4); }
    .lead-gate h3{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(1.6rem, 3vw, 2.2rem); line-height:1.2; margin-top:0.9rem;
      max-width:24ch;
    }
    .lead-gate h3 em{ font-style:italic; color:#E8B98E; }
    .lead-gate .lede{ color:rgba(245, 237, 216, 0.75); margin-top:1rem; max-width:50ch; }
    .lead-fields{
      display:grid; grid-template-columns:1fr 1fr; gap:1.2rem 1.6rem;
      margin-top:2.2rem;
    }
    .lf{ display:flex; flex-direction:column; }
    .lf label{
      font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.55); margin-bottom:0.45rem;
    }
    .lf input{
      background:transparent; border:none; border-bottom:1px solid rgba(245, 237, 216, 0.3);
      color:var(--paper); padding:0.5rem 0; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.25rem;
    }
    .lf input::placeholder{ color:rgba(245, 237, 216, 0.3); font-weight:300; font-style:italic; }
    .lf input:focus{ border-bottom-color:#E8B98E; }
    .lead-actions{
      display:flex; align-items:center; justify-content:space-between; gap:1rem;
      flex-wrap:wrap; margin-top:2.2rem;
    }
    .lead-submit{
      display:inline-flex; align-items:center; gap:0.6rem;
      background:var(--terra); color:var(--paper);
      padding:1.05rem 1.6rem; font-size:0.85rem; font-weight:500;
      letter-spacing:0.05em; transition:background 0.2s;
    }
    .lead-submit:hover{ background:#E8B98E; color:var(--ink); }
    .lead-submit .arr{ font-family:var(--font-display); font-style:italic; }
    .lead-submit:disabled{ opacity:0.55; cursor:not-allowed; }
    .lead-fineprint{
      font-size:0.72rem; line-height:1.55; max-width:36ch;
      color:rgba(245, 237, 216, 0.45);
    }
    .lead-error{
      display:none; margin-top:1.2rem;
      padding:0.8rem 1rem; background:rgba(255, 110, 80, 0.12);
      border-left:2px solid #FF8A66; color:#FFC9B5;
      font-size:0.85rem;
    }
    .lead-error.on{ display:block; }

    /* result panel */
    .result{
      display:none; margin-top:2.5rem;
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:clamp(2rem, 4vw, 3rem);
    }
    .result.on{ display:block; animation:fadeUp 0.5s cubic-bezier(.2,.7,.2,1); }
    @keyframes fadeUp{ from{ opacity:0; transform:translateY(12px);} to{ opacity:1; transform:translateY(0);} }
    .result h3{
      font-family:var(--font-display); font-weight:400; font-size:clamp(1.7rem, 3vw, 2.4rem);
      line-height:1.2; margin-top:0.7rem; max-width:24ch;
    }
    .result h3 em{ font-style:italic; color:var(--terra); }
    .result-rooms{ margin-top:2rem; }
    .rb{
      padding:1.4rem 0; border-bottom:1px solid var(--rule);
    }
    .rb:last-child{ border-bottom:none; }
    .rb-head{
      display:flex; justify-content:space-between; align-items:baseline; margin-bottom:0.9rem;
    }
    .rb-name{
      font-family:var(--font-display); font-weight:500; font-size:1.2rem;
      letter-spacing:-0.005em;
    }
    .rb-sub{
      font-family:var(--font-display); font-weight:500; font-size:1.2rem; color:var(--terra);
    }
    .rb-row{
      display:flex; justify-content:space-between; padding:0.35rem 0;
      font-size:0.88rem; color:var(--ink-soft);
    }
    .rb-row strong{ color:var(--ink); font-weight:500; }
    .summary{
      margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--ink);
    }
    .sum-row{
      display:flex; justify-content:space-between; padding:0.35rem 0;
      font-size:0.92rem; color:var(--ink-soft);
    }
    .sum-row.total{
      margin-top:0.9rem; padding-top:1rem; border-top:1px solid var(--rule);
      font-family:var(--font-display); font-weight:500; font-size:1.5rem;
      color:var(--ink);
    }
    .sum-row.total .price{ color:var(--terra); }
    .result-cta{
      display:flex; gap:0.7rem; flex-wrap:wrap; margin-top:2rem;
      padding-top:1.6rem; border-top:1px solid var(--rule-soft);
    }
    .result-fineprint{
      margin-top:1.4rem; font-size:0.78rem; color:var(--ink-fade); line-height:1.6;
      max-width:60ch;
    }

    /* ─────────────────────────────────────────────────────────
       PROCESS — 3-step horizontal
       ───────────────────────────────────────────────────────── */
    section.process{ padding:clamp(4rem, 7vw, 7rem) 0; }
    .steps{
      display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(1.2rem, 3vw, 3rem);
      margin-top:3rem;
    }
    .step{
      padding-top:1.4rem; border-top:1px solid var(--ink);
      display:flex; flex-direction:column; gap:0.8rem;
    }
    .step .num{
      font-family:var(--font-display); font-weight:400; font-size:0.9rem;
      letter-spacing:0.18em; color:var(--terra);
    }
    .step h3{
      font-family:var(--font-display); font-weight:400; font-size:clamp(1.4rem, 2.4vw, 1.9rem);
      line-height:1.2; letter-spacing:-0.005em;
    }
    .step h3 em{ font-style:italic; color:var(--terra); }
    .step p{ color:var(--ink-soft); font-size:0.95rem; }

    /* ─────────────────────────────────────────────────────────
       OM OSS / TJENESTER — services as numbered editorial list
       ───────────────────────────────────────────────────────── */
    section.about{
      padding:clamp(4rem, 7vw, 7rem) 0;
      background:var(--paper-deep);
    }
    .about-grid{
      display:grid; grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.2fr);
      gap:clamp(2rem, 5vw, 5rem); align-items:start;
    }
    .about-text p{
      font-size:1rem; color:var(--ink-soft); margin-bottom:1.2rem;
      line-height:1.7;
    }
    .about-text p:first-of-type{
      font-family:var(--font-display); font-weight:400; font-size:1.35rem;
      color:var(--ink); line-height:1.45; max-width:30ch;
      margin-bottom:1.6rem;
    }
    .about-text p:first-of-type em{ font-style:italic; color:var(--terra); }
    .pull{
      margin:2rem 0; padding-left:1.4rem; border-left:2px solid var(--terra);
      font-family:var(--font-display); font-style:italic; font-weight:300; font-size:1.2rem;
      color:var(--ink); line-height:1.45; max-width:36ch;
    }
    .services-list{ list-style:none; }
    .svc{
      display:grid; grid-template-columns:60px 1fr auto; gap:1.5rem; align-items:start;
      padding:1.6rem 0; border-bottom:1px solid var(--rule);
    }
    .svc:first-child{ border-top:1px solid var(--ink); }
    .svc-num{
      font-family:var(--font-display); font-weight:400; font-style:italic; font-size:1.2rem;
      color:var(--ink-fade); padding-top:0.2rem;
    }
    .svc-body h4{
      font-family:var(--font-display); font-weight:500; font-size:1.5rem;
      letter-spacing:-0.005em; line-height:1.2;
    }
    .svc-body p{
      color:var(--ink-soft); font-size:0.92rem; margin-top:0.5rem; max-width:50ch;
    }
    .svc-tag{
      align-self:start; padding-top:0.35rem;
      font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-fade);
      white-space:nowrap;
    }

    /* ─────────────────────────────────────────────────────────
       KONTAKT + simplified booking
       ───────────────────────────────────────────────────────── */
    section.kontakt{ padding:clamp(4rem, 7vw, 7rem) 0; }
    .kontakt-grid{
      display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
      gap:clamp(2rem, 5vw, 5rem); align-items:start;
    }
    .booking{
      background:var(--paper-soft); border:1px solid var(--rule);
      padding:clamp(1.8rem, 3.5vw, 2.6rem);
    }
    .booking h3{
      font-family:var(--font-display); font-weight:400; font-size:clamp(1.6rem, 3vw, 2.2rem);
      line-height:1.2; margin-top:0.9rem; max-width:22ch;
    }
    .booking h3 em{ font-style:italic; color:var(--terra); }
    .booking p.lede{ margin-top:1rem; }
    .b-form{
      margin-top:2rem; display:grid; gap:1.5rem;
    }
    .bf{ display:flex; flex-direction:column; }
    .bf label{
      font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); margin-bottom:0.45rem;
    }
    .bf input, .bf textarea{
      background:transparent; border:none; border-bottom:1px solid var(--ink);
      padding:0.55rem 0; outline:none;
      font-family:var(--font-display); font-weight:400; font-size:1.2rem;
      color:var(--ink);
    }
    .bf input::placeholder, .bf textarea::placeholder{
      color:var(--ink-fade); font-weight:300; font-style:italic;
    }
    .bf textarea{
      min-height:80px; resize:vertical; font-size:1rem;
    }
    .bf input:focus, .bf textarea:focus{ border-bottom-color:var(--terra); }
    .b-submit{
      display:inline-flex; align-items:center; gap:0.6rem; align-self:start;
      background:var(--ink); color:var(--paper);
      padding:1rem 1.5rem; font-size:0.85rem; font-weight:500;
      letter-spacing:0.05em; margin-top:0.6rem;
    }
    .b-submit:hover{ background:var(--terra-deep); }
    .b-submit .arr{ font-family:var(--font-display); font-style:italic; }
    .b-fine{ font-size:0.74rem; color:var(--ink-fade); line-height:1.6; }

    .info h3{
      font-family:var(--font-display); font-weight:400; font-size:clamp(2rem, 4.4vw, 3.2rem);
      line-height:1.1; margin-top:1rem;
    }
    .info h3 em{ font-style:italic; color:var(--terra); }
    .info .lede{ margin-top:1.6rem; }
    .info-rows{
      margin-top:2.4rem; border-top:1px solid var(--ink);
    }
    .ir{
      display:grid; grid-template-columns:130px 1fr; gap:1.4rem;
      padding:1.3rem 0; border-bottom:1px solid var(--rule);
    }
    .ir-lbl{
      font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade); padding-top:0.25rem;
    }
    .ir-val{
      font-family:var(--font-display); font-weight:400; font-size:1.3rem; color:var(--ink);
    }
    .ir-val a{ color:var(--ink); border-bottom:1px solid var(--terra); transition:color 0.2s; }
    .ir-val a:hover{ color:var(--terra); }
    .ir-val small{
      display:block; font-family:var(--font-body); font-size:0.78rem; color:var(--ink-fade);
      margin-top:0.3rem;
    }

    /* ─────────────────────────────────────────────────────────
       FOOTER
       ───────────────────────────────────────────────────────── */
    footer.site{
      background:var(--night); color:rgba(245, 237, 216, 0.7);
      padding:3rem 0 2rem;
    }
    .foot-grid{
      max-width:var(--max); margin:0 auto; padding:0 var(--gutter);
      display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem;
      padding-bottom:2.5rem; border-bottom:1px solid rgba(245, 237, 216, 0.15);
    }
    .foot-brand{
      font-family:var(--font-display); font-weight:500; font-size:1.6rem;
      color:var(--paper); letter-spacing:-0.005em;
    }
    .foot-tag{
      font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase;
      margin-top:0.4rem; color:rgba(245, 237, 216, 0.5);
    }
    .foot-blurb{
      margin-top:1.4rem; max-width:38ch; font-size:0.92rem; line-height:1.6;
      color:rgba(245, 237, 216, 0.6);
    }
    .foot-col h5{
      font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase;
      color:rgba(245, 237, 216, 0.5); font-weight:500;
      margin-bottom:1rem;
    }
    .foot-col ul{ list-style:none; display:grid; gap:0.5rem; }
    .foot-col a{ color:rgba(245, 237, 216, 0.85); font-size:0.92rem; transition:color 0.2s; }
    .foot-col a:hover{ color:var(--terra); }
    .foot-bot{
      max-width:var(--max); margin:0 auto; padding:1.5rem var(--gutter) 0;
      display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
      font-size:0.78rem; color:rgba(245, 237, 216, 0.45);
    }

    /* ─────────────────────────────────────────────────────────
       FLOATING "BEREGN PRIS" PILL
       ───────────────────────────────────────────────────────── */
    .float-cta{
      position:fixed; right:clamp(1rem, 3vw, 2rem); bottom:clamp(1rem, 3vw, 2rem);
      z-index:40;
      display:inline-flex; align-items:center; gap:0.65rem;
      background:var(--ink); color:var(--paper);
      padding:1rem 1.5rem;
      font-size:0.82rem; font-weight:500; letter-spacing:0.06em;
      box-shadow:0 18px 40px rgba(20, 32, 43, 0.32);
      transform:translateY(0); transition:transform 0.35s cubic-bezier(.2,.7,.2,1), opacity 0.25s ease;
    }
    .float-cta:hover{ background:var(--terra-deep); }
    .float-cta .arr{ font-family:var(--font-display); font-style:italic; }
    .float-cta.hidden{ transform:translateY(160%); opacity:0; pointer-events:none; }

    /* ── cookie banner ── */
    .cookie-bar{
      position:fixed; left:0; right:0; bottom:0; z-index:60;
      background:var(--ink); color:var(--paper);
      padding:1rem clamp(1.25rem, 3vw, 2.5rem);
      display:none; align-items:center; gap:1rem; flex-wrap:wrap;
      box-shadow:0 -10px 30px rgba(20, 32, 43, 0.25);
    }
    .cookie-bar.show{ display:flex; }
    .cookie-bar p{
      flex:1 1 320px; font-size:0.85rem; line-height:1.55;
      color:rgba(245, 237, 216, 0.85);
    }
    .cookie-bar p a{ color:var(--terra); border-bottom:1px solid var(--terra); }
    .cookie-actions{ display:flex; gap:0.5rem; flex-wrap:wrap; }
    /* Begge valgene skal ha lik visuell vekt. Ikke gjør «Godta»
       mer fremtredende enn «Avslå» — det er ikke gyldig samtykke. */
    .cookie-btn{
      padding:0.6rem 1.4rem; font-size:0.78rem; font-weight:500;
      letter-spacing:0.04em; transition:background 0.2s;
      min-width:110px; cursor:pointer;
      background:transparent; color:var(--paper);
      border:1px solid rgba(245, 237, 216, 0.55);
    }
    .cookie-btn:hover{ background:rgba(245, 237, 216, 0.12); }
    .cookie-btn:focus-visible{ outline:2px solid var(--terra); outline-offset:2px; }

    /* ─────────────────────────────────────────────────────────
       RESPONSIVE
       ───────────────────────────────────────────────────────── */
    @media (max-width: 980px){
      .menu-btn{
        display:flex; align-items:center; justify-content:center;
        width:42px; height:42px;
        background:transparent; border:1px solid var(--rule);
      }
      .menu-btn span{ font-size:1.3rem; }
      nav.primary{ display:none; }
      nav.primary.open{
        display:block; position:absolute; top:100%; left:0; right:0;
        background:var(--paper); border-bottom:1px solid var(--rule);
      }
      nav.primary.open ul{
        flex-direction:column; align-items:flex-start; padding:1.5rem var(--gutter);
        gap:1rem;
      }
      .site-inner{ grid-template-columns:auto auto auto; }

      .tier-grid{ grid-template-columns:1fr; }
      .tiers-head{ grid-template-columns:1fr; gap:1rem; }
      /* legacy: removed when grid replaced stack layout */
      .video-grid{ grid-template-columns:1fr 1fr; }
      .reviews-grid{ grid-template-columns:1fr 1fr; }
      .reviews-head{ grid-template-columns:1fr; gap:2rem; }
      .faq-grid{ grid-template-columns:1fr; gap:2rem; }
      .team-grid{ grid-template-columns:1fr; gap:2.5rem; }
      .team-cards{ grid-template-columns:1fr 1fr; }
      .sc-grid{ grid-template-columns:1fr; }
      .hero-grid, .work-head, .about-grid, .kontakt-grid{ grid-template-columns:1fr; gap:2.5rem; }
      .grid-3{ grid-template-columns:1fr 1fr; }
      .steps{ grid-template-columns:1fr; }
      .lead-fields, .checks, .quants, .room-dims, .mini-fields, .auto-strip{ grid-template-columns:1fr 1fr; gap:0.8rem; }
      .hero-meta-strip{ grid-template-columns:1fr; gap:0.8rem; }
      .hero-meta-strip .hero-stat{ flex-direction:row; align-items:baseline; gap:1rem; }
      .svc{ grid-template-columns:40px 1fr; }
      .svc-tag{ display:none; }
      .foot-grid{ grid-template-columns:1fr 1fr; }
    }
    @media (max-width: 600px){
      .grid-3{ grid-template-columns:1fr; }
      .nav-phone{ display:none; }
      .lead-fields, .checks, .quants, .room-dims, .mini-fields, .auto-strip{ grid-template-columns:1fr; }
      .ir{ grid-template-columns:1fr; gap:0.4rem; }
      .foot-grid{ grid-template-columns:1fr; }
      .float-cta{ padding:0.9rem 1.2rem; font-size:0.78rem; }
      .video-grid{ grid-template-columns:1fr; }
      .reviews-grid{ grid-template-columns:1fr; }
    }
  
    /* =====================================================================
       V3-TILLEGG — flersidig struktur
       ===================================================================== */

    /* ── Aktiv side i nav ── */
    nav.primary a.active{ color:var(--terra); }
    nav.primary a.active::after{
      content:""; display:block; height:1px; background:var(--terra);
      margin-top:2px;
    }

    /* ── Sidetopp (page hero) på undersider ── */
    .page-hero{
      padding:clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem);
      border-bottom:1px solid var(--rule-soft);
      background:var(--paper);
    }
    .page-hero h1{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2.4rem, 5.5vw, 4.2rem);
      line-height:1.06; letter-spacing:-0.01em; margin-top:1rem;
      max-width:20ch;
    }
    .page-hero h1 em{ font-style:italic; font-weight:300; color:var(--terra); }
    .page-hero .lede{ margin-top:1.2rem; max-width:52ch; }
    .page-hero .crumbs{
      font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase;
      color:var(--ink-fade);
    }
    .page-hero .crumbs a{ color:var(--ink-fade); }
    .page-hero .crumbs a:hover{ color:var(--terra); }

    /* ── Tjeneste-oversikt på forsiden (lenker videre) ── */
    .svc-link{ display:block; color:inherit; }
    .svc-link:hover h4{ color:var(--terra); }
    .svc-body h4{ transition:color 0.2s; }
    .svc-arrow{
      align-self:center; font-family:var(--font-display); font-style:italic;
      color:var(--terra); font-size:1.2rem; opacity:0; transform:translateX(-6px);
      transition:opacity 0.25s, transform 0.25s;
    }
    .svc:hover .svc-arrow{ opacity:1; transform:translateX(0); }

    /* ── "Se alle"-lenke under seksjoner ── */
    .see-all{
      display:inline-flex; align-items:center; gap:0.6rem; margin-top:2.4rem;
      font-family:var(--font-display); font-style:italic; font-size:1.1rem;
      color:var(--ink); border-bottom:1px solid var(--terra);
      padding-bottom:0.15rem; transition:color 0.2s;
    }
    .see-all:hover{ color:var(--terra); }
    .see-all .arr{ font-style:normal; }

    /* ── CTA-bånd nederst på sidene ── */
    .cta-band{
      background:var(--night); color:var(--paper);
      padding:clamp(3.5rem, 6vw, 6rem) 0;
    }
    .cta-band .eyebrow{ color:rgba(245,237,216,0.55); }
    .cta-band h2{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(2rem, 4.4vw, 3.4rem); line-height:1.12;
      margin-top:1rem; max-width:24ch;
    }
    .cta-band h2 em{ font-style:italic; font-weight:300; color:#E8B98E; }
    .cta-band .lede{ color:rgba(245,237,216,0.7); margin-top:1.2rem; max-width:46ch; }
    .cta-band-actions{ display:flex; gap:0.8rem; flex-wrap:wrap; margin-top:2.2rem; }
    .cta-band .btn-fill{ background:var(--terra); color:var(--paper); }
    .cta-band .btn-fill:hover{ background:#E8B98E; color:var(--ink); }
    .cta-band .btn-line{
      color:var(--paper); border-color:rgba(245,237,216,0.4);
    }
    .cta-band .btn-line:hover{ border-color:var(--terra); color:#E8B98E; }

    /* ── Instagram-seksjon ── */
    section.instagram{ padding:clamp(4rem, 7vw, 7rem) 0; background:var(--paper-deep); }
    .ig-head{
      display:grid; grid-template-columns:minmax(0,1.2fr) auto;
      gap:2rem; align-items:end; margin-bottom:2.5rem;
    }
    .ig-follow{
      display:inline-flex; align-items:center; gap:0.7rem;
      background:var(--ink); color:var(--paper);
      padding:0.95rem 1.5rem; font-size:0.85rem; font-weight:500;
      letter-spacing:0.05em; transition:background 0.2s; white-space:nowrap;
    }
    .ig-follow:hover{ background:var(--terra-deep); }
    .ig-follow svg{ width:18px; height:18px; }
    .ig-grid{
      display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
      gap:1.2rem; align-items:start;
    }
    .ig-grid iframe{ margin:0 !important; }
    .ig-empty{
      display:none; border:1px dashed var(--rule); background:var(--paper-soft);
      padding:2.5rem; text-align:center; color:var(--ink-soft); font-size:0.95rem;
    }
    @media (max-width: 980px){
      .ig-grid{ grid-template-columns:1fr 1fr; }
      .ig-head{ grid-template-columns:1fr; align-items:start; }
    }
    @media (max-width: 640px){
      .ig-grid{ grid-template-columns:1fr; }
    }

    /* =====================================================================
       PREMIUM V4 — kinematisk, luftig, high-end
       ===================================================================== */

    /* ── Raffinert palett — mindre gul, dypere kontrast ── */
    :root{
      --paper:        #F2EEE6;
      --paper-deep:   #E9E3D6;
      --paper-soft:   #F8F5EE;
      --ink:          #141C24;
      --ink-soft:     #4A5560;
      --ink-fade:     #8A939D;
      --rule:         rgba(20, 28, 36, 0.16);
      --rule-soft:    rgba(20, 28, 36, 0.08);
      --terra:        #A9552C;
      --terra-deep:   #874321;
      --night:        #0E141A;
      --cream:        #EFE9DC;
    }

    body{ -webkit-font-smoothing:antialiased; }

    /* ── Premium knapper: uppercase, luftig sperring ── */
    .btn-fill, .btn-line, .b-submit, .lead-submit, .ig-follow{
      text-transform:uppercase; letter-spacing:0.16em;
      font-size:0.72rem; font-weight:500;
    }
    .btn-fill{ padding:1.1rem 1.9rem; }
    .btn-line{ padding:1.05rem 1.9rem; }

    /* ── Reveal-animasjoner ── */
    .reveal{ opacity:0; transform:translateY(28px); transition:opacity 0.9s cubic-bezier(.2,.7,.2,1), transform 0.9s cubic-bezier(.2,.7,.2,1); }
    .reveal.in{ opacity:1; transform:none; }
    .reveal.d1{ transition-delay:0.12s; }
    .reveal.d2{ transition-delay:0.24s; }
    .reveal.d3{ transition-delay:0.36s; }
    @media (prefers-reduced-motion: reduce){
      .reveal{ opacity:1; transform:none; transition:none; }
    }

    /* ── Kinematisk header (transparent over bilde-hero, mørk ved scroll) ── */
    body.cine header.site{
      position:fixed; left:0; right:0; top:0;
      background:linear-gradient(to bottom, rgba(14,20,26,0.55), transparent);
      border-bottom:none; backdrop-filter:none;
      transition:background 0.35s ease;
    }
    body.cine header.site .brand-mark,
    body.cine header.site nav.primary a,
    body.cine header.site .nav-phone strong{ color:var(--cream); }
    body.cine header.site .brand-tag,
    body.cine header.site .nav-phone span{ color:rgba(239,233,220,0.6); }
    body.cine header.site .menu-btn{ border-color:rgba(239,233,220,0.35); color:var(--cream); }
    body.cine header.site nav.primary a.active{ color:#E8B98E; }
    body.cine header.site nav.primary a.active::after{ background:#E8B98E; }
    body.cine header.site.scrolled{
      background:rgba(14, 20, 26, 0.92);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(239,233,220,0.12);
    }
    body.cine nav.primary.open{ background:var(--night); border-bottom:1px solid rgba(239,233,220,0.12); }

    /* ── Fullskjerm bilde-hero (forsiden) ── */
    .cine-hero{
      position:relative; min-height:100svh;
      display:flex; flex-direction:column; justify-content:flex-end;
      color:var(--cream); overflow:hidden;
      background:var(--night);
    }
    .cine-hero .bg{
      position:absolute; inset:0;
      background-size:cover; background-position:center;
      transform:scale(1.06);
      animation:heroDrift 18s ease-out forwards;
    }
    @keyframes heroDrift{ from{ transform:scale(1.12);} to{ transform:scale(1.03);} }
    .cine-hero::after{
      content:""; position:absolute; inset:0;
      background:
        linear-gradient(to bottom, rgba(14,20,26,0.35) 0%, rgba(14,20,26,0.15) 35%, rgba(14,20,26,0.72) 100%),
        linear-gradient(100deg, rgba(14,20,26,0.45) 0%, transparent 60%);
    }
    .cine-hero .wrap{ position:relative; z-index:2; padding-bottom:clamp(3rem, 7vh, 6rem); }
    .cine-eyebrow{
      display:inline-flex; align-items:center; gap:0.7rem;
      font-size:0.68rem; font-weight:500; letter-spacing:0.28em; text-transform:uppercase;
      color:rgba(239,233,220,0.75); margin-bottom:1.6rem;
    }
    .cine-eyebrow::before{ content:""; width:2.4rem; height:1px; background:#E8B98E; }
    .cine-hero h1{
      font-family:var(--font-display); font-weight:300;
      font-size:clamp(3rem, 9vw, 7.5rem);
      line-height:0.98; letter-spacing:-0.015em;
      max-width:14ch;
    }
    .cine-hero h1 em{ font-style:italic; color:#E8B98E; }
    .cine-hero .cine-lede{
      margin-top:1.6rem; max-width:44ch;
      font-size:clamp(0.95rem, 1.4vw, 1.08rem); font-weight:300;
      color:rgba(239,233,220,0.82); line-height:1.7;
    }
    .cine-actions{ display:flex; gap:0.9rem; flex-wrap:wrap; margin-top:2.4rem; }
    .cine-actions .btn-fill{ background:var(--cream); color:var(--ink); }
    .cine-actions .btn-fill:hover{ background:#E8B98E; }
    .cine-actions .btn-line{ color:var(--cream); border:1px solid rgba(239,233,220,0.45); }
    .cine-actions .btn-line:hover{ border-color:#E8B98E; color:#E8B98E; }
    .cine-stats{
      position:relative; z-index:2;
      border-top:1px solid rgba(239,233,220,0.22);
      margin-top:clamp(2.5rem, 5vh, 4rem);
    }
    .cine-stats .wrap{
      display:grid; grid-template-columns:repeat(4, auto); justify-content:space-between;
      gap:2rem; padding-top:1.4rem; padding-bottom:2.2rem;
    }
    .cine-stat .num{
      font-family:var(--font-display); font-weight:400; font-size:1.5rem; color:var(--cream);
    }
    .cine-stat .lbl{
      display:block; margin-top:0.2rem;
      font-size:0.64rem; letter-spacing:0.2em; text-transform:uppercase;
      color:rgba(239,233,220,0.55);
    }

    /* ── Side-hero med bakgrunnsbilde (undersider) ── */
    .page-hero.img{
      position:relative; color:var(--cream);
      padding:clamp(9rem, 22vh, 13rem) 0 clamp(3rem, 7vh, 5rem);
      border-bottom:none; background:var(--night); overflow:hidden;
    }
    .page-hero.img .bg{
      position:absolute; inset:0; background-size:cover; background-position:center;
      transform:scale(1.04);
    }
    .page-hero.img::after{
      content:""; position:absolute; inset:0;
      background:linear-gradient(to bottom, rgba(14,20,26,0.5), rgba(14,20,26,0.78));
    }
    .page-hero.img .wrap{ position:relative; z-index:2; }
    .page-hero.img h1{ color:var(--cream); font-weight:300; }
    .page-hero.img h1 em{ color:#E8B98E; }
    .page-hero.img .lede{ color:rgba(239,233,220,0.8); }
    .page-hero.img .crumbs, .page-hero.img .crumbs a{ color:rgba(239,233,220,0.55); }

    /* ── Statement-seksjon: stor serif-setning ── */
    section.statement{ padding:clamp(5rem, 10vw, 9rem) 0; }
    .statement-text{
      font-family:var(--font-display); font-weight:300;
      font-size:clamp(1.7rem, 3.6vw, 3rem); line-height:1.3;
      letter-spacing:-0.005em; max-width:30ch;
    }
    .statement-text em{ font-style:italic; color:var(--terra); }
    .statement-sub{
      margin-top:1.8rem; max-width:52ch; color:var(--ink-soft); font-size:0.98rem; line-height:1.75;
    }

    /* ── Utvalgte arbeider: editorial-rader ── */
    section.feats{ padding:clamp(4rem, 8vw, 8rem) 0; background:var(--paper-deep); }
    .feat-row{
      display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
      gap:clamp(2rem, 5vw, 5rem); align-items:center;
      padding:clamp(2.5rem, 5vw, 4.5rem) 0;
    }
    .feat-row + .feat-row{ border-top:1px solid var(--rule); }
    .feat-row.flip{ grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr); }
    .feat-row.flip .feat-media{ order:2; }
    .feat-media{
      position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--ink);
      display:block;
    }
    .feat-media img{
      width:100%; height:100%; object-fit:cover; display:block;
      transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
    }
    .feat-media:hover img{ transform:scale(1.045); }
    .feat-media .feat-tag{
      position:absolute; top:1rem; left:1rem; z-index:2;
      padding:0.35rem 0.8rem; font-size:0.6rem; font-weight:600;
      letter-spacing:0.18em; text-transform:uppercase;
      background:rgba(14,20,26,0.72); color:var(--cream); backdrop-filter:blur(6px);
    }
    .feat-num{
      font-family:var(--font-display); font-style:italic; font-weight:300;
      font-size:1rem; color:var(--ink-fade);
    }
    .feat-body h3{
      font-family:var(--font-display); font-weight:400;
      font-size:clamp(1.8rem, 3.4vw, 2.8rem); line-height:1.12; letter-spacing:-0.01em;
      margin-top:0.8rem; max-width:18ch;
    }
    .feat-body h3 em{ font-style:italic; color:var(--terra); }
    .feat-loc{
      margin-top:0.9rem; font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase;
      color:var(--ink-fade);
    }
    .feat-body p.desc{ margin-top:1.1rem; color:var(--ink-soft); font-size:0.95rem; line-height:1.7; max-width:44ch; }
    .feat-link{
      display:inline-flex; align-items:center; gap:0.6rem; margin-top:1.6rem;
      font-family:var(--font-display); font-style:italic; font-size:1.05rem;
      border-bottom:1px solid var(--terra); padding-bottom:0.2rem; transition:color 0.2s;
    }
    .feat-link:hover{ color:var(--terra); }

    /* ── Stort kundesitat på mørk bunn ── */
    section.quote-hero{
      background:var(--night); color:var(--cream);
      padding:clamp(5rem, 10vw, 9rem) 0;
    }
    .quote-hero .eyebrow{ color:rgba(239,233,220,0.5); }
    .quote-mark{
      font-family:var(--font-display); font-size:5rem; line-height:0.6;
      color:#E8B98E; opacity:0.85; display:block; margin-bottom:1.4rem;
    }
    .quote-text{
      font-family:var(--font-display); font-weight:300;
      font-size:clamp(1.5rem, 3.2vw, 2.6rem); line-height:1.35;
      max-width:34ch;
    }
    .quote-text em{ font-style:italic; color:#E8B98E; }
    .quote-attr{
      margin-top:2rem; display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap;
      font-size:0.8rem; color:rgba(239,233,220,0.6);
    }
    .quote-attr .stars{ color:#E8B98E; letter-spacing:0.2em; }
    .quote-more{
      display:inline-flex; align-items:center; gap:0.6rem; margin-top:2.4rem;
      font-family:var(--font-display); font-style:italic; font-size:1.05rem; color:var(--cream);
      border-bottom:1px solid #E8B98E; padding-bottom:0.2rem;
    }
    .quote-more:hover{ color:#E8B98E; }

    /* ── Tynn tillitslinje ── */
    .trust-line{
      border-top:1px solid var(--rule-soft); border-bottom:1px solid var(--rule-soft);
      background:var(--paper);
    }
    .trust-line .wrap{
      display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
      padding-top:1.1rem; padding-bottom:1.1rem;
      font-size:0.66rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-fade);
    }
    .trust-line strong{ color:var(--ink); font-weight:500; }

    /* ── Justeringer av eksisterende komponenter for premium-følelse ── */
    section.work{ background:var(--paper); }
    .pj-card{ box-shadow:none; }
    .tier{ box-shadow:none; }
    .cta-band{ background:var(--night); }
    footer.site{ background:var(--night); }
    section.instagram{ background:var(--paper); }
    .float-cta{ text-transform:uppercase; letter-spacing:0.16em; font-size:0.7rem; }

    @media (max-width: 980px){
      .cine-stats .wrap{ grid-template-columns:1fr 1fr; justify-content:start; }
      .feat-row, .feat-row.flip{ grid-template-columns:1fr; }
      .feat-row.flip .feat-media{ order:0; }
      .cine-hero h1{ font-size:clamp(2.8rem, 13vw, 4.5rem); }
    }

    html{ scroll-padding-top:96px; }
    section[id]{ scroll-margin-top:96px; }
