:root{
  --paper:#F8F4EC;
  --ink:#121212;
  --accent:#FF6A00;
  --accent2:#00C2A8;
  --shadow:4px 4px 0 var(--ink);
  --bd:3px solid var(--ink);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:18px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{display:none;}
a{color:inherit;}

.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}

.display{
  font-family:"Archivo Black","Roboto Condensed",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:-0.01em;
  line-height:0.95;
  margin:0 0 18px;
  font-weight:400;
}
.display--xl{font-size:clamp(2.4rem,8.4vw,5.6rem);}
.display--lg{font-size:clamp(2.1rem,6.4vw,4rem);}
.display--md{font-size:clamp(1.7rem,4.4vw,2.8rem);}
.display--sm{font-size:clamp(1.3rem,3vw,1.7rem);}
.display--xs{font-size:1.02rem;line-height:1.15;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:"Archivo Black",Arial,sans-serif;
  text-transform:uppercase;
  font-size:0.84rem;
  letter-spacing:0.02em;
  text-decoration:none;
  padding:13px 20px;
  border:var(--bd);
  background:var(--paper);
  color:var(--ink);
  box-shadow:var(--shadow);
  cursor:pointer;
  transition:transform .08s linear, box-shadow .08s linear;
}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink);}
.btn--solid{background:var(--accent);}
.btn--ink{background:var(--ink);color:var(--paper);}
.btn--ghost{background:transparent;}
.btn--on-accent{background:var(--paper);}
.btn--sm{padding:9px 14px;font-size:0.72rem;}
.btn--block{display:block;width:100%;text-align:center;margin-top:8px;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--paper);
  border-bottom:var(--bd);
}
.header-inner{
  display:flex;align-items:center;gap:16px;
  min-height:72px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand-mark{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;background:var(--accent2);border:var(--bd);
}
.brand-name{
  font-family:"Archivo Black",Arial,sans-serif;
  text-transform:uppercase;font-size:1.12rem;letter-spacing:-0.01em;
}
.site-nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap;}
.site-nav a{
  text-decoration:none;text-transform:uppercase;
  font-weight:700;font-size:0.84rem;letter-spacing:0.06em;
  padding-bottom:2px;border-bottom:3px solid transparent;
}
.site-nav a:hover{border-bottom-color:var(--accent);}

/* ---------- ticker ---------- */
.ticker{
  background:var(--accent2);
  border-bottom:var(--bd);
  overflow:hidden;
  padding:10px 0;
}
.ticker__track{display:flex;width:max-content;animation:slide 34s linear infinite;}
.ticker__group{display:flex;align-items:center;}
.ticker__group span{
  font-family:"Archivo Black",Arial,sans-serif;
  text-transform:uppercase;
  font-size:0.86rem;
  white-space:nowrap;
  padding:0 14px;
}
.ticker .dot{color:var(--ink);font-size:0.6rem;padding:0 4px;}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none;}}

/* ---------- form section ---------- */
.form-section{padding:48px 0 60px;}
.form-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:28px;align-items:start;}
.letter p{margin:0 0 16px;max-width:60ch;}
.salutation{font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.letter .display--lg{
  background:var(--accent);
  border:var(--bd);
  box-shadow:var(--shadow);
  padding:18px 18px 14px;
  display:inline-block;
}
.signature{
  font-family:"Archivo Black",Arial,sans-serif;
  text-transform:uppercase;font-size:1.25rem;margin:22px 0 0;
}
.signature-role{font-size:0.9rem;text-transform:uppercase;letter-spacing:0.1em;margin-top:4px;}

.form-card{
  background:var(--paper);
  border:var(--bd);
  box-shadow:var(--shadow);
  padding:22px;
  position:relative;
}
.form-card::before{
  content:"";position:absolute;top:-14px;left:-14px;
  width:46px;height:46px;background:var(--accent2);border:var(--bd);z-index:-1;
}
label{
  display:block;margin:14px 0 6px;
  text-transform:uppercase;font-weight:700;font-size:0.78rem;letter-spacing:0.08em;
}
input,textarea{
  width:100%;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:1rem;
  padding:11px 12px;
  border:var(--bd);
  background:#fff;
  color:var(--ink);
  border-radius:0;
}
input:focus,textarea:focus{outline:3px solid var(--accent);outline-offset:2px;}
textarea{resize:vertical;}
.form-note{font-size:0.9rem;margin:14px 0 0;}
.form-status{
  margin:12px 0 0;font-weight:700;display:none;
  border:var(--bd);background:var(--accent2);padding:10px 12px;
}
.form-status.is-visible{display:block;}
.form-status.is-error{background:var(--accent);}
.field-error{outline:3px solid var(--accent);outline-offset:2px;}

/* ---------- bottom strip (index) ---------- */
.strip-bottom{border-top:var(--bd);background:var(--ink);color:var(--paper);padding:18px 0;}
.strip-bottom__inner{
  display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  text-transform:uppercase;font-weight:700;letter-spacing:0.05em;font-size:0.86rem;
}
.strip-bottom .btn--ghost{color:var(--paper);border-color:var(--paper);box-shadow:4px 4px 0 var(--accent);}

/* ---------- refusal ---------- */
.refusal{border-bottom:var(--bd);padding:46px 0;}
.refusal-grid{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start;}
.refusal-block{
  background:var(--accent);border:var(--bd);box-shadow:var(--shadow);
  padding:18px;display:flex;flex-direction:column;align-items:center;gap:6px;
}
.refusal-block__word{
  font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:1.6rem;
}
.refusal-copy p{margin:0 0 16px;max-width:66ch;}

/* ---------- steps ---------- */
.steps{padding:50px 0;border-bottom:var(--bd);}
.section-title{
  display:inline-block;border:var(--bd);box-shadow:var(--shadow);
  background:var(--accent2);padding:14px 16px 10px;
}
.section-lead{max-width:72ch;margin:0 0 28px;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;}
.card{
  border:var(--bd);box-shadow:var(--shadow);background:#fff;
  padding:16px;display:flex;flex-direction:column;
}
.card__num{
  font-family:"Archivo Black",Arial,sans-serif;
  font-size:2.1rem;line-height:1;display:inline-block;
  background:var(--ink);color:var(--paper);
  padding:6px 10px 4px;margin-bottom:12px;align-self:flex-start;
}
.card:nth-child(2) .card__num{background:var(--accent);color:var(--ink);}
.card:nth-child(4) .card__num{background:var(--accent2);color:var(--ink);}
.card p{margin:0 0 16px;font-size:0.97rem;}
.card__link{
  margin-top:auto;text-decoration:none;
  font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:0.76rem;
  border-top:var(--bd);padding-top:10px;
}
.card__link:hover{color:var(--accent);}

/* ---------- hero ---------- */
.hero{background:var(--accent);border-bottom:var(--bd);padding:58px 0 50px;}
.hero-inner{max-width:1000px;}
.hero-lead{font-size:1.1rem;max-width:62ch;margin:0 0 24px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px;}
.hero-facts{
  display:flex;flex-wrap:wrap;gap:0;margin:0;
  border-top:var(--bd);border-left:var(--bd);
}
.hero-facts span{
  flex:1 1 200px;
  border-right:var(--bd);border-bottom:var(--bd);
  padding:12px 14px;
  text-transform:uppercase;font-weight:700;font-size:0.82rem;letter-spacing:0.05em;
  background:var(--paper);
}

/* ---------- contact ---------- */
.contact{padding:48px 0 30px;background:var(--paper);}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:26px;}
.contact-col p{margin:0 0 14px;}
.contact-line{font-weight:700;}
.contact-line a{text-decoration:none;border-bottom:3px solid var(--accent);}
.foot-nav{display:flex;flex-direction:column;gap:10px;}
.foot-nav a{
  text-decoration:none;text-transform:uppercase;font-weight:700;
  font-size:0.84rem;letter-spacing:0.05em;
  border:var(--bd);padding:9px 12px;box-shadow:var(--shadow);background:#fff;
}
.foot-nav a:hover{background:var(--accent2);}
.privacy-link{border-bottom:3px solid var(--accent2);}
.privacy{
  border:var(--bd);box-shadow:var(--shadow);background:#fff;
  padding:18px;margin-top:26px;
}
.privacy p{margin:0 0 12px;font-size:0.93rem;max-width:80ch;}
.copyright{
  margin:22px 0 0;text-transform:uppercase;font-weight:700;
  letter-spacing:0.06em;font-size:0.8rem;border-top:var(--bd);padding-top:14px;
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .form-grid{grid-template-columns:1fr;}
  .refusal-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  body{font-size:17px;}
  .header-inner{min-height:0;}
  .site-nav{width:100%;margin-left:0;gap:12px;order:3;}
  .header-inner .btn--sm{order:2;margin-left:auto;}
  .form-section{padding:32px 0 44px;}
  .hero{padding:40px 0 36px;}
  .refusal-block{flex-direction:row;justify-content:flex-start;}
}
