/* landing.php extracted styles */
:root {
    --accent: #0d6efd;
    --bg: #f6f8fb;
}

body { background: var(--bg); }

/* hero 3d */
.hero-3d { height: 80vh; display:flex; align-items:center; justify-content:center; perspective:1200px; position:relative; overflow:hidden; }
.scene { width:1100px; max-width:95%; transform-style:preserve-3d; transition: transform 0.15s ease-out; }
.card-3d { position:relative; height:420px; border-radius:18px; overflow:hidden; box-shadow:0 20px 50px rgba(10,10,30,0.15); transform-style:preserve-3d; background:linear-gradient(135deg,#ffffff 0%,#eef5ff 100%); }
.layer { position:absolute; inset:0; pointer-events:none; }
.poly { position:absolute; width:70%; height:100%; right:-10%; top:0; background:linear-gradient(180deg, rgba(13,110,253,0.12), rgba(13,110,253,0.03)); clip-path:polygon(10% 0, 100% 0, 80% 100%, 0 100%); transform: translateZ(-60px) scale(1.04); }
.poly--accent { width:40%; left:-5%; top:-10%; height:120%; background:linear-gradient(135deg, rgba(189,21,80,0.14), rgba(13,110,253,0.06)); clip-path:polygon(0 15%,100% 0,88% 100%,0 100%); transform: translateZ(-120px) rotate(-6deg); filter: blur(8px); opacity:0.9; }
.hero-content { position:relative; padding:48px 56px; max-width:58%; transform:translateZ(60px); }
.hero-content h1 { font-size:2.4rem; margin-bottom:.6rem }
.hero-content p { color:#475569 }
.cta-row { margin-top:1.25rem }
.cta-row .btn { margin-right:.6rem }
.float-dot { position:absolute; width:18px; height:18px; border-radius:50%; background:var(--accent); opacity:.12; filter:blur(2px); }

/* sections */
.features { padding:4rem 0 }
.feature-card { transition: transform .22s ease, box-shadow .22s ease }
.feature-card:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 30px 50px rgba(10,10,30,.12); }

@media (max-width:768px) {
    .hero-content { max-width:100%; padding:30px }
    .card-3d { height:360px }
}

/* clip-path divider and polygon background */
.clip-divider { height:120px; background:linear-gradient(180deg,#eef5ff 0,#fff 100%); clip-path:polygon(0 0,100% 20%,100% 100%,0 100%); position:relative; }
.polygon-bg { position:absolute; inset:0; pointer-events:none; opacity:.12; background:linear-gradient(135deg,#0d6efd,#6f42c1); clip-path:polygon(10% 0,85% 5%,100% 55%,72% 100%,0 95%); transform: translateZ(-20px); }

.founder-section { padding:4rem 0; background: linear-gradient(180deg,#ffffff,#f8fbff); }
.founder-card { display:flex; gap:1.25rem; align-items:center }
.founder-img { width:160px; height:160px; object-fit:cover; border-radius:12px }
.staff-section { padding:3rem 0 }
.staff-card img { width:100px; height:100px; object-fit:cover }

/* landing 3d preview styles (scoped) */
#landingGallery { --card-w:220px; --card-h:280px; }
.lg-card{width:var(--card-w);height:var(--card-h);border-radius:12px;overflow:hidden;position:relative;transform-style:preserve-3d;transition:transform .35s,box-shadow .35s;cursor:pointer;background:linear-gradient(135deg,#fff,#f6f9ff);box-shadow:0 8px 24px rgba(2,6,23,.06)}
.lg-media{height:70%;position:relative;overflow:hidden}
.lg-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.lg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%, rgba(0,0,0,.45));}
.lg-meta{height:30%;display:flex;flex-direction:column;justify-content:center}
.lg-card:hover{transform:translateY(-10px) rotateX(var(--rx,0)) rotateY(var(--ry,0));box-shadow:0 24px 50px rgba(2,6,23,.12)}
.lg-card:focus{outline:2px solid rgba(13,110,253,.12);outline-offset:4px}
@media (max-width:768px){#landingGallery{gap:12px} .lg-card{width:45vw;height:56vw}}

/* bg-well-landing styles to match gallery branding */
.bg-well-landing{position:relative;pointer-events:none;overflow:visible}
.bg-well-landing .bg-layer{position:absolute;inset:0;will-change:transform;mix-blend-mode:screen;opacity:0.9;filter:blur(28px)}
.bg-well-landing .bg-shape{position:absolute;width:48vw;height:48vh;right:-6%;top:-4%;background:linear-gradient(135deg, rgba(13,110,253,0.14), rgba(111,66,193,0.08));clip-path:polygon(10% 0,100% 12%,88% 100%,0 88%);filter:blur(20px);opacity:0.85}
.bg-well-landing .bg-glass{position:relative;display:block}
.bg-well-landing .well-inner{padding:18px 0}
.bg-well-landing .well-content{max-width:1100px;margin:0 auto;padding:18px;border-radius:14px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));backdrop-filter:blur(6px) saturate(110%);box-shadow:0 12px 36px rgba(2,6,23,.28);border:1px solid rgba(255,255,255,0.03)}
@media (max-width:900px){ .bg-well-landing .bg-shape{display:none} .bg-well-landing .well-content{padding:12px} }

@media (prefers-reduced-motion: reduce) {
    .bg-well-landing .bg-layer, .bg-well-landing .bg-shape { transform: none !important; transition: none !important; }
}

/* marquee and other small UI tweaks */
.marquee-shell { display:flex; align-items:center; }
.marquee-panel { display:flex; align-items:center; gap:12px; }
.marquee-track { overflow:hidden; }
.marquee-items { display:inline-block; white-space:nowrap; }
.marquee-item { margin-right:28px; }

/* responsive tweaks for content cards */
@media (max-width: 576px) {
  .hero-content h1 { font-size: 1.6rem; }
}
