/* =========================================================
   TOPPFELTET OG MENYPANELET på forsiden (TerraGIS v18, 2026-09-23,
   spesifikasjonen 04_NAVIGASJON i overleveringen). Markedsføringssidene deler
   denne fila, avgrenset til body.tg-home / dialog.tg-meny.

   Lukket: Easy Eiendom | sentrerte hovedlenker fra 1200 | [Book 30 min] | Meny.
   Logg inn ligger i menypanelet. Book 30 min står i toppfeltet på alle bredder og nederst i panelet (P0-15, 2026-10-15).
   Åpent: et mørkt panel (--blekk) over hele flaten, tre kolonner på
   kol 1, 5 og 9 med komplett strekrad (1, 5, 9, 12), synlig «Lukk».
   Farger bare fra tokens.css, mål fra skalaen (DESIGN.md §3 til §5).
   ========================================================= */

/* Toppfeltet: hvitt, står fast øverst. Rad som header.topp .rad i grunn.css. */
/* Feltet lavere, og mer luft over raden enn under (brukeren 2026-09-27): 14 over og 8 under fra 900 er 22 og 8; under 900 14 og 8. Til 27.09: 22 og 22, 14 og 14. */
.tg-home .tg-topp{position:sticky;top:0;z-index:30;background:var(--side-bg);padding-top:14px;padding-bottom:8px}
@media(min-width:900px){.tg-home .tg-topp{padding-top:22px;padding-bottom:8px}}
/* Under 900 er raden flex (logo til venstre, handlingene til høyre), fordi to og to kolonner ikke rommer begge på 320 til 390. */
/* Alt i raden midtstilles på logoens midtlinje (brukeren 2026-09-27; til da på logotekstens grunnlinje). Knappene er 27 høye som huset, så de deler husets bånd. */
.tg-home .tg-topp-rad{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-left:18px;padding-right:18px}
@media(min-width:900px){.tg-home .tg-topp-rad{padding-left:22px;padding-right:22px}}
.tg-home .tg-topp .logo{flex:none}
.tg-meny .logo{height:auto;align-items:center}
/* I toppfeltet er logoen en inline vektor i en blokk: blokkens grunnlinje blir da vektorens bunn, som er logotekstens grunnlinje, og raden kan stille alt på den. */
.tg-home .tg-topp .logo{display:block;height:auto;line-height:0}
.tg-home .tg-topp .easy-logo{display:inline-block;vertical-align:baseline}
/* Logoen (eierens fil 2026-09-26, huset og EASY EIENDOM på én linje, teksten satt som baner i Hanken Grotesk 700):
   én fast vektor uten bevegelse, viewBox skåret til blekket så husets venstrekant står på kol 1. Huset 27 høyt fra 900 (§7). */
/* Logoen mindre (brukeren 2026-09-27): huset 22 høyt fra 900 (157 bredt), 108 bredt under; til da 27 og 193, 132. */
.tg-topp .easy-logo,.tg-meny .easy-logo{display:block;width:108px;height:15.1px;flex:none;fill:currentColor;stroke:currentColor;stroke-width:.5}
@media(min-width:900px){.tg-topp .easy-logo,.tg-meny .easy-logo{width:157px;height:22px}}
/* Handlingene (Book 30 min, Meny) er grunnens knapper i menyens størrelse (mono 16, 36 høy, radius 6), høyrestilt mot kol 12. Logg inn er en menylenke (2026-09-26). */
.tg-home .tg-handlinger{display:flex;justify-content:flex-end;align-items:center;gap:14px}
/* Knappene er grunnens 24 høye og midtstilles med resten av raden (brukeren 2026-09-27; 27 som huset tidligere samme dag). */
.tg-home .tg-topp .knapp{display:inline-flex;align-items:center;gap:8px;height:24px;padding:0 12px;font-size:16px;line-height:118%;letter-spacing:-.03rem}
.tg-home .tg-topp .knapp::before{display:none}
.tg-home .tg-topp .knapp:focus-visible{outline:1px solid var(--blekk);outline-offset:4px}
.tg-home .tg-handlinger{align-self:center}
/* Ingen bevegelse på knappene i toppfeltet (brukeren 2026-09-26): pilen er ute, hover er bare fargen. */
.tg-home .tg-topp .knapp .pil{display:none}
@media(hover:hover){.tg-home .tg-topp .knapp:hover{padding-right:12px}}
/* Smale skjermer: Book 30 min står fortsatt i feltet (P0-15). Under 400 krymper knappene litt så logo og begge får plass på 320. */
@media(max-width:399px){.tg-home .tg-handlinger{gap:8px}.tg-home .tg-topp .knapp{padding:0 8px;font-size:14px}}
@media(max-width:359px){.tg-home .tg-topp .easy-logo{width:94px;height:13.2px}.tg-home .tg-topp-rad{padding-left:12px;padding-right:12px;gap:6px}.tg-home .tg-handlinger{gap:6px}.tg-home .tg-topp .knapp{padding:0 6px;font-size:13px;letter-spacing:-.04rem}}
/* Hovedlenkene fra 1200: sentrert mellom like brede sidefelt for logo og handlinger.
   Under 1200 har panelet alle lenkene. */
.tg-home .tg-hovedlenker{display:none}
@media(min-width:1200px){
  .tg-home .tg-topp-rad{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:22px;row-gap:0;align-items:center}
  .tg-home .tg-topp .logo{grid-column:1;width:max-content}
  .tg-home .tg-hovedlenker{grid-column:2;display:flex;align-items:center;gap:28px;white-space:nowrap}
  .tg-home .tg-handlinger{grid-column:3;justify-self:end}
  /* P3-08 (2026-10-15): toppmenyen er menyen på desktop. «Meny» vises bare der hovedlenkene er skjult (under 1200). */
  .tg-home .tg-handlinger .knapp-wrap:has(>.tg-menyknapp){display:none}
}
.tg-home .tg-hovedlenker .lenke{position:relative;display:inline-flex;align-items:center;gap:8px}
.tg-home .tg-hovedlenker .lenke:focus-visible{outline:1px solid var(--blekk);outline-offset:4px}

/* Data og Innsikt deler menyflaten: venstre lenkerad, et fremhevet kort og innhold til høyre. */
.tg-home .tg-data-nav{position:static}
.tg-home .tg-data-nav>summary{cursor:pointer;list-style:none}
.tg-home .tg-data-nav>summary::-webkit-details-marker{display:none}
.tg-home .tg-data-nav>summary svg{flex:none;width:10px;height:6px;transition:transform var(--t-hover)}
.tg-home .tg-data-nav>summary svg path{fill:none;stroke:currentColor;stroke-width:1}
.tg-home .tg-data-nav[open]>summary svg{transform:rotate(180deg)}
.tg-home .tg-data-dropdown{position:absolute;z-index:31;top:calc(100% + 8px);left:0;right:0;display:grid;grid-template-columns:minmax(170px,.72fr) minmax(270px,1.12fr) minmax(420px,1.7fr);gap:20px;min-height:340px;padding:24px;border-radius:6px;background:var(--kort);color:var(--blekk);white-space:normal}
.tg-home .tg-data-dropdown a{color:var(--blekk)}
.tg-home .tg-data-dropdown a:focus-visible{outline:1px solid var(--blekk);outline-offset:4px}
.tg-home .tg-data-menu-rail{display:flex;flex-direction:column;gap:16px;padding:16px 20px 16px 0;border-right:1px solid var(--regel)}
.tg-home .tg-data-menu-rail .eyebrow{color:var(--tone-tekst)}
.tg-home .tg-data-menu-rail a{display:block;font-size:18px;line-height:112%;letter-spacing:-.04rem}
.tg-home .tg-data-menu-rail a[aria-current]{color:var(--blekk);font-weight:600}
.tg-home .tg-data-menu-rail a:hover,.tg-home .tg-data-product-card:hover .tg-data-card-title{text-decoration:underline;text-underline-offset:4px}
.tg-home .tg-data-feature{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:292px;padding:24px;background:var(--lys);clip-path:polygon(0 0,calc(100% - 42px) 0,100% 42px,100% 100%,0 100%)}
.tg-home .tg-insight-feature{background:var(--side-bg)}
.tg-home .tg-data-feature .eyebrow{margin-bottom:24px}
.tg-home .tg-data-feature-title{max-width:280px;font-size:28px;line-height:100%;letter-spacing:-.08rem}
.tg-home .tg-data-feature .text-s{max-width:300px;margin-top:16px;line-height:132%}
.tg-home .tg-data-feature-cta{display:inline-flex;gap:8px;align-items:center;margin-top:auto;padding-top:24px}
.tg-home .tg-data-product-card{display:flex;flex-direction:column;gap:16px;align-self:start;min-width:0;padding:38px 12px 24px 0;border-bottom:1px solid var(--regel)}
.tg-home .tg-data-card-top{display:flex;justify-content:space-between;align-items:center}
.tg-home .tg-data-card-title{font-size:22px;line-height:108%;letter-spacing:-.05rem;font-weight:500}
.tg-home .tg-data-product-card .text-s{max-width:340px;line-height:132%;color:var(--tone-tekst)}
.tg-home .tg-insight-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
.tg-home .tg-insight-link{display:flex;flex-direction:column;gap:14px;min-width:0;padding:28px 12px 16px 0;border-bottom:1px solid var(--regel)}
.tg-home .tg-insight-link .eyebrow{color:var(--tone-tekst)}
.tg-home .tg-insight-link strong{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:18px;line-height:118%;letter-spacing:-.03rem;font-weight:600}
.tg-home .tg-insight-link:hover strong{text-decoration:underline;text-underline-offset:4px}
.tg-home .tg-data-arrow{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tg-meny ul.tg-mobile-data{margin-top:12px;margin-bottom:22px;padding-left:16px}
.tg-meny ul.tg-mobile-data li+li{margin-top:4px}
.tg-meny .tg-mobile-data .tg-data-product{font-size:18px;min-height:44px;padding:8px 0;white-space:normal;color:var(--lys)}
.tg-meny .tg-mobile-data [aria-disabled="true"]{color:var(--lys-dempet)}
.tg-meny .tg-menu-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:360px;min-height:44px;cursor:pointer}
.tg-meny .tg-menu-group>summary::-webkit-details-marker{display:none}
.tg-meny .tg-menu-group>summary::after{content:'+';font-family:var(--sans);font-size:22px}
.tg-meny .tg-menu-group[open]>summary::after{content:'−'}
.tg-meny .tg-menu-group>summary:focus-visible{outline:1px solid var(--lys);outline-offset:6px}
@media(prefers-reduced-motion:reduce){.tg-home .tg-data-nav>summary svg{transition:none}}

/* Menyknappen: grunnens grå knapp med synlig tekst «Meny» og burgerens to hårlinjer etter ordet. Ingen pil, så ingen utviding ved hover. */
.tg-home .tg-menyknapp .streker{display:block}

.tg-home .tg-menyknapp .streker{width:14px;height:8px;flex:none}
.tg-home .tg-menyknapp .streker path{fill:none;stroke:currentColor;stroke-width:1}

/* Uten skript: en synlig lenkerad under toppfeltet, så siden kan brukes. */
.tg-home .tg-noscript{grid-column:1/-1;flex-basis:100%;display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:14px}
.tg-home .tg-noscript a{color:var(--dempet)}

/* Ankrene skal ikke havne under toppfeltet. */
.tg-home main section[id],.tg-home main li[id]{scroll-margin-top:46px}
@media(min-width:900px){.tg-home main section[id],.tg-home main li[id]{scroll-margin-top:54px}}

/* Panelet. Et <dialog> som åpnes modalt; lukket er det ute av fokusrekkefølgen. */
.tg-meny{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--blekk);color:var(--lys);overflow:auto;overscroll-behavior:contain}
.tg-meny::backdrop{background:var(--overlegg)}
.tg-meny .strek{background:var(--lys)}
.tg-meny .logo{color:var(--lys);grid-column:1/span 2}
@media(min-width:900px){.tg-meny .logo{grid-column:1/span 4}}
.tg-meny-innh{padding-top:14px;padding-bottom:40px}
@media(min-width:900px){.tg-meny-innh{padding-top:22px;padding-bottom:80px}}
.tg-meny-topp{display:grid;grid-template-columns:repeat(4,1fr);column-gap:14px;align-items:center;padding-left:18px;padding-right:18px}
@media(min-width:900px){.tg-meny-topp{grid-template-columns:repeat(12,1fr);column-gap:16px;padding-left:22px;padding-right:22px}}
.tg-meny-topp .tg-hoyre{grid-column:3/span 2;display:flex;justify-content:flex-end;align-items:center;gap:14px}
@media(min-width:900px){.tg-meny-topp .tg-hoyre{grid-column:5/span 8}}

/* Lukk-knappen: grunnens knapp, men 44 høy. */
.tg-home .tg-lukk,.tg-meny .tg-lukk{height:auto;min-height:44px;padding:12px 16px}
.tg-home .tg-lukk:hover,.tg-meny .tg-lukk:hover{padding-right:16px}
.tg-meny .knapp.tg-lukk{background:var(--lys);color:var(--blekk)}
.tg-meny .knapp.tg-lukk::before{border:1px solid var(--lys)}
.tg-meny .tg-lukk:focus-visible{outline:1px solid var(--lys);outline-offset:4px}
/* Logg inn: til venstre for Lukk, samme høyde, kantet i stedet for fylt (eieren 2026-10-04). */
.tg-meny .knapp.tg-logginn{height:auto;min-height:44px;padding:12px 16px;color:var(--lys);box-shadow:inset 0 0 0 1px var(--lys-dempet);transition:box-shadow var(--t-hover),color var(--t-hover)}
.tg-meny .knapp.tg-logginn:hover{padding-right:16px;color:var(--hvit);box-shadow:inset 0 0 0 1px var(--lys)}
.tg-meny .knapp.tg-logginn:focus-visible{outline:1px solid var(--lys);outline-offset:4px}
@media(max-width:379px){.tg-meny-topp .tg-hoyre{gap:8px}.tg-meny .knapp.tg-logginn,.tg-meny .knapp.tg-lukk,.tg-meny .knapp.tg-logginn:hover,.tg-meny .knapp.tg-lukk:hover{padding-left:10px;padding-right:10px}}

/* Navigasjonen: tre kolonner på kol 1, 5 og 9. Under 900 stables de to første, Utvalgt skjules. */
.tg-meny-nav{display:grid;grid-template-columns:repeat(4,1fr);column-gap:14px;row-gap:60px;margin-top:80px;padding-left:18px;padding-right:18px}
@media(min-width:900px){.tg-meny-nav{grid-template-columns:repeat(12,1fr);column-gap:16px;row-gap:80px;margin-top:120px;padding-left:22px;padding-right:22px}}
.tg-meny .m1,.tg-meny .m2{grid-column:1/span 4;min-width:0}
.tg-meny .m3{display:none}
@media(min-width:900px){.tg-meny .m1{grid-column:1/span 4}.tg-meny .m2{grid-column:5/span 4}.tg-meny .m3{display:block;grid-column:9/span 4;min-width:0}}
@media(max-width:899px){.tg-meny .m2 .strek{display:none}}
.tg-meny .eyebrow{color:var(--lys-dempet)}
.tg-meny ul{margin-top:22px}
.tg-meny li+li{margin-top:12px}
.tg-meny .text-xl a{display:inline-block;color:var(--lys);transition:color var(--t-hover);overflow-wrap:anywhere}
.tg-meny .text-xl a:hover{color:var(--hvit)}
.tg-meny a:focus-visible{outline:1px solid var(--lys);outline-offset:6px}
.tg-meny .m3 h3{margin-top:22px;max-width:var(--maal-kort)}
.tg-meny .m3 p.text-m{margin-top:12px;max-width:var(--maal)}
.tg-meny .m3 img{margin-top:22px;width:100%;height:auto;border-radius:var(--medieradius)}
.tg-meny .m3 .tg-utvalgt-lenke{display:inline-block;margin-top:22px;color:var(--lys);text-decoration:underline;text-underline-offset:var(--understrek-avstand);text-decoration-thickness:1px;text-decoration-color:var(--lys-dempet);transition:text-decoration-color var(--t-hover)}
.tg-meny .m3 .tg-utvalgt-lenke:hover{text-decoration-color:var(--hvit)}
/* Bunnen: Book 30 min. Logg inn står øverst ved Lukk. */
.tg-meny .m-bunn{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.tg-meny .knapp.lys{background:var(--lys);color:var(--blekk)}
.tg-meny .knapp.lys::before{border:1px solid var(--lys)}

/* Våre løsninger (eieren 2026-10-08, etter Cotality): kategoriene står til venstre og bytter innholdet,
   produktene i to kolonner i midten og løsningene i én kolonne til høyre, skilt av en hårlinje.
   Uten skript vises første kategori; noscript-raden har alle lenkene. */
.tg-home .tg-solutions-dropdown{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:40px;padding:28px 22px;min-height:360px}
.tg-home .tg-sol-kategorier{display:flex;flex-direction:column;gap:22px;min-width:0}
.tg-home .tg-sol-kategorier>.eyebrow,.tg-home .tg-sol-panel .eyebrow{display:block;color:var(--tone-tekst)}
.tg-home .tg-sol-katliste{display:flex;flex-direction:column;align-items:stretch}
.tg-home .tg-sol-kat{display:block;width:100%;min-height:40px;padding:4px 16px 4px 0;border:0;background:none;font:inherit;font-size:18px;line-height:118%;letter-spacing:-.04rem;text-align:left;color:var(--dempet);cursor:pointer;transition:color var(--t-hover)}
.tg-home .tg-sol-kat[aria-selected="true"]{color:var(--blekk);box-shadow:inset -1px 0 0 var(--blekk)}
@media(hover:hover){.tg-home .tg-sol-kat:hover{color:var(--blekk)}}
.tg-home .tg-sol-kat:focus-visible{outline:1px solid var(--blekk);outline-offset:2px}
.tg-home .tg-sol-alle{display:inline-flex;align-items:center;gap:12px;margin-top:auto;font-size:16px;line-height:118%;letter-spacing:-.03rem}
.tg-home .tg-sol-panel{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);min-width:0}
.tg-home .tg-sol-panel[hidden]{display:none}
.tg-home .tg-sol-produkter{padding-right:40px}
.tg-home .tg-sol-losninger{padding-left:40px;border-left:1px solid var(--regel)}
.tg-home .tg-sol-panel ul{display:grid;gap:40px 28px;margin-top:22px}
.tg-home .tg-sol-produkter ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.tg-home .tg-sol-lenke{display:flex;flex-direction:column;gap:8px;min-width:0}
.tg-home .tg-sol-lenke strong{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:18px;line-height:118%;letter-spacing:-.04rem;font-weight:500}
.tg-home .tg-sol-lenke .text-s{max-width:var(--maal);line-height:132%;color:var(--tone-tekst)}
@media(hover:hover){.tg-home .tg-sol-lenke[href]:hover strong{text-decoration:underline;text-underline-offset:4px}}
.tg-home .tg-sol-lenke.dod{opacity:var(--demp-dod);cursor:default}
.tg-home .tg-sol-alle:hover{text-decoration:underline;text-underline-offset:4px}
/* Easy Labs (eieren 2026-10-08): siste kategori, nederst i listen over «Se alle løsninger». Panelet har et kort per åpen lab. */
.tg-home .tg-sol-katliste{flex:1}
.tg-home .tg-sol-kat.labs{margin-top:auto}
.tg-home .tg-sol-panel.labs{grid-template-columns:minmax(0,1fr)}
.tg-home .tg-sol-labs{display:flex;flex-direction:column;min-width:0}
.tg-home .tg-sol-labs ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tg-home .tg-sol-labs .tg-sol-alle{margin-top:22px}
.tg-home .tg-sol-kort{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;border-radius:var(--kortradius);background:var(--hvit);transition:box-shadow var(--t-hover)}
.tg-home .tg-sol-kort strong{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;font-size:18px;line-height:118%;letter-spacing:-.04rem;font-weight:500}
.tg-home .tg-sol-kort .text-s{max-width:var(--maal);line-height:132%;color:var(--tone-tekst)}
@media(hover:hover){.tg-home .tg-sol-kort:hover{box-shadow:inset 0 0 0 1px var(--blekk)}}
@media(prefers-reduced-motion:reduce){.tg-home .tg-sol-kat{transition:none}}
