:root,html[data-theme="kirken"] { --primary: #0f0f10; --primary-2: #1b1b1d; --secondary: #f3f1ee; --surface: #ffffff; --text: #222222; --muted: #6f6b66; --border: #ddd8d1; --accent: #67574a; --accent-hover: #52453b; --accent-soft: #ede7e1; --accent-rgb: 103, 87, 74;}html[data-theme="electric-blue"] { --primary: #07111f; --primary-2: #101d2e; --secondary: #eef5ff; --surface: #ffffff; --text: #172033; --muted: #687386; --border: #d9e5f5; --accent: #1677ff; --accent-hover: #0f5fd3; --accent-soft: #e8f1ff; --accent-rgb: 22, 119, 255;}html[data-theme="emerald"] { --primary: #071713; --primary-2: #10251f; --secondary: #eef8f4; --surface: #ffffff; --text: #17251f; --muted: #66766f; --border: #d8e8e1; --accent: #159f78; --accent-hover: #0e7d5e; --accent-soft: #e2f5ef; --accent-rgb: 21, 159, 120;}html[data-theme="royal-purple"] { --primary: #100d1c; --primary-2: #1b1730; --secondary: #f3f0ff; --surface: #ffffff; --text: #241e36; --muted: #746d83; --border: #e1dcf0; --accent: #7c5cff; --accent-hover: #6245db; --accent-soft: #ece8ff; --accent-rgb: 124, 92, 255;}html[data-theme="deep-red"] { --primary: #190a0c; --primary-2: #2a1115; --secondary: #fff1f2; --surface: #ffffff; --text: #301b1e; --muted: #806c6f; --border: #ecdadd; --accent: #c53d4a; --accent-hover: #9f2f3a; --accent-soft: #fbe7e9; --accent-rgb: 197, 61, 74;}html[data-theme="champagne"] { --primary: #15110b; --primary-2: #241c12; --secondary: #faf6ee; --surface: #ffffff; --text: #30281d; --muted: #7c7264; --border: #e8dfd0; --accent: #b1905e; --accent-hover: #8d7046; --accent-soft: #f3eadb; --accent-rgb: 177, 144, 94;}html[data-theme="cyan"] { --primary: #061619; --primary-2: #0c252a; --secondary: #ebf9fa; --surface: #ffffff; --text: #163035; --muted: #617b80; --border: #d6e9eb; --accent: #00a7b5; --accent-hover: #00818c; --accent-soft: #dff5f7; --accent-rgb: 0, 167, 181;}html[data-theme="slate"] { --primary: #0d1115; --primary-2: #1a222b; --secondary: #f0f3f6; --surface: #ffffff; --text: #222b34; --muted: #68727d; --border: #dce2e8; --accent: #59697a; --accent-hover: #43515f; --accent-soft: #e7ebef; --accent-rgb: 89, 105, 122;}html[data-theme="magenta"] { --primary: #180b12; --primary-2: #2a1421; --secondary: #fff1f8; --surface: #ffffff; --text: #34202b; --muted: #826c78; --border: #edd9e4; --accent: #c5488d; --accent-hover: #9e366e; --accent-soft: #fae5f1; --accent-rgb: 197, 72, 141;}html[data-theme="olive"] { --primary: #11150a; --primary-2: #202719; --secondary: #f4f6ed; --surface: #ffffff; --text: #2a3020; --muted: #737b66; --border: #e0e5d5; --accent: #788c47; --accent-hover: #5f7137; --accent-soft: #edf1e2; --accent-rgb: 120, 140, 71;}* { box-sizing: border-box;}html { overflow-x: hidden; scroll-behavior: smooth;}body { overflow-x: hidden; font-family: "Prompt", sans-serif; color: var(--text); background: var(--surface); transition: background-color .25s ease, color .25s ease;}section { scroll-margin-top: 76px;}.section-padding { padding: 90px 0;}.bg-soft { background: var(--secondary);}.text-accent { color: var(--accent) !important;}.section-label { display: inline-block; margin-bottom: 12px; color: var(--accent); font-size: .85rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;}.section-title { margin-bottom: 18px; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.25;}.section-desc { max-width: 760px; color: var(--muted); line-height: 1.85;}.navbar { min-height: 76px; background: color-mix(in srgb, var(--primary) 92%, transparent); border-bottom: 1px solid rgba(255, 255, 255, .08); backdrop-filter: blur(10px);}.navbar-brand { color: #fff !important; font-size: 1.8rem; font-weight: 600; letter-spacing: .5px;}.navbar-brand small { display: block; margin-top: -4px; color: rgba(255, 255, 255, .7); font-size: .68rem; font-weight: 400; letter-spacing: 1.3px;}.navbar .nav-link { margin: 0 8px; color: rgba(255, 255, 255, .78); font-size: .95rem;}.navbar .nav-link:hover,.navbar .nav-link.active { color: #fff;}.btn-accent { padding: 12px 22px; color: #fff; font-weight: 500; background: var(--accent); border-color: var(--accent); border-radius: 8px;}.btn-accent:hover,.btn-accent:focus { color: #fff; background: var(--accent-hover); border-color: var(--accent-hover);}.btn-outline-light-custom { padding: 12px 22px; color: #fff; font-weight: 500; border: 1px solid rgba(255, 255, 255, .55); border-radius: 8px;}.btn-outline-light-custom:hover { color: var(--primary); background: #fff; border-color: #fff;}.hero-slide { position: relative; display: flex; min-height: 760px; align-items: center; background-position: center; background-size: cover;}.hero-1 { background-image: linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .72) 42%, rgba(0, 0, 0, .3) 100%), url("../images/kirken-hero-01.jpg");}.hero-2 { background-image: linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .72) 42%, rgba(0, 0, 0, .3) 100%), url("../images/kirken-hero-02.jpg");}.hero-content { max-width: 760px; padding-top: 90px; padding-bottom: 60px;}.hero-kicker { display: block; margin-bottom: 14px; color: color-mix(in srgb, var(--accent) 60%, white); font-size: .95rem; letter-spacing: 1.2px; text-transform: uppercase;}.hero-title { margin-bottom: 18px; color: #fff; font-size: clamp(2.7rem, 6vw, 5rem); font-weight: 700; line-height: 1.08;}.hero-subtitle { margin-bottom: 18px; color: color-mix(in srgb, var(--accent) 52%, white); font-size: 1rem; letter-spacing: 1px; text-transform: uppercase;}.hero-desc { max-width: 650px; margin-bottom: 30px; color: rgba(255, 255, 255, .75); font-size: 1.05rem; line-height: 1.9;}.hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px;}.hero-badges span { padding: 8px 14px; color: rgba(255, 255, 255, .8); font-size: .85rem; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .15); border-radius: 50px;}.about-image img { width: 100%; min-height: 520px; object-fit: cover; border-radius: 18px;}.about-box { padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px;}.icon-list { padding: 0; margin: 0; list-style: none;}.icon-list li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; color: color-mix(in srgb, var(--text) 82%, white); line-height: 1.8;}.icon-list i { margin-top: 4px; color: var(--accent);}.feature-card,.product-card,.contact-form { background: var(--surface); border: 1px solid var(--border);}.feature-card { height: 100%; padding: 30px; border-radius: 16px; transition: .3s ease;}.feature-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(0, 0, 0, .08);}.feature-icon { display: grid; width: 62px; height: 62px; margin-bottom: 20px; place-items: center; color: var(--accent); font-size: 1.5rem; background: var(--accent-soft); border-radius: 14px;}.feature-card h4 { margin-bottom: 12px; font-size: 1.15rem; font-weight: 600;}.feature-card p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.8;}.product-card { height: 100%; overflow: hidden; border-radius: 16px; transition: .3s ease;}.product-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(0, 0, 0, .08);}.product-image { position: relative; height: 290px; overflow: hidden; background: var(--accent-soft);}.product-image img { width: 100%; height: 100%; object-fit: cover;}.product-badge { position: absolute; top: 16px; left: 16px; padding: 8px 12px; color: #fff; font-size: .75rem; background: color-mix(in srgb, var(--primary) 90%, transparent); border-radius: 50px;}.product-body { padding: 26px;}.product-category { display: block; margin-bottom: 8px; color: var(--accent); font-size: .8rem; font-weight: 600; letter-spacing: .8px; text-transform: uppercase;}.product-body h3 { margin-bottom: 12px; font-size: 1.3rem; font-weight: 600;}.product-body p { color: var(--muted); font-size: .93rem; line-height: 1.8;}.product-features { padding: 0; margin: 18px 0; list-style: none;}.product-features li { display: flex; gap: 10px; margin-bottom: 10px; color: color-mix(in srgb, var(--text) 82%, white); font-size: .9rem;}.product-features i { margin-top: 4px; color: var(--accent);}.product-link { display: inline-flex; gap: 8px; align-items: center; color: var(--text); font-weight: 600; text-decoration: none;}.product-link:hover { color: var(--accent);}.compare-box { padding: 40px; color: #fff; background: radial-gradient(circle at top right, rgba(var(--accent-rgb), .28), transparent 34%), linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%); border-radius: 18px;}.compare-description,.contact-lead { color: rgba(255, 255, 255, .74); line-height: 1.9;}.compare-table .item { height: 100%; padding: 22px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px;}.compare-table h5 { margin-bottom: 14px; font-weight: 600;}.compare-table ul { padding-left: 0; margin: 0; list-style: none;}.compare-table li { display: flex; gap: 10px; margin-bottom: 10px; color: rgba(255, 255, 255, .78); font-size: .92rem;}.compare-table .bad i { color: #e46b72;}.compare-table .good i { color: #89c590;}.project-card { position: relative; height: 360px; overflow: hidden; border-radius: 18px;}.project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease;}.project-card:hover img { transform: scale(1.05);}.project-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .84), rgba(0, 0, 0, .15));}.project-content { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 24px; color: #fff;}.project-content small { display: block; margin-bottom: 8px; color: color-mix(in srgb, var(--accent) 55%, white);}.project-content h4 { margin: 0 0 6px; font-weight: 600;}.project-content p { margin: 0; color: rgba(255, 255, 255, .75); font-size: .92rem;}.contact-form,.contact-info { height: 100%; padding: 34px; border-radius: 18px;}.contact-info { color: #fff; background: radial-gradient(circle at top right, rgba(var(--accent-rgb), .23), transparent 35%), var(--primary);}.form-control,.form-select { min-height: 50px; background: color-mix(in srgb, var(--secondary) 58%, white); border: 1px solid var(--border); border-radius: 10px;}.form-control:focus,.form-select:focus { background: var(--surface); border-color: var(--accent); box-shadow: 0 0 0 .15rem rgba(var(--accent-rgb), .12);}textarea.form-control { min-height: 80px;}.contact-item { display: flex; gap: 14px; margin-bottom: 22px;}.contact-item>i { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; color: color-mix(in srgb, var(--accent) 55%, white); font-size: 1.1rem; background: rgba(255, 255, 255, .08); border-radius: 12px;}.contact-item h6 { margin-bottom: 4px; font-weight: 600;}.contact-item p { margin: 0; color: rgba(255, 255, 255, .72); font-size: .92rem; line-height: 1.7;}footer { padding: 26px 0; color: rgba(255, 255, 255, .68); background: color-mix(in srgb, var(--primary) 92%, black); border-top: 1px solid rgba(255, 255, 255, .06);}.scroll-top-button { position: fixed; z-index: 1040; right: 22px; bottom: 22px; display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: var(--accent); border: 0; border-radius: 50%; box-shadow: 0 12px 28px rgba(0, 0, 0, .2); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .25s ease;}.scroll-top-button:hover { background: var(--accent-hover);}.scroll-top-button.show { opacity: 1; visibility: visible; transform: translateY(0);}.theme-toggle { position: fixed; z-index: 1061; top: 96px; right: 18px; display: grid; width: 48px; height: 48px; place-items: center; color: #fff; font-size: 1.15rem; background: var(--accent); border: 0; border-radius: 50%; box-shadow: 0 12px 28px rgba(0, 0, 0, .18);}.theme-panel { position: fixed; z-index: 1065; top: 0; right: 0; width: min(390px, 92vw); height: 100dvh; padding: 24px; overflow-y: auto; background: var(--surface); box-shadow: -16px 0 42px rgba(0, 0, 0, .18); transform: translateX(105%); transition: transform .3s ease;}.theme-panel.open { transform: translateX(0);}.theme-panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px;}.theme-panel-header small { color: var(--accent); text-transform: uppercase; letter-spacing: .9px;}.theme-grid { display: grid; gap: 12px;}.theme-option { display: flex; gap: 12px; align-items: center; width: 100%; padding: 14px; color: var(--text); text-align: left; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; transition: .2s ease;}.theme-option:hover,.theme-option.active { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .1);}.swatch { width: 28px; height: 28px; background: var(--swatch); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .14);}.theme-note { margin-top: 18px; color: var(--muted); font-size: .85rem; line-height: 1.7;}.theme-backdrop { position: fixed; z-index: 1060; inset: 0; background: rgba(0, 0, 0, .42); opacity: 0; visibility: hidden; transition: .25s ease;}.theme-backdrop.show { opacity: 1; visibility: visible;}.toast { color: var(--text); background: var(--surface); box-shadow: 0 12px 28px rgba(0, 0, 0, .16);}@media (max-width: 991.98px) { .navbar-collapse { padding: 16px; margin-top: 12px; background: var(--primary-2); border-radius: 14px; } .hero-slide { min-height: 700px; }}@media (max-width: 767.98px) { .section-padding { padding: 70px 0; } .hero-slide { min-height: 660px; } .hero-title { font-size: 2.5rem; } .compare-box { padding: 24px; } .theme-toggle { top: auto; right: 18px; bottom: 84px; } .scroll-top-button { right: 18px; bottom: 22px; }}.navbar-logo { height: 46px; width: auto; object-fit: contain;}.hp-field { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;}.select2-container { width: 100% !important; max-width: 100%; box-sizing: border-box;}.select2-container .select2-selection--single { min-height: 50px; padding: 0 12px; background: color-mix(in srgb, var(--secondary) 58%, white); border: 1px solid var(--border); border-radius: 10px; outline: none; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; box-sizing: border-box;}.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; color: var(--text); line-height: 48px; font-family: "Prompt", sans-serif; font-size: 1rem;}.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--muted);}.select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 12px; height: 26px;}.select2-container--default.select2-container--open .select2-selection--single,.select2-container--default.select2-container--focus .select2-selection--single { background: var(--surface); border-color: var(--accent); box-shadow: 0 0 0 .15rem rgba(var(--accent-rgb), .12);}.select2-dropdown { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, .1); font-family: "Prompt", sans-serif; overflow: hidden; z-index: 9999; box-sizing: border-box;}.select2-results__option { padding: 10px 14px; color: var(--text); font-size: .95rem;}.select2-results__option--highlighted[aria-selected] { background: var(--accent); color: #fff;}.select2-results__option[aria-selected=true] { background: var(--accent-soft); color: var(--accent);}.select2-container--default .select2-results__option--disabled { color: var(--muted);}.select2-results > .select2-results__options { max-height: 300px; overflow-y: auto; scrollbar-width: none;}.select2-results > .select2-results__options::-webkit-scrollbar { display: none;}.toast-success { background: var(--accent-soft) !important;}.toast-success .toast-body { color: var(--accent); font-weight: 500;}.toast-error { background: #fde8e8 !important;}.toast-error .toast-body { color: #b91c1c; font-weight: 500;}.toast-warning { background: #fef3cd !important;}.toast-warning .toast-body { color: #92400e; font-weight: 500;}.required-star { color: #dc3545; font-weight: 600;}.required-note { font-size: .82rem; color: #dc3545;}.word-counter { display: block; margin-top: 4px; font-size: .79rem; color: var(--muted); text-align: right;}.word-counter.over-limit { color: #dc3545; font-weight: 500;}