/* PrimeStar Investments — shared styles for inner pages (matches home page design system) */
:root { --bg:#09090b; --surface:#121215; --crimson:#D91023; --crimson-dark:#8A0815; --cream:#FFFFDF; --light:#F5F5F5; --gray:#8E8E8E; }
html { scroll-padding-top: 6rem; }
body { background:var(--bg); color:var(--light); overflow-x:hidden; font-family:'Plus Jakarta Sans',sans-serif; }
::selection { background:var(--crimson); color:var(--cream); }

.film-grain { position:fixed; inset:0; z-index:99999; pointer-events:none; opacity:.04;
  background:url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)"/></svg>'); }

/* ---------- Accessibility ---------- */
.skip-link { position:fixed; left:16px; top:-120px; z-index:100002; background:var(--cream); color:var(--bg); padding:12px 20px; font-weight:700; border-radius:8px; transition:top .2s; }
.skip-link:focus { top:16px; }
:focus-visible { outline:3px solid #ff4457; outline-offset:3px; }
#main-content:focus { outline:none; }
.field:focus-within { outline:3px solid #ff4457; outline-offset:3px; border-color:var(--cream) !important; }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible { outline:none !important; }
.field { border-color:rgba(255,255,223,.55) !important; }
.footer-link { text-decoration:underline; text-underline-offset:4px; }
.motion-toggle { position:fixed; left:16px; bottom:16px; z-index:100001; min-height:44px; padding:0 16px; border-radius:999px; background:var(--bg); color:var(--cream); border:1px solid rgba(255,255,223,.7); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.motion-toggle:hover { background:var(--cream); color:var(--bg); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
.motion-off *, .motion-off *::before, .motion-off *::after { animation:none !important; transition:none !important; }

/* ---------- Header ---------- */
#navbar { transition:background .4s, padding .4s, border-color .4s; background:rgba(9,9,11,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,223,.1); }
.logo-pill { background:#fff; border-radius:10px; padding:4px 10px; display:inline-flex; box-shadow:0 6px 24px rgba(0,0,0,.4); }
.nav-link { font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:500; color:rgba(255,255,223,.9); padding:8px 0; border-bottom:1px solid transparent; transition:color .3s, border-color .3s; }
.nav-link:hover, .nav-link[aria-current="page"] { color:var(--cream); border-bottom-color:var(--crimson); }
.nav-link[aria-current="page"] { font-weight:700; }
.client-login { display:inline-flex; align-items:center; line-height:1; background:var(--crimson); color:#fff !important; padding:11px 20px; border-radius:999px; font-weight:600; font-size:12px; letter-spacing:.15em; text-transform:uppercase; transition:background .3s; }
.client-login:hover { background:#b00d1c; }
.has-sub { position:relative; display:flex; align-items:center; gap:4px; }
.sub-btn { background:none; border:0; color:var(--cream); cursor:pointer; width:28px; height:28px; display:grid; place-items:center; border-radius:6px; }
.sub-btn svg { transition:transform .25s; }
.sub-btn[aria-expanded="true"] svg { transform:rotate(180deg); }
.sub { position:absolute; top:100%; left:-1rem; min-width:210px; padding:.6rem 0; background:rgba(18,18,21,.98); border:1px solid rgba(255,255,223,.14); border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,.6); display:none; }
.has-sub.open .sub, .has-sub:hover .sub, .has-sub:focus-within .sub { display:block; }
.sub a { display:block; padding:.7rem 1.25rem; font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,223,.85); }
.sub a:hover, .sub a[aria-current="page"] { color:var(--cream); background:rgba(217,16,35,.18); }
.menu-btn { width:48px; height:48px; border-radius:50%; background:var(--crimson); color:#fff; display:inline-grid; place-items:center; border:2px solid var(--cream); cursor:pointer; }
#mobile-nav[hidden] { display:none !important; }

/* ---------- Page hero ---------- */
.page-hero { position:relative; overflow:hidden; padding:11rem 1.5rem 6rem; background:radial-gradient(ellipse at 70% 0%, rgba(217,16,35,.28), transparent 60%), var(--surface); border-bottom:1px solid rgba(255,255,223,.1); }
.page-hero::before, .page-hero::after { content:""; position:absolute; top:0; bottom:0; width:0; border-left:1px dashed rgba(255,255,223,.12); pointer-events:none; }
.page-hero::before { left:33%; } .page-hero::after { left:66%; }
.page-hero .inner { position:relative; z-index:2; max-width:1400px; margin:0 auto; }
.crumbs { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,223,.7); margin-bottom:1.5rem; }
.crumbs a { text-decoration:underline; text-underline-offset:4px; } .crumbs a:hover { color:var(--cream); }
.crumbs span[aria-hidden] { margin:0 .6rem; }
.eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--cream); padding:7px 18px; border:1px solid rgba(255,255,223,.3); border-radius:999px; margin-bottom:1.25rem; }
.page-title { font-family:'Cormorant Garamond',serif; font-weight:500; color:var(--cream); line-height:1.05; font-size:clamp(2.8rem,7vw,6rem); max-width:56rem; }
.page-title em { color:#ff4457; font-style:italic; }
.page-lead { margin-top:1.75rem; max-width:40rem; color:rgba(255,255,223,.78); font-weight:300; font-size:1.1rem; line-height:1.75; }

/* ---------- Shared components ---------- */
.sec-eyebrow { color:var(--cream); font-size:12px; text-transform:uppercase; letter-spacing:.4em; display:block; margin-bottom:1.25rem; font-weight:600; }
.sec-title { font-family:'Cormorant Garamond',serif; font-weight:300; color:var(--cream); line-height:1.1; font-size:clamp(2.2rem,5vw,4rem); }
.body-copy { font-weight:300; color:#b9b9b9; line-height:1.8; font-size:1rem; }
.rule { width:4rem; height:1px; background:var(--cream); margin-top:1.5rem; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(40px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.js .reveal.in { opacity:1; transform:none; }
.js .reveal.d1 { transition-delay:.1s; } .js .reveal.d2 { transition-delay:.2s; } .js .reveal.d3 { transition-delay:.3s; }

.frame { position:relative; overflow:hidden; border-radius:140px 28px 140px 28px; aspect-ratio:4/3.4; background:var(--surface);
  box-shadow:0 40px 90px -30px rgba(217,16,35,.45), 0 25px 60px -25px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,223,.14), 0 0 0 10px rgba(255,255,223,.03); }
.frame.alt { border-radius:28px 140px 28px 140px; }
.frame img { width:100%; height:100%; object-fit:cover; transform:scale(1.06); transition:transform 1.2s cubic-bezier(.16,1,.3,1), filter .8s; }
.frame:hover img { transform:scale(1.14); filter:brightness(1.05) saturate(1.15); }
.frame::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(9,9,11,0) 45%, rgba(9,9,11,.75) 100%), linear-gradient(135deg, rgba(217,16,35,.18), transparent 45%); }
.chip { position:absolute; left:22px; bottom:22px; z-index:2; display:inline-flex; align-items:center; gap:10px; padding:10px 18px; border-radius:999px; font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--cream); background:rgba(255,255,255,.12); border:1px solid rgba(255,255,223,.3); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.chip::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--crimson); box-shadow:0 0 12px var(--crimson); }
@media (max-width:640px){ .frame, .frame.alt { border-radius:64px 20px 64px 20px; } }

.tag { display:inline-block; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; padding:6px 14px; border-radius:999px; border:1px solid rgba(255,255,223,.3); color:var(--cream); }
.tag.hot { background:rgba(217,16,35,.2); border-color:rgba(217,16,35,.6); }
.num-label { color:var(--cream); font-size:12px; text-transform:uppercase; letter-spacing:.3em; font-weight:600; }

.card { position:relative; overflow:hidden; padding:2.25rem 1.9rem; border-radius:20px; background:linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.02)); border:1px solid rgba(255,255,223,.14); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); transition:transform .35s, border-color .35s, box-shadow .35s; }
.card::before { content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,#ff3b4e,var(--crimson)); transition:width .5s; }
.card:hover { transform:translateY(-8px); border-color:rgba(217,16,35,.7); box-shadow:0 24px 60px rgba(0,0,0,.5), 0 0 40px rgba(217,16,35,.25); }
.card:hover::before { width:100%; }
.card h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--cream); font-weight:500; margin-bottom:.6rem; line-height:1.15; }
.card p { color:rgba(255,255,223,.72); font-size:15px; line-height:1.7; font-weight:300; }
.card .ghost-num { position:absolute; top:12px; right:20px; font-family:'Cormorant Garamond',serif; font-size:3.4rem; line-height:1; color:rgba(255,255,223,.08); font-weight:600; }
.card .ic { width:56px; height:56px; border-radius:16px; display:grid; place-items:center; font-size:26px; margin-bottom:1.25rem; background:linear-gradient(135deg, rgba(217,16,35,.35), rgba(217,16,35,.1)); border:1px solid rgba(217,16,35,.4); }

.stat { padding:2.5rem; background:rgba(9,9,11,.6); border:1px solid rgba(255,255,223,.1); transition:border-color .3s; }
.stat:hover { border-color:var(--cream); }
.stat .big { font-family:'Cormorant Garamond',serif; font-weight:300; color:var(--cream); font-size:clamp(3.2rem,6vw,4.6rem); line-height:1; }
.stat .big small { color:var(--crimson); font-size:.55em; margin-left:.1em; }

.btn { display:inline-flex; align-items:center; gap:.75rem; padding:17px 40px; border-radius:999px; color:#fff; font-weight:700; font-size:13px; letter-spacing:.2em; text-transform:uppercase; background:linear-gradient(135deg,#ff3b4e,var(--crimson) 60%,#b00d1c); box-shadow:0 14px 40px rgba(217,16,35,.5); transition:transform .3s, box-shadow .3s; border:0; cursor:pointer; }
.btn:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(217,16,35,.65); }
.btn .arr { transition:transform .3s; font-size:18px; } .btn:hover .arr { transform:translateX(6px); }
.btn-ghost { display:inline-flex; align-items:center; gap:.6rem; padding:15px 34px; border-radius:999px; border:1px solid rgba(255,255,223,.5); color:var(--cream); font-weight:600; font-size:13px; letter-spacing:.18em; text-transform:uppercase; transition:background .3s, color .3s; }
.btn-ghost:hover { background:var(--cream); color:var(--bg); }
.link-more { display:inline-block; font-size:12px; letter-spacing:.25em; text-transform:uppercase; color:var(--cream); border-bottom:1px solid var(--crimson); padding-bottom:4px; transition:color .3s; font-weight:600; }
.link-more:hover { color:#ff4457; }

.cta-band { position:relative; overflow:hidden; text-align:center; padding:7rem 1.5rem; background:radial-gradient(ellipse at 50% 0%, rgba(217,16,35,.25), transparent 60%), var(--surface); border-top:1px solid rgba(255,255,223,.1); }

/* product jump bar */
.jump { position:sticky; top:72px; z-index:30; background:rgba(9,9,11,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,223,.1); }
.jump ul { display:flex; gap:.6rem; overflow-x:auto; padding:.9rem 1.5rem; max-width:1400px; margin:0 auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,223,.35) transparent; }
.jump ul::-webkit-scrollbar { height:6px; }
.jump ul::-webkit-scrollbar-track { background:transparent; }
.jump ul::-webkit-scrollbar-thumb { background:rgba(255,255,223,.3); border-radius:999px; }
@media (min-width:1024px){ .jump ul { flex-wrap:wrap; justify-content:center; overflow-x:visible; } .jump { top:72px; } }
.jump a { white-space:nowrap; display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--cream); padding:9px 16px; border-radius:999px; border:1px solid rgba(255,255,223,.25); transition:background .25s, border-color .25s; }
.jump a:hover { background:rgba(217,16,35,.25); border-color:var(--crimson); }

.quote-box { border-left:2px solid var(--crimson); padding:.25rem 0 .25rem 1.25rem; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.45rem; color:var(--cream); line-height:1.4; }
.quote-box cite { display:block; margin-top:.6rem; font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; font-style:normal; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,223,.7); }

/* team */
.avatar { width:112px; height:112px; border-radius:50%; display:grid; place-items:center; font-family:'Cormorant Garamond',serif; font-size:2.8rem; font-weight:500; color:var(--cream); background:linear-gradient(135deg, rgba(217,16,35,.55), rgba(138,8,21,.9)); box-shadow:0 0 0 1px rgba(255,255,223,.25), 0 0 0 8px rgba(255,255,223,.04), 0 20px 50px -15px rgba(217,16,35,.6); margin-bottom:1.5rem; }
.cred { display:inline-block; font-size:12px; font-weight:600; letter-spacing:.08em; padding:5px 12px; border-radius:999px; background:rgba(255,255,223,.08); border:1px solid rgba(255,255,223,.2); color:var(--cream); margin:0 .35rem .5rem 0; }

/* blog */
.post { display:flex; flex-direction:column; height:100%; padding:2.25rem; border:1px solid rgba(255,255,223,.12); border-radius:24px; background:var(--surface); transition:transform .35s, border-color .35s, box-shadow .35s; position:relative; overflow:hidden; }
.post:hover { transform:translateY(-6px); border-color:rgba(217,16,35,.7); box-shadow:0 24px 60px rgba(0,0,0,.5); }
.post h3 { font-family:'Cormorant Garamond',serif; font-size:1.9rem; line-height:1.2; color:var(--cream); font-weight:500; margin:.9rem 0; }

/* map */
.map-wrap { border-radius:28px; overflow:hidden; border:1px solid rgba(255,255,223,.14); box-shadow:0 30px 70px -30px rgba(217,16,35,.35); }
.map-wrap iframe { width:100%; height:420px; border:0; display:block; filter:grayscale(.6) contrast(1.05); }

/* footer */
.foot-h { color:var(--cream); font-size:12px; text-transform:uppercase; letter-spacing:.3em; font-weight:700; margin-bottom:1rem; }
.foot-links a { display:inline-block; padding:5px 0; font-size:14px; font-weight:300; }
.foot-links a:hover { color:var(--cream); }
