/*
Theme Name: Vertex Circuit
Author: Vertex Structural Enterprises
Description: Custom VSE homepage with animated gold circuitry. Preview before activation.
Version: 0.4.6
Requires PHP: 7.4
*/
:root{--gold:#e9bd62;--ink:#090b0c;--muted:#aaaeb0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f5f3ed;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.wrap{max-width:1280px;margin:auto;padding:0 6%}.skip{position:absolute;top:-100px}.skip:focus{top:40px;z-index:20;background:#000;padding:15px}header{border-bottom:1px solid #ffffff20;background:#090b0cf0}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:98px;gap:25px}.brand{display:flex;gap:14px;align-items:center}.brand img{width:65px;height:65px;object-fit:contain}.brand strong{font-size:24px;letter-spacing:4px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:6px}nav{display:flex;align-items:center;gap:30px;font-size:12px}.btn{display:inline-block;padding:17px 24px;background:var(--gold);color:#17140c;font-size:12px;font-weight:700;letter-spacing:.6px;border:1px solid var(--gold)}.btn.outline{color:#f4efe3;background:transparent;border-color:#ffffff50}.hero{position:relative;overflow:hidden;min-height:690px;display:flex;align-items:center}.circuit{position:absolute;inset:0;background:linear-gradient(90deg,#090b0cf7 0%,#090b0cce 42%,#090b0c22 100%),url('assets/circuit.webp') center/cover}.traces{position:absolute;inset:0;width:100%;height:100%;opacity:.6}.traces path{fill:none;stroke:#ffd883;stroke-width:2;stroke-dasharray:12 240;animation:flow 7s linear infinite;filter:drop-shadow(0 0 6px #ffb332)}.traces path:nth-child(2){animation-delay:-3s}.hero-grid{position:relative;width:100%;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding-top:70px;padding-bottom:80px}.eyebrow{font-size:10px;letter-spacing:2.8px;color:var(--gold);text-transform:uppercase;font-weight:700}h1{font-size:clamp(42px,4.7vw,66px);line-height:1.06;font-weight:500;letter-spacing:-2px;margin:23px 0}h1 em{font-style:normal;color:var(--gold)}.intro{max-width:450px;font-size:15px;line-height:1.85;color:#c4c6c5}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-logo{width:100%;max-width:460px;filter:drop-shadow(0 10px 35px #000);justify-self:center}.hero-foot{margin-top:40px;font-size:10px;letter-spacing:2px;color:#9da3a3}.strip{border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;background:#101314}.strip .wrap{display:flex;justify-content:space-between;gap:25px;padding-top:24px;padding-bottom:24px;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#b7b9b6}.strip span:before{content:'+';color:var(--gold);margin-right:14px}section.content{padding:90px 0}h2{font-weight:400;font-size:clamp(30px,3vw,43px);line-height:1.16;letter-spacing:-1px;margin:18px 0 23px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-top p{max-width:360px;font-size:14px;line-height:1.8;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}.service{padding:35px 30px 35px 0}.service+.service{border-left:1px solid #ffffff25;padding-left:30px}.num{color:var(--gold);font-size:11px;letter-spacing:2px}.service h3{font-size:21px;line-height:1.3;font-weight:400;margin:35px 0 16px}.service p,.about p{font-size:14px;line-height:1.9;color:var(--muted)}.service a{display:inline-block;margin-top:20px;font-size:11px;color:var(--gold)}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-art{padding:35px;background:radial-gradient(ellipse,#85632c22,transparent 70%);border:1px solid #ffffff18}.about-art img{width:100%;display:block}.about p{max-width:480px}.contact{background:#e8bd69;color:#151612;padding:65px 0}.contact .wrap{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact h2{margin:10px 0}.contact .eyebrow{color:#554020}.contact p{font-size:14px;max-width:480px;line-height:1.8}.contact .btn{background:#101314;color:#fff;border-color:#101314}footer{padding:35px 0;color:#9b9e9c;font-size:10px}footer .wrap{display:flex;justify-content:space-between;gap:25px}.motion{position:absolute;bottom:20px;right:25px;background:#090b0cbb;color:#c5c5c5;border:1px solid #ffffff40;padding:8px 12px;font-size:10px;cursor:pointer}.paused .traces path{animation-play-state:paused}@keyframes flow{to{stroke-dashoffset:-1008}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.traces path{animation:none}}@media(max-width:760px){header .wrap{min-height:80px}.brand strong{font-size:19px}.brand img{width:48px;height:48px}nav a:not(.btn){display:none}nav .btn{padding:12px}.hero-grid{grid-template-columns:1fr;padding-top:55px;gap:35px}.hero-logo{max-width:290px}.hero h1{max-width:510px}.circuit{background-image:linear-gradient(#090b0cba,#090b0ca0),url('assets/circuit.webp')}.hero-foot{margin-top:25px}.strip .wrap{flex-wrap:wrap;gap:18px}.section-top{display:block}.services{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid #ffffff25;padding-left:0}.about{grid-template-columns:1fr;gap:40px}.about-art{max-width:400px}.contact .wrap{display:block}.contact .btn{margin-top:20px}section.content{padding:60px 0}footer .wrap{flex-direction:column}}

.in-gold{color:#ffe39a;text-shadow:0 0 12px #f2ad39,0 0 25px #f2ad3988}.entrance{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;text-align:center;border-bottom:1px solid #a7814455}.entrance-board{position:absolute;inset:0;background:linear-gradient(#08090bc4,#08090be8),url('assets/circuit.webp') center/cover}.entrance-inner{position:relative;padding:45px 20px;max-width:700px}.entrance-inner img{width:min(74vw,440px);display:block;margin:0 auto 25px}.entrance h2{font-size:clamp(20px,2.6vw,30px);letter-spacing:0}.entrance p{font-size:12px;color:#c4b89f;margin-bottom:28px}.services{grid-template-columns:repeat(3,1fr)}.service:nth-child(4){border-left:0;padding-left:0}.service:nth-child(n+4){border-top:1px solid #ffffff25}.hero-foot{text-transform:none;letter-spacing:1px}.circuit{opacity:var(--board-opacity,1)}@media(max-width:760px){.services{grid-template-columns:1fr}.service:nth-child(n){border-left:0;padding-left:0}.entrance-inner img{max-height:55svh;object-fit:contain}}

/* Staging continuation: page routes, keyboard navigation, and local brief builder. */
.menu-toggle{display:none}.footer-links{display:flex;gap:22px;flex-wrap:wrap}nav a[aria-current=page]{color:var(--gold)}.page-heading{padding:88px 0 65px;border-bottom:1px solid #ffffff20;background:radial-gradient(at 90% 0,#a37c2a22,transparent 60%)}.page-heading h1{max-width:900px}.page-heading p{color:var(--muted);line-height:1.8}.inner-main{min-height:70vh}.reading p{line-height:1.85;color:#b9bdbd;max-width:760px}.reading .lead{font-size:19px;color:#e6e1d4;max-width:800px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:50px}.detail-card{border:1px solid #ffffff25;padding:32px}.detail-card h2{font-size:29px}.text-link{display:inline-block;margin-top:15px;color:var(--gold)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px;border-top:1px solid #ffffff25;padding-top:35px}.steps h3{font-size:24px;font-weight:400}.editorial-panel{max-width:780px;padding:45px;border:1px solid #b08d493d;background:#111516}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:40px 0 20px}label{display:grid;gap:10px;font-size:13px;color:#e3ddcf}.wide{grid-column:1/-1}input,select,textarea{width:100%;font:inherit;font-size:16px;color:#f5f3ed;background:#14191b;border:1px solid #70736e;padding:14px;border-radius:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}textarea{resize:vertical}.reading .form-note{font-size:12px;max-width:800px}.reading button{cursor:pointer;margin:10px 12px 10px 0}#brief-result{margin-top:50px;padding:35px;border:1px solid #bc9655;scroll-margin-top:30px}#brief-text{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.9 Arial,sans-serif;color:#eee4d3}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}address{font-style:normal;border-left:1px solid #ffffff25;padding-left:35px}address a{overflow-wrap:anywhere;color:var(--gold)}.prose{max-width:800px}.prose h2{font-size:28px;margin-top:40px}.notice{border-left:2px solid var(--gold);padding:12px 20px;background:#e9bd620a}.btn:hover{filter:brightness(1.1)}a:hover{text-decoration:underline;text-underline-offset:5px}.btn:hover{text-decoration:none}[hidden]{display:none!important}
@media(max-width:1000px){header .wrap{flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.menu-toggle{display:block;background:transparent;color:var(--gold);border:1px solid #777;padding:12px;font:inherit}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:12px 0}nav.is-open{display:flex}nav a,nav a:not(.btn){display:block;padding:15px;border-top:1px solid #ffffff20}nav .btn{margin-top:10px;text-align:center}.contact-grid{gap:35px}}
@media(max-width:760px){.detail-grid,.form-grid,.steps,.contact-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-heading{padding:55px 0 35px}.detail-card,.editorial-panel,#brief-result{padding:25px}.steps{gap:20px}address{border-left:0;border-top:1px solid #ffffff25;padding:25px 0 0}.reading .lead{font-size:17px}.brand small{letter-spacing:1px}}

.contact-widget{position:fixed;right:22px;bottom:22px;z-index:50;max-width:calc(100vw - 32px)}.chat-panel{position:absolute;right:0;bottom:70px;width:330px;max-width:calc(100vw - 32px);max-height:70svh;overflow:auto;background:#101516;border:1px solid #ba9755;padding:25px;box-shadow:0 12px 40px #0009}.chat-panel h2{font-size:24px;margin-top:0}.chat-panel p{font-size:13px;line-height:1.7;color:#bbc1c0}.chat-panel .text-link{display:block;font-size:14px}.lisa-pending{color:var(--gold);font-weight:700}footer{padding-bottom:100px}

/* Full-screen circuit entrance. Image and animated paths share one coordinate system. */
.entrance-board{background:#07090b}.entrance-circuit{position:absolute;inset:0;width:100%;height:100%;display:block}.entrance-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#05070922 0%,#05070955 60%,#05070988 100%)}.entrance-inner{z-index:2;text-shadow:0 2px 15px #000}.entrance-inner img{filter:drop-shadow(0 4px 20px #0009)}.entrance h2{color:#fff}.entrance p{color:#f2e5c8}.entrance-circuit .electrical-pulse{fill:none;stroke:#ffe6a2;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:65 935;filter:drop-shadow(0 0 4px #ffb72e) drop-shadow(0 0 9px #f6a728);animation:vse-electric var(--trace-speed,5s) linear infinite;animation-delay:var(--trace-delay,0s)}.electrical-node{fill:#fff1c3;filter:drop-shadow(0 0 7px #ffb32e);animation:vse-node 4.5s ease-in-out infinite;animation-delay:var(--node-delay,0s)}@keyframes vse-electric{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes vse-node{0%,100%{opacity:.35}50%{opacity:1}}.intro-motion{position:absolute;left:22px;bottom:22px;z-index:3;background:#0a1010d9;color:#f0d69a;border:1px solid #b18d4d;padding:11px 15px;font:12px Arial,sans-serif;cursor:pointer}.entrance.electrical-paused .electrical-pulse,.entrance.electrical-paused .electrical-node{animation-play-state:paused}.vse-js body.vse-intro-active{overflow:hidden}.vse-js .vse-intro-active .entrance{position:fixed;inset:0;z-index:100;min-height:100svh;overflow:auto}.vse-js .vse-intro-active>header,.vse-js .vse-intro-active>.contact-widget,.vse-js .vse-intro-active>footer,.vse-js .vse-intro-active>.vse-cp-footer{visibility:hidden}.vse-js .vse-intro-active #main{display:none}.vse-js .intro-complete .entrance{display:none}.vse-js .vse-intro-active .skip:focus{z-index:110}.admin-bar.vse-intro-active .entrance{top:32px;min-height:calc(100svh - 32px)}
@media(max-width:782px){.admin-bar.vse-intro-active .entrance{top:46px;min-height:calc(100svh - 46px)}}
@media(max-width:760px){.entrance-inner{padding:55px 24px 95px}.entrance-inner img{width:min(78vw,360px);max-height:48svh;object-fit:contain}.entrance h2{font-size:23px;line-height:1.35}.intro-motion{left:16px;bottom:16px;font-size:11px}.entrance-circuit .electrical-pulse{stroke-width:2.7}}
@media(prefers-reduced-motion:reduce){.entrance-circuit .electrical-pulse,.electrical-node{animation:none}.intro-motion{display:none}}

.entrance .entrance-notice{font-size:11px;line-height:1.65;max-width:470px;margin:20px auto 12px;color:#d9d2c3}.entrance-policy-links{display:flex;justify-content:center;gap:22px;font-size:11px;color:#ead4a4}.entrance-policy-links a{text-decoration:underline;text-underline-offset:3px}.entrance .enter-site{min-width:190px}.entrance-inner img{max-height:45svh;object-fit:contain;margin-bottom:15px}.entrance h2{margin:12px 0}.entrance p{margin-top:10px;margin-bottom:20px}@media(max-height:700px){.entrance-inner{padding-top:25px;padding-bottom:70px}.entrance-inner img{max-height:34svh}.entrance h2{font-size:21px}.entrance .entrance-notice{margin-top:12px}.entrance .enter-site{padding:13px 22px}}

/* 0.4.1: animate only highlights sampled from the original artwork. */
.entrance-circuit .aligned-pulse{fill:none;stroke:#fff;stroke-width:20;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:75 925;animation:vse-electric var(--trace-speed,9s) linear infinite;animation-delay:var(--trace-delay,0s)}.source-electric-light{opacity:.55}.entrance.electrical-paused .aligned-pulse{animation-play-state:paused}.entrance-shade{background:radial-gradient(ellipse at 50% 47%,#050709c2 0%,#05070999 23%,#05070950 44%,#05070920 72%,#05070955 100%)}.entrance-inner{text-shadow:0 2px 14px #000,0 1px 4px #000}.entrance .entrance-notice{color:#f0e9db;font-size:12px;line-height:1.7;background:#080c0dcc;border:1px solid #c6a25b40;padding:13px 17px;border-radius:5px}.entrance-policy-links{font-size:12px;color:#fff0cf}.entrance-policy-links a{background:#080c0dcc;padding:5px 9px;border-radius:3px}.entrance .enter-site{min-height:56px;min-width:210px;padding:19px 30px;box-shadow:0 0 0 5px #090c0c88,0 8px 24px #0007}.entrance-inner>p:not(.entrance-notice){color:#f4eddf}.entrance-inner img{filter:drop-shadow(0 5px 24px #000)}
@media(max-width:760px){.entrance-circuit .aligned-pulse{stroke-width:17}.entrance .entrance-notice{font-size:12px;max-width:350px}.entrance .enter-site{min-width:220px}.source-electric-light{opacity:.4}}
@media(prefers-reduced-motion:reduce){.entrance-circuit .aligned-pulse{animation:none}.source-electric-light{opacity:0}}

/* 0.4.2: direct visible pulses; no image threshold or SVG mask dependency. */
.entrance-circuit .vse-visible-pulse{fill:none;stroke:#fff3c7;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:95 905;opacity:1;filter:drop-shadow(0 0 3px #ffbf40) drop-shadow(0 0 7px #f8a719);animation:vse-visible-electric var(--pulse-duration,4.5s) linear infinite;animation-delay:var(--pulse-delay,0s)}@keyframes vse-visible-electric{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.entrance.electrical-paused .vse-visible-pulse{animation-play-state:paused}
@media(max-width:760px){.entrance-circuit .vse-visible-pulse{stroke-width:3.6}}
@media(prefers-reduced-motion:reduce){.entrance-circuit .vse-visible-pulse{animation:none;opacity:.35}}

/* 0.4.3: v0.4.0 city-like density with uniform, miniature light packets. */
.entrance-circuit .city-pulse{fill:none;stroke:#fff0bd;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24 176;opacity:.92;filter:drop-shadow(0 0 2px #ffc451);animation:vse-city-flow 6s linear infinite;animation-delay:var(--city-delay,0s)}.city-node{fill:#ffe5a3;filter:drop-shadow(0 0 3px #ffbf42);animation:vse-city-node 4s ease-in-out infinite;animation-delay:var(--city-delay,0s)}@keyframes vse-city-flow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes vse-city-node{0%,100%{opacity:.35}50%{opacity:.95}}.entrance.electrical-paused .city-pulse,.entrance.electrical-paused .city-node{animation-play-state:paused}
@media(max-width:760px){.entrance-circuit .city-pulse{stroke-width:2}.city-node{r:2}}
@media(prefers-reduced-motion:reduce){.entrance-circuit .city-pulse,.city-node{animation:none;opacity:.35}}

/* 0.4.4: elongated, brighter trains on the entrance AND the homepage. */
.entrance-circuit .city-pulse,.hero-circuit .city-pulse{fill:none;stroke:#fff0bd;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100 440;opacity:.95;filter:drop-shadow(0 0 3px #ffc451) drop-shadow(0 0 6px #e9a22c);animation:vse-bullet-train 4s linear infinite;animation-delay:var(--city-delay,0s)}@keyframes vse-bullet-train{from{stroke-dashoffset:540}to{stroke-dashoffset:0}}.hero-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:var(--board-opacity,1)}.hero-circuit .city-circuit{opacity:.65}.entrance.electrical-paused .city-pulse,.entrance.electrical-paused .city-node,.paused .hero-circuit .city-pulse,.paused .hero-circuit .city-node{animation-play-state:paused}
@media(max-width:760px){.entrance-circuit .city-pulse,.hero-circuit .city-pulse{stroke-width:3.5;stroke-dasharray:110 430}}
@media(prefers-reduced-motion:reduce){.entrance-circuit .city-pulse,.hero-circuit .city-pulse{animation:none;opacity:.35}.hero-circuit .city-node{animation:none}}

/* 0.4.5 — illuminated, chamfered ENTER control. */
.enter-shell{display:inline-block;margin:12px auto 5px;filter:drop-shadow(0 0 10px #f1bc4c50) drop-shadow(0 10px 22px #0009);animation:vse-enter-breathe 3.6s ease-in-out infinite;isolation:isolate}.entrance .enter-site{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:30px;isolation:isolate;overflow:hidden;width:286px;min-width:0;height:84px;min-height:0;padding:0 30px;color:#fff0c3;background:#84622a;border:0;border-radius:0;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);box-shadow:none;text-shadow:0 0 20px #ffd47a66;text-decoration:none;transition:transform .22s ease,filter .22s ease}.entrance .enter-site::before{content:'';position:absolute;z-index:-2;inset:-170%;background:conic-gradient(from 0deg,#6c4f20 0deg,#9f7831 65deg,#ffd16a 95deg,#fff9de 112deg,#9f7831 135deg,#6c4f20 180deg,#c69d50 245deg,#fff9de 290deg,#ffd16a 310deg,#6c4f20 360deg);animation:vse-enter-orbit 4.5s linear infinite}.entrance .enter-site::after{content:'';position:absolute;z-index:-1;inset:2px;background:linear-gradient(115deg,#292317 0%,#111715 45%,#191d17 70%,#3c2f18 100%);clip-path:polygon(17px 0,100% 0,100% calc(100% - 17px),calc(100% - 17px) 100%,0 100%,0 17px);box-shadow:inset 0 0 22px #e9b75d10}.enter-word{font:700 23px/1 Arial,sans-serif;letter-spacing:7px;margin-left:8px}.enter-arrow{width:28px;height:28px;fill:none;stroke:#ffe6a2;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s ease}.enter-rail{position:absolute;left:20px;top:17px;width:28px;height:2px;background:#cfa657;box-shadow:0 47px 0 #cfa65780}.enter-sweep{pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 30%,#ffe5a214 45%,#fff7d633 50%,transparent 65%);transform:translateX(-140%);animation:vse-enter-shine 5s ease-in-out infinite}.entrance .enter-site:hover{transform:translateY(-3px);filter:brightness(1.2);text-decoration:none}.entrance .enter-site:hover .enter-arrow{transform:translateX(5px)}.entrance .enter-site:active{transform:translateY(0) scale(.98)}.enter-shell:focus-within{outline:3px solid #fff1b0;outline-offset:8px;border-radius:3px}.entrance .enter-site:focus-visible{outline:none;filter:brightness(1.3)}@keyframes vse-enter-orbit{to{transform:rotate(360deg)}}@keyframes vse-enter-breathe{0%,100%{filter:drop-shadow(0 0 9px #f1bc4c40) drop-shadow(0 10px 22px #0009)}50%{filter:drop-shadow(0 0 19px #f1bc4c75) drop-shadow(0 10px 22px #0009)}}@keyframes vse-enter-shine{0%,35%{transform:translateX(-140%)}65%,100%{transform:translateX(140%)}}.electrical-paused .enter-shell,.electrical-paused .enter-site::before,.electrical-paused .enter-sweep{animation-play-state:paused}
@media(max-width:760px){.entrance .enter-site{width:260px;height:76px;gap:24px}.enter-word{font-size:22px;letter-spacing:6px}.enter-rail{top:13px}}
@media(max-height:700px){.entrance .enter-site{height:68px;padding:0 24px}.enter-rail{top:10px;box-shadow:0 45px 0 #cfa65780}.enter-shell{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.enter-shell,.entrance .enter-site::before,.enter-sweep{animation:none}.enter-sweep{display:none}.entrance .enter-site,.enter-arrow{transition:none}.entrance .enter-site:hover,.entrance .enter-site:hover .enter-arrow{transform:none}}
