/* ============================================================
   DISIPHEE — صفحات محتوایی
   امکانات · چرا دیزیفی · مسیر · مخاطب · آکادمی · مشاوره
   ============================================================ */

/* ---------- هدر صفحه ---------- */
.dzf-ph{
  background:var(--white);
  padding:clamp(40px, 5.5vw, 72px) var(--dzf-gutter) clamp(36px, 4.5vw, 60px);
}
.dzf-ph__inner{ max-width:var(--dzf-container); margin:0 auto; }
.dzf-ph h1{
  font-family:var(--dzf-font);
  font-size:clamp(1.65rem, 4.2vw, 2.9rem);
  font-weight:800; letter-spacing:-.02em; line-height:1.42;
  color:var(--primary); margin:0 0 14px;
}
.dzf-ph p{
  font-size:clamp(.9rem, 1.5vw, 1.05rem);
  line-height:2.1; color:var(--dzf-muted); margin:0; max-width:64ch;
}
.dzf-ph__btns{ display:flex; gap:12px; flex-wrap:wrap; margin-top:var(--dzf-space-md); }
.dzf-ph__meta{
  display:inline-block; margin-top:12px;
  font-size:.8rem; color:var(--dzf-muted-2);
}
.dzf-ph--article h1{ font-size:clamp(1.5rem, 3.6vw, 2.4rem); }

.dzf-crumb{ font-size:.8rem; color:var(--dzf-muted-2); margin-bottom:12px; }
.dzf-crumb a{ color:var(--primary); font-weight:600; }
.dzf-crumb span{ margin:0 6px; }

/* ---------- بخش ---------- */
.dzf-feat{ background:var(--bg); padding:var(--dzf-space-xxl) var(--dzf-gutter); }
.dzf-feat.is-alt{ background:var(--white); }
.dzf-feat__inner{ max-width:var(--dzf-container); margin:0 auto; }
.dzf-feat__head{ margin-bottom:var(--dzf-space-lg); }
.dzf-feat__head h2{
  font-family:var(--dzf-font);
  font-size:clamp(1.25rem, 2.8vw, 1.85rem);
  font-weight:800; color:var(--primary); margin:0 0 12px;
}
.dzf-feat__head p{
  font-size:.93rem; line-height:2.05; color:var(--dzf-muted); margin:0; max-width:62ch;
}

.dzf-feat__grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--dzf-space-md);
}
.dzf-feat__card{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:22px; padding:var(--dzf-space-md);
}
.dzf-feat.is-alt .dzf-feat__card{ background:var(--bg); }
.dzf-feat__n{
  display:inline-block; font-size:.72rem; font-weight:800;
  color:var(--dzf-muted-3); margin-bottom:10px;
}
.dzf-feat__card h3{ font-size:.98rem; font-weight:700; color:var(--primary); margin:0 0 8px; }
.dzf-feat__card p{ font-size:.84rem; line-height:1.95; color:var(--dzf-muted); margin:0; }

.dzf-feat__card--icon{ display:flex; flex-direction:column; }
.dzf-feat__ico{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; margin-bottom:12px;
  border-radius:var(--dzf-radius-chip);
  background:var(--accent); color:var(--primary);
}
.dzf-feat__ico svg{ width:21px; height:21px; }
.dzf-feat__grid--icons{ grid-template-columns:repeat(4, 1fr); }

/* ---------- فهرست منفی ---------- */
.dzf-notlist{ display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; }
.dzf-notlist li{
  display:flex; flex-direction:column; gap:4px;
  background:var(--white); border:1px solid var(--stroke);
  border-radius:16px; padding:16px 18px;
}
.dzf-feat.is-alt .dzf-notlist li{ background:var(--bg); }
.dzf-notlist strong{ font-size:.9rem; color:var(--primary); }
.dzf-notlist span{ font-size:.8rem; line-height:1.85; color:var(--dzf-muted-2); }

/* ---------- جدول مقایسه ---------- */
.dzf-cmp{ overflow-x:auto; }
.dzf-cmp table{
  width:100%; min-width:640px; border-collapse:collapse;
  background:var(--white); border-radius:20px; overflow:hidden;
}
.dzf-cmp th, .dzf-cmp td{
  padding:16px 14px; text-align:right; font-size:.86rem;
  border-bottom:1px solid var(--stroke);
}
.dzf-cmp thead th{ vertical-align:top; background:var(--bg); }
.dzf-cmp thead th strong{ display:block; font-size:.92rem; color:var(--primary); }
.dzf-cmp thead th em{
  display:block; font-style:normal; font-size:.74rem;
  color:var(--dzf-muted-2); margin-top:4px; font-weight:400;
}
.dzf-cmp tbody th{ font-weight:600; color:var(--primary); background:var(--white); }
.dzf-cmp td{ color:var(--dzf-muted); }
.dzf-cmp .is-us{ background:var(--primary) !important; color:var(--white) !important; }
.dzf-cmp thead .is-us strong{ color:var(--accent); }
.dzf-cmp thead .is-us em{ color:var(--bg); opacity:.7; }
.dzf-cmp tr:last-child th, .dzf-cmp tr:last-child td{ border-bottom:none; }

/* ---------- مقایسه‌ی عمیق ---------- */
.dzf-cmp2{
  display:grid; grid-template-columns:1fr 1.15fr; gap:var(--dzf-space-lg);
  align-items:start;
}
.dzf-cmp2__txt h2{
  font-size:clamp(1.15rem, 2.4vw, 1.55rem); font-weight:800;
  color:var(--primary); margin:0 0 12px;
}
.dzf-cmp2__txt p{ font-size:.9rem; line-height:2.05; color:var(--dzf-muted); margin:0; }
.dzf-cmp2__cols{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dzf-cmp2__col{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:18px; padding:16px 18px;
}
.dzf-feat.is-alt .dzf-cmp2__col{ background:var(--bg); }
.dzf-cmp2__col span{
  display:block; font-size:.78rem; font-weight:700; margin-bottom:10px;
}
.dzf-cmp2__col.is-good span{ color:var(--dzf-success); }
.dzf-cmp2__col.is-bad span{ color:var(--dzf-error); }
.dzf-cmp2__col ul{ display:flex; flex-direction:column; gap:8px; }
.dzf-cmp2__col li{
  position:relative; padding-inline-start:16px;
  font-size:.82rem; line-height:1.85; color:var(--dzf-muted);
}
.dzf-cmp2__col li::before{
  content:""; position:absolute; inset-inline-start:0; top:9px;
  width:5px; height:5px; border-radius:50%;
}
.dzf-cmp2__col.is-good li::before{ background:var(--dzf-success); }
.dzf-cmp2__col.is-bad li::before{ background:var(--dzf-error); }

/* ---------- مراحل ---------- */
.dzf-steps{ display:flex; flex-direction:column; gap:var(--dzf-space-md); }
.dzf-step{ display:flex; gap:var(--dzf-space-md); }
.dzf-step__n{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; flex-shrink:0;
  border-radius:999px; background:var(--primary); color:var(--accent);
  font-size:1.15rem; font-weight:800;
}
.dzf-step__body{
  flex:1; background:var(--white); border:1px solid var(--stroke);
  border-radius:22px; padding:var(--dzf-space-md);
}
.dzf-feat.is-alt .dzf-step__body{ background:var(--bg); }
.dzf-step__body header{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:12px; flex-wrap:wrap; margin-bottom:10px;
}
.dzf-step__body h2{ font-size:1.05rem; font-weight:700; color:var(--primary); margin:0; }
.dzf-step__body header span{ font-size:.78rem; color:var(--dzf-muted-2); }
.dzf-step__body > p{ font-size:.87rem; line-height:2; color:var(--dzf-muted); margin:0 0 16px; }
.dzf-step__cols{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.dzf-step__cols strong{
  display:block; font-size:.78rem; color:var(--primary); margin-bottom:8px;
}
.dzf-step__cols ul{ display:flex; flex-direction:column; gap:6px; }
.dzf-step__cols li{
  position:relative; padding-inline-start:15px;
  font-size:.81rem; line-height:1.8; color:var(--dzf-muted);
}
.dzf-step__cols li::before{
  content:""; position:absolute; inset-inline-start:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:var(--accent);
}

/* ---------- پرسش و پاسخ ---------- */
.dzf-qa{ display:flex; flex-direction:column; }
.dzf-qa details{ border-bottom:1px solid var(--stroke); }
.dzf-qa details:last-child{ border-bottom:none; }
.dzf-qa summary{
  cursor:pointer; list-style:none; padding:18px 4px;
  font-size:.92rem; font-weight:600; color:var(--primary);
  display:flex; justify-content:space-between; gap:12px;
}
.dzf-qa summary::-webkit-details-marker{ display:none; }
.dzf-qa summary::after{ content:"+"; font-size:1.2rem; color:var(--dzf-muted-2); }
.dzf-qa details[open] summary::after{ content:"−"; }
.dzf-qa p{
  font-size:.86rem; line-height:2.1; color:var(--dzf-muted);
  margin:0; padding:0 4px 18px; max-width:76ch;
}

/* ---------- پرسوناها ---------- */
.dzf-personas{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--dzf-space-md); }
.dzf-persona{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:24px; padding:var(--dzf-space-md);
}
.dzf-persona__tag{
  display:inline-block; font-size:.72rem; font-weight:700;
  background:var(--accent); color:var(--primary);
  border-radius:999px; padding:5px 12px; margin-bottom:12px;
}
.dzf-persona h2{ font-size:1.08rem; font-weight:800; color:var(--primary); margin:0 0 10px; }
.dzf-persona > p{ font-size:.85rem; line-height:2; color:var(--dzf-muted); margin:0 0 16px; }
.dzf-persona__cols{ display:flex; flex-direction:column; gap:12px; }
.dzf-persona__cols > div{ background:var(--bg); border-radius:14px; padding:13px 15px; }
.dzf-persona__cols strong{ display:block; font-size:.78rem; margin-bottom:8px; }
.dzf-persona__cols .is-pain strong{ color:var(--dzf-error); }
.dzf-persona__cols .is-gain strong{ color:var(--dzf-success); }
.dzf-persona__cols ul{ display:flex; flex-direction:column; gap:6px; }
.dzf-persona__cols li{
  position:relative; padding-inline-start:14px;
  font-size:.79rem; line-height:1.8; color:var(--dzf-muted);
}
.dzf-persona__cols li::before{
  content:""; position:absolute; inset-inline-start:0; top:8px;
  width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.5;
}

/* ---------- حوزه‌ها ---------- */
.dzf-inds{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.dzf-ind{
  display:flex; gap:12px;
  background:var(--bg); border:1px solid var(--stroke);
  border-radius:18px; padding:16px;
}
.dzf-feat.is-alt .dzf-ind{ background:var(--bg); }
.dzf-ind__e{ font-size:1.4rem; line-height:1; flex-shrink:0; }
.dzf-ind h3{ font-size:.88rem; font-weight:700; color:var(--primary); margin:0 0 5px; }
.dzf-ind p{ font-size:.78rem; line-height:1.85; color:var(--dzf-muted-2); margin:0; }
.dzf-inds__note{
  margin-top:var(--dzf-space-md); font-size:.84rem;
  color:var(--dzf-muted-2); line-height:1.95;
}
.dzf-inds__note a{ color:var(--primary); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ---------- آکادمی ---------- */
.dzf-acad{ display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--dzf-space-md); }
.dzf-acad__card{
  display:flex; flex-direction:column;
  background:var(--white); border:1px solid var(--stroke);
  border-radius:22px; padding:var(--dzf-space-md);
  transition:border-color .22s ease, transform .22s ease;
}
.dzf-acad__card:hover{ border-color:var(--primary); transform:translateY(-3px); }
.dzf-acad__meta{ font-size:.74rem; color:var(--dzf-muted-3); margin-bottom:10px; }
.dzf-acad__card h2{ font-size:1.02rem; font-weight:700; color:var(--primary); margin:0 0 10px; line-height:1.6; }
.dzf-acad__card p{ font-size:.83rem; line-height:1.95; color:var(--dzf-muted); margin:0 0 14px; flex:1; }
.dzf-acad__go{
  font-size:.82rem; font-weight:700; color:var(--primary);
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:var(--accent); text-decoration-thickness:2px;
}

.dzf-art{ background:var(--bg); padding:var(--dzf-space-xxl) var(--dzf-gutter); }
.dzf-art__inner{
  max-width:var(--dzf-container); margin:0 auto;
  display:grid; grid-template-columns:250px 1fr; gap:var(--dzf-space-lg); align-items:start;
}
.dzf-art__toc{
  position:sticky; top:104px;
  background:var(--white); border:1px solid var(--stroke);
  border-radius:22px; padding:var(--dzf-space-md);
}
.dzf-art__toc-t{
  display:block; font-size:.8rem; font-weight:700; color:var(--primary);
  padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--stroke);
}
.dzf-art__toc ol{ list-style:none; margin:0; padding:0; counter-reset:t; }
.dzf-art__toc li{ counter-increment:t; }
.dzf-art__toc a{
  display:flex; gap:8px; padding:8px 0;
  font-size:.83rem; line-height:1.7; color:var(--dzf-muted);
}
.dzf-art__toc a::before{ content:counter(t) "."; color:var(--dzf-muted-3); font-weight:700; }
.dzf-art__toc a:hover{ color:var(--primary); }

.dzf-art__body{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:28px; padding:clamp(24px, 3.5vw, 48px);
}
.dzf-art__sec{ scroll-margin-top:104px; }
.dzf-art__sec + .dzf-art__sec{
  margin-top:var(--dzf-space-lg); padding-top:var(--dzf-space-lg);
  border-top:1px solid var(--stroke);
}
.dzf-art__sec h2{
  display:flex; align-items:center; gap:12px;
  font-size:clamp(1.05rem, 2vw, 1.28rem); font-weight:700;
  color:var(--primary); margin:0 0 16px;
}
.dzf-art__sec h2 span{
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; flex-shrink:0; border-radius:999px;
  background:var(--accent); color:var(--primary); font-size:.8rem; font-weight:700;
}
.dzf-art__sec p{
  font-size:.9rem; line-height:2.2; color:var(--dzf-muted); margin:0 0 14px;
  text-align:justify; text-align-last:right;
}
.dzf-art__sec strong{ color:var(--primary); font-weight:700; }

.dzf-art__cta{
  margin-top:var(--dzf-space-lg);
  background:var(--primary); border-radius:22px; padding:var(--dzf-space-md);
}
.dzf-art__cta strong{ display:block; font-size:1rem; color:var(--white); margin-bottom:8px; }
.dzf-art__cta p{ font-size:.85rem; line-height:1.95; color:var(--bg); opacity:.78; margin:0 0 14px; }

.dzf-art__rel{ margin-top:var(--dzf-space-lg); }
.dzf-art__rel > span{ display:block; font-size:.8rem; font-weight:700; color:var(--dzf-muted-2); margin-bottom:10px; }
.dzf-art__rel > div{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dzf-art__rel a{
  border:1px solid var(--stroke); border-radius:16px; padding:14px 16px;
  transition:border-color .2s ease;
}
.dzf-art__rel a:hover{ border-color:var(--primary); }
.dzf-art__rel strong{ display:block; font-size:.86rem; color:var(--primary); line-height:1.6; }
.dzf-art__rel em{ display:block; font-style:normal; font-size:.74rem; color:var(--dzf-muted-3); margin-top:4px; }

/* ---------- مشاوره ---------- */
.dzf-cons{ display:grid; grid-template-columns:1fr 1.05fr; gap:var(--dzf-space-lg); align-items:start; }
.dzf-cons__info h2{ font-size:1.2rem; font-weight:800; color:var(--primary); margin:0 0 var(--dzf-space-md); }
.dzf-cons__steps{ list-style:none; margin:0 0 var(--dzf-space-md); padding:0; counter-reset:c; }
.dzf-cons__steps li{
  counter-increment:c; position:relative;
  padding:0 44px 20px 0; border-inline-start:0;
}
.dzf-cons__steps li::before{
  content:counter(c);
  position:absolute; inset-inline-start:auto; right:0; top:0;
  display:flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:999px;
  background:var(--accent); color:var(--primary); font-size:.8rem; font-weight:700;
}
.dzf-cons__steps strong{ display:block; font-size:.92rem; color:var(--primary); margin-bottom:4px; }
.dzf-cons__steps span{ font-size:.83rem; line-height:1.95; color:var(--dzf-muted); }

.dzf-cons__promise{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:18px; padding:16px 18px; margin-bottom:var(--dzf-space-md);
}
.dzf-cons__promise strong{ display:block; font-size:.86rem; color:var(--primary); margin-bottom:10px; }
.dzf-cons__promise ul{ display:flex; flex-direction:column; gap:7px; }
.dzf-cons__promise li{
  position:relative; padding-inline-start:16px;
  font-size:.82rem; line-height:1.85; color:var(--dzf-muted);
}
.dzf-cons__promise li::before{
  content:""; position:absolute; inset-inline-start:0; top:9px;
  width:5px; height:5px; border-radius:50%; background:var(--dzf-success);
}
.dzf-cons__alt{ display:flex; flex-direction:column; gap:5px; font-size:.85rem; }
.dzf-cons__alt span{ font-size:.8rem; color:var(--dzf-muted-2); margin-bottom:4px; }
.dzf-cons__alt a{ color:var(--primary); font-weight:700; }
.dzf-cons__alt em{ font-style:normal; font-size:.76rem; color:var(--dzf-muted-3); margin-top:4px; }

.dzf-cons__form{
  background:var(--white); border:1px solid var(--stroke);
  border-radius:26px; padding:var(--dzf-space-lg);
}
.dzf-cons__form h2{ font-size:1.1rem; font-weight:800; color:var(--primary); margin:0 0 var(--dzf-space-md); }
.dzf-form{ display:flex; flex-direction:column; gap:var(--dzf-space-sm); }
.dzf-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dzf-form__note{ font-size:.76rem; color:var(--dzf-muted-3); text-align:center; margin:4px 0 0; }
.dzf-form__note a{ color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.dzf-field{ display:flex; flex-direction:column; gap:7px; }
.dzf-field label{ font-size:.84rem; font-weight:600; color:var(--primary); }
.dzf-field input, .dzf-field select, .dzf-field textarea{
  width:100%; border:1px solid var(--stroke); border-radius:14px;
  background:var(--white); font-family:var(--dzf-font); font-size:.88rem;
  color:var(--primary); padding:12px 15px; outline:none;
  transition:border-color .2s ease;
}
.dzf-field textarea{ line-height:1.9; resize:vertical; }
.dzf-field input:focus, .dzf-field select:focus, .dzf-field textarea:focus{ border-color:var(--primary); }
.dzf-opt{ font-size:.72rem; font-weight:400; color:var(--dzf-muted-3); }
/* تله‌ی ربات.
   از left:-9999px استفاده نمی‌کنیم: در صفحه‌ی RTL جهت سرریز به چپ است،
   پس آن مقدار یک اسکرول افقی در کل سایت می‌ساخت. تکنیک clip هیچ سرریزی
   ندارد و همچنان فیلد را برای ربات‌ها قابل پر کردن نگه می‌دارد. */
.dzf-hp{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; border:0;
  overflow:hidden; white-space:nowrap;
  clip:rect(0 0 0 0); clip-path:inset(50%);
}

.dzf-alert{ border-radius:14px; padding:12px 15px; font-size:.85rem; line-height:1.9; }
.dzf-alert--error{ background:var(--dzf-error-bg); color:var(--dzf-error); }

.dzf-cons__done{ text-align:center; padding:var(--dzf-space-md) 0; }
.dzf-cons__done span{
  display:flex; align-items:center; justify-content:center;
  width:62px; height:62px; margin:0 auto var(--dzf-space-sm);
  border-radius:999px; background:var(--accent); color:var(--primary);
}
.dzf-cons__done svg{ width:28px; height:28px; }
.dzf-cons__done h3{ font-size:1.1rem; font-weight:800; color:var(--primary); margin:0 0 10px; }
.dzf-cons__done p{ font-size:.87rem; line-height:2; color:var(--dzf-muted); margin:0 0 var(--dzf-space-md); }

/* ---------- CTA پایانی ---------- */
/* padding بالا صفر بود، برای همین کارت تیره به بخش قبلی می‌چسبید.
   حالا XXL از هر دو طرف — همان فاصله‌ی بین سکشن‌های بزرگ در برند بوک. */
.dzf-cta-final{
  background:var(--bg);
  padding:var(--dzf-space-xxl) var(--dzf-gutter);
}
.dzf-cta-final__box{
  max-width:var(--dzf-container); margin:0 auto;
  background:var(--primary); border-radius:32px;
  padding:clamp(36px, 6vw, 68px) clamp(24px, 5vw, 56px); text-align:center;
}
.dzf-cta-final__box h2{
  font-size:clamp(1.3rem, 3vw, 2rem); font-weight:800; color:var(--white); margin:0 0 12px;
}
.dzf-cta-final__box p{
  font-size:.92rem; line-height:2.05; color:var(--bg); opacity:.78;
  margin:0 auto; max-width:56ch;
}
.dzf-cta-final .dzf-ph__btns{ justify-content:center; }
.dzf-hbtn--ghost-light{
  background:transparent !important; color:var(--bg) !important;
  border-color:rgba(226,227,231,.35) !important;
}
.dzf-hbtn--ghost-light:hover{
  background:var(--accent) !important; color:var(--primary) !important;
  border-color:var(--accent) !important;
}

/* ---------- ریسپانسیو ---------- */
@media (max-width:1024px){
  .dzf-feat__grid{ grid-template-columns:repeat(2, 1fr); }
  .dzf-feat__grid--icons{ grid-template-columns:repeat(2, 1fr); }
  .dzf-personas{ grid-template-columns:1fr; }
  .dzf-inds{ grid-template-columns:repeat(2, 1fr); }
  .dzf-acad{ grid-template-columns:repeat(2, 1fr); }
  .dzf-cmp2{ grid-template-columns:1fr; }
  .dzf-cons{ grid-template-columns:1fr; }
  .dzf-art__inner{ grid-template-columns:1fr; }
  .dzf-art__toc{ position:static; }
  .dzf-art__toc ol{ display:grid; grid-template-columns:repeat(2, 1fr); gap:0 16px; }
}
@media (max-width:640px){
  .dzf-feat__grid, .dzf-feat__grid--icons, .dzf-acad,
  .dzf-inds, .dzf-notlist{ grid-template-columns:1fr; }
  .dzf-step{ flex-direction:column; gap:12px; }
  .dzf-step__n{ width:44px; height:44px; font-size:1rem; }
  .dzf-step__cols, .dzf-cmp2__cols, .dzf-form__row,
  .dzf-art__rel > div{ grid-template-columns:1fr; }
  .dzf-ph__btns{ flex-direction:column; }
  .dzf-ph__btns .dzf-hbtn{ width:100%; }
  .dzf-art__body, .dzf-cons__form{ border-radius:20px; }
  .dzf-art__sec p{ text-align:right; text-align-last:right; }
  .dzf-art__toc ol{ grid-template-columns:1fr; }
}


/* ============================================================
   دسترسی‌پذیری
   ============================================================ */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:3px;
  border-radius:6px;
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
