/* Rasto platform legal pages — same tokens, fonts and footer as the landing page (index.html). */
:root{
  --ink:#0E0E0D;--paper:#FFFFFF;--bone:#F3F1EC;
  --line:rgba(14,14,13,.14);--line-d:rgba(255,255,255,.17);
  --muted:#5F5C56;--muted-d:#BDB8AE;--accent:#2446F5;--amber:#FFB52E;
  --display:'Geologica','Inter Display','Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --text:'Golos Text','Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --wrap:1320px;--pad:clamp(20px,4vw,56px);--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr:focus{position:fixed;left:12px;top:12px;z-index:100;width:auto;height:auto;clip:auto;padding:12px 16px;border-radius:8px;background:#fff;color:var(--ink)}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--pad));margin-inline:auto;padding-inline:var(--pad)}
.eyebrow{display:flex;align-items:center;gap:12px;font:600 12.5px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--amber)}

/* Header */
.lnav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lnav__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo{display:inline-flex;align-items:baseline;font:800 29px/1 var(--display);letter-spacing:-.055em;text-decoration:none;padding:8px 0}
.logo i{display:inline-block;width:.22em;height:.22em;margin-left:.07em;border-radius:50%;background:var(--amber)}
.lnav__right{display:flex;align-items:center;gap:clamp(8px,2vw,24px)}
.lnav__login{display:inline-flex;align-items:center;min-height:44px;font:600 15px/1 var(--display);text-decoration:none}
.lnav__login:hover{text-decoration:underline;text-underline-offset:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 22px;border-radius:999px;font:600 15px/1 var(--display);text-decoration:none;background:var(--ink);color:#fff;transition:background .2s var(--ease)}
.btn:hover{background:var(--accent)}

/* Document */
.doc{padding:clamp(48px,7vw,104px) 0 clamp(72px,9vw,136px)}
.doc__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.doc h1{margin-top:22px;font:600 clamp(38px,5vw,72px)/1.02 var(--display);letter-spacing:-.04em;text-wrap:balance}
.doc__meta{margin-top:20px;font-size:15px;color:var(--muted)}
.draft{margin-top:28px;padding:16px 18px;border-left:3px solid var(--amber);background:var(--bone);font-size:15px;line-height:1.55}
.toc{position:sticky;top:104px;font-size:15px}
.toc summary{display:block;margin-bottom:12px;font:600 12.5px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);list-style:none;pointer-events:none}
.toc summary::-webkit-details-marker{display:none}
.draft+section{margin-top:44px}
.toc ol{padding:0;list-style:none;border-top:1px solid var(--line)}
.toc li{border-bottom:1px solid var(--line)}
.toc a{display:block;padding:10px 0;text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--ink)}
.body{max-width:760px}
.body section{padding-top:8px;scroll-margin-top:96px}
.body section+section{margin-top:44px}
.body h2{font:600 clamp(23px,2.2vw,30px)/1.2 var(--display);letter-spacing:-.025em}
.body h3{margin-top:24px;font:600 19px/1.35 var(--display);letter-spacing:-.01em}
.body p,.body ul,.body ol{margin-top:14px}
.body ul,.body ol{padding-left:22px}
.body li+li{margin-top:8px}
.body a{text-decoration:underline;text-underline-offset:4px}
.body a:hover{color:var(--accent)}
.facts{margin-top:16px;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:6px 20px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
.pending{color:var(--muted);font-style:italic}

/* Footer (same as the landing page) */
.foot{background:var(--ink);color:#fff;padding:clamp(56px,6vw,88px) 0 0;overflow:hidden}
.foot ul{padding:0;list-style:none}
.foot__top{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:40px 32px}
.foot__brand p{max-width:300px;margin-top:16px;font-size:16px;color:var(--muted-d)}
.foot h4{margin:0 0 16px;font:600 12.5px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d)}
.foot li a,.foot li span{display:inline-block;padding:8px 0;font-size:16px;text-decoration:none;color:#fff}
.foot li a:hover{text-decoration:underline;text-underline-offset:5px}
.foot li a.foot__contact{display:inline-flex;align-items:center;gap:12px;min-height:44px;overflow-wrap:anywhere}
.foot__contact svg{flex:none;width:18px;height:18px;color:var(--muted-d);transition:color .2s var(--ease)}
.foot__contact:hover svg{color:#fff}
.foot li a.foot__contact span{display:inline;padding:0;font-size:inherit}
.foot__bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;margin-top:clamp(48px,5vw,72px);padding:22px 0;border-top:1px solid var(--line-d);font-size:14px;color:var(--muted-d)}

@media (max-width:1024px){
  .doc__grid{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;border:1px solid var(--line);border-radius:6px;padding:0 16px}
  .toc summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin:0;pointer-events:auto;cursor:pointer}
  .toc summary::after{content:"+";font:500 20px/1 var(--display);color:var(--ink)}
  .toc[open] summary::after{content:"–"}
  .toc ol{margin-bottom:8px}
  .toc li:last-child{border-bottom:0}
  .foot__top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot__brand{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16px}
  .lnav__in{min-height:64px}
  .logo{font-size:26px}
  .btn{padding:0 16px;font-size:14px}
  .facts div{grid-template-columns:minmax(0,1fr)}
  .foot__top{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
