:root{--color-primary:#013125;--color-primary-deep:#00201a;--color-primary-light:#024a38;--color-gold:#c9a84c;--color-gold-light:#e8d48b;--color-gold-dark:#a68a3e;--color-white:#fff;--color-off-white:#fafaf5;--color-cream:#f5f0e8;--color-charcoal:#1a1a1a;--color-dark:#0a0a0a;--color-muted:#8a8a7a;--color-border:#c9a84c33;--color-border-light:#ffffff14;--gradient-gold:linear-gradient(135deg, #fff1b6 0%, #c9a84c 50%, #b6a35c 100%);--gradient-hero:linear-gradient(180deg, #fafaf500 0%, #fafaf599 40%, var(--color-cream) 100%);--gradient-dark-fade:linear-gradient(180deg, var(--color-primary-deep) 0%, var(--color-cream) 100%);--gradient-radial-glow:radial-gradient(ellipse at center, #c9a84c14 0%, transparent 70%);--font-heading:"Cormorant Garamond", "Georgia", serif;--font-body:"Montserrat", "Helvetica Neue", sans-serif;--fs-display:clamp(2.8rem, 6vw, 5.5rem);--fs-h1:clamp(2.2rem, 4.5vw, 4rem);--fs-h2:clamp(1.8rem, 3.5vw, 3rem);--fs-h3:clamp(1.4rem, 2.5vw, 2rem);--fs-body:clamp(.95rem, 1.2vw, 1.1rem);--fs-body-lg:clamp(1.05rem, 1.4vw, 1.25rem);--fs-small:clamp(.75rem, .9vw, .85rem);--fs-label:clamp(.7rem, .85vw, .8rem);--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:clamp(5rem, 12vh, 10rem);--max-width:1400px;--content-width:900px;--gutter:clamp(1.25rem, 4vw, 3rem);--ease-luxury:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.33, 1, .68, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.7s;--duration-reveal:1s;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:100px;--shadow-glow:0 0 40px #c9a84c26;--shadow-card:0 8px 32px #0000004d;--shadow-elevated:0 24px 64px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-off-white);font-weight:300;line-height:1.7;font-size:var(--fs-body);overflow-x:hidden}::selection{background:var(--color-gold);color:var(--color-primary-deep)}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--duration-normal) var(--ease-luxury);text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul{list-style:none}.container{width:100%;max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.gold-text{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.divider{background:var(--gradient-gold);width:60px;height:1px;margin:var(--space-md) auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{opacity:0;transition:opacity var(--duration-reveal) var(--ease-luxury), transform var(--duration-reveal) var(--ease-luxury);transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}.reveal-delay-4{transition-delay:.6s}.reveal-scale{opacity:0;transition:opacity var(--duration-reveal) var(--ease-luxury), transform var(--duration-reveal) var(--ease-luxury);transform:scale(.95)}.reveal-scale.visible{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.reveal,.reveal-scale{opacity:1;transition:none;transform:none}}.preloader{background:var(--color-primary);z-index:9999;width:100%;height:100%;transition:opacity .8s var(--ease-luxury), visibility .8s;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.preloader.hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader__logo{width:clamp(180px,30vw,320px);animation:preloaderPulse 2s var(--ease-in-out) infinite}.preloader__line{background:var(--color-border);width:120px;height:1px;margin-top:var(--space-lg);position:relative;overflow:hidden}.preloader__line:after{content:"";background:var(--gradient-gold);width:100%;height:100%;animation:preloaderSlide 1.5s var(--ease-in-out) infinite;position:absolute;top:0;left:-100%}@keyframes preloaderPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes preloaderSlide{0%{left:-100%}to{left:100%}}.nav{z-index:100;width:100%;padding:var(--space-md) 0;transition:background var(--duration-slow) var(--ease-luxury), padding var(--duration-normal) var(--ease-luxury), backdrop-filter var(--duration-slow) var(--ease-luxury);position:fixed;top:0;left:0}.nav.scrolled{-webkit-backdrop-filter:blur(20px)saturate(1.2);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);background:#013125d9}.nav__inner{justify-content:space-between;align-items:center;display:flex}.nav__logo{width:clamp(120px,15vw,170px);transition:transform var(--duration-normal) var(--ease-luxury)}.nav__logo:hover{transform:scale(1.03)}.nav__links{gap:var(--space-lg);align-items:center;display:flex}.nav__link{color:var(--color-white);text-shadow:0 2px 4px #0000004d;font-family:var(--font-body);font-weight:400;font-size:var(--fs-small);letter-spacing:.15em;text-transform:uppercase;padding:var(--space-xs) 0;position:relative}.nav__link:after{content:"";background:var(--gradient-gold);width:0;height:1px;transition:width var(--duration-normal) var(--ease-luxury);position:absolute;bottom:0;left:0}.nav__link:hover:after{width:100%}.nav__cta{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--color-gold);color:var(--color-gold);transition:all var(--duration-normal) var(--ease-luxury);padding:.7em 1.8em;font-weight:500}.nav__cta:hover{background:var(--color-gold);color:var(--color-primary-deep);box-shadow:var(--shadow-glow)}.nav__menu-btn{z-index:101;flex-direction:column;gap:6px;padding:8px;display:none}.nav__menu-btn span{background:var(--color-white);width:28px;height:1px;transition:all var(--duration-normal) var(--ease-luxury);transform-origin:50%;display:block}.nav__menu-btn.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav__menu-btn.active span:nth-child(2){opacity:0}.nav__menu-btn.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.hero{text-align:center;min-height:100vh;padding:clamp(6rem, 15vh, 12rem) var(--gutter) clamp(4rem, 10vh, 8rem);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hero__bg-image{object-fit:cover;opacity:.85;width:100%;height:100%;transform:scale(1.1)}.hero__bg-overlay{background:linear-gradient(#013125e6 0%,#013125b3 40%,#013125fa 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero__glow{pointer-events:none;z-index:1;background:radial-gradient(circle,#c9a84c0f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:20%;left:50%;transform:translate(-50%)}.hero__content{z-index:2;max-width:800px;position:relative}.hero__logo{width:clamp(140px,20vw,280px);margin:0 auto var(--space-xl);opacity:0;filter:blur(8px);animation:heroReveal 1.5s var(--ease-luxury) .5s forwards;transform:translateY(20px)}.hero__diamond{width:12px;height:12px;margin:0 auto var(--space-md);opacity:0;animation:heroReveal 1s var(--ease-luxury) 1.2s forwards;display:inline-block}.hero__diamond svg{width:100%;height:100%}.hero__tagline{font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.35em;text-transform:uppercase;color:var(--color-white);text-shadow:0 2px 4px #00000080;margin-bottom:var(--space-md);opacity:0;animation:heroReveal 1s var(--ease-luxury) 1s forwards;font-weight:600;transform:translateY(16px)}.hero__heading{color:var(--color-white);font-family:var(--font-heading);font-size:var(--fs-display);letter-spacing:.02em;margin-bottom:var(--space-md);opacity:0;filter:blur(4px);animation:heroReveal 1.2s var(--ease-luxury) 1.4s forwards;font-weight:300;line-height:1.15;transform:translateY(20px)}.hero__heading em{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.hero__subheading{font-family:var(--font-body);font-size:var(--fs-body-lg);color:var(--color-muted);max-width:520px;margin:0 auto var(--space-xl);opacity:0;animation:heroReveal 1s var(--ease-luxury) 1.8s forwards;font-weight:300;transform:translateY(16px)}.hero__form{opacity:0;max-width:480px;animation:heroReveal 1s var(--ease-luxury) 2.1s forwards;gap:0;margin:0 auto;display:flex;transform:translateY(16px)}.hero__input{color:var(--color-charcoal);font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.05em;transition:all var(--duration-normal) var(--ease-luxury);background:#fafaf5f2;border:1px solid #1a1a1a33;border-right:none;outline:none;flex:1;padding:1em 1.5em;font-weight:300}.hero__input::placeholder{color:#1a1a1a59;letter-spacing:.08em}.hero__input:focus{border-color:var(--color-gold);background:#1a1a1a1a}.hero__submit{background:var(--color-gold);color:var(--color-primary-deep);font-size:var(--fs-label);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--color-gold);transition:all var(--duration-normal) var(--ease-luxury);white-space:nowrap;padding:1em 2em;font-weight:600}.hero__submit:hover{background:var(--color-gold-light);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.hero__submit:active{transform:translateY(0)}.hero__form-note{font-size:var(--fs-small);color:#ffffff59;margin-top:var(--space-sm);letter-spacing:.05em;opacity:0;animation:heroReveal .8s var(--ease-luxury) 2.5s forwards;font-weight:300}.hero__scroll{bottom:var(--space-lg);z-index:2;align-items:center;gap:var(--space-sm);opacity:0;animation:heroReveal 1s var(--ease-luxury) 3s forwards;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll-text{font-size:var(--fs-label);letter-spacing:.25em;text-transform:uppercase;color:var(--color-muted);writing-mode:vertical-rl;font-weight:300}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-gold), transparent);width:1px;height:40px;animation:scrollBounce 2s var(--ease-in-out) infinite}@keyframes heroReveal{to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes scrollBounce{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.5)}}.marquee{padding:var(--space-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#c9a84c05;overflow:hidden}.marquee__track{width:max-content;animation:30s linear infinite marqueeScroll;display:flex}.marquee__item{align-items:center;gap:var(--space-lg);padding:0 var(--space-lg);font-family:var(--font-heading);font-size:var(--fs-h3);color:#1a1a1a40;letter-spacing:.1em;white-space:nowrap;font-weight:300;display:flex}.marquee__dot{background:var(--gradient-gold);flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.heritage{padding:var(--space-section) 0;background:var(--color-cream);position:relative;overflow:hidden}.heritage__glow{background:var(--gradient-radial-glow);pointer-events:none;width:800px;height:800px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.heritage__inner{gap:var(--space-2xl);z-index:1;grid-template-columns:1fr 1fr;align-items:center;display:grid;position:relative}.heritage__content{max-width:500px}.heritage__label{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:.35em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-md);font-weight:600}.heritage__heading{font-family:var(--font-heading);font-size:var(--fs-h1);margin-bottom:var(--space-lg);font-weight:300;line-height:1.2}.heritage__text{font-size:var(--fs-body-lg);color:var(--color-muted);margin-bottom:var(--space-md);font-weight:300;line-height:1.9}.heritage__quote{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--color-gold);margin-top:var(--space-lg);padding-left:var(--space-md);border-left:2px solid var(--color-gold);font-style:italic;font-weight:300;line-height:1.5}.heritage__image-wrapper{position:relative}.heritage__image{object-fit:cover;aspect-ratio:3/4;width:100%;max-width:520px;box-shadow:var(--shadow-elevated)}.heritage__image-frame{pointer-events:none;z-index:-1;border:1px solid #1a1a1a33;width:100%;height:100%;position:absolute;top:-20px;right:-20px}.gallery{padding:var(--space-section) 0;background:var(--color-off-white)}.gallery__header{text-align:center;margin-bottom:var(--space-xl)}.gallery__label{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:.35em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-md);font-weight:600}.gallery__heading{font-family:var(--font-heading);font-size:var(--fs-h2);color:var(--color-charcoal);font-weight:300}.gallery__grid{gap:var(--space-sm);padding:0 var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.gallery__item{aspect-ratio:3/4;cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.gallery__item-image{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-luxury)}.gallery__item:hover .gallery__item-image{transform:scale(1.05)}.gallery__item-overlay{width:100%;padding:var(--space-lg);opacity:0;transition:all var(--duration-normal) var(--ease-luxury);background:linear-gradient(#0000,#013125e6);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;transform:translateY(20px)}.gallery__item:hover .gallery__item-overlay{opacity:1;transform:translateY(0)}.gallery__item-label{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--color-off-white);margin-bottom:var(--space-xs)}.gallery__item-tag{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.1em;color:var(--color-gold-dark)}.footer{padding:var(--space-xl) 0 var(--space-lg);background:var(--color-primary);text-align:center;border-top:1px solid #c9a84c33}.footer__logo{width:160px;margin:0 auto var(--space-lg)}.footer__social{justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.footer__social-link{width:40px;height:40px;color:var(--color-white);transition:all var(--duration-normal) var(--ease-luxury);border:1px solid #c9a84c4d;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer__social-link svg{width:18px;height:18px}.footer__social-link:hover{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold);transform:translateY(-2px)}.footer__divider{width:100%;height:1px;margin:var(--space-md) 0;background:linear-gradient(90deg,#0000,#c9a84c4d,#0000)}.footer__copy{font-size:var(--fs-small);color:#ffffffb3;letter-spacing:.05em}.footer__copy a{color:var(--color-gold);text-decoration:underline}@media (max-width:768px){.hero__form{width:100%;padding:0 var(--space-md);flex-direction:column}.hero__input{border-bottom:none;border-right:1px solid #1a1a1a33}.hero__submit{width:100%}.hero__logo{width:180px}}@media (max-width:992px){.nav__menu-btn{display:flex}.nav__links{-webkit-backdrop-filter:blur(20px);width:100%;padding:var(--space-xl) var(--gutter);gap:var(--space-md);border-top:1px solid var(--color-border);opacity:0;pointer-events:none;transition:all var(--duration-normal) var(--ease-out);background:#013125f2;flex-direction:column;position:absolute;top:100%;left:0;transform:translateY(-10px)}.nav__links.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav__link{font-size:var(--fs-body-lg)}.nav__cta{margin-top:var(--space-md);text-align:center;width:100%}}@media (max-width:768px){.hero__heading{margin-bottom:var(--space-sm)}.heritage__inner{text-align:center;gap:var(--space-xl);grid-template-columns:1fr}.heritage__content{margin:0 auto}.heritage__image-wrapper{width:90%;max-width:400px;margin:0 auto}.gallery__grid{grid-template-columns:1fr}}.sparkle-fx{opacity:0;pointer-events:none;z-index:10;filter:drop-shadow(0 0 4px #fff1b6cc);animation:4s ease-in-out infinite sparkleAnim;position:absolute}@keyframes sparkleAnim{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;filter:brightness(2)drop-shadow(0 0 12px #fff1b6);transform:scale(1.2)rotate(90deg)}to{opacity:0;transform:scale(0)rotate(180deg)}}
