/* =============================================================
   Pareto Legal — styles.css
   Production stylesheet. No CDN / no external fonts.
   Fonts: Euclid Circular A (локально в /assets/fonts/*.ttf).
   Палитра построена на брендбуке: as
phalt, orange, off-white,
   dim/light grey.
   ============================================================= */

/* ---------- Fonts (local) ----------
   Файлы лежат в /assets/fonts. Если вы замените их на .woff2/.woff —
   обновите путь и добавьте соответствующий format() первым в списке.
*/
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Light.ttf") format("truetype");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Light-Italic.ttf") format("truetype");
  font-weight:300;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Regular.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Italic.ttf") format("truetype");
  font-weight:400;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Medium.ttf") format("truetype");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Medium-Italic.ttf") format("truetype");
  font-weight:500;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-SemiBold.ttf") format("truetype");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-SemiBold-Italic.ttf") format("truetype");
  font-weight:600;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Bold.ttf") format("truetype");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Euclid Circular A";
  src:url("assets/fonts/EuclidCircularA-Bold-Italic.ttf") format("truetype");
  font-weight:700;font-style:italic;font-display:swap;
}

/* ---------- Design tokens ---------- */
:root{
  --asphalt:#161616;
  --asphalt-2:#1E1E1E;
  --asphalt-3:#252525;
  --dim-grey:#4C4C4D;
  --light-grey:#A9B1B5;
  --off-white:#D7D0C6;
  --paper:#F4F1EC;
  --white:#FFFFFF;
  --orange:#EC5E1A;
  --orange-2:#FF7A33;
  --radius:2px;
  --maxw:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);

  --font-sans:"Euclid Circular A", Arial, -apple-system, BlinkMacSystemFont,
              "Segoe UI", Roboto, sans-serif;
}

/* ---------- Reset ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  background:var(--asphalt);
  color:var(--off-white);
  line-height:1.55;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* ---------- Layout primitives ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}
section{padding:120px 0;position:relative}
@media(max-width:768px){
  section{padding:72px 0}
  .container{padding:0 20px}
}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-weight:700;letter-spacing:-0.01em;line-height:1.08;color:var(--white)}
h1{font-size:clamp(40px, 6vw, 64px);font-weight:700;letter-spacing:-0.025em}
h2{font-size:clamp(32px, 4.2vw, 58px);letter-spacing:-0.02em}
h3{font-size:clamp(20px, 1.7vw, 26px)}
p{color:var(--light-grey)}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange);font-weight:600;margin-bottom:22px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--orange)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:18px 32px;border-radius:var(--radius);
  font-weight:600;font-size:15px;letter-spacing:.02em;
  transition:transform .35s var(--ease), background .25s var(--ease),
             color .25s var(--ease), box-shadow .35s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--orange);color:var(--white)}
.btn-primary:hover{
  background:var(--orange-2);transform:translateY(-2px);
  box-shadow:0 16px 40px -16px rgba(236,94,26,.6);
}
.btn-ghost{border:1px solid rgba(215,208,198,.25);color:var(--off-white)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px)}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- Header ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:22px 0;
  transition:background .3s var(--ease), backdrop-filter .3s var(--ease),
             padding .3s var(--ease), border-color .3s var(--ease);
  border-bottom:1px solid transparent;
}
.header.scrolled{
  background:rgba(22,22,22,.85);backdrop-filter:blur(14px);
  padding:14px 0;border-bottom-color:rgba(215,208,198,.08);
}
.header__row{display:flex;align-items:center;justify-content:space-between;gap:32px}

.logo{display:inline-flex;align-items:center;color:var(--white)}
.logo__mark{
  height:38px;width:auto;flex:none;
  color:currentColor; /* текстовая часть SVG использует currentColor */
}
.header.scrolled .logo__mark{height:34px;transition:height .3s var(--ease)}
.logo--footer .logo__mark{height:42px}

.nav{display:flex;gap:36px}
.nav a{
  font-size:14px;font-weight:500;color:var(--off-white);
  opacity:.78;transition:color .2s, opacity .2s;position:relative;
}
.nav a:hover{opacity:1;color:var(--white)}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.nav a:hover::after{transform:scaleX(1)}

.header__cta{display:flex;align-items:center;gap:18px}
.header__phone{font-size:14px;font-weight:600;color:var(--white)}
.header__phone span{
  display:block;font-size:11px;font-weight:500;color:var(--light-grey);
  letter-spacing:.12em;text-transform:uppercase;
}
.header__cta .btn-primary{padding:12px 22px;font-size:13px}

.burger{display:none;width:32px;height:32px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{width:22px;height:2px;background:var(--white);transition:transform .3s, opacity .3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:960px){
  .nav,.header__phone{display:none}
  .burger{display:flex}
  .nav.mobile-open{
    display:flex;flex-direction:column;gap:22px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--asphalt-2);padding:28px 24px;
    border-top:1px solid rgba(215,208,198,.08);
  }
}

/* ---------- Hero ---------- */
.hero{
  min-height:100vh;display:flex;align-items:center;
  padding:180px 0 120px;position:relative;overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(1000px 700px at 80% 20%, rgba(236,94,26,.22), transparent 60%),
    radial-gradient(900px 600px at 10% 90%, rgba(76,76,77,.35), transparent 65%),
    linear-gradient(180deg, #111 0%, #161616 100%);
}
.hero__grid{
  position:absolute;inset:0;z-index:1;opacity:.25;
  background-image:
    linear-gradient(rgba(215,208,198,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(215,208,198,.05) 1px, transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse at center, #000 40%, transparent 75%);
          mask-image:radial-gradient(ellipse at center, #000 40%, transparent 75%);
}
.hero__inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center;
}
@media(max-width:960px){.hero__inner{grid-template-columns:1fr;gap:50px}}

.hero h1{margin-bottom:26px}
.hero h1 .accent{color:var(--orange)}
.hero__sub{
  font-size:clamp(16px,1.3vw,19px);max-width:540px;
  color:var(--light-grey);margin-bottom:40px;
}
.hero__ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.hero__stats{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;
  padding-top:36px;border-top:1px solid rgba(215,208,198,.12);
}
.hero__stat .num{
  font-size:38px;font-weight:700;color:var(--white);
  letter-spacing:-.02em;line-height:1;
}
.hero__stat .num em{font-style:normal;color:var(--orange)}
.hero__stat .lbl{margin-top:8px;font-size:13px;color:var(--light-grey);letter-spacing:.02em}

.hero__visual{position:relative;aspect-ratio:1/1;max-width:520px;justify-self:end;width:100%}
@media(max-width:960px){.hero__visual{justify-self:center}}
.hero__mark{
  position:absolute;inset:10%;
  background:
    linear-gradient(160deg, rgba(236,94,26,.14), rgba(236,94,26,0)),
    var(--asphalt-2);
  border:1px solid rgba(215,208,198,.1);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  color:var(--off-white);
}
.hero__mark img, .hero__mark svg{width:72%;height:auto}
.hero__float{
  position:absolute;padding:16px 20px;
  background:rgba(22,22,22,.85);backdrop-filter:blur(12px);
  border:1px solid rgba(215,208,198,.12);
  border-radius:4px;display:flex;gap:14px;align-items:center;
  animation:float 6s ease-in-out infinite;
}
.hero__float .dot{
  width:10px;height:10px;border-radius:50%;background:var(--orange);
  box-shadow:0 0 0 6px rgba(236,94,26,.15);
}
.hero__float .label{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--light-grey);
}
.hero__float .val{font-size:15px;font-weight:600;color:var(--white)}
.hero__float--1{top:6%;left:-6%;animation-delay:0s}
.hero__float--2{bottom:14%;right:-8%;animation-delay:1.5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ---------- Trust bar ---------- */
.trust-bar{
  background:var(--asphalt-2);
  border-top:1px solid rgba(215,208,198,.08);
  border-bottom:1px solid rgba(215,208,198,.08);
  padding:32px 0;overflow:hidden;
}
.trust-bar__row{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.trust-bar__lbl{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--light-grey);font-weight:600;white-space:nowrap;
}
.trust-bar__list{display:flex;gap:56px;flex-wrap:wrap;align-items:center}
.trust-bar__item{
  font-size:14px;color:var(--off-white);
  display:flex;align-items:center;gap:10px;
  opacity:.72;transition:opacity .2s;
}
.trust-bar__item:hover{opacity:1}
.trust-bar__item svg{width:18px;height:18px;color:var(--orange)}

/* ---------- Services ---------- */
.services__head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;
  align-items:end;margin-bottom:64px;
}
@media(max-width:768px){.services__head{grid-template-columns:1fr;gap:20px}}
.services__head p{max-width:440px}

.services__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px}
@media(max-width:960px){.services__grid{grid-template-columns:repeat(2, 1fr)}}
@media(max-width:560px){.services__grid{grid-template-columns:1fr}}

.service{
  background:var(--asphalt-2);
  border:1px solid rgba(215,208,198,.08);
  padding:36px 32px;border-radius:var(--radius);
  position:relative;overflow:hidden;
  transition:transform .4s var(--ease), border-color .3s, background .3s;
}
.service:hover{transform:translateY(-6px);border-color:rgba(236,94,26,.45);background:var(--asphalt-3)}
.service::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
}
.service:hover::before{transform:scaleX(1)}
.service__icon{
  width:54px;height:54px;border-radius:var(--radius);
  background:rgba(236,94,26,.08);color:var(--orange);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:26px;transition:background .3s, color .3s;
}
.service:hover .service__icon{background:var(--orange);color:var(--white)}
.service__icon svg{width:26px;height:26px}
.service h3{margin-bottom:12px;color:var(--white)}
.service p{font-size:15px;line-height:1.65}
.service__more{
  margin-top:22px;display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--orange);
  letter-spacing:.08em;text-transform:uppercase;
}
.service__more .arrow{transition:transform .3s}
.service:hover .service__more .arrow{transform:translateX(4px)}

/* ---------- Approach / values ---------- */
.approach{background:var(--asphalt-2)}
.approach__head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;
  align-items:end;margin-bottom:56px;
}
.approach__head p{max-width:440px}
@media(max-width:768px){.approach__head{grid-template-columns:1fr;gap:20px}}

.approach__grid{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:0;
  border:1px solid rgba(215,208,198,.1);
}
@media(max-width:960px){.approach__grid{grid-template-columns:repeat(2, 1fr)}}
@media(max-width:560px){.approach__grid{grid-template-columns:1fr}}
.value{
  padding:48px 36px;
  border-right:1px solid rgba(215,208,198,.1);
  border-bottom:1px solid rgba(215,208,198,.1);
  background:var(--asphalt);
  transition:background .3s;position:relative;
}
.value:hover{background:var(--asphalt-3)}
.value:nth-child(4n){border-right:none}
.value__num{
  font-size:13px;font-weight:700;color:var(--orange);
  letter-spacing:.2em;margin-bottom:20px;
}
.value h3{color:var(--white);margin-bottom:12px;font-size:20px}
.value p{font-size:14.5px;line-height:1.65}

/* ---------- Process ---------- */
.process__title{max-width:760px}
.process__grid{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:28px;
  margin-top:64px;position:relative;
}
@media(max-width:960px){.process__grid{grid-template-columns:repeat(2, 1fr)}}
@media(max-width:560px){.process__grid{grid-template-columns:1fr}}
.step{position:relative;padding-top:40px}
.step::before{
  content:"";position:absolute;top:18px;left:0;right:-28px;height:1px;
  background:linear-gradient(90deg, var(--orange), transparent);
}
.step:last-child::before{display:none}
.step__num{
  position:absolute;top:0;left:0;
  width:36px;height:36px;border-radius:50%;
  background:var(--orange);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:14px;
  box-shadow:0 0 0 6px var(--asphalt);
}
.step h3{font-size:20px;margin-bottom:10px}
.step p{font-size:14.5px}

/* ---------- Practice areas (tabs) ---------- */
.practice{background:linear-gradient(180deg, var(--asphalt) 0%, var(--asphalt-2) 100%)}
.practice__title{margin-bottom:56px;max-width:780px}
.practice__inner{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start}
@media(max-width:960px){.practice__inner{grid-template-columns:1fr;gap:32px}}

.tabs{
  display:flex;flex-direction:column;gap:2px;
  background:rgba(215,208,198,.06);padding:8px;border-radius:var(--radius);
}
.tabs__btn{
  text-align:left;padding:18px 22px;
  color:var(--off-white);font-weight:500;font-size:15px;
  border-radius:var(--radius);
  transition:background .25s, color .25s;
  display:flex;justify-content:space-between;align-items:center;gap:14px;
}
.tabs__btn:hover{color:var(--white);background:rgba(236,94,26,.08)}
.tabs__btn.active{background:var(--orange);color:var(--white)}
.tabs__btn .arr{opacity:0;transition:opacity .2s, transform .2s}
.tabs__btn.active .arr{opacity:1;transform:translateX(2px)}

.tab-panel{display:none;animation:fade .4s ease}
.tab-panel.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tab-panel h3{font-size:28px;margin-bottom:16px}
.tab-panel p{margin-bottom:24px;font-size:16px;color:var(--light-grey)}
.tab-panel ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}
@media(max-width:560px){.tab-panel ul{grid-template-columns:1fr}}
.tab-panel li{
  display:flex;gap:12px;align-items:flex-start;
  font-size:14.5px;color:var(--off-white);
}
.tab-panel li svg{flex:none;width:18px;height:18px;color:var(--orange);margin-top:3px}

/* ---------- Stats strip ---------- */
.stats-strip{background:var(--orange);color:var(--white);padding:64px 0}
.stats-strip__grid{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:32px;text-align:left;
}
@media(max-width:768px){.stats-strip__grid{grid-template-columns:repeat(2, 1fr)}}
.stat-box .num{
  font-size:56px;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--white);
}
.stat-box .lbl{margin-top:10px;font-size:14px;color:rgba(255,255,255,.85)}

/* ---------- CTA ---------- */
.cta{background:var(--asphalt);padding:120px 0 0}
.cta__inner{
  background:
    radial-gradient(800px 400px at 80% -10%, rgba(236,94,26,.3), transparent 60%),
    var(--asphalt-2);
  border:1px solid rgba(215,208,198,.1);
  padding:72px 60px;border-radius:var(--radius);
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
}
@media(max-width:960px){.cta__inner{grid-template-columns:1fr;padding:48px 32px;gap:32px}}
.cta h2{margin-bottom:18px}
.cta p{margin-bottom:28px;font-size:16px;max-width:480px}
.cta__contacts{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.cta__contacts a{
  font-size:15px;color:var(--off-white);
  display:flex;align-items:center;gap:12px;transition:color .2s;
}
.cta__contacts a:hover{color:var(--orange)}
.cta__contacts svg{width:18px;height:18px;color:var(--orange);flex:none}

/* ---------- Form ---------- */
.form{
  display:flex;flex-direction:column;gap:14px;
  background:var(--asphalt);padding:36px;
  border:1px solid rgba(215,208,198,.08);border-radius:var(--radius);
}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.form__grid{grid-template-columns:1fr}}

.field{position:relative}
.field input, .field textarea, .field select{
  width:100%;background:transparent;
  border:1px solid rgba(215,208,198,.15);
  padding:16px 18px;color:var(--white);font-size:15px;
  border-radius:var(--radius);font-family:inherit;
  transition:border-color .2s, background .2s;
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none;border-color:var(--orange);background:rgba(236,94,26,.04);
}
.field textarea{resize:vertical;min-height:110px}
.field label{
  position:absolute;left:18px;top:16px;
  color:var(--light-grey);font-size:15px;pointer-events:none;
  transition:transform .2s, font-size .2s, color .2s, background .2s, padding .2s;
}
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label{
  transform:translateY(-26px);font-size:12px;color:var(--orange);
  background:var(--asphalt);padding:0 6px;
}
.field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'><path fill='none' stroke='%23A9B1B5' stroke-width='1.6' d='M1 1l5 5 5-5'/></svg>");
  background-repeat:no-repeat;background-position:right 18px center;
}

.form__consent{font-size:12px;color:var(--light-grey);line-height:1.55}
.form__consent a{color:var(--orange);border-bottom:1px dashed rgba(236,94,26,.5)}
.form__submit{margin-top:6px}
.form__msg{
  display:none;padding:14px 18px;
  background:rgba(236,94,26,.1);
  border:1px solid rgba(236,94,26,.3);
  border-radius:var(--radius);color:var(--orange);font-size:14px;
}
.form__msg.show{display:block}

/* ---------- FAQ ---------- */
.faq__title{max-width:780px}
.faq__list{display:flex;flex-direction:column;gap:12px;margin-top:48px;max-width:860px}
.faq-item{
  border:1px solid rgba(215,208,198,.1);border-radius:var(--radius);
  background:var(--asphalt-2);overflow:hidden;transition:border-color .2s;
}
.faq-item.open{border-color:rgba(236,94,26,.45)}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:24px 28px;text-align:left;font-size:17px;font-weight:600;color:var(--white);
}
.faq-q .icon{
  width:26px;height:26px;flex:none;
  border:1px solid var(--orange);color:var(--orange);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  transition:transform .3s, background .3s, color .3s;
}
.faq-item.open .faq-q .icon{transform:rotate(45deg);background:var(--orange);color:var(--white)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a__inner{padding:0 28px 26px;color:var(--light-grey);font-size:15px;line-height:1.7}

/* ---------- Footer ---------- */
.footer{background:#0F0F0F;padding:88px 0 28px;border-top:1px solid rgba(215,208,198,.06)}
.footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;margin-bottom:56px;
}
@media(max-width:768px){.footer__grid{grid-template-columns:1fr 1fr;gap:40px 32px}}
@media(max-width:460px){.footer__grid{grid-template-columns:1fr}}
.footer__col h4{
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--orange);margin-bottom:20px;font-weight:700;
}
.footer__col a, .footer__col p{
  display:block;font-size:14.5px;color:var(--light-grey);margin-bottom:10px;transition:color .2s;
}
.footer__col a:hover{color:var(--white)}
.footer__about{
  font-size:14.5px;color:var(--light-grey);line-height:1.7;
  margin-top:16px;max-width:340px;
}
.footer__bottom{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-top:28px;border-top:1px solid rgba(215,208,198,.08);
  font-size:13px;color:var(--dim-grey);
}
.footer__bottom a{color:var(--dim-grey);margin-left:22px;transition:color .2s}
.footer__bottom a:hover{color:var(--off-white)}

/* ---------- Reveal-on-scroll ---------- */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.08s}
.reveal.d2{transition-delay:.16s}
.reveal.d3{transition-delay:.24s}
.reveal.d4{transition-delay:.32s}

/* ---------- Selection ---------- */
::selection{background:var(--orange);color:var(--white)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none}
}
