/* Familiemekling – laget av til-wordpress.py fra forslagsfilene. Ikke rediger her; endre bygg-undersider.py og kjør på nytt. */
/* Nuller ut temaets regler for klasser med samme navn (.knapp, .pil-lenke, .ikon) og for .entry-content */
.fm .knapp { background: transparent; border: 0; justify-content: flex-start; white-space: normal; cursor: pointer; }
.fm .knapp:hover { transform: none; }
.fm .pil-lenke::before { content: none; }
.fm .ikon { fill: none; }
.fm img { border-radius: 0; }
.fm [id] { scroll-margin-top: 6rem; }
.fm strong { color: inherit; }
@font-face { font-family: "DM Sans"; src: url("/wp-content/themes/lillestrom/assets/fonts/dm-sans.woff2") format("woff2"); font-weight: 100 1000; font-display: swap; }
@font-face { font-family: "DM Serif Display"; src: url("/wp-content/themes/lillestrom/assets/fonts/dm-serif-display.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "DM Serif Text"; src: url("/wp-content/themes/lillestrom/assets/fonts/dm-serif-text.woff2") format("woff2"); font-display: swap; }
.fm {--primary: #2E5A57;
	--primary-dark: #234542;
	--sand: #F9F8F1;
	--grey: #F4F5F6;
	--base: #FFFFFF;
	--border: #DCE3E2;
	--gronn-lys: #E3ECEA;
	--linje-sand: #ECE9DC;
	--dempet: #526D6A;
	--tekst: #1F3432;
	--body: "DM Sans", system-ui, sans-serif;
	--heading: "DM Serif Display", Georgia, serif;
	--heading-text: "DM Serif Text", Georgia, serif;
	--bredde: 1286px;
	--gutter: clamp(1rem, 4vw, 2rem);
	--seksjon: clamp(3.5rem, 8vw, 6.5rem);}
.fm *, .fm *::before, .fm *::after {box-sizing: border-box;}
.fm {scroll-behavior: smooth;}
.fm {margin: 0; background: var(--base); color: var(--tekst); font: 400 clamp(0.9375rem, 0.875rem + 0.25vw, 1.0625rem)/1.6 var(--body); -webkit-font-smoothing: antialiased;}
.fm img {max-width: 100%; height: auto; display: block;}
.fm a {color: var(--primary);}
.fm h1, .fm h2, .fm h3 {font-family: var(--heading); font-weight: 400; color: var(--primary); line-height: 1.15; margin: 0;}
.fm h1 {font-size: clamp(1.85rem, 1.2rem + 3vw, 3.6rem);}
.fm h2 {font-size: clamp(1.5rem, 1.05rem + 2vw, 2.5rem);}
.fm h3 {font-family: var(--heading-text); font-size: clamp(1.1rem, 1rem + 0.4vw, 1.25rem); line-height: 1.3;}
.fm p {margin: 0;}
.fm .wrap {max-width: var(--bredde); margin: 0 auto; padding-inline: var(--gutter);}
.fm .seksjon {padding-block: var(--seksjon);}
.fm .sand {background: var(--sand);}
.fm .ingress {font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem); color: var(--dempet); max-width: 40em;}
.fm .seksjon-topp {max-width: 46rem; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; display: grid; gap: 0.9rem;}
.fm .seksjon-topp .ingress {margin-inline: auto;}
.fm .etikett {font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dempet);}
.fm .knapp {display: inline-flex; align-items: center; gap: 0.6em; border-radius: 999px; padding: 0.9em 1.5em; font: 500 1rem var(--body); text-decoration: none; transition: background 0.2s, color 0.2s;}
.fm .knapp-fylt {background: var(--primary); color: var(--base);}
.fm .knapp-fylt:hover {background: var(--primary-dark);}
.fm .knapp-strek {border: 1.5px solid var(--primary); color: var(--primary); padding: calc(0.9em - 1.5px) 1.5em;}
.fm .knapp-strek:hover {background: var(--primary); color: var(--base);}
.fm .pil-lenke {display: inline-flex; gap: 0.5em; font-weight: 600; text-decoration: none;}
.fm .pil-lenke::after {content: "→"; transition: transform 0.2s;}
.fm .pil-lenke:hover::after {transform: translateX(3px);}
.fm .nh {padding-block: 1.1rem; background: var(--sand);}
.fm .nh .wrap {display: flex; justify-content: space-between; align-items: center; gap: 1rem;}
.fm .nh-logo img {width: 150px;}
.fm .nh-hoyre {display: flex; align-items: center; gap: 0.6rem;}
.fm .nh-tel {display: inline-flex; align-items: center; gap: 0.6em; font-weight: 600; text-decoration: none; color: var(--primary);}
.fm .nh-tel span.ikon {width: 36px; height: 36px; border-radius: 50%; background: var(--base); display: grid; place-items: center;}
.fm .nh-meny {background: var(--primary); color: var(--base); border: 0; border-radius: 999px; padding: 0.8em 1.3em; font: 500 0.95rem var(--body);}
.fm .nh .knapp-strek {padding: calc(0.8em - 1.5px) 1.3em; font-size: 0.95rem;}
.fm .hero {background: var(--sand); padding-block: clamp(2rem, 5vw, 4rem) 0; overflow: hidden;}
.fm .hero .wrap {display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem, 5vw, 4rem); align-items: end;}
.fm .hero-tekst {display: grid; gap: 1.4rem; padding-bottom: clamp(2.5rem, 6vw, 5rem);}
.fm .hero-knapper {display: flex; flex-wrap: wrap; gap: 0.7rem;}
.fm .fordeler {list-style: none; margin: 0.4rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 1.4rem;}
.fm .fordeler li {display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 500;}
.fm .fordeler li::before {content: ""; flex: none; width: 22px; height: 22px; margin-top: 0.15rem; border-radius: 50%; background: var(--gronn-lys) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E5A57' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center / 12px no-repeat;}
.fm .hero .wrap {align-items: center;}
.fm .hero-bilde {padding-bottom: clamp(2.5rem, 6vw, 5rem);}
.fm .hero-panel {position: relative; max-width: 560px; margin-left: auto; background: var(--gronn-lys); border-radius: 32px;}
.fm .hero-panel img {width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 62%; border-radius: 32px;}
.fm .hero-merke {position: absolute; right: clamp(-1.5rem, -2vw, -0.5rem); bottom: clamp(1.5rem, 4vw, 2.5rem); background: var(--base); border-radius: 18px; padding: 0.9rem 1.2rem; box-shadow: 0 18px 40px -18px rgb(35 69 66 / 0.35); display: grid; line-height: 1.25;}
.fm .hero-merke strong {font-family: var(--heading); font-weight: 400; font-size: 1.6rem; color: var(--primary);}
.fm .hero-merke span {font-size: 0.85rem; color: var(--dempet);}
.fm .kort-rad {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;}
.fm .kort {background: var(--sand); border-radius: 20px; padding: clamp(1.4rem, 3vw, 2rem); display: grid; gap: 0.7rem; align-content: start;}
.fm .kort .ikon {width: 68px; height: 68px; border-radius: 50%; background: var(--gronn-lys); display: grid; place-items: center; margin-bottom: 0.4rem;}
.fm .kort .ikon svg {width: 40px; height: 40px; fill: none; stroke: var(--primary); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.fm .kort p {color: var(--dempet);}
.fm .under-rad {text-align: center; margin-top: 2rem;}
.fm .steg {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13em), 1fr)); gap: 1rem; counter-reset: steg;}
.fm .steg li {counter-increment: steg; background: var(--base); border: 1px solid var(--linje-sand); border-radius: 20px; padding: 1.6rem 1.4rem; display: grid; gap: 0.6rem; align-content: start; position: relative;}
.fm .steg li::before {content: counter(steg); width: 42px; height: 42px; border-radius: 50%; background: var(--primary); color: var(--base); display: grid; place-items: center; font-family: var(--heading-text); font-size: clamp(1rem, 0.9rem + 0.4vw, 1.15rem);}
.fm .steg p {color: var(--dempet); font-size: 0.98rem;}
.fm .sammenlign {display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center;}
.fm .sammenlign-tekst {display: grid; gap: 1.1rem;}
.fm .tabell-ramme {background: var(--base); border-radius: 20px; overflow: hidden; border: 1px solid var(--linje-sand);}
.fm table {width: 100%; border-collapse: collapse; font-size: 0.98rem;}
.fm th, .fm td {text-align: left; padding: 1rem 1.2rem; border-bottom: 1px solid var(--linje-sand); vertical-align: top;}
.fm tr:last-child th, .fm tr:last-child td {border-bottom: 0;}
.fm thead th {background: var(--primary); color: var(--base); font-weight: 600; font-size: 0.9rem;}
.fm thead th.oss {background: var(--primary-dark);}
.fm tbody th {font-weight: 600; color: var(--primary); width: 30%;}
.fm td.oss {background: var(--gronn-lys); font-weight: 600; color: var(--primary);}
.fm .fliser {display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20em), 1fr)); gap: 1rem;}
.fm .flis {background: var(--sand); border-radius: 20px; padding: 1.6rem; text-decoration: none; color: inherit; display: grid; grid-template-columns: 84px 1fr; gap: 1.1rem; align-items: center; transition: background 0.2s, transform 0.2s;}
.fm .flis:hover {background: var(--gronn-lys); transform: translateY(-2px);}
.fm .flis img {width: 84px; height: 84px; object-fit: contain;}
.fm .flis div {display: grid; gap: 0.35rem;}
.fm .flis p {color: var(--dempet); font-size: 0.95rem; line-height: 1.5;}
.fm .mal-boks {background: var(--primary); color: var(--sand); border-radius: 28px; padding: clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 2rem; align-items: center;}
.fm .mal-boks h2 {color: var(--base);}
.fm .mal-boks .ingress {color: rgb(249 248 241 / 0.8);}
.fm .mal-boks > div:first-child {display: grid; gap: 1rem;}
.fm .mal-liste {list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem;}
.fm .mal-liste a {display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: rgb(255 255 255 / 0.08); border-radius: 14px; padding: 1rem 1.2rem; color: var(--base); text-decoration: none; font-weight: 500; transition: background 0.2s;}
.fm .mal-liste a:hover {background: rgb(255 255 255 / 0.16);}
.fm .mal-liste a::after {content: "↓"; color: var(--gronn-lys);}
.fm .meklere {display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem;}
.fm .mekler {background: var(--sand); border-radius: 24px; overflow: hidden; display: grid; grid-template-columns: 180px 1fr;}
.fm .sand .mekler, .fm .gronn .mekler {background: var(--base);}
.fm .mekler img {width: 100%; height: 100%; object-fit: cover; object-position: top; background: var(--gronn-lys);}
.fm .mekler-info {padding: 1.6rem; display: grid; gap: 0.6rem; align-content: center;}
.fm .mekler-info .rolle {font-size: 0.9rem; color: var(--dempet); font-weight: 500;}
.fm .mekler-info p {font-size: 0.97rem; color: var(--dempet);}
.fm .kontorer {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;}
.fm .kontor {border: 1px solid var(--border); border-radius: 20px; padding: 1.6rem; display: grid; gap: 0.6rem; text-decoration: none; color: inherit; transition: border-color 0.2s, background 0.2s;}
.fm .kontor:hover {border-color: var(--primary); background: var(--sand);}
.fm .kontor p {color: var(--dempet); font-size: 0.97rem;}
.fm .kontor .pil-lenke {color: var(--primary);}
.fm .faq {max-width: 52rem; margin: 0 auto; display: grid; gap: 0.6rem;}
.fm .faq details {background: var(--base); border-radius: 16px; border: 1px solid var(--linje-sand);}
.fm .faq summary {cursor: pointer; list-style: none; padding: 1.15rem 1.4rem; font-family: var(--heading-text); font-size: clamp(1rem, 0.9rem + 0.4vw, 1.15rem); color: var(--primary); display: flex; justify-content: space-between; gap: 1rem; align-items: center;}
.fm .faq summary::-webkit-details-marker {display: none;}
.fm .faq summary::after {content: "+"; font-family: var(--body); font-size: 1.5rem; line-height: 1; color: var(--dempet); transition: transform 0.2s;}
.fm .faq details[open] summary::after {transform: rotate(45deg);}
.fm .faq details p {padding: 0 1.4rem 1.3rem; color: var(--dempet);}
.fm .cta {background: var(--primary-dark); color: var(--sand); text-align: center;}
.fm .cta .wrap {display: grid; gap: 1.2rem; justify-items: center;}
.fm .cta h2 {color: var(--base);}
.fm .cta .ingress {color: rgb(249 248 241 / 0.75); max-width: 34em; text-wrap: balance;}
.fm .cta .knapp-fylt {background: var(--gronn-lys); color: var(--primary-dark);}
.fm .cta .knapp-fylt:hover {background: var(--base);}
.fm .cta .knapp-strek {border-color: rgb(249 248 241 / 0.5); color: var(--base);}
.fm .fot {background: #1b3533; color: rgb(249 248 241 / 0.7); padding-block: 3rem; font-size: 0.92rem;}
.fm .fot .wrap {display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 2rem;}
.fm .fot h3 {font-family: var(--body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(249 248 241 / 0.5); margin-bottom: 0.8rem;}
.fm .fot ul {list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem;}
.fm .fot a {color: var(--sand); text-decoration: none;}
.fm .fot a:hover {text-decoration: underline;}
.fm .fot img {width: 150px; margin-bottom: 1rem;}
.fm .visuelt-skjult {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
.fm .merknad {display: inline-block; background: #FFF4CC; color: #5C4A00; border-radius: 6px; padding: 0.1em 0.45em; font-size: 0.8rem; font-weight: 600;}
@media (max-width: 960px) {
.fm .hero .wrap, .fm .sammenlign, .fm .mal-boks {grid-template-columns: 1fr;}
.fm .hero-panel {margin-inline: auto;}
.fm .hero-merke {right: 1rem; bottom: 1rem;}
.fm .hero-panel img {aspect-ratio: 4 / 3;}
.fm .hero-bilde {padding-top: 0;}
.fm .steg {grid-template-columns: 1fr 1fr;}
.fm .kontorer, .fm .kort-rad {grid-template-columns: 1fr 1fr;}
.fm .meklere {grid-template-columns: 1fr;}
.fm .fot .wrap {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px) {
.fm .nh-logo img {width: 128px;}
.fm .nh .knapp-strek, .fm .nh-tel .tekst {display: none;}
.fm .fordeler, .fm .steg, .fm .fliser, .fm .kontorer, .fm .kort-rad {grid-template-columns: 1fr;}
.fm .mekler {grid-template-columns: 120px 1fr;}
.fm .mekler-info {padding: 1.2rem;}
.fm .mekler {grid-template-columns: 1fr;}
.fm .mekler img {height: auto; aspect-ratio: 16 / 11; object-position: 50% 15%;}
.fm table {table-layout: fixed;}
.fm th, .fm td {padding: 0.75rem 0.6rem; font-size: 0.86rem; hyphens: auto; overflow-wrap: break-word;}
.fm tbody th {width: 28%;}
.fm .fot .wrap {grid-template-columns: 1fr;}
}
.fm .seksjon-topp .ingress, .fm .seksjon-topp h2 {text-wrap: balance;}
.fm .brodsmuler ol {list-style: none; margin: 0 0 clamp(1.5rem, 3vw, 2.2rem); padding: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; font-size: 0.88rem; color: var(--dempet);}
.fm .brodsmuler li:not(:last-child)::after {content: "›"; margin-left: 0.6rem; color: rgb(82 109 106 / 0.6);}
.fm .brodsmuler a {color: var(--dempet); text-decoration: none;}
.fm .brodsmuler a:hover {color: var(--primary); text-decoration: underline;}
.fm .hub-hero {background: var(--sand); padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 7vw, 5.5rem);}
.fm .hub-hero-grid {display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem, 5vw, 4rem); align-items: center;}
.fm .hub-hero-tekst {display: grid; gap: 1.4rem; justify-items: start;}
.fm .hub-hero-tekst .ingress {max-width: 30em;}
.fm .hub-illu {position: relative; max-width: 460px; width: 100%; margin-left: auto; background: var(--gronn-lys); border-radius: 32px; padding: clamp(1.6rem, 4vw, 2.6rem) clamp(1.4rem, 3vw, 2.2rem);}
.fm .hub-illu .hero-merke {bottom: clamp(1.2rem, 3vw, 2rem);}
.fm .hub-foto {position: relative; max-width: 520px; width: 100%; margin-left: auto; background: var(--gronn-lys); border-radius: 32px; aspect-ratio: 5 / 4; overflow: hidden; isolation: isolate;}
.fm .hub-foto::before {content: ""; position: absolute; z-index: -1; width: 70%; aspect-ratio: 1; left: 15%; top: 12%; border-radius: 50%; background: rgb(255 255 255 / 0.55);}
.fm .hub-foto img {position: absolute; left: 50%; bottom: 0; width: 108%; max-width: none; transform: translateX(-50%);}
.fm .hub-foto-wrap {position: relative;}
.fm .hub-foto-wrap .hero-merke {right: clamp(-1.5rem, -2vw, -0.5rem); bottom: clamp(1.5rem, 4vw, 2.5rem);}
.fm .hub-foto-navn {position: absolute; left: 1.2rem; top: 1.2rem; background: rgb(255 255 255 / 0.9); border-radius: 999px; padding: 0.45rem 0.9rem; font-size: 0.82rem; font-weight: 600; color: var(--primary);}
.fm .va-linje {display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 4vw, 3rem); position: relative;}
.fm .va-linje::before {content: ""; position: absolute; left: 16.66%; right: 16.66%; top: 236px; border-top: 2px dashed rgb(46 90 87 / 0.3);}
.fm .va-steg {display: grid; justify-items: center; text-align: center; gap: 0.7rem;}
.fm .va-steg .illu {height: 200px; width: 100%; display: grid; place-items: center;}
.fm .va-steg .illu img {height: 100%; width: auto; max-width: 90%; object-fit: contain;}
.fm .va-steg .nr {width: 52px; height: 52px; border-radius: 50%; background: var(--primary); color: var(--base); display: grid; place-items: center; font: 400 1.3rem var(--heading-text); position: relative; z-index: 1; box-shadow: 0 0 0 8px var(--base); margin: 0.4rem 0 0.6rem;}
.fm .va-steg p {color: var(--dempet); max-width: 22rem;}
.fm .va-lenker {list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem;}
.fm .va-lenker a {display: inline-block; border: 1.5px solid var(--border); border-radius: 999px; padding: 0.5em 1em; font-size: 0.92rem; font-weight: 600; text-decoration: none; color: var(--primary); transition: border-color .2s, background .2s;}
.fm .va-lenker a:hover {border-color: var(--primary); background: var(--sand);}
@media (max-width: 860px) {
.fm .va-linje {grid-template-columns: 1fr; gap: 3rem;}
.fm .va-linje::before {display: none;}
.fm .va-steg {gap: 0.5rem;}
}
.fm .t2 {max-width: 60rem; margin: 0 auto; display: grid; gap: 1.2rem;}
.fm .t2-rad {display: grid; grid-template-columns: repeat(7, 1fr) auto; gap: 6px; align-items: stretch;}
.fm .t2-time {height: 76px; border-radius: 12px; background: var(--base); border: 1.5px dashed rgb(46 90 87 / 0.35); display: grid; place-items: center; font: 400 1.1rem var(--heading-text); color: var(--dempet);}
.fm .t2-time.obl {background: var(--primary); border: 0; color: var(--base);}
.fm .t2-attest {margin-left: 1.2rem; background: var(--gronn-lys); border-radius: 12px; padding: 0 1.2rem; display: flex; align-items: center; gap: 0.7rem; color: var(--primary); font-weight: 600; white-space: nowrap; position: relative;}
.fm .t2-attest::before {content: "→"; position: absolute; left: -1.05rem; color: var(--dempet);}
.fm .t2-attest svg {width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.fm .t2-forklaring {display: grid; grid-template-columns: 1fr 6fr auto; gap: 6px; font-size: 0.95rem; color: var(--dempet);}
.fm .t2-forklaring div {border-top: 2px solid currentColor; padding-top: 0.6rem;}
.fm .t2-forklaring div:first-child {color: var(--primary); font-weight: 600;}
.fm .t2-forklaring div:last-child {margin-left: 1.2rem; border-color: transparent;}
.fm .t2-forklaring b {color: var(--tekst);}
@media (max-width: 860px) {
.fm .t2-rad {grid-template-columns: repeat(7, 1fr);}
.fm .t2-attest {grid-column: 1 / -1; margin: 0.8rem 0 0; padding: 0.9rem 1.2rem; justify-content: center;}
.fm .t2-attest::before {display: none;}
.fm .t2-time {height: 52px; font-size: 0.95rem;}
.fm .t2-forklaring {grid-template-columns: 1fr; gap: 0.8rem;}
.fm .t2-forklaring div {border-top-width: 0; padding-top: 0;}
.fm .t2-forklaring div:last-child {display: none;}
}
.fm .r1 {max-width: 60rem; margin: 0 auto;}
.fm .r1-hode, .fm .r1-rad {display: grid; grid-template-columns: 1fr 16rem 1fr; align-items: center;}
.fm .r1-hode {margin-bottom: 0.6rem;}
.fm .r1-hode h3 {font-size: 1.4rem;}
.fm .r1-hode h3:first-child {text-align: right;}
.fm .r1-hode .eller {justify-self: center; width: 52px; height: 52px; border-radius: 50%; background: var(--sand); display: grid; place-items: center; font: italic 400 1rem var(--heading-text); color: var(--dempet);}
.fm .r1-rad {border-top: 1px solid var(--linje-sand); padding: 1.15rem 0;}
.fm .r1-rad:last-child {border-bottom: 1px solid var(--linje-sand);}
.fm .r1-rad .m {text-align: right; font-weight: 600; color: var(--primary); font-size: 1.1rem;}
.fm .r1-rad .q {text-align: center; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dempet); padding-inline: 1rem;}
.fm .r1-rad .r {color: var(--dempet); font-size: 1.1rem;}
@media (max-width: 860px) {
.fm .r1-hode, .fm .r1-rad {grid-template-columns: 1fr 1fr;}
.fm .r1-hode .eller {display: none;}
.fm .r1-hode h3:first-child, .fm .r1-rad .m {text-align: left;}
.fm .r1-rad .q {grid-column: 1 / -1; grid-row: 1; text-align: left; padding: 0 0 0.4rem;}
.fm .r1-rad .m {padding-right: 1rem; font-size: 1rem;}
.fm .r1-rad .r {font-size: 1rem;}
}
.fm .steder {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: stretch;}
.fm .steder-foto {margin: 0; position: relative; border-radius: 28px; overflow: hidden; min-height: 360px;}
.fm .steder-foto .bilde {position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity 0.5s ease, transform 0.8s ease;}
.fm .steder-foto .bilde.aktiv {opacity: 1; transform: scale(1);}
.fm .steder-foto .bilde img {width: 100%; height: 100%; object-fit: cover;}
.fm .steder-foto .bilde-oslo img {object-position: 50% 40%;}
.fm .steder-foto .bilde-lillestrom img {object-position: 50% 70%;}
.fm .steder-foto .bilde-tom {background: var(--gronn-lys) radial-gradient(circle at 70% 25%, rgb(255 255 255 / 0.6), transparent 55%); display: grid; place-items: center;}
.fm .bilde-tom div {display: grid; justify-items: center; gap: 0.5rem; text-align: center;}
.fm .bilde-tom svg {width: 56px; height: 56px; fill: none; stroke: var(--primary); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;}
.fm .bilde-tom strong {font: 400 2.2rem/1 var(--heading); color: var(--primary);}
.fm .bilde-tom span {color: var(--dempet); font-size: 0.95rem;}
.fm .steder-foto figcaption {z-index: 2; transition: opacity 0.3s; position: absolute; left: 1rem; bottom: 1rem; background: rgb(255 255 255 / 0.92); border-radius: 999px; padding: 0.45rem 0.95rem; font-size: 0.85rem; font-weight: 600; color: var(--primary);}
.fm .steder-tekst {display: grid; gap: 1.2rem; align-content: center;}
.fm .steder .kontorer {grid-template-columns: 1fr; gap: 0.7rem;}
.fm .steder .kontor.aktiv {border-color: var(--primary);}
.fm .steder .kontor .pil-lenke::after {transition: transform 0.2s;}
.fm .steder .kontor:hover .pil-lenke::after, .fm .steder .kontor.aktiv .pil-lenke::after {transform: translateX(4px);}
.fm .steder .kontor {background: var(--base); grid-template-columns: 1fr auto; align-items: center; padding: 1.15rem 1.4rem; gap: 0.2rem 1rem;}
.fm .steder .kontor h3 {grid-column: 1;}
.fm .steder .kontor p {grid-column: 1; font-size: 0.93rem;}
.fm .steder .kontor .pil-lenke {grid-column: 2; grid-row: 1 / span 2; font-size: 0;}
.fm .steder .kontor .pil-lenke::after {font-size: 1.2rem;}
.fm .ansvarlige {display: flex; justify-content: center; align-items: center; gap: 0.8rem; margin-top: clamp(2rem, 4vw, 2.6rem); font-size: 0.92rem; color: var(--dempet); text-align: left;}
.fm .ansvarlige .bilder {display: flex; flex: none;}
.fm .ansvarlige img {width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid var(--base); background: var(--gronn-lys);}
.fm .ansvarlige img + img {margin-left: -12px;}
.fm .ansvarlige a {font-weight: 600; text-decoration: none;}
.fm .ansvarlige a:hover {text-decoration: underline;}
@media (max-width: 960px) {
.fm .hub-hero-grid {grid-template-columns: 1fr;}
.fm .hub-foto-wrap {max-width: 460px; width: 100%; margin-inline: auto;}
.fm .hub-foto-wrap .hero-merke {right: 1rem; bottom: 1rem;}
.fm .steder {grid-template-columns: 1fr;}
.fm .steder-foto {min-height: 260px;}
}
@media (max-width: 600px) {
.fm .ansvarlige {justify-content: flex-start;}
.fm .hub-foto-wrap .hero-merke {display: none;}
}
.fm .tilbake {display: inline-flex; gap: 0.5rem; align-items: center; font-size: 0.92rem; font-weight: 600; color: var(--dempet); text-decoration: none; margin-bottom: clamp(1.2rem, 3vw, 2rem);}
.fm .tilbake::before {content: "←"; transition: transform 0.2s;}
.fm .tilbake:hover {color: var(--primary);}
.fm .tilbake:hover::before {transform: translateX(-3px);}
.fm .hub-illu {position: relative; max-width: 480px; width: 100%; margin-left: auto; background: var(--gronn-lys); border-radius: 32px; padding: clamp(1.6rem, 4vw, 2.6rem) clamp(1.4rem, 3vw, 2.2rem);}
.fm .hub-illu img {width: 100%;}
.fm .hub-illu .hero-merke {bottom: clamp(1.2rem, 3vw, 2rem);}
.fm .sjekk {max-width: 52rem; margin: 0 auto; background: var(--base); border-radius: 28px; padding: clamp(1.6rem, 4vw, 2.6rem); box-shadow: 0 30px 60px -40px rgb(35 69 66 / 0.35); display: grid; gap: 1.6rem;}
.fm .sjekk fieldset {border: 0; margin: 0; padding: 0; display: grid; gap: 0.8rem;}
.fm .sjekk legend {font: 400 1.2rem var(--heading-text); color: var(--primary); margin-bottom: 0.8rem; display: flex; gap: 0.7rem; align-items: center;}
.fm .sjekk legend b {width: 32px; height: 32px; border-radius: 50%; background: var(--primary); color: var(--base); display: grid; place-items: center; font: 400 0.95rem var(--heading-text); flex: none;}
.fm .valgknapper {display: flex; flex-wrap: wrap; gap: 0.5rem;}
.fm .valgknapper label {cursor: pointer;}
.fm .valgknapper input {position: absolute; opacity: 0; pointer-events: none;}
.fm .valgknapper span {display: inline-block; border: 1.5px solid var(--border); border-radius: 999px; padding: 0.65em 1.2em; font-weight: 600; color: var(--primary); transition: background .2s, border-color .2s, color .2s;}
.fm .valgknapper label:hover span {border-color: var(--primary);}
.fm .valgknapper input:checked + span {background: var(--primary); border-color: var(--primary); color: var(--base);}
.fm .valgknapper input:focus-visible + span {outline: 2px solid var(--primary); outline-offset: 2px;}
.fm .sjekk fieldset[disabled] {opacity: 0.4;}
.fm .svar {border-radius: 20px; padding: 1.3rem 1.5rem; display: grid; grid-template-columns: 44px 1fr; gap: 1rem; align-items: start; background: var(--sand);}
.fm .svar[hidden] {display: none;}
.fm .svar .ikon {width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--base); font-size: 1.3rem; font-weight: 700;}
.fm .svar.nei .ikon {background: var(--gronn-lys); color: var(--primary);}
.fm .svar strong {display: block; font: 400 1.25rem/1.3 var(--heading-text); color: var(--primary); margin-bottom: 0.3rem;}
.fm .svar p {color: var(--dempet);}
.fm .svar .pil-lenke {color: var(--primary); margin-top: 0.6rem;}
.fm .situasjoner {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;}
.fm .situasjon {background: var(--sand); border-radius: 24px; padding: clamp(1.6rem, 3vw, 2rem); display: grid; gap: 0.8rem; align-content: start;}
.fm .situasjon .ikon {width: 64px; height: 64px; border-radius: 50%; background: var(--base); display: grid; place-items: center; margin-bottom: 0.3rem;}
.fm .situasjon .ikon svg {width: 34px; height: 34px; fill: none; stroke: var(--primary); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;}
.fm .situasjon h3 {font-size: 1.3rem;}
.fm .situasjon p {color: var(--dempet);}
.fm .situasjon .trengs {margin-top: 0.4rem; padding-top: 0.9rem; border-top: 1px solid var(--linje-sand); font-size: 0.93rem; color: var(--tekst);}
.fm .situasjon .trengs b {display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dempet); margin-bottom: 0.2rem;}
.fm .lov {justify-self: start; font-size: 0.8rem; font-weight: 600; color: var(--primary); text-decoration: none; background: var(--base); border-radius: 999px; padding: 0.3rem 0.75rem;}
.fm .lov:hover {background: var(--gronn-lys);}
.fm .unntak {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center;}
.fm .unntak-tekst {display: grid; gap: 1.1rem;}
.fm .kryss {list-style: none; margin: 0.3rem 0 0; padding: 0; display: grid; gap: 0.7rem;}
.fm .kryss li {display: flex; gap: 0.8rem; align-items: center; font-weight: 600; color: var(--primary-dark); font-size: 1.05rem;}
.fm .kryss li::before {content: "✕"; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--base); display: grid; place-items: center; font-size: 0.8rem; color: var(--primary);}
.fm .varsel {background: var(--primary); color: var(--sand); border-radius: 28px; padding: clamp(1.8rem, 4vw, 2.6rem); display: grid; gap: 0.9rem; position: relative; overflow: hidden; isolation: isolate;}
.fm .varsel::before {content: ""; position: absolute; z-index: -1; width: 340px; height: 340px; right: -140px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / 0.12), transparent 65%);}
.fm .varsel h3 {color: var(--base); font-size: 1.45rem;}
.fm .varsel p {color: rgb(249 248 241 / 0.82);}
.fm .varsel .knapp {justify-self: start; background: var(--gronn-lys); color: var(--primary-dark); margin-top: 0.3rem;}
.fm .varsel .knapp:hover {background: var(--base);}
.fm .enige {max-width: 58rem; margin: 0 auto; text-align: center; display: grid; gap: 1.4rem; justify-items: center;}
.fm .enige .stort {font: 400 clamp(1.7rem, 1.1rem + 3vw, 3.1rem)/1.15 var(--heading); color: var(--primary); text-wrap: balance;}
.fm .enige .stort em {font-style: italic; color: var(--dempet);}
.fm .enige .ingress {max-width: 38em; text-wrap: balance;}
.fm .steg3 {display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 4vw, 3rem); position: relative; max-width: 64rem; margin: 0 auto;}
.fm .steg3::before {content: ""; position: absolute; left: 16.66%; right: 16.66%; top: 26px; border-top: 2px dashed rgb(46 90 87 / 0.3);}
.fm .steg3 > div {display: grid; justify-items: center; text-align: center; gap: 0.6rem;}
.fm .steg3 .nr {width: 52px; height: 52px; border-radius: 50%; background: var(--primary); color: var(--base); display: grid; place-items: center; font: 400 1.3rem var(--heading-text); position: relative; z-index: 1; box-shadow: 0 0 0 8px var(--sand); margin-bottom: 0.4rem;}
.fm .steg3 p {color: var(--dempet); max-width: 20rem;}
.fm .mer {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;}
.fm .mer a {border: 1px solid var(--border); border-radius: 20px; padding: 1.4rem 1.5rem; text-decoration: none; color: inherit; display: grid; gap: 0.4rem; transition: border-color .2s, background .2s;}
.fm .mer a:hover {border-color: var(--primary); background: var(--sand);}
.fm .mer h3 {font-size: 1.15rem;}
.fm .mer p {color: var(--dempet); font-size: 0.93rem;}
.fm .mer .pil-lenke {color: var(--primary); font-size: 0.93rem; margin-top: 0.3rem;}
@media (max-width: 860px) {
.fm .situasjoner, .fm .unntak, .fm .steg3, .fm .mer {grid-template-columns: 1fr;}
.fm .steg3::before {display: none;}
.fm .hub-illu {margin-inline: auto; max-width: 400px;}
.fm .hub-illu .hero-merke {right: 1rem; bottom: 1rem;}
}
@media (max-width: 600px) {
.fm .svar {grid-template-columns: 1fr;}
}
.fm {--gronn: #E5ECEA; --gronn-strek: rgb(46 90 87 / 0.14);}
.fm .gronn {background: var(--gronn);}
.fm .gronn .steg3 .nr, .fm .gronn .va-steg .nr {box-shadow: 0 0 0 8px var(--gronn);}
.fm .gronn .situasjon, .fm .gronn .vei {background: var(--base);}
.fm .gronn .situasjon .ikon, .fm .gronn .kort .ikon {background: var(--gronn);}
.fm .gronn .lov {background: var(--gronn);}
.fm .gronn .lov:hover {background: var(--sand);}
.fm .gronn .t2-attest, .fm .gronn .r1-hode .eller {background: var(--base);}
.fm .gronn .r1-rad {border-color: var(--gronn-strek);}
.fm .gronn .faq details {border-color: transparent;}
.fm .gronn .mer a, .fm .gronn .kontor {background: var(--base); border-color: transparent;}
.fm .gronn .mer a:hover, .fm .gronn .kontor:hover {border-color: var(--primary); background: var(--base);}
.fm .gronn .kryss li::before {background: var(--base);}
.fm .gronn .va-lenker a {background: var(--base); border-color: var(--base);}
.fm .gronn .va-lenker a:hover {border-color: var(--primary); background: var(--base);}
.fm .gronn .enige .stort em {color: var(--primary-dark);}
.fm .steg3.fire {grid-template-columns: repeat(4, 1fr); max-width: none;}
.fm .steg3.fire::before {left: 12.5%; right: 12.5%;}
.fm .steg3 h3 {text-wrap: balance;}
.fm .par {display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; max-width: 64rem; margin: 0 auto;}
.fm .vei {background: var(--sand); border-radius: 24px; padding: clamp(1.6rem, 3vw, 2.2rem); display: grid; gap: 0.8rem; align-content: start;}
.fm .vei .chip {justify-self: start; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 999px; padding: 0.35rem 0.8rem; background: var(--primary); color: var(--base);}
.fm .vei .chip.lys {background: var(--gronn); color: var(--primary);}
.fm .gronn .vei .chip.lys {background: var(--gronn);}
.fm .vei h3 {font-size: 1.45rem;}
.fm .vei .vei-ikon {width: 120px; height: 56px; fill: none; stroke: var(--primary); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 0.2rem;}
.fm .vei p {color: var(--dempet);}
.fm .vei .kryss li {font-size: 1rem; font-weight: 500; color: var(--tekst);}
.fm .vei .kryss li::before {content: ""; width: 8px; height: 8px; margin: 0 11px; background: var(--primary);}
.fm .hake {list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem;}
.fm .hake li {display: flex; gap: 0.75rem; align-items: flex-start;}
.fm .hake li::before {content: ""; flex: none; width: 26px; height: 26px; margin-top: 0.05rem; border-radius: 50%; background: var(--gronn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E5A57' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center / 13px no-repeat;}
.fm .vei .hake li::before {background-color: var(--base);}
.fm .gronn .vei .hake li::before, .fm .sjekkliste .hake li::before {background-color: var(--gronn);}
.fm .under-par {max-width: 64rem; margin: 1.6rem auto 0; color: var(--dempet); text-align: center; text-wrap: balance;}
.fm .delt {display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 5vw, 4rem); align-items: center;}
.fm .delt-tekst {display: grid; gap: 1.1rem; justify-items: start;}
.fm .sjekkliste {background: var(--base); border-radius: 28px; padding: clamp(1.6rem, 4vw, 2.4rem); box-shadow: 0 30px 60px -40px rgb(35 69 66 / 0.35);}
.fm .sjekkliste .hake li {font-size: 1.05rem; font-weight: 500;}
.fm .sjekkliste .hake li + li {padding-top: 0.75rem; border-top: 1px solid var(--linje-sand);}
.fm .rute {display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem;}
.fm .rute[hidden] {display: none;}
.fm .rute div {background: var(--sand); border-radius: 18px; padding: 1.2rem 1.4rem; display: grid; gap: 0.2rem;}
.fm .rute b {font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dempet);}
.fm .rute strong {font: 400 1.5rem/1.2 var(--heading); color: var(--primary);}
.fm .rute p {grid-column: 1 / -1; color: var(--dempet); padding: 0 0.2rem;}
.fm .rute .pil-lenke {grid-column: 1 / -1; padding: 0 0.2rem;}
.fm .frist {max-width: 52rem; margin: 0 auto; background: var(--base); border: 1px solid var(--linje-sand); border-radius: 28px; padding: clamp(1.6rem, 4vw, 2.6rem); display: grid; gap: 1.6rem;}
.fm .frist-rad {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1.2rem;}
.fm .frist label {display: grid; gap: 0.5rem; font: 400 1.15rem var(--heading-text); color: var(--primary);}
.fm .frist input {font: 500 1.05rem var(--body); color: var(--tekst); border: 1.5px solid var(--border); border-radius: 999px; padding: 0.7em 1.1em; background: var(--base);}
.fm .frist input:focus {outline: 2px solid var(--primary); outline-offset: 2px;}
.fm .frist-svar {text-align: right; display: grid; gap: 0.1rem;}
.fm .frist-svar span {color: var(--dempet); font-size: 0.95rem;}
.fm .frist-svar strong {font: 400 clamp(1.7rem, 3.4vw, 2.3rem)/1.1 var(--heading); color: var(--primary);}
.fm .maneder {display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px;}
.fm .maneder span {height: 54px; border-radius: 12px; border: 1.5px dashed rgb(46 90 87 / 0.35); display: grid; place-items: center; font-size: 0.85rem; font-weight: 600; color: var(--dempet);}
.fm .maneder span.brukt {background: var(--primary); border: 0; color: var(--base);}
.fm .maneder span.na {background: var(--gronn); border: 1.5px solid var(--primary); color: var(--primary);}
.fm .frist-status {color: var(--dempet);}
.fm .frist-status.utlopt {color: #8A3B12; font-weight: 600;}
.fm .prosess {list-style: none; margin: 0 auto; padding: 0; max-width: 46rem; display: grid; gap: 0; counter-reset: p;}
.fm .prosess li {counter-increment: p; display: grid; grid-template-columns: 52px 1fr; gap: 1.3rem; position: relative; padding-bottom: 2rem;}
.fm .prosess li:last-child {padding-bottom: 0;}
.fm .prosess li::before {content: counter(p); width: 52px; height: 52px; border-radius: 50%; background: var(--primary); color: var(--base); display: grid; place-items: center; font: 400 1.3rem var(--heading-text); position: relative; z-index: 1;}
.fm .prosess li::after {content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; border-left: 2px dashed rgb(46 90 87 / 0.3);}
.fm .prosess li:last-child::after {display: none;}
.fm .prosess div {display: grid; gap: 0.4rem; padding-top: 0.7rem;}
.fm .prosess p {color: var(--dempet);}
.fm .prosess .her div {background: var(--base); border-radius: 20px; padding: 1.2rem 1.4rem; margin-top: -0.2rem; box-shadow: 0 24px 50px -36px rgb(35 69 66 / 0.4);}
.fm .prosess .her::before {box-shadow: 0 0 0 6px var(--sand), 0 0 0 7.5px var(--primary);}
.fm .prosess .chip {justify-self: start; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 999px; padding: 0.3rem 0.75rem; background: var(--gronn); color: var(--primary);}
.fm .mork {background: var(--primary); color: var(--sand); border-radius: 28px; padding: clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 2rem; align-items: center; position: relative; overflow: hidden; isolation: isolate;}
.fm .mork::before {content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -160px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / 0.12), transparent 65%);}
.fm .mork > div {display: grid; gap: 1rem;}
.fm .mork h2 {color: var(--base);}
.fm .mork .ingress {color: rgb(249 248 241 / 0.82);}
.fm .mork .knapp {justify-self: end; background: var(--gronn); color: var(--primary-dark);}
.fm .mork .knapp:hover {background: var(--base);}
.fm .hilsener {position: relative; background: var(--gronn-lys); border-radius: 32px; min-height: 340px; overflow: hidden;}
.fm .hilsener span {position: absolute; background: var(--base); border-radius: 18px; padding: 0.7rem 1.2rem; font: 400 1.35rem var(--heading-text); color: var(--primary); box-shadow: 0 16px 34px -22px rgb(35 69 66 / 0.45);}
.fm .hilsener span::after {content: ""; position: absolute; left: 18px; bottom: -8px; width: 16px; height: 16px; background: inherit; transform: rotate(45deg); border-radius: 0 0 4px 0;}
.fm .hilsener span.h::after {left: auto; right: 18px;}
.fm .hilsener span.stor {font-size: 2rem; padding: 0.9rem 1.5rem; background: var(--primary); color: var(--base);}
.fm .sted-foto {position: relative; max-width: 560px; width: 100%; margin-left: auto;}
.fm .sted-foto img, .fm .sted-foto .bilde-tom {width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 32px;}
.fm .sted-foto .bilde-tom {display: grid; place-items: center; background: var(--gronn) radial-gradient(circle at 70% 25%, rgb(255 255 255 / 0.6), transparent 55%);}
.fm .sted-foto .adr {position: absolute; left: 1rem; top: 1rem; background: rgb(255 255 255 / 0.92); border-radius: 999px; padding: 0.45rem 0.95rem; font-size: 0.85rem; font-weight: 600; color: var(--primary);}
.fm .sted-foto .hero-merke {right: clamp(-1.5rem, -2vw, -0.5rem); bottom: clamp(1.5rem, 4vw, 2.5rem);}
.fm .finn {display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: stretch;}
.fm .finn-tekst {display: grid; gap: 1.1rem; align-content: center; justify-items: start;}
.fm .adresse {font-style: normal; font: 400 1.5rem/1.35 var(--heading-text); color: var(--primary);}
.fm .finn-tekst .notat {display: flex; gap: 0.7rem; align-items: flex-start; color: var(--dempet);}
.fm .finn-tekst .notat svg {flex: none; width: 22px; height: 22px; fill: none; stroke: var(--primary); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-top: 0.15rem;}
.fm .kart {border-radius: 28px; overflow: hidden; min-height: 360px; background: var(--gronn);}
.fm .kart iframe {width: 100%; height: 100%; min-height: 360px; border: 0; display: block;}
.fm .omrader {list-style: none; margin: 0 auto; padding: 0; max-width: 56rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.55rem;}
.fm .omrader li {background: var(--base); border-radius: 999px; padding: 0.55em 1.1em; font-weight: 600; color: var(--primary); font-size: 0.95rem;}
@media (max-width: 600px) {
.fm .omrader {gap: 0.35rem;}
.fm .omrader li {padding: 0.35em 0.8em; font-size: 0.82rem;}
}
.fm .andre {display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; max-width: 52rem; margin: 0 auto;}
.fm .andre .kontor {grid-template-columns: 1fr auto; align-items: center; padding: 1.3rem 1.5rem; gap: 0.2rem 1rem;}
.fm .andre .kontor h3, .fm .andre .kontor p {grid-column: 1;}
.fm .andre .kontor .pil-lenke {grid-column: 2; grid-row: 1 / span 2; font-size: 0;}
.fm .andre .kontor .pil-lenke::after {font-size: 1.2rem;}
.fm .kontakt {grid-template-columns: 1fr 1fr; align-items: start;}
.fm .kontakt-valg {display: grid; gap: 0.8rem; justify-items: start; align-content: center; height: 100%;}
.fm .kontakt-valg .knapp-lys {background: var(--gronn); color: var(--primary-dark);}
.fm .kontakt-valg .knapp-lys:hover {background: var(--base);}
.fm .kontakt-valg a.knapp.knapp-strek-lys {background: transparent; border: 1.5px solid rgb(249 248 241 / 0.6); color: var(--base);}
.fm .kontakt-valg a.knapp.knapp-strek-lys:hover {background: rgb(255 255 255 / 0.1);}
.fm .kontakt-valg p {color: rgb(249 248 241 / 0.85); font-size: 0.95rem; margin-top: 0.4rem;}
.fm .kontakt-valg p a {color: var(--base);}
.fm .hake.lys li {color: var(--sand);}
.fm .hake.lys li::before {background-color: rgb(255 255 255 / 0.14); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E5ECEA' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E");}
.fm .notat-lys {font-size: 0.9rem; color: rgb(249 248 241 / 0.65);}
.fm .skjema, .fm .takk {background: var(--base); color: var(--tekst); border-radius: 22px; padding: clamp(1.3rem, 3vw, 1.8rem); display: grid; gap: 0.9rem;}
.fm .skjema[hidden], .fm .takk[hidden] {display: none;}
.fm .skjema label {display: grid; gap: 0.35rem; font-size: 0.9rem; font-weight: 600; color: var(--primary);}
.fm .skjema label span {font-weight: 400; color: var(--dempet);}
.fm .skjema .to {display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem;}
.fm .skjema input:not([type=checkbox]), .fm .skjema select, .fm .skjema textarea {font: 400 1rem var(--body); color: var(--tekst); border: 1.5px solid var(--border); border-radius: 12px; padding: 0.7em 0.9em; background: var(--base); width: 100%;}
.fm .skjema textarea {resize: vertical;}
.fm .skjema input:focus, .fm .skjema select:focus, .fm .skjema textarea:focus {outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary);}
.fm .skjema .samtykke {display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; color: var(--dempet); font-size: 0.86rem;}
.fm .skjema .samtykke input {margin-top: 0.2rem; accent-color: var(--primary);}
.fm .skjema .samtykke span {color: var(--dempet);}
.fm .mork .skjema .knapp {justify-self: start; border: 0; cursor: pointer; background: var(--primary); color: var(--base);}
.fm .mork .skjema .knapp:hover {background: var(--primary-dark);}
.fm .takk strong {font: 400 1.4rem var(--heading); color: var(--primary);}
.fm .takk p {color: var(--dempet);}
.fm .kontakt .feil {grid-column: 2; color: var(--base); background: rgb(138 59 18 / 0.85); border-radius: 12px; padding: 0.8rem 1rem;}
.fm .kontakt .feil a {color: var(--base);}
.fm .skjema button[disabled] {opacity: 0.6;}
@media (max-width: 960px) {
.fm .kontakt {grid-template-columns: 1fr;}
.fm .kontakt .feil {grid-column: auto;}
}
@media (max-width: 600px) {
.fm .skjema .to {grid-template-columns: 1fr;}
.fm .skjema .to.postnr-rad {grid-template-columns: minmax(0, 0.45fr) minmax(0, 1fr);}
}
.fm .bestill-hero {padding-bottom: clamp(2rem, 5vw, 3.5rem);}
.fm .bestill-hero .hub-hero-tekst {max-width: 46rem;}
.fm .takk-ikon {width: 64px; height: 64px; border-radius: 50%; background: var(--gronn); color: var(--primary); display: grid; place-items: center; margin-bottom: 0.4rem;}
.fm .takk-ikon svg {width: 28px; height: 28px;}
.fm .takk-grid {display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start;}
.fm .takk-grid .prosess {margin: 0;}
.fm .takk-side {display: grid; gap: 1rem;}
@media (max-width: 860px) {
.fm .takk-grid {grid-template-columns: 1fr;}
}
.fm .bestill-topp {padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 6vw, 4.5rem);}
.fm .bestill {display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); grid-template-areas: "intro skjema" "side skjema"; grid-template-rows: auto 1fr; gap: 1.6rem clamp(2rem, 5vw, 4.5rem); align-items: start;}
.fm .bestill-intro {grid-area: intro; display: grid; gap: 1.2rem; justify-items: start; padding-top: 0.6rem;}
.fm .bestill-intro h1 {font-size: clamp(2.2rem, 4.2vw, 3.2rem);}
.fm .bestill-intro .fordeler {grid-template-columns: 1fr; gap: 0.5rem;}
.fm .bestill-intro .ansvarlige {justify-content: flex-start; margin-top: 0.4rem;}
.fm .bestill-skjema {grid-area: skjema;}
.fm .bestill-skjema .skjema {background: var(--base); border-color: transparent; box-shadow: 0 30px 60px -40px rgb(35 69 66 / 0.45);}
.fm .bestill-side {grid-area: side;}
.fm .bestill-side .sidekort:not(.mork-kort) {background: var(--base);}
.fm .steg-tall span {color: var(--primary);}
.fm .legg-til-lenke {justify-self: start; background: none; border: 0; padding: 0; margin-top: -0.4rem; font: 600 0.88rem var(--body); color: var(--primary); cursor: pointer; text-decoration: underline; text-underline-offset: 3px;}
.fm .skjema .postnr-rad {grid-template-columns: minmax(0, 0.4fr) minmax(0, 1fr);}
.fm .skjema .trygg {display: flex; gap: 0.6rem; align-items: flex-start; background: var(--gronn); border-radius: 14px; padding: 0.8rem 1rem; font-size: 0.88rem; color: var(--primary);}
.fm .skjema .trygg svg {width: 18px; height: 18px; flex: none; margin-top: 0.1rem;}
.fm .prosess.tre-steg {max-width: none; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14em), 1fr)); gap: 1.5rem;}
.fm .prosess.tre-steg li {padding-bottom: 0;}
.fm .prosess.tre-steg li::after {display: none;}
@media (max-width: 760px) {
.fm .prosess.tre-steg {grid-template-columns: 1fr;}
}
.fm .bestill-skjema .skjema, .fm .bestill-skjema .takk {border: 1px solid var(--linje-sand); border-radius: 28px; padding: clamp(1.4rem, 4vw, 2.4rem); gap: 1.4rem;}
.fm .skjema fieldset {border: 0; margin: 0; padding: 0; display: grid; gap: 0.9rem;}
.fm .skjema legend {font: 400 1.25rem var(--heading-text); color: var(--primary); margin-bottom: 0.6rem;}
.fm .skjema .hjelp {font-size: 0.9rem; color: var(--dempet); margin-top: -0.4rem;}
.fm .skjema .etikett-lite {font-size: 0.9rem; font-weight: 600; color: var(--primary); margin-bottom: -0.4rem;}
.fm .skjema .valgknapper {gap: 0.45rem;}
.fm .skjema .valgknapper label {display: block; position: relative;}
.fm .skjema .valgknapper input {width: 1px; height: 1px;}
.fm .skjema .valgknapper span {padding: 0.55em 1.05em; font-size: 0.93rem;}
.fm .skjema [hidden] {display: none !important;}
.fm .skjema .feil {color: #8A3B12; font-weight: 600;}
.fm .steg-topp {display: grid; gap: 0.6rem;}
.fm .steg-tall {font-size: 0.88rem; font-weight: 600; color: var(--dempet);}
.fm .steg-tall b {color: var(--primary);}
.fm .steg-linje {list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.35rem;}
.fm .steg-linje li {height: 5px; border-radius: 5px; background: var(--linje-sand); transition: background 0.25s;}
.fm .steg-linje li.ferdig {background: var(--primary);}
.fm .skjemasteg {display: grid; gap: 1.4rem;}
.fm .skjemasteg legend:focus {outline: none;}
.fm .steg-knapper {display: flex; align-items: center; gap: 1rem; padding-top: 1.2rem; border-top: 1px solid var(--linje-sand);}
.fm .steg-knapper .knapp {margin-left: auto; border: 0; cursor: pointer;}
.fm .steg-tilbake {background: none; border: 0; padding: 0.5em 0; font: 600 0.95rem var(--body); color: var(--primary); cursor: pointer;}
.fm .steg-tilbake::before {content: "← ";}
.fm .steg-tilbake:hover {text-decoration: underline;}
.fm .barneliste {display: grid; gap: 0.8rem;}
.fm .barn-rad {display: grid; grid-template-columns: 1fr 1fr 0.9fr; gap: 0.7rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--linje-sand);}
.fm .legg-til {justify-self: start; background: none; border: 1.5px dashed var(--border); border-radius: 999px; padding: 0.55em 1.1em; font: 600 0.92rem var(--body); color: var(--primary); cursor: pointer;}
.fm .legg-til:hover {border-color: var(--primary);}
.fm .skjema .hjelp + .valgknapper {margin-top: -0.2rem;}
.fm .fm-honning {position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
.fm .bestill-skjema .takk {background: var(--gronn); border: 0;}
.fm .bestill-skjema .takk .pil-lenke {color: var(--primary);}
.fm .bestill-side {display: grid; gap: 1rem;}
.fm .sidekort {background: var(--sand); border-radius: 24px; padding: clamp(1.3rem, 3vw, 1.8rem); display: grid; gap: 0.7rem;}
.fm .sidekort h2 {font-size: 1.35rem;}
.fm .sidekort p {color: var(--dempet); font-size: 0.97rem;}
.fm .mork-kort {background: var(--primary);}
.fm .mork-kort h2 {color: var(--base);}
.fm .mork-kort p {color: rgb(249 248 241 / 0.8);}
.fm .mork-kort .knapp {justify-self: start; background: var(--gronn); color: var(--primary-dark);}
.fm .mork-kort .knapp:hover {background: var(--base);}
.fm .prosess.liten {margin: 0;}
.fm .prosess.liten li {grid-template-columns: 36px 1fr; gap: 0.9rem; padding-bottom: 1.1rem;}
.fm .prosess.liten li::before {width: 36px; height: 36px; font-size: 1rem;}
.fm .prosess.liten li::after {left: 17px; top: 36px;}
.fm .prosess.liten div {padding-top: 0.35rem; gap: 0.1rem;}
.fm .prosess.liten h3 {font-size: 1.05rem;}
.fm .prosess.liten p {font-size: 0.93rem;}
.fm .situasjoner.fire {grid-template-columns: repeat(4, 1fr);}
.fm .meklere.en {grid-template-columns: minmax(0, 46rem); justify-content: center;}
.fm .meklere.en .etikett {margin-bottom: 0.2rem;}
.fm .sok {display: block; width: 100%; max-width: 34rem;}
.fm .sok input {width: 100%; font: 400 1.05rem var(--body); color: var(--tekst); border: 1.5px solid var(--border); border-radius: 999px; padding: 0.85em 1.3em 0.85em 2.9em; background: var(--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526D6A' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 1.1em center / 1.1em no-repeat;}
.fm .sok input:focus {outline: 2px solid var(--primary); outline-offset: 2px;}
.fm .faq-chips {display: flex; flex-wrap: wrap; gap: 0.5rem;}
.fm .faq-chips a {border: 1.5px solid var(--border); border-radius: 999px; padding: 0.45em 1em; font-size: 0.92rem; font-weight: 600; text-decoration: none; color: var(--primary); background: var(--base);}
.fm .faq-chips a:hover {border-color: var(--primary);}
.fm .faq-alle {display: grid; gap: clamp(2.5rem, 5vw, 3.5rem);}
.fm .faq-gruppe {display: grid; gap: 1.2rem; width: 100%; max-width: 52rem; margin-inline: auto;}
.fm .faq-gruppe[hidden] {display: none;}
.fm .faq-gruppe h2 {font-size: clamp(1.5rem, 3vw, 2rem);}
.fm .faq-gruppe .faq {width: 100%;}
.fm .faq details[hidden] {display: none;}
.fm .kilde-lenke {font-weight: 600; white-space: nowrap;}
.fm .faq-alle .ingen {text-align: center; color: var(--dempet);}
@media (max-width: 960px) {
.fm .bestill {grid-template-columns: 1fr; grid-template-areas: "intro" "skjema" "side"; grid-template-rows: none;}
.fm .situasjoner.fire {grid-template-columns: 1fr 1fr;}
}
@media (max-width: 600px) {
.fm .situasjoner.fire {grid-template-columns: 1fr;}
.fm .barn-rad {grid-template-columns: 1fr 1fr;}
.fm .barn-rad label:last-child {grid-column: 1 / -1;}
}
.fm .illu-beskaar {width: 100%; aspect-ratio: 1024 / 380; object-fit: cover; object-position: 50% 42%;}
@media (max-width: 960px) {
.fm .delt, .fm .finn, .fm .mork {grid-template-columns: 1fr;}
.fm .mork .knapp {justify-self: start;}
.fm .sted-foto {margin-inline: auto;}
.fm .sted-foto .hero-merke {right: 1rem; bottom: 1rem;}
}
@media (max-width: 860px) {
.fm .par, .fm .andre {grid-template-columns: 1fr;}
.fm .steg3.fire {grid-template-columns: 1fr;}
.fm .hilsener {min-height: 280px;}
}
@media (max-width: 600px) {
.fm .rute {grid-template-columns: 1fr;}
.fm .frist-svar {text-align: left;}
.fm .maneder span {height: 44px; font-size: 0.75rem;}
.fm .adresse {font-size: 1.3rem;}
.fm .kart, .fm .kart iframe {min-height: 280px;}
.fm .sted-foto .hero-merke {display: none;}
.fm .hub-illu .hero-merke {position: relative; right: auto; bottom: auto; margin-top: 1rem; justify-self: start; display: inline-grid; box-shadow: none;}
}
.fm .papir-wrap {position: relative; max-width: 460px; width: 100%; margin-left: auto;}
.fm .papir-wrap .hero-merke {right: clamp(-1.5rem, -2vw, -0.5rem); bottom: clamp(1.5rem, 4vw, 2.5rem);}
.fm .papir {position: relative; width: 100%; background: var(--gronn); border-radius: 32px; padding: clamp(2rem, 5vw, 3rem) clamp(1.6rem, 4vw, 3rem) 0; overflow: hidden;}
.fm .papir-ark {background: var(--base); border-radius: 10px 10px 0 0; padding: 1.8rem 1.8rem 2.4rem; box-shadow: 0 30px 60px -30px rgb(35 69 66 / 0.45); transform: rotate(-2deg) translateY(10px); display: grid; gap: 0.7rem;}
.fm .papir-ark b {font: 400 1.6rem var(--heading); color: var(--primary);}
.fm .papir-ark i {display: block; height: 8px; border-radius: 4px; background: var(--linje-sand);}
.fm .papir-ark i.k {width: 60%;}
.fm .papir-ark i.m {width: 85%;}
.fm .papir-ark .mini {display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin: 0.4rem 0;}
.fm .papir-ark .mini span {height: 18px; border-radius: 5px; background: var(--primary);}
.fm .papir-ark .mini span.b {background: var(--gronn);}
.fm .papir-ark .sign {display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 0.8rem;}
.fm .papir-ark .sign span {border-bottom: 1.5px solid var(--primary); height: 28px; font: italic 400 1.3rem var(--heading-text); color: var(--primary); opacity: 0.8;}
.fm .uker {display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin: 0.2rem 0 0.4rem;}
.fm .uker span {height: 22px; border-radius: 6px; background: var(--primary);}
.fm .uker span.b {background: var(--gronn);}
.fm .uker span.kv {background: linear-gradient(135deg, var(--primary) 50%, var(--gronn) 50%);}
.fm .wrap.smal {max-width: 52rem;}
.fm .bygger-skjema {box-shadow: 0 30px 60px -40px rgb(35 69 66 / 0.45); gap: 1.6rem;}
.fm .bygger-skjema fieldset {border: 0; margin: 0; padding: 0; display: grid; gap: 0.9rem;}
.fm .bygger-skjema legend span, .fm .bygger-skjema label span {font-weight: 400; color: var(--dempet);}
.fm .bygger-skjema .valgknapper b {font-weight: inherit;}
.fm .bygger-skjema .to > div {display: grid; gap: 0.5rem; align-content: start;}
.fm .bsteg {display: grid; gap: 1.8rem;}
.fm .bsteg {gap: 2.4rem !important;}
.fm .bygger-skjema fieldset > label:not(.samtykke), .fm .bygger-skjema .to > label {display: block;}
.fm .bygger-skjema label > input:not([type=checkbox]):not([type=radio]), .fm .bygger-skjema label > select, .fm .bygger-skjema label > textarea {display: block; margin-top: 0.4rem;}
.fm .bygger-skjema .barn-rad {grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); padding: 0; border: 0;}
.fm .steg-chips {display: flex; gap: 0.4rem; overflow-x: auto; scrollbar-width: none; margin: -0.2rem -0.2rem 0; padding: 0.2rem;}
.fm .steg-chips::-webkit-scrollbar {display: none;}
.fm .steg-chip {flex: none; display: inline-flex; align-items: center; gap: 0.5rem; border: 1.5px solid var(--border); background: var(--base); color: var(--dempet); border-radius: 999px; padding: 0.45em 0.95em 0.45em 0.5em; font: 600 0.88rem var(--body); cursor: pointer;}
.fm .steg-chip b {width: 1.6em; height: 1.6em; border-radius: 50%; display: grid; place-items: center; background: var(--sand); color: var(--primary); font-size: 0.8rem;}
.fm .steg-chip.ferdig b {background: var(--gronn);}
.fm .steg-chip.aktiv {border-color: var(--primary); color: var(--primary);}
.fm .steg-chip.aktiv b {background: var(--primary); color: var(--base);}
.fm .kal {display: grid; gap: 0.45rem;}
.fm .kal-uke {display: grid; grid-template-columns: 3.4rem repeat(7, minmax(0, 1fr)); gap: 5px; align-items: center;}
.fm .kal-uke b {font-size: 0.82rem; color: var(--dempet); font-weight: 600;}
.fm .kal-dag {height: 54px; border: 0; border-radius: 12px; font: 700 0.82rem var(--body); cursor: pointer; transition: transform .15s; -webkit-tap-highlight-color: transparent;}
.fm .kal-dag:active {transform: scale(0.94);}
.fm .kal-dag.k1 {background: var(--primary); color: var(--base);}
.fm .kal-dag.k2 {background: var(--gronn-lys, #CFE0D9); color: var(--primary); box-shadow: inset 0 0 0 1.5px rgb(46 90 87 / 0.25);}
.fm .kal-dag.kd2 {background: linear-gradient(160deg, var(--gronn-lys, #CFE0D9) 0 45%, var(--primary) 45%); color: var(--base);}
.fm .kal-dag.kd1 {background: linear-gradient(160deg, var(--primary) 0 45%, var(--gronn-lys, #CFE0D9) 45%); color: var(--primary); box-shadow: inset 0 0 0 1.5px rgb(46 90 87 / 0.25);}
.fm .kal-forklaring {display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; font-size: 0.84rem; color: var(--dempet);}
.fm .kal-forklaring span {display: inline-flex; gap: 0.45rem; align-items: center;}
.fm .kal-forklaring span::before {content: ""; width: 14px; height: 14px; border-radius: 4px; background: var(--primary);}
.fm .kal-forklaring .k2::before {background: var(--gronn-lys, #CFE0D9); box-shadow: inset 0 0 0 1.5px rgb(46 90 87 / 0.25);}
.fm .kal-forklaring .kd::before {background: linear-gradient(160deg, var(--gronn-lys, #CFE0D9) 0 45%, var(--primary) 45%);}
.fm .kal-sum {background: var(--gronn); border-radius: 14px; padding: 0.8rem 1rem; font-size: 0.93rem; color: var(--primary);}
.fm .hurtig {display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; font-size: 0.85rem; color: var(--dempet);}
.fm .hurtig button {border: 1.5px dashed var(--border); background: none; border-radius: 999px; padding: 0.4em 0.9em; font: 600 0.84rem var(--body); color: var(--primary); cursor: pointer;}
.fm .hurtig button:hover {border-color: var(--primary);}
.fm .bygger-skjema .lagret {font-size: 0.82rem; color: var(--dempet); text-align: center;}
.fm .bygger-skjema .lagret button {background: none; border: 0; padding: 0; font: inherit; color: var(--primary); text-decoration: underline; cursor: pointer;}
.fm .avtale-topp {display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.4rem;}
.fm .avtale-topp .knapp {border: 0; cursor: pointer;}
.fm .ark-ramme {background: var(--gronn); border-radius: 24px; padding: clamp(0.6rem, 2vw, 1.4rem);}
.fm .avtale {background: var(--base); border-radius: 6px; padding: clamp(1.5rem, 4vw, 3rem) clamp(1.3rem, 4vw, 3.2rem); box-shadow: 0 16px 40px -28px rgb(35 69 66 / 0.5); font-size: 0.95rem; line-height: 1.6; color: var(--tekst);}
.fm .avtale .avtale-tittel {font-size: clamp(1.7rem, 3vw, 2.2rem); margin-bottom: 1rem;}
.fm .avtale h3 {font-size: 1.08rem; margin: 1.4rem 0 0.4rem;}
.fm .avtale p + p, .fm .avtale ul + p {margin-top: 0.5rem;}
.fm .avtale ul {margin: 0.5rem 0 0; padding-left: 1.2rem; display: grid; gap: 0.35rem;}
.fm .avtale .tom {display: inline-block; min-width: 7em; border-bottom: 1.5px solid var(--dempet); color: var(--dempet); font-size: 0.78em; line-height: 1.2; padding: 0 0.2em; background: rgb(229 236 234 / 0.6);}
.fm .avtale .sted {margin-top: 1rem !important;}
.fm .avtale .signatur {display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.6rem;}
.fm .avtale .signatur div {display: grid; gap: 0.3rem; font-size: 0.9rem;}
.fm .avtale .signatur span:first-child {border-bottom: 1.5px solid var(--tekst); height: 2.2rem;}
.fm .avtale .signatur .tom {border: 0; background: none; padding: 0;}
.fm .avtale .kilde {margin-top: 2.2rem !important; font-size: 0.75rem; color: var(--dempet); text-align: right;}
.fm .nedlast {display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;}
.fm .nedlast > div {background: var(--base); border-radius: 24px; padding: clamp(1.4rem, 3vw, 1.9rem); display: grid; gap: 0.8rem; align-content: start;}
.fm .nedlast h3 {font-size: 1.25rem;}
.fm .nedlast p {color: var(--dempet); font-size: 0.95rem;}
.fm .nedlast .filer {display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.3rem;}
.fm .nedlast .filer a {display: inline-flex; align-items: center; gap: 0.45rem; border: 1.5px solid var(--border); border-radius: 999px; padding: 0.5em 1em; font-size: 0.9rem; font-weight: 600; text-decoration: none; color: var(--primary); transition: border-color .2s, background .2s;}
.fm .nedlast .filer a:hover {border-color: var(--primary); background: var(--sand);}
.fm .nedlast .filer a::before {content: "↓";}
.fm .nedlast .filer small {font-weight: 500; color: var(--dempet);}
.fm .sjekkliste-to .hake {grid-template-columns: 1fr 1fr; column-gap: 2rem;}
.fm .sjekkliste-to .hake li + li {border-top: 0; padding-top: 0;}
@media (max-width: 860px) {
.fm .nedlast {grid-template-columns: 1fr;}
.fm .papir-wrap {margin-inline: auto;}
.fm .sjekkliste-to .hake {grid-template-columns: 1fr;}
}
@media (max-width: 600px) {
.fm .kal-uke {grid-template-columns: 2.6rem repeat(7, minmax(0, 1fr)); gap: 4px;}
.fm .kal-uke b {font-size: 0.74rem;}
.fm .kal-dag {height: 48px; font-size: 0.76rem; border-radius: 10px;}
.fm .bygger-skjema .barn-rad {grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);}
.fm .avtale .signatur {gap: 1rem;}
.fm .papir-wrap .hero-merke {right: 1rem; bottom: 1rem;}
}
@page { margin: 2cm; }
@media print {
.fm {background: #fff;}
.fm .nh, .fm .fot, .fm .mobil-cta, .fm > section:not(#avtalen), .fm .avtale-topp {display: none !important;}
.fm #avtalen {padding: 0;}
.fm #avtalen .wrap {padding: 0; max-width: none;}
.fm .ark-ramme {background: none; padding: 0; max-height: none; overflow: visible; border-radius: 0;}
.fm .avtale {box-shadow: none; padding: 0; border-radius: 0; font-size: 11pt;}
.fm .avtale h3 {break-after: avoid;}
.fm .avtale .signatur {break-inside: avoid;}
.fm .avtale .tom {background: none; min-width: 10em;}
}
/* Temaets egne regler som må nulles ut inni seksjonene */
.fm.entry-content > *, .fm > * { margin-block: 0; }
.fm { padding: 0; }
@media print { .wp-site-blocks > :not(main), .nh-panel { display: none !important; } }
