/* Planet Innovative - Light Theme (Elegant)
   No frameworks. Responsive. Accessible.
*/

:root{
  --bg0: #ffffff;
  --bg1: #fbfbfd;
  --surface: rgba(255,255,255,.85);
  --surface2: #ffffff;
  --text: #14161a;
  --muted: rgba(20,22,26,.72);
  --muted2: rgba(20,22,26,.56);
  --brand: #7b1f34;
  --brand2: #b14a62;
  --line: rgba(20,22,26,.10);
  --shadow: 0 18px 45px rgba(16,24,40,.10);
  --shadow2: 0 10px 25px rgba(16,24,40,.08);
  --radius: 20px;
  --radius2: 28px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background:
    radial-gradient(900px 520px at 12% 10%, rgba(177,74,98,.14), transparent 60%),
    radial-gradient(820px 520px at 88% 12%, rgba(123,31,52,.10), transparent 60%),
    radial-gradient(760px 540px at 70% 90%, rgba(177,74,98,.12), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.95}
img{max-width:100%; display:block}
p{line-height:1.65; color:var(--muted)}
small{color:var(--muted2)}

.container{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:16px; top:16px;
  width:auto; height:auto;
  background:#111;
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  z-index:9999;
}

header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.72);
  border-bottom: 1px solid var(--line);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 14px;
}

.brand{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 220px;
}
.brand .logo{
  width:42px; height:42px;
  border-radius:14px;
  box-shadow: var(--shadow2);
  border:1px solid rgba(20,22,26,.10);
  background:#fff;
  object-fit:cover;
}
.brand .name{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.brand .name strong{font-size: 14.5px; letter-spacing:.2px;}
.brand .name span{font-size: 12px; color: var(--muted2);}

.navlinks{display:flex; align-items:center; gap: 8px;}
.navlinks a{
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--muted);
  border: 1px solid transparent;
}
.navlinks a[aria-current="page"]{
  color: var(--text);
  background: rgba(123,31,52,.08);
  border-color: rgba(123,31,52,.18);
}
.navlinks a:hover{
  background: rgba(20,22,26,.05);
  border-color: rgba(20,22,26,.10);
}

.nav-cta{display:flex; gap:10px; align-items:center;}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(20,22,26,.12);
  background: rgba(255,255,255,.80);
  color: var(--text);
  box-shadow: var(--shadow2);
}
.pill .dot{
  width:8px; height:8px; border-radius:99px;
  background: linear-gradient(135deg, var(--brand2), #ffd0da);
  box-shadow: 0 0 0 6px rgba(177,74,98,.14);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px solid rgba(20,22,26,.14);
  background: rgba(255,255,255,.85);
  color: var(--text);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  box-shadow: var(--shadow2);
}
.btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.95);
  border-color: rgba(20,22,26,.18);
}
.btn.primary{
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  border-color: rgba(123,31,52,.20);
  color: #fff;
}
.btn.primary:hover{transform: translateY(-1px) scale(1.01)}
.btn.ghost{
  background: transparent;
  border-color: rgba(20,22,26,.18);
  box-shadow:none;
}

.mobile-toggle{
  display:none;
  padding:10px 12px;
  border-radius: 14px;
  border:1px solid rgba(20,22,26,.14);
  background: rgba(255,255,255,.85);
  cursor:pointer;
  color: var(--text);
  box-shadow: var(--shadow2);
}
@media (max-width: 880px){
  .navlinks{display:none}
  .mobile-toggle{display:inline-flex}
  .brand{min-width:auto}
  .nav-cta .pill{display:none}
}

.mobile-menu{
  display:none;
  border-top:1px solid var(--line);
  background: rgba(255,255,255,.85);
}
.mobile-menu.open{display:block}
.mobile-menu a{
  display:block;
  padding: 14px 0;
  color: var(--muted);
  border-bottom: 1px solid rgba(20,22,26,.08);
}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a[aria-current="page"]{color:var(--text)}

.hero{position:relative; padding: 58px 0 24px;}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .9fr;
  gap: 26px;
  align-items:stretch;
}
@media(max-width: 980px){ .hero-grid{grid-template-columns:1fr} }

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(20,22,26,.12);
  background: rgba(255,255,255,.75);
  color: var(--muted);
  box-shadow: var(--shadow2);
  width: fit-content;
}
.badge svg{opacity:.85}

h1{
  font-size: clamp(34px, 4vw, 52px);
  margin: 16px 0 10px;
  letter-spacing: -0.6px;
  line-height: 1.08;
}
.lead{
  font-size: 16.5px;
  color: var(--muted);
  max-width: 58ch;
  margin: 0 0 18px;
}

.hero-card{
  border-radius: var(--radius2);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.80));
  border: 1px solid rgba(20,22,26,.10);
  box-shadow: var(--shadow);
  padding: 20px;
  overflow:hidden;
  position:relative;
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:-60px -40px auto auto;
  width: 240px; height: 240px;
  background: radial-gradient(circle at 30% 30%, rgba(255,208,218,.55), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(177,74,98,.30), transparent 60%);
  filter: blur(2px);
  transform: rotate(14deg);
  opacity:.9;
}

.stats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 18px;
}
@media(max-width: 520px){ .stats{grid-template-columns:1fr} }
.stat{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(20,22,26,.10);
  background: rgba(255,255,255,.80);
  box-shadow: var(--shadow2);
}
.stat strong{display:block; font-size: 14px}
.stat span{display:block; color: var(--muted2); font-size: 12px; margin-top: 4px}

.section{ padding: 34px 0; }
.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.section-title h2{ margin:0; font-size: 22px; letter-spacing: -0.2px; }
.section-title p{ margin:0; max-width: 60ch; color: var(--muted2); }

.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media(max-width: 980px){ .grid-3{grid-template-columns:1fr} }

.card{
  border-radius: var(--radius);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(20,22,26,.10);
  padding: 18px;
  box-shadow: var(--shadow2);
}
.card h3{ margin: 6px 0 8px; font-size: 16px; }
.card p{margin:0}

.icon{
  width:40px;height:40px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(123,31,52,.14), rgba(177,74,98,.12));
  border: 1px solid rgba(123,31,52,.18);
}

.split{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items:stretch;
}
@media(max-width: 980px){ .split{grid-template-columns:1fr} }

.quote{
  padding: 18px;
  border-radius: var(--radius);
  border: 1px dashed rgba(123,31,52,.28);
  background: rgba(123,31,52,.06);
  color: rgba(20,22,26,.78);
}

.list{margin: 10px 0 0; padding: 0; list-style:none;}
.list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 0;
  border-bottom: 1px solid rgba(20,22,26,.08);
}
.list li:last-child{border-bottom:none}
.check{
  width:22px; height:22px;
  border-radius: 8px;
  background: rgba(123,31,52,.08);
  border: 1px solid rgba(123,31,52,.18);
  display:grid;
  place-items:center;
  margin-top: 2px;
  color: var(--brand);
}

.banner{
  position:relative;
  overflow:hidden;
  border-radius: var(--radius2);
  border: 1px solid rgba(123,31,52,.18);
  background: linear-gradient(135deg, rgba(123,31,52,.10), rgba(177,74,98,.06));
  box-shadow: var(--shadow2);
  padding: 20px;
}
.banner .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  flex-wrap:wrap;
}
.banner h3{margin:0 0 6px}
.banner p{margin:0; color: var(--muted)}
.banner::after{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width: 340px;
  height: 340px;
  background:
    radial-gradient(circle at 35% 35%, rgba(177,74,98,.16), transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(123,31,52,.10), transparent 60%);
  transform: rotate(10deg);
}

.form{display:grid; gap: 12px;}
.field{display:grid; gap: 6px;}
label{font-size: 13px; color: var(--muted2);}

input, textarea{
  width:100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(20,22,26,.14);
  background: rgba(255,255,255,.92);
  color: var(--text);
  outline: none;
  box-shadow: var(--shadow2);
}
textarea{min-height: 130px; resize: vertical}
input:focus, textarea:focus{
  border-color: rgba(123,31,52,.30);
  box-shadow: 0 0 0 6px rgba(177,74,98,.16);
}

.notice{
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(20,22,26,.12);
  background: rgba(255,255,255,.85);
  color: var(--muted);
  box-shadow: var(--shadow2);
}

footer{
  margin-top: 30px;
  border-top: 1px solid var(--line);
  padding: 22px 0 40px;
  color: var(--muted2);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 14px;
}
@media(max-width: 980px){ .footer-grid{grid-template-columns:1fr} }
.footer-grid a{color: var(--muted)}
.footer-grid a:hover{color: var(--text)}
.footer-bottom{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(20,22,26,.08);
  display:flex;
  justify-content:space-between;
  gap: 10px;
  flex-wrap:wrap;
}

.wave{
  width:100%;
  height:auto;
  opacity:.25;
  transform: translateY(2px);
}
