/* ==========================================================================
   SELF-HOSTED FONTS — no external requests, no third-party dependency.

   Downloaded from Google Fonts and served from assets/fonts/. All families
   here are SIL Open Font License, which permits self-hosting.

   Where Google serves a VARIABLE font, one file covers every weight and the
   rule below carries a weight RANGE instead of a single value.

   The latin-ext faces are effectively free: unicode-range means a browser
   only fetches that file if a character in the range actually appears, so
   they exist purely so an accented name renders correctly rather than
   falling back to a system font mid-word.

   Regenerate with scratchpad/selfhost_fonts.py if the design changes.
   ========================================================================== */
@font-face{
  font-family:'Archivo';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Archivo';font-style:normal;font-weight:400 600;font-display:swap;
  src:url(fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Archivo Narrow';font-style:normal;font-weight:600 700;font-display:swap;
  src:url(fonts/archivo-narrow-normal-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Archivo Narrow';font-style:normal;font-weight:600 700;font-display:swap;
  src:url(fonts/archivo-narrow-normal-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/ibm-plex-mono-normal-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(fonts/ibm-plex-mono-normal-latin-2.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/ibm-plex-mono-normal-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(fonts/ibm-plex-mono-normal-latin-ext-2.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* Kesten & Roe, CPAs — a DEMONSTRATION site.
 *
 * Second pass, 2026-09-25, to the user's brief: dark brown and yellow, a
 * silhouette behind everything, each section in its own floating box offset
 * alternately to one side, and more life in it.
 *
 * ⚠ The folio numbers 01-07 are GONE. They numbered nothing — there is no
 * sequence in a services list — so they were decoration wearing the costume of
 * structure. The one place a number now appears is the one place it means
 * something: the days until the next filing deadline.
 *
 * The silhouette is a fixed layer. The boxes float over it and step left and
 * right down the page, so the skyline shows through the gaps rather than being
 * a texture nobody sees.
 */

:root{
  --ground:#1C150F;        /* espresso, behind everything */
  --ground-2:#2A1F16;
  --box:#2B2017;           /* the floating panels */
  --box-hi:#352818;
  --cream:#F3E8D4;
  --muted:#BDA98B;
  --muted-2:#8E7B60;
  --yellow:#E7B23C;
  --yellow-hi:#F7D179;
  --yellow-dim:rgba(231,178,60,.22);
  --shadow:0 18px 44px -18px rgba(0,0,0,.85), 0 2px 0 rgba(231,178,60,.10);
  --ff-head:"Archivo Narrow",'Arial Narrow',Arial,sans-serif;
  --ff-body:Archivo,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ff-num:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ground);color:var(--cream);
  font-family:var(--ff-body);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ------------------------------------------------------------ silhouette
   Fixed, so the town sits still while the boxes travel over it. The wash on
   top of it is what keeps cream text legible wherever a box does not cover. */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none}
.sky img{
  position:absolute;left:0;right:0;bottom:0;width:100%;
  height:min(62vh,620px);object-fit:cover;object-position:50% 100%;
  opacity:.82;
}
.sky::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 70% at 50% 100%, rgba(231,178,60,.16), transparent 62%),
    linear-gradient(180deg, var(--ground) 0%, rgba(28,21,15,.72) 38%, rgba(28,21,15,.88) 100%);
}
.page{position:relative;z-index:1}

/* --------------------------------------------------------- the demo notice
   Non-negotiable and it stays at the top. */
.demobar{
  position:sticky;top:0;z-index:60;
  background:var(--yellow);color:#241A0E;
  font-family:var(--ff-num);font-size:12px;letter-spacing:.04em;
  padding:9px 20px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;
  border-bottom:1px solid #8F6A18;
}
.demobar b{font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.demobar span{color:#4A3612}

/* ------------------------------------------------------------- the top bar
   What used to be a left rail. The boxes need the whole width to step side to
   side, so the wordmark, the sections and the live deadline moved up here. */
.top{
  position:sticky;top:34px;z-index:55;
  background:rgba(28,21,15,.93);backdrop-filter:blur(7px);
  border-bottom:1px solid var(--yellow-dim);
}
.top-in{
  max-width:1220px;margin:0 auto;padding:13px clamp(16px,3vw,32px);
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
}
.mark{display:flex;align-items:baseline;gap:8px;margin-right:auto}
.mark-k{font-family:var(--ff-head);font-weight:700;font-size:25px;line-height:1;
  letter-spacing:-.01em;color:var(--cream)}
.mark-amp{color:var(--yellow);font-family:var(--ff-head);font-size:19px}
.mark-sub{font-family:var(--ff-num);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted-2);margin:5px 0 0;width:100%}

.nav{display:flex;gap:4px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav a{
  display:block;padding:6px 11px;text-decoration:none;color:var(--muted);
  font-size:14px;border:1px solid transparent;border-radius:2px;
  transition:color .16s ease,border-color .16s ease,background .16s ease;
}
.nav a:hover{color:var(--cream);background:rgba(231,178,60,.08)}
.nav a[aria-current="true"]{color:var(--yellow);border-color:var(--yellow-dim)}
.nav a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.nav a{transition:none}}

/* the one number on the page that means something */
.due{
  display:flex;align-items:baseline;gap:9px;white-space:nowrap;
  border:1px solid var(--yellow-dim);background:rgba(231,178,60,.07);
  padding:7px 13px;
}
.due-k{font-family:var(--ff-num);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2)}
.due-w{font-family:var(--ff-head);font-weight:600;font-size:15px;color:var(--cream)}
.due-n{font-family:var(--ff-num);font-size:13px;color:var(--yellow);font-weight:600}

/* ------------------------------------------------- the floating boxes
   A twelve-column field. Odd boxes take the left nine, even boxes the right
   nine, so the page steps down the screen and the skyline shows in the notch
   each one leaves behind. */
.book{max-width:1220px;margin:0 auto;padding:0 clamp(16px,3vw,32px) 90px;
  display:grid;grid-template-columns:repeat(12,1fr);gap:0}
.box{
  grid-column:1 / span 9;
  margin-top:clamp(30px,5vw,58px);
  background:var(--box);border:1px solid var(--yellow-dim);
  box-shadow:var(--shadow);
  padding:clamp(26px,3.4vw,46px);
  scroll-margin-top:110px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.box:nth-of-type(even){grid-column:4 / span 9}
.box:hover{
  transform:translateY(-4px);
  border-color:rgba(231,178,60,.42);
  box-shadow:0 26px 56px -18px rgba(0,0,0,.9), 0 2px 0 rgba(231,178,60,.18);
}
@media (prefers-reduced-motion:reduce){.box{transition:none}.box:hover{transform:none}}
.box:first-of-type{margin-top:clamp(26px,4vw,44px)}

.box h2{
  font-family:var(--ff-head);font-weight:700;
  font-size:clamp(30px,4.6vw,50px);line-height:1.03;letter-spacing:-.018em;
  margin:0;color:var(--cream);text-wrap:balance;
}
.box h2 em{font-style:normal;color:var(--yellow)}
.eyebrow{
  font-family:var(--ff-num);font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--yellow);margin:0 0 12px;
}
.lede{color:var(--muted);font-size:19px;margin:15px 0 0;max-width:58ch}

.statement{
  font-family:var(--ff-head);font-weight:600;
  font-size:clamp(23px,3.1vw,33px);line-height:1.2;letter-spacing:-.01em;
  margin:32px 0 0;max-width:26ch;color:var(--cream);
}
.statement em{font-style:normal;color:var(--yellow)}

/* ------------------------------------------------------------ ledger rows */
.ledger{width:100%;border-collapse:collapse;margin-top:26px;
  font-variant-numeric:tabular-nums}
.ledger caption{
  text-align:left;font-family:var(--ff-num);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted-2);padding-bottom:9px;
}
.ledger th{
  text-align:left;font-family:var(--ff-num);font-weight:400;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);
  padding:0 12px 8px 0;border-bottom:1px solid var(--yellow-dim);white-space:nowrap;
}
.ledger td{padding:14px 12px 14px 0;border-bottom:1px solid rgba(231,178,60,.12);
  vertical-align:top;position:relative}
.ledger tbody tr{transition:background .16s ease}
.ledger tbody tr:hover{background:rgba(231,178,60,.07)}
.ledger tbody tr:hover .what{color:var(--yellow-hi)}
@media (prefers-reduced-motion:reduce){.ledger tbody tr{transition:none}}
.ledger .what{font-weight:600;width:30%;color:var(--cream);transition:color .16s ease}
.ledger .who{color:var(--muted);font-size:15.5px}
.ledger .when{font-family:var(--ff-num);font-size:13px;color:var(--muted-2);
  white-space:nowrap;text-align:right}
.ledger tr.is-next{background:rgba(231,178,60,.13)}
.ledger tr.is-next .when{color:var(--yellow);font-weight:600}
.ledger tr.is-next .what{color:var(--yellow-hi)}
.ledger tr.is-next .what::after{
  content:"NEXT";margin-left:9px;font-family:var(--ff-num);font-size:9.5px;
  letter-spacing:.14em;color:#241A0E;background:var(--yellow);padding:2px 6px;
  vertical-align:2px;font-weight:600;
}

/* ------------------------------------------------------------------ plates */
.plate{margin-top:30px;border:1px solid var(--yellow-dim);background:var(--ground-2)}
.plate img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.plate figcaption{
  font-family:var(--ff-num);font-size:10.5px;letter-spacing:.07em;color:var(--muted-2);
  padding:9px 12px;border-top:1px solid var(--yellow-dim);
}
.plates{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;
  margin-top:30px}
.plates .plate{margin-top:0}

/* ---------------------------------------------------------- testimonials */
.says{display:grid;gap:0;margin-top:26px}
.say{display:grid;grid-template-columns:52px 1fr;gap:16px;
  padding:22px 0;border-bottom:1px solid rgba(231,178,60,.12);align-items:start}
.say:first-child{border-top:1px solid var(--yellow-dim)}
.mono{
  width:44px;height:44px;border:1px solid var(--yellow-dim);
  background:rgba(231,178,60,.09);
  display:grid;place-items:center;font-family:var(--ff-num);font-size:14px;
  color:var(--yellow);letter-spacing:.04em;
}
.say blockquote{margin:0;font-size:17.5px;line-height:1.55;color:var(--cream)}
.say .by{margin:9px 0 0;font-family:var(--ff-num);font-size:11.5px;
  letter-spacing:.05em;color:var(--muted-2)}

/* ------------------------------------------------------------------ hours */
.hours{width:100%;border-collapse:collapse;margin-top:22px;max-width:460px;
  font-variant-numeric:tabular-nums}
.hours td{padding:9px 0;border-bottom:1px solid rgba(231,178,60,.12);font-size:15.5px}
.hours td:last-child{text-align:right;font-family:var(--ff-num);font-size:13.5px;
  color:var(--muted)}
.hours tr.today td{color:var(--yellow);font-weight:600}
.hours tr.today td:last-child{color:var(--yellow)}
.open-pill{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  border:1px solid var(--yellow-dim);padding:7px 13px;background:rgba(231,178,60,.07);
  font-family:var(--ff-num);font-size:12px;letter-spacing:.05em;color:var(--muted);
}
.open-pill i{width:7px;height:7px;border-radius:50%;background:var(--muted-2);font-style:normal}
.open-pill.is-open i{background:#7BC47F}
.open-pill.is-open{color:var(--cream)}

/* --------------------------------------------- the ask, inverted for punch */
.box.invert{background:var(--yellow);border-color:#8F6A18;color:#241A0E}
.box.invert h2,.box.invert .statement{color:#241A0E}
.box.invert h2 em{color:#6B4A0B}
.box.invert .eyebrow{color:#6B4A0B}
.box.invert .lede{color:#4A3612}
.box.invert:hover{border-color:#6B4A0B}
.btn{
  display:inline-block;font-family:var(--ff-num);font-size:13px;letter-spacing:.09em;
  text-transform:uppercase;text-decoration:none;margin-top:8px;
  padding:13px 22px;border:1px solid #241A0E;background:#241A0E;color:var(--yellow);
  transition:background .16s ease,color .16s ease;
}
.btn:hover{background:transparent;color:#241A0E}
.btn.ghost{background:transparent;color:#241A0E;margin-left:10px}
.btn.ghost:hover{background:#241A0E;color:var(--yellow)}
.btn:focus-visible{outline:2px solid #241A0E;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
.inert{margin:20px 0 0;font-family:var(--ff-num);font-size:11.5px;color:#6B4A0B}

/* ------------------------------------------------------------------ footer */
.foot{grid-column:1 / -1;margin-top:clamp(34px,5vw,62px);
  padding:28px 0 0;border-top:1px solid var(--yellow-dim);
  font-size:14.5px;color:var(--muted)}
.foot strong{color:var(--cream)}
.foot .fine{font-size:12.5px;color:var(--muted-2);max-width:74ch;margin:13px 0 0}
.foot .fine strong{color:var(--yellow)}
.foot .studio{margin-top:17px;font-family:var(--ff-num);font-size:11.5px;letter-spacing:.05em}
.foot a{color:var(--yellow)}

/* ------------------------------------------------------------------ phone */
@media (max-width:880px){
  .book{display:block;padding-bottom:70px}
  .box,.box:nth-of-type(even){grid-column:auto;margin-left:0;margin-right:0}
  .top{top:auto;position:static}
  .top-in{gap:14px}
  .mark{margin-right:0}
  .nav{order:3;width:100%}
  .nav a{font-size:13px;padding:5px 9px;border:1px solid var(--yellow-dim)}
  .due{order:2}
  .ledger .who{display:none}
  .ledger .what{width:auto}
  .sky img{height:44vh}
}
@media (max-width:420px){
  body{font-size:16px}
  .due{white-space:normal}
}

/* =====================================================================
   THE INTRO GATE
   K&R draws itself into the middle of the screen, then offers a way in.

   ⚠ It is `hidden` in the markup and only shown by script. If the script
   never runs there is NO gate and the page is simply readable — an overlay
   that covers everything must never be the default state, or one failed
   request leaves the site looking dead.

   ⚠ The demonstration line is repeated ON the gate. It is the first thing a
   visitor sees, and a branded splash with no notice behind it would be the
   one screen where this page implied a real firm.
   ===================================================================== */
.gate{
  position:fixed;inset:0;z-index:100;
  background:var(--ground);
  display:grid;place-items:center;text-align:center;
  padding:28px;
  transition:opacity .55s ease, visibility .55s ease;
}
.gate[hidden]{display:none}
.gate.is-out{opacity:0;visibility:hidden;pointer-events:none}

/* the faint graphic behind it */
.gate-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.gate-bg img{
  position:absolute;left:50%;bottom:-4%;transform:translateX(-50%);
  width:min(1500px,150%);max-width:none;opacity:.14;
  filter:grayscale(.3);
}
.gate-bg::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(64% 52% at 50% 44%, rgba(231,178,60,.13), transparent 70%);
}

.gate-in{position:relative;display:grid;justify-items:center;gap:0}

/* The crest is what zooms; its size comes from the .emblem rule below. */
.gate-mono{
  opacity:0;transform:scale(.52);
  animation:kr-land 2.4s cubic-bezier(.16,.72,.24,1) .25s forwards;
}

/* the rule draws out from the middle once the letters have landed */
.gate-rule{
  width:0;height:2px;margin-top:18px;
  background:linear-gradient(90deg,transparent,var(--yellow),transparent);
  animation:kr-rule .9s ease 2.25s forwards;
}
.gate-sub{
  margin:16px 0 0;font-family:var(--ff-num);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--muted-2);
  opacity:0;animation:kr-fade .8s ease 2.5s forwards;
}
.gate-enter{
  margin-top:34px;
  font-family:var(--ff-num);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  padding:14px 34px;border:1px solid var(--yellow);background:transparent;
  color:var(--yellow);cursor:pointer;
  opacity:0;transform:translateY(8px);
  animation:kr-rise .7s ease 2.75s forwards;
  transition:background .18s ease,color .18s ease;
}
.gate-enter:hover{background:var(--yellow);color:#241A0E}
.gate-enter:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.gate-note{
  position:absolute;left:0;right:0;bottom:26px;margin:0 auto;max-width:56ch;
  font-family:var(--ff-num);font-size:11px;line-height:1.6;color:var(--muted-2);
  opacity:0;animation:kr-fade .8s ease 2.9s forwards;
}
.gate-note b{color:var(--yellow);letter-spacing:.1em;text-transform:uppercase}

@keyframes kr-land{
  0%{opacity:0;transform:scale(.52)}
  60%{opacity:1}
  100%{opacity:1;transform:scale(1)}
}
@keyframes kr-rule{to{width:min(240px,52vw)}}
@keyframes kr-fade{to{opacity:1}}
@keyframes kr-rise{to{opacity:1;transform:translateY(0)}}

/* Reduced motion: no zoom, no stagger — everything is simply there, and the
   way in is available immediately. */
@media (prefers-reduced-motion:reduce){
  .gate,.gate-mono,.gate-rule,.gate-sub,.gate-enter,.gate-note{
    animation:none!important;transition:none!important;
  }
  .gate-mono{opacity:1;transform:none}
  .gate-rule{width:min(240px,52vw)}
  .gate-sub,.gate-enter,.gate-note{opacity:1;transform:none}
}

/* ===================================================================== 
   THE EMBLEM
   A roundel carrying the monogram. One font-size drives the whole thing —
   the ring, the gap and the letters are all em-based off it, so the same
   markup is a 300px crest on the intro and a 42px badge in the header.

   The ampersand is set at .44em and nudged up: at full size it competed with
   the K and the R and the mark read as three letters instead of two initials
   joined. It is a joint, not a third character.
   ===================================================================== */
.emblem{
  --ring:var(--yellow);
  position:relative;display:grid;place-items:center;
  width:1.94em;height:1.94em;border-radius:50%;
  border:.055em solid var(--ring);
  box-shadow:inset 0 0 0 .022em rgba(231,178,60,.42);
  background:radial-gradient(70% 70% at 50% 34%, rgba(231,178,60,.10), transparent 72%);
  flex:0 0 auto;
}
.emblem::after{           /* the inner hairline, set in from the rim */
  content:"";position:absolute;inset:.13em;border-radius:50%;
  border:.018em solid rgba(231,178,60,.30);
}
.emblem-mono{
  font-family:var(--ff-head);font-weight:700;font-size:1em;line-height:1;
  letter-spacing:-.02em;color:var(--cream);
  display:flex;align-items:baseline;
}
.emblem-mono em{
  font-style:normal;color:var(--yellow);
  font-size:.44em;               /* a joint between the initials, not a letter */
  line-height:1;margin:0 .04em;
  transform:translateY(-.22em);  /* lift it off the baseline, into the gap */
  display:inline-block;
}

/* the crest on the intro gate */
.gate .emblem{font-size:clamp(62px,13.5vw,132px)}

/* the badge in the header */
.top .emblem{font-size:21px;margin-right:11px}
@media (max-width:880px){.top .emblem{font-size:19px}}
