@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');:root{--ink:#142b31;--cream:#f6f3ea;--paper:#fffdf6;--muted:#647477;--line:#d8d9d1;--gold:#b48b4d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}.topline{background:#10272d;color:#d8e3dc;font-size:10px;letter-spacing:1.5px;padding:10px 5%;display:flex;justify-content:space-between}.topline span{color:#e3c28d}header{height:84px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf7;gap:15px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:11px}.brand b{font-family:'Libre Baskerville';font-size:22px;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:1.3px}.seal{font-size:35px;border:2px solid var(--ink);width:53px;height:53px;border-radius:50%;display:grid;place-items:center}nav{display:flex;gap:24px}nav a{font-size:12px;font-weight:700}.outline,.menu{border:1px solid var(--ink);padding:12px 17px;background:transparent;font-weight:800;font-size:12px}.menu{display:none}.hero{background:#eae9dd;display:grid;grid-template-columns:1.1fr .9fr;min-height:590px;overflow:hidden}.hero-copy{padding:95px max(30px,calc((100vw - 1320px)/2)) 70px 7vw}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#8b693f;margin-bottom:21px}h1,h2,h3{font-family:'Libre Baskerville',serif;line-height:1.16}h1{font-size:clamp(42px,5vw,78px);letter-spacing:-2px;margin:0 0 22px}h1 em{color:#8b693f}h2{font-size:clamp(30px,3vw,47px);margin:0 0 20px;letter-spacing:-1px}p{line-height:1.75;color:#516366}.hero p{font-size:17px;max-width:550px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:29px 0}.btn{border:1px solid var(--ink);background:var(--ink);color:white;padding:15px 20px;font-size:12px;font-weight:800;letter-spacing:.3px;display:inline-block}.btn:hover{background:#294750}.btn.secondary{background:transparent;color:var(--ink)}.trust{display:flex;gap:17px;flex-wrap:wrap;font-size:11px;color:#576a69}.hero-art{position:relative;background:#c9d1c5;display:flex;align-items:center;justify-content:center;min-height:470px}.hero-art img{width:min(65%,390px);border:9px solid #fffaf0;box-shadow:0 18px 40px #2233;transform:rotate(-5deg)}.stamp{position:absolute;right:9%;top:13%;z-index:1;border:4px double #a55b48;color:#a55b48;transform:rotate(13deg);font-weight:800;text-align:center;padding:14px;font-size:22px}.stamp small{font-size:10px}.specimen{position:absolute;bottom:35px;left:12%;background:#fffdf4;padding:15px 22px;box-shadow:0 5px 20px #142b3122}.specimen span,.specimen small{display:block;font-size:10px;letter-spacing:1px}.specimen strong{font-family:'Libre Baskerville';font-size:26px}.notice{padding:19px 6%;background:#142b31;color:#f2ebda;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.notice strong{color:#e8c996;letter-spacing:1px}.notice a{text-decoration:underline}.free-section,.about-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:100px 7%;align-items:center}.free-section p{max-width:560px}.document{background:#fdfaf0;border:1px solid #a5a28f;box-shadow:8px 9px 0 #d2d0c5;padding:35px;min-height:440px;text-align:center;position:relative}.dochead{font-size:11px;letter-spacing:2px;border-bottom:2px solid var(--ink);padding-bottom:17px;line-height:2}.docseal{font-size:90px;color:#b18e5d;margin:12px}.document h3{font-size:23px}.document p{font-size:13px}.lines{text-align:left;line-height:2.2;border-top:1px solid #ccc5b5;border-bottom:1px solid #ccc5b5;padding:15px;font-size:11px;letter-spacing:1px}.signature{font-style:italic;margin-top:20px;font-size:12px}.pebble-result{background:white;border:1px solid var(--line);padding:16px;margin-top:18px}.pebble-result img{width:90px;float:left;margin-right:15px}.catalog-section{padding:90px 7%;background:#fffdf8}.section-head{display:flex;justify-content:space-between;align-items:center}.stat{font-family:'Libre Baskerville';font-size:55px}.stat small{display:block;font-family:'DM Sans';font-size:10px;letter-spacing:1px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.filters button{border:1px solid var(--line);background:#f4f2e9;padding:11px 15px;font-size:12px;font-weight:700}.filters button.active{background:var(--ink);color:white}.searchrow{display:flex;gap:12px;margin:20px 0 28px}.searchrow input{flex:1}.searchrow input,.searchrow select,.record-form input,.field{border:1px solid #cbd1cc;padding:13px;background:white;min-width:0}.rock-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.rock-card{border:1px solid #e0e0d6;background:white;overflow:hidden;display:flex;flex-direction:column}.rock-card img{width:100%;aspect-ratio:1.18;object-fit:cover}.rock-info{padding:17px;display:flex;flex-direction:column;flex:1}.rock-info small{font-size:10px;color:#7e6b51;letter-spacing:1px;font-weight:800}.rock-info h3{font-size:20px;margin:9px 0}.rock-info p{font-size:12px;margin:0 0 15px;flex:1}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:13px}.card-bottom button{border:1px solid var(--ink);background:transparent;padding:9px 12px;font-size:11px;font-weight:800}.card-bottom button:disabled{opacity:.4;cursor:not-allowed}.records-section{padding:90px 7%;background:#e6e9e1}.records-section p{max-width:650px}.record-form{display:flex;gap:10px;max-width:620px}.record-form input{flex:1}.result-box{margin-top:18px}.about-section{align-items:start}.faq{padding:70px 7% 100px;background:#fffdf8}.faq details{border-bottom:1px solid var(--line);padding:18px 0;max-width:880px}.faq summary{font-weight:800;cursor:pointer}.faq details p{font-size:14px}footer{background:var(--ink);color:#fff;padding:55px 7% 25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:35px}footer p,footer small{color:#bccbc8}footer div:nth-child(2){display:flex;gap:18px;flex-wrap:wrap}footer a{font-size:12px}footer small{width:100%;border-top:1px solid #ffffff30;padding-top:22px}dialog{border:1px solid #bcc6bf;background:#fffdf6;color:var(--ink);width:min(570px,94vw);max-height:90vh;overflow:auto;padding:30px;box-shadow:0 20px 70px #0006}dialog::backdrop{background:#071d24b8}.close{float:right;background:none;border:none;font-size:28px}.modal-rock{width:100%;max-height:210px;object-fit:contain;background:#eee9dd}.modal-form{display:grid;gap:12px;margin-top:15px}.modal-form label{font-size:12px;font-weight:800;display:grid;gap:5px}.modal-form input{padding:12px;border:1px solid #bdc9c1}.hint{font-size:12px;color:#627476}.error{color:#9b352a}.success{color:#206047}#toast{position:fixed;bottom:20px;right:20px;z-index:20;background:var(--ink);color:white;padding:14px 20px;display:none;max-width:340px}.cert{background:#fffdf5;border:8px double #bca77d;padding:26px;text-align:center}.cert h2{font-size:27px}.cert img{width:150px}.cert .serial{font-family:monospace}.cert p{font-size:13px}@media(max-width:1100px){nav{gap:12px}.rock-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.topline span{display:none}header{height:70px}.menu{display:block}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffdf7;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}header nav.open{display:flex}.outline{padding:9px}.brand small{font-size:7px}.brand b{font-size:17px}.seal{width:39px;height:39px;font-size:25px}.hero,.free-section,.about-section{grid-template-columns:1fr}.hero-copy{padding:70px 7%}.hero-art{min-height:370px}.hero-art img{width:55%}.notice{flex-wrap:wrap}.free-section,.about-section{padding:70px 7%}.rock-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rock-info{padding:12px}.rock-info h3{font-size:17px}.section-head{align-items:start}.stat{font-size:37px}.record-form{flex-direction:column}}@media(max-width:400px){.rock-grid{grid-template-columns:1fr}.searchrow{flex-direction:column}}

/* FRAA v2.3: agency achievements and registry */
.achievement-panel{border:1px solid #c5ac75;background:#faf6e8;padding:16px;margin:18px 0}.badge-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 4px;border-bottom:1px solid #e4d7b9;color:#777}.badge-line.earned{color:#17343a}.badge-line small{font-size:11px;text-align:right}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.stats-grid>div{background:#f8f1df;padding:14px;text-align:center}.stats-grid b{display:block;font-size:26px}.stats-grid small{font-size:10px;letter-spacing:1px}@media(max-width:650px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-line{display:block}.badge-line small{display:block;text-align:left}}

/* v2.4 citizen portal earned commendations and action spacing */
.achievement-panel { margin-bottom: 22px; }
.achievement-panel .badge-line { display:flex; flex-direction:column; gap:4px; padding:9px 0; border-bottom:1px solid #e6ddc9; }
.achievement-panel .badge-line small { display:block; font-size:.86rem; line-height:1.45; }
.portal-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; margin-bottom:16px; }

/* v2.5: Agency statistics presentation */
#agencyStats .stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 26px}
#agencyStats .stats-grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f8f1df;border:1px solid #dacbab;border-radius:3px;padding:20px 12px;min-height:112px;text-align:center}
#agencyStats .stats-grid b{display:block;font-family:'Libre Baskerville',serif;font-size:30px;line-height:1.2}
#agencyStats .stats-grid small{display:block;font-size:10px;line-height:1.5;letter-spacing:1px;font-weight:700}
@media(max-width:650px){#agencyStats .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
