@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Geist:wght@600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#0b1020;--panel:#141c32;--stroke:#34415f;--text:#f3f5ff;--muted:#b9c4de;--lime:#dcfa70;--blue:#b9c7ff;background:var(--bg);color:var(--text);font-family:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
body,h1,h2,p{margin:0}
.wrap{width:min(100% - 3rem,74rem);margin-inline:auto}
header{border-bottom:1px solid var(--stroke);background:#10172a}
.top,nav,.brand,.actions,.result{display:flex;align-items:center;gap:1rem}
.top{justify-content:space-between;min-height:4.6rem}
.brand{gap:.45rem;color:var(--text);text-decoration:none;font:800 1.32rem Geist,system-ui,sans-serif;letter-spacing:-.055em}
.brand img{border-radius:.6rem}
nav{justify-content:flex-end;flex-wrap:wrap}
a{color:var(--blue);font-weight:700;text-underline-offset:.24em}
nav a{text-decoration:none;font-size:.9rem}
nav a:hover{color:var(--lime)}
.outline{border:1px solid var(--stroke);border-radius:.6rem;padding:.5rem .7rem}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,6vw,5rem);padding-block:clamp(2.8rem,7.5vw,6.2rem)}
h1,h2{font-family:Geist,system-ui,sans-serif}
h1{font-size:clamp(3.15rem,6.5vw,6.1rem);line-height:.99;letter-spacing:-.085em;font-weight:900}
h1 em{font-style:normal;color:var(--lime)}
h2{font-size:clamp(1.55rem,3.3vw,2.45rem);line-height:1.12;letter-spacing:-.055em}
p{line-height:1.55;color:var(--muted)}
.hero p{margin-top:1rem;font-size:clamp(1rem,2vw,1.2rem);max-width:46ch}
.actions{margin-top:1.45rem;flex-wrap:wrap}
.button{display:inline-block;background:var(--lime);color:#19200c;border:0;border-radius:.67rem;padding:.74rem 1rem;font:750 1rem "DM Sans",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.button:hover{background:#efffa4}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.hero-photo{width:100%;height:auto;aspect-ratio:1.17;object-fit:cover;border:1px solid #53618d;border-radius:1.65rem;box-shadow:0 1.5rem 5rem #060918ad,0 0 5rem #4567d733}
.features{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--stroke)}
.features article{padding:1.35rem clamp(.8rem,2.5vw,1.75rem)}
.features article+article{border-left:1px solid var(--stroke)}
.features h2{font-size:1.26rem}
.features p,.calculator p,.pro p{margin-top:.55rem}
.calculator,.pro{display:grid;grid-template-columns:1fr 1.4fr;gap:1.4rem 2.5rem;margin-block:2.6rem;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--stroke);border-radius:1.15rem;background:linear-gradient(130deg,#1a2647,var(--panel) 65%)}
.inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
label{display:block;font-size:.86rem;font-weight:700}
input{display:block;width:100%;min-width:0;margin-top:.4rem;border:1px solid var(--stroke);border-radius:.55rem;background:#0b1020;color:var(--text);padding:.65rem;font:inherit}
.result{margin-top:1rem;flex-wrap:wrap;justify-content:space-between}
output{color:var(--muted)}
output strong,.plan-price strong{color:var(--lime)}
.plan .plan-price{margin-top:0}
.plan-price strong{font:800 2.15rem Geist,system-ui,sans-serif;letter-spacing:-.07em}
.availability{color:var(--text);font-weight:700}
footer{border-top:1px solid var(--stroke);padding:1.3rem 0 2rem}
footer p{margin-top:.25rem;font-size:.9rem}
@media(max-width:770px){.wrap{width:calc(100% - 2rem)}.hero,.calculator,.pro{grid-template-columns:1fr}.hero-photo{aspect-ratio:1.65}.features{grid-template-columns:1fr}.features article{padding-inline:0}.features article+article{border-left:0;border-top:1px solid var(--stroke)}}
@media(max-width:470px){.top{padding-block:.55rem;gap:.55rem;flex-wrap:wrap}nav{gap:.6rem;justify-content:start}nav a{font-size:.82rem}.inputs{grid-template-columns:1fr}.hero{padding-block:2.2rem}.hero-photo{border-radius:1rem}}

.policy{max-width:48rem;padding-block:clamp(2rem,6vw,4.5rem)}
.policy h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.055em;margin-bottom:1.4rem}
.policy p{margin-top:1rem;overflow-wrap:anywhere}
.policy strong{color:var(--text)}

/* Public homepage */
body:has(.hero) {
  background:
    radial-gradient(ellipse 68rem 32rem at 79% 14rem, #263476, transparent 75%),
    radial-gradient(ellipse 37rem 27rem at 0 29rem, #202450, transparent 76%),
    var(--bg);
}
body:has(.hero) header { background: #0b1020e8; }
.hero { gap: clamp(1.5rem, 4vw, 3.75rem); }
.hero h1 { font-size: clamp(3.45rem, 6.45vw, 6rem); text-wrap: balance; }
.hero h1 em { display: block; }
.hero p { margin-top: 1.4rem; }
.hero .button { padding: .94rem 1.1rem; }
.button { transition: background-color .18s, box-shadow .18s, transform .18s; }
.button:hover { box-shadow: 0 0 .95rem #dcfa7040; transform: translateY(-2px); }
.hero-visual {
  position: relative;
  display: grid;
  align-items: end;
  margin: 0;
  padding: .45rem;
  isolation: isolate;
  border: 1px solid #828fd699;
  border-radius: 1.8rem;
  background: linear-gradient(140deg, #6878d451, #0e152b 67%);
  box-shadow: 0 1.75rem 5rem #050814ad, 0 0 3rem #7886ff36;
  animation: hero-in .55s ease-out both;
}
.hero-photo { display: block; aspect-ratio: 1.19; border-radius: 1.4rem; border: 0; box-shadow: none; }
.profit-preview {
  position: absolute;
  inset: auto 1.25rem 1.25rem;
  display: grid;
  justify-items: start;
  width: fit-content;
  max-width: calc(100% - 2.5rem);
  gap: .25rem;
  padding: .85rem 1rem;
  border: 1px solid #a6b4ff65;
  border-radius: .85rem;
  background: #0b1020f0;
  box-shadow: 0 .65rem 1.75rem #0009;
  font-size: .8rem;
  color: var(--muted);
}
.profit-preview strong { font: 900 clamp(2rem, 4.7vw, 3.35rem)/1 Geist, system-ui, sans-serif; letter-spacing: -.065em; color: var(--lime); }
.profit-preview small { font-size: .34em; letter-spacing: .04em; }
.calculator, .pro {
  background: linear-gradient(130deg, #242d57, #10182f 78%);
  border-color: #7584bf70;
}
.calculator {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
  margin-top: 0;
  box-shadow: 0 1.15rem 3rem #05071399;
  scroll-margin-top: 1rem;
}
.result { align-items: stretch; }
.result output {
  flex: 1 1 11rem;
  display: grid;
  align-content: center;
  padding: .65rem .9rem;
  border: 1px solid #dcfa7050;
  border-radius: .67rem;
  background: #151e2c;
}
.result strong { display: block; font: 800 1.55rem/1.2 Geist, system-ui, sans-serif; }
.features { gap: 1rem; border: 0; }
.features article, .features article + article {
  border: 1px solid #7584bf55;
  border-radius: 1rem;
  background: #121b34;
  padding: 1.2rem 1.35rem;
}
.features h2 { color: #e1e5ff; }
@keyframes hero-in { from { opacity: 0; transform: translateY(.75rem); } }
@media(max-width: 770px) {
  .hero h1 { font-size: clamp(2.9rem, 8.5vw, 4.7rem); text-wrap: initial; }
  .hero-photo { aspect-ratio: 1.55; }
  .calculator { grid-template-columns: 1fr; }
}
@media(max-width: 470px) {
  .hero-visual { border-radius: 1.2rem; }
  .hero-photo { border-radius: .9rem; }
  .profit-preview { inset: auto .8rem .8rem; max-width: calc(100% - 1.6rem); }
}
@media(prefers-reduced-motion: reduce) {
  .hero-visual { animation: none; }
  .button { transition: none; }
  .button:hover { transform: none; }
}
