.homepage{padding-top:0}.home-content{padding-top:18px}.hero-carousel{position:relative;width:100%;height:560px;isolation:isolate;background:#07131c;overflow:hidden;border-bottom:1px solid var(--gold)}.hero-slide{position:absolute;inset:0}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#03101acf, #05141a63 46%,#05141a08 76%),linear-gradient(0deg,#05121dc2,transparent 30%)}.hero-inner{height:100%;display:flex;align-items:center;position:relative;padding:35px 58px}.hero-carousel .hero-content{max-width:850px}.hero-carousel h1,.hero-carousel .slide-title{font:500 clamp(2.5rem,4vw,4.5rem)/1.25 var(--display);color:#f6d796;letter-spacing:.025em}.hero-carousel .hero-headline{font:600 clamp(1.35rem,2vw,2rem)/1.6 var(--display);color:#f3dfb2;letter-spacing:.04em}.hero-carousel .hero-subtitle{font:1.18rem/1.8 var(--display);letter-spacing:.1em;color:#e0e7ec;margin-top:8px}.hero-carousel .hero-logo{margin-bottom:20px}.hero-carousel .hero-side{right:45px;bottom:60px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:64px;border:1px solid #cba9716b;border-radius:3px;background:#07172280;color:var(--gold-light);font:2.6rem/1 var(--display);z-index:2}.carousel-prev{left:20px}.carousel-next{right:20px}.carousel-arrow:hover{background:#102f43b3;border-color:var(--gold)}.carousel-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:#03121bb5;padding:9px 15px;border:1px solid #ab8b505c;border-radius:30px;z-index:2}.carousel-dots{display:flex;align-items:center;gap:13px}.carousel-dots button{width:13px;height:13px;padding:0;background:#435b68;border:1px solid #c5af7c;border-radius:50%}.carousel-dots button.active{background:var(--gold-light);box-shadow:0 0 10px #c9a55e60}.carousel-pause{font-size:.78rem;line-height:1.6;padding:0 0 0 13px;border:0;border-left:1px solid #8f80564d;background:transparent;color:#e0d3b2}.hero-slide.is-active .hero-image{animation:slide-reveal .5s ease-out}.hero-slide.is-active .hero-content{animation:slide-copy .45s ease-out}.slide-manager-grid{display:grid;gap:24px}.slide-manager-card{padding:24px}.slide-manager-card>h2{margin-bottom:16px}.slide-preview{display:block;width:100%;height:210px;object-fit:cover;border:1px solid var(--line);margin-bottom:20px}.slide-manager-card .form-row{grid-template-columns:120px minmax(0,1fr)}.slide-manager-card .form-row input[type=file]{font-size:.85rem;padding:8px}.slide-manager-card .form-row input[type=file]::file-selector-button{border:1px solid var(--gold);background:#1d3748;color:var(--gold-light);padding:6px 10px;margin-right:12px}.slide-manager-card .checkbox-row{margin-top:8px}.slide-settings-hint{margin-bottom:20px;line-height:1.8}.slide-manager-card .upload-hint{font-size:.8rem;color:var(--muted);margin:10px 0 18px}
@keyframes slide-reveal{from{opacity:.5}to{opacity:1}}@keyframes slide-copy{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.hero-carousel{height:610px}}@media(max-width:980px){.hero-carousel{height:500px}.hero-inner{padding-inline:60px}.hero-carousel .hero-logo>.icon{width:65px;height:65px}.hero-carousel .hero-side{display:none}.hero-carousel .hero-headline{font-size:1.65rem}.hero-carousel .hero-subtitle{font-size:1rem}.carousel-arrow{width:34px;height:54px}.carousel-prev{left:12px}.carousel-next{right:12px}}
@media(max-width:700px){.hero-carousel{height:470px}.hero-inner{width:calc(100% - 32px);padding:30px 22px 55px}.hero-carousel .hero-content{background:none;padding:0}.hero-carousel .hero-logo{gap:8px;margin-bottom:18px}.hero-carousel .hero-logo>.icon{width:42px;height:42px}.hero-carousel h1,.hero-carousel .slide-title{font-size:2.15rem}.hero-carousel .hero-headline{font-size:1.3rem;letter-spacing:.03em}.hero-carousel .hero-subtitle{font-size:.95rem;letter-spacing:.02em}.hero-carousel .hero-actions{gap:8px;margin-top:23px}.hero-carousel .button.large{font-size:.9rem;padding:11px 10px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#04121bdd,#05131b85 58%,#04121b5c),linear-gradient(0deg,#05121dc2,transparent 40%)}.carousel-arrow{width:25px;height:46px;font-size:1.9rem;background:#07172266}.carousel-prev{left:4px}.carousel-next{right:4px}.carousel-controls{bottom:17px}.slide-preview{height:160px}.slide-manager-card{padding:20px 16px}.slide-manager-card .form-row{grid-template-columns:1fr}.home-content{padding-top:15px}}
.server-clock{display:flex;align-items:center;gap:10px;flex-shrink:0;border-left:1px solid #8a754f70;padding-left:18px;font-size:.75rem;color:var(--muted)}.server-clock time{color:var(--gold-light);font-size:.88rem;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:var(--font)}.server-clock small{font-size:.7rem;color:var(--muted)}
@media(max-width:980px){.server-clock{gap:8px}.server-clock>span{max-width:95px;line-height:1.6}.server-clock small{display:none}}
@media(max-width:700px){.announcement{flex-wrap:wrap}.server-clock{flex-basis:100%;border-left:0;border-top:1px solid #8a754f55;padding:8px 0 0;gap:8px;justify-content:space-between}.server-clock>span{max-width:none;font-size:.72rem}.server-clock time{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.hero-slide.is-active .hero-image,.hero-slide.is-active .hero-content{animation:none}}

.captcha-row{display:flex;align-items:center;gap:12px}.captcha-row input{min-width:0;flex:1;text-transform:uppercase}.captcha-row img{flex-shrink:0;max-width:50%;height:auto;border:1px solid var(--line)}.captcha-refresh{border:0;background:transparent;color:var(--gold-light);font-size:.85rem;padding:7px 0}.captcha-refresh:hover{text-decoration:underline}
/* Decorative motion stays behind copy and never intercepts controls. */
.hero-slide{--magic-rgb:225,183,99}.hero-slide:nth-of-type(2){--magic-rgb:124,204,244}.hero-slide:nth-of-type(3){--magic-rgb:143,222,179}
.hero-slide.is-active .hero-image{animation:hero-drift 18s ease-in-out infinite alternate,slide-reveal .65s ease-out;transform-origin:65% 45%;will-change:transform}
.hero-magic{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:paint}
.hero-aura{position:absolute;inset:-15%;background:radial-gradient(ellipse at 73% 38%,rgba(var(--magic-rgb),.18),transparent 37%),radial-gradient(ellipse at 48% 85%,rgba(var(--magic-rgb),.08),transparent 42%);animation:hero-aura 9s ease-in-out infinite alternate}
.hero-mist{position:absolute;inset:50% -15% -25%;background:radial-gradient(ellipse at 65% 70%,rgba(var(--magic-rgb),.12),transparent 55%);animation:hero-mist 14s ease-in-out infinite alternate}
.hero-spark{position:absolute;left:var(--x);bottom:-12px;width:3px;height:3px;border-radius:50%;background:rgba(var(--magic-rgb),.85);box-shadow:0 0 7px 2px rgba(var(--magic-rgb),.3);opacity:0;animation:hero-spark var(--duration) linear var(--delay) infinite}
.hero-spark:nth-child(3n){width:5px;height:5px}.hero-inner{z-index:1}
.hero-carousel.effects-paused .hero-image,.hero-carousel.effects-paused .hero-content,.hero-carousel.effects-paused .hero-magic *{animation-play-state:paused}
@keyframes hero-drift{from{transform:scale(1.025) translate3d(-.4%,0,0)}to{transform:scale(1.09) translate3d(.7%,-.5%,0)}}
@keyframes hero-aura{from{opacity:.45;transform:translate3d(-2%,1%,0)}to{opacity:1;transform:translate3d(2%,-2%,0)}}
@keyframes hero-mist{from{transform:translate3d(-4%,0,0);opacity:.4}to{transform:translate3d(4%,-4%,0);opacity:.9}}
@keyframes hero-spark{0%{opacity:0;transform:translate3d(0,0,0) scale(.6)}15%{opacity:.7}75%{opacity:.5}100%{opacity:0;transform:translate3d(var(--drift),-440px,0) scale(.25)}}
@media(max-width:700px){.hero-spark:nth-child(n+9){display:none}.hero-aura{opacity:.6}.hero-slide.is-active .hero-image{animation-duration:22s,.65s}}
@media(prefers-reduced-motion:reduce){.hero-slide.is-active .hero-image,.hero-slide.is-active .hero-content,.hero-magic *{animation:none!important;transform:none}.hero-spark{display:none}}
/* Dissolve the complete scene, keeping the outgoing scene rendered until the fade finishes. */
.hero-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.15s cubic-bezier(.25,.1,.25,1),visibility 0s linear 1.15s}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1.15s cubic-bezier(.25,.1,.25,1),visibility 0s}
.hero-slide .hero-image,.hero-slide.is-active .hero-image{animation:hero-drift 18s ease-in-out infinite alternate;transform-origin:65% 45%}
.hero-slide.is-active .hero-content{animation:none}
.hero-slide:not(.is-active) .hero-image,.hero-slide:not(.is-active) .hero-magic *{animation-play-state:paused}
@media(max-width:700px){.hero-slide .hero-image,.hero-slide.is-active .hero-image{animation-duration:22s}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active{transition:none}.hero-slide .hero-image{animation:none!important}}
