/* IAPSAM.org main stylesheet (self-contained; does not need basic.css) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--navy:#1a3557;--blue:#2056a0;--gold:#c8960c;--gold-lt:#fec502;--lt:#f4f6f9;--mid:#e0e4ea;--text:#222}
body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--lt);font-size:15px;line-height:1.6}
a{color:#1a5fa8;text-decoration:none}a:hover{color:var(--gold);text-decoration:underline}
img{max-width:100%;height:auto}
#page-wrapper{max-width:1060px;margin:0 auto;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15)}
#site-header{background:linear-gradient(180deg,#2a4f86 0%,var(--navy) 100%);border-bottom:2px solid var(--gold);padding:14px 16px 12px}
#brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:12px;text-decoration:none!important}
#brand img{width:64px;height:auto;flex-shrink:0}
#org-name{color:#fff;font-family:Georgia,serif;font-size:clamp(14px,2.4vw,19px);font-weight:bold;text-align:left;text-shadow:1px 1px 3px rgba(0,0,0,.7);max-width:620px}
#main-nav ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
#main-nav a{display:block;padding:7px 13px;background:rgba(0,0,0,.45);color:#fff;border-radius:3px;font-size:13px}
#main-nav a:hover{background:var(--gold);color:var(--navy);text-decoration:none}
#main-content{padding:26px 30px 34px;min-height:380px}
h1.page-title{font-family:Georgia,serif;font-size:22px;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:6px;margin-bottom:20px}
h2.section-title{font-family:Georgia,serif;font-size:18px;color:var(--navy);margin:22px 0 10px}
p{margin-bottom:12px}

/* Map */
#conf-map-container{position:relative;width:100%;margin:0 auto}
#conf-map-img{display:block;width:100%;height:auto}
.map-pin{position:absolute;transform:translate(-50%,calc(-100% + 6px));display:flex;flex-direction:column;align-items:center;text-decoration:none!important}
.map-pin .pin-label{color:#fff;font-size:clamp(7px,1.1vw,11px);font-weight:bold;white-space:nowrap;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 3px #000}
.map-pin .pin-dot{width:8px;height:8px;background:var(--navy);border:2px solid var(--gold-lt);border-radius:50%;margin-top:1px}
.map-pin:hover{z-index:5}
.map-pin:hover .pin-label{color:var(--gold-lt)}
.map-pin.upcoming .pin-label{color:var(--gold-lt)}
.map-pin.upcoming .pin-dot{background:var(--gold-lt);border-color:var(--navy)}
#home-below-map{padding:22px 30px 30px}
.conf-announcement{background:var(--navy);color:#fff;border-radius:4px;padding:16px 20px;margin-bottom:18px}
.conf-announcement h2{color:var(--gold-lt);font-size:16px;margin-bottom:8px}
.conf-announcement a{color:var(--gold-lt);font-weight:bold}
.conf-announcement p{font-size:14px;margin-bottom:4px}
#home-panels{display:flex;gap:22px;flex-wrap:wrap}
.home-panel{flex:1 1 280px;background:var(--lt);border:1px solid var(--mid);border-radius:4px;padding:16px}
.home-panel h2{font-size:15px;color:var(--navy);margin-bottom:10px;border-bottom:1px solid var(--mid);padding-bottom:6px}
.home-panel ul{padding-left:18px}.home-panel li{margin-bottom:5px;font-size:14px}

/* Conference search + tables */
#conf-search-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#conf-search-bar input,#conf-search-bar select{padding:8px 12px;border:1px solid #bbb;border-radius:3px;font-size:14px}
#conf-search-bar input{flex:1 1 220px}
#conf-search-bar button{padding:8px 18px;background:var(--navy);color:#fff;border:0;border-radius:3px;cursor:pointer;font-size:14px}
.table-scroll{overflow-x:auto}
.conf-table,.board-table{width:100%;border-collapse:collapse;font-size:14px}
.conf-table th,.board-table th{background:var(--navy);color:#fff;padding:9px 10px;text-align:left}
.conf-table td,.board-table td{padding:8px 10px;border-bottom:1px solid var(--mid);vertical-align:top}
.conf-table tr:nth-child(even) td{background:var(--lt)}
.badge-topical{background:var(--mid);color:#555;font-size:11px;padding:1px 6px;border-radius:10px}
.badge-upcoming{background:var(--gold);color:var(--navy);font-size:11px;padding:1px 6px;border-radius:10px;font-weight:bold}

/* Board */
.board-table .role-cell{font-weight:bold;color:var(--blue);white-space:nowrap}
.board-photos{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px}
.board-photo-card{text-align:center;width:110px}
.board-photo-card img{width:101px;height:146px;object-fit:cover;border:2px solid var(--mid)}
.photo-name{font-size:12px;margin-top:4px;color:var(--navy)}
.photo-role{font-size:11px;color:var(--gold);font-style:italic}

/* FAQ, awards */
.faq-item{margin-bottom:18px;border-bottom:1px solid var(--mid);padding-bottom:14px}
.faq-question{font-weight:bold;color:var(--navy);margin-bottom:5px}
.award-item{display:flex;gap:18px;margin-bottom:20px;border-bottom:1px solid var(--mid);padding-bottom:16px}
.award-item img{width:80px;height:110px;object-fit:cover;border:1px solid var(--mid);flex-shrink:0}
.award-year{font-weight:bold;color:var(--gold);font-size:18px}
.award-name{font-size:16px;font-weight:bold;color:var(--navy)}
.award-org{font-size:13px;color:#555;font-style:italic}
.history-cols{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start}
.history-cols>div{flex:1 1 320px}
.history-cols img.eulogy{float:right;margin:0 0 12px 16px;max-width:220px;border:1px solid #ccc}

#conf-banner-strip{background:var(--lt);border-top:2px solid var(--mid);padding:10px;text-align:center}
#conf-banner-strip .banner-img{max-height:88px;width:auto}
#site-footer{background:var(--navy);text-align:center;padding:14px;color:#fff;font-size:12px;font-style:italic}
#site-footer p{margin:0}#site-footer a{color:var(--gold-lt)}

@media(max-width:700px){
  #main-content,#home-below-map{padding:16px}
  .conf-table,.board-table{font-size:13px}
  .map-pin .pin-label{display:none}
  .map-pin:hover .pin-label,.map-pin:focus .pin-label,.map-pin.upcoming .pin-label{display:block}
}

/* Conference pages */
.conf-subtitle{font-size:15px;color:#555;margin:-8px 0 14px}
.conf-meta{background:var(--lt);border:1px solid var(--mid);border-radius:4px;padding:12px 16px;margin-bottom:14px}
.conf-meta div{margin:2px 0}
.concluded-note{color:#a00;font-size:14px}
.archive-links{padding-left:20px;line-height:2}
a.btn-link{display:inline-block;background:var(--navy);color:#fff;padding:7px 16px;border-radius:3px;margin-right:8px}
a.btn-link:hover{background:var(--gold);color:var(--navy);text-decoration:none}
