/* BOAGS travel page — V15 cleanup (2026-07-24). Page-specific styles only;
 * shared nav/footer/buttons/typography/etc live in css/global.css. */

.btn-nav-cta:hover { background:#E2B007; }

.sec-pad { padding:3rem 1rem; }

.sec-pad-sm { padding:3.75rem 2rem; }

.sec-sky { background:#EBF4FF; }

.btn-amber { background:#F2820D; color:#0E1116; font-family:'Inter',sans-serif; font-size:1.0625rem; font-weight:700; padding:1rem 2.5rem; border-radius:2px; text-decoration:none; border:none; cursor:pointer; letter-spacing:0.05em; text-transform:uppercase; display:inline-block; box-shadow:0 2px 12px rgba(242,130,13,0.22); transition:background 0.15s,transform 0.12s; }

.btn-amber:hover { background:#E2B007; transform:translateY(-2px); }

.btn-amber-hero { background:#F2820D; color:#0E1116; font-family:'Inter',sans-serif; font-size:1.1875rem; font-weight:700; padding:1.25rem 3rem; border-radius:2px; text-decoration:none; border:none; cursor:pointer; letter-spacing:0.05em; text-transform:uppercase; display:inline-block; box-shadow:0 4px 24px rgba(242,130,13,0.30); transition:background 0.15s,transform 0.12s; }

.btn-amber-hero:hover { background:#E2B007; transform:translateY(-2px); }

.hero-section { position:relative; min-height:60vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding-top:120px; }

.hero-bg picture, .hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }

.hero-content { position:relative; z-index:2; max-width:1400px; margin:0 auto; padding:4rem 2rem 5rem; width:100%; }

.hero-h1 { font-family:'Oswald',sans-serif; font-weight:700; font-size:clamp(2.5rem,5.5vw,4.25rem); line-height:1.10; color:#E8EAED; margin:1rem 0; letter-spacing:-0.01em; }

.hero-sub { font-family:'Inter',sans-serif; font-size:clamp(1.1875rem,2.4vw,1.4375rem); font-weight:400; color:rgba(232,234,237,0.80); line-height:1.80; margin-bottom:0; }

.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(242,130,13,0.18); border:1px solid rgba(242,130,13,0.55); border-radius:2px; padding:0.4rem 1rem; font-family:'Inter',sans-serif; font-size:1rem; font-weight:700; letter-spacing:0.10em; text-transform:uppercase; color:rgba(255,255,255,0.95); margin-bottom:1.5rem; }

.marquee-section { background:#1B3A5C; border-top:2px solid rgba(242,130,13,0.80); border-bottom:2px solid rgba(242,130,13,0.80); padding:1.0625rem 0; overflow:hidden; }

.marquee-track { display:flex; gap:0; animation:marquee-scroll 38s linear infinite; will-change:transform; }

.marquee-track:hover { animation-play-state:paused; }

@keyframes marquee-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.marquee-item { font-family:'Oswald',sans-serif; font-weight:500; font-size:1.25rem; color:rgba(232,234,237,0.65); white-space:nowrap; padding:0 2.25rem; letter-spacing:0.05em; }

.marquee-sep { color:#F2820D; padding:0 0.2rem; }

.exhibitors-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:0.75rem; margin-bottom:2rem; }

.ex-tile { background:#FFFFFF; border:1px solid #D0DBE8; border-radius:4px; height:76px; display:flex; align-items:center; justify-content:center; padding:0.5rem 1rem; text-align:center; font-family:'Inter',sans-serif; font-size:0.8125rem; font-weight:600; color:rgba(13,31,45,0.70); transition:background 0.18s,color 0.18s,border-color 0.18s; }

.ex-tile:hover { background:#FBF4EC; color:#F2820D; border-color:rgba(242,130,13,0.35); }

.attend-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; }

@media(min-width:600px) { .attend-grid { grid-template-columns:1fr 1fr; } }

@media(min-width:960px) { .attend-grid { grid-template-columns:repeat(3,1fr); } }

.attend-card { background:#FFFFFF; border:1px solid #D0DBE8; box-shadow:0 2px 12px rgba(27,58,92,0.08); border-radius:4px; padding:1.75rem; position:relative; overflow:hidden; transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s; }

.attend-card:hover { border-color:rgba(242,130,13,0.40); transform:translateY(-3px); box-shadow:0 12px 32px rgba(27,58,92,0.12); }

.attend-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:#F2820D; opacity:0; transition:opacity 0.2s; }

.attend-card:hover::before { opacity:1; }

.attend-icon { width:42px; height:42px; border-radius:50%; background:rgba(242,130,13,0.12); border:1.5px solid rgba(242,130,13,0.32); display:flex; align-items:center; justify-content:center; margin-bottom:1.125rem; }

.attend-title { font-family:'Oswald',sans-serif; font-weight:600; font-size:1.375rem; color:#1B3A5C; letter-spacing:0.01em; margin-bottom:0.5rem; display:block; }

.attend-body { font-family:'Inter',sans-serif; font-size:1.125rem; color:rgba(13,31,45,0.70); line-height:1.75; }

.hotel-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; }

@media(min-width:640px) { .hotel-grid { grid-template-columns:1fr 1fr; } }

@media(min-width:960px) { .hotel-grid { grid-template-columns:repeat(3,1fr); } }

.hotel-card { background:#FFFFFF; border:1px solid #D0DBE8; border-radius:6px; padding:1.75rem; transition:border-color 0.2s,transform 0.2s,box-shadow 0.2s; }

.hotel-card:hover { border-color:rgba(242,130,13,0.40); transform:translateY(-3px); box-shadow:0 12px 32px rgba(27,58,92,0.10); }

.hotel-name { font-family:'Oswald',sans-serif; font-weight:700; font-size:1.375rem; color:#1B3A5C; margin-bottom:0.5rem; display:block; }

.hotel-addr { font-family:'Inter',sans-serif; font-size:1.0625rem; color:rgba(13,31,45,0.65); line-height:1.6; margin-bottom:0.5rem; }

.hotel-phone a { font-family:'Inter',sans-serif; font-size:1.0625rem; font-weight:600; color:#F2820D; text-decoration:none; }

.hotel-phone a:hover { text-decoration:underline; }

footer { background:#1B3A5C; border-top:3px solid #F2820D; padding:4rem 2rem 2.25rem; }

.directions-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }

@media(min-width:768px) { .directions-grid { grid-template-columns:1fr 1fr; gap:3rem; } }

.directions-card { background:#F5F6F7; border-left:4px solid #1B3A5C; border-radius:6px; padding:2rem 2rem 2rem 1.75rem; }

.venue-card { background:#FFFFFF; border:1px solid #D0DBE8; border-radius:6px; padding:2rem; }

.step-list { list-style:none; padding:0; margin:0; }

.step-list li { display:flex; align-items:flex-start; gap:1rem; padding:0.875rem 0; border-bottom:1px solid rgba(27,58,92,0.10); }

.step-list li:last-child { border-bottom:none; }

.step-num { width:28px; height:28px; border-radius:50%; background:#1B3A5C; color:#FFFFFF; font-family:'Oswald',sans-serif; font-weight:700; font-size:0.875rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }

.step-text { font-family:'Inter',sans-serif; font-size:1.0625rem; color:rgba(13,31,45,0.78); line-height:1.60; }
