:root{
  
  --c-bg:#F4F2ED;
  --c-surface:#E9E5DC;
  --c-text:#16181A;
  --c-primary:#B33A15;
  --c-secondary:#2E3A3F;
  --c-accent:#E8B324;
  --c-dark-bg:#14181A;
  --c-dark-text:#F1EFE9;
  --c-white:#FFFFFF;

  
  --c-primary-dark:#9A3212;              
  --c-rule-light:var(--c-secondary);
  --c-rule-dark:var(--c-surface);
  --c-scrim:rgba(20,24,26,.70);
  --c-hairline:rgba(46,58,63,.22);
  --c-hairline-dark:rgba(241,239,233,.20);

  
  --f-display:"Saira Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --f-body:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;

  --fs-hero:clamp(2.5rem, 1.7rem + 3.4vw, 4.75rem);
  --fs-h2:clamp(1.85rem, 1.35rem + 1.9vw, 2.75rem);
  --fs-h3:clamp(1.4rem, 1.15rem + .9vw, 1.75rem);
  --fs-h4:clamp(1.15rem, 1.05rem + .4vw, 1.3125rem);
  --fs-lead:clamp(1.0625rem, 1rem + .35vw, 1.25rem);
  --fs-body:1.0625rem;   
  --fs-small:.9375rem;
  --fs-kicker:.75rem;
  --fs-tel:clamp(1.75rem, 1.2rem + 2.2vw, 2.5rem);

  --lh-hero:.98;
  --lh-head:1.08;
  --lh-body:1.6;

  --measure:62ch;

  
  --sp-1:.25rem;
  --sp-2:.5rem;
  --sp-3:.75rem;
  --sp-4:1rem;
  --sp-5:1.5rem;
  --sp-6:2rem;
  --sp-7:3rem;
  --sp-8:4rem;
  --sp-9:6rem;
  --sp-10:8rem;
  --section-y:clamp(3.5rem, 2rem + 6vw, 7rem);

  
  --container:1200px;
  --container-narrow:820px;
  --radius:0px;
  --radius-mark:2px;
  --header-h:72px;

  
  --mo-dur:380ms;
  --mo-ease:cubic-bezier(0.16,0.84,0.44,1);
  --mo-dist:16px;
  --mo-stagger:65ms;
}

@media (min-width:900px){
  :root{ --header-h:84px; }
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden}
html{-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
img,picture,video,svg{max-width:100%;display:block}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}

@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
}

body{
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--f-body);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,h5{
  font-family:var(--f-display);
  font-weight:600;
  line-height:var(--lh-head);
  letter-spacing:.01em;
  text-wrap:balance;
}
h1{font-weight:700;font-size:var(--fs-hero);line-height:var(--lh-hero)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}

p{max-width:var(--measure)}
p + p{margin-top:var(--sp-4)}

.lead{
  font-size:var(--fs-lead);
  font-weight:500;
  line-height:1.5;
  max-width:56ch;
}
.small{font-size:var(--fs-small)}
.meta{font-size:var(--fs-small);color:var(--c-secondary)}
strong,b{font-weight:600}

.u-caps{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:500;
  font-size:var(--fs-kicker);
}
.u-tabular{font-variant-numeric:tabular-nums}
.u-measure{max-width:var(--measure)}
.u-center{text-align:center}
.u-mt-0{margin-top:0}
.u-mt-4{margin-top:var(--sp-4)}
.u-mt-5{margin-top:var(--sp-5)}
.u-mt-6{margin-top:var(--sp-6)}
.u-mt-7{margin-top:var(--sp-7)}

a{color:var(--c-primary);text-decoration:none}
a:hover{color:var(--c-primary-dark)}

.prose a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.prose a:hover{text-decoration-thickness:2px}

:focus-visible{
  outline:3px solid var(--c-primary);
  outline-offset:3px;
}
.on-dark :focus-visible,
.section--dark :focus-visible{outline-color:var(--c-accent)}

.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);
  white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;
  top:-120px;
  left:0;
  z-index:1000;
  background:var(--c-text);
  color:var(--c-dark-text);
  padding:var(--sp-3) var(--sp-5);
  font-size:var(--fs-small);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  border-bottom:3px solid var(--c-accent);
}
.skip-link:focus{top:0;color:var(--c-dark-text)}

.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:clamp(1.125rem, .75rem + 2.5vw, 3rem);
}
.container--narrow{max-width:var(--container-narrow)}

.section{padding-block:var(--section-y)}
.section--tight{padding-block:calc(var(--section-y) * .6)}
.section--surface{background:var(--c-surface)}
.section--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--c-dark-text)}
.section--dark .meta{color:rgba(241,239,233,.72)}
.section--dark a{color:var(--c-accent)}
.section--dark a:hover{color:var(--c-dark-text)}

:where(section,div)[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}

.grid{display:grid;gap:var(--sp-6)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media (max-width:767px){
  .grid--2,.grid--3,.grid--auto{grid-template-columns:minmax(0,1fr)}
}

.stack > * + *{margin-top:var(--sp-4)}
.stack-lg > * + *{margin-top:var(--sp-6)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-2);
  min-height:48px;
  padding:.75rem 1.5rem;
  border-radius:var(--radius);
  font-family:var(--f-body);
  font-size:.9375rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-align:center;
  text-decoration:none;
  border:2px solid transparent;
  transition:background-color var(--mo-dur) var(--mo-ease),
             color var(--mo-dur) var(--mo-ease),
             border-color var(--mo-dur) var(--mo-ease),
             opacity var(--mo-dur) var(--mo-ease);
}
.btn--primary{background:var(--c-primary);color:var(--c-white);border-color:var(--c-primary)}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-primary-dark);border-color:var(--c-primary-dark);color:var(--c-white)}

.btn--ghost{background:transparent;color:var(--c-secondary);border-color:var(--c-hairline)}
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--c-surface);border-color:var(--c-secondary);color:var(--c-text)}

.btn--on-dark{background:transparent;color:var(--c-dark-text);border-color:var(--c-hairline-dark)}
.btn--on-dark:hover,.btn--on-dark:focus-visible{background:rgba(241,239,233,.10);border-color:var(--c-accent);color:var(--c-dark-text)}

.btn--block{width:100%}

.mile-marker{
  display:block;
  margin-bottom:var(--sp-4);
}
.mile-marker__index{
  display:block;
  font-family:var(--f-body);
  font-size:var(--fs-kicker);
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-variant-numeric:tabular-nums;
  color:var(--c-primary);
  margin-bottom:var(--sp-2);
}
.mile-marker__label{
  display:flex;
  align-items:center;
  gap:.625rem;
  font-family:var(--f-body);
  font-size:var(--fs-kicker);
  font-weight:500;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--c-secondary);
}
.mile-marker__label::before{
  content:"";
  flex:0 0 auto;
  width:3px;
  height:18px;
  background:var(--c-primary);
}
.section--dark .mile-marker__label{color:var(--c-accent)}
.section--dark .mile-marker__label::before{background:var(--c-accent)}
.section--dark .mile-marker__index{color:var(--c-accent);opacity:.7}

.centerline-rule{
  border:0;
  height:6px;
  width:100%;
  border-radius:0;
  background-color:var(--c-rule-light);
  background-image:linear-gradient(to right,
    var(--c-accent) 0,
    var(--c-accent) 48px,
    transparent 48px);
  background-repeat:no-repeat;
}
.centerline-rule--dark,
.section--dark .centerline-rule{
  background-color:var(--c-rule-dark);
}
.centerline-rule--repeat{
  background-image:repeating-linear-gradient(to right,
    var(--c-accent) 0,
    var(--c-accent) 48px,
    transparent 48px,
    transparent 240px);
}

.answer-slab{
  position:relative;
  background:var(--c-surface);
  color:var(--c-text);
  padding:var(--sp-5);
  border-radius:0;
  box-shadow:none;
  font-family:var(--f-body);
  font-size:1.125rem;
  font-weight:500;
  line-height:1.5;
  max-width:60ch;
}
.answer-slab::before{
  content:"";
  position:absolute;
  inset-block:0;
  left:0;
  width:4px;
  background:var(--c-primary);
  transform-origin:top;
}
.answer-slab > *{max-width:none}
.answer-slab__tel{
  display:inline-block;
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--fs-tel);
  line-height:1;
  letter-spacing:.01em;
  color:var(--c-text);
  text-decoration:none;
  transition:color var(--mo-dur) var(--mo-ease);
}
.answer-slab__tel:hover,.answer-slab__tel:focus-visible{color:var(--c-primary)}
.section--dark .answer-slab{background:rgba(241,239,233,.06);color:var(--c-dark-text)}
.section--dark .answer-slab__tel{color:var(--c-dark-text)}
.section--dark .answer-slab__tel:hover{color:var(--c-accent)}

.card{
  background:var(--c-surface);
  border-radius:0;
  padding:var(--sp-5);
  transition:transform var(--mo-dur) var(--mo-ease),
             background-color var(--mo-dur) var(--mo-ease);
}
.card:hover,.card:focus-within{transform:translateY(-2px)}
.card__title{font-family:var(--f-display);font-weight:600;font-size:var(--fs-h4);letter-spacing:.01em}
.card--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}
.card--dark .card__title{color:var(--c-dark-text)}
.card--outline{background:transparent;border:1px solid var(--c-hairline)}

.service-row{
  display:grid;
  gap:var(--sp-3) var(--sp-6);
  grid-template-columns:minmax(0,1fr);
  padding-block:var(--sp-6);
  border-top:1px solid var(--c-hairline);
}
.service-row__title{
  font-family:var(--f-display);
  font-weight:600;
  font-size:clamp(1.5rem,1.25rem + .8vw,1.75rem);
  letter-spacing:.01em;
}
@media (min-width:768px){
  .service-row{grid-template-columns:minmax(0,7rem) minmax(0,18rem) minmax(0,1fr)}
}
.section--dark .service-row{border-top-color:var(--c-hairline-dark)}

.fact{
  padding-left:var(--sp-4);
  border-left:3px solid var(--c-accent);
}
.fact__value{
  font-family:var(--f-display);
  font-weight:700;
  font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);
  line-height:1;
}

.img-treated{
  filter:saturate(.88) contrast(1.06) brightness(.98);
  background:var(--c-secondary);
}
.figure-scrim{position:relative;overflow:hidden}
.figure-scrim::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(20,24,26,0) 30%,var(--c-scrim) 100%);
  pointer-events:none;
}
.figure-scrim > *{position:relative;z-index:1}
.figure-scrim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}

.hero-copy{
  max-width:min(92vw,760px);
}
.hero-copy p{max-width:52ch}

.field{display:block;margin-bottom:var(--sp-5)}
.field__label{
  display:block;
  font-size:var(--fs-kicker);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--c-secondary);
  margin-bottom:var(--sp-2);
}
.field input,.field textarea,.field select{
  width:100%;
  min-height:48px;
  padding:.625rem 0;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--c-hairline);
  border-radius:0;
  font-size:var(--fs-body);
  transition:border-color var(--mo-dur) var(--mo-ease);
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;
  border-bottom-width:2px;
  border-bottom-color:var(--c-primary);
}
.section--dark .field__label{color:var(--c-accent)}
.section--dark .field input,
.section--dark .field textarea{border-bottom-color:var(--c-hairline-dark);color:var(--c-dark-text)}
.section--dark .field input:focus,
.section--dark .field textarea:focus{border-bottom-color:var(--c-accent)}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--c-bg);
  border-bottom:1px solid var(--c-hairline);
}
.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-5);
  min-height:var(--header-h);
}

.wordmark-lock{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--c-text);
  transition:opacity var(--mo-dur) var(--mo-ease);
}
.wordmark-lock:hover,.wordmark-lock:focus-visible{opacity:.82;color:var(--c-text)}
.wordmark-lock__mark{width:28px;height:28px;flex:0 0 auto;border-radius:var(--radius-mark)}
.wordmark{
  display:inline-flex;
  align-items:stretch;
  gap:10px;
}
.wordmark::before{
  content:"";
  flex:0 0 auto;
  width:4px;
  background:var(--c-primary);
}
.wordmark__text{
  font-family:var(--f-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1;
  font-size:1.5rem;
  white-space:nowrap;
  display:inline-block;
  padding-block:.1em;
}
.wordmark__bm{color:var(--c-text)}
.wordmark__carrier{color:var(--c-secondary)}
.wordmark--on-dark .wordmark__bm{color:var(--c-dark-text)}
.wordmark--on-dark .wordmark__carrier{color:rgba(241,239,233,.66)}
.wordmark--lg .wordmark__text{font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem)}

.nav-desktop{display:none}
@media (min-width:900px){
  .nav-desktop{display:flex;align-items:center;gap:var(--sp-6)}
  .nav-toggle-label{display:none}
}
.nav-desktop ul{
  display:flex;
  align-items:center;
  gap:var(--sp-6);
}
.nav-desktop ul a{
  display:inline-block;
  position:relative;
  color:var(--c-secondary);
  font-size:.9375rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-decoration:none;
  padding-block:var(--sp-2);
  transition:color var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);
}
.nav-desktop ul a:hover,.nav-desktop ul a:focus-visible{color:var(--c-text)}

.link-draw{position:relative;text-decoration:none}
.link-draw::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:var(--c-primary);
  transform:scaleX(0);
  transform-origin:left;
}
.section--dark .link-draw::after,
.site-footer .link-draw::after{background:var(--c-accent)}

.nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nav-toggle-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;height:48px;
  flex:0 0 auto;
  cursor:pointer;
  border:1px solid var(--c-hairline);
  transition:background-color var(--mo-dur) var(--mo-ease),border-color var(--mo-dur) var(--mo-ease);
}
.nav-toggle-label:hover{background:var(--c-surface);border-color:var(--c-secondary)}
.nav-toggle:focus-visible + .nav-toggle-label{outline:3px solid var(--c-primary);outline-offset:3px}
.burger{display:block;width:22px;height:14px;position:relative}
.burger span{
  position:absolute;left:0;right:0;
  height:2px;
  background:var(--c-text);
  transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);
}
.burger span:nth-child(1){top:0}
.burger span:nth-child(2){top:6px}
.burger span:nth-child(3){top:12px}
.nav-toggle:checked + .nav-toggle-label .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle:checked + .nav-toggle-label .burger span:nth-child(2){opacity:0}
.nav-toggle:checked + .nav-toggle-label .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.nav-mobile{
  position:fixed;
  left:0;right:0;
  top:var(--header-h);
  height:calc(100dvh - var(--header-h));
  z-index:99;
  background:var(--c-dark-bg);
  color:var(--c-dark-text);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:var(--sp-5) 0 var(--sp-8);
  display:none;
}
.nav-toggle:checked ~ .nav-mobile{display:block}
@media (min-width:900px){
  .nav-mobile{display:none !important}
}
.nav-mobile ul{border-top:1px solid var(--c-hairline-dark)}
.nav-mobile li{border-bottom:1px solid var(--c-hairline-dark)}
.nav-mobile a{
  display:flex;
  align-items:center;
  min-height:56px;
  padding:var(--sp-3) 0;
  color:var(--c-dark-text);
  font-family:var(--f-display);
  font-weight:600;
  font-size:1.5rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-decoration:none;
  transition:color var(--mo-dur) var(--mo-ease)}
.nav-mobile a:hover,.nav-mobile a:focus-visible{color:var(--c-accent)}
.nav-mobile__cta{margin-top:var(--sp-6)}
.nav-mobile__contact{
  margin-top:var(--sp-6);
  font-size:var(--fs-small);
  color:rgba(241,239,233,.72);
}
.nav-mobile__contact a{
  font-family:var(--f-body);
  font-size:var(--fs-body);
  min-height:44px;
  color:var(--c-accent);
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
}
.nav-close{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2);
  min-height:44px;
  margin-bottom:var(--sp-4);
  cursor:pointer;
  font-size:var(--fs-kicker);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(241,239,233,.72);
  transition:color var(--mo-dur) var(--mo-ease);
}
.nav-close:hover{color:var(--c-accent)}

.site-footer{
  margin-top:0;
  background:var(--c-dark-bg);
  color:var(--c-dark-text);
  padding-block:var(--sp-8) var(--sp-6);
  border-top:6px solid var(--c-secondary);
}
.site-footer__grid{
  display:grid;
  gap:var(--sp-7);
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:768px){
  .site-footer__grid{grid-template-columns:1.4fr 1fr 1fr}
}
.site-footer h2,.site-footer h3{
  font-family:var(--f-body);
  font-size:var(--fs-kicker);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--c-accent);
  margin-bottom:var(--sp-4);
}
.site-footer p{color:rgba(241,239,233,.78);max-width:38ch}
.footer__links li + li{margin-top:var(--sp-1)}
.footer__links a{
  display:inline-block;
  min-height:40px;
  line-height:40px;
  color:var(--c-dark-text);
  font-size:var(--fs-body);
  text-decoration:none;
  transition:color var(--mo-dur) var(--mo-ease)}
.footer__links a:hover,.footer__links a:focus-visible{color:var(--c-accent)}
.footer__blurb{margin-top:var(--sp-4)}
.footer__bottom{
  margin-top:var(--sp-7);
  padding-top:var(--sp-5);
  border-top:1px solid var(--c-hairline-dark);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-3) var(--sp-5);
  font-size:var(--fs-small);
  color:rgba(241,239,233,.66);
}
.footer__legal{
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2) var(--sp-5);
  margin-top:var(--sp-5);
}
.footer__legal a{color:rgba(241,239,233,.78);font-size:var(--fs-small)}
.footer__legal a:hover{color:var(--c-accent)}
.footer__credit a{color:rgba(241,239,233,.78)}
.footer__credit a:hover{color:var(--c-accent)}

.reveal{opacity:1}

@media (prefers-reduced-motion: no-preference){
  .reveal{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms),
               transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms);
    will-change:opacity,transform;
  }
  .reveal.is-visible{opacity:1;transform:none}

  .reveal-stagger > *{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms),
               transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms);
  }
  .reveal-stagger.is-visible > *,
  .reveal-stagger > .is-visible{opacity:1;transform:none}

  
  .answer-slab.reveal::before{
    transform:scaleY(0);
    transition:transform var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms);
  }
  .answer-slab.reveal.is-visible::before{transform:scaleY(1)}
  .answer-slab.reveal{
    transform:none;
    transition:opacity var(--mo-dur) var(--mo-ease) calc(var(--reveal-delay,0ms) + var(--mo-dur));
  }

  
  .centerline-rule.reveal{
    opacity:1;
    transform:none;
    background-position:-48px 0;
    transition:background-position var(--mo-dur) var(--mo-ease) var(--reveal-delay,0ms);
  }
  .centerline-rule.reveal.is-visible{background-position:0 0}

  .media-zoom{overflow:hidden}
  .media-zoom img{
    transition:transform calc(var(--mo-dur) * 2) var(--mo-ease);
    will-change:transform;
  }
  .media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}

  .link-draw::after{transition:transform var(--mo-dur) var(--mo-ease)}
  .link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}

  .ken-burns{overflow:hidden}
  .ken-burns img{animation:nn-ken-burns 12s var(--mo-ease) infinite alternate}
}

@keyframes nn-ken-burns{
  from{transform:scale(1)}
  to{transform:scale(1.04)}
}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none}
  .centerline-rule.reveal{background-position:0 0}
  .answer-slab.reveal::before{transform:none}
  .media-zoom img,.ken-burns img{animation:none;transition:none;transform:none}
  .link-draw::after{transition:none}
  .card:hover{transform:none}
}

.ink-wash{
  background:var(--c-accent);
  color:var(--c-text);
  padding:.06em .22em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
h1 .ink-wash,h2 .ink-wash,h3 .ink-wash{line-height:1.3}
h1:has(.ink-wash),h2:has(.ink-wash),h3:has(.ink-wash){line-height:1.3}

@media print{
  .site-header,.site-footer,.nav-mobile{display:none}
  body{background:#fff;color:#000}
}
.reveal{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1}
.reveal-stagger>*{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal.is-visible{transform:none}
  .reveal-stagger>*{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}}