/*
Theme Name: Palace Energy
Author: Palace Energy
Description: An atmospheric coming-soon theme with interactive, flowing energy sculptures, light and dark modes, and accessible motion controls.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palace-energy
Tags: custom-logo, custom-colors, one-column
*/
:root{--paper:#f3f2e9;--ink:#22291e;--muted:#686e60;--line:#d5d8cb;--accent:#d0ed6b;--orb:#6e842e;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;transition:background .6s,color .6s}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button[hidden],[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{background:var(--accent);color:#22291e}.site-shell{overflow:hidden;overflow:clip;max-width:1920px;margin:auto;padding:0 48px}.site-header{height:108px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:13px;font-size:25px;letter-spacing:-1.1px;font-weight:500}.brand-mark{height:37px;width:34px}.brand-logo{max-width:240px;max-height:60px;width:auto;height:auto}.header-right{display:flex;align-items:center;gap:26px}.header-note{font-size:10px;letter-spacing:1.8px}.icon-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;transition:transform .3s,background .3s}.icon-button:hover{transform:rotate(25deg);background:var(--accent)}.icon-button svg{width:22px;height:22px}.header-contact{font-size:13px;border-left:1px solid var(--line);padding-left:26px}.header-contact span{margin-left:20px;font-size:22px}.hero{position:relative;min-height:calc(100svh - 182px);display:flex;flex-direction:column;justify-content:center;isolation:isolate}.hero-copy{position:relative;z-index:2;width:65%;padding:64px 0 128px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.1px;margin:0 0 36px}.status-dot{width:8px;height:8px;border-radius:50%;background:#829640;box-shadow:0 0 0 5px #82964012;animation:pulse 3s ease-in-out infinite}h1{font-size:clamp(54px,6.8vw,106px);font-weight:400;letter-spacing:-.065em;line-height:1.03;margin:0 0 36px}h1 span{display:block}.secondary-line{color:var(--muted)}.intro{display:flex;gap:20px;align-items:flex-start;max-width:395px}.intro-line{width:30px;flex-shrink:0;height:1px;background:var(--ink);margin-top:12px}.intro p{font-size:15px;line-height:1.7;margin:0;color:var(--muted);white-space:pre-line}.contact-link{display:inline-flex;align-items:center;gap:27px;margin:28px 0 0 50px;font-size:14px}.arrow-circle{width:43px;height:43px;display:grid;place-items:center;background:var(--accent);border-radius:50%;font-size:23px;transition:transform .25s,background .25s}.contact-link:hover .arrow-circle{transform:rotate(45deg)}.energy-stage{position:absolute;z-index:0;right:-20px;top:0;width:59%;height:calc(100% - 83px);min-height:0;pointer-events:none}.sculpture{position:absolute;inset:-7% -5% -2% -12%;color:var(--orb)}#energy-canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .7s}.canvas-ready #energy-canvas{opacity:1}.energy-fallback{position:absolute;width:100%;height:100%;opacity:.6}.canvas-ready .energy-fallback{display:none}.ambient{position:absolute;border-radius:50%;filter:blur(45px);animation:drift 18s ease-in-out infinite alternate}.ambient-one{width:60%;height:58%;background:#d5e4a253;right:3%;top:17%}.ambient-two{width:45%;height:35%;background:#daddcd80;left:10%;bottom:0;animation-delay:-8s}.figure-meta{position:absolute;bottom:25px;left:27%;display:flex;gap:15px;font-size:9px;line-height:1.8;letter-spacing:1.1px}.crosshair{font-size:25px;line-height:1;font-weight:200}.muted{color:var(--muted);font-size:8px;letter-spacing:.9px}.orbit-label{position:absolute;right:10px;top:65px;font-size:9px;letter-spacing:1.3px;display:flex;align-items:center;gap:8px;writing-mode:vertical-rl}.orbit-dot{width:5px;height:5px;background:var(--ink);border-radius:50%}.hero-bottom{position:absolute;bottom:0;width:100%;padding:25px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:24px}.edition{font-size:10px;letter-spacing:1.3px}.slash{margin:0 13px;color:var(--muted)}.motion-controls{display:flex;align-items:center;gap:28px}.mode-group{display:flex;gap:7px}.mode{border:1px solid transparent;background:transparent;padding:10px 14px;border-radius:25px;font-size:12px;transition:background .3s,border-color .3s}.mode span{font-size:9px;margin-right:8px;color:var(--muted)}.mode.active{background:var(--accent);color:#22291e}.mode.active span{color:#46512c}.mode:hover{border-color:var(--line)}.pause-button{border:0;border-left:1px solid var(--line);padding:9px 0 9px 23px;background:transparent;display:flex;align-items:center;gap:8px;font-size:11px;min-width:122px}.pause-icon{font-size:15px;width:15px}.site-footer{min-height:74px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);letter-spacing:.15px}.footer-status{font-size:9px;letter-spacing:1.2px}.footer-status span{font-size:17px;margin-right:8px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);padding:15px;z-index:100}.skip-link:focus{top:10px}.reveal{animation:arrive 1.2s cubic-bezier(.2,.7,.1,1) both}.eyebrow.reveal{animation-delay:.08s}h1.reveal{animation-delay:.17s}.intro.reveal{animation-delay:.3s}.contact-link.reveal{animation-delay:.4s}body.motion-paused *,body.motion-paused *::before{animation-play-state:paused!important}body.dark{--paper:#141c17;--ink:#edf0df;--muted:#a5af9d;--line:#354035;--orb:#c9ec7e;color-scheme:dark}body.dark .ambient-one{background:#728c242b}body.dark .ambient-two{background:#4a5b2d33}body.dark .icon-button:hover{color:#22291e}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{from{transform:translate(0,0) scale(.9)}to{transform:translate(-20px,25px) scale(1.1)}}@keyframes pulse{50%{box-shadow:0 0 0 8px #82964005}}
@media(min-width:1600px){.hero-copy{padding-top:100px;padding-bottom:170px}.energy-stage{max-height:850px;top:50%;transform:translateY(-55%)}}
@media(max-width:1050px){.site-shell{padding:0 30px}.header-note{display:none}.hero-copy{width:75%}h1{font-size:clamp(52px,7.6vw,80px)}.energy-stage{right:-15px;width:62%;opacity:.85}.edition{max-width:180px;line-height:1.8}.motion-controls{gap:12px}.mode{padding:9px 10px}.pause-button{padding-left:14px}.hero{min-height:720px}}
@media(max-width:900px){.site-shell{padding:0 22px}.site-header{height:84px}.brand{font-size:21px;gap:10px}.brand-mark{width:27px;height:31px}.header-right{gap:12px}.header-contact{font-size:0;padding-left:12px}.header-contact span{font-size:23px;margin:0}.hero{min-height:0;display:block}.hero-copy{width:100%;padding:44px 0 0}.eyebrow{margin-bottom:26px;font-size:11px}h1{font-size:clamp(43px,10.4vw,72px);margin-bottom:24px;letter-spacing:-.062em}.intro{max-width:355px;gap:15px}.intro p{font-size:14px;line-height:1.65}.intro-line{width:24px}.contact-link{margin-left:39px;margin-top:20px}.energy-stage{position:relative;width:100%;height:350px;min-height:0;right:auto;top:auto;margin:-5px 0 0;opacity:1}.sculpture{inset:-14% -10% -3%}.figure-meta{left:0;bottom:10px;font-size:8px}.orbit-label{right:0;top:70px;font-size:8px}.hero-bottom{position:relative;padding:19px 0;display:block}.edition{display:none}.motion-controls{justify-content:space-between;gap:7px}.mode-group{gap:2px}.mode{padding:9px 9px;font-size:11px}.mode span{margin-right:4px;font-size:8px}.pause-button{min-width:0;padding-left:12px;font-size:10px;gap:5px}.site-footer{min-height:85px;font-size:9px;gap:12px;flex-wrap:wrap;padding:21px 0}.footer-status{display:none}.brand-logo{max-width:185px;max-height:45px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body.motion-paused .reveal{animation:none!important}
@media(max-width:380px){.mode span{display:none}.pause-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pause-button{padding:9px 6px 9px 12px}.mode{padding:9px 12px}}
