/* ==========================================================================
   BORYDD — Scandinavian Premium Design System
   Enhanced Typography, Kinetic Animations, Bespoke Service Themes & Pricing
   ========================================================================== */

:root {
    --navy: #062e3c;
    --navy-deep: #03232e;
    --navy-light: #0d4355;
    --green: #669039;
    --green-dark: #4d6d24;
    --lime: #abd158;
    --lime-light: #e6fbc4;
    --paper: #f6f7f0;
    --paper-card: #ffffff;
    --muted: #4e5f59;
    --muted-light: #83948e;
    --line: #d9dfd1;
    --line-subtle: #e5eadc;
    --white: #ffffff;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --shadow-sm: 0 2px 8px rgba(6, 46, 60, 0.05);
    --shadow-md: 0 8px 24px rgba(6, 46, 60, 0.08);
    --shadow-lg: 0 16px 40px rgba(6, 46, 60, 0.12);
    --shadow-hover: 0 22px 48px -10px rgba(6, 46, 60, 0.22);
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-xl: 24px;
}

/* --------------------------------------------------------------------------
   Base & Reset
   -------------------------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--navy);
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    line-height: 1.75;
    font-size: 17px;
    letter-spacing: -0.01em;
    overflow-x: hidden;
}

body.menu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s var(--ease);
}

button, input, select, textarea {
    font: inherit;
}

button {
    cursor: pointer;
    color: inherit;
    border: none;
    background: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

button, a, input, select, textarea {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline: 3px solid var(--green);
    outline-offset: 4px;
}

[hidden] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Typography Scale ("WOW" Hierarchy)
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, p {
    margin: 0;
}

h1, h2, h3, h4 {
    font-family: "Manrope", sans-serif;
    line-height: 1.05;
    color: var(--navy);
    font-weight: 550;
}

h1 {
    font-size: clamp(58px, 7.2vw, 112px);
    letter-spacing: -0.045em;
}

h2 {
    font-size: clamp(38px, 4.6vw, 68px);
    letter-spacing: -0.035em;
    line-height: 1.1;
}

h3 {
    font-size: clamp(26px, 2.6vw, 34px);
    letter-spacing: -0.025em;
    font-weight: 650;
    line-height: 1.2;
}

h4 {
    font-size: 20px;
    letter-spacing: -0.015em;
    font-weight: 650;
    line-height: 1.35;
}

h1 em, h2 em, h3 em {
    font-style: normal;
    color: var(--green);
}

p {
    color: var(--muted);
    font-size: 16.5px;
    line-height: 1.75;
}

/* --------------------------------------------------------------------------
   Layout Containers & Utilities
   -------------------------------------------------------------------------- */
.container {
    width: min(1320px, calc(100% - 100px));
    margin-inline: auto;
}

.section {
    padding: 50px 0;
}

.section-no-top {
    padding-top: 0;
}

.icon {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

/* Glowing Eyebrow Badge */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11.5px;
    letter-spacing: 2.4px;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 24px;
    text-transform: uppercase;
}

.eyebrow.light {
    color: var(--lime);
}

.eyebrow i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lime);
    box-shadow: 0 0 0 5px rgba(213, 239, 157, 0.25);
    animation: pulseDot 2.2s infinite ease-in-out;
}

@keyframes pulseDot {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 0 4px rgba(213, 239, 157, 0.3);
    }
    50% {
        transform: scale(1.2);
        box-shadow: 0 0 0 8px rgba(213, 239, 157, 0.1);
    }
}

/* --------------------------------------------------------------------------
   Buttons — Diagonal Hover Fill
   -------------------------------------------------------------------------- */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 18px 32px;
    line-height: 1.3;
    font-size: 15px;
    font-weight: 650;
    letter-spacing: 0.01em;
    border: 1.5px solid transparent;
    border-radius: var(--radius-md);
    transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease), background 0.3s var(--ease), border-color 0.3s var(--ease), color 0.3s var(--ease);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    text-align: center;
}

.button:hover {
    transform: translateY(-3px) scale(1.015);
}

.button:active {
    transform: translateY(0) scale(0.98);
}

.button span {
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    display: inline-block;
    transition: transform 0.35s var(--ease-spring);
}

.button:hover span {
    transform: translate(5px, -5px) scale(1.15);
}

.button-dark {
    background: var(--navy);
    color: var(--white);
    box-shadow: 0 6px 18px rgba(6, 46, 60, 0.15);
}

.button-dark:hover {
    background: #093748;
    box-shadow: 0 14px 32px rgba(6, 46, 60, 0.25);
    color: var(--white);
}

.button-lime {
    background: var(--lime);
    color: var(--navy);
    box-shadow: 0 6px 20px rgba(213, 239, 157, 0.35);
}

.button-lime:hover {
    background: #e2fcb4;
    box-shadow: 0 14px 32px rgba(213, 239, 157, 0.55);
    color: var(--navy);
}

.button-outline {
    border-color: #b7c3ac;
    background: transparent;
    color: var(--navy);
}

.button-outline:hover {
    background: rgba(101, 138, 53, 0.08);
    border-color: var(--green);
    color: var(--green-dark);
    box-shadow: 0 8px 24px rgba(6, 46, 60, 0.08);
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 8px 0;
    border-bottom: 1.5px solid #a5b197;
    font-size: 14.5px;
    font-weight: 650;
    color: var(--navy);
    transition: color 0.3s var(--ease), border-color 0.3s var(--ease), gap 0.3s var(--ease);
}

.text-link span, .text-link b {
    font-size: 20px;
    font-weight: 400;
    transition: transform 0.35s var(--ease-spring);
}

.text-link:hover {
    color: var(--green);
    border-color: var(--green);
    gap: 24px;
}

.text-link:hover span, .text-link:hover b {
    transform: translate(4px, -4px);
}

.skip-link {
    position: fixed;
    top: -80px;
    left: 20px;
    padding: 12px 24px;
    background: var(--lime);
    color: var(--navy);
    font-weight: 700;
    border-radius: var(--radius-sm);
    z-index: 1000;
    transition: top 0.3s;
}

.skip-link:focus {
    top: 15px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

/* Reading Progress Bar */
.reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3.5px;
    width: 100%;
    background: linear-gradient(90deg, var(--lime), var(--green));
    box-shadow: 0 0 10px rgba(213, 239, 157, 0.8);
    transform: scaleX(0);
    transform-origin: left;
    z-index: 100;
    pointer-events: none;
}

/* Announcement Top Bar */
.announcement {
    height: 38px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 260px;
    background: var(--navy);
    color: #b8ccca;
    font-size: 11px;
    letter-spacing: 1.6px;
    font-weight: 600;
}

.announcement a {
    color: var(--lime);
    letter-spacing: 0.5px;
    transition: opacity 0.25s;
}

.announcement a:hover {
    opacity: 0.85;
}

.announcement a span {
    margin-left: 8px;
    display: inline-block;
    transition: transform 0.3s;
}

/* --------------------------------------------------------------------------
   Header & Glassmorphism Navigation
   -------------------------------------------------------------------------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 90;
    background: rgba(246, 247, 240, 0.86);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(217, 223, 209, 0.6);
    transition: box-shadow 0.35s var(--ease), background 0.35s var(--ease);
}

.site-header.scrolled {
    background: rgba(246, 247, 240, 0.95);
    box-shadow: 0 10px 30px rgba(6, 46, 60, 0.08);
}

.nav-container {
    height: 125px;
    width: min(1320px, calc(100% - 80px));
    margin: auto;
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: space-between;
}

.brand {
    width: 120px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    transition: transform 0.3s var(--ease);
}

.brand:hover {
    transform: scale(1.04);
}

.brand img {
    width: 125px;
    height: 125px;
    object-fit: contain;
}

.desktop-nav {
    display: flex;
    align-items: center;
    gap: 32px;
    font-size: 20px;
    font-weight: 600;
}

.desktop-nav > a {
    padding: 12px 2px;
    position: relative;
    color: var(--navy);
}

.desktop-nav > a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 0;
    width: 0;
    height: 2.5px;
    border-radius: 2px;
    background: var(--green);
    transition: width 0.3s var(--ease);
}

.desktop-nav > a:hover::after, .desktop-nav > a.active::after {
    width: 100%;
}

.desktop-nav > a.active {
    color: var(--green);
}

.nav-cta {
    padding: 13px 24px;
    gap: 24px;
    font-size: 20px;
    border-radius: var(--radius-sm);
}

.dropdown-toggle {
    background: none;
    border: 0;
    padding: 12px 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--navy);
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.25s;
}

.dropdown-toggle:hover {
    color: var(--green);
}

.dropdown-toggle span {
    font-size: 12px;
    transition: transform 0.3s;
}

.nav-dropdown {
    position: relative;
}

.mega-menu {
    position: absolute;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
    width: min(920px, 92vw);
    background: var(--paper);
    box-shadow: 0 28px 60px rgba(6, 46, 60, 0.22);
    border: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 1.65fr;
    padding: 38px;
    gap: 40px;
    border-radius: var(--radius-lg);
    z-index: 100;
    animation: megaFadeIn 0.3s var(--ease);
}

@keyframes megaFadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, 10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

.mega-intro {
    border-right: 1px solid var(--line);
    padding-right: 25px;
}

.mega-intro h3 {
    font-size: 26px;
    margin-bottom: 20px;
    line-height: 1.15;
}

.mega-intro a {
    font-size: 14px;
    font-weight: 650;
    color: var(--green);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.mega-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 24px;
}

.mega-links a {
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    border-bottom: 1px solid var(--line-subtle);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14.5px;
    font-weight: 600;
    transition: all 0.25s var(--ease);
}

.mega-links a:hover {
    color: var(--green-dark);
    background: #eaf0df;
    padding-left: 18px;
}

.mega-links a span {
    font-size: 16px;
    opacity: 0.6;
    transition: transform 0.25s;
}

.mega-links a:hover span {
    opacity: 1;
    transform: translate(3px, -3px);
}

.menu-toggle {
    display: none;
    border: 0;
    background: none;
    width: 40px;
    padding: 8px;
}

.menu-toggle span {
    display: block;
    height: 2.5px;
    background: var(--navy);
    margin: 6px 0;
    border-radius: 2px;
}

.mobile-nav {
    background: var(--paper);
    padding: 20px 30px 35px;
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
    border-top: 1px solid var(--line);
    box-shadow: var(--shadow-lg);
}

.mobile-nav a {
    display: block;
    padding: 12px 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--navy);
    border-bottom: 1px solid var(--line-subtle);
}

.mobile-nav .mobile-sub {
    font-size: 15px;
    padding: 10px 0 10px 20px;
    color: var(--muted);
    font-weight: 500;
}

/* --------------------------------------------------------------------------
   Supercharged Hero Slider (The Keypoint to Hold Customer's Attraction)
   -------------------------------------------------------------------------- */
.hero-slider {
    height: min(860px, calc(100svh - 164px));
    min-height: 680px;
    background: var(--navy-deep);
    position: relative;
    overflow: hidden;
    color: var(--white);
}

.hero-slides, .hero-slide {
    position: absolute;
    inset: 0;
}

.hero-slide {
    visibility: hidden;
    opacity: 0;
    transition: opacity 1.1s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.1s;
    overflow: hidden;
}

.hero-slide.is-active {
    visibility: visible;
    opacity: 1;
    z-index: 1;
}

.hero-backdrop {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 53%;
    transform: scale(1.1);
    transition: transform 9s cubic-bezier(0.25, 1, 0.5, 1);
}

.hero-slide.is-active .hero-backdrop {
    transform: scale(1);
}

/* Animated Ambient Aura */
.hero-aura {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(213, 239, 157, 0.28) 0%, rgba(101, 138, 53, 0.16) 45%, transparent 70%);
    filter: blur(70px);
    pointer-events: none;
    z-index: 2;
    animation: auraPulse 8s infinite alternate ease-in-out;
}

@keyframes auraPulse {
    0% {
        transform: scale(0.85) translate(-20px, -20px);
        opacity: 0.5;
    }
    100% {
        transform: scale(1.25) translate(30px, 30px);
        opacity: 0.9;
    }
}

.hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(3, 35, 46, 0.96) 0%, rgba(3, 35, 46, 0.75) 45%, rgba(3, 35, 46, 0.28) 85%),
                linear-gradient(0deg, rgba(3, 35, 46, 0.9) 0%, transparent 45%);
}

.hero-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 110px;
    position: relative;
    z-index: 3;
    align-items: flex-start;
}

.hero-content > .eyebrow {
    margin-bottom: 24px;
}

.hero-title {
    font-size: clamp(66px, 7.8vw, 100px);
    letter-spacing: -0.05em;
    line-height: 1.04;
    font-weight: 550;
    margin-left: -4px;
    color: var(--white);
}

.hero-title > span, .hero-title > em {
    display: block;
    transform: translateY(45px);
    opacity: 0;
    transition: transform 1s var(--ease), opacity 0.85s var(--ease);
}

.hero-title > em {
    color: var(--lime);
    font-style: normal;
    transition-delay: 0.18s;
}

.is-active .hero-title > span, .is-active .hero-title > em {
    transform: translateY(0);
    opacity: 1;
}

.hero-content > p {
    color: #d6e4e1;
    max-width: 480px;
    font-size: 17.5px;
    line-height: 1.85;
    margin-top: 26px;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s 0.3s, transform 0.8s 0.3s;
}

.is-active .hero-content > p {
    opacity: 1;
    transform: none;
}

/* Floating Trust Metric Badges on Slider */
.hero-floating-badges {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 26px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s 0.45s var(--ease), transform 0.8s 0.45s var(--ease);
}

.is-active .hero-floating-badges {
    opacity: 1;
    transform: none;
}

.hero-pill-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #e5f1ec;
    box-shadow: 0 8px 24px rgba(3, 35, 46, 0.25);
    transition: transform 0.3s var(--ease), background 0.3s, border-color 0.3s;
}

.hero-pill-badge:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.18);
    border-color: var(--lime);
    color: var(--white);
}

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-top: 32px;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s 0.55s, transform 0.8s 0.55s;
}

.is-active .hero-buttons {
    opacity: 1;
    transform: none;
}

.hero-text-link {
    font-size: 15px;
    font-weight: 650;
    color: var(--white);
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.4);
    padding: 10px 0;
    transition: border-color 0.3s, gap 0.3s;
}

.hero-text-link span {
    font-size: 20px;
    transition: transform 0.35s var(--ease-spring);
}

.hero-text-link:hover {
    border-color: var(--lime);
    gap: 22px;
}

.hero-text-link:hover span {
    transform: translate(4px, -4px);
    color: var(--lime);
}

/* Floating 3D Stamp Badge */
.hero-stamp {
    position: absolute;
    right: 8%;
    top: 18%;
    z-index: 4;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: var(--lime);
    color: var(--navy);
    display: grid;
    place-items: center;
    box-shadow: 0 0 0 10px rgba(213, 239, 157, 0.2), 0 14px 35px rgba(3, 35, 46, 0.4);
    transition: transform 0.4s var(--ease);
}

.hero-stamp:hover {
    transform: scale(1.08) rotate(5deg);
}

.hero-stamp svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    animation: rotate 28s linear infinite;
}

.hero-stamp text {
    font-family: "DM Sans", sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 2.2px;
    fill: var(--navy);
}

.hero-stamp > span {
    font-size: 56px;
    font-weight: 400;
    line-height: 1;
    display: block;
    transform: translateY(-2px);
}

.hero-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 75px;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.scroll-cue {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: 2.2px;
    color: #d6dfd6;
    transition: color 0.3s;
}

.scroll-cue:hover {
    color: var(--lime);
}

.scroll-line {
    height: 38px;
    width: 1.5px;
    background: rgba(255, 255, 255, 0.3);
    position: relative;
    overflow: hidden;
}

.scroll-line::after {
    content: '';
    position: absolute;
    left: 0;
    top: -24px;
    width: 1.5px;
    height: 24px;
    background: var(--lime);
    animation: scrollDown 2s infinite;
}

.slider-controls {
    display: flex;
    align-items: center;
    gap: 18px;
}

.slider-controls button {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    color: var(--white);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    font-size: 20px;
    display: grid;
    place-items: center;
    transition: all 0.3s var(--ease);
}

.slider-controls button:hover {
    background: var(--lime);
    color: var(--navy);
    border-color: var(--lime);
    transform: scale(1.08);
}

.slider-controls [data-slide-pause] {
    font-size: 13px;
    width: 36px;
    height: 36px;
}

.slide-counter {
    font-size: 14px;
    color: #c3d1cc;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
}

.slide-counter b {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
}

.slide-counter i {
    font-size: 12px;
    font-style: normal;
    opacity: 0.4;
}

/* Slider Bottom Tabs */
.slider-tabs {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    height: 72px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(3, 35, 46, 0.45);
    backdrop-filter: blur(16px);
}

.slider-tab {
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    color: #d3ddd6;
    background: none;
    text-align: left;
    padding: 0 35px;
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: flex;
    align-items: center;
    transition: all 0.3s;
}

.slider-tab > span {
    font-size: 11px;
    font-weight: 700;
    color: #a4b9ae;
    margin-right: 18px;
    letter-spacing: 1px;
}

.slider-tab::after {
    content: '↗';
    position: absolute;
    right: 28px;
    color: var(--lime);
    font-size: 18px;
    transition: transform 0.3s;
}

.slider-tab:hover::after {
    transform: translate(3px, -3px);
}

.slider-tab i {
    position: absolute;
    bottom: 0;
    height: 3.5px;
    left: 0;
    background: var(--lime);
    box-shadow: 0 0 10px var(--lime);
    width: 0;
}

.slider-tab.is-active {
    background: rgba(255, 255, 255, 0.08);
    color: var(--white);
}

.slider-tab.is-active i {
    animation: slideProgress 7s linear forwards;
}

.hero-slider.is-paused .slider-tab.is-active i {
    animation-play-state: paused;
}

/* --------------------------------------------------------------------------
   Marquee Infinite Ticker
   -------------------------------------------------------------------------- */
.marquee {
    background: var(--lime);
    height: 80px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(6, 46, 60, 0.08);
}

.marquee-track {
    display: flex;
    align-items: center;
    gap: 50px;
    width: max-content;
    flex-shrink: 0;
    animation: marquee 40s linear infinite;
}

.marquee span {
    font-family: "Manrope", sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--navy);
    white-space: nowrap;
}

.marquee b {
    font-size: 28px;
    font-weight: 400;
    color: var(--green);
}

/* --------------------------------------------------------------------------
   Bento Grid (The 6 Core Services on Home)
   -------------------------------------------------------------------------- */
.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 56px;
}

.heading-aside {
    max-width: 360px;
    font-size: 16.5px;
    line-height: 1.85;
}

.heading-aside .text-link {
    margin-top: 18px;
}

.service-bento {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 400px 340px;
    gap: 22px;
}

.bento-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    color: var(--white);
    background: var(--navy);
    isolation: isolate;
    box-shadow: var(--shadow-md);
    transition: transform 0.45s var(--ease), box-shadow 0.45s var(--ease);
}

.bento-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: var(--radius-lg);
    border: 1.5px solid transparent;
    transition: border-color 0.4s var(--ease);
    z-index: 3;
    pointer-events: none;
}

.bento-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow-hover);
}

.bento-card:hover::before {
    border-color: rgba(213, 239, 157, 0.45);
}

.bento-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s var(--ease), filter 0.8s var(--ease);
}

.bento-card:hover img {
    transform: scale(1.085);
    filter: brightness(1.05);
}

.bento-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(3, 35, 46, 0.95) 0%, rgba(3, 35, 46, 0.35) 65%, transparent 100%);
    z-index: 1;
}

.bento-number {
    position: absolute;
    top: 28px;
    left: 28px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.2px;
    color: rgba(255, 255, 255, 0.7);
    z-index: 2;
}

.bento-price-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    background: rgba(3, 35, 46, 0.75);
    backdrop-filter: blur(8px);
    color: var(--lime);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    z-index: 2;
    border: 1px solid rgba(213, 239, 157, 0.3);
}

.bento-content {
    position: absolute;
    bottom: 32px;
    left: 32px;
    right: 32px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    z-index: 2;
    transition: transform 0.4s var(--ease);
}

.bento-card:hover .bento-content {
    transform: translateY(-4px);
}

.bento-content h3 {
    font-size: 30px;
    margin-bottom: 12px;
    letter-spacing: -0.03em;
    color: var(--white);
}

.bento-content p {
    color: #d1ded8;
    font-size: 14.5px;
    line-height: 1.7;
    max-width: 300px;
}

.circle-arrow {
    width: 48px;
    height: 48px;
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 24px;
    transition: all 0.4s var(--ease-spring);
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
}

.bento-card:hover .circle-arrow {
    background: var(--lime);
    color: var(--navy);
    transform: scale(1.1) rotate(45deg);
    border-color: var(--lime);
    box-shadow: 0 0 20px rgba(213, 239, 157, 0.5);
}

.bento-1 {
    grid-column: span 2;
}
.bento-4 {
    grid-column: span 2;
}
.bento-5 {
    grid-column: span 2;
}

.bento-1 .bento-content h3 {
    font-size: 42px;
}

.bento-1 .bento-content p {
    max-width: 420px;
    font-size: 15.5px;
}

.bento-6 {
    display: block;
}

/* --------------------------------------------------------------------------
   Distinct Styles & Themes for EACH of the 6 Services
   -------------------------------------------------------------------------- */

/* Common Service Hero Base */
.service-hero {
    padding: 30px 0 80px;
    position: relative;
    overflow: hidden;
}

.service-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 75px;
    align-items: center;
}

.service-hero h1 {
    font-size: clamp(55px, 5.8vw, 86px);
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.service-hero-copy > p {
    font-size: 17.5px;
    margin-top: 28px;
    max-width: 520px;
    line-height: 1.85;
}

.service-hero-copy .button {
    margin-top: 34px;
}

.hero-small-note {
    display: block;
    font-size: 12.5px;
    font-weight: 650;
    color: var(--muted);
    margin-top: 16px;
    letter-spacing: 0.5px;
}

.service-hero-image {
    height: 570px;
    position: relative;
}

.service-hero-image > img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    box-shadow: var(--shadow-lg);
}

.service-image-tag {
    position: absolute;
    bottom: 30px;
    left: -25px;
    padding: 18px 28px;
    border-radius: var(--radius-md);
    font-size: 14.5px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 12px 35px rgba(6, 46, 60, 0.15);
    z-index: 2;
}

.service-deco {
    position: absolute;
    top: -15px;
    right: 25px;
    background: var(--navy);
    color: var(--lime);
    font-size: 50px;
    border-radius: 50%;
    width: 95px;
    height: 95px;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow-md);
    animation: bob 6s ease-in-out infinite;
}

/* Service Benefits Bar */
.service-benefits {
    border-block: 1px solid var(--line);
    padding: 26px 0;
    background: #eef1e6;
}

.service-benefits .container {
    display: flex;
    justify-content: space-around;
    gap: 25px;
}

.service-benefits span {
    font-size: 14.5px;
    font-weight: 650;
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--navy);
}

.service-benefits .icon {
    color: var(--green);
    width: 24px;
    height: 24px;
}

/* Detail section */
.detail-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 0px;
    align-items: start;
}

.detail-grid h2 {
    font-size: 50px;
    margin-bottom: 30px;
    letter-spacing: -0.03em;
}

.detail-grid > div > p {
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 24px;
}

.inclusions {
    background: #eaf0de;
    padding: 35px;
    border-radius: var(--radius-lg);
    border: 1px solid #d4dfc8;
    position: sticky;
    top: 125px;
    box-shadow: var(--shadow-sm);
}

.inclusions h3 {
    font-size: 32px;
    margin-bottom: 25px;
}

.inclusions ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.inclusions li {
    padding: 16px 0;
    border-bottom: 1px solid #cbd7bc;
    display: flex;
    gap: 16px;
    font-size: 15px;
    font-weight: 550;
    transition: transform 0.25s;
}

.inclusions li:hover {
    transform: translateX(4px);
}

.inclusions li span {
    color: var(--green);
    font-weight: 700;
}

.inclusions > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 28px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--navy);
    padding: 16px 20px;
    background: var(--white);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s;
}

.inclusions > a:hover {
    background: var(--lime);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.inclusions > a > span {
    font-size: 24px;
    transition: transform 0.3s;
}

.inclusions > a:hover > span {
    transform: translate(4px, -4px);
}

/* 1. Theme Privat: Warm Scandinavian residential home palette */
.theme-privat .service-hero {
    background: linear-gradient(135deg, #f7f9f2 0%, #edf3e5 100%);
}
.theme-privat .service-image-tag {
    background: var(--lime);
    color: var(--navy);
}
.theme-privat .service-hero-image > img {
    border-radius: 120px var(--radius-md) var(--radius-md);
    box-shadow: 0 20px 50px rgba(101, 138, 53, 0.2);
}

/* 2. Theme Bedrift: Corporate Executive Slate & Deep Navy */
.theme-bedrift .service-hero {
    background: linear-gradient(135deg, #03232e 0%, #062e3c 60%, #0a3a4c 100%);
    color: var(--white);
}
.theme-bedrift .breadcrumb, .theme-bedrift p, .theme-bedrift .hero-small-note {
    color: #909c9c;
}
.theme-bedrift .eyebrow, .theme-bedrift h1 em {
    color: var(--lime);
}
.theme-bedrift .service-image-tag {
    background: var(--navy-deep);
    color: var(--lime);
    border: 1.5px solid var(--lime);
}
.theme-bedrift .service-hero-image > img {
    border-radius: var(--radius-md);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
}
.theme-bedrift .service-benefits {
    background: #062e3c;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-bedrift .service-benefits span {
    color: #e0ecea;
}
.theme-bedrift .service-benefits .icon {
    color: var(--lime);
}
.theme-bedrift .inclusions {
    background: #062e3c;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-bedrift .inclusions h3 {
    color: var(--white);
}
.theme-bedrift .inclusions li {
    border-color: rgba(255, 255, 255, 0.15);
    color: #d2dedb;
}
.theme-bedrift .inclusions li span {
    color: var(--lime);
}

/* 3. Theme Pakking: Craft Packaging Motif */
.theme-pakking .service-hero {
    background: linear-gradient(135deg, #fbf7f0 0%, #f3ece0 100%);
}
.theme-pakking .service-image-tag {
    background: #e8dbc7;
    color: #4a3828;
    border: 1.5px solid #d4c1a7;
}
.theme-pakking .service-hero-image > img {
    border-radius: 40px;
    box-shadow: 0 20px 45px rgba(141, 110, 99, 0.2);
}
.theme-pakking .service-benefits {
    background: #f7efe4;
    border-color: #e5d8c8;
}

/* 4. Theme Rydding: Fresh Eco-Green & Clean Environment */
.theme-rydding .service-hero {
    background: linear-gradient(135deg, #f0f7ec 0%, #e2f0dc 100%);
}
.theme-rydding .service-image-tag {
    background: #3e8334;
    color: var(--white);
}
.theme-rydding .service-hero-image > img {
    border-radius: var(--radius-md) 100px var(--radius-md) var(--radius-md);
    box-shadow: 0 20px 50px rgba(62, 131, 52, 0.2);
}
.theme-rydding .service-benefits {
    background: #e7f4e2;
    border-color: #cde4c5;
}

/* 5. Theme Spesial: Heavy Duty Precision & Engineering Theme */
.theme-spesial .service-hero {
    background: linear-gradient(135deg, #101c22 0%, #16262e 60%, #1d333d 100%);
    color: var(--white);
}
.theme-spesial .breadcrumb, .theme-spesial p, .theme-spesial .hero-small-note {
    color: #778185;
}
.theme-spesial .eyebrow, .theme-spesial h1 em {
    color: #a3e635;
}
.theme-spesial .service-image-tag {
    background: #1e333d;
    color: #a3e635;
    border: 1px solid #a3e635;
}
.theme-spesial .service-hero-image > img {
    border-radius: 8px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
}
.theme-spesial .service-benefits {
    background: #142229;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.1);
}
.theme-spesial .service-benefits span {
    color: #cfdde2;
}
.theme-spesial .service-benefits .icon {
    color: #a3e635;
}
.theme-spesial .inclusions {
    background: #142229;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.12);
}
.theme-spesial .inclusions h3 {
    color: var(--white);
}
.theme-spesial .inclusions li {
    border-color: rgba(255, 255, 255, 0.15);
    color: #cdd9dd;
}
.theme-spesial .inclusions li span {
    color: #a3e635;
}

/* 6. Theme Dødsbo: Dignified, Peaceful Sage & Compassionate Soft Tones */
.theme-dodsbo .service-hero {
    background: linear-gradient(135deg, #f5f7f5 0%, #ebf0ec 100%);
}
.theme-dodsbo .service-image-tag {
    background: #d8e4d8;
    color: #2b3d2b;
    border: 1px solid #c2d4c2;
}
.theme-dodsbo .service-hero-image > img {
    border-radius: 160px 160px var(--radius-md) var(--radius-md);
    box-shadow: 0 20px 45px rgba(64, 83, 76, 0.15);
}
.theme-dodsbo .service-benefits {
    background: #edf2ed;
    border-color: #d6e0d6;
}

/* --------------------------------------------------------------------------
   Interactive Pricing Tables (Tailored for All 6 Services)
   -------------------------------------------------------------------------- */
.pricing-section {
    padding: 100px 0 120px;
    background: #edf2e4;
    position: relative;
}

.pricing-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 60px;
}

.pricing-header h2 {
    font-size: clamp(38px, 4.4vw, 56px);
    letter-spacing: -0.03em;
    margin-top: 14px;
}

.pricing-header p {
    font-size: 17px;
    margin-top: 18px;
    color: var(--muted);
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    align-items: stretch;
}

.pricing-card {
    background: var(--white);
    border: 1.5px solid var(--line);
    border-radius: var(--radius-xl);
    padding: 42px 36px;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: var(--shadow-sm);
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s;
}

.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: var(--green);
}

.pricing-card.pricing-popular {
    border-color: var(--green);
    background: #ffffff;
    box-shadow: 0 20px 45px rgba(101, 138, 53, 0.18);
    transform: scale(1.03);
}

.pricing-card.pricing-popular:hover {
    transform: scale(1.03) translateY(-8px);
    box-shadow: 0 28px 55px rgba(101, 138, 53, 0.28);
}

.pricing-badge-popular {
    position: absolute;
    top: -15px;
    right: 28px;
    background: var(--green);
    color: var(--white);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 30px;
    box-shadow: 0 6px 16px rgba(101, 138, 53, 0.35);
}

.pricing-plan-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}

.pricing-plan-desc {
    font-size: 14.5px;
    color: var(--muted);
    line-height: 1.6;
    margin-bottom: 24px;
    min-height: 48px;
}

.pricing-price-box {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1.5px solid var(--line-subtle);
}

.pricing-amount {
    font-family: "Manrope", sans-serif;
    font-size: 40px;
    font-weight: 800;
    color: var(--navy);
    line-height: 1;
    letter-spacing: -0.04em;
    display: block;
}

.pricing-unit {
    font-size: 13px;
    color: var(--muted);
    font-weight: 550;
    margin-top: 6px;
    display: block;
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin: 0 0 36px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex-grow: 1;
}

.pricing-features li {
    font-size: 14.5px;
    color: var(--navy);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.5;
}

.pricing-features li span {
    color: var(--green);
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
    margin-top: -1px;
}

.pricing-card .button {
    width: 100%;
    margin-top: auto;
}

/* --------------------------------------------------------------------------
   Story, Timeline & Process Sections
   -------------------------------------------------------------------------- */
.story-section {
    padding: 30px 0 130px;
}

.story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 110px;
    align-items: center;
}

.story-visual {
    position: relative;
    padding: 0 25px 35px 0;
}

.story-image {
    height: 640px;
    overflow: hidden;
    border-radius: var(--radius-md) 140px var(--radius-md) var(--radius-md);
    box-shadow: var(--shadow-lg);
}

.story-image img {
    height: 120%;
    width: 100%;
    object-fit: cover;
    position: relative;
    top: -10%;
    transition: transform 0.6s var(--ease);
}

.story-note {
    position: absolute;
    right: -25px;
    bottom: 80px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px 36px;
    background: var(--lime);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    animation: bob 6s ease-in-out infinite;
    z-index: 2;
}

.story-note .icon {
    width: 36px;
    height: 36px;
    color: var(--navy);
}

.story-note span {
    font-size: 15.5px;
    line-height: 1.55;
    color: var(--navy);
}

.story-note b {
    font-weight: 700;
}

.image-coordinate {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--muted);
}

.story-copy > p {
    font-size: 17px;
    line-height: 1.85;
    margin: 30px 0;
}

.story-values {
    margin: 20px 0 35px;
}

.story-values > div {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 4px 12px;
    border-top: 1px solid var(--line);
    padding: 20px 0;
    transition: transform 0.3s;
}

.story-values > div:hover {
    transform: translateX(6px);
}

.story-values > div > span {
    font-size: 12px;
    font-weight: 700;
    color: var(--green);
    grid-row: span 2;
    margin-top: 4px;
}

.story-values h4 {
    font-size: 17px;
}

.story-values p {
    font-size: 14.5px;
}

.process-section {
    background: var(--navy);
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.process-section::before {
    content: '';
    width: 800px;
    height: 800px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    position: absolute;
    right: -250px;
    top: -250px;
    pointer-events: none;
    box-shadow: 0 0 0 100px rgba(255, 255, 255, 0.02), 0 0 0 200px rgba(255, 255, 255, 0.015);
}

.process-section h2 em {
    color: var(--lime);
}

.process-section .heading-aside {
    color: #adc3c4;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
    margin: 60px 0 55px;
}

.process-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    padding: 40px 34px;
    transition: transform 0.4s var(--ease), border-color 0.4s var(--ease), background 0.4s var(--ease);
}

.process-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(213, 239, 157, 0.35);
    box-shadow: 0 20px 40px rgba(3, 35, 46, 0.5);
}

.process-big-number {
    font-size: 110px;
    font-family: "Manrope", sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.06em;
    color: var(--lime);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 24px;
    margin-bottom: 28px;
}

.process-big-number > span {
    font-size: 42px;
    letter-spacing: 0;
    color: #728c92;
    transition: transform 0.4s var(--ease-spring), color 0.3s;
}

.process-card:hover .process-big-number > span {
    transform: translate(8px, -8px);
    color: var(--lime);
}

.process-card h3 {
    font-size: 25px;
    margin-bottom: 16px;
    color: var(--white);
}

.process-card p {
    font-size: 15.5px;
    color: #b0c3c6;
    line-height: 1.75;
}

/* Service Process Steps */
.service-process {
    background: #edf1e5;
}

.mini-process {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    margin-top: 55px;
}

.mini-process > div {
    background: var(--white);
    padding: 38px 30px;
    border-radius: var(--radius-md);
    border: 1px solid #dce4d2;
    box-shadow: var(--shadow-sm);
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.mini-process > div:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
}

.mini-process b {
    font-size: 60px;
    font-family: "Manrope", sans-serif;
    font-weight: 600;
    color: var(--green);
    line-height: 1;
    display: block;
}

.mini-process h3 {
    font-size: 24px;
    margin: 20px 0 14px;
}

.mini-process p {
    font-size: 15px;
    line-height: 1.75;
}

/* --------------------------------------------------------------------------
   FAQ, CTA & Footer
   -------------------------------------------------------------------------- */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: start;
}

.faq-grid .text-link {
    margin-top: 32px;
}

.faq-list {
    border-top: 1.5px solid var(--line);
}

.faq-list details {
    border-bottom: 1.5px solid var(--line);
    transition: background 0.3s;
}

.faq-list details[open] {
    background: rgba(234, 240, 222, 0.4);
}

.faq-list summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    font-size: 17px;
    font-weight: 600;
    padding: 26px 36px 26px 0;
    cursor: pointer;
    color: var(--navy);
    transition: color 0.25s;
}

.faq-list summary:hover {
    color: var(--green);
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-number {
    font-size: 12px;
    font-weight: 700;
    color: var(--green);
}

.faq-list summary i {
    position: absolute;
    right: 0;
    top: 30px;
    width: 20px;
    height: 20px;
}

.faq-list summary i::before, .faq-list summary i::after {
    content: '';
    position: absolute;
    background: var(--green);
    height: 2px;
    width: 18px;
    left: 0;
    top: 9px;
    transition: transform 0.3s var(--ease);
}

.faq-list summary i::after {
    transform: rotate(90deg);
}

.faq-list details[open] summary i::after {
    transform: rotate(0);
}

.faq-answer {
    padding: 0 35px 30px 42px;
    font-size: 15.5px;
    line-height: 1.8;
    color: var(--muted);
}

.cta-section {
    background: var(--lime);
    overflow: hidden;
    position: relative;
}

.cta-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 420px;
    padding-block: 70px;
    gap: 60px;
}

.cta-inner h2 {
    position: relative;
    z-index: 1;
    font-size: clamp(45px, 5.2vw, 76px);
    letter-spacing: -0.04em;
    color: var(--navy);
}

.cta-inner h2 em {
    color: var(--green-dark);
}

.cta-inner .eyebrow {
    color: #49652e;
    position: relative;
    z-index: 1;
}

.circle-cta {
    height: 190px;
    width: 190px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--navy);
    color: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 14px;
    text-align: center;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    transition: transform 0.4s var(--ease-spring), background 0.3s, box-shadow 0.4s;
    box-shadow: 0 12px 35px rgba(6, 46, 60, 0.25);
}

.circle-cta b {
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
    transition: transform 0.35s var(--ease-spring);
}

.circle-cta:hover {
    background: #093949;
    transform: scale(1.08) rotate(5deg);
    box-shadow: 0 20px 45px rgba(6, 46, 60, 0.35);
    color: var(--white);
}

.circle-cta:hover b {
    transform: translate(4px, -4px);
    color: var(--lime);
}

.cta-watermark {
    position: absolute;
    right: 120px;
    bottom: -85px;
    font-size: 280px;
    font-family: "Manrope", sans-serif;
    font-weight: 800;
    letter-spacing: -0.08em;
    color: rgba(6, 46, 60, 0.05);
    pointer-events: none;
    line-height: 1;
}

.site-footer {
    background: var(--navy-deep);
    color: var(--white);
    padding-top: 65px;
}

.footer-top {
    display: flex;
    align-items: center;
    gap: 50px;
    border-bottom: 1px solid #284955;
    padding-bottom: 50px;
}

.footer-wordmark {
    font-size: 68px;
    font-weight: 800;
    line-height: 1;
    font-family: "Manrope", sans-serif;
    letter-spacing: -0.05em;
    color: var(--white);
}

.footer-wordmark span {
    color: #8bad57;
}

.footer-wordmark i {
    font-size: 13px;
    vertical-align: top;
    letter-spacing: 0;
    font-style: normal;
    margin: 5px;
    opacity: 0.6;
}

.footer-top p {
    font-size: 14.5px;
    color: #a9c0c2;
    line-height: 1.7;
}

.footer-top-link {
    margin-left: auto;
    font-size: 14.5px;
    font-weight: 650;
    border-bottom: 1.5px solid #47626a;
    padding-block: 14px;
    display: flex;
    align-items: center;
    gap: 20px;
    color: var(--white);
    transition: all 0.3s;
}

.footer-top-link span {
    font-size: 24px;
    color: var(--lime);
    transition: transform 0.3s var(--ease-spring);
}

.footer-top-link:hover {
    border-color: var(--lime);
    color: var(--lime);
}

.footer-top-link:hover span {
    transform: translate(4px, -4px);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 50px;
    padding: 60px 0;
}

.footer-grid .eyebrow {
    color: #7abb7a;
    font-size: 11px;
    letter-spacing: 1.8px;
}

.footer-grid h3 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: var(--white);
}

.footer-grid h4 {
    font-size: 14px;
    margin-bottom: 24px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #d6e2e0;
}

.footer-grid a {
    display: block;
    color: #a9c0c2;
    font-size: 14.5px;
    margin-top: 11px;
    transition: color 0.25s, transform 0.25s;
}

.footer-grid a:hover {
    color: var(--lime);
    transform: translateX(4px);
}

.footer-leaf {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    color: #9dbb82;
    font-size: 12px;
}

.footer-leaf .icon {
    width: 22px;
    height: 22px;
}

.footer-bottom {
    border-top: 1px solid #284955;
    padding: 24px 0;
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 12px;
    color: #9cb3b8;
}

.footer-bottom > span {
    margin-right: auto;
}

.footer-bottom button {
    border: 0;
    background: none;
    color: inherit;
    font-size: 12px;
    font-weight: 600;
    transition: color 0.25s;
}

.footer-bottom button:hover {
    color: var(--lime);
}

/* --------------------------------------------------------------------------
   Breadcrumb & Page Intro
   -------------------------------------------------------------------------- */
.breadcrumb {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    color: var(--muted);
    padding: 30px 0 50px;
    flex-wrap: wrap;
}

.breadcrumb a:hover {
    color: var(--green);
}

.page-intro {
    padding-bottom: 70px;
}

.page-intro h1 {
    max-width: 1050px;
}

.page-intro .section-heading {
    margin-bottom: 0;
}

.intro-text {
    max-width: 600px;
    margin-top: 30px;
    font-size: 18px;
    line-height: 1.85;
}

/* --------------------------------------------------------------------------
   Services Directory Page (/tjenester)
   -------------------------------------------------------------------------- */
.services-filter {
    display: flex;
    gap: 12px;
    margin-bottom: 45px;
    flex-wrap: wrap;
}

.filter-pill {
    padding: 10px 22px;
    border-radius: 40px;
    background: #ffffff;
    border: 1.5px solid var(--line);
    font-size: 13.5px;
    font-weight: 650;
    color: var(--navy);
    cursor: pointer;
    transition: all 0.3s var(--ease);
}

.filter-pill:hover {
    border-color: var(--green);
    background: #eef3e7;
}

.filter-pill.is-active {
    background: var(--navy);
    color: var(--white);
    border-color: var(--navy);
    box-shadow: 0 4px 14px rgba(6, 46, 60, 0.15);
}

.service-directory {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
}

.directory-card {
    background: var(--paper-card);
    border-radius: var(--radius-lg);
    border: 1.5px solid var(--line);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-sm);
    transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s var(--ease);
}

.directory-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(101, 138, 53, 0.45);
}

.directory-photo {
    position: relative;
    height: 290px;
    overflow: hidden;
}

.directory-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s var(--ease);
}

.directory-card:hover .directory-photo img {
    transform: scale(1.08);
}

.directory-photo > span {
    position: absolute;
    top: 20px;
    left: 20px;
    background: var(--lime);
    color: var(--navy);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(6, 46, 60, 0.15);
}

.directory-category-tag {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(3, 35, 46, 0.78);
    backdrop-filter: blur(8px);
    color: var(--white);
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.directory-price-tag {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: var(--lime);
    color: var(--navy);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12.5px;
    font-weight: 750;
    box-shadow: 0 6px 16px rgba(6, 46, 60, 0.2);
}

.directory-copy {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.directory-copy h2 {
    font-size: 28px;
    letter-spacing: -0.025em;
    color: var(--navy);
}

.directory-copy p {
    font-size: 15px;
    margin-top: 14px;
    line-height: 1.75;
    flex-grow: 1;
}

.directory-card-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 16px;
}

.directory-feature-pill {
    font-size: 11.5px;
    padding: 5px 12px;
    border-radius: var(--radius-sm);
    background: #f1f4ea;
    color: var(--green-dark);
    font-weight: 600;
}

.directory-copy .text-link {
    font-size: 13.5px;
    margin-top: auto;
    padding-top: 14px;
}

/* Trust Stats Strip */
.trust-stats-strip {
    background: #eef3e6;
    border-block: 1px solid var(--line);
    padding: 40px 0;
    margin: 60px 0 20px;
}

.trust-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.trust-stat-item {
    text-align: center;
}

.trust-stat-item strong {
    font-family: "Manrope", sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: var(--green-dark);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
}

.trust-stat-item span {
    font-size: 13.5px;
    color: var(--muted);
    font-weight: 550;
}

/* Related Services */
.related-section {
    padding-top: 0;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.related-grid a {
    display: block;
    background: var(--white);
    padding: 16px;
    border-radius: var(--radius-md);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    transition: all 0.4s var(--ease);
}

.related-grid a:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
    border-color: var(--green);
}

.related-grid img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius-sm);
    transition: filter 0.3s, transform 0.6s var(--ease);
}

.related-grid a:hover img {
    filter: brightness(0.95);
    transform: scale(1.03);
}

.related-grid h3 {
    font-size: 22px;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    padding-inline: 6px;
}

.related-grid h3 span {
    transition: transform 0.3s;
}

.related-grid a:hover h3 span {
    transform: translate(3px, -3px);
    color: var(--green);
}

/* --------------------------------------------------------------------------
   Quote Page (/tilbud — "LIKE IMPRESSIVE")
   -------------------------------------------------------------------------- */
.quote-heading {
    text-align: center;
    padding-top: 70px;
    padding-bottom: 55px;
}

.quote-heading h1 {
    font-size: clamp(52px, 6.2vw, 84px);
    letter-spacing: -0.04em;
}

.quote-heading p {
    font-size: 17px;
    margin-top: 24px;
    color: var(--muted);
}

.quote-section {
    padding-bottom: 120px;
}

.quote-shell {
    display: grid;
    grid-template-columns: 0.7fr 1.3fr;
    gap: 75px;
    align-items: start;
}

.quote-aside {
    position: sticky;
    top: 130px;
}

.quote-aside-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 35px;
    box-shadow: var(--shadow-sm);
}

.quote-aside h2 {
    font-size: 38px;
    letter-spacing: -0.03em;
}

.quote-aside > p {
    font-size: 15.5px;
    margin-top: 22px;
}

.quote-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f7f9f2;
    padding: 14px 18px;
    border-radius: var(--radius-sm);
    margin: 25px 0;
    border: 1px solid #dce4d2;
}

.quote-stars {
    color: #e49e23;
    font-size: 18px;
    letter-spacing: 2px;
}

.quote-rating-text {
    font-size: 13px;
    font-weight: 650;
    color: var(--navy);
}

.quote-assurances {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 14.5px;
    margin: 25px 0 30px;
    color: var(--green-dark);
    font-weight: 600;
}

.quote-assurances span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.quote-aside img {
    height: 220px;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius-md);
    margin-top: 20px;
}

.quote-form-wrap {
    background: var(--white);
    border: 1.5px solid var(--line);
    padding: 45px;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
}

.quote-stepper {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.quote-stepper > span {
    flex: 1;
    border-top: 3.5px solid var(--line);
    padding-top: 14px;
    font-size: 12.5px;
    font-weight: 600;
    color: #8b9994;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.35s;
}

.quote-stepper b {
    font-weight: 650;
    color: var(--navy);
}

.quote-stepper .active {
    border-color: var(--green);
    color: var(--green);
}

.quote-stepper .active b {
    color: var(--green);
}

.service-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 22px 0 32px;
}

.service-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    border: 1.5px solid var(--line);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: 14.5px;
    font-weight: 650;
    background: #fafbf8;
    transition: all 0.28s var(--ease);
}

.service-choice:hover {
    border-color: var(--green);
    background: #f1f6ea;
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.service-choice input {
    accent-color: var(--green);
    margin: 0;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.service-choice:has(input:checked) {
    border-color: var(--green);
    background: #edf6e3;
    box-shadow: 0 0 0 2px var(--green);
}

.service-choice b {
    font-weight: 400;
    margin-left: auto;
    color: var(--green);
    font-size: 18px;
    transition: transform 0.25s;
}

.service-choice:hover b {
    transform: translate(3px, -3px);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 25px;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    font-weight: 650;
    color: var(--navy);
}

.field.full {
    grid-column: 1 / -1;
}

.field input, .field select, .field textarea {
    width: 100%;
    min-width: 0;
    background: #f9faf6;
    border: 1.5px solid #d2dbca;
    border-radius: var(--radius-sm);
    padding: 14px 16px;
    color: var(--navy);
    font-size: 15px;
    transition: all 0.25s var(--ease);
}

.field input:focus, .field select:focus, .field textarea:focus {
    background: var(--white);
    border-color: var(--green);
    box-shadow: 0 0 0 4px rgba(101, 138, 53, 0.15);
    outline: none;
}

.field textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.6;
}

.field small {
    font-size: 12px;
    font-weight: 450;
    color: var(--muted);
}

fieldset {
    border: 0;
    padding: 0;
    margin: 0 0 35px;
    min-width: 0;
}

fieldset:last-child {
    margin-bottom: 0;
}

fieldset > legend {
    font-family: "Manrope", sans-serif;
    font-size: 28px;
    letter-spacing: -0.025em;
    font-weight: 650;
    color: var(--navy);
    padding: 0;
    line-height: 1.25;
}

fieldset > p {
    font-size: 14.5px;
    margin-top: 10px;
    margin-bottom: 24px;
}

.form-actions {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 36px;
}

.form-actions > .button:last-child {
    margin-left: auto;
}

.consent {
    display: flex;
    align-items: start;
    gap: 12px;
    font-size: 13px;
    color: var(--muted);
    margin: 28px 0 22px;
    line-height: 1.6;
}

.consent input {
    accent-color: var(--green);
    margin-top: 4px;
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}

.consent a {
    text-decoration: underline;
    color: var(--navy);
    font-weight: 600;
}

.form-note {
    font-size: 12px !important;
    line-height: 1.7;
    color: var(--muted);
}

.quote-summary {
    border: 1.5px solid #c9d8bd;
    background: #f3f7ed;
    padding: 24px;
    margin-top: 28px;
    font-size: 14px;
    border-radius: var(--radius-md);
}

.quote-summary dl {
    margin: 0;
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
}

.quote-summary dt {
    color: var(--muted);
    font-weight: 600;
}

.quote-summary dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-weight: 650;
    color: var(--navy);
}

.validation-errors {
    border: 1.5px solid #dfb6a4;
    padding: 22px 26px;
    background: #fff3ed;
    color: #8e4228;
    margin-bottom: 30px;
    border-radius: var(--radius-md);
}

.validation-errors h3 {
    font-size: 20px;
    margin-bottom: 8px;
}

.validation-errors ul {
    font-size: 14px;
    padding-left: 20px;
    margin: 0;
}

/* --------------------------------------------------------------------------
   Thanks / Success Page
   -------------------------------------------------------------------------- */
.thanks-page {
    text-align: center;
    max-width: 860px;
    padding-block: 85px 120px;
}

.success-mark {
    width: 95px;
    height: 95px;
    border-radius: 50%;
    background: var(--lime);
    color: var(--navy);
    font-size: 42px;
    font-weight: 700;
    display: grid;
    place-items: center;
    margin: 0 auto 35px;
    box-shadow: 0 0 0 12px rgba(213, 239, 157, 0.3);
    animation: rise 0.8s var(--ease);
}

.thanks-page h1 {
    font-size: clamp(52px, 6.5vw, 80px);
}

.thanks-page > p {
    max-width: 580px;
    margin: 30px auto;
    font-size: 17px;
}

.reference {
    background: #eaf0de;
    padding: 26px 36px;
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 380px;
    margin: 30px auto 40px;
    border: 1px solid #cddac0;
}

.reference small {
    font-size: 11px;
    letter-spacing: 2px;
    font-weight: 700;
    color: var(--green);
}

.reference strong {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--navy);
}

/* --------------------------------------------------------------------------
   About & Process Pages
   -------------------------------------------------------------------------- */
.about-panorama {
    height: 600px;
    overflow: hidden;
    position: relative;
}

.about-panorama > img {
    width: 100%;
    height: 130%;
    object-fit: cover;
    position: relative;
    top: -15%;
}

.about-panorama::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(transparent, rgba(6, 46, 60, 0.6));
}

.about-panorama > div {
    position: absolute;
    bottom: 45px;
    left: 70px;
    right: 70px;
    display: flex;
    justify-content: space-between;
    z-index: 1;
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

.editorial-grid {
    display: grid;
    grid-template-columns: 0.5fr 1fr;
    gap: 80px;
}

.editorial-grid p {
    max-width: 680px;
    font-size: 17.5px;
    line-height: 1.95;
    margin-top: 28px;
}

.value-card {
    padding: 35px;
    background: var(--white);
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    transition: transform 0.35s var(--ease), box-shadow 0.35s;
}

.value-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.value-card .icon {
    width: 50px;
    height: 50px;
    color: var(--green);
    margin-bottom: 25px;
}

.value-card h3 {
    font-size: 28px;
    margin-bottom: 16px;
}

.value-card p {
    font-size: 15.5px;
}

.timeline {
    max-width: 980px;
}

.timeline-step {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 60px;
    padding: 50px 0;
    border-top: 1.5px solid var(--line);
    transition: transform 0.3s;
}

.timeline-step:hover {
    transform: translateX(8px);
}

.timeline-step > span {
    font-size: 110px;
    letter-spacing: -0.06em;
    font-family: "Manrope", sans-serif;
    line-height: 1;
    color: var(--green);
}

.timeline-step h2 {
    font-size: 36px;
    letter-spacing: -0.03em;
    margin-bottom: 20px;
}

.timeline-step p {
    font-size: 16.5px;
    margin-bottom: 16px;
}

.timeline-step small {
    color: var(--green);
    font-size: 13.5px;
    font-weight: 650;
}

/* --------------------------------------------------------------------------
   Contact Page
   -------------------------------------------------------------------------- */
.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.contact-panel {
    background: #eaf0de;
    padding: 60px;
    position: relative;
    border-radius: var(--radius-lg);
    border: 1px solid #d4dfc8;
    transition: transform 0.4s var(--ease), box-shadow 0.4s;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
}

.contact-panel:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
}

.contact-panel .contact-icon {
    display: block;
    margin-bottom: 45px;
}

.contact-icon .icon {
    width: 48px;
    height: 48px;
    color: var(--green);
}

.contact-panel h2 {
    font-size: 60px;
    letter-spacing: -0.04em;
}

.contact-panel p {
    font-size: 16.5px;
    max-width: 420px;
    margin: 28px 0 35px;
    flex-grow: 1;
}

.contact-panel .button {
    align-self: flex-start;
}

.contact-panel-dark {
    background: #818181;
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.1);
}

.contact-panel-dark h2 em, .contact-panel-dark .eyebrow, .contact-panel-dark .icon {
    color: var(--lime);
}

.contact-panel-dark p {
    color: #b5cbcb;
}

/* --------------------------------------------------------------------------
   Keyframe Animations
   -------------------------------------------------------------------------- */
@keyframes rotate {
    to { transform: rotate(360deg); }
}

@keyframes bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes scrollDown {
    to { transform: translateY(60px); }
}

@keyframes slideProgress {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes marquee {
    to { transform: translateX(-50%); }
}

@keyframes rise {
    from {
        opacity: 0;
        transform: translateY(35px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* Scroll-triggered reveal animation */
[data-reveal] {
    opacity: 1;
}

.motion-ready [data-reveal] {
    opacity: 0;
    transform: translateY(38px);
    transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
    transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready [data-reveal].revealed {
    opacity: 1;
    transform: none;
}

/* --------------------------------------------------------------------------
   Media Queries & Responsiveness
   -------------------------------------------------------------------------- */
@media (min-width: 1600px) {
    .hero-content {
        padding-bottom: 90px;
    }
    .hero-stamp {
        top: 22%;
        right: 12%;
    }
}

@media (max-width: 1150px) {
    .container {
        width: calc(100% - 80px);
    }
    .nav-container {
        width: calc(100% - 60px);
        gap: 25px;
    }
    .desktop-nav {
        gap: 20px;
        font-size: 14px;
    }
    .hero-slider {
        min-height: 650px;
    }
    .hero-title {
        font-size: 88px;
        letter-spacing: -4px;
    }
    .hero-stamp {
        right: 7%;
        width: 120px;
        height: 120px;
    }
    .hero-stamp > span {
        font-size: 48px;
    }
    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .pricing-card.pricing-popular {
        transform: none;
    }
    .pricing-card.pricing-popular:hover {
        transform: translateY(-8px);
    }
    .story-grid {
        gap: 65px;
    }
    .story-image {
        height: 560px;
    }
    .story-note {
        right: -10px;
        padding: 24px;
    }
    .detail-grid {
        gap: 65px;
    }
    .service-hero-grid {
        gap: 45px;
    }
    .service-hero-image {
        height: 500px;
    }
    .service-hero h1 {
        font-size: 66px;
        letter-spacing: -3px;
    }
    .footer-grid {
        gap: 30px;
    }
    .quote-shell {
        gap: 45px;
        grid-template-columns: 0.65fr 1.35fr;
    }
    .bento-content {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }
    .bento-content h3 {
        font-size: 26px;
    }
    .cta-inner h2 {
        font-size: 60px;
    }
    .section {
        padding: 90px 0;
    }
    .trust-stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
}

@media (max-width: 900px) {
    .desktop-nav {
        display: none;
    }
    .menu-toggle {
        display: block;
    }
    .nav-cta {
        margin-left: auto;
    }
    .nav-container {
        height: 85px;
    }
    .brand img {
        width: 72px;
        height: 72px;
    }
    .announcement {
        padding-inline: 30px;
    }
    .hero-slider {
        height: 740px;
        min-height: 620px;
        max-height: 900px;
    }
    .hero-title {
        font-size: 76px;
        letter-spacing: -4px;
    }
    .hero-content {
        padding-bottom: 100px;
    }
    .hero-stamp {
        top: 12%;
        right: 6%;
        width: 100px;
        height: 100px;
    }
    .hero-stamp > span {
        font-size: 42px;
    }
    .hero-shade {
        background: linear-gradient(90deg, rgba(3, 35, 46, 0.94), rgba(3, 35, 46, 0.65) 75%), linear-gradient(0deg, rgba(3, 35, 46, 0.85), transparent);
    }
    .hero-content > p {
        max-width: 400px;
        font-size: 15.5px;
    }
    .hero-buttons {
        gap: 25px;
    }
    .slider-tab {
        padding-inline: 20px;
        font-size: 12px;
    }
    .slider-tab::after {
        right: 18px;
    }
    .slider-tab > span {
        margin-right: 10px;
    }
    .service-bento {
        grid-template-rows: none;
        grid-auto-rows: 280px;
        grid-template-columns: minmax(0, 1fr);
    }
    .service-bento > .bento-card {
        grid-column: 1 / -1;
        min-width: 0;
    }
    .bento-content p {
        display: none;
    }
    .bento-content > div {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .bento-content h3,
    .bento-1 .bento-content h3 {
        font-size: 24px;
        margin: 0;
    }
    .bento-content .circle-arrow {
        width: 38px;
        height: 38px;
        font-size: 20px;
    }
    .story-grid {
        gap: 45px;
    }
    .story-image {
        height: 520px;
        border-radius: var(--radius-md) 80px var(--radius-md) var(--radius-md);
    }
    .story-copy h2 {
        font-size: 42px;
    }
    .process-grid {
        gap: 30px;
    }
    .process-big-number {
        font-size: 85px;
    }
    .faq-grid {
        gap: 45px;
    }
    .faq-list summary {
        font-size: 15px;
    }
    .faq-grid h2 {
        font-size: 42px;
    }
    .cta-inner {
        min-height: 340px;
    }
    .cta-inner h2 {
        font-size: 52px;
    }
    .circle-cta {
        width: 150px;
        height: 150px;
    }
    .footer-top {
        gap: 25px;
    }
    .footer-wordmark {
        font-size: 52px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }
    .footer-grid > div:first-child {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
    }
    .service-directory {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }
    .directory-photo {
        height: 260px;
    }
    .service-hero-grid {
        gap: 35px;
    }
    .service-hero-image {
        height: 460px;
    }
    .service-hero h1 {
        font-size: 54px;
        letter-spacing: -2.5px;
    }
    .detail-grid {
        gap: 45px;
    }
    .detail-grid h2 {
        font-size: 42px;
    }
    .inclusions {
        padding: 30px;
    }
    .inclusions h3 {
        font-size: 28px;
    }
    .mini-process {
        gap: 30px;
    }
    .related-grid img {
        height: 210px;
    }
    .editorial-grid {
        gap: 45px;
        grid-template-columns: 0.4fr 1fr;
    }
    .contact-panel {
        padding: 40px;
    }
    .quote-shell {
        grid-template-columns: 1fr;
        max-width: 780px;
        margin-inline: auto;
    }
    .quote-aside {
        display: none;
    }
    .timeline-step {
        grid-template-columns: 140px 1fr;
        gap: 30px;
    }
    .timeline-step > span {
        font-size: 85px;
    }
}

@media (max-width: 640px) {
    .container {
        width: calc(100% - 40px);
    }
    .announcement {
        height: 32px;
        padding: 0 20px;
        justify-content: center;
        font-size: 9.5px;
        letter-spacing: 1.4px;
    }
    .announcement a {
        display: none;
    }
    .nav-container {
        width: calc(100% - 36px);
        height: 80px;
        gap: 18px;
    }
    .brand {
        width: 68px;
    }
    .brand img {
        width: 65px;
        height: 65px;
    }
    .nav-cta {
        font-size: 12.5px;
        padding: 11px 18px;
        gap: 16px;
    }
    .menu-toggle {
        width: 32px;
        padding: 3px;
    }
    .hero-slider {
        height: calc(100svh - 110px);
        min-height: 620px;
        max-height: 820px;
    }
    .hero-content {
        padding-bottom: 120px;
        justify-content: center;
    }
    .hero-title {
        font-size: 58px;
        letter-spacing: -3.2px;
        line-height: 1.08;
    }
    .hero-content > .eyebrow {
        font-size: 9px;
        letter-spacing: 2px;
        margin-bottom: 22px;
    }
    .hero-content > p {
        max-width: 320px;
        font-size: 14.5px;
        line-height: 1.8;
        margin-top: 24px;
    }
    .hero-buttons {
        margin-top: 26px;
        gap: 20px;
        flex-wrap: wrap;
    }
    .hero-buttons .button {
        font-size: 13.5px;
        padding: 16px 22px;
        gap: 20px;
    }
    .hero-stamp {
        width: 78px;
        height: 78px;
        top: auto;
        bottom: 145px;
        right: 20px;
        box-shadow: 0 0 0 6px rgba(213, 239, 157, 0.2);
    }
    .hero-stamp > span {
        font-size: 34px;
    }
    .hero-bottom {
        bottom: 80px;
    }
    .scroll-cue {
        font-size: 8px;
        letter-spacing: 1.5px;
        gap: 10px;
    }
    .scroll-line {
        height: 28px;
    }
    .slider-controls {
        gap: 12px;
    }
    .slider-controls button {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }
    .slider-controls [data-slide-pause] {
        width: 30px;
        height: 30px;
        font-size: 11px;
    }
    .slide-counter {
        font-size: 12px;
        gap: 8px;
    }
    .slider-tabs {
        height: 58px;
    }
    .slider-tab {
        padding: 0 12px;
        font-size: 10.5px;
    }
    .slider-tab > span {
        font-size: 8.5px;
        margin-right: 6px;
    }
    .slider-tab::after {
        display: none;
    }
    .marquee {
        height: 64px;
    }
    .marquee-track {
        gap: 35px;
    }
    .marquee span {
        font-size: 14px;
    }
    .section {
        padding: 70px 0;
    }
    h1 {
        font-size: 58px;
        letter-spacing: -3px;
    }
    h2 {
        font-size: 42px;
        letter-spacing: -2px;
    }
    .section-heading {
        display: block;
        margin-bottom: 35px;
    }
    .heading-aside {
        font-size: 14.5px;
        margin-top: 24px;
        max-width: 380px;
    }
    .service-bento {
        grid-template-columns: minmax(0, 1fr);
        grid-auto-rows: 300px;
        gap: 16px;
    }
    .service-bento > .bento-card {
        grid-column: 1 / -1;
        min-width: 0;
    }
    .bento-content {
        left: 20px;
        right: 20px;
        bottom: 22px;
        gap: 12px;
    }
    .bento-content h3 {
        font-size: 24px;
    }
    .bento-content .circle-arrow {
        display: grid;
        width: 42px;
        height: 42px;
        font-size: 22px;
    }
    .moving-message .text-link{
        display: none;
    }
    .story-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .story-visual {
        padding: 0 15px 25px 0;
    }
    .story-image {
        height: 440px;
        border-radius: var(--radius-md) 95px var(--radius-md) var(--radius-md);
    }
    .story-note {
        right: 0;
        bottom: 60px;
        padding: 20px 24px;
    }
    .story-copy h2 {
        font-size: 42px;
    }
    .process-grid {
        grid-template-columns: 1fr;
        gap: 35px;
        margin: 40px 0;
    }
    .process-big-number {
        font-size: 80px;
    }
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .faq-grid h2 {
        font-size: 42px;
    }
    .cta-inner {
        padding-block: 55px;
        min-height: 440px;
        display: block;
    }
    .cta-inner h2 {
        font-size: 46px;
        letter-spacing: -2.5px;
    }
    .circle-cta {
        width: 130px;
        height: 130px;
        position: absolute;
        right: 0;
        bottom: 35px;
        font-size: 12px;
    }
    .circle-cta b {
        font-size: 30px;
    }
    .cta-watermark {
        font-size: 170px;
        right: 40px;
        bottom: -30px;
    }
    .footer-top {
        flex-wrap: wrap;
        gap: 25px;
    }
    .footer-wordmark {
        font-size: 55px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px 20px;
        padding: 40px 0;
    }
    .footer-grid > div:first-child {
        display: block;
        grid-column: 1 / -1;
    }
    .footer-grid h3 {
        font-size: 34px;
    }
    .service-directory {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .directory-photo {
        height: 260px;
    }
    .service-hero {
        padding-bottom: 50px;
    }
    .service-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .service-hero h1 {
        font-size: 56px;
        letter-spacing: -3px;
    }
    .service-hero-image {
        height: 420px;
    }
    .service-deco {
        width: 75px;
        height: 75px;
        font-size: 40px;
    }
    .service-benefits .container {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 18px 24px;
    }
    .detail-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .detail-grid h2 {
        font-size: 40px;
    }
    .inclusions {
        padding: 30px;
        position: static;
    }
    .mini-process {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .related-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    .quote-heading {
        padding-top: 45px;
        padding-bottom: 35px;
    }
    .quote-heading h1 {
        font-size: 56px;
        letter-spacing: -3px;
    }
    .quote-form-wrap {
        padding: 28px;
    }
    .service-choices {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .form-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .field.full {
        grid-column: auto;
    }
    .field input, .field select, .field textarea {
        font-size: 16px;
    }
    .trust-stats-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
    }
    .motion-ready [data-reveal] {
        opacity: 1;
        transform: none;
    }
    .hero-title > span, .hero-title > em, .hero-content > p, .hero-buttons {
        opacity: 1;
        transform: none;
    }
    .hero-backdrop {
        transform: none;
    }
    .marquee-track {
        transform: none;
    }
    .slider-tab.is-active i {
        width: 100%;
    }
}

/* ==========================================================================
   BORYDD V4 — Six Bespoke Services + Cinematic Hero
   ========================================================================== */

/* --- Homepage hero: six services, kinetic layers --- */
.hero-slider-v4 {
    --hero-drift-x: 0px;
    --hero-drift-y: 0px;
    min-height: 640px;
    isolation: isolate;
}

.hero-slider-v4 .hero-backdrop {
    transform: scale(1.12) translate3d(var(--hero-drift-x), var(--hero-drift-y), 0);
    transition: transform 9s cubic-bezier(.2,.75,.2,1), filter 1.2s ease;
    filter: saturate(.92) contrast(1.04);
}

.hero-slider-v4 .hero-slide.is-active .hero-backdrop {
    transform: scale(1.02) translate3d(var(--hero-drift-x), var(--hero-drift-y), 0);
}

.hero-slide-accent {
    position: absolute;
    inset: auto 8% 17% auto;
    width: min(34vw, 520px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(213,239,157,.8), transparent);
    z-index: 2;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 1.3s .4s var(--ease);
}

.hero-slide.is-active .hero-slide-accent { transform: scaleX(1); }

.hero-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

.hero-particles i {
    position: absolute;
    width: 7px;
    height: 7px;
    border: 1px solid rgba(213,239,157,.55);
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(213,239,157,.3);
    animation: heroParticle 11s ease-in-out infinite alternate;
}
.hero-particles i:nth-child(1){left:9%;top:22%;animation-delay:-2s}
.hero-particles i:nth-child(2){left:69%;top:27%;width:11px;height:11px;animation-delay:-6s}
.hero-particles i:nth-child(3){left:84%;top:57%;animation-delay:-4s}
.hero-particles i:nth-child(4){left:57%;top:74%;width:5px;height:5px;animation-delay:-8s}
.hero-particles i:nth-child(5){left:34%;top:17%;width:4px;height:4px;animation-delay:-1s}

@keyframes heroParticle {
    from { transform: translate3d(-8px, 12px, 0) scale(.75); opacity: .2; }
    to { transform: translate3d(20px, -28px, 0) scale(1.4); opacity: .9; }
}

.hero-slider-v4 .hero-aura {
    background: radial-gradient(circle, rgba(213,239,157,.26), rgba(101,138,53,.11) 42%, transparent 70%);
    mix-blend-mode: screen;
}

.hero-slider-v4 .hero-eyebrow {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .7s .05s var(--ease), transform .7s .05s var(--ease);
}
.hero-slider-v4 .is-active .hero-eyebrow { opacity: 1; transform: none; }

.hero-slider-v4 .hero-title > span,
.hero-slider-v4 .hero-title > em {
    transform: translateY(70px) rotate(.7deg);
    filter: blur(8px);
    transition: transform 1s var(--ease), opacity .85s var(--ease), filter .9s var(--ease);
}
.hero-slider-v4 .hero-title > em { transition-delay: .14s; }
.hero-slider-v4 .is-active .hero-title > span,
.hero-slider-v4 .is-active .hero-title > em { transform: none; filter: blur(0); }

.hero-slider-v4 .hero-floating-badges { margin-top: 22px; }
.hero-slider-v4 .hero-pill-badge {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.22);
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 12px 35px rgba(0,0,0,.12);
}
.hero-slider-v4 .hero-pill-badge:nth-child(2) { color: var(--lime); }

.hero-slider-v4 .hero-stamp { animation: stampFloat 5.5s ease-in-out infinite; }
@keyframes stampFloat {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -12px; }
}

.hero-slider-v4 .slider-tabs {
    grid-template-columns: repeat(var(--slide-count, 6), minmax(0, 1fr));
}
.hero-slider-v4 .slider-tab { padding: 0 22px; font-size: 12.5px; }
.hero-slider-v4 .slider-tab::after { right: 18px; }
.hero-slider-v4 .slider-tab > span { margin-right: 10px; }

.core-services-band { background: #eef3e6; }
.core-services-band-inner {
    display: grid;
    grid-template-columns: 1.15fr .75fr auto;
    gap: 60px;
    align-items: center;
}
.core-services-band-inner h2 { font-size: clamp(42px, 4.5vw, 66px); }
.core-services-band-inner p { font-size: 17px; line-height: 1.85; }

/* --- Core service directory --- */
.services-intro { padding-bottom: 85px; }
.service-directory-six { grid-template-columns: repeat(2, 1fr); gap: 34px; }
.service-directory-six .directory-card { min-height: 610px; }
.service-directory-six .directory-photo { height: 350px; }
.service-directory-six .directory-copy { padding: 34px; }
.directory-title-row { display: flex; align-items: center; gap: 15px; }
.directory-service-icon {
    width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: #edf3e6; color: var(--green-dark); flex: 0 0 auto;
}
.directory-service-icon .icon { width: 22px; height: 22px; }
.directory-card-bedrift .directory-service-icon,
.directory-card-spesial .directory-service-icon { background: var(--navy); color: var(--lime); }
.directory-card-pakking .directory-service-icon { background: #efe3d2; color: #6c5038; }
.directory-card-rydding .directory-service-icon { background: #ddf0d7; color: #33742c; }
.directory-card-dodsbo .directory-service-icon { background: #e4ece4; color: #536653; }
.service-compare-strip { background: var(--navy-deep); color: white; }
.service-compare-inner { display: grid; grid-template-columns: 1.1fr .75fr auto; gap: 55px; align-items: center; }
.service-compare-inner h2 { color: white; font-size: clamp(42px,4.5vw,66px); }
.service-compare-inner h2 em { color: var(--lime); }
.service-compare-inner p { color: #b8cacc; font-size: 17px; }

/* --- Service page shared structure --- */
.service-page { --service-accent: var(--green); --service-soft: #edf2e4; }
.service-page .bespoke-service-hero { position: relative; }
.service-hero-orbit {
    position: absolute; width: 620px; height: 620px; border-radius: 50%; right: -260px; top: -250px;
    border: 1px solid color-mix(in srgb, var(--service-accent) 18%, transparent);
    box-shadow: 0 0 0 80px color-mix(in srgb, var(--service-accent) 4%, transparent), 0 0 0 160px color-mix(in srgb, var(--service-accent) 2%, transparent);
    pointer-events: none;
}
.service-kicker {
    display: inline-flex; margin-bottom: 18px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px;
    font-size: 11px; font-weight: 750; letter-spacing: 1.1px; text-transform: uppercase; color: var(--muted);
    background: rgba(255,255,255,.56); backdrop-filter: blur(10px);
}
.service-hero-actions { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.service-hero-actions .text-link { margin-top: 34px; }
.service-trust-row { display: flex; flex-wrap: wrap; gap: 14px 20px; margin-top: 25px; }
.service-trust-row span { font-size: 12.5px; font-weight: 650; color: var(--muted); }
.service-image-frame { height: 100%; overflow: hidden; border-radius: inherit; }
.service-image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.service-hero-image:hover .service-image-frame img { transform: scale(1.045); }
.service-hero-price-card {
    position: absolute; right: -26px; bottom: 88px; z-index: 3; width: 220px; padding: 20px;
    background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.7); border-radius: 14px;
    box-shadow: 0 18px 45px rgba(6,46,60,.16); backdrop-filter: blur(18px);
}
.service-hero-price-card small { display: block; font-size: 9px; letter-spacing: 1.7px; font-weight: 800; color: var(--muted); }
.service-hero-price-card strong { display: block; margin: 6px 0; font: 750 20px/1.2 "Manrope", sans-serif; color: var(--navy); }
.service-hero-price-card span { display: block; font-size: 11px; color: var(--muted); line-height: 1.45; }
.service-identity { position: relative; overflow: hidden; }
.service-identity h2 { max-width: 760px; }
.service-identity p { font-size: 17px; line-height: 1.9; }
.bespoke-detail-grid > div > p { max-width: 650px; margin-top: 25px; }
.inclusion-section { background: #f8f9f4; }
.pricing-disclaimer { max-width: 860px; margin: 35px auto 0; text-align: center; font-size: 12.5px; color: var(--muted); }
.service-pricing .pricing-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.service-faq-section { background: #fafbf7; }

/* Theme 1 — Privatflytting: warm Scandinavian residential */
.service-theme-privat { --service-accent: #718f48; --service-soft: #edf3e6; }
.service-theme-privat .service-hero { background: radial-gradient(circle at 15% 20%, #fff 0, transparent 32%), linear-gradient(135deg,#f7f8f1,#e9f0df); }
.service-theme-privat .service-hero-image { transform: rotate(1deg); }
.service-theme-privat .service-image-frame { border-radius: 170px 22px 22px 22px; }
.service-theme-privat .service-image-tag { background: var(--lime); }
.privat-identity { background: #fffdf8; }
.privat-layout { display: grid; grid-template-columns: 1.05fr .72fr; gap: 100px; align-items: start; }
.privat-story > p { margin-top: 22px; max-width: 720px; }
.home-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin-top: 35px; }
.home-checklist span { padding: 14px 0; border-top: 1px solid #dfe5d7; font-size: 14px; font-weight: 600; }
.home-checklist b { color: var(--green); margin-right: 10px; }
.move-estimator { background: var(--navy); color: white; padding: 42px; border-radius: 28px; position: sticky; top: 130px; box-shadow: 0 25px 70px rgba(6,46,60,.22); }
.move-estimator h3 { color: white; font-size: 34px; margin: 8px 0 13px; }
.move-estimator p { color: #b7c8ca; font-size: 14px; }
.estimator-label { font-size: 10px; font-weight: 800; letter-spacing: 1.9px; color: var(--lime); }
.move-estimator label { display: grid; gap: 12px; margin-top: 28px; font-size: 12px; font-weight: 700; }
.move-estimator input[type="range"] { width: 100%; accent-color: var(--lime); }
.estimator-number { display: flex; align-items: baseline; gap: 7px; margin: 16px 0 22px; }
.estimator-number strong { font: 750 64px/1 "Manrope",sans-serif; color: var(--lime); }
.estimator-number span { color: #b6c8c9; }
.estimator-result { padding: 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; display: grid; gap: 5px; }
.estimator-result small { color: #91a7a9; font-size: 9px; letter-spacing: 1.4px; font-weight: 800; }
.estimator-result strong { color: white; font-size: 20px; }
.estimator-result span { color: #c4d2d2; font-size: 13px; }
.move-estimator .button { width: 100%; margin-top: 22px; background: var(--lime); color: var(--navy); }

/* Theme 2 — Bedriftsflytting: executive operations */
.service-theme-bedrift { --service-accent: #d5ef9d; --service-soft: #0b3948; background: #f4f7f5; }
.service-theme-bedrift .service-hero { background: linear-gradient(120deg,#031f29,#062e3c 62%,#0b4455); }
.service-theme-bedrift .service-hero h1,
.service-theme-bedrift .service-hero h2 { color: white; }
.service-theme-bedrift .service-hero-copy > p,
.service-theme-bedrift .service-trust-row span,
.service-theme-bedrift .service-kicker { color: #b7cbcd; }
.service-theme-bedrift .service-kicker { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.05); }
.service-theme-bedrift .service-hero-actions .text-link { color: white; border-color: rgba(255,255,255,.35); }
.service-theme-bedrift .service-image-frame { border-radius: 8px; clip-path: polygon(0 0,100% 0,100% 92%,90% 100%,0 100%); }
.service-theme-bedrift .service-hero-price-card { background: rgba(4,31,40,.9); border-color: rgba(213,239,157,.22); }
.service-theme-bedrift .service-hero-price-card strong { color: var(--lime); }
.service-theme-bedrift .service-hero-price-card small,
.service-theme-bedrift .service-hero-price-card span { color: #b7cbcd; }
.corporate-identity { background: #062e3c; color: white; }
.corporate-identity::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 60px 60px; pointer-events:none; }
.corporate-heading { position: relative; max-width: 820px; }
.corporate-heading h2 { color: white; }
.corporate-heading p { color: #b9c9cb; margin-top: 25px; }
.corporate-metrics { position:relative; display:grid; grid-template-columns: repeat(4,1fr); margin: 65px 0; border:1px solid rgba(255,255,255,.12); }
.corporate-metrics article { padding: 30px; border-right:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.025); }
.corporate-metrics article:last-child { border-right:0; }
.corporate-metrics strong { display:block; color:var(--lime); font-size:15px; letter-spacing:1.2px; }
.corporate-metrics span { display:block; color:#b7c8ca; font-size:13px; line-height:1.6; margin-top:9px; }
.corporate-timeline { position:relative; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.corporate-timeline article { display:grid; grid-template-columns:68px 1fr; gap:20px; padding:28px; background:#0b3a49; border:1px solid rgba(255,255,255,.08); }
.corporate-timeline b { font:700 30px/1 "Manrope",sans-serif; color:var(--lime); }
.corporate-timeline h3 { color:white; font-size:22px; }
.corporate-timeline p { color:#abc0c2; font-size:14px; margin-top:8px; }
.service-theme-bedrift .service-pricing { background:#e9efec; }

/* Theme 3 — Pakking: tactile craft studio */
.service-theme-pakking { --service-accent:#a77e56; --service-soft:#f0e4d5; }
.service-theme-pakking .service-hero { background: linear-gradient(135deg,#fffaf3,#f1e4d4); }
.service-theme-pakking .service-hero::after { content:""; position:absolute; inset:0; opacity:.22; background-image:repeating-linear-gradient(90deg,transparent 0 58px,#b99b7d 59px 60px); pointer-events:none; }
.service-theme-pakking .service-hero > .container { position:relative; z-index:1; }
.service-theme-pakking .service-image-frame { border-radius: 36px; transform: rotate(-1deg); }
.service-theme-pakking .service-image-tag { background:#e8d7c2; color:#4d3928; border:1px solid #d4bfa5; }
.packing-identity { background:#f9f1e7; }
.packing-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.packing-copy p { margin-top:22px; }
.packing-guarantee { margin-top:34px; padding:22px; display:flex; gap:18px; background:#fff9f2; border:1px solid #dccab5; border-radius:16px; }
.packing-guarantee > b { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#5f4937;color:white; }
.packing-guarantee strong,.packing-guarantee span { display:block; }
.packing-guarantee span { color:#766352;font-size:13px;margin-top:4px; }
.material-board { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.material-board article { min-height:180px; padding:28px; background:#fff; border:1px solid #dfcfbc; border-radius:4px 22px 4px 22px; box-shadow:0 10px 30px rgba(89,64,42,.07); transition:.35s var(--ease); }
.material-board article:hover { transform:translateY(-6px) rotate(.4deg); box-shadow:0 18px 40px rgba(89,64,42,.13); }
.material-board article > span { font-size:10px;letter-spacing:1.3px;font-weight:800;color:#9c7a5b;text-transform:uppercase; }
.material-board strong { display:block;font-size:20px;margin:10px 0;color:#4d3928; }
.material-board p { font-size:13px;line-height:1.65;color:#786756; }
.service-theme-pakking .service-pricing { background:#f3e8da; }

/* Theme 4 — Rydding: clean eco + before/after */
.service-theme-rydding { --service-accent:#3e8334; --service-soft:#e2f0dc; }
.service-theme-rydding .service-hero { background:radial-gradient(circle at 85% 15%,#d9f0d2,transparent 28%),linear-gradient(135deg,#f6fbf3,#e3f1dd); }
.service-theme-rydding .service-image-frame { border-radius:18px 150px 18px 18px; }
.service-theme-rydding .service-image-tag { background:#367a2f;color:white; }
.clearing-identity { background:#f3f9f0; }
.clearing-layout { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center; }
.before-after { min-height:500px; display:grid; grid-template-columns:1fr 56px 1fr; align-items:stretch; border-radius:28px; overflow:hidden; box-shadow:0 22px 60px rgba(49,101,43,.13); }
.before-after-side { display:flex;flex-direction:column;justify-content:flex-end;padding:36px;position:relative; }
.before-after-side small { position:absolute;top:28px;left:28px;font-size:10px;font-weight:800;letter-spacing:1.7px; }
.before-after-side strong { font:750 48px/1 "Manrope",sans-serif; }
.before-after-side span { margin-top:12px;font-size:13px; }
.before-after-side.before { background:#20332b;color:#dfe8df; }
.before-after-side.after { background:#dcefd5;color:#234a20; }
.before-after-arrow { display:grid;place-items:center;background:var(--lime);color:var(--navy);font-size:26px;font-weight:800; }
.clearing-copy p { margin-top:22px; }
.eco-flow { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px; }
.eco-flow span { padding:14px 16px;background:white;border:1px solid #cfe2c9;border-radius:999px;font-size:12px;font-weight:650; }
.eco-flow b { color:#3e8334;margin-right:6px; }
.eco-flow i { color:#78a76d;font-style:normal; }
.service-theme-rydding .service-pricing { background:#e9f4e5; }

/* Theme 5 — Spesialflytting: engineering / technical */
.service-theme-spesial { --service-accent:#a3e635; --service-soft:#172b33; background:#f2f5f4; }
.service-theme-spesial .service-hero { background:linear-gradient(135deg,#101b21,#152932 62%,#1c3540); }
.service-theme-spesial .service-hero h1 { color:white; }
.service-theme-spesial .service-hero-copy > p,
.service-theme-spesial .service-trust-row span,
.service-theme-spesial .service-kicker { color:#b8c8cd; }
.service-theme-spesial .service-kicker { border-color:rgba(163,230,53,.25); background:rgba(255,255,255,.04); }
.service-theme-spesial .service-hero-actions .text-link { color:white;border-color:rgba(255,255,255,.3); }
.service-theme-spesial .service-image-frame { border-radius:4px; outline:1px solid rgba(163,230,53,.22); outline-offset:8px; }
.service-theme-spesial .service-image-tag { background:#172b33;color:#a3e635;border:1px solid #a3e635; }
.service-theme-spesial .service-hero-price-card { background:#101f26;border-color:rgba(163,230,53,.25); }
.service-theme-spesial .service-hero-price-card strong { color:#a3e635; }
.service-theme-spesial .service-hero-price-card small,.service-theme-spesial .service-hero-price-card span{color:#b7c7cc}
.special-identity { background:#111f25;color:white; }
.special-identity::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(163,230,53,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(163,230,53,.04) 1px,transparent 1px);background-size:42px 42px; }
.special-intro { position:relative;max-width:800px; }
.special-intro h2 { color:white; }
.special-intro p { color:#b5c6ca;margin-top:22px; }
.equipment-grid { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px; }
.equipment-grid article { min-height:235px;padding:28px;background:#172b33;border:1px solid rgba(163,230,53,.13);position:relative;overflow:hidden;transition:.35s var(--ease); }
.equipment-grid article::after { content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(163,230,53,.12);border-radius:50%;right:-28px;bottom:-28px; }
.equipment-grid article:hover { transform:translateY(-6px);border-color:rgba(163,230,53,.45); }
.equipment-index { font-size:10px;font-weight:800;letter-spacing:1.4px;color:#71888f; }
.equipment-grid h3 { color:white;font-size:23px;margin:34px 0 8px; }
.equipment-grid strong { color:#a3e635;font-size:15px;letter-spacing:.7px; }
.equipment-grid p { color:#9fb3b9;font-size:16px;margin-top:12px; }
.insurance-certificate { position:relative;margin-top:18px;padding:25px 30px;display:flex;align-items:center;gap:20px;border:1px dashed rgba(163,230,53,.45);background:#14262e; }
.insurance-certificate .icon { color:#a3e635;width:34px;height:34px; }
.insurance-certificate small,.insurance-certificate strong{display:block}
.insurance-certificate small{color:#7e979d;font-size:9px;letter-spacing:1.5px;font-weight:800}
.insurance-certificate strong{color:white;margin-top:5px;font-size:15px}
.service-theme-spesial .service-pricing { background:#e8edeb; }

/* Theme 6 — Dødsbo: calm, dignified, low-pressure */
.service-theme-dodsbo { --service-accent:#718772; --service-soft:#e8eee8; }
.service-theme-dodsbo .service-hero { background:radial-gradient(circle at 15% 0,#fff 0,transparent 34%),linear-gradient(135deg,#f7f9f7,#e8eee9); }
.service-theme-dodsbo .service-image-frame { border-radius:180px 180px 18px 18px; }
.service-theme-dodsbo .service-image-tag { background:#d8e4d8;color:#334633;border:1px solid #c2d4c2; }
.service-theme-dodsbo .service-deco { background:#4d6250;color:#eef4ea; }
.estate-identity { background:#f1f5f1; }
.estate-layout { display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:start; }
.estate-copy p { margin-top:22px; }
.estate-copy .button { margin-top:32px; }
.estate-steps { border-top:1px solid #ccd8cc; }
.estate-steps article { display:grid;grid-template-columns:60px 1fr;gap:22px;padding:28px 0;border-bottom:1px solid #ccd8cc; }
.estate-steps article > span { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dce7dc;color:#465b47;font-size:11px;font-weight:800; }
.estate-steps h3 { font-size:22px;color:#344634; }
.estate-steps p { font-size:14px;color:#69796a;margin-top:7px; }
.service-theme-dodsbo .service-pricing { background:#e8eee8; }

/* Per-theme pricing accents */
.service-theme-bedrift .pricing-card.pricing-popular,
.service-theme-spesial .pricing-card.pricing-popular { border-color:var(--navy); }
.service-theme-bedrift .pricing-badge-popular { background:var(--navy);color:var(--lime); }
.service-theme-spesial .pricing-badge-popular { background:#152932;color:#a3e635; }
.service-theme-pakking .pricing-badge-popular { background:#7d5d41; }
.service-theme-rydding .pricing-badge-popular { background:#3e8334; }
.service-theme-dodsbo .pricing-badge-popular { background:#586c59; }

/* Quote wizard: visually distinct six service cards */
.service-choices:has(.service-choice-rich) { grid-template-columns:1fr 1fr; gap:16px; }
.service-choice-rich { align-items:flex-start; padding:20px; min-height:150px; }
.service-choice-rich > input { margin-top:5px; }
.service-choice-icon { width:42px;height:42px;border-radius:50%;background:#edf3e6;color:var(--green-dark);display:grid;place-items:center;flex:0 0 auto; }
.service-choice-icon .icon { width:20px;height:20px; }
.service-choice-copy { display:grid;gap:5px;min-width:0; }
.service-choice-copy strong { color:var(--navy);font-size:15px; }
.service-choice-copy small { color:var(--muted);font-size:11.5px;line-height:1.5;font-weight:500; }
.service-choice-copy em { color:var(--green-dark);font-size:11px;font-style:normal;font-weight:750;margin-top:4px; }
.service-choice-bedrift .service-choice-icon,.service-choice-spesial .service-choice-icon{background:var(--navy);color:var(--lime)}
.service-choice-pakking .service-choice-icon{background:#efe2d2;color:#73553b}
.service-choice-rydding .service-choice-icon{background:#dff0da;color:#377531}
.service-choice-dodsbo .service-choice-icon{background:#e2eae2;color:#526652}
.quote-summary { margin:28px 0;padding:20px;border-radius:12px;background:#eef3e6;border:1px solid #d7e1ce;display:grid;grid-template-columns:repeat(2,1fr);gap:7px 20px;font-size:12.5px;color:var(--muted); }
.quote-summary strong{grid-column:1/-1;color:var(--navy);font-size:14px}

/* Responsive V4 */
@media (max-width: 1200px) {
    .hero-slider-v4 .slider-tab { padding:0 12px;font-size:10.5px; }
    .hero-slider-v4 .slider-tab::after { display:none; }
    .core-services-band-inner,.service-compare-inner { grid-template-columns:1fr 1fr; }
    .core-services-band-inner .button,.service-compare-inner .button { justify-self:start; }
    .service-hero-price-card { right:10px; }
    .privat-layout,.packing-layout,.clearing-layout,.estate-layout { gap:55px; }
}

@media (max-width: 900px) {
    .hero-slider-v4 { min-height:680px; }
    .hero-slider-v4 .slider-tabs { overflow-x:auto;grid-template-columns:repeat(6,minmax(145px,1fr));scrollbar-width:none; }
    .hero-slider-v4 .slider-tabs::-webkit-scrollbar{display:none}
    .hero-slider-v4 .hero-floating-badges .hero-pill-badge:nth-child(3){display:none}
    .service-directory-six { grid-template-columns:1fr; }
    .service-directory-six .directory-card { min-height:0; }
    .core-services-band-inner,.service-compare-inner { grid-template-columns:1fr;gap:28px; }
    .privat-layout,.packing-layout,.clearing-layout,.estate-layout { grid-template-columns:1fr;gap:45px; }
    .move-estimator { position:static; }
    .corporate-metrics { grid-template-columns:1fr 1fr; }
    .corporate-metrics article:nth-child(2){border-right:0}
    .corporate-metrics article{border-bottom:1px solid rgba(255,255,255,.12)}
    .corporate-timeline { grid-template-columns:1fr; }
    .material-board { grid-template-columns:1fr 1fr; }
    .before-after { min-height:380px; }
    .equipment-grid { grid-template-columns:1fr 1fr; }
    .service-choices:has(.service-choice-rich) { grid-template-columns:1fr; }
}

@media (max-width: 640px) {
    .hero-slider-v4 { min-height:690px; }
    .hero-slider-v4 .hero-content { padding-bottom:125px; }
    .hero-slider-v4 .hero-floating-badges { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
    .hero-slider-v4 .hero-pill-badge { font-size:10px;padding:7px 10px; }
    .hero-slider-v4 .slider-tabs { height:54px; }
    .hero-slider-v4 .slider-tab { font-size:9.5px;min-width:135px; }
    .hero-slider-v4 .slider-tab > span{display:none}
    .service-directory-six .directory-photo { height:270px; }
    .service-directory-six .directory-copy { padding:24px; }
    .service-hero-price-card { left:16px;right:auto;bottom:18px;width:210px; }
    .service-trust-row { gap:10px 14px; }
    .home-checklist { grid-template-columns:1fr; }
    .move-estimator { padding:30px; }
    .corporate-metrics { grid-template-columns:1fr; }
    .corporate-metrics article { border-right:0; }
    .material-board { grid-template-columns:1fr; }
    .before-after { grid-template-columns:1fr; min-height:0; }
    .before-after-side { min-height:230px; }
    .before-after-arrow { height:54px; transform:rotate(90deg); }
    .equipment-grid { grid-template-columns:1fr; }
    .estate-steps article { grid-template-columns:48px 1fr; }
    .service-pricing .pricing-grid { grid-template-columns:1fr; }
    .pricing-card.pricing-popular { transform:none; }
    .pricing-card.pricing-popular:hover { transform:translateY(-6px); }
    .quote-summary { grid-template-columns:1fr; }
    .quote-summary strong{grid-column:auto}
}

@media (prefers-reduced-motion: reduce) {
    .hero-particles,.hero-aura{display:none!important}
    .hero-slider-v4 .hero-title > span,.hero-slider-v4 .hero-title > em,.hero-slider-v4 .hero-eyebrow{opacity:1!important;transform:none!important;filter:none!important}
    .hero-slider-v4 .hero-backdrop{transform:none!important}
    .hero-slider-v4 .hero-stamp{animation:none!important}
}

.material-price-list { grid-column:1/-1; margin-top:2px; padding:22px 26px; background:#5f4937; color:white; border-radius:12px; }
.material-price-list > span { display:block; margin-bottom:12px; color:#eadbc9; font-size:9px; font-weight:800; letter-spacing:1.6px; }
.material-price-list > div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-top:1px solid rgba(255,255,255,.12); font-size:13px; }
.material-price-list strong { color:white; }
.material-price-list em { color:#eadbc9; font-style:normal; }
.service-theme-bedrift .pricing-card p,
.service-theme-spesial .pricing-card p { color:var(--muted); }


/* Brand palette: exact logo green is primary; lime is a restrained accent. */
:root {
    --green: #669039;
    --green-dark: #496a28;
    --green-soft: #edf2e7;
    --on-green: #ffffff;
    --on-lime: #061b14;
}
.button-dark, .button-lime,
.service-hero-rental .button,
.move-estimator .button {
    background: var(--green);
    color: var(--on-green);
    box-shadow: 0 6px 20px rgba(102, 144, 57, .22);
}
.button-dark:hover, .button-lime:hover,
.service-hero-rental .button:hover,
.move-estimator .button:hover {
    background: var(--lime);
    color: var(--on-lime);
    box-shadow: 0 12px 28px rgba(102, 144, 57, .25);
}
.button-outline:hover {
    background: var(--green-soft);
    border-color: var(--green);
    color: var(--green-dark);
}
.hero-title > em,
.process-section h2 em, .process-big-number,
.rental-content h2 em,
.service-hero-rental h1 em,
.service-compare-inner h2 em,
.contact-panel-dark h2 em,
.theme-bedrift h1 em, .theme-spesial h1 em,
.service-theme-bedrift .service-hero h1 em,
.service-theme-spesial .service-hero h1 em,
.estimator-number strong {
    color: var(--green);
}
.hero-stamp, .marquee, .cta-section, .story-note,
.service-image-tag, .service-page .service-image-tag,
.directory-photo > span, .directory-image > span,
.success-mark, .before-after-arrow {
    background: var(--green);
    color: var(--on-green);
    border-color: var(--green);
}
.hero-stamp {
    box-shadow: 0 0 0 10px rgba(102, 144, 57, .14), 0 14px 35px rgba(3, 35, 46, .35);
}
.hero-stamp text { fill: var(--on-green); }
.marquee span, .story-note .icon, .story-note span,
.cta-inner h2, .cta-inner h2 em, .cta-inner .eyebrow { color: var(--on-green); }
.marquee b { color: var(--lime); }
.circle-cta { background: var(--navy-deep); color: white; }
.circle-cta:hover { background: var(--lime); color: var(--on-lime); }
.circle-cta:hover b { color: var(--on-lime); }
.cta-watermark { color: rgba(6, 27, 20, .07); }
.eyebrow { color: var(--green-dark); }
.eyebrow.light, .announcement a,
.service-hero-rental .eyebrow, .contact-panel-dark .eyebrow,
.theme-bedrift .eyebrow, .theme-spesial .eyebrow,
.service-theme-bedrift .eyebrow, .service-theme-spesial .eyebrow,
.estimator-label, .corporate-metrics strong, .equipment-grid strong {
    color: var(--green);
}
.eyebrow i { background: var(--green); }
.reading-progress { background: var(--green); box-shadow: none; }
.slider-tab i { background: var(--green); box-shadow: none; }
.hero-aura, .hero-slider-v4 .hero-aura {
    background: radial-gradient(circle, rgba(102,144,57,.24), rgba(102,144,57,.09) 42%, transparent 70%);
}
.hero-slider-v4 .hero-pill-badge:nth-child(2) { color: #e0e9da; }
.hero-particles i { border-color: rgba(102,144,57,.5); box-shadow: 0 0 20px rgba(102,144,57,.2); }
.footer-wordmark span { color: var(--green); }
.service-page,
.service-theme-privat, .service-theme-bedrift, .service-theme-pakking,
.service-theme-rydding, .service-theme-spesial, .service-theme-dodsbo {
    --service-accent: var(--green);
}
.service-theme-bedrift .service-hero-price-card strong,
.service-theme-spesial .service-hero-price-card strong { color: var(--green); }
.move-estimator input[type="range"] { accent-color: var(--green); }
.service-theme-bedrift .pricing-badge-popular,
.service-theme-spesial .pricing-badge-popular,
.service-theme-pakking .pricing-badge-popular,
.pricing-badge-popular { background: var(--green); color: var(--on-green); }
.inclusions, .reference, .contact-panel:not(.contact-panel-dark) { background: var(--green-soft); }
.success-mark { box-shadow: 0 0 0 12px rgba(102,144,57,.12); }
@media(max-width:640px) {
    .hero-stamp { box-shadow: 0 0 0 6px rgba(102,144,57,.16); }
}


/* Live quote estimate: same inputs and calculation rules as Flyttom. */
.quote-estimator { margin: 28px 0 34px; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.quote-estimator .eyebrow { margin-bottom: 12px; }
.estimator-intro, .estimator-radius-note { font-size: 12px; line-height: 1.8; }
.quote-estimator .form-grid { margin-top: 20px; }
.quote-estimator .field { font-size: 12px; }
.quote-levels { grid-column: 1 / -1; margin: 6px 0 0; }
.quote-levels > legend, .quote-extras > legend { font: 600 14px/1.5 "DM Sans",sans-serif; letter-spacing: 0; }
.quote-levels > p, .quote-extras > p { font-size: 11px; margin: 7px 0 13px; }
.level-choices, .extra-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.level-choices label, .extra-choices label { display: flex; align-items: center; gap: 7px; cursor: pointer; border: 1px solid var(--line); border-radius: 5px; background: white; padding: 9px 11px; font-size: 11px; }
.level-choices input, .extra-choices input { accent-color: var(--green); margin: 0; }
.level-choices label:has(:checked), .extra-choices label:has(:checked) { border-color: var(--green); background: var(--green-soft); }
.estimator-radius-note:empty { display: none; }
.estimator-radius-note { margin-top: 16px; }
.estimate-result { background: white; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; margin-top: 22px; }
.estimate-totals { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; padding: 23px; background: var(--green); color: white; }
.estimate-totals span { display: block; font-size: 10px; margin-bottom: 8px; }
.estimate-totals strong { display: block; font: 700 clamp(19px,2vw,26px)/1.2 "Manrope",sans-serif; }
.estimate-breakdown, .estimate-note { font-size: 11px; line-height: 1.9; padding: 18px 22px; margin: 0; }
.estimate-result > .field { padding: 0 22px 17px; }
.extra-estimate { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 22px; border-top: 1px solid var(--line); font-size: 12px; }
.extra-estimate strong { white-space: nowrap; }
.quote-extras { margin: 24px 0 0; }
.thanks-estimate { max-width: 560px; margin: 25px auto 35px; padding: 25px; border-radius: 10px; background: var(--green-soft); text-align: left; }
.thanks-estimate h2 { font-size: 24px; margin-bottom: 18px; letter-spacing: -.8px; }
.thanks-estimate dl { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin: 0; font-size: 13px; }
.thanks-estimate dd { margin: 0; font-weight: 650; }
.thanks-estimate p { margin: 18px 0 0; font-size: 11px; }
@media(max-width:640px) {
    .quote-estimator { padding: 17px; margin-inline: -6px; }
    .estimate-totals { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .estimate-totals strong { font-size: 26px; }
    .estimate-breakdown, .estimate-note { padding: 16px; }
    .estimate-result > .field { padding-inline: 16px; }
    .extra-estimate { padding: 12px 16px; font-size: 11px; }
    .level-choices label, .extra-choices label { padding: 9px; font-size: 10px; }
    .thanks-estimate { padding: 20px; }
    .thanks-estimate dl { font-size: 11px; }
}

/* Diagonal fill stays behind the label and inside each CTA. */
.button, .circle-cta {
    isolation: isolate;
    overflow: hidden;
    --button-fill: var(--lime);
    --button-hover-text: var(--on-lime);
}
.button::after, .circle-cta::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 -20%;
    background: var(--button-fill);
    transform: skewX(-45deg) scale(0, 1);
    transition: transform .5s ease;
    pointer-events: none;
}
.button:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"])::after,
.circle-cta:is(:hover, :focus-visible)::after {
    transform: skewX(-45deg) scale(1, 1);
}
.button-dark:is(:hover, :focus-visible),
.button-lime:is(:hover, :focus-visible),
.service-hero-rental .button:is(:hover, :focus-visible),
.move-estimator .button:is(:hover, :focus-visible) {
    background: var(--green);
    color: var(--button-hover-text);
}
.button-outline {
    --button-fill: var(--green);
    --button-hover-text: white;
}
.button-outline:is(:hover, :focus-visible) {
    background: transparent;
    color: var(--button-hover-text);
    border-color: var(--green);
}
.circle-cta:is(:hover, :focus-visible) {
    background: var(--navy-deep);
    color: var(--button-hover-text);
}
.circle-cta:is(:hover, :focus-visible) b { color: inherit; }
.button:focus-visible, .circle-cta:focus-visible {
    outline: 3px solid var(--green);
    outline-offset: 5px;
}
.button .button-arrow { flex-shrink: 0; }
.button:is(:hover, :focus-visible) .button-arrow { transform: translate(4px, -4px); }
.button:is(:hover, :focus-visible) .button-arrow-forward { transform: translateX(5px); }
.button:is(:hover, :focus-visible) .button-arrow-back { transform: translateX(-5px); }
.button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .button::after, .circle-cta::after, .button .button-arrow { transition: none; }
}
/* Borydd's moving-home scene: a scroll-controlled photographic composition. */
.moving-story { --journey: .5; position: relative; background: #edf2e7; }
.moving-stage { position: relative; min-height: 760px; overflow: hidden; display: grid; place-items: center; isolation: isolate; }
.moving-caption, .moving-footer { position: absolute; left: 5%; right: 5%; display: flex; justify-content: space-between; gap: 20px; font-size: 10px; letter-spacing: .18em; font-weight: 650; color: var(--green-dark); }
.moving-caption { top: 40px; }.moving-footer { bottom: 35px; align-items: center; }
.moving-message { text-align: center; z-index: 2; padding: 150px 15px; }
.moving-message h2 { font-size: clamp(48px, 6.2vw, 100px); line-height: 1.06; letter-spacing: -.065em; margin: 20px 0 30px; }
.moving-message h2 em { color: var(--green); }
.moving-photo { position: absolute; width: clamp(170px, 22vw, 320px); margin: 0; background: white; padding: 10px; box-shadow: 0 25px 70px #18302126; z-index: 1; }
.moving-photo img { width: 100%; height: 280px; object-fit: cover; display: block; }
.moving-photo figcaption { padding: 14px 8px 8px; }.moving-photo figcaption span { display: block; font-size: 8px; letter-spacing: .12em; color: var(--green-dark); }.moving-photo figcaption b { display: block; font-size: 19px; margin-top: 5px; }
.moving-photo-from { left: -5%; top: 13%; transform: translateY(calc(var(--journey) * 110px)) rotate(calc(-14deg + var(--journey) * 9deg)); }
.moving-photo-to { right: -4%; bottom: 13%; transform: translateY(calc(var(--journey) * -100px)) rotate(calc(14deg - var(--journey) * 9deg)); }
.moving-route { position: absolute; width: 100%; height: 90%; inset: 5% 0; z-index: -1; }
.route-track { stroke: #66903920; stroke-width: 2; stroke-dasharray: 5 8; }.route-progress { stroke: var(--green); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--journey)); }.moving-route circle { fill: var(--green); }
.moving-progress { width: 160px; height: 2px; background: #66903930; }.moving-progress i { display: block; width: 100%; height: 100%; background: var(--green); transform-origin: left; transform: scaleX(var(--journey)); }
.bento-card { --pointer-x: 50%; --pointer-y: 50%; }
.bento-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(400px circle at var(--pointer-x) var(--pointer-y), #ffffff25, transparent 65%); opacity: 0; transition: opacity .4s; }
.bento-card:hover::after { opacity: 1; }
.bento-card .circle-arrow { transition: transform .5s, background .4s, color .4s; }
.bento-card:hover .circle-arrow { transform: rotate(45deg); background: var(--green); color: white; }
@media (min-width: 1000px) and (prefers-reduced-motion: no-preference) {
    .moving-story.is-enhanced { height: 165vh; }
    .is-enhanced .moving-stage { position: sticky; top: 0; height: 100vh; min-height: 650px; max-height: 1100px; }
    .is-enhanced .moving-photo-from { left: calc(-5% + var(--journey) * 8%); }
    .is-enhanced .moving-photo-to { right: calc(-4% + var(--journey) * 7%); }
    .is-enhanced .moving-message { transform: translateY(calc(30px - var(--journey) * 60px)); }
    .hero-slide.is-active .hero-title > span, .hero-slide.is-active .hero-title > em { animation: borydd-title-in 1.15s cubic-bezier(.16,1,.3,1) backwards; }
    .hero-slide.is-active .hero-title > em { animation-delay: .15s; }
    @keyframes borydd-title-in { from { clip-path: inset(-.15em -.15em 100% -.15em); translate: 0 45px; } to { clip-path: inset(-.15em -.15em -.25em -.15em); translate: 0 0; } }
}
@media (max-width: 999px) {
    .moving-stage { min-height: 740px; }
    .moving-message { align-self: start; padding-top: 100px; }
    .moving-message h2 { font-size: clamp(40px, 7vw, 70px); }
    .moving-photo { width: 35%; top: auto; bottom: 90px; transform: rotate(-8deg); }
    .moving-photo-from { left: 12%; }.moving-photo-to { right: 12%; transform: rotate(8deg); }
    .moving-photo img { height: 210px; }
    .moving-footer { font-size: 8px; }.moving-progress { width: 65px; }
}
@media (max-width: 540px) {
    .moving-stage { min-height: 650px; }.moving-caption { font-size: 8px; }
    .moving-photo { width: 43%; padding: 6px; bottom: 90px; }.moving-photo-from { left: 5%; }.moving-photo-to { right: 5%; }
    .moving-photo img { height: 170px; }.moving-photo figcaption { padding: 10px 3px 5px; }.moving-photo figcaption span { font-size: 6px; }.moving-photo figcaption b { font-size: 14px; }
    .moving-message h2 { font-size: 42px; }.moving-footer { letter-spacing: .04em; gap: 10px; }
}
/* Shared pacing: spacious entrances, quiet image depth and responsive details. */
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
    .motion-ready [data-reveal] { transition-duration: 1s; transition-timing-function: cubic-bezier(.16, 1, .3, 1); }
    .motion-ready h1[data-reveal], .motion-ready h2[data-reveal] { transform: translateY(28px); }
    .motion-ready h1[data-reveal].revealed, .motion-ready h2[data-reveal].revealed { transform: none; }
    .editorial-enter { opacity: 0; translate: 0 25px; transition: opacity .8s var(--ease), translate .9s cubic-bezier(.16,1,.3,1); transition-delay: var(--entrance-delay, 0ms); }
    .editorial-enter.editorial-visible, .editorial-enter:focus-within { opacity: 1; translate: 0 0; }
    .page-intro .breadcrumb, .service-hero .breadcrumb { animation: breadcrumb-enter .7s ease-out both; }
    @keyframes breadcrumb-enter { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
    .value-card .icon, .service-image-tag .icon { transition: rotate .6s var(--ease), scale .6s var(--ease); }
    .value-card:hover .icon { rotate: -8deg; scale: 1.12; }
    .service-hero-image:hover .service-image-tag .icon { rotate: 8deg; }
    .pricing-card { transition: box-shadow .45s, border-color .45s, translate .45s; }
    .pricing-card:hover { translate: 0 -6px; box-shadow: 0 24px 60px #18302115; border-color: var(--green); }
    .faq-item[open] > :not(summary) { animation: answer-enter .35s ease-out; }
    @keyframes answer-enter { from { opacity: 0; translate: 0 -5px; } to { opacity: 1; translate: 0 0; } }
}
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
    .editorial-parallax { translate: 0 var(--image-drift, 0px); scale: 1.12; }
}
@media (max-width: 899px) {
    .motion-ready [data-reveal] { transition-duration: .65s; }
}
@media (prefers-reduced-motion: reduce) {
    .editorial-enter { opacity: 1; translate: none; }
    .editorial-parallax { translate: none; scale: none; }
}
/* Lenis owns wheel/anchor easing; native CSS easing must not compete. */
html.lenis, html.lenis body { scroll-behavior: auto !important; }
@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
    .editorial-parallax { scale: 1.38; }
    .bento-card > .editorial-parallax { transform: none; }
    .bento-card:hover > .editorial-parallax { transform: scale(1.025); }
}
.footer-bottom p{
    font-size: 12px !important;
    color: #9cb3b8 !important;
}
/* 2026 BoRydd brief refresh */
:root{--navy:#1B2A4A;--green:#5C8B5C;--cream:#f4f2ec;--ink:#172033}
.announcement{background:var(--navy)!important}.button-dark{background:var(--navy)!important}.button-lime{background:var(--green)!important;color:#fff!important}.button-lime:hover{background:#496f49!important}.site-header{--header-ink:var(--navy)}
.brief-hero{min-height:760px;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden}.brief-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.brief-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,53,.88),rgba(13,27,53,.38) 65%,rgba(13,27,53,.12))}.brief-hero-content{position:relative;padding-top:190px;padding-bottom:100px}.brief-hero h1,.simple-hero h1,.service-hero h1{font-family:Manrope,sans-serif;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.94;letter-spacing:-.065em;max-width:950px}.brief-hero p{font-size:1.25rem;line-height:1.65;max-width:650px}.button-ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.hero-trust{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px;font-size:.9rem}.flagship{background:var(--cream)}.flagship-grid,.complete-grid,.region-grid,.service-copy-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,130px);align-items:start}.flagship h2,.complete-grid h2,.region h2,.service-copy-grid h2{font-size:clamp(2.6rem,5vw,5.5rem);line-height:1}.flagship p,.complete-grid p,.service-copy-grid p{font-size:1.08rem;line-height:1.8}.flagship-list{list-style:none;margin:0;padding:0}.flagship-list li{display:flex;gap:28px;padding:26px 0;border-bottom:1px solid #c9c9bf;font-size:1.3rem}.flagship-list b{color:var(--green);font-size:.8rem}.brief-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.brief-service-card{position:relative;min-height:550px;overflow:hidden;color:#fff;border-radius:4px}.brief-service-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .6s}.brief-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,25,47,.92),transparent 75%)}.brief-service-card:hover img{transform:scale(1.03)}.brief-service-card>div{position:absolute;z-index:2;left:34px;right:34px;bottom:32px}.brief-service-card h3{font-size:2rem;margin:.5rem 0}.brief-service-card p{max-width:520px}.brief-service-card .card-number{position:absolute;z-index:2;top:28px;left:30px}.brief-service-card b{color:#dce9d8}.brief-service-card b i{font-style:normal;float:right}.complete-solution{background:var(--navy);color:#fff}.complete-grid ul{padding:0;list-style:none}.complete-grid li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18)}.region-cities{display:grid;grid-template-columns:1fr 1fr;gap:12px}.region-cities span{padding:18px;border:1px solid #d7d9d3;font-weight:700}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step-grid article{padding:30px;background:#f3f2ed;min-height:240px}.step-grid b{color:var(--green)}.step-grid h3{font-size:1.35rem;margin-top:45px}.simple-hero{padding:190px 0 100px;background:var(--cream)}.simple-hero p{font-size:1.2rem;max-width:720px}.service-hero{padding:170px 0 90px;background:var(--cream)}.service-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.service-hero p{font-size:1.15rem;line-height:1.7}.service-image-frame{position:relative}.service-image-frame img{width:100%;height:620px;object-fit:cover}.service-image-frame>span{position:absolute;bottom:20px;left:20px;background:#fff;padding:12px 16px}.included-panel{padding:40px;background:#f3f2ed}.included-panel ul{list-style:none;padding:0}.included-panel li{padding:15px 0;border-bottom:1px solid #d3d4cf;display:flex;gap:12px}.included-panel li span{color:var(--green)}.directory-row{display:grid;grid-template-columns:.85fr 1fr;gap:60px;padding:70px 0;border-bottom:1px solid #ddd}.directory-photo img{width:100%;height:520px;object-fit:cover}.directory-row h2{font-size:clamp(2.3rem,4vw,4.5rem)}.directory-row li{margin:10px 0}.quote-intro{padding-bottom:70px}.quote-section{background:#f7f6f2}.quote-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}.quote-aside{position:sticky;top:150px}.new-dynamic-form{background:#fff;padding:clamp(24px,5vw,64px)}.new-dynamic-form fieldset{border:0;padding:0 0 50px;margin:0 0 45px;border-bottom:1px solid #ddd}.new-dynamic-form legend{font:700 1.65rem Manrope;margin-bottom:26px}.new-dynamic-form label{display:grid;gap:8px;font-weight:600;margin-bottom:18px}.new-dynamic-form label span{font-weight:400;color:#687080}.new-dynamic-form input,.new-dynamic-form select,.new-dynamic-form textarea{width:100%;border:1px solid #bec2c7;background:#fff;padding:15px;font:inherit;border-radius:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.check-row{grid-template-columns:22px 1fr!important}.check-row input{width:20px}.form-errors{background:#fff0ef;border-left:4px solid #a63831;padding:18px;margin-bottom:30px}.form-routing,.small-note{font-size:.85rem;color:#687080}.contact-panel{padding:36px;background:#f3f2ed}
@media(max-width:900px){.brief-hero{min-height:680px}.brief-hero-content{padding-bottom:60px}.flagship-grid,.complete-grid,.region-grid,.service-copy-grid,.contact-grid,.service-hero-grid,.directory-row,.quote-layout{grid-template-columns:1fr}.brief-service-grid{grid-template-columns:1fr}.step-grid{grid-template-columns:1fr 1fr}.service-image-frame img{height:450px}.quote-aside{position:static}.desktop-nav{display:none!important}}
@media(max-width:600px){.brief-hero h1,.simple-hero h1,.service-hero h1{font-size:3rem}.brief-service-card{min-height:480px}.step-grid,.field-grid,.region-cities{grid-template-columns:1fr}.new-dynamic-form{padding:24px}.hero-trust{display:grid}.simple-hero{padding-top:140px}}

/* Brief palette only: preserve the original layout and motion, strengthen contrast. */
:root{
    --navy:#1B2A4A;
    --navy-deep:#111d35;
    --navy-light:#2a3e66;
    --green:#5C8B5C;
    --green-dark:#3f6a43;
    --lime:#dbe8d5;
    --lime-light:#edf4e9;
    --paper:#f7f7f2;
    --muted:#4d5868;
}
.hero-slider-v4 .hero-title,
.hero-slider-v4 .hero-title span,
.hero-slider-v4 .hero-title em,
.hero-slider-v4 .hero-content>p,
.hero-slider-v4 .hero-text-link,
.hero-slider-v4 .scroll-cue,
.hero-slider-v4 .slider-controls,
.hero-slider-v4 .hero-eyebrow{color:#fff!important;text-shadow:0 2px 22px rgba(5,12,28,.42)}
.hero-slider-v4 .hero-shade{background:linear-gradient(90deg,rgba(10,20,42,.82) 0%,rgba(10,20,42,.5) 48%,rgba(10,20,42,.12) 100%)!important}
.hero-slider-v4 .hero-pill-badge{background:rgba(11,24,49,.72)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;backdrop-filter:blur(8px)}
.slider-tab{color:rgba(255,255,255,.72)!important}.slider-tab.is-active{color:#fff!important}
.bento-card .bento-shade{background:linear-gradient(0deg,rgba(10,20,42,.94) 0%,rgba(10,20,42,.28) 72%)!important}
.bento-card .bento-content h3,.bento-card .bento-content p,.bento-card .bento-number{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.bento-card .bento-price-badge{background:#fff!important;color:var(--navy)!important;font-weight:800}
.cta-section,.complete-solution{background:var(--navy)!important}.cta-inner h2,.cta-inner h2 em,.cta-inner .eyebrow,.cta-inner p,.complete-solution h2,.complete-solution p{color:#fff!important}
.announcement{background:var(--navy)!important}.announcement,.announcement a{color:#fff!important}.button-lime{background:var(--green)!important;color:#fff!important}.button-lime:hover{background:#456f49!important;color:#fff!important}.button-dark{background:var(--navy)!important;color:#fff!important}
.eyebrow{color:var(--green-dark)}.eyebrow.light{color:#d9ead7!important}
.process-section>.container>.section-heading h2,.process-section>.container>.section-heading h2 span{color:#fff!important}.process-section>.container>.section-heading h2 em{color:#8fbd8c!important}.process-section>.container>.section-heading p{color:#d7deea!important}
.moving-message>p{max-width:590px;margin:-8px auto 28px;color:var(--muted);font-size:17px;line-height:1.75}

/* Visible directional scroll choreography */
.motion-ready [data-reveal]{opacity:0;transform:translate3d(0,64px,0) scale(.985);filter:blur(5px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease}
.motion-ready [data-reveal="left"]{transform:translate3d(-72px,0,0)}
.motion-ready [data-reveal="scale"]{transform:translate3d(0,36px,0) scale(.9)}
.motion-ready [data-reveal].revealed{opacity:1;transform:none;filter:none}

/* Original BoRydd manifesto — deliberately not the former split story grid. */
.care-manifesto{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(100px,12vw,180px) 0}.care-track{position:absolute;top:18px;left:-3%;display:flex;gap:34px;white-space:nowrap;font:800 clamp(58px,10vw,170px)/1 Manrope;color:rgba(255,255,255,.035);letter-spacing:-.06em}.care-stage{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px);align-items:end}.care-heading{align-self:start;padding-top:70px}.care-heading h2{color:#fff;font-size:clamp(48px,6vw,86px);margin-top:24px}.care-heading h2 em{color:#b9d2b7}.care-frame{margin:0;position:relative}.care-frame img{width:100%;height:min(68vw,720px);object-fit:cover;clip-path:polygon(9% 0,100% 0,100% 90%,91% 100%,0 100%,0 10%)}.care-frame figcaption{position:absolute;left:-70px;bottom:45px;background:#f7f7f2;color:var(--navy);padding:22px 26px;max-width:300px}.care-frame figcaption span{display:block;font-size:9px;letter-spacing:.16em;color:var(--green-dark);font-weight:800}.care-frame figcaption b{display:block;margin-top:7px;line-height:1.35}.care-principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);margin-top:30px}.care-principles article{padding:34px 40px 10px 0;border-right:1px solid rgba(255,255,255,.18)}.care-principles article+article{padding-left:40px}.care-principles span{color:#b9d2b7;font-size:11px}.care-principles h3{color:#fff;font-size:26px;margin:18px 0 10px}.care-principles p{color:#cbd3df}.care-link{grid-column:1/-1;justify-self:end;margin-top:40px;border-bottom:1px solid #fff;padding-bottom:8px}

/* Inner pages use the same editorial language as the homepage. */
.is-inner .simple-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7f7f2 0%,#e8eee6 100%);padding:clamp(160px,15vw,230px) 0 110px}.is-inner .simple-hero:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(92,139,92,.22);border-radius:50%;right:-80px;top:70px}.is-inner .simple-hero h1{color:var(--navy)}.is-inner .simple-hero p{color:var(--muted);line-height:1.75}.is-inner .section-heading,.is-inner .service-section-head{margin-bottom:65px}

/* Shared service shell with four genuinely different themes. */
.bespoke-service-hero{position:relative;overflow:hidden;padding:30px 0 50px}.bespoke-service-hero .service-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center}.service-hero-copy h1{font-size:clamp(58px,7vw,80px);margin:24px 0}.service-hero-copy>p{font-size:18px;max-width:650px}.service-kicker{display:inline-flex;padding:9px 13px;border:1px solid currentColor;font-size:9px;font-weight:800;letter-spacing:.16em}.service-trust-row{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;font-size:12px}.service-image-frame{position:relative;overflow:hidden}.service-image-frame img{width:100%;height:640px;object-fit:cover}.service-image-tag{position:absolute;left:20px;bottom:20px;padding:12px 16px;font-size:11px;font-weight:800}.service-hero-price-card{position:absolute;right:-25px;bottom:45px;background:#fff;padding:20px 24px;box-shadow:0 18px 50px rgba(13,25,48,.16)}.service-hero-image{position:relative}.service-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,150px)}.service-detail-grid p{font-size:18px;line-height:1.8;margin-bottom:18px}.service-detail-grid .button{margin-top:20px}
.service-variant-estate .bespoke-service-hero{background:radial-gradient(circle at 15% 8%,#fff,transparent 32%),#e8eee8}.service-variant-estate .service-image-frame{border-radius:240px 240px 12px 12px}.service-variant-estate .service-image-tag{background:#dce8db;color:#2d4732}.estate-path{display:grid;grid-template-columns:repeat(5,1fr);position:relative}.estate-path:before{content:"";position:absolute;top:24px;left:4%;right:4%;height:1px;background:#bdcbbc}.estate-path article{position:relative;padding:0 22px}.estate-path article>span{display:grid;place-items:center;position:relative;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff}.estate-path h3{font-size:18px;margin:25px 0 10px}.estate-path p{font-size:14px;color:var(--muted)}
.service-variant-clear .bespoke-service-hero{background:linear-gradient(120deg,#f7faf4,#dfeedd)}.service-variant-clear .service-image-frame{border-radius:18px 180px 18px 18px}.service-variant-clear .service-image-tag{background:var(--green);color:#fff}.clear-scope{background:#f0f5ed}.clear-scope-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.clear-scope-grid p{margin-top:20px}.clear-room-grid{display:grid;grid-template-columns:1fr 1fr}.clear-room-grid span{display:flex;justify-content:space-between;align-items:center;padding:26px;border:1px solid #cbd7c7;margin:-1px 0 0 -1px;font-weight:700;background:#fff}.clear-room-grid b{color:var(--green)}
.service-variant-clean .bespoke-service-hero{background:linear-gradient(135deg,#f8fafb,#e9f1f1)}.service-variant-clean .service-image-frame{clip-path:polygon(0 0,92% 0,100% 9%,100% 100%,8% 100%,0 91%)}.service-variant-clean .service-image-tag{background:#fff;color:var(--navy)}.clean-checklist{background:#fff}.clean-title{max-width:760px;margin-bottom:70px}.clean-title p{margin-top:22px}.clean-lines div{display:grid;grid-template-columns:70px 1fr 40px;align-items:center;padding:24px 0;border-top:1px solid #dbe1e5}.clean-lines span{color:#789}.clean-lines strong{font-size:22px}.clean-lines i{font-style:normal;color:var(--green);font-weight:800}
.service-variant-haul .bespoke-service-hero{background:linear-gradient(135deg,#111d35,#203457);color:#fff}.service-variant-haul .service-hero-copy h1,.service-variant-haul .breadcrumb,.service-variant-haul .service-kicker,.service-variant-haul .service-hero-copy>p,.service-variant-haul .service-trust-row,.service-variant-haul .text-link{color:#fff}.service-variant-haul .service-image-frame{clip-path:polygon(0 0,100% 0,100% 88%,87% 100%,0 100%)}.service-variant-haul .service-image-tag{background:var(--green);color:#fff}.haul-flow{background:var(--navy);color:#fff}.haul-heading h2{color:#fff;font-size:clamp(55px,8vw,110px)}.haul-steps{display:grid;grid-template-columns:repeat(5,1fr);margin-top:75px}.haul-steps article{border-left:1px solid rgba(255,255,255,.2);padding:30px}.haul-steps b{color:#aacaaa}.haul-steps h3{color:#fff;font-size:18px;margin-top:45px}
@media(max-width:900px){.care-stage,.bespoke-service-hero .service-hero-grid,.service-detail-grid,.clear-scope-grid{grid-template-columns:1fr}.care-frame figcaption{left:15px}.care-principles{grid-template-columns:1fr}.care-principles article,.care-principles article+article{padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.estate-path,.haul-steps{grid-template-columns:1fr 1fr}.estate-path:before{display:none}.service-image-frame img{height:520px}}
@media(max-width:600px){.estate-path,.haul-steps,.clear-room-grid{grid-template-columns:1fr}.service-hero-copy h1{font-size:50px}.bespoke-service-hero{padding:48px 0 70px}.care-frame img{height:520px}}

/* Original BoRydd story grid: asymmetric, operational and brand-specific. */
.borydd-story{position:relative;background:#eef1ea;padding:clamp(95px,12vw,175px) 0;overflow:hidden}.borydd-story:before{content:"BR";position:absolute;right:-.03em;bottom:-.25em;font:800 min(36vw,560px)/1 Manrope;color:rgba(27,42,74,.035);letter-spacing:-.12em}.borydd-story-grid{position:relative;display:grid!important;grid-template-columns:1.15fr .72fr .9fr;grid-template-rows:auto auto;gap:28px 34px;align-items:stretch}.borydd-story-heading{grid-row:1/3;background:var(--navy);padding:clamp(42px,6vw,50px);display:flex;flex-direction:column;justify-content:center;min-height:600px}.borydd-story-heading .eyebrow{color:#b7d0b5}.borydd-story-heading h2{color:#fff;font-size:clamp(35px,5.6vw,35px);margin:28px 0}.borydd-story-heading h2 em{color:#b7d0b5}.borydd-story-heading p{color:#d8dee9;font-size:17px;line-height:1.8;max-width:580px}.borydd-story-heading .text-link{color:#fff;align-self:flex-start;margin-top:38px}.borydd-story-photo{grid-column:2;margin:0;position:relative;overflow:hidden;min-height:415px}.borydd-story-photo img{width:100%;height:100%;object-fit:cover}.borydd-story-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:55px 22px 20px;background:linear-gradient(transparent,rgba(8,18,38,.88));color:#fff}.borydd-story-photo figcaption span{display:block;font-size:9px;letter-spacing:.14em;color:#c6ddc3}.borydd-story-photo figcaption b{display:block;margin-top:6px;line-height:1.35}.borydd-story-principles{grid-column:3;grid-row:1/3;background:#fff;padding:18px 34px;display:flex;flex-direction:column;justify-content:center}.borydd-story-principles article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:33px 0;border-bottom:1px solid #dce1d8}.borydd-story-principles article:last-child{border:0}.borydd-story-principles article>span{font-size:10px;color:var(--green-dark);font-weight:800}.borydd-story-principles h3{font-size:23px;margin-bottom:8px}.borydd-story-principles p{font-size:14px;line-height:1.65;color:var(--muted)}.borydd-story-seal{grid-column:2;display:grid;place-items:center;text-align:center;background:var(--green);color:#fff;min-height:150px;padding:25px}.borydd-story-seal span{font:750 48px/1 Manrope;letter-spacing:-.06em}.borydd-story-seal b{font-size:9px;letter-spacing:.16em;margin-top:10px}
@media(max-width:1050px){.borydd-story-grid{grid-template-columns:1fr 1fr}.borydd-story-heading{grid-column:1/-1;grid-row:auto;min-height:520px}.borydd-story-photo{grid-column:1}.borydd-story-principles{grid-column:2;grid-row:2/4}.borydd-story-seal{grid-column:1}}
@media(max-width:650px){.borydd-story-grid{grid-template-columns:1fr}.borydd-story-heading,.borydd-story-photo,.borydd-story-principles,.borydd-story-seal{grid-column:1;grid-row:auto}.borydd-story-heading{min-height:auto;padding:42px 28px}.borydd-story-photo{min-height:450px}.borydd-story-principles{padding:12px 26px}}

/* Rich inner-page editorial system */
.inner-editorial-hero{position:relative;overflow:hidden;padding:72px 0 105px;background:#edf1e9}.inner-editorial-hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(92,139,92,.18);border-radius:50%;right:-190px;top:-190px}.inner-hero-grid{position:relative;display:grid;grid-template-columns:1fr .9fr;gap:clamp(60px,9vw,145px);align-items:center}.inner-editorial-hero h1{font-size:clamp(58px,7vw,85px);margin:25px 0}.inner-editorial-hero h1 em{color:var(--green);font-style:normal}.inner-editorial-hero p{font-size:18px;line-height:1.75;max-width:660px}.inner-editorial-hero .button{margin-top:34px}
.services-hero-stack{height:650px;position:relative}.services-hero-stack img{position:absolute;object-fit:cover}.services-hero-stack img:first-child{width:78%;height:82%;right:0;top:0;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 12%)}.services-hero-stack img:nth-child(2){width:48%;height:43%;left:0;bottom:0;border:10px solid #edf1e9}.services-hero-stack>span{position:absolute;right:-12px;bottom:20px;background:var(--navy);color:#fff;padding:18px 22px;font-size:10px;letter-spacing:.15em;font-weight:800}.services-index{padding:120px 0;background:#f8f8f4}.services-index-head{display:flex;justify-content:space-between;border-bottom:1px solid #cdd3ca;padding-bottom:25px;margin-bottom:25px}.services-index-head span{font-weight:800;color:var(--green-dark)}.services-index-head p{max-width:600px}.service-showcase{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,130px);align-items:center;padding:90px 0;border-bottom:1px solid #d8dcd4}.service-showcase:nth-child(odd) .service-showcase-image{order:2}.service-showcase-image{height:580px;position:relative;overflow:hidden}.service-showcase-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.service-showcase-image:hover img{transform:scale(1.04)}.service-showcase-image>span{position:absolute;top:18px;left:18px;width:52px;height:52px;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:11px;font-weight:800}.service-showcase-copy h2{font-size:clamp(42px,5vw,72px);margin:18px 0}.service-showcase-copy>p{font-size:18px;line-height:1.75}.service-mini-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.service-mini-list span{font-size:13px;color:var(--muted)}.combination-band{background:var(--navy);color:#fff;padding:110px 0}.combination-band>.container{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.combination-band h2{color:#fff}.combination-band p{color:#d5dce8;font-size:18px;margin-bottom:30px}
.partner-hero{background:var(--navy);color:#fff}.partner-hero h1,.partner-hero h1 em,.partner-hero .breadcrumb,.partner-hero p{color:#fff}.partner-hero h1 em{color:#b8d1b5}.partner-hero-photo{margin:0;position:relative}.partner-hero-photo img{width:100%;height:620px;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}.partner-hero-photo figcaption{position:absolute;left:-45px;bottom:28px;background:#fff;color:var(--navy);padding:22px 26px;max-width:290px}.partner-hero-photo figcaption b,.partner-hero-photo figcaption span{display:block}.partner-hero-photo figcaption span{font-size:13px;color:var(--muted);margin-top:5px}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d8ddd5}.audience-grid article{padding:36px;min-height:320px;border-right:1px solid #d8ddd5}.audience-grid article:last-child{border:0}.audience-grid span{font-size:10px;color:var(--green-dark);font-weight:800}.audience-grid h3{font-size:22px;margin:70px 0 14px}.audience-grid p{font-size:14px;color:var(--muted)}.partner-system{background:#e7ede4;padding:120px 0}.partner-system-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px}.partner-system-grid h2{font-size:clamp(48px,5vw,76px);color:#fff}.partner-system-grid>div:first-child{background:var(--green);color:#fff;padding:60px}.partner-system-grid>div:first-child p{margin-top:25px}.partner-system-grid ol{list-style:none;margin:0;padding:0}.partner-system-grid li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #bac8b7}.partner-system-grid li>b{color:var(--green-dark)}.partner-system-grid h3{font-size:22px}.partner-system-grid li p{color:var(--muted);margin-top:6px}
.about-hero-collage{position:relative;height:650px}.about-hero-collage img{position:absolute;object-fit:cover}.about-image-main{right:0;top:0;width:78%;height:88%;border-radius:180px 180px 10px 10px}.about-image-small{left:0;bottom:0;width:48%;height:40%;border:10px solid #edf1e9}.about-hero-note{position:absolute;right:-15px;bottom:15px;background:var(--navy);color:#fff;padding:20px 24px}.about-hero-note strong,.about-hero-note span{display:block}.about-hero-note span{font-size:10px;margin-top:6px;color:#d4dbea}.about-belief-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.about-belief-grid h2{font-size:clamp(48px,5vw,78px)}.about-lead{font-size:28px!important;line-height:1.45!important;color:var(--navy);margin-bottom:25px}.about-values{background:var(--navy);padding:105px 0}.about-value-grid{display:grid;grid-template-columns:repeat(3,1fr)}.about-value-grid article{padding:20px 55px 30px;border-right:1px solid rgba(255,255,255,.18);color:#fff}.about-value-grid article:last-child{border:0}.about-value-grid article>span{font-size:10px;color:#b8d1b5}.about-value-grid .icon{width:38px;height:38px;margin:50px 0 25px;color:#b8d1b5}.about-value-grid h3{color:#fff;font-size:28px}.about-value-grid p{color:#cbd3df;margin-top:12px}.about-promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-promise figure{margin:0}.about-promise figure img{width:100%;height:620px;object-fit:cover}.about-promise figcaption{font-size:9px;letter-spacing:.15em;margin-top:12px}.about-promise h2{font-size:clamp(46px,5vw,76px);margin:20px 0}.about-promise ul{list-style:none;padding:0;margin:30px 0}.about-promise li{padding:15px 0;border-bottom:1px solid #d6dbd3}
@media(max-width:1000px){.inner-hero-grid,.service-showcase,.combination-band>.container,.partner-system-grid,.about-belief-grid,.about-promise-grid{grid-template-columns:1fr}.services-hero-stack,.about-hero-collage{height:560px}.service-showcase:nth-child(odd) .service-showcase-image{order:0}.audience-grid{grid-template-columns:1fr 1fr}.audience-grid article:nth-child(2){border-right:0}.about-value-grid{grid-template-columns:1fr}.about-value-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:600px){.inner-editorial-hero{padding:48px 0 75px}.inner-editorial-hero h1{font-size:48px}.services-hero-stack,.about-hero-collage{height:430px}.service-showcase{padding:60px 0}.service-showcase-image{height:430px}.service-mini-list,.audience-grid{grid-template-columns:1fr}.audience-grid article{border-right:0;border-bottom:1px solid #d8ddd5;min-height:250px}.partner-hero-photo img,.about-promise figure img{height:460px}.partner-hero-photo figcaption{left:10px}.partner-system-grid>div:first-child{padding:36px}.about-value-grid article{padding:25px 15px 35px}}

/* Preserve the generated story subject instead of forcing a narrow crop. */
@media(min-width:1051px){.borydd-story-grid{grid-template-columns:.95fr 1.08fr .9fr}.borydd-story-heading{padding-left:clamp(42px,5vw,70px);padding-right:clamp(42px,5vw,70px)}}
.borydd-story-photo img{object-position:right center}

/* Generated service photography is landscape; keep enough width to show its context. */
@media(min-width:901px){.bespoke-service-hero .service-image-frame{aspect-ratio:1.32/1}.bespoke-service-hero .service-image-frame img{height:100%;object-fit:cover}.service-variant-clean .service-image-frame img{object-position:left center}}
@media(max-width:900px){.bespoke-service-hero .service-image-frame{aspect-ratio:4/3}.bespoke-service-hero .service-image-frame img{height:100%;object-fit:cover}.service-variant-clean .service-image-frame img{object-position:left center}}

/* Keep the pale-green header CTA hover readable. */
.nav-cta:is(:hover,:focus-visible){background:var(--lime-light)!important;color:var(--navy)!important;border-color:var(--navy)!important}.nav-cta:is(:hover,:focus-visible) .button-arrow{color:var(--navy)!important}

/* Consistent high-contrast hover treatment for every standard CTA. */
.button:is(:hover,:focus-visible){background:var(--lime-light)!important;color:var(--navy)!important;border-color:var(--navy)!important}.button:is(:hover,:focus-visible) span,.button:is(:hover,:focus-visible) .button-arrow{color:var(--navy)!important}

/* Give paired service actions clear visual separation. */
.directory-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 34px;margin-top:34px}.directory-actions .button,.directory-actions .text-link{margin:0}.directory-actions .text-link{padding:10px 2px}
@media(max-width:520px){.directory-actions{align-items:flex-start;flex-direction:column;gap:18px}.directory-actions .button{width:100%;justify-content:center}.directory-actions .text-link{margin-left:2px}}

/* Customer and partner portal login */
.login-page{min-height:calc(100vh - 160px);padding:34px;background:#e9eee6}.login-shell{max-width:1480px;min-height:790px;margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;box-shadow:0 28px 80px rgba(23,40,70,.12)}.login-visual{position:relative;overflow:hidden}.login-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.login-visual-shade{position:absolute;inset:0;background:linear-gradient(20deg,rgba(10,23,48,.94),rgba(10,23,48,.18) 75%)}.login-visual-copy{position:absolute;left:clamp(38px,6vw,90px);right:clamp(38px,6vw,90px);bottom:clamp(45px,7vw,100px);color:#fff}.login-visual-copy h1{color:#fff;font-size:clamp(50px,6vw,88px);letter-spacing:-.055em;margin:25px 0}.login-visual-copy p{font-size:18px;max-width:570px;color:#e1e6ee}.login-proof{display:flex;flex-wrap:wrap;gap:20px;margin-top:35px;font-size:12px}.login-panel{position:relative;padding:38px clamp(38px,6vw,92px) 55px}.login-panel-inner{max-width:520px;margin:35px auto 0}.login-heading>span{font-size:12px;letter-spacing:.17em;color:var(--green-dark);font-weight:800}.login-heading h2{font-size:48px;margin:10px 0}.login-heading p{color:var(--muted)}.portal-switch{display:grid;grid-template-columns:1fr 1fr;background:#eef1eb;padding:5px;margin-top:32px}.portal-switch button{padding:13px;font-weight:700;color:var(--muted)}.portal-switch button.active{background:#fff;color:var(--navy);box-shadow:0 5px 18px rgba(25,42,72,.08)}.portal-copy{display:grid;margin:24px 0}.portal-copy strong{font-size:16px}.portal-copy span{font-size:13px;color:var(--muted);margin-top:4px}.login-options{display:grid;gap:11px}.login-provider{width:100%;display:grid;grid-template-columns:32px 1fr auto;align-items:center;text-align:left;gap:10px;border:1px solid #cdd3d8;padding:13px 15px;color:var(--navy);opacity:1}.login-provider:disabled{cursor:not-allowed}.provider-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f0f2f4;font-weight:800}.login-provider-vipps .provider-mark{background:#ff5b24;color:#fff}.login-provider small{color:var(--green-dark);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.login-divider{display:flex;align-items:center;gap:15px;color:#8a929e;font-size:11px;margin:24px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#dce0e3;flex:1}.login-form label{display:grid;gap:7px;font-size:15px;font-weight:700;margin-bottom:15px}.login-form input[type="email"],.login-form input[type="password"]{border:1px solid #cbd0d5;padding:14px;background:#f8f9f7}.login-form input:disabled{opacity:.72}.login-form-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:4px 0 20px}.login-form-meta label{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin:0}.login-form .button{width:100%;justify-content:center}.login-form .button:disabled{opacity:.65;cursor:not-allowed}.portal-notice{margin-top:22px;padding:15px 17px;background:#edf3e9;border-left:3px solid var(--green)}.portal-notice span{font-size:13px;letter-spacing:.14em;color:var(--green-dark);font-weight:800}.portal-notice p{font-size:12px;line-height:1.55;color:var(--muted);margin-top:4px}.login-help{text-align:center;font-size:12px;color:var(--muted);margin-top:18px}.login-help a{color:var(--navy);font-weight:700;border-bottom:1px solid var(--green)}
@media(max-width:950px){.login-page{padding:20px}.login-shell{grid-template-columns:1fr}.login-visual{min-height:500px}.login-panel{padding-top:32px}.login-panel-inner{margin-top:25px}}
@media(max-width:560px){.login-page{padding:0}.login-shell{box-shadow:none}.login-visual{min-height:430px}.login-visual-copy{left:25px;right:25px;bottom:35px}.login-visual-copy h1{font-size:48px}.login-proof{display:grid;gap:7px}.login-panel{padding:28px 22px 45px}.login-heading h2{font-size:40px}}

/* Registration entry point and private-customer signup */
.desktop-nav{gap:clamp(18px,1.8vw,34px)}
.nav-register{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid var(--green);border-radius:3px;background:#edf4e9;color:var(--navy)!important;font-size:17px;font-weight:800;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.nav-register:is(:hover,:focus-visible){background:var(--navy);border-color:var(--navy);color:#fff!important}
.mobile-register{display:flex!important;align-items:center;justify-content:center;margin-top:8px;padding:13px 18px!important;background:#edf4e9;color:var(--navy)!important;border:1px solid var(--green)}
.login-register-prompt{text-align:center;margin:20px 0 0;padding-top:18px;border-top:1px solid #e0e4df;color:var(--muted);font-size:14px}
.login-register-prompt a{display:inline-block;margin-left:4px;color:var(--navy);font-weight:800;border-bottom:1px solid var(--green)}
.register-benefits{display:grid;gap:10px;margin:26px 0;padding:19px 21px;background:#f2f5ef;color:var(--navy);font-size:13px}
.register-benefits span{display:flex;align-items:center;gap:10px}
.register-benefits span:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:900}
.register-options{margin-top:24px}
@media(max-width:1250px) and (min-width:901px){.desktop-nav{gap:15px}.desktop-nav>a{font-size:13px}.nav-register{padding-inline:11px}.nav-cta{padding-inline:20px}}

/* Contact page */
.contact-hero{position:relative;overflow:hidden;padding:95px 0 110px;background:#edf1e9}.contact-hero:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(92,139,92,.16);border-radius:50%;right:-260px;top:-310px}.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .72fr;gap:clamp(55px,9vw,145px);align-items:end}.contact-hero h1{font-size:clamp(58px,7vw,98px);line-height:.94;letter-spacing:-.065em;margin:30px 0}.contact-hero p{max-width:680px;font-size:18px;line-height:1.75;color:var(--muted)}.contact-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px 34px;margin-top:35px}.contact-primary-card{background:var(--navy);color:#fff;padding:clamp(35px,5vw,64px);min-height:410px;display:flex;flex-direction:column;justify-content:flex-end}.contact-primary-card>span{font-size:9px;letter-spacing:.16em;color:#b9d3b6;font-weight:800}.contact-primary-card>a{color:#fff;font:700 clamp(23px,2.5vw,37px)/1.2 Manrope,sans-serif;margin:18px 0}.contact-primary-card>p{color:#d4dbe6;font-size:14px;line-height:1.7}.contact-primary-card>div{display:grid;gap:5px;margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}.contact-primary-card>div b{font-size:9px;letter-spacing:.14em;color:#b9d3b6}.contact-primary-card>div span{font-size:13px}.contact-directory{background:#fff}.contact-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d8ddd5}.contact-directory article{padding:35px;min-height:270px;border-right:1px solid #d8ddd5;display:flex;flex-direction:column}.contact-directory article:last-child{border:0}.contact-directory article>b{font-size:9px;letter-spacing:.13em;color:var(--green-dark)}.contact-directory h2{font-size:22px;margin:50px 0 10px}.contact-directory p{font-size:14px;color:var(--muted)}.contact-directory a{color:var(--navy);font-weight:800;margin-top:auto}.contact-form-section{background:var(--navy)}.contact-form-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(55px,9vw,140px);align-items:start}.contact-form-intro{position:sticky;top:145px;color:#fff}.contact-form-intro .eyebrow,.contact-form-intro h2,.contact-form-intro>a{color:#fff}.contact-form-intro h2{font-size:clamp(45px,5vw,72px);line-height:1.02;margin:25px 0}.contact-form-intro p{color:#cdd5e1;font-size:16px;line-height:1.75;margin-bottom:25px}.contact-form-intro>a{font-weight:800;border-bottom:1px solid #89ad86}.contact-form{padding:clamp(28px,5vw,62px);background:#fff}.contact-form>label,.contact-form .field-grid label{display:grid;gap:8px;margin-bottom:20px;font-size:12px;font-weight:750;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #c8cfd0;border-radius:0;background:#fafbf9;padding:14px;font:inherit;color:var(--navy)}.contact-form textarea{resize:vertical}.contact-form .check-row{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;font-weight:500;line-height:1.55}.contact-form .check-row input{width:18px;margin-top:2px}.contact-form .button{margin-top:8px}.contact-form .form-routing{font-size:11px;color:var(--muted);margin-top:16px}
@media(max-width:900px){.contact-hero-grid,.contact-form-layout{grid-template-columns:1fr}.contact-primary-card{min-height:330px}.contact-directory-grid{grid-template-columns:1fr}.contact-directory article{border-right:0;border-bottom:1px solid #d8ddd5;min-height:230px}.contact-directory article:last-child{border-bottom:0}.contact-form-intro{position:static}.contact-form-section{padding-top:85px}}
@media(max-width:600px){.contact-hero{padding:55px 0 75px}.contact-hero h1{font-size:52px}.contact-hero-actions{align-items:flex-start;flex-direction:column}.contact-directory article{padding:28px}.contact-form{padding:26px 20px}.contact-form .field-grid{grid-template-columns:1fr}}

/* Careers and job application */
.career-hero{padding:85px 0 110px;background:#eef2ea;overflow:hidden}.career-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(60px,9vw,145px);align-items:center}.career-hero h1{font-size:clamp(56px,6.6vw,94px);line-height:.96;letter-spacing:-.065em;margin:28px 0}.career-hero h1 em{color:var(--green);font-style:normal}.career-hero p{max-width:690px;color:var(--muted);font-size:18px;line-height:1.75}.career-hero .button{margin-top:32px}.career-hero figure{position:relative;margin:0}.career-hero figure img{display:block;width:100%;height:620px;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}.career-hero figcaption{position:absolute;left:-35px;bottom:30px;display:grid;gap:5px;background:var(--navy);color:#fff;padding:22px 26px}.career-hero figcaption b{font-size:9px;letter-spacing:.14em;color:#bdd4ba}.career-hero figcaption span{font-size:13px}.career-values{background:#fff}.career-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d8ddd5}.career-value-grid article{min-height:300px;padding:38px;border-right:1px solid #d8ddd5}.career-value-grid article:last-child{border:0}.career-value-grid span{font-size:10px;color:var(--green-dark);font-weight:800}.career-value-grid h2{font-size:24px;margin:75px 0 12px}.career-value-grid p{font-size:14px;color:var(--muted);line-height:1.65}.career-application{background:var(--navy);color:#fff}.career-application-grid{display:grid;grid-template-columns:.66fr 1.34fr;gap:clamp(55px,9vw,140px);align-items:start}.career-application aside{position:sticky;top:145px}.career-application aside h2{color:#fff;font-size:clamp(48px,5vw,76px);line-height:1;margin:25px 0}.career-application aside>p{color:#ccd5e2;font-size:16px;line-height:1.75}.career-file-note{display:grid;gap:5px;margin-top:35px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;color:#d8dfe9}.career-file-note b{font-size:9px;letter-spacing:.14em;color:#b9d3b6;margin-bottom:4px}.career-form{background:#fff;color:var(--navy);padding:clamp(28px,5vw,62px)}.career-form>label,.career-form .field-grid label{display:grid;gap:8px;margin-bottom:20px;font-size:12px;font-weight:750}.career-form label>span{font-weight:500;color:var(--muted)}.career-form input,.career-form textarea{width:100%;border:1px solid #c8cfd0;border-radius:0;background:#fafbf9;padding:14px;font:inherit;color:var(--navy)}.career-form textarea{resize:vertical}.career-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:5px 0 22px}.career-upload-grid label{display:grid;gap:10px;padding:22px;border:1px solid #c8cfd0;font-size:13px;font-weight:800}.career-upload-grid label>b,.career-upload-grid label>span{font-size:9px;letter-spacing:.1em;color:var(--green-dark)}.career-upload-grid input{padding:10px;background:#f1f4ef;font-size:11px}.career-form .check-row{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-weight:500;line-height:1.55}.career-form .check-row input{width:18px;margin-top:2px}.career-form .form-routing{font-size:11px;color:var(--muted);margin-top:16px}.job-thanks strong{color:var(--green-dark)}.job-thanks .button{margin-top:30px}
@media(max-width:950px){.career-hero-grid,.career-application-grid{grid-template-columns:1fr}.career-application aside{position:static}.career-hero figure img{height:520px}.career-value-grid{grid-template-columns:1fr}.career-value-grid article{border-right:0;border-bottom:1px solid #d8ddd5;min-height:240px}.career-value-grid article:last-child{border-bottom:0}}
@media(max-width:600px){.career-hero{padding:55px 0 75px}.career-hero h1{font-size:50px}.career-hero figure img{height:430px}.career-hero figcaption{left:12px;bottom:18px}.career-value-grid article{padding:28px}.career-upload-grid,.career-form .field-grid{grid-template-columns:1fr}.career-form{padding:26px 20px}}

/* Refined header registration action */
.desktop-nav>.nav-register{gap:10px;padding:8px 8px 8px 15px!important;border:0;border-radius:999px;background:var(--navy);color:#fff!important;box-shadow:0 8px 22px rgba(27,42,74,.16)}
.desktop-nav>.nav-register:after{display:none!important}.nav-register b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;font:800 20px/1 Manrope;transition:rotate .25s,background .25s}.desktop-nav>.nav-register:is(:hover,:focus-visible){background:var(--green);color:#fff!important}.desktop-nav>.nav-register:is(:hover,:focus-visible) b{background:#fff;color:var(--navy);rotate:90deg}.mobile-register{display:flex!important;justify-content:space-between!important;border:0!important;background:var(--navy)!important;color:#fff!important;border-radius:4px;padding:13px 14px!important}.mobile-register b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff}
@media(max-width:1400px) and (min-width:1121px){.nav-container{width:min(1360px,calc(100% - 40px));gap:20px}.desktop-nav{gap:13px;font-size:14px}.desktop-nav>.nav-register{font-size:12px;padding-left:12px!important}.nav-cta{padding-inline:18px;font-size:14px}}
@media(max-width:1120px){.desktop-nav{display:none!important}.menu-toggle{display:block}.nav-cta{margin-left:auto}.nav-container{height:85px}.brand img{width:72px;height:72px}}

/* Premium portal experience */
.auth-page{padding:28px;background:linear-gradient(135deg,#e8eee5,#f6f6f1)}.auth-shell{max-width:1540px;min-height:850px;border-radius:8px;overflow:hidden;box-shadow:0 32px 90px rgba(17,29,53,.16)}.auth-visual-number{position:absolute;z-index:2;top:40px;left:45px;color:#fff;font-size:9px;letter-spacing:.19em;font-weight:800}.auth-visual:after{content:"";position:absolute;z-index:1;width:460px;height:460px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-230px;top:-180px}.auth-visual .login-visual-shade{background:linear-gradient(18deg,rgba(10,22,46,.96),rgba(10,22,46,.2) 78%)}.auth-visual .login-visual-copy{z-index:2}.auth-visual .login-visual-copy h1{font-size:clamp(55px,5.6vw,86px);line-height:.96}.auth-panel{padding:35px clamp(40px,5vw,78px) 45px;background:linear-gradient(180deg,#fff,#fafbf8)}.auth-panel-top{display:flex;justify-content:flex-end;align-items:center}.auth-back{font-size:11px;color:var(--navy);font-weight:800;border-bottom:1px solid #b4c9b2}.auth-panel-inner{max-width:550px;margin-top:0px}.auth-panel .login-heading h2{font-size:clamp(43px,4vw,58px);letter-spacing:-.045em;margin:8px 0 12px}.auth-panel .login-heading p{font-size:14px;line-height:1.65}.auth-panel .portal-switch{border-radius:4px;padding:4px;margin-top:26px}.auth-panel .portal-switch button{display:flex;justify-content:center;align-items:center;gap:10px;border-radius:3px}.auth-panel .portal-switch small{font-size:14px;color:var(--green-dark)}.auth-panel .portal-copy{padding:15px 18px;margin:15px 0 20px;border-left:3px solid var(--green);background:#f3f6f1}.auth-panel .portal-copy strong{font-size:13px}.auth-panel .portal-copy span{font-size:14px}.auth-form>label>span{font-size:15px;letter-spacing:.03em}.auth-input{display:grid;grid-template-columns:44px 1fr;border:1px solid #cbd2ce;background:#fff;transition:border-color .25s,box-shadow .25s}.auth-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(92,139,92,.1)}.auth-input i{display:grid;place-items:center;border-right:1px solid #dce1dd;color:var(--green-dark);font-size:11px;font-style:normal;font-weight:800}.auth-form .auth-input input{border:0!important;background:transparent!important;padding:15px}.auth-submit{display:flex!important;justify-content:space-between!important;min-height:58px;padding:9px 10px 9px 20px!important;border:1px solid var(--navy)!important;border-radius:4px!important;background:var(--navy)!important;box-shadow:0 10px 24px rgba(27,42,74,.18)!important}.auth-submit span{font-size:14px!important;font-weight:800!important;line-height:1!important;letter-spacing:.04em;transform:none!important;color:#fff!important}.auth-submit b{display:grid;place-items:center;width:38px;height:38px;border-radius:3px;background:rgba(255,255,255,.12);font-size:17px;color:#fff}.auth-submit:disabled{opacity:1!important}.auth-submit:disabled span,.auth-submit:disabled b{opacity:.78}.auth-separator{display:flex;align-items:center;gap:13px;margin:22px 0 15px;color:#8a929e;font-size:12px;letter-spacing:.11em}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#dfe3df;flex:1}.auth-register-link{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border:1px solid #cdd4cf;background:#fff;color:var(--navy);transition:border-color .25s,translate .25s}.auth-register-link:hover{border-color:var(--green);translate:0 -2px}.auth-register-link>span{display:grid;gap:3px}.auth-register-link b{font-size:15px}.auth-register-link small{font-size:13px;color:var(--muted)}.auth-register-link i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf4e9;color:var(--navy);font-style:normal}.auth-status{margin-top:16px;padding:12px 15px}.auth-status p{font-size:13px}.auth-benefits{grid-template-columns:repeat(3,1fr);gap:0;padding:0;background:transparent;border:1px solid #dce2dc;margin:23px 0}.auth-benefits span{position:relative;display:grid!important;align-content:end;gap:4px;min-height:112px;padding:17px;border-right:1px solid #dce2dc}.auth-benefits span:last-child{border-right:0}.auth-benefits span:before{position:absolute;top:15px;left:16px;width:20px;height:20px}.auth-benefits b{font-size:13px}.auth-benefits small{font-size:11px;line-height:1.4;color:var(--muted)}.auth-provider-list{gap:12px}.auth-provider{grid-template-columns:42px 1fr auto!important;padding:15px!important;border-radius:4px!important;background:#fff!important;box-shadow:0 6px 20px rgba(17,29,53,.05)}.auth-provider .provider-mark{width:36px;height:36px}.google-mark{color:#4285f4;background:#f1f5ff!important}.auth-provider>span:nth-child(2){display:grid;gap:2px}.auth-provider b{font-size:14px}.auth-provider small{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--muted)!important}.auth-provider>i{font-style:normal;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark)}.auth-terms{text-align:center;font-size:14px;color:var(--muted);margin:17px 0}.auth-terms a{color:var(--navy);text-decoration:underline}.register-page .login-register-prompt{margin-top:14px;padding-top:14px}
@media(max-width:950px){.auth-page{padding:18px}.auth-shell{border-radius:5px}.auth-visual{min-height:560px}.auth-panel{padding:32px clamp(25px,7vw,70px) 50px}.auth-panel-inner{max-width:620px}.auth-visual-number{top:30px;left:30px}}
@media(max-width:560px){.auth-page{padding:0}.auth-shell{border-radius:0}.auth-visual{min-height:450px}.auth-visual .login-visual-copy h1{font-size:46px}.auth-panel{padding:27px 20px 42px}.auth-back{font-size:10px}.auth-benefits{grid-template-columns:1fr}.auth-benefits span{min-height:88px;border-right:0;border-bottom:1px solid #dce2dc;padding-left:52px}.auth-benefits span:last-child{border-bottom:0}.auth-provider{grid-template-columns:38px 1fr!important}.auth-provider>i{display:none}.auth-provider .provider-mark{width:32px;height:32px}}

/* Site-wide live chat */
.live-chat{position:fixed;z-index:1200;right:24px;bottom:22px;font-family:"DM Sans",sans-serif}.chat-launcher{min-width:194px;display:grid;grid-template-columns:40px 1fr 9px;align-items:center;gap:11px;padding:10px 13px;border:1px solid rgba(27,42,74,.14);border-radius:999px;background:#fff;color:var(--navy);box-shadow:0 16px 45px rgba(17,29,53,.2);text-align:left;transition:translate .25s,box-shadow .25s}.chat-launcher:hover{translate:0 -3px;box-shadow:0 20px 52px rgba(17,29,53,.26)}.chat-launcher-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;background:var(--navy)}.chat-launcher-icon i{width:3px;height:3px;border-radius:50%;background:#fff}.chat-launcher>span:nth-child(2){display:grid}.chat-launcher b{font-size:13px}.chat-launcher small{font-size:9px;color:var(--muted)}.chat-launcher em{width:8px;height:8px;border-radius:50%;background:#63a565;box-shadow:0 0 0 4px rgba(99,165,101,.14)}.live-chat.is-open .chat-launcher{opacity:0;pointer-events:none}.chat-panel{position:absolute;right:0;bottom:0;width:min(390px,calc(100vw - 32px));height:min(650px,calc(100dvh - 35px));overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 28px 90px rgba(17,29,53,.28);border:1px solid rgba(27,42,74,.12)}.chat-panel[hidden]{display:none}.chat-header{height:86px;display:grid;grid-template-columns:42px 1fr 32px;align-items:center;gap:12px;padding:15px 18px;background:var(--navy);color:#fff}.chat-agent-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green);font:800 12px Manrope}.chat-header>div:nth-child(2){display:grid;gap:3px}.chat-header strong{font-size:14px}.chat-header span{font-size:9px;color:#d2dbe7}.chat-header span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7fc17f;margin-right:3px}.chat-header button{color:#fff;font-size:25px;line-height:1}.chat-body{height:calc(100% - 132px);overflow-y:auto;padding:20px;background:#f2f4ef}.chat-day{text-align:center;font-size:8px;letter-spacing:.15em;color:#7c8490;margin-bottom:18px}.chat-message{max-width:82%;display:grid;gap:5px;margin-bottom:12px}.chat-message span{padding:12px 14px;font-size:12px;line-height:1.5}.chat-message small{font-size:8px;color:#7c8490}.chat-message-agent span{background:#fff;border-radius:3px 12px 12px 12px}.chat-message-user{margin-left:auto;text-align:right}.chat-message-user span{background:var(--green);color:#fff;border-radius:12px 3px 12px 12px;text-align:left}.chat-intro{font-size:10px;line-height:1.55;color:var(--muted);margin:17px 0;padding-top:15px;border-top:1px solid #d9ded7}.chat-form{display:grid;gap:11px}.chat-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.chat-form label{display:grid;gap:5px;font-size:9px;font-weight:800;color:var(--navy)}.chat-form input,.chat-form textarea{width:100%;border:1px solid #ccd3ce;background:#fff;padding:10px;font:11px "DM Sans",sans-serif;color:var(--navy);border-radius:3px}.chat-form input:focus,.chat-form textarea:focus{outline:2px solid rgba(92,139,92,.22);border-color:var(--green)}.chat-form textarea{resize:none}.chat-form-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.chat-form-bottom small{font-size:8px;line-height:1.45;color:#747d89}.chat-form-bottom a{text-decoration:underline}.chat-form-bottom button{padding:10px 14px;border-radius:3px;background:var(--navy);color:#fff;font-size:11px;font-weight:800}.chat-form-bottom button:disabled{opacity:.55}.chat-error{padding:8px;background:#fff0ef;color:#913c36;font-size:9px}.chat-footer{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-top:1px solid #e0e4df;background:#fff}.chat-footer span{font-size:7px;letter-spacing:.12em;color:var(--green-dark);font-weight:800}.chat-footer a{font-size:9px;color:var(--navy);font-weight:700}
@media(max-width:560px){.live-chat{right:12px;bottom:12px}.chat-launcher{min-width:168px}.chat-panel{width:calc(100vw - 24px);height:min(650px,calc(100dvh - 24px))}.chat-fields{grid-template-columns:1fr}}

/* Larger, warmer and more expressive chat experience */
.chat-launcher{min-width:225px;padding:12px 15px;background:linear-gradient(135deg,#fff 0%,#f1f6ee 100%);border:1px solid rgba(92,139,92,.35);box-shadow:0 18px 55px rgba(17,29,53,.24)}.chat-launcher-icon{width:46px;height:46px;background:linear-gradient(145deg,var(--green),#416b46);box-shadow:0 8px 20px rgba(63,106,67,.3)}.chat-launcher-icon i{width:4px;height:4px}.chat-launcher b{font-size:15px;letter-spacing:-.01em}.chat-launcher small{font-size:11px;margin-top:2px}.chat-launcher em{width:10px;height:10px;animation:chat-presence 2s ease-in-out infinite}.chat-panel{width:min(430px,calc(100vw - 32px));height:min(700px,calc(100dvh - 35px));border-radius:18px;border-color:rgba(92,139,92,.25);box-shadow:0 32px 100px rgba(17,29,53,.32);animation:chat-panel-in .35s cubic-bezier(.16,1,.3,1)}.chat-header{height:106px;grid-template-columns:52px 1fr 36px;gap:14px;padding:18px 21px;background:linear-gradient(125deg,var(--navy) 0%,#29446e 72%,#365f5a 100%);overflow:hidden;position:relative}.chat-header:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-65px;top:-80px}.chat-agent-mark{width:52px;height:52px;background:linear-gradient(145deg,#78a777,var(--green));font-size:14px;box-shadow:0 8px 22px rgba(0,0,0,.18)}.chat-header strong{font-size:17px;letter-spacing:-.01em}.chat-header span{font-size:11px;margin-top:3px}.chat-header button{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);font-size:23px;transition:background .2s,rotate .2s}.chat-header button:hover{background:rgba(255,255,255,.2);rotate:6deg}.chat-body{height:calc(100% - 158px);padding:24px;background:linear-gradient(160deg,#f7f8f4 0%,#edf3e9 100%)}.chat-day{font-size:9px;margin-bottom:21px}.chat-message{gap:7px;margin-bottom:16px}.chat-message span{padding:14px 16px;font-size:14px;line-height:1.55;box-shadow:0 6px 18px rgba(17,29,53,.07)}.chat-message small{font-size:10px}.chat-message-agent span{border-radius:5px 16px 16px 16px;border:1px solid #e0e6de}.chat-message-user span{border-radius:16px 5px 16px 16px;background:linear-gradient(145deg,var(--green),#4b784f)}.chat-intro{font-size:12px;line-height:1.65;margin:20px 0;padding:17px 18px;background:rgba(255,255,255,.68);border:1px solid #dce5d8;border-radius:8px;color:#536070}.chat-form{gap:14px}.chat-fields{gap:11px}.chat-form label{gap:7px;font-size:11px;letter-spacing:.02em}.chat-form input,.chat-form textarea{padding:13px 12px;font-size:13px;border-radius:6px;border-color:#bdc9bf;box-shadow:inset 0 1px 2px rgba(17,29,53,.03)}.chat-form textarea{min-height:92px}.chat-form-bottom{gap:15px}.chat-form-bottom small{font-size:9px;line-height:1.55}.chat-form-bottom button{min-width:92px;padding:13px 17px;border-radius:6px;background:linear-gradient(135deg,var(--navy),#29446e);font-size:13px;box-shadow:0 8px 20px rgba(27,42,74,.2);transition:translate .2s,box-shadow .2s}.chat-form-bottom button:hover{translate:0 -2px;box-shadow:0 11px 25px rgba(27,42,74,.28)}.chat-footer{height:52px;padding:0 20px}.chat-footer span{font-size:8px}.chat-footer a{font-size:11px}.chat-error{padding:10px;font-size:11px;border-radius:5px}
@keyframes chat-panel-in{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}@keyframes chat-presence{50%{box-shadow:0 0 0 7px rgba(99,165,101,.08)}}
@media(max-width:560px){.chat-launcher{min-width:205px}.chat-panel{width:calc(100vw - 24px);height:min(700px,calc(100dvh - 24px));border-radius:14px}.chat-header{height:96px}.chat-body{height:calc(100% - 146px);padding:19px}.chat-fields{grid-template-columns:1fr}.chat-message span{font-size:13px}.chat-intro{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chat-panel,.chat-launcher em{animation:none}}

/* Supplied BoRydd brand assets */
.brand{width:120px;height:120px}.brand img{width:120px;height:120px;object-fit:contain}.footer-logo{display:flex;align-items:center;width:175px;height:175px;flex-shrink:0}.footer-logo img{display:block;width:120px;height:120px;object-fit:contain}
@media(max-width:1120px){.brand{width:76px;height:76px}.brand img{width:76px;height:76px}.footer-logo{width:155px;height:155px}.footer-logo img{width:155px;height:155px}}
@media(max-width:600px){.footer-logo{width:135px;height:135px}.footer-logo img{width:135px;height:135px}}
