/* contact.html only — an airy enquiry page with Eagle's forest, gold and ivory. */
body.page-contact { --contact-header-space:88px; --contact-space:clamp(48px,5.5vw,76px); background:#fffdf8; color:#173b32; }
body.page-contact main { overflow:clip; }
body.page-contact main :is(h1,h2,h3,h4,p,figure) { margin:0; }
body.page-contact main :is(.site-shell,.site-shell-wide) { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.page-contact main .section-pad { padding-block:var(--contact-space); }
body.page-contact main h2 { font:500 clamp(32px,3.3vw,48px)/1.12 var(--font-serif); letter-spacing:-.035em; }
body.page-contact main h3 { font:500 25px/1.2 var(--font-serif); letter-spacing:-.02em; }
body.page-contact main .eyebrow { margin-bottom:14px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; }
body.page-contact main .muted { color:#526150; font-size:12px; line-height:1.85; }
body.page-contact main .muted a { color:#82632f; text-decoration:underline; text-underline-offset:4px; }
body.page-contact .skip-link { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-contact .skip-link:focus { top:12px; }
body.page-contact :is(main,.mobile-sticky-cta) :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #9c793d; outline-offset:4px; box-shadow:none; }
body.page-contact .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.page-contact .d-none,body.page-contact [hidden] { display:none!important; }
body.page-contact #quote-form { scroll-margin-top:0; }
body.page-contact :is(.hero-pill,.btn-cta,.contact-text-link) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; font:600 11px/1.6 var(--font-sans); text-decoration:none; cursor:pointer; }
body.page-contact :is(.hero-pill,.btn-cta) { padding:12px 19px; border:1px solid #b8c0ac; border-radius:5px; color:#173b32; background:transparent; box-shadow:none; }
body.page-contact :is(.hero-pill,.btn-cta):hover { background:#eef1e7; border-color:#8d9e84; }
body.page-contact :is(.hero-pill.primary,.btn-send) { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-contact :is(.hero-pill.primary,.btn-send):hover { background:#285446; border-color:#285446; }
body.page-contact #btnNext { border-color:#c4a56a; background:#c4a56a; color:#173b32; }
body.page-contact #btnNext:hover { border-color:#d8be86; background:#d8be86; }
body.page-contact .btn-cta:disabled { opacity:.4; cursor:default; }
body.page-contact .contact-text-link { padding:7px 0; color:#173b32; font-weight:500; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-contact .contact-text-link:hover { color:#82632f; }

/* Full-width safari photograph, cream veil and personal planning support. */
body.page-contact .contact-hero { position:relative; padding:0; border:0; overflow:hidden; background:#f7f3e8; }
body.page-contact .contact-hero-shell { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; width:100%; min-height:calc(100vh - var(--contact-header-space)); min-height:calc(100svh - var(--contact-header-space)); padding:32px clamp(24px,5vw,80px); isolation:isolate; }
body.page-contact .contact-hero-copy { position:relative; z-index:2; max-width:590px; min-width:0; padding:8px 0; }
body.page-contact .contact-breadcrumb { display:flex; gap:11px; align-items:center; margin-bottom:25px; color:#6e7566; font-size:9px; }
body.page-contact .contact-breadcrumb a { color:inherit; }
body.page-contact .contact-breadcrumb a:hover { text-decoration:underline; }
body.page-contact .contact-kicker { display:flex; gap:12px; align-items:center; margin-bottom:21px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.13em; text-transform:uppercase; }
body.page-contact .contact-kicker > span { width:24px; height:1px; flex:none; background:#b69a63; }
body.page-contact .contact-hero h1 { max-width:620px; color:#173b32; font:600 clamp(43px,4.4vw,67px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-contact .contact-hero h1 em { display:block; color:#896930; font-weight:500; }
body.page-contact .contact-hero .subtitle { max-width:475px; margin-top:20px; color:#526150; font-size:13px; line-height:1.8; }
body.page-contact .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 23px; margin-top:25px; }
body.page-contact .contact-hero .hero-pill.primary { gap:22px; padding:14px 21px; border-radius:999px; border-color:#c4a56a; background:#c4a56a; color:#193b30; }
body.page-contact .contact-hero .hero-pill.primary:hover { border-color:#d8be86; background:#d8be86; }
body.page-contact .contact-hero-note { display:flex; gap:7px; align-items:center; max-width:475px; margin-top:21px; padding-top:17px; border-top:1px solid #d8cfbb; color:#65715d; font-size:9px; }
body.page-contact .contact-hero-note i { color:#94733b; font-size:14px; }
body.page-contact .contact-hero-visual { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:hidden; }
body.page-contact .contact-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:55% 38%; filter:brightness(1.1) saturate(.92); }
body.page-contact .contact-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8d6 43%,#f7f3e815 70%,#10281d0a); }
body.page-contact .contact-photo-label { position:absolute; z-index:2; top:25px; right:clamp(24px,5vw,80px); display:flex; gap:7px; align-items:center; padding:8px 12px; border:1px solid #ffffff55; border-radius:999px; background:#173b328c; color:#fff9ed; font-size:8px; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
body.page-contact .contact-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:35px; width:33%; padding:22px 24px; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; color:#fff9ed; background:linear-gradient(90deg,#142c22e8,#142c22a6); }
body.page-contact .contact-hero-visual figcaption h2 { color:#fff9ed; font:500 clamp(24px,2.5vw,35px)/1.12 var(--font-serif); }
body.page-contact .contact-hero-visual figcaption em { color:#e5cd95; }
body.page-contact .contact-hero-visual figcaption p { max-width:440px; margin-top:12px; color:#f0eadd; font-size:10px; line-height:1.8; }
body.page-contact .hero-card-list { display:grid; gap:9px; margin:16px 0 0; padding:0; list-style:none; }
body.page-contact .hero-card-list li { display:flex; gap:9px; color:#fff9ed; font-size:10px; line-height:1.7; }
body.page-contact .hero-card-list i { flex:none; color:#e4c98e; font-size:14px; }

/* Service highlights stay below the hero as a flat, compact ledger. */
body.page-contact main .trust-strip { margin:0; padding:0; border-block:1px solid #ded7c6; background:#f0ede3; }
body.page-contact .trust-shell { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; }
body.page-contact .trust-item { display:flex; gap:13px; align-items:center; min-height:87px; padding:20px 24px; border:0; border-right:1px solid #ded7c6; background:transparent; box-shadow:none; }
body.page-contact .trust-item:first-child { padding-left:0; }
body.page-contact .trust-item:last-child { border-right:0; }
body.page-contact .trust-item i { float:none; flex:none; margin:0; color:#94733b; font-size:23px; }
body.page-contact .trust-item span { margin:0; color:#526150; font-size:10px; font-weight:500; line-height:1.7; letter-spacing:0; text-transform:none; }
body.page-contact .contact-enquiry { border:0; background:#fffdf8; }
body.page-contact .contact-enquiry > .site-shell > .section-title { margin-bottom:29px; }
body.page-contact .section-title .muted { max-width:750px; margin-top:18px; }
body.page-contact .quote-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,.75fr); gap:clamp(30px,4vw,55px); align-items:start; }
body.page-contact .quote-form-card { min-width:0; border:1px solid #dcd3be; border-radius:18px; background:#fbf9f1; box-shadow:none; overflow:hidden; }
body.page-contact .quote-form-inner { padding:30px; }
body.page-contact .quote-intro { padding-bottom:20px; }
body.page-contact .form-kicker { margin-bottom:8px; color:#82632f; font-size:8px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
body.page-contact .quote-intro h3 { font-size:27px; }
body.page-contact .quote-intro #smartIntro { max-width:630px; margin-top:9px; color:#65705c; font-size:11px; line-height:1.8; }
body.page-contact .lead-meter { display:none; }
body.page-contact .completion-wrap { margin-bottom:17px; }
body.page-contact .completion-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:#6e7463; font-size:9px; }
body.page-contact .completion-track { height:3px; border-radius:3px; background:#e5deca; overflow:hidden; }
body.page-contact .completion-bar { height:100%; width:25%; background:#a2874f; transition:width .2s ease; }
body.page-contact .response-promise { display:flex; flex-wrap:wrap; gap:7px 19px; margin-bottom:21px; }
body.page-contact .promise-pill { display:flex; align-items:center; gap:6px; color:#68745c; font-size:8px; line-height:1.7; }
body.page-contact .promise-pill i { color:#94733b; font-size:12px; }
body.page-contact .stepper-nav { margin-bottom:24px; border-block:1px solid #dcd3be; }
body.page-contact .stepper-nav-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:0; padding:0; list-style:none; }
body.page-contact .stepper-nav-list li { min-width:0; }
body.page-contact .stepper-btn { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:53px; padding:10px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#65715d; font:500 10px/1.5 var(--font-sans); cursor:pointer; }
body.page-contact .stepper-btn .num { display:grid; place-items:center; width:22px; height:22px; flex:none; border:1px solid #d0c1a1; border-radius:50%; color:#94733b; font-size:9px; }
body.page-contact .stepper-btn.active { border-bottom-color:#94733b; color:#173b32; font-weight:600; }
body.page-contact .stepper-btn.active .num { border-color:#c4a56a; background:#c4a56a; color:#173b32; }
body.page-contact .stepper-btn.is-complete .num { border-color:#b7c5ac; background:#e6eddf; color:#416149; }
body.page-contact .stepper-btn[aria-disabled=true] { opacity:.45; cursor:default; }
body.page-contact .stepper-btn:hover:not([aria-disabled=true]) { color:#173b32; background:#f2eee2; }
body.page-contact .form-section-title { display:flex; gap:15px; align-items:start; justify-content:space-between; margin-bottom:23px; }
body.page-contact .form-section-title h3 { font-size:24px; }
body.page-contact .form-section-title p { max-width:620px; margin-top:9px; color:#65705c; font-size:11px; line-height:1.8; }
body.page-contact .required-note { flex:none; padding-top:5px; color:#887a5e; font-size:9px; }
body.page-contact .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 18px; }
body.page-contact .form-field { min-width:0; }
body.page-contact .form-field.full { grid-column:1/-1; }
body.page-contact .date-feedback:has(.d-none) { display:none; }
body.page-contact .form-label { display:block; margin-bottom:8px; color:#43563e; font-size:10px; font-weight:500; line-height:1.6; }
body.page-contact :is(.form-control,.form-select) { display:block; width:100%; min-height:47px; padding:11px 12px; border:1px solid #c7cbb9; border-radius:5px; background:#fffefa; color:#173b32; font:400 12px/1.6 var(--font-sans); box-shadow:none; color-scheme:light; }
body.page-contact :is(.form-control,.form-select):focus { border-color:#9c793d; outline:2px solid #c4a56a55; outline-offset:1px; }
body.page-contact .form-control::placeholder { color:#7b8274; opacity:1; }
body.page-contact .form-select { padding-right:30px; }
body.page-contact textarea.form-control { min-height:150px; resize:vertical; }
body.page-contact .input-icon { position:relative; }
body.page-contact .input-icon > i { position:absolute; left:12px; top:13px; color:#94733b; font-size:17px; pointer-events:none; }
body.page-contact .input-icon .form-control { padding-left:39px; }
body.page-contact .form-text { display:block; margin-top:7px; color:#717866; font-size:10px; line-height:1.7; }
body.page-contact .text-warning { color:#82632f; }
body.page-contact .text-danger { color:#af352b; }
body.page-contact :is(.form-control,.form-select,.form-check-input).is-invalid { border-color:#af352b; outline-color:#af352b; }
body.page-contact .chip-group { display:flex; flex-wrap:wrap; gap:9px; }
body.page-contact .chip-toggle { display:inline-flex; gap:8px; align-items:center; justify-content:center; min-height:43px; padding:10px 13px; border:1px solid #d3c8ad; border-radius:5px; background:#fffefa; color:#5b6952; font:500 10px/1.6 var(--font-sans); cursor:pointer; }
body.page-contact .chip-toggle i { color:#94733b; font-size:14px; }
body.page-contact .chip-toggle[aria-pressed=true] { border-color:#b19a66; background:#eadfc5; color:#173b32; }
body.page-contact .chip-toggle:hover { border-color:#a18c5d; }
body.page-contact .planning-insights { margin-top:18px; border-block:1px solid #dcd3be; }
body.page-contact .planning-insights > summary { display:flex; gap:12px; justify-content:space-between; align-items:center; min-height:47px; padding:10px 0; list-style:none; color:#82632f; font-size:10px; cursor:pointer; }
body.page-contact .planning-insights > summary::-webkit-details-marker { display:none; }
body.page-contact .planning-insights > summary i { font-size:19px; }
body.page-contact .planning-insights[open] > summary i { transform:rotate(45deg); }
body.page-contact .smart-hint { display:none; margin-bottom:16px; padding:14px 16px; border-left:2px solid #b39a64; background:#f0eadb; color:#65705c; font-size:10px; line-height:1.8; }
body.page-contact .smart-hint.is-visible { display:block; }
body.page-contact .smart-hint strong { color:#82632f; }
body.page-contact .smart-advisor { padding:0 0 18px; color:#65705c; }
body.page-contact .smart-advisor-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:13px; }
body.page-contact .smart-advisor-title { color:#526150; font-size:10px; font-weight:500; }
body.page-contact .smart-advisor-title i { margin-right:6px; color:#94733b; }
body.page-contact .smart-advisor-badge { color:#82632f; font-size:9px; }
body.page-contact .smart-advisor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
body.page-contact .smart-advisor-card { border-top:1px solid #d4c9ac; padding-top:11px; color:#65705c; font-size:10px; line-height:1.8; }
body.page-contact .smart-advisor-card strong { display:block; margin-bottom:7px; color:#173b32; font-size:10px; font-weight:500; }
body.page-contact .smart-advisor-card i { margin-right:6px; color:#94733b; }
body.page-contact .smart-advisor-card.is-alert strong { color:#82632f; }
body.page-contact .smart-panel { padding:19px; border:1px solid #d8cdb3; border-radius:9px; background:#f1ede1; }
body.page-contact .smart-panel-title { display:flex; gap:8px; align-items:center; margin-bottom:17px; color:#82632f; font-size:10px; font-weight:500; }
body.page-contact .form-check { display:flex; align-items:start; gap:11px; margin:4px 0 0; }
body.page-contact .form-check-input { flex:none; width:18px; height:18px; margin:2px 0 0; accent-color:#173b32; cursor:pointer; }
body.page-contact .form-check-label { color:#5a6854; font-size:11px; line-height:1.8; cursor:pointer; }
body.page-contact .form-actions { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-top:26px; padding-top:21px; border-top:1px solid #dcd3be; }
body.page-contact .form-actions-right { display:flex; justify-content:flex-end; gap:9px; }
body.page-contact #assistText { min-height:17px; margin-top:11px; font-size:9px; }
body.page-contact .quick-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 25px; margin-top:14px; }
body.page-contact .quick-tile { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#65705c; font-size:10px; text-decoration:underline; text-decoration-color:#c1b18a; text-underline-offset:5px; }
body.page-contact .quick-tile i { color:#94733b; font-size:14px; }
body.page-contact .quick-tile:hover { color:#173b32; }
body.page-contact .wa-fallback-box { display:none; margin-top:17px; padding:16px; border-left:2px solid #ae8e4f; background:#f0eadb; color:#526150; }
body.page-contact .wa-fallback-box.is-visible { display:block; }
body.page-contact .wa-fallback-box p { color:#5a6854; font-size:11px; line-height:1.8; }
body.page-contact .wa-fallback-box a { display:inline-flex; gap:8px; align-items:center; min-height:44px; margin-top:7px; color:#173b32; font-size:11px; text-decoration:underline; text-underline-offset:5px; }
body.page-contact .review-box { padding:0; background:transparent; }
body.page-contact .review-box h4 { display:flex; gap:8px; align-items:center; margin-bottom:17px; color:#82632f; font:500 11px/1.7 var(--font-sans); }
body.page-contact .review-row { display:grid; grid-template-columns:155px minmax(0,1fr); gap:18px; padding:12px 0; border-bottom:1px solid #ded6c1; color:#526150; font-size:11px; line-height:1.8; }
body.page-contact .review-row .key { color:#7b7d68; }
body.page-contact .review-row .value { color:#314d3b; overflow-wrap:anywhere; }
body.page-contact .review-row:last-child { border-bottom:0; }
body.page-contact .success-panel { display:none; margin-bottom:24px; padding:20px; border:1px solid #c4d0b7; border-radius:9px; background:#e9efdf; }
body.page-contact .success-panel.is-visible { display:block; }
body.page-contact .success-panel h3 { font-size:25px; }
body.page-contact .success-panel p { margin-top:10px; color:#526150; font-size:11px; line-height:1.8; }
body.page-contact .success-panel i { color:#52714b; margin-right:7px; }

/* Direct contact details are open rows, rather than a stack of hovering cards. */
body.page-contact .quote-side-card { min-width:0; position:sticky; top:calc(var(--eo-header-h,88px) + 22px); border:0; background:transparent; box-shadow:none; }
body.page-contact .side-stack { display:grid; gap:24px; padding:0; }
body.page-contact .mini-card { min-width:0; padding:0; border:0; border-bottom:1px solid #dcd3be; background:transparent; box-shadow:none; }
body.page-contact .mini-card h3 { display:flex; gap:10px; align-items:center; margin-bottom:13px; color:#173b32; font-size:25px; }
body.page-contact .mini-card h3 i { flex:none; color:#94733b; font-size:20px; }
body.page-contact .mini-card p { margin:11px 0 17px; color:#65705c; font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
body.page-contact .mini-card p > i { margin-right:8px; }
body.page-contact .mini-card a { color:#314d3b; text-decoration:underline; text-decoration-color:#b9a675; text-underline-offset:5px; }
body.page-contact .mini-card a:hover { color:#82632f; }
body.page-contact .quote-note-grid { display:flex; flex-wrap:wrap; gap:9px 17px; margin:0 0 21px; }
body.page-contact .quote-note-grid span { display:flex; gap:6px; align-items:center; color:#82632f; font-size:9px; }
body.page-contact .address-link { display:inline-block; vertical-align:top; }
body.page-contact .social-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
body.page-contact .social-row .mini-card { padding-bottom:15px; }
body.page-contact .social-row .mini-card h3 { margin-bottom:8px; font:500 11px/1.7 var(--font-sans); }
body.page-contact .social-row .mini-card p { min-height:38px; margin:0 0 8px; font-size:9px; line-height:1.8; }
body.page-contact .social-btn { display:inline-flex; gap:7px; align-items:center; min-height:34px; color:#82632f; font-size:9px; }
body.page-contact .whatsapp-tile { display:flex; align-items:center; gap:10px; min-height:49px; padding:12px 15px; border:1px solid #cad0be; border-radius:6px; background:#e9eddf; color:#173b32; font-size:10px; text-decoration:none; }
body.page-contact .whatsapp-tile i { flex:none; color:#627650; font-size:20px; }
body.page-contact .whatsapp-tile:hover { background:#dfe7d5; }

/* The existing route shortcuts remain compact and pre-fill the same form. */
body.page-contact .route-ideas { padding:0; margin-top:53px; border:0; }
body.page-contact .route-ideas .section-title { margin-bottom:25px; }
body.page-contact .route-ideas h2 { font-size:34px; }
body.page-contact .route-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
body.page-contact .route-card { display:flex; flex-direction:column; align-items:start; min-width:0; padding:22px; border:1px solid #ddd3bb; border-radius:14px; background:#f8f5ec; color:#173b32; text-align:left; cursor:pointer; box-shadow:none; font:inherit; }
body.page-contact .route-card .icon { display:block; margin-bottom:16px; color:#94733b; font-size:24px; }
body.page-contact .route-card h3 { margin-bottom:11px; font-size:24px; }
body.page-contact .route-card p { margin-bottom:17px; color:#65705c; font:400 11px/1.8 var(--font-sans); }
body.page-contact .route-card .small-link { display:flex; gap:8px; align-items:center; margin-top:auto; color:#82632f; font:500 9px/1.8 var(--font-sans); }
body.page-contact .route-card:hover { border-color:#ae996a; background:#f0eadb; }
body.page-contact .route-card.is-selected { border-color:#a98c50; background:#e9dfc5; }
body.page-contact .toast { display:none; position:fixed; bottom:25px; left:50%; transform:translateX(-50%); z-index:1200; width:max-content; max-width:calc(100vw - 40px); padding:15px 18px; border:1px solid #c6b588; border-radius:9px; background:#fffdf8; color:#173b32; box-shadow:0 5px 25px #173b321a; font-size:11px; line-height:1.8; }
body.page-contact .toast.is-visible { display:flex; gap:10px; align-items:start; }
body.page-contact .toast i { flex:none; color:#52714b; font-size:18px; }
body.page-contact .toast.is-error { border-color:#c38e7f; background:#fff9f4; }
body.page-contact .toast.is-error i { color:#af352b; }
body.page-contact .mobile-sticky-cta { display:none; }
body.page-contact .contact-noscript { max-width:750px; margin:25px auto; padding-inline:20px; color:#526150; font-size:12px; }
/* All original fields remain available when JavaScript is disabled. */
body.page-contact:not(.has-contact-js) .step-pane { display:block!important; margin-bottom:35px; }
body.page-contact:not(.has-contact-js) :is(.stepper-nav,.completion-wrap,.response-promise,#btnNext,#btnPrev) { display:none!important; }
body.page-contact:not(.has-contact-js) #btnSend { display:inline-flex!important; }
body.page-contact:not(.has-contact-js) #step-4 { display:none!important; }

@media (max-width:1100px) {
 body.page-contact main :is(.site-shell,.site-shell-wide) { width:calc(100% - 48px); }
 body.page-contact .quote-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr); gap:30px; }
 body.page-contact .quote-form-inner { padding:24px; }
 body.page-contact .route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-contact .contact-hero-visual figcaption { width:35%; }
 body.page-contact .response-promise { gap:8px 12px; }
}
@media (max-width:1080px) { body.page-contact { --contact-header-space:76px; } }
@media (max-width:900px) {
 body.page-contact .contact-hero-shell { display:block; min-height:calc(100svh - var(--contact-header-space)); padding:30px 24px 320px; }
 body.page-contact .contact-hero-copy { max-width:590px; }
 body.page-contact .contact-hero h1 { font-size:clamp(39px,5.7vw,56px); }
 body.page-contact .contact-hero-visual img { object-position:60% 55%; }
 body.page-contact .contact-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 30%,#f7f3e8dd 48%,#f7f3e80a 75%,#10271d1c); }
 body.page-contact .contact-photo-label { top:auto; bottom:260px; right:24px; }
 body.page-contact .contact-hero-visual figcaption { width:calc(100% - 48px); right:24px; bottom:22px; padding:18px 20px; }
 body.page-contact .contact-hero-visual figcaption h2 { font-size:27px; }
 body.page-contact .contact-hero-visual figcaption p { max-width:630px; }
 body.page-contact .quote-grid { grid-template-columns:1fr; }
 body.page-contact .quote-side-card { position:static; }
 body.page-contact .side-stack { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 30px; }
 body.page-contact .social-row { align-self:start; }
 body.page-contact .whatsapp-tile { align-self:start; }
 body.page-contact .trust-item { padding:16px; }
 body.page-contact .trust-item span { font-size:9px; }
}
@media (max-width:600px) {
 body.page-contact { --contact-space:45px; padding-bottom:65px; }
 body.page-contact main :is(.site-shell,.site-shell-wide) { width:calc(100% - 36px); }
 body.page-contact .contact-hero-shell { padding:24px 20px 320px; }
 body.page-contact .contact-breadcrumb { margin-bottom:18px; }
 body.page-contact .contact-kicker { margin-bottom:16px; font-size:8px; }
 body.page-contact .contact-hero h1 { font-size:clamp(36px,9.3vw,45px); }
 body.page-contact .contact-hero .subtitle { margin-top:16px; font-size:11px; line-height:1.8; }
 body.page-contact .hero-actions { gap:8px 17px; margin-top:18px; }
 body.page-contact .contact-hero .hero-pill.primary { min-height:44px; padding:12px 17px; gap:14px; font-size:10px; }
 body.page-contact .contact-text-link { min-height:44px; font-size:9px; }
 body.page-contact .contact-hero-note { margin-top:15px; padding-top:13px; font-size:8px; }
 body.page-contact .contact-hero-visual img { object-position:62% 65%; }
 body.page-contact .contact-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 38%,#f7f3e8dd 57%,#f7f3e815 77%,#10271d20); }
 body.page-contact .contact-photo-label { display:none; }
 body.page-contact .contact-hero-visual figcaption { right:20px; bottom:85px; width:calc(100% - 40px); padding:16px; }
 body.page-contact .contact-hero-visual figcaption h2 { font-size:25px; }
 body.page-contact .contact-hero-visual figcaption p { display:block; margin-top:9px; font-size:10px; line-height:1.6; }
 body.page-contact .hero-card-list { gap:7px; margin-top:11px; }
 body.page-contact .hero-card-list li { font-size:9px; line-height:1.6; }
 body.page-contact .hero-card-list i { font-size:12px; }
 body.page-contact .trust-shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-contact .trust-item { min-height:67px; gap:10px; padding:15px 10px; }
 body.page-contact .trust-item:nth-child(2) { border-right:0; }
 body.page-contact .trust-item:nth-child(3) { padding-left:0; }
 body.page-contact .trust-item:nth-child(-n+2) { border-bottom:1px solid #ded7c6; }
 body.page-contact .trust-item i { font-size:20px; }
 body.page-contact .trust-item span { font-size:9px; }
 body.page-contact .contact-enquiry > .site-shell > .section-title { margin-bottom:24px; }
 body.page-contact .section-title .muted { margin-top:16px; font-size:11px; }
 body.page-contact .quote-form-inner { padding:22px 18px; }
 body.page-contact .quote-intro h3 { font-size:26px; }
 body.page-contact .quote-intro #smartIntro { font-size:10px; }
 body.page-contact .response-promise { gap:6px 10px; margin-bottom:17px; }
 body.page-contact .promise-pill { font-size:9px; }
 body.page-contact .stepper-nav-list { gap:4px; }
 body.page-contact .stepper-btn { gap:5px; min-height:49px; font-size:9px; }
 body.page-contact .stepper-btn .num { width:19px; height:19px; font-size:8px; }
 body.page-contact .form-section-title { gap:9px; margin-bottom:20px; }
 body.page-contact .form-section-title h3 { font-size:23px; }
 body.page-contact .form-section-title p { font-size:10px; }
 body.page-contact .required-note { font-size:9px; }
 body.page-contact .form-grid { grid-template-columns:1fr; gap:19px; }
 body.page-contact .form-label { font-size:11px; }
 body.page-contact :is(.form-control,.form-select) { min-height:48px; padding:10px 12px; font-size:16px; }
 body.page-contact .form-text { font-size:10px; }
 body.page-contact .form-actions { gap:10px; margin-top:23px; padding-top:19px; }
 body.page-contact .btn-cta { min-height:44px; padding:11px 13px; font-size:10px; }
 body.page-contact .form-actions-right { margin-left:auto; }
 body.page-contact .quick-actions { gap:9px 21px; }
 body.page-contact .quick-tile { font-size:9px; }
 body.page-contact .chip-toggle { min-height:44px; font-size:10px; padding:10px 11px; }
 body.page-contact .smart-advisor-grid { grid-template-columns:1fr; }
 body.page-contact .smart-panel { padding:16px; }
 body.page-contact .form-check-label { font-size:10px; }
 body.page-contact .review-row { grid-template-columns:1fr; gap:4px; padding:12px 0; font-size:10px; }
 body.page-contact .side-stack { grid-template-columns:1fr; gap:23px; }
 body.page-contact .mini-card h3 { font-size:25px; }
 body.page-contact .mini-card p { font-size:11px; }
 body.page-contact .social-row .mini-card h3 { font-size:12px; }
 body.page-contact .social-row .mini-card p { min-height:0; font-size:10px; }
 body.page-contact .route-ideas { margin-top:37px; }
 body.page-contact .route-ideas h2 { font-size:30px; }
 body.page-contact .route-grid { gap:12px; }
 body.page-contact .route-card { padding:17px 15px; }
 body.page-contact .route-card .icon { margin-bottom:11px; font-size:21px; }
 body.page-contact .route-card h3 { font-size:22px; }
 body.page-contact .route-card p { font-size:10px; }
 body.page-contact .route-card .small-link { font-size:10px; }
 body.page-contact .mobile-sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:90; display:flex; justify-content:center; gap:10px; padding:8px 18px max(8px,env(safe-area-inset-bottom)); border-top:1px solid #d6c9a9; background:#fffdf8f5; backdrop-filter:blur(12px); }
 body.page-contact .mobile-sticky-cta a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; flex:1; max-width:220px; padding:10px 14px; border:1px solid #173b32; border-radius:5px; background:#173b32; color:#fffdf8; font-size:10px; font-weight:500; }
 body.page-contact .mobile-sticky-cta .wa { border-color:#c4a56a; background:#c4a56a; color:#173b32; }
 body.page-contact .toast { bottom:77px; padding:12px 15px; font-size:10px; }
}
@media (max-width:380px) { body.page-contact .route-grid { grid-template-columns:1fr; } body.page-contact .stepper-btn { flex-direction:column; gap:3px; min-height:57px; } body.page-contact .stepper-btn .num { width:17px; height:17px; } }
@media (prefers-reduced-motion:reduce) { body.page-contact * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }


/* Refined contact experience: existing hero and sections retained. */
body.page-contact .quote-form-card { background:#fffefa; border-color:#d0c6ad; border-radius:17px; }
body.page-contact .quote-intro { border-bottom:1px solid #e0d8c6; margin-bottom:20px; }
body.page-contact .quote-intro #smartIntro { color:#425b49; font-size:13px; }
body.page-contact .completion-head { color:#4b624f; font-size:10px; }
body.page-contact .completion-bar { background:#285747; }
body.page-contact .promise-pill { color:#49614e; font-size:9px; }
body.page-contact .stepper-nav-list { gap:3px; }
body.page-contact .stepper-btn { color:#49614e; font-size:11px; }
body.page-contact .stepper-btn.active { border-color:#173b32; background:#edf2e6; }
body.page-contact .stepper-btn.active .num { border-color:#173b32; background:#173b32; color:#f3dfae; }
body.page-contact .stepper-btn.is-complete .num { border-color:#92aa8c; color:#2b563e; }
body.page-contact .stepper-btn[aria-disabled=true] { opacity:.6; }
body.page-contact .form-section-title p { font-size:12px; color:#49614e; }
body.page-contact .form-label { font-size:12px; color:#2d4d3a; }
body.page-contact :is(.form-control,.form-select) { font-size:13px; border-color:#b8c2ae; }
body.page-contact :is(.form-control,.form-select):disabled { background:#f0f2e9; color:#536751; opacity:1; }
body.page-contact .form-text { font-size:11px; color:#50664f; }
body.page-contact .form-text.text-danger { color:#9d3329; }
body.page-contact .form-check-label { font-size:12px; color:#405a45; }
body.page-contact .form-check-label a { color:#82632f; text-decoration:underline; text-underline-offset:4px; }
body.page-contact .chip-toggle { min-height:44px; color:#425b47; font-size:11px; }
body.page-contact .chip-toggle[aria-pressed=true] { border-color:#617d5c; background:#e8efdf; color:#173b32; }
body.page-contact .review-edit { display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:22px; padding-block:10px; border-block:1px solid #dcd3be; }
body.page-contact .review-edit button { display:inline-flex; gap:7px; align-items:center; min-height:44px; padding:0; border:0; background:transparent; color:#2c5440; font:500 11px/1.6 var(--font-sans); text-decoration:underline; text-decoration-color:#b69a63; text-underline-offset:5px; cursor:pointer; }
body.page-contact .review-edit button:hover { color:#82632f; }
body.page-contact .review-row { font-size:12px; }
body.page-contact .review-row .key { color:#50634e; }
body.page-contact .review-row .value { color:#234935; }
body.page-contact .delivery-status { margin-top:20px; padding:14px 16px; border:1px solid #bdcab0; border-left:3px solid #285747; border-radius:6px; background:#edf2e6; color:#173b32; font:500 12px/1.8 var(--font-sans); overflow-wrap:anywhere; }
body.page-contact .delivery-status[data-state=error],body.page-contact .delivery-status[data-state=uncertain] { background:#fff6ef; border-color:#c7967c; color:#813728; }
body.page-contact .wa-fallback-box { border:1px solid #d5c6a7; border-left:3px solid #ae8e4f; border-radius:6px; background:#f7f3e8; }
body.page-contact .wa-fallback-box p { font-size:12px; color:#435b47; }
body.page-contact .wa-fallback-box a { gap:8px; margin-right:20px; }
body.page-contact .quick-tile { font-size:11px; color:#425c49; }
body.page-contact .quote-note-card { padding:20px; border:1px solid #d7ccb4; border-radius:17px; background:#f5f1e6; }
body.page-contact .quote-note-grid { margin-bottom:0; }
body.page-contact .mini-card p { color:#49614e; font-size:12px; }
body.page-contact .mini-card h3 i { display:grid; place-items:center; width:32px; height:32px; font-size:18px; border-radius:8px; background:#f2eedf; }
body.page-contact .quote-note-card h3 i { background:transparent; width:auto; }
body.page-contact .social-row .mini-card h3 i { width:26px; height:26px; font-size:16px; }
body.page-contact .social-row .mini-card p { color:#49614e; font-size:10px; }
body.page-contact .social-btn { min-height:44px; }
body.page-contact .whatsapp-tile { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-contact .whatsapp-tile i { color:#dfc487; }
body.page-contact .whatsapp-tile:hover { background:#285446; }
body.page-contact .route-card { position:relative; border-color:#d0c6ad; border-radius:17px; background:#fffefa; }
body.page-contact .route-card p { color:#465f4b; }
body.page-contact .route-card .small-link { color:#315842; }
body.page-contact .route-card:hover { border-color:#93a485; background:#f4f5eb; }
body.page-contact .route-card.is-selected { border-color:#617d5c; background:#edf2e6; }
body.page-contact .route-card::after { position:absolute; top:22px; right:22px; color:#a58b55; font:500 10px/1 var(--font-sans); }
body.page-contact .route-card:nth-child(1)::after { content:'01'; }
body.page-contact .route-card:nth-child(2)::after { content:'02'; }
body.page-contact .route-card:nth-child(3)::after { content:'03'; }
body.page-contact .route-card:nth-child(4)::after { content:'04'; }
body.page-contact .route-card.is-selected::after { content:'✓'; color:#173b32; font-size:16px; }
body.page-contact button:disabled { cursor:default; }
body.page-contact form[aria-busy=true] #btnSend::before { content:''; width:13px; height:13px; border:2px solid #fffdf866; border-top-color:#fffdf8; border-radius:50%; animation:contact-sending .7s linear infinite; }
@keyframes contact-sending { to { transform:rotate(360deg); } }
@media (max-width:600px) {
 body.page-contact :is(.quote-intro #smartIntro,.form-section-title p,.form-check-label) { font-size:12px; }
 body.page-contact :is(.form-control,.form-select) { font-size:16px; }
 body.page-contact .stepper-btn { gap:6px; font-size:10px; }
 body.page-contact .stepper-btn .num { width:20px; height:20px; }
 body.page-contact .promise-pill { font-size:9px; }
 body.page-contact .review-row { font-size:12px; }
 body.page-contact .review-edit { gap:4px 15px; }
 body.page-contact .review-edit button { font-size:10px; }
 body.page-contact .quote-note-card { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { body.page-contact form[aria-busy=true] #btnSend::before { animation:none; } }
