/* Free form pages (free-forms/*.html): one page per form, written to answer
   the question a builder or trade actually asks. Colors come from the
   Alpenglow tokens in alpenglow.css; nothing new. */

.fp-crumbs{ font-size:14px; color:var(--ag-faint); margin-bottom:6px; }
.fp-crumbs a{ color:var(--ag-muted); text-decoration:none; }
.fp-crumbs a:hover{ color:var(--ag-text); }
.fp-crumbs span{ margin:0 6px; }

.fp-dl{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:26px; }
.fp-dl .dl-btn{ font-size:15px; padding:10px 16px; }
.fp-dl-meta{ font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.04em; color:var(--ag-faint); text-transform:uppercase; }

.fp-body{ max-width:760px; margin:0 auto; }
.fp-body section, .fp-sec{ padding:0; }
.fp-sec + .fp-sec{ margin-top:56px; }
.fp-sec h2{ font-size:34px; line-height:1.12; margin-bottom:16px; }
.fp-sec p{ font-size:18px; line-height:1.65; color:var(--ag-text-2); margin-top:12px; }
.fp-sec p.fp-note{ font-size:15px; color:var(--ag-muted); }

.fp-list{ list-style:none; margin:18px 0 0; padding:0; border-top:1px solid var(--ag-line); }
.fp-list li{ padding:14px 0; border-bottom:1px solid var(--ag-line); font-size:17px; line-height:1.6; color:var(--ag-text-2); }
.fp-list li b{ color:var(--ag-text); font-weight:600; }
ol.fp-list{ counter-reset:fp; }
ol.fp-list li{ counter-increment:fp; padding-left:42px; position:relative; }
ol.fp-list li::before{ content:counter(fp); position:absolute; left:0; top:13px; width:26px; height:26px; border-radius:50%; border:1px solid var(--ag-line-strong); color:var(--ag-signal); font-family:'JetBrains Mono', monospace; font-size:13px; display:flex; align-items:center; justify-content:center; }

.fp-faq{ margin-top:8px; }
.fp-q{ padding:20px 0; border-bottom:1px solid var(--ag-line); }
.fp-q:first-child{ border-top:1px solid var(--ag-line); }
.fp-q h3{ font-family:'Hanken Grotesk', sans-serif; font-size:19px; font-weight:600; line-height:1.4; }
.fp-q p{ font-size:17px; margin-top:8px; }

.fp-cta{ margin-top:64px; padding:32px; border-radius:16px; background:var(--ag-surface); border:1px solid var(--ag-line); }
.fp-cta .eyebrow{ color:var(--ag-signal); display:block; margin-bottom:10px; }
.fp-cta h2{ font-size:30px; line-height:1.15; }
.fp-cta p{ font-size:17px; line-height:1.6; color:var(--ag-muted); margin-top:10px; }
.fp-cta-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

.fp-related{ margin-top:56px; }
.fp-related h2{ font-size:26px; margin-bottom:14px; }
.fp-related-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.fp-related-grid a{ display:block; padding:16px 18px; border-radius:12px; border:1px solid var(--ag-line); text-decoration:none; }
.fp-related-grid a:hover{ border-color:var(--ag-line-strong); }
.fp-related-grid b{ display:block; color:var(--ag-text); font-size:17px; font-weight:600; }
.fp-related-grid span{ display:block; color:var(--ag-muted); font-size:14.5px; margin-top:4px; line-height:1.5; }

@media (max-width:640px){
  .fp-sec h2{ font-size:28px; }
  .fp-cta{ padding:24px 20px; }
  .fp-related-grid{ grid-template-columns:minmax(0,1fr); }
}

/* Free checklist pages (free-checklists/*.html): the checklist itself, on
   screen and on paper. Print shows only the sheet, black on white. */
.ck-sheet{ margin:0 auto 56px; max-width:760px; border:1px solid var(--ag-line); border-radius:16px; background:var(--ag-surface); padding:28px 28px 24px; }
.ck-brand{ font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ag-signal); }
.ck-sheet h2{ font-size:32px; line-height:1.1; margin-top:8px; }
.ck-about{ font-size:16px; color:var(--ag-muted); margin-top:6px; }
.ck-fields{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 22px; margin:22px 0 6px; }
.ck-fields span{ display:block; font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ag-faint); border-bottom:1px solid var(--ag-line-strong); padding-bottom:18px; }
.ck-table{ width:100%; border-collapse:collapse; margin-top:22px; }
.ck-table th{ text-align:left; font-family:'Barlow Condensed', sans-serif; font-size:19px; font-weight:600; color:var(--ag-text); padding:6px 0 8px; border-bottom:1px solid var(--ag-line-strong); }
.ck-table th.ck-col{ width:52px; text-align:center; font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:500; letter-spacing:0.05em; color:var(--ag-faint); }
.ck-table td{ padding:10px 0; border-bottom:1px solid var(--ag-line); font-size:16px; line-height:1.45; color:var(--ag-text-2); vertical-align:top; }
.ck-table td.ck-col{ text-align:center; }
.ck-box{ display:inline-block; width:16px; height:16px; border:1.5px solid var(--ag-line-strong); border-radius:3px; margin-top:2px; }
.ck-reading{ display:inline-block; margin-left:8px; color:var(--ag-faint); white-space:nowrap; }
.ck-reading i{ display:inline-block; width:70px; border-bottom:1px solid var(--ag-line-strong); margin-right:4px; font-style:normal; }
.ck-notes{ margin-top:22px; font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ag-faint); border:1px solid var(--ag-line); border-radius:8px; height:84px; padding:10px 12px; }
.ck-sign{ margin-top:22px; }
.ck-sign-row{ display:grid; grid-template-columns:1.2fr 1fr 1fr 0.6fr; gap:14px; align-items:end; padding:14px 0 0; }
.ck-sign-row b{ font-size:15px; color:var(--ag-text); font-weight:600; }
.ck-sign-row span{ font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ag-faint); border-top:1px solid var(--ag-line-strong); padding-top:4px; margin-top:20px; display:block; }
.ck-foot{ margin-top:22px; font-size:13px; color:var(--ag-faint); }

.ck-hub-group + .ck-hub-group{ margin-top:40px; }
.ck-hub-group h2{ font-size:28px; margin-bottom:14px; }

@media (max-width:640px){
  .ck-sheet{ padding:22px 16px; border-radius:12px; }
  .ck-fields{ grid-template-columns:minmax(0,1fr); }
  .ck-table th.ck-col{ width:40px; }
  .ck-sign-row{ grid-template-columns:1fr 1fr; }
}

@media print{
  /* ink, white, muted and line from style.css :root */
  @page{ margin:12mm; }
  body.ag{ background:#FFFFFF !important; color:#1B1F23 !important; }
  .nav, header, footer, .modal-overlay, .fp-sec, .fp-cta, .fp-related, .forms-note, .fp-crumbs{ display:none !important; }
  section{ padding:0 !important; }
  .wrap{ max-width:none !important; padding:0 !important; }
  .ck-sheet{ border:none; background:#FFFFFF; padding:0; margin:0; max-width:none; }
  .ck-sheet *{ color:#1B1F23 !important; }
  .ck-brand{ color:#6B7178 !important; }
  .ck-table th, .ck-fields span, .ck-sign-row span{ border-color:#1B1F23 !important; }
  .ck-table td{ border-color:#E2E0DA !important; font-size:12.5px; padding:6px 0; }
  .ck-box, .ck-reading i{ border-color:#1B1F23 !important; }
  .ck-notes{ border-color:#1B1F23 !important; }
  .ck-table, .ck-sign{ break-inside:avoid; }
}

/* Feature and comparison pages (construction-app/*.html). */
.ft-split{ display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:44px; align-items:start; max-width:960px; margin:0 auto 8px; }
.ft-shot{ margin:0; }
.ft-shot img{ display:block; width:100%; height:auto; border-radius:22px; border:1px solid var(--ag-line-strong); box-shadow:0 24px 50px -24px rgba(0,0,0,0.7); }
.ft-shot figcaption{ font-size:13px; color:var(--ag-faint); margin-top:10px; line-height:1.5; }
.ft-table{ width:100%; border-collapse:collapse; margin-top:18px; font-size:15.5px; }
.ft-table th{ text-align:left; font-family:'Barlow Condensed', sans-serif; font-size:18px; font-weight:600; color:var(--ag-text); padding:10px 12px; border-bottom:1px solid var(--ag-line-strong); }
.ft-table td{ padding:12px; border-bottom:1px solid var(--ag-line); color:var(--ag-text-2); vertical-align:top; line-height:1.5; }
.ft-table td:first-child{ color:var(--ag-text); font-weight:600; width:24%; }
.ft-table td.ft-us{ color:var(--ag-text); }
.ft-cards{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; margin-top:6px; }
@media (max-width:760px){
  .ft-split{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .ft-shot{ max-width:260px; margin:0 auto; }
  .ft-cards{ grid-template-columns:minmax(0,1fr); }
  .ft-table{ font-size:14px; }
  .ft-table th, .ft-table td{ padding:9px 6px; }
}

/* SRENE Connect info and legal pages */
.connect-doc h2{ margin:34px 0 10px; }
.connect-doc h2:first-child{ margin-top:0; }
.connect-doc p, .connect-doc li{ line-height:1.65; }
.connect-doc p + p{ margin-top:12px; }
.connect-doc ul{ padding-left:20px; display:flex; flex-direction:column; gap:8px; }
.connect-doc code{ font-family:'JetBrains Mono', monospace; font-size:.9em; }
.connect-legal-links{ margin-top:34px; }

/* SRENE Connect section */
.connect-sides{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.connect-card{ display:block; padding:20px 22px; border-radius:12px; border:1px solid var(--ag-line); background:var(--ag-surface); }
.connect-card b{ display:block; color:var(--ag-text); font-size:20px; font-weight:600; margin-top:6px; }
.connect-card span:not(.connect-kicker){ display:block; color:var(--ag-muted); font-size:15px; margin-top:6px; line-height:1.55; }
.connect-kicker{ font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ag-faint); }
.connect-steps{ padding-left:22px; display:flex; flex-direction:column; gap:10px; }
.connect-steps li{ line-height:1.65; }
.connect-steps b{ color:var(--ag-text); }
.connect-coverage{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.connect-region{ padding:14px 16px; border-radius:10px; border:1px solid var(--ag-line); }
.connect-region b{ display:block; color:var(--ag-text); font-size:15px; }
.connect-region span{ display:block; color:var(--ag-muted); font-size:14px; margin-top:4px; line-height:1.5; }
.connect-note{ color:var(--ag-muted); font-size:15px; margin-top:12px; }
.connect-form{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 14px; margin-top:20px; }
.connect-form label{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; font-weight:600; color:var(--ag-muted); }
.connect-form input, .connect-form select{ font:inherit; font-weight:400; font-size:15px; color:var(--ag-text); background:var(--ag-ink); border:1px solid var(--ag-line-strong); border-radius:8px; padding:11px 12px; }
.connect-form input:focus, .connect-form select:focus{ outline:none; border-color:var(--ag-text); }
.connect-form[hidden], .connect-form label[hidden]{ display:none; }
.connect-form button{ grid-column:1 / -1; justify-self:start; margin-top:4px; }
.connect-form .hp-field{ display:none; }
.connect-thanks{ margin-top:16px; }
.connect-thanks h3{ color:var(--ag-text); font-size:22px; }
.connect-thanks p{ color:var(--ag-muted); margin-top:6px; }
@media (max-width: 720px){
  .connect-sides, .connect-coverage, .connect-form{ grid-template-columns:minmax(0,1fr); }
}

.connect-stat{ margin-top:22px; font-family:'JetBrains Mono', monospace; font-size:13px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ag-muted); }
.connect-stat b{ color:var(--ag-text); font-weight:600; }
