/* La Vela Taqueria — round 2.
   Palette from the room itself (BRIEF.md): Efrén's mis-tinted "Garden Gate"
   tomatillo wall, Beto's marigold sign letters, cream trim, salsa red rare.
   Faces: Alfa Slab One (Beto's painted letters) + Archivo (the order ticket). */

:root{
  --cream:#FAF3E3;
  --ink:#20421A;        /* deep wall green, the page's one ink */
  --ink-deep:#172F12;   /* footer, darkest point */
  --tomatillo:#47702F;  /* mid green, AA on cream */
  --tint:#EAEFD9;       /* wall green tinted to paper */
  --marigold:#E9AF3C;   /* Beto's letters; never body text on cream */
  --salsa:#C1361C;      /* only where salsa appears */
  --line:#2B1A10;       /* the illustration ink */
  /* --- corrected off the five photographs (PIL medianCut, 8 colours each).
     The tomatillo-green discipline above is untouched; these only fix the
     warm neutrals and the darks so the page and the pictures share a ground.
       hero-comal : #f6e9bf 16.8%  #050609+#0a0c0f+#181717 40.4%  #8a6347 12.1%  #2a3736 11.2%
       comal-mano : #ceb38d 13.5%  #f1d5ad 12.2%  #738f92 9.6%
       birria     : #98391d 17.5%  #ad5838 14.3%  #c17d51 15.6%  #e2cbb1 12.5%
       casa       : #8fa29a 15.8%  #607a72 10.2%  #42342f 12.9%
       noche      : #080808 14.9%  #2a201b 13.3%  #737e96 10.0%              */
  --masa:#F6E9BF;       /* the lit tortilla - the photographs' own cream */
  --comal:#0B0C0E;      /* the comal's black, 40% of the hero frame */
  --comal-2:#2A3736;    /* steel-green of the hot plate, the dark that is not black */
  --lena:#8A6347;       /* the bench wood, hairlines on photographs */
  --barro:#98391D;      /* the birria's clay red, the deep end of --salsa */
  --face-paint:"Alfa Slab One", "Georgia", serif;
  --face-body:"Archivo", "Segoe UI", system-ui, sans-serif;
  /* size ladder, gaps on purpose */
  --s-1:.85rem; --s0:1rem; --s1:1.2rem; --s2:1.55rem; --s3:2.1rem; --s4:3.1rem;
  /* vertical rhythm (spacing.md, editorial/restaurant genre):
     tight 16px = 0.25x — the board and the menu are one counter, they touch;
     base 64px walking beat; grand 128px = exactly 2.0x, co-fired with a
     full-bleed color change (the ITN move), spent before the empty-pot post
     and before the vengan ask. */
  --gap-tight:1rem;
  --gap-base:4rem;
  --gap-grand:8rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;
  font-family:var(--face-body);
  font-size:var(--s0);
  line-height:1.6;
  color:var(--ink);
  background:var(--cream);
}
[id]{scroll-margin-top:5.5rem}
img,svg{max-width:100%;height:auto}
a{color:inherit}
strong,b{font-weight:800}
a:focus-visible,button:focus-visible{outline:3px solid var(--tomatillo);outline-offset:3px;border-radius:4px}
.sec-ink a:focus-visible,.sec-ink button:focus-visible,.site-foot a:focus-visible{outline-color:var(--marigold)}

.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}

/* ── top stack ─────────────────────────────────────── */
.topstack{position:sticky;top:0;z-index:40}
.forsale{background:var(--ink-deep);color:var(--cream)}
.forsale-in{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.45rem 1.25rem;font-size:var(--s-1)}
.forsale p{margin:0}
.forsale a{color:var(--marigold);font-weight:600}
@media (max-width:700px){.forsale-detail{display:none}}

.site-head{background:var(--cream);border-bottom:3px solid var(--ink)}
.head-in{display:flex;align-items:center;gap:1.5rem;padding:.7rem 1.25rem}
.mark{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);font-family:var(--face-paint);font-size:var(--s1);letter-spacing:.01em}
.nav{display:flex;gap:1.25rem;margin-left:auto}
.nav a{text-decoration:none;font-weight:600;font-size:var(--s-1)}
.nav a:hover{text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:2px;text-decoration-color:var(--salsa)}
.head-cta{display:flex;align-items:center;gap:1rem}
.tel{font-weight:800;text-decoration:none;font-variant-numeric:tabular-nums}
.tel:hover{text-decoration:underline}

.btn{display:inline-block;padding:.6rem 1.15rem;border-radius:10px;text-decoration:none;font-weight:800;border:3px solid var(--ink)}
.btn-solid{background:var(--ink);color:var(--cream)}
.btn-solid:hover{background:var(--tomatillo);border-color:var(--tomatillo)}
.btn-marigold{background:var(--marigold);color:var(--ink);border-color:var(--line)}
.btn-marigold:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--line)}
.btn-lg{padding:.85rem 1.5rem;font-size:var(--s1)}

.menu-btn{display:none;background:none;border:3px solid var(--ink);border-radius:8px;padding:.45rem .5rem;cursor:pointer}
.menu-btn span{display:block;width:20px;height:3px;background:var(--ink);margin:3px 0;border-radius:2px}

@media (max-width:860px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:3px solid var(--ink);flex-direction:column;gap:0;padding:.5rem 0}
  .nav.open{display:flex}
  .nav a{padding:.8rem 1.5rem;font-size:var(--s0)}
  .menu-btn{display:block}
  .btn-solid{display:none}
  .head-in{gap:.9rem}
}
@media (max-width:480px){.tel{font-size:var(--s-1)}}

/* ── hero: the painted board ───────────────────────── */
.hero{padding:2.5rem 0 calc(var(--gap-tight)/2)}
.board{
  background:var(--ink);
  color:var(--cream);
  border-radius:18px;
  border:4px solid var(--line);
  box-shadow:inset 0 0 0 6px var(--ink), inset 0 0 0 9px var(--marigold);
  padding:clamp(1.5rem,4vw,3.25rem);
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:2.5rem;
  align-items:center;
}
.hero-kick{margin:0 0 .75rem;font-size:var(--s-1);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--marigold)}
h1{
  font-family:var(--face-paint);
  font-weight:400;
  font-size:clamp(2.5rem,6vw,4rem);
  line-height:.95;
  margin:0 0 1.1rem;
  color:var(--marigold);
  text-shadow:3px 3px 0 var(--line);
}
.h1-sub{display:block;font-size:.42em;color:var(--cream);letter-spacing:.14em;text-transform:uppercase;text-shadow:2px 2px 0 var(--line);margin-top:.35em}
.lede{font-size:var(--s1);max-width:34em;margin:0 0 1.5rem}
.hero-act{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin:0 0 1.25rem}
.hero-call{color:var(--cream);font-weight:600}
.board-fine{margin:0;font-size:var(--s-1);color:var(--marigold);font-weight:600;letter-spacing:.02em}
.board-art{text-align:center}
.board-art svg{width:min(100%,330px)}
.board-art-cap{font-size:var(--s-1);margin:.75rem auto 0;max-width:26em;font-style:italic}
@media (max-width:860px){
  .board{grid-template-columns:1fr;gap:1.5rem}
  .board-art svg{width:min(70%,260px)}
}

/* ── sections: half a base beat each side, section-to-section = base ── */
.sec{padding:calc(var(--gap-base)/2) 0}
.sec-ink{background:var(--ink);color:var(--cream)}
.sec-tint{background:var(--tint)}
/* tight: the menu IS the hero — the board hands straight into the price list */
#menu{padding-top:calc(var(--gap-tight)/2)}
/* grand pause #1: cream silence before the full-bleed ink band of the
   empty-pot post — the pause and the width change fire together */
#menu{padding-bottom:calc(var(--gap-grand) - var(--gap-base)/2)}
/* grand pause #2: a cream strip between the tint band and the vengan ask */
#visita{margin-top:calc(var(--gap-grand) - var(--gap-base))}
@media (max-width:760px){
  :root{--gap-base:3rem;--gap-grand:6rem}
}

.paint{
  font-family:var(--face-paint);
  font-weight:400;
  font-size:clamp(1.9rem,4vw,var(--s4));
  line-height:1.05;
  margin:0 0 1rem;
  position:relative;
  display:inline-block;
}
.paint::after{
  content:"";display:block;height:.28em;margin-top:.18em;
  background:var(--marigold);
  border-radius:999px 6px 999px 6px;
  transform:skewX(-8deg);
  width:70%;
}
.paint-cream{color:var(--cream)}
.paint-cream::after{background:var(--marigold)}

/* ── menu ──────────────────────────────────────────── */
.menu-head{max-width:44em;margin-bottom:2.25rem}
.menu-note{font-size:var(--s1);margin:0}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 3rem}
@media (max-width:800px){.menu-grid{grid-template-columns:1fr}}
.mcat h3{
  font-family:var(--face-paint);font-weight:400;font-size:var(--s2);
  margin:0 0 .9rem;border-bottom:3px solid var(--ink);padding-bottom:.4rem
}
.mcat-en{display:block;font-family:var(--face-body);font-size:var(--s-1);font-weight:400;font-style:italic;margin-top:.3rem;letter-spacing:0}
.mcat ul{list-style:none;margin:0;padding:0}
.mcat li{display:flex;align-items:baseline;gap:.6rem;padding:.32rem 0}
.mi{flex-shrink:1}
.mi em{font-style:italic;font-size:var(--s-1);color:var(--tomatillo)}
.dots{flex:1;border-bottom:2px dotted rgba(32,66,26,.45);min-width:1.5rem;transform:translateY(-.25em)}
.mp{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.menu-fine{margin:1.75rem 0 0;font-size:var(--s1);font-weight:600}
.menu-fine a{color:var(--salsa)}

/* ── se acabó: the post ────────────────────────────── */
.seacabo-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center}
@media (max-width:860px){.seacabo-grid{grid-template-columns:1fr;gap:2rem}}
.post-card{
  background:var(--cream);color:var(--ink);
  border:4px solid var(--line);border-radius:14px;
  box-shadow:8px 8px 0 rgba(23,47,18,.55);
  transform:rotate(-1.2deg);
  overflow:hidden;
  max-width:430px;
}
.post-head{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-bottom:3px solid var(--line)}
.post-user{margin:0;font-weight:800;font-size:var(--s-1)}
.post-time{font-weight:400;color:var(--tomatillo)}
.post-img{margin:0;background:var(--tint);padding:1.25rem 1rem .5rem}
.post-cap{margin:0;padding:.9rem 1rem 1.1rem;font-size:var(--s0)}
.seacabo-copy .paint{margin-bottom:1.25rem}
.menudo-list{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.9rem}
.menudo-list li{padding-left:1.1rem;border-left:4px solid var(--marigold)}
.mp-inline{font-weight:800;white-space:nowrap}
.seacabo-fine{font-size:var(--s0);font-style:italic;margin:1.25rem 0 0}

/* ── birria ────────────────────────────────────────── */
.birria-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
@media (max-width:860px){.birria-grid{grid-template-columns:1fr;gap:2rem}}
.birria-copy p{max-width:38em}
.birria-flag{font-weight:800;color:var(--salsa);font-size:var(--s1)}
.art-cap{font-size:var(--s-1);font-style:italic;text-align:center;margin-top:.75rem}

/* ── casa ──────────────────────────────────────────── */
/* editorial gutters are an instrument: the family story sits in a narrower column */
.casa-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:3rem;align-items:center;max-width:920px}
.casa-art{margin:0;text-align:center}
.casa-art svg{width:min(100%,250px)}
@media (max-width:860px){.casa-grid{grid-template-columns:1fr;gap:1.5rem}.casa-art svg{width:min(50%,190px)}}
.casa-copy p{max-width:42em}

/* ── visita ────────────────────────────────────────── */
.visita-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:start}
@media (max-width:860px){.visita-grid{grid-template-columns:1fr;gap:2.5rem}}
.visita-lede{font-size:var(--s1);max-width:32em}
.bigtel{margin:1.5rem 0 .75rem}
.bigtel a{
  font-family:var(--face-paint);font-size:clamp(1.9rem,4vw,var(--s4));
  color:var(--marigold);text-decoration:none;font-variant-numeric:tabular-nums
}
.bigtel a:hover{text-decoration:underline;text-underline-offset:.2em}
.addr{font-style:normal;font-size:var(--s1);font-weight:600}
.visita-fine{font-size:var(--s0);max-width:34em}
.hours-h{font-family:var(--face-paint);font-weight:400;font-size:var(--s2);margin:0 0 1rem;color:var(--marigold)}
.hours{margin:0}
.hours div{display:flex;justify-content:space-between;gap:1.5rem;padding:.55rem 0;border-bottom:2px dotted rgba(250,243,227,.35)}
.hours dt{font-weight:800}
.hours dd{margin:0;text-align:right}
.hours-note{font-size:var(--s-1);margin-top:1.25rem}

/* ── footer ────────────────────────────────────────── */
.site-foot{background:var(--ink-deep);color:var(--cream);padding:3rem 0 1.5rem}
.foot-in{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:2.5rem}
@media (max-width:800px){.foot-in{grid-template-columns:1fr}}
.mark-foot{font-size:var(--s1);margin:0 0 .5rem;color:var(--cream)}
.foot-brand p{margin:.25rem 0;max-width:32em}
.foot-h{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:var(--s-1);color:var(--marigold);margin:0 0 .5rem}
.foot-col p{margin:.3rem 0}
.foot-col a{color:var(--cream)}
.foot-fine{margin-top:2.5rem;font-size:var(--s-1);opacity:.85}
.foot-fine p{border-top:2px dotted rgba(250,243,227,.35);padding-top:1rem;margin:0}

/* ── motion, guarded ───────────────────────────────── */
[data-rise]{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
[data-rise].on{opacity:1;transform:none}
.no-js [data-rise],
html.no-observer [data-rise]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-rise]{opacity:1;transform:none;transition:none}
}
@keyframes steam-up{
  0%{transform:translateY(0);opacity:.85}
  100%{transform:translateY(-8px);opacity:0}
}
.steam{animation:steam-up 2.6s ease-in-out infinite}
.steam-2{animation-delay:.9s}
.steam-3{animation-delay:1.7s}
@keyframes flicker{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.05) translateY(-1px)}
}
.flame{transform-origin:120px 70px;animation:flicker 2.2s ease-in-out infinite}
.mk-flame{transform-origin:17px 11px;animation:flicker 2.2s ease-in-out infinite}


/* -------------------------------------------------------------------
   PHOTOGRAPHY - the identity is carried by five archival frames.
   Composition rules held here: background is a brand colour OR a
   photograph, never a gradient; noise over every dark photograph;
   vignette pulls to the centre; scattered assets keep a margin of
   safety around every copy block and never cross into one; larger
   elements sit lower, smaller ones ride on top.
   ------------------------------------------------------------------- */

/* one grain surface, reused - noise raises apparent contrast on a
   photograph, which is why it is here and not for decoration */
/* The grain is composited INTO each scrim rather than layered over the
   section: an overlay div on top of a photograph veils the copy sitting
   above it in Chromium, and this grain exists to protect contrast, not
   to spend it. */
.hero-grain,.photo-grain{display:none}          /* stronger on the inverted sections */

/* -- hero: the photograph carries it -------------------- */
.hero{position:relative;overflow:hidden;background:var(--comal)}
.hero-photo{position:absolute;inset:0;z-index:0;filter:brightness(1.28) contrast(.98) saturate(1.02)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 33%;display:block}
.hero-vig{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='150' height='150' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E"),
    radial-gradient(115% 100% at 50% 50%, rgba(11,12,14,.12) 0%, rgba(11,12,14,.40) 52%, rgba(11,12,14,.86) 100%),
    linear-gradient(180deg, rgba(11,12,14,.34) 0%, rgba(11,12,14,0) 26%, rgba(11,12,14,0) 70%, rgba(11,12,14,.42) 100%);
  background-blend-mode:overlay,normal;
}
.hero .wrap{position:relative;z-index:2}
/* margin of safety: the photograph is only ever visible OUTSIDE the panel */
.board{
  background:var(--ink);
  box-shadow:inset 0 0 0 6px var(--ink), inset 0 0 0 9px var(--marigold),
             0 22px 60px rgba(5,6,9,.6);
}
.hero{padding:clamp(3rem,7vw,6.5rem) 0 clamp(3rem,7vw,6.5rem);min-height:min(88vh,800px);display:flex;align-items:center}
.hero>.wrap{width:100%}
.hero .board{max-width:940px;margin:0 auto}

/* -- menu: cream, graph paper, no noise - framed by two photographs -- */
.sec-paper{
  position:relative;overflow:hidden;
  background-color:var(--cream);
  background-image:
    linear-gradient(rgba(32,66,26,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,66,26,.055) 1px, transparent 1px);
  background-size:26px 26px;
}
.sec-paper .wrap{position:relative;z-index:2}
/* scattered assets: they live in the outer margins, never over the list.
   chip-b is the larger of the two and sits lower; chip-a is small, higher. */
.frame-chip{
  position:absolute;margin:0;z-index:1;
  border:5px solid var(--cream);
  box-shadow:0 10px 30px rgba(11,12,14,.30);
  overflow:hidden;border-radius:3px;
}
.frame-chip img{display:block;width:100%;height:100%;object-fit:cover}
.chip-a{width:170px;height:128px;top:2.75rem;left:calc(50% - 744px);transform:rotate(-3.5deg)}
.chip-b{width:196px;height:147px;bottom:4.5rem;right:calc(50% - 770px);transform:rotate(2.5deg)}
@media (max-width:1380px){.frame-chip{display:none}}

/* -- la casa: the inverted section - photograph as the ground -- */
.sec-photo{
  position:relative;overflow:hidden;
  color:var(--cream);
  background:var(--comal-2);
  padding-top:calc(var(--gap-base)*.9);padding-bottom:calc(var(--gap-base)*.9);
}
.photo-bed{position:absolute;inset:0;z-index:0}
.photo-bed img{width:100%;height:100%;object-fit:cover;object-position:34% 46%;display:block}
.photo-bed::after{
  content:"";position:absolute;inset:0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='150' height='150' filter='url(%23n)' opacity='.46'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(9,13,10,.56) 0%, rgba(9,13,10,.78) 22%, rgba(9,13,10,.93) 36%, rgba(9,13,10,.955) 100%),
    radial-gradient(125% 110% at 26% 50%, rgba(9,13,10,0) 0%, rgba(9,13,10,.55) 72%, rgba(9,13,10,.80) 100%);
  background-blend-mode:overlay,normal;
}
.sec-photo .wrap{position:relative;z-index:2}
/* mid-size text on the inverted section, per the composition rules */
.sec-photo .casa-copy p{font-size:var(--s1);max-width:36em}
.sec-photo .paint{color:var(--masa)}
.sec-photo .casa-art svg{filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}

/* -- vengan: the ink band gets a night photograph under it -- */
.sec-night{position:relative;overflow:hidden}
.night-bed{position:absolute;inset:0;z-index:0;filter:brightness(1.7) saturate(1.1)}
.night-bed img{width:100%;height:100%;object-fit:cover;object-position:50% 44%;display:block;opacity:.62}
.night-bed::after{
  content:"";position:absolute;inset:0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='150' height='150' filter='url(%23n)' opacity='.46'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(23,47,18,.90) 0%, rgba(23,47,18,.87) 60%, rgba(23,47,18,.84) 100%),
    radial-gradient(125% 115% at 50% 46%, rgba(11,12,14,0) 0%, rgba(11,12,14,.34) 60%, rgba(11,12,14,.74) 100%);
  background-blend-mode:overlay,normal;
}
.sec-night .wrap{position:relative;z-index:2}

/* -- credits ------------------------------------------- */
.foot-credits{margin:.85rem 0 0;line-height:1.55}
.foot-credits-h{color:var(--marigold);font-weight:800}

/* -------------------------------------------------------------------
   MOTION - exactly two themes, repeated the whole way down.
   Eight different reveals read as a library; two read as a hand.

   THEME 1 - "EL HUMO", the rise.
     Everything that arrives, arrives the way steam comes off the comal:
     up 14px and in. One curve, one distance, every block, every section.
     The steam on the empty pot and the wisps on the consome are the same
     move drawn instead of animated, so the page has one vertical logic.

   THEME 2 - "LA LUMBRE", the ember warming.
     Every photographic surface comes up from cold and dark to full heat:
     brightness .55 -> 1, saturation .62 -> 1, a 1.05 scale settling to 1,
     slower than the rise so the picture is still warming when the words
     have already landed. The candle flame and the trompo's marigold ribs
     are the same warming, held on a loop instead of played once.

   Both themes are inert under prefers-reduced-motion (see the guard at
   the top of this file and the explicit block below).
   ------------------------------------------------------------------- */

/* THEME 2 applied: hero photograph, the two menu chips, both inverted beds */
@keyframes lumbre{
  from{filter:brightness(.55) saturate(.62);transform:scale(1.05)}
  to  {filter:brightness(1) saturate(1);transform:scale(1)}
}
.js-motion .hero-photo img{animation:lumbre 1.5s cubic-bezier(.22,.61,.36,1) both}
.js-motion .photo-bed img,.js-motion .night-bed img,.js-motion .frame-chip img{
  filter:brightness(.55) saturate(.62);transform:scale(1.05);
  transition:filter 1.4s cubic-bezier(.22,.61,.36,1),transform 1.4s cubic-bezier(.22,.61,.36,1);
}
.sec-photo.lit .photo-bed img,.sec-night.lit .night-bed img,
.frame-chip.on img{filter:none;transform:none}
.frame-chip:hover img{filter:brightness(1.06) saturate(1.05);transform:scale(1.03)}

/* JS dead: .js-motion is never added, so every photograph renders at full
   heat and the page is complete without a line of script running. */

@media (prefers-reduced-motion:reduce){
  .hero-photo img,.photo-bed img,.night-bed img,.frame-chip img,
  .frame-chip:hover img{
    animation:none !important;filter:none !important;transform:none !important;transition:none !important
  }
}
