/* =====================================================================
   STORY CRAFT — /privacy-policy/ and /lt/privatumo-politika/
   ---------------------------------------------------------------------
   ONE stylesheet for both languages. The Lithuanian page loads this file
   too; if a rule is needed there it belongs here, not in a second copy.

   The brief for this page is unusual and worth stating: the marketing
   voice is the LARGE type and the legal text is the small type. That is
   the opposite of a normal legal page, and it is deliberate — the
   introduction is doing the reassuring, the body is doing the disclosing.

   `projects/base.css` supplies the tokens, reset, header, footer,
   `.t-label`, `.vh`, `.skip` and the focus ring. Nothing here redefines
   them.

   No motion inside the legal text. Not one transition.
   ===================================================================== */

html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--powder-white);
  color:var(--serene-navy);
  font-family:var(--font-ui);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Same solid header the other reading routes use. */
.hdr{ background:var(--powder-white); }
.pv [id], #main{ scroll-margin-top:calc(var(--hdr) + 1rem); }

.pv{
  --pv-padL:max(var(--pad), env(safe-area-inset-left));
  --pv-padR:max(var(--pad), env(safe-area-inset-right));
  padding-inline:var(--pv-padL) var(--pv-padR);
  padding-top:calc(var(--hdr) + clamp(1.6rem, 5vh, 3.4rem));
  padding-bottom:clamp(2.4rem, 7vh, 4rem);
}
/* The reading column. The legal body is capped at 62ch, which MEASURES
   68 real characters per line — `ch` is the width of "0", narrower than
   this face's average glyph, so a literal 68ch ran to 75. Measured, not
   assumed. */
.pv__wrap{ max-inline-size:44rem; margin-inline:auto; }


/* -- masthead ----------------------------------------------------------
   The warm part. This is the biggest type on the page and it is the only
   place the page raises its voice. */
.pv__eyebrow{
  display:flex; align-items:center; gap:.55rem;
  color:var(--navy-70);
}
/* The single star. One restrained detail is the whole budget. */
.pv__star{
  inline-size:.62em; block-size:.62em;
  background:var(--caspian-blue);
  -webkit-mask:var(--star-mask) center/contain no-repeat;
  mask:var(--star-mask) center/contain no-repeat;
  flex:none;
}
.pv__h1{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(2rem, 5.4vw, 3.5rem);
  line-height:1.03; letter-spacing:-.022em;
  margin-block:clamp(.7rem, 2vh, 1.1rem) 0;
  text-wrap:balance;
  /* Lithuanian compounds are long; never let one push the page sideways. */
  overflow-wrap:break-word; hyphens:auto;
}
.pv__intro{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(1.1rem, 2.1vw, 1.5rem);
  line-height:1.38; letter-spacing:-.01em;
  color:var(--caspian-blue);
  /* Wide enough to read as a lead paragraph. At 36ch it broke into seven
     short lines and looked like a column of text rather than someone
     talking. */
  max-inline-size:46ch;
  margin-block:clamp(.9rem, 2.4vh, 1.3rem) 0;
}
.pv__meta{
  color:var(--navy-70);
  margin-block:clamp(1.1rem, 3vh, 1.6rem) 0;
  padding-top:clamp(.8rem, 2vh, 1.1rem);
  border-top:1px solid var(--rule);
}


/* -- section index -----------------------------------------------------
   Kept because it stays useful on a phone: eight short items wrapping in
   two or three lines, not a sidebar pretending to be one. */
.pv__toc{
  margin-top:clamp(1.4rem, 4vh, 2.2rem);
  padding-block:clamp(.9rem, 2.4vh, 1.2rem);
  border-block:1px solid var(--rule);
}
.pv__tocL{ display:block; color:var(--navy-70); margin-bottom:.55rem; }
.pv__tocN{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:.1rem clamp(.9rem, 2.4vw, 1.5rem);
}
.pv__tocA{
  display:inline-flex; align-items:center; min-block-size:44px;
  color:var(--caspian-blue);
  border-bottom:1px solid transparent;
  font-size:clamp(.8rem, .92vw, .86rem);
}
.pv__tocA:hover{ border-bottom-color:color-mix(in srgb, var(--caspian-blue) 45%, transparent); }


/* -- the policy itself -------------------------------------------------
   Smaller than the introduction, as asked — but 15.5–17px with a 1.72
   line-height, never the 12px grey mouse-print that makes a policy
   technically published and practically unread. `--navy-70` is 5.37:1 on
   powder white, measured. */
.pv__body{
  /* 15.5px on a phone rising to ~17px on a desktop. The middle term is
     rem+vw rather than plain vw because plain vw never cleared the floor
     inside this narrow column — it measured 15.5px at 1440 too. */
  font-size:clamp(.97rem, .55rem + .55vw, 1.06rem);
  line-height:1.72;
  color:var(--navy-70);
}
.pv__sec{
  margin-top:clamp(1.8rem, 5vh, 2.8rem);
  padding-top:clamp(1rem, 2.6vh, 1.4rem);
  border-top:1px solid var(--rule);
}
.pv__h2{
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(1.15rem, 2.1vw, 1.5rem);
  line-height:1.14; letter-spacing:-.014em;
  color:var(--serene-navy);
  margin:0 0 .7rem;
  text-wrap:balance;
  overflow-wrap:break-word; hyphens:auto;
}
.pv__body p{ margin:0 0 .95rem; max-inline-size:62ch; }
.pv__body p:last-child{ margin-bottom:0; }
.pv__body ul{
  margin:0 0 .95rem; padding-left:1.15rem;
  max-inline-size:62ch;
}
.pv__body li{ margin-bottom:.4rem; }
.pv__body li::marker{ color:var(--navy-45); }
.pv__body strong{ font-weight:500; color:var(--serene-navy); }
.pv__body a{
  color:var(--caspian-blue);
  border-bottom:1px solid color-mix(in srgb, var(--caspian-blue) 34%, transparent);
  overflow-wrap:anywhere;
}
.pv__body a:hover{ border-bottom-color:var(--caspian-blue); }
/* Inline links in running prose are exempt from the 44px rule, but the
   ones that stand alone on their own line are not. */
.pv__body .pv__standalone{
  display:inline-flex; align-items:center; min-block-size:44px;
}

/* The registered-entity block: the one place facts are set apart. */
.pv__entity{
  margin:0 0 .95rem;
  padding:clamp(.8rem, 2vh, 1.1rem) clamp(.9rem, 2.4vw, 1.2rem);
  border-left:2px solid var(--navy-22);
  background:color-mix(in srgb, var(--serene-navy) 3%, transparent);
  max-inline-size:62ch;
}
.pv__entity b{ font-weight:500; color:var(--serene-navy); }

.pv__end{
  margin-top:clamp(1.8rem, 5vh, 2.8rem);
  padding-top:clamp(1rem, 2.6vh, 1.4rem);
  border-top:1px solid var(--rule);
  font-family:var(--font-display); font-weight:400;
  font-size:clamp(1.02rem, 1.7vw, 1.25rem);
  line-height:1.4; letter-spacing:-.008em;
  color:var(--caspian-blue);
  max-inline-size:40ch;
}

@media (max-width:560px){
  /* At 320px the index is the first thing that stops earning its space,
     but eight items in wrapped lines is still cheaper than scrolling
     blind, so it stays — tighter horizontally only. The 44px target is
     not part of the saving: it was briefly 40px here and that was
     simply wrong. */
  .pv__tocN{ gap:0 1rem; }
  .pv__intro{ max-inline-size:34ch; }
}

@media (forced-colors: active){
  .pv__sec, .pv__toc, .pv__meta, .pv__end{ border-color:CanvasText; }
  .pv__entity{ border-left-color:CanvasText; }
}
