/*
Theme Name: BISON SYSTEMS
Theme URI: https://example.com/
Author: BISON SYSTEMS
Description: WordPress conversion of the BISON SYSTEMS client demo. Content is managed through WordPress Pages/Posts while the theme controls presentation.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: bison-systems
*/
:root{--ink:#17191d;--paper:#f7f6f2;--paper-2:#efede7;--white:#fff;--line:#dedbd3;--muted:#656b73;--accent:#c4b79f;--accent-dark:#0A3D91;--max:1180px;--shadow:0 18px 50px rgba(23,25,29,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 44px));margin:auto}
.topline{border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);letter-spacing:.04em}.topline .container{display:flex;justify-content:flex-end;gap:22px;padding:9px 0}
header{position:sticky;top:0;z-index:50;background:rgba(247,246,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,219,211,.85)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:175px}.navlinks{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.navlinks>ul{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}.navlinks>ul>li{list-style:none;margin:0;padding:0}.navlinks a{position:relative;color:#33373d}.navlinks a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--accent-dark);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.navlinks a.active{font-weight:700}.nav-cta{padding:11px 17px;border:1px solid var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.menu{display:none;border:0;background:none;font-size:25px;cursor:pointer}
.hero{padding:74px 0 90px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--accent-dark);font-weight:700;margin-bottom:20px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.12;margin:0}h1{font-size:clamp(46px,6vw,78px);letter-spacing:-.035em}h2{font-size:clamp(35px,4.5vw,56px);letter-spacing:-.025em}h3{font-size:25px}.hero p{font-size:18px;color:var(--muted);max-width:650px;margin:28px 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border:1px solid var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.12em;transition:.25s;cursor:pointer}.btn.dark{background:var(--ink);color:var(--white)}.btn.light{background:transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(23,25,29,.1)}.hero-art{border:1px solid #30343a;box-shadow:var(--shadow);overflow:hidden}.hero-art img{width:100%}
.section{padding:92px 0}.section.alt{background:var(--paper-2)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-head p{max-width:500px;color:var(--muted);margin:0}.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dark);font-weight:700;margin-bottom:13px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{background:var(--paper);padding:32px;min-height:220px}.card .num,.step .num{font-family:Georgia,serif;font-size:16px;color:var(--accent-dark)}.card h3{margin:18px 0 10px}.card p{margin:0;color:var(--muted);font-size:14px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.lead{font-family:Georgia,serif;font-size:28px;line-height:1.35}.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:30px 22px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{font-family:Georgia,serif;font-size:38px;font-weight:500;display:block}.stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{padding:28px 22px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step h3{font-size:20px;margin:15px 0 8px}.step p{font-size:13px;color:var(--muted);margin:0}.quote{padding:60px;border:1px solid var(--line);background:var(--white)}.quote p{font-family:Georgia,serif;font-size:28px;line-height:1.35;margin:0 0 24px}.quote small{color:var(--muted)}.page-hero{padding:82px 0 72px;border-bottom:1px solid var(--line)}.page-hero p{max-width:700px;color:var(--muted);font-size:17px;margin:20px 0 0}
.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:80px 1fr 1.1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.service-row .num{font-family:Georgia,serif;font-size:18px;color:var(--accent-dark)}.service-row h3{font-size:30px}.service-row p{margin:0;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post{background:var(--white);border:1px solid var(--line);transition:.25s}.post:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.post-art{height:190px;background:#1c1e22;position:relative;overflow:hidden}.post-art:before,.post-art:after{content:"";position:absolute;border:1px solid rgba(196,183,159,.55);transform:rotate(18deg)}.post-art:before{width:260px;height:120px;left:40px;top:40px}.post-art:after{width:180px;height:180px;right:-30px;top:-40px;border-radius:50%}.post-body{padding:25px}.post-meta{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-dark)}.post h3{font-size:24px;margin:12px 0}.post p{color:var(--muted);font-size:14px;margin:0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-item{padding:22px 0;border-bottom:1px solid var(--line)}.contact-item span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-dark);margin-bottom:5px}form.bison-form{background:var(--white);border:1px solid var(--line);padding:35px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}input,textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;font:inherit;outline:none}textarea{min-height:130px;resize:vertical}.field{margin-bottom:24px}.full{grid-column:1/-1}.form-note{margin:16px 0 0;font-size:12px}
footer{background:#17191d;color:#e9e6df;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:45px}footer .logo{filter:invert(1);opacity:.92}footer p{color:#a9adb2;font-size:13px}footer h4{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#c4b79f;margin:0 0 15px}footer a{display:block;color:#c7c9cc;font-size:13px;margin:8px 0}.copyright{border-top:1px solid #30343a;margin-top:45px;padding-top:18px;color:#8e9399;font-size:11px;display:flex;justify-content:space-between}.reveal{animation:rise .7s ease both}.delay{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.wp-block-group.bison-section{padding-top:92px;padding-bottom:92px}.wp-block-group.bison-alt{background:var(--paper-2)}.wp-block-columns.bison-split{gap:80px}.wp-block-button__link{border-radius:0}.wp-block-image img{margin:auto}.entry-content > *{max-width:var(--max);margin-left:auto;margin-right:auto}.entry-content .alignwide{max-width:var(--max)}.entry-content .alignfull{max-width:none}
@media(max-width:900px){.navlinks{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 22px;flex-direction:column;align-items:flex-start;gap:18px}.navlinks>ul{flex-direction:column;align-items:flex-start;gap:18px;width:100%}.navlinks.open{display:flex}.nav-cta{display:none}.menu{display:block}.hero-grid,.split,.contact-grid{grid-template-columns:1fr;gap:40px}.grid-4{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.process{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.container{width:min(var(--max),calc(100% - 28px))}.topline{display:none}.nav{min-height:70px}.navlinks{top:70px}.hero{padding:50px 0 65px}h1{font-size:43px}.section{padding:65px 0}.section-head{display:block}.section-head p{margin-top:18px}.grid-4,.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.service-row{grid-template-columns:45px 1fr;gap:15px}.service-row p{grid-column:2}.fields{grid-template-columns:1fr}.full{grid-column:auto}form.bison-form{padding:22px}.footer-grid{grid-template-columns:1fr}.copyright{display:block}}

/* Final layout fixes */
.hero-art{min-width:0;aspect-ratio:900/650;background:#17191d}
.hero-art img{display:block;width:100%;height:auto;min-height:100%;object-fit:cover}
.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.post{display:flex;flex-direction:column;min-width:0;width:100%;height:100%}
.post-art{display:block;width:100%;height:210px;min-height:210px;flex:0 0 210px}
.post-art img{display:block;width:100%;height:100%;object-fit:cover}
.post-body{display:flex;flex-direction:column;flex:1;min-width:0}
.post-body .post-read-more{margin-top:auto;padding-top:18px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark)}
.post h3,.post h3 a{overflow-wrap:anywhere}
footer a[href^="mailto:"]{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}.post-art{height:190px;min-height:190px;flex-basis:190px}}
