:root{--color-charcoal: #1A1A1A;--color-charcoal-soft: #4A413A;--color-charcoal-light: #5C5249;--color-ivory: #FAF6F0;--color-cream: #F0E8DA;--color-parchment: #E4D5C0;--color-stone: #C4B59D;--color-stone-dark: #3D352F;--color-stone-deep: #2A2420;--color-copper: #B87333;--color-copper-light: #CD8E4F;--color-copper-dark: #8B5A2B;--color-gold: #C9A84C;--color-gold-light: #D4AD5E;--color-gold-muted: #A08838;--color-terracotta: #B85C38;--color-terracotta-deep:#8B3A1F;--color-olive: #6B7F4E;--color-olive-deep: #4A5D36;--color-timber: #5C3D2E;--color-iron: #4A4A4A;--color-error: #B33A3A;--color-success: #3D7A4A;--color-warning: #C67D1A;--glass-bg-hero: rgba(250, 246, 240, .06);--glass-bg-scrolled: rgba(250, 246, 240, .88);--glass-bg-cookie: rgba(42, 36, 32, .92);--glass-bg-modal: rgba(250, 246, 240, .95);--glass-border-hero: rgba(250, 246, 240, .12);--glass-border-scrolled:rgba(228, 213, 192, .5);--glass-border-cookie: rgba(198, 153, 62, .3);--overlay-dark-low: rgba(26, 26, 26, .15);--overlay-dark-medium: rgba(26, 26, 26, .5);--overlay-dark-heavy: rgba(26, 26, 26, .75);--overlay-dark-deep: rgba(26, 26, 26, .95);--overlay-light-low: rgba(250, 246, 240, .15);--overlay-light-medium:rgba(250, 246, 240, .5);--overlay-light-heavy: rgba(250, 246, 240, .85);--text-on-dark: rgba(250, 246, 240, .85);--text-on-dark-muted: rgba(250, 246, 240, .6);--text-on-dark-faint: rgba(250, 246, 240, .4);--text-on-light: var(--color-charcoal);--text-on-light-soft: var(--color-charcoal-soft);--font-display: "Cormorant Garamond", "Garamond", "Georgia", serif;--font-body: "Crimson Pro", "Georgia", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.5rem;--text-3xl: 3.25rem;--text-hero: 5rem;--text-hero-sub:1.5rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.75;--leading-relaxed: 1.9;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .1em;--tracking-widest: .2em;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 8rem;--space-section: var(--space-3xl);--space-section-sm: var(--space-2xl);--space-component: var(--space-lg);--space-inline: var(--space-md);--space-inline-sm: var(--space-sm);--shadow-subtle: 0 2px 8px rgba(26, 26, 26, .06);--shadow-medium: 0 4px 16px rgba(26, 26, 26, .1);--shadow-elevated: 0 8px 32px rgba(26, 26, 26, .14);--shadow-heavy: 0 -4px 20px rgba(26, 26, 26, .25);--shadow-card-hover: 0 12px 40px rgba(26, 26, 26, .18);--shadow-hero-text: 0 2px 40px rgba(26, 26, 26, .5);--shadow-glow-gold: 0 0 20px rgba(201, 168, 76, .25);--shadow-glow-gold-intense: 0 0 30px rgba(201, 168, 76, .4);--shadow-glow-copper: 0 6px 30px rgba(184, 115, 51, .35);--focus-ring-gold: 0 0 0 3px rgba(201, 168, 76, .2);--focus-ring-gold-soft: 0 0 0 3px rgba(201, 168, 76, .15);--focus-ring-error: 0 0 0 3px rgba(179, 58, 58, .15);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--radius-full: 50%;--border-subtle: 1px solid var(--color-parchment);--border-gold: 2px solid var(--color-gold);--border-copper: 1px solid var(--color-copper);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .2s var(--ease-in-out);--transition-base: .35s var(--ease-in-out);--transition-slow: .6s var(--ease-in-out);--transition-dramatic: .9s var(--ease-out-expo);--transition-hero: 1.1s var(--ease-out-expo);--transition-draw: 2s var(--ease-out-expo);--transition-page-in: .4s var(--ease-out-expo);--transition-page-out: .3s var(--ease-in-out);--z-grain: 1;--z-base: 1;--z-navbar: 900;--z-dropdown: 950;--z-overlay: 990;--z-cookie: 999;--z-lightbox: 1000;--z-skiplink: 9999;--z-toast: 10000;--container-max: 1200px;--container-narrow: 800px;--container-wide: 1400px;--container-padding: var(--space-lg)}::selection{background-color:var(--color-gold);color:var(--color-charcoal)}::-moz-selection{background-color:var(--color-gold);color:var(--color-charcoal)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-charcoal);background-color:var(--color-ivory);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--color-charcoal);line-height:var(--leading-tight);margin-top:0;margin-bottom:var(--space-md);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-3xl);font-weight:var(--weight-bold)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}a{color:var(--color-gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold-light);text-decoration:underline}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-ivory)}::-webkit-scrollbar-thumb{background:var(--color-stone);border:2px solid var(--color-ivory);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-stone-dark)}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-copper);color:var(--color-ivory);padding:.875rem 1.5rem;z-index:var(--z-skiplink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;letter-spacing:var(--tracking-wider);text-transform:uppercase;transition:top var(--transition-fast)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.hero *:focus-visible,.lightbox *:focus-visible,.cookie-banner *:focus-visible,.footer *:focus-visible{outline-color:var(--color-gold-light);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.grain-overlay,.grain-overlay-section:after{opacity:0!important}.hero-title-animate,.hero-subtitle-animate,.hero-cta-animate{opacity:1!important;transform:none!important;animation:none!important}.scroll-reveal,.scroll-reveal-stagger>*,.gallery-card{opacity:1!important;transform:none!important}.ornamental-divider svg path{stroke-dashoffset:0!important}}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.scroll-reveal.visible,.scroll-reveal.in-view{opacity:1;transform:translateY(0)}.scroll-reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.scroll-reveal-stagger.in-view>*:nth-child(1){transition-delay:0ms}.scroll-reveal-stagger.in-view>*:nth-child(2){transition-delay:80ms}.scroll-reveal-stagger.in-view>*:nth-child(3){transition-delay:.16s}.scroll-reveal-stagger.in-view>*:nth-child(4){transition-delay:.24s}.scroll-reveal-stagger.in-view>*:nth-child(5){transition-delay:.32s}.scroll-reveal-stagger.in-view>*:nth-child(6){transition-delay:.4s}.scroll-reveal-stagger.in-view>*:nth-child(7){transition-delay:.48s}.scroll-reveal-stagger.in-view>*:nth-child(8){transition-delay:.56s}.scroll-reveal-stagger.in-view>*{opacity:1;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-transition{width:100%}.page-transition.fadeIn{animation:pageFadeIn var(--transition-page-in) forwards}.page-transition.fadeOut{animation:pageFadeOut var(--transition-page-out) forwards}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pageFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes revealUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scrollReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modalIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drawPath{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #c9a84c40}50%{box-shadow:0 0 30px #c9a84c73}}@media(max-width:1024px){:root{--text-hero: 3.75rem;--text-3xl: 2.5rem;--text-2xl: 2rem}}@media(max-width:768px){:root{--text-hero: 2.75rem;--text-3xl: 2rem;--text-2xl: 1.75rem;--text-hero-sub: 1.25rem}}@media(max-width:480px){:root{--text-hero: 2.25rem;--text-3xl: 1.75rem}}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.container-narrow{max-width:var(--container-narrow)}.container-wide{max-width:var(--container-wide)}@media(max-width:768px){.container{padding:0 var(--space-sm)}}.page-section{padding:var(--space-section) 0}.page-section-sm{padding:var(--space-section-sm) 0}.text-center{text-align:center}.mt-1{margin-top:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mt-4{margin-top:var(--space-md)}.mt-8{margin-top:var(--space-lg)}.italic{font-style:italic}.lead{font-family:var(--font-display);font-weight:var(--weight-regular);font-style:italic;font-size:var(--text-lg);line-height:1.6;color:var(--color-charcoal-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.medieval-manuscript:first-letter{float:left;font-family:var(--font-display);font-size:3.5em;line-height:.8;padding-right:8px;padding-top:4px;color:var(--color-gold)}.grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-grain);opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:overlay}.grain-overlay-section{position:relative}.grain-overlay-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:overlay;z-index:1}.skip-link{position:absolute;top:-100%;left:0;background:var(--color-copper-dark);color:var(--color-ivory);padding:.875rem 1.5rem;z-index:var(--z-skiplink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;letter-spacing:var(--tracking-wider);text-transform:uppercase;transition:top var(--transition-fast)}.skip-link:focus{top:0}.scroll-progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--color-gold);z-index:calc(var(--z-skiplink) + 1);width:0;transition:width .1s linear;box-shadow:var(--shadow-glow-gold-intense)}@media(prefers-reduced-motion:reduce){.scroll-progress-bar{display:none}}.navbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-lg);z-index:var(--z-navbar);background:transparent;transition:all var(--transition-base)}.navbar.scrolled{padding:var(--space-sm) var(--space-lg);background:var(--glass-bg-scrolled);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--glass-border-scrolled);box-shadow:var(--shadow-subtle)}.navbar-brand{display:flex;align-items:center;text-decoration:none;transition:transform var(--transition-base)}.navbar-logo{height:48px;width:auto;display:block;transition:height var(--transition-base)}.navbar.scrolled .navbar-logo{height:36px}.navbar-nav{display:flex;align-items:center;gap:var(--space-inline)}.navbar-links{display:flex;gap:var(--space-inline);list-style:none;margin:0;padding:0;align-items:center}.navbar-links a{font-family:var(--font-body);font-weight:var(--weight-medium);text-transform:uppercase;font-size:var(--text-sm);letter-spacing:var(--tracking-wider);color:var(--text-on-dark);transition:color var(--transition-fast);position:relative;padding:.25rem 0}.navbar-links a.active{color:var(--color-gold)!important}.navbar.scrolled .navbar-links a{color:var(--color-charcoal-soft)}.navbar.scrolled .navbar-links a.active{color:var(--color-copper-dark)!important}.navbar.scrolled .navbar-links a:hover{color:var(--color-copper-dark)}.navbar-links a.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-gold);border-radius:1px}.navbar.scrolled .navbar-links a.active:after{background:var(--color-copper-dark)}.language-switch{display:flex;align-items:center;gap:.35rem;margin-left:var(--space-sm);padding-left:var(--space-sm);border-left:1px solid var(--glass-border-hero)}.navbar.scrolled .language-switch{border-left-color:var(--color-parchment)}.lang-btn{background:none;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;padding:.2rem .4rem;font-size:1.4rem;line-height:1;opacity:.5;transition:all var(--transition-fast)}.lang-btn.active{opacity:1;border-color:var(--color-gold)}.lang-btn:hover{opacity:.85}.navbar-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-xs);z-index:var(--z-navbar)}.navbar-hamburger span{display:block;width:24px;height:2px;background:var(--text-on-dark);border-radius:1px;transition:all var(--transition-base)}.navbar.scrolled .navbar-hamburger span{background:var(--color-charcoal)}.navbar-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.navbar-mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-stone-deep);z-index:calc(var(--z-navbar) - 1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.navbar-mobile-menu.open{opacity:1;pointer-events:all}.navbar-mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.navbar-mobile-menu a{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-ivory);letter-spacing:var(--tracking-wide);text-decoration:none;transition:color var(--transition-fast)}.navbar-mobile-menu a:hover,.navbar-mobile-menu a.active{color:var(--color-gold)}.navbar-mobile-menu a.active{border-bottom:2px solid var(--color-gold)}.navbar-mobile-menu .language-switch{border-left:none;margin-left:0;padding-left:0;justify-content:center}@media(max-width:768px){.navbar{padding:var(--space-sm) var(--space-sm)}.navbar-links{display:none}.navbar-hamburger{display:flex}}.hero{position:relative;height:100vh;width:100%;background-size:cover;background-position:center 30%;background-attachment:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12vh;text-align:center;z-index:var(--z-base);overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--overlay-dark-low) 0%,var(--overlay-dark-medium) 70%,var(--overlay-dark-heavy) 100%);z-index:1}.hero-content{position:relative;z-index:2;max-width:1000px;padding:0 var(--space-lg)}.hero-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-hero);color:var(--color-ivory);letter-spacing:var(--tracking-wide);text-shadow:var(--shadow-hero-text);line-height:var(--leading-tight);margin:0 0 var(--space-xs) 0}.hero-subtitle{font-family:var(--font-display);font-weight:var(--weight-regular);font-style:italic;font-size:var(--text-hero-sub);color:var(--text-on-dark);letter-spacing:var(--tracking-wide);text-shadow:0 1px 20px var(--overlay-dark-medium);margin:0 auto var(--space-lg) auto;max-width:700px}.hero-cta{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;background:var(--color-gold);color:var(--color-charcoal);border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-widest);text-decoration:none;box-shadow:var(--shadow-glow-gold);transition:all var(--transition-base);animation:pulseGlow 5s infinite ease-in-out}.hero-cta:hover{background:var(--color-copper);color:var(--color-ivory);transform:translateY(-2px);box-shadow:var(--shadow-glow-copper)}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:var(--text-on-dark-muted);font-size:1.5rem;z-index:2;animation:bounceDown 2s infinite;cursor:pointer}.hero-title-animate{animation:revealUp var(--transition-hero) var(--ease-out-expo) forwards}.hero-subtitle-animate{opacity:0;animation:revealUp .7s var(--ease-out-expo) .3s forwards}.hero-cta-animate{opacity:0;animation:revealUp .7s var(--ease-out-expo) .5s forwards}@media(max-width:768px){.hero{padding-bottom:8vh}}.ornamental-divider{display:flex;justify-content:center;align-items:center;padding:var(--space-lg) 0;position:relative}.ornamental-divider svg{width:120px;height:32px;color:var(--color-gold);opacity:.6;overflow:visible}.ornamental-divider svg path{stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset var(--transition-draw)}.ornamental-divider.in-view svg path{stroke-dashoffset:0}.ornamental-divider--hero{padding:var(--space-xl) 0}.ornamental-divider--hero svg{width:180px;height:48px;opacity:.8}.ornamental-divider--subtle svg,.ornamental-divider--small svg{width:60px;height:16px;opacity:.4}.section-header{text-align:center;margin-bottom:var(--space-xl)}.section-header h2{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-2xl);color:var(--color-charcoal);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-xs)}.section-header p{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-charcoal-soft);max-width:600px;margin:0 auto}.gallery-masonry{column-count:3;column-gap:var(--space-md);margin:var(--space-md) 0}@media(max-width:1023px){.gallery-masonry{column-count:2}}@media(max-width:480px){.gallery-masonry{column-count:1}}.gallery-card{break-inside:avoid;margin-bottom:var(--space-md);position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-cream);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-subtle)}.gallery-card img{width:100%;display:block;object-fit:cover;transition:transform var(--transition-slow)}.gallery-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.gallery-card:hover img{transform:scale(1.06)}.gallery-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,var(--overlay-dark-heavy) 100%);color:var(--color-ivory);opacity:0;transition:opacity var(--transition-base);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-md)}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card-overlay h3{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--text-lg);margin:0;color:var(--color-ivory)}.gallery-card-overlay p{font-family:var(--font-body);font-size:var(--text-sm);opacity:.85;margin:.25rem 0 0}.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin:var(--space-lg) 0}.image-gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;background:var(--color-cream);transition:transform var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-subtle)}.image-gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.image-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-slow)}.image-gallery-item:hover img{transform:scale(1.05)}@media(max-width:1024px){.image-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.image-gallery{grid-template-columns:1fr;gap:var(--space-sm)}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-dark-deep);z-index:var(--z-lightbox);display:flex;align-items:center;justify-content:center}.lightbox-content{position:relative;display:flex;flex-direction:column;align-items:center}.lightbox-image-wrapper img{max-width:85vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm);animation:fadeInScale .4s ease}.lightbox-close{position:absolute;top:-3rem;right:-3rem;font-size:1.5rem;color:var(--color-ivory);background:none;border:none;cursor:pointer;z-index:calc(var(--z-lightbox) + 1);opacity:.7;transition:opacity var(--transition-fast)}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--overlay-light-low);color:var(--color-ivory);font-size:2rem;border-radius:var(--radius-full);width:56px;height:56px;border:1px solid var(--glass-border-hero);cursor:pointer;z-index:calc(var(--z-lightbox) + 1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:var(--overlay-light-medium);border-color:var(--overlay-light-medium)}.lightbox-prev{left:-4rem}.lightbox-next{right:-4rem}.lightbox-caption{color:var(--color-ivory);text-align:center;margin-top:var(--space-sm);font-family:var(--font-display);font-style:italic}.lightbox-counter{color:var(--color-ivory);opacity:.5;font-size:var(--text-sm);text-align:center;font-family:var(--font-body);margin-top:var(--space-xs)}@media(max-width:768px){.lightbox-nav{width:44px;height:44px;font-size:1.5rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:-2.5rem;right:0}}.blog-card{background:var(--color-ivory);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-subtle);transition:transform var(--transition-base),box-shadow var(--transition-base);text-decoration:none;color:inherit;display:block}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.blog-card-image{width:100%;height:200px;object-fit:cover;display:block}.blog-card-body{padding:var(--space-md)}.blog-card-meta{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-charcoal-soft);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-xs)}.blog-card-title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-xl);color:var(--color-charcoal);margin:0 0 var(--space-xs) 0;line-height:var(--leading-snug)}.blog-card-excerpt{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-charcoal-light);line-height:var(--leading-snug);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-read-more{display:inline-block;margin-top:var(--space-sm);font-family:var(--font-body);font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-copper-dark);text-transform:uppercase;letter-spacing:var(--tracking-wider);transition:color var(--transition-fast)}.blog-card:hover .blog-card-read-more{color:var(--color-copper)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-lg)}@media(max-width:480px){.blog-grid{grid-template-columns:1fr}}.footer{padding:var(--space-2xl) 0 var(--space-lg);background:var(--color-stone-dark);color:var(--color-ivory);text-align:center;position:relative}.footer-signoff{font-family:var(--font-display);font-weight:var(--weight-regular);font-style:italic;font-size:var(--text-2xl);color:var(--color-gold);margin-bottom:var(--space-lg);letter-spacing:var(--tracking-wide)}.footer-divider{display:flex;justify-content:center;margin-bottom:var(--space-lg)}.footer-divider svg{width:60px;height:16px;color:var(--color-gold);opacity:.6}.footer-contact{font-family:var(--font-body);color:var(--color-gold-light);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.footer-contact:hover{color:var(--color-gold)}.footer-address{font-family:var(--font-body);color:var(--text-on-dark-muted);font-size:var(--text-sm);margin-top:var(--space-xs)}.footer-links{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-lg);flex-wrap:wrap;font-family:var(--font-body)}.footer-links a,.footer-links button{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-on-dark-muted);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.footer-links a:hover,.footer-links button:hover,.admin-link-subtle:hover{color:var(--color-gold-light)}.admin-link-subtle{text-decoration:none;color:inherit;font-size:inherit;opacity:.6;transition:opacity var(--transition-fast)}.admin-link-subtle:hover{opacity:1}.footer-sep{opacity:.3;color:var(--text-on-dark-muted)}.footer-copyright{font-size:var(--text-xs);opacity:.5;margin-top:var(--space-lg);font-family:var(--font-body)}.footer-made-with{font-family:var(--font-display);font-style:italic;font-size:var(--text-xs);opacity:.6;margin-top:var(--space-xs)}.footer.grain-overlay-section:after{opacity:.04}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--glass-bg-cookie);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);color:var(--color-ivory);padding:var(--space-md) var(--space-lg);z-index:var(--z-cookie);animation:slideUp .5s var(--ease-out-expo);box-shadow:var(--shadow-heavy);border-top:1px solid var(--glass-border-cookie)}.cookie-banner-content{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.cookie-banner-text{font-family:var(--font-body);font-size:var(--text-sm);flex:1;line-height:1.6}.cookie-banner-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.cookie-learn-more{color:var(--color-gold-light);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast)}.cookie-learn-more:hover{color:var(--color-gold)}@media(max-width:768px){.cookie-banner-content{flex-direction:column;text-align:center}.cookie-banner-actions{justify-content:center}}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:var(--radius-full);border:2px solid var(--color-gold);background:var(--color-ivory);color:var(--color-charcoal);font-size:1.2rem;cursor:pointer;z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-medium);transition:all var(--transition-base),opacity var(--transition-fast),transform var(--transition-fast);opacity:0;pointer-events:none;transform:translateY(20px)}.scroll-to-top.visible{opacity:1;pointer-events:all;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-gold);color:var(--color-charcoal);box-shadow:var(--shadow-glow-gold);transform:translateY(-2px)}@media(max-width:480px){.scroll-to-top{bottom:1.5rem;right:1.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-widest);border-radius:var(--radius-pill);line-height:1;border:2px solid transparent}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--color-charcoal);color:var(--color-ivory);border-color:var(--color-charcoal)}.btn-primary:hover{background:var(--color-terracotta);border-color:var(--color-terracotta);color:var(--color-ivory)}.btn-gold{background:var(--color-gold);color:var(--color-charcoal);border-color:var(--color-gold);box-shadow:var(--shadow-subtle)}.btn-gold:hover{background:var(--color-gold-light);box-shadow:var(--shadow-glow-gold)}.btn-copper{background:var(--color-copper);color:var(--color-ivory);border-color:var(--color-copper);box-shadow:var(--shadow-subtle);animation:pulseGlow 5s infinite ease-in-out}.btn-copper:hover{background:var(--color-copper-light);box-shadow:var(--shadow-glow-copper)}.btn-outline{background:transparent;color:var(--color-gold-muted);border-color:var(--color-gold-muted)}.btn-outline:hover{background:var(--color-gold-muted);color:var(--color-ivory)}.btn-ghost{background:transparent;color:var(--color-ivory);border-color:var(--glass-border-cookie)}.btn-ghost:hover{background:var(--glass-bg-hero);border-color:var(--overlay-light-medium)}.btn-link{background:none;border:none;color:var(--color-copper-dark);font-family:var(--font-body);font-weight:var(--weight-medium);text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.btn-link:hover{color:var(--color-copper);text-decoration:underline}.btn-sm{padding:.5rem 1.25rem;font-size:var(--text-xs)}.btn-lg{padding:1.125rem 3rem;font-size:var(--text-base)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:var(--weight-medium);color:var(--color-charcoal);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wider)}.form-control{width:100%;padding:.875rem 1rem;border:1px solid var(--color-parchment);background:var(--color-ivory);font-family:var(--font-body);font-size:var(--text-base);border-radius:var(--radius-sm);color:var(--color-charcoal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus{border-color:var(--color-gold);box-shadow:var(--focus-ring-gold-soft);outline:none}.form-control::placeholder{color:var(--color-stone);opacity:.7}textarea.form-control{min-height:120px;resize:vertical}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A413A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-control.is-error{border-color:var(--color-error);box-shadow:var(--focus-ring-error)}.form-error{color:var(--color-error);font-size:var(--text-xs);margin-top:var(--space-2xs);font-family:var(--font-body)}.form-help{color:var(--color-charcoal-soft);font-size:var(--text-xs);margin-top:var(--space-2xs);font-family:var(--font-body)}.form-check{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{accent-color:var(--color-gold);width:18px;height:18px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20vh;gap:var(--space-md)}.loading-container.full-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-ivory);min-height:100vh}.medieval-spinner{position:relative}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--color-stone);border-top-color:var(--color-gold);border-radius:var(--radius-full);animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-core{position:absolute;background:var(--color-gold);border-radius:2px;transform:rotate(45deg);animation:pulse 2s ease-in-out infinite;opacity:.6}.loading-text{font-family:var(--font-display);color:var(--color-charcoal-soft);font-size:var(--text-lg);letter-spacing:var(--tracking-wide)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:rotate(45deg) scale(1);opacity:.4}50%{transform:rotate(45deg) scale(1.2);opacity:.8}}.rich-content,.tiptap{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-charcoal)}.rich-content h2,.tiptap h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-charcoal);margin:var(--space-xl) 0 var(--space-sm)}.rich-content h3,.tiptap h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-charcoal);margin:var(--space-lg) 0 var(--space-sm)}.rich-content p,.tiptap p{margin:0 0 var(--space-md)}.rich-content a,.tiptap a{color:var(--color-copper-dark);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.rich-content a:hover,.tiptap a:hover{color:var(--color-copper)}.rich-content img,.tiptap img{border-radius:var(--radius-md);margin:var(--space-lg) 0;box-shadow:var(--shadow-medium)}.rich-content blockquote,.tiptap blockquote{border-left:3px solid var(--color-gold);padding:var(--space-sm) var(--space-md);margin:var(--space-lg) 0;font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--color-charcoal-soft);background:var(--color-cream);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.rich-content ul,.tiptap ul,.rich-content ol,.tiptap ol{padding-left:var(--space-lg);margin:0 0 var(--space-md)}.rich-content li{margin-bottom:var(--space-xs)}.rich-content hr{border:none;border-top:1px solid var(--color-parchment);margin:var(--space-xl) 0}.medieval-manuscript p:first-of-type:first-letter{float:left;font-family:var(--font-display);font-size:4.5rem;font-weight:var(--weight-bold);line-height:.8;padding:.5rem .75rem 0 0;color:var(--color-gold);text-shadow:2px 2px 0 var(--color-charcoal-deep, #1a1a1a)}.village-teaser{background:var(--color-cream);padding:var(--space-2xl) 0;border-radius:var(--radius-lg);margin:var(--space-2xl) 0;border:1px solid var(--color-parchment)}.blog-post-page{background:var(--color-ivory)}.blog-post-page header{margin-bottom:var(--space-2xl)}.page-galerie{background:var(--color-ivory)}.gallery-filters{display:flex;justify-content:center;list-style:none;padding:0;margin:0 0 var(--space-xl)}.gallery-filters ul{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;padding:0;margin:0;list-style:none}.legal-page{background:var(--color-cream)}.not-found-page{background:var(--color-stone-deep);color:var(--color-ivory)}.not-found-page h1{color:var(--color-gold)}.not-found-page .lead{color:var(--text-on-dark-muted)}
