@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#111210;--panel:#181a17;--ink:#efeee8;--muted:#a4a69d;--orange:#fa8b36;--line:#34362f;color-scheme:dark;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:7px}::selection{background:var(--orange);color:#111}.skip{position:fixed;left:20px;top:-80px;z-index:100;background:var(--orange);padding:15px;color:#111}.skip:focus{top:15px}.header{height:100px;position:absolute;z-index:3;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 6% 0 12%;border-bottom:1px solid #ffffff1c}.wordmark{font-weight:700;font-size:14px;letter-spacing:1.5px}.wordmark span{color:var(--orange)}.wordmark-dot{font-size:22px}.linkedin{font-size:10px;letter-spacing:1.5px}.linkedin span{color:var(--orange);font-size:22px;margin-left:15px}.orbit-nav{position:fixed;z-index:20;left:35px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:40px}.orbit-nav:before{content:'';position:absolute;left:26px;top:-32px;bottom:-32px;width:1px;background:linear-gradient(transparent,#bd611f 20%,#bd611f 80%,transparent)}.nav-item{position:relative;display:flex;align-items:center;width:54px;height:54px}.orb{position:relative;z-index:2;display:grid;place-items:center;width:54px;height:54px;border:1px solid #aa5b24;border-radius:50%;background:#121410eb;color:var(--orange);font:600 21px 'Barlow Condensed',sans-serif;transition:.25s}.orb:before{content:'';position:absolute;inset:-8px;border:1px dashed #fa8b362a;border-radius:50%}.nav-item:hover .orb,.nav-item:focus-visible .orb,.nav-item[aria-current] .orb{border-color:var(--orange);box-shadow:0 0 18px #fa8b3660,inset 0 0 12px #fa8b361a;background:#20190f}.nav-card{position:absolute;left:74px;width:238px;padding:20px 22px;background:#151713f5;border:1px solid #575b4c;border-left:2px solid var(--orange);opacity:0;visibility:hidden;transform:translateX(-14px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 10px 30px #0008;pointer-events:none}.nav-card:before{content:'';position:absolute;left:-23px;top:50%;height:1px;width:22px;background:var(--orange)}.nav-card small{font-size:8px;letter-spacing:1.5px;color:var(--orange)}.nav-card strong{display:flex;justify-content:space-between;font:600 30px 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-top:5px}.nav-card strong span{color:var(--orange)}.nav-item:hover .nav-card,.nav-item:focus-visible .nav-card{opacity:1;visibility:visible;transform:translateX(0)}.hero{min-height:780px;height:100svh;max-height:1100px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,#10120ff5 3%,#10120fc9 34%,#10120f30 80%),linear-gradient(0deg,#111210 0%,transparent 45%),url('assets/road.jpg') center/cover}.hero-content{position:relative;max-width:1000px;width:100%;margin:60px 7% 0 16%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;color:var(--orange);display:flex;align-items:center;gap:13px}.orange-line{width:28px;height:1px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:600}h1{font-size:clamp(76px,8.7vw,140px);line-height:.94;letter-spacing:-2px;margin:28px 0}h1 em,h2 em{font-style:normal;color:var(--orange)}.hero-intro{font-size:16px;line-height:1.85;color:#c7c9c0;max-width:425px;margin:30px 0 32px}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:10px;letter-spacing:2px;border-bottom:1px solid #777c67;padding-bottom:15px}.text-link span{font-size:23px;color:var(--orange)}.hero-bottom{position:absolute;bottom:32px;left:16%;right:6%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;color:#bbbfb3}.hero-coordinate b{color:var(--orange);margin:0 12px}.section{padding:90px 7% 100px 16%;border-top:1px solid var(--line);scroll-margin-top:0}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.section-top .eyebrow{margin:0}.section-note{font-size:8px;letter-spacing:2px;color:#9b9e92}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}h2{font-size:clamp(46px,5vw,76px);line-height:1.03;letter-spacing:-.7px;margin-bottom:0}h2 span{color:#9b9e91}.section-heading>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 5px}.current-role{display:grid;grid-template-columns:1fr 1.8fr auto;gap:20px;background:#1b1e18;border:1px solid #3b4133;padding:35px;margin-bottom:45px}.role-marker{font-size:8px;color:#bcc3af;letter-spacing:1.5px;line-height:1.8}.role-marker>span{display:inline-block;height:6px;width:6px;background:var(--orange);border-radius:50%;margin-right:6px;box-shadow:0 0 10px #fa8b3655}.company{font-size:12px;color:var(--orange);margin-bottom:12px}.current-role h3{font-size:35px;line-height:1.08;margin:0 0 16px}.role-caption{font-size:10px;color:var(--muted);margin:0}.role-caption span{padding:0 7px;color:var(--orange)}.large-arrow{font-size:40px;color:var(--orange)}.career-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:var(--muted);padding-bottom:15px}.career-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:grid;grid-template-columns:100px 1fr 200px 20px;align-items:center;gap:15px;padding:24px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.career-year{font-size:11px;color:var(--muted)}.career-company{font-size:18px}.career-field{font-size:8px;letter-spacing:1.2px;text-align:right;color:#a2a797}.expand{color:var(--orange);font-size:22px;transition:transform .2s}details[open] .expand{transform:rotate(45deg)}summary:hover .career-company{color:var(--orange)}.career-detail{padding:0 40px 25px 115px;max-width:850px}.career-detail h3{font-size:24px;margin-bottom:10px}.career-detail p{font-size:13px;color:var(--muted);line-height:1.9}.career-detail a{font-size:12px;color:var(--orange);text-decoration:underline;text-underline-offset:4px}.hobbies-section{background:#1b1c19}.hobby-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.hobby-card{position:relative;min-height:450px;display:flex;align-items:flex-end;padding:34px;overflow:hidden;border:1px solid #4a4c3d}.hobby-card>div:last-child{position:relative;z-index:1}.trail-card{background:linear-gradient(0deg,#10150eee,transparent 100%),url('assets/trail.jpg') center/cover}.hobby-card h3{font-size:52px;line-height:1;margin:17px 0}.hobby-card p:not(.eyebrow){font-size:12px;line-height:1.8;color:#d0d4c5}.hobby-tag{display:inline-block;margin-top:25px;font-size:8px;letter-spacing:2px;border-top:1px solid #b3ba9d70;padding-top:14px}.hockey-card{background:linear-gradient(155deg,#383e35,#121610)}.rink-art{position:absolute;width:310px;height:180px;border:1px solid #b9c2a331;border-radius:65px;right:-60px;top:36px;transform:rotate(-28deg)}.rink-art:before,.rink-art:after{content:'';position:absolute;top:0;bottom:0;border-left:1px solid #b9c2a331;left:33%}.rink-art:after{left:66%}.rink-art span{position:absolute;left:50%;height:100%;width:1px;background:#fa8b3650}.rink-art i{position:absolute;left:calc(50% - 32px);top:calc(50% - 32px);height:64px;width:64px;border:1px solid #fa8b3650;border-radius:50%}.race-note{display:flex;align-items:center;gap:16px;padding-top:26px}.tiny-cross{color:var(--orange);font-size:25px}.race-note p{font-size:8px;letter-spacing:1px;color:var(--orange);margin:0}.race-note p span{color:var(--muted);margin-left:20px;font-size:10px;letter-spacing:.2px}.education-section{background:#10120f}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.education-intro{max-width:300px;margin:25px 0 0;font-size:13px;line-height:1.9;color:var(--muted)}.schools article{border-top:1px solid var(--line);padding:25px 0 32px}.school-date{font-size:8px;color:var(--orange);letter-spacing:1.5px}.schools h3{font-size:33px;line-height:1.1;margin:17px 0 15px}.schools p{font-size:12px;color:var(--muted);line-height:1.8}.school-tag{font-size:8px;letter-spacing:1px;color:#c3c9b7}.mentoring{border-top:1px solid var(--line);padding-top:20px}.mentoring span{color:var(--orange);margin-right:8px}.family-section{position:relative;min-height:550px;display:flex;align-items:center;background:url('assets/forest.jpg') center 60%/cover}.family-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111810e8,#11181086),linear-gradient(0deg,#11121055,transparent)}.family-content{position:relative}.family-content h2{font-size:clamp(55px,6vw,90px);margin:24px 0}.family-content>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#d0d4c5}.family-signature{display:block;margin-top:35px;font-family:Georgia,serif;font-style:italic;font-size:23px;color:#ddd7c4}footer{padding:45px 7% 40px 16%;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border-top:1px solid var(--line)}footer p{font-size:12px;color:var(--muted);margin:0;text-align:right}footer>a:not(.wordmark),footer small{font-size:9px;letter-spacing:1px;color:var(--muted)}footer small{text-align:right}
@media(min-width:1600px){.section{padding-right:calc((100vw - 1200px)/2);padding-left:calc((100vw - 1150px)/2)}.hero-content{margin-left:calc((100vw - 1150px)/2)}}
@media(max-width:1000px){.orbit-nav{left:20px}.section,.hero-content{padding-left:0;margin-left:0}.section{padding:70px 6% 75px 120px}.hero-content{margin:65px 6% 0 120px}.header{padding-left:120px}.hero-bottom{left:120px}.hero-coordinate{display:none}.section-heading{align-items:flex-start;flex-direction:column;gap:24px}.current-role{grid-template-columns:1fr auto}.role-marker{grid-column:1/-1}.education-grid{gap:35px}.career-field{display:none}summary{grid-template-columns:85px 1fr 20px}.career-detail{padding-left:100px}.hobby-card{padding:24px}.hobby-card h3{font-size:43px}footer{padding-left:120px}}
@media(max-width:640px){html{scroll-padding-top:15px}.header{height:78px;padding:0 24px}.wordmark{font-size:11px;letter-spacing:1px}.linkedin{font-size:8px;letter-spacing:.7px}.linkedin span{margin-left:7px}.hero{height:90svh;min-height:660px;max-height:850px}.hero-content{margin:55px 24px 0}.hero-photo{background-position:60% center}.hero h1{font-size:82px}.hero-intro{max-width:310px;font-size:14px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero-bottom{left:24px;bottom:28px;font-size:7px}.orbit-nav{left:50%;top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);flex-direction:row;gap:20px;padding:12px 20px;background:#10130ff2;border:1px solid #5b4b37;border-radius:45px;box-shadow:0 8px 30px #0009;backdrop-filter:blur(14px)}.orbit-nav:before{left:40px;right:40px;top:50%;bottom:auto;height:1px;width:auto}.nav-item,.orb{height:44px;width:44px}.orb{font-size:18px}.orb:before{inset:-4px}.nav-card{left:50%;top:auto;bottom:65px;width:155px;padding:13px;transform:translate(-50%,10px)}.nav-card:before{display:none}.nav-card small{font-size:6px;letter-spacing:.8px}.nav-card strong{font-size:23px}.nav-item:hover .nav-card,.nav-item:focus-visible .nav-card{transform:translate(-50%,0)}.nav-item:first-child .nav-card{left:0;transform:translateY(10px)}.nav-item:first-child:hover .nav-card,.nav-item:first-child:focus-visible .nav-card{transform:translateY(0)}.nav-item:last-child .nav-card{left:auto;right:0;transform:translateY(10px)}.nav-item:last-child:hover .nav-card,.nav-item:last-child:focus-visible .nav-card{transform:translateY(0)}.section{padding:55px 24px 60px}.section-top{margin-bottom:30px}.section-note{font-size:6px;letter-spacing:1px}.section-heading{margin-bottom:30px}.section-heading>p{font-size:12px}h2{font-size:50px}.current-role{padding:23px;gap:20px}.current-role h3{font-size:31px}.large-arrow{font-size:30px}.role-caption{font-size:9px}summary{grid-template-columns:73px 1fr 15px;gap:7px;padding:22px 0}.career-year{font-size:9px}.career-company{font-size:15px}.career-detail{padding:0 8px 22px 80px}.career-detail p{font-size:12px}.hobby-grid,.education-grid{grid-template-columns:1fr}.hobby-card{min-height:385px;padding:28px}.hobby-card h3{font-size:52px}.race-note p span{display:block;margin:8px 0 0;line-height:1.8}.education-grid{gap:35px}.education-intro{max-width:none}.family-section{min-height:490px}.family-content h2{font-size:59px}footer{padding:35px 24px 120px;gap:20px}footer p{font-size:10px}footer>a:not(.wordmark),footer small{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Overview and expanded footer */
.milestones{margin-top:42px}.milestones>h3{font-size:32px;margin-bottom:22px}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.milestone-grid article{border-top:1px solid #61634f;padding:24px 0 8px}.milestone-grid .eyebrow{font-size:9px;letter-spacing:1.3px}.milestone-grid h4{font-size:17px;font-weight:500;margin:20px 0 12px}.milestone-stat{display:block;font:600 44px 'Barlow Condensed',sans-serif;color:var(--orange)}.milestone-award{font-size:32px;min-height:53px;display:flex;align-items:center}.milestone-grid article>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0}.milestone-grid a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.milestone-grid a:hover{color:var(--orange)}.community-note{display:flex;gap:24px;padding:28px;margin-top:35px;border:1px solid var(--line);background:#11140f66}.community-icon{font-size:38px;color:var(--orange)}.community-note h3{font-size:30px;margin:12px 0}.community-note p:last-child{font-size:14px;line-height:1.8;color:var(--muted);max-width:650px;margin-bottom:0}@media(max-width:640px){.milestone-grid{grid-template-columns:1fr;gap:15px}.milestone-award{min-height:0}.community-note{padding:22px;gap:16px}.community-note .eyebrow{font-size:8px;letter-spacing:1px}}
.family-section{background-image:url('assets/family-table.jpg');background-position:center 65%}
.family-shade{background:linear-gradient(90deg,#18130fed,#18130f94 45%,#18130f22),linear-gradient(0deg,#11121055,transparent)}
.hero-photo{background-image:linear-gradient(90deg,#10120fec 3%,#10120fa3 34%,#10120f15 80%),linear-gradient(0deg,#111210 0%,transparent 45%),url('assets/lake-michigan.jpg');background-position:center}
.site-footer{padding-top:65px;padding-bottom:30px;grid-template-columns:1.2fr 1fr;gap:45px;background:#171a15;align-items:start}
.site-footer .wordmark{font-size:18px}
.site-footer h2{font-size:38px;margin:22px 0 15px}
.site-footer p{font-size:15px;text-align:left;line-height:1.8}
.site-footer .footer-location{display:flex;gap:10px;align-items:center;margin-top:22px}
.footer-location svg{width:20px;height:24px;fill:none;stroke:var(--orange);stroke-width:1.5}
.site-footer .eyebrow{font-size:11px;margin:0 0 20px;color:var(--orange)}
.footer-social{display:flex;align-items:center;gap:14px;font-size:17px;padding:18px 0;border-block:1px solid var(--line)}
.footer-social>span:last-child{margin-left:auto;color:var(--orange);font-size:26px}
.linkedin-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--orange);border-radius:5px;color:var(--orange);font-size:24px;font-weight:700}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:25px;font-size:14px;color:var(--muted)}
.footer-links a:hover,.footer-social:hover{color:var(--orange)}
.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.footer-credit{margin:0!important;text-align:center!important;color:var(--muted)}
.footer-credit a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.footer-credit a:hover{color:var(--orange)}
.site-footer small,.footer-bottom a{font-size:12px;letter-spacing:.3px;color:var(--muted)}
.footer-bottom a span{font-size:23px;color:var(--orange);margin-left:10px}
.career-list details[open]{background:#ffffff03}
/* Readable small type across all breakpoints; footer typography is unchanged. */
body :is(.header,.orbit-nav,main>section) :is(.wordmark,.linkedin,.nav-card small,.eyebrow,.hero-bottom,.text-link,.section-note,.role-marker,.role-caption,.career-label,.career-year,.career-field,.hobby-tag,.race-note p,.race-note p span,.school-date,.school-tag){font-size: max(12px, 0.75rem)}
body main>section .section-heading>p{font-size:16px;line-height:1.85}
body .header .wordmark{font-size:14px}
@media(max-width:1000px){.section-top{gap:20px;align-items:flex-start}.section-note{text-align:right}.hero-bottom{flex-wrap:wrap;gap:14px}}
@media(max-width:640px){.section-top{flex-direction:column;gap:12px}.section-note{text-align:left}.hero .eyebrow{flex-wrap:wrap;line-height:1.7}.nav-card small{display:block;line-height:1.5;letter-spacing:.4px}.career-label{letter-spacing:1px}.career-list summary{grid-template-columns:82px 1fr 15px}.header{gap:20px}.linkedin{max-width:130px}.hero-bottom{letter-spacing:1px}}
@media(max-width:640px){.orbit-nav{gap:13px;padding:12px 14px}.nav-item,.orb{width:42px;height:42px}.site-footer{grid-template-columns:1fr;padding-top:45px;padding-bottom:125px;gap:35px}.site-footer h2{font-size:35px}.site-footer p{font-size:14px}.footer-social{font-size:16px}.site-footer small,.footer-bottom a{font-size:11px}}
