
/* ============================================================
   FORSAY AGENCY — PREMIUM EXPERIENCE V3
   Desktop: real WebGL 3D + layered motion
   Mobile: lightweight cinematic composition, no layout overlap
   ============================================================ */
:root{
  --p-gold:#d7ac58;
  --p-gold-hi:#f5dda4;
  --p-ink:#050505;
  --p-line:rgba(215,172,88,.20);
  --p-mx:50%;
  --p-my:40%;
  --p-scroll:0;
}
html{background:#050505}
body{background:
  radial-gradient(circle at 72% 7%,rgba(215,172,88,.08),transparent 28rem),
  radial-gradient(circle at 10% 35%,rgba(90,55,18,.08),transparent 26rem),#050505}
body::after{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.25;
  background:radial-gradient(circle at var(--p-mx) var(--p-my),rgba(245,221,164,.065),transparent 22rem);
  mix-blend-mode:screen
}
main,.site-header,.site-footer,.cookie-banner{position:relative;z-index:3}
#particles{display:none!important}

/* top progress rail */
.premium-progress{position:fixed;z-index:4000;left:0;top:0;height:2px;width:100%;pointer-events:none;background:rgba(255,255,255,.02)}
.premium-progress>i{display:block;height:100%;width:calc(var(--p-scroll)*100%);background:linear-gradient(90deg,#7f551f,#f3d58d,#c7862e);box-shadow:0 0 14px rgba(215,172,88,.55)}

.site-header{transition:background .28s ease,border-color .28s ease,box-shadow .28s ease}
.site-header.scrolled{background:rgba(5,5,5,.82);border-bottom:1px solid rgba(215,172,88,.13);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 12px 40px rgba(0,0,0,.26)}
.brand img{transition:transform .5s cubic-bezier(.16,1,.3,1),filter .4s ease}
.brand:hover img{transform:rotate(-4deg) scale(1.05);filter:drop-shadow(0 0 24px rgba(215,172,88,.34))}

/* HERO — real spatial stage */
.hero{position:relative;isolation:isolate;min-height:calc(100svh - 94px);padding-top:42px;padding-bottom:70px}
.hero::before{content:"";position:absolute;left:-8%;right:-8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(215,172,88,.34),transparent)}
.hero-copy{position:relative;z-index:6}
.hero-copy::before{content:"FORSAY / 2026";position:absolute;left:-2px;top:-58px;color:rgba(215,172,88,.35);font-size:8px;letter-spacing:.35em;font-weight:800}
.hero h1{text-wrap:balance}
.hero h1 span{filter:drop-shadow(0 10px 28px rgba(215,172,88,.08))}
.hero-actions .primary{position:relative;overflow:hidden}
.hero-actions .primary::after{content:"";position:absolute;inset:-70% -20%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.55) 49%,transparent 60%);transform:translateX(-80%);transition:transform .7s ease}
.hero-actions .primary:hover::after{transform:translateX(80%)}

.premium-stage{height:min(690px,72vw);min-height:530px;position:relative;isolation:isolate;transform-style:preserve-3d;perspective:1200px;overflow:visible}
.hero-webgl{position:absolute;inset:4%;width:92%;height:92%;z-index:0;opacity:.95;filter:drop-shadow(0 0 38px rgba(215,172,88,.12));pointer-events:none}
.stage-aura{position:absolute;left:50%;top:50%;width:64%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(220,167,67,.16) 0,rgba(169,101,20,.07) 33%,transparent 69%);filter:blur(18px);z-index:-1}
.hero-logo-plane{position:absolute;z-index:3;left:50%;top:50%;width:72%;transform:translate3d(-50%,-50%,70px);transform-style:preserve-3d;will-change:transform;transition:transform .2s ease-out}
.hero-logo-plane img{display:block;width:100%;height:auto;opacity:1;mix-blend-mode:normal;filter:drop-shadow(0 32px 50px rgba(0,0,0,.62)) drop-shadow(0 0 24px rgba(215,172,88,.16))}
.hero-ring{position:absolute!important;left:50%;top:50%;z-index:1!important;pointer-events:none;border-color:rgba(215,172,88,.16)!important;transform-style:preserve-3d}
.ring-3d-a{width:78%!important;height:78%!important;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(8deg);animation:premiumOrbitA 18s linear infinite!important}
.ring-3d-b{width:90%!important;height:64%!important;transform:translate(-50%,-50%) rotateY(62deg) rotateZ(-8deg);animation:premiumOrbitB 24s linear infinite!important;border-style:solid!important}
.ring-three{width:62%;height:92%;border:1px dashed rgba(215,172,88,.13);border-radius:50%;transform:translate(-50%,-50%) rotateY(-58deg) rotateZ(18deg);animation:premiumOrbitC 30s linear infinite}
.stage-label{position:absolute;z-index:5;color:rgba(232,210,165,.66);font-size:8px;font-weight:800;letter-spacing:.28em;display:flex;align-items:center;gap:10px;white-space:nowrap}
.stage-label span{display:block;width:38px;height:1px;background:linear-gradient(90deg,transparent,var(--p-gold))}
.stage-label-top{right:3%;top:18%}.stage-label-bottom{left:3%;bottom:17%}.stage-label-bottom span{background:linear-gradient(90deg,var(--p-gold),transparent)}
@keyframes premiumOrbitA{to{transform:translate(-50%,-50%) rotateX(66deg) rotateZ(368deg)}}
@keyframes premiumOrbitB{to{transform:translate(-50%,-50%) rotateY(62deg) rotateZ(-368deg)}}
@keyframes premiumOrbitC{to{transform:translate(-50%,-50%) rotateY(-58deg) rotateZ(378deg)}}

/* trustbar */
.premium-trustbar{width:min(calc(100% - 40px),1180px);margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(215,172,88,.15);border-radius:18px;overflow:hidden;background:linear-gradient(120deg,rgba(215,172,88,.035),rgba(255,255,255,.012));backdrop-filter:blur(14px)}
.premium-trustbar>div{padding:18px 20px;min-width:0}.premium-trustbar>div+div{border-left:1px solid rgba(215,172,88,.12)}
.premium-trustbar small{display:block;color:#736d64;font-size:8px;letter-spacing:.2em;margin-bottom:5px}.premium-trustbar strong{display:block;color:#d7d0c4;font-size:12px;font-weight:650}

/* scene numbering */
.section-heading,.apply-intro{position:relative}
.scene-index{position:absolute;right:0;top:-16px;color:rgba(215,172,88,.12);font-family:Georgia,serif;font-size:78px;line-height:1;font-weight:400;pointer-events:none}
.section-heading::after{content:"";display:block;width:0;height:1px;margin-top:22px;background:linear-gradient(90deg,var(--p-gold),transparent);transition:width .9s cubic-bezier(.16,1,.3,1)}
.section-heading.premium-in::after{width:min(210px,36vw)}

/* cinematic assembly */
[data-cine]{opacity:0;filter:blur(7px);transform:perspective(1200px) translate3d(var(--cine-x,0),34px,-80px) rotateX(5deg) rotateY(var(--cine-ry,0));transition:opacity .72s ease,filter .85s ease,transform .95s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}
[data-cine].premium-in{opacity:1;filter:none;transform:perspective(1200px) translate3d(0,0,0) rotateX(0) rotateY(0)}
[data-cine="left"]{--cine-x:-44px;--cine-ry:4deg}[data-cine="right"]{--cine-x:44px;--cine-ry:-4deg}[data-cine="depth"]{--cine-x:0;--cine-ry:0}

/* premium cards */
.premium-tilt{transform-style:preserve-3d;position:relative;isolation:isolate;transition:transform .22s ease,border-color .25s ease,box-shadow .25s ease;will-change:transform}
.premium-tilt::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle at var(--tx,50%) var(--ty,50%),rgba(245,221,164,.12),transparent 42%);transition:opacity .22s ease}
.premium-tilt:hover::before{opacity:1}.premium-tilt:hover{border-color:rgba(215,172,88,.38)!important;box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 0 1px rgba(215,172,88,.035) inset}
.premium-tilt>*{transform:translateZ(12px)}

/* section depth separators */
.section{position:relative}
.section::before{content:"";position:absolute;left:50%;top:0;width:min(1180px,calc(100vw - 40px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(215,172,88,.08),transparent);pointer-events:none}
.about-grid::before,.support-section::before,.process-section::before,.faq-section::before{opacity:.6}

/* leadership finish */
.leadership-grid{perspective:1200px}
.leader-card{background:linear-gradient(150deg,rgba(215,172,88,.04),transparent 45%),#09090a}
.leadership-statement{margin-top:18px;padding:24px 28px;border:1px solid rgba(215,172,88,.14);border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:30px;background:rgba(255,255,255,.015)}
.leadership-statement span{color:var(--p-gold);font-size:8px;font-weight:800;letter-spacing:.24em;white-space:nowrap}.leadership-statement p{margin:0;max-width:680px;color:#9b968e;font-family:Georgia,serif;font-size:21px}

/* form gets a high-trust instrument panel feel */
.form-shell{position:relative;overflow:hidden}
.form-shell::before{content:"APPLICATION / SECURE";position:absolute;right:22px;top:16px;color:rgba(215,172,88,.38);font-size:7px;letter-spacing:.24em;font-weight:800}
.form-shell::after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border:1px solid rgba(215,172,88,.10);border-radius:50%;pointer-events:none}
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
input:hover,select:hover,textarea:hover{background:rgba(255,255,255,.045)}

/* mobile CTA */
.premium-mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:2500;min-height:54px;border-radius:999px;background:linear-gradient(105deg,#b98234,#f2d697 48%,#c7923c);color:#0b0803;font-weight:900;font-size:14px;align-items:center;justify-content:center;gap:10px;box-shadow:0 18px 50px rgba(0,0,0,.56),0 0 28px rgba(215,172,88,.12);transform:translateY(130%);opacity:0;transition:transform .28s ease,opacity .28s ease}.premium-mobile-cta.show{transform:none;opacity:1}

@media(max-width:1020px){
  .premium-stage{height:min(640px,88vw);min-height:520px}
  .premium-trustbar{grid-template-columns:repeat(2,1fr)}.premium-trustbar>div:nth-child(3){border-left:0;border-top:1px solid rgba(215,172,88,.12)}.premium-trustbar>div:nth-child(4){border-top:1px solid rgba(215,172,88,.12)}
}
@media(max-width:820px){
  body::after{opacity:.14}
  .premium-stage{height:480px;min-height:0;margin-top:-15px;perspective:900px}
  .hero-webgl{display:none}
  .stage-aura{width:76%;background:radial-gradient(circle,rgba(215,172,88,.18),rgba(148,86,18,.055) 42%,transparent 70%)}
  .hero-logo-plane{width:min(430px,86%);transform:translate3d(-50%,-50%,0)!important}
  .ring-3d-a{width:68%!important;height:68%!important}.ring-3d-b{width:82%!important;height:58%!important}.ring-three{width:58%;height:80%}
  .stage-label{font-size:7px;letter-spacing:.2em}.stage-label-top{right:8%;top:17%}.stage-label-bottom{left:8%;bottom:17%}
  [data-cine]{--cine-x:0!important;--cine-ry:0!important;filter:none;transform:translateY(18px);transition-duration:.55s}[data-cine].premium-in{transform:none}
  .premium-tilt,.premium-tilt:hover{transform:none!important}.premium-tilt>*{transform:none}
  .scene-index{font-size:58px;top:-8px}
  .premium-mobile-cta{display:flex}
  .site-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))!important}
  .leadership-statement{align-items:flex-start;flex-direction:column;gap:10px}.leadership-statement p{font-size:18px}
}
@media(max-width:560px){
  .premium-stage{height:400px;margin-top:-30px;margin-bottom:-18px}
  .hero-logo-plane{width:88%}
  .stage-label{display:none}
  .premium-trustbar{width:calc(100% - 24px);grid-template-columns:1fr 1fr;margin-top:18px}.premium-trustbar>div{padding:14px 12px}.premium-trustbar small{font-size:7px}.premium-trustbar strong{font-size:10px}
  .scene-index{font-size:48px;top:-2px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
  [data-cine]{opacity:1!important;filter:none!important;transform:none!important}.hero-webgl{display:none!important}.premium-mobile-cta{transition:none!important}
}

/* V4 transparent logo integration */
.hero-logo-plane{width:78%;}
.hero-logo-plane img{object-fit:contain;background:transparent!important;}
.brand img,.footer-brand img{background:transparent!important;border-radius:0!important;object-fit:contain!important;}
@media(max-width:820px){.hero-logo-plane{width:min(470px,92%)}}
@media(max-width:560px){.hero-logo-plane{width:94%}}
