/* ===== LUMINARCH — SHARED STYLES ===== */

/* RESET */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'General Sans',-apple-system,sans-serif;font-weight:400;color:#F5F2EE;background:#0A0A0A;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* Hide default cursor on desktop — replaced by gold particle trail */
@media(pointer:fine){
  *,*::before,*::after{cursor:none !important}
}
::selection{background:#D4AF37;color:#0A0A0A}

/* VARIABLES */
:root{
  --black:#0A0A0A;--white:#F5F2EE;
  --accent:#D4AF37;--accent-light:#F5D060;--accent-dim:rgba(212,175,55,0.12);--accent-glow:rgba(212,175,55,0.35);
  --gray-dark:#1A1A1A;--gray-mid:#3A3A3A;--gray-light:#8A8A8A;--gray-muted:#C0C0C0;
  --font-display:'Instrument Serif',Georgia,serif;--font-body:'General Sans',-apple-system,sans-serif;
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);--nav-height:72px;--pad:clamp(24px,5vw,80px)
}

/* TYPOGRAPHY */
.h-display{font-family:var(--font-display);font-size:clamp(3rem,8vw,8rem);line-height:.95;letter-spacing:-.02em;font-weight:400}
.h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5.5rem);line-height:1;letter-spacing:-.02em;font-weight:400}
.h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;font-weight:400}
.h3{font-family:var(--font-body);font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.3;font-weight:500}
.body-lg{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6;font-weight:300}
.body-sm{font-size:.875rem;line-height:1.5;font-weight:400;letter-spacing:.02em}
.label{font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.accent-text{color:var(--accent);text-shadow:0 0 20px var(--accent-glow)}
.hero__title .accent-text{background:linear-gradient(90deg,var(--accent) 0%,#F5D060 40%,#FFF4D2 50%,#F5D060 60%,var(--accent) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:goldShimmer 4s ease-in-out infinite}
@keyframes goldShimmer{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}
.italic{font-style:italic}

/* LAYOUT */
.container{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding:clamp(80px,12vh,160px) 0}
.section--tight{padding:clamp(40px,6vh,80px) 0}
.divider{width:100%;height:1px;background:var(--gray-mid)}

/* GRAIN OVERLAY */
.grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:9998;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E")}

/* CURSOR */
.cursor-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:10000;mix-blend-mode:difference;transition:transform .15s ease;transform:translate(-50%,-50%)}
.cursor-dot.hovering{transform:translate(-50%,-50%) scale(4);opacity:.5}

/* GLOBAL BACKGROUND LINES */
.bg-lines{position:fixed;inset:0;z-index:1;pointer-events:none;display:flex;justify-content:space-between;padding:0 var(--pad)}
.bg-lines span{width:1px;height:100%;background:rgba(255,255,255,.08)}

/* PAGE LOADER — branded splash (first visit only) */
.page-loader{position:fixed;inset:0;background:var(--black);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1;transition:opacity .8s cubic-bezier(.4,0,.2,1),visibility .8s}
.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.page-loader.skip{display:none}
.page-loader__logo{width:120px;height:auto;opacity:0;transform:scale(.85);animation:splashLogoIn .8s var(--ease-out-expo) .15s forwards;filter:drop-shadow(0 0 30px var(--accent-glow))}
.page-loader__line{width:60px;height:1px;background:var(--gray-mid);margin-top:28px;position:relative;overflow:hidden;opacity:0;animation:splashFadeIn .4s ease .4s forwards}
.page-loader__line::after{content:'';position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:splashLineSlide 1s var(--ease-out-expo) .5s forwards}
.page-loader__text{margin-top:16px;font-size:.625rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gray-mid);opacity:0;animation:splashFadeIn .4s ease .6s forwards}
@keyframes splashLogoIn{to{opacity:1;transform:scale(1)}}
@keyframes splashFadeIn{to{opacity:1}}
@keyframes splashLineSlide{to{transform:translateX(0)}}

/* QUICK PAGE FADE (internal navigation) */
.page-fade{position:fixed;inset:0;background:var(--black);z-index:9999;pointer-events:none;opacity:1;transition:opacity .35s ease}
.page-fade.done{opacity:0}

/* SCROLL PROGRESS BAR */
.scroll-progress{position:fixed;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-light));z-index:10001;pointer-events:none;transition:none}

/* BACK TO TOP */
.back-to-top{position:fixed;bottom:32px;right:32px;width:44px;height:44px;border:1px solid var(--gray-mid);background:rgba(10,10,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;z-index:999;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease,border-color .3s ease;pointer-events:none;border-radius:2px}
.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:all}
.back-to-top:hover{border-color:var(--accent);background:rgba(212,175,55,.08)}

/* LAZY IMAGE FADE */
img[loading="lazy"]{opacity:0;transition:opacity .6s ease}
img[loading="lazy"].loaded,img[loading="lazy"].visible-img{opacity:1}

/* LEGACY fallback */
.page-transition{display:none}

/* NAV */
.nav{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);z-index:1000;display:flex;align-items:center;padding:0 var(--pad);transition:background .4s ease}
.nav.scrolled{background:rgba(10,10,10,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;margin:0 auto}
.nav__logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.125rem;letter-spacing:.08em;text-transform:uppercase}
.nav__logo-icon{height:32px;width:auto;filter:drop-shadow(0 0 8px var(--accent-glow));transition:transform .3s ease}
.nav__logo:hover .nav__logo-icon{transform:scale(1.05)}
.nav__logo-text{color:var(--accent);font-size:1rem;letter-spacing:.1em}
.nav__links{display:flex;align-items:center;gap:40px}
.nav__link{font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;position:relative;padding:4px 0;transition:color .3s ease}
.nav__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .4s var(--ease-out-expo)}
.nav__link:hover::after,.nav__link.active::after{width:100%}
.nav__link:hover,.nav__link.active{color:var(--accent)}
.nav__cta{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:10px 24px;border:1px solid var(--accent);color:var(--accent);transition:all .3s ease;box-shadow:0 0 0 transparent}
.nav__cta:hover{background:var(--accent);color:var(--black);box-shadow:0 0 20px rgba(212,175,55,0.3),0 0 40px rgba(212,175,55,0.1)}
.nav__toggle{display:none;flex-direction:column;gap:6px;width:28px;cursor:pointer;z-index:1001}
.nav__toggle span{display:block;width:100%;height:1.5px;background:var(--white);transition:all .3s ease}
.nav__toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav__toggle.open span:nth-child(2){opacity:0}
.nav__toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.nav__mobile-menu{position:fixed;top:0;right:-100%;width:100%;height:100vh;height:100dvh;background:var(--black);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;transition:right .5s var(--ease-out-expo)}
.nav__mobile-menu.open{right:0}
.nav__mobile-menu a{font-family:var(--font-display);font-size:2.5rem;transition:color .3s ease}
.nav__mobile-menu a:hover{color:var(--accent)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:16px 36px;border:1px solid var(--accent);color:var(--accent);background:transparent;position:relative;overflow:hidden;transition:color .4s ease;cursor:pointer}
.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--accent);transition:left .4s var(--ease-out-expo);z-index:-1}
.btn:hover::before{left:0}
.btn:hover{color:var(--black);box-shadow:0 0 24px rgba(212,175,55,0.25),0 0 48px rgba(212,175,55,0.08)}
.btn--filled{background:var(--accent);color:var(--black);box-shadow:0 0 12px rgba(212,175,55,0.15)}
.btn--filled::before{background:var(--white)}
.btn--filled:hover{box-shadow:0 0 28px rgba(212,175,55,0.35),0 0 56px rgba(212,175,55,0.12)}
.btn .btn-arrow{transition:transform .3s ease}
.btn:hover .btn-arrow{transform:translateX(4px)}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.25,.46,.45,.94),transform .9s var(--ease-out-expo)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-line{overflow:hidden;display:block}
.reveal-line__inner{display:block;transform:translateY(105%);transition:transform .9s var(--ease-out-expo)}
.reveal-line.visible .reveal-line__inner{transform:translateY(0)}
.stagger-children .reveal:nth-child(1){transition-delay:0s}
.stagger-children .reveal:nth-child(2){transition-delay:.1s}
.stagger-children .reveal:nth-child(3){transition-delay:.15s}
.stagger-children .reveal:nth-child(4){transition-delay:.2s}

/* CONTENT Z-INDEX (above particles + bg-lines) */
.hero,.section,.section--tight,.marquee,.footer,.page-header,.cta-section,.stats-section,.hscroll-wrap{position:relative;z-index:2}

/* HERO */
.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:var(--nav-height);overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__grid-lines{position:absolute;inset:0;display:flex;justify-content:space-between;padding:0 var(--pad)}
.hero__grid-lines span{width:1px;height:100%;background:rgba(255,255,255,.08)}
.hero__logo-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(40px,6vh,64px);will-change:transform,opacity}
.hero__logo-img{width:clamp(180px,22vw,280px);height:auto;opacity:0;transform:scale(.7);filter:drop-shadow(0 0 60px var(--accent-glow)) drop-shadow(0 0 120px rgba(212,175,55,0.2));transition:transform .6s ease,filter .6s ease}
.hero__logo-img.logo-visible{opacity:1;transform:scale(1);animation:logoEntrance 1.2s var(--ease-out-expo) forwards}
.hero__logo-img:hover{transform:scale(1.04);filter:drop-shadow(0 0 70px var(--accent-glow)) drop-shadow(0 0 140px rgba(212,175,55,0.3))}
@keyframes logoEntrance{0%{opacity:0;transform:scale(.7);filter:drop-shadow(0 0 0 transparent)}40%{opacity:1;transform:scale(1.06);filter:drop-shadow(0 0 80px var(--accent-glow)) drop-shadow(0 0 160px rgba(212,175,55,0.35))}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 60px var(--accent-glow)) drop-shadow(0 0 120px rgba(212,175,55,0.2))}}
.hero__content{position:relative;z-index:2;text-align:center;max-width:960px;padding:0 var(--pad)}
.hero__label{margin-bottom:24px;color:var(--gray-light)}
.hero__title{margin-bottom:clamp(28px,4vh,48px)}
.hero__bottom{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.hero__desc{max-width:520px;color:var(--gray-muted);text-align:center}
.hero__ctas{display:flex;gap:16px;margin-top:28px;flex-wrap:nowrap;justify-content:center}
.hero__scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.hero__scroll-line{width:1px;height:48px;background:var(--gray-mid);position:relative;overflow:hidden}
.hero__scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--accent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%{top:-100%}50%{top:100%}100%{top:100%}}

/* MARQUEE */
.marquee{overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:clamp(16px,3vh,28px) 0}
.marquee__track{display:flex;align-items:center;gap:40px;white-space:nowrap;animation:marqueeScroll 25s linear infinite;width:max-content}
.marquee__item{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;letter-spacing:-.01em;color:var(--gray-light)}
.marquee__separator{font-size:.5rem;color:var(--accent);opacity:.6}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* PORTFOLIO */
.section-header{margin-bottom:clamp(40px,6vh,80px)}
.section-header .label{display:block;margin-bottom:12px}
.section-cta{margin-top:clamp(48px,6vh,72px);text-align:center}
.portfolio-showcase{display:flex;flex-direction:column;gap:clamp(32px,5vh,64px)}
.project-item{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;position:relative}
.project-item:nth-child(even){grid-template-columns:1fr 1.2fr}
.project-item:nth-child(even) .project-item__visual{order:2}
.project-item:nth-child(even) .project-item__info{order:1}
.project-item__visual{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/10}
.project-item__visual img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease-out-expo)}
.project-item:hover .project-item__visual img{transform:scale(1.03)}
.project-item__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(212,175,55,0) 0%,rgba(212,175,55,0.06) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.project-item:hover .project-item__overlay{opacity:1}
.project-item__visual-frame{position:absolute;inset:0;border:1px solid rgba(212,175,55,0);transition:border-color .4s ease;pointer-events:none;border-radius:2px}
.project-item:hover .project-item__visual-frame{border-color:rgba(212,175,55,0.15)}
.project-item__info{display:flex;flex-direction:column;gap:16px}
.project-item__num{font-family:var(--font-display);font-size:clamp(3rem,5vw,5rem);color:rgba(212,175,55,0.18);line-height:1;position:absolute;top:-10px;right:0}
.project-item:nth-child(even) .project-item__num{right:auto;left:0}
.project-item__title{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.1}
.project-item__desc{color:var(--gray-light);font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.7;max-width:480px}
.project-item__meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:8px}
.project-item__meta-tag{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-light);padding:6px 14px;border:1px solid var(--gray-mid);border-radius:2px;transition:all .3s ease}
.project-item__meta-tag:hover{border-color:var(--accent);color:var(--accent)}
.project-item__link{display:inline-flex;align-items:center;gap:10px;margin-top:8px;font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);transition:gap .3s ease}
.project-item__link:hover{gap:16px}
.project-item__link-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* SERVICES */
.services-list{border-top:1px solid var(--gray-mid)}
.service-row{display:grid;grid-template-columns:48px 1fr 1.5fr 40px;align-items:center;gap:24px;padding:clamp(20px,3vh,32px) 0;transition:all .3s ease;cursor:pointer;border-bottom:1px solid var(--gray-mid)}
.service-row:hover{padding-left:12px}
.service-row:hover .service-row__title{color:var(--accent)}
.service-row__num{color:var(--gray-light)}
.service-row__title{transition:color .3s ease}
.service-row__desc{color:var(--gray-light)}
.service-row__arrow{font-size:1.25rem;color:var(--gray-light);transition:transform .3s ease,color .3s ease;justify-self:end}
.service-row:hover .service-row__arrow{transform:translateX(6px);color:var(--accent)}

/* STATS */
.stats-section{border-top:1px solid var(--gray-mid);border-bottom:1px solid var(--gray-mid)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat__number{display:block;color:var(--accent);margin-bottom:8px}

/* CTA */
.cta-section{text-align:center}
.cta-section__inner{display:flex;flex-direction:column;align-items:center}
.cta-section__inner .reveal{display:flex;flex-direction:column;align-items:center}

/* FOOTER */
.footer{padding:clamp(60px,8vh,100px) 0 clamp(30px,4vh,50px);border-top:1px solid var(--gray-mid)}
.footer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;margin-bottom:clamp(60px,8vh,100px);flex-wrap:wrap}
.footer__brand{max-width:400px}
.footer__brand-name{font-size:1.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.footer__tagline{color:var(--gray-light);font-size:.9375rem;line-height:1.6}
.footer__columns{display:flex;gap:clamp(40px,6vw,100px);flex-wrap:wrap}
.footer__col-title{font-size:.6875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.footer__col a{display:block;font-size:.9375rem;color:var(--gray-light);padding:4px 0;transition:color .3s ease}
.footer__col a:hover{color:var(--white)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;border-top:1px solid var(--gray-mid);flex-wrap:wrap;gap:16px}
.footer__copyright{font-size:.8125rem;color:var(--gray-light)}
.footer__bottom-links{display:flex;gap:24px}
.footer__bottom-links a{font-size:.8125rem;color:var(--gray-light);transition:color .3s ease}
.footer__bottom-links a:hover{color:var(--accent)}

/* ===== PAGE-SPECIFIC: ABOUT ===== */
.page-header{padding-top:calc(var(--nav-height) + clamp(60px,10vh,120px));padding-bottom:clamp(40px,6vh,80px)}
.page-header__label{display:block;margin-bottom:12px;color:var(--gray-light)}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}
.about-intro__text{display:flex;flex-direction:column;gap:24px}
.about-intro__text p{color:var(--gray-light);line-height:1.7}
.about-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.value-card{padding:clamp(28px,3vw,40px);border:1px solid var(--gray-mid);border-radius:2px;transition:border-color .3s ease}
.value-card:hover{border-color:var(--accent);box-shadow:0 0 24px rgba(212,175,55,0.08),0 0 48px rgba(212,175,55,0.03)}
.value-card__number{font-family:var(--font-display);font-size:2.5rem;color:rgba(212,175,55,0.15);line-height:1;margin-bottom:16px}
.value-card__title{margin-bottom:12px}
.value-card__desc{color:var(--gray-light);font-size:.9375rem;line-height:1.6}

/* ===== PAGE-SPECIFIC: CONTACT ===== */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}
.contact-info{display:flex;flex-direction:column;gap:32px}
.contact-info__item-label{display:block;margin-bottom:8px;color:var(--gray-light)}
.contact-info__item-value{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.75rem)}
.contact-info__item-value a{transition:color .3s ease}
.contact-info__item-value a:hover{color:var(--accent)}
.contact-form{display:flex;flex-direction:column;gap:24px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-size:.6875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-light)}
.form-group input,.form-group textarea,.form-group select{background:var(--gray-dark);border:1px solid var(--gray-mid);color:var(--white);padding:14px 18px;font-family:var(--font-body);font-size:.9375rem;transition:border-color .3s ease;border-radius:2px;outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent)}
.form-group textarea{min-height:140px;resize:vertical}
.form-group select{appearance:none;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* ===== PAGE-SPECIFIC: WORK ===== */
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:clamp(24px,3vw,40px)}
.filter-bar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:clamp(32px,4vh,56px)}
.filter-btn{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 20px;border:1px solid var(--gray-mid);color:var(--gray-light);background:transparent;transition:all .3s ease;cursor:pointer;border-radius:2px}
.filter-btn:hover,.filter-btn.active{border-color:var(--accent);color:var(--accent)}

/* ===== PAGE-SPECIFIC: SERVICES ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}
.pricing-card{padding:clamp(32px,3vw,48px);border:1px solid var(--gray-mid);border-radius:2px;display:flex;flex-direction:column;transition:border-color .3s ease}
.pricing-card:hover{border-color:var(--accent);box-shadow:0 0 24px rgba(212,175,55,0.08),0 0 48px rgba(212,175,55,0.03)}
.pricing-card--featured{border-color:var(--accent);position:relative}
.pricing-card__badge{position:absolute;top:0;right:24px;background:var(--accent);color:var(--black);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px}
.pricing-card__name{margin-bottom:8px}
.pricing-card__price{font-family:var(--font-display);font-size:clamp(2.5rem,4vw,3.5rem);color:var(--accent);line-height:1;margin-bottom:4px}
.pricing-card__price-note{font-size:.8125rem;color:var(--gray-light);margin-bottom:24px}
.pricing-card__features{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px;flex:1}
.pricing-card__features li{font-size:.9375rem;color:var(--gray-light);padding-left:20px;position:relative}
.pricing-card__features li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-size:.75rem}

/* SERVICES PAGE — Service card grid */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.svc-card{background:rgba(26,26,26,0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gray-mid);border-radius:2px;padding:clamp(24px,3vw,40px);transition:border-color .4s ease,box-shadow .4s ease;position:relative;overflow:hidden}
.svc-card:hover{border-color:rgba(212,175,55,0.3);box-shadow:0 0 30px rgba(212,175,55,0.08),0 0 60px rgba(212,175,55,0.03)}
.svc-card__num{position:absolute;top:-8px;right:12px;font-family:var(--font-display);font-size:clamp(4rem,7vw,6rem);color:rgba(212,175,55,0.1);line-height:1;pointer-events:none;transition:color .4s ease}
.svc-card:hover .svc-card__num{color:rgba(212,175,55,0.16)}
.svc-card__icon{width:44px;height:44px;border:1px solid var(--accent-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:border-color .3s ease,background .3s ease}
.svc-card:hover .svc-card__icon{border-color:var(--accent);background:rgba(212,175,55,0.06)}
.svc-card__icon svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-card__title{margin-bottom:10px}
.svc-card__desc{color:var(--gray-light);font-size:.875rem;line-height:1.6;margin-bottom:16px}
.svc-card__features{display:flex;flex-wrap:wrap;gap:6px}
.svc-card__feat{font-size:.625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-muted);padding:5px 10px;border:1px solid rgba(255,255,255,.06);border-radius:2px;transition:border-color .3s ease,color .3s ease}
.svc-card:hover .svc-card__feat{border-color:rgba(212,175,55,0.12);color:var(--gray-light)}

/* What's Included visual checklist */
.included-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:clamp(24px,3vh,40px)}
.included-item{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid rgba(255,255,255,.06);border-radius:2px;background:rgba(26,26,26,0.3);transition:border-color .3s ease}
.included-item:hover{border-color:rgba(212,175,55,0.15)}
.included-item__check{width:20px;height:20px;border-radius:50%;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);font-size:.5rem}
.included-item__text{font-size:.8125rem;color:var(--gray-muted)}

/* Addon icons */
.addon__icon{width:32px;height:32px;border:1px solid var(--accent-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:12px}
.addon__icon svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Value comparison: LuminArch vs typical agency */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--gray-mid);border-radius:2px;overflow:hidden;margin-bottom:clamp(48px,6vh,80px)}
.compare__col{padding:clamp(28px,3vw,44px)}
.compare__col--them{background:rgba(26,26,26,0.5);border-right:1px solid var(--gray-mid)}
.compare__col--us{background:rgba(212,175,55,0.03)}
.compare__label{display:block;margin-bottom:16px}
.compare__price{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin-bottom:4px}
.compare__price--them{color:var(--gray-light);text-decoration:line-through;text-decoration-color:rgba(232,101,26,0.5);opacity:.6}
.compare__price--us{color:var(--accent);text-shadow:0 0 30px var(--accent-glow)}
.compare__note{font-size:.8125rem;color:var(--gray-light);margin-bottom:20px}
.compare__list{display:flex;flex-direction:column;gap:8px}
.compare__item{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--gray-muted)}
.compare__item::before{content:'';width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.5rem;line-height:1}
.compare__col--them .compare__item::before{background:rgba(232,101,26,0.1);color:#E8651A;content:'✕'}
.compare__col--us .compare__item::before{background:rgba(212,175,55,0.1);color:var(--accent);content:'✓'}
.compare__savings{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 20px;background:rgba(212,175,55,0.06);border:1px solid var(--accent-dim);border-radius:2px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}

/* Legacy service-block (kept for compatibility) */
.service-block{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,6vw,100px);padding:clamp(40px,6vh,80px) 0}
.service-block__header .label{display:block;margin-bottom:12px}
.service-block__body p{margin-bottom:24px;color:var(--gray-muted)}
.service-block__list li{font-size:.9375rem;color:var(--gray-light);padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);padding-left:16px;position:relative;transition:color .3s ease,padding-left .3s ease}
.service-block__list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.5;transition:opacity .3s ease}
.service-block__list li:hover{color:var(--white);padding-left:20px}
.service-block__list li:hover::before{opacity:1}

/* SERVICES PAGE — Process steps */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.process-step{padding:32px 0;border-top:1px solid var(--gray-mid)}
.process-step__num{display:block;margin-bottom:16px}
.process-step h3{margin-bottom:12px}

/* SERVICES PAGE — Pricing */
.pricing-main{border:1px solid var(--accent);padding:clamp(32px,4vw,48px);position:relative;overflow:hidden}
.pricing-main::before{content:'POPULAR';position:absolute;top:16px;right:-28px;background:var(--accent);color:var(--black);font-size:.6rem;font-weight:700;letter-spacing:.15em;padding:4px 40px;transform:rotate(45deg)}
.pricing-main__price{font-family:var(--font-display);font-size:clamp(3rem,5vw,4.5rem);color:var(--accent);line-height:1;margin-top:12px;text-shadow:0 0 30px var(--accent-glow)}
.pricing-main__title{font-size:1.25rem;font-weight:600;margin:8px 0 16px}
.pricing-main__features{margin-top:24px}
.pricing-main__features li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--gray-muted);font-size:.9375rem;padding-left:16px;position:relative}
.pricing-main__features li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.6}
.pricing-addons{display:flex;flex-direction:column;gap:12px}
.addon{border:1px solid var(--gray-mid);transition:border-color .3s ease}
.addon:hover{border-color:var(--accent)}
.addon__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .3s ease}
.addon__header:hover{background:rgba(255,255,255,.02)}
.addon__price{font-family:var(--font-display);font-size:1.25rem;color:var(--accent)}
.addon__toggle{font-size:1.25rem;color:var(--gray-light);transition:transform .3s ease}
.addon.open .addon__toggle{transform:rotate(180deg)}
.addon__body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 20px}
.addon.open .addon__body{max-height:200px;padding:0 20px 16px}
.addon__body p{font-size:.875rem;color:var(--gray-light);line-height:1.6}
.monthly-card{border:1px solid var(--gray-mid);padding:20px;margin-top:16px;text-align:center}
.monthly-card__price{font-family:var(--font-display);font-size:1.5rem;color:var(--accent)}

/* WORK PAGE — Full project cards */
.project-full{margin-bottom:clamp(60px,10vh,120px)}
.project-full__visual{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:21/10;margin-bottom:clamp(20px,3vh,32px)}
.project-full__visual img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease-out-expo)}
.project-full:hover .project-full__visual img{transform:scale(1.02)}
.project-full__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,0.5);opacity:0;transition:opacity .4s ease}
.project-full:hover .project-full__overlay{opacity:1}
.project-full__overlay-text{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:14px 28px;border:1px solid var(--accent);background:rgba(10,10,10,.7);backdrop-filter:blur(8px)}
.project-full__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.project-full__title{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.1}
.project-full__live{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:8px 16px;border:1px solid var(--accent);background:var(--accent-dim);flex-shrink:0}
.project-full__live::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}
.project-full__desc{color:var(--gray-light);font-size:clamp(.9rem,1.3vw,1.1rem);line-height:1.7;max-width:680px;margin-bottom:24px}
.project-full__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;padding-top:24px;border-top:1px solid var(--gray-mid)}
.project-full__detail-label{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-light);margin-bottom:4px}
.project-full__detail-value{font-size:.9rem;color:var(--gray-muted)}
.project-full__strengths{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.project-full__strength{font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border:1px solid var(--gray-mid);color:var(--gray-muted);border-radius:2px}

/* ABOUT PAGE */
.story-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(40px,6vw,100px)}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.team-member__photo{aspect-ratio:3/4;overflow:hidden}
.team-member__placeholder{width:100%;height:100%;background:var(--gray-dark);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-light);transition:background .4s ease}
.team-member:hover .team-member__placeholder{background:var(--gray-mid)}

/* CONTACT PAGE */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(60px,8vw,120px);align-items:start}
.contact-info__block a{transition:color .3s ease}
.contact-info__block a:hover{color:var(--accent)}
.contact-socials{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.contact-socials a{color:var(--gray-muted);transition:color .3s ease}
.contact-socials a:hover{color:var(--accent)}
.form-success{position:absolute;inset:0;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none;transition:opacity .5s ease}
.form-success.visible{opacity:1;pointer-events:all}
.form-success__icon{width:64px;height:64px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px}

/* MAGNETIC BUTTONS */
.magnetic{transition:transform .3s var(--ease-out-expo);will-change:transform}

/* 3D TILT CARDS */
.tilt-card{transition:transform .4s var(--ease-out-expo);will-change:transform;transform-style:preserve-3d}

/* PARTICLE CANVAS */
#particles{position:fixed;inset:0;z-index:1;pointer-events:none}

/* ===== VISUAL FILLERS ===== */

/* A — ROCKET ARC + FIREWORKS EXPLOSION (About page) */
.story-grid{position:relative;overflow:visible}

/* Arc container */
.rocket-arc{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:visible}
.rocket-arc__svg{position:absolute;inset:0;width:100%;height:120%;overflow:visible}

/* Gold arc trail */
.rocket-arc__path{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-linecap:round;opacity:0;transition:opacity .4s ease}
.rocket-arc__path.drawing{opacity:.4}
.rocket-arc__path.fading{opacity:0;transition:opacity 1.5s ease}

/* Rocket ship */
.rocket-arc__ship{position:absolute;width:72px;height:72px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.rocket-arc__ship.flying{opacity:1}
.rocket-arc__ship.crashed{opacity:0;transition:opacity .15s ease}
.rocket-arc__ship svg{width:100%;height:100%}

/* Flame flicker */
.ra-flame{transform-origin:60px 145px;animation:rocketFlame .12s ease-in-out infinite alternate}
.ra-flame--inner{animation-delay:.04s}
.ra-flame--core{animation-delay:.08s}
@keyframes rocketFlame{0%{transform:scaleY(1) scaleX(1)}100%{transform:scaleY(1.12) scaleX(.9)}}

/* ===== PURE CSS EXPLOSION (GPU compositor, zero main-thread work) ===== */
.rocket-arc__impact{position:absolute;pointer-events:none;z-index:12;opacity:0}
.rocket-arc__impact.exploding{opacity:1}

/* Flash — radial glow that appears and fades */
.impact-flash{position:absolute;left:-80px;top:-80px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(245,208,96,0.7) 0%,rgba(212,175,55,0.3) 40%,transparent 70%);opacity:0;will-change:transform,opacity}
.exploding .impact-flash{animation:impactFlash .7s ease-out forwards}
@keyframes impactFlash{0%{opacity:1;transform:scale(0.3)}30%{opacity:.8;transform:scale(1.2)}100%{opacity:0;transform:scale(2)}}

/* Expanding rings */
.impact-ring{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;border:1.5px solid #F5D060;opacity:0;will-change:transform,opacity}
.exploding .impact-ring{animation:impactRing .9s ease-out forwards}
.exploding .impact-ring--2{animation:impactRing .9s ease-out .1s forwards;border-color:#D4AF37}
@keyframes impactRing{0%{opacity:.6;transform:scale(1)}50%{opacity:.3;transform:scale(18)}100%{opacity:0;transform:scale(28)}}

/* Sparks — fly outward from center */
.impact-spark{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#F5D060;opacity:0;will-change:transform,opacity}
.exploding .impact-spark{animation:impactSpark .6s ease-out forwards}
@keyframes impactSpark{0%{opacity:1;transform:rotate(var(--a)) translateX(0)}40%{opacity:.8}100%{opacity:0;transform:rotate(var(--a)) translateX(clamp(40px,8vw,100px))}}

/* Keyword gold highlight */
.glow-word{display:inline;transition:color .7s ease,text-shadow .9s ease}
.glow-word.lit{color:#F5D060 !important;text-shadow:0 0 14px rgba(245,208,96,0.65),0 0 40px rgba(212,175,55,0.25)}

/* Text illumination after explosion */
.story-text.illuminated{
  color:#FFFFFF !important;
  text-shadow:0 0 18px rgba(245,208,96,0.6),0 0 50px var(--accent-glow),0 0 90px rgba(212,175,55,0.15);
  transition:color .8s ease,text-shadow 1.2s ease;
}
.story-text.illuminated strong{color:#F5D060 !important;text-shadow:0 0 24px rgba(245,208,96,0.7),0 0 60px var(--accent-glow)}
.story-text.illuminated em{text-shadow:0 0 20px rgba(245,208,96,0.5)}
.story-grid__left .label.illuminated{color:#F5D060 !important;text-shadow:0 0 24px rgba(245,208,96,0.7),0 0 60px var(--accent-glow);transition:color .8s ease,text-shadow 1.2s ease}

/* Mobile: arc below the text */
.rocket-arc--mobile{display:none;position:relative;height:140px;pointer-events:none;margin:16px 0;overflow:visible}
.rocket-arc--mobile .rocket-arc__svg{position:relative;width:100%;height:100%;overflow:visible}

/* C — FLOATING CODE SYMBOLS (Home page) */
.code-float{position:relative;height:clamp(100px,15vh,160px);overflow:hidden;pointer-events:none}
.code-float__symbol{position:absolute;font-family:'SF Mono',Consolas,'Courier New',monospace;font-weight:400;color:var(--accent);white-space:nowrap;opacity:0;animation:codeFloat 14s linear infinite}
.code-float__symbol:nth-child(1){left:8%;font-size:.75rem;animation-delay:0s;animation-duration:12s}
.code-float__symbol:nth-child(2){left:22%;font-size:.875rem;animation-delay:2s;animation-duration:15s}
.code-float__symbol:nth-child(3){left:38%;font-size:.625rem;animation-delay:4s;animation-duration:11s}
.code-float__symbol:nth-child(4){left:55%;font-size:.8125rem;animation-delay:1s;animation-duration:13s}
.code-float__symbol:nth-child(5){left:70%;font-size:.6875rem;animation-delay:3s;animation-duration:16s}
.code-float__symbol:nth-child(6){left:85%;font-size:.75rem;animation-delay:5s;animation-duration:14s}
.code-float__symbol:nth-child(7){left:15%;font-size:.5625rem;animation-delay:7s;animation-duration:12s}
.code-float__symbol:nth-child(8){left:48%;font-size:.625rem;animation-delay:6s;animation-duration:13s}
.code-float__symbol:nth-child(9){left:92%;font-size:.5rem;animation-delay:8s;animation-duration:15s}
@keyframes codeFloat{0%{bottom:-20px;opacity:0;transform:translateX(0)}8%{opacity:.12}50%{opacity:.08;transform:translateX(-10px)}92%{opacity:.12}100%{bottom:100%;opacity:0;transform:translateX(5px)}}

/* D — PROCESS TIMELINE CONNECTOR (Services page) */
.process-connector{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vh,48px) 0;position:relative}
.process-connector__line{width:min(400px,80%);height:1px;background:var(--gray-mid);position:relative;overflow:visible}
.process-connector__fill{position:absolute;top:0;left:0;height:100%;width:0;background:var(--accent);transition:width 1.4s var(--ease-out-expo)}
.process-connector.visible .process-connector__fill{width:100%}
.process-connector__dots{position:absolute;top:50%;left:0;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%)}
.process-connector__dot{width:8px;height:8px;border-radius:50%;background:var(--gray-mid);border:1.5px solid var(--gray-mid);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;position:relative}
.process-connector.visible .process-connector__dot{background:var(--accent);border-color:var(--accent)}
.process-connector.visible .process-connector__dot:nth-child(1){transition-delay:.2s}
.process-connector.visible .process-connector__dot:nth-child(2){transition-delay:.5s}
.process-connector.visible .process-connector__dot:nth-child(3){transition-delay:.8s}
.process-connector.visible .process-connector__dot:nth-child(4){transition-delay:1.1s;box-shadow:0 0 12px var(--accent-glow)}
.process-connector__check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.375rem;color:var(--black);opacity:0;transition:opacity .3s ease}
.process-connector.visible .process-connector__dot:nth-child(1) .process-connector__check{opacity:1;transition-delay:.35s}
.process-connector.visible .process-connector__dot:nth-child(2) .process-connector__check{opacity:1;transition-delay:.65s}
.process-connector.visible .process-connector__dot:nth-child(3) .process-connector__check{opacity:1;transition-delay:.95s}
.process-connector.visible .process-connector__dot:nth-child(4) .process-connector__check{opacity:1;transition-delay:1.25s}

/* IN-PAGE TAB TOGGLE */
.page-tabs{display:flex;gap:0;border:1px solid var(--gray-mid);border-radius:2px;overflow:hidden;width:fit-content;margin-top:24px}
.page-tabs__btn{padding:10px 28px;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-light);background:transparent;transition:all .3s ease;cursor:pointer;border:none;border-right:1px solid var(--gray-mid)}
.page-tabs__btn:last-child{border-right:none}
.page-tabs__btn.active{background:var(--accent);color:var(--black)}
.page-tabs__btn:hover:not(.active){background:rgba(255,255,255,.03);color:var(--white)}

/* ===== GLASSMORPHISM + GRADIENT ACCENTS ===== */
.value-card{background:rgba(26,26,26,0.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pricing-card{background:rgba(26,26,26,0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pricing-main{background:rgba(26,26,26,0.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.service-row:hover{background:rgba(26,26,26,0.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dash-form{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.divider{background:linear-gradient(90deg,transparent 0%,var(--accent-dim) 50%,transparent 100%)}
.section-header::after{content:'';display:block;width:48px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-light));margin-top:16px;border-radius:1px}
.cta-section .section-header::after,.section[style*="text-align:center"] .section-header::after{margin-left:auto;margin-right:auto}
.footer{border-image:linear-gradient(90deg,transparent,var(--accent-dim),transparent) 1}

/* ===== SVG SECTION DIVIDERS ===== */
.svg-divider{padding:clamp(16px,3vh,32px) 0;position:relative;z-index:2;overflow:visible}
.svg-divider__svg{width:100%;height:auto;max-height:80px}
.svgd{stroke:var(--accent);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:0;stroke-dasharray:2000;stroke-dashoffset:2000;transition:stroke-dashoffset 2.5s ease-out,opacity .8s ease}
.svg-divider.visible .svgd{stroke-dashoffset:0;opacity:.45}
.svgd-n{fill:var(--accent);opacity:0;transition:opacity .8s ease 1.8s}
.svg-divider.visible .svgd-n{opacity:.5}
.svgd-c{stroke:var(--accent);stroke-width:1;fill:none;opacity:0;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.5s ease-out 1.2s,opacity .8s ease 1.2s}
.svg-divider.visible .svgd-c{stroke-dashoffset:0;opacity:.4}

/* Circuit pulse — glowing dot that travels along paths */
.svgd-pulse{fill:#F5D060;opacity:0;filter:drop-shadow(0 0 4px rgba(245,215,80,.8));transition:none}

/* Window outlines — draw-in transition only (lights handled by JS circles) */
.svgd-win{transition:stroke-dashoffset 1.5s ease-out 1.2s,opacity .8s ease 1.2s}

/* Stat slot machine */
.stat__number{overflow:hidden;display:inline-block;position:relative}
.stat__digit-wrap{display:inline-block;overflow:hidden;height:1em;position:relative;vertical-align:bottom}
.stat__digit-reel{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.2,.8,.3,1);will-change:transform}
.stat__digit-reel span{display:block;height:1em;line-height:1}

/* ===== HORIZONTAL SCROLL SHOWCASE (Work page) ===== */
.hscroll-wrap{position:relative}
.hscroll-sticky{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}
.hscroll-track{display:flex;height:100%;will-change:transform}

/* Slide: compact info blob left (capped width), large preview right */
.hscroll-slide{min-width:100vw;height:100%;flex-shrink:0;display:grid;grid-template-columns:minmax(0,460px) 1fr;gap:clamp(32px,4vw,60px);align-items:start;align-content:start;padding:calc(var(--nav-height) + clamp(40px,6vh,80px)) var(--pad) 80px;position:relative}
.hscroll-slide__content{display:flex;flex-direction:column;gap:6px;position:relative;z-index:2;max-width:460px}
.hscroll-slide__visual{position:relative;border-radius:3px;overflow:hidden;aspect-ratio:16/10;max-width:420px;border:1px solid var(--gray-mid);transition:border-color .4s ease;margin-top:4px;justify-self:start}
.hscroll-slide:hover .hscroll-slide__visual{border-color:rgba(212,175,55,0.2)}
.hscroll-slide__visual img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease-out-expo);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}
.hscroll-slide:hover .hscroll-slide__visual img{transform:scale(1.03)}
.hscroll-slide__visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,10,10,0.4) 100%);pointer-events:none}
.hscroll-slide__visual-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,0.5);opacity:0;transition:opacity .4s ease;z-index:2}
.hscroll-slide:hover .hscroll-slide__visual-overlay{opacity:1}
.hscroll-slide__visual-overlay span{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:10px 20px;border:1px solid var(--accent);background:rgba(10,10,10,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hscroll-slide__num{font-family:var(--font-display);font-size:clamp(5rem,10vw,8rem);color:rgba(212,175,55,0.12);line-height:1;position:absolute;bottom:80px;right:var(--pad);pointer-events:none}
.hscroll-slide__tags{display:flex;gap:8px;flex-wrap:wrap}
.hscroll-slide__tag{font-size:.625rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-light);padding:4px 10px;border:1px solid var(--gray-mid);border-radius:2px;transition:border-color .3s ease}
.hscroll-slide__tag:hover{border-color:var(--accent);color:var(--accent)}
.hscroll-slide__meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.hscroll-slide__meta-item{font-size:.75rem;color:var(--gray-light)}
.hscroll-slide__meta-item strong{color:var(--gray-muted);font-weight:500}

/* Teaser slide */
.hscroll-slide--teaser{grid-template-columns:1fr;justify-items:center;text-align:center}
.hscroll-slide--teaser .hscroll-slide__content{align-items:center;max-width:520px}

/* Arrow navigation */
.hscroll-arrows{position:absolute;top:50%;right:var(--pad);transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:20}
.hscroll-arrow{width:48px;height:48px;border:1px solid var(--gray-mid);background:rgba(10,10,10,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .3s ease;border-radius:2px}
.hscroll-arrow:hover{border-color:var(--accent);background:rgba(212,175,55,0.08)}
.hscroll-arrow:active{transform:scale(0.95)}
.hscroll-arrow[disabled]{opacity:.25;pointer-events:none}

/* Progress + counter bar */
.hscroll-ui{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;align-items:center;gap:20px;z-index:10;pointer-events:none}
.hscroll-counter{font-family:var(--font-display);font-size:1rem;color:var(--accent);letter-spacing:.05em;white-space:nowrap}
.hscroll-counter__sep{opacity:.3;margin:0 4px}
.hscroll-bar{flex:1;height:2px;background:var(--gray-mid);border-radius:1px;overflow:hidden}
.hscroll-bar__fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:1px}
.hscroll-hint{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-light);opacity:.5;white-space:nowrap;animation:hscrollHint 2s ease-in-out infinite}
@keyframes hscrollHint{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}

/* E — PROJECT TEASER (Work page) */
.project-teaser{border:2px dashed var(--gray-mid);padding:clamp(48px,6vh,80px) clamp(24px,4vw,48px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;margin-bottom:clamp(60px,10vh,120px);background:linear-gradient(135deg,rgba(212,175,55,0.01) 0%,transparent 50%,rgba(212,175,55,0.02) 100%);transition:border-color .4s ease}
.project-teaser:hover{border-color:var(--accent)}
.project-teaser__num{font-family:var(--font-display);font-size:clamp(5rem,10vw,9rem);color:rgba(212,175,55,0.04);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;transition:color .4s ease}
.project-teaser:hover .project-teaser__num{color:rgba(212,175,55,0.07)}
.project-teaser__shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,0.03) 50%,transparent 100%);animation:teaserShimmer 3s ease-in-out infinite;pointer-events:none}
@keyframes teaserShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.project-teaser__content{position:relative;z-index:2}
.project-teaser__title{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,3rem);line-height:1.1;margin-bottom:12px}
.project-teaser__desc{color:var(--gray-light);font-size:clamp(.9rem,1.3vw,1.1rem);line-height:1.6;max-width:400px;margin:0 auto 32px}
.project-teaser__badge{display:inline-flex;align-items:center;gap:8px;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.project-teaser__badge::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s ease-in-out infinite}

/* ===== CLIENT HUB PORTAL ===== */

/* Login page — top bar */
.hub-topbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);opacity:0;transition:opacity .5s ease .1s}
.hub-topbar.visible{opacity:1}
.hub-topbar__logo{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.hub-topbar__logo img{height:28px;width:auto;filter:drop-shadow(0 0 8px var(--accent-glow))}
.hub-topbar__back{font-size:.8125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-light);transition:color .3s ease}
.hub-topbar__back:hover{color:var(--accent)}
.hub-topbar__back span{transition:transform .3s ease;display:inline-block}
.hub-topbar__back:hover span{transform:translateX(4px)}

/* Login page — centered card layout */
.hub-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--nav-height) var(--pad) 40px;position:relative;z-index:2}
.hub-card{width:100%;max-width:440px;background:var(--gray-dark);border:1px solid var(--gray-mid);border-radius:2px;padding:clamp(32px,4vw,48px);position:relative;transition:border-color .3s ease,opacity .6s ease,transform .6s var(--ease-out-expo);opacity:0;transform:translateY(16px)}
.hub-card.visible{opacity:1;transform:translateY(0)}
.hub-card:hover{border-color:rgba(212,175,55,0.2)}

/* Hub form extends contact form styles */
.hub-form{display:flex;flex-direction:column;gap:20px}
.hub-form .form-group input{background:rgba(10,10,10,.6);border:1px solid var(--gray-mid);color:var(--white);padding:14px 18px;font-family:var(--font-body);font-size:.9375rem;transition:border-color .3s ease;border-radius:2px;outline:none;width:100%}
.hub-form .form-group input:focus{border-color:var(--accent)}

/* Divider line with "or" */
.hub-divider{display:flex;align-items:center;gap:16px;margin:28px 0}
.hub-divider::before,.hub-divider::after{content:'';flex:1;height:1px;background:var(--gray-mid)}
.hub-divider span{font-size:.6875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gray-light)}

/* Footer link text */
.hub-footer-text{text-align:center;margin-top:24px;font-size:.8125rem;color:var(--gray-light)}
.hub-footer-text a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color .3s ease}
.hub-footer-text a:hover{color:var(--accent-light)}

/* Check icon (magic link sent) */
.hub-check-icon{width:64px;height:64px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto}

/* Toast notifications */
.hub-toast-container{position:fixed;top:88px;right:24px;z-index:10002;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.hub-toast{background:var(--gray-dark);border:1px solid var(--gray-mid);color:var(--white);padding:14px 24px;font-size:.875rem;font-weight:500;border-radius:2px;opacity:0;transform:translateX(20px);transition:opacity .3s ease,transform .3s ease;pointer-events:all;max-width:360px}
.hub-toast.show{opacity:1;transform:translateX(0)}
.hub-toast--success{border-color:var(--accent);color:var(--accent)}
.hub-toast--error{border-color:#E8651A;color:#E8651A}
.hub-toast--info{border-color:var(--gray-light)}

/* ===== DASHBOARD ===== */

/* Auth-gated content — hidden until auth confirmed */
.dash-loading{opacity:0;transition:opacity .5s ease}
.dash-loading.dash-ready{opacity:1}

/* Header row */
.dash-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}

/* Stats pills */
.dash-stats{display:flex;gap:16px;flex-wrap:wrap}
.dash-stat{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--gray-mid);border-radius:2px;background:rgba(26,26,26,.6)}
.dash-stat__num{font-family:var(--font-display);font-size:1.5rem;color:var(--accent);line-height:1}
.dash-stat__label{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-light)}

/* New request form (slide-down) */
.dash-form{background:var(--gray-dark);border:1px solid var(--gray-mid);border-radius:2px;padding:clamp(24px,3vw,40px);margin-bottom:32px}
.dash-form form{display:flex;flex-direction:column;gap:20px}

/* Priority toggle */
.dash-priority-toggle{display:flex;gap:0;border:1px solid var(--gray-mid);border-radius:2px;overflow:hidden;margin-top:4px}
.dash-priority-opt{flex:1;text-align:center;padding:10px 16px;font-size:.8125rem;font-weight:500;letter-spacing:.04em;cursor:pointer;color:var(--gray-light);transition:all .3s ease;background:transparent}
.dash-priority-opt:first-child{border-right:1px solid var(--gray-mid)}
.dash-priority-opt input{display:none}
.dash-priority-opt:has(input:checked){background:var(--accent);color:var(--black)}

/* Dropzone */
.dash-dropzone{border:2px dashed var(--gray-mid);border-radius:2px;padding:clamp(20px,2vw,32px);text-align:center;cursor:pointer;transition:border-color .3s ease,background .3s ease}
.dash-dropzone:hover,.dash-dropzone.dragover{border-color:var(--accent);background:rgba(212,175,55,0.03)}
.dash-dropzone__text{font-size:.875rem;color:var(--gray-light)}
.dash-dropzone__list{display:flex;flex-direction:column;gap:8px;margin-top:12px;text-align:left}
.dash-dropzone__item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(10,10,10,.5);border:1px solid var(--gray-mid);border-radius:2px;font-size:.8125rem}
.dash-dropzone__remove{color:var(--gray-light);font-size:1.1rem;cursor:pointer;background:none;border:none;padding:0 4px;transition:color .2s ease}
.dash-dropzone__remove:hover{color:#E8651A}

/* Ticket feed */
.dash-feed{display:flex;flex-direction:column;gap:12px}
.dash-feed__loading{display:flex;flex-direction:column;align-items:center;padding:60px 0}

/* Empty state */
.dash-empty{text-align:center;padding:60px 0}
.dash-empty__icon{font-size:3rem;opacity:.3}

/* Individual ticket card */
.dash-ticket{background:var(--gray-dark);border:1px solid var(--gray-mid);border-radius:2px;overflow:hidden;transition:border-color .3s ease}
.dash-ticket:hover{border-color:rgba(212,175,55,0.2)}
.dash-ticket__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;gap:12px;transition:background .3s ease}
.dash-ticket__header:hover{background:rgba(255,255,255,.015)}
.dash-ticket__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dash-ticket__num{font-family:var(--font-display);font-size:1rem;color:var(--accent);opacity:.5}
.dash-ticket__type{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-light)}
.dash-ticket__time{font-size:.75rem;color:var(--gray-light);opacity:.6}
.dash-ticket__subject{padding:0 20px 16px;font-size:.9375rem;color:var(--gray-muted);cursor:pointer}
.dash-ticket.expanded .dash-ticket__subject{color:var(--white)}

/* Status badges */
.dash-status{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:2px;white-space:nowrap;flex-shrink:0}
.dash-status--submitted{background:var(--accent-dim);color:var(--accent)}
.dash-status--in-review{background:rgba(59,130,246,0.12);color:#60A5FA}
.dash-status--in-progress{background:rgba(245,166,35,0.12);color:#F5A623}
.dash-status--deployed{background:rgba(34,197,94,0.12);color:#22C55E}

/* Priority badge */
.dash-priority-badge{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;background:rgba(232,101,26,0.15);color:#E8651A;border-radius:2px}

/* Expandable body */
.dash-ticket__expand{max-height:0;overflow:hidden;transition:max-height .4s ease}
.dash-ticket.expanded .dash-ticket__expand{max-height:800px}
.dash-ticket__body{padding:0 20px 20px;border-top:1px solid var(--gray-mid)}
.dash-ticket__desc{padding-top:16px;font-size:.875rem;color:var(--gray-light);line-height:1.7}
.dash-ticket__url{margin-top:12px;font-size:.8125rem;color:var(--gray-muted)}
.dash-ticket__admin-note{margin-top:16px;padding:14px;background:rgba(212,175,55,0.05);border:1px solid var(--accent-dim);border-radius:2px}
.dash-ticket__admin-note .label{display:block;margin-bottom:6px}
.dash-ticket__admin-note p{font-size:.875rem;color:var(--gray-muted);line-height:1.6}

/* Attachment links */
.dash-attach-link{display:inline-block;margin-top:6px;margin-right:12px;font-size:.8125rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}
.dash-attach-link:hover{color:var(--accent-light)}

/* RESPONSIVE */
@media(max-width:768px){
  .nav__links{display:none}.nav__toggle{display:flex}
  .hero__scroll-indicator{display:none}
  .hero__ctas{gap:12px}
  .hero__ctas .btn{padding:14px 24px;font-size:.75rem}
  .project-item,.project-item:nth-child(even){grid-template-columns:1fr;gap:20px}
  .project-item:nth-child(even) .project-item__visual,.project-item:nth-child(even) .project-item__info{order:unset}
  .project-item__num{display:none}
  .service-row{grid-template-columns:36px 1fr 32px}.service-row__desc{display:none}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .footer__top{flex-direction:column;gap:40px}.footer__bottom{flex-direction:column;text-align:center}
  .cursor-dot{display:none}
  .story-grid{grid-template-columns:1fr;gap:16px}
  .values-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:60px}
  .contact-info__block{min-width:200px;flex:1}
  .about-intro{grid-template-columns:1fr}
  .contact-layout{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .compare{grid-template-columns:1fr}
  .compare__col--them{border-right:none;border-bottom:1px solid var(--gray-mid)}
  .service-block{grid-template-columns:1fr;gap:24px}
  .process-steps{grid-template-columns:1fr 1fr}
  .work-grid{grid-template-columns:1fr}
  .project-full__header{flex-direction:column}
  .project-full__details{grid-template-columns:repeat(2,1fr)}
  .rocket-arc{display:none}
  .rocket-arc--mobile{display:block}
  .code-float{height:80px}
  .svg-divider__svg{max-height:50px}
  .hscroll-wrap{height:auto !important}
  .hscroll-sticky{position:relative;height:auto}
  .hscroll-track{flex-direction:column;transform:none !important}
  .hscroll-slide{min-width:100%;height:auto;min-height:0;grid-template-columns:1fr;padding:clamp(40px,6vh,80px) var(--pad);gap:24px}
  .hscroll-slide__visual{order:-1}
  .hscroll-slide__num{display:none}
  .hscroll-slide__content{max-width:100%}
  .hscroll-slide__details{grid-template-columns:1fr}
  .hscroll-ui{display:none}
  .hscroll-arrows{display:none}
  .process-connector__line{width:90%}
  .hub-card{padding:28px 20px}
  .dash-header{flex-direction:column;gap:16px}
  .dash-stats{flex-direction:column}
  .dash-stat{justify-content:center}
  .dash-ticket__header{flex-direction:column;align-items:flex-start;gap:8px}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:480px){:root{--pad:20px}
  .project-full__details{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .pricing-main::before{display:none}
  .hero__ctas{gap:10px}
  .hero__ctas .btn{padding:12px 18px;font-size:.7rem;letter-spacing:.06em}
}
@media(max-width:480px){:root{--pad:20px}}
