:root{
  --bg:#070707;
  --card:rgba(255,255,255,.06);
  --stroke:rgba(255,255,255,.10);
  --text:#f3f3f3;
  --muted:rgba(255,255,255,.68);
  --muted2:rgba(255,255,255,.50);
  --gold:#c9a24a;
  --gold2:#e2c56f;
  --shadow:0 12px 60px rgba(0,0,0,.55);
  --radius:18px;
  --radius2:24px;
  --container:1280px;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(1200px 700px at 70% -10%, rgba(201,162,74,.20), transparent 55%),
             radial-gradient(900px 600px at 15% 10%, rgba(255,255,255,.08), transparent 60%),
             linear-gradient(180deg, var(--bg), #000 120%);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  letter-spacing:.1px;
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.9}
.container{width:min(var(--container), calc(100% - 40px));margin:0 auto}
.bg-glow{position:fixed;inset:-200px;background:radial-gradient(600px 350px at 80% 10%, rgba(201,162,74,.10), transparent 55%);pointer-events:none;filter:blur(22px);opacity:.9}
.header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,.20));border-bottom:1px solid rgba(255,255,255,.06)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:18px}
.brand{display:flex;align-items:center;gap:14px;min-width:300px}
/* Header logo: clean and readable (keep it elegant, not huge) */
.brand__logo{
  width:72px;
  height:72px;
  object-fit:cover;
  object-position:50% 40%;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.45));
}
.brand__name{font-weight:800;font-size:16px;line-height:1.1}
.brand__tag{font-size:12px;color:var(--muted2);margin-top:2px}
.nav{display:flex;align-items:center;gap:18px}
.nav a{font-size:13.5px;color:var(--muted)}
.nav a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:12px 16px;font-weight:600;font-size:13.5px;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease,opacity .15s ease;user-select:none}
.btn{position:relative;overflow:hidden;will-change:transform}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn .ripple{position:absolute;border-radius:999px;transform:translate(-50%,-50%);pointer-events:none;opacity:.35;filter:blur(.2px);animation:ripple .55s ease-out forwards;background:rgba(255,255,255,.65)}
@keyframes ripple{from{width:0;height:0;opacity:.35}to{width:520px;height:520px;opacity:0}}
.btn--gold{background:linear-gradient(180deg, var(--gold2), var(--gold));color:#101010;box-shadow:0 18px 50px rgba(201,162,74,.20)}
.btn--gold:hover{filter:brightness(1.05)}
.btn--ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:var(--text)}
.btn--ghost:hover{background:rgba(255,255,255,.08)}
.btn--block{width:100%}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);align-items:center;justify-content:center;gap:5px;flex-direction:column}
.burger span{display:block;width:18px;height:2px;background:rgba(255,255,255,.85);border-radius:99px}
.mobile{border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.60)}
.mobile__inner{display:flex;flex-direction:column;gap:10px;padding:16px 0 18px}
.mobile a{color:var(--muted)}
.mobile a:hover{color:var(--text)}
.hero{position:relative;padding:72px 0 34px;overflow:hidden}
.hero__logo{
  display:block;
  margin: 0 auto 26px;
  width: min(340px, 72vw);
  height: auto;
  filter: drop-shadow(0 26px 80px rgba(0,0,0,.65));
  opacity: 1;
  pointer-events:none;
}
@media (max-width: 720px){
  .hero__logo{ margin: 0 auto 18px; width: min(260px, 74vw); }
}

.hero__grid{display:grid;grid-template-columns:1.2fr .9fr;gap:34px;align-items:start}
.hero__copy,.hero__card{position:relative;z-index:1}
.pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:var(--muted);font-size:12.5px}
.hero h1{margin:14px 0 12px;font-size:44px;line-height:1.06;letter-spacing:-.6px}
.lead{margin:0;color:var(--muted);font-size:16.2px;line-height:1.7;max-width:58ch}
.hero__cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.trust{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap}
.trust__item{padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.24)}
.trust__num{font-weight:800;font-size:14px}
.trust__label{color:var(--muted2);font-size:12px;margin-top:2px}
.hero__card .card{position:sticky;top:104px}
.card{border-radius:var(--radius2);border:1px solid rgba(255,255,255,.10);box-shadow:var(--shadow);padding:18px}
.card--glass{background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));backdrop-filter:blur(10px)}
.card--dark{background:rgba(0,0,0,.35)}
.card__kicker{color:var(--muted2);font-size:12px;letter-spacing:.6px;text-transform:uppercase}
.card__title{font-size:18px;font-weight:800;margin-top:6px}
.card__text{color:var(--muted);line-height:1.65;margin:10px 0 12px}
.card__list{display:grid;gap:10px;margin:10px 0 14px}
.check{position:relative;padding-left:24px;color:var(--muted);font-size:13.5px}
.check:before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:5px;background:linear-gradient(180deg, var(--gold2), var(--gold));box-shadow:0 10px 26px rgba(201,162,74,.18)}
.card__actions{display:grid;gap:10px}
.hero__fade{position:absolute;inset:auto 0 -1px 0;height:70px;background:linear-gradient(180deg, transparent, rgba(0,0,0,.95))}
.section{padding:58px 0}
.section--soft{background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.section__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:22px}
.section__head h2{margin:0;font-size:28px;letter-spacing:-.3px}
.section__head p{margin:0;color:var(--muted);max-width:60ch;line-height:1.65}
.grid{display:grid;gap:16px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.tile{border-radius:var(--radius);border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.28);padding:18px;box-shadow:0 12px 50px rgba(0,0,0,.35)}
.tile h3{margin:0 0 8px;font-size:16px}
.tile p{margin:0 0 10px;color:var(--muted);line-height:1.6}
.tile ul{margin:0;padding-left:18px;color:var(--muted2);line-height:1.7}
.tile li{margin:4px 0}
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}
.bullets{display:grid;gap:12px;margin-top:18px}
.bullet{border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.22);border-radius:16px;padding:12px 14px}
.bullet span{font-weight:700}
.bullet small{display:block;color:var(--muted);line-height:1.55;margin-top:3px}
.contactline{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.contactline:last-child{border-bottom:0}
.contactline span{color:var(--muted2);font-size:12.5px}
.contactline a{color:var(--text);font-weight:700}
.divider{height:1px;background:rgba(255,255,255,.08);margin:14px 0}
.steps{display:grid;gap:12px}
.step{display:flex;gap:14px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.22);border-radius:18px;padding:14px 16px}
.step__num{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, var(--gold2), var(--gold));color:#101010;font-weight:900}
.step__body h3{margin:0 0 4px;font-size:15px}
.step__body p{margin:0;color:var(--muted);line-height:1.6}
.ph{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(450px 220px at 30% 0%, rgba(201,162,74,.12), transparent 55%),
             linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  position:relative;
  overflow:hidden;
  aspect-ratio: 16 / 9;
  min-height: 235px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.ph:hover{transform:translateY(-2px);border-color:rgba(201,162,74,.22);box-shadow:0 18px 60px rgba(0,0,0,.55)}
.ph:after{
  content:attr(data-ph);
  position:absolute;
  left:12px; top:12px;
  font-size:12px;
  color:rgba(255,255,255,.75);
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.07);
  padding:6px 10px;
  border-radius:999px;
  backdrop-filter:blur(10px);
}
.ph--img{
  /* Two-layer rendering: cover behind + contain on top.
     Fixes "frames" for PNGs while keeping the whole photo visible. */
  --ph-img: none;
  background-image: var(--ph-img), var(--ph-img);
  background-size: cover, contain;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  background-color: rgba(0,0,0,.22);
}
.ph--img:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(700px 250px at 50% 0%, rgba(0,0,0,.10), rgba(0,0,0,.35));
  pointer-events:none;
}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translate3d(0,6px,0) scale(.998);transition:opacity .55s ease, transform .65s cubic-bezier(.2,.85,.2,1)}
.reveal.in{opacity:1;transform:translate3d(0,0,0) scale(1)}
.ph--wide{aspect-ratio: 21 / 9; min-height: 210px}

.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.tags span{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--muted);font-size:12.5px}
.formwrap{border-radius:var(--radius2);border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.28);box-shadow:var(--shadow);padding:18px}
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1 / -1}
.label-italic{font-family:"Playfair Display",serif;font-style:italic;font-weight:600;letter-spacing:.2px}
label{color:rgba(255,255,255,.86);font-size:14px}
.req{color:var(--gold2)}
input,textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);padding:12px 12px;outline:none;font-size:14.5px}
textarea{resize:vertical;min-height:140px}
input:focus,textarea:focus{border-color:rgba(201,162,74,.55);box-shadow:0 0 0 4px rgba(201,162,74,.10)}
.error{color:#ffb4b4;font-size:12px;min-height:14px}
.actions{grid-column:1 / -1;display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.btn__text{display:inline-block}
.spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.18);border-top-color:rgba(0,0,0,.65);border-radius:999px;display:none;animation:spin 1s linear infinite}
.loading .spinner{display:inline-block}
.loading .btn__text{opacity:.85}
.toast{grid-column:1 / -1;margin-top:6px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.45);color:var(--text)}
.footer{padding:26px 0 34px;border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.55)}
.footer__inner{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.footer__brand{display:flex;gap:10px;align-items:center}
.footer__brand img{width:38px;height:38px;object-fit:contain}
.footer__name{font-weight:800}
.footer__links{display:flex;gap:14px;color:var(--muted)}
.footer__meta a{text-decoration:underline;text-underline-offset:3px}
.muted{color:var(--muted)}
.small{font-size:12px}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:980px){
  .hero__grid{grid-template-columns:1fr;gap:18px}
  .hero h1{font-size:38px}
  .hero__card .card{position:relative;top:auto}
  .grid--3{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .section__head{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  /* nicer mobile rhythm */
  .container{width:calc(100% - 24px)}
  .nav{display:none}
  .burger{display:flex}
  .grid--3{grid-template-columns:1fr}
  .grid--2{grid-template-columns:1fr}
  .hero{padding-top:54px}
  .hero h1{font-size:32px}
  .form{grid-template-columns:1fr}

  .ph{min-height:170px}

  /* header / brand on mobile */
  .header__inner{padding:12px 0}
  .brand{min-width:auto;gap:12px}
  .brand__logo{width:58px;height:58px;border-radius:16px}
  .brand__name{font-size:14.5px}
  .brand__tag{display:none}

  /* hero on mobile */
  .hero__logo{
  display:block;
  margin: 0 auto 26px;
  width: min(340px, 72vw);
  height: auto;
  filter: drop-shadow(0 26px 80px rgba(0,0,0,.65));
  opacity: 1;
  pointer-events:none;
}
@media (max-width: 720px){
  .hero__logo{ margin: 0 auto 18px; width: min(260px, 74vw); }
}

  .pill{font-size:12px;padding:7px 10px}
  .lead{font-size:15px}
  .hero__cta{gap:10px}
  .hero__cta .btn{width:100%}
  .trust{gap:10px}
  .trust__item{width:100%}

  /* cards / sections */
  .section{padding:46px 0}
  .card{padding:16px}
  .tile{padding:16px}
}


/* --- Buttons-as-links reset (prevents browser status bar URLs from hover on <a>) --- */
button{font:inherit}
button{color:inherit}
button{background:none;border:0;padding:0}
button:focus{outline:none}
button:focus-visible{outline:2px solid rgba(201,162,74,.55);outline-offset:3px;border-radius:12px}

/* Allow nav + mobile to use buttons instead of anchors */
.nav a,.nav button{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;transition:transform .18s ease, background .18s ease, box-shadow .18s ease}
.nav a:hover,.nav button:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}
.mobile a,.mobile button{display:block;width:100%;text-align:left;padding:12px 14px;border-radius:14px}
.mobile a:hover,.mobile button:hover{background:rgba(255,255,255,.06)}
.brand{cursor:pointer}
.brand:active{transform:translateY(1px)}

/* --- Hero: centered logo with side info --- */
.hero__markrow{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto 8px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
}
.hero__logo{
  width:min(360px, 46vw);
  height:auto;
  display:block;
  filter:drop-shadow(0 22px 60px rgba(0,0,0,.55));
  animation:floaty 5.2s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.hero__markfill{
  height:86px;
  border-radius:22px;
  position:relative;
  opacity:.95;
  filter:drop-shadow(0 18px 60px rgba(0,0,0,.45));
}
.hero__markfill::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(212,175,55,.16) 22%,
      rgba(255,255,255,.08) 50%,
      rgba(212,175,55,.16) 78%,
      rgba(0,0,0,0) 100%);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
.hero__markfill::after{
  content:"";
  position:absolute;
  inset:-10px -12px;
  border-radius:26px;
  background:
    radial-gradient(40px 40px at 18% 48%, rgba(212,175,55,.22), rgba(0,0,0,0) 70%),
    radial-gradient(54px 54px at 72% 52%, rgba(255,255,255,.10), rgba(0,0,0,0) 72%),
    radial-gradient(28px 28px at 52% 28%, rgba(212,175,55,.14), rgba(0,0,0,0) 70%);
  opacity:.9;
  pointer-events:none;
}
.hero__markfill--left{justify-self:end; width:min(320px, 28vw);}
.hero__markfill--right{justify-self:start; width:min(320px, 28vw);}


@media (max-width: 920px){
  .hero__markrow{grid-template-columns:1fr;gap:10px;margin-bottom:12px}
  .hero__markfill--left,.hero__markfill--right{width:min(520px, 92vw);justify-self:center}
  .hero__markfill{height:72px}
  .hero__logo{margin:0 auto;width:min(320px, 70vw)}
}

/* --- Background motion (driven by scroll vars) --- */
:root{ --scroll:0; --mx:0px; --my:0px; }
body::before{
  content:"";
  position:fixed;
  inset:-200px;
  pointer-events:none;
  background:
    radial-gradient(900px 560px at calc(20% + var(--mx)) calc(10% + var(--my)), rgba(201,162,74,.14), transparent 60%),
    radial-gradient(820px 520px at calc(85% - var(--mx)) calc(5% + var(--my)), rgba(255,255,255,.09), transparent 62%),
    radial-gradient(680px 480px at 50% calc(80% - var(--my)), rgba(201,162,74,.10), transparent 70%);
  filter:blur(26px);
  opacity:.9;
  transform:translateZ(0);
  transition:opacity .3s ease;
  mix-blend-mode:screen;
}
.bg-glow{
  transform:translate3d(calc(var(--mx) * .25), calc(var(--my) * .15), 0);
  transition:transform .18s linear;
}

/* Extra hover polish */
.ph{transition:transform .22s ease, box-shadow .22s ease}
.ph:hover{transform:translateY(-6px) scale(1.01)}
.card,.step{transition:transform .22s ease, box-shadow .22s ease}
.card:hover,.step:hover{transform:translateY(-4px)}

/* ===== Patch: dissolve logo into hero photo + subtle motion (vSubtle) ===== */
.hero{isolation:isolate;}

/* Make the big hero logo blend with the background photo (black becomes transparent) */
.hero__logo{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  mix-blend-mode: screen;
  opacity: .92;
  filter: drop-shadow(0 18px 55px rgba(0,0,0,.55)) saturate(1.05) contrast(1.05);
  animation: heroLogoIn 900ms cubic-bezier(.2,.9,.2,1) both !important;
  pointer-events: none;
}
@keyframes heroLogoIn{
  from{opacity:0; transform: translateY(10px) scale(.985);} 
  to{opacity:.92; transform: translateY(0) scale(1);} 
}

/* Softer reveal (less "in your face") */
.reveal{opacity:0; transform: translateY(8px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.85,.2,1);} 

/* Reduce hover jumps */
.ph:hover{transform: translateY(-3px) scale(1.005) !important;}
.card:hover,.step:hover{transform: translateY(-2px) !important;}

/* Tone down background glow layer */
body::before{
  opacity: .35 !important;
  mix-blend-mode: normal !important;
  filter: blur(22px) !important;
}

@media (prefers-reduced-motion: reduce){
  .hero__logo{animation:none !important;}
  .reveal{transition:none !important;}
  .ph,.card,.step{transition:none !important;}
}


/* Force hero logo to be truly transparent (no blend trick needed) */
.hero__logo{mix-blend-mode:normal !important;background:transparent !important;border:0 !important;box-shadow:none !important;}

@media (max-width: 768px){
  .hero{ min-height: 100svh; }

  .hero::before{
    background: url("./assets/hero-mobile.png") center/cover no-repeat !important;
  }
}