/* Shared styles: Deal Review / Feasibility components (homepage + service pages).
   Base page styles are scoped to body.svc-page so the homepage is unaffected. */

/* ── BASE (service pages only) ───────────────────────────────────────── */
.svc-page *, .svc-page *::before, .svc-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
html:has(body.svc-page) { scroll-behavior: smooth; }
body.svc-page {
  --bg:#0E0E0E; --bg-card:#161616; --bg-input:#1A1A1A; --gold:#C9A84C; --gold-dk:#8A6A1F;
  --text:#F4F1EB; --muted:#6B6456; --border:#2A2822; --error:#E05454; --success:#4CAF72; --radius:6px;
  margin:0; background:var(--bg); color:var(--text); font-family:'DM Sans',sans-serif; font-size:16px;
  line-height:1.6; min-height:100dvh; position:relative;
}
body.svc-page::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size:200px 200px;
}
.svc-page .container { max-width:1100px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.svc-page .container--narrow { max-width:780px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.svc-page h1, .svc-page h2, .svc-page h3, .svc-page h4 { font-family:'DM Serif Display',serif; font-weight:400; line-height:1.2; }
.svc-page h1 { font-size:clamp(2.2rem,5vw,3.6rem); }
.svc-page h2 { font-size:clamp(1.8rem,3.5vw,2.6rem); }
.svc-page h3 { font-size:1.25rem; }
.svc-page .gold { color:var(--gold); }
.svc-page .gold-rule { border:none; border-top:1px solid var(--gold); margin:0; opacity:.4; }
.svc-page section { padding:96px 0; position:relative; z-index:1; }
.svc-page .section-label { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.svc-page .section-title { margin-bottom:16px; }
.svc-page .section-sub { color:var(--muted); max-width:620px; line-height:1.75; }
.svc-page .alt { background:var(--bg-card); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }

/* Header styles live in /responsive.css (.cfc-header). */
.svc-page .brand-name { font-family:'DM Serif Display',serif; font-size:1.1rem; color:var(--gold); }

.svc-page .btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 28px; border-radius:var(--radius); font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:600; letter-spacing:.03em; text-decoration:none; cursor:pointer; transition:background .2s, color .2s, border-color .2s; border:none; white-space:nowrap; }
.svc-page .btn-primary { background:var(--gold); color:#0E0E0E; }
.svc-page .btn-primary:hover { background:#dbb85a; }
.svc-page .btn-outline { background:transparent; color:var(--gold); border:1px solid var(--gold); }
.svc-page .btn-outline:hover { background:rgba(201,168,76,.08); }
.svc-page .btn-ghost { background:transparent; color:var(--muted); border:1px solid var(--border); padding:10px 16px; font-size:.82rem; }
.svc-page .btn-ghost:hover, .svc-page .btn-ghost[aria-current="page"] { border-color:var(--gold-dk); color:var(--text); }
.svc-page .btn-sm { padding:8px 14px; font-size:.8rem; }
.svc-page .btn:disabled { opacity:.45; cursor:not-allowed; }

.svc-page .hero { padding:150px 0 72px; text-align:center; }
.svc-page .hero-sub { color:var(--muted); font-size:1.1rem; max-width:660px; margin:0 auto 36px; line-height:1.75; }
.svc-page .hero-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.svc-page .section-img { width:100%; height:380px; object-fit:cover; border-radius:6px; display:block; margin-top:40px; }

.svc-page .cards { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:48px; }
.svc-page .card { background:var(--bg-card); padding:40px 36px; border:1px solid var(--border); position:relative; }
.svc-page .card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); opacity:0; transition:opacity .2s; }
.svc-page .card:hover::before { opacity:1; }
.svc-page .card-num { font-family:'DM Serif Display',serif; font-size:2.5rem; color:var(--gold); margin-bottom:20px; display:block; }
.svc-page .card h3 { color:var(--gold); margin-bottom:12px; }
.svc-page .card p { color:var(--muted); font-size:.95rem; line-height:1.7; }

.svc-page footer { border-top:1px solid var(--border); padding:48px 0 32px; position:relative; z-index:1; }
.svc-page .footer-inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:32px; }
.svc-page .footer-brand .brand-name { display:block; margin-bottom:4px; }
.svc-page .footer-brand p { font-size:.8rem; color:var(--muted); max-width:320px; line-height:1.65; }
.svc-page .footer-links { display:flex; flex-wrap:wrap; gap:4px 8px; max-width:520px; }
.svc-page .footer-link { color:var(--muted); font-size:.82rem; padding:4px 10px; text-decoration:underline; text-underline-offset:3px; }
.svc-page .footer-link:hover { color:var(--text); }
.svc-page .footer-bottom { border-top:1px solid var(--border); padding-top:24px; margin-top:24px; font-size:.75rem; color:var(--muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }


@media (max-width:768px) {
  .svc-page section { padding:64px 0; }
  .svc-page .hero { padding:110px 0 56px; }
  .svc-page .cards { grid-template-columns:1fr; }
  .svc-page .section-img { height:240px; }
}
@media (max-width:480px) {
  .svc-page .hero-ctas { flex-direction:column; align-items:stretch; }
  .svc-page .footer-inner { flex-direction:column; }
}

/* ── SHARED COMPONENTS (homepage + service pages) ────────────────────── */
.dr-owner { margin-top:28px; font-family:'DM Serif Display',serif; font-style:italic; font-size:clamp(1.15rem,2.2vw,1.45rem); color:var(--text); line-height:1.55; max-width:760px; border-left:3px solid var(--gold); padding-left:22px; }
.dr-owner-sign { display:block; margin-top:10px; font-family:'DM Sans',sans-serif; font-style:normal; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }

.price-pair { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; margin-top:40px; }
@media (max-width:1000px) { .price-pair { grid-template-columns:1fr; } }
.price-panel { background:var(--bg); border:1px solid var(--border); padding:32px 30px; position:relative; }
.price-panel::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold); opacity:.55; }
.price-market { font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.price-amount { font-family:'DM Serif Display',serif; font-size:clamp(2rem,4vw,2.8rem); color:var(--gold); line-height:1.1; }
.price-amount small { font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--text); margin-left:6px; }
.price-note { color:var(--muted); font-size:.87rem; line-height:1.65; margin-top:10px; }
.gst-note { margin-top:14px; font-size:.84rem; color:var(--muted); line-height:1.7; }

.svc-split { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:2px; }
.svc-panel { background:var(--bg-card); border:1px solid var(--border); padding:32px 30px; }
.svc-panel h3 { color:var(--gold); font-size:1.1rem; margin-bottom:16px; }
.svc-list { list-style:none; padding:0; margin:0; }
.svc-list li { padding:10px 0 10px 20px; border-bottom:1px solid var(--border); font-size:.92rem; color:var(--muted); position:relative; line-height:1.55; }
.svc-list li:last-child { border-bottom:none; }
.svc-list li::before { content:'\203A'; position:absolute; left:2px; top:9px; color:var(--gold); }
.svc-list li strong { color:var(--text); font-weight:500; }
.svc-list.excl li::before { content:'\2013'; }

.disclosure { margin-top:40px; background:rgba(201,168,76,.06); border:1px solid rgba(201,168,76,.32); border-left:3px solid var(--gold); padding:26px 28px; }
.disclosure-label { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.disclosure p { color:var(--text); font-size:.98rem; line-height:1.75; }
.disclosure p + p { margin-top:10px; color:var(--muted); font-size:.88rem; }

.ladder-money { display:block; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); font-size:.86rem; color:var(--text); line-height:1.65; }
.ladder-money b { color:var(--gold); font-weight:600; }
.ladder-link { display:inline-block; margin-top:14px; color:var(--gold); font-size:.88rem; font-weight:600; text-decoration:none; letter-spacing:.02em; }
.ladder-link:hover { text-decoration:underline; text-underline-offset:3px; }
.ladder-credit { margin-top:24px; font-size:.86rem; color:var(--muted); line-height:1.7; max-width:820px; }

.fee-schedule { width:100%; border-collapse:collapse; margin-top:32px; font-size:.95rem; }
.fee-schedule th, .fee-schedule td { padding:16px 20px; border:1px solid var(--border); text-align:left; }
.fee-schedule th { background:var(--bg-card); font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.fee-schedule td.amt { color:var(--gold); font-family:'DM Serif Display',serif; font-size:1.2rem; white-space:nowrap; }

.steps-line { list-style:none; counter-reset:s; display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:40px; padding:0; }
.steps-line li { counter-increment:s; background:var(--bg-card); border:1px solid var(--border); padding:28px 24px; font-size:.88rem; color:var(--muted); line-height:1.65; }
.steps-line li::before { content:counter(s,decimal-leading-zero); display:block; font-family:'DM Serif Display',serif; font-size:2rem; color:var(--gold); opacity:.5; margin-bottom:12px; }
.steps-line li strong { display:block; color:var(--text); font-size:.98rem; font-weight:500; margin-bottom:6px; }

/* intake form */
.intake-wrap { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:40px; margin-top:40px; }
.intake-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.intake-grid .full { grid-column:1 / -1; }
.intake-field { margin-bottom:22px; }
.intake-field label { display:block; font-size:.8rem; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.intake-field label .req { color:var(--gold); margin-left:3px; }
.intake-field label .opt { text-transform:none; letter-spacing:0; font-weight:400; }
.intake-field .hint { font-size:.8rem; color:var(--muted); margin-top:6px; line-height:1.5; }
.intake-field input, .intake-field textarea, .intake-field select {
  width:100%; background:var(--bg-input); border:1px solid var(--border); color:var(--text);
  font-family:'DM Sans',sans-serif; font-size:.95rem; padding:12px 16px; border-radius:var(--radius); outline:none; transition:border-color .2s;
}
.intake-field textarea { resize:vertical; min-height:110px; }
.intake-field select { font-size:16px; min-height:48px; color-scheme:dark; }
.intake-field input:focus, .intake-field textarea:focus, .intake-field select:focus { border-color:var(--gold); }
.intake-field input:focus-visible, .intake-field textarea:focus-visible, .intake-field select:focus-visible { box-shadow:0 0 0 2px rgba(201,168,76,.25); }
.intake-field input::placeholder, .intake-field textarea::placeholder { color:#4d483e; }
.intake-decl { display:flex; gap:12px; align-items:flex-start; font-size:.88rem; color:var(--muted); line-height:1.6; cursor:pointer; margin:6px 0 20px; }
.intake-decl input { width:18px; height:18px; min-width:18px; margin-top:3px; accent-color:var(--gold); cursor:pointer; }
.intake-fine { font-size:.8rem; color:var(--muted); line-height:1.7; margin-bottom:22px; }
.intake-fine a, .intake-success a { color:var(--gold); }
.intake-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.intake-actions .nopay { font-size:.8rem; color:var(--muted); }
.svc-form-error { margin-top:18px; padding:12px 16px; border-radius:var(--radius); background:rgba(224,84,84,.1); border:1px solid var(--error); color:var(--error); font-size:.9rem; overflow-wrap:anywhere; }
.intake-success { text-align:center; padding:48px 24px; outline:none; }
.intake-success h3 { color:var(--gold); font-size:1.6rem; margin-bottom:14px; }
.intake-success p { color:var(--muted); max-width:540px; margin:0 auto 10px; line-height:1.7; }
.intake-success .ref { display:inline-block; margin-top:14px; padding:10px 20px; border:1px solid var(--border); border-radius:var(--radius); font-size:.8rem; color:var(--muted); }
.intake-success .ref span { color:var(--text); font-family:monospace; }
[hidden] { display:none !important; }

@media (max-width:768px) {
  .price-pair, .svc-split, .intake-grid { grid-template-columns:1fr; }
  .steps-line { grid-template-columns:1fr 1fr; }
  .intake-wrap { padding:28px 20px; }
}
@media (max-width:480px) { .steps-line { grid-template-columns:1fr; } }

