/* Shared styles for service + privacy pages.
   TVP Brand Manual skin — matches the home site:
   Alfa Slab One display · Archivo body · Space Mono utility ·
   paper ground (grained) · terracotta (one loud colour) · ink #3E3228 ·
   FLAT: no gradients, no shadows, no gloss. */
@font-face{font-family:'Alfa Slab One';font-weight:400;font-display:swap;src:url('/fonts/alfa-slab-one-400.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:400;font-display:swap;src:url('/fonts/archivo-400.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:500;font-display:swap;src:url('/fonts/archivo-500.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:600;font-display:swap;src:url('/fonts/archivo-600.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:700;font-display:swap;src:url('/fonts/archivo-700.woff2') format('woff2');}
@font-face{font-family:'Space Mono';font-weight:700;font-display:swap;src:url('/fonts/space-mono-700.woff2') format('woff2');}
:root{
  --paper:#F2EBDD; --cream:#F2EBDD; --cream-2:#F7F2E8; --cream-3:#E4DAC7;
  --ink:#3E3228; --ink-soft:#6E5F4F; --terra:#D65A2E; --terra-d:#B8481F;
  --flame:#E4794F; --sage:#B7CDB5; --mustard:#E2B15C; --stone:#8A6F59;
  --abyss:#3E3228; --paper-on-dark:#F2EBDD; --muted-on-dark:#CDBFA8;
  --radius:8px; --radius-sm:6px; --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ font-family:'Archivo',system-ui,-apple-system,sans-serif; font-weight:500;
  color:var(--ink); background:var(--paper); line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:var(--terra); }
img,svg{ max-width:100%; display:block; }

/* Grain on the paper ground — brand "Always" rule */
body::after{ content:""; position:fixed; inset:0; z-index:9998; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); }

.wrap{ max-width:1080px; margin:0 auto; padding:0 clamp(1.2rem,4vw,2.4rem); position:relative; }
.topbar{ display:flex; align-items:center; justify-content:space-between; padding:1.3rem 0; border-bottom:1.5px solid var(--ink); }
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.brand svg{ width:34px; height:34px; }
.brand b{ font-family:'Archivo'; font-weight:700; font-size:1.05rem; letter-spacing:-.005em; color:var(--ink); }
.back{ font-family:'Space Mono',monospace; font-weight:700; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--stone); text-decoration:none; }
.back:hover{ color:var(--terra); }

.hero{ padding:clamp(2.6rem,6vw,4.8rem) 0 clamp(1rem,3vw,2rem); }
.eyebrow{ display:inline-flex; align-items:center; gap:.6rem; font-family:'Space Mono',monospace; font-weight:700; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--terra); margin-bottom:1.1rem; }
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--terra); }
h1{ font-family:'Alfa Slab One',Georgia,serif; font-weight:400; font-size:clamp(2.6rem,7vw,5rem); line-height:.92; letter-spacing:-.01em; color:var(--terra); text-wrap:balance; max-width:16ch; }
.hero .sub{ font-family:'Archivo'; font-weight:500; font-size:clamp(1.05rem,1.6vw,1.22rem); color:var(--ink); margin-top:1.4rem; max-width:56ch; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }

.btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:'Archivo',sans-serif; font-weight:700; font-size:.95rem; letter-spacing:.02em; padding:.9rem 1.5rem; border-radius:5px; text-decoration:none; cursor:pointer; min-height:48px; border:1.5px solid transparent; transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }
.btn-primary{ background:var(--terra); color:var(--paper); }
.btn-primary:hover{ background:var(--terra-d); transform:translateY(-2px); }
.btn-ghost{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-ghost:hover{ background:var(--ink); color:var(--paper); }

section.block{ padding:clamp(1.9rem,4vw,3rem) 0; }
.block-lab{ font-family:'Space Mono',monospace; font-weight:700; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); padding-bottom:.9rem; border-bottom:1.5px solid var(--cream-3); margin-bottom:1.4rem; }
h2{ font-family:'Alfa Slab One',Georgia,serif; font-weight:400; font-size:clamp(1.7rem,3.4vw,2.4rem); line-height:1.06; color:var(--ink); margin-bottom:1rem; text-wrap:balance; }
.prose p{ font-family:'Archivo'; font-weight:500; font-size:1.06rem; color:var(--ink-soft); margin-bottom:1rem; max-width:68ch; }
.prose strong{ color:var(--ink); font-weight:700; }

.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.icard{ background:var(--cream-2); border:1.5px solid var(--cream-3); border-radius:var(--radius); padding:1.5rem; }
.icard h3{ font-family:'Archivo'; font-weight:700; font-size:1.12rem; color:var(--ink); margin-bottom:.45rem; }
.icard p{ font-family:'Archivo'; font-weight:500; font-size:.95rem; color:var(--ink-soft); }
@media(max-width:760px){ .cards{ grid-template-columns:1fr; } }

.steps{ display:grid; gap:1.2rem; }
.step{ display:flex; gap:1rem; align-items:flex-start; }
.step .n{ flex:none; width:36px; height:36px; border-radius:5px; background:var(--terra); color:var(--paper); font-family:'Alfa Slab One',serif; font-weight:400; font-size:1rem; display:grid; place-items:center; }
.step h3{ font-family:'Archivo'; font-weight:700; font-size:1.05rem; color:var(--ink); margin-bottom:.2rem; }
.step p{ font-family:'Archivo'; font-weight:500; font-size:.98rem; color:var(--ink-soft); max-width:62ch; }

.cta-band{ background:var(--abyss); color:var(--paper-on-dark); border-radius:var(--radius); padding:clamp(1.9rem,4vw,2.9rem); margin:clamp(1.6rem,3vw,2.6rem) 0; position:relative; overflow:hidden; }
.cta-band::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.06; mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cn)'/%3E%3C/svg%3E"); }
.cta-band > *{ position:relative; }
.cta-band h2{ color:var(--paper-on-dark); }
.cta-band p{ font-family:'Archivo'; font-weight:500; color:var(--muted-on-dark); max-width:58ch; margin-bottom:1.4rem; }
.cta-band .eyebrow{ color:var(--mustard); }
.cta-band .eyebrow::before{ background:var(--mustard); }

form.lead{ display:grid; gap:.8rem; max-width:540px; }
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
form.lead input,form.lead textarea{ font:inherit; font-family:'Archivo'; font-size:1rem; padding:.85rem 1rem; border-radius:var(--radius-sm); border:1.5px solid rgba(242,235,221,.22); background:rgba(242,235,221,.06); color:var(--paper-on-dark); width:100%; }
form.lead input::placeholder,form.lead textarea::placeholder{ color:rgba(242,235,221,.5); }
form.lead input:focus,form.lead textarea:focus{ outline:2px solid var(--mustard); border-color:var(--mustard); }
form.lead .btn-primary{ justify-self:start; margin-top:.3rem; }
.leadok{ display:none; } .leadok.show{ display:block; }
.leadok .ok{ font-family:'Alfa Slab One',serif; font-weight:400; font-size:1.4rem; color:var(--mustard); margin-bottom:.4rem; }
.hidden-field{ position:absolute; left:-9999px; }

.pfoot{ border-top:1.5px solid var(--ink); padding:2rem 0 2.6rem; margin-top:1rem; color:var(--stone); font-family:'Space Mono',monospace; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; justify-content:space-between; align-items:center; }
.pfoot a{ color:var(--stone); text-decoration:none; }
.pfoot a:hover{ color:var(--terra); }

.legal h2{ font-size:1.3rem; margin:2rem 0 .6rem; }
.legal p,.legal li{ font-family:'Archivo'; font-weight:500; font-size:1rem; color:var(--ink-soft); margin-bottom:.7rem; }
.legal ul{ padding-left:1.2rem; margin-bottom:1rem; }
.legal strong{ color:var(--ink); font-weight:700; }
.legal a{ color:var(--terra); }
