/* --- Global Settings & Theme --- */
:root{
  --primary-bg:#000000;
  --text-color:#ECF0F1;
  --accent-color:#f25022;
  --nav-hover-bg:#222222;
  --focus-outline: 2px solid #f25022;
  --font-heading:'Orbitron',sans-serif;
  --font-body:'Roboto',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;background:var(--primary-bg);color:var(--text-color);font-family:var(--font-body)}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* Background */
#particles-js{position:absolute;inset:0;z-index:1;transition:opacity .3s ease}
.body-focus #particles-js{opacity:.4}

/* App */
#app-container{position:relative;z-index:2;height:100%;display:flex;flex-direction:column}

/* Header + Nav */
header{padding:20px 5%;width:90%}
nav{display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:10px}
.logo-svg{height:40px;width:auto}
.logo-text-link{font-family:var(--font-heading);font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:700;text-decoration:none;color:var(--text-color);position:relative}
.logo-text-link:hover{color:var(--accent-color)}
.orange-dev{color:var(--accent-color)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:15px}
nav ul a{color:var(--text-color);text-decoration:none;padding:10px 15px;border-radius:5px;font-weight:400;font-size:.9em;position:relative;text-transform:uppercase;letter-spacing:1px;cursor:pointer;outline:none}
nav ul a::after{content:'';position:absolute;left:15px;right:15px;bottom:6px;height:2px;background:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav ul a:hover::after{transform:scaleX(1)}
nav ul a.active{color:var(--accent-color);font-weight:700}
nav ul a.active::after{transform:scaleX(1)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:var(--focus-outline);outline-offset:3px;border-radius:6px}

/* Content */
#main-content{flex-grow:1;position:relative}
.content-section{position:absolute;top:50%;left:50%;width:90%;max-width:700px;opacity:0;visibility:hidden;transform:translate(-50%,-45%);transition:opacity .45s ease, transform .45s ease}
.content-section.active{opacity:1;visibility:visible;transform:translate(-50%,-50%);animation:fadeInUp .45s ease both}
@keyframes fadeInUp{from{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}
.content-wrapper{text-align:center}
.content-section h1,.content-section h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);margin:15px 0;color:#fff}
.content-section p{font-size:clamp(1rem,2vw,1.2rem);line-height:1.6;font-weight:300;max-width:600px;margin:0 auto}

/* Graphics */
.graphic{margin-bottom:20px;height:100px;display:flex;align-items:center;justify-content:center}
.graphic img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 0 8px rgba(242,80,34,.4));transition:transform .35s ease}
.graphic img:hover{transform:translateY(-3px)}

/* Contact button */
.contact-button{display:inline-block;margin-top:25px;padding:15px 30px;background:var(--accent-color);color:var(--primary-bg);text-decoration:none;font-weight:700;border-radius:5px;transition:transform .3s ease, box-shadow .3s ease}
.contact-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(242,80,34,.2)}

/* Footer */
footer{padding:15px 0;text-align:center;font-size:.8em;color:rgba(236,240,241,.6);width:100%}

/* Preview overlay */
body.preview-active #main-content::before{content:'';position:absolute;inset:0;background:var(--primary-bg);z-index:9}
.content-section{z-index:2}
#domain-search-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:90%;max-width:720px;z-index:10}
.hidden{display:none}

/* Preview input box */
.search-box-wrapper{display:flex;align-items:center;justify-content:center;background:#111;border:1px solid #333;border-radius:10px;padding:14px 18px;font-family:var(--font-heading);font-size:1.3em;color:rgba(236,240,241,.7);transition:border-color .3s ease, box-shadow .3s ease}
.search-box-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 4px rgba(242,80,34,.15)}
#domain-input{background:none;border:none;outline:none;color:#fff;font-family:var(--font-heading);font-size:1em;width:100%;text-align:center}
#domain-input::placeholder{color:rgba(236,240,241,.6);text-align:center}

/* Mobile menu */
#hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:10px;z-index:1001;position:relative}
#hamburger-btn span{display:block;width:25px;height:3px;background-color:var(--text-color);margin:5px 0;transition:all .3s ease-in-out}
#hamburger-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
#hamburger-btn.active span:nth-child(2){opacity:0}
#hamburger-btn.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
@media (max-width:992px){
  nav ul{position:fixed;inset:0;width:100%;height:100vh;background:rgba(0,0,0,.95);flex-direction:column;justify-content:center;align-items:center;gap:20px;transform:translateX(100%);opacity:0;transition:transform .3s ease, opacity .3s ease;z-index:1000}
  nav ul.mobile-menu-open{transform:translateX(0);opacity:1}
  nav ul.mobile-menu-closing{transform:translateX(100%);opacity:0}
  nav ul a{font-size:1.2em}
  #hamburger-btn{display:block}
}
