/* Milestone Renovate — forms, questionnaire and planner. Loaded after site.css; colours from tokens.css. */

.hero h1 em{color:var(--color-emphasis)}
.footer h2 em{color:var(--color-gold-light)}

/* Forms */
.field{display:flex;flex-direction:column;gap:9px;min-width:0}
.field.wide{grid-column:1/-1}
.field-grid .field>label{font-size:.78rem;font-weight:600;color:var(--color-forest-deep);letter-spacing:.02em}
.hint{color:var(--color-ink-soft);font-size:.78rem}
.field-error{margin:0;color:var(--color-error);font-size:.82rem;font-weight:600;line-height:1.4}
.field-error:not([hidden])::before{content:"\26A0\00a0"}
.field-error[hidden],.form-error-summary[hidden]{display:none}
[aria-invalid="true"]{border-color:var(--color-error)!important;box-shadow:0 0 0 1px var(--color-error)}
.form-error-summary{background:var(--color-error-bg);border:1px solid #e3b4b0;border-left:4px solid var(--color-error);border-radius:var(--radius);color:#7a1a12;padding:14px 16px;margin:18px 0;font-size:.9rem;font-weight:600}
.form-error-summary a{text-decoration:underline}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.consent-field{margin-top:6px}
.consent a{text-decoration:underline}
.form-status{min-height:1.4em}
.form-success{background:#fff;padding:clamp(28px,5vw,56px);box-shadow:var(--shadow-soft);border-top:3px solid var(--color-success);outline:none}
.form-success .eyebrow{color:var(--color-success)}
.form-success h2,.form-success h3{margin-bottom:14px}
.form-success[hidden],[hidden].wizard,[hidden].quote-form{display:none}
.field-grid input:focus-visible,.field-grid select:focus-visible,.field-grid textarea:focus-visible{outline-offset:1px}

/* Questionnaire */
.wizard-wrap{max-width:900px}
.wizard{background:#fff;padding:clamp(24px,5vw,56px);box-shadow:var(--shadow-soft);border-top:2px solid var(--color-detail)}
.wizard-head{margin-bottom:28px}
.wizard-step-label{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-label);margin-bottom:10px}
.wizard progress{width:100%;height:6px;appearance:none;border:0;background:var(--color-sage);border-radius:3px;overflow:hidden}
.wizard progress::-webkit-progress-bar{background:var(--color-sage)}
.wizard progress::-webkit-progress-value{background:var(--color-accent);transition:width var(--dur) var(--ease-out)}
.wizard progress::-moz-progress-bar{background:var(--color-accent)}
.wizard-step{border:0;margin:0;padding:0;min-width:0}
.wizard-step[hidden]{display:none}
.wizard-step legend{font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:-.02em;padding:0;margin-bottom:24px;outline:none}
.optional{display:inline-block;margin-left:12px;font:700 .64rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft);vertical-align:middle;border:1px solid var(--color-field-border);padding:3px 8px;border-radius:20px}
.step-hint{color:var(--color-ink-soft);margin-bottom:14px}
.subhead{font-weight:600;margin:30px 0 14px}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.choice-grid[hidden]{display:none}
.choice{position:relative;display:block;cursor:pointer}
.choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0;clip-path:inset(50%);pointer-events:none}
.choice-body{display:flex;flex-direction:column;gap:6px;min-height:68px;justify-content:center;padding:16px 18px;border:1.5px solid var(--color-field-border);border-radius:var(--radius);background:var(--color-paper);transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}
.choice-body b{font-size:.95rem;line-height:1.3;font-weight:600}
.choice-body small{color:var(--color-ink-soft);font-size:.8rem;line-height:1.4}
.choice:hover .choice-body{border-color:var(--color-accent)}
.choice input:checked+.choice-body{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}
.choice input:checked+.choice-body b::after{content:" \2713";color:var(--color-accent)}
.choice input:focus-visible+.choice-body{outline:3px solid var(--color-forest-deep);outline-offset:3px}
.choice input[aria-invalid="true"]+.choice-body{border-color:var(--color-error)}
.wizard-actions{display:flex;gap:14px;justify-content:space-between;margin-top:34px}
.wizard-actions .btn{min-width:150px}
.wizard-actions [data-back]{margin-right:auto}
.wizard:not(.is-enhanced) .wizard-step[hidden]{display:block}

/* Planner */
.planning-banner{background:var(--color-notice-bg);border:1px solid var(--color-notice-line);border-left:4px solid var(--color-gold);border-radius:var(--radius);padding:18px 22px;margin-bottom:36px;line-height:1.6;color:var(--color-notice-ink)}
.check-group{border:0;padding:0;margin:0 0 6px}
.check-group legend{font-size:.78rem;font-weight:600;color:var(--color-forest-deep);margin-bottom:10px;padding:0}
.check{display:flex;gap:12px;align-items:center;min-height:44px;font-size:.92rem;cursor:pointer}
.check input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--color-accent)}

@media(max-width:600px){
  .wizard-actions{flex-direction:column-reverse}
  .wizard-actions .btn{width:100%}
  .wizard-actions [data-back]{margin-right:0}
  .optional{display:block;margin:10px 0 0;width:max-content}
}

/* Trust & Compliance Ribbon */
.section-trust-ribbon{background:var(--color-forest-deep);color:#fff;border-top:1px solid rgba(221,180,92,.25);border-bottom:1px solid rgba(221,180,92,.25);padding:18px 0}
.trust-ribbon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;align-items:center}
.trust-pill{display:flex;align-items:center;gap:12px;padding:8px 14px;background:rgba(255,255,255,.05);border-radius:var(--radius);border-left:3px solid var(--color-gold)}
.trust-badge-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-gold);color:var(--color-forest-deep);font-weight:700;font-size:.8rem;flex-shrink:0}
.trust-pill strong{display:block;font-size:.88rem;color:#fff;line-height:1.25}
.trust-pill small{display:block;font-size:.75rem;color:var(--color-gold-pale);line-height:1.3}

/* Booking & Consultation UI */
.slot-group{margin-bottom:20px}
.slot-label{display:block;font-size:.78rem;font-weight:600;color:var(--color-forest-deep);letter-spacing:.02em;margin-bottom:8px}
.slot-pill-grid{display:flex;flex-wrap:wrap;gap:8px}
.slot-pill{padding:8px 14px;font-size:.86rem;font-weight:500;color:var(--color-ink);background:var(--color-paper);border:1.5px solid var(--color-field-border);border-radius:20px;cursor:pointer;transition:all var(--dur-fast)}
.slot-pill:hover{border-color:var(--color-accent);background:#fff}
.slot-pill.is-selected,.slot-pill[aria-pressed="true"]{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 8px rgba(15,32,29,.25)}

/* Approvals Checker */
.approvals-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,60px);align-items:start}
.approvals-form-card{background:#fff;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow-soft);border-top:2px solid var(--color-detail)}
.approvals-group{border:0;padding:0;margin:0 0 24px}
.approvals-group legend{font-size:.95rem;font-weight:700;color:var(--color-forest-deep);margin-bottom:12px;padding:0}
.check-radio{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;margin-bottom:8px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-paper);cursor:pointer;font-size:.88rem;transition:border-color var(--dur-fast),background var(--dur-fast)}
.check-radio:hover{border-color:var(--color-forest);background:#fff}
.check-radio input{margin-top:3px;accent-color:var(--color-accent)}
.approvals-result-card{position:sticky;top:104px}
.approvals-card{background:var(--color-forest);color:#fff;padding:clamp(24px,4vw,40px);box-shadow:var(--shadow-soft);border-bottom:4px solid var(--color-gold)}
.approvals-card h3{font-family:var(--font-display);font-size:2.2rem;margin:12px 0;color:#fff}
.approvals-card p{color:#e2ede6;line-height:1.55;margin-bottom:16px}
.badge-tag,.badge-success,.badge-warning,.badge-primary{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.badge-success{background:#25855A;color:#fff}
.badge-warning{background:var(--color-gold);color:var(--color-forest-deep)}
.badge-primary{background:var(--color-accent);color:#fff}
.badge-tag{background:var(--color-sage);color:var(--color-forest-deep);margin-bottom:12px}
.approvals-checklist{list-style:none;padding:0;margin:20px 0}
.approvals-checklist li{position:relative;padding-left:24px;margin-bottom:10px;font-size:.9rem;color:#f0f7f3;line-height:1.45}
.approvals-checklist li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--color-gold);font-weight:700}
.approvals-card .btn{width:100%;margin-top:12px;text-align:center}
.approvals-card-footer{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.approvals-card .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:#fff;border-bottom:1px solid var(--color-gold);text-decoration:none;transition:color var(--dur-fast),border-color var(--dur-fast)}
.approvals-card .text-link:hover{color:var(--color-gold-light);border-bottom-color:var(--color-gold-light)}
.approvals-card .text-link:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px;color:var(--color-gold-light)}
.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:32px}
.comparison-card{background:#fff;padding:32px;border:1px solid var(--color-line);border-top:3px solid var(--color-forest);border-radius:var(--radius)}
.comparison-card h3{font-size:1.4rem;margin:8px 0 12px}
.comparison-card .lead-sm{font-size:.92rem;color:var(--color-ink-soft);margin-bottom:16px;line-height:1.5}
.comparison-card ul{padding-left:18px;margin:0;font-size:.88rem;color:var(--color-ink);line-height:1.6}
.comparison-card li{margin-bottom:8px}

/* Layout Helpers */
.prep-value-grid{grid-template-columns:1fr;gap:16px;margin:24px 0}
.booking-fields{margin-top:24px}

/* Calculator Benchmark Scope Card */


/* Sticky Mobile Action Bar & Navigation Extras */
.mobile-cta-bar{display:none}
.nav-booking-link{display:none}
.footer-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
@media(max-width:870px){
  .nav .nav-booking-link{display:flex;justify-content:center;margin-top:8px;background:transparent;color:var(--color-masthead-ink);border:1px solid rgba(235,198,120,.55);padding:16px;min-height:50px;border-radius:var(--radius);font-weight:600}
  .nav .nav-booking-link:hover{border-color:var(--color-gold-light);color:var(--color-gold-light)}
}
@media(max-width:1020px){
  .approvals-grid{grid-template-columns:1fr}
  .approvals-result-card{position:static}
}
@media(max-width:768px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}
  .mobile-cta-bar{position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom, 0px);background:var(--color-forest-deep);border-top:1px solid rgba(221,180,92,.35);display:flex;z-index:999;box-shadow:0 -4px 16px rgba(0,0,0,.15);box-sizing:border-box;transition:transform var(--dur) var(--ease-out)}
  .mobile-cta-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.86rem;font-weight:600;text-decoration:none;padding:0 12px;height:100%;box-sizing:border-box}
  .mobile-cta-call{color:#fff;border-right:1px solid rgba(255,255,255,.15);background:var(--color-forest-deep)}
  .mobile-cta-call:hover,.mobile-cta-call:focus-visible{background:var(--color-forest)}
  .mobile-cta-book{background:var(--color-gold);color:var(--color-forest-deep)}
  .mobile-cta-book:hover,.mobile-cta-book:focus-visible{background:var(--color-gold-light)}
  .mobile-cta-icon{flex:0 0 auto}
}
/* Narrow phones: keep each label on one line. */
@media(max-width:360px){.mobile-cta-btn{font-size:.76rem;gap:6px;padding:0 6px;white-space:nowrap}}


