:root{--color-black:#0a0a0a;--color-black-soft:#141414;--color-black-alt:#181512;--color-gold:#d4af37;--color-gold-light:#f0d878;--color-gold-dark:#a9822a;--color-cream:#f5f0e6;--color-grey:#9a9a9a;--color-border:#2a2622;--font-heading:'Playfair Display',Georgia,'Times New Roman',serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--header-height:84px;--transition-base:0.3s ease;--shadow-gold:0 8px 30px rgba(212,175,55,0.15)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{background-color:var(--color-black);color:var(--color-cream);font-family:var(--font-body);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:#ffffff;letter-spacing:0.01em}a{color:var(--color-gold);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-gold-light)}::selection{background:var(--color-gold);color:var(--color-black)}img{max-width:100%;height:auto}.text-gold{color:var(--color-gold)}.bg-dark-alt{background-color:var(--color-black-soft)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-gold);color:var(--color-black);padding:0.75rem 1.25rem;z-index:2000;font-weight:600}.skip-link:focus{left:1rem;top:1rem}.btn-gold{background-color:var(--color-gold);border:1px solid var(--color-gold);color:var(--color-black);font-weight:600;padding:0.65rem 1.5rem;border-radius:2px;transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}.btn-gold:hover,.btn-gold:focus{background-color:var(--color-gold-light);border-color:var(--color-gold-light);color:var(--color-black);transform:translateY(-2px);box-shadow:var(--shadow-gold)}.btn-outline-gold{background:transparent;border:1px solid var(--color-gold);color:var(--color-gold);font-weight:600;padding:0.6rem 1.4rem;border-radius:2px;transition:all var(--transition-base);display:inline-block}.btn-outline-gold:hover{background-color:var(--color-gold);color:var(--color-black);transform:translateY(-2px)}.site-header{position:sticky;top:0;z-index:1030;background-color:rgba(10,10,10,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-base),box-shadow var(--transition-base)}.site-header.is-scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.4)}.navbar{padding:0.85rem 0}.nav-link{color:var(--color-cream) !important;font-weight:500;padding:0.5rem 0.9rem !important;position:relative}.nav-link.active,.nav-link:hover{color:var(--color-gold) !important}.nav-link.active::after{content:'';position:absolute;left:0.9rem;right:0.9rem;bottom:0.15rem;height:2px;background:var(--color-gold)}.navbar-toggler{border-color:var(--color-gold);padding:0.4rem 0.6rem}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(212,175,55,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.logo{display:inline-flex;align-items:center;gap:0.6rem;line-height:1}.logo__mark{font-family:var(--font-heading);font-weight:800;font-size:1.6rem;color:var(--color-gold);border:2px solid var(--color-gold);width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.logo__mark-accent{color:var(--color-cream)}.logo__text{display:flex;flex-direction:column}.logo__name{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--color-cream);letter-spacing:0.04em;text-transform:uppercase}.logo__name--accent{color:var(--color-gold)}.logo--footer .logo__mark,.logo--landing .logo__mark{font-size:2.1rem;width:3.2rem;height:3.2rem}.logo--landing .logo__name{font-size:1.15rem}.hero{position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at top left,#1a1712 0%,var(--color-black) 60%);padding:5rem 0}.hero--home{min-height:88vh;padding:6rem 0}.hero--page{min-height:42vh;padding:4rem 0}.hero__backdrop{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 20%,rgba(212,175,55,0.12) 0%,transparent 45%),radial-gradient(circle at 85% 80%,rgba(212,175,55,0.08) 0%,transparent 40%);pointer-events:none}.hero__content{max-width:720px}.hero__title{font-size:clamp(2.2rem,5vw,3.75rem);line-height:1.15;margin-bottom:1.25rem}.hero--page .hero__title{font-size:clamp(2rem,4vw,2.75rem)}.hero__subtitle{font-size:clamp(1rem,1.5vw,1.25rem);color:var(--color-grey);max-width:620px}.breadcrumb-trail{display:flex;align-items:center;gap:0.5rem;color:var(--color-grey);font-size:0.9rem;margin-bottom:1rem}.breadcrumb-trail a{color:var(--color-grey)}.breadcrumb-trail a:hover{color:var(--color-gold)}.breadcrumb-trail span{color:var(--color-gold)}.section{padding:5rem 0}.section__heading{max-width:700px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.section__eyebrow{color:var(--color-gold);text-transform:uppercase;letter-spacing:0.12em;font-size:0.85rem;font-weight:600;margin-bottom:0.5rem}.section__title{font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:1rem}.section__text{color:var(--color-grey);margin-bottom:1rem}.section__text.mx-auto{max-width:560px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.stat-card{background:var(--color-black-alt);border:1px solid var(--color-border);border-radius:6px;padding:1.75rem 1.5rem;transition:transform var(--transition-base),border-color var(--transition-base)}.stat-card:hover{transform:translateY(-4px);border-color:var(--color-gold)}.stat-card i{font-size:1.9rem;color:var(--color-gold);margin-bottom:0.75rem;display:block}.stat-card h3{font-size:1.05rem;margin-bottom:0.4rem;color:var(--color-cream)}.stat-card p{color:var(--color-grey);font-size:0.9rem;margin:0}.value-card-stack{display:flex;flex-direction:column;gap:1.25rem}.value-card{display:flex;gap:1.25rem;align-items:flex-start;background:var(--color-black-alt);border:1px solid var(--color-border);border-left:3px solid var(--color-gold);border-radius:4px;padding:1.5rem;transition:transform var(--transition-base)}.value-card:hover{transform:translateX(6px)}.value-card i{font-size:1.6rem;color:var(--color-gold);margin-top:0.2rem}.value-card h3{font-size:1.1rem;margin-bottom:0.35rem}.value-card p{color:var(--color-grey);margin:0;font-size:0.95rem}.feature-tile{padding:1rem}.feature-tile i{font-size:2rem;color:var(--color-gold);margin-bottom:0.85rem;display:block}.feature-tile h3{font-size:1.05rem;margin-bottom:0.5rem}.feature-tile p{color:var(--color-grey);font-size:0.9rem}.service-card{background:var(--color-black-alt);border:1px solid var(--color-border);border-radius:6px;padding:2rem 1.75rem;height:100%;width:100%;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.service-card:hover{transform:translateY(-6px);border-color:var(--color-gold);box-shadow:var(--shadow-gold)}.service-card__icon{width:3.25rem;height:3.25rem;border-radius:50%;background:rgba(212,175,55,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.service-card__icon i{font-size:1.4rem;color:var(--color-gold)}.service-card__title{font-size:1.15rem;margin-bottom:0.6rem}.service-card__desc{color:var(--color-grey);font-size:0.92rem;margin-bottom:1rem}.service-card__list{list-style:none;padding:0;margin:0;font-size:0.88rem;color:var(--color-cream)}.service-card__list li{padding:0.2rem 0}.service-card__list i{color:var(--color-gold);margin-right:0.4rem}.service-detail__icon{width:4rem;height:4rem;border-radius:50%;border:2px solid var(--color-gold);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.service-detail__icon i{font-size:1.75rem;color:var(--color-gold)}.service-detail__label{color:var(--color-gold);text-transform:uppercase;letter-spacing:0.08em;font-size:0.8rem;font-weight:600;margin-bottom:1rem}.service-detail__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0.6rem 1.5rem}.service-detail__list li{color:var(--color-cream);font-size:0.95rem}.service-detail__list i{color:var(--color-gold);margin-right:0.5rem}.cta-section{background:linear-gradient(135deg,var(--color-black-alt) 0%,#24201a 100%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:3.5rem 0}.cta-section__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}.cta-section__title{font-size:clamp(1.4rem,2.5vw,1.9rem);margin-bottom:0.4rem}.cta-section__subtitle{color:var(--color-grey);margin:0;max-width:500px}.site-footer{background-color:#050505;border-top:1px solid var(--color-border);padding:4rem 0 0}.footer__tagline{color:var(--color-gold);font-size:0.95rem;margin:0.9rem 0 0.6rem;font-style:italic}.footer__desc{color:var(--color-grey);font-size:0.9rem;margin-bottom:1.25rem}.footer__heading{font-family:var(--font-body);font-size:0.95rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-gold);margin-bottom:1.1rem}.footer__links{list-style:none;padding:0;margin:0}.footer__links li{margin-bottom:0.6rem}.footer__links a{color:var(--color-grey);font-size:0.92rem}.footer__links a:hover{color:var(--color-gold)}.footer__contact{list-style:none;padding:0;margin:0}.footer__contact li{display:flex;align-items:flex-start;gap:0.6rem;margin-bottom:0.8rem;color:var(--color-grey);font-size:0.92rem}.footer__contact a{color:var(--color-grey)}.footer__contact a:hover{color:var(--color-gold)}.footer__contact i{color:var(--color-gold);margin-top:0.15rem}.footer__bottom{border-top:1px solid var(--color-border);margin-top:2.5rem;padding:1.5rem 0;text-align:center;color:var(--color-grey);font-size:0.85rem}.footer__bottom p{margin:0}.social-links{list-style:none;display:flex;gap:0.75rem;padding:0;margin:0.5rem 0 0}.social-links__link{width:2.4rem;height:2.4rem;border:1px solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-gold);transition:all var(--transition-base)}.social-links__link:hover{background-color:var(--color-gold);color:var(--color-black);border-color:var(--color-gold);transform:translateY(-3px)}.accordion-item{background-color:var(--color-black-alt);border:1px solid var(--color-border);margin-bottom:1rem;border-radius:6px !important;overflow:hidden}.accordion-button{background-color:transparent;color:var(--color-cream);font-family:var(--font-heading);font-weight:600;font-size:1.05rem}.accordion-button:not(.collapsed){background-color:rgba(212,175,55,0.08);color:var(--color-gold);box-shadow:none}.accordion-button:focus{box-shadow:0 0 0 0.2rem rgba(212,175,55,0.25)}.accordion-button::after{filter:invert(72%) sepia(46%) saturate(485%) hue-rotate(9deg) brightness(93%) contrast(90%)}.accordion-body{color:var(--color-grey);font-size:0.95rem}.gallery-category{margin-bottom:3.5rem}.gallery-category__title{font-size:1.4rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.6rem}.gallery-category__title i{color:var(--color-gold)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.gallery-grid__item{display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:6px;border:1px solid var(--color-border)}.gallery-grid__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.gallery-grid__item:hover img{transform:scale(1.08)}.gallery-placeholder{border:1px dashed var(--color-border);border-radius:6px;padding:3rem 1.5rem;text-align:center;color:var(--color-grey)}.gallery-placeholder i{font-size:2.25rem;color:var(--color-gold);display:block;margin-bottom:0.75rem}.gallery-placeholder p{margin:0;font-size:0.95rem}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem}.lightbox img{max-width:100%;max-height:90vh;border:2px solid var(--color-gold);border-radius:4px}.lightbox__close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:1px solid var(--color-gold);color:var(--color-gold);width:2.75rem;height:2.75rem;border-radius:50%;font-size:1.1rem}.lightbox__close:hover{background-color:var(--color-gold);color:var(--color-black)}.contact-info-list{list-style:none;padding:0;margin:1.5rem 0}.contact-info-list li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.contact-info-list i{font-size:1.3rem;color:var(--color-gold);margin-top:0.15rem}.contact-info-list__label{display:block;font-size:0.8rem;color:var(--color-grey);text-transform:uppercase;letter-spacing:0.06em}.contact-info-list a{color:var(--color-cream);font-weight:500}.contact-info-list a:hover{color:var(--color-gold)}.contact-form{background:var(--color-black-alt);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.contact-form .form-label{color:var(--color-cream);font-weight:500;font-size:0.92rem}.contact-form .required{color:var(--color-gold)}.contact-form .form-control,.contact-form textarea.form-control{background-color:var(--color-black);border:1px solid var(--color-border);color:var(--color-cream);padding:0.65rem 0.9rem;border-radius:4px}.contact-form .form-control:focus{background-color:var(--color-black);color:var(--color-cream);border-color:var(--color-gold);box-shadow:0 0 0 0.2rem rgba(212,175,55,0.2)}.contact-form .form-control::placeholder{color:#6b6b6b}.contact-form .invalid-feedback{color:#e07a7a}.contact-form .is-invalid{border-color:#e07a7a !important}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-flash{padding:0.9rem 1.1rem;border-radius:4px;margin-bottom:1.5rem;font-size:0.92rem}.form-flash--success{background:rgba(60,160,90,0.15);border:1px solid #3ca05a;color:#8fe0ac}.form-flash--error{background:rgba(200,80,80,0.15);border:1px solid #c85050;color:#e59a9a}.landing-body{margin:0}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#14120d 0%,var(--color-black) 75%);padding:2rem 1.5rem 5rem;text-align:center}.landing__backdrop{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 25%,rgba(212,175,55,0.14) 0%,transparent 40%),radial-gradient(circle at 80% 75%,rgba(212,175,55,0.1) 0%,transparent 40%);animation:landingPulse 8s ease-in-out infinite}@keyframes landingPulse{0%,100%{opacity:0.7}50%{opacity:1}}.landing__stars{position:absolute;inset:0;overflow:hidden}.landing__stars .star{position:absolute;background:var(--color-gold-light);border-radius:50%;animation-name:starTwinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes starTwinkle{0%,100%{opacity:0.15;transform:scale(0.8)}50%{opacity:0.9;transform:scale(1.15)}}.landing__content{position:relative;max-width:640px}.landing__script-name{font-family:'Alex Brush',var(--font-heading),cursive;font-weight:400;font-size:clamp(2.2rem,7vw,4rem);line-height:1.2;color:var(--color-gold-light);margin:0 0 1.25rem;text-shadow:0 0 24px rgba(212,175,55,0.25)}.landing__divider{width:min(320px,70%);height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);margin:0 auto 1.75rem}.landing__message{color:var(--color-cream);font-size:clamp(1rem,2vw,1.2rem);max-width:480px;margin:0 auto 2rem}.landing__contact{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.landing__contact-item{color:var(--color-cream);font-weight:500;display:inline-flex;align-items:center;gap:0.5rem}.landing__contact-item i{color:var(--color-gold)}.landing__contact-item:hover{color:var(--color-gold)}.landing__social{justify-content:center}.landing__copyright{position:absolute;bottom:1.75rem;left:0;right:0;text-align:center;color:var(--color-grey);font-size:0.82rem;margin:0;padding:0 1.5rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-in{animation:revealIn 0.9s ease both}@keyframes revealIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-in,.landing__backdrop,.landing__stars .star,.service-card,.stat-card,.value-card{animation:none !important;transition:none !important;opacity:1 !important;transform:none !important}}@media (max-width:991.98px){.navbar-collapse{background-color:var(--color-black-soft);margin-top:1rem;padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:8px}.stat-grid{grid-template-columns:1fr 1fr}.service-detail__list{grid-template-columns:1fr}}@media (max-width:767.98px){.section{padding:3.25rem 0}.hero--home{min-height:70vh;padding:4rem 0}.cta-section__inner{text-align:center;justify-content:center}.stat-grid{grid-template-columns:1fr}.contact-form{padding:1.5rem}}