/* Visual direction: supplied references, implemented as editable components. */
.contact-bridge{padding:32px 16px 30px;text-align:center;scroll-margin-top:100px;border-bottom:1px solid #1b3042}
.contact-bridge h2{font-size:clamp(20px,2.3vw,28px);font-weight:600;letter-spacing:-.035em;margin:0 0 18px;color:#e0ecf4}
.contact-bridge-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 24px}
.contact-bridge-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;border-radius:8px;color:#b8cada;font-size:13px;transition:background .2s ease,color .2s ease}
.contact-bridge-links a:hover{background:#102234;color:#fff}
.contact-bridge-links img{width:24px;height:24px;object-fit:contain}
@media(max-width:480px){.contact-bridge{padding:26px 8px}.contact-bridge-links{gap:5px}.contact-bridge-links a{font-size:12px;padding-inline:9px}.contact-bridge-links img{width:22px;height:22px}}
.header .brand-monogram .brand-second-c{color:#168dff;margin-left:-2px}
.header .brand{display:inline-flex;align-items:center;gap:12px;letter-spacing:0}
.header .brand-monogram{display:block;width:48px;height:48px;flex-shrink:0;border:0;border-radius:11px;background:#10131b;overflow:hidden}.header .brand-monogram img{display:block;width:100%;height:100%}
.header .brand-dot{position:static;display:block;flex:0 0 4px;width:4px;height:4px;margin-top:12px;background:#168dff;border-radius:50%}
.header .brand-wordmark{color:#d9e6f2;font-size:14px;font-weight:700;letter-spacing:.13em}
@media(max-width:480px){.header .brand{gap:8px}.header .brand-monogram{width:40px;height:40px;border-radius:9px}.header .brand-wordmark{font-size:12px;letter-spacing:.08em}.header .brand-dot{flex-basis:3px;width:3px;height:3px;margin-top:10px}}
.tech-logo{display:block;width:44px;height:44px;object-fit:contain}
/* Flask has a black monochrome mark; a light backing preserves the original. */
.tech-logo--flask{background:#f2f4f7;border-radius:8px;padding:5px}
.menu-toggle{display:none}
@media(max-width:760px){.menu-toggle:not([hidden]){display:block}}
:root{--bg:#03090e;--panel:#091219;--accent:#168dff;--muted:#b1bdce;--border:#1b2b3a;--width:1200px}
body{background:radial-gradient(ellipse at 85% 8%,#082e514d,transparent 28%),var(--bg);font-size:14px}.header{background:#040a10ed;border:1px solid var(--border);border-top:0;border-radius:0 0 26px 26px;margin-inline:auto;max-width:1360px}.nav-wrap{min-height:76px}.brand{font-size:21px;letter-spacing:-.7px;white-space:nowrap}.brand span{color:var(--accent)}nav a{color:#e7ecf4}.cv-link{border-radius:30px;padding:9px 24px;background:#020609}.hero{position:relative;padding-top:72px;gap:20px;isolation:isolate}.hero-copy{z-index:2}.hero .eyebrow{color:#dce6f3;display:inline-flex;background:#0c1822;border:1px solid #182b3c;border-radius:30px;padding:5px 12px;font-size:9px;letter-spacing:.04em}.hero .eyebrow:before{content:'';width:7px;height:7px;background:var(--accent);border-radius:50%;margin:auto 9px auto 0;box-shadow:0 0 12px #168dff}.role{font-size:11px;margin-bottom:20px}h1{font-size:clamp(38px,4.5vw,61px);font-weight:800;line-height:1.14;letter-spacing:-.045em}.hero h1 span{color:var(--accent)}.hero-description{font-size:15px;max-width:515px;line-height:1.8}.button{border-radius:14px;min-height:48px}.primary{background:linear-gradient(120deg,#239cff,#0868f5);color:white;border:1px solid #3c9bff;box-shadow:0 8px 26px #006dff17}.primary:hover{background:#278fff}.secondary{background:transparent;border-color:#65758a;border-radius:30px}.socials{font-size:14px;gap:30px}.hero-art{position:relative;min-width:0;min-height:400px;display:flex;align-items:center;perspective:1100px}.blue-orbit{position:absolute;width:320px;height:650px;border-right:24px solid #0875e7;border-radius:50%;transform:rotate(28deg);top:-250px;right:60px;filter:drop-shadow(0 0 25px #006aff88);z-index:-1;opacity:.7}.laptop{width:100%;transform:rotate(-7deg);position:relative;margin-top:60px}.laptop-screen{background:#05080e;border:2px solid #67768e;border-radius:16px 16px 5px 5px;padding:10px;box-shadow:0 25px 65px #0009;transform:rotateY(-12deg)}.laptop-screen img{width:100%;border-radius:3px;aspect-ratio:1.65;object-fit:cover;object-position:left}.screen-bar{display:flex;align-items:center;gap:5px;padding:2px 4px 9px}.screen-bar>span{width:4px;height:4px;border-radius:50%;background:#496078}.screen-bar small{font-size:8px;margin-left:10px}.laptop-keyboard{height:95px;position:relative;background:linear-gradient(145deg,#32435e,#111b2d 60%,#536783);clip-path:polygon(2% 0,98% 0,100% 86%,96% 100%,3% 100%,0 86%);transform:perspective(500px) rotateX(42deg);transform-origin:top;border-bottom:4px solid #8290a6;margin-top:-3px}.keys{position:absolute;inset:8px 12% 35px;background:repeating-linear-gradient(0deg,transparent 0 8px,#40516b 9px 10px),repeating-linear-gradient(90deg,#060b14 0 18px,#40516b 19px 20px);border-radius:4px}.trackpad{position:absolute;bottom:7px;left:38%;width:25%;height:24px;border:1px solid #62738e;border-radius:3px}.art-note{position:absolute;right:0;top:15px;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;color:#c3d2e6}.hero-bottom{border:0;margin-top:20px;justify-content:flex-start;padding-bottom:35px;gap:0}.hero-bottom>div{padding:0 32px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.hero-bottom>div:first-child{padding-left:0}.hero-bottom>div:last-child{border:0}.hero-bottom strong{font-size:24px;letter-spacing:-.04em;color:#f3f6fb}.hero-bottom span{font-size:11px;letter-spacing:0}.section{padding-block:60px}.section-label{border:0;padding:0;margin-bottom:14px;letter-spacing:.18em}.section-label>span:first-child:before{content:none}.section-label>span:last-child{display:none}h2{font-size:clamp(27px,3vw,38px);font-weight:800;letter-spacing:-.035em}.section-title{display:block;margin-bottom:28px}.section-title p{margin-top:12px;font-size:14px;max-width:630px}.section-title p br{display:none}.project{background:linear-gradient(135deg,#0a141e,#050c12);border-color:#203142;border-radius:18px}.featured{grid-template-columns:.85fr 1.3fr}.featured .project-info{grid-column:1;grid-row:1;padding:28px}.featured .project-image{grid-column:2;grid-row:1;padding:20px;background:transparent}.image-top{display:none}.featured img{border:5px solid #02070c;border-radius:14px;aspect-ratio:1.8;object-fit:cover;object-position:left}.project-info h3{font-size:25px;margin-bottom:12px}.project-info p{font-size:12px;line-height:1.65;margin-bottom:12px}.project-info .eyebrow{display:inline-block;background:#102237;border-radius:20px;padding:4px 10px;color:#dcecff;font-size:9px;letter-spacing:0}.project-info .text-link{border:0;background:linear-gradient(180deg,white,#d5e1ff);border-radius:24px;color:#073087;padding:8px 20px;margin-top:8px;font-size:12px}.tags{margin:16px 0 10px}.tags li{background:#202c3b;border:0;border-radius:20px;padding:3px 9px}.project-grid{gap:20px;margin-top:20px}.project-grid .project{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.project-grid .project-image{grid-column:2;grid-row:1;padding:12px;background:transparent}.project-grid .project-image img{aspect-ratio:1.1;object-fit:cover;object-position:left;border:3px solid #233749;border-radius:8px;transform:perspective(600px) rotateY(-12deg)}.project-grid .project-info{grid-column:1;grid-row:1;padding:24px 8px 24px 22px}.project-grid .project-info p:not(.eyebrow){font-size:11px}.project-grid .project-info h3{font-size:22px}.project-grid .project-info p:nth-of-type(3){display:none}.about-grid{grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}.about-grid h2{font-size:31px}.lead{font-size:15px}.about-grid p{font-size:13px}.workspace-art{min-height:420px;position:relative;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 20% 20%,#315071,#0b1421 70%);border:1px solid #203246}.workspace-window{position:absolute;width:50%;height:63%;left:12%;top:0;background:linear-gradient(155deg,#7b91ab,#304a6a 55%,#102b44);border:12px solid #080e16;transform:skewY(-8deg)}.workspace-window:after{content:'';position:absolute;left:50%;height:100%;width:7px;background:#0b111a}.code-monitor{position:absolute;top:110px;left:12%;right:8%;border:7px solid #060a10;border-radius:9px;background:#09131e;transform:perspective(800px) rotateY(8deg);box-shadow:0 18px 50px #0009}.code-title{padding:8px 12px;background:#152233;color:#8fa3bf;font-size:9px}.code-monitor pre{font-size:12px;line-height:1.9;padding:14px;color:#b3c8db}.code-monitor pre span{color:#279bff}.monitor-stand{position:absolute;bottom:50px;left:47%;height:60px;width:12px;background:#243449}.desk{position:absolute;bottom:42px;height:12px;background:linear-gradient(90deg,#324257,#152131);width:100%}.workspace-caption{position:absolute;bottom:14px;left:20px;font-size:9px;letter-spacing:.16em;color:#afc9e4}.values{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.values b{font-size:12px;display:block}.values b:before{content:'◇';color:var(--accent);margin-right:8px}.values small{display:block;font-size:10px;padding-left:20px}blockquote{margin:25px 0 0;padding:20px 24px 20px 44px;background:#0c171f;border-radius:10px;font-size:12px;position:relative;color:#d1dae5}blockquote:before{content:'“';position:absolute;left:15px;top:0;font-size:50px;color:var(--accent)}.skills{grid-template-columns:repeat(5,1fr);gap:12px}.skills>.tech-tile{border:1px solid #101e29;background:linear-gradient(135deg,#0e1a23,#091218);border-radius:12px;padding:22px 10px;text-align:center;transition:transform .2s,border-color .2s}.tech-tile:hover{transform:translateY(-4px);border-color:#277bd0}.tech-symbol{display:inline-flex;min-width:45px;height:45px;align-items:center;justify-content:center;color:#43aaff;font-size:25px;font-weight:800;letter-spacing:-2px;margin-bottom:13px}.skills h3{font-size:13px;margin-bottom:5px}.skills small{font-size:9px}.career-grid{margin-top:30px;gap:65px}.timeline{padding-left:30px;padding-bottom:35px}.timeline:before{width:11px;height:11px;left:-6px;box-shadow:0 0 0 4px #153350,0 0 14px #168dff45}.timeline h4{font-size:18px}.column-title{color:var(--accent)}.contact{text-align:left;background:radial-gradient(ellipse at 90% 80%,#0b3e6d55,transparent 60%);border-top:1px solid #182735}.contact-layout{display:grid;gap:24px}.contact h2{font-size:32px;margin-bottom:14px}.contact p{max-width:650px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.contact-cards>a,.contact-cards>div{background:#0b151e;border:1px solid #15232f;border-radius:12px;padding:18px;min-width:0;display:grid;grid-template-columns:32px 1fr;column-gap:12px;align-items:center}.contact-cards span{color:var(--accent);font-size:25px;font-weight:bold;grid-row:1/3}.contact-cards b{font-size:12px}.contact-cards small{font-size:10px;overflow-wrap:anywhere}.contact-cards a:hover{border-color:var(--accent)}.contact .button{justify-self:start;margin-top:0;background:linear-gradient(white,#d4e1ff);color:#08348e;border:0}footer{padding-block:28px}footer .brand{font-size:18px}
@media(min-width:900px){.hero{grid-template-columns:1.05fr 1fr}.hero-bottom{grid-column:1/-1}.hero-art{margin-left:-15px}.contact-layout{grid-template-columns:1fr auto}.contact-layout>div:first-child{grid-column:1/-1}.contact-cards{grid-column:1}.contact .button{align-self:center}}
@media(max-width:1050px){.contact-cards{grid-template-columns:repeat(2,1fr)}.project-grid .project{display:flex;flex-direction:column}.project-grid .project-image{width:100%;padding:16px 16px 0}.project-grid .project-image img{aspect-ratio:2;transform:none;object-fit:cover}.project-grid .project-info{padding:24px}.project-grid .project-info p:nth-of-type(3){display:block}.hero-bottom>div{padding-inline:22px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;padding-top:35px}.hero-art{min-height:300px;max-width:530px;width:100%;margin:auto;padding:0 15px}.blue-orbit{height:400px;top:-120px;right:30px;width:220px;opacity:.45}.laptop{margin-top:15px}.art-note{display:none}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:10px 0 0;padding-bottom:0}.hero-bottom>div,.hero-bottom>div:first-child{padding:0 16px;border-left:1px solid var(--border);border-right:0}.hero-bottom strong{font-size:22px}.featured{display:flex;flex-direction:column}.featured .project-image{order:0;width:100%;padding:16px}.featured .project-info{order:1;padding:8px 24px 24px}.about-grid{display:flex;flex-direction:column;gap:28px}.workspace-art{width:100%;min-height:390px}.skills{grid-template-columns:repeat(3,1fr);gap:9px}.skills>.tech-tile{padding:16px 6px}.skills h3{font-size:11px}.skills small{font-size:8px}.contact-cards{grid-template-columns:1fr 1fr}.contact-cards>a,.contact-cards>div{padding:14px 10px;grid-template-columns:24px 1fr;gap:8px}.contact-cards span{font-size:20px}.contact h2{font-size:29px}.nav-wrap{gap:12px}.brand{font-size:18px}.cv-link{padding:8px 12px;font-size:10px}.menu-toggle{font-size:11px}.section{padding-block:42px}.section-label{margin-bottom:16px}.career-grid{gap:35px}.section-title{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.tech-tile:hover,.button:hover{transform:none}}

/* Contact icons: original brand colors and a matching location pictogram. */
.contact-cards .contact-logo{display:block;width:30px;height:30px;object-fit:contain}
.contact-cards span:has(.contact-logo){display:flex;align-items:center;justify-content:center}
@media(max-width:760px){.contact-cards .contact-logo{width:24px;height:24px}}

.footer-brand img{display:block;width:44px;height:44px;border-radius:10px}
