
.contact-page{min-height:0;background:radial-gradient(ellipse at 0 10%,color-mix(in srgb,var(--warm-accent-soft) 10%,transparent),transparent 60%);padding-bottom:60px}.contact-shell{max-width:1240px;margin:0 auto;padding:32px 32px 0}.contact-breadcrumb{display:flex;gap:12px;font-size:13px;color:rgb(var(--ndu-c-fg-secondary))}.contact-heading{padding:42px 0 36px;max-width:680px}.contact-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--ndu-c-gold));font-weight:600}.contact-heading h1{font-size:clamp(36px,4.5vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:600;margin:14px 0 18px}.contact-heading>p:last-child{font-size:16px;line-height:1.8;color:rgb(var(--ndu-c-fg-secondary));max-width:550px}.contact-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:32px;align-items:stretch}.contact-details{display:flex;flex-direction:column;gap:22px}.contact-methods{display:grid;gap:14px}.contact-method{display:flex;gap:18px;padding:22px;border:1px solid var(--warm-line);border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--warm-accent-soft) 10%,transparent),color-mix(in srgb,var(--warm-accent-soft) 10%,transparent));transition:border-color .2s,transform .2s}.contact-method:hover{border-color:var(--warm-accent);transform:translateY(-2px)}.contact-icon{display:flex;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--warm-accent-soft) 7%,transparent);color:rgb(var(--ndu-c-gold));flex-shrink:0}.contact-icon svg{width:22px;height:22px}.contact-method-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.contact-label{font-size:12px;color:rgb(var(--ndu-c-fg-secondary))}.contact-method strong{font-size:clamp(18px,2vw,23px);font-weight:500;overflow-wrap:anywhere}.contact-action{font-size:12px;color:rgb(var(--ndu-c-gold));display:flex;gap:8px;margin-top:5px}.contact-address,.contact-hours{display:flex;gap:18px;padding:4px 22px}.contact-details h2{font-size:12px;font-weight:400;color:rgb(var(--ndu-c-fg-secondary));margin:0 0 7px}.contact-address address,.contact-hours p{font-size:14px;line-height:1.7;font-style:normal}.contact-social{margin-top:auto;padding:18px 22px 0;border-top:1px solid var(--warm-line)}.contact-social>div{display:flex;flex-wrap:wrap;gap:8px}.contact-social a{padding:9px 11px;border:1px solid var(--warm-line);border-radius:7px;font-size:12px;transition:background .2s}.contact-social a:hover{background:color-mix(in srgb,var(--warm-accent-soft) 7%,transparent);color:rgb(var(--ndu-c-gold))}.contact-campus{border:1px solid var(--warm-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;background:var(--warm-panel)}.contact-photo{position:relative;flex:1;min-height:310px}.contact-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.contact-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,color-mix(in srgb,var(--warm-accent-soft) 10%,transparent))}.contact-photo-tag{position:absolute;bottom:20px;left:24px;z-index:1;letter-spacing:.16em;font-size:11px;color:var(--warm-text)}.contact-campus-caption{padding:25px;display:flex;flex-direction:column;gap:20px}.contact-campus-caption h2{font-size:20px;font-weight:500;margin:8px 0}.contact-campus-caption p:last-child{font-size:14px;color:rgb(var(--ndu-c-fg-secondary));line-height:1.6}.contact-map-link{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--warm-accent);color:var(--warm-text);border-radius:9px;padding:13px 17px;font-size:13px;font-weight:600}.contact-map-link:hover{background:var(--warm-accent)}.contact-documents{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--warm-line);margin-top:32px;padding:24px 4px 0;color:rgb(var(--ndu-c-fg-secondary))}.contact-documents>span:first-child{display:flex;gap:18px;align-items:center;font-size:13px}.contact-documents strong{color:rgb(var(--ndu-c-fg));font-weight:500}.contact-documents>span:last-child{color:rgb(var(--ndu-c-gold));font-size:23px}.contact-page:focus{outline:none}.contact-page a:focus-visible{outline:2px solid var(--warm-accent);outline-offset:4px}html[data-scheme=light] .contact-method,html[data-scheme=light] .contact-campus{background:var(--warm-panel)}html[data-scheme=light] .contact-method,html[data-scheme=light] .contact-campus,html[data-scheme=light] .contact-social a{border-color:var(--warm-line)}@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:28px}.contact-shell{padding:24px 20px 0}.contact-heading{padding-top:30px}.contact-photo{min-height:280px}.contact-documents>span:first-child{align-items:start;flex-direction:column;gap:5px}.contact-social{padding-bottom:4px}}@media(prefers-reduced-motion:reduce){.contact-method,.contact-social a{transition:none}.contact-method:hover{transform:none}}

.contact-map{position:relative;flex:1;min-height:350px;background:var(--warm-panel)}.contact-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}@media(max-width:800px){.contact-map{min-height:320px}}

/* Warm surfaces; photo captions remain legible over photography. */
.contact-page{color:var(--warm-text)}
.contact-method,.contact-campus{background:var(--warm-panel)}
.contact-icon{background:var(--warm-panel-soft)}
.contact-photo:after{background:linear-gradient(transparent 45%,color-mix(in srgb,var(--warm-overlay) 76%,transparent))}
.contact-photo-tag{color:var(--warm-on-dark)}
.contact-map-link,.contact-map-link:hover{background:var(--warm-accent);color:var(--warm-on-dark)}
