/* Vaddi Book website. Tokens are the app's locked palette (apps/vaddi/docs/BRAND.md); do not add colours here.
   Signature: the lekka slip (perforated top, red double margin, blue ruling, double-underlined total). Used on the
   landing page only; the legal pages are quiet paper with the red margin. No letter-spacing or text-transform anywhere
   (Indic scripts break with either). */

@font-face{font-family:'Baloo Tammudu 2';font-weight:600;font-display:swap;src:url(/assets/fonts/BalooTammudu2_600SemiBold-latin.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20B9,U+2122,U+2190-2199,U+2212}
@font-face{font-family:'Baloo Tammudu 2';font-weight:600;font-display:swap;src:url(/assets/fonts/BalooTammudu2_600SemiBold-telugu.woff) format('woff');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CD0-1CFF,U+200B-200D,U+25CC,U+A830-A839}
@font-face{font-family:'Baloo Tammudu 2';font-weight:700;font-display:swap;src:url(/assets/fonts/BalooTammudu2_700Bold-latin.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20B9,U+2122,U+2190-2199,U+2212}
@font-face{font-family:'Baloo Tammudu 2';font-weight:700;font-display:swap;src:url(/assets/fonts/BalooTammudu2_700Bold-telugu.woff) format('woff');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CD0-1CFF,U+200B-200D,U+25CC,U+A830-A839}
@font-face{font-family:'Hind Guntur';font-weight:400;font-display:swap;src:url(/assets/fonts/HindGuntur_400Regular-latin.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20B9,U+2122,U+2190-2199,U+2212}
@font-face{font-family:'Hind Guntur';font-weight:400;font-display:swap;src:url(/assets/fonts/HindGuntur_400Regular-telugu.woff) format('woff');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CD0-1CFF,U+200B-200D,U+25CC,U+A830-A839}
@font-face{font-family:'Hind Guntur';font-weight:600;font-display:swap;src:url(/assets/fonts/HindGuntur_600SemiBold-latin.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20B9,U+2122,U+2190-2199,U+2212}
@font-face{font-family:'Hind Guntur';font-weight:600;font-display:swap;src:url(/assets/fonts/HindGuntur_600SemiBold-telugu.woff) format('woff');unicode-range:U+0951-0952,U+0964-0965,U+0C00-0C7F,U+1CD0-1CFF,U+200B-200D,U+25CC,U+A830-A839}
@font-face{font-family:'Spline Sans Mono';font-weight:500;font-display:swap;src:url(/assets/fonts/SplineSansMono_500Medium-latin.woff) format('woff');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026,U+2212}

:root{
  color-scheme:light dark;
  --canvas:#EDF1EC; --surface:#FBFCFA; --surface2:#F3F6F2; --ink:#17211C; --muted:#4A5750; --hair:#7A8780; --hair-soft:#D5DDD6;
  --pri:#1F3C88; --on-pri:#FFFFFF; --pri-c:#DCE5F7; --on-pri-c:#10275E;
  --warn:#7A4A00; --warn-c:#FFF0D1;
  --margin:#C8372D; --rule:#C3D3E6;
  --shadow:0 1px 2px rgba(23,33,28,.07), 0 6px 18px rgba(23,33,28,.06);
  --script:'Nirmala UI';
  --f-body:'Hind Guntur', var(--script), system-ui, sans-serif;
  --f-disp:'Baloo Tammudu 2', var(--script), 'Hind Guntur', system-ui, sans-serif;
  --f-num:'Spline Sans Mono', 'Hind Guntur', ui-monospace, monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --canvas:#0F1513; --surface:#18201D; --surface2:#212A26; --ink:#E6EEE9; --muted:#A3B2AA; --hair:#6C7A73; --hair-soft:#2C3631;
    --pri:#9DB8F5; --on-pri:#0B1F4D; --pri-c:#1E3266; --on-pri-c:#DCE5FF;
    --warn:#FFE3A8; --warn-c:#3D2C00;
    --margin:#E0645A; --rule:#2E3D4C; --shadow:none;
  }
}
/* Scripts the app's fonts do not cover fall back to the phone's Noto font (BRAND / TECH Q4). */
:lang(hi), :lang(mr){--script:'Noto Sans Devanagari','Nirmala UI'}
:lang(ta){--script:'Noto Sans Tamil','Nirmala UI'}
:lang(kn){--script:'Noto Sans Kannada','Nirmala UI'}
:lang(ml){--script:'Noto Sans Malayalam','Nirmala UI'}
:lang(bn){--script:'Noto Sans Bengali','Nirmala UI'}
:lang(gu){--script:'Noto Sans Gujarati','Nirmala UI'}
:lang(or){--script:'Noto Sans Oriya','Nirmala UI'}
:lang(pa){--script:'Noto Sans Gurmukhi','Nirmala UI'}
:lang(te){--script:'Noto Sans Telugu','Nirmala UI'}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%}
body{margin:0; background:var(--canvas); color:var(--ink); font:400 17px/1.6 var(--f-body); -webkit-font-smoothing:antialiased; overflow-wrap:break-word}
h1,h2,h3{font-family:var(--f-disp); font-weight:700; line-height:1.4; margin:0; text-wrap:balance}
:lang(en) h1, :lang(en) h2{line-height:1.2}
p{margin:0}
a{color:var(--pri); text-decoration-thickness:1.5px; text-underline-offset:3px}
a:hover{text-decoration-thickness:2.5px}
a, summary{touch-action:manipulation; -webkit-tap-highlight-color:rgba(31,60,136,.15)}
:focus-visible{outline:3px solid var(--pri); outline-offset:3px; border-radius:4px}
.num{font-family:var(--f-num); font-weight:500; font-variant-numeric:tabular-nums}
.vh{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}
.icon{width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round}
.icon.sm{width:18px; height:18px}

.skip{position:absolute; left:16px; top:-100px; z-index:50; background:var(--pri); color:var(--on-pri); padding:12px 16px; border-radius:12px; font-weight:600; text-decoration:none}
.skip:focus{top:12px}

.wrap{max-width:1100px; margin:0 auto; padding:0 16px}
@media (min-width:720px){ .wrap{padding:0 24px} }

/* ---------- header ---------- */
.top{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; padding-bottom:12px}
.brand{display:flex; align-items:center; gap:10px; min-width:0; min-height:48px; color:var(--ink); text-decoration:none}
.brand svg{flex:none}
.brand b{display:block; font:700 22px/1.25 var(--f-disp)}
.brand small{display:block; font-size:14px; line-height:1.4; color:var(--muted)}
.brand:hover b{text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px}

.lang{position:relative; flex:none}
.lang summary{list-style:none; display:inline-flex; align-items:center; gap:6px; min-height:48px; padding:6px 12px; border:1.5px solid var(--hair); border-radius:24px; background:var(--surface); cursor:pointer; font-size:16px; font-weight:600; line-height:1.3}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{border-color:var(--pri)}
.lang[open] summary{border-color:var(--pri); background:var(--pri-c); color:var(--on-pri-c)}
.lang[open] summary .chev{transform:rotate(180deg)}
.lang ul{position:absolute; right:0; top:calc(100% + 6px); z-index:20; margin:0; padding:6px; list-style:none; width:max-content; min-width:200px; max-width:calc(100vw - 32px); background:var(--surface); border:1.5px solid var(--hair); border-radius:14px; box-shadow:0 12px 32px rgba(15,21,19,.18)}
.lang a{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:6px 12px; border-radius:10px; color:var(--ink); text-decoration:none; font-size:17px; line-height:1.4}
.lang a:hover{background:var(--surface2)}
.lang a[aria-current="page"]{background:var(--pri-c); color:var(--on-pri-c); font-weight:600}
.lang a span{font-size:14px; color:var(--muted)}
.lang a[aria-current="page"] span{color:var(--on-pri-c)}

/* ---------- hero ---------- */
.hero{display:grid; gap:24px; grid-template-areas:'text' 'slip' 'act'; padding-top:16px; padding-bottom:40px}
.h-text{grid-area:text} .h-slip{grid-area:slip} .h-act{grid-area:act}
.hero h1{font-size:36px; max-width:15ch}
.hero h1:lang(en){max-width:13ch}
.lede{margin-top:16px; font-size:18px; line-height:1.65; max-width:56ch}
.cta{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:56px; padding:10px 24px; border-radius:16px; background:var(--pri); color:var(--on-pri); font-size:18px; font-weight:600; line-height:1.35; text-decoration:none; text-align:center; transition:background-color .2s ease, box-shadow .2s ease}
.cta:hover{box-shadow:0 0 0 4px var(--pri-c)}
.cta .icon{fill:currentColor; stroke:none}
.facts{margin:28px 0 0; padding:0; list-style:none; display:grid; gap:2px}
.facts li{display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-top:1px solid var(--hair-soft); font-size:17px; line-height:1.5}
.facts li:last-child{border-bottom:1px solid var(--hair-soft)}
.facts .icon{color:var(--pri); margin-top:1px}
@media (min-width:900px){
  .hero{grid-template-columns:1.05fr .95fr; grid-template-areas:'text slip' 'act slip'; gap:28px 56px; align-items:start; align-content:start; padding-top:40px; padding-bottom:64px}
  .hero h1{font-size:52px}
  .hero .slip{margin-top:12px}
}

/* ---------- SIGNATURE: the lekka slip ---------- */
.slip{position:relative; margin:8px 0 0; background:var(--surface); border:1px solid var(--hair-soft); border-top:none; border-radius:2px 2px 14px 14px; box-shadow:var(--shadow)}
.slip::before{content:""; position:absolute; left:-1px; right:-1px; top:-7px; height:8px; background:radial-gradient(circle at 6px 0, transparent 5px, var(--surface) 5.5px) repeat-x; background-size:12px 8px}
.margin{background:linear-gradient(90deg, transparent 15px, var(--margin) 15px, var(--margin) 16px, transparent 16px, transparent 18px, var(--margin) 18px, var(--margin) 19px, transparent 19px)}
.slip-q{padding:12px 16px 4px 30px}
.slip-q p{display:flex; flex-wrap:wrap; align-items:baseline; gap:0 6px; min-height:48px; padding:6px 0; border-bottom:1px solid var(--rule); font-size:18px; line-height:1.55}
.ink{color:var(--pri); font:600 22px/1.3 var(--f-disp); white-space:nowrap}
.ink.num{font-family:var(--f-num); font-weight:500; font-size:20px}
.slip-a{padding:12px 16px 14px 30px}
.slip-a .k{font-size:16px; font-weight:600; color:var(--muted); line-height:1.4}
.big{display:block; max-width:100%; margin-top:2px; font:700 48px/1.15 var(--f-disp); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; text-decoration:underline double var(--ink); text-decoration-thickness:4px; text-underline-offset:6px; text-decoration-skip-ink:none}
.slip-a .t{margin-top:8px; font-size:16px; color:var(--muted)}
.slip-a .t b{color:var(--ink); font-family:var(--f-num); font-weight:500}

.door{border-top:1.5px solid var(--rule)}
.door summary{list-style:none; display:flex; align-items:center; gap:8px; min-height:52px; padding:6px 16px 6px 30px; color:var(--pri); font-size:17px; font-weight:600; line-height:1.4; cursor:pointer; border-radius:0 0 14px 14px}
.door summary::-webkit-details-marker{display:none}
.door summary span{flex:1; min-width:0}
.door summary:hover{background:var(--surface2)}
.door summary .icon{transition:transform .22s ease}
.door[open] summary{border-radius:0}
.door[open] summary .icon{transform:rotate(180deg)}
.door[open] .lines{animation:unfold .26s cubic-bezier(.2,.8,.2,1) both}
@keyframes unfold{from{opacity:0; transform:translateY(-8px)} to{opacity:1; transform:none}}

/* working lines: text on the left, money column on the right */
.lines{margin:0; padding:0; list-style:none}
.ln{display:flex; align-items:flex-start; gap:12px; min-height:52px; padding:10px 16px 10px 30px; border-top:1px solid var(--rule); font-size:16px; line-height:1.5}
.ln .tx{flex:1; min-width:0}
.ln .tx small{display:block; font-size:14px; line-height:1.55; color:var(--muted)}
.ln .am{flex:none; max-width:48%; text-align:right; font:500 16px/1.5 var(--f-num); font-variant-numeric:tabular-nums; overflow-wrap:anywhere}
.ln.total{font-weight:600}
.ln.total .am span{border-bottom:4px double var(--ink); padding-bottom:1px}
.ln.alt{color:var(--muted); font-size:15px}
.ln.alt .tx{color:var(--ink)}
.slip-cap{margin-top:12px; font-size:15px; line-height:1.55; color:var(--muted); max-width:60ch}

/* ---------- sections ---------- */
.sec{padding-top:40px; padding-bottom:40px; border-top:1px solid var(--hair-soft)}
.sec h2{font-size:30px}
.sec .intro{margin-top:12px; max-width:62ch; color:var(--muted); font-size:17px}
.sec h3{font-size:24px; margin-top:40px}
@media (min-width:900px){ .sec{padding-top:56px; padding-bottom:56px} .sec h2{font-size:38px} }

/* default rules: one slip, one line per rule */
.rules{margin-top:20px}
.rule{display:grid; gap:2px; padding:14px 16px 14px 30px; border-top:1px solid var(--rule)}
.rule:first-child{border-top:none; padding-top:16px}
.rule dt{font-size:15px; font-weight:600; color:var(--muted); line-height:1.45}
.rule dd{margin:0}
.rule .v{display:block; color:var(--pri); font:600 21px/1.4 var(--f-disp)}
.rule .s{display:block; margin-top:2px; font-size:16px; line-height:1.6; color:var(--ink); max-width:70ch}
@media (min-width:720px){
  .rule{grid-template-columns:200px 1fr; gap:16px; align-items:baseline}
}

.examples{display:grid; gap:28px; margin-top:20px; grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr)); align-items:start}
.ex h4{font:700 20px/1.4 var(--f-disp); padding:14px 16px 0 30px; margin:0}
:lang(en) .ex h4{line-height:1.25}
.ex .q{padding:6px 16px 12px 30px; font-size:17px; line-height:1.6}
.ex .q .ink{font-size:18px}
.ex .q .ink.num{font-size:16px}
.ex .note{padding:0 16px 12px 30px; font-size:14px; color:var(--muted); line-height:1.55}
.ex .lines .ln.total .am{font-size:18px}

.band{display:flex; gap:14px; align-items:flex-start; padding:20px 16px; border-radius:16px; background:var(--surface); border:1.5px solid var(--hair-soft)}
.band .icon{color:var(--pri); margin-top:4px}
.band h2{font-size:24px}
.band p{margin-top:6px; max-width:62ch}
.band a{display:inline-flex; align-items:center; min-height:48px; font-weight:600}
.bands{display:grid; gap:16px}
@media (min-width:900px){ .bands{grid-template-columns:1fr 1fr} .band{padding:24px} }

/* ---------- legal pages: quiet paper with the red margin ---------- */
.doc{max-width:760px; margin:8px auto 48px; background-color:var(--surface); border:1px solid var(--hair-soft); border-radius:4px 4px 16px 16px; box-shadow:var(--shadow); padding:24px 16px 28px 32px}
@media (min-width:720px){ .doc{padding:40px 40px 44px 56px} .doc.margin{background-image:linear-gradient(90deg, transparent 27px, var(--margin) 27px, var(--margin) 28px, transparent 28px, transparent 31px, var(--margin) 31px, var(--margin) 32px, transparent 32px)} }
.doc h1{font-size:34px}
.doc .meta{margin-top:8px; font-size:15px; color:var(--muted)}
.doc .intro{margin-top:16px; font-size:18px; line-height:1.65}
.doc h2{font-size:23px; margin-top:32px}
.doc p, .doc li{max-width:68ch}
.doc p{margin-top:10px}
.doc ul, .doc ol{margin:10px 0 0; padding-left:22px}
.doc li{margin-top:8px; padding-left:4px}
.doc ol li::marker{color:var(--pri); font-weight:700; font-family:var(--f-num)}
.doc ul li::marker{color:var(--pri)}
.doc .note{font-size:15px; color:var(--muted)}
.doc .warn{display:flex; gap:10px; align-items:flex-start; margin-top:12px; padding:12px 14px; border-radius:12px; background:var(--warn-c); color:var(--warn); font-weight:600; line-height:1.55}
.doc .warn .icon{margin-top:1px}
.short{margin-top:20px; padding:4px 0; border-top:1.5px solid var(--rule); border-bottom:1.5px solid var(--rule)}
.short h2{margin-top:12px; font-size:20px}
.short ul{padding-left:22px}
.short li{margin-top:8px}
.out{display:inline-flex; align-items:center; gap:6px; min-height:48px}
.out .icon{width:16px; height:16px}
.mail{display:inline-flex; align-items:center; gap:10px; min-height:52px; margin-top:12px; padding:8px 18px; border-radius:14px; border:1.5px solid var(--pri); color:var(--pri); font-weight:600; font-size:18px; text-decoration:none; overflow-wrap:anywhere}
.mail:hover{background:var(--pri-c); color:var(--on-pri-c)}
.doc .go{display:inline-flex; align-items:center; min-height:48px; font-weight:600}
.doc .home{display:inline-flex; align-items:center; min-height:48px; margin-top:16px; font-weight:600}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hair-soft); padding-top:24px; padding-bottom:32px}
.foot ul{margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:4px 20px}
.foot a{display:inline-flex; align-items:center; min-height:48px; font-weight:600}
.foot a[aria-current="page"]{color:var(--ink); text-decoration:none}
.foot p{margin-top:12px; font-size:14px; color:var(--muted); line-height:1.55}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important; transition:none !important}
}
