:root{--color-cream:#F5F0EB;--color-sand:#D4C5B9;--color-taupe:#A68A6B;--color-taupe-deep:#8B7355;--color-terracotta:#C47B5A;--color-olive:#7A8B5E;--color-olive-deep:#5C6B44;--color-white:#FFFFFF;--color-offwhite:#FAF8F5;--color-light:#F0EDE8;--color-mid:#78746E;--color-dark:#3D3A35;--color-charcoal:#2D2D2D;--color-black:#1A1A1A;--font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--fs-h1:clamp(2.5rem, 5vw, 3.5rem);--fs-h2:clamp(2rem, 4vw, 2.5rem);--fs-h3:clamp(1.25rem, 2.5vw, 1.5rem);--fs-h4:clamp(1rem, 2vw, 1.25rem);--fs-body:clamp(0.9rem, 1.5vw, 1.05rem);--fs-small:0.875rem;--fs-xs:0.75rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--space-4xl:12rem;--max-width:1400px;--content-width:1100px;--nav-height:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-soft:0 2px 20px rgb(45 45 45 / 0.06);--shadow-medium:0 8px 40px rgb(45 45 45 / 0.08);--shadow-lift:0 16px 60px rgb(45 45 45 / 0.12);--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out:cubic-bezier(0.7, 0, 0.84, 0);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--duration-fast:200ms;--duration-base:400ms;--duration-slow:700ms;--focus-ring:0 0 0 3px rgb(166 138 107 / 0.3)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*,::after,::before{margin:0;padding:0;box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-padding-top:var(--nav-height)}
body{font-family:var(--font-body);font-size:var(--fs-body);font-weight:400;line-height:1.7;color:var(--color-dark);background-color:var(--color-cream);overflow-x:hidden}
.display-font,h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--color-black)}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
p{margin-bottom:var(--space-md);max-width:65ch}
p.lead{font-size:1.2rem;line-height:1.8;font-weight:400;color:var(--color-dark);max-width:55ch}
.eyebrow{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--color-taupe);display:block;margin-bottom:var(--space-sm)}
a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--ease-out-expo)}
a:hover{color:var(--color-taupe-deep)}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--color-taupe);color:var(--color-white)}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:0 0}
::-webkit-scrollbar-thumb{background:var(--color-sand);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--color-taupe)}
.skip-link{position:absolute;top:-100%;left:var(--space-sm);z-index:9999;padding:var(--space-xs) var(--space-md);background:var(--color-black);color:var(--color-white);font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;border-radius:var(--radius-md);transition:top var(--duration-fast)}
.skip-link:focus{top:var(--space-sm);outline:var(--focus-ring);outline-offset:2px}
:focus-visible{outline:2px solid var(--color-taupe);outline-offset:2px}
:focus:not(:focus-visible){outline:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}
.container-narrow{max-width:var(--content-width);margin:0 auto;padding:0 var(--space-lg)}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-white);background:var(--color-charcoal);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-base) var(--ease-out-expo);will-change:transform;min-height:44px}
.btn-primary:hover{background:var(--color-black);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-lift)}
.btn-primary:active{transform:scale(.98)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-family:var(--font-body);font-size:var(--fs-small);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-dark);background:0 0;border:1px solid var(--color-mid);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-base) var(--ease-out-expo);will-change:transform;min-height:44px}
.btn-outline:hover{border-color:var(--color-black);color:var(--color-black);transform:translateY(-1px)}
.btn-outline-light{border-color:rgb(255 255 255 / .4);color:var(--color-white)}
.btn-outline-light:hover{border-color:var(--color-white);color:var(--color-white);background:rgb(255 255 255 / .1)}
.btn-full{width:100%}
.section{padding:var(--space-xl) 0}
.section-cream{background:var(--color-cream)}
.section-white{background:var(--color-offwhite)}
.section-dark{background:var(--color-charcoal);color:var(--color-white)}
.section-header{text-align:center;margin-bottom:var(--space-3xl);animation:fadeUp .8s var(--ease-out-expo) both}
.section-header h2{margin-bottom:var(--space-sm)}
.section-header p{color:var(--color-mid);font-size:1.1rem;max-width:500px;margin:0 auto}
.section-dark .section-header h2{color:var(--color-white)}
.section-dark .section-header p{color:rgb(255 255 255 / .6)}
.page-header{padding-top:calc(var(--space-xl) + var(--space-xl));padding-bottom:var(--space-xl);text-align:center}
.page-header h1{margin-bottom:var(--space-sm)}
.page-header p{color:var(--color-mid);font-size:1.1rem;margin:0 auto}
.cta-banner{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-charcoal)}
.cta-banner-bg{position:absolute;inset:0}
.cta-banner-bg img{width:100%;height:100%;object-fit:cover;opacity:.35}
.cta-banner-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgb(20 20 20 / .6) 0,rgb(20 20 20 / .4) 100%)}
.cta-banner-content{position:relative;z-index:1;text-align:center;max-width:650px;padding:var(--space-3xl) var(--space-lg)}
.cta-banner-content h2{font-family:var(--font-display);font-size:clamp(2rem, 4.5vw, 3.5rem);font-weight:500;color:var(--color-white);margin:0 0 var(--space-md);line-height:1.1}
.cta-banner-content p{font-size:1.1rem;line-height:1.75;color:rgb(255 255 255 / .7);margin:0 auto var(--space-xl);max-width:500px}
.cta-banner-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}
.breadcrumb{display:flex;gap:.5rem;font-size:var(--fs-xs);color:var(--color-mid);padding:calc(var(--nav-height) + var(--space-md)) var(--space-lg) 0;max-width:var(--max-width);margin:0 auto}
.breadcrumb a{color:var(--color-taupe-deep)}
.breadcrumb a:hover{color:var(--color-black)}
.breadcrumb .sep{color:var(--color-sand)}
@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}
    html{scroll-behavior:auto}
    .hero-bg img{animation:none!important}
    .scroll-indicator::after{animation:none!important}
}
@media (prefers-contrast:more){:root{--color-taupe:#7A6548;--color-taupe-deep:#6B5538;--color-mid:#5A5652}
    .site-header.scrolled{background:var(--color-cream);backdrop-filter:none}
    body.has-hero .site-header:not(.scrolled),body:has(.hero) .site-header:not(.scrolled){background:rgb(0 0 0 / .6)}
    body.has-hero .site-header:not(.scrolled) .main-nav:not(.open) a,body:has(.hero) .site-header:not(.scrolled) .main-nav:not(.open) a{color:var(--color-white)}
}
@media print{.catalogue-cta,.hero-actions,.lang-switcher,.mobile-toggle,.product-actions,.scroll-indicator,.site-footer,.site-header{display:none!important}
    body{font-size:12pt;line-height:1.5;color:#000;background:#fff}
    .hero{min-height:auto;padding:2rem 0}
    .hero-content{color:#000;animation:none;padding:1rem}
    .hero-content h1{color:#000;font-size:24pt}
    .hero-bg{display:none}
    .hero-overlay{display:none}
    a{color:#000;text-decoration:underline}
    a[href^=http]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}
    .contact-grid,.product-detail-grid{grid-template-columns:1fr}
    img{max-width:100%!important;page-break-inside:avoid}
    .reveal{opacity:1!important;transform:none!important}
}
.none{display:none}
