@font-face { font-family:"Yrsa"; font-style:normal; font-weight:500;
  font-display:swap; src:url(/assets/sn-display-500.woff2) format("woff2"); }
@font-face { font-family:"Yrsa"; font-style:normal; font-weight:700;
  font-display:swap; src:url(/assets/sn-display-700.woff2) format("woff2"); }
@font-face { font-family:"Anek Latin"; font-style:normal; font-weight:400;
  font-display:swap; src:url(/assets/sn-body-400.woff2) format("woff2"); }
@font-face { font-family:"Anek Latin"; font-style:normal; font-weight:500;
  font-display:swap; src:url(/assets/sn-body-500.woff2) format("woff2"); }
@font-face { font-family:"Anek Latin"; font-style:normal; font-weight:600;
  font-display:swap; src:url(/assets/sn-body-600.woff2) format("woff2"); }
:root {
  --sn-paper:#f7f6ee; --sn-dim:#e9e6d8; --sn-card:#fffefb;
  --sn-ink:#1f2018; --sn-deep:#121310; --sn-muted:#6f7263;
  --sn-olive:#647318; --sn-olive-deep:#45470a;
  --sn-olive-wash:#edf3d9;
  --sn-brick:#704885; --sn-brick-wash:#efe4f3;
  --sn-line:#d4d0b2; --sn-good:#255c39; --sn-bad:#801919;
  --sn-display:"Yrsa",Georgia,"Times New Roman",serif;
  --sn-body:"Anek Latin",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sn-measure:74ch;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body.sn-page {
  margin:0; background:var(--sn-paper); color:var(--sn-ink);
  font-family:var(--sn-body); font-size:1.0625rem; line-height:1.62;
  font-synthesis-weight:none;
}
img { max-width:100%; height:auto; display:block; }
a { color:var(--sn-olive-deep); text-underline-offset:.18em; }
a:hover { color:var(--sn-brick); }
:focus-visible { outline:3px solid var(--sn-brick); outline-offset:2px; }
h1,h2,h3 { font-family:var(--sn-display); font-weight:700; line-height:1.16;
  letter-spacing:-.006em; margin:0 0 .5em; }
h1 { font-size:clamp(1.85rem,1.2rem + 2.3vw,3.1rem); }
h2 { font-size:clamp(1.3rem,1.05rem + .9vw,1.85rem); margin-top:2.1em; }
h3 { font-size:1.15rem; margin-top:1.6em; }
p { margin:0 0 1.05em; max-width:var(--sn-measure); }

.sn-skip { position:absolute; left:-9999px; }
.sn-skip:focus { left:.6rem; top:.6rem; z-index:60; background:var(--sn-card);
  padding:.6rem .9rem; border:2px solid var(--sn-olive-deep); }

/* ---- top bar ---- */
.sn-top { border-bottom:1px solid var(--sn-line); background:var(--sn-card); }
.sn-top-in { max-width:1220px; margin:0 auto; padding:.85rem 1.15rem;
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.sn-mast { font-family:var(--sn-display); font-weight:700; font-size:1.24rem;
  text-decoration:none; color:var(--sn-deep); line-height:1.1; }
.sn-mast-sub { display:block; font-family:var(--sn-body); font-weight:500;
  font-size:.685rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--sn-muted); margin-top:.28rem; }
.sn-burger { margin-left:auto; font:inherit; font-size:.85rem; padding:.45rem .8rem;
  background:var(--sn-olive-wash); color:var(--sn-olive-deep);
  border:1px solid var(--sn-olive); border-radius:2px; cursor:pointer; }
.sn-nav { width:100%; display:none; }
.sn-nav.is-open { display:block; }
.sn-nav ul { list-style:none; margin:.7rem 0 0; padding:0; display:flex; flex-wrap:wrap;
  gap:.15rem 1.1rem; }
.sn-nav a { text-decoration:none; font-size:.9rem; color:var(--sn-ink);
  padding:.3rem 0; display:inline-block; border-bottom:2px solid transparent; }
.sn-nav a:hover, .sn-nav a[aria-current] { border-bottom-color:var(--sn-brick); }
.sn-topline { max-width:1220px; margin:0 auto; padding:0 1.15rem .8rem;
  font-size:.86rem; color:var(--sn-muted); display:flex; gap:.55rem 1.2rem;
  flex-wrap:wrap; align-items:center; }
.sn-topaddr { display:inline-flex; align-items:center; gap:.4rem; }
.sn-topaddr .sn-ico { width:16px; height:16px; color:var(--sn-muted); }
.sn-topline a { font-weight:600; color:var(--sn-olive-deep); }

/* ---- the hero. Tall, with the offer set over the picture: guide section 9 asks for at least
   55vh on a selling page, and the old 26vh strip read as a document rather than a shop window. ---- */
.sn-hero { position:relative; background:var(--sn-deep); isolation:isolate; }
.sn-hero img { width:100%; height:clamp(360px,62vh,660px); object-fit:cover; }
.sn-hero::after { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,18,14,.20) 0%, rgba(15,18,14,.52) 46%,
  rgba(15,18,14,.86) 100%); }
.sn-hero-in { position:absolute; inset:auto 0 0 0; z-index:1; color:#fbfaf2;
  max-width:1220px; margin:0 auto; padding:0 1.15rem 2.1rem; }
.sn-hero-in h1 { color:#fff; max-width:26ch; margin-bottom:.35em;
  text-shadow:0 1px 20px rgba(10,12,9,.45); }
.sn-hero-brow { font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:#e3ddc6; margin:0 0 .7rem; }
.sn-hero-said { font-size:1.08rem; color:#ece8db; max-width:52ch; margin-bottom:1.2rem; }
.sn-hero-do { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1.3rem;
  margin:0; max-width:none; }
.sn-hero-any { display:inline-flex; align-items:center; gap:.45rem; font-size:.9rem;
  color:#e6e1cf; }
.sn-cta { display:inline-block; font-weight:600; text-decoration:none;
  padding:.78rem 1.5rem; border-radius:2px; background:var(--sn-olive); color:#fff;
  border:1px solid var(--sn-olive-deep); }
.sn-cta:hover { background:var(--sn-olive-deep); color:#fff; }
.sn-ico { flex:0 0 auto; }

/* the shallow band stays for pages that sell nothing */
.sn-letterbox { background:var(--sn-dim); }
.sn-letterbox img { width:100%; height:clamp(140px,26vh,290px); object-fit:cover; }

/* ---- destination tiles: the text sits OVER the picture, which is what a catalogue looks like ---- */
.sn-tiles { list-style:none; margin:1.4rem 0 2.4rem; padding:0; display:grid; gap:.9rem; }
.sn-tile a { position:relative; display:block; overflow:hidden; text-decoration:none;
  color:#fff; background:var(--sn-deep); }
.sn-tile img { width:100%; height:clamp(200px,26vh,300px); object-fit:cover;
  transition:transform .5s ease; }
.sn-tile a:hover img { transform:scale(1.035); }
.sn-tile-in { position:absolute; inset:auto 0 0 0; padding:1.6rem 1.1rem 1rem;
  background:linear-gradient(180deg, rgba(15,18,14,0) 0%, rgba(15,18,14,.55) 34%,
  rgba(15,18,14,.93) 100%);
  text-shadow:0 1px 10px rgba(10,12,9,.6); }
.sn-tile-band { display:block; font-size:.7rem; letter-spacing:.13em;
  text-transform:uppercase; color:#ded8c0; }
.sn-tile-h { display:block; font-family:var(--sn-display); font-weight:700;
  font-size:1.2rem; margin-top:.15rem; }
.sn-tile-m { display:block; font-size:.87rem; color:#e8e3d2; margin-top:.2rem; }

/* ---- full width band: a section background change and an image point at once ---- */
.sn-strip { position:relative; margin:2.6rem 0; background:var(--sn-deep); }
.sn-strip img { width:100%; height:clamp(180px,30vh,340px); object-fit:cover;
  opacity:.55; }
.sn-strip::after { content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(15,18,14,.72) 0%, rgba(15,18,14,.22) 62%); }
.sn-strip-said { position:absolute; inset:0; z-index:1; display:flex; align-items:center;
  margin:0; padding:1.4rem 1.6rem; color:#fbfaf2; font-family:var(--sn-display);
  font-size:clamp(1.15rem,.9rem + 1vw,1.75rem); line-height:1.25; max-width:34ch; }

/* ---- pictogram rows ---- */
.sn-marks { list-style:none; margin:1.2rem 0 2rem; padding:0; display:grid; gap:.8rem; }
.sn-marks li { display:flex; align-items:flex-start; gap:.7rem;
  color:var(--sn-ink); }
.sn-marks .sn-ico { color:var(--sn-olive); margin-top:.15rem; }

/* ---- paired intake: statement on the left, the form or the telephone on the right ---- */
.sn-main { max-width:1220px; margin:0 auto; padding:2.1rem 1.15rem 3.4rem; }
.sn-paired { display:grid; gap:1.9rem; align-items:start; }
.sn-brow { font-size:.74rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--sn-brick); margin:0 0 .75rem; }
.sn-stand { font-size:1.12rem; color:var(--sn-muted); max-width:56ch; }
.sn-body { margin-top:2.4rem; }

.sn-reach { background:var(--sn-card); border:1px solid var(--sn-line);
  padding:1.25rem 1.35rem; }
.sn-reach h2 { margin-top:0; font-size:1.02rem; }
.sn-reach-tel a { font-family:var(--sn-display); font-size:1.35rem; font-weight:700;
  text-decoration:none; }
.sn-reach-hours { font-size:.87rem; color:var(--sn-muted); }
.sn-reach-said { font-size:.92rem; }
.sn-reach-addr { font-size:.87rem; color:var(--sn-muted); margin:0;
  padding-top:.8rem; border-top:1px solid var(--sn-line); }

/* ---- the ladder. HEIGHT is the encoding; nothing else changes between bands ---- */
.sn-bands { list-style:none; margin:1.4rem 0 2rem; padding:0; }
.sn-band { display:grid; grid-template-columns:auto 8.5rem 1fr auto; gap:.9rem;
  align-items:end; padding:.95rem 0; border-top:1px solid var(--sn-line); }
.sn-band:last-child { border-bottom:1px solid var(--sn-line); }
.sn-step { display:block; width:13px; background:var(--sn-olive); border-radius:1px; }
.sn-band-name { font-family:var(--sn-display); font-weight:700; font-size:1.1rem; }
.sn-band-said { font-size:.93rem; color:var(--sn-muted); }
.sn-band-count { font-size:.8rem; color:var(--sn-brick); white-space:nowrap; }
.sn-band[data-sn-here] { background:var(--sn-olive-wash); }

/* ---- catalog ---- */
.sn-cards { list-style:none; margin:1.3rem 0 2.2rem; padding:0; display:grid; gap:1.15rem; }
.sn-card-link { display:block; text-decoration:none; color:inherit;
  background:var(--sn-card); border:1px solid var(--sn-line); height:100%; }
.sn-card-link:hover { border-color:var(--sn-olive); }
.sn-card-img { aspect-ratio:3/2; object-fit:cover; width:100%; }
.sn-card-band { display:flex; align-items:flex-end; gap:.45rem; padding:.85rem 1rem 0;
  font-size:.74rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--sn-muted); }
.sn-card-band .sn-step { width:9px; }
.sn-card-h { display:block; font-family:var(--sn-display); font-weight:500;
  font-size:1.17rem; padding:.35rem 1rem 0; }
.sn-card-meta { display:block; font-size:.9rem; color:var(--sn-muted);
  padding:.3rem 1rem 0; }
.sn-card-from { display:block; font-weight:600; padding:.6rem 1rem 1.1rem;
  color:var(--sn-olive-deep); }

/* ---- the eight measurements ---- */
.sn-ask { background:var(--sn-card); border:1px solid var(--sn-line);
  padding:1.2rem 1.35rem; margin:1.2rem 0 2rem; }
.sn-ask-head { display:flex; align-items:flex-end; gap:.55rem; margin-bottom:1rem; }
.sn-ask-list { margin:0; }
.sn-ask-row { display:grid; gap:.15rem .9rem; padding:.62rem 0;
  border-top:1px solid var(--sn-line); }
.sn-ask-row dt { font-weight:600; font-size:.87rem; color:var(--sn-muted); }
.sn-ask-row dd { margin:0; }

/* ---- generic rows ---- */
.sn-pairs { margin:1.1rem 0 1.9rem; }
.sn-pair { display:grid; gap:.15rem .9rem; padding:.68rem 0;
  border-top:1px solid var(--sn-line); }
.sn-pair:last-child { border-bottom:1px solid var(--sn-line); }
.sn-pair dt { font-weight:600; }
.sn-pair dd { margin:0; color:var(--sn-muted); }
.sn-list { margin:0 0 1.4rem; padding-left:1.15rem; max-width:var(--sn-measure); }
.sn-list li { margin-bottom:.4rem; }
.sn-steps { list-style:none; counter-reset:sn; margin:1.2rem 0 2rem; padding:0; }
.sn-step-row { counter-increment:sn; padding:1rem 0 1rem 3.1rem; position:relative;
  border-top:1px solid var(--sn-line); }
.sn-step-row::before { content:counter(sn); position:absolute; left:0; top:1rem;
  font-family:var(--sn-display); font-size:1.5rem; font-weight:700;
  color:var(--sn-brick); line-height:1; }
.sn-step-row h3 { margin:0 0 .3em; }
.sn-qas { margin:1.2rem 0 2rem; }
.sn-qa { padding:1.1rem 0; border-top:1px solid var(--sn-line); }
.sn-qa h2 { margin:0 0 .45em; font-size:1.07rem; }
.sn-qa p { margin:0; color:var(--sn-muted); }

.sn-price { font-size:1.25rem; }
.sn-price strong { font-family:var(--sn-display); font-size:1.7rem;
  color:var(--sn-olive-deep); }
.sn-price-said { font-size:.94rem; color:var(--sn-muted); }
.sn-none { background:var(--sn-brick-wash); border:1px solid var(--sn-line);
  padding:1.3rem 1.4rem; margin:1.2rem 0 2rem; }
.sn-none-head { font-family:var(--sn-display); font-size:1.2rem; font-weight:700;
  margin-bottom:.55em; }
.sn-slot { border:1px dashed var(--sn-line); background:var(--sn-card);
  padding:1.3rem 1.4rem; margin:2rem 0; }
.sn-slot h2 { margin-top:0; }

/* ---- form ---- */
.sn-form { background:var(--sn-card); border:1px solid var(--sn-line);
  padding:1.3rem 1.4rem; }
.sn-form-head { margin-top:0; font-size:1.14rem; }
.sn-form-said { font-size:.93rem; }
.sn-field { margin-bottom:1rem; }
.sn-field label { display:block; font-weight:600; font-size:.9rem; margin-bottom:.3rem; }
.sn-field input, .sn-field select, .sn-field textarea {
  width:100%; font:inherit; padding:.55rem .65rem; background:var(--sn-paper);
  border:1px solid var(--sn-line); border-radius:2px; color:inherit; }
.sn-hint { display:block; font-size:.83rem; color:var(--sn-muted); margin-top:.3rem; }
.sn-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.sn-send button { font:inherit; font-weight:600; padding:.72rem 1.5rem;
  background:var(--sn-olive); color:#fff; border:1px solid var(--sn-olive-deep);
  border-radius:2px; cursor:pointer; }
.sn-send button:hover { background:var(--sn-olive-deep); }
.sn-form-fine { font-size:.83rem; color:var(--sn-muted); margin:0; }

/* ---- related ---- */
.sn-next { margin:2.6rem 0 0; border-top:1px solid var(--sn-line); padding-top:1.2rem; }
.sn-next ul { list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.sn-next a { text-decoration:none; display:block; padding:.75rem .9rem;
  background:var(--sn-card); border:1px solid var(--sn-line); }
.sn-next-h { display:block; font-weight:600; }
.sn-next-m { display:block; font-size:.86rem; color:var(--sn-muted); }

/* ---- foot ---- */
.sn-foot { background:var(--sn-deep); color:#d8d4c8; margin-top:3rem; }
.sn-foot-in { max-width:1220px; margin:0 auto; padding:2.3rem 1.15rem 2.6rem; }
.sn-foot a { color:#e6e2d6; }
.sn-foot-stands { max-width:68ch; }
.sn-foot-nav ul { list-style:none; margin:1.4rem 0; padding:0; display:flex;
  flex-wrap:wrap; gap:.4rem 1.3rem; font-size:.9rem; }
.sn-foot-line { font-size:.82rem; color:#a7a396; margin:0; max-width:none; }

/* ---- the notice card, bottom right, which no sibling puts there ---- */
.sn-notice { margin:1.6rem 0 0; padding:1.1rem 1.2rem; max-width:62ch;
  background:rgba(255,255,255,.06); border-top:2px solid var(--sn-olive); }
.sn-notice p { font-size:.88rem; margin:0 0 .8rem; color:#e2dfd0; max-width:none; }
.sn-notice button { font:inherit; font-size:.87rem; padding:.45rem .85rem; cursor:pointer;
  border-radius:2px; margin-right:.45rem; }

/* ---- arrival. TRANSFORM ONLY. Opacity is never touched, because a throttled timer in a
   background tab would leave the text permanently invisible. ---- */
.sn-js .sn-rise { transform:translateY(11px); transition:transform .5s ease; }
.sn-js .sn-rise.is-landed { transform:none; }
@media (prefers-reduced-motion:reduce) {
  .sn-js .sn-rise { transform:none; transition:none; }
}

/* ---- three section grounds on one page: paper, a tinted plate, a dark plate ---- */
.sn-body > h2 { scroll-margin-top:1rem; }
.sn-plate { background:var(--sn-olive-wash); margin:2.4rem -1.15rem;
  padding:1.8rem 1.15rem .6rem; }
.sn-reach-any { display:flex; align-items:flex-start; gap:.5rem; font-size:.92rem; }
.sn-reach-any .sn-ico { color:var(--sn-olive); margin-top:.1rem; }
.sn-reach-do { margin:.9rem 0 1rem; }
.sn-reach-tel { display:flex; align-items:flex-start; gap:.5rem; font-size:.92rem; }
.sn-reach-tel .sn-ico { color:var(--sn-muted); margin-top:.1rem; }
.sn-reach-tel a { font-weight:600; white-space:nowrap; }
.sn-topcta { font-weight:600; }
/* price set as a price, not as running text */
.sn-card-from { font-family:var(--sn-display); font-size:1.12rem; font-weight:700;
  letter-spacing:-.01em; }

@media (min-width:700px) {
  .sn-cards { grid-template-columns:repeat(2,1fr); }
  .sn-tiles { grid-template-columns:repeat(2,1fr); }
  .sn-strip-said { padding:2rem 2.4rem; }
  .sn-marks { grid-template-columns:repeat(2,1fr); }
  .sn-next ul { grid-template-columns:repeat(2,1fr); }
  .sn-pair, .sn-ask-row { grid-template-columns:15rem 1fr; }
  .sn-burger { display:none; }
  .sn-nav, .sn-nav.is-open { width:auto; margin-left:auto; display:block; }
  .sn-nav ul { margin:0; }
}

/* ⚠️ These were style="height:NNpx" until 19.08.2026. A Content-Security-Policy with
   style-src 'self' blocks inline style attributes, and the tally squares were the only
   place this site used them. One class per height, and the heights come from BANDS. */
.sn-step-14 { height:14px; }
.sn-step-26 { height:26px; }
.sn-step-40 { height:40px; }
.sn-step-56 { height:56px; }

@media (min-width:960px) {
  .sn-paired { grid-template-columns:1.35fr 1fr; gap:2.6rem; }
  .sn-cards { grid-template-columns:repeat(3,1fr); }
  .sn-tiles { grid-template-columns:repeat(4,1fr); }
  .sn-plate { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    padding-left:calc(50vw - 610px + 1.15rem); padding-right:calc(50vw - 610px + 1.15rem); }
  .sn-next ul { grid-template-columns:repeat(4,1fr); }
}

/* ---------------------------------------------------------------- the flight lookup

   Filled by this office, in this office's own markup: no outside script, no widget, no partner
   identifier. Both ends are comboboxes reading a list served from this domain, and only a code
   taken from that list ever travels.

   Eight equal boxes read as eight unrelated questions. They are three: the two ends, the days,
   the party. Each is a set with its own hanging label and a rule under it, which is the same
   device the counter already uses for the intake form. */

.sn-slot { margin:2.6rem 0; }
.sn-slot-said { max-width:62ch; }

.sn-look {
  margin:1.4rem 0 0; max-width:60rem; background:#fffefb;
  border-top:3px solid #1f2018; border-bottom:1px solid #d4d0b2;
  padding:1.3rem 1.3rem 1.5rem;
}
@media (min-width:640px) { .sn-look { padding:1.5rem 1.8rem 1.7rem; } }

.sn-look-set { display:grid; gap:0; }
.sn-set { border:0; margin:0; padding:1rem 0 1.1rem; min-width:0; }
.sn-set + .sn-set { border-top:1px solid #d4d0b2; }
.sn-set:first-of-type { padding-top:.2rem; }
.sn-set legend {
  padding:0; margin:0 0 .7rem; font-family:"Yrsa",Georgia,serif;
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700; color:#704885;
}

.sn-set-row { display:grid; gap:.9rem 1.1rem; }
/* One digit needs one digit of width. Stacked full width on a phone the three counts added some
   two hundred pixels of scrolling to say nothing. */
.sn-set-counts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
@media (min-width:640px) {
  .sn-set:nth-of-type(1) .sn-set-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sn-set:nth-of-type(2) .sn-set-row {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr); }
  .sn-set-counts { grid-template-columns:repeat(3,minmax(6.5rem,9rem)); justify-content:start; }
}

.sn-cell { display:flex; flex-direction:column; gap:.32rem; min-width:0; }
.sn-cell label {
  font-weight:600; font-size:.84rem; color:#1f2018;
  display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .4rem;
}
.sn-aside { font-weight:400; font-size:.76rem; color:#6f7263; }

.sn-cell input, .sn-cell select {
  width:100%; max-width:100%; box-sizing:border-box;
  font:inherit; font-size:1.02rem; line-height:1.35;
  padding:.62rem .7rem; border-radius:0;
  border:1px solid #d4d0b2; border-bottom:2px solid #1f2018;
  background:#f7f6ee; color:#1f2018;
  -webkit-appearance:none; appearance:none; transition:border-color .12s ease-out;
}
.sn-cell input::placeholder { color:#6f7263; opacity:1; }
.sn-cell input:hover, .sn-cell select:hover { border-bottom-color:#647318; }
.sn-cell select {
  background-image:linear-gradient(45deg,transparent 50%,#1f2018 50%),
                   linear-gradient(135deg,#1f2018 50%,transparent 50%);
  background-position:right 1.05rem center,right .75rem center;
  background-size:.3rem .3rem,.3rem .3rem; background-repeat:no-repeat; padding-right:2rem;
}
.sn-cell input[type="date"] { min-height:2.85rem; }
.sn-cell input[type="hidden"] { display:none; }
.sn-cell input:focus, .sn-cell select:focus {
  border-color:#45470a; outline:2px solid #45470a; outline-offset:1px; }
.sn-cell [aria-invalid="true"] { border-color:#801919; border-width:2px; }
.sn-cell.is-flagged input, .sn-cell.is-flagged select {
  outline:2px solid #801919; outline-offset:1px; }
.sn-set-counts input { text-align:center; font-variant-numeric:tabular-nums; }

/* The refusal sits in the box it concerns, so focusing that box brings it into view. A line kept
   beside the button lands off screen on a phone. */
.sn-cell-flag { margin:.3rem 0 0; font-size:.86rem; font-weight:600; color:#801919; }

.sn-end { position:relative; }
.sn-picks {
  position:absolute; z-index:55; left:0; right:0; top:100%;
  margin:.2rem 0 0; padding:0; list-style:none;
  background:#fffefb; border:1px solid #1f2018;
  box-shadow:0 8px 22px rgba(31,32,24,.18); max-height:20.5rem; overflow-y:auto;
}
.sn-picks li { margin:0; }
.sn-picks button {
  display:block; width:100%; text-align:left; cursor:pointer;
  background:none; border:0; border-bottom:1px solid #d4d0b2;
  padding:.5rem .75rem; font:inherit; font-size:.95rem; color:inherit;
}
.sn-picks li:last-child button { border-bottom:0; }
.sn-picks button:hover, .sn-picks button:focus-visible,
.sn-picks li.is-held button { background:#edf3d9; }
.sn-picks-code {
  display:inline-block; min-width:3.3rem; font-weight:600;
  font-size:.8rem; letter-spacing:.09em; color:#45470a;
}

.sn-look-send {
  margin:0; padding-top:1.1rem; border-top:1px solid #d4d0b2;
  display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1rem;
}
.sn-look-send button {
  font:inherit; font-weight:600; font-size:1rem; letter-spacing:.03em;
  background:#45470a; color:#f7f6ee;
  border:2px solid #45470a; border-radius:0; padding:.78rem 2.4rem; cursor:pointer;
}
.sn-look-send button:hover:not([disabled]) { background:#1f2018; border-color:#1f2018; }
.sn-look-send button[disabled] { opacity:.55; cursor:not-allowed; }
@media (max-width:639px) { .sn-look-send button { flex:1 0 100%; } }
.sn-word { font-size:.9rem; font-weight:600; color:#801919; }
.sn-word.is-done { color:#255c39; }
.sn-fine { font-size:.89rem; color:#1f2018; margin:.9rem 0 0; max-width:62ch; }
.sn-broke {
  font-size:.9rem; border-left:4px solid #704885;
  padding:.5rem 0 .5rem .85rem; margin:.9rem 0 0;
}

/* The storage notice is fixed to the foot of the window and the place fields drop their offers
   into the same strip. A list is open only while somebody types. */
body.sn-picking .sn-notice { visibility:hidden; }

