/* HyperDAF Premium Contact Us — Theme-owned route surface. */
.hdf-contact {
    width: 100%;
    min-width: 0;
    color: var(--hdf-color-text);
    font-family: var(--hdf-font-ui);
}

.hdf-contact__frame {
    box-sizing: border-box;
    width: min(100%, var(--hdf-contact-content-width, 1120px));
    max-width: var(--hdf-contact-content-width, 1120px);
    margin-inline: auto;
    padding-block: var(--hdf-contact-hero-top-gap, 14px) 46px;
}

.hdf-contact__frame > * + * { margin-top: var(--hdf-contact-section-gap, 22px); }
.hdf-contact h1,.hdf-contact h2,.hdf-contact h3,.hdf-contact p { margin-top: 0; }
.hdf-contact h1,.hdf-contact h2,.hdf-contact h3 { color: var(--hdf-color-text); font-family: var(--hdf-font-heading); }
.hdf-contact h2 { margin-bottom: 8px; font-size: clamp(1.28rem,2.1vw,1.72rem); line-height: 1.2; }
.hdf-contact h3 { margin-bottom: 6px; font-size: .9rem; }
.hdf-contact-eyebrow { margin: 0 0 7px; color: var(--hdf-color-primary-hover); font-size: .66rem; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }

.hdf-contact-hero {
    display: grid;
    grid-template-columns: minmax(0,1.34fr) minmax(320px,.66fr);
    align-items: stretch;
    gap: 18px;
    padding: 28px;
    border: 1px solid var(--hdf-contact-border,var(--hdf-color-border));
    border-radius: var(--hdf-contact-card-radius,16px);
    background: var(--hdf-contact-hero-background,#FFF7ED);
}
.hdf-contact-hero__copy { display: grid; align-content: center; min-width: 0; }
.hdf-contact-hero h1 { max-width: 720px; margin: 0; font-size: var(--hdf-contact-title-size,42px); line-height: 1.06; letter-spacing: -.035em; }
.hdf-contact-hero__intro { max-width: 700px; margin: 12px 0 0; color: var(--hdf-color-muted); font-size: .91rem; line-height: 1.58; }
.hdf-contact-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.hdf-contact-button,.hdf-contact-button:visited {
    display: inline-flex;
    box-sizing: border-box;
    min-height: var(--hdf-contact-button-height,44px);
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 15px;
    border: 1px solid var(--hdf-color-border);
    border-radius: max(9px,calc(var(--hdf-contact-card-radius,16px) - 6px));
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
    transition: background-color var(--hdf-transition),border-color var(--hdf-transition),color var(--hdf-transition),transform var(--hdf-transition);
}
.hdf-contact-button__icon { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; }
.hdf-contact-button__icon svg { display:block;width:100%;height:100%; }
.hdf-contact-button--primary,.hdf-contact-button--primary:visited { border-color: var(--hdf-color-primary-hover); background: var(--hdf-color-primary); color: var(--hdf-color-on-primary,#fff); }
.hdf-contact-button--primary:hover,.hdf-contact-button--primary:focus-visible { border-color: var(--hdf-color-primary-hover); background: var(--hdf-color-primary-hover); color: var(--hdf-color-on-primary,#fff); }
.hdf-contact-button--secondary,.hdf-contact-button--secondary:visited { background: var(--hdf-contact-card-background,#fff); color: var(--hdf-color-text); }
.hdf-contact-button--secondary:hover,.hdf-contact-button--secondary:focus-visible { border-color: color-mix(in srgb,var(--hdf-color-primary) 58%,var(--hdf-contact-border,var(--hdf-color-border))); background: color-mix(in srgb,var(--hdf-color-primary) 6%,var(--hdf-contact-card-background,#fff)); color: var(--hdf-color-primary-hover); }

.hdf-contact-hero__badges { display:grid; grid-template-columns:1fr; align-content:center; gap:8px; padding:10px; border:1px solid color-mix(in srgb,var(--hdf-color-primary) 20%,var(--hdf-contact-border,var(--hdf-color-border))); border-radius:12px; background:color-mix(in srgb,var(--hdf-contact-card-background,#fff) 92%,transparent); }
.hdf-contact-badge { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; padding:10px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:10px; background:var(--hdf-contact-card-background,#fff); }
.hdf-contact-icon { display:grid; box-sizing:border-box; width:38px; height:38px; flex:0 0 38px; place-items:center; border:1px solid color-mix(in srgb,var(--hdf-color-primary) 42%,var(--hdf-contact-border,var(--hdf-color-border))); border-radius:10px; background:color-mix(in srgb,var(--hdf-color-primary) 7%,var(--hdf-contact-card-background,#fff)); color:var(--hdf-color-primary-hover); }
.hdf-contact-icon svg { display:block;width:19px;height:19px; }
.hdf-contact-badge__copy { display:grid; min-width:0; gap:2px; }
.hdf-contact-badge strong { font-size:.73rem; line-height:1.25; }
.hdf-contact-badge small { color:var(--hdf-color-muted); font-size:.64rem; line-height:1.35; }

.hdf-contact-section { min-width:0; padding:22px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:var(--hdf-contact-card-radius,16px); background:var(--hdf-contact-subtle-background,#F8FAFC); }
.hdf-contact-section-heading { max-width:760px; margin-bottom:15px; }
.hdf-contact-section-heading > p:last-child,.hdf-contact-card-heading > p:last-child,.hdf-contact-map-copy > p { margin-bottom:0; color:var(--hdf-color-muted); font-size:.78rem; line-height:1.5; }
.hdf-contact-channel-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--hdf-contact-card-gap,12px); }
.hdf-contact-channel-card,.hdf-contact-channel-card:visited { display:grid; min-width:0; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:11px; padding:14px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:12px; background:var(--hdf-contact-card-background,#fff); color:var(--hdf-color-text); text-decoration:none; }
.hdf-contact-channel-card[href]:hover,.hdf-contact-channel-card[href]:focus-visible { border-color:color-mix(in srgb,var(--hdf-color-primary) 55%,var(--hdf-contact-border,var(--hdf-color-border))); color:var(--hdf-color-primary-hover); }
.hdf-contact-channel-card .hdf-contact-icon { width:42px;height:42px; }
.hdf-contact-channel-card__copy { display:grid; min-width:0; gap:3px; }
.hdf-contact-channel-card__copy strong { font-size:.76rem; }
.hdf-contact-channel-card__copy b { overflow-wrap:anywhere; color:var(--hdf-color-text); font-size:.68rem; font-weight:700; }
.hdf-contact-channel-card__copy small { color:var(--hdf-color-muted); font-size:.63rem; line-height:1.35; }

.hdf-contact-workspace { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); align-items:start; gap:var(--hdf-contact-card-gap,12px); }
.hdf-contact-form-card,.hdf-contact-info-card { min-width:0; padding:22px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:var(--hdf-contact-card-radius,16px); background:var(--hdf-contact-card-background,#fff); }
.hdf-contact-card-heading { margin-bottom:16px; }
.hdf-contact-form { position:relative; }
.hdf-contact-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.hdf-contact-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px var(--hdf-contact-form-column-gap,12px); }
.hdf-contact-field { display:grid; min-width:0; gap:6px; margin:0; }
.hdf-contact-field--full { grid-column:1/-1; }
.hdf-contact-field label { color:var(--hdf-color-text); font-size:.69rem; font-weight:700; line-height:1.25; }
.hdf-contact-field label span { color:var(--hdf-color-error); }
.hdf-contact-field input,.hdf-contact-field select,.hdf-contact-field textarea { box-sizing:border-box; width:100%; min-width:0; margin:0; border:1px solid var(--hdf-color-border); border-radius:9px; background:var(--hdf-color-surface); color:var(--hdf-color-text); font-family:var(--hdf-font-ui); font-size:.76rem; box-shadow:none; }
.hdf-contact-field input,.hdf-contact-field select { min-height:42px; padding:8px 10px; }
.hdf-contact-field textarea { min-height:138px; padding:10px 11px; resize:vertical; line-height:1.45; }
.hdf-contact-field :is(input,select,textarea):focus { border-color:var(--hdf-color-primary); outline:2px solid color-mix(in srgb,var(--hdf-color-primary) 18%,transparent); outline-offset:1px; }
.hdf-contact-form__footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:15px; padding-top:14px; border-top:1px solid var(--hdf-contact-border,var(--hdf-color-border)); }
.hdf-contact-consent { display:grid; max-width:620px; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:8px; color:var(--hdf-color-muted); font-size:.66rem; line-height:1.4; }
.hdf-contact-consent input { width:16px;height:16px;margin:1px 0 0;accent-color:var(--hdf-color-primary); }
.hdf-contact-consent a { color:var(--hdf-color-primary-hover); font-weight:700; }
.hdf-contact-submit { flex:0 0 auto; cursor:pointer; }
.hdf-contact-notice { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; margin:0 0 14px; padding:10px 12px; border:1px solid var(--hdf-color-border); border-radius:10px; background:var(--hdf-color-subtle); }
.hdf-contact-notice p,.hdf-contact-notice strong { margin:0; font-size:.7rem; line-height:1.4; }
.hdf-contact-notice--success { border-color:color-mix(in srgb,#16a34a 32%,var(--hdf-color-border)); background:color-mix(in srgb,#16a34a 5%,var(--hdf-color-surface)); }
.hdf-contact-notice--error { border-color:color-mix(in srgb,var(--hdf-color-error) 30%,var(--hdf-color-border)); }

.hdf-contact-response { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; padding:11px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:10px; background:var(--hdf-contact-subtle-background,#F8FAFC); }
.hdf-contact-response small,.hdf-contact-response strong { display:block; }
.hdf-contact-response small { color:var(--hdf-color-muted); font-size:.62rem; }
.hdf-contact-response strong { margin-top:2px; font-size:.72rem; }
.hdf-contact-hours { margin-top:12px; padding:12px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:10px; }
.hdf-contact-hours h3 { margin:0 0 7px; }
.hdf-contact-hours p { margin:3px 0 0; color:var(--hdf-color-muted); font-size:.67rem; }
.hdf-contact-departments { display:grid; gap:8px; margin-top:12px; }
.hdf-contact-department { display:grid; grid-template-columns:36px minmax(0,1fr); gap:9px; padding:10px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:10px; }
.hdf-contact-department .hdf-contact-icon { width:36px;height:36px; }
.hdf-contact-department strong { font-size:.72rem; }
.hdf-contact-department p { margin:3px 0 5px; color:var(--hdf-color-muted); font-size:.63rem; line-height:1.35; }
.hdf-contact-department a { color:var(--hdf-color-primary-hover); font-size:.64rem; font-weight:700; text-decoration:none; }
.hdf-contact-department a:hover,.hdf-contact-department a:focus-visible { text-decoration:underline; text-underline-offset:2px; }

.hdf-contact-map-section { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); align-items:stretch; gap:18px; padding:0; overflow:hidden; background:var(--hdf-contact-card-background,#fff); }
.hdf-contact-map-copy { display:grid; align-content:center; padding:24px; }
.hdf-contact-map-copy .hdf-contact-button { justify-self:start; margin-top:14px; }
.hdf-contact-address { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:start; gap:10px; margin-top:16px; padding:11px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:10px; background:var(--hdf-contact-subtle-background,#F8FAFC); }
.hdf-contact-address small { display:block; color:var(--hdf-color-muted); font-size:.61rem; }
.hdf-contact-address address { margin-top:3px; color:var(--hdf-color-text); font-size:.7rem; font-style:normal; line-height:1.45; }
.hdf-contact-map-frame { position:relative; min-height:var(--hdf-contact-map-height,360px); background:var(--hdf-contact-subtle-background,#F8FAFC); }
.hdf-contact-map-frame iframe { display:block; width:100%!important; height:100%!important; min-height:var(--hdf-contact-map-height,360px); border:0!important; }
.hdf-contact-map-placeholder { position:absolute; inset:0; display:grid; align-content:center; justify-items:center; gap:7px; padding:24px; text-align:center; }
.hdf-contact-map-placeholder strong { font-size:.8rem; }
.hdf-contact-map-placeholder small { max-width:320px; color:var(--hdf-color-muted); font-size:.66rem; line-height:1.4; }

.hdf-contact-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--hdf-contact-card-gap,12px); }
.hdf-contact-resource-card,.hdf-contact-resource-card:visited { display:grid; min-width:0; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:11px; padding:14px; border:1px solid var(--hdf-contact-border,var(--hdf-color-border)); border-radius:12px; background:var(--hdf-contact-card-background,#fff); color:var(--hdf-color-text); text-decoration:none; }
.hdf-contact-resource-card:hover,.hdf-contact-resource-card:focus-visible { border-color:color-mix(in srgb,var(--hdf-color-primary) 55%,var(--hdf-contact-border,var(--hdf-color-border))); background:color-mix(in srgb,var(--hdf-color-primary) 4%,var(--hdf-contact-card-background,#fff)); }
.hdf-contact-resource-card > span:last-child { display:grid; min-width:0; gap:3px; }
.hdf-contact-resource-card strong { font-size:.74rem; }
.hdf-contact-resource-card small { color:var(--hdf-color-muted); font-size:.64rem; line-height:1.35; }
.hdf-contact-resource-card b { margin-top:3px; color:var(--hdf-color-primary-hover); font-size:.64rem; }

.hdf-contact-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; padding:22px 24px; border:1px solid color-mix(in srgb,var(--hdf-color-primary) 28%,var(--hdf-contact-border,var(--hdf-color-border))); border-radius:var(--hdf-contact-card-radius,16px); background:var(--hdf-contact-hero-background,#FFF7ED); }
.hdf-contact-cta h2 { margin-bottom:6px; }
.hdf-contact-cta > div:first-child > p:last-child { margin:0; color:var(--hdf-color-muted); font-size:.76rem; line-height:1.45; }
.hdf-contact-cta .hdf-contact-actions { margin-top:0; justify-content:flex-end; }

@media (max-width: 1100px) {
    .hdf-contact__frame { width:100%; max-width:none; padding-inline:var(--hdf-contact-tablet-padding-x,24px); }
    .hdf-contact-hero { grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr); padding:24px; }
    .hdf-contact-hero h1 { font-size:var(--hdf-contact-tablet-title-size,36px); }
    .hdf-contact-workspace { grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr); }
    .hdf-contact-channel-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hdf-contact-map-frame,.hdf-contact-map-frame iframe { min-height:var(--hdf-contact-map-tablet-height,320px); }
}

@media (max-width: 880px) {
    .hdf-contact-workspace { grid-template-columns:1fr; }
    .hdf-contact-info-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.72fr); gap:12px 16px; }
    .hdf-contact-info-card > .hdf-contact-card-heading { grid-column:1/-1; margin-bottom:0; }
    .hdf-contact-response,.hdf-contact-hours { margin-top:0; }
    .hdf-contact-departments { grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; }
    .hdf-contact-department { grid-template-columns:32px minmax(0,1fr); }
    .hdf-contact-map-section { grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr); }
}

@media (max-width: 760px) {
    .hdf-contact__frame { padding-block:10px 36px; padding-inline:var(--hdf-contact-mobile-padding-x,16px); }
    .hdf-contact__frame > * + * { margin-top:min(var(--hdf-contact-section-gap,22px),18px); }
    .hdf-contact-hero { grid-template-columns:1fr; gap:12px; padding:20px; }
    .hdf-contact-hero h1 { font-size:var(--hdf-contact-mobile-title-size,30px); }
    .hdf-contact-hero__intro { font-size:.82rem; }
    .hdf-contact-hero__badges { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:8px; }
    .hdf-contact-badge { grid-template-columns:1fr; justify-items:center; gap:5px; padding:8px 5px; text-align:center; }
    .hdf-contact-badge .hdf-contact-icon { width:31px;height:31px; }
    .hdf-contact-badge .hdf-contact-icon svg { width:15px;height:15px; }
    .hdf-contact-badge__copy { justify-items:center; }
    .hdf-contact-badge strong { font-size:.6rem; white-space:nowrap; }
    .hdf-contact-badge small { display:none; }
    .hdf-contact-section,.hdf-contact-form-card,.hdf-contact-info-card { padding:17px; }
    .hdf-contact-channel-rail { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; gap:var(--hdf-contact-card-gap,12px); scroll-snap-type:x proximity; overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
    .hdf-contact-channel-rail::-webkit-scrollbar { display:none; }
    .hdf-contact-channel-card { flex:0 0 calc((100% - (var(--hdf-contact-card-gap,12px) * .55)) / 1.55); max-width:calc((100% - (var(--hdf-contact-card-gap,12px) * .55)) / 1.55); min-width:calc((100% - (var(--hdf-contact-card-gap,12px) * .55)) / 1.55); scroll-snap-align:start; }
    .hdf-contact-info-card { display:block; }
    .hdf-contact-info-card > * + * { margin-top:10px; }
    .hdf-contact-departments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .hdf-contact-department { grid-template-columns:1fr; justify-items:center; padding:9px 6px; text-align:center; }
    .hdf-contact-department .hdf-contact-icon { width:30px;height:30px; }
    .hdf-contact-department p { display:none; }
    .hdf-contact-department strong,.hdf-contact-department a { font-size:.59rem; white-space:nowrap; }
    .hdf-contact-map-section { grid-template-columns:1fr; }
    .hdf-contact-map-copy { padding:18px; }
    .hdf-contact-map-frame,.hdf-contact-map-frame iframe { min-height:var(--hdf-contact-map-mobile-height,280px); }
    .hdf-contact-resource-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .hdf-contact-resource-card { grid-template-columns:1fr; justify-items:center; gap:6px; padding:10px 6px; text-align:center; }
    .hdf-contact-resource-card .hdf-contact-icon { width:31px;height:31px; }
    .hdf-contact-resource-card > span:last-child { justify-items:center; }
    .hdf-contact-resource-card strong { font-size:.61rem; white-space:nowrap; }
    .hdf-contact-resource-card small { display:none; }
    .hdf-contact-resource-card b { font-size:.57rem; white-space:nowrap; }
    .hdf-contact-cta { grid-template-columns:1fr; padding:18px; }
    .hdf-contact-cta .hdf-contact-actions { justify-content:flex-start; }
}

@media (max-width: 560px) {
    .hdf-contact-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    .hdf-contact-button { width:100%; min-width:0; padding-inline:9px; font-size:.68rem; white-space:nowrap; }
    .hdf-contact-form__grid { grid-template-columns:1fr; }
    .hdf-contact-field--full { grid-column:auto; }
    .hdf-contact-form__footer { display:grid; grid-template-columns:1fr; }
    .hdf-contact-submit { width:100%; }
    .hdf-contact-departments { overflow-x:auto; grid-template-columns:repeat(3,minmax(108px,1fr)); scrollbar-width:none; }
    .hdf-contact-departments::-webkit-scrollbar { display:none; }
    .hdf-contact-resource-grid { overflow-x:auto; grid-template-columns:repeat(3,minmax(106px,1fr)); scrollbar-width:none; }
    .hdf-contact-resource-grid::-webkit-scrollbar { display:none; }
}
