@import"https://fonts.googleapis.com/css2?family=Caveat:wght@600;700&family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap";html,body{overflow-x:clip}.brand-mark i{left:18px}@media(max-width:540px){.brand-mark i{left:17px}nav{font-size:11px}}:root{--bg:#0d0f0e;--surface:#151916;--ink:#f2f0e8;--muted:#a4a89f;--line:rgba(242,240,232,.18);--teal:#5be5cf;--blue:#91a8ff;--gold:#f1ce63}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}.site-header{position:sticky;z-index:10;top:0;width:100%;height:74px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 clamp(20px,4vw,72px);background:#0d0f0ef0;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand-mark{position:relative;display:block;width:43px;height:40px;overflow:hidden;background:#0d0f0e;border:1px solid var(--teal)}.brand-mark b,.brand-mark i{position:absolute;top:10px;color:#e9faf5;font:800 17px/1 DM Sans,sans-serif;font-style:normal;text-shadow:1px 1px 0 #126e67,2px 2px 0 #08453d,3px 3px 4px rgba(0,0,0,.5)}.brand-mark b{left:8px}.brand-mark i{left:20px}nav{display:flex;gap:clamp(15px,2.3vw,30px);font-size:12px}nav a:hover,nav a[aria-current=page]{color:var(--teal)}.page{min-height:calc(100svh - 74px);padding:clamp(72px,10vw,140px) clamp(24px,8vw,130px)}.banner{height:130px;margin-bottom:70px;border:1px solid var(--line);background:linear-gradient(110deg,#17221f 0 48%,transparent 48%),radial-gradient(circle at 76% 50%,#536bb1,transparent 20%)}.eyebrow{margin:0 0 20px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3{margin:0;font-family:"Instrument Serif",serif;font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(68px,9vw,140px);line-height:.82}h1 em,h2 em{color:var(--teal)}.copy{max-width:680px;color:var(--muted);font-size:18px;line-height:1.75}.copy p{margin:0 0 20px}.footer{display:flex;justify-content:center;padding:28px;background:#080a09;color:var(--muted);font-size:11px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px}.project-card{min-height:430px;padding:18px;border:1px solid var(--line);background:#171c19;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-8px);border-color:var(--teal)}.project-image{height:255px;position:relative;margin-bottom:28px;overflow:hidden;background:#26322d}.project-image:before{content:"";position:absolute;top:50%;left:50%;width:120px;height:120px;border:34px solid var(--teal);border-radius:50%;transform:translate(-50%,-50%)}.blue .project-image:before{border:0;border-radius:0;background:var(--blue);transform:translate(-50%,-50%) rotate(45deg)}.gold .project-image:before{width:160px;height:82px;border:0;border-radius:100% 0;background:var(--gold);transform:translate(-50%,-50%) rotate(-25deg)}.project-image span{position:absolute;z-index:1;top:14px;left:14px;font:11px monospace}.project-card h3{font-size:43px;line-height:.9}.project-link{display:block;margin-top:35px;color:var(--teal);font-size:12px;font-weight:600}.contact{background:var(--teal);color:#0d0f0e}.contact .banner{border-color:#0d0f0e61;background:radial-gradient(circle at 78% 60%,#f0eeea 0 3%,transparent 3.5%),repeating-linear-gradient(45deg,transparent 0 20px,rgba(13,15,14,.12) 21px 22px)}.contact-grid{display:grid;grid-template-columns:1fr minmax(320px,.7fr);gap:clamp(45px,10vw,160px);align-items:center}.contact .eyebrow,.contact .copy{color:#29433c}.contact h1 em{color:#f2f0e8}.socials{display:flex;gap:18px;margin-top:32px;font-size:13px}.socials a{display:inline-flex;align-items:center;gap:7px;border-bottom:1px solid rgba(13,15,14,.45);padding-bottom:4px}.linkedin-symbol{display:inline-grid;place-items:center;width:16px;height:16px;background:#0a66c2;color:#fff;font:700 11px/1 DM Sans,sans-serif;letter-spacing:-.08em}form{display:grid;gap:19px}label{display:grid;gap:8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}input,textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(13,15,14,.42);outline:none;background:transparent;color:#0d0f0e;font:16px DM Sans,sans-serif;resize:vertical}textarea{min-height:120px}.button{display:inline-flex;justify-content:space-between;gap:35px;padding:16px 20px;border:0;background:#0d0f0e;color:var(--ink);font:600 12px DM Sans,sans-serif;cursor:pointer}@media(max-width:850px){nav{gap:14px;font-size:11px}.page{padding:65px 22px}.project-grid{grid-template-columns:1fr;gap:16px;margin-top:45px}.project-card{min-height:0}.contact-grid{grid-template-columns:1fr;gap:55px}}@media(max-width:540px){.site-header{height:68px}.brand-mark{width:38px;height:36px}.brand-mark b,.brand-mark i{top:8px}.brand-mark b{left:7px}.brand-mark i{left:18px}nav{gap:10px;font-size:10px}.page{min-height:calc(100svh - 68px)}.banner{height:100px;margin-bottom:48px}}.brand-mark{width:36px;height:34px}.brand-mark b,.brand-mark i{top:8px}.brand-mark b{left:6px}.brand-mark i{left:16px}.site-header{grid-template-columns:1fr auto 1fr}.site-header nav{grid-column:2;justify-self:center}nav{font-size:13px}.page-heading>h1{margin:0 0 70px;text-align:center;font-size:clamp(56px,8vw,116px)}.page-heading>.copy{margin:0 auto;text-align:center}.page-heading .project-grid{margin-top:0}.project-image:before{width:92px;height:92px;border-width:24px}.gold .project-image:before{width:120px;height:64px}.contact-page{height:calc(100svh - 74px);min-height:0;display:flex;flex-direction:column;padding:clamp(54px,9vh,100px) clamp(24px,8vw,130px) clamp(30px,5vh,58px);overflow:hidden}.contact-page+.footer{display:none}.contact-page>h1{margin:0 0 clamp(28px,5vh,54px);text-align:center;font-size:clamp(56px,8vw,116px)}.contact-page .contact-grid{flex:1;grid-template-columns:1fr 1fr;gap:clamp(55px,11vw,180px);align-items:start}.contact-page h2{margin:0 0 28px;text-align:center;font:400 clamp(34px,4vw,60px)/.9 "Instrument Serif",serif;letter-spacing:-.05em}.contact-page .socials{display:grid;gap:22px;margin-top:0}.contact-page .socials a{width:max-content;font-size:clamp(17px,1.7vw,24px)}.contact-page .linkedin-symbol{width:24px;height:24px;font-size:15px}.contact-page form{max-width:480px}.contact-page textarea{min-height:92px}@media(max-width:850px){nav{font-size:12px}.page-heading>h1{margin-bottom:48px}.contact-page{height:auto;min-height:calc(100svh - 74px);overflow:visible}.contact-page+.footer{display:flex}.contact-page .contact-grid{grid-template-columns:1fr}.contact-page h2{font-size:42px}}@media(max-width:540px){.brand-mark{width:34px;height:32px}.brand-mark b,.brand-mark i{top:7px}.brand-mark b{left:5px}.brand-mark i{left:15px}nav{font-size:11px}.contact-page{padding:50px 22px 34px}.contact-page>h1{font-size:60px}.contact-page .socials a{font-size:17px}}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px clamp(24px,4vw,72px);background:#080a09;color:var(--muted);font-size:11px}.site-footer .footer-socials{display:flex;grid-column:2;gap:28px;font-size:16px}.site-footer .footer-socials a{display:inline-flex;align-items:center;gap:9px}.site-footer p{grid-column:3;justify-self:end;margin:0}.footer-linkedin-logo{display:grid;place-items:center;width:23px;height:23px;background:#0a66c2;color:#fff;font:700 15px/1 DM Sans,sans-serif;letter-spacing:-.08em}.contact-page{height:calc(100svh - 148px);min-height:0}.contact-page+.site-footer{display:grid}@media(max-width:850px){.contact-page{height:auto;min-height:calc(100svh - 74px)}.contact-page+.site-footer{display:grid}}@media(max-width:540px){.site-footer{grid-template-columns:1fr;gap:14px;text-align:center}.site-footer .footer-socials,.site-footer p{grid-column:1;justify-self:center}.site-footer .footer-socials{gap:18px;font-size:13px}.footer-linkedin-logo{width:20px;height:20px;font-size:13px}}.site-header nav a[href="/"]{order:1}.site-header nav a[href="/projects"]{order:2}.site-header nav a[href="/resume"]{order:3}.site-header nav a[href="/about"]{order:4}.site-header nav a[href="/contact"]{order:5}.site-header nav{font-size:14px}.page-heading,.contact-page{padding-top:clamp(42px,6vw,76px)}.page-heading{padding-top:0;padding-right:0;padding-left:0}.page-heading:before{content:"";display:grid;place-items:center;width:100%;height:clamp(300px,38svh,470px);margin:0 0 clamp(42px,5vw,60px);border:1px solid var(--line);background-position:center;background-size:cover;color:var(--ink);font:400 clamp(48px,6.5vw,92px)/.9 "Instrument Serif",serif;letter-spacing:-.055em;text-align:center;text-shadow:0 4px 26px rgba(0,0,0,.75)}body:has(.project-grid) .page-heading{padding-bottom:clamp(48px,6vw,90px)}body:has(.project-grid) .page-heading:before{content:"Projects";margin-bottom:clamp(32px,4vw,46px);background-image:linear-gradient(#0709081f,#07090861),url(/images/projects-flow-banner.png)}body:has(.about-page) .page-heading:before{content:"About Me";background-image:linear-gradient(#0709082e,#07090880),url(/images/about-wind-river.jpg);background-position:center 55%}.page-heading>h1{display:none}.page-heading>.project-grid{width:min(1400px,calc(100% - 48px));margin-right:auto;margin-left:auto}.page-heading>.copy{width:min(680px,calc(100% - 48px));margin-right:auto;margin-left:auto}.page-heading>h1,.contact-page>h1{margin-bottom:clamp(30px,4vw,48px);font-size:clamp(48px,6.5vw,92px)}.contact-page>h1{margin-bottom:clamp(60px,7vw,92px)}.contact-page{background-color:#252729;background-image:radial-gradient(ellipse at 110% 105%,transparent 48%,rgba(184,197,192,.025) 54%,transparent 61%),radial-gradient(ellipse at 95% 5%,rgba(134,153,148,.07),transparent 65%),radial-gradient(ellipse at 5% 95%,rgba(136,140,161,.055),transparent 65%),linear-gradient(135deg,rgba(255,255,255,.015),transparent 55%);color:var(--ink)}.contact-page input,.contact-page textarea{border-bottom-color:#f2f0e861;color:var(--ink)}.contact-page .socials a{border-bottom-color:#f2f0e866}.contact-page .button{background:#101513;color:var(--ink)}.contact-page .contact-form-section,.contact-page .contact-info{width:100%;text-align:center}.contact-page form{width:min(100%,480px);margin-inline:auto;text-align:left}.contact-page .socials{justify-items:center}.contact-page .socials a{justify-content:center}@media(max-width:850px){.site-header nav{font-size:12px}.page-heading,.contact-page{padding-top:38px}.page-heading{padding-top:0}.page-heading:before{height:clamp(260px,38svh,360px);margin-bottom:38px}}@media(max-width:540px){.site-header nav{font-size:11px}.page-heading>h1,.contact-page>h1{font-size:48px}.contact-page>h1{margin-bottom:52px}}.contact-page{height:auto;min-height:calc(100svh - 74px);padding:0;overflow:visible}.contact-hero{position:relative;container-type:size;width:100%;height:clamp(300px,38svh,470px);flex:none;overflow:hidden;border:1px solid var(--line)}.contact-hero>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.contact-hero-shade{position:absolute;inset:0;background:linear-gradient(#07090829,#0709087a)}.contact-hero h1{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--ink);font:400 clamp(48px,6.5vw,92px)/.9 "Instrument Serif",serif;letter-spacing:-.055em;text-align:center;text-shadow:0 4px 26px rgba(0,0,0,.75)}.contact-page .contact-grid{flex:none;width:min(1200px,calc(100% - 48px));margin:0 auto;padding:clamp(42px,5vw,60px) 0 clamp(60px,7vw,90px)}@media(max-width:850px){.contact-hero{height:clamp(260px,38svh,360px)}}.contact-hero>img{object-position:center 62%}
