/* ════════════════════════════════════════════════════════════
   CANADARENTALS v2 — DESIGN SYSTEM
   "Evergreen Ledger" — warm paper + deep evergreen + monospace data
   ════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  /* — Core palette — */
  --paper:      #F7F5F0;   /* warm paper white, page background */
  --paper-dim:  #EFEBE2;   /* slightly deeper paper, for panels */
  --ink:        #14181A;   /* near-black ink, primary text */
  --ink-soft:   #4B5550;   /* secondary text on paper */
  --evergreen:  #1F4D3F;   /* deep evergreen, primary brand */
  --evergreen-2:#2D6B57;   /* lighter evergreen, hover/accent */
  --evergreen-deep: #0F2B22; /* darkest evergreen, dark sections */
  --sand:       #E3D5B8;   /* warm sand accent */
  --sand-2:     #D4C19C;   /* deeper sand */
  --terracotta: #C44536;   /* single warm accent — CTAs/alerts only */
  --terracotta-2:#A8392C;
  --rule:       rgba(20,24,26,.12);   /* hairline rule on paper */
  --rule-soft:  rgba(20,24,26,.07);
  --paper-on-dark: rgba(247,245,240,.9);
  --rule-on-dark:  rgba(247,245,240,.14);
  --ink-on-dark-soft: rgba(247,245,240,.55);

  /* — Type — */
  --display: 'Fraunces', serif;
  --body:    'Inter', sans-serif;
  --mono:    'JetBrains Mono', monospace;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;display:block}

/* — Ledger line item: the signature element — */
.ledger-line{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:.01em;
  color:var(--ink-soft);
  display:flex;
  align-items:baseline;
  gap:8px;
}
.ledger-line .lg-check{color:var(--evergreen);font-weight:700}
.ledger-line .lg-dot{
  flex:1;border-bottom:1px dotted var(--rule);
  transform:translateY(-3px);
  min-width:12px;
}
.ledger-line .lg-val{color:var(--ink);font-weight:600;white-space:nowrap}

/* — Eyebrow / label — */
.eyebrow{
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--evergreen);
  display:flex;align-items:center;gap:8px;
  margin-bottom:14px;
}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--evergreen);display:inline-block}

/* — Buttons — */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--body);font-weight:600;font-size:14.5px;
  padding:13px 26px;border-radius:3px;
  text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:all .18s ease;
}
.btn-primary{background:var(--evergreen);color:var(--paper)}
.btn-primary:hover{background:var(--evergreen-deep)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-dim)}
.btn-on-dark{background:var(--sand);color:var(--evergreen-deep)}
.btn-on-dark:hover{background:#fff}
.btn-text{background:none;border:none;color:var(--evergreen);font-weight:600;
  text-decoration:underline;text-decoration-color:var(--sand-2);text-underline-offset:3px;
  padding:0;font-size:14.5px}

/* — Section rhythm — */
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.section{padding:96px 0}
.section-tight{padding:64px 0}
.rule{border:none;border-top:1px solid var(--rule)}
.rule-on-dark{border:none;border-top:1px solid var(--rule-on-dark)}

/* — Headings — */
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.h-hero{font-size:clamp(40px,5.4vw,68px);font-weight:600;line-height:1.04;letter-spacing:-.015em}
.h-hero em{font-style:italic;font-weight:500;color:var(--evergreen)}
.h-section{font-size:clamp(28px,3.2vw,40px);line-height:1.12;font-weight:600}
.h-section em{font-style:italic;color:var(--evergreen)}
.p-lead{font-size:18px;color:var(--ink-soft);line-height:1.65;max-width:540px}

/* — Dark section variant — */
.on-dark{background:var(--evergreen-deep);color:var(--paper-on-dark)}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
.on-dark .p-lead{color:var(--ink-on-dark-soft)}
.on-dark .eyebrow{color:var(--sand)}
.on-dark .eyebrow::before{background:var(--sand)}
.on-dark .ledger-line{color:var(--ink-on-dark-soft)}
.on-dark .ledger-line .lg-check{color:var(--sand)}
.on-dark .ledger-line .lg-val{color:#fff}
.on-dark .ledger-line .lg-dot{border-bottom-color:var(--rule-on-dark)}

/* — Topbar — */
.topbar{
  position:sticky;top:0;z-index:1000;
  background:rgba(247,245,240,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.topbar-inner{max-width:1180px;margin:0 auto;padding:0 32px;height:64px;
  display:flex;align-items:center;justify-content:space-between}
.tb-logo{display:flex;align-items:center;gap:9px;text-decoration:none}
.tb-mark{width:30px;height:30px;background:var(--evergreen);border-radius:3px;
  display:grid;place-items:center;color:var(--sand);font-family:var(--display);
  font-weight:700;font-size:15px}
.tb-name{font-family:var(--display);font-weight:600;font-size:17px;color:var(--ink)}
.tb-links{display:flex;align-items:center;gap:30px}
.tb-links a{font-size:14px;color:var(--ink-soft);text-decoration:none;transition:color .15s}
.tb-links a:hover{color:var(--evergreen)}
.tb-cta{display:flex;align-items:center;gap:14px}

/* — Footer — */
.foot{background:var(--evergreen-deep);color:var(--paper-on-dark);padding:56px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot-brand{font-family:var(--display);font-size:19px;color:#fff;margin-bottom:10px}
.foot-desc{font-size:13.5px;color:var(--ink-on-dark-soft);max-width:280px;line-height:1.7}
.foot-h{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sand);margin-bottom:14px}
.foot-links{display:flex;flex-direction:column;gap:9px}
.foot-links a{font-size:13.5px;color:var(--ink-on-dark-soft);text-decoration:none}
.foot-links a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;
  padding-top:24px;border-top:1px solid var(--rule-on-dark);
  font-size:12px;color:rgba(247,245,240,.4);flex-wrap:wrap;gap:10px}

@media(max-width:860px){
  .tb-links{display:none}
  .wrap{padding:0 20px}
  .topbar-inner{padding:0 20px}
  .section{padding:64px 0}
  .foot-grid{grid-template-columns:1fr;gap:28px}
}
