/**
 * File: assets/css/frontend/pages/company/contact.css
 * Purpose: Styles the premium responsive HyperDAF Contact Us template, secure enquiry form, direct channels, Google Map, FAQs and CTA.
 * Scope: Contact Us page only.
 * Related PHP: src/Frontend/Pages/Company/ContactPageRenderer.php, src/Frontend/Pages/Company/ContactPageSettings.php
 * Related JS: assets/js/frontend/pages/contact.js
 * Package: HyperDAF Pro
 */
.hdf-contact-page{--hdf-contact-accent:var(--hdf-color-primary-strong);--hdf-contact-soft:var(--hdf-color-primary-soft);--hdf-contact-border:var(--hdf-color-border);--hdf-contact-text:var(--hdf-color-text-primary);--hdf-contact-muted:var(--hdf-color-text-secondary);padding:clamp(1.25rem,3.2vw,2.6rem) max(1rem,3vw);overflow-x:clip;background:var(--hdf-color-surface-muted)}
.hdf-contact-page *,
.hdf-contact-page *::before,
.hdf-contact-page *::after{box-sizing:border-box}
.hdf-contact-page__inner{display:grid;gap:var(--hdf-contact-section-gap,2rem);width:min(100%,var(--hdf-contact-max-width,1280px));min-width:0;margin:0 auto}
.hdf-contact-eyebrow{margin:0;color:var(--hdf-contact-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hdf-contact-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(25rem,.86fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;min-width:0;padding:clamp(1.5rem,4vw,3.2rem);overflow:hidden;border:1px solid var(--hdf-contact-border);border-radius:var(--hdf-contact-card-radius,1rem);background:var(--hdf-color-surface)}
.hdf-contact-page.is-hero-editorial .hdf-contact-hero{grid-template-columns:minmax(0,1fr);text-align:center}
.hdf-contact-page.is-hero-editorial .hdf-contact-hero__copy{max-width:58rem;margin-inline:auto}
.hdf-contact-page.is-hero-editorial .hdf-contact-hero__visual{width:min(100%,48rem);margin-inline:auto}
.hdf-contact-hero__copy{position:relative;z-index:2;min-width:0}
.hdf-contact-hero h1{max-width:17ch;margin:.7rem 0 0;color:var(--hdf-contact-text);font-size:clamp(2.3rem,4.4vw,4.5rem);line-height:1.02;letter-spacing:-.05em}
.hdf-contact-page.is-hero-editorial .hdf-contact-hero h1{max-width:22ch;margin-inline:auto}
.hdf-contact-hero__intro{max-width:46rem;margin:1rem 0 0;color:var(--hdf-contact-muted);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.72}
.hdf-contact-page.is-hero-editorial .hdf-contact-hero__intro{margin-inline:auto}
.hdf-contact-hero__status{display:inline-grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;margin-top:1.25rem;padding:.72rem .85rem;border:1px solid color-mix(in srgb,var(--hdf-contact-accent) 22%,var(--hdf-contact-border));border-radius:.8rem;background:var(--hdf-contact-soft)}
.hdf-contact-hero__status>.hdf-icon{width:1.35rem;height:1.35rem;color:var(--hdf-contact-accent)}
.hdf-contact-hero__status span{display:grid;gap:.1rem;text-align:left}
.hdf-contact-hero__status small{color:var(--hdf-contact-muted);font-size:.68rem}
.hdf-contact-hero__status strong{color:var(--hdf-contact-text);font-size:.82rem}
.hdf-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.35rem}
.hdf-contact-page.is-hero-editorial .hdf-contact-actions{justify-content:center}
.hdf-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.85rem;padding:.68rem 1rem;border:1px solid var(--hdf-contact-border);border-radius:.7rem;color:var(--hdf-contact-text);font-size:.85rem;font-weight:750;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}
.hdf-contact-button .hdf-icon{width:1rem;height:1rem}
.hdf-contact-button.is-primary{border-color:var(--hdf-contact-accent);background:var(--hdf-contact-accent);color:var(--hdf-color-text-inverse)}
.hdf-contact-button.is-secondary{background:var(--hdf-color-surface)}
.hdf-contact-button:hover,.hdf-contact-button:focus-visible{transform:translateY(-1px);border-color:var(--hdf-color-primary-hover);color:var(--hdf-color-primary-hover)}
.hdf-contact-button.is-primary:hover,.hdf-contact-button.is-primary:focus-visible{background:var(--hdf-color-primary-hover);color:var(--hdf-color-text-inverse)}
.hdf-contact-hero__visual{position:relative;z-index:1;min-width:0}
.hdf-contact-routing-card{position:relative;display:grid;gap:1rem;min-width:0;padding:1rem;border:1px solid color-mix(in srgb,var(--hdf-contact-accent) 20%,var(--hdf-contact-border));border-radius:calc(var(--hdf-contact-card-radius,1rem) - 2px);background:color-mix(in srgb,var(--hdf-color-surface) 94%,transparent);box-shadow:none}
.hdf-contact-routing-card__head{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.15rem .15rem .9rem;border-bottom:1px solid var(--hdf-contact-border)}
.hdf-contact-routing-card__head>span{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.75rem;background:var(--hdf-contact-soft);color:var(--hdf-contact-accent)}
.hdf-contact-routing-card__head>span .hdf-icon{width:1.3rem;height:1.3rem}
.hdf-contact-routing-card__head>div{display:grid;gap:.08rem;min-width:0}
.hdf-contact-routing-card__head small{color:var(--hdf-contact-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}
.hdf-contact-routing-card__head strong{font-size:1rem}
.hdf-contact-routing-card__head em{font-style:normal;color:var(--hdf-contact-accent);font-size:.68rem;font-weight:700;text-align:right}
.hdf-contact-routing-card__routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.hdf-contact-routing-card__routes>span{display:grid;grid-template-columns:auto 1fr;gap:.1rem .55rem;align-items:center;min-width:0;padding:.75rem;border:1px solid var(--hdf-contact-border);border-radius:.7rem;background:var(--hdf-color-surface)}
.hdf-contact-routing-card__routes .hdf-icon{grid-row:1/3;width:1.2rem;height:1.2rem;color:var(--hdf-contact-accent)}
.hdf-contact-routing-card__routes strong{min-width:0;overflow-wrap:anywhere;font-size:.76rem}
.hdf-contact-routing-card__routes small{color:var(--hdf-contact-muted);font-size:.63rem}
.hdf-contact-routing-card__foot{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:center;padding:.72rem .78rem;border-radius:.7rem;background:var(--hdf-contact-soft)}
.hdf-contact-routing-card__foot>.hdf-icon{width:1.25rem;height:1.25rem;color:var(--hdf-contact-accent)}
.hdf-contact-routing-card__foot span{display:grid;gap:.1rem}
.hdf-contact-routing-card__foot strong{font-size:.72rem}
.hdf-contact-routing-card__foot small{color:var(--hdf-contact-muted);font-size:.67rem}
.hdf-contact-hero__shape{position:absolute;border:1px dashed color-mix(in srgb,var(--hdf-contact-accent) 22%,transparent);border-radius:999px;pointer-events:none}
.hdf-contact-hero__shape--one{right:-5rem;top:-7rem;width:17rem;height:17rem}
.hdf-contact-hero__shape--two{right:20%;bottom:-7rem;width:12rem;height:12rem}
.hdf-contact-editor{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--hdf-contact-border);border-radius:var(--hdf-contact-card-radius,1rem);background:var(--hdf-color-surface)}
.hdf-contact-section{display:grid;gap:1.15rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--hdf-contact-border);border-radius:var(--hdf-contact-card-radius,1rem);background:var(--hdf-color-surface)}
.hdf-contact-page.is-surface-elevated .hdf-contact-section,.hdf-contact-page.is-surface-elevated .hdf-contact-hero,.hdf-contact-page.is-surface-elevated .hdf-contact-cta{border-color:color-mix(in srgb,var(--hdf-contact-accent) 16%,var(--hdf-contact-border));box-shadow:none}
.hdf-contact-section__header{max-width:56rem;min-width:0}
.hdf-contact-section__header h2{margin:.5rem 0 0;color:var(--hdf-contact-text);font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.12;letter-spacing:-.035em}
.hdf-contact-section__header>p:last-child{max-width:50rem;margin:.7rem 0 0;color:var(--hdf-contact-muted);line-height:1.68}
.hdf-contact-channel-grid{display:grid;grid-template-columns:repeat(var(--hdf-contact-info-columns,3),minmax(0,1fr));gap:1rem;min-width:0}
.hdf-contact-channel{display:grid;grid-template-columns:auto 1fr;gap:.85rem;min-width:0;padding:1.05rem;border:1px solid var(--hdf-contact-border);border-radius:calc(var(--hdf-contact-card-radius,1rem) - 3px);background:var(--hdf-color-surface)}
.hdf-contact-channel__icon{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.75rem;background:var(--hdf-contact-soft);color:var(--hdf-contact-accent)}
.hdf-contact-channel__icon .hdf-icon{width:1.25rem;height:1.25rem}
.hdf-contact-channel>div{display:grid;align-content:start;gap:.38rem;min-width:0}
.hdf-contact-channel h3{margin:0;font-size:.92rem}
.hdf-contact-channel p{margin:0;color:var(--hdf-contact-muted);font-size:.8rem;line-height:1.55;overflow-wrap:anywhere}
.hdf-contact-channel a,.hdf-contact-channel small{color:var(--hdf-contact-accent);font-size:.72rem;font-weight:700;text-decoration:none}
.hdf-contact-form-section{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:1.5rem;align-items:start}
.hdf-contact-page.is-form-wide .hdf-contact-form-section{grid-template-columns:minmax(0,1fr)}
.hdf-contact-form-section__guidance{display:grid;gap:1rem;min-width:0}
.hdf-contact-expectations{display:grid;gap:.65rem}
.hdf-contact-expectations>div{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:.8rem;border:1px solid var(--hdf-contact-border);border-radius:.72rem;background:var(--hdf-color-surface-subtle)}
.hdf-contact-expectations .hdf-icon{width:1.2rem;height:1.2rem;color:var(--hdf-contact-accent)}
.hdf-contact-expectations span{display:grid;gap:.18rem}
.hdf-contact-expectations strong{font-size:.78rem}
.hdf-contact-expectations small{color:var(--hdf-contact-muted);font-size:.7rem;line-height:1.5}
.hdf-contact-form-section__storage{display:flex;gap:.55rem;align-items:flex-start;margin:0;padding:.75rem;border-left:3px solid var(--hdf-contact-accent);background:var(--hdf-contact-soft);color:var(--hdf-contact-muted);font-size:.72rem;line-height:1.55}
.hdf-contact-form-section__storage .hdf-icon{flex:0 0 auto;width:1.1rem;height:1.1rem;color:var(--hdf-contact-accent)}
.hdf-contact-form-shell{min-width:0}
.hdf-contact-form__status{display:none;gap:.25rem;margin-bottom:.85rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--hdf-contact-accent) 25%,var(--hdf-contact-border));border-radius:.75rem;background:var(--hdf-contact-soft)}
.hdf-contact-form__status.is-visible{display:grid}
.hdf-contact-form__status.is-error{border-color:color-mix(in srgb,var(--hdf-color-danger) 35%,var(--hdf-contact-border));background:color-mix(in srgb,var(--hdf-color-danger) 7%,var(--hdf-color-surface))}
.hdf-contact-form__status strong{font-size:.9rem}
.hdf-contact-form__status span{color:var(--hdf-contact-muted);font-size:.78rem;line-height:1.55}
.hdf-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;min-width:0;padding:clamp(1.15rem,3vw,1.65rem);border:1px solid var(--hdf-contact-border);border-radius:calc(var(--hdf-contact-card-radius,1rem) - 2px);background:var(--hdf-color-surface-subtle)}
.hdf-contact-form label{display:grid;gap:.38rem;min-width:0;color:var(--hdf-contact-text);font-size:.76rem;font-weight:700}
.hdf-contact-form label>span:first-child{display:inline-flex;gap:.2rem;align-items:center}
.hdf-contact-form label b{color:var(--hdf-color-danger);font-weight:800}
.hdf-contact-form input,.hdf-contact-form select,.hdf-contact-form textarea{display:block;width:100%;min-width:0;border:1px solid var(--hdf-color-border-strong);border-radius:.65rem;background:var(--hdf-color-surface);padding:.72rem .8rem;color:var(--hdf-contact-text);font:inherit;font-weight:400;line-height:1.45}
.hdf-contact-form input,.hdf-contact-form select{min-height:var(--hdf-contact-field-height,48px)}
.hdf-contact-form textarea{min-height:10rem;resize:vertical}
.hdf-contact-form input:focus,.hdf-contact-form select:focus,.hdf-contact-form textarea:focus{border-color:var(--hdf-contact-accent);outline:3px solid color-mix(in srgb,var(--hdf-color-focus) 20%,transparent);outline-offset:1px}
.hdf-contact-form label>small{color:var(--hdf-contact-muted);font-size:.67rem;font-weight:400}
.hdf-contact-form__full{grid-column:1/-1}
.hdf-contact-consent{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:flex-start;gap:.6rem!important;font-weight:400!important;line-height:1.55}
.hdf-contact-consent input{flex:0 0 auto;width:1rem;min-height:0;height:1rem;margin-top:.15rem;accent-color:var(--hdf-contact-accent)}
.hdf-contact-consent a{color:var(--hdf-contact-accent);font-weight:700}
.hdf-contact-security-note{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:.8rem;border:1px solid color-mix(in srgb,var(--hdf-contact-accent) 20%,var(--hdf-contact-border));border-radius:.7rem;background:var(--hdf-contact-soft)}
.hdf-contact-security-note>.hdf-icon{width:1.25rem;height:1.25rem;color:var(--hdf-contact-accent)}
.hdf-contact-security-note p{display:grid;gap:.2rem;margin:0}
.hdf-contact-security-note strong{font-size:.76rem}
.hdf-contact-security-note span{color:var(--hdf-contact-muted);font-size:.69rem;line-height:1.5}
.hdf-contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;border:1px solid var(--hdf-contact-accent);border-radius:.7rem;background:var(--hdf-contact-accent);color:var(--hdf-color-text-inverse);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer}
.hdf-contact-submit .hdf-icon{width:1rem;height:1rem}
.hdf-contact-submit:hover,.hdf-contact-submit:focus-visible{border-color:var(--hdf-color-primary-hover);background:var(--hdf-color-primary-hover)}
.hdf-contact-submit:disabled{cursor:wait;opacity:.72}
.hdf-contact-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.hdf-contact-map-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);gap:1rem;min-width:0}
.hdf-contact-map{min-width:0;overflow:hidden;border:1px solid var(--hdf-contact-border);border-radius:calc(var(--hdf-contact-card-radius,1rem) - 2px);background:var(--hdf-color-surface-subtle)}
.hdf-contact-map iframe{display:block;width:100%;height:var(--hdf-contact-map-height,420px);border:0}
.hdf-contact-location-card{display:grid;align-content:start;gap:.7rem;min-width:0;padding:1.15rem;border:1px solid var(--hdf-contact-border);border-radius:calc(var(--hdf-contact-card-radius,1rem) - 2px);background:var(--hdf-color-surface-subtle)}
.hdf-contact-location-card__icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.8rem;background:var(--hdf-contact-soft);color:var(--hdf-contact-accent)}
.hdf-contact-location-card__icon .hdf-icon{width:1.3rem;height:1.3rem}
.hdf-contact-location-card>small{color:var(--hdf-contact-accent);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hdf-contact-location-card h3{margin:0;font-size:1.15rem}
.hdf-contact-location-card p{margin:0;color:var(--hdf-contact-muted);font-size:.82rem;line-height:1.62}
.hdf-contact-location-card dl{display:grid;gap:.65rem;margin:.25rem 0}
.hdf-contact-location-card dl>div{display:grid;gap:.12rem;padding-top:.65rem;border-top:1px solid var(--hdf-contact-border)}
.hdf-contact-location-card dt{font-size:.68rem;font-weight:800}
.hdf-contact-location-card dd{margin:0;color:var(--hdf-contact-muted);font-size:.72rem;line-height:1.45}
.hdf-contact-location-card .hdf-contact-button{margin-top:.35rem}
.hdf-contact-faqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0}
.hdf-contact-faqs details{min-width:0;border:1px solid var(--hdf-contact-border);border-radius:.75rem;background:var(--hdf-color-surface-subtle)}
.hdf-contact-faqs summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem;cursor:pointer;list-style:none;color:var(--hdf-contact-text);font-size:.84rem;font-weight:750}
.hdf-contact-faqs summary::-webkit-details-marker{display:none}
.hdf-contact-faqs summary span{min-width:0;overflow-wrap:anywhere}
.hdf-contact-faqs summary .hdf-icon{flex:0 0 auto;width:1rem;height:1rem;color:var(--hdf-contact-accent);transition:transform .18s ease}
.hdf-contact-faqs details[open] summary .hdf-icon{transform:rotate(180deg)}
.hdf-contact-faqs details>div{padding:0 1rem 1rem}
.hdf-contact-faqs p{margin:0;color:var(--hdf-contact-muted);font-size:.78rem;line-height:1.65}
.hdf-contact-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;min-width:0;padding:clamp(1.35rem,3vw,2.2rem);border:1px solid color-mix(in srgb,var(--hdf-contact-accent) 22%,var(--hdf-contact-border));border-radius:var(--hdf-contact-card-radius,1rem);background:linear-gradient(135deg,var(--hdf-contact-soft),var(--hdf-color-surface))}
.hdf-contact-cta>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;min-width:0}
.hdf-contact-cta>div:first-child>span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:.85rem;background:var(--hdf-color-surface);color:var(--hdf-contact-accent)}
.hdf-contact-cta>div:first-child>span .hdf-icon{width:1.4rem;height:1.4rem}
.hdf-contact-cta h2{max-width:25ch;margin:.45rem 0 0;font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.14;letter-spacing:-.03em}
.hdf-contact-cta>div:first-child p:last-child{max-width:44rem;margin:.6rem 0 0;color:var(--hdf-contact-muted);line-height:1.65}
.hdf-contact-cta .hdf-contact-actions{flex-wrap:nowrap;margin-top:0}
.hdf-contact-page a:focus-visible,.hdf-contact-page button:focus-visible,.hdf-contact-page summary:focus-visible{outline:3px solid var(--hdf-color-focus);outline-offset:3px}
