*{margin:0;padding:0}:root{--black:#000;--black-soft:#0a0a0a;--black-card:#111;--gold:#c9a962;--gold-light:#e8d5a3;--gold-dark:#8b7340;--gold-gradient:linear-gradient(135deg, #e8d5a3 0%, #c9a962 45%, #8b7340 100%);--text:#e8e4dc;--text-muted:#9a958c;--border:#c9a96240;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Montserrat", system-ui, sans-serif;--header-h:80px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--black);color:var(--text);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}img{max-width:100%;display:block}a{color:var(--gold);text-decoration:none;transition:color .2s}a:hover{color:var(--gold-light)}.container{width:min(1200px,92vw);margin:0 auto}button,input,textarea,select,.lang-dropdown-trigger,.lang-dropdown-menu,.btn,.service-card,.event-card,.gold-photo-frame,.contact-form input,.contact-form textarea,.scroll-btn,.menu-toggle{border-radius:var(--radius-md)}.hero-dots button,.events-landscape-dots button,.lightbox-close,.lightbox-nav,.ref-logo-circle,.event-badge,.scroll-btn{border-radius:var(--radius-full)}.gold-photo-frame{border-radius:var(--radius-lg)}.lang-dropdown-menu{overflow:hidden}.header{z-index:100;height:var(--header-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#000000eb;position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;width:min(1200px,92vw);height:100%;margin:0 auto;display:flex}.logo-link{align-items:center;display:flex}.logo-img{width:auto;height:52px}.menu-toggle{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:10px;display:none}.menu-toggle span{background:var(--gold);width:24px;height:2px;display:block}.nav{align-items:center;gap:2rem;display:flex}.nav-list{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--text);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:500}.nav-list a:hover{color:var(--gold)}.lang-dropdown{border-left:1px solid var(--border);padding-left:1.25rem;position:relative}.lang-dropdown-trigger{background:var(--black-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:1.1rem;transition:border-color .2s;display:flex}.lang-dropdown-trigger:hover{border-color:var(--gold)}.lang-flag{font-size:1.25rem;line-height:1}.lang-chevron{color:var(--gold);font-size:.65rem}.lang-dropdown-menu{background:var(--black-card);border:1px solid var(--border);border-radius:var(--radius-md);z-index:110;min-width:150px;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 12px 32px #00000080}.lang-dropdown-menu button{width:100%;color:var(--text);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.65rem;padding:.6rem 1rem;font-size:.85rem;transition:background .2s;display:flex}.lang-dropdown-menu button:hover,.lang-dropdown-menu .lang-option-active{color:var(--gold-light);background:#c9a9621f}.hero{min-height:100dvh;padding:calc(var(--header-h) + 2rem) 1.25rem 2.5rem;background:var(--black);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{pointer-events:none;background:#000;position:absolute;inset:0;overflow:hidden}.hero-bg-line{background:var(--gold-light);opacity:.58;width:min(52px,10vw);animation:11s linear infinite heroLineSweep;position:absolute;top:0;bottom:0;left:-72px;box-shadow:0 0 8px #e8d5a3d9,0 0 22px #c9a962b3,0 0 44px #c9a96273,0 0 70px #b8860b40}@keyframes heroLineSweep{0%{left:-72px}to{left:100%}}.hero-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:560px;animation:1s ease-out fadeUp;display:flex;position:relative}.hero-logo{filter:drop-shadow(0 0 22px #c9952a8c)drop-shadow(0 0 48px #8b691459);flex-shrink:0;width:min(320px,80vw);height:auto}.hero-title{font-family:var(--font-serif);color:#e8c96a;letter-spacing:.04em;text-shadow:0 0 18px #c9952a80,0 0 36px #8b69144d;margin:0;font-size:clamp(1.35rem,4.5vw,2rem);font-weight:400;line-height:1.35}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.85rem;width:100%;margin-top:.25rem;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.hero-content{gap:1.35rem}.hero-logo{width:min(280px,88vw)}.hero-actions{flex-direction:column;align-items:stretch;max-width:280px}.hero-actions .btn{text-align:center;width:100%}}.events-landscape{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:1100px;margin:3rem auto 0;position:relative;overflow:hidden}.events-landscape-slides{aspect-ratio:16/9;background:var(--black-card);position:relative}.events-landscape-slide{opacity:0;transition:opacity 1.2s ease-in-out;position:absolute;inset:0}.events-landscape-slide-active{opacity:1}.events-landscape-slide img{object-fit:cover;width:100%;height:100%}.events-landscape-overlay{pointer-events:none;background:linear-gradient(90deg,#0a0a0a59 0%,#0000 40% 60%,#0a0a0a59 100%);position:absolute;inset:0}.events-landscape-dots{z-index:2;gap:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.events-landscape-dots button{border-radius:var(--radius-full);border:1px solid var(--gold);cursor:pointer;background:0 0;width:8px;height:8px;padding:0;transition:background .3s}.events-landscape-dots .dot-active{background:var(--gold)}.btn{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--gold);border-radius:var(--radius-md);cursor:pointer;padding:.85rem 2rem;font-size:.75rem;font-weight:600;transition:all .25s;display:inline-block}.btn-primary{background:var(--gold-gradient);color:var(--black);border-color:var(--gold)}.btn-primary:hover{filter:brightness(1.1);color:var(--black)}.btn-outline{color:var(--gold-light);background:0 0}.btn-outline:hover{color:var(--gold-light);background:#c9a96226}.section{padding:5rem 0;position:relative}.section:nth-child(2n){background:var(--black-soft)}.section-label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.5rem;font-size:.7rem;display:block}.section-title{font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.02em;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3rem);font-weight:400}.section-subtitle{color:var(--text-muted);max-width:520px;margin:0 0 2.5rem}.about-grid{grid-template-columns:1fr min(300px,36%);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.about-text .lead{font-family:var(--font-serif);color:var(--gold-light);margin-bottom:1.5rem;font-size:1.35rem;line-height:1.5}.about-text p{color:var(--text-muted);margin-bottom:1rem}.about-text .motto{font-family:var(--font-serif);color:var(--gold);margin-top:1.5rem;font-size:1.2rem;font-style:italic}.about-photos{flex-direction:column;justify-self:center;align-items:center;gap:1rem;display:flex}.gold-photo-frame{border-radius:var(--radius-lg);isolation:isolate;justify-content:center;align-items:center;padding:3px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 16px #c9a96240,0 0 32px #c9a9621a}.gold-photo-frame:before{content:"";z-index:0;background:conic-gradient(#8b7340,#f5e6b8,#c9a962,#fff9e8,#e8d5a3,#c9a962,#8b7340);animation:3.5s linear infinite goldFrameRotate;position:absolute;inset:-120%}.gold-photo-frame:after{content:"";border-radius:calc(var(--radius-lg) - 3px);background:var(--black);z-index:0;pointer-events:none;position:absolute;inset:3px}@keyframes goldFrameRotate{to{transform:rotate(360deg)}}.gold-photo-frame img{z-index:1;border-radius:calc(var(--radius-lg) - 4px);background:var(--black-card);position:relative}.about-photos-frame{width:fit-content;max-width:100%}.about-photo-img{width:auto;max-width:min(320px,100%);height:auto;max-height:min(72vh,640px);display:block}.about-founder-label{font-family:var(--font-serif);letter-spacing:.12em;text-align:center;color:var(--gold-light);text-shadow:0 0 12px #c9a96259;margin:0;font-size:.9rem;font-weight:500}.services-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.service-card{background:var(--black-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;transition:border-color .3s,transform .3s}.service-card:hover{border-color:var(--gold);transform:translateY(-4px)}.service-icon{color:var(--gold);margin-bottom:1rem;font-size:1.25rem;display:block}.service-card h3{font-family:var(--font-serif);color:var(--gold-light);margin:0 0 .5rem;font-size:1.25rem;font-weight:500}.service-card p{color:var(--text-muted);margin:0;font-size:.9rem}.portrait-scroll-wrap{align-items:center;gap:.5rem;width:100%;padding:0 .5rem;display:flex;position:relative}.portrait-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gold-dark) var(--black-soft);flex:1;gap:1rem;padding:1rem 0 1.5rem;display:flex;overflow-x:auto}.portrait-scroll::-webkit-scrollbar{height:6px}.portrait-scroll::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:var(--radius-full)}.portrait-item{cursor:pointer;scroll-snap-align:center;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:auto;height:auto;padding:0;display:flex}.portrait-item .gold-photo-frame{transition:box-shadow .35s,transform .35s}.portrait-item:hover .gold-photo-frame{transform:scale(1.02);box-shadow:0 0 22px #c9a96273,0 0 40px #c9a96233}.portrait-item img{width:auto;max-width:min(300px,78vw);height:auto;max-height:min(68vh,560px);display:block}.scroll-btn{border:1px solid var(--gold);border-radius:var(--radius-full);width:44px;height:44px;color:var(--gold);cursor:pointer;background:#0a0a0acc;flex-shrink:0;font-size:1.5rem;line-height:1;transition:background .2s}.scroll-btn:hover{background:#c9a96233}@media (width<=640px){.scroll-btn-left,.scroll-btn-right{display:none}}.lightbox{z-index:200;touch-action:pan-y;background:#000000f0;justify-content:center;align-items:center;padding:3rem 0;display:flex;position:fixed;inset:0}.lightbox-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;max-width:100vw;overflow:hidden}.lightbox-viewport:active{cursor:grabbing}.lightbox-track{will-change:transform;transition:transform .35s cubic-bezier(.25,.46,.45,.94);display:flex}.lightbox-track-dragging{transition:none}.lightbox-slide{box-sizing:border-box;flex:0 0 100%;justify-content:center;align-items:center;padding:0 1rem;display:flex}.lightbox-frame{max-width:min(90vw,420px);max-height:85vh}.lightbox-frame img{object-fit:contain;pointer-events:none;width:auto;max-width:calc(90vw - 24px);height:auto;max-height:calc(85vh - 12px)}.lightbox-close{z-index:210;border:1px solid var(--border);width:44px;height:44px;color:var(--gold);cursor:pointer;background:#0a0a0a99;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-counter{z-index:210;letter-spacing:.12em;color:var(--gold-light);font-size:.8rem;position:absolute;top:1.25rem;left:50%;transform:translate(-50%)}.lightbox-nav{z-index:210;border:1px solid var(--border);width:48px;height:48px;color:var(--gold);cursor:pointer;background:#0a0a0aa6;border-radius:50%;font-size:1.75rem;line-height:1;transition:background .2s,border-color .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{border-color:var(--gold);background:#c9a96233}.lightbox-nav-prev{left:.75rem}.lightbox-nav-next{right:.75rem}@media (width<=640px){.lightbox-nav{display:none}.lightbox{padding:2.5rem 0}}.events-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.event-card{background:var(--black-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;padding:1.75rem;display:flex;position:relative;overflow:hidden}.event-card:before{content:"";background:var(--gold-gradient);height:2px;position:absolute;top:0;left:0;right:0}.event-card-poster{padding:1.25rem 1.25rem 1.75rem}.event-poster-btn{cursor:pointer;border-radius:var(--radius-lg);background:0 0;border:none;width:100%;margin:1.25rem 0 0;padding:0;display:block}.event-poster-frame{width:100%}.event-poster-frame img{border-radius:calc(var(--radius-lg) - 4px);width:100%;max-width:100%;height:auto}.event-number{font-family:var(--font-serif);color:#c9a96233;align-self:flex-start;font-size:2.5rem;line-height:1}.event-card h3{font-family:var(--font-serif);color:var(--gold-light);margin:0 0 .5rem;font-size:1.15rem}.event-date{color:var(--gold);letter-spacing:.04em;margin:0 0 .35rem;font-size:.85rem}.event-location{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.5}.event-poster-lightbox-frame{max-width:min(420px,92vw);max-height:90vh}.event-poster-lightbox-frame img{object-fit:contain;width:auto;max-width:min(400px,88vw);height:auto;max-height:calc(90vh - 16px)}.event-badge{letter-spacing:.15em;text-transform:uppercase;border:1px solid var(--gold);border-radius:var(--radius-full);color:var(--gold);margin-top:1rem;padding:.25rem .75rem;font-size:.65rem;display:inline-block}.refs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-items:center;gap:3rem;max-width:720px;margin:0 auto;display:grid}.ref-card{text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;padding:0;display:flex}.ref-logo-circle{border-radius:50%;margin-bottom:1.25rem;line-height:0;display:inline-block;overflow:hidden}.ref-logo{width:auto;max-width:min(240px,75vw);height:auto;display:block}.ref-card h3{font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.04em;margin:0;font-size:1.05rem;font-weight:400}.contact-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:3rem;display:grid}.contact-location{font-family:var(--font-serif);color:var(--gold-light);margin-bottom:1.5rem;font-size:1.25rem}.contact-links{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.contact-link{letter-spacing:.03em;color:var(--gold-light);align-items:center;gap:.65rem;font-size:.95rem;transition:color .2s;display:inline-flex}.contact-link:hover{color:var(--gold)}.contact-link-icon{width:20px;height:20px;color:var(--gold);flex-shrink:0}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.contact-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=540px){.contact-form-row{grid-template-columns:1fr}}.contact-form label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.75rem;display:flex}.contact-form input,.contact-form textarea{background:var(--black-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-sans);padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);outline:none}.form-success{color:var(--gold);margin:0;font-size:.9rem}.form-error{color:#e8a0a0;margin:0;font-size:.9rem}.contact-form .btn:disabled{opacity:.65;cursor:not-allowed}.footer{background:var(--black);border-top:none;padding:0;position:relative}.footer:before{content:"";z-index:1;background:linear-gradient(90deg,#6b5a30,#8b7340,#e8d5a3,#f5e6b8,#c9a962,#fff9e8,#e8d5a3,#c9a962,#8b7340,#6b5a30) 0 0/200% 100%;height:3px;animation:4s linear infinite footerGoldLine;position:absolute;top:0;left:0;right:0;box-shadow:0 0 10px #c9a962b3,0 0 22px #e8d5a359}.footer:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#f5e6b8e6 50%,#0000 100%) 0 0/30% 100%;height:1px;animation:3s ease-in-out infinite footerGoldSweep;position:absolute;top:0;left:0;right:0}@keyframes footerGoldLine{0%{background-position:0%}to{background-position:200%}}@keyframes footerGoldSweep{0%{opacity:.4;background-position:-30%}50%{opacity:1}to{opacity:.4;background-position:130%}}.footer-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,5vw,4.5rem);width:min(1200px,94vw);margin:0 auto;padding:2.25rem 1rem;display:flex}.footer-logo{opacity:.95;width:auto;height:52px}.footer-nav ul{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1.75rem,4.5vw,3.25rem);margin:0;padding:0;list-style:none;display:flex}.footer-nav a{letter-spacing:.14em;text-transform:uppercase;color:var(--text);white-space:nowrap;font-size:.8rem;font-weight:500;transition:color .2s}.footer-nav a:hover{color:var(--gold)}.footer-details{text-align:center;border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:1rem;padding:2rem 0 2.5rem;display:flex}.footer-line{color:var(--text-muted);justify-content:center;align-items:center;gap:.65rem;margin:0;font-size:.9rem;display:inline-flex}.footer-line.footer-link{color:var(--gold)}.footer-tagline-text{font-family:var(--font-serif);color:var(--gold);font-size:1.1rem;font-style:italic}.footer-icon{width:18px;height:18px;color:var(--gold);flex-shrink:0}.footer-rights{letter-spacing:.05em;margin-top:.25rem;font-size:.75rem}@media (width<=768px){.footer-bar{flex-direction:column;gap:1.75rem;padding:2rem 1rem}.footer-nav ul{gap:1.25rem 1.75rem;max-width:100%}}@media (width<=900px){.menu-toggle{display:flex}.nav{top:var(--header-h);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;background:#0a0a0afa;flex-direction:column;gap:1.5rem;padding:1.5rem;transition:transform .3s,opacity .3s;position:fixed;left:0;right:0;transform:translateY(-120%)}.nav-open{opacity:1;pointer-events:auto;border-radius:0 0 var(--radius-lg) var(--radius-lg);transform:translateY(0)}.nav-list{flex-direction:column;align-items:center;gap:1rem}.lang-dropdown{border-left:none;padding-left:0}.lang-dropdown-menu{left:50%;right:auto;transform:translate(-50%)}.about-grid,.contact-grid{grid-template-columns:1fr}.about-grid{align-items:start}.about-photos{width:100%;margin:0 auto}.about-photo-img{max-width:min(300px,92vw);max-height:min(65vh,520px)}.portrait-item img{max-width:min(280px,85vw);max-height:min(60vh,480px)}}
