/*
 * AF Advisors — Loan page design system
 * ---------------------------------------------------------------------
 * Applies to every page in includes/loan-page-body.php (Home Loan, Loan
 * Against Property, Business Loan, Commercial Loan, Industrial Property,
 * Overdraft/CC). Everything is scoped under ".afl-page" so it never
 * touches the site-wide header, footer, nav, modal or mobile bar styling
 * defined in assets/css/style.css.
 */

.afl-page{
  --ink:#6D1B2E;
  --ink-soft:#6b5c54;
  --paper:#F1ECE1;
  --paper-deep:#E4DCC9;
  --line:#C9B27C;
  --line-soft:#E1D3AE;
  --brass:#B8912E;
  --brass-deep:#8F701F;
  --white:#FBF9F5;
  --radius:2px;

  background:var(--paper);
  color:var(--ink-soft);
  font-family:'Inter',-apple-system,Segoe UI,sans-serif;
  line-height:1.6;
  font-size:16px;
}
.afl-page *{ box-sizing:border-box; }
.afl-page h1,.afl-page h2,.afl-page h3,.afl-page .display{ font-family:'Fraunces',Georgia,serif; font-weight:500; letter-spacing:-0.01em; color:var(--ink); margin:0; }
.afl-page .mono{ font-family:'IBM Plex Mono',monospace; }
.afl-page a{ color:inherit; text-decoration:none; }
.afl-page img{ max-width:100%; display:block; }
.afl-page .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
.afl-page ul{ list-style:none; margin:0; padding:0; }
.afl-page p{ color:var(--ink-soft); margin:0; }
@media (prefers-reduced-motion: reduce){ .afl-page *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }

.afl-page .btn{ display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:var(--radius); font-weight:600; font-size:14px; border:1.5px solid var(--ink); white-space:nowrap; cursor:pointer; }
.afl-page .btn-solid{ background:var(--ink); color:var(--white); }
.afl-page .btn-solid:hover{ background:var(--brass-deep); border-color:var(--brass-deep); }
.afl-page .btn-line{ background:transparent; color:var(--ink); }
.afl-page .btn-line:hover{ border-color:var(--brass-deep); color:var(--brass-deep); }
.afl-page .btn-brass{ background:var(--brass); border-color:var(--brass); color:var(--white); }
.afl-page .btn-brass:hover{ background:var(--brass-deep); border-color:var(--brass-deep); }

.afl-page .crumb{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--ink-soft); padding:16px 0; }
.afl-page .crumb a:hover{ color:var(--brass-deep); }

/* hero */
.afl-page .hero{ padding:34px 0 60px; }
.afl-page .hero .wrap{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.afl-page .eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass-deep); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.afl-page .eyebrow::before{ content:""; width:26px; height:1px; background:var(--brass-deep); }
/* Neutralise the site-wide ".hero" (dark photo-banner) rule so our plain
   paper-background hero isn't rendered underneath it. */
.afl-page .hero{ background:none; color:inherit; position:static; overflow:visible; }
.afl-page .hero::before{ content:none; }
.afl-page .hero h1{ font-size:clamp(28px,3.6vw,46px); line-height:1.16; margin-bottom:18px; color:var(--ink); }
.afl-page .hero h1 em{ font-style:italic; color:var(--brass-deep); }
.afl-page .hero p.lead{ font-size:17px; max-width:48ch; margin-bottom:26px; }
.afl-page .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.afl-page .hero-note{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-soft); margin-top:16px; }

.afl-page .blueprint{ position:relative; background:var(--ink); border-radius:4px; aspect-ratio:1/1; overflow:hidden; }
.afl-page .blueprint::before{ content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line-soft) 1px, transparent 1px),linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size:28px 28px; opacity:.09; }
.afl-page .blueprint svg{ position:relative; width:100%; height:100%; }
.afl-page .bp-label{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; fill:var(--paper); }
.afl-page .bp-label-brass{ fill:var(--brass); }
.afl-page .bp-house{ stroke:var(--paper); stroke-width:1.6; fill:none; }
.afl-page .bp-dim{ stroke:var(--line-soft); stroke-width:1; stroke-dasharray:3 3; }

/* stats */
.afl-page .stats{ background:var(--ink); color:var(--paper); padding:32px 0; }
.afl-page .stats .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.afl-page .stat{ border-left:1px solid rgba(241,236,225,0.2); padding-left:18px; }
.afl-page .stat .num{ font-family:'Fraunces',serif; font-size:28px; color:var(--brass); }
.afl-page .stat .lbl{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--line-soft); margin-top:4px; text-transform:uppercase; letter-spacing:0.04em; }

.afl-page section{ padding:64px 0; }
.afl-page .section-head{ max-width:680px; margin-bottom:36px; }
.afl-page .section-head h2{ font-size:clamp(24px,2.6vw,32px); }
.afl-page .section-head p{ margin-top:12px; font-size:15.3px; color:var(--ink-soft); }
.afl-page .band-alt{ background:var(--white); }

/* quick facts */
.afl-page .facts-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--paper-deep); border:1px solid var(--paper-deep); }
.afl-page .facts-card{ background:var(--white); padding:20px 16px; }
.afl-page .facts-card .lbl{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass-deep); text-transform:uppercase; letter-spacing:.04em; }
.afl-page .facts-card strong{ display:block; margin-top:8px; font-family:'Fraunces',serif; color:var(--ink); font-size:16px; font-weight:500; }
.afl-page .facts-note{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-soft); margin-top:14px; }

/* narrative */
.afl-page .narrative .grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:50px; align-items:start; }
.afl-page .narrative p{ margin-bottom:14px; font-size:15.3px; }
.afl-page .narrative .figure{ border:1px solid var(--paper-deep); padding:24px; background:var(--paper); }
.afl-page .narrative .figure .num{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass-deep); letter-spacing:.05em; }
.afl-page .narrative .figure ul{ margin-top:12px; }
.afl-page .narrative .figure li{ display:flex; gap:10px; padding:9px 0; border-top:1px solid var(--paper-deep); font-size:14px; }
.afl-page .narrative .figure li:first-child{ border-top:none; }
.afl-page .narrative .figure li::before{ content:"—"; color:var(--brass-deep); font-family:'IBM Plex Mono',monospace; }

/* benefits / tax-style 3-card grid */
.afl-page .tax-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--paper-deep); border:1px solid var(--paper-deep); }
.afl-page .tax-card{ background:var(--white); padding:22px; }
.afl-page .tax-card .sec{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass-deep); }
.afl-page .tax-card h3{ font-size:16px; margin:8px 0 6px; }
.afl-page .tax-card p{ font-size:13.6px; }
.afl-page .disc{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-soft); margin-top:16px; border-top:1px dashed var(--paper-deep); padding-top:14px; }

/* types grid */
.afl-page .type-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-deep); border:1px solid var(--paper-deep); }
.afl-page .type-card{ background:var(--white); padding:24px 20px; }
.afl-page .type-card .tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass-deep); }
.afl-page .type-card h3{ font-size:16px; margin:9px 0 8px; }
.afl-page .type-card p{ font-size:13.3px; }

/* process */
.afl-page .process-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.afl-page .process-grid::before{ content:""; position:absolute; top:34px; left:0; right:0; height:1px; background:repeating-linear-gradient(90deg,var(--line-soft) 0 6px,transparent 6px 12px); z-index:0; }
.afl-page .step{ position:relative; z-index:1; padding-right:16px; }
.afl-page .step .idx{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--white); background:var(--ink); width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:50%; margin-bottom:16px; border:3px solid var(--paper); }
.afl-page .step h3{ font-size:16px; margin-bottom:7px; }
.afl-page .step p{ font-size:13.6px; }

/* eligibility */
.afl-page .elig-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.afl-page .elig-card{ border:1px solid var(--paper-deep); background:var(--white); padding:22px; }
.afl-page .elig-card .n{ font-family:'IBM Plex Mono',monospace; font-size:22px; color:var(--brass); }
.afl-page .elig-card h3{ font-size:15.5px; margin:8px 0 6px; }
.afl-page .elig-card p{ font-size:13.5px; }

/* documents tabs */
.afl-page .doc-tabs{ display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap; }
.afl-page .doc-tab-btn{ font-family:'IBM Plex Mono',monospace; font-size:13px; padding:10px 18px; border:1.5px solid var(--ink); background:transparent; cursor:pointer; color:var(--ink); }
.afl-page .doc-tab-btn.active{ background:var(--ink); color:var(--white); }
.afl-page .doc-panel{ display:none; }
.afl-page .doc-panel.active{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-deep); border:1px solid var(--paper-deep); }
.afl-page .doc-col{ background:var(--white); padding:20px; }
.afl-page .doc-col h4{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass-deep); text-transform:uppercase; letter-spacing:.04em; margin-bottom:12px; }
.afl-page .doc-col li{ font-size:13.5px; padding:6px 0; border-top:1px solid var(--paper); }
.afl-page .doc-col li:first-child{ border-top:none; }

/* rate compare */
.afl-page .rate-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.afl-page .rate-card{ border:1px solid var(--paper-deep); background:var(--white); padding:26px; }
.afl-page .rate-card h3{ font-size:18px; margin-bottom:10px; }
.afl-page .rate-card p{ font-size:14px; margin-bottom:10px; }
.afl-page .rate-card ul{ margin-top:10px; }
.afl-page .rate-card li{ font-size:13.3px; padding:6px 0; border-top:1px dashed var(--paper-deep); }
.afl-page .rate-card li:first-child{ border-top:none; }
.afl-page .rate-card.floating{ border-color:var(--brass); }

/* factors */
.afl-page .factor-list{ border-top:1px solid var(--paper-deep); }
.afl-page .factor-item{ display:grid; grid-template-columns:180px 1fr; gap:24px; padding:18px 0; border-bottom:1px solid var(--paper-deep); }
.afl-page .factor-item .k{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--brass-deep); }
.afl-page .factor-item p{ font-size:14px; }

/* specs */
.afl-page .specs{ background:var(--ink); color:var(--paper); }
.afl-page .specs .section-head p{ color:var(--line-soft); }
.afl-page .specs .section-head .eyebrow{ color:var(--brass); }
.afl-page .specs .section-head .eyebrow::before{ background:var(--brass); }
.afl-page .spec-list{ display:grid; grid-template-columns:1fr 1fr; gap:0 48px; border-top:1px solid rgba(241,236,225,0.16); }
.afl-page .spec-list li{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:16px 0; border-bottom:1px solid rgba(241,236,225,0.16); }
.afl-page .spec-list .name{ font-size:15px; color:var(--paper); }
.afl-page .spec-list .tag{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--brass); white-space:nowrap; }

/* products */
.afl-page .prod-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper-deep); border:1px solid var(--paper-deep); }
.afl-page .prod-card{ background:var(--white); padding:24px 20px; transition:background .15s ease; display:block; }
.afl-page .prod-card:hover{ background:var(--paper); }
.afl-page .prod-card .tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass-deep); }
.afl-page .prod-card h3{ font-size:15.5px; margin:9px 0 7px; }
.afl-page .prod-card p{ font-size:13px; margin-bottom:10px; }
.afl-page .prod-card .go{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink); border-bottom:1px solid var(--ink-soft); padding-bottom:2px; }
.afl-page .prod-card.current{ background:var(--ink); }
.afl-page .prod-card.current .tag{ color:var(--brass); }
.afl-page .prod-card.current h3,.afl-page .prod-card.current p{ color:var(--paper); }
.afl-page .prod-card.current .go{ color:var(--paper); border-color:var(--paper); }

/* banks */
.afl-page .bank-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px 20px; }
.afl-page .bank-grid li{ font-size:13.6px; padding:8px 0; border-bottom:1px solid var(--paper-deep); }
.afl-page .bank-grid li::before{ content:"◆ "; color:var(--brass); font-size:9px; }

/* calc band */
.afl-page .calc-band{ background:var(--paper-deep); }
.afl-page .calc-band .wrap{ display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; padding:40px 28px; }
.afl-page .calc-band h2{ font-size:22px; max-width:420px; }
.afl-page .calc-band p{ margin-top:8px; max-width:420px; font-size:14px; }

/* enquiry band (holds the real af_enquiry_form) */
.afl-page .enquiry-band{ background:var(--ink); }
.afl-page .enquiry-band .section-head h2,
.afl-page .enquiry-band .section-head p{ color:var(--paper); }
.afl-page .enquiry-band .section-head p{ color:var(--line-soft); }
.afl-page .enquiry-band .eyebrow{ color:var(--brass); }
.afl-page .enquiry-band .eyebrow::before{ background:var(--brass); }
.afl-page .enquiry-card{ background:var(--white); border-radius:4px; padding:32px; max-width:560px; }
.afl-page .enquiry-card h3{ font-size:19px; margin-bottom:.4rem; }
.afl-page .enquiry-card > p{ font-size:.92rem; margin-bottom:1.2rem; }

/* why us */
.afl-page .why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.afl-page .why-card .n{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass-deep); }
.afl-page .why-card h3{ font-size:17px; margin:8px 0 8px; }
.afl-page .why-card p{ font-size:14px; }

/* faq */
.afl-page .faq-list{ border-top:1px solid var(--paper-deep); max-width:840px; }
/* Override the site-wide ".faq-item" (white card with all-round border) — this
   design uses plain full-width dividers instead. */
.afl-page .faq-item{ background:none; border:none; border-radius:0; overflow:visible; border-bottom:1px solid var(--paper-deep); }
.afl-page .faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; font-family:'Fraunces',serif; font-size:16.5px; color:var(--ink); }
.afl-page .faq-q .plus{ font-family:'IBM Plex Mono',monospace; font-size:18px; color:var(--brass-deep); transition:transform .2s ease; }
.afl-page .faq-item.open .plus{ transform:rotate(45deg); }
.afl-page .faq-a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.afl-page .faq-a p{ padding-bottom:20px; font-size:14.5px; max-width:70ch; }

@media (max-width:980px){
  .afl-page .hero .wrap{ grid-template-columns:1fr; }
  .afl-page .blueprint{ max-width:420px; margin:0 auto; }
  .afl-page .stats .wrap{ grid-template-columns:repeat(2,1fr); row-gap:24px; }
  .afl-page .facts-grid{ grid-template-columns:repeat(2,1fr); }
  .afl-page .narrative .grid{ grid-template-columns:1fr; }
  .afl-page .tax-grid,.afl-page .type-grid{ grid-template-columns:repeat(2,1fr); }
  .afl-page .process-grid{ grid-template-columns:repeat(2,1fr); row-gap:28px; }
  .afl-page .process-grid::before{ display:none; }
  .afl-page .elig-list{ grid-template-columns:1fr; }
  .afl-page .doc-panel.active{ grid-template-columns:1fr 1fr; }
  .afl-page .rate-grid{ grid-template-columns:1fr; }
  .afl-page .spec-list{ grid-template-columns:1fr; }
  .afl-page .prod-grid{ grid-template-columns:repeat(2,1fr); }
  .afl-page .bank-grid{ grid-template-columns:repeat(2,1fr); }
  .afl-page .why-grid{ grid-template-columns:1fr; }
  .afl-page .factor-item{ grid-template-columns:1fr; gap:6px; }
  .afl-page .enquiry-card{ max-width:none; }
}
@media (max-width:600px){
  .afl-page .tax-grid,.afl-page .type-grid,.afl-page .prod-grid,.afl-page .process-grid,.afl-page .doc-panel.active,.afl-page .bank-grid,.afl-page .facts-grid{ grid-template-columns:1fr; }
  .afl-page .enquiry-card{ padding:22px; }
}
