@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --bg:#eef4ff;
  --bg2:#dfeaff;
  --glass:rgba(255,255,255,.42);
  --glass-strong:rgba(255,255,255,.60);
  --glass-dark:rgba(255,255,255,.18);
  --text:#101827;
  --muted:#637087;
  --line:rgba(255,255,255,.52);
  --line-dark:rgba(255,255,255,.16);
  --blue:#4f8cff;
  --cyan:#55d6ff;
  --violet:#8c72ff;
  --pink:#ef8cff;
  --shadow:0 30px 90px rgba(47,75,125,.18);
  --shadow2:0 12px 38px rgba(31,52,90,.13);
  --max:1220px;
  --radius:32px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
[data-theme="dark"]{
  --bg:#050914;
  --bg2:#0a1325;
  --glass:rgba(18,29,50,.42);
  --glass-strong:rgba(25,38,65,.62);
  --glass-dark:rgba(255,255,255,.08);
  --text:#f5f8ff;
  --muted:#a4b0c5;
  --line:rgba(255,255,255,.15);
  --line-dark:rgba(255,255,255,.08);
  --blue:#72a7ff;
  --cyan:#59e2ff;
  --violet:#a98dff;
  --pink:#ff9eea;
  --shadow:0 35px 110px rgba(0,0,0,.45);
  --shadow2:0 18px 55px rgba(0,0,0,.30);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,sans-serif;color:var(--text);min-height:100vh;min-height:100svh;overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 10%,rgba(79,140,255,.18),transparent 27%),
    radial-gradient(circle at 90% 12%,rgba(85,214,255,.14),transparent 25%),
    radial-gradient(circle at 70% 70%,rgba(140,114,255,.12),transparent 30%),
    linear-gradient(135deg,var(--bg),var(--bg2));
  transition:background .5s ease,color .5s ease;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-4;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 80%);
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{
  position:fixed;top:16px;left:50%;transform:translateX(-50%) translateZ(0);z-index:100;width:min(var(--max),calc(100% - 30px));
  padding:10px 12px;border:1px solid var(--line);border-radius:24px;
  background:linear-gradient(120deg,rgba(255,255,255,.16),var(--glass),rgba(255,255,255,.08));
  backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);
  box-shadow:0 20px 70px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.55);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:11px;font-family:"Space Grotesk";font-weight:700}
.brand-mark{
  width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 10px 30px rgba(79,140,255,.35);
  position:relative;overflow:hidden;
}
.brand-mark::after{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.8),transparent);transform:rotate(25deg);animation:shine 4s infinite}
.nav-links{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.10)}
.nav-links a{padding:10px 14px;border-radius:14px;color:var(--muted);font-size:.86rem;font-weight:700;transition:.3s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 7px 20px rgba(0,0,0,.07)}
.nav-actions{display:flex;gap:8px}
.icon-btn{
  width:42px;height:42px;border:1px solid var(--line);border-radius:15px;background:var(--glass);color:var(--text);
  display:grid;place-items:center;backdrop-filter:blur(18px);transition:.3s var(--ease)
}
.icon-btn:hover{transform:translateY(-3px) rotate(-4deg);box-shadow:0 14px 30px rgba(79,140,255,.18)}
.menu-btn{display:none}
main{padding:120px 0 80px}
.hero{min-height:calc(100vh - 80px);min-height:calc(100svh - 80px);display:grid;place-items:center;position:relative}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}
.hero::before{width:280px;height:280px;left:5%;top:15%;background:radial-gradient(circle,rgba(79,140,255,.25),transparent 68%);animation:float 8s ease-in-out infinite}
.hero::after{width:360px;height:360px;right:0;bottom:4%;background:radial-gradient(circle,rgba(239,140,255,.18),transparent 70%);animation:float 10s ease-in-out infinite reverse}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;
  background:var(--glass);backdrop-filter:blur(22px);color:var(--muted);font-size:.78rem;font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)
}
.dot{width:8px;height:8px;border-radius:50%;background:#35e39a;box-shadow:0 0 0 6px rgba(53,227,154,.12),0 0 18px #35e39a}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.04;letter-spacing:-.045em}
.hero h1{font-size:clamp(3.2rem,6.8vw,6.4rem);margin:22px 0 18px}
.gradient-text{
  background:linear-gradient(100deg,var(--text) 0%,var(--blue) 38%,var(--violet) 72%,var(--cyan) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;background-size:180% 100%;animation:gradient 7s ease infinite
}
.lead{font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.85;color:var(--muted);max-width:680px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.tag{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid var(--line);font-size:.76rem;color:var(--muted);backdrop-filter:blur(15px)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 19px;border-radius:17px;
  border:1px solid var(--line);font-weight:800;font-size:.88rem;transition:.35s var(--ease);position:relative;overflow:hidden
}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-120%);transition:.7s}
.btn:hover::before{transform:translateX(120%)}
.btn:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(79,140,255,.18)}
.btn-primary{color:white;background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 12px 34px rgba(79,140,255,.30)}
.btn-secondary{background:var(--glass);backdrop-filter:blur(20px);color:var(--text)}
.hero-photo-wrap{display:grid;place-items:center;position:relative;min-height:620px}
.photo-scene{position:relative;width:min(500px,92vw);height:620px;display:grid;place-items:center}
.photo-scene::before{
  content:"";position:absolute;width:78%;height:78%;border-radius:48% 52% 45% 55%;
  background:conic-gradient(from 0deg,rgba(85,214,255,.55),rgba(140,114,255,.22),rgba(239,140,255,.42),rgba(85,214,255,.55));
  filter:blur(18px);animation:blob 10s ease-in-out infinite;opacity:.75
}
.photo-scene::after{
  content:"";position:absolute;width:96%;height:96%;border:1px solid rgba(255,255,255,.22);border-radius:45% 55% 52% 48%;
  transform:rotate(-8deg);box-shadow:inset 0 0 50px rgba(255,255,255,.06),0 0 80px rgba(79,140,255,.12);
  animation:orb 12s linear infinite
}
.liquid-orb{position:absolute;inset:8%;border-radius:46% 54% 48% 52%;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(80,150,255,.08));border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -25px 55px rgba(0,0,0,.08);animation:blob2 9s ease-in-out infinite}
.photo-card{
  position:relative;width:360px;height:520px;border-radius:46% 54% 48% 52%;padding:10px;
  background:linear-gradient(145deg,rgba(255,255,255,.65),rgba(255,255,255,.10));
  border:1px solid rgba(255,255,255,.50);box-shadow:0 35px 90px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(160%);z-index:4;transform:rotate(2deg);transition:transform .5s var(--ease)
}
.photo-card:hover{transform:rotate(0deg) translateY(-8px) scale(1.015)}
.photo-card img{width:100%;height:100%;object-fit:cover;object-position:center 24%;border-radius:inherit;filter:saturate(1.08) contrast(1.03)}
.photo-card::before{content:"";position:absolute;inset:10px;border-radius:inherit;z-index:2;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.38),transparent 28%,transparent 68%,rgba(110,180,255,.16));mix-blend-mode:screen}
.photo-card::after{content:"";position:absolute;width:110px;height:30px;top:35px;left:-25px;border-radius:999px;background:rgba(255,255,255,.55);filter:blur(15px);transform:rotate(-28deg);opacity:.65;animation:reflection 5s ease-in-out infinite}
.photo-badge{
  position:absolute;left:-44px;bottom:38px;padding:14px 16px;border:1px solid var(--line);background:var(--glass-strong);
  backdrop-filter:blur(25px) saturate(160%);border-radius:20px;box-shadow:var(--shadow2),inset 0 1px 0 rgba(255,255,255,.55);font-weight:800;font-size:.82rem;z-index:8
}
.photo-badge small{display:block;color:var(--muted);font-weight:500;margin-top:4px}
.float-chip{
  position:absolute;z-index:9;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:var(--glass-strong);
  backdrop-filter:blur(22px);box-shadow:var(--shadow2);font-size:.76rem;font-weight:800;animation:float 5s ease-in-out infinite
}
.chip-one{right:0;top:110px}.chip-two{left:0;top:205px;animation-delay:-2s}.chip-three{right:15px;bottom:85px;animation-delay:-3.5s}
.chip-icon{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(79,140,255,.16);color:var(--blue);margin-right:5px;vertical-align:middle}
.section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.section-head h2{font-size:clamp(2rem,4vw,3.3rem)}
.section-head p{max-width:560px;color:var(--muted);line-height:1.8}
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{
  background:linear-gradient(145deg,rgba(255,255,255,.16),var(--glass),rgba(255,255,255,.06));
  border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow2);
  backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);transition:.4s var(--ease);position:relative;overflow:hidden
}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.22),transparent 35%);opacity:0;transition:.4s}
.card:hover::before{opacity:1}.card:hover{transform:translateY(-8px);border-color:rgba(120,180,255,.42);box-shadow:var(--shadow)}
.card-icon{
  width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:rgba(79,140,255,.11);
  color:var(--blue);margin-bottom:18px;border:1px solid rgba(120,180,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.35)
}
.card h3{font-size:1.15rem;margin-bottom:9px}.card p{color:var(--muted);line-height:1.75;font-size:.92rem}
.page-hero{text-align:center;max-width:800px;margin:0 auto 55px}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:18px 0}.page-hero p{color:var(--muted);line-height:1.8}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{text-align:center;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--glass);backdrop-filter:blur(22px)}.stat strong{display:block;font:700 2rem "Space Grotesk";margin-bottom:5px}.stat span{font-size:.82rem;color:var(--muted)}
.timeline{position:relative;display:grid;gap:18px}.timeline::before{content:"";position:absolute;left:17px;top:15px;bottom:15px;width:1px;background:var(--line)}.timeline-item{position:relative;padding-left:55px}.timeline-dot{position:absolute;left:8px;top:20px;width:19px;height:19px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px rgba(79,140,255,.13),0 0 25px rgba(79,140,255,.35)}
.skill{margin-top:18px}.skill-top{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.86rem}.skill-top span:last-child{color:var(--muted)}.progress{height:8px;border-radius:99px;background:rgba(127,150,190,.14);overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--cyan));width:var(--value);box-shadow:0 0 16px rgba(79,140,255,.35)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.84rem;font-weight:700}.field input,.field textarea,.field select,.search{width:100%;border:1px solid var(--line);background:var(--glass-strong);color:var(--text);padding:14px 15px;border-radius:16px;outline:none;backdrop-filter:blur(18px);transition:.25s}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(79,140,255,.10)}
.site-footer{padding:55px 0;border-top:1px solid var(--line);margin-top:30px;background:rgba(0,0,0,.03);backdrop-filter:blur(20px)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.footer-brand{color:var(--muted);line-height:1.8;margin-top:12px;max-width:420px}.footer-col h4{margin-bottom:14px}.footer-col a{display:block;color:var(--muted);padding:6px 0;font-size:.9rem}.footer-col a:hover{color:var(--text)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
.link-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.filter-btn{border:1px solid var(--line);background:var(--glass);color:var(--muted);padding:10px 13px;border-radius:13px;font-weight:700;backdrop-filter:blur(15px)}.filter-btn.active,.filter-btn:hover{background:rgba(255,255,255,.25);color:var(--text)}
.platform-card{display:flex;align-items:center;gap:15px}.platform-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(79,140,255,.11);color:var(--blue);flex:0 0 auto}.platform-info{min-width:0}.platform-info strong{display:block}.platform-info span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}.platform-handle{margin-left:auto;color:var(--muted);font-size:.75rem}
.tools-grid{grid-template-columns:repeat(5,1fr)}.tool-card{cursor:pointer;text-align:left}.tool-panel{display:none;margin-top:25px}.tool-panel.active{display:block;animation:fadeUp .45s var(--ease)}.calc{max-width:430px;margin:auto}.calc-display{background:rgba(5,9,20,.82);color:white;border-radius:22px;padding:22px;text-align:right;font:600 2.1rem "Space Grotesk";min-height:86px;overflow:auto}.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.calc-grid button{border:1px solid var(--line);background:var(--glass);color:var(--text);padding:17px;border-radius:14px;font-weight:800}.calc-grid button:hover{background:rgba(79,140,255,.13)}.tool-tabs{display:flex;gap:8px;flex-wrap:wrap}.tool-tabs button{border:1px solid var(--line);background:var(--glass);padding:10px 13px;border-radius:13px;color:var(--muted);font-weight:700}.timer-display{text-align:center;font:700 clamp(3rem,10vw,6rem) "Space Grotesk";padding:25px 0}.color-preview{height:170px;border-radius:24px;border:1px solid var(--line);margin-bottom:15px}.dhikr{text-align:center}.dhikr-count{font:700 5rem "Space Grotesk";margin:20px 0}
.toast{position:fixed;right:20px;bottom:20px;z-index:110;padding:13px 16px;border:1px solid var(--line);background:var(--glass-strong);backdrop-filter:blur(22px);border-radius:16px;box-shadow:var(--shadow);transform:translateY(30px);opacity:0;pointer-events:none;transition:.3s}.toast.show{transform:none;opacity:1}
.reveal{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
#ambient-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none}
@keyframes shine{0%,55%{transform:translateX(-120%) rotate(25deg)}75%,100%{transform:translateX(120%) rotate(25deg)}}
@keyframes gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}
@keyframes blob{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.12)}}
@keyframes blob2{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(12px,-15px) rotate(8deg)}}
@keyframes orb{to{transform:rotate(352deg)}}
@keyframes reflection{0%,100%{left:-25px;opacity:.25}50%{left:80%;opacity:.7}}
@keyframes fadeUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:950px){
  .nav-links{position:absolute;top:68px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:10px;background:var(--glass-strong);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(28px)}
  .nav-links.open{display:flex}.menu-btn{display:grid}.hero-grid{grid-template-columns:1fr;text-align:center;gap:20px}.lead{margin:auto}.hero-actions{justify-content:center}.hero-photo-wrap{order:-1}.photo-scene{height:560px}.grid-4,.tools-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(var(--max),calc(100% - 24px))}.site-header{width:calc(100% - 18px);top:9px}.nav-links{top:64px}.nav .brand span:last-child{display:none}
  main{padding-top:95px}.section{padding:70px 0}.grid-3,.grid-4,.tools-grid,.stat-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head{display:block}.section-head p{margin-top:12px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom>*+*{margin-top:8px}.hero h1{font-size:3.15rem}.hero-photo-wrap{min-height:520px}.photo-scene{height:500px}.photo-card{width:290px;height:425px}.photo-badge{left:-4px;bottom:18px}.chip-one{right:-3px;top:70px}.chip-two{left:-3px;top:155px}.chip-three{right:0;bottom:55px}
}
@media(max-width:760px){
  /* Heavy layered blur + infinite decorative animations are the main cause of
     stutter/flicker on real phones (fine on a desktop GPU, too costly on mobile). */
  .site-header{backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
  .card,.eyebrow,.tag,.stat,.float-chip,.photo-badge,.nav-links,.icon-btn,.field input,.field textarea,.field select,.search{
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
  }
  .brand-mark::after,.photo-scene::before,.photo-scene::after,.liquid-orb,.photo-card::after,
  .hero::before,.hero::after{animation:none}
  #ambient-canvas{opacity:.6}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}