/* ============================================================
   Seaboard Equipment Finance - shared stylesheet
   Marine charting identity: navy + teal + brass, Fraunces / Inter / IBM Plex Mono
   ============================================================ */
:root{
  --ink:#0E2A38; --ink2:#17323D; --teal:#1F6F78; --steel:#47707C;
  --paper:#FCFBF8; --mist:#EFF3F4; --line:#DCE3E4; --muted:#54666E; --muted2:#7C8A90;
  --acc:#C6772A; --acc-d:#A9611F;      /* brand default = construction brass */
  --maxw:1120px;
  --radius:6px;
}
/* per-vertical theming */
body.theme-medical{ --acc:#1F6F78; --acc-d:#175860; }
body.theme-restaurant{ --acc:#A6482C; --acc-d:#8A3A22; }

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.4px;line-height:1.07}
.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--acc)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:10px 16px;border-radius:4px;z-index:200;box-shadow:0 4px 14px rgba(0,0,0,.15)}

/* buttons */
.btn{display:inline-block;font-weight:600;font-size:14px;padding:12px 22px;border-radius:4px;transition:.15s;cursor:pointer;border:1.5px solid transparent;font-family:inherit;text-align:center}
.btn-p{background:var(--acc);color:#fff}
.btn-p:hover{background:var(--acc-d)}
.btn-o{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-o:hover{border-color:var(--acc);color:var(--acc)}
.btn-w{background:#fff;color:var(--acc-d)}
.btn-ow{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ow:hover{background:rgba(255,255,255,.12)}

/* ---------- header / nav ---------- */
header.site{position:sticky;top:0;z-index:100;background:rgba(252,251,248,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.brand{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--ink);white-space:nowrap}
.brand .d{color:var(--acc)}
.navlinks{display:flex;align-items:center;gap:4px;list-style:none}
.navlinks>li{position:relative}
.navlinks a,.navlinks .dbtn{display:inline-block;font-size:14px;font-weight:500;color:var(--muted);padding:9px 13px;border-radius:4px;background:none;border:none;font-family:inherit;cursor:pointer}
.navlinks a:hover,.navlinks .dbtn:hover{color:var(--ink)}
.navlinks a.active{color:var(--acc);font-weight:600}
.navlinks .dbtn::after{content:"\25be";margin-left:6px;font-size:10px;color:var(--muted2)}
.navcta{display:flex;align-items:center;gap:12px}
.navcta .phone{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted);white-space:nowrap}
/* dropdown */
.dropdown .menu{position:absolute;top:calc(100% + 6px);left:0;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:6px;
  box-shadow:0 12px 30px rgba(14,42,56,.10);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.15s;list-style:none}
.dropdown .menu li{margin:0}
.dropdown .menu a{display:block;padding:10px 12px;border-radius:4px;color:var(--ink2);font-size:14px;font-weight:500}
.dropdown .menu a:hover{background:var(--mist);color:var(--acc)}
.dropdown.open .menu,.dropdown:focus-within .menu{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:hover){ .dropdown:hover .menu{opacity:1;visibility:visible;transform:translateY(0)} }
/* hamburger */
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamb span{width:22px;height:2px;background:var(--ink);transition:.2s;display:block}

/* ---------- hero ---------- */
.hero{padding:74px 0 58px;position:relative}
.hero .eyebrow{margin-bottom:18px}
.hero h1{font-size:58px;max-width:16ch}
.hero .lede{font-size:19px;color:var(--steel);max-width:58ch;margin-top:22px}
.hero .cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.trustbar{display:flex;gap:26px;margin-top:40px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line)}
.trustbar div{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);letter-spacing:.3px}
.trustbar b{color:var(--acc);font-weight:600}
.ticks{display:flex;align-items:flex-end;gap:5px;height:18px;margin:0 0 10px}
.ticks i{width:2px;background:var(--acc);display:block;opacity:.9}

/* ---------- stats band ---------- */
.band{background:var(--ink);color:#EAF1F2;padding:46px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.stat .n{font-family:'Fraunces',serif;font-weight:600;font-size:38px;color:#fff;line-height:1}
.stat .l{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--acc);margin-top:10px}
.stat .x{font-size:12.5px;color:#A9BAC0;margin-top:6px;line-height:1.45}

/* ---------- generic sections ---------- */
section.pad{padding:70px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.mist{background:var(--mist)}
.sechead{max-width:62ch;margin-bottom:38px}
.sechead .eyebrow{margin-bottom:12px}
.sechead h2{font-size:34px}
.sechead p{color:var(--steel);font-size:16.5px;margin-top:14px}

/* vertical cards (home) */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;transition:.15s}
.vcard:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(14,42,56,.08);border-color:var(--vac,var(--acc))}
.vcard .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--vac,var(--acc));font-weight:600}
.vcard h3{font-size:23px;margin-top:12px}
.vcard p{font-size:14.5px;color:var(--muted);margin-top:12px;flex:1}
.vcard .go{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--vac,var(--acc));margin-top:18px}
.vcard .eqmini{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted2);margin-top:14px;line-height:1.7;border-top:1px solid var(--line);padding-top:12px}

/* equipment grid */
.eqgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.eqcard{background:#fff;border:1px solid var(--line);border-radius:5px;padding:22px;transition:.15s}
.eqcard:hover{border-color:var(--acc);transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,42,56,.06)}
.eqcard .rank{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12px;color:var(--acc)}
.eqcard h3{font-family:'Inter',sans-serif;font-weight:600;font-size:16.5px;margin-top:10px;letter-spacing:0;color:var(--ink2)}
.eqcard .price{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted);margin-top:8px}
.eqcard .desc{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.5}

/* why columns */
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px}
.whyitem{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.whyitem .k{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:13px;color:var(--acc);flex:none;width:26px}
.whyitem h3{font-family:'Inter',sans-serif;font-weight:600;font-size:16px;letter-spacing:0}
.whyitem p{font-size:14px;color:var(--muted);margin-top:5px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{padding-top:26px;border-top:2px solid var(--acc)}
.step .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--acc);font-weight:600;letter-spacing:1px}
.step h3{font-family:'Inter',sans-serif;font-weight:600;font-size:18px;margin-top:8px;letter-spacing:0}
.step p{font-size:14px;color:var(--muted);margin-top:8px}

/* solve list */
.solve{background:var(--mist);border-radius:8px;padding:12px 26px}
section.mist .solve{background:#fff;border:1px solid var(--line)}
.solverow{display:grid;grid-template-columns:1fr auto 1.3fr;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.solverow:last-child{border-bottom:none}
.solverow .c{font-size:15px;color:var(--steel)}
.solverow .a{font-family:'IBM Plex Mono',monospace;color:var(--acc);font-weight:600;font-size:16px}
.solverow .s{font-size:15px;font-weight:600;color:var(--ink2)}

/* 179 promo */
.promo{background:var(--ink);border-radius:8px;padding:44px 46px;display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;color:#fff}
.promo .big{font-family:'Fraunces',serif;font-weight:600;font-size:54px;line-height:.95;white-space:nowrap}
.promo .biglab{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--acc);margin-top:8px}
.promo h2{font-size:25px;color:#fff}
.promo p{color:#B7C6CB;font-size:14.5px;margin-top:10px;max-width:54ch}
.promo .fine{color:#7E939B;font-size:12px;font-style:italic;margin-top:8px}

/* faq */
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:600;font-size:16.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--ink2)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'IBM Plex Mono',monospace;color:var(--acc);font-size:22px;flex:none}
.faq details[open] summary::after{content:"\2013"}
.faq p{font-size:14.5px;color:var(--muted);margin-top:12px;max-width:80ch;line-height:1.6}

/* sell-sheet download card */
.dlcard{display:flex;align-items:center;gap:24px;background:var(--ink);color:#EAF1F2;border-radius:8px;padding:28px 32px;flex-wrap:wrap}
.dlcard .doc{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--acc)}
.dlcard h3{color:#fff;font-size:22px;margin-top:8px}
.dlcard p{color:#B7C6CB;font-size:14px;margin-top:8px;max-width:52ch}
.dlcard .grow{flex:1;min-width:240px}

/* quote */
.quote{max-width:74ch}
.quote p{font-family:'Fraunces',serif;font-size:25px;line-height:1.42;color:var(--ink2);font-weight:500}
.quote .who{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--muted);margin-top:18px}
.sample{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.5px;color:var(--muted2);text-transform:uppercase;margin-top:8px}

/* final cta */
.final{background:linear-gradient(135deg,var(--acc),var(--acc-d));color:#fff;text-align:center;padding:66px 0}
.final h2{font-size:38px;color:#fff}
.final p{font-size:17px;color:rgba(255,255,255,.92);margin-top:14px;max-width:60ch;margin-left:auto;margin-right:auto}
.final .cta{display:flex;gap:14px;justify-content:center;margin-top:30px;flex-wrap:wrap}

/* contact */
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.cinfo .row{padding:20px 0;border-top:1px solid var(--line)}
.cinfo .row .lab{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--acc);font-weight:600}
.cinfo .row .val{font-size:17px;color:var(--ink2);margin-top:6px;font-weight:500}
.cinfo .row .val a:hover{color:var(--acc)}
.cinfo .row .sub{font-size:13.5px;color:var(--muted);margin-top:4px}
form.lead{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}
form.lead .fld{margin-bottom:16px}
form.lead label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:6px}
form.lead input,form.lead select,form.lead textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  padding:12px 13px;border:1.5px solid var(--line);border-radius:5px;background:#fff}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{border-color:var(--acc);outline:none}
form.lead textarea{min-height:110px;resize:vertical}
form.lead .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.lead .btn-p{width:100%;margin-top:6px;font-size:15px;padding:14px}
form.lead .note{font-size:11.5px;color:var(--muted2);margin-top:12px;line-height:1.5}

/* footer */
footer.site{background:var(--ink);color:#9FB2B8;padding:52px 0 34px;font-size:13.5px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
footer.site .brand{color:#fff;display:block;margin-bottom:12px}
footer.site .fabout{max-width:38ch;line-height:1.6}
footer.site h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#7E939B;font-weight:600;margin-bottom:14px}
footer.site ul{list-style:none}
footer.site li{margin-bottom:9px}
footer.site a{color:#9FB2B8}
footer.site a:hover{color:#fff}
.fcontact{font-family:'IBM Plex Mono',monospace;line-height:1.9}
.fcontact b{color:var(--acc)}
.disc{border-top:1px solid #23414E;margin-top:34px;padding-top:20px;font-size:11.5px;color:#6E858D;line-height:1.65;max-width:96ch}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .hero h1{font-size:40px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .vgrid,.eqgrid,.steps{grid-template-columns:1fr}
  .why{grid-template-columns:1fr}
  .promo{grid-template-columns:1fr;text-align:left;gap:18px}.promo .big{font-size:44px}
  .solverow{grid-template-columns:1fr;gap:6px}.solverow .a{display:none}
  .contactgrid{grid-template-columns:1fr;gap:28px}
  .fgrid{grid-template-columns:1fr;gap:26px}
  .sechead h2{font-size:27px}.final h2{font-size:28px}
  /* mobile nav */
  .hamb{display:flex}
  .navcta .phone{display:none}
  .navlinks{position:fixed;inset:66px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);
    border-bottom:1px solid var(--line);padding:10px 20px 20px;box-shadow:0 12px 24px rgba(14,42,56,.08);
    max-height:0;overflow:hidden;transition:max-height .28s ease;padding-top:0;padding-bottom:0}
  header.site.open .navlinks{max-height:560px;padding-top:10px;padding-bottom:20px}
  .navlinks>li{width:100%}
  .navlinks a,.navlinks .dbtn{display:block;width:100%;padding:12px 6px;font-size:15px;border-bottom:1px solid var(--line)}
  .dropdown .menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;
    max-height:0;overflow:hidden;transition:max-height .2s ease;padding:0 0 0 12px;min-width:0}
  .dropdown.open .menu{max-height:320px}
  @media(hover:hover){ .dropdown:hover .menu{max-height:0} .dropdown.open:hover .menu{max-height:320px} }
  .dropdown .menu a{border-bottom:1px solid var(--line)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
