/* Bisnar & Associates — design system
   Palette drawn from the firm monogram */
:root{
  --field:#A9D1DB;        /* logo pale blue */
  --field-tint:#C3DFE6;   /* lighter blue for hovers */
  --ink:#10181C;          /* logo near-black */
  --navy:#1E3A4C;         /* deep cool navy for headings/links */
  --paper:#FCFAF5;        /* warm reading surface */
  --hairline:rgba(16,24,28,.28);
  --hairline-soft:rgba(16,24,28,.14);
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --measure:66ch;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--serif);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

/* ---------- utility type ---------- */
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);font-weight:600}
.small{font-size:.85rem;color:rgba(16,24,28,.72)}

/* ---------- header ---------- */
.site-head{background:var(--field);border-bottom:1.5px solid var(--ink)}
.site-head .bar{max-width:1080px;margin:0 auto;padding:1.05rem 1.25rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-size:1.22rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;font-weight:400}
.wordmark .amp{font-style:italic}
.site-nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.site-nav a{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding-bottom:2px;border-bottom:1.5px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{border-bottom-color:var(--ink)}

/* ---------- deco frame: signature device from the monogram ---------- */
.deco{position:relative;border:1.5px solid var(--ink);padding:1.6rem 1.7rem;background:var(--paper)}
.deco::before{content:"";position:absolute;left:-9px;right:-9px;top:13px;border-top:1.5px solid var(--ink);pointer-events:none}
.deco::after{content:"";position:absolute;top:-9px;bottom:-9px;left:13px;border-left:1.5px solid var(--ink);pointer-events:none}
.deco.on-field{background:transparent}

/* section heading with short crossing rule */
.sect{max-width:1080px;margin:0 auto;padding:3.4rem 1.25rem}
.sect-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.8rem}
.sect-head::after{content:"";flex:1;border-top:1px solid var(--hairline)}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.18}
h1{font-size:clamp(2rem,4.6vw,3.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.45rem,2.6vw,1.9rem)}
h3{font-size:1.16rem}

/* ---------- hero (blue field) ---------- */
.hero{background:var(--field);border-bottom:1.5px solid var(--ink)}
.hero .inner{max-width:1080px;margin:0 auto;padding:4rem 1.25rem 4.4rem;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:3rem;align-items:center}
.hero p.lede{max-width:56ch;margin-top:1.2rem;font-size:1.06rem}
.hero .mark img{width:100%;max-width:250px;margin:0 auto}
@media (max-width:760px){.hero .inner{grid-template-columns:1fr}.hero .mark{order:-1}.hero .mark img{max-width:170px;margin:0}}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:.85rem 1.5rem;border:1.5px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--navy);border-color:var(--navy)}
.btn-row{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.card h3{margin-bottom:.6rem}
.card p{font-size:.95rem;line-height:1.65}
.card .eyebrow{display:block;margin-bottom:.9rem}
.card a.more{font-family:var(--sans);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid var(--ink);color:var(--ink);padding-bottom:1px}
.card a.more:hover{color:var(--navy);border-bottom-color:var(--navy)}
.card .more-wrap{margin-top:1.1rem}

/* ---------- prose ---------- */
.prose{max-width:var(--measure)}
.prose p{margin-bottom:1.1rem}
.prose h2{margin:2.2rem 0 .9rem}
.prose h3{margin:1.8rem 0 .7rem}
.prose ul,.prose ol{margin:0 0 1.1rem 1.4rem}
.prose li{margin-bottom:.45rem}
.prose .disclaimer{border-top:1px solid var(--hairline);margin-top:2.4rem;padding-top:1.1rem;font-style:italic;font-size:.9rem;color:rgba(16,24,28,.75)}

/* ---------- profile layout ---------- */
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem}
@media (max-width:820px){.profile-grid{grid-template-columns:1fr}}
.portrait{border:1.5px solid var(--ink)}
.sidebar .deco{padding:1.3rem 1.4rem;margin-top:1.6rem}
.sidebar h3{font-size:.98rem;margin-bottom:.5rem}
.sidebar ul{list-style:none}
.sidebar li{font-size:.88rem;line-height:1.55;margin-bottom:.55rem;padding-left:.9rem;text-indent:-.9rem}
.sidebar li::before{content:"—";margin-right:.4rem;color:var(--navy)}

/* ---------- insights ---------- */
.insight-list{display:grid;gap:1.4rem}
.insight-item{border-top:1px solid var(--hairline);padding-top:1.3rem}
.insight-item h3 a{text-decoration:none;color:var(--ink)}
.insight-item h3 a:hover{color:var(--navy)}
.byline{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(16,24,28,.6);margin:.4rem 0 .6rem}
.article-head{background:var(--field);border-bottom:1.5px solid var(--ink)}
.article-head .inner{max-width:1080px;margin:0 auto;padding:3.2rem 1.25rem}
.article-head h1{max-width:22ch}

/* ---------- forms ---------- */
form{max-width:34rem}
label{display:block;font-family:var(--sans);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin:1.1rem 0 .35rem}
input,textarea{width:100%;font-family:var(--serif);font-size:1rem;padding:.7rem .8rem;border:1.5px solid var(--ink);background:#fff;color:var(--ink)}
textarea{min-height:9rem;resize:vertical}
.notice{background:var(--field-tint);border:1.5px solid var(--ink);padding:1rem 1.2rem;font-size:.92rem;line-height:1.6;margin-bottom:1.6rem}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:rgba(252,250,245,.85);margin-top:4rem}
.site-foot .inner{max-width:1080px;margin:0 auto;padding:2.6rem 1.25rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media (max-width:720px){.site-foot .inner{grid-template-columns:1fr}}
.site-foot a{color:rgba(252,250,245,.85)}
.site-foot .fm{font-family:var(--serif);font-size:1.05rem;color:#fff;margin-bottom:.6rem}
.site-foot p,.site-foot li{font-size:.85rem;line-height:1.65}
.site-foot ul{list-style:none}
.site-foot .legal{grid-column:1/-1;border-top:1px solid rgba(252,250,245,.25);padding-top:1.2rem;font-size:.78rem;color:rgba(252,250,245,.6)}
