/* ============================== TOKENS ============================== */
:root{
  --cream:#F4ECDC;        /* dominant — warm paper ground */
  --amber:#9A5B2E;        /* accent — varnish, eye-draw */
  --maple:#E7D9BF;        /* neutral light — section alt / panels */
  --espresso:#241B12;     /* neutral dark — text, dark grounds, nav */
  --walnut:#6E4A2A;       /* secondary accent — headings on cream, structure */
  --lamp:#2E2218;         /* surface alt — dark-on-dark layering */
  --amber-deep:#7E481F;   /* amber hover-deepen */

  --font-display:'Gambetta', Georgia, 'Times New Roman', serif;
  --font-body:'Newsreader', Georgia, 'Times New Roman', serif;

  --maxw:1200px;
  --gut:clamp(1.25rem, 4vw, 2.5rem);

  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:40px; --s6:64px; --s7:96px; --s8:128px;

  --nav-h:68px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{
  background-color:var(--espresso);
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background-color:var(--espresso); /* fills the notch behind the fixed nav */
  color:var(--espresso);
  font-family:var(--font-body);
  font-size:1.0625rem;          /* 17px desktop */
  line-height:1.65;
  font-optical-sizing:auto;
  padding-top:env(safe-area-inset-top, 0px);
  overflow-x:hidden;
}

/* warm-paper ground for document flow */
.paper{
  background-color:var(--cream);
  position:relative;
}
/* analog noise overlay ~3.5% */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.04;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

img{max-width:100%;display:block;}
a{color:inherit;}

h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;line-height:1.12;}
h1{font-size:clamp(2.25rem, 5.5vw, 3.5rem);font-weight:600;letter-spacing:-.01em;}
h2{font-size:clamp(1.75rem, 4vw, 2.5rem);letter-spacing:-.005em;}
h3{font-size:clamp(1.25rem, 2.4vw, 1.5rem);}
p{margin:0 0 1rem;}
.lead{font-size:clamp(1.15rem, 2.2vw, 1.375rem);line-height:1.6;color:var(--walnut);}
.prose{max-width:66ch;}

.eyebrow{
  font-family:var(--font-body);
  font-weight:600;
  font-size:.8125rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--walnut);
  margin:0 0 var(--s3);
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow--light{color:var(--amber);}

/* ============================== LAYOUT ============================== */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);}
section{position:relative;z-index:2;}
.band{padding-top:var(--s7);padding-bottom:var(--s7);}
@media (max-width:768px){ .band{padding-top:var(--s6);padding-bottom:var(--s6);} }

/* subpage first section clears the fixed nav */
.page-head{padding-top:calc(var(--nav-h) + var(--s6)) !important;}
main>section:first-child:not(.hero){scroll-margin-top:var(--nav-h);}

.band--cream{background-color:var(--cream);}
.band--maple{background-color:var(--maple);}
.band--espresso{
  background-color:var(--espresso);
  color:var(--cream);
  /* single-corner candlelit amber wash */
  background-image:radial-gradient(120% 90% at 88% 12%, rgba(154,91,46,.34) 0%, rgba(154,91,46,.10) 32%, transparent 60%);
}
.band--espresso h1,.band--espresso h2,.band--espresso h3{color:var(--cream);}
.band--espresso .eyebrow{color:var(--amber);}
.band--espresso .lead{color:#d8c7ab;}

/* ============================== F-HOLE GLYPH ============================== */
.fhole{display:inline-block;width:.62em;height:1.05em;flex:none;vertical-align:middle;color:var(--amber);}
.fhole svg{display:block;width:100%;height:100%;}

/* ============================== NAV ============================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background-color:var(--espresso);
  border-bottom:1px solid var(--amber);
  transition:padding .22s var(--ease), border-bottom-width .22s var(--ease), background-color .22s var(--ease);
}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--s4);
  padding:1.05rem var(--gut);
  padding-right:calc(var(--gut) + env(safe-area-inset-right, 0px));
  padding-left:calc(var(--gut) + env(safe-area-inset-left, 0px));
  transition:padding .22s var(--ease);
}
.nav.is-condensed{border-bottom-width:2px;}
.nav.is-condensed .nav__inner{padding-top:.7rem;padding-bottom:.7rem;}
.nav__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;flex:none;}
.nav__brand img{
  height:30px;width:auto;
  /* recolor black logo to warm cream for the espresso ground */
  filter:brightness(0) invert(1) sepia(.18) saturate(1.1) brightness(1.02);
  transition:height .22s var(--ease);
}
.nav.is-condensed .nav__brand img{height:26px;}
.nav__brand-text{
  font-family:var(--font-display);font-weight:600;font-size:1.18rem;color:var(--cream);
  letter-spacing:.01em;white-space:nowrap;
}
.nav__links{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2rem);list-style:none;margin:0;padding:0;}
.nav__links a{
  color:var(--cream);text-decoration:none;font-size:.98rem;font-weight:500;
  position:relative;padding:.4rem 0;
}
.nav__links a::after{
  content:'';position:absolute;left:0;right:100%;bottom:.1rem;height:1.5px;
  background:var(--amber);transition:right .25s var(--ease);
}
.nav__links a:hover::after,.nav__links a:focus-visible::after{right:0;}

.ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-body);font-weight:600;font-size:.95rem;
  letter-spacing:.02em;
  color:var(--cream);
  border:1.5px solid var(--amber);
  background:transparent;
  padding:.62rem 1.15rem;
  border-radius:2px;
  text-decoration:none;cursor:pointer;
  min-height:44px;
  transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.ghost:hover,.ghost:focus-visible{background-color:var(--amber);color:var(--cream);border-color:var(--amber);}
/* ghost on light ground */
.ghost--dark{color:var(--walnut);border-color:var(--amber);}
.ghost--dark:hover,.ghost--dark:focus-visible{background-color:var(--amber);color:var(--cream);}

.nav__toggle{display:none;}

/* mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:1100;
  background-color:var(--cream);
  transform:translateY(-100%);
  transition:transform .32s var(--ease);
  padding:calc(5rem + env(safe-area-inset-top,0px)) calc(var(--gut) + env(safe-area-inset-right,0px)) 2rem calc(var(--gut) + env(safe-area-inset-left,0px));
  overflow-y:auto;
}
.drawer.is-open{transform:translateY(0);}
.drawer__close{
  position:absolute;top:calc(1rem + env(safe-area-inset-top,0px));right:var(--gut);
  width:44px;height:44px;border:none;background:transparent;cursor:pointer;color:var(--espresso);
  display:flex;align-items:center;justify-content:center;
}
.drawer__call{
  display:inline-flex;align-items:center;gap:.6rem;color:var(--walnut);text-decoration:none;
  font-weight:600;font-size:1.05rem;margin-bottom:var(--s5);
}
.drawer__call svg{width:20px;height:20px;}
.drawer__nav{list-style:none;margin:0 0 var(--s5);padding:0;}
.drawer__nav li{border-bottom:1px solid rgba(110,74,42,.18);}
.drawer__nav a{
  display:flex;align-items:center;gap:.8rem;color:var(--espresso);text-decoration:none;
  font-family:var(--font-display);font-size:1.6rem;padding:1rem 0;min-height:44px;
}
.drawer__nav .fhole{height:1em;}

@media (max-width:768px){
  .nav__links,.nav__brand .nav__brand-text{display:none;}
  .nav__cta-desktop{display:none;}
  .nav__toggle{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;border:none;background:transparent;cursor:pointer;color:var(--cream);
  }
}
@media (min-width:769px){ .drawer{display:none;} }

/* ============================== HERO ============================== */
.hero{
  position:relative;
  min-height:min(86vh, 800px);
  display:flex;align-items:flex-end;
  margin-top:var(--nav-h);
  overflow:hidden;
  background-color:var(--lamp);
}
.hero__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% 50%;z-index:0;
}
.hero__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(36,27,18,.86) 0%, rgba(36,27,18,.72) 26%, rgba(36,27,18,.30) 52%, rgba(36,27,18,.10) 72%);
}
.hero__panel{
  position:relative;z-index:2;
  max-width:var(--maxw);margin:0 auto;width:100%;
  padding:var(--s7) var(--gut) var(--s6);
}
.hero__copy{max-width:34rem;}
.hero .eyebrow{color:#e7c9a3;}
.hero h1{color:var(--cream);}
.hero__sub{color:#e6d8c2;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;margin-top:var(--s4);max-width:32rem;}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);margin-top:var(--s5);}
.hero__call{
  display:inline-flex;align-items:center;gap:.5rem;color:var(--cream);text-decoration:none;
  font-weight:600;font-size:1.02rem;min-height:44px;
}
.hero__call svg{width:18px;height:18px;color:var(--amber);}
.hero__call .num{position:relative;}
.hero__call .num::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--amber);transition:right .25s var(--ease);}
.hero__call:hover .num::after,.hero__call:focus-visible .num::after{right:0;}
.hero__attrib{
  position:absolute;right:.8rem;bottom:.5rem;z-index:2;
  font-size:.66rem;color:rgba(244,236,220,.6);letter-spacing:.02em;
}
@media (max-width:768px){
  .hero{align-items:flex-end;min-height:min(82vh,640px);}
  .hero__scrim{background:linear-gradient(180deg, rgba(36,27,18,.30) 0%, rgba(36,27,18,.40) 40%, rgba(36,27,18,.88) 100%);}
  .hero__img{object-position:42% 42%;}
  .hero__copy{max-width:none;}
}

/* ============================== SERVICES INDEX (The Work) ============================== */
.work__grid{
  display:grid;grid-template-columns:1.1fr 1.4fr;gap:var(--s7);align-items:start;margin-top:var(--s5);
}
.work__intro h2{color:var(--walnut);max-width:14ch;}
.svc-index{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s5);
  border-top:1px solid rgba(110,74,42,.25);
}
.svc-index li{border-bottom:1px solid rgba(110,74,42,.2);}
.svc-index a{
  display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--espresso);
  padding:.85rem 0;font-family:var(--font-display);font-size:1.18rem;font-weight:500;
  transition:color .2s var(--ease), padding-left .2s var(--ease);min-height:44px;
}
.svc-index a .fhole{height:.95em;transition:transform .25s var(--ease);}
.svc-index a:hover,.svc-index a:focus-visible{color:var(--amber);padding-left:.4rem;}
.svc-index a:hover .fhole{transform:scale(1.18);}
@media (max-width:768px){
  .work__grid{grid-template-columns:1fr;gap:var(--s5);}
  .svc-index{grid-template-columns:1fr;}
}

/* ============================== THE MARK (signature) ============================== */
.mark__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:center;margin-top:var(--s5);
}
.mark__photo{
  position:relative;border-radius:3px;overflow:hidden;
  aspect-ratio:3/2;max-height:460px;box-shadow:0 26px 60px -28px rgba(0,0,0,.75);
}
.mark__photo img{width:100%;height:100%;object-fit:cover;}
.mark__stage{display:flex;flex-direction:column;gap:var(--s4);}
.mark__draw{display:flex;align-items:center;gap:var(--s5);}
.fhole-draw{width:clamp(72px,12vw,120px);height:auto;flex:none;color:var(--amber);}
.fhole-draw path{
  fill:none;stroke:var(--amber);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;
}
.mark__stamp{
  font-family:var(--font-display);font-style:italic;font-size:clamp(1.4rem,3vw,2rem);
  color:var(--amber);
  /* visible by default (progressive enhancement) */
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
/* only the armed scroll-draw hides the stamp until the stroke completes */
.mark.is-drawing .mark__stamp{opacity:0;transform:translateY(8px);}
.mark.is-drawing.is-signed .mark__stamp{opacity:1;transform:none;}
.mark__line{color:#e6d8c2;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.5;max-width:30ch;}
@media (max-width:768px){
  .mark__grid{grid-template-columns:1fr;gap:var(--s5);}
  .mark__draw{gap:var(--s4);}
}

/* ============================== CRAFT STRIP ============================== */
.strip{padding-top:var(--s6);padding-bottom:var(--s7);overflow:hidden;}
.strip__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;}
.strip__rule{height:1px;background:rgba(110,74,42,.3);margin-top:var(--s4);}
.strip__track-wrap{position:relative;margin-top:var(--s5);overflow-x:hidden;}
.strip__track{display:flex;gap:var(--s4);width:max-content;will-change:transform;}
.strip__track.scroll-on{animation:strip-scroll 60s linear infinite;}
@keyframes strip-scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.spec{flex:none;width:clamp(240px,32vw,360px);}
.spec__frame{
  border-radius:3px;overflow:hidden;aspect-ratio:3/2;background:var(--maple);
  box-shadow:0 14px 34px -22px rgba(36,27,18,.55);
}
.spec__frame img{width:100%;height:100%;object-fit:cover;transition:filter .3s var(--ease), transform .3s var(--ease);}
.spec:hover .spec__frame img{filter:brightness(1.07);}
.spec__cap{display:flex;align-items:baseline;gap:.55rem;margin-top:.7rem;color:var(--walnut);font-size:.9rem;}
.spec__cap .fhole{height:.85em;color:var(--amber);}
@media (prefers-reduced-motion: reduce){
  .strip__track.scroll-on{animation:none;}
  .strip__track-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ============================== MAKERS ============================== */
.makers__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin-top:var(--s5);
}
.maker{text-decoration:none;color:var(--espresso);display:flex;flex-direction:column;}
.maker__frame{
  border-radius:3px;overflow:hidden;aspect-ratio:4/5;background:var(--lamp);position:relative;
  box-shadow:0 16px 38px -24px rgba(36,27,18,.6);
}
.maker__frame img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease);}
a.maker:hover .maker__frame img,a.maker:focus-visible .maker__frame img{transform:scale(1.03);}
/* designed PL tile — styled identical to the portrait frames */
.maker__tile{
  border-radius:3px;aspect-ratio:4/5;
  background:var(--espresso);
  background-image:radial-gradient(120% 90% at 70% 18%, rgba(154,91,46,.30) 0%, transparent 58%);
  border:1px solid rgba(154,91,46,.4);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  position:relative;box-shadow:0 16px 38px -24px rgba(36,27,18,.6);
}
.maker__tile .initials{font-family:var(--font-display);font-weight:500;font-size:clamp(2.6rem,7vw,4rem);color:var(--cream);letter-spacing:.04em;}
.maker__tile .rule{width:44px;height:2px;background:var(--amber);}
.maker__tile .fhole{height:2.4rem;color:var(--amber);}
.maker__name{font-family:var(--font-display);font-size:1.18rem;font-weight:500;margin-top:.85rem;}
.maker__cred{color:var(--walnut);font-size:.92rem;line-height:1.45;margin-top:.2rem;}
@media (max-width:768px){ .makers__grid{grid-template-columns:repeat(2,1fr);gap:var(--s4);} }
@media (max-width:480px){ .makers__grid{grid-template-columns:1fr;} }

/* ============================== PROOF BAND ============================== */
.proof__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s7);align-items:center;margin-top:var(--s5);}
.proof__quote{font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.3;color:var(--espresso);}
.proof__quote span{color:var(--amber);}
.proof__by{display:block;font-family:var(--font-body);font-style:normal;font-size:.95rem;color:var(--walnut);margin-top:var(--s3);}
.proof__stat{
  background:var(--maple);border-radius:3px;padding:var(--s5);text-align:center;border:1px solid rgba(110,74,42,.18);
}
.proof__stat .big{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.2rem);font-weight:600;color:var(--walnut);line-height:1;}
.proof__stat .small{font-size:.92rem;color:var(--walnut);margin-top:.5rem;display:block;}
.creds{display:flex;flex-wrap:wrap;gap:.6rem .8rem;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid rgba(110,74,42,.22);}
.cred-pill{
  font-size:.82rem;letter-spacing:.04em;color:var(--walnut);
  border:1px solid rgba(110,74,42,.4);border-radius:999px;padding:.35rem .85rem;
  display:inline-flex;align-items:center;gap:.45rem;
}
.cred-pill .fhole{height:.85em;color:var(--amber);}
.proof__pending{margin-top:var(--s5);font-size:.86rem;color:var(--walnut);opacity:.78;font-style:italic;}
@media (max-width:768px){ .proof__grid{grid-template-columns:1fr;gap:var(--s5);} }

/* ============================== VISIT CTA BAND ============================== */
.visit{text-align:center;}
.visit__inner{max-width:42rem;margin:0 auto;}
.visit h2{color:var(--cream);}
.visit__actions{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:center;align-items:center;margin-top:var(--s5);}
.visit__hours{color:#cbb999;font-size:.95rem;margin-top:var(--s4);}
.visit__call{display:inline-flex;align-items:center;gap:.5rem;color:var(--cream);text-decoration:none;font-weight:600;min-height:44px;}
.visit__call svg{width:18px;height:18px;color:var(--amber);}
.visit__call .num{position:relative;}
.visit__call .num::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--amber);transition:right .25s var(--ease);}
.visit__call:hover .num::after,.visit__call:focus-visible .num::after{right:0;}

/* ============================== FOOTER ============================== */
.footer{background-color:var(--espresso);color:var(--cream);position:relative;z-index:2;
  background-image:radial-gradient(110% 120% at 12% 0%, rgba(154,91,46,.18) 0%, transparent 55%);}
.footer__cols{
  display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.3fr;gap:var(--s6) var(--s5);
  padding-top:var(--s7);padding-bottom:var(--s6);
}
.footer__brand img{height:30px;filter:brightness(0) invert(1) sepia(.18) saturate(1.1) brightness(1.02);margin-bottom:var(--s3);}
.footer__tag{font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--amber);margin-bottom:.6rem;}
.footer__appt{color:#cbb999;font-size:.92rem;}
.footer__h{font-family:var(--font-body);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);margin-bottom:var(--s3);}
.footer__nav{list-style:none;margin:0;padding:0;}
.footer__nav li{margin-bottom:.55rem;}
.footer__nav a{color:var(--cream);text-decoration:none;font-size:1rem;position:relative;}
.footer__nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--amber);transition:right .25s var(--ease);}
.footer__nav a:hover::after,.footer__nav a:focus-visible::after{right:0;}
.hours-tbl{width:100%;border-collapse:collapse;font-size:.94rem;color:#e6d8c2;}
.hours-tbl td{padding:.18rem 0;}
.hours-tbl td:last-child{text-align:right;color:var(--cream);}
.hours-tbl .closed{color:#9c8a70;}
.footer__reach{margin-top:var(--s4);font-size:.94rem;}
.footer__reach a{display:inline-flex;align-items:center;gap:.5rem;color:#e6d8c2;text-decoration:none;margin-bottom:.4rem;min-height:34px;}
.footer__reach a svg{width:16px;height:16px;color:var(--amber);flex:none;}
.footer__reach a:hover{color:var(--cream);}
.footer__visit p{color:#cbb999;font-size:.94rem;margin-bottom:var(--s4);max-width:26ch;}
.footer__map{width:100%;height:300px;border:0;display:block;filter:saturate(.85) sepia(.12);}
.footer__map-wrap{position:relative;background:var(--lamp);}
.footer__legal{
  border-top:1px solid rgba(154,91,46,.3);
  padding:var(--s4) 0;
  display:flex;flex-wrap:wrap;gap:.5rem var(--s4);justify-content:space-between;align-items:center;
  font-size:.82rem;color:#9c8a70;
}
.footer__legal a{color:#cbb999;text-decoration:underline;text-underline-offset:2px;}
.footer__legal a:hover{color:var(--cream);}
.footer__social{display:flex;gap:var(--s3);}
.footer__social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(154,91,46,.4);border-radius:50%;color:#e6d8c2;transition:background-color .25s var(--ease),color .25s var(--ease);}
.footer__social a:hover{background:var(--amber);color:var(--cream);}
.footer__social svg{width:18px;height:18px;}
@media (max-width:768px){
  .footer__cols{grid-template-columns:1fr 1fr;gap:var(--s5);}
}
@media (max-width:480px){
  .footer__cols{grid-template-columns:1fr;}
}

/* ============================== SCROLL REVEAL (progressive enhancement) ============================== */
/* default = visible. JS adds .reveal-armed to opt-in to the hidden->shown transition. */
.reveal{}
.reveal-armed .reveal{opacity:0;transform:translateY(16px);}
.reveal-armed .reveal.is-in{opacity:1;transform:none;transition:opacity .5s var(--ease), transform .5s var(--ease);}
.reveal-armed .hero__copy>*{opacity:0;transform:translateY(12px);}
.reveal-armed.hero-in .hero__copy>*{opacity:1;transform:none;transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal-armed.hero-in .hero__copy>*:nth-child(2){transition-delay:.08s;}
.reveal-armed.hero-in .hero__copy>*:nth-child(3){transition-delay:.16s;}
.reveal-armed.hero-in .hero__copy>*:nth-child(4){transition-delay:.24s;}
/* makers stagger */
.reveal-armed .maker,.reveal-armed .maker__tile{opacity:0;transform:translateY(16px);}
.reveal-armed .makers__grid.is-in .maker,.reveal-armed .makers__grid.is-in .maker__tile{opacity:1;transform:none;transition:opacity .5s var(--ease), transform .5s var(--ease);}
.reveal-armed .makers__grid.is-in :nth-child(2){transition-delay:.08s;}
.reveal-armed .makers__grid.is-in :nth-child(3){transition-delay:.16s;}
.reveal-armed .makers__grid.is-in :nth-child(4){transition-delay:.24s;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .reveal-armed .reveal,.reveal-armed .hero__copy>*,.reveal-armed .maker,.reveal-armed .maker__tile{opacity:1 !important;transform:none !important;}
}

:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px;}

/* skeleton for map */
.map-skel{position:absolute;inset:0;background:linear-gradient(100deg,var(--lamp) 30%,#3a2c1e 50%,var(--lamp) 70%);background-size:200% 100%;animation:skel 1.4s linear infinite;}
@keyframes skel{from{background-position:200% 0;}to{background-position:-200% 0;}}
