/*
 * AstroCalc "Clarity" landing (guest home + /kundli).
 * Self-contained: every rule is scoped under .clarity so the rest of the app is untouched.
 * Theme follows the app (html[data-bs-theme]); falls back to prefers-color-scheme.
 * Spec: docs/design/design-system-clarity.md. No gradients, shadows, borders or blur on tiles.
 */

/* ───────── Tokens ───────── */
.clarity{
  --bg:#FBFBFD; --tile:#F2F2F5; --tile-2:#E4E4E9; --seg-past:#BDBDC6;
  --text:#1D1D1F; --text-2:#6E6E73; --rule:#D8D8DD;
  --accent:#D9480F; --accent-hover:#B93D08; --accent-text:#C2410C; --accent-soft:#FBE3D6; --on-accent:#FFFFFF;
  --inv-bg:#1D1D1F; --inv-fg:#F5F5F7; --inv-fg-2:#A1A1A6; --inv-accent:#FF7A3D; --inv-on-accent:#1D0A02; --inv-field:#2C2C30;
  --pg-b:#F0A27A; --err:#B42318; --accent-strong:#C2410C; --rare-text:#9A3412;
  --h9:#2F9E5B; --h8:#7DC898; --h7:#C2E7D0;
  --h6:#FFF4D6; --h5:#FADF8E; --h4:#E0A100;
  --h3:#FDE7E4; --h2:#F2A9A2; --h1:#C73A3A;
  --f9:#05210F; --f8:#05210F; --f7:#05210F; --f6:#3A2C00; --f5:#3A2C00; --f4:#2A1F00; --f3:#4A1210; --f2:#4A1210; --f1:#FFFFFF;
  color-scheme:light;
}
[data-bs-theme="dark"] .clarity{
  --bg:#0B0B0D; --tile:#1A1A1E; --tile-2:#27272C; --seg-past:#4B4B53;
  --text:#F5F5F7; --text-2:#A1A1A6; --rule:#2E2E34;
  --accent:#FF7A3D; --accent-hover:#FF9460; --accent-text:#FF7A3D; --accent-soft:#3A2013; --on-accent:#1D0A02;
  --inv-bg:#F5F5F7; --inv-fg:#1D1D1F; --inv-fg-2:#6E6E73; --inv-accent:#C2410C; --inv-on-accent:#FFFFFF; --inv-field:#E4E4E9;
  --pg-b:#C2602F; --err:#FF8A80; --accent-strong:#FF7A3D; --rare-text:#FF7A3D;
  --h9:#2A7D4F; --h8:#1F5E3B; --h7:#173F29;
  --h6:#3B3216; --h5:#5E4A0F; --h4:#7D6000;
  --h3:#3A1E1D; --h2:#5C2625; --h1:#8F2D2D;
  --f9:#F5F5F7; --f8:#F5F5F7; --f7:#F5F5F7; --f6:#F5F5F7; --f5:#F5F5F7; --f4:#F5F5F7; --f3:#F5F5F7; --f2:#F5F5F7; --f1:#F5F5F7;
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){
  html:not([data-bs-theme]) .clarity{
    --bg:#0B0B0D; --tile:#1A1A1E; --tile-2:#27272C; --seg-past:#4B4B53;
    --text:#F5F5F7; --text-2:#A1A1A6; --rule:#2E2E34;
    --accent:#FF7A3D; --accent-hover:#FF9460; --accent-text:#FF7A3D; --accent-soft:#3A2013; --on-accent:#1D0A02;
    --inv-bg:#F5F5F7; --inv-fg:#1D1D1F; --inv-fg-2:#6E6E73; --inv-accent:#C2410C; --inv-on-accent:#FFFFFF; --inv-field:#E4E4E9;
    --pg-b:#C2602F; --err:#FF8A80; --accent-strong:#FF7A3D; --rare-text:#FF7A3D;
    --h9:#2A7D4F; --h8:#1F5E3B; --h7:#173F29;
    --h6:#3B3216; --h5:#5E4A0F; --h4:#7D6000;
    --h3:#3A1E1D; --h2:#5C2625; --h1:#8F2D2D;
    --f9:#F5F5F7; --f8:#F5F5F7; --f7:#F5F5F7; --f6:#F5F5F7; --f5:#F5F5F7; --f4:#F5F5F7; --f3:#F5F5F7; --f2:#F5F5F7; --f1:#F5F5F7;
    color-scheme:dark;
  }
}

/* page-level */
html.landing-mode{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#FBFBFD}
html.landing-mode[data-bs-theme="dark"]{background:#0B0B0D}
html.landing-mode body{margin:0}
html.native-app #landing-page{display:none}
html.has-user #landing-page{visibility:hidden}
[x-cloak]{display:none!important}
.clarity{min-height:100vh;overflow-x:clip}

/* ───────── Components (from the approved prototype, scoped) ───────── */
.clarity *{box-sizing:border-box}
.clarity{margin:0;background:var(--bg);color:var(--text);font-family:'Anek Latin','Anek Devanagari',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased}
@media(min-width:900px){
  .clarity{font-size:18px}
}
html.lang-hi .clarity{font-size:18px;line-height:1.65}
@media(min-width:900px){
  html.lang-hi .clarity{font-size:19px}
}
.clarity h1,.clarity h2,.clarity h3,.clarity h4,.clarity p,.clarity ul,.clarity ol,.clarity figure{margin:0;padding:0}
.clarity ul,.clarity ol{list-style:none}
.clarity h1,.clarity h2,.clarity h3,.clarity h4{font-weight:700;letter-spacing:-.02em;text-wrap:balance}
html.lang-hi .clarity h1,html.lang-hi .clarity h2,html.lang-hi .clarity h3,html.lang-hi .clarity h4{letter-spacing:0;line-height:1.3!important}
.clarity a{color:inherit}
.clarity button,.clarity input{font:inherit;color:inherit}
.clarity button{cursor:pointer}
.clarity :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.clarity .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.clarity .skip{position:absolute;left:8px;top:-60px;background:var(--text);color:var(--bg);padding:10px 14px;border-radius:8px;z-index:100;text-decoration:none}
.clarity .skip:focus{top:8px}
.clarity .wrap{max-width:1160px;margin:0 auto;padding:0 20px}
@media(min-width:900px){
  .clarity .wrap{padding:0 32px}
}
.clarity svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* Type helpers */
.clarity .lbl{font-size:14px;line-height:1.35;color:var(--text-2);font-weight:500}
html.lang-hi .clarity .lbl{font-size:15px}
.clarity .big{font-size:48px;line-height:1.05;font-weight:700;letter-spacing:-.025em}
@media(min-width:900px){
  .clarity .big{font-size:56px}
}
.clarity h2.sec-h{font-size:30px;line-height:1.12}
@media(min-width:900px){
  .clarity h2.sec-h{font-size:48px}
}
.clarity h3.rh{font-size:26px;line-height:1.15}
@media(min-width:900px){
  .clarity h3.rh{font-size:34px}
}
.clarity .sub{color:var(--text-2);font-size:17px;max-width:34em}
.clarity .tl{display:inline-flex;gap:6px;align-items:center;color:var(--accent-text);font-weight:600;text-decoration:none;min-height:44px}
.clarity .tl:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}
/* Buttons */
.clarity .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:19px;letter-spacing:-.005em;text-decoration:none;white-space:nowrap}
.clarity .btn:hover{background:var(--accent-hover)}
.clarity .btn[disabled]{opacity:.6;cursor:progress}
.clarity .btn.lg{height:56px}
.clarity .gmark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;flex:none}
.clarity .gmark svg{width:16px;height:16px}
/* ───────── Header ───────── */
.clarity .hdr{position:sticky;top:0;z-index:40;background:var(--bg)}
.clarity .hdr .wrap{display:flex;align-items:center;gap:6px;height:64px}
.clarity .brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:21px;letter-spacing:-.03em;margin-right:auto}
.clarity .brand svg{width:24px;height:24px}
.clarity .nav a{white-space:nowrap;text-decoration:none;font-weight:500;font-size:15px;color:var(--text-2);padding:10px 10px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.clarity .nav a:hover{color:var(--text)}
.clarity .nav{display:flex;align-items:center}
.clarity .nav .hide-m{display:none}
@media(min-width:760px){
  .clarity .nav .hide-m{display:inline-flex}
}
.clarity .nav a.signin{color:var(--text);font-weight:600}
.clarity .seg-lang{display:inline-flex;background:var(--tile);border-radius:999px;padding:3px;margin-left:6px}
.clarity .seg-lang button{border:0;background:transparent;padding:0 12px;height:36px;min-width:44px;border-radius:999px;font-size:14px;font-weight:600;color:var(--text-2)}
.clarity .seg-lang button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
/* ───────── Hero ───────── */
.clarity .hero{padding:44px 0 32px;text-align:center}
@media(min-width:900px){
  .clarity .hero{padding:96px 0 48px}
}
.clarity h1.hero-title{font-size:clamp(42px,7vw,80px);line-height:1.04;letter-spacing:-.022em;font-weight:700;max-width:13.5em;margin:0 auto 22px}
html.lang-hi .clarity h1.hero-title{line-height:1.22!important}
.clarity .lede{font-size:19px;color:var(--text-2);max-width:31em;margin:0 auto}
@media(min-width:900px){
  .clarity .lede{font-size:22px}
}
.clarity .lede .hing{display:block;margin-top:6px;color:var(--text)}
.clarity .birth{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;max-width:980px;margin:36px auto 0;text-align:left}
.clarity .birth .f-city,.clarity .birth .f-go{grid-column:1/-1}
@media(min-width:900px){
  .clarity .birth{grid-template-columns:200px 170px 1fr auto;gap:12px;margin-top:56px}
  .clarity .birth .f-city,.clarity .birth .f-go{grid-column:auto}
}
.clarity .field{display:block;min-width:0}
.clarity .field .lbl{display:block;margin:0 0 6px 2px}
.clarity .inp{width:100%;height:56px;border:0;border-radius:14px;background:var(--tile);padding:0 16px;font-size:17px;color:var(--text);appearance:none;-webkit-appearance:none;min-width:0;font-weight:500;display:block;text-align:left}
.clarity .inp::placeholder{color:var(--text-2);font-weight:400}
.clarity .inp:focus{outline:2px solid var(--accent);outline-offset:0}
.clarity .inp:disabled{opacity:.45}
.clarity .f-go{align-self:end}
.clarity .f-go .btn{width:100%}
.clarity .under-form{max-width:980px;margin:16px auto 0;display:flex;flex-direction:column;gap:2px;align-items:center}
.clarity .chk{display:inline-flex;gap:10px;align-items:center;font-size:16px;color:var(--text-2);cursor:pointer;min-height:44px}
.clarity .chk input{width:20px;height:20px;accent-color:var(--accent);margin:0;flex:none}
.clarity .hint{display:none;max-width:34em;font-size:15px;line-height:1.5;color:var(--text-2);background:var(--tile);border-radius:14px;padding:12px 16px;text-align:left;margin:4px 0 6px}
.clarity .hint.on{display:block}
.clarity .hero-links{margin-top:6px}
.clarity .peek{max-width:980px;margin:56px auto 0;text-align:left}
.clarity .peek-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 4px 12px}
.clarity[data-state="after"] .peek{display:none}
@media(min-width:900px){
}
/* ───────── Heatmap ───────── */
.clarity .legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--text-2)}
.clarity .legend span{display:inline-flex;align-items:center;gap:7px}
.clarity .legend i{width:14px;height:14px;border-radius:5px;display:block}
.clarity .heat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.clarity .ht{appearance:none;border:0;text-align:left;border-radius:14px;padding:14px 14px 12px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:var(--hc);color:var(--fc);font-weight:500}
.clarity .ht .nm{font-size:15px;line-height:1.25;font-weight:600;letter-spacing:-.005em}
.clarity .ht .wd{font-size:13px;font-weight:500;opacity:.92}
html.lang-hi .clarity .ht .nm{font-size:15.5px}
html.lang-hi .clarity .ht .wd{font-size:14px}
@media(min-width:900px){
  .clarity .heat{gap:10px}
  .clarity .ht{min-height:100px;padding:14px 16px 12px}
  .clarity .ht .nm{font-size:17px}
  .clarity .ht .wd{font-size:14px}
}
.clarity .ht[aria-pressed="true"]{outline:3px solid var(--text);outline-offset:2px}
.clarity .ht:hover{filter:brightness(.96)}
.clarity div.ht{pointer-events:none}
.clarity .s9{--hc:var(--h9);--fc:var(--f9)}
.clarity .s8{--hc:var(--h8);--fc:var(--f8)}
.clarity .s7{--hc:var(--h7);--fc:var(--f7)}
.clarity .s6{--hc:var(--h6);--fc:var(--f6)}
.clarity .s5{--hc:var(--h5);--fc:var(--f5)}
.clarity .s4{--hc:var(--h4);--fc:var(--f4)}
.clarity .s3{--hc:var(--h3);--fc:var(--f3)}
.clarity .s2{--hc:var(--h2);--fc:var(--f2)}
.clarity .s1{--hc:var(--h1);--fc:var(--f1)}
.clarity .heat-wrap{display:grid;gap:12px}
@media(min-width:900px){
  .clarity .heat-wrap{grid-template-columns:7fr 5fr;gap:16px}
}
.clarity .hd{background:var(--tile);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px}
@media(min-width:900px){
  .clarity .hd{padding:32px}
}
.clarity .hd .badge{align-self:flex-start;display:inline-flex;align-items:center;padding:6px 14px;border-radius:10px;background:var(--hc);color:var(--fc);font-size:15px;font-weight:600}
.clarity .hd h4{font-size:28px;line-height:1.15}
.clarity .hd p.line{font-size:19px;line-height:1.45}
.clarity .hd .helps{background:var(--tile-2);border-radius:14px;padding:14px 16px}
.clarity .hd .helps b{display:block;font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:4px}
.clarity .hd .helps p{font-size:17px;line-height:1.45}
.clarity .hd .helps.care{background:var(--h3);color:var(--f3)}
.clarity .hd .helps.care b{color:var(--f3)}
.clarity .hd .helps.care p{font-size:19px;font-weight:500}
.clarity .meter{display:flex;gap:4px;margin-top:10px}
.clarity .meter i{flex:1;height:12px;border-radius:4px;background:var(--tile-2);display:block}
.clarity .meter i.on{background:var(--mc)}
.clarity .hd .house{color:var(--text-2);font-size:14px}
.clarity .hd .legend{margin-top:auto;padding-top:12px}
/* ───────── Tiles ───────── */
.clarity .tile{background:var(--tile);border-radius:20px;padding:24px;--pg-disc:var(--bg)}
@media(min-width:900px){
  .clarity .tile{padding:32px}
}
.clarity .tile.inv{background:var(--inv-bg);color:var(--inv-fg);--pg-disc:var(--tile)}
.clarity .tile.inv .lbl,.clarity .tile.inv .sub{color:var(--inv-fg-2)}
.clarity .tile.inv .btn{background:var(--inv-accent);color:var(--inv-on-accent)}
.clarity .tile.inv .btn:hover{filter:brightness(1.08)}
.clarity .tile.inv .tl{color:var(--inv-accent)}
.clarity #result{display:none;padding:32px 0 0}
.clarity[data-state="after"] #result{display:block}
.clarity .res-head{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;align-items:flex-start}
.clarity .meta{display:inline-flex;background:var(--tile);border-radius:14px;padding:8px 16px;font-size:15px;font-weight:500;color:var(--text-2)}
.clarity .blk{margin-top:56px}
@media(min-width:900px){
  .clarity .blk{margin-top:88px}
}
.clarity .blk-head{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}
.clarity .glance{display:grid;gap:12px}
@media(min-width:760px){
  .clarity .glance{grid-template-columns:repeat(3,1fr)}
}
.clarity .glance .tile{display:flex;flex-direction:column;gap:10px;min-height:0}
.clarity .glance .big small{font-size:18px;font-weight:500;color:var(--text-2);letter-spacing:0;margin-left:8px}
.clarity .glance p.s{font-size:17px;line-height:1.45}
.clarity .glance .pada{font-size:14px;color:var(--text-2)}
.clarity .pair{display:grid;gap:12px}
@media(min-width:960px){
  .clarity .pair{grid-template-columns:7fr 5fr;gap:16px}
}
.clarity .ch-top{display:flex;gap:18px;align-items:flex-start}
.clarity .glyph-pair{position:relative;width:104px;height:104px;flex:none}
.clarity .glyph-pair .main{width:104px;height:104px}
.clarity .glyph-pair .sm{position:absolute;right:-10px;bottom:-6px;width:48px;height:48px}
.clarity .ch-top h4{font-size:26px;line-height:1.15;margin:4px 0 6px}
.clarity .ch-top .per{font-size:15px;color:var(--text-2)}
.clarity .ch-until{font-size:19px;font-weight:700;margin:22px 0 0;letter-spacing:-.01em}
.clarity .cbar{position:relative;display:flex;gap:3px;height:36px;margin-top:46px}
.clarity .cs{flex:var(--w) 1 0;min-width:0;border-radius:6px;background:var(--tile-2)}
.clarity .cs.past{background:var(--seg-past)}
.clarity .cs.now{background:var(--text)}
.clarity .cs:first-child{border-radius:12px 6px 6px 12px}
.clarity .cs:last-child{border-radius:6px 12px 12px 6px}
.clarity .you{position:absolute;left:var(--pos);top:-40px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:slideIn 1s .5s cubic-bezier(.2,.8,.2,1) both}
.clarity .you span{background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;padding:3px 10px;border-radius:8px;white-space:nowrap}
.clarity .you i{width:3px;height:30px;background:var(--accent);display:block}
@keyframes slideIn{from{left:0;opacity:0}to{left:var(--pos);opacity:1}}
.clarity .cdates{display:flex;justify-content:space-between;font-size:14px;color:var(--text-2);margin-top:8px}
.clarity .ch-text{margin-top:18px;font-size:17px;max-width:38em}
.clarity .ch-leg{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:14px;color:var(--text-2);margin-top:14px}
.clarity .ch-leg span{display:inline-flex;gap:7px;align-items:center}
.clarity .ch-leg i{width:14px;height:14px;border-radius:5px;display:block}
.clarity .yoga{display:flex;flex-direction:column;gap:10px}
.clarity .yoga .yh{display:flex;gap:14px;align-items:center}
.clarity .yoga .yh .pg{width:72px;height:72px;flex:none}
.clarity .yoga h4{font-size:26px;line-height:1.15}
.clarity .yoga .big{margin-top:6px}
.clarity .yoga .stat{font-size:17px;color:var(--text-2)}
.clarity .yoga .who{font-size:15px;font-weight:600;margin-top:6px}
.clarity .yoga .mean{font-size:17px}
.clarity .chart-tile{display:grid;gap:24px;align-items:center}
@media(min-width:760px){
  .clarity .chart-tile{grid-template-columns:auto 1fr;gap:48px}
}
.clarity .chart-tile .cv{width:100%;max-width:280px;margin:0 auto}
.clarity .chart-tile h4{font-size:26px;line-height:1.15;margin-bottom:10px}
.clarity .chart-tile .wal{font-size:17px}
.clarity .chart-tile .wal b{font-weight:700}
.clarity .chart-tile .key{margin-top:14px;font-size:14px;color:var(--text-2);line-height:1.6}
.clarity svg.chart{width:100%;height:auto;aspect-ratio:1;display:block}
.clarity .ch-sq{fill:var(--bg);stroke:var(--text-2);stroke-width:2}
.clarity .ch-ln{stroke:var(--text-2);stroke-width:1.4;fill:none}
.clarity .ch-h1{fill:var(--accent-soft)}
.clarity .ch-num{fill:var(--text-2);font-size:15px;font-weight:500;text-anchor:middle;dominant-baseline:central}
.clarity .ch-pl{fill:var(--text);font-size:21px;font-weight:700;text-anchor:middle;dominant-baseline:central}
.clarity .ch-asc{fill:var(--accent-text);font-size:13px;font-weight:700;text-anchor:middle}
.clarity .locks{display:grid;gap:12px}
@media(min-width:760px){
  .clarity .locks{grid-template-columns:repeat(3,1fr)}
}
.clarity .lock{display:flex;flex-direction:column;gap:8px;min-height:176px}
.clarity .lock h4{font-size:22px;line-height:1.2;display:flex;align-items:center;gap:8px}
.clarity .lock h4 svg{color:var(--text-2);width:18px;height:18px}
.clarity .lock p{color:var(--text-2);font-size:17px;flex:1}
.clarity .save{display:grid;gap:24px;align-items:center}
@media(min-width:900px){
  .clarity .save{grid-template-columns:1.2fr 1fr;gap:56px;padding:56px}
}
.clarity .save h3{font-size:34px;line-height:1.1}
@media(min-width:900px){
  .clarity .save h3{font-size:48px}
}
.clarity .save .sub{margin-top:12px}
.clarity .save .act{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.clarity .save .btn{height:56px;width:100%}
.clarity .save .cr{text-align:center;font-size:16px}
.clarity .save .cr b{color:var(--inv-fg)}
.clarity .save .fine{text-align:center;font-size:14px;color:var(--inv-fg-2)}
/* Mobile save bar */
.clarity #savebar{display:none;position:fixed;z-index:60;left:8px;right:8px;bottom:8px;background:var(--inv-bg);color:var(--inv-fg);border-radius:20px;padding:10px 10px 10px 18px;align-items:center;justify-content:space-between;gap:10px}
.clarity #savebar b{font-size:16px;line-height:1.2;display:block}
.clarity #savebar small{font-size:13px;color:var(--inv-fg-2)}
.clarity #savebar .btn{height:48px;padding:0 16px 0 10px;font-size:16px;background:var(--inv-accent);color:var(--inv-on-accent);gap:8px}
.clarity[data-state="after"].bar-on #savebar{display:flex}
@media(min-width:760px){
  .clarity.bar-on #savebar{display:none!important}
}
.clarity[data-state="after"].bar-on{padding-bottom:84px}
@media(min-width:760px){
  .clarity[data-state="after"].bar-on{padding-bottom:0}
}
/* ───────── Sections ───────── */
.clarity section.sec{padding:64px 0}
@media(min-width:900px){
  .clarity section.sec{padding:128px 0}
}
.clarity .sec-head{max-width:30em;margin-bottom:32px;display:flex;flex-direction:column;gap:12px}
@media(min-width:900px){
  .clarity .sec-head{margin-bottom:48px}
}
/* Kundli milan */
.clarity .milan{display:grid;gap:32px;padding:24px}
@media(min-width:900px){
  .clarity .milan{grid-template-columns:1fr 1fr;gap:56px;padding:56px;align-items:center}
}
.clarity .milan .copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.clarity .duo{display:grid;gap:10px;width:100%;max-width:420px}
.clarity .duo>div{background:var(--bg);border-radius:14px;padding:12px 16px}
.clarity .duo b{display:block;font-size:17px;font-weight:600}
.clarity .score{background:var(--bg);border-radius:20px;padding:24px}
@media(min-width:900px){
  .clarity .score{padding:32px}
}
.clarity .score-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.clarity .score-top .n{font-size:72px;font-weight:700;letter-spacing:-.04em;line-height:1}
.clarity .score-top .of{font-size:24px;color:var(--text-2);font-weight:500}
.clarity .score-top .vd{margin-left:auto;font-size:15px;font-weight:600;padding:6px 14px;border-radius:10px;background:var(--h7);color:var(--f7)}
.clarity .score .sc-note{color:var(--text-2);font-size:15px;margin:6px 0 18px}
.clarity .koot{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 0;position:relative}
.clarity .koot:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.clarity .koot .kn{font-size:16px;font-weight:600}
.clarity .koot .kn small{font-weight:400;color:var(--text-2);font-size:14px;margin-left:6px}
.clarity .koot .kv{font-size:15px;font-weight:600;text-align:right;white-space:nowrap}
.clarity .koot .kv small{font-weight:400;color:var(--text-2);margin-left:4px}
.clarity .koot .kb{grid-column:1/-1;height:6px;border-radius:3px;background:var(--tile-2);overflow:hidden;margin-top:4px}
.clarity .koot .kb i{display:block;height:100%;border-radius:3px;width:var(--p);background:var(--bc)}
/* What you get */
.clarity .get{display:grid;gap:24px}
@media(min-width:900px){
  .clarity .get{grid-template-columns:5fr 7fr;gap:64px}
}
.clarity .rows li{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 0}
.clarity .rows li:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.clarity .rows li:first-child{padding-top:4px}
.clarity .rows b{font-size:19px;font-weight:600;letter-spacing:-.01em}
.clarity .rows span.d{grid-column:1;color:var(--text-2);font-size:16px}
.clarity .rows .tg{grid-row:1;grid-column:2;font-size:14px;font-weight:600;color:var(--text-2);align-self:center}
.clarity .rows .tg.free{color:var(--accent-text)}
/* PDF */
.clarity .pdf{display:grid;gap:32px;align-items:center}
@media(min-width:900px){
  .clarity .pdf{grid-template-columns:1fr 1fr;gap:64px}
}
.clarity .pdf .copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.clarity .pdf-stage{background:var(--tile);border-radius:20px;padding:32px 20px 18px;display:flex;flex-direction:column;align-items:center;gap:16px}
.clarity .pdf-cap{font-size:16px;font-weight:600}
/* the PDF page is always light, like the real export */
.clarity .page{--ink:#1D1D1F;--ink2:#6E6E73;width:100%;max-width:330px;aspect-ratio:210/297;background:#fff;color:var(--ink);border-radius:6px;padding:7% 7% 5%;font-size:10px;line-height:1.35;display:flex;flex-direction:column;gap:6%;overflow:hidden}
@media(min-width:900px){
  .clarity .page{font-size:11px;max-width:360px}
}
.clarity .page .ph{display:flex;justify-content:space-between;align-items:baseline}
.clarity .page .ph b{font-size:1.9em;letter-spacing:-.02em}
.clarity .page .ph span{color:var(--ink2)}
.clarity .page .kv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.clarity .page .kv div{background:#F2F2F5;border-radius:6px;padding:6px 7px}
.clarity .page .kv small{display:block;color:var(--ink2);font-size:.85em}
.clarity .page .kv b{font-size:1.25em}
.clarity .page .sh{font-weight:700;font-size:1.1em;margin-bottom:4px}
.clarity .page .mh{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.clarity .page .mh i{display:block;height:20px;border-radius:3px;background:var(--c)}
.clarity .page .pb{display:flex;gap:2px;height:12px}
.clarity .page .pb i{display:block;flex:var(--w) 1 0;border-radius:2px;background:#E4E4E9}
.clarity .page .pb i.p{background:#BDBDC6}
.clarity .page .pb i.n{background:#1D1D1F}
.clarity .page .two{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;align-items:center}
.clarity .page .ln{height:5px;border-radius:3px;background:#E4E4E9;margin:5px 0}
.clarity .page{--h9:#2F9E5B;--h8:#7DC898;--h7:#C2E7D0;--h6:#FFF4D6;--h5:#FADF8E;--h4:#E0A100;--h3:#FDE7E4;--h2:#F2A9A2;--h1:#C73A3A}
.clarity .page .ch-sq{fill:#fff;stroke:#6E6E73}
.clarity .page .ch-ln{stroke:#6E6E73}
.clarity .page .ch-h1{fill:#FBE3D6}
.clarity .page .ch-num{display:none}
.clarity .page .ch-pl{fill:#1D1D1F;font-size:26px}
.clarity .page .ch-asc{display:none}
/* Learn rows */
.clarity .lrows li a{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 24px;padding:26px 0;text-decoration:none;align-items:center}
.clarity .lrows li:not(:last-child) a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.clarity .lrows li:first-child a{padding-top:8px}
.clarity .lrows h3{font-size:24px;line-height:1.2}
@media(min-width:900px){
  .clarity .lrows h3{font-size:30px}
}
.clarity .lrows .d{grid-column:1;color:var(--text-2);font-size:17px;max-width:40em}
.clarity .lrows .m{grid-row:1/3;grid-column:2;display:flex;gap:10px;align-items:center;color:var(--text-2);font-size:14px}
.clarity .lrows a:hover h3{color:var(--accent-text)}
@media(max-width:600px){
  .clarity .lrows .m{grid-row:3;grid-column:1}
}
/* Trust */
.clarity .trust{display:grid;gap:28px}
@media(min-width:900px){
  .clarity .trust{grid-template-columns:5fr 7fr;gap:64px;align-items:start}
}
.clarity .trust h2{font-size:30px;line-height:1.12}
@media(min-width:900px){
  .clarity .trust h2{font-size:40px}
}
.clarity .trust-list{display:grid;gap:22px}
.clarity .trust-list p{font-size:18px;line-height:1.5}
.clarity .trust-list b{font-weight:700}
/* FAQ */
.clarity .faq{max-width:820px;margin:0 auto}
.clarity .faq details{position:relative}
.clarity .faq details:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rule)}
.clarity .faq summary{list-style:none;cursor:pointer;display:flex;gap:16px;justify-content:space-between;align-items:center;font-weight:600;font-size:19px;letter-spacing:-.01em;padding:20px 0;min-height:64px}
.clarity .faq summary::-webkit-details-marker{display:none}
.clarity .faq summary::after{content:"+";font-size:30px;font-weight:400;line-height:1;color:var(--text-2);flex:none}
.clarity .faq details[open] summary::after{content:"\2212"}
.clarity .faq details p{padding:0 40px 24px 0;color:var(--text-2);font-size:17px}
.clarity .center-head{text-align:center;align-items:center;margin-left:auto;margin-right:auto}
.clarity .final{text-align:center;padding:96px 0 24px}
.clarity .final h2{font-size:34px;line-height:1.1;max-width:14em;margin:0 auto 28px}
@media(min-width:900px){
  .clarity .final h2{font-size:56px}
  .clarity .final{padding:140px 0 40px}
}
.clarity footer{margin-top:48px;padding:40px 0 40px;background:var(--tile)}
.clarity .ft{display:grid;gap:24px}
@media(min-width:760px){
  .clarity .ft{grid-template-columns:1.4fr 1fr;align-items:start}
}
.clarity .ft p{font-size:15px;color:var(--text-2);max-width:34em;margin-top:10px}
.clarity .ft nav{display:flex;flex-wrap:wrap;gap:4px 24px}
.clarity .ft nav a{font-weight:500;font-size:16px;text-decoration:none;color:var(--text-2);padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.clarity .ft nav a:hover{color:var(--text)}
.clarity .copy-r{margin-top:24px;font-size:14px;color:var(--text-2)}
/* Persona sheet (hidden unless #personas) */
@media(min-width:900px){
}
.clarity .pg{display:block}
/* Prototype controls (not part of the design) */
@media(min-width:760px){
}
/* Motion: fade + 8px rise, 40ms stagger; reduced-motion safe */
.clarity[data-state="after"] .rise{animation:rise .5s both cubic-bezier(.2,.7,.2,1);animation-delay:calc(var(--i,0)*40ms)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .clarity[data-state="after"] .rise,.clarity .you{animation:none}
  .clarity *{scroll-behavior:auto!important}
}

/* ═════════ Production additions (beyond the prototype) ═════════ */

/* header controls */
.clarity .nav button.signin{appearance:none;border:0;background:transparent;white-space:nowrap;font-weight:600;font-size:15px;color:var(--text);padding:10px 10px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.clarity .nav a.signin{text-decoration:none}
.clarity .icon-btn{appearance:none;border:0;background:transparent;color:var(--text-2);width:44px;height:44px;border-radius:999px;display:inline-grid;place-items:center;margin-left:2px}
.clarity .icon-btn:hover{color:var(--text);background:var(--tile)}
.clarity .icon-btn svg.i{width:20px;height:20px}
.clarity .ic-sun{display:none}
[data-bs-theme="dark"] .clarity .ic-sun{display:block}
[data-bs-theme="dark"] .clarity .ic-moon{display:none}
.clarity .seg-lang button{cursor:pointer}

/* hero */
.clarity .hero-title{text-wrap:balance}
.clarity .lede .hing{display:block}
.clarity .inp{cursor:text}
.clarity input[type="date"].inp,.clarity input[type="time"].inp{min-height:56px;line-height:56px;padding-top:0;padding-bottom:0}
.clarity input.inp::-webkit-date-and-time-value{text-align:left}
.clarity input[type="date"].inp::-webkit-calendar-picker-indicator,.clarity input[type="time"].inp::-webkit-calendar-picker-indicator{opacity:.6}
.clarity .f-city{position:relative}
.clarity .sug{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--tile-2);border-radius:14px;padding:6px;max-height:300px;overflow:auto;margin:0;list-style:none}
.clarity .sug li{border-radius:10px}
.clarity .sug li button{appearance:none;border:0;background:transparent;width:100%;min-height:48px;text-align:left;padding:8px 12px;font-size:16px;border-radius:10px;display:block;color:var(--text)}
.clarity .sug li[aria-selected="true"] button,.clarity .sug li button:hover{background:var(--rule)}
.clarity .sug .none{padding:12px;color:var(--text-2);font-size:15px}
.clarity .ferr{color:var(--err);font-size:15px;font-weight:500;margin:6px 2px 0;display:block}
.clarity .ferr.top{text-align:center;margin:14px auto 0;max-width:34em}
.clarity .hint{display:block;margin:4px auto 6px}
.clarity .f-go .btn{width:100%}
.clarity .btn{cursor:pointer;font-family:inherit}
.clarity .btn:active{transform:translateY(1px)}
.clarity .btn[disabled]{opacity:.6;cursor:progress}
.clarity .btn.ghost{background:var(--tile);color:var(--text)}

/* processing sequence */
.clarity .proc{max-width:980px;margin:48px auto 0;background:var(--tile);border-radius:20px;padding:24px;display:grid;gap:20px;text-align:left}
@media(min-width:760px){.clarity .proc{grid-template-columns:auto 1fr;gap:48px;padding:32px;align-items:center}}
.clarity .proc-chart{width:100%;max-width:200px;margin:0 auto}
.clarity .proc h2{font-size:24px;line-height:1.2;margin-bottom:14px}
.clarity .steps{display:grid;gap:4px}
.clarity .steps li{display:flex;align-items:center;gap:12px;min-height:36px;font-size:17px;color:var(--text-2);transition:color .2s}
.clarity .steps li .dot{width:22px;height:22px;border-radius:50%;background:var(--tile-2);display:grid;place-items:center;flex:none;transition:background .2s}
.clarity .steps li .dot svg{width:12px;height:12px;stroke:var(--on-accent);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}
.clarity .steps li.now{color:var(--text);font-weight:600}
.clarity .steps li.now .dot{background:var(--accent);animation:pulse 1s ease-in-out infinite}
.clarity .steps li.done{color:var(--text)}
.clarity .steps li.done .dot{background:var(--h9)}
.clarity .steps li.done .dot svg{opacity:1;stroke:#fff}
@keyframes pulse{50%{transform:scale(.8);opacity:.7}}
.clarity .proc .ch-sq,.clarity .proc .ch-ln{stroke:var(--text);}
.clarity .proc .ch-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s ease-in-out infinite alternate}
@keyframes draw{to{stroke-dashoffset:0}}

/* While computing, the sections below are visibility:hidden so inserting the result does not register as layout shift */
.clarity[data-state="processing"] section.sec,.clarity[data-state="processing"] footer,.clarity[data-anim="1"] section.sec,.clarity[data-anim="1"] footer{visibility:hidden}

/* result */
.clarity #result{display:block;padding:32px 0 0;scroll-margin-top:72px}
.clarity #birth{scroll-margin-top:88px}
.clarity .glance .tile .one{display:block;font-weight:600;font-size:17px;color:var(--text);margin-bottom:2px}
.clarity .glance .badge-approx{align-self:flex-start;font-size:13px;font-weight:600;padding:4px 10px;border-radius:8px;background:var(--h5);color:var(--f5)}
.clarity .glance p.s{color:var(--text-2)}
.clarity .tile.na{display:flex;flex-direction:column;gap:8px}
.clarity .tile.na h3{font-size:24px;line-height:1.2}
.clarity .tile.na p{color:var(--text-2);max-width:40em}
.clarity .ht{animation:none}
.clarity[data-anim="1"] .ht{animation:tileIn .38s both cubic-bezier(.2,.7,.2,1);animation-delay:calc(var(--i,0)*45ms + .25s)}
@keyframes tileIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.clarity .ht{cursor:pointer}
.clarity .hd .meter i{transition:background .25s}

/* chapter bar */
.clarity .cbar{height:44px;margin-top:50px}
.clarity .cs{appearance:none;border:0;padding:0;cursor:pointer;height:100%}
.clarity .cs:hover{filter:brightness(.94)}
.clarity .cs.sel{outline:3px solid var(--text);outline-offset:2px}
.clarity .cs.now.sel{outline-color:var(--accent)}
.clarity .you{animation:none}
.clarity[data-anim="1"] .you{animation:slideIn .8s .35s cubic-bezier(.2,.8,.2,1) both}
.clarity .ch-box{margin-top:18px;background:var(--bg);border-radius:14px;padding:16px 18px}
.clarity .ch-box h5{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0 0 2px}
.clarity .ch-box .rng{font-size:14px;color:var(--text-2);margin-bottom:8px;display:block}
.clarity .ch-box p{font-size:17px;max-width:38em}
.clarity .ch-box .area{font-size:14px;color:var(--text-2);margin-top:8px}
.clarity .ch-tap{font-size:14px;color:var(--text-2);margin-top:12px}

/* yoga tile */
.clarity .tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:8px;background:var(--tile-2);font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}
.clarity .tag.rare{background:var(--accent-soft);color:var(--accent-text)}
.clarity .yoga .big{font-size:44px}
.clarity .yrows{margin-top:10px;display:grid}
.clarity .yrow{position:relative;padding:14px 0;display:grid;gap:4px}
.clarity .yrow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--rule)}
.clarity .yrow .t{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.clarity .yrow b{font-size:18px;font-weight:700;letter-spacing:-.01em}
.clarity .yrow .n{font-size:15px;font-weight:600;color:var(--text-2)}
.clarity .yrow p{font-size:16px;color:var(--text-2)}
.clarity .yoga .lbl-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* today's sky */
.clarity .sky{margin-top:12px}
.clarity .sky-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:16px}
.clarity .sky-head h3{font-size:26px;line-height:1.15}
.clarity .sky-list{display:grid;gap:14px}
@media(min-width:900px){.clarity .sky-list{grid-template-columns:repeat(3,1fr);gap:16px}}
.clarity .sky-item{display:flex;gap:14px;align-items:flex-start;background:var(--bg);border-radius:14px;padding:16px}
.clarity .sky-item{--pg-disc:var(--tile)}
.clarity .sky-item .pg{width:48px;height:48px;flex:none}
.clarity .sky-item b{display:block;font-size:17px;line-height:1.3;letter-spacing:-.005em}
.clarity .sky-item span.d{display:block;font-size:15px;color:var(--text-2);margin-top:2px}
.clarity .sky-item span.w{display:block;font-size:13px;color:var(--text-2);margin-top:6px}
.clarity .sky-ss{margin-top:14px;font-size:16px;background:var(--bg);border-radius:14px;padding:12px 16px}

/* chart */
.clarity svg.chart .ch-draw{stroke-dasharray:1;stroke-dashoffset:0}
.clarity[data-anim="1"] svg.chart .ch-draw{stroke-dashoffset:1;animation:draw 1s ease-out forwards}
.clarity[data-anim="1"] svg.chart .ch-pl,.clarity[data-anim="1"] svg.chart .ch-num{opacity:0;animation:fadeIn .45s forwards;animation-delay:calc(.5s + var(--i,0)*45ms)}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.clarity svg.chart .ch-pl{font-size:19px}
.clarity svg.chart .ch-pl.sm{font-size:16px}
.clarity svg.chart .ch-sq,.clarity svg.chart .ch-ln{fill:none}
.clarity svg.chart .ch-bg{fill:var(--bg)}

/* save block */
.clarity .save .col-fields{display:flex;flex-direction:column;gap:14px;margin-top:20px;max-width:30em}
.clarity .tile.inv .inp{background:var(--inv-field);color:var(--inv-fg);height:52px}
.clarity .tile.inv .inp::placeholder{color:var(--inv-fg-2)}
.clarity .tile.inv .field .lbl{color:var(--inv-fg-2)}
.clarity .seg2{display:flex;background:var(--inv-field);border-radius:14px;padding:4px;gap:4px}
.clarity .seg2 button{flex:1;appearance:none;border:0;background:transparent;color:var(--inv-fg);height:44px;border-radius:10px;font-weight:600;font-size:17px}
.clarity .seg2 button[aria-checked="true"]{background:var(--inv-fg);color:var(--inv-bg)}
.clarity .seg2.bad{outline:2px solid var(--inv-accent);outline-offset:2px}
.clarity .tile.inv .ferr{color:var(--inv-accent)}
.clarity .tile.inv .note{font-size:14px;color:var(--inv-fg-2);margin-top:6px}
.clarity .gwrap{position:relative;height:56px}
.clarity .gwrap .btn{width:100%;height:56px}
.clarity .gover{position:absolute;inset:0;overflow:hidden;opacity:.01;z-index:2;border-radius:999px;pointer-events:none}
.clarity .gover.on{pointer-events:auto}
.clarity .gslot{transform-origin:0 0;height:40px}
.clarity .gwrap:focus-within .btn{outline:2px solid var(--inv-accent);outline-offset:2px}
.clarity .tile.inv .btn{background:var(--inv-accent);color:var(--inv-on-accent)}
.clarity .tile.inv .btn:hover{background:var(--inv-accent);filter:brightness(1.08)}

/* sticky mobile save bar */
.clarity #savebar .btn{cursor:pointer;border:0}

/* sign-in dialog */
.clarity dialog.dlg{border:0;border-radius:20px;background:var(--tile);color:var(--text);padding:28px;width:min(420px,calc(100vw - 32px));max-width:none}
.clarity dialog.dlg::backdrop{background:rgba(0,0,0,.55)}
.clarity dialog.dlg h2{font-size:26px;line-height:1.15;margin-bottom:8px}
.clarity dialog.dlg p{color:var(--text-2);margin-bottom:20px}
.clarity dialog.dlg .gdlg{display:flex;justify-content:center;min-height:44px}
.clarity dialog.dlg .x{position:absolute;right:10px;top:10px}

/* milan, learn tweaks */
.clarity .score{margin:0}
.clarity .lrows li a:focus-visible{outline-offset:-2px}
.clarity .tl{cursor:pointer;background:transparent;border:0;padding:0;font-family:inherit;font-size:inherit}
.clarity a.tl,.clarity button.tl{text-decoration:none}
.clarity .tl:hover{text-decoration:underline}
.clarity .ft nav a{white-space:nowrap}

/* motion: fade + 8px rise only while freshly rendered; reduced-motion safe */
.clarity .rise{opacity:1}
@media(prefers-reduced-motion:reduce){
  .clarity .proc .ch-draw,.clarity .steps li.now .dot{animation:none}
  .clarity[data-anim="1"] .ht,.clarity[data-anim="1"] .you,.clarity[data-anim="1"] svg.chart .ch-pl,.clarity[data-anim="1"] svg.chart .ch-num{animation:none;opacity:1}
  .clarity[data-anim="1"] svg.chart .ch-draw{animation:none;stroke-dashoffset:0}
  .clarity .btn:active{transform:none}
  html.landing-mode{scroll-behavior:auto}
}
@media(max-width:380px){
  .clarity .wrap{padding:0 16px}
  .clarity .big{font-size:42px}
}

/* contrast (axe AA) */
.clarity .you span{background:var(--accent-strong)}
.clarity .tag.rare{color:var(--rare-text)}
.clarity .ht .wd{opacity:1}

/* birth-city pre-fill hint + popular-city chips: the slot below the city input is always reserved (no layout shift) */
.clarity .f-city{margin-bottom:38px}
.clarity .city-slot{position:absolute;left:0;right:0;top:calc(100% + 4px);height:34px;display:flex;align-items:center;min-width:0}
.clarity .city-hint{margin:0 2px;font-size:14px;line-height:17px;color:var(--text-2);text-align:left}
.clarity .city-chips{display:flex;gap:8px;align-items:center;overflow-x:auto;overflow-y:hidden;white-space:nowrap;max-width:100%;padding:2px;scrollbar-width:none}
.clarity .city-chips::-webkit-scrollbar{display:none}
.clarity .chip{flex:none;appearance:none;border:0;background:var(--tile);color:var(--text);font:inherit;font-size:14px;font-weight:500;height:30px;padding:0 12px;border-radius:999px;cursor:pointer}
.clarity .chip:hover{background:var(--rule)}
.clarity .chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.clarity .chip.loc{background:transparent;color:var(--accent-text);padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.clarity .chip.loc:disabled{opacity:.6;cursor:progress}
@media(min-width:900px){
  .clarity .f-city{margin-bottom:0}
  .clarity .birth{margin-bottom:42px}
  .clarity .city-slot{right:-200px}
}
.clarity .city-chips{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
@media(prefers-reduced-motion:no-preference){
  .clarity .city-hint,.clarity .city-chips{animation:lcFadeIn .25s ease-out}
}
@keyframes lcFadeIn{from{opacity:0}to{opacity:1}}
.clarity .copy-r a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Headline accent: kesari word + hand-drawn swash that draws in once; static under reduced motion */
.clarity .hero-title .em{position:relative;display:inline-block;white-space:nowrap;color:var(--cl-accent-strong,var(--accent-strong))}
.clarity .hero-title .swash{position:absolute;left:-1%;bottom:-.16em;width:102%;height:.2em;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.clarity .hero-title .swash path{stroke-dasharray:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){
  .clarity .hero-title .swash path{stroke-dashoffset:1;animation:lcSwash .9s .35s cubic-bezier(.3,.6,.2,1) forwards}
}
@keyframes lcSwash{to{stroke-dashoffset:0}}

/* ───────── Share card (WhatsApp) ───────── */
.clarity .share{display:grid;grid-template-columns:104px 1fr;grid-template-areas:"img body" "act act";column-gap:20px;row-gap:20px;align-items:start}
.clarity .share .sh-img{grid-area:img;aspect-ratio:4/5;border-radius:12px;background:var(--tile-2);overflow:hidden}
.clarity .share .sh-img img{display:block;width:100%;height:100%;object-fit:cover}
.clarity .share .sh-body{grid-area:body;display:flex;flex-direction:column;gap:8px}
.clarity .share .sh-body h3{font-size:24px;line-height:1.2}
.clarity .share .sub{font-size:16px}
.clarity .share .sh-act{grid-area:act;display:flex;flex-direction:column;gap:10px}
.clarity .share .sh-act .btn{width:100%}
.clarity .share .sh-act .btn svg.wa{width:22px;height:22px;fill:currentColor;stroke:none}
.clarity .btn.alt{background:var(--bg);color:var(--text);font-weight:600}
.clarity .btn.alt:hover{background:var(--tile-2)}
@media(min-width:700px){
  .clarity .share{grid-template-columns:168px 1fr;grid-template-areas:"img body" "img act";column-gap:32px;row-gap:16px;align-content:center}
  .clarity .share .sh-body h3{font-size:30px}
  .clarity .share .sub{font-size:17px}
  .clarity .share .sh-act{flex-direction:row;flex-wrap:wrap}
  .clarity .share .sh-act .btn{width:auto}
}
