
:root{
  --paper:#F3F0E9; --card:#FDFBF8; --ink:#1A1A1A; --ink-2:#4A4A4A; --slate:#8A9BAE; --slate-dk:#6F8196;
  --shadow:none;
  --font:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");
}


*{box-sizing:border-box;margin:0;padding:0}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 170px);-webkit-text-size-adjust:100%}
body{background:var(--paper) var(--noise);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--slate-dk);outline-offset:3px}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
h1{font-weight:400;font-size:clamp(36px,5.4vw,64px);line-height:1.08;letter-spacing:-.01em}
h2{font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.005em}
h3{font-weight:600;font-size:19px}
.sub{margin-top:14px;color:var(--ink-2);max-width:34em}

.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;background:var(--slate);color:#fff;text-transform:uppercase;letter-spacing:.15em;font:500 13px var(--font);padding:15px 26px;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.btn.plain{background:var(--card);color:var(--ink)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}

/* header like the old mockup */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper) var(--noise)}
.bar{display:flex;align-items:center;gap:28px;height:84px}
.brand img{height:56px;width:auto}


.since{font-size:14px;letter-spacing:.06em;color:var(--ink-2)}
.bar .mail{margin-left:auto;font-size:15px;text-decoration:none}
.bar .btn{padding:12px 20px}
.tabs{border-top:1px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--card)}
.toner{height:4px;background:linear-gradient(90deg,#3A9BBE 0 25%,#B8457E 25% 50%,#DDB53C 50% 75%,var(--ink) 75%)}
.tabs .wrap{display:flex;gap:4px}
.tabs a{text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:13px;padding:16px 22px;border:2px solid transparent}
.tabs a:hover{border-color:var(--ink)}
@media (max-width:860px){.since,.bar .mail{display:none}.bar .btn{margin-left:auto}.tabs a{padding:13px 12px;letter-spacing:.12em;font-size:12px}}
@media (max-width:420px){.brand img{height:44px}.bar{height:72px}}

section{padding:76px 0}
section+section{border-top:1px solid var(--ink)}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.hero .sub{font-size:19px}
.actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px}
.hero figure{justify-self:center}
.hero figure img{width:340px}
@media (max-width:760px){.hero .wrap{grid-template-columns:1fr}.hero figure{justify-self:start}.hero figure img{width:240px}}

/* old-style bordered grid */
.grid{display:grid;border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--card);box-shadow:var(--shadow);margin-top:32px}
.grid.four{grid-template-columns:repeat(4,1fr)}
.grid.three{grid-template-columns:repeat(3,1fr)}
.cell{padding:24px 26px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.cell p{margin-top:6px;font-size:15px;color:var(--ink-2)}
.cell .meta{font-size:14px;color:var(--slate-dk);margin-top:2px}
@media (max-width:900px){.grid.four{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.grid.three{grid-template-columns:1fr}}
@media (max-width:480px){.grid.four{grid-template-columns:1fr}}
.aside{margin-top:24px;color:var(--ink-2)}
.aside a{color:var(--ink);font-weight:600}

/* features */
.features{margin-top:32px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;list-style:none}
.features li{padding:14px 0 14px 28px;border-bottom:1px solid var(--ink);position:relative}
.features li::before{content:"";position:absolute;left:0;top:22px;width:12px;height:12px;background:var(--slate);border:1px solid var(--ink)}
.features b{font-weight:600}
.features span{display:block;font-size:16px;color:var(--ink-2);margin-top:4px}
@media (max-width:760px){.features{grid-template-columns:1fr}}

/* faq */
.faq{margin-top:28px;border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:24px;font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 20px;color:var(--ink-2);max-width:44em}

/* about */
.about .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:center}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.photo{background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow);padding:8px}
.photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:sepia(.12) saturate(.9)}
.photo figcaption{font-size:13px;color:var(--ink-2);margin-top:6px}
@media (max-width:860px){.about .wrap{grid-template-columns:1fr}}

/* contact */
.contact .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}
form{background:var(--card);border:1px solid var(--ink);box-shadow:var(--shadow);padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}
input,select,textarea{font:16px var(--font);padding:11px 12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;width:100%;text-transform:none;letter-spacing:0}
textarea{min-height:110px;resize:vertical}
.full{grid-column:1/-1}
.kind{border:0;display:flex;flex-wrap:wrap;gap:10px}
.kind legend{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;width:100%}
.pill{display:block;cursor:pointer}
.pill input{position:absolute;opacity:0}
.pill span{display:block;padding:10px 16px;border:1px solid var(--ink);background:var(--paper);font-size:15px;text-transform:none;letter-spacing:0}
.pill input:checked+span{background:var(--slate);color:#fff}
.pill input:focus-visible+span{outline:3px solid var(--slate-dk);outline-offset:2px}
.hp{position:absolute;left:-9999px}
.fmsg{grid-column:1/-1;font-size:15px;color:var(--ink-2);text-transform:none;letter-spacing:0}
.contact .direct{margin-top:18px}
.contact .direct a{font-weight:600}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}form{grid-template-columns:1fr}}

footer{border-top:2px solid var(--ink);padding:44px 0 36px;font-size:15px;color:var(--ink-2)}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
footer h4{color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px;font-weight:500}
footer a{color:var(--ink)}
.fine{margin-top:32px;font-size:13px}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.crumb{font-size:14px;color:var(--ink-2);margin-bottom:14px}
.crumb a{color:var(--ink-2)}
.page-hero{padding:64px 0 56px}
.page-hero h1{font-size:clamp(32px,4.4vw,52px)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:860px){.cols{grid-template-columns:1fr}}
.cities{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.cities li{border:1px solid var(--ink);background:var(--card);padding:6px 12px;font-size:15px}
.arealinks{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--card);box-shadow:var(--shadow)}
.arealinks a{display:block;padding:22px 24px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}
.arealinks a:hover{background:var(--paper)}
.arealinks b{display:block;font-size:18px}
.arealinks span{display:block;margin-top:4px;font-size:15px;color:var(--ink-2)}
@media (max-width:760px){.arealinks{grid-template-columns:1fr}}
.steps-list{margin-top:26px;border-top:2px solid var(--ink);list-style:none}
.steps-list li{padding:18px 0;border-bottom:1px solid var(--ink)}
.steps-list b{display:block}
.steps-list span{display:block;color:var(--ink-2);font-size:16px;margin-top:4px}
.callout{margin-top:28px;padding:16px 18px;border:1px solid var(--ink);background:var(--card);max-width:44em}
footer .links a{display:block}
.bar .tel{font-size:14px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.tabs .wrap{overflow-x:auto;scrollbar-width:none}
.tabs .wrap::-webkit-scrollbar{display:none}
.tabs a{white-space:nowrap}
@media (max-width:860px){.bar .tel{display:none}}
.qx{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;border:0}
.qx[hidden]{display:none}
.qx legend{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);margin-bottom:4px}
@media (max-width:860px){.qx{grid-template-columns:1fr}}
footer .fgrid{grid-template-columns:1.5fr 1fr 1fr 1fr}
@media (max-width:860px){footer .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .fgrid{grid-template-columns:1fr}}
.tiles{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--card);box-shadow:var(--shadow)}
.tiles a{display:block;padding:22px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}
.tiles a:hover{background:var(--paper)}
.tiles b{display:block;font-size:18px}
.tiles span{display:block;margin-top:4px;font-size:15px;color:var(--ink-2)}
@media (max-width:900px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tiles{grid-template-columns:1fr}}

.pill{position:relative}
.pill input{left:0;top:0;width:1px;height:1px;margin:0}
html{overflow-x:clip}
.tabs a{border:0!important;box-shadow:inset 0 -4px 0 transparent}
.tabs a:hover{color:var(--slate-dk)}
.hero figure img{filter:drop-shadow(6px 6px 0 rgba(0,0,0,.15))}
.h2row{display:flex;align-items:center;justify-content:space-between;gap:22px}
.ricoh{height:26px;width:auto;opacity:.55}


.subhead{margin-top:44px;font-size:20px;font-weight:600}
.lead{margin-top:14px;font-size:22px;line-height:1.45;max-width:34em}
@media (max-width:520px){.tabs .lg{display:none}.tabs .wrap{padding:0 10px;gap:0}.tabs a{padding:13px 8px;letter-spacing:.06em;font-size:11.5px}.hero figure img{width:240px}}
.sit{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink);background:var(--card);box-shadow:var(--shadow)}
.sit a{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none;min-height:150px}
.sit a:hover{background:var(--paper)}
.sit b{font-size:18px;line-height:1.3}
.sit span{font-size:15px;color:var(--ink-2)}
.sit i{font-style:normal;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-dk)}
@media (max-width:900px){.sit{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.sit{grid-template-columns:1fr}.sit a{min-height:0}}
.why{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.why .photo{max-width:440px}
@media (max-width:860px){.why{grid-template-columns:1fr}}
.band{background:var(--card);border-top:1px solid var(--ink)}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.band p{color:var(--ink-2);margin-top:6px}
.band .actions{margin-top:0}
.more{margin-top:22px;font-weight:600}
.more a{color:var(--ink)}
.story p{margin-top:16px;color:var(--ink-2);max-width:36em}
.photos.big{grid-template-columns:1fr 1fr;gap:22px}
.contact-page .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}
.contact-page .direct{margin-top:18px}
@media (max-width:860px){.contact-page .wrap{grid-template-columns:1fr}}

:root{color-scheme:light}
@media (max-width:760px){
  body{font-size:16px}
  section{padding:52px 0}
  h1{font-size:34px}
  h2{font-size:26px}
  .hero{padding:40px 0 38px}
  .hero .sub{font-size:17px}
  .hero .wrap{gap:12px}
  .hero .actions{display:none}
  .hero figure{display:block;justify-self:center;margin:26px 0 0}
  .hero figure img{width:240px}
  .lead{font-size:19px}
  .bar{height:72px;gap:12px}
  .brand img{height:44px}
  .bar .btn{padding:10px 14px;font-size:12px;letter-spacing:.12em;box-shadow:2px 2px 0 var(--ink)}
  .tabs .wrap{padding:0 8px;justify-content:space-between}
  .tabs a{padding:13px 5px;font-size:11.5px;letter-spacing:.05em}
  .actions .btn{padding:13px 20px}
  .cell{padding:20px}
  form{padding:20px}
}
@media (max-width:380px){.tabs a{padding:13px 4px;font-size:10.5px;letter-spacing:.03em}.brand img{height:38px}}
.page{display:none}.page.on{display:block}
.page{display:block}
