/* Limestone Capital Partners LLC, one-page site.
   Self-hosted fonts (SIL Open Font License); no third-party requests; no JavaScript. */
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/libre-caslon-text-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/libre-caslon-text-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/libre-caslon-text-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
:root{
  --navy:#1F4E79; --blue:#2E75B6; --stone:#E8E4DC; --stone-lt:#F5F3EE;
  --ink:#17212C; --gray:#595959; --line:#D8D2C6; --white:#fff;
  --display:'Libre Caslon Text',Georgia,'Times New Roman',serif;
  --body:'Source Sans 3',Arial,Helvetica,sans-serif;
  --wrap:1140px; --header-h:78px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto} *{transition:none!important;animation:none!important}
}
body{font-family:var(--body);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--blue);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:.7rem 1.1rem;z-index:200}
.skip:focus{left:0}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.18}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:.9rem}
h3{font-size:1.2rem;margin-bottom:.5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:600;color:var(--gray);margin-bottom:.7rem}
.eyebrow::after{content:"";display:block;width:64px;height:3px;background:var(--navy);margin-top:.55rem}
.eyebrow.light{color:#CBD9E8}.eyebrow.light::after{background:var(--white)}
.lede{font-size:1.15rem;max-width:64ch}
.note{font-size:.9rem;color:var(--gray);margin-top:1.4rem}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(6px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}
.brand img{width:230px}
.nav-desktop ul{display:flex;gap:1.35rem;list-style:none;align-items:center}
.nav-desktop a,.nav-mobile a{font-weight:600;font-size:.92rem;color:var(--ink);text-decoration:none}
.nav-desktop a{padding:.35rem 0;border-bottom:3px solid transparent;transition:color .18s,border-color .18s}
.nav-desktop a:hover{color:var(--navy);border-bottom-color:var(--navy)}
.nav-desktop a.pill,.nav-mobile a.pill{background:var(--navy);color:#fff;padding:.55rem 1.15rem;border-bottom:0}
.nav-desktop a.pill:hover{background:#173C5D;color:#fff}
/* Mobile menu: plain HTML <details>, no script */
.nav-mobile{display:none;position:relative}
.nav-mobile summary{list-style:none;cursor:pointer;width:46px;height:46px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 10px}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile summary span{display:block;height:3px;background:var(--navy)}
.nav-mobile nav{position:absolute;right:0;top:56px;background:var(--white);border:1px solid var(--line);min-width:230px;box-shadow:0 12px 30px rgba(23,33,44,.14)}
.nav-mobile ul{list-style:none;padding:.4rem 0}
.nav-mobile li a{display:block;padding:.75rem 1.4rem;border-bottom:1px solid var(--stone)}
.nav-mobile li:last-child a{border-bottom:0}
.nav-mobile a.pill{margin:.6rem 1rem .4rem;text-align:center}
@media(max-width:1020px){.nav-desktop{display:none}.nav-mobile{display:block}}

/* ---------- signature: running bond course rule ---------- */
.course{height:14px;background:
  repeating-linear-gradient(90deg,var(--navy) 0 46px,transparent 46px 52px),
  repeating-linear-gradient(90deg,transparent 0 23px,var(--blue) 23px 69px,transparent 69px 75px);
  background-size:52px 7px,75px 7px;background-position:0 0,0 7px;background-repeat:repeat-x;opacity:.9}

/* ---------- hero ---------- */
.hero{position:relative;background:url('../../images/hero-1920x1080.jpg') center/cover;color:#fff}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(23,33,44,.9) 0%,rgba(31,78,121,.76) 55%,rgba(31,78,121,.4) 100%)}
.hero-inner{position:relative;z-index:1;padding:7rem 24px 6.4rem;max-width:var(--wrap);margin:0 auto}
.hero .mark{width:54px;margin-bottom:1.1rem}
.hero h1{max-width:15ch}
.hero-sub{margin:1.2rem 0 2rem;max-width:56ch;font-size:1.15rem;color:#E8EEF5}
.btn-row{display:flex;gap:.9rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.8rem 1.6rem;font-weight:700;font-size:.95rem;text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:#173C5D}
.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.13)}
.btn-light{background:#fff;color:var(--navy)}

/* ---------- sections ---------- */
.sec{padding:4.6rem 0}
.sec--alt{background:var(--stone-lt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2rem}
@media(max-width:960px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g3,.g2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:1.7rem}
.card--media{padding:0;overflow:hidden}
.card--media img{border-bottom:1px solid var(--line)}
.card--media .body{padding:1.35rem 1.5rem 1.6rem}
.card--lead{background:var(--navy);border-color:var(--navy);color:#fff}
.card--lead h3{color:#fff}
.card--lead .tag{color:#B0CDE9}
.card--lead p{color:#E3ECF5}
.card--lead{grid-column:1/-1;padding:2.2rem}
.lead-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:2.5rem}
.lead-grid .bio{border-left:1px solid rgba(255,255,255,.22);padding-left:2.5rem}
.lead-grid .bio p{margin-bottom:.9rem}
.lead-grid .bio p:last-child{margin-bottom:0}
@media(max-width:760px){.lead-grid{grid-template-columns:1fr;gap:1.4rem}.lead-grid .bio{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.22);padding-top:1.4rem}}
.tag{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);font-weight:700;margin:.15rem 0 .55rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:1.6rem}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.split p{margin-bottom:1rem}
.rimg{border:1px solid var(--line)}
.ticks{list-style:none;margin:1rem 0 1.5rem}
.ticks li{padding-left:1.6rem;position:relative;margin-bottom:.55rem}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.85em;height:.5em;background:var(--blue)}
/* numbered because acquisition genuinely is a sequence */
.process{list-style:none;counter-reset:step;margin-top:2rem;display:grid;gap:1.3rem}
.process li{counter-increment:step;background:#fff;border:1px solid var(--line);padding:1.5rem 1.7rem 1.5rem 5.2rem;position:relative}
.process li::before{content:counter(step,decimal-leading-zero);position:absolute;left:1.5rem;top:1.3rem;font-family:var(--display);font-size:1.7rem;color:var(--blue)}
.notes article{max-width:74ch;margin-bottom:2.2rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.notes article:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.notes p{margin-bottom:.9rem}

/* ---------- cta ---------- */
.cta{background:var(--navy);color:#fff;text-align:center;padding:4rem 0}
.cta h2{color:#fff}
.cta p{max-width:64ch;margin:1rem auto 1.7rem;color:#D5E1EE}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
address{font-style:normal;margin:.8rem 0 1rem}
form label{display:block;font-weight:700;font-size:.9rem;margin:1rem 0 .3rem}
form input,form select,form textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);background:var(--stone-lt);font:inherit;color:inherit}
form button{margin-top:1.3rem;border:0;font-family:var(--body)}
form input[type=checkbox]{width:auto;margin:.25rem .6rem 0 0;flex:none}
.consent{display:flex;align-items:flex-start;font-weight:400!important;font-size:.88rem!important;line-height:1.5;margin-top:1.2rem!important;color:var(--gray)}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Form result messages: shown with :target after the server redirects to #sent etc. No script. */
.formmsg{display:none;padding:1rem 1.2rem;margin:1.6rem 0 0;border-left:4px solid}
.formmsg:target{display:block}
.formmsg.ok{background:#EEF3EC;border-color:#3F6B4A}
.formmsg.err{background:#F7ECEA;border-color:#9A3B30}
.notice{margin-top:1.8rem;padding:1.1rem 1.3rem;background:var(--stone-lt);border-left:4px solid var(--navy)}
.notice h4{font-family:var(--display);font-size:1.02rem;margin-bottom:.35rem}
.notice p{font-size:.95rem;margin:0}

/* ---------- legal ---------- */
.legal details{border-top:1px solid var(--line)}
.legal details:last-of-type{border-bottom:1px solid var(--line)}
.legal summary{cursor:pointer;padding:1.1rem 0;font-family:var(--display);font-size:1.15rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.legal summary::-webkit-details-marker{display:none}
.legal summary::after{content:"+";font-family:var(--body);font-size:1.5rem;color:var(--blue);line-height:1}
.legal details[open] summary::after{content:"\2212"}
.legal .content{padding-bottom:1.5rem;max-width:78ch}
.legal .content h4{font-size:1rem;margin:1.2rem 0 .4rem}
.legal .content p{margin-bottom:.9rem}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#C9D2DC}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding:3.2rem 24px 2rem;max-width:var(--wrap);margin:0 auto}
@media(max-width:760px){.footer-top{grid-template-columns:1fr}}
.footer-top img{width:255px;margin-bottom:1rem}
.site-footer h4{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:.8rem}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:.45rem}
.site-footer a{color:#C9D2DC;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-legal{border-top:1px solid #2A3542;padding:1.6rem 24px 2.2rem;max-width:var(--wrap);margin:0 auto;font-size:.82rem;color:#8FA0B2}
.footer-legal p{margin-bottom:.7rem}

/* ---------- back to top ---------- */
.totop{position:fixed;right:20px;bottom:20px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;text-decoration:none;font-size:1.2rem;opacity:.85;z-index:90}
.totop:hover{background:#173C5D;opacity:1}

/* Utility classes (replace inline styles, which the security policy blocks) */
.mt-lg{margin-top:1.8rem}
.mt-xl{margin-top:2.2rem}
.mt-0{margin-top:0}
.mb-lg{margin-bottom:2rem}

/* Normalize image slots so any source dimensions render consistently */
.card--media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split .rimg{width:100%;aspect-ratio:3/2;object-fit:cover}
