/* Purpose: Bryan Paul's dark HUD resume layout and page-specific components. */
.header_bar { position:relative; z-index:10; display:flex; min-height:92px; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line_color); }
.brand_mark { display:inline-flex; align-items:center; gap:12px; font-family:var(--mono_font); font-size:14px; font-weight:500; letter-spacing:.02em; }
.brand_mark_symbol { display:grid; width:35px; height:35px; place-items:center; border:1px solid rgba(34,211,238,.5); border-radius:9px; background:rgba(34,211,238,.1); color:var(--cyan_400); font-size:11px; font-weight:500; }
.brand_mark_label span { color:var(--cyan_400); }
.primary_navigation { display:flex; align-items:center; gap:28px; }
.navigation_link { color:var(--muted_400); font-size:12px; font-weight:700; transition:color .2s ease; }
.navigation_link:hover,.navigation_link:focus-visible { color:var(--text_100); }
.navigation_link_cta { padding:9px 14px; border:1px solid var(--line_color); border-radius:8px; color:var(--text_100); }
.navigation_link_cta:hover,.navigation_link_cta:focus-visible { border-color:var(--cyan_400); color:var(--cyan_400); }
.menu_toggle { display:none; border:0; background:none; cursor:pointer; }
.hero_section { position:relative; min-height:calc(100vh - 92px); display:flex; flex-direction:column; justify-content:center; border-top:0; padding:100px 0 80px; }
.hero_grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:center; gap:80px; }
.hero_copy { max-width:700px; }
.hero_copy .eyebrow_label { margin-bottom:22px; color:var(--muted_400); }
.hero_copy h1 { margin-bottom:18px; font-size:clamp(64px,10vw,124px); font-weight:800; letter-spacing:-.09em; }
.hero_title { margin-bottom:24px; color:var(--text_100); font-size:clamp(20px,2.5vw,30px); font-weight:700; letter-spacing:-.04em; }
.title_divider { padding:0 6px; color:var(--cyan_400); font-weight:400; }
.hero_pitch { max-width:570px; margin-bottom:34px; color:var(--muted_400); font-size:17px; }
.hero_actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; }
.text_action { padding:10px 3px; color:var(--cyan_400); font-size:13px; font-weight:800; }
.text_action:hover { color:var(--cyan_300); }
.hero_panel { position:relative; padding:24px; border:1px solid rgba(103,232,249,.25); border-radius:16px; background:linear-gradient(150deg,rgba(30,58,95,.58),rgba(15,23,42,.72)); box-shadow:0 24px 80px rgba(0,0,0,.22); }
.hero_panel::before { position:absolute; top:-1px; right:28px; width:72px; height:2px; content:""; background:var(--cyan_400); }
.panel_header,.panel_footer { display:flex; align-items:center; justify-content:space-between; color:var(--muted_500); font-family:var(--mono_font); font-size:10px; letter-spacing:.1em; }
.panel_signal { color:var(--cyan_400); }
.panel_line { height:1px; margin:26px 0; background:var(--line_color); }
.snapshot_grid { display:grid; grid-template-columns:1fr 1fr; gap:28px 16px; }
.snapshot_item { display:flex; flex-direction:column; gap:3px; }
.snapshot_value { color:var(--cyan_400); font-family:var(--mono_font); font-size:32px; line-height:1; }
.snapshot_label { color:var(--muted_400); font-size:11px; }
.panel_footer { margin-top:36px; padding-top:18px; border-top:1px solid var(--line_color); }
.panel_footer strong { color:var(--text_100); font-family:var(--display_font); font-size:11px; font-weight:700; letter-spacing:0; }
.scroll_hint { display:flex; position:absolute; bottom:30px; align-items:center; gap:12px; color:var(--muted_500); font-family:var(--mono_font); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.scroll_hint_line { width:36px; height:1px; background:var(--cyan_400); }
.about_section { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:80px; }
.about_content { max-width:610px; padding-top:30px; color:var(--muted_400); }
.lead_copy { color:var(--text_100); font-size:24px; font-weight:700; letter-spacing:-.04em; line-height:1.3; }
.about_content p:not(.lead_copy) { max-width:575px; }
.about_tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.about_tags span { padding:7px 11px; border:1px solid var(--line_color); border-radius:100px; color:var(--muted_400); font-family:var(--mono_font); font-size:10px; }
.section_intro_wide { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:32px; }
.section_intro_wide .eyebrow_label { grid-column:1 / -1; margin-bottom:-6px; }
.section_note { max-width:300px; margin:0 0 32px; color:var(--muted_400); font-size:14px; }
.experience_list { margin-top:60px; border-top:1px solid var(--line_color); }
.experience_card { display:grid; grid-template-columns:180px 1fr; gap:38px; padding:28px 0; border-bottom:1px solid var(--line_color); }
.experience_card_featured { padding-top:34px; background:linear-gradient(90deg,rgba(34,211,238,.055),transparent 78%); }
.experience_meta { display:flex; flex-direction:column; gap:10px; color:var(--muted_500); font-family:var(--mono_font); font-size:11px; }
.experience_index { color:var(--cyan_400); }
.experience_body h3 { margin-bottom:7px; font-size:23px; letter-spacing:-.04em; }
.experience_company { margin-bottom:18px; color:var(--cyan_400); font-family:var(--mono_font); font-size:12px; }
.experience_company span { color:var(--muted_400); }
.experience_points { display:grid; grid-template-columns:1fr 1fr; gap:8px 30px; margin:0; padding-left:17px; color:var(--muted_400); font-size:13px; }
.experience_points li::marker { color:var(--cyan_400); }
.experience_summary { max-width:650px; margin-bottom:0; color:var(--muted_400); font-size:14px; }
.skills_section { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); gap:80px; }
.skills_grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.skill_group { min-height:170px; padding:21px; border:1px solid var(--line_color); border-radius:12px; background:rgba(30,41,55,.38); }
.skill_group_header { display:flex; align-items:center; gap:11px; margin-bottom:22px; }
.skill_group_header span,.work_number { color:var(--cyan_400); font-family:var(--mono_font); font-size:10px; }
.skill_group_header h3 { margin:0; font-size:16px; letter-spacing:-.02em; }
.chip_list { display:flex; flex-wrap:wrap; gap:7px; }
.chip_list span { padding:5px 8px; border:1px solid rgba(148,163,184,.16); border-radius:6px; color:var(--muted_400); font-family:var(--mono_font); font-size:10px; }
.skill_group_note { display:flex; min-height:0; align-items:flex-start; gap:14px; border-color:rgba(34,211,238,.23); background:rgba(34,211,238,.06); }
.note_icon { color:var(--cyan_400); font-family:var(--mono_font); font-size:22px; line-height:1; }
.skill_group_note p { margin:1px 0 0; color:var(--muted_400); font-size:13px; }
.work_grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:48px; }
.work_card { min-height:345px; display:flex; flex-direction:column; justify-content:space-between; padding:22px; border:1px solid var(--line_color); border-radius:14px; background:rgba(30,41,55,.48); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
a.work_card:hover,a.work_card:focus-visible { transform:translateY(-5px); border-color:rgba(34,211,238,.6); background:rgba(30,58,95,.52); }
.work_card_primary { border-color:rgba(34,211,238,.3); background:linear-gradient(145deg,rgba(30,58,95,.75),rgba(30,41,55,.42)); }
.work_card_placeholder { opacity:.78; }
.work_card_top { display:flex; align-items:center; justify-content:space-between; }
.external_mark { color:var(--cyan_400); font-size:20px; }
.work_type { margin:0 0 9px; color:var(--cyan_400); font-family:var(--mono_font); font-size:10px; text-transform:uppercase; }
.work_card h3 { margin-bottom:13px; font-size:22px; letter-spacing:-.04em; }
.work_card p:not(.work_type) { margin-bottom:0; color:var(--muted_400); font-size:13px; line-height:1.6; }
.work_link_label { color:var(--text_100); font-size:11px; font-weight:800; }
.contact_section { padding-bottom:85px; }
.contact_panel { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:60px; border:1px solid rgba(34,211,238,.27); border-radius:16px; background:linear-gradient(125deg,rgba(30,58,95,.72),rgba(15,23,42,.7)); }
.contact_copy p:last-child { max-width:320px; margin:0; color:var(--muted_400); }
.contact_links { display:flex; flex-direction:column; justify-content:center; gap:12px; }
.contact_link { display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line_color); }
.contact_link img { flex:none; opacity:.9; }
.contact_link span { display:flex; flex:1; flex-direction:column; color:var(--text_100); font-size:14px; font-weight:700; }
.contact_link small { margin-bottom:2px; color:var(--muted_400); font-family:var(--mono_font); font-size:10px; font-weight:400; text-transform:uppercase; }
.contact_link b { color:var(--cyan_400); font-size:20px; font-weight:400; }
.contact_link:hover span { color:var(--cyan_300); }
.footer_bar { display:flex; align-items:center; justify-content:space-between; min-height:85px; border-top:1px solid var(--line_color); color:var(--muted_500); font-family:var(--mono_font); font-size:10px; }
.footer_signal { color:var(--cyan_400); }
.footer_bar a { color:var(--muted_400); }
.footer_bar a:hover { color:var(--cyan_400); }
@media (max-width:900px) { .hero_grid { gap:45px; } .about_section,.skills_section { gap:45px; } .work_grid { grid-template-columns:1fr 1fr; } .contact_panel { gap:40px; padding:42px; } }
@media (max-width:700px) { .header_bar { min-height:76px; } .menu_toggle { display:flex; align-items:center; gap:8px; padding:8px 0; color:var(--muted_400); font-family:var(--mono_font); font-size:10px; text-transform:uppercase; } .menu_toggle_icon { display:flex; flex-direction:column; gap:5px; } .menu_toggle_icon span { display:block; width:18px; height:1px; background:var(--cyan_400); } .primary_navigation { position:absolute; top:76px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px 0 16px; border-bottom:1px solid var(--line_color); background:rgba(15,23,42,.97); } .primary_navigation.navigation_open { display:flex; } .navigation_link { padding:12px 0; } .navigation_link_cta { border:0; padding:12px 0; } .hero_section { min-height:auto; padding:80px 0 100px; } .hero_grid { display:flex; flex-direction:column; align-items:stretch; gap:55px; } .hero_copy h1 { font-size:clamp(58px,19vw,90px); } .hero_pitch { font-size:16px; } .hero_panel { max-width:500px; } .scroll_hint { display:none; } .about_section,.skills_section { display:block; } .about_content { padding-top:5px; } .section_intro { margin-bottom:38px; } .section_intro_wide { display:block; } .section_note { margin-top:-10px; } .experience_list { margin-top:0; } .experience_card { display:block; padding:25px 0; } .experience_meta { flex-direction:row; justify-content:space-between; margin-bottom:18px; } .experience_points { display:block; } .experience_points li { margin-bottom:9px; } .skills_grid { grid-template-columns:1fr; } .work_grid { grid-template-columns:1fr; margin-top:0; } .work_card { min-height:275px; } .contact_panel { display:block; padding:32px 23px; } .contact_links { margin-top:36px; } .footer_bar { flex-wrap:wrap; gap:10px; padding:22px 0; } }
