.site-v2 {
    --site-v2-bg: #fbf6ee;
    --site-v2-paper: #fffaf3;
    --site-v2-paper-strong: #fffdf8;
    --site-v2-ink: #2f2118;
    --site-v2-muted: #6f5847;
    --site-v2-soft: #efe0cf;
    --site-v2-line: rgba(113, 73, 44, 0.18);
    --site-v2-accent: #7a431f;
    --site-v2-accent-strong: #5a2d15;
    --site-v2-accent-soft: #e9c6a5;
    --site-v2-green: #2f7044;
    --site-v2-radius-sm: 8px;
    --site-v2-radius-md: 14px;
    --site-v2-radius-lg: 22px;
    --site-v2-radius-xl: 28px;
    --site-v2-shadow-sm: 0 10px 24px rgba(70, 43, 24, 0.08);
    --site-v2-shadow-md: 0 18px 44px rgba(70, 43, 24, 0.13);
    --site-v2-shadow-lg: 0 28px 70px rgba(70, 43, 24, 0.18);
    --site-v2-space-1: 6px;
    --site-v2-space-2: 10px;
    --site-v2-space-3: 14px;
    --site-v2-space-4: 18px;
    --site-v2-space-5: 24px;
    --site-v2-space-6: 32px;
    --site-v2-space-7: 44px;
    --site-v2-space-8: 64px;
    --site-v2-anchor-offset: 96px;
    --motion-fast: 160ms;
    --motion-base: 240ms;
    --motion-card: 460ms;
    --motion-slow: 520ms;
    --motion-hero: 760ms;
    --motion-interaction: 210ms;
    --motion-distance-sm: 6px;
    --motion-distance-md: 14px;
    --motion-distance-lg: 24px;
    --motion-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --motion-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
    --motion-stagger: 120ms;
    --site-process-line-scale: 1;
    background:
        linear-gradient(180deg, #fff9f0 0%, var(--site-v2-bg) 38%, #f5e7d7 100%);
    color: var(--site-v2-ink);
    letter-spacing: 0;
    overflow-x: clip;
}

.site-v2 *,
.site-v2 *::before,
.site-v2 *::after {
    box-sizing: border-box;
}

.site-v2 a {
    color: inherit;
    text-decoration: none;
}

.site-v2 .site-v2-header {
    position: sticky;
    top: 0;
    z-index: 1100;
    border-bottom: 1px solid var(--site-v2-line);
    background: rgba(255, 250, 243, 0.94);
    box-shadow: 0 10px 26px rgba(70, 43, 24, 0.08);
    backdrop-filter: blur(14px);
}

.site-v2 .site-v2-mobile-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--site-v2-space-3);
    width: 100%;
    min-height: 68px;
    padding: 12px 16px;
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
}

.site-v2 .site-v2-mobile-actions {
    min-width: 0;
    flex: 0 0 auto;
}

.site-v2 .site-v2-brand {
    display: grid;
    gap: 2px;
    min-width: 0;
    color: var(--site-v2-ink);
    font-weight: 950;
    line-height: 1.15;
}

.site-v2 .site-v2-brand span {
    overflow: hidden;
    font-size: 21px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-v2 .site-v2-brand small {
    color: var(--site-v2-muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: 0.02em;
}

.site-v2 .site-v2-mobile-actions,
.site-v2 .site-v2-nav-actions,
.site-v2 .site-v2-final-actions {
    display: flex;
    align-items: center;
    gap: var(--site-v2-space-2);
}

.site-v2 .site-v2-mobile-order-link,
.site-v2 .site-v2-order-link,
.site-v2 .site-v2-primary-link,
.site-v2 .site-v2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: var(--site-v2-radius-sm);
    padding: 0 16px;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    transition:
        background-color var(--motion-interaction) var(--motion-ease-out),
        border-color var(--motion-interaction) var(--motion-ease-out),
        box-shadow var(--motion-interaction) var(--motion-ease-out),
        color var(--motion-interaction) var(--motion-ease-out),
        filter var(--motion-interaction) var(--motion-ease-out),
        transform var(--motion-interaction) var(--motion-ease-out);
}

.site-v2 .site-v2-mobile-order-link,
.site-v2 .site-v2-order-link,
.site-v2 .site-v2-button-secondary {
    border-color: var(--site-v2-line);
    background: rgba(255, 253, 248, 0.8);
    color: var(--site-v2-accent-strong);
}

.site-v2 .site-v2-primary-link,
.site-v2 .site-v2-button-primary,
.site-v2 .site-v2-drawer-cta {
    border-color: var(--site-v2-accent-strong);
    background: linear-gradient(180deg, var(--site-v2-accent), var(--site-v2-accent-strong));
    color: #fffaf3;
    box-shadow: 0 12px 24px rgba(95, 46, 20, 0.2);
}

.site-v2 .site-v2-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 46px;
    min-width: 46px;
    min-height: 44px;
    border: 1px solid var(--site-v2-line);
    border-radius: var(--site-v2-radius-sm);
    background: var(--site-v2-paper-strong);
    color: var(--site-v2-ink);
    padding: 0;
    font-size: 24px;
    line-height: 1;
}

.site-v2 .site-v2-mobile-bar .site-v2-menu-toggle.mobile-menu-toggle {
    display: inline-flex;
}

.site-v2 .site-v2-desktop-nav {
    display: none;
}

.site-v2 .site-v2-staff-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    border-top: 1px solid rgba(113, 73, 44, 0.12);
    padding: 8px 16px 10px;
    color: var(--site-v2-muted);
    font-size: 13px;
    font-weight: 800;
}

.site-v2 .site-v2-staff-nav a,
.site-v2 .site-v2-footer-staff a {
    border: 1px solid rgba(113, 73, 44, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    color: var(--site-v2-accent-strong);
    padding: 6px 10px;
}

.site-v2 .site-v2-drawer-overlay.open {
    display: block;
}

.site-v2 .site-v2-mobile-drawer {
    width: min(86vw, 340px);
    border-left: 1px solid var(--site-v2-line);
    background: var(--site-v2-paper);
    color: var(--site-v2-ink);
}

.site-v2 .site-v2-mobile-drawer > a {
    min-height: 48px;
    border-bottom-color: rgba(113, 73, 44, 0.16);
}

.site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta {
    display: inline-flex;
    width: 100%;
    margin-top: 12px;
}

.site-v2 .site-v2-drawer-staff {
    display: grid;
    gap: 8px;
    margin-top: 18px;
    border-top: 1px solid rgba(113, 73, 44, 0.16);
    padding-top: 16px;
}

.site-v2 .site-v2-drawer-staff span {
    color: var(--site-v2-muted);
    font-size: 13px;
    font-weight: 850;
}

.site-v2 .site-v2-drawer-staff a {
    border: 1px solid rgba(113, 73, 44, 0.16);
    border-radius: var(--site-v2-radius-sm);
    background: #fffdf8;
    padding: 10px 12px;
    font-weight: 850;
}

.site-v2 .site-v2-lang-switch {
    position: fixed;
    right: max(10px, env(safe-area-inset-right));
    bottom: 82px;
    z-index: 820;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(122, 67, 31, 0.26);
    border-radius: 999px;
    background: rgba(122, 67, 31, 0.92);
    color: #fffaf3;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: var(--site-v2-shadow-sm);
}

.site-v2 #services,
.site-v2 #process,
.site-v2 #faq,
.site-v2 #about {
    scroll-margin-top: var(--site-v2-anchor-offset);
}

.site-v2 .site-v2-lang-switch a.active {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-v2 .site-v2-main {
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: 0 14px 44px;
}

.site-v2 .site-v2-hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    border: 1px solid rgba(113, 73, 44, 0.14);
    border-top: 0;
    border-radius: 0 0 var(--site-v2-radius-xl) var(--site-v2-radius-xl);
    background: #efe0cf;
    box-shadow: var(--site-v2-shadow-lg);
}

.site-v2 .site-v2-hero-bg {
    position: absolute;
    inset: -9%;
    z-index: 0;
    background-image: var(--site-hero-bg-image);
    background-position: center;
    background-size: cover;
    opacity: var(--site-hero-bg-opacity, 0.25);
    transform:
        translate(
            calc((var(--site-hero-bg-x, 50) - 50) * 1%),
            calc((var(--site-hero-bg-y, 50) - 50) * 1%)
        )
        scale(var(--site-hero-bg-scale-ratio, 1))
        rotate(calc(var(--site-hero-bg-rotation, 0) * 1deg));
    transform-origin: center;
}

.site-v2 .site-v2-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(255, 248, 238, 0.96) 0%, rgba(255, 248, 238, 0.82) 42%, rgba(255, 248, 238, 0.28) 100%),
        radial-gradient(circle at 82% 16%, rgba(88, 44, 18, 0.12), transparent 36%);
    pointer-events: none;
}

.site-v2 .site-v2-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: end;
    gap: var(--site-v2-space-6);
    min-height: 620px;
    padding: clamp(34px, 8vw, 92px) clamp(18px, 5vw, 70px) clamp(32px, 6vw, 66px);
}

.site-v2 .site-v2-hero-copy {
    display: grid;
    gap: var(--site-v2-space-4);
    max-width: 680px;
}

.site-v2 .site-v2-eyebrow {
    margin: 0;
    color: var(--site-v2-green);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: none;
}

.site-v2 .site-v2-hero-copy h1,
.site-v2 .site-v2-section h2,
.site-v2 .site-v2-about h2,
.site-v2 .site-v2-final-cta h2 {
    margin: 0;
    color: var(--site-v2-ink);
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
}

.site-v2 .site-v2-hero-copy h1 {
    font-size: clamp(38px, 10vw, 78px);
    overflow-wrap: normal;
    text-wrap: balance;
    word-break: keep-all;
}

.site-v2 .site-v2-hero-subtitle {
    max-width: 560px;
    margin: 0;
    color: #4d382a;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 800;
    line-height: 1.75;
    white-space: pre-line;
}

.site-v2 .site-v2-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-v2-space-3);
}

.site-v2 .site-v2-hero-panel {
    display: grid;
    gap: var(--site-v2-space-3);
    max-width: 420px;
    border: 1px solid rgba(113, 73, 44, 0.16);
    border-radius: var(--site-v2-radius-lg);
    background: rgba(255, 253, 248, 0.78);
    box-shadow: var(--site-v2-shadow-sm);
    padding: var(--site-v2-space-5);
    backdrop-filter: blur(10px);
}

.site-v2 .site-v2-hero-panel div {
    display: grid;
    gap: 4px;
}

.site-v2 .site-v2-hero-panel span,
.site-v2 .site-v2-gallery-status,
.site-v2 .site-v2-footer p {
    color: var(--site-v2-muted);
    font-size: 14px;
    font-weight: 800;
}

.site-v2 .site-v2-hero-panel strong {
    color: var(--site-v2-ink);
    font-size: 22px;
    font-weight: 950;
}

.site-v2 .site-v2-hero-panel p,
.site-v2 .site-v2-section-head p,
.site-v2 .site-v2-service-card p,
.site-v2 .site-v2-process-list p,
.site-v2 .site-v2-faq-list p,
.site-v2 .site-v2-about p,
.site-v2 .site-v2-final-cta p {
    margin: 0;
    color: var(--site-v2-muted);
    line-height: 1.65;
}

.site-v2 .site-v2-hero-panel a,
.site-v2 .site-v2-text-link,
.site-v2 .site-v2-service-card a {
    color: var(--site-v2-accent-strong);
    font-weight: 950;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition:
        color var(--motion-interaction) var(--motion-ease-out),
        text-decoration-color var(--motion-interaction) var(--motion-ease-out),
        text-decoration-thickness var(--motion-interaction) var(--motion-ease-out),
        text-underline-offset var(--motion-interaction) var(--motion-ease-out);
}

.site-v2 .site-v2-trust {
    display: grid;
    gap: var(--site-v2-space-3);
    margin: -28px auto 0;
    padding: 0 8px;
    position: relative;
    z-index: 4;
}

.site-v2 .site-v2-trust article,
.site-v2 .site-v2-service-card,
.site-v2 .site-v2-process-list li,
.site-v2 .site-v2-faq-list details,
.site-v2 .site-v2-about-note,
.site-v2 .site-v2-gallery-card {
    border: 1px solid var(--site-v2-line);
    border-radius: var(--site-v2-radius-md);
    background: linear-gradient(180deg, rgba(255, 253, 248, 0.96), rgba(250, 240, 229, 0.9));
    box-shadow: var(--site-v2-shadow-sm);
}

.site-v2 .site-v2-trust article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2px 14px;
    align-items: center;
    min-height: 84px;
    padding: 16px;
}

.site-v2 .site-v2-trust span,
.site-v2 .site-v2-service-card > span,
.site-v2 .site-v2-image-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(122, 67, 31, 0.18);
    border-radius: 999px;
    background: #f0ddc9;
    color: var(--site-v2-accent-strong);
    font-size: 20px;
    font-weight: 950;
}

.site-v2 .site-v2-trust h2 {
    grid-column: 2;
    margin: 0;
    color: var(--site-v2-ink);
    font-size: 17px;
    font-weight: 950;
}

.site-v2 .site-v2-trust p {
    grid-column: 2;
    margin: 0;
    color: var(--site-v2-muted);
    font-size: 14px;
    font-weight: 750;
}

.site-v2 .site-v2-section,
.site-v2 .site-v2-about,
.site-v2 .site-v2-final-cta {
    margin-top: var(--site-v2-space-7);
}

.site-v2 .site-v2-section {
    border: 1px solid rgba(113, 73, 44, 0.12);
    border-radius: var(--site-v2-radius-lg);
    background: rgba(255, 250, 243, 0.7);
    padding: clamp(20px, 4vw, 36px);
    box-shadow: var(--site-v2-shadow-sm);
}

.site-v2 .site-v2-section-head {
    display: grid;
    gap: var(--site-v2-space-4);
    margin-bottom: var(--site-v2-space-5);
}

.site-v2 .site-v2-section-head > div {
    display: grid;
    gap: var(--site-v2-space-2);
    max-width: 720px;
}

.site-v2 .site-v2-motion-clip {
    display: block;
    overflow: hidden;
}

.site-v2 .site-v2-motion-clip > h1,
.site-v2 .site-v2-motion-clip > h2 {
    will-change: transform, opacity;
}

html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-hero-copy .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-motion-clip-title > h1,
html.site-v2-motion-boot .site-v2 .site-v2-hero-subtitle,
html.site-v2-motion-boot .site-v2 .site-v2-hero-actions,
html.site-v2-motion-boot .site-v2 .site-v2-hero-panel,
html.site-v2-motion-boot .site-v2 .site-v2-trust article {
    opacity: 0;
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform, opacity;
}

html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-hero-copy .site-v2-eyebrow {
    transform: translateY(20px);
}

html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-motion-clip-title > h1 {
    transform: translateY(32px);
}

html.site-v2-motion-boot .site-v2 .site-v2-hero-subtitle {
    transform: translateY(24px);
}

html.site-v2-motion-boot .site-v2 .site-v2-hero-actions {
    transform: translateY(20px);
}

html.site-v2-motion-boot .site-v2 .site-v2-hero-panel {
    transform: translateY(28px) scale(0.97);
}

html.site-v2-motion-boot .site-v2 .site-v2-trust article {
    transform: translateY(26px);
}

html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 .site-v2-about-copy .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-about-copy .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-about-copy p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 .site-v2-gallery-card,
html.site-v2-motion-boot .site-v2 .site-v2-service-card,
html.site-v2-motion-boot .site-v2 .site-v2-process-list li,
html.site-v2-motion-boot .site-v2 .site-v2-faq-list details,
html.site-v2-motion-boot .site-v2 .site-v2-about-note,
html.site-v2-motion-boot .site-v2 .site-v2-final-actions .site-v2-button,
html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-brand,
html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-links,
html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-staff {
    opacity: 0;
    transform: translateY(30px);
    transition: none !important;
    will-change: transform, opacity;
}

html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #services .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #process .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 .site-v2-about-copy .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-about-copy .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-about-copy p:not(.site-v2-eyebrow),
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-eyebrow,
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-motion-clip > h2,
html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child p:not(.site-v2-eyebrow) {
    transform: translateY(28px);
}

html.site-v2-motion-boot .site-v2 .site-v2-about-note {
    transform: translateY(30px) scale(0.98);
}

html.site-v2-motion-boot .site-v2 .site-v2-section-rule {
    opacity: 0;
    transform: scaleX(0);
    transition: none !important;
    will-change: transform, opacity;
}

html.site-v2-motion-boot .site-v2 #process .site-v2-process-list {
    --site-process-line-scale: 0;
}

@media (min-width: 1200px) {
    html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-hero-copy .site-v2-eyebrow {
        transform: translateY(28px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-hero .site-v2-motion-clip-title > h1 {
        transform: translateY(48px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-hero-subtitle {
        transform: translateY(36px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-hero-actions {
        transform: translateY(30px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-hero-panel {
        transform: translateY(42px) scale(0.975);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-trust article {
        transform: translateY(36px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-eyebrow,
    html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head .site-v2-motion-clip > h2,
    html.site-v2-motion-boot .site-v2 .site-v2-featured-gallery .site-v2-section-head p:not(.site-v2-eyebrow),
    html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-eyebrow,
    html.site-v2-motion-boot .site-v2 #services .site-v2-section-head .site-v2-motion-clip > h2,
    html.site-v2-motion-boot .site-v2 #services .site-v2-section-head p:not(.site-v2-eyebrow),
    html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-eyebrow,
    html.site-v2-motion-boot .site-v2 #process .site-v2-section-head .site-v2-motion-clip > h2,
    html.site-v2-motion-boot .site-v2 #process .site-v2-section-head p:not(.site-v2-eyebrow),
    html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-eyebrow,
    html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head .site-v2-motion-clip > h2,
    html.site-v2-motion-boot .site-v2 #faq .site-v2-section-head p:not(.site-v2-eyebrow),
    html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-eyebrow,
    html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child .site-v2-motion-clip > h2,
    html.site-v2-motion-boot .site-v2 .site-v2-final-cta > div:first-child p:not(.site-v2-eyebrow) {
        transform: translateY(40px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-gallery-card {
        transform: translateY(48px) scale(0.985);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-service-card {
        transform: translateY(46px) scale(0.985);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-process-list li {
        transform: translateY(44px);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-about-copy {
        opacity: 0;
        transform: translateX(-38px);
        transition: none !important;
        will-change: transform, opacity;
    }

    html.site-v2-motion-boot .site-v2 .site-v2-about-note {
        transform: translateX(38px) scale(0.98);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-final-actions .site-v2-button {
        transform: translateY(30px) scale(0.985);
    }

    html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-brand,
    html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-links,
    html.site-v2-motion-boot .site-v2 .site-v2-footer > .site-v2-footer-staff {
        transform: translateY(24px);
    }
}

.site-v2 [data-motion-state="pending"] [data-motion-role="reveal"],
.site-v2 [data-motion-state="prepared"] [data-motion-role="reveal"] {
    opacity: 0;
    transform: translate(var(--motion-reveal-x, 0px), var(--motion-reveal-y, 30px)) scale(var(--motion-reveal-scale, 1));
    transition: none !important;
    will-change: transform, opacity;
}

.site-v2 [data-motion-state="pending"] [data-motion-role="rule"],
.site-v2 [data-motion-state="prepared"] [data-motion-role="rule"] {
    opacity: 0;
    transform: scaleX(0);
    transition: none !important;
    will-change: transform, opacity;
}

.site-v2 [data-motion-state="running"] [data-motion-role="reveal"],
.site-v2 [data-motion-state="running"] [data-motion-role="rule"] {
    transition: none !important;
}

.site-v2 [data-motion-state="revealed"] [data-motion-role="reveal"] {
    opacity: 1;
    transform: none;
}

.site-v2 [data-motion-state="revealed"] [data-motion-role="rule"] {
    opacity: 1;
    transform: scaleX(1);
}

.site-v2 .site-v2-section-rule {
    display: block;
    width: 74px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--site-v2-accent), rgba(122, 67, 31, 0.16));
    transform-origin: left center;
}

.site-v2 .site-v2-section h2,
.site-v2 .site-v2-about h2,
.site-v2 .site-v2-final-cta h2 {
    font-size: clamp(26px, 5vw, 38px);
}

.site-v2 .site-v2-home-gallery,
.site-v2 .site-v2-card-grid,
.site-v2 .site-v2-process-list,
.site-v2 .site-v2-faq-list {
    display: grid;
    gap: var(--site-v2-space-4);
}

.site-v2 .site-v2-gallery-status {
    min-height: 22px;
    margin: 0 0 var(--site-v2-space-3);
}

.site-v2 .site-v2-gallery-status.is-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
}

.site-v2 .site-v2-gallery-card {
    overflow: hidden;
    transition:
        border-color var(--motion-card) var(--motion-ease-out),
        box-shadow var(--motion-card) var(--motion-ease-out),
        transform var(--motion-card) var(--motion-ease-out);
}

.site-v2 .site-v2-gallery-card a {
    position: relative;
    display: grid;
    min-height: 100%;
}

.site-v2 .site-v2-gallery-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #ead8c4;
}

.site-v2 .site-v2-gallery-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 44%, rgba(47, 33, 24, 0.2));
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--motion-slow) var(--motion-ease-out);
}

.site-v2 .site-v2-gallery-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center;
    transition:
        filter var(--motion-card) var(--motion-ease-out),
        transform var(--motion-card) var(--motion-ease-out);
}

.site-v2 .site-v2-gallery-media .site-v2-image-fallback {
    position: absolute;
    inset: 50% auto auto 50%;
    width: auto;
    min-width: 120px;
    height: auto;
    min-height: 44px;
    border-radius: var(--site-v2-radius-sm);
    padding: 0 12px;
    transform: translate(-50%, -50%);
}

.site-v2 .site-v2-image-fallback[hidden],
.site-v2 .site-v2-gallery-media img[hidden] {
    display: none !important;
}

.site-v2 .site-v2-gallery-content {
    position: relative;
    display: grid;
    gap: 8px;
    padding: 16px;
    transition: transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-gallery-card a::after {
    content: "→";
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(122, 67, 31, 0.24);
    border-radius: 999px;
    background: rgba(255, 250, 243, 0.9);
    color: var(--site-v2-accent-strong);
    font-size: 17px;
    font-weight: 950;
    opacity: 0;
    pointer-events: none;
    transform: translateX(6px);
    transition:
        opacity var(--motion-base) var(--motion-ease-out),
        transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-gallery-content h3,
.site-v2 .site-v2-service-card h3,
.site-v2 .site-v2-process-list h3 {
    margin: 0;
    color: var(--site-v2-ink);
    font-size: 20px;
    font-weight: 950;
    line-height: 1.25;
}

.site-v2 .site-v2-gallery-content p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--site-v2-muted);
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.site-v2 .site-v2-gallery-chip {
    width: fit-content;
    border-radius: 999px;
    background: #f0dfcf;
    color: var(--site-v2-accent-strong);
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 950;
}

.site-v2 .site-v2-service-card {
    display: grid;
    gap: var(--site-v2-space-3);
    padding: 20px;
    transition:
        border-color var(--motion-card) var(--motion-ease-out),
        box-shadow var(--motion-card) var(--motion-ease-out),
        transform var(--motion-card) var(--motion-ease-out);
}

.site-v2 .site-v2-service-card > span,
.site-v2 .site-v2-process-list li > span {
    transform-origin: center;
    transition: transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-process-list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-v2 .site-v2-process-list::before {
    content: "";
    position: absolute;
    top: 34px;
    bottom: 34px;
    left: 16px;
    z-index: 0;
    width: 2px;
    border-radius: 999px;
    background:
        repeating-linear-gradient(
            to bottom,
            rgba(122, 67, 31, 0.58) 0 8px,
            transparent 8px 15px
        );
    transform: scaleY(var(--site-process-line-scale));
    transform-origin: top center;
}

.site-v2 .site-v2-process-list li {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--site-v2-space-2);
    padding: 18px;
}

.site-v2 .site-v2-process-list li > span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--site-v2-green);
    color: #fff;
    font-size: 14px;
    font-weight: 950;
}

.site-v2 .site-v2-process-list li > span::after {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px solid rgba(233, 198, 165, 0.78);
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.76);
}

.site-v2 .site-v2-process-list li.is-step-lit > span::after {
    animation: site-v2-process-pulse 720ms var(--motion-ease-out) 1;
}

.site-v2 .site-v2-faq-list details {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #fffaf3;
    transition:
        border-color var(--motion-base) var(--motion-ease-out),
        box-shadow var(--motion-base) var(--motion-ease-out),
        background var(--motion-base) var(--motion-ease-out),
        transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-faq-list details::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--site-v2-accent);
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top center;
    transition:
        opacity var(--motion-base) var(--motion-ease-out),
        transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-faq-list details[open] {
    border-color: rgba(122, 67, 31, 0.42);
    background: #fff3e3;
    box-shadow: 0 18px 38px rgba(70, 43, 24, 0.16);
}

.site-v2 .site-v2-faq-list details[open]::before {
    opacity: 1;
    transform: scaleY(1);
}

.site-v2 .site-v2-faq-list summary {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    cursor: pointer;
    padding: 15px 18px;
    color: var(--site-v2-ink);
    font-weight: 950;
    list-style: none;
    transition:
        background var(--motion-base) var(--motion-ease-out),
        color var(--motion-base) var(--motion-ease-out);
}

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

.site-v2 .site-v2-faq-list summary::after {
    display: none;
    content: none;
}

.site-v2 .site-v2-faq-list details[open] summary {
    color: var(--site-v2-accent-strong);
}

.site-v2 .site-v2-faq-list summary > span:first-child {
    min-width: 0;
}

.site-v2 .site-v2-faq-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid rgba(122, 67, 31, 0.2);
    border-radius: 50%;
    background: rgba(255, 250, 243, 0.72);
    color: var(--site-v2-accent);
    line-height: 0;
    pointer-events: none;
    transform-origin: 50% 50%;
    transition:
        border-color var(--motion-base) var(--motion-ease-out),
        background-color var(--motion-base) var(--motion-ease-out),
        color var(--motion-base) var(--motion-ease-out),
        transform var(--motion-base) var(--motion-ease-out);
}

.site-v2 .site-v2-faq-icon::before,
.site-v2 .site-v2-faq-icon::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    width: 10px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: 50% 50%;
}

.site-v2 .site-v2-faq-icon::before {
    transform: translate(-50%, -50%);
}

.site-v2 .site-v2-faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.site-v2 .site-v2-faq-list details[open] .site-v2-faq-icon {
    border-color: rgba(122, 67, 31, 0.36);
    background: rgba(122, 67, 31, 0.1);
    color: var(--site-v2-accent-strong);
}

.site-v2 .site-v2-faq-list details.is-faq-icon-open .site-v2-faq-icon {
    transform: rotate(45deg);
}

.site-v2 .site-v2-faq-answer {
    block-size: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition:
        block-size 420ms var(--motion-ease-out),
        opacity 400ms var(--motion-ease-out),
        transform 420ms var(--motion-ease-out);
}

.site-v2[data-motion-engine="animejs-4.5.0"] .site-v2-faq-answer {
    transition: none;
}

.site-v2 .site-v2-faq-list details[open] .site-v2-faq-answer {
    block-size: var(--faq-answer-height, auto);
    opacity: 1;
    transform: translateY(0);
}

.site-v2 .site-v2-faq-answer-inner {
    border-top: 1px solid rgba(113, 73, 44, 0.12);
    padding: 0 18px 16px;
}

.site-v2 .site-v2-faq-answer p {
    margin: 0;
}

.site-v2 .site-v2-about,
.site-v2 .site-v2-final-cta,
.site-v2 .site-v2-footer {
    border: 1px solid var(--site-v2-line);
    border-radius: var(--site-v2-radius-lg);
    background: var(--site-v2-paper);
    box-shadow: var(--site-v2-shadow-sm);
    padding: clamp(22px, 4vw, 38px);
}

.site-v2 .site-v2-about {
    display: grid;
    gap: var(--site-v2-space-5);
}

.site-v2 .site-v2-about > div:first-child {
    display: grid;
    gap: var(--site-v2-space-3);
    min-width: 0;
}

.site-v2 .site-v2-about-note {
    display: grid;
    gap: var(--site-v2-space-2);
    width: 100%;
    min-width: 0;
    padding: 18px;
}

.site-v2 .site-v2-about-note strong {
    color: var(--site-v2-ink);
    font-size: 18px;
    font-weight: 950;
}

.site-v2 .site-v2-final-cta {
    display: grid;
    gap: var(--site-v2-space-5);
    background:
        linear-gradient(135deg, rgba(255, 250, 243, 0.94), rgba(238, 216, 194, 0.88)),
        var(--site-v2-paper);
}

.site-v2 .site-v2-final-cta > div:first-child {
    display: grid;
    gap: var(--site-v2-space-2);
}

.site-v2 .site-v2-final-actions .site-v2-button-primary {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        box-shadow var(--motion-interaction) var(--motion-ease-out),
        filter var(--motion-interaction) var(--motion-ease-out),
        transform var(--motion-interaction) var(--motion-ease-out);
}

.site-v2 .site-v2-final-actions .site-v2-button-primary::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(255, 247, 218, 0) 34%,
        rgba(255, 247, 218, 0.58) 48%,
        rgba(255, 247, 218, 0) 62%,
        transparent 100%
    );
    opacity: 0;
    pointer-events: none;
    transform: translateX(-120%);
}

.site-v2 .site-v2-footer {
    display: grid;
    gap: var(--site-v2-space-4);
    width: min(calc(100% - 28px), 1180px);
    margin: var(--site-v2-space-6) auto 24px;
    border-radius: var(--site-v2-radius-lg);
    background: linear-gradient(180deg, #5b321d, #3d2115);
    color: #fffaf3;
}

.site-v2 .site-v2-footer-brand {
    display: grid;
    gap: 2px;
}

.site-v2 .site-v2-footer-brand strong {
    font-size: 22px;
    font-weight: 950;
}

.site-v2 .site-v2-footer-brand span,
.site-v2 .site-v2-footer p {
    color: rgba(255, 250, 243, 0.78);
}

.site-v2 .site-v2-footer-links,
.site-v2 .site-v2-footer-staff {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.site-v2 .site-v2-footer-links a {
    color: #fffaf3;
    font-weight: 850;
    opacity: 0.86;
}

.site-v2 .site-v2-footer-staff {
    border-top: 1px solid rgba(255, 250, 243, 0.14);
    padding-top: 14px;
}

.site-v2 .site-v2-footer-staff span {
    color: rgba(255, 250, 243, 0.7);
    font-weight: 850;
}

.site-v2 .site-v2-footer-staff a {
    background: rgba(255, 250, 243, 0.08);
    color: #fffaf3;
    box-shadow: none;
}

.site-v2 .site-v2-button:focus-visible,
.site-v2 .site-v2-text-link:focus-visible,
.site-v2 .site-v2-hero-panel a:focus-visible,
.site-v2 .site-v2-service-card a:focus-visible,
.site-v2 .site-v2-header a:focus-visible,
.site-v2 .site-v2-header button:focus-visible,
.site-v2 .site-v2-mobile-drawer a:focus-visible,
.site-v2 .site-v2-mobile-drawer button:focus-visible,
.site-v2 .site-v2-lang-switch a:focus-visible,
.site-v2 .site-v2-faq-list summary:focus-visible,
.site-v2 .site-v2-footer-links a:focus-visible,
.site-v2 .site-v2-footer-staff a:focus-visible,
.site-v2 .site-v2-gallery-card > a:focus-visible {
    outline: 3px solid var(--site-v2-green);
    outline-offset: 3px;
}

.site-v2 .site-v2-footer-links a:focus-visible,
.site-v2 .site-v2-footer-staff a:focus-visible {
    outline-color: rgba(255, 250, 243, 0.96);
}

.site-v2 .site-v2-gallery-card > a:focus-visible {
    border-radius: var(--site-v2-radius-lg);
    outline-offset: -5px;
}

@media (hover: hover) and (pointer: fine) {
    .site-v2 .site-v2-desktop-nav a.site-v2-brand span,
    .site-v2 .site-v2-desktop-nav a.site-v2-brand small,
    .site-v2 .site-v2-nav-links a,
    .site-v2 .site-v2-footer-links a,
    .site-v2 .site-v2-lang-switch a {
        transition:
            color var(--motion-interaction) var(--motion-ease-out),
            opacity var(--motion-interaction) var(--motion-ease-out);
    }

    .site-v2 .site-v2-desktop-nav a.site-v2-brand:hover span,
    .site-v2 .site-v2-desktop-nav a.site-v2-brand:focus-visible span {
        color: var(--site-v2-accent-strong);
    }

    .site-v2 .site-v2-desktop-nav a.site-v2-brand:hover small,
    .site-v2 .site-v2-desktop-nav a.site-v2-brand:focus-visible small {
        color: var(--site-v2-accent);
    }

    .site-v2 .site-v2-nav-links a,
    .site-v2 .site-v2-footer-links a {
        position: relative;
    }

    .site-v2 .site-v2-nav-links a::after,
    .site-v2 .site-v2-footer-links a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -5px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform var(--motion-interaction) var(--motion-ease-out);
    }

    .site-v2 .site-v2-nav-links a:hover,
    .site-v2 .site-v2-nav-links a:focus-visible {
        color: var(--site-v2-accent-strong);
    }

    .site-v2 .site-v2-nav-links a:hover::after,
    .site-v2 .site-v2-nav-links a:focus-visible::after,
    .site-v2 .site-v2-footer-links a:hover::after,
    .site-v2 .site-v2-footer-links a:focus-visible::after {
        transform: scaleX(1);
    }

    .site-v2 .site-v2-nav-links a:active {
        color: var(--site-v2-accent);
    }

    .site-v2 .site-v2-order-link:hover,
    .site-v2 .site-v2-order-link:focus-visible,
    .site-v2 .site-v2-hero-actions .site-v2-button-secondary:hover,
    .site-v2 .site-v2-hero-actions .site-v2-button-secondary:focus-visible,
    .site-v2 .site-v2-final-actions .site-v2-button-secondary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):hover,
    .site-v2 .site-v2-final-actions .site-v2-button-secondary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):focus-visible {
        border-color: rgba(122, 67, 31, 0.48);
        background: rgba(233, 198, 165, 0.3);
        box-shadow: 0 10px 22px rgba(70, 43, 24, 0.13);
        transform: translateY(-2px);
    }

    .site-v2 .site-v2-primary-link:hover,
    .site-v2 .site-v2-primary-link:focus-visible,
    .site-v2 .site-v2-hero-actions .site-v2-button-primary:hover,
    .site-v2 .site-v2-hero-actions .site-v2-button-primary:focus-visible,
    .site-v2 .site-v2-final-actions .site-v2-button-primary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):hover,
    .site-v2 .site-v2-final-actions .site-v2-button-primary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):focus-visible {
        box-shadow: 0 16px 32px rgba(95, 46, 20, 0.28);
        filter: brightness(1.05);
        transform: translateY(-2px);
    }

    .site-v2 .site-v2-order-link:active,
    .site-v2 .site-v2-primary-link:active,
    .site-v2 .site-v2-hero-actions .site-v2-button:active,
    .site-v2 .site-v2-final-actions .site-v2-button:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):active {
        box-shadow: 0 8px 18px rgba(70, 43, 24, 0.16);
        transform: translateY(0) scale(0.99);
    }

    .site-v2 .site-v2-hero-panel a:hover,
    .site-v2 .site-v2-hero-panel a:focus-visible,
    .site-v2 .site-v2-text-link:hover,
    .site-v2 .site-v2-text-link:focus-visible,
    .site-v2 .site-v2-service-card a:hover,
    .site-v2 .site-v2-service-card a:focus-visible {
        color: var(--site-v2-accent);
        text-decoration-color: currentColor;
        text-decoration-thickness: 2px;
        text-underline-offset: 5px;
    }

    .site-v2 .site-v2-footer-links a:hover,
    .site-v2 .site-v2-footer-links a:focus-visible,
    .site-v2 .site-v2-footer-links a:active {
        opacity: 1;
    }

    .site-v2 .site-v2-footer-links a::after {
        background: rgba(255, 250, 243, 0.94);
        bottom: -4px;
    }

    .site-v2 .site-v2-footer-staff a {
        transition:
            background-color var(--motion-interaction) var(--motion-ease-out),
            border-color var(--motion-interaction) var(--motion-ease-out),
            box-shadow var(--motion-interaction) var(--motion-ease-out),
            color var(--motion-interaction) var(--motion-ease-out),
            transform var(--motion-interaction) var(--motion-ease-out);
    }

    .site-v2 .site-v2-footer-staff a:hover,
    .site-v2 .site-v2-footer-staff a:focus-visible {
        border-color: rgba(255, 250, 243, 0.48);
        background: rgba(255, 250, 243, 0.18);
        color: #fffaf3;
        box-shadow: 0 8px 18px rgba(29, 15, 9, 0.16);
        transform: translateY(-1px);
    }

    .site-v2 .site-v2-footer-staff a:active {
        box-shadow: 0 5px 12px rgba(29, 15, 9, 0.14);
        transform: translateY(0) scale(0.99);
    }

    .site-v2 .site-v2-lang-switch a:not(.active) {
        opacity: 0.74;
    }

    .site-v2 .site-v2-lang-switch a:hover,
    .site-v2 .site-v2-lang-switch a:focus-visible,
    .site-v2 .site-v2-lang-switch a.active {
        color: var(--site-v2-accent-strong);
        opacity: 1;
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 3px;
    }

    .site-v2 .site-v2-gallery-card:hover,
    .site-v2 .site-v2-gallery-card:focus-within {
        border-color: rgba(122, 67, 31, 0.5);
        box-shadow: 0 24px 54px rgba(70, 43, 24, 0.2);
        transform: translateY(-6px);
    }

    .site-v2 .site-v2-service-card:hover,
    .site-v2 .site-v2-service-card:focus-within {
        border-color: rgba(122, 67, 31, 0.5);
        box-shadow: 0 24px 50px rgba(70, 43, 24, 0.2);
        transform: translateY(-6px);
    }

    .site-v2 .site-v2-gallery-card:hover .site-v2-gallery-media img,
    .site-v2 .site-v2-gallery-card:focus-within .site-v2-gallery-media img {
        filter: brightness(1.04) saturate(1.04);
        transform: scale(1.05);
    }

    .site-v2 .site-v2-gallery-card:hover .site-v2-gallery-media::after,
    .site-v2 .site-v2-gallery-card:focus-within .site-v2-gallery-media::after {
        opacity: 1;
    }

    .site-v2 .site-v2-gallery-card:hover .site-v2-gallery-content,
    .site-v2 .site-v2-gallery-card:focus-within .site-v2-gallery-content {
        transform: translateY(-4px);
    }

    .site-v2 .site-v2-gallery-card:hover a::after,
    .site-v2 .site-v2-gallery-card:focus-within a::after {
        opacity: 1;
        transform: translateX(0);
    }

    .site-v2 .site-v2-service-card:hover > span,
    .site-v2 .site-v2-service-card:focus-within > span {
        transform: scale(1.1) rotate(-3deg);
    }

    .site-v2 .site-v2-faq-list details:hover,
    .site-v2 .site-v2-faq-list details:focus-within {
        border-color: rgba(122, 67, 31, 0.38);
        box-shadow: 0 18px 36px rgba(70, 43, 24, 0.16);
        transform: translateY(-2px);
    }

    .site-v2 .site-v2-faq-list summary:hover,
    .site-v2 .site-v2-faq-list summary:focus-visible {
        background: rgba(240, 221, 201, 0.36);
    }

    .site-v2 .site-v2-final-actions .site-v2-button-primary:hover::after,
    .site-v2 .site-v2-final-actions .site-v2-button-primary:focus-visible::after {
        animation: site-v2-cta-shine 900ms var(--motion-ease-emphasized) 1;
    }

    .site-v2 .site-v2-final-actions .site-v2-button-primary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):hover,
    .site-v2 .site-v2-final-actions .site-v2-button-primary:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):focus-visible {
        transform: translateY(-2px);
    }
}

.site-v2 .site-v2-gallery-card:active,
.site-v2 .site-v2-service-card:active {
    transform: scale(0.99);
}

@media (hover: none) {
    .site-v2 .site-v2-mobile-order-link:active,
    .site-v2 .site-v2-menu-toggle:active,
    .site-v2 .site-v2-hero-actions .site-v2-button:active,
    .site-v2 .site-v2-drawer-cta:active,
    .site-v2 .site-v2-final-actions .site-v2-button:not([data-motion-state="pending"]):not([data-motion-state="prepared"]):not([data-motion-state="running"]):active {
        transform: scale(0.99);
    }

    .site-v2 .site-v2-mobile-drawer a:active,
    .site-v2 .site-v2-mobile-drawer button:active {
        background: rgba(240, 221, 201, 0.34);
    }

    .site-v2 .site-v2-footer-links a:active {
        opacity: 1;
    }

    .site-v2 .site-v2-hero-panel a:active,
    .site-v2 .site-v2-text-link:active,
    .site-v2 .site-v2-service-card a:active {
        color: var(--site-v2-accent);
        text-decoration-thickness: 2px;
    }

}

@keyframes site-v2-cta-shine {
    0% {
        opacity: 0;
        transform: translateX(-120%);
    }

    22%,
    70% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateX(120%);
    }
}

@keyframes site-v2-process-pulse {
    0% {
        opacity: 0;
        transform: scale(0.76);
    }

    38% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(1.42);
    }
}

@media (min-width: 480px) {
    .site-v2 .site-v2-main {
        padding-inline: 18px;
    }

    .site-v2 .site-v2-trust {
        padding-inline: 18px;
    }
}

@media (min-width: 768px) {
    .site-v2 {
        --site-v2-anchor-offset: 112px;
    }

    .site-v2 .site-v2-staff-nav {
        justify-content: center;
    }

    .site-v2 .site-v2-main {
        padding-inline: 24px;
    }

    .site-v2 .site-v2-hero-inner {
        align-content: end;
    }

    .site-v2 .site-v2-hero-copy {
        max-width: 720px;
    }

    .site-v2 .site-v2-hero-copy h1 {
        font-size: clamp(44px, 7vw, 58px);
    }

    .site-v2 .site-v2-trust,
    .site-v2 .site-v2-home-gallery,
    .site-v2 .site-v2-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-v2 .site-v2-process-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .site-v2 .site-v2-process-list::before {
        top: 34px;
        right: 9%;
        bottom: auto;
        left: 9%;
        width: auto;
        height: 2px;
        background:
            repeating-linear-gradient(
                to right,
                rgba(122, 67, 31, 0.58) 0 9px,
                transparent 9px 17px
            );
        transform: scaleX(var(--site-process-line-scale));
        transform-origin: left center;
    }

    .site-v2 .site-v2-section-head,
    .site-v2 .site-v2-final-cta {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
    }

    .site-v2 .site-v2-faq-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (min-width: 960px) {
    .site-v2 .site-v2-hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
        align-items: end;
    }

    .site-v2 .site-v2-hero-copy {
        max-width: 680px;
    }

    .site-v2 .site-v2-hero-copy h1 {
        font-size: clamp(52px, 5.5vw, 78px);
    }

    .site-v2 .site-v2-about {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
        align-items: end;
    }
}

@media (max-width: 1199px) {
    .site-v2 .site-v2-lang-switch {
        display: none;
    }

    .site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 50px;
        border-bottom: 0;
        border-radius: var(--site-v2-radius-md);
        padding: 12px 20px;
        box-shadow: 0 8px 18px rgba(70, 43, 24, 0.16);
        font-weight: 900;
        line-height: 1.2;
        text-align: center;
    }

    .site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta:hover,
    .site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta:focus-visible {
        color: #fffaf3;
        outline-color: var(--site-v2-green);
        box-shadow: 0 10px 22px rgba(70, 43, 24, 0.2);
    }

    .site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta:focus {
        outline: 3px solid var(--site-v2-green);
        outline-offset: 3px;
    }

    .site-v2 .site-v2-mobile-drawer .site-v2-drawer-cta:active {
        box-shadow: 0 6px 14px rgba(70, 43, 24, 0.16);
        transform: translateY(1px);
    }
}

@media (min-width: 1024px) {
    .site-v2 {
        --site-v2-anchor-offset: 120px;
    }

    .site-v2 .site-v2-header-has-staff ~ .site-v2-main #services,
    .site-v2 .site-v2-header-has-staff ~ .site-v2-main #process,
    .site-v2 .site-v2-header-has-staff ~ .site-v2-main #faq,
    .site-v2 .site-v2-header-has-staff ~ .site-v2-main #about {
        scroll-margin-top: 160px;
    }

    .site-v2 .site-v2-hero {
        min-height: 680px;
    }

    .site-v2 .site-v2-hero-inner {
        min-height: 680px;
    }

    .site-v2 .site-v2-section,
    .site-v2 .site-v2-about,
    .site-v2 .site-v2-final-cta {
        margin-top: var(--site-v2-space-8);
    }
}

@media (min-width: 1200px) {
    .site-v2 .site-v2-mobile-bar {
        display: none;
    }

    .site-v2 .site-v2-desktop-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: clamp(16px, 2vw, var(--site-v2-space-5));
        width: min(100%, 1180px);
        min-height: 78px;
        margin: 0 auto;
        padding: 0 24px;
    }

    .site-v2 .site-v2-desktop-nav .site-v2-brand {
        flex: 0 0 auto;
    }

    .site-v2 .site-v2-nav-links {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1 1 auto;
        flex-wrap: nowrap;
        gap: clamp(12px, 1.6vw, 18px);
        min-width: 0;
        color: var(--site-v2-ink);
        font-size: 15px;
        font-weight: 900;
    }

    .site-v2 .site-v2-nav-links a,
    .site-v2 .site-v2-nav-actions a {
        white-space: nowrap;
    }

    .site-v2 .site-v2-lang-switch {
        top: 94px;
        right: 22px;
        bottom: auto;
        background: rgba(255, 250, 243, 0.92);
        color: var(--site-v2-accent-strong);
    }

    .site-v2 .site-v2-main {
        padding-inline: 0;
    }
}

@media (max-width: 767px) {
    .site-v2 .site-v2-hero {
        min-height: 580px;
    }

    .site-v2 .site-v2-hero-inner {
        min-height: 580px;
    }

    .site-v2 .site-v2-hero-panel {
        max-width: none;
    }

    .site-v2 .site-v2-section-head {
        align-items: start;
    }

    .site-v2 .site-v2-final-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .site-v2 .site-v2-process-list::before {
        left: 34px;
    }

    .site-v2 .site-v2-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .site-v2 .site-v2-brand span {
        font-size: 18px;
    }

    .site-v2 .site-v2-main {
        padding-inline: 10px;
    }

    .site-v2 .site-v2-hero-copy h1 {
        font-size: 34px;
    }

    .site-v2 .site-v2-section,
    .site-v2 .site-v2-about,
    .site-v2 .site-v2-final-cta {
        border-radius: 18px;
        padding: 18px;
    }
}

@media (max-width: 359px) {
    .site-v2 .site-v2-mobile-order-link {
        display: none;
    }

    .site-v2 .site-v2-mobile-bar {
        gap: var(--site-v2-space-2);
        padding-inline: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-v2 *,
    .site-v2 *::before,
    .site-v2 *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }

    .site-v2 .site-v2-gallery-card,
    .site-v2 .site-v2-service-card,
    .site-v2 .site-v2-gallery-media img,
    .site-v2 .site-v2-gallery-content,
    .site-v2 .site-v2-section-rule,
    .site-v2 .site-v2-process-list::before,
    .site-v2 .site-v2-process-list li,
    .site-v2 .site-v2-process-list li > span,
    .site-v2 .site-v2-motion-clip > h1,
    .site-v2 .site-v2-motion-clip > h2,
    .site-v2 .site-v2-faq-answer,
    .site-v2 .site-v2-final-actions .site-v2-button-primary {
        transform: none !important;
        translate: none !important;
        scale: none !important;
    }

    .site-v2 .site-v2-gallery-media::after,
    .site-v2 .site-v2-gallery-card a::after,
    .site-v2 .site-v2-process-list li > span::after,
    .site-v2 .site-v2-final-actions .site-v2-button-primary::after {
        opacity: 0 !important;
        transform: none !important;
        animation: none !important;
    }

    .site-v2 .site-v2-faq-list details.is-faq-icon-open .site-v2-faq-icon {
        transform: rotate(45deg) !important;
    }
}
