/* Flooring Institute — shared design system
   British Racing Green (#004225) + gold (#c19a3e), serif headings. */
:root{
  --brg:#004225; --brg-deep:#02301b; --brg-soft:#e7efe9;
  --gold:#c19a3e; --gold-bright:#d8b45a; --gold-soft:#efe4c6;
  --paper:#f7f4ec; --card:#ffffff;
  --ink:#182219; --ink-soft:#4a564c; --line:#e5decd;
  --shadow:0 1px 2px rgba(0,32,18,.05),0 10px 26px rgba(0,32,18,.07);
  --maxw:1140px; --readw:720px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:Georgia,"Times New Roman",serif}
a{color:var(--brg)} a:hover{color:var(--gold)}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--brg);color:#fff;padding:10px 16px;border-radius:6px;z-index:50}

/* header / nav */
header.site{position:sticky;top:0;background:rgba(247,244,236,.94);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);z-index:20}
.navbar{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.mark{width:42px;height:42px;border-radius:8px;background:var(--brg);color:var(--gold-bright);
  display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;font-size:21px;border:1.5px solid var(--gold)}
.brand-txt strong{font-family:Georgia,serif;font-size:19px;letter-spacing:.01em;display:block;line-height:1.05;color:var(--brg)}
.brand-txt span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
nav.main{display:flex;gap:22px;align-items:center}
nav.main a{color:var(--ink);font-size:14.5px;font-weight:500;text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--brg)}
nav.main a.active{color:var(--brg);border-bottom-color:var(--gold)}
@media(max-width:820px){nav.main{gap:16px}nav.main a{font-size:13.5px}}
@media(max-width:640px){nav.main{display:none}}

/* buttons */
.btn{padding:12px 22px;border-radius:7px;font-size:15px;font-weight:600;display:inline-block;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--brg);color:#fff;border:1px solid var(--brg)}
.btn-primary:hover{background:var(--brg-deep);color:var(--gold-bright)}
.btn-ghost{border:1px solid var(--gold);color:var(--brg);background:var(--card)}
.btn-ghost:hover{background:var(--gold-soft);color:var(--brg)}

/* hero (home) */
.hero{padding:60px 0 18px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--brg);font-weight:700;margin-bottom:20px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold)}
.hero h1{font-size:clamp(30px,4.6vw,50px);line-height:1.12;letter-spacing:-.01em;max-width:16ch;margin-bottom:20px;color:var(--ink)}
.hero h1 .u{color:var(--brg);border-bottom:3px solid var(--gold);padding-bottom:1px}
.hero p.lede{font-size:clamp(16px,2vw,19px);color:var(--ink-soft);max-width:60ch;margin-bottom:28px}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center}

/* page header (interior pages) */
.pagehead{padding:52px 0 8px;border-bottom:1px solid var(--line)}
.pagehead .wrap{max-width:var(--readw)}
.breadcrumb{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px;letter-spacing:.02em}
.breadcrumb a{text-decoration:none}
.pagehead h1{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.01em;color:var(--ink);margin-bottom:14px}
.pagehead p.sub{font-size:clamp(16px,2vw,18.5px);color:var(--ink-soft);max-width:62ch}

/* mission band */
.mission{margin:40px 0 8px;background:var(--brg);color:#f3efe2;border-radius:16px;padding:44px 42px;position:relative;overflow:hidden;border:1px solid var(--brg-deep)}
.mission::before{content:"";position:absolute;inset:0;border:2px solid var(--gold);border-radius:16px;margin:9px;pointer-events:none;opacity:.55}
.mission .lab{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);font-weight:700;margin-bottom:14px}
.mission p{font-family:Georgia,serif;font-size:clamp(20px,3vw,30px);line-height:1.34;max-width:28ch;color:#fbf8ef}
.mission p b{color:var(--gold-bright);font-weight:700}
.mission .sig{margin-top:18px;font-size:13px;color:#cdd9d0;letter-spacing:.02em}
/* mission band embedded inside an article (e.g. About) — keep its light text,
   overriding the darker .prose paragraph colour via higher specificity */
.prose .mission{margin:8px 0 28px}
.prose .mission p{color:#fbf8ef;font-family:Georgia,serif;font-size:clamp(20px,3vw,30px);line-height:1.34;margin:0}
.prose .mission p b{color:var(--gold-bright)}
.prose .mission .sig{color:#cdd9d0;margin-top:18px}

/* audience + trust */
.aud{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
@media(max-width:640px){.aud{grid-template-columns:1fr}}
.aud .a{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:20px 22px;box-shadow:var(--shadow)}
.aud .a h3{font-family:Georgia,serif;font-size:17px;color:var(--brg);margin-bottom:4px}
.aud .a p{font-size:14px;color:var(--ink-soft)}
.trustbar{display:flex;flex-wrap:wrap;gap:22px;margin:36px 0 4px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trustbar div{font-size:13.5px;color:var(--ink-soft);display:flex;gap:8px;align-items:flex-start}
.trustbar b{color:var(--ink)} .tick{color:var(--brg);font-weight:800}

/* sections + cards */
section.blk{padding:54px 0;border-bottom:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.01em;color:var(--ink);position:relative;padding-bottom:10px}
.sec-head h2::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--gold)}
.sec-head p{color:var(--ink-soft);font-size:15px;max-width:50ch}
.grid{display:grid;gap:20px}
.g4{grid-template-columns:repeat(4,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.g4,.g3,.g2{grid-template-columns:1fr}}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:var(--shadow)}
.pillar .ic{width:44px;height:44px;border-radius:9px;background:var(--brg-soft);color:var(--brg);display:grid;place-items:center;font-size:20px;margin-bottom:14px;border:1px solid var(--gold-soft)}
.pillar h3{font-size:18px;margin-bottom:7px;color:var(--brg)}
.pillar p{font-size:14px;color:var(--ink-soft)}
.soon{display:inline-block;margin-top:12px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-weight:700;border:1px solid var(--gold-soft);border-radius:20px;padding:3px 10px}

/* article / prose (interior pages) */
.prose{max-width:var(--readw);margin:0 auto;padding:44px 0 10px}
.prose h2{font-size:clamp(21px,2.6vw,27px);color:var(--brg);margin:38px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.prose h3{font-size:clamp(17px,2vw,20px);color:var(--ink);margin:26px 0 8px}
.prose p{margin:0 0 16px;font-size:16.5px;color:#26332a}
.prose ul,.prose ol{margin:0 0 18px 22px}
.prose li{margin:0 0 9px;font-size:16px;color:#26332a}
.prose a{font-weight:500}
.prose strong{color:var(--ink)}
.prose .lead{font-size:19px;color:var(--ink-soft);margin-bottom:22px}
.callout{background:var(--brg-soft);border:1px solid var(--gold-soft);border-left:4px solid var(--gold);border-radius:10px;padding:18px 20px;margin:22px 0}
.callout p{margin:0;font-size:15px;color:var(--ink)}
.callout .lab{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brg);font-weight:700;margin-bottom:6px}
blockquote{border-left:4px solid var(--gold);background:var(--card);margin:22px 0;padding:16px 20px;border-radius:0 10px 10px 0;box-shadow:var(--shadow)}
blockquote p{font-family:Georgia,serif;font-size:18px;color:var(--brg);margin:0}
table.spec{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
table.spec th,table.spec td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
table.spec th{background:var(--brg-soft);color:var(--brg);font-family:Georgia,serif}
table.spec tr:last-child td{border-bottom:none}
.source-list{list-style:none;margin:14px 0 0!important;padding:0}
.source-list li{padding:12px 0;border-top:1px solid var(--line);font-size:15px;margin:0!important}
.source-list li b{color:var(--brg)}
.stamp{margin:26px 0 0;padding-top:16px;border-top:1px dashed var(--gold);font-size:13px;color:var(--ink-soft)}
.stamp b{color:var(--ink)}

/* independence box (reusable) */
.indep{background:var(--brg-soft);border:1px solid var(--gold-soft);border-radius:14px;padding:30px}
.indep h2{font-size:24px;margin-bottom:10px;color:var(--brg);border:none;padding:0}
.indep ul{list-style:none;display:grid;gap:12px;margin:16px 0 0}
.indep li{display:flex;gap:12px;font-size:15.5px;color:var(--ink)}
.indep li .tick{font-size:17px;margin-top:1px}
.notaffil{margin-top:18px;font-size:13.5px;color:var(--ink-soft);border-top:1px dashed var(--gold);padding-top:14px}

/* footer */
footer.site{background:var(--brg-deep);color:#c3d0c9;padding:50px 0 26px;font-size:14px;border-top:3px solid var(--gold);margin-top:10px}
footer.site .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
@media(max-width:760px){footer.site .fgrid{grid-template-columns:1fr 1fr}}
footer.site h4{color:var(--gold-bright);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
footer.site a,footer.site .fitem{color:#c3d0c9;display:block;margin-bottom:9px;font-size:14px;text-decoration:none}
footer.site a:hover{color:#fff}
footer.site .muted{color:#8fa79c}
.pubnote{border-top:1px solid #234a37;margin-top:30px;padding-top:20px;font-size:12.8px;color:#8fa79c;line-height:1.7}

/* ---- glossary ---- */
.gloss-wrap{padding:30px 0 20px;max-width:860px;margin:0 auto}
.gloss-top{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}
.gloss-filter{flex:1;min-width:240px;font-size:15.5px;padding:12px 16px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.gloss-filter:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.gloss-meta{font-size:13px;color:var(--ink-soft);white-space:nowrap}
.gloss-meta #gcount{color:var(--brg);font-weight:700}
.az-nav{position:sticky;top:74px;z-index:10;display:flex;flex-wrap:wrap;gap:3px;background:rgba(247,244,236,.94);backdrop-filter:blur(8px);
  padding:10px 8px;border:1px solid var(--line);border-radius:10px;margin-bottom:26px;box-shadow:var(--shadow)}
.az-nav a,.az-nav .dis{width:29px;height:29px;display:grid;place-items:center;font-size:13px;font-weight:700;border-radius:6px;text-decoration:none}
.az-nav a{color:var(--brg)} .az-nav a:hover{background:var(--brg);color:var(--gold-bright)}
.az-nav .dis{color:#c9c3b2;cursor:default}
.gloss-letter{margin-bottom:14px;scroll-margin-top:130px}
.gloss-letter h2{font-family:Georgia,serif;font-size:26px;color:var(--brg);border:none;margin:18px 0 4px;padding:0 0 3px;display:inline-block;border-bottom:2px solid var(--gold)}
.gloss-letter dl{margin:0}
.term{padding:16px 0;border-top:1px solid var(--line)}
.term dt{font-size:17px;font-weight:700;color:var(--brg);margin-bottom:5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.term dd{margin:0;font-size:15.5px;color:#26332a;line-height:1.6}
.chip{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--brg);
  background:var(--brg-soft);border:1px solid var(--gold-soft);border-radius:20px;padding:2px 9px}
.src{display:inline-block;margin-top:4px;font-size:12.5px;color:var(--ink-soft);font-style:italic}
.src::before{content:"↳ "}
.gloss-none{padding:24px 0;color:var(--ink-soft);font-size:15px}
@media(max-width:520px){.az-nav a,.az-nav .dis{width:26px;height:26px;font-size:12px}}
