/* Inner-page additions for gomemphistours.com.
   Loads AFTER css/style.css and reuses its variables (--navy, --gold, --text, --muted, --line). */

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.footer-grid .subscribe{flex-wrap:wrap}

/* Page banner, same warm wash as the home hero */
.page-banner{background:linear-gradient(90deg,#fff 0%,#fdfbf8 45%,#f2d7bd);padding:44px 0 46px;border-bottom:1px solid var(--line)}
.page-banner .crumbs{font-size:12px;color:var(--muted);margin:0 0 16px}
.page-banner .crumbs a{text-decoration:underline}
.page-banner .eyebrow{margin:0}
.page-banner h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4vw,58px);line-height:1.03;letter-spacing:-1.8px;margin:8px 0 14px;max-width:760px}
.page-banner .lede{font-size:16px;line-height:1.6;font-weight:600;max-width:640px;margin:0 0 22px}

/* Sections */
.band{padding:52px 0}
.band.alt{background:#f7f8fa}
.band h2,.cta-band h2{font:700 clamp(25px,2.8vw,34px)/1.15 Georgia,'Times New Roman',serif;margin:0 0 14px}
.band h3{font-size:17px;margin:0 0 8px}
.prose{max-width:680px;line-height:1.7;font-size:15px}
.prose p{margin:0 0 1em}
.prose ul{padding-left:1.2em;margin:0 0 1em}
.prose li{margin-bottom:.45em}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px}
.card{background:#fff;border-radius:11px;box-shadow:0 5px 18px #172d441c;padding:22px;border-top:3px solid var(--gold)}
.card p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.aside{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;padding:24px;font-size:14px;line-height:1.65}
.aside h3{margin-top:0;font-size:18px}
.aside .prose{font-size:14px}
.hint{font-size:12px;color:var(--muted);margin-top:4px}
.cta-band{background:var(--navy);color:#fff;text-align:center;padding:50px 0}
.cta-band p{max-width:560px;margin:0 auto 22px;line-height:1.6;font-size:15px}
.cta-band a:not(.btn){text-decoration:underline}

/* Forms */
.form{background:#fff;border-radius:11px;box-shadow:0 5px 18px #172d441c;padding:28px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:11px 12px;border:1px solid #c5cedb;border-radius:6px;background:#fff;color:var(--text)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(233,163,34,.45);border-color:var(--gold)}
.field .err{color:#a11a1a;font-size:13px;margin-top:4px}
.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:#a11a1a}
.alert{border-radius:8px;padding:16px 18px;margin-bottom:22px;font-size:14px;line-height:1.6}
.alert h2{margin:0 0 8px}
.alert.ok{background:#e9f6ea;border:1px solid #9bcf9f}
.alert.bad{background:#fbeaea;border:1px solid #e2a3a3}

/* Legal */
.legal{max-width:760px;line-height:1.75;font-size:15px}
.legal h2{font-size:24px;margin:2em 0 .5em}
.legal .updated{color:var(--muted);font-size:13px}

@media(max-width:820px){.two-col{grid-template-columns:1fr;gap:28px}.band{padding:38px 0}}
@media(max-width:640px){.form .row{grid-template-columns:1fr}.form{padding:20px}}
.footer-grid p a{display:inline;margin:0}
.site-header{background:#fff}
.estimate{background:#fff8e8;border:1px solid #f0d28a;border-left:4px solid var(--gold);border-radius:8px;padding:12px 14px;margin:0 0 16px;font-size:14px;line-height:1.55}.estimate[hidden]{display:none}
