/* Shuddhi product page, extends parshva-tech's own tokens (css/styles.css
   loads first); everything here is additive, nothing overridden. */

.suddhi-tag{
  display:inline-flex; transition:color .2s, border-color .2s; align-items:center; gap:.5em;
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ls-accent); border:1px solid var(--ls-line-strong); border-radius:2px;
  padding:.35em .7em; margin-left:.6em;
}
.suddhi-tag a{ color:var(--ls-accent); }

/* ---------- product hero ---------- */
.product-hero{ position:relative; padding:clamp(64px,9vw,108px) 0 clamp(48px,7vw,80px); overflow:hidden; }
.product-hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(90% 80% at 85% 0%, rgba(213,176,98,.2), transparent 60%),
    var(--sec-bg, var(--ls-bg));
}
.product-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center; }
@media (max-width:900px){ .product-hero-grid{ grid-template-columns:1fr; } }

.wordmark-lockup{ height:clamp(34px,4vw,46px); width:auto; margin-bottom:1.1em; }
.product-hero h1{ color:var(--ls-head); font-size:clamp(2rem,3.2vw+1rem,3.1rem); line-height:1.12; margin:0 0 .5em; }
.product-hero .lede{ color:var(--ls-text); font-size:clamp(1rem,.3vw+.95rem,1.08rem); max-width:52ch; }
.product-hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.hero-meta{
  display:flex; flex-wrap:wrap; gap:.85em; margin-top:2.2rem;
  font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ls-text);
}
.hero-meta > span:not(:last-child)::after{ content:"·"; margin-left:.85em; color:var(--ls-line-strong); }

.hero-shot{ position:relative; border-radius:4px; overflow:hidden; border:1px solid var(--line-dark-strong); box-shadow:0 40px 80px -30px rgba(0,0,0,.65); }
.hero-shot img{ width:100%; height:auto; display:block; }
.hero-shot::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(43,39,29,.5) 100%);
}

/* ---------- free trial banner ---------- */
.trial-banner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.4rem;
  background:linear-gradient(135deg, rgba(213,176,98,.16), rgba(213,176,98,.04)), var(--ls-card);
  border:1px solid var(--ls-line-strong); border-radius:4px;
  padding:clamp(20px,3vw,30px) clamp(24px,4vw,36px);
}
.trial-banner h3{ color:var(--ls-head); font-size:1.1rem; margin-bottom:.3em; }
.trial-banner p{ color:var(--ls-text); font-size:.92rem; max-width:52ch; }

/* ---------- screen showcase ---------- */
.showcase{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
@media (max-width:760px){ .showcase{ grid-template-columns:1fr; } }
.showcase-item{ border:1px solid var(--ls-line); border-radius:4px; overflow:hidden; background:var(--ls-card); }
.showcase-shot{ aspect-ratio:16/10; overflow:hidden; background:var(--near-black); }
.showcase-shot img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .5s ease; }
.showcase-item:hover .showcase-shot img{ transform:scale(1.035); }
.showcase-cap{ padding:1.1rem 1.3rem; }
.showcase-cap h3{ font-size:1rem; color:var(--ls-head); margin-bottom:.3em; }
.showcase-cap p{ font-size:.88rem; color:var(--ls-text); }

/* ---------- pricing + download ---------- */
.offer-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(28px,4vw,48px); align-items:stretch; }
@media (max-width:900px){ .offer-grid{ grid-template-columns:1fr; } }

.price-card{ border:1px solid var(--ls-line); background:var(--ls-card); padding:clamp(28px,4vw,36px); display:flex; flex-direction:column; gap:1.4rem; }
.price-figure{ display:flex; align-items:baseline; gap:.4em; }
.price-figure .amount{ font-family:'Poppins',sans-serif; font-weight:800; font-size:2.6rem; color:var(--ls-gold); }
.price-figure .period{ color:var(--ls-text); font-size:.95rem; }
.price-list{ display:flex; flex-direction:column; gap:.7rem; list-style:none; margin:0; padding:0; }
.price-list li{ color:var(--ls-text); font-size:.92rem; padding-left:1.4em; position:relative; }
.price-list li::before{ content:"✓"; position:absolute; left:0; color:var(--ls-gold); }

.download-card{ border:1px solid var(--ls-line-strong); background:linear-gradient(160deg, rgba(213,176,98,.12), transparent 60%), var(--ls-card); padding:clamp(28px,4vw,36px); display:flex; flex-direction:column; gap:1.5rem; justify-content:center; }
.download-buttons{ display:flex; flex-wrap:wrap; gap:1rem; }
.download-buttons .btn small{ display:block; font-weight:500; font-size:.72rem; opacity:.75; margin-top:.15em; }
.smartscreen-note{
  display:block;
  font-size:.85rem; color:var(--ls-text); border-top:1px solid var(--ls-line); padding-top:1.2rem;
}
.smartscreen-note strong{ color:var(--ls-accent); }

.checksum-details{ font-size:.82rem; color:var(--ls-text); }
.checksum-details summary{ cursor:pointer; color:var(--ls-accent); font-weight:600; font-size:.85rem; }
.checksum-details p{ margin-top:.6rem; color:var(--ls-text); }
.checksum-details code{
  font-family:'IBM Plex Mono',monospace; font-size:.78rem; color:var(--ls-head);
  background:rgba(171,133,60,.1); padding:.15em .4em; border-radius:2px; word-break:break-all;
}

.install-steps{ display:flex; flex-direction:column; gap:0; margin-top:.4rem; }
.install-step{ display:flex; gap:1rem; padding:.85rem 0; border-top:1px solid var(--ls-line); }
.install-step:first-child{ border-top:none; }
.install-step .n{ font-family:'Poppins',sans-serif; font-weight:800; color:var(--ls-gold); font-size:1rem; width:1.6em; flex:none; }
.install-step p{ color:var(--ls-text); font-size:.9rem; }

/* ---------- demo video ---------- */
.demo-video-feature{ margin-bottom:clamp(28px,4vw,40px); }
.demo-video-wrap{
  position:relative; border-radius:4px; overflow:hidden;
  border:1px solid var(--ls-line-strong); background:var(--near-black);
  box-shadow:0 30px 60px -30px var(--ls-shadow);
}
.demo-video-wrap video{ width:100%; height:auto; display:block; aspect-ratio:16/10; object-fit:cover; background:var(--near-black); }
.demo-video-cap{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.6em 1.4em; margin-top:1rem; }
.demo-video-cap h3{ font-size:1.05rem; color:var(--ls-head); }
.demo-video-cap p{ color:var(--ls-text); font-size:.9rem; }

/* ---------- faq ---------- */
.faq-list{ display:flex; flex-direction:column; gap:.7rem; max-width:820px; }
.faq-item{
  border:1px solid var(--ls-line-strong); border-radius:4px; background:var(--ls-card);
  padding:.2rem 1.4rem;
}
.faq-item summary{
  cursor:pointer; list-style:none; padding:1.15rem 0; font-weight:700; color:var(--ls-head); font-size:1rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; flex:none; font-family:'Poppins',sans-serif; font-weight:700; font-size:1.2rem; color:var(--ls-gold);
  transition:transform .2s ease;
}
.faq-item[open] summary::after{ transform:rotate(45deg); }
.faq-item p{ color:var(--ls-text); font-size:.94rem; padding:0 0 1.3rem; max-width:66ch; }

/* ---------- docs grid ---------- */
.doc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }
.doc-card{
  display:flex; align-items:center; justify-content:space-between; gap:.8em;
  border:1px solid var(--ls-line); border-radius:4px; padding:1.1rem 1.3rem;
  background:var(--ls-card); transition:border-color .2s ease, transform .2s ease;
}
.doc-card:hover{ border-color:var(--ls-gold); transform:translateY(-2px); }
.doc-card .lang{ font-weight:700; color:var(--ls-head); font-size:.98rem; }
.doc-card .fmt{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--ls-text); text-transform:uppercase; }
.doc-card svg{ flex:none; color:var(--ls-gold); }

/* ---------- legal pages ---------- */
.legal-page{ background:var(--paper); color:var(--near-black); min-height:100svh; }
.legal-content{ max-width:74ch; margin:0 auto; padding:clamp(48px,7vw,80px) clamp(20px,4vw,56px) 100px; }
.legal-content h1{ font-size:clamp(1.8rem,2.4vw+1rem,2.4rem); margin-bottom:.2em; }
.legal-content .updated{ font-family:'IBM Plex Mono',monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#7a5c1f; margin-bottom:2.2em; display:block; }
.legal-content h2{ font-family:'Poppins',sans-serif; font-weight:700; font-size:1.2rem; margin:2em 0 .6em; color:var(--near-black); }
.legal-content p, .legal-content li{ color:var(--ink); font-size:.98rem; line-height:1.7; }
.legal-content ul{ padding-left:1.3em; }
.legal-content strong{ color:var(--near-black); }
.legal-back{ display:inline-flex; align-items:center; gap:.5em; font-size:.85rem; color:#7a5c1f; font-weight:600; margin-bottom:2em; }


/* =============================================================
   Shuddhi page: structure, conversion and quality pass
   ============================================================= */
.brand{ display:flex; align-items:center; gap:.2rem; }
.brand-mark{ width:34px; height:34px; }
.brand-mark img{ width:100%; height:100%; }
.footer-mark{ width:40px; height:40px; }
a.suddhi-tag{ color:var(--ls-accent); }
a.suddhi-tag:hover{ border-color:var(--ls-gold); }
@media (max-width:420px){ .suddhi-tag{ display:none; } }

.hero-shot picture, .showcase-shot picture{ display:block; width:100%; height:100%; }
.hero-shot img{ aspect-ratio:1280/900; }

.trial-section{ padding-block:clamp(48px,6vw,72px); }
.trial-title{ color:var(--ls-head); font-size:clamp(1.15rem,1vw+.9rem,1.45rem); margin-bottom:.35em; }
.trial-actions, .price-actions{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; }
.btn-wa svg{ flex:none; }
.price-card .eyebrow, .download-card .eyebrow{ margin-bottom:.6em; }

figure.showcase-item{ margin:0; }
.video-note{ font-family:'IBM Plex Mono',monospace; font-size:.72rem !important; letter-spacing:.06em; }
ol.install-steps{ list-style:none; margin:.4rem 0 0; padding:0; }

.contact-wrap{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:clamp(28px,5vw,64px); align-items:start; }
.contact-wrap .section-head{ margin-bottom:0; }
@media (max-width:900px){ .contact-wrap{ grid-template-columns:1fr; } }

/* ---------- dark mode: Shuddhi light sections, cards and legal pages ---------- */
@media (prefers-color-scheme: dark){
  .legal-page{ background:#1f1d1a; color:var(--cream); color-scheme:dark; }
  .legal-content h1, .legal-content h2, .legal-content strong{ color:var(--cream); }
  .legal-content p, .legal-content li{ color:var(--mist); }
  .legal-content .updated, .legal-back{ color:var(--gold); }
  .legal-content a{ color:var(--gold); }
}

/* active section in the nav */
.nav-links a{ position:relative; }
.nav-links a:not(.btn)::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .35s ease; }
.nav-links a.active::after, .nav-links a:not(.btn):hover::after{ transform:scaleX(1); }
@media (max-width:860px){ .nav-links a::after{ display:none; } }


/* ---------- logo, hero and footer refinements ---------- */
.nav-wordmark{ height:34px; width:auto; }
@media (max-width:420px){ .nav-wordmark{ height:30px; } }
.footer-brand{ display:flex; flex-direction:column; gap:.55rem; }
.footer-wordmark{ height:40px; width:auto; }

.product-hero{ padding:clamp(56px,7vw,96px) 0 clamp(56px,7vw,88px); }
.product-hero-grid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,72px); }
.product-hero .eyebrow{ margin-bottom:1.1rem; }
.product-hero h1{ font-size:clamp(1.9rem,1.5vw + 1.2rem,2.55rem); line-height:1.14; letter-spacing:-.01em; max-width:24ch; }
.product-hero .lede{ font-size:clamp(1rem,.3vw + .95rem,1.1rem); }
.hero-meta{ gap:.5rem; margin-top:1.8rem; letter-spacing:.08em; font-size:.68rem; }
.hero-meta > span{ padding:.5em .85em; border:1px solid var(--ls-line-strong); border-radius:99px; color:var(--ls-head); background:var(--ls-card); }
.hero-meta > span:not(:last-child)::after{ content:none; }

.hero-shot{ border:none; box-shadow:none; overflow:visible; border-radius:0; }
.hero-shot::after{ content:none; }
.hero-shot::before{ content:""; position:absolute; inset:8% 4% -6%; background:radial-gradient(closest-side, rgba(213,176,98,.22), transparent); filter:blur(20px); z-index:0; }
.app-window{ position:relative; z-index:1; border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--ls-line-strong); box-shadow:0 50px 90px -40px var(--ls-shadow), 0 0 0 8px rgba(171,133,60,.06); }
.app-bar{ display:flex; align-items:center; gap:6px; padding:9px 12px; background:var(--ls-chrome); border-bottom:1px solid var(--ls-line); }
.app-bar i{ width:9px; height:9px; border-radius:50%; background:var(--ls-line-strong); }
.app-bar span{ margin-left:10px; font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.08em; color:var(--ls-text); }
.app-window img{ width:100%; height:auto; display:block; aspect-ratio:1280/900; }
@media (max-width:900px){ .product-hero-grid{ grid-template-columns:1fr; } .product-hero h1{ max-width:none; } }

.section-sub{ margin-top:1rem; color:var(--ls-text); max-width:56ch; font-size:1.05rem; }

/* the nav is see-through over the light hero, so the page behind it must match */
body{ background:var(--ls-bg); }
