/* Front Range Company — shared styles for every page.
   Kept in one file so a change lands everywhere at once, and so the browser
   caches it after the first page a visitor opens. */

:root{
  --ink:#16181d;
  --ink-soft:#4a4f57;
  --paper:#fdfcfa;
  --line:#e2ddd5;
  --clay:#b8462f;
  --slate:#26333f;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* The container runs wide so the page fills a monitor, but running text is capped
   at a readable measure below. A 1040px paragraph is ~150 characters a line and
   nobody finishes reading it. */
.wrap{max-width:1040px;margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:normal;line-height:1.25;margin:0}
a{color:var(--clay)}

/* ---------- header + nav ---------- */
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;flex-wrap:wrap}
.mark{display:flex;align-items:center;gap:13px;text-decoration:none}
.mark .name{
  font-family:Georgia,serif;font-size:24px;line-height:1.05;
  letter-spacing:.2px;color:var(--ink);display:block;
}
.mark .name span{color:var(--clay)}
/* the mark carries the brand, so give it real size rather than a favicon-sized chip */
.mark svg{flex:none;display:block;width:50px;height:45px}

nav.nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav.nav a{
  color:var(--ink-soft);text-decoration:none;font-size:15.5px;font-weight:600;
  padding:3px 0;border-bottom:2px solid transparent;white-space:nowrap;
}
nav.nav a:hover{color:var(--ink);border-bottom-color:var(--line)}
nav.nav a.here{color:var(--ink);border-bottom-color:var(--clay)}
nav.nav a.callbtn{
  background:var(--clay);color:#fff;border-radius:3px;padding:9px 16px;
  border-bottom:0;font-size:15px;
}
nav.nav a.callbtn:hover{background:#a03d29;color:#fff;border-bottom-color:transparent}

/* ---------- hero ----------
   The mark is used as artwork here, echoing the social banner and the share
   card so the site, the LinkedIn header and the link preview read as one thing. */
.herowrap{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--paper) 78%)}
.heroart{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.heroart .ridge{fill:var(--slate);opacity:.055}
.heroart .ridge2{fill:var(--slate);opacity:.038}
.heromark{
  position:absolute;right:-96px;top:14px;width:420px;height:auto;
  opacity:.085;pointer-events:none;z-index:0;
}
.hero{position:relative;z-index:1;padding:82px 0 66px}

/* a full-size, fully opaque lockup for the top of interior pages */
.pagemark{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.pagemark svg{flex:none;display:block;width:62px;height:56px}
.pagemark .kicker{
  font:700 12.5px/1 -apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;color:var(--clay);
}
.pagemark .sub{margin-top:7px;color:var(--ink-soft);font-size:15.5px}
.hero h1{font-size:56px;letter-spacing:-1.1px;max-width:14em}
.hero p.lede{font-size:20px;color:var(--ink-soft);margin:24px 0 0;max-width:34em}
.hero .where{margin:16px 0 0;color:var(--ink-soft);font-size:17px}
.hero.short{padding:64px 0 52px}
.hero.short h1{font-size:46px}

.cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-block;background:var(--clay);color:#fff;text-decoration:none;
  padding:13px 24px;border-radius:3px;font-weight:600;font-size:16px;
}
.btn:hover{background:#a03d29}
.btn.alt{background:none;color:var(--slate);border:1px solid var(--line)}
.btn.alt:hover{background:#fff}

/* ---------- sections ---------- */
section{padding:66px 0;border-top:1px solid var(--line);scroll-margin-top:80px}
section h2{font-size:34px;margin-bottom:26px}
/* running text stays at a readable measure even though the column is 1040 wide */
section p{margin:0 0 18px;color:var(--ink-soft);max-width:34em}
section p strong{color:var(--ink)}
section p.beat{color:var(--ink);font-size:19px}

.story p{max-width:33em}
.story .beat{color:var(--ink);font-size:19px}

.thing{margin-bottom:34px;max-width:36em}
.thing h3{font-size:21px;margin-bottom:8px}
.thing p{margin:0}

ol.steps{margin:0;padding:0;list-style:none;counter-reset:s;max-width:38em}
ol.steps li{
  counter-increment:s;position:relative;padding-left:44px;margin-bottom:24px;color:var(--ink-soft);
}
ol.steps li:before{
  content:counter(s);position:absolute;left:0;top:1px;
  width:28px;height:28px;border:1px solid var(--line);border-radius:50%;
  background:#fff;color:var(--slate);font:600 14px/27px -apple-system,Segoe UI,Arial,sans-serif;
  text-align:center;
}
ol.steps li strong{color:var(--ink)}

.who{color:var(--ink-soft)}
.who b{color:var(--ink)}

/* cards use the full width the wider column bought us */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0 0}
.card2{border:1px solid var(--line);background:#fff;border-radius:4px;padding:26px 28px 28px}
.card2 h3{font-size:21px;margin-bottom:10px}
.card2 p{margin:0;font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:none}

/* a card that is itself a link through to another page */
a.card2{display:block;text-decoration:none;color:inherit;transition:border-color .12s}
a.card2:hover{border-color:var(--slate)}
a.card2 .go{display:block;margin-top:12px;color:var(--clay);font-weight:600;font-size:15px}

/* List bullets are the mountain from the mark rather than a default disc, so the
   logo shows up dozens of times across the site without ever shouting. */
.straight{background:#fff}
.plain{background:#fff}
.straight ul,.plain ul{
  margin:0;padding-left:30px;color:var(--ink-soft);max-width:35em;list-style:none;
}
.straight li,.plain li{margin-bottom:13px;position:relative}
.straight li b,.plain li b{color:var(--ink)}
.straight li::before,.plain li::before{
  content:"";position:absolute;left:-30px;top:.62em;width:16px;height:9px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 34'%3E%3Cpath d='M0 34 L16 10 L26 23 L42 0 L60 34 Z' fill='%23b8462f'/%3E%3C/svg%3E") center/contain no-repeat;
}

.pull{
  border-left:3px solid var(--clay);padding:2px 0 2px 20px;margin:0 0 22px;
  color:var(--ink);font-size:18.5px;max-width:34em;
}

/* ---------- about page portrait ----------
   Falls back to initials if the photo file isn't in the folder yet. */
.headshot{display:flex;align-items:center;gap:22px;margin-bottom:28px;flex-wrap:wrap}
.headshot .shot{
  width:112px;height:112px;border-radius:50%;flex:none;object-fit:cover;
  border:1px solid var(--line);background:#fff;display:block;
}
.headshot .fallback{
  width:112px;height:112px;border-radius:50%;flex:none;
  background:var(--slate);color:#fff;border:1px solid var(--line);
  font:normal 36px/112px Georgia,serif;text-align:center;letter-spacing:1px;
}
.headshot .who .n{font-family:Georgia,serif;font-size:23px;line-height:1.2}
.headshot .who .r{color:var(--ink-soft);font-size:15.5px;margin-top:5px}

/* ---------- contact ---------- */
.contact{background:#fff}
.lines{margin:22px 0 0;font-size:18px}
.lines div{margin-bottom:10px}
.lines a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:2px solid #f0d9d3}
.lines a:hover{border-color:var(--clay)}
.lines .lbl{display:inline-block;min-width:74px;color:var(--ink-soft);font-size:15px;font-weight:normal}

.nap{
  margin-top:30px;padding-top:22px;border-top:1px solid var(--line);
  font-size:15.5px;line-height:1.85;color:var(--ink-soft);
}
.nap b{color:var(--ink);font-weight:600}

/* a plain, obvious way back that doesn't rely on spotting the logo */
.backhome{
  display:inline-flex;align-items:center;gap:8px;margin-top:26px;
  color:var(--slate);text-decoration:none;font-weight:600;font-size:16px;
  border:1px solid var(--line);background:#fff;padding:11px 20px;border-radius:3px;
}
.backhome:hover{border-color:var(--slate);color:var(--ink)}

/* ---------- side rails ----------
   The column is 760px, so on a wide monitor there is dead space either side.
   These fill it: brand on the left, a permanent call link on the right, and a
   hairline scroll progress bar. Hidden below 1180px where the space isn't there. */
.rail{
  position:fixed;top:0;bottom:0;width:56px;z-index:40;
  display:none;align-items:center;justify-content:center;pointer-events:none;
}
.rail-l{left:0}
.rail-r{right:0}
.rail .railtext,.rail .railcall{
  writing-mode:vertical-rl;
  font:600 12px/1 -apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;
}
.rail .railtext{color:#b3b0aa;transform:rotate(180deg)}
.rail .railcall{
  color:var(--slate);text-decoration:none;pointer-events:auto;
  padding:14px 6px;border-radius:3px;
}
.rail .railcall:hover{color:var(--clay)}

/* the scroll track on the right rail, and the mark that climbs it */
.railtrack{
  position:absolute;left:50%;top:96px;bottom:96px;width:1px;
  transform:translateX(-50%);background:var(--line);
}
.railfill{
  position:absolute;left:0;top:0;width:100%;height:0;
  background:var(--clay);opacity:.55;
}
.climber{
  position:absolute;left:50%;top:0;width:22px;height:20px;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.18));
}
.climber svg{display:block;width:100%;height:100%}

.progress{
  position:fixed;left:0;top:0;height:3px;width:100%;z-index:55;
  background:transparent;pointer-events:none;
}
.progress i{
  display:block;height:100%;width:0;background:var(--clay);
  transform-origin:left center;transition:width .08s linear;
}

/* the column is 1040 now, so the rails need 1040 + 2x56 + breathing room before
   they can appear without crowding the content */
@media(min-width:1320px){
  .rail{display:flex}
}

/* ---------- brand band ----------
   Full-width slate break with the mark at real size. Same look as the LinkedIn
   header and the share card, so all three read as the same company. */
.band{position:relative;background:var(--slate);overflow:hidden;padding:60px 0}
.bandart{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bandart polygon{fill:#fff;opacity:.045}
.band .wrap{position:relative;z-index:1;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.band svg.bandmark{flex:none;display:block;width:96px;height:86px}
.bandname{font-family:Georgia,serif;font-size:38px;line-height:1.1;color:var(--paper)}
.bandname span{color:var(--clay)}
.bandline{margin-top:10px;color:#aeb7c1;font-size:17px;max-width:30em}
.band .btn{margin-top:20px}

/* ---------- marquee ----------
   The track holds two identical copies and slides exactly half its width, so the
   loop is seamless. 16s puts it near 82px/s; much slower than that is under a
   pixel per frame, which the eye reads as stutter rather than motion. */
.ticker{background:var(--slate);overflow:hidden;padding:15px 0}
.ticker .track{
  display:flex;width:max-content;
  animation:tickslide 16s linear infinite;
  will-change:transform;transform:translateZ(0);
}
.ticker .run{
  display:flex;align-items:center;flex:none;
  font:600 13.5px/1 -apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.17em;text-transform:uppercase;color:var(--paper);white-space:nowrap;
}
.ticker .run b{font-weight:600;padding:0 22px}
/* the separator between phrases is the mountain from the mark, not a generic glyph */
.ticker .run i{
  display:inline-block;width:17px;height:10px;font-style:normal;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 34'%3E%3Cpath d='M0 34 L16 10 L26 23 L42 0 L60 34 Z' fill='%23b8462f'/%3E%3C/svg%3E") center/contain no-repeat;
}
@keyframes tickslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .track{animation:none}}

/* ---------- footer ---------- */
footer{padding:44px 0 48px;font-size:14px;color:#6b7079;background:#fff;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:30px}
.fgrid h3{
  font-family:-apple-system,"Segoe UI",Arial,sans-serif;font-size:12.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--slate);margin:0 0 12px;
}
.fgrid p{margin:0 0 8px;color:#6f757e;font-size:15px;line-height:1.6;max-width:none}
.fgrid a{color:var(--slate);text-decoration:none;font-weight:600}
.fgrid a:hover{color:var(--clay)}
.fgrid .flinks{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.fbrand{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.fbrand svg{flex:none;display:block;width:46px;height:41px}
.fbrand .name{font-family:Georgia,serif;font-size:23px;line-height:1.05;color:var(--ink)}
.fbrand .name span{color:var(--clay)}
.fbase{border-top:1px solid var(--line);padding-top:20px;font-size:13.5px;color:#6b7079}

/* ---------- assistant ---------- */
#bubble{
  position:fixed;right:20px;bottom:20px;z-index:60;
  background:var(--slate);color:#fff;border:0;cursor:pointer;
  padding:14px 20px;border-radius:40px;font:600 15px -apple-system,Segoe UI,Arial,sans-serif;
  box-shadow:0 6px 22px rgba(0,0,0,.22);
}
#bubble b{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5ad07f;margin-right:9px;vertical-align:1px}
#panel{
  position:fixed;right:20px;bottom:20px;z-index:61;width:360px;max-width:calc(100vw - 32px);
  background:#fff;border-radius:8px;overflow:hidden;display:none;flex-direction:column;
  box-shadow:0 14px 46px rgba(0,0,0,.28);border:1px solid var(--line);
}
#panel.on{display:flex}
#ptop{background:var(--slate);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
#ptop .t{font:600 15px -apple-system,Segoe UI,Arial,sans-serif}
#ptop .s{font-size:12px;opacity:.75;margin-top:2px}
#x{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;line-height:1;opacity:.8}
#log{height:330px;overflow-y:auto;padding:16px;background:#f7f6f3}
.msg{margin-bottom:12px;display:flex}
.msg .b{max-width:80%;padding:10px 13px;border-radius:12px;font-size:14.5px;line-height:1.5}
.them .b{background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}
.me{justify-content:flex-end}
.me .b{background:var(--slate);color:#fff;border-bottom-right-radius:3px}
#chips{padding:0 16px 10px;background:#f7f6f3;display:flex;gap:7px;flex-wrap:wrap}
#chips button{
  background:#fff;border:1px solid var(--line);color:var(--slate);cursor:pointer;
  padding:7px 11px;border-radius:14px;font-size:12.5px;font-family:inherit;
}
#chips button:hover{border-color:var(--slate)}
#bottom{display:flex;border-top:1px solid var(--line);background:#fff}
#in{flex:1;border:0;padding:14px;font:15px inherit;outline:none;font-family:inherit}
#send{background:var(--clay);color:#fff;border:0;padding:0 20px;cursor:pointer;font:600 14px inherit;font-family:inherit}

/* ---------- pricing tiers ----------
   Each tier is a <details> so the page reads as six short rows until somebody
   actually wants the list. Same reason as the FAQ: no JavaScript, keyboard
   works for free, and Google reads the closed panels anyway. */
.tiers{display:grid;gap:14px}
.tier{background:#fff;border:1px solid var(--line);border-radius:7px}
/* the cleanup is the job most people actually need, so give it the weight */
.tier.feature{border:2px solid var(--slate);box-shadow:0 4px 20px rgba(38,51,63,.07)}
.tier > summary{
  cursor:pointer;list-style:none;position:relative;
  padding:24px 56px 24px 26px;
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.tier > summary::-webkit-details-marker{display:none}
.tier > summary:hover h3{color:var(--clay)}
.tier > summary:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.tier > summary::after{
  content:"";position:absolute;right:24px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--clay);border-bottom:2px solid var(--clay);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;
}
.tier[open] > summary::after{transform:translateY(-25%) rotate(-135deg)}
.tier[open] > summary{border-bottom:1px solid var(--line)}
.tier .body{padding:22px 26px 26px}
/* Group headings. These name the four service lines, so they have to read as
   dividers at a glance rather than as another paragraph. Rule above, real size,
   and the mountain from the mark sitting on top of each one. */
h2.gh{
  font-family:Georgia,serif;font-size:42px;line-height:1.08;letter-spacing:-.8px;
  color:var(--ink);margin:80px 0 10px;padding-top:40px;
  border-top:4px solid var(--slate);position:relative;
}
h2.gh::before{
  content:"";position:absolute;top:18px;left:0;width:38px;height:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 34'%3E%3Cpath d='M0 34 L16 10 L26 23 L42 0 L60 34 Z' fill='%23b8462f'/%3E%3C/svg%3E") left/contain no-repeat;
}
h2.gh:first-child{margin-top:10px}
.gsub{color:var(--ink-soft);margin:0 0 22px;max-width:40em;font-size:17px}
.tier h3{font-family:Georgia,serif;font-size:27px;margin:0;color:var(--ink);transition:color .15s}
.tier h4{
  font:600 12.5px/1 -apple-system,"Segoe UI",Arial,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:26px 0 12px;
}
/* the price is the thing people came to read, so let it be the loudest item in the row */
.tier .price{
  font-family:Georgia,serif;font-size:40px;line-height:1;letter-spacing:-.8px;
  color:var(--clay);white-space:nowrap;
}
.tier .price small{
  display:block;margin-top:5px;text-align:right;
  font-family:-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);
}
.tier .who{color:var(--ink-soft);margin:0 0 18px;max-width:38em}
.tier .note{
  margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line);
  font-size:14.5px;color:var(--ink-soft);max-width:38em;
}
.tier code{font-size:.9em;background:var(--paper);padding:1px 5px;border-radius:3px}
/* a tick, not a disc: these are things you get, not a list of topics */
ul.ticks{list-style:none;margin:0;padding:0}
ul.ticks li{position:relative;padding-left:26px;margin-bottom:11px;max-width:40em;line-height:1.6}
ul.ticks li::before{
  content:"";position:absolute;left:2px;top:.42em;width:11px;height:6px;
  border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);
  transform:rotate(-45deg);
}

/* ---------- FAQ accordion ----------
   Built on <details>/<summary> rather than JavaScript, so it opens even if a
   script fails, it works from the keyboard for free, and Google can read every
   answer whether or not the panel happens to be open. */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;position:relative;
  padding:21px 46px 21px 0;font:600 18px/1.4 Georgia,serif;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--clay)}
.faq summary:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
/* chevron drawn from borders so it can rotate smoothly */
.faq summary::after{
  content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--clay);border-bottom:2px solid var(--clay);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease;
}
.faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq .a{padding:0 0 22px;max-width:34em}
.faq .a p{margin:0 0 12px;color:var(--ink-soft)}
.faq .a p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.faq summary::after{transition:none}}

/* ---------- tablet / small laptop ---------- */
@media(max-width:900px){
  .hero{padding:60px 0 48px}
  .hero h1{font-size:42px;letter-spacing:-.6px}
  .hero.short h1{font-size:37px}
  section{padding:52px 0}
  section h2{font-size:29px}
  .heromark{width:320px}
  .band{padding:46px 0}
  .band svg.bandmark{width:74px;height:66px}
  .bandname{font-size:31px}
}

/* ---------- phone ---------- */
@media(max-width:600px){
  .hero{padding:44px 0 36px}
  .hero h1{font-size:32px;letter-spacing:-.4px}
  .hero.short h1{font-size:30px}
  .hero p.lede{font-size:17.5px}
  /* the big watermark crowds the headline on a phone */
  .heromark{width:230px;right:-70px;top:auto;bottom:10px;opacity:.07}
  .mark svg{width:42px;height:38px}
  .mark .name{font-size:21px}
  .fbrand svg{width:42px;height:38px}
  .pagemark svg{width:50px;height:45px}
  section{padding:40px 0}
  section h2{font-size:24px}
  .bar{padding:12px 0;gap:10px}
  nav.nav{gap:16px;width:100%}
  nav.nav a{font-size:15px}
  nav.nav a.callbtn{margin-left:auto;padding:8px 14px}
  /* Six items plus a button wrap into a header that eats a fifth of a phone
     screen. Drop the two deepest pages here; they are still in the footer. */
  nav.nav a.navsec{display:none}
  .cards{grid-template-columns:1fr;gap:14px}
  .fgrid{grid-template-columns:1fr;gap:26px}
  #panel{right:8px;bottom:8px}
  #log{height:290px}
  /* 28px of padding each side is a lot of a 375px screen. */
  .wrap{padding:0 18px}
  /* The assistant launcher was sized for a mouse. On a phone it covered a
     chunk of the page, so shrink it to a thumb-sized pill. */
  #bubble{right:12px;bottom:12px;padding:10px 15px;font-size:13.5px}
  #bubble b{width:7px;height:7px;margin-right:7px}
  h2.gh{font-size:31px;margin-top:56px;padding-top:32px;border-top-width:3px}
  h2.gh::before{width:30px;height:17px;top:13px}
  .gsub{font-size:16px}
  .tier > summary{padding:19px 40px 19px 18px}
  .tier .body{padding:18px 18px 22px}
  .tier h3{font-size:22px}
  .tier .price{font-size:31px}
  .tier .price small{font-size:11.5px}
  .tier > summary::after{right:17px}
  .faq summary{font-size:16.5px;padding:18px 38px 18px 0}
}

/* Nothing on the page is meant to be wider than the screen, so anything that
   sticks out is a bug rather than something to scroll to. Clipping it here
   stops the whole page sliding sideways on a phone. */
html,body{overflow-x:hidden;max-width:100%}
