/* Griffin Grinding – Accordion/Reveal products + product layout */
:root{
  --accent:#ff7a00;--ink:#0b1020;--muted:#475569;--border:#e5e7eb;--bg:#fff;--radius:14px;--shadow:0 10px 24px rgba(0,0,0,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,'Noto Sans',sans-serif;color:var(--ink);background:#fff}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}

.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--border)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0}
.logo{display:inline-flex;gap:.6rem;align-items:center;text-decoration:none;color:inherit}
.logo .mark{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#ffb55c);display:grid;place-items:center;color:#111;font-weight:900;box-shadow:var(--shadow)}
.logo b{letter-spacing:.3px}
.menu{display:flex;gap:1.2rem;align-items:center}
.menu a{font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#1f2937;text-decoration:none}
.menu a:hover{color:var(--accent)}
.burger{display:none;border:0;background:transparent;font-size:1.6rem}
@media(max-width:860px){.menu{display:none;position:absolute;left:0;right:0;top:60px;background:#fff;border-bottom:1px solid #eee;padding:1rem 1.2rem;flex-direction:column}.menu.open{display:flex}.burger{display:inline-grid}}

/* Hero */
.hero{background:linear-gradient(180deg,#fff,#fff7f0 40%,#fff);border-bottom:1px solid #f1f5f9}
.hero-inner{padding:3.2rem 0}
.hero h1{margin:0 0 .6rem;font-size:clamp(2.2rem,2rem + 1.8vw,3.6rem);font-weight:900;text-transform:uppercase;letter-spacing:1.1px}
.hero p{color:var(--muted);max-width:70ch}
.cta-row{margin-top:1.2rem;display:flex;gap:.8rem;align-items:center}
.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #e2e8f0;padding:.7rem 1rem;border-radius:999px;background:#fff;color:#111;text-decoration:none}
.btn-primary{background:var(--accent);border-color:transparent;font-weight:800;color:#111;box-shadow:var(--shadow)}

.section{padding:2.4rem 0}
.section h2{margin:0 0 1.1rem;font-size:1.9rem;text-transform:uppercase;letter-spacing:.9px}

/* Accordion buttons grid */
.reveal-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:860px){.reveal-grid{grid-template-columns:1fr 1fr}}
.reveal{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.reveal > button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:#fff;border:0;cursor:pointer;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.reveal > button:hover{background:#fff7f0}
.reveal .chev{transition:transform .2s ease}
.reveal.open .chev{transform:rotate(90deg)}
.reveal .panel{display:grid;grid-template-columns:1fr;gap:1rem;border-top:1px solid var(--border);padding:1rem 1.1rem;max-height:0;opacity:0;transform:translateY(-4px);transition:max-height .25s ease, opacity .2s ease, transform .2s ease}
.reveal.open .panel{max-height:1000px;opacity:1;transform:translateY(0)}
.panel .copy{color:var(--muted)}
.panel .cta{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.panel .cta .btn-primary{box-shadow:var(--shadow)}
.panel img.thumb{width:100%;height:200px;object-fit:cover;border-radius:12px;background:#f1f5f9}

/* Product detail */
.product-hero{padding:1.4rem 0;border-bottom:1px solid var(--border)}
.breadcrumb{font-size:.95rem;color:#64748b}
.breadcrumb a{color:inherit}
.underline{border-bottom:4px solid var(--accent);display:inline-block;padding-bottom:.25rem;margin:0}
.product-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:2rem 0}
.product-wrap img{width:100%;border-radius:var(--radius);background:#f8fafc;box-shadow:var(--shadow)}
.spec-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.spec-card .hd{background:#fff7f0;border-bottom:1px solid #ffe4cc;color:#7a3b00;padding:.9rem 1rem;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.spec-card .bd{padding:1rem}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:.6rem .4rem}

/* Contact strip (product page) */
.contact-strip{margin-top:1.6rem;padding:1rem;border:1px dashed var(--border);border-radius:12px}
.contact-strip h3{margin:0 0 .4rem}
.contact-strip .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:620px){.product-wrap{grid-template-columns:1fr}.contact-strip .row{grid-template-columns:1fr}}
.input{width:100%;padding:.7rem .85rem;border:1px solid #d1d5db;border-radius:10px}

.footer{background:#0b1020;color:#e2e8f0;margin-top:3rem}
.footer .container{display:grid;gap:2rem;grid-template-columns:1.1fr .9fr;padding:2rem 1rem}
.footer h3{color:#fff;margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.8px}
.footer small{color:#94a3b8}
.badge{display:inline-block;background:#fff0e6;color:#a14500;border:1px solid #ffe4cc;padding:.25rem .55rem;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px}
