
:root{
  --bg:#060c16; --bg2:#060c16;
  --panel: rgba(0, 27, 58, 0.70);
  --panel2: rgba(0, 27, 58, 0.55);
  --blur: 12px;
  --text:#FFFFFF; --text2:#E0E0E0; --muted:#B9C2CF; --grey:#666666;
  --gold1:#D4AF37; --gold2:#F9E076;
  --goldGrad: linear-gradient(135deg, var(--gold1), var(--gold2));
  --lineGold: rgba(212,175,55,0.55);
  --lineSoft: rgba(255,255,255,0.10);
  --shadow: 0 18px 60px rgba(0,0,0,0.42);
  --shadow2: 0 10px 24px rgba(0,0,0,0.35);
  --radius: 18px; --radius2: 26px;
  --max: 1160px; --pad: 22px;
  --hfont: "Playfair Display", Georgia, "Times New Roman", serif;
  --bfont: "Inter", "Open Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
}
*{box-sizing:border-box}
html,body{
  background: #060c16;
  color: #FFFFFF;
}
body{
  font-family:var(--bfont);
  line-height:1.8;
  color:var(--text2);
  background:
    radial-gradient(900px 600px at 15% -10%, rgba(249,224,118,0.10), transparent 65%),
    radial-gradient(900px 650px at 90% 0%, rgba(212,175,55,0.10), transparent 60%),
    linear-gradient(180deg,var(--bg),var(--bg2));
  min-height:100vh; overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none;
  background-image:url("/assets/img/texture-noise.svg"), url("/assets/img/texture-grid.svg");
  background-repeat:repeat,repeat;
  background-size:420px 420px, 900px 900px;
  opacity:0.05; z-index:-1;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:84px 0}
.section.tight{padding:52px 0}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}}


p{margin:0 0 14px 0}
small{color:var(--muted)}
.kicker{
  
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:999px;
  border:1px solid rgba(212,175,55,0.32);
  background:rgba(0,27,58,0.35);
  color:var(--muted);font-size:.92rem;
  backdrop-filter:blur(var(--blur));
}
.hr-gold{height:1px;background:linear-gradient(90deg,transparent,var(--lineGold),transparent);margin:18px 0}
.hr-soft{height:1px;background:var(--lineSoft);margin:18px 0}
.badge{
  
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  border:1px solid rgba(212,175,55,0.30);
  background:rgba(0,27,58,0.35);
  color:var(--muted);font-size:.85rem;
  backdrop-filter:blur(var(--blur));
}
/* nav */
.site-header{
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(212,175,55,0.18);
  background:rgba(0,27,58,0.72);
  backdrop-filter:blur(18px);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding: 20px 0;gap:18px}
.brand{display:flex;align-items:center;gap:0}
.brand:hover .logo{filter: drop-shadow(0 0 18px rgba(249,224,118,0.24)) drop-shadow(0 8px 22px rgba(212,175,55,0.18)); transform: translateY(-1px)}
.brand .logo{width:160px;height:auto;transition: filter .2s ease, transform .2s ease}

.brand .logo{width:36px;height:36px}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{
  color:var(--muted);font-weight:650;font-size:.95rem;
  padding:8px 10px;border-radius:12px;border:1px solid transparent;
}
.nav-links a:hover{color:var(--text);border-color:rgba(212,175,55,0.25);background:rgba(0,27,58,0.45)}
.nav-cta{display:flex;gap:10px;align-items:center}
.hamburger{
  display:none;width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(212,175,55,0.35);
  background:rgba(0,27,58,0.40);
  backdrop-filter:blur(var(--blur));cursor:pointer;
}
.hamburger svg{width:20px;height:20px;fill:var(--text)}
@media(max-width:980px){
  .nav{flex-wrap:wrap}
  .nav-right{width:100%;justify-content:space-between}
  .nav-links{
    display:none;width:100%;
    flex-direction:column;align-items:flex-start;
    gap:4px;padding:10px 0 0 0;
  }
  .nav-links.open{display:flex}
  .nav-cta{width:100%}
  .nav-cta .btn{flex:1}
  .hamburger{display:inline-flex;align-items:center;justify-content:center}
}
/* cards */
.card{
  border-radius:var(--radius2);
  background:var(--panel);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:var(--shadow);
  backdrop-filter:blur(var(--blur));
  padding:20px;
}
.card.flat{box-shadow:none;background:rgba(0,27,58,0.50)}
.card .eyebrow{color:var(--muted);font-size:.92rem}
.card .title{
  font-family:var(--hfont);
  
  color:var(--text);font-size:1.02rem;margin:10px 0;
}
.card .desc{color:var(--muted)}
/* buttons */
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:16px;
  border:1px solid rgba(212,175,55,0.55);
  background:transparent;color:var(--text);
  font-weight:800;cursor:pointer;
  transition:transform .12s ease, background .15s ease, color .15s ease, border-color .15s ease;
  user-select:none;
}
.btn:hover{transform:translateY(-1px);background:var(--goldGrad);color:#000;border-color:rgba(249,224,118,0.75)}
.btn.primary{background:var(--goldGrad);color:#000;border-color:rgba(249,224,118,0.75)}
.btn.primary:hover{filter:brightness(1.03)}
.btn.block{width:100%}
/* hero */
.hero{padding:72px 0 34px 0}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
@media(max-width:980px){.hero-inner{grid-template-columns:1fr}}
.hero-panel{
  border-radius:30px;background:rgba(0,27,58,0.74);
  border:1px solid rgba(212,175,55,0.20);
  box-shadow:var(--shadow);
  padding:28px;backdrop-filter:blur(18px);
  position:relative;overflow:hidden;
}
.hero-panel::after{
  content:"";position:absolute;inset:-1px;
  background:
    radial-gradient(800px 520px at 20% 0%, rgba(249,224,118,0.12), transparent 60%),
    radial-gradient(700px 450px at 90% 10%, rgba(212,175,55,0.10), transparent 55%);
  pointer-events:none;
}
.hero-panel>*{position:relative;z-index:1}
.hero-side{align-content:start}
.hero-video-card{padding:0;overflow:hidden;min-height:220px}
.hero-video{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;background:#02152c}
.about-video-card{overflow:hidden}
.about-video{width:100%;height:auto;min-height:220px;max-height:320px;border-radius:22px;margin-bottom:18px;object-fit:cover;background:#02152c;border:1px solid rgba(212,175,55,0.18)}
@media(max-width:980px){.hero-video-card{min-height:180px}.hero-video{min-height:180px}.about-video{min-height:180px;max-height:260px}}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.pill{
  padding:9px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,27,58,0.45);
  color:var(--muted);font-weight:650;font-size:.9rem;
  backdrop-filter:blur(var(--blur));
}
.callout{
  border:1px solid rgba(212,175,55,0.35);
  background:rgba(0,27,58,0.55);
  border-radius:var(--radius);
  padding:16px;backdrop-filter:blur(var(--blur));
}
.callout strong{color:var(--text)}
.callout p{margin:8px 0 0 0}
.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,0.65);font-size:.95rem}
.breadcrumb a{color:rgba(255,255,255,0.78)}
.breadcrumb a:hover{color:var(--text)}
.editorial{max-width:880px}
.editorial p{font-size:1.02rem}
.editorial ul{margin:0 0 14px 18px;color:rgba(255,255,255,0.74)}
.editorial li{margin:6px 0}
/* cta */
.cta-strip{
  display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  border:1px solid rgba(212,175,55,0.30);
  background:rgba(0,27,58,0.55);
  border-radius:var(--radius2);
  padding:16px;backdrop-filter:blur(var(--blur));
}
.cta-strip .left{display:grid;gap:6px}
.cta-strip .left strong{color:var(--text);font-size:1.02rem}
.cta-strip .left span{color:var(--muted)}
/* forms */
.form{display:grid;gap:12px}
.field{display:grid;gap:6px}
label{color:var(--muted);font-weight:750;font-size:.95rem}
input,select,textarea{
  width:100%;padding:12px 12px;border-radius:16px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,27,58,0.55);
  color:var(--text);outline:none;
  backdrop-filter:blur(var(--blur));
}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(249,224,118,0.55)}
.hint{color:rgba(255,255,255,0.60);font-size:.90rem}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:720px){.form-row{grid-template-columns:1fr}}
.notice{
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);
  padding:12px 14px;
  background:rgba(0,27,58,0.50);
  color:var(--muted);backdrop-filter:blur(var(--blur));
}
.notice.ok{border-color:rgba(249,224,118,0.50)}
.notice.bad{border-color:rgba(251,113,133,0.55)}
/* multi-step */
.steps{display:grid;gap:12px}
.progress{height:10px;border-radius:999px;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.10);overflow:hidden}
.progress>div{height:100%;width:0%;background:var(--goldGrad);transition:width .25s ease}
.step-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.step-dots{display:flex;gap:8px}
.dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,0.14);background:rgba(0,27,58,0.55)}
.dot.active{background:var(--goldGrad);border-color:rgba(249,224,118,0.75)}
/* faq */
.faq details{border:1px solid rgba(255,255,255,0.10);border-radius:var(--radius2);padding:14px;background:rgba(0,27,58,0.55);backdrop-filter:blur(var(--blur))}
.faq details+details{margin-top:10px}
.faq summary{cursor:pointer;font-family:var(--hfont);color:var(--text);font-weight:800}
.faq p{margin-top:10px}
/* footer */
footer{border-top:1px solid rgba(212,175,55,0.18);padding:46px 0;color:var(--muted);background:rgba(0,20,43,0.35)}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease, transform .65s ease;will-change:opacity,transform}
.reveal.in{opacity:1;transform:translateY(0)}
/* to top */
#toTop{
  position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:16px;
  border:1px solid rgba(212,175,55,0.55);background:rgba(0,27,58,0.55);
  backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;
  cursor:pointer;opacity:0;pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease;
  box-shadow:var(--shadow2);color:var(--text);
}
#toTop:hover{background:var(--goldGrad);color:#000;transform:translateY(-2px)}
#toTop.show{opacity:1;pointer-events:auto}

.site-header .container{max-width:none;width:100%;min-height:96px;display:flex;align-items:center;padding:0 clamp(24px,4vw,64px)}


#plexus-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  pointer-events: none;
  opacity: 0.5;
}


#plexus-bg {
  filter: blur(0.3px);
  transform: translateZ(0);
}


/* Ultra subtle shimmer */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.04) 50%, transparent 100%);
  animation: shimmer 18s linear infinite;
  z-index: -1;
}

@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Fade-in luxury entrance */
body {
  opacity: 0;
  animation: fadeInBody 1.2s ease forwards;
}

@keyframes fadeInBody {
  to { opacity: 1; }
}


/* Stronger Plexus visibility */
#plexus-bg {
  opacity: 0.65;
}

/* Soft vignette depth */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.45) 100%);
  z-index: -1;
}

/* Ultra-light grain overlay */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  z-index: 0;
}

/* Button micro glow */
.btn.plexus-glow {
  box-shadow: 0 0 14px rgba(255,255,255,0.4), 0 0 28px rgba(212,175,55,0.25);
}

/* Gold shimmer on scroll peak */
.gold-shimmer-active .btn.primary {
  background: linear-gradient(120deg, #D4AF37, #F9E076, #D4AF37);
  background-size: 200% 200%;
  animation: goldFlash 0.6s ease;
}

@keyframes goldFlash {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}


h1, h2, h3 {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
  line-height: 1.05;
}

h1 {
  font-size: clamp(2.8rem, 4vw, 4.2rem);
}

h2 {
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: 700;
}

h3 {
  font-size: 1.4rem;
  font-weight: 600;
}


/* Text Logo Replacement */
.brand-text {
  font-family: "Canva Sans", "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  background: linear-gradient(135deg, #D4AF37, #F9E076);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.brand:hover .brand-text {
  filter: drop-shadow(0 0 10px rgba(249,224,118,0.4));
}


.site-logo {
  width: 170px;
  height: auto;
  display: block;
}

.brand:hover .site-logo {
  filter: drop-shadow(0 0 14px rgba(249,224,118,0.35));
}


/* Consultation form spacing — match IP Exposure Check rhythm */
form[data-form="consultation"] {
  gap: 12px;
}

form[data-form="consultation"] .form-row {
  gap: 12px;
  margin: 0;
}

form[data-form="consultation"] .field {
  gap: 6px;
  margin: 0;
}

form[data-form="consultation"] input,
form[data-form="consultation"] select,
form[data-form="consultation"] textarea {
  margin: 0;
}


/* Consultation step layout — ensure same vertical rhythm as IP Exposure form */
form[data-form="consultation"] [data-step]{
  display: grid;
  gap: 12px;
}

form[data-form="consultation"] label{
  margin: 0;
}

form[data-form="consultation"] .btn-row{
  margin-top: 6px;
}


/* Ensure all form buttons match header button typography */
button, input[type="submit"], input[type="button"], input[type="reset"]{
  font-family: inherit;
  font-weight: inherit;
}

.btn, button.btn, .btn-row button, form button.btn{
  font-family: var(--bfont);
  font-weight: 800;
  letter-spacing: 0.02em;
}

.btn[disabled], button[disabled]{
  opacity:.7;
  cursor:not-allowed;
  transform:none !important;
  filter:saturate(.7);
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.captcha-box{
  min-height:78px;
}
.notice:empty::before{
  content:"\00a0";
}


.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-favicon{width:48px;height:48px;border-radius:50%;display:block;flex:0 0 48px;box-shadow:0 8px 22px rgba(0,0,0,.30)}
.site-logo{height:42px;width:auto;display:block}
.nav{gap:24px}
.nav-right{flex:1 1 auto;justify-content:center;min-width:0}
.nav-links{justify-content:center;flex-wrap:wrap;row-gap:6px}
.nav-cta{margin-left:auto;flex:0 0 auto}
@media(max-width:980px){
  .site-header .container{padding:0 22px;min-height:84px}
  .brand{gap:10px}
  .brand-favicon{width:34px;height:34px;flex-basis:34px}
  .site-logo{height:32px}
  .nav{gap:16px}
  .nav-right{width:100%;justify-content:space-between}
}


/* Header balance update */
.site-header .container{max-width:none;width:100%;min-height:96px;display:flex;align-items:center;padding:0 clamp(32px,4vw,64px)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;width:100%;padding:20px 0}
.brand{display:flex;align-items:center;gap:16px;min-width:0;justify-self:start;flex:none;margin:0}
.brand-favicon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:block;box-shadow:0 8px 22px rgba(0,0,0,.30)}
.site-logo{height:42px;width:auto;display:block}
.nav-right{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0;justify-self:center;flex:none;margin:0 auto}
.nav-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px}
.nav-cta{display:flex;align-items:center;justify-content:flex-end;gap:10px;justify-self:end;flex:none;margin:0}
.nav-cta .btn{white-space:nowrap}
@media(max-width:980px){
  .site-header .container{padding:0 22px;min-height:84px}
  .nav{display:flex;flex-wrap:wrap;gap:16px}
  .brand{gap:10px}
  .brand-favicon{width:34px;height:34px;flex-basis:34px}
  .site-logo{height:32px}
  .nav-right{width:100%;justify-content:space-between;margin:0}
  .nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:10px 0 0 0}
  .nav-links.open{display:flex}
  .nav-cta{width:100%;justify-content:stretch;flex-wrap:wrap}
  .nav-cta .btn{flex:1 1 180px;text-align:center}
}


.footer-brand-card,.footer-info-card{display:grid;gap:18px;align-content:start;height:100%}
.footer-wordmark{display:block;max-width:max-content;min-height:36px;display:flex;align-items:center}
.footer-brand-logo{display:block;height:22px;width:auto;max-width:100%}
.footer-info-card .title{min-height:36px;display:flex;align-items:center;margin:0}
.footer-brand-copy,.footer-info-card p{margin:0;color:var(--muted);line-height:1.75}
.footer-contact-card .btn-row{margin-top:auto}
.footer-brand-motto{color:var(--text2);font-size:.98rem;font-weight:700;letter-spacing:.01em}
@media(max-width:980px){
  .footer-brand-logo{height:19px}
  .footer-wordmark,.footer-info-card .title{min-height:30px}
}
