:root{
    --bg:#080e0c;--bg2:#050908;--surface:rgba(10,18,14,.7);
    --emerald:#34d399;--emerald-lt:#6ee7b7;--emerald-dk:#059669;
    --gold:#d4a039;--gold-lt:#e8c468;--parchment:#f5e6c8;
    --text:#d0e8dc;--muted:#5a8a70;--dim:#3a5a48;
    --border:rgba(52,211,153,.1);--border-s:rgba(255,255,255,.05);
    --fd:'Cormorant Garamond',serif;--fb:'Inter',sans-serif;
    --xs:.5rem;--sm:1rem;--md:1.5rem;--lg:3rem;--xl:5rem;--2xl:8rem;
    --r:6px;--e:cubic-bezier(.4,0,.2,1)
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--text);background:var(--bg);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}

.emerald{color:var(--emerald);text-shadow:0 0 20px rgba(52,211,153,.3)}.emerald-k{color:var(--emerald-lt)!important}.gk{color:rgba(255,255,255,.45)!important}.light{color:var(--text)}.light-muted{color:var(--muted)}.fw7{font-weight:700}.center{text-align:center}.nb{border:none!important}
.container{max-width:1100px;margin:0 auto;padding:0 var(--md)}.bg-deep{background:var(--bg2)}

#spell-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 34px;font-family:var(--fd);font-size:1.05rem;font-weight:600;letter-spacing:1px;text-decoration:none;border-radius:var(--r);cursor:pointer;transition:all .3s var(--e);border:1.5px solid transparent}
.btn-emerald{background:transparent;color:var(--emerald);border-color:var(--emerald);box-shadow:0 0 18px rgba(52,211,153,.1),inset 0 0 18px rgba(52,211,153,.03)}
.btn-emerald:hover{background:rgba(52,211,153,.08);transform:translateY(-2px);box-shadow:0 0 35px rgba(52,211,153,.2),inset 0 0 25px rgba(52,211,153,.06)}
.btn-ghost{border-color:rgba(255,255,255,.1);color:var(--muted)}.btn-ghost:hover{border-color:var(--emerald);color:var(--emerald)}
.btn-full{width:100%}

.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--sm) 0;transition:all .35s var(--e)}
.navbar.scrolled{background:rgba(8,14,12,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:8px 0}
.nav-flex{display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.logo-ico{font-size:1.4rem}.logo-ico.small{font-size:1rem}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-name{font-family:var(--fd);font-size:1.1rem;font-weight:600;letter-spacing:1px}
.logo-tag{font-size:.5rem;color:var(--emerald);letter-spacing:3px;text-transform:uppercase;font-weight:600}
.nav-links{display:flex;align-items:center;gap:var(--lg)}
.nav-links a{font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none;letter-spacing:.5px;transition:color .25s var(--e)}
.nav-links a:hover{color:var(--emerald)}.dim{opacity:.4}.dim:hover{opacity:1}

.menu-btn{display:none;background:none;border:none;cursor:pointer;width:32px;height:24px;position:relative;z-index:101}
.menu-btn span{display:block;width:100%;height:2px;background:var(--emerald);position:absolute;left:0;transition:all .3s var(--e)}
.menu-btn span:first-child{top:4px}.menu-btn span:last-child{bottom:4px}
.menu-btn.active span:first-child{top:50%;transform:translateY(-50%) rotate(45deg)}
.menu-btn.active span:last-child{bottom:50%;transform:translateY(50%) rotate(-45deg)}
.mobile-overlay{position:fixed;inset:0;background:rgba(8,14,12,.98);z-index:99;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .35s var(--e)}
.mobile-overlay.active{opacity:1;visibility:visible}
.mobile-nav{display:flex;flex-direction:column;gap:var(--md);text-align:center}
.mobile-nav a{font-family:var(--fd);font-size:1.5rem;font-weight:600;color:var(--text);text-decoration:none}

.hero{padding:180px 0 120px;min-height:100vh;display:flex;align-items:center;text-align:center;position:relative;z-index:1;
    background:radial-gradient(ellipse at 50% 65%,rgba(52,211,153,.04) 0%,transparent 55%)}
.hero-inner{position:relative}
.hero-pub{font-family:var(--fd);font-size:.75rem;letter-spacing:4px;color:var(--dim);margin-bottom:var(--md);font-style:italic}
.hero-title{font-family:var(--fd);font-size:clamp(3.5rem,8vw,7rem);font-weight:700;line-height:.9;margin-bottom:var(--md);letter-spacing:2px}
.hero-body{font-size:1.1rem;color:var(--muted);max-width:480px;margin:0 auto var(--lg);font-style:italic}
.hero-btns{display:flex;gap:var(--sm);justify-content:center;flex-wrap:wrap}

.hero-spell{margin-top:var(--xl);position:relative;display:inline-block}
.tome{position:relative;width:120px;height:80px;display:inline-flex}
.tome-page{width:55px;height:70px;border-radius:2px;position:absolute;top:5px}
.tome-page.left{left:2px;background:linear-gradient(135deg,rgba(212,160,57,.08),rgba(212,160,57,.03));border:1px solid rgba(212,160,57,.1);transform:perspective(200px) rotateY(10deg)}
.tome-page.right{right:2px;background:linear-gradient(225deg,rgba(212,160,57,.08),rgba(212,160,57,.03));border:1px solid rgba(212,160,57,.1);transform:perspective(200px) rotateY(-10deg)}
.tome-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:radial-gradient(circle,rgba(52,211,153,.12) 0%,transparent 70%);border-radius:50%;animation:tome-pulse 3s ease-in-out infinite}
.tome-rune{position:absolute;font-size:.9rem;color:var(--emerald);opacity:.5;animation:rune-float 4s ease-in-out infinite}
.r1{top:-10px;left:20px;animation-delay:0s}.r2{top:-15px;right:25px;animation-delay:1s}.r3{top:-5px;left:50%;transform:translateX(-50%);animation-delay:2s}
@keyframes tome-pulse{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes rune-float{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:.9}}

.section{padding:var(--2xl) 0;position:relative;z-index:1}
.kicker{font-family:var(--fd);font-size:.9rem;font-weight:600;color:var(--emerald);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-style:italic}
.heading{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1;margin-bottom:var(--md);letter-spacing:1px}
.section-intro{margin-bottom:var(--xl);max-width:600px}.section-intro.center{margin-left:auto;margin-right:auto}
.lead{font-size:1.1rem;color:var(--text);font-weight:500;margin-bottom:var(--md);font-style:italic}
p{color:var(--muted);margin-bottom:var(--sm)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--xl);align-items:start}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--md)}

.info-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.panel-head{padding:14px 20px;background:rgba(52,211,153,.03);border-bottom:1px solid var(--border)}
.badge{font-family:var(--fd);font-size:.9rem;letter-spacing:2px;color:var(--emerald);font-weight:600}
.panel-body{padding:8px 20px}
.row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-s)}
.lbl{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
.val{font-family:var(--fd);font-size:1rem;font-weight:600}

.feat{background:var(--surface);border:1px solid var(--border-s);border-radius:var(--r);padding:var(--lg);text-align:center;transition:all .35s var(--e)}
.feat:hover{border-color:var(--emerald);transform:translateY(-5px);box-shadow:0 0 30px rgba(52,211,153,.06)}
.fi{font-size:2.5rem;margin-bottom:var(--sm)}
.feat h3{font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--emerald-lt);margin-bottom:10px}
.feat p{font-size:.9rem}

.registry{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:var(--md)}
.ri{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 20px;border-bottom:1px solid var(--border-s)}
.rl{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:600;width:120px;flex-shrink:0}
.rv{font-family:var(--fd);font-size:1rem;text-align:right;font-weight:600}
.addr{font-style:normal;text-align:right;line-height:1.6;font-family:var(--fb);font-weight:500}
.map-box{height:100%;min-height:380px;border-radius:var(--r);overflow:hidden;border:1px solid var(--border)}

.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--xl);align-items:start}
.cd-list{margin-top:var(--lg)}
.cd{display:flex;gap:14px;margin-bottom:var(--md);color:var(--muted)}
.cdi{font-size:1.3rem}.cd strong{color:var(--text)}
.cd a{color:var(--emerald-lt);text-decoration:none}.cd a:hover{text-decoration:underline}

.cform{background:var(--surface);border:1px solid var(--border-s);border-radius:var(--r);padding:var(--lg)}
.fpair{display:grid;grid-template-columns:1fr 1fr;gap:var(--md)}
.ff{margin-bottom:var(--md)}
.ff label{display:block;font-family:var(--fd);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin-bottom:8px}
.ff input,.ff select,.ff textarea{width:100%;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid var(--border-s);border-radius:var(--r);color:var(--text);font-family:var(--fb);font-size:.95rem;transition:border-color .25s var(--e)}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--emerald)}
.ff input::placeholder,.ff textarea::placeholder{color:rgba(255,255,255,.1)}

.footer{padding:var(--lg) 0;background:var(--bg2);border-top:1px solid var(--border);position:relative;z-index:1}
.ft-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--md);margin-bottom:var(--md);padding-bottom:var(--md);border-bottom:1px solid var(--border-s)}
.ft-brand{display:flex;align-items:center;gap:10px}
.ft-name{font-family:var(--fd);font-weight:600;font-size:.95rem;letter-spacing:1px}
.ft-links{display:flex;gap:var(--sm);align-items:center}
.ft-links a{color:var(--muted);text-decoration:none;font-size:.8rem}.ft-links a:hover{color:var(--emerald)}
.sep{color:var(--dim)}
.ft-bot p{font-size:.7rem;color:var(--dim);text-align:center;margin-bottom:4px}

.anim-up{opacity:0;transform:translateY(30px);animation:fu .7s forwards var(--e)}
.anim-scroll{opacity:0;transform:translateY(25px);transition:all .7s var(--e)}
.anim-scroll.visible{opacity:1;transform:translateY(0)}
.d1{animation-delay:.15s;transition-delay:.15s}.d2{animation-delay:.3s;transition-delay:.3s}.d3{animation-delay:.45s;transition-delay:.45s}
@keyframes fu{to{opacity:1;transform:translateY(0)}}

@media(max-width:960px){.grid-2,.contact-grid{grid-template-columns:1fr}.fpair{grid-template-columns:1fr;gap:0}.ft-top{flex-direction:column;text-align:center}}
@media(max-width:768px){.nav-links{display:none}.menu-btn{display:block}.hero-title{font-size:3.5rem}.ri{flex-direction:column;gap:6px}.rv,.addr{text-align:left}}
