/* Founders Web Canada — shared styles.
   Ported from the US site's proven system (mint on white, Fraunces + Inter +
   Plus Jakarta Sans). Static site, no build step: pages link this file and add
   only page-specific rules inline.

   LAWS ENCODED HERE, each learned from a real mistake:
   - html font-size 17.5px: the senior-friendly floor. The audience is owners
     in their 50s-70s; verify_mobile.mjs hard-fails under 17px.
   - the mobile nav: below 760px the pill CTA leaves the top row entirely and
     becomes a full-width .cta-bar under it; the burger panel opens BELOW that
     bar. .nav-in must go position:static at mobile or the panel anchors wrong.
   - white-space:nowrap on nav links: "Let's talk" wrapped to two ugly lines
     without it.
   - overflow-wrap:anywhere on prose: long strings (emails, part numbers) are
     the #1 cause of the clipped-text failures the overflow law bans.
*/
:root{
  --bg:#ffffff; --bg2:#f4faf8; --card:#ffffff; --line:#dfece7;
  --text:#17251f; --muted:#5f7169;
  --mint:#0eaf85; --mint2:#1fc998; --mint-soft:rgba(14,175,133,.12);
  --grad:linear-gradient(100deg,#0eaf85 10%,#1fc998 90%);
  --leaf-red:#b23a2e; --deep:#20324d; --cream:#fdf9ef;
  --head:"Plus Jakarta Sans","Inter","Segoe UI",system-ui,sans-serif;
  --serif:"Fraunces",Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:17.5px}
body{background:var(--bg);color:var(--text);font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{max-width:100%}
p,li{overflow-wrap:anywhere}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(231,246,240,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);overflow:hidden}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:86px;position:relative}
.mark{display:flex;align-items:center;position:relative}
.mark img{height:60px;width:auto;display:block;position:relative;z-index:1}
@media(max-width:640px){.mark img{height:40px}.nav-in{height:68px}}
.mark.foot img{height:50px;opacity:.92}
.nav-links{display:flex;gap:26px;font-size:.92rem;font-weight:500;color:var(--muted)}
.nav-links a{white-space:nowrap}
.nav-links a:hover{color:var(--text)}
.nav-links a.on{color:var(--mint)}
.nav-in .btn{padding:9px 18px}
.nav-burger{display:none;background:none;border:0;cursor:pointer;padding:.6rem .4rem}
.nav-burger svg{display:block}
.nav-burger .nx{display:none}
.cta-bar{display:none}
@media(max-width:760px){
  .nav-in{position:static}
  .nav-in .btn{display:none}
  .cta-bar{display:block;text-align:center;background:var(--grad);color:#fff;font-family:var(--head);font-weight:800;font-size:1.02rem;letter-spacing:.02em;padding:13px 16px;text-decoration:none}
  .nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:#eef8f3;border-bottom:3px solid var(--mint);box-shadow:0 18px 30px rgba(23,37,31,.15);font-size:1.02rem}
  .nav-links a{padding:15px 24px;border-bottom:1px solid var(--line);color:var(--text)}
  nav.open .nav-links{display:flex}
  .nav-burger{display:block;margin-left:auto}
  nav.open .nav-burger .bars{display:none}
  nav.open .nav-burger .nx{display:block}
}

/* BUTTONS */
.btn{display:inline-block;white-space:nowrap;padding:13px 26px;border-radius:10px;font-weight:700;font-size:.96rem;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;border:none;font-family:inherit}
.btn-mint{background:var(--grad);color:#fff}
.btn-mint:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(31,201,152,.35)}
.btn-ghost{border:1px solid var(--mint);color:var(--text)}
.btn-ghost:hover{color:var(--mint)}
.btn-red{background:linear-gradient(180deg,#c8402f,#992e1e);color:#fff}
.btn-red:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(178,58,46,.35)}

/* SECTIONS */
section{padding:70px 0}
.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mint);margin-bottom:14px}
.sec-head{text-align:center;margin-bottom:42px}
.sec-head h2{text-wrap:balance;font-family:var(--head);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.6rem,3.3vw,2.3rem);margin-bottom:12px}
.sec-head p{color:var(--muted);max-width:620px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 26px;box-shadow:0 2px 18px rgba(23,37,31,.06)}
.tint{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* PAGE HEAD (inner pages) */
.phead{padding:66px 0 46px;text-align:center;background:radial-gradient(900px 420px at 42% -12%,rgba(14,175,133,.12),transparent 60%),var(--bg)}
.phead h1{text-wrap:balance;font-family:var(--head);font-weight:800;font-size:clamp(1.9rem,4.6vw,3.1rem);line-height:1.14;letter-spacing:-.025em;max-width:860px;margin:0 auto 16px}
.phead p{color:var(--muted);font-size:1.1rem;max-width:640px;margin:0 auto}
h1 em,h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--mint)}

/* LEAF DIVIDER */
.leaves{display:flex;justify-content:center;gap:16px;margin:0 0 16px;color:var(--leaf-red)}
.leaves span{display:block;width:20px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22540.00%20400.00%203720.00%204030.00%22%3E%3Cpath%20d%3D%22m2490%204430-45-863a95%2095%200%200%201%20111-98l859%20151-116-320a65%2065%200%200%201%2020-73l941-762-212-99a65%2065%200%200%201-34-79l186-572-542%20115a65%2065%200%200%201-73-38l-105-247-423%20454a65%2065%200%200%201-111-57l204-1052-327%20189a65%2065%200%200%201-91-27l-332-652-332%20652a65%2065%200%200%201-91%2027l-327-189%20204%201052a65%2065%200%200%201-111%2057l-423-454-105%20247a65%2065%200%200%201-73%2038l-542-115%20186%20572a65%2065%200%200%201-34%2079l-212%2099%20941%20762a65%2065%200%200%201%2020%2073l-116%20320%20859-151a95%2095%200%200%201%20111%2098l-45%20863z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%22540.00%20400.00%203720.00%204030.00%22%3E%3Cpath%20d%3D%22m2490%204430-45-863a95%2095%200%200%201%20111-98l859%20151-116-320a65%2065%200%200%201%2020-73l941-762-212-99a65%2065%200%200%201-34-79l186-572-542%20115a65%2065%200%200%201-73-38l-105-247-423%20454a65%2065%200%200%201-111-57l204-1052-327%20189a65%2065%200%200%201-91-27l-332-652-332%20652a65%2065%200%200%201-91%2027l-327-189%20204%201052a65%2065%200%200%201-111%2057l-423-454-105%20247a65%2065%200%200%201-73%2038l-542-115%20186%20572a65%2065%200%200%201-34%2079l-212%2099%20941%20762a65%2065%200%200%201%2020%2073l-116%20320%20859-151a95%2095%200%200%201%20111%2098l-45%20863z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain}

/* FOOTER */
footer{background:#0f1a15;color:#9fb0a8;padding:52px 0 40px;position:relative;overflow:hidden}
.foot-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
footer .small{font-size:.86rem;line-height:1.7}
footer a{color:#cfe6dc}
