:root {
    --spacing-lg: 2.25rem;
    --spacing-md: 1.5rem;
    --spacing-sm: 0.75rem;
    --spacing-xl: clamp(1.45rem, 4vw, 3rem);
    --spacing-xs: 0.5rem;
    --color-scrim: color-mix(in oklab, #000000 65%, transparent);
    --spacing-2xl: clamp(1.6rem, 5.33vw, 4rem);
    --spacing-3xl: clamp(1.9rem, 8vw, 6rem);
    --spacing-4xl: clamp(2.2rem, 10.67vw, 8rem);
    --blur-level-1: 6px;
    --blur-level-2: 14px;
    --blur-level-3: 24px;
    --color-accent: #8a9a87;
    --color-border: var(--color-neutral);
    --font-size-lg: clamp(1.125rem, 1.6vw, 1.25rem);
    --font-size-sm: clamp(0.875rem, 1.1vw, 1rem);
    --font-size-xl: clamp(1.25rem, 2.2vw, 1.5rem);
    --font-size-xs: clamp(0.75rem, 0.9vw, 0.875rem);
    --color-neutral: #9b8879;
    --color-outline: rgba(27, 27, 27, 0.08);
    --color-overlay: color-mix(in oklab, #000000 40%, transparent);
    --color-primary: #97682e;
    --color-surface: #fbf7f2;
    --divider-value: 1px solid var(--color-border);
    --font-size-2xl: clamp(1.45rem, 1.3rem + 0.7vw, 1.75rem);
    --font-size-3xl: clamp(1.75rem, 1.55rem + 0.9vw, 2.2rem);
    --font-size-4xl: clamp(2.15rem, 1.9rem + 1.3vw, 3rem);
    --font-size-base: 0.95rem;
    --shadow-level-1: 0 6px 18px color-mix(in oklab, var(--color-neutral) 12%, transparent);
    --shadow-level-2: 0 12px 30px color-mix(in oklab, var(--color-neutral) 18%, transparent);
    --shadow-level-3: 0 24px 60px color-mix(in oklab, var(--color-neutral) 24%, transparent);
    --color-backplate: color-mix(in oklab, #000000 55%, transparent);
    --color-on-accent: #111111;
    --color-secondary: #8a6a4b;
    --border-radius-lg: 0.875rem;
    --border-radius-md: 0.625rem;
    --border-radius-sm: 0.375rem;
    --border-radius-xl: 1.25rem;
    --color-on-primary: #ffffff;
    --color-on-surface: #1b1b1b;
    --font-family-body: "Livorienne Sans", sans-serif;
    --font-weight-body: 400;
    --line-height-body: 1.6;
    --content-max-width: 72rem;
    --border-radius-card: var(--border-radius-lg);
    --border-radius-full: 9999px;
    --border-radius-none: 0px;
    --color-on-secondary: #ffffff;
    --color-surface-tint: color-mix(in oklab, var(--color-surface) 92%, var(--color-primary));
    --font-style-heading: normal;
    --font-weight-medium: 500;
    --font-family-heading: "Livorienne Sans", sans-serif;
    --font-weight-heading: 600;
    --letter-spacing-body: 0.01em;
    --line-height-heading: 1.25;
    --dl-layout-size-large: 144px;
    --dl-layout-size-small: 48px;
    --dl-layout-space-unit: 16px;
    --border-radius-control: var(--border-radius-md);
    --dl-layout-size-medium: 96px;
    --dl-layout-size-xlarge: 192px;
    --dl-layout-size-xsmall: 16px;
    --font-style-subheading: normal;
    --color-surface-elevated: color-mix(in oklab, var(--color-surface) 92%, var(--color-secondary));
    --dl-color-theme-accent1: #FFFFFF;
    --dl-color-theme-accent2: #F5D1B0;
    --dl-layout-radius-round: 50%;
    --dl-layout-size-xxlarge: 288px;
    --letter-spacing-heading: 0;
    --text-transform-heading: none;
    --dl-color-theme-primary1: #BF4408;
    --dl-color-theme-primary2: #E65103;
    --dl-layout-size-maxwidth: 1400px;
    --dl-layout-radius-radius2: 2px;
    --dl-layout-radius-radius4: 4px;
    --dl-layout-radius-radius8: 8px;
    --dl-layout-space-halfunit: 8px;
    --dl-layout-space-sixunits: 96px;
    --dl-layout-space-twounits: 32px;
    --dl-color-theme-secondary1: #FFFFFF;
    --dl-color-theme-secondary2: #FBF1EB;
    --dl-layout-space-fiveunits: 80px;
    --dl-layout-space-fourunits: 64px;
    --color-on-surface-secondary: #8f8578;
    --dl-layout-space-threeunits: 48px;
    --dashboard-content-max-width: 48rem;
    --dl-color-theme-neutral-dark: #191818;
    --dl-layout-radius-cardradius: 8px;
    --dl-color-theme-neutral-light: #FBFAF9;
    --dl-layout-radius-imageradius: 8px;
    --dl-layout-radius-inputradius: 24px;
    --dl-layout-radius-buttonradius: 24px;
    --dl-layout-space-oneandhalfunits: 24px;
}

.teleport-show {
    display: flex !important;
    transform: none !important;
}

.btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}

.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.btn-outline {
    color: var(--color-on-surface);
    border: 1px solid var(--color-outline);
    box-shadow: none;
    background-color: transparent;
}

.btn-link {
    color: var(--color-primary);
    box-shadow: none;
    border-color: transparent;
    padding-left: 0;
    padding-right: 0;
    text-decoration: underline;
    background-color: transparent;
}

.btn-lg {
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-lg);
    min-height: calc(2.75rem + 0.5rem);
}

.section-title {
    font-size: var(--font-size-3xl);
    font-style: var(--font-style-heading);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    line-height: var(--line-height-heading);
    letter-spacing: var(--letter-spacing-heading);
    text-transform: var(--text-transform-heading);
}

.section-subtitle {
    opacity: 0.85;
    font-size: var(--font-size-lg);
    font-style: var(--font-style-subheading);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    line-height: var(--line-height-heading);
}

.section-content {
    font-size: var(--font-size-base);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-body);
    line-height: var(--line-height-body);
    letter-spacing: var(--letter-spacing-body);
}

.hero-title {
    color: var(--color-on-surface);
    font-size: var(--font-size-4xl);
    font-style: var(--font-style-heading);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    line-height: var(--line-height-heading);
    letter-spacing: var(--letter-spacing-heading);
    text-transform: var(--text-transform-heading);
}

.hero-subtitle {
    opacity: 0.85;
    font-size: var(--font-size-lg);
    font-style: var(--font-style-subheading);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-body);
    line-height: var(--line-height-body);
}

.form-field {
    gap: var(--spacing-xs);
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.form-label {
    color: var(--color-on-surface);
    font-size: var(--font-size-sm);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    text-transform: none;
}

.form-input {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 2.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
}

.form-select {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    cursor: pointer;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    appearance: none;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 2.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
    padding-right: var(--spacing-xl);
    background-size: 0.65em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    -webkit-appearance: none;
    background-position: right var(--spacing-md) center;
}

.form-textarea {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    resize: vertical;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: calc(2.75rem * 2.2);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    padding-top: var(--spacing-sm);
    border-radius: var(--border-radius-md);
    padding-bottom: var(--spacing-sm);
}

.surface-card {
    border: 1px solid var(--color-outline);
    padding: var(--spacing-lg);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    border-radius: var(--border-radius-card);
    background-color: var(--color-surface-elevated);
}

.surface-panel {
    border: 1px solid var(--color-outline);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    border-radius: var(--border-radius-card);
    background-color: var(--color-surface-elevated);
}

.surface-media {
    width: 100%;
    display: block;
    overflow: hidden;
    border-radius: var(--border-radius-sm);
}

.btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.btn-primary:hover:not(:disabled) {
    box-shadow: var(--shadow-level-2);
    background-color: color-mix(in oklab, var(--color-primary) 88%, var(--color-on-surface));
}

.btn-primary:active:not(:disabled) {
    transform: translateY(2px);
    box-shadow: var(--shadow-level-1);
}

.btn-outline:hover:not(:disabled) {
    background-color: color-mix(in oklab, var(--color-surface) 88%, var(--color-on-surface));
}

.btn-link:hover:not(:disabled) {
    text-decoration-thickness: 2px;
}

.form-input::placeholder {
    color: color-mix(in oklab, currentColor 58%, transparent);
}

.form-input:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.form-input:user-invalid {
    border-color: #d92d20;
}

.form-textarea::placeholder {
    color: color-mix(in oklab, currentColor 58%, transparent);
}

.form-textarea:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.form-textarea:user-invalid {
    border-color: #d92d20;
}

.form-select:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.form-select:user-invalid {
    border-color: #d92d20;
}

.surface-media > a {
    width: 100%;
    height: 100%;
    margin: 0;
    display: block;
}

.surface-media > figure {
    width: 100%;
    height: 100%;
    margin: 0;
    display: block;
}

.surface-media > picture {
    width: 100%;
    height: 100%;
    margin: 0;
    display: block;
}

.surface-media > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.surface-media > video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.surface-media > a > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.surface-media > a > video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.surface-media > figure > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.surface-media > picture > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.company-logo-light {
    gap: 0.75rem;
    color: var(--color-on-surface);
    height: 40px;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    user-select: none;
    text-decoration: none;
}

.company-logo-glyph {
    width: auto;
    height: 100%;
    max-height: 32px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.company-logo-text {
    font-size: 1.25rem;
    font-family: var(--font-family-heading);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: -0.02em;
    text-transform: none;
}

.company-logo-dark {
    gap: 0.75rem;
    color: #ffffff;
    height: 40px;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    user-select: none;
    text-decoration: none;
}

.company-logo-light:hover .company-logo-glyph {
    transform: translateY(-1px);
}

.company-logo-dark:hover .company-logo-glyph {
    transform: translateY(-1px);
}

.livorienne-footer {
    color: var(--color-on-primary);
    width: 100%;
    padding: var(--spacing-4xl) 0 var(--spacing-2xl);
    overflow: hidden;
    position: relative;
    background: var(--color-primary);
    box-sizing: border-box;
}

.livorienne-footer-texture {
    inset: 0;
    opacity: 0.08;
    z-index: 1;
    position: absolute;
    pointer-events: none;
    background-size: 140px 140px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
    background-repeat: repeat;
}

.livorienne-footer-inner {
    margin: 0 auto;
    display: flex;
    padding: 0 var(--spacing-2xl);
    z-index: 2;
    position: relative;
    max-width: var(--content-max-width);
    flex-direction: column;
}

.livorienne-footer-content {
    max-width: 36rem;
    margin-bottom: var(--spacing-4xl);
}

.livorienne-footer-utility {
    gap: var(--spacing-xl);
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid color-mix(in srgb, var(--color-on-primary) 15%, transparent);
    margin-top: auto;
    align-items: center;
    padding-top: var(--spacing-3xl);
    justify-content: space-between;
}

.livorienne-footer-heading {
    margin: 0 0 var(--spacing-lg) 0;
    font-size: var(--font-size-4xl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    line-height: var(--line-height-heading);
    letter-spacing: var(--letter-spacing-heading);
}

.livorienne-footer-description {
    color: color-mix(in srgb, var(--color-on-primary) 85%, transparent);
    margin: 0;
    font-size: var(--font-size-lg);
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
}

.livorienne-footer-cta-wrapper {
    margin-top: var(--spacing-3xl);
}

.livorienne-footer-brand {
    flex-shrink: 0;
}

.livorienne-footer-links {
    gap: var(--spacing-lg);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.livorienne-footer-cta {
    gap: var(--spacing-md);
    color: var(--color-on-primary);
    border: 1px solid var(--color-on-primary);
    display: inline-flex;
    padding: var(--spacing-md) var(--spacing-xl);
    transition: background 0.3s ease, color 0.3s ease;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    border-radius: var(--border-radius-none);
    text-decoration: none;
}

.livorienne-footer-logo-link {
    height: 32px;
    display: block;
}

.livorienne-footer-link {
    color: color-mix(in srgb, var(--color-on-primary) 70%, transparent);
    font-size: var(--font-size-sm);
    transition: color 0.2s ease;
    font-family: var(--font-family-body);
    text-decoration: none;
}

.livorienne-footer-divider {
    width: 1px;
    height: 1rem;
    background: color-mix(in srgb, var(--color-on-primary) 20%, transparent);
}


.livorienne-footer-cta:hover {
    color: var(--color-primary);
    background: var(--color-on-primary);
}

.livorienne-footer-cta:focus {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
}

.livorienne-footer-link:hover {
    color: var(--color-on-primary);
}

.livorienne-footer-link.contact-direct {
    color: var(--color-on-primary);
    font-weight: var(--font-weight-medium);
}

.navigation-section {
    top: 0;
    color: var(--color-on-surface);
    width: 100%;
    z-index: 1000;
    position: sticky;
    background: color-mix(in oklab, var(--color-surface) 92%, transparent);
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-outline);
    backdrop-filter: blur(var(--blur-level-2));
    -webkit-backdrop-filter: blur(var(--blur-level-2));
}

.navigation-container {
    margin: 0 auto;
    display: flex;
    padding: var(--spacing-md) var(--spacing-2xl);
    max-width: var(--content-max-width);
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
}

.navigation-checkbox-hack {
    display: none;
}

.navigation-mobile-overlay {
    color: var(--color-on-surface);
    inset: 0;
    display: none;
    padding: var(--spacing-md) var(--spacing-lg);
    z-index: 1100;
    position: fixed;
    box-sizing: border-box;
    min-height: 100vh;
    overflow-y: auto;
    flex-direction: column;
    background-color: var(--color-surface);
}

.navigation-brand-area {
    flex-shrink: 0;
}

.navigation-desktop-directory {
    display: flex;
    align-items: center;
}

.navigation-hamburger-btn {
    color: var(--color-on-surface);
    cursor: pointer;
    display: none;
    padding: var(--spacing-xs);
    transition: color 0.2s ease;
}

.navigation-overlay-header {
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-3xl);
    justify-content: space-between;
}

.navigation-overlay-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.navigation-logo-link {
    height: 32px;
    display: block;
    text-decoration: none;
}

.navigation-link-list {
    gap: var(--spacing-2xl);
    margin: 0;
    display: flex;
    padding: 0;
    list-style: none;
}

.navigation-close-btn {
    color: var(--color-on-surface);
    cursor: pointer;
    display: flex;
    padding: var(--spacing-xs);
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.navigation-mobile-list {
    gap: var(--spacing-xl);
    margin: 0;
    display: flex;
    padding: 0;
    list-style: none;
    flex-direction: column;
}


.navigation-link {
    color: var(--color-on-surface);
    padding: var(--spacing-xs) 0;
    position: relative;
    font-size: var(--font-size-sm);
    transition: color 0.25s ease;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
}

.navigation-mobile-link {
    color: var(--color-on-surface);
    display: block;
    padding: var(--spacing-sm) 0;
    font-size: var(--font-size-2xl);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-heading);
    border-bottom: 1px solid var(--color-outline);
    text-decoration: none;
}

.navigation-link::after {
    left: 0;
    width: 0;
    bottom: 0;
    height: 1px;
    content: '';
    position: absolute;
    transition: width 0.3s ease;
    background-color: var(--color-primary);
}

.navigation-link:hover {
    color: var(--color-primary);
}

.navigation-link:hover::after {
    width: 100%;
}


.about-hero {
    padding: var(--spacing-4xl) 0;
    overflow: hidden;
    position: relative;
    background: var(--color-surface);
}

.about-hero-inner {
    gap: var(--spacing-3xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 1.2fr 0.8fr;
}

.about-hero-visual-main {
    overflow: hidden;
    position: relative;
    min-height: 0;
    aspect-ratio: 4/5;
}

.about-hero-visual-side {
    gap: var(--spacing-xl);
    display: flex;
    flex-direction: column;
}

.hero-img-lifestyle {
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);
    object-fit: cover;
}

.about-hero-overlay {
    left: var(--spacing-xl);
    color: #ffffff;
    right: var(--spacing-xl);
    bottom: var(--spacing-xl);
    padding: var(--spacing-lg);
    z-index: 3;
    position: absolute;
    background: var(--color-backplate);
    box-sizing: border-box;
    backdrop-filter: blur(var(--blur-level-1));
}

.side-image-wrapper {
    border: 1px solid var(--color-outline);
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 3/4;
}

.heritage-statement {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.hero-discovery-link {
    gap: var(--spacing-xs);
    color: #ffffff;
    display: inline-flex;
    margin-top: var(--spacing-md);
    transition: transform 0.2s ease;
    align-items: center;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.hero-img-still {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.heritage-label {
    color: var(--color-primary);
    display: block;
    font-size: var(--font-size-xs);
    margin-bottom: var(--spacing-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.philosophy-matrix {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface-elevated);
}

.philosophy-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.mission-header {
    margin: 0 auto var(--spacing-3xl);
    max-width: 42rem;
    text-align: center;
}

.capability-panel {
    border: 1px solid var(--color-outline);
    padding: 0;
    overflow: hidden;
    background: var(--color-surface);
    box-shadow: var(--shadow-level-1);
    border-width: 1px;
    border-radius: var(--border-radius-card);
}

.mission-label {
    color: var(--color-primary);
    display: inline-block;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-sm);
}

.panel-header {
    padding: var(--spacing-lg) var(--spacing-xl);
    text-align: center;
    border-bottom: 1px solid var(--color-outline);
}

.capability-grid {
    display: grid;
    border-bottom: 1px solid var(--color-outline);
    grid-template-columns: repeat(3, 1fr);
}

.panel-footer {
    padding: var(--spacing-lg) var(--spacing-xl);
    background: var(--color-surface-tint);
    border-top: 1px solid var(--color-outline);
    text-align: center;
    border-bottom: none;
}

.capability-item {
    display: flex;
    padding: var(--spacing-xl);
    text-align: center;
    align-items: center;
    border-right: 1px solid var(--color-outline);
    flex-direction: column;
}

.capability-icon {
    color: var(--color-primary);
    margin-bottom: var(--spacing-md);
}

.capability-title {
    font-size: var(--font-size-lg);
    font-family: var(--font-family-heading);
    margin-bottom: var(--spacing-sm);
}

.material-showcase {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface);
}

.material-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.material-rail-wrapper {
    margin: var(--spacing-xl) calc(var(--spacing-2xl) * -1) 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.material-rail {
    gap: var(--spacing-xl);
    display: flex;
    padding: 0 var(--spacing-2xl);
    min-width: max-content;
}

.material-card {
    width: 18rem;
    flex-shrink: 0;
}

.material-media {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 1/1;
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--spacing-md);
}

.material-caption {
    gap: var(--spacing-xs);
    display: flex;
    flex-direction: column;
}

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

.material-name {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
}

.material-pills {
    gap: var(--spacing-xs);
    display: flex;
    flex-wrap: wrap;
}

.pill {
    color: var(--color-on-surface-secondary);
    border: 1px solid var(--color-outline);
    padding: 2px var(--spacing-sm);
    font-size: var(--font-size-xs);
    background: var(--color-surface-elevated);
    border-radius: var(--border-radius-full);
}

.process-steps {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface-elevated);
}

.process-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.process-label {
    color: var(--color-primary);
    display: block;
    font-size: var(--font-size-xs);
    margin-bottom: var(--spacing-xl);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.process-grid {
    gap: var(--spacing-lg);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.process-card {
    gap: var(--spacing-md);
    color: var(--color-on-primary);
    display: flex;
    padding: var(--spacing-xl);
    background: var(--color-primary);
    transition: transform 0.3s ease;
    border-radius: var(--border-radius-md);
    flex-direction: column;
}

.step-badge {
    color: #ffffff;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    background: var(--color-secondary);
    align-items: center;
    font-weight: var(--font-weight-heading);
    border-radius: var(--border-radius-sm);
    justify-content: center;
}

.contact-cta {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface);
}

.cta-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 1fr 1fr;
}

.cta-visual-column {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 4/3;
    border-radius: var(--border-radius-sm);
}

.cta-content-column {
    gap: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}

.cta-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cta-actions {
    gap: var(--spacing-lg);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.trust-row {
    gap: var(--spacing-md);
    display: grid;
    border-top: 1px solid var(--color-outline);
    margin-top: var(--spacing-2xl);
    padding-top: var(--spacing-xl);
    grid-template-columns: repeat(3, 1fr);
}

.r-lunk---about-btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}

.contact-fallback {
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-sm);
    font-family: var(--font-family-body);
}

.trust-badge {
    gap: var(--spacing-xs);
    color: var(--color-on-surface-secondary);
    display: flex;
    font-size: var(--font-size-xs);
    flex-direction: column;
}

.r-lunk---about-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.r-lunk---about-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.r-lunk---about-btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.r-lunk---about-btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.r-lunk---about-btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.r-lunk---about-btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.r-lunk---about-btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.hero-discovery-link:hover {
    transform: translateX(4px);
}

.capability-item:last-child {
    border-right: none;
}

.material-rail-wrapper::-webkit-scrollbar {
    display: none;
}

.process-card:hover {
    transform: translateY(-8px);
}

.trust-badge svg {
    color: var(--color-primary);
}

.about-hero-inner > * {
    min-width: 0;
}

.capability-grid > * {
    min-width: 0;
}

.process-grid > * {
    min-width: 0;
}

.cta-inner > * {
    min-width: 0;
}

.trust-row > * {
    min-width: 0;
}

.heritage-statement img:not([class]) {
    height: auto;
    max-width: 100%;
}

.services-hero {
    display: grid;
    overflow: hidden;
    position: relative;
    background: var(--color-surface);
    min-height: 80vh;
    grid-template-columns: 1.2fr 0.8fr;
}

.services-hero-lifestyle {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.services-hero-still {
    display: flex;
    padding: var(--spacing-4xl);
    background: var(--color-surface-elevated);
    align-items: center;
    justify-content: center;
}

.services-hero-img-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.services-hero-overlay {
    color: #ffffff;
    inset: 0;
    display: flex;
    padding: var(--spacing-4xl);
    z-index: 2;
    position: absolute;
    background: linear-gradient(to right, var(--color-scrim) 0%, var(--color-scrim) 40%, transparent 85%);
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
}

.services-hero-still-inner {
    gap: var(--spacing-lg);
    width: 100%;
    display: flex;
    max-width: 400px;
    flex-direction: column;
}

.services-hero-title {
    color: #ffffff;
    max-width: 15ch;
    margin-bottom: var(--spacing-lg);
}

.services-hero-link {
    gap: var(--spacing-sm);
    color: #ffffff;
    display: flex;
    align-items: center;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.services-hero-img-still {
    width: 100%;
    box-shadow: var(--shadow-level-1);
    object-fit: cover;
    aspect-ratio: 3/4;
    border-radius: var(--border-radius-sm);
}

.services-hero-heritage {
    gap: var(--spacing-xs);
    display: flex;
    flex-direction: column;
}

.services-details {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface);
}

.services-details-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 400px 1fr;
}

.services-details-content {
    gap: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}

.services-details-mosaic {
    gap: var(--spacing-md);
    height: 600px;
    display: grid;
    grid-template-columns: 1fr 0.5fr;
}

.services-details-groups {
    gap: var(--spacing-xl);
    display: flex;
    flex-direction: column;
}

.szolg-ltat-sok---services-btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}

.services-details-cta {
    align-self: flex-start;
    margin-top: var(--spacing-md);
}

.mosaic-main {
    height: 100%;
}

.mosaic-side {
    gap: var(--spacing-md);
    display: flex;
    flex-direction: column;
}

.services-group {
    gap: var(--spacing-xs);
    display: flex;
    flex-direction: column;
}

.mosaic-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-sm);
}

.mosaic-side-item {
    flex: 1;
}

.process-timeline {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface-elevated);
}

.process-timeline-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
    max-width: 700px;
}

.process-timeline-header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.timeline-container {
    gap: var(--spacing-3xl);
    display: flex;
    position: relative;
    flex-direction: column;
}

.timeline-rail {
    top: 0;
    left: 20px;
    width: 1px;
    bottom: 0;
    z-index: 1;
    position: absolute;
    border-left: 2px dotted var(--color-outline);
}

.timeline-steps {
    gap: var(--spacing-3xl);
    display: flex;
    z-index: 2;
    position: relative;
    flex-direction: column;
}

.timeline-step {
    gap: var(--spacing-xl);
    display: flex;
    align-items: flex-start;
}

.step-marker {
    color: var(--color-on-primary);
    width: 40px;
    height: 40px;
    display: flex;
    background: var(--color-primary);
    box-shadow: var(--shadow-level-1);
    align-items: center;
    flex-shrink: 0;
    font-weight: var(--font-weight-heading);
    border-radius: 50%;
    justify-content: center;
}

.step-content {
    gap: var(--spacing-xs);
    display: flex;
    flex-direction: column;
}

.resources-grid {
    padding: var(--spacing-4xl) 0;
    background: var(--color-surface);
}

.resources-grid-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.resources-cards {
    gap: var(--spacing-2xl);
    display: grid;
    margin-top: var(--spacing-3xl);
    grid-template-columns: repeat(3, 1fr);
}

.resource-card {
    gap: var(--spacing-md);
    display: flex;
    transition: transform 0.3s ease;
    flex-direction: column;
}

.resource-card-media {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 16/9;
    border-radius: var(--border-radius-sm);
}

.resource-card-body {
    gap: var(--spacing-xs);
    display: flex;
    flex-direction: column;
}

.resource-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.resource-badge {
    color: var(--color-primary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.resource-meta {
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-xs);
}

.resource-link {
    gap: var(--spacing-xs);
    color: var(--color-primary);
    display: inline-flex;
    margin-top: var(--spacing-sm);
    align-items: center;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.cta-form-section {
    color: #ffffff;
    padding: var(--spacing-4xl) 0;
    overflow: hidden;
    position: relative;
    background: #111111;
}

.cta-form-inner {
    margin: 0 auto;
    display: flex;
    padding: 0 var(--spacing-lg);
    z-index: 2;
    position: relative;
    max-width: 600px;
    text-align: center;
    align-items: center;
    flex-direction: column;
}

.cta-form-header {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.cta-vertical-divider {
    width: 1px;
    height: 60px;
    margin: var(--spacing-xl) 0;
    background: var(--color-primary);
}

.cta-form-body {
    gap: var(--spacing-xl);
    width: 100%;
    display: flex;
    flex-direction: column;
}

.cta-title {
    color: #ffffff;
    margin-bottom: var(--spacing-md);
}

.cta-form-row {
    gap: var(--spacing-xs);
    display: flex;
    text-align: left;
    flex-direction: column;
}

.cta-form-actions {
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.cta-input {
    color: #ffffff;
    border: none;
    padding: var(--spacing-sm) 0;
    background: transparent;
    transition: border-color 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0;
}

.szolg-ltat-sok---services-form-select {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 2.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
}

.szolg-ltat-sok---services-form-textarea {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    resize: vertical;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 6rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
}

.cta-submit-btn {
    width: 100%;
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%, 0 25%);
    margin-top: var(--spacing-lg);
}

.szolg-ltat-sok---services-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.szolg-ltat-sok---services-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.szolg-ltat-sok---services-btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.szolg-ltat-sok---services-btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.szolg-ltat-sok---services-btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.szolg-ltat-sok---services-btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.szolg-ltat-sok---services-btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.services-hero-link:hover {
    text-decoration: underline;
}

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

.cta-form-section::before {
    inset: 0;
    content: "";
    position: absolute;
    pointer-events: none;
    background-size: 10% 100%;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

.cta-form-header p {
    color: rgba(255, 255, 255, 0.7);
}

.cta-form-header img:not([class]) {
    height: auto;
    max-width: 100%;
}

.cta-form-row label {
    color: rgba(255, 255, 255, 0.9);
}

.cta-input:focus {
    outline: none;
    border-color: var(--color-primary);
}

.services-hero > * {
    min-width: 0;
}

.services-details-inner > * {
    min-width: 0;
}

.services-details-mosaic > * {
    min-width: 0;
}

.resources-cards > * {
    min-width: 0;
}

.cta-form-actions img:not([class]) {
    height: auto;
    max-width: 100%;
}

.home-hero {
    display: flex;
    position: relative;
    min-height: 85vh;
    align-items: center;
    background-color: var(--color-surface);
}

.home-hero-bg {
    inset: 0;
    z-index: 1;
    position: absolute;
}

.home-hero-container {
    gap: var(--spacing-4xl);
    width: 100%;
    margin: 0 auto;
    display: flex;
    padding: var(--spacing-2xl);
    z-index: 3;
    position: relative;
    box-sizing: border-box;
    align-items: center;
}

.home-hero-img-main {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-hero-scrim {
    inset: 0;
    z-index: 2;
    position: absolute;
    background: linear-gradient(to right, var(--color-scrim) 0%, var(--color-scrim) 40%, transparent 85%);
}

.home-hero-content {
    color: #ffffff;
}

.home-hero-inset {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: var(--spacing-xs);
    position: relative;
    background: rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
    min-height: 0;
    aspect-ratio: 3/4;
    backdrop-filter: blur(var(--blur-level-1));
}

.home-hero-actions {
    gap: var(--spacing-xl);
    display: flex;
    align-items: center;
}

.home-hero-img-inset {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.f-oldal---home-btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}

.home-hero-link {
    color: #ffffff;
    transition: opacity 0.2s ease;
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.home-services {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface);
}

.home-services-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 350px 1fr;
}

.home-services-text {
    gap: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}

.home-services-mosaic {
    gap: var(--spacing-md);
    display: grid;
    grid-template-columns: 1.5fr 1fr;
}

.home-mosaic-main {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 4/5;
}

.home-mosaic-stack {
    gap: var(--spacing-md);
    display: flex;
    flex-direction: column;
}

.home-mosaic-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.home-mosaic-item {
    flex: 1;
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 1/1;
}

.home-process {
    color: #ffffff;
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-on-surface);
}

.home-process-container {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.home-process-header {
    max-width: 600px;
    margin-bottom: var(--spacing-3xl);
}

.home-process-matrix {
    display: grid;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    grid-template-columns: repeat(3, 1fr);
}

.home-process-label {
    border: 1px solid rgba(255, 255, 255, 0.3);
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-xs);
    border-radius: var(--border-radius-full);
    margin-bottom: var(--spacing-md);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.home-process-panel {
    display: flex;
    padding: var(--spacing-3xl) var(--spacing-xl);
    min-height: 400px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    flex-direction: column;
    justify-content: space-between;
}

.home-panel-top {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.home-panel-bottom {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.home-panel-divider {
    width: 40px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    margin-bottom: var(--spacing-md);
}

.home-panel-link {
    color: #ffffff;
    display: flex;
    transition: color 0.2s ease;
    align-items: center;
    font-weight: var(--font-weight-medium);
    justify-content: space-between;
    text-decoration: none;
}

.home-gallery {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface);
}

.f-oldal---home-surface-panel {
    border: 1px solid var(--color-outline);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    border-radius: var(--border-radius-card);
    background-color: var(--color-surface-elevated);
}

.home-gallery-container {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.home-gallery-grid {
    gap: var(--spacing-2xl);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.home-gallery-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-gallery-media {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 16/10;
}

.home-gallery-content {
    padding: var(--spacing-lg);
}

.home-cta {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface-tint);
}

.home-cta-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 1fr 1fr;
}

.home-cta-visual {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 1/1;
}

.home-cta-content {
    gap: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}

.home-cta-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-cta-actions {
    gap: var(--spacing-xl);
    display: flex;
    margin-top: var(--spacing-md);
    align-items: center;
}

.home-cta-proof {
    gap: var(--spacing-xl);
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--color-outline);
    margin-top: var(--spacing-2xl);
    padding-top: var(--spacing-xl);
}

.home-cta-fallback {
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
    text-decoration: underline;
}

.home-proof-item {
    gap: var(--spacing-sm);
    color: var(--color-on-surface-secondary);
    display: flex;
    align-items: center;
}

.f-oldal---home-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.f-oldal---home-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.f-oldal---home-btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.f-oldal---home-btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.f-oldal---home-btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.f-oldal---home-btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.f-oldal---home-btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.home-hero-content .hero-title {
    color: #ffffff;
    margin-bottom: var(--spacing-lg);
}

.home-hero-content .hero-subtitle {
    color: #ffffff;
    opacity: 0.9;
    margin-bottom: var(--spacing-2xl);
}

.home-hero-link:hover {
    opacity: 0.8;
}

.home-process-panel:last-child {
    border-right: none;
}

.home-mosaic-img:hover {
    transform: scale(1.05);
}

.home-process-header .section-title {
    color: #ffffff;
}

.home-panel-top h3 {
    color: #ffffff;
    margin-bottom: var(--spacing-md);
}

.home-panel-top p {
    color: rgba(255, 255, 255, 0.7);
    font-size: var(--font-size-sm);
}

.home-panel-top img:not([class]) {
    height: auto;
    max-width: 100%;
}

.home-panel-link:hover {
    color: var(--color-primary);
}

.home-gallery-container .section-title {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.home-gallery-content .section-subtitle {
    margin-bottom: var(--spacing-sm);
}

.home-proof-item svg {
    color: var(--color-primary);
    width: 20px;
    height: 20px;
}

.home-hero-container > * {
    min-width: 0;
}

.home-services-inner > * {
    min-width: 0;
}

.home-services-mosaic > * {
    min-width: 0;
}

.home-process-matrix > * {
    min-width: 0;
}

.home-gallery-grid > * {
    min-width: 0;
}

.home-cta-inner > * {
    min-width: 0;
}

.home-panel-bottom img:not([class]) {
    height: auto;
    max-width: 100%;
}

.work-hero {
    display: flex;
    position: relative;
    min-height: 85vh;
    align-items: center;
    background-color: var(--color-surface);
}

.work-hero-bg {
    inset: 0;
    z-index: 1;
    position: absolute;
}

.work-hero-container {
    gap: var(--spacing-4xl);
    width: 100%;
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    z-index: 3;
    position: relative;
    max-width: var(--content-max-width);
    box-sizing: border-box;
    align-items: center;
    grid-template-columns: 1.2fr 0.8fr;
}

.work-hero-img-main {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.work-hero-scrim {
    inset: 0;
    z-index: 2;
    position: absolute;
    background: linear-gradient(to right, var(--color-scrim) 0%, var(--color-scrim) 45%, transparent 85%);
}

.work-hero-content {
    color: #ffffff;
}

.work-hero-inset {
    gap: var(--spacing-md);
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

.work-hero-title {
    color: #ffffff;
    max-width: 15ch;
    margin-bottom: var(--spacing-lg);
}

.work-hero-subtitle {
    color: #ffffff;
    opacity: 0.9;
    max-width: 45ch;
    margin-bottom: var(--spacing-xl);
}

.munk-ink---work-btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}


.work-hero-inset-frame {
    width: 280px;
    border: 1px solid color-mix(in srgb, #ffffff 20%, transparent);
    height: 400px;
    overflow: hidden;
    box-shadow: var(--shadow-level-2);
    border-radius: var(--border-radius-sm);
}

.work-hero-provenance {
    color: #ffffff;
    opacity: 0.7;
    font-size: var(--font-size-xs);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.work-hero-img-detail {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work-categories {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface);
}

.munk-ink---work-surface-panel {
    border: 1px solid var(--color-outline);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    border-radius: var(--border-radius-card);
    background-color: var(--color-surface-elevated);
}

.work-categories-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.work-categories-title {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}

.work-grid {
    gap: var(--spacing-2xl);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.work-card {
    height: 100%;
    display: flex;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex-direction: column;
}

.work-card-media {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 16/10;
}

.work-card-copy {
    gap: var(--spacing-md);
    display: flex;
    padding: var(--spacing-xl);
    flex-grow: 1;
    flex-direction: column;
}

.design-principles {
    color: #ffffff;
    padding: var(--spacing-4xl) 0;
    position: relative;
    background-color: var(--color-on-surface);
}

.design-principles-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.design-principles-header {
    margin-bottom: var(--spacing-3xl);
}

.principles-list {
    gap: var(--spacing-md);
    display: flex;
    flex-direction: column;
}

.design-principles-label {
    gap: var(--spacing-sm);
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-sm);
}

.design-principles-title {
    color: #ffffff;
    max-width: 20ch;
}

.principle-pill {
    gap: var(--spacing-2xl);
    border: 1px solid color-mix(in srgb, #ffffff 10%, transparent);
    display: grid;
    padding: var(--spacing-lg) var(--spacing-2xl);
    transition: background-color 0.3s ease;
    align-items: center;
    border-radius: 100px;
    background-color: color-mix(in srgb, #ffffff 5%, transparent);
    grid-template-columns: 1fr 2fr;
}

.design-principles-dot {
    width: 8px;
    height: 8px;
    border-radius: var(--border-radius-full);
    background-color: var(--color-primary);
}

.principle-pill-left {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.principle-pill-right {
    overflow: hidden;
    position: relative;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.inspiration-gallery {
    padding: var(--spacing-4xl) 0;
    overflow: hidden;
    background-color: var(--color-surface);
}

.inspiration-gallery-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.inspiration-gallery-title {
    max-width: 15ch;
    margin-bottom: var(--spacing-3xl);
}

.gallery-rail-viewport {
    left: 50%;
    right: 50%;
    width: 100vw;
    position: relative;
    overflow-x: auto;
    margin-left: -50vw;
    margin-right: -50vw;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gallery-rail-track {
    gap: var(--spacing-xl);
    width: max-content;
    display: flex;
    padding: 0 var(--spacing-2xl);
}

.gallery-item {
    gap: var(--spacing-md);
    width: 450px;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
}

.gallery-media {
    width: 100%;
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 16/10;
    border-radius: var(--border-radius-sm);
    background-color: var(--color-surface-elevated);
}

.gallery-caption {
    gap: var(--spacing-md);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gallery-item-title {
    color: var(--color-on-surface);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-medium);
}

.gallery-pills {
    gap: var(--spacing-xs);
    display: flex;
}

.gallery-pill {
    color: var(--color-on-surface-secondary);
    border: 1px solid var(--color-border);
    padding: 2px 10px;
    font-size: var(--font-size-xs);
    border-radius: var(--border-radius-full);
    background-color: var(--color-surface-elevated);
}

.closing-cta {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface-tint);
}

.closing-cta-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: center;
    grid-template-columns: 1fr 1fr;
}

.closing-cta-media {
    overflow: hidden;
    box-shadow: var(--shadow-level-1);
    min-height: 0;
    aspect-ratio: 4/5;
    border-radius: var(--border-radius-sm);
}

.closing-cta-content {
    gap: var(--spacing-lg);
    display: flex;
    flex-direction: column;
}


.closing-cta-text {
    color: var(--color-on-surface-secondary);
    max-width: 40ch;
}

.closing-cta-actions {
    gap: var(--spacing-md);
    display: flex;
    margin-top: var(--spacing-md);
    flex-direction: column;
}

.munk-ink---work-trust-row {
    gap: var(--spacing-lg);
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--color-border);
    margin-top: var(--spacing-xl);
    padding-top: var(--spacing-xl);
}

.closing-cta-fallback {
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-sm);
}

.munk-ink---work-trust-badge {
    gap: var(--spacing-xs);
    color: var(--color-primary);
    display: flex;
    align-items: center;
}


.trust-label {
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.munk-ink---work-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.munk-ink---work-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.munk-ink---work-btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.munk-ink---work-btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.munk-ink---work-btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.munk-ink---work-btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.munk-ink---work-btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.work-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-level-2);
}

.work-card-copy .section-subtitle {
    color: var(--color-on-surface);
    margin: 0;
}

.work-card-copy .section-content {
    color: var(--color-on-surface-secondary);
    margin: 0;
    flex-grow: 1;
}

.principle-pill:hover {
    background-color: color-mix(in srgb, #ffffff 8%, transparent);
}

.principle-pill > * {
    min-width: 0;
}

.principle-pill-left h3 {
    color: #ffffff;
    margin: 0;
    font-weight: var(--font-weight-medium);
}

.principle-pill-left img:not([class]) {
    height: auto;
    max-width: 100%;
}

.principle-pill-right p {
    color: color-mix(in srgb, #ffffff 80%, transparent);
    margin: 0;
}

.principle-pill-right img:not([class]) {
    height: auto;
    max-width: 100%;
}

.gallery-rail-viewport::-webkit-scrollbar {
    display: none;
}

.gallery-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-item:hover .gallery-media img {
    transform: scale(1.05);
}

.closing-cta-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work-hero-container > * {
    min-width: 0;
}

.work-grid > * {
    min-width: 0;
}

.closing-cta-inner > * {
    min-width: 0;
}

.contact-hero {
    overflow: hidden;
    position: relative;
    min-height: 80vh;
    background-color: var(--color-surface);
}

.contact-hero-inner {
    display: grid;
    min-height: 80vh;
    grid-template-columns: 1.2fr 0.8fr;
}

.contact-hero-lifestyle {
    overflow: hidden;
    position: relative;
}

.contact-hero-sidebar {
    display: flex;
    padding: var(--spacing-3xl);
    align-items: center;
    background-color: var(--color-surface-elevated);
}

.contact-hero-img-main {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.contact-hero-scrim {
    inset: 0;
    z-index: 2;
    position: absolute;
    background: linear-gradient(to top, var(--color-scrim) 0%, var(--color-scrim) 30%, transparent 60%);
}

.contact-hero-content-overlay {
    left: var(--spacing-2xl);
    bottom: var(--spacing-4xl);
    z-index: 3;
    position: absolute;
    max-width: 32rem;
}

.contact-hero-sidebar-inner {
    max-width: 24rem;
}

.contact-hero-action {
    gap: var(--spacing-sm);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.contact-hero-inset-media {
    border: 1px solid var(--color-outline);
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 3/4;
    margin-bottom: var(--spacing-xl);
}

.contact-hero-heritage {
    gap: var(--spacing-sm);
    display: flex;
    flex-direction: column;
}

.contact-hero-img-inset {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-form-section {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface);
}

.contact-form-inner {
    gap: var(--spacing-4xl);
    margin: 0 auto;
    display: grid;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
    align-items: start;
    grid-template-columns: 1fr 1fr;
}

.contact-form-visual {
    height: 100%;
    overflow: hidden;
    min-height: 600px;
    border-radius: var(--border-radius-sm);
}

.contact-form-content {
    padding: var(--spacing-xl) 0;
}

.contact-form-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-form-heading {
    font-size: var(--font-size-4xl);
    line-height: 1.1;
    margin-bottom: var(--spacing-3xl);
}

.contact-form-element {
    gap: var(--spacing-xl);
    display: flex;
    flex-direction: column;
}

.contact-field {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--spacing-xs);
}

.contact-form-footer {
    gap: var(--spacing-md);
    display: flex;
    margin-top: var(--spacing-lg);
    align-items: flex-end;
    flex-direction: column;
}

.contact-input-underline {
    border: none;
    padding: var(--spacing-sm) 0;
    font-size: var(--font-size-lg);
    background: transparent;
    border-radius: 0;
}

.kapcsolat---contact-form-select {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 2.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
}

.kapcsolat---contact-form-textarea {
    color: var(--color-on-surface);
    width: 100%;
    border: 1px solid var(--color-border);
    resize: vertical;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    min-width: 0;
    background: var(--color-surface);
    box-sizing: border-box;
    min-height: 6rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    font-family: var(--font-family-body);
    line-height: var(--line-height-body);
    border-radius: var(--border-radius-md);
}

.contact-form-note {
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-sm);
}

.kapcsolat---contact-btn {
    gap: var(--spacing-xs);
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    padding: 0 var(--spacing-lg);
    font-size: var(--font-size-base);
    box-shadow: var(--shadow-level-1);
    box-sizing: border-box;
    min-height: 2.75rem;
    text-align: center;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
    align-items: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body);
    user-select: none;
    white-space: nowrap;
    border-radius: var(--border-radius-md);
    letter-spacing: var(--letter-spacing-body);
    text-transform: none;
    justify-content: center;
    text-decoration: none;
}


.process-prep-section {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface-elevated);
}

.process-prep-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.process-prep-header {
    max-width: 40rem;
    margin-bottom: var(--spacing-3xl);
}

.process-matrix {
    display: grid;
    border-top: 1px solid var(--color-outline);
    border-bottom: 1px solid var(--color-outline);
    grid-template-columns: repeat(3, 1fr);
}

.process-label-pill {
    color: var(--color-on-primary);
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    border-radius: var(--border-radius-full);
    margin-bottom: var(--spacing-md);
    background-color: var(--color-primary);
}

.process-panel {
    display: flex;
    padding: var(--spacing-3xl) var(--spacing-xl);
    min-height: 400px;
    border-right: 1px solid var(--color-outline);
    flex-direction: column;
}

.process-panel-footer {
    margin-top: var(--spacing-2xl);
}

.process-separator {
    height: 1px;
    border-top: 1px dashed var(--color-border);
    margin-bottom: var(--spacing-md);
}

.process-link {
    display: flex;
    align-items: center;
    font-weight: var(--font-weight-medium);
    justify-content: space-between;
    text-decoration: none;
}

.workshop-gallery {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface);
}

.workshop-gallery-inner {
    margin: 0 auto;
    padding: 0 var(--spacing-2xl);
    max-width: var(--content-max-width);
}

.workshop-gallery-header {
    display: flex;
    align-items: flex-end;
    margin-bottom: var(--spacing-3xl);
    justify-content: space-between;
}

.workshop-collage-wrapper {
    position: relative;
}


.workshop-line-motif {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    position: absolute;
    pointer-events: none;
}

.workshop-collage-grid {
    gap: var(--spacing-md);
    display: grid;
    grid-template-rows: repeat(10, 60px);
    grid-template-columns: repeat(12, 1fr);
}

.workshop-tile {
    overflow: hidden;
    background-color: var(--color-surface-elevated);
}

.tile-portrait-top {
    grid-row: 1 / 6;
    grid-column: 1 / 4;
}

.tile-main {
    z-index: 2;
    grid-row: 2 / 9;
    grid-column: 4 / 10;
}

.tile-landscape-bottom {
    grid-row: 7 / 11;
    grid-column: 2 / 6;
}

.tile-detail-right {
    grid-row: 4 / 10;
    grid-column: 10 / 13;
}

.workshop-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.kapcsolat---contact-closing-cta {
    padding: var(--spacing-4xl) 0;
    background-color: var(--color-surface-elevated);
}

.kapcsolat---contact-closing-cta-media {
    overflow: hidden;
    min-height: 0;
    aspect-ratio: 1/1;
    border-radius: var(--border-radius-sm);
}

.kapcsolat---contact-closing-cta-content {
    padding-left: var(--spacing-2xl);
}

.closing-cta-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.kapcsolat---contact-closing-cta-actions {
    gap: var(--spacing-lg);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: var(--spacing-4xl);
}

.closing-trust-row {
    border-top: 1px solid var(--color-outline);
    padding-top: var(--spacing-xl);
}

.closing-trust-link {
    display: block;
    font-size: var(--font-size-sm);
    margin-bottom: var(--spacing-lg);
}

.closing-badges {
    gap: var(--spacing-md);
    display: flex;
}

.kapcsolat---contact-trust-badge {
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: 10px;
    font-weight: var(--font-weight-heading);
    letter-spacing: 0.1em;
}


.kapcsolat---contact-btn:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.kapcsolat---contact-btn:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.kapcsolat---contact-btn.btn-primary {
    color: var(--color-on-primary);
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.kapcsolat---contact-btn.btn-secondary {
    color: var(--color-on-secondary);
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
}

.kapcsolat---contact-btn.btn-accent {
    color: var(--color-on-accent);
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.kapcsolat---contact-btn.btn-outline {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

.kapcsolat---contact-btn.btn-link {
    color: var(--color-primary);
    border-color: transparent;
    background-color: transparent;
}

.contact-hero-content-overlay .hero-title {
    color: #ffffff;
    margin-bottom: var(--spacing-lg);
}

.contact-input-underline:focus-visible {
    outline: none;
    border-bottom: 2px solid var(--color-primary);
}

.process-panel:last-child {
    border-right: none;
}

.process-panel .section-subtitle {
    margin-bottom: var(--spacing-md);
}

.process-panel .section-content {
    color: var(--color-on-surface-secondary);
    margin-bottom: auto;
}

.workshop-tile:hover .workshop-img {
    transform: scale(1.05);
}

.kapcsolat---contact-closing-cta-content .section-title {
    margin-bottom: var(--spacing-md);
}

.kapcsolat---contact-closing-cta-content .section-content {
    max-width: 30rem;
    margin-bottom: var(--spacing-xl);
}

.contact-hero-inner > * {
    min-width: 0;
}

.contact-form-inner > * {
    min-width: 0;
}

.process-matrix > * {
    min-width: 0;
}

.workshop-collage-grid > * {
    min-width: 0;
}

.Content {
    font-size: 16px;
    font-family: Inter;
    font-weight: 400;
    line-height: 1.15;
    text-transform: none;
    text-decoration: none;
}

.BodyFont {
    font-size: 1rem;
    font-family: Source Sans 3;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

.Headings {
    font-size: 2em;
    font-family: Bricolage Grotesque;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

@media (max-width: 991px) {
    .livorienne-footer {
        padding: var(--spacing-3xl) 0 var(--spacing-xl);
    }

    .livorienne-footer-inner {
        padding: 0 var(--spacing-xl);
    }

    .navigation-container {
        padding: var(--spacing-md) var(--spacing-xl);
    }

    .navigation-link-list {
        gap: var(--spacing-lg);
    }

    .about-hero-inner {
        grid-template-columns: 1fr;
    }

    .capability-grid {
        grid-template-columns: 1fr;
    }

    .capability-item {
        border-right: none;
        border-bottom: 1px solid var(--color-outline);
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cta-inner {
        grid-template-columns: 1fr;
    }

    .services-hero {
        grid-template-columns: 1fr;
    }

    .services-hero-overlay {
        padding: var(--spacing-2xl);
    }

    .services-details-inner {
        grid-template-columns: 1fr;
    }

    .services-details-mosaic {
        height: 450px;
    }

    .resources-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-hero-container {
        text-align: center;
        justify-items: center;
        grid-template-columns: 1fr;
    }

    .home-hero-scrim {
        background: var(--color-scrim);
    }

    .home-hero-inset {
        display: none;
    }

    .home-hero-actions {
        justify-content: center;
    }

    .home-services-inner {
        grid-template-columns: 1fr;
    }

    .home-services-text {
        text-align: center;
        align-items: center;
    }

    .home-process-matrix {
        grid-template-columns: 1fr;
    }

    .home-process-panel {
        padding: var(--spacing-2xl) var(--spacing-lg);
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .home-process-panel:last-child {
        border-bottom: none;
    }

    .home-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-cta-inner {
        grid-template-columns: 1fr;
    }

    .home-cta-visual {
        order: 2;
    }

    .work-hero-container {
        padding-top: var(--spacing-4xl);
        padding-bottom: var(--spacing-4xl);
        grid-template-columns: 1fr;
    }

    .work-hero-scrim {
        background: var(--color-scrim);
    }

    .work-hero-inset {
        display: none;
    }

    .principle-pill {
        gap: var(--spacing-sm);
        padding: var(--spacing-xl);
        border-radius: var(--border-radius-lg);
        grid-template-columns: 1fr;
    }

    .closing-cta-inner {
        grid-template-columns: 1fr;
    }

    .closing-cta-media {
        display: none;
    }

    .contact-hero-inner {
        grid-template-columns: 1fr;
    }

    .contact-hero-sidebar {
        padding: var(--spacing-xl);
    }

    .contact-form-inner {
        grid-template-columns: 1fr;
    }

    .contact-form-visual {
        min-height: 400px;
    }

    .process-matrix {
        grid-template-columns: 1fr;
    }

    .process-panel {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid var(--color-outline);
    }

    .kapcsolat---contact-closing-cta-content {
        padding-left: 0;
    }
}

@media (max-width: 767px) {
    .company-logo-light {
        gap: 0.5rem;
        height: 32px;
    }

    .company-logo-text {
        font-size: 1.125rem;
    }

    .company-logo-dark {
        gap: 0.5rem;
        height: 32px;
    }

    .livorienne-footer-utility {
        gap: var(--spacing-lg);
        align-items: flex-start;
        flex-direction: column;
    }

    .livorienne-footer-heading {
        font-size: var(--font-size-3xl);
    }

    .livorienne-footer-links {
        gap: var(--spacing-md);
    }

    .livorienne-footer-divider {
        display: none;
    }

    .navigation-container {
        padding: var(--spacing-sm) var(--spacing-lg);
        min-height: 4rem;
    }

    .navigation-desktop-directory {
        display: none;
    }

    .navigation-hamburger-btn {
        display: flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
    }

    .navigation-checkbox-hack:checked ~ .navigation-mobile-overlay {
        display: flex;
    }

    .about-hero-overlay {
        color: var(--color-on-surface);
        padding: var(--spacing-md);
        position: static;
        background: var(--color-surface-elevated);
        margin-top: var(--spacing-md);
    }

    .hero-discovery-link {
        color: var(--color-primary);
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .trust-row {
        grid-template-columns: 1fr;
    }

    .resources-cards {
        grid-template-columns: 1fr;
    }

    .home-services-mosaic {
        grid-template-columns: 1fr;
    }

    .home-gallery-grid {
        grid-template-columns: 1fr;
    }

    .work-grid {
        grid-template-columns: 1fr;
    }

    .gallery-item {
        width: 300px;
    }

    .contact-hero-content-overlay {
        left: var(--spacing-lg);
        bottom: var(--spacing-2xl);
    }

    .contact-form-footer {
        align-items: flex-start;
    }

    .workshop-collage-grid {
        gap: var(--spacing-sm);
        grid-template-rows: auto;
        grid-template-columns: 1fr 1fr;
    }

    .tile-portrait-top {
        grid-row: auto;
        grid-column: span 1;
        aspect-ratio: 1/1;
    }

    .tile-main {
        grid-row: auto;
        grid-column: span 1;
        aspect-ratio: 1/1;
    }

    .tile-landscape-bottom {
        grid-row: auto;
        grid-column: span 1;
        aspect-ratio: 1/1;
    }

    .tile-detail-right {
        grid-row: auto;
        grid-column: span 1;
        aspect-ratio: 1/1;
    }
}

@media (max-width: 479px) {
    .livorienne-footer-inner {
        padding: 0 var(--spacing-lg);
    }

    .livorienne-footer-links {
        align-items: flex-start;
        flex-direction: column;
    }

    .livorienne-footer-cta {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }

    .navigation-mobile-link {
        font-size: var(--font-size-xl);
    }

    .cta-form-inner {
        padding: 0 var(--spacing-md);
    }
}

/* Local typography and shared page behavior */
@font-face {
    font-family: "Livorienne Sans";
    src: url("../assets/fonts/DejaVuSans.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: "Livorienne Sans";
    src: url("../assets/fonts/DejaVuSans-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 600 800;
    font-display: swap
}

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

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--font-family-body)
}

.site-header, .footer-wrapper {
    display: block;
    width: 100%
}

main {
    display: block
}

.hero-title {
    font-size: var(--font-size-4xl);
    overflow-wrap: anywhere
}

.section-title {
    font-size: var(--font-size-3xl);
    overflow-wrap: anywhere
}

.navigation-section .navigation-hamburger-btn, .navigation-section .navigation-close-btn {
    background: transparent;
    border: 0
}

.navigation-section .navigation-mobile-overlay {
    visibility: hidden;
    display: flex;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-12px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s
}

.navigation-section.menu-open .navigation-mobile-overlay {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none
}

body.menu-is-open {
    overflow: hidden
}

.navigation-section .navigation-mobile-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    max-height: 100dvh;
    overflow: auto
}

.form-status {
    min-height: 1.5em;
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm)
}

:where(a,button,input,select,textarea):focus-visible {
    outline: 2px solid #785321;
    outline-offset: 3px
}

/* Footer redesign: editorial invitation, two-column directory, compact legal strip. */
.livorienne-footer {
    background: #272b27;
    color: #f6f2eb;
    padding: 0;
    overflow: visible
}

.livorienne-footer-inner {
    padding: 0 clamp(1.25rem, 4vw, 4rem);
    max-width: var(--content-max-width);
    display: block
}

.site-footer-top {
    display: grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(0, .85fr);
    gap: clamp(3rem, 7vw, 8rem);
    padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 6vw, 5rem)
}

.site-footer-eyebrow {
    display: block;
    color: #d5b984;
    font-size: .72rem;
    letter-spacing: .18em;
    font-weight: 700;
    margin-bottom: 1.4rem
}

.site-footer-intro {
    min-width: 0
}

.livorienne-footer-heading {
    max-width: 15ch;
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 1.18;
    margin: 0 0 1.3rem;
    color: #f6f2eb
}

.livorienne-footer-description {
    max-width: 48ch;
    color: #d4d4cb;
    font-size: 1rem;
    line-height: 1.7
}

.livorienne-footer-cta {
    margin-top: 2rem;
    padding: .9rem 1.25rem;
    border: 1px solid #d5b984;
    color: #f6f2eb;
    display: inline-flex;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    transition: background .2s, color .2s;
    text-decoration: none
}

.livorienne-footer-cta:hover {
    background: #d5b984;
    color: #272b27
}

.site-footer-directory {
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: clamp(1.25rem, 3vw, 3rem);
    padding-top: .4rem
}

.site-footer-directory h3 {
    font-size: .8rem;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #d5b984;
    margin: 0 0 1.3rem;
    font-family: var(--font-family-body)
}

.site-footer-directory p, .site-footer-directory a {
    color: #deded5;
    font-size: .88rem;
    line-height: 1.65;
    text-decoration: none;
    overflow-wrap: anywhere
}

.site-footer-directory a:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: .3em
}

.livorienne-footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .65rem
}

.site-footer-email {
    margin: .6rem 0 1.3rem
}

.site-footer-meta {
    border-top: 1px solid #50554e;
    padding: 1.2rem 0 1.4rem
}

.site-footer-identity {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.25rem;
    color: #c8cbc2;
    font-size: .7rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
    padding-bottom: 1.25rem
}

.site-footer-identity span:first-child {
    width: 100%;
    color: #d5b984
}

.site-footer-bottom {
    border-top: 1px solid #50554e;
    padding-top: 1.35rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: .78rem;
    color: #c8cbc2
}

.site-footer-brand {
    font-family: var(--font-family-heading);
    font-size: 1.2rem;
    font-weight: 700;
    color: #f6f2eb;
    text-decoration: none
}

.site-footer-brand span {
    color: #d5b984
}

.site-footer-bottom nav {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap
}

.site-footer-bottom a {
    color: #e0e0d8;
    text-decoration: none
}

.site-footer-bottom a:hover {
    text-decoration: underline;
    text-underline-offset: .3em;
    color: #fff
}

@media (max-width: 767px) {
    .hero-section, .hero-title, .section-title {
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: normal
    }

    .site-footer-top {
        grid-template-columns:1fr;
        gap: 2.7rem
    }

    .site-footer-directory {
        gap: 1.25rem
    }

    .navigation-mobile-overlay {
        padding: var(--spacing-md) var(--spacing-lg)
    }

    .livorienne-footer-inner {
        padding-inline: var(--spacing-lg)
    }

    .site-footer-bottom {
        align-items: flex-start;
        flex-direction: column
    }
}

@media (max-width: 390px) {
    .site-footer-directory {
        grid-template-columns:1fr
    }

    .livorienne-footer-cta {
        width: 100%
    }
}

.editorial-note {
    max-width: var(--content-max-width);
    margin: clamp(1rem, 3vw, 2rem) auto 0;
    padding: 1.1rem var(--spacing-2xl);
    border-left: 3px solid var(--color-primary);
    color: var(--color-on-surface-secondary);
    font-size: var(--font-size-base);
    line-height: 1.75;
    overflow-wrap: anywhere
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000
}

.navigation-section {
    position: relative
}

.navigation-section.menu-open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none
}

@media (max-width: 767px) {
    .editorial-note {
        margin-inline: var(--spacing-lg);
        padding: 1rem var(--spacing-md)
    }
}

.gallery-rail-viewport {
    left: auto;
    right: auto;
    width: 100%;
    margin-inline: 0;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch
}

.gallery-rail-viewport {
    scroll-snap-type: x proximity
}

.gallery-item {
    scroll-snap-align: start
}

@media (max-width: 767px) {
    .gallery-rail-track {
        gap: var(--spacing-md);
        padding-inline: var(--spacing-lg)
    }

    .gallery-item {
        width: min(80vw, 300px)
    }
    .workshop-gallery-header{
        flex-direction: column;
        align-items: start;
    }
    .closing-badges {
        flex-wrap: wrap;
    }
}

/* Tablet navigation and semantic CTA links */
@media (max-width: 991px) {
    .navigation-desktop-directory {
        display: none
    }

    .navigation-hamburger-btn {
        display: flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center
    }
}

.home-hero-link, .home-cta-fallback, .hero-discovery-link, .home-panel-link, .work-card-copy .btn-link {
    cursor: pointer
}

.work-card-copy .btn-link {
    display: inline-flex;
    align-self: flex-start
}

.navigation-link-item a[aria-current="page"] .navigation-link {
    color: var(--color-primary)
}

.navigation-link-item a[aria-current="page"] .navigation-link::after {
    width: 100%
}

.navigation-mobile-list a[aria-current="page"] .navigation-mobile-link {
    color: var(--color-primary)
}

/* LivorienneWorks home hero */
#home-intro.home-hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
    isolation: isolate;
    background: #f4eee6;
}

#home-intro .home-hero-bg {
    inset: 0 0 0 auto;
    width: 50%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

#home-intro .home-hero-img-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% center;
}

#home-intro .home-hero-scrim {
    inset: 0;
    background: linear-gradient(90deg, rgba(244, 238, 230, .55), transparent 28%),
    linear-gradient(180deg, transparent 66%, rgba(31, 30, 26, .20));
}

#home-intro .home-hero-container {
    width: min(100%, 1440px);
    min-height: clamp(590px, 73vh, 780px);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(3.5rem, 6vw, 6.5rem) clamp(1.5rem, 5vw, 5.5rem);
    margin-inline: auto;
    z-index: 1;
    box-sizing: border-box;
}

#home-intro .home-hero-content {
    max-width: 40rem;
    color: #262b26;
    text-align: left;
}

#home-intro .home-hero-content .hero-title {
    max-width: 13ch;
    margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
    color: #262b26;
    font-size: clamp(2.6rem, 4.1vw, 4.15rem);
    line-height: 1.11;
    letter-spacing: -.045em;
    text-wrap: balance;
}

#home-intro .home-hero-content .hero-subtitle {
    max-width: 52ch;
    margin: 0;
    color: #474c44;
    font-size: clamp(1rem, 1.25vw, 1.12rem);
    line-height: 1.75;
    opacity: 1;
}

#home-intro .home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.75rem;
    align-items: center;
    margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

#home-intro .home-hero-actions .btn-primary {
    min-height: 3.25rem;
    padding: .75rem 1.45rem;
    border-radius: .35rem;
    box-shadow: 0 10px 20px rgba(49, 37, 23, .12);
}

#home-intro .home-hero-actions .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 24px rgba(49, 37, 23, .18);
}

#home-intro .home-hero-link {
    color: #62431f;
    font-size: .94rem;
    text-decoration-thickness: 1px;
    text-underline-offset: .38em;
}

#home-intro .home-hero-link:hover {
    color: #262b26;
    opacity: 1;
}

#home-intro .home-hero-inset {
    width: clamp(170px, 22vw, 288px);
    height: auto;
    margin: 15% 0 0 auto;
    padding: .45rem;
    border: 0;
    aspect-ratio: 3 / 4;
    background: #f4eee6;
    box-shadow: 0 24px 60px rgba(16, 18, 16, .23);
    backdrop-filter: none;
}

#home-intro .home-hero-img-inset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#home-intro > .editorial-note {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.45rem clamp(1.5rem, 5vw, 5.5rem);
    border: 0;
    background: #e9e1d7;
    color: #474c44;
    font-size: .9rem;
    line-height: 1.7;
    box-sizing: border-box;
}

.about-hero-overlay h1 {
    color: var(--color-primary);
}

@media (max-width: 991px) {
    #home-intro .home-hero-container {
        order: 1;
        display: block;
        min-height: 0;
        padding: clamp(3rem, 8vw, 5rem) clamp(1.25rem, 5vw, 3rem);
        text-align: left;
    }

    #home-intro .home-hero-content {
        max-width: 44rem;
    }

    #home-intro .home-hero-content .hero-title {
        max-width: 15ch;
    }

    #home-intro .home-hero-actions {
        justify-content: flex-start;
    }

    #home-intro .home-hero-bg {
        order: 2;
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(290px, 54vw, 500px);
    }

    #home-intro .home-hero-scrim {
        background: linear-gradient(180deg, transparent 70%, rgba(31, 30, 26, .16));
    }

    #home-intro .home-hero-inset {
        display: none;
    }

    #home-intro > .editorial-note {
        order: 3;
        padding-inline: clamp(1.25rem, 5vw, 3rem);
    }
}

@media (max-width: 479px) {
    #home-intro .home-hero-container {
        padding: 2.75rem 1.25rem 2.25rem;
    }

    #home-intro .home-hero-content .hero-title {
        max-width: none;
        font-size: clamp(2.15rem, 9vw, 2.85rem);
        letter-spacing: -.035em;
    }

    #home-intro .home-hero-content .hero-subtitle {
        font-size: .96rem;
        line-height: 1.7;
    }

    #home-intro .home-hero-actions {
        align-items: stretch;
        flex-direction: column;
        gap: .85rem;
    }

    #home-intro .home-hero-actions .btn-primary {
        width: 100%;
    }

    #home-intro .home-hero-link {
        align-self: flex-start;
        padding: .35rem 0;
    }

    #home-intro .home-hero-bg {
        height: clamp(250px, 77vw, 350px);
    }

    #home-intro > .editorial-note {
        padding: 1.1rem 1.25rem;
        font-size: .84rem;
    }
}
