/* One self-hosted face: Figtree (variable, wght 300-900), headings and body. The display faces were removed 2026-09-30 (14:22 "easier on the eyes"). */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(/assets/fonts/Figtree-1.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;
}
/* Home D: concrete-gray field, soft tiles, one rust accent. The form is the first screen. */
:root{--field:#d4d6d3;--cell:#e9eae8;--ink:#161514;--accent:#8a3b12;--pad:clamp(14px,4vw,56px);--r:16px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--field);color:var(--ink);font:400 18px/1.5 Figtree,system-ui,sans-serif;overflow-wrap:break-word}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.wrap{padding:0 var(--pad);max-width:1320px;margin:0 auto}

.top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;position:relative}
.tag{display:inline-grid;grid-template-columns:auto auto;border:2px solid var(--ink);border-radius:8px;overflow:hidden;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:.04em;line-height:1;flex:none}
.tag span{padding:7px 10px}
.tag span+span{background:var(--ink);color:var(--field)}
.top .wide{display:none;gap:22px;font-weight:600}
.top .wide a{text-decoration:none}
.acts{display:flex;gap:8px;align-items:center}
.pill{display:inline-block;text-decoration:none;font-weight:600;font-size:17px;padding:7px 13px;border:1.5px solid var(--ink);border-radius:999px;cursor:pointer;list-style:none;white-space:nowrap}
.pill::-webkit-details-marker{display:none}
.menu[open] summary{background:var(--ink);color:var(--field)}
.menu nav{position:absolute;left:0;right:0;top:100%;z-index:5;display:grid;background:var(--cell);border:1.5px solid var(--ink);border-radius:var(--r);padding:8px 18px}
.menu nav a{padding:12px 0;font-weight:600;font-size:19px;text-decoration:none;border-top:1px solid #b9bbb8}
.menu nav a:first-child{border-top:0}
@media(min-width:900px){.top .wide{display:flex}.menu{display:none}}

.tiles{display:grid;gap:10px;grid-template-columns:1fr}
.t{background:var(--cell);border-radius:var(--r);padding:22px;min-width:0}
.t.ink{background:var(--ink);color:var(--field)}
.t.ink a{color:#f6c3a2;font-weight:600}
.t.clear{background:transparent;padding:6px 2px 10px}
h1{font-weight:700;font-size:clamp(38px,10.5vw,88px);line-height:1.1;max-width:13ch;text-wrap:balance}
h1 em{font-style:normal;color:var(--accent)}
.lede{margin-top:12px;max-width:36ch}
h2{font-weight:700;font-size:clamp(25px,5vw,38px);line-height:1.15;text-wrap:balance}
.t p{margin-top:8px;max-width:48ch}
.t .answer{margin:0;max-width:64ch;font-size:19px}
.t.ink h2 em{font-style:normal;color:#f6c3a2}
.alist{list-style:none;margin-top:10px}
.alist li{border-top:1.5px solid var(--ink);padding:10px 0}
.alist a{font-weight:600}
@media(min-width:900px){
  .tiles{grid-template-columns:repeat(6,1fr)}
  .s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
}

.lead{display:grid;gap:12px;margin-top:14px}
.f{display:grid;gap:4px}
.f label{font-weight:600}
.lead input,.lead select,.lead textarea{font:inherit;font-size:18px;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:10px;padding:12px;width:100%}
.lead ::placeholder{color:#4d4a46}
.lead input:focus,.lead select:focus,.lead textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.lead [aria-invalid]{border-color:#9b1c1c;border-width:2px}
.lead button{font:inherit;font-weight:700;font-size:20px;min-height:56px;border-radius:999px;background:var(--ink);color:var(--field);border:0;cursor:pointer}
.lead button:disabled{opacity:.6}
.lead button:active{transform:scale(.98)}
.lead .msg{font-weight:600}
.lead.sent .msg{font-size:20px}
.fine a{font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.qa{border-top:1.5px solid var(--ink)}
.qa:first-of-type{margin-top:14px}
.qa summary{list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:2px;top:10px;font-size:28px;color:var(--accent);font-weight:600}
.qa[open] summary::after{content:"\2212"}
.qa h3{font-size:20px;font-weight:700;line-height:1.3}
.qa p{padding:0 0 18px;max-width:62ch}

.tel{display:block;margin-top:10px;font-weight:700;font-size:clamp(32px,9.5vw,84px);line-height:1.1;white-space:nowrap;text-decoration:none}
.mail{display:inline-block;margin-top:8px;font-weight:600;font-size:20px}
footer{padding:26px 0 34px}
footer p{max-width:66ch}
footer p+p,footer nav+p{margin-top:10px}
.fcall{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:22px;font-weight:700}
.flinks{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-weight:600}
.flinks.legal-links{margin-top:8px}
