@charset "UTF-8";
:root{color-scheme:dark;--bg:#0a0b10;--panel:#11131b;--raised:#181a25;--ink:#f1f1f6;--muted:#a2a5b8;--subtle:#858a9f;--line:#ffffff13;--accent:#b5a6ff;--accent-strong:#8c78ee;--cyan:#a5d8d1;--radius:24px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;scroll-behavior:smooth;scroll-padding-top:126px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img,svg{display:block}img{max-width:100%}button{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.045em;font-weight:600}button,a{-webkit-touch-callout:default}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#8c78ee70;color:#fff}[hidden]{display:none!important}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon-lg{width:26px;height:26px}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.eyebrow{display:block;color:var(--accent);font:500 10px/1.6 var(--mono);letter-spacing:.16em;text-transform:uppercase}.text-muted{color:var(--muted)}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 22px;background:var(--ink);color:var(--bg);border-radius:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 22px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff05;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.2,.8,.2,1)}.button:hover{background:#ffffff0c;border-color:#ffffff40;transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button.primary{color:#15111f;background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#c3b7ff;border-color:#c3b7ff}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:12px;font-weight:550}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;background:transparent;border:1px solid transparent;border-radius:11px;color:var(--muted);transition:background .2s,color .2s}.icon-button:hover{background:#ffffff08;color:var(--ink);border-color:var(--line)}.chip{display:inline-flex;align-items:center;gap:7px;min-height:25px;padding:4px 9px;border:1px solid #ffffff15;border-radius:6px;color:var(--muted);font:10px/1.5 var(--mono)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #b5a6ff44}.section{padding-block:102px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.section-head .eyebrow{margin-bottom:16px}.section-head h2{font-size:clamp(30px,4.2vw,48px)}.section-note{max-width:280px;font-size:12px;color:var(--muted);line-height:1.8}.section-number{color:var(--subtle);font:11px var(--mono);letter-spacing:.08em}.panel{background:linear-gradient(130deg,#ffffff03,transparent 70%),var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
/* Navigation */
.site-header{position:sticky;top:0;z-index:50;background:#0a0b10e8;border-bottom:1px solid var(--line);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.nav-shell{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand img{width:37px;height:37px}.brand-name{font-size:12px;font-weight:600;line-height:1.35;letter-spacing:-.02em}.brand-name small{display:block;color:var(--subtle);font:8px/1.7 var(--mono);letter-spacing:.1em;margin-top:3px}.nav-links{display:flex;gap:26px;align-items:center}.nav-links a{padding-block:10px;color:var(--muted);font-size:11px;white-space:nowrap;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current]{color:var(--accent)}.nav-tools{display:flex;align-items:center;gap:4px}.nav-tools form{margin:0}.language-toggle{min-width:43px;min-height:40px;background:transparent;border:1px solid transparent;color:var(--muted);border-radius:10px;font:10px var(--mono)}.language-toggle:hover{border-color:var(--line);color:var(--ink)}.scroll-meter{display:block;width:100%;height:2px;position:absolute;bottom:-1px;left:0;appearance:none;-webkit-appearance:none;border:0;color:var(--accent);background:transparent}.scroll-meter::-webkit-progress-bar{background:transparent}.scroll-meter::-webkit-progress-value{background:var(--accent)}.scroll-meter::-moz-progress-bar{background:var(--accent)}
/* Opening */
.hero{position:relative;padding-block:90px 76px;overflow:hidden}.hero::before{content:"";pointer-events:none;position:absolute;width:760px;height:680px;top:-280px;right:-260px;border-radius:50%;background:radial-gradient(ellipse,#7161d617,transparent 66%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:80px}.hero-copy>.eyebrow{margin-bottom:32px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(62px,7.4vw,94px);line-height:1;letter-spacing:-.075em;font-weight:550;margin-bottom:28px}.hero h1 span{color:var(--accent)}.hero-description{max-width:520px;color:var(--muted);font-size:15px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:36px;padding-top:23px;border-top:1px solid var(--line);font:9px/1.7 var(--mono);color:var(--subtle)}.hero-meta span{display:inline-flex;align-items:center;gap:7px}.hero-meta .icon{width:12px;height:12px}.portrait-frame{position:relative;margin:0;padding:11px;border:1px solid #ffffff17;border-radius:28px;background:linear-gradient(140deg,#b5a6ff0b,#ffffff01);box-shadow:0 30px 70px #0003}.portrait-picture{position:relative;aspect-ratio:4/4.5;border-radius:19px;background:radial-gradient(circle at 60% 30%,#373146,#151621 65%);overflow:hidden}.portrait-picture img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.portrait-frame:hover img{transform:scale(1.025)}.portrait-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#b5a6ff70;font-size:100px;letter-spacing:-.1em;font-weight:300}.portrait-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 7px 7px}.portrait-caption strong{display:block;font-size:11px;font-weight:500}.portrait-caption small{font:8px var(--mono);color:var(--subtle);letter-spacing:.06em}.portrait-caption .icon{color:var(--accent);width:15px;height:15px}.portrait-tag{position:absolute;z-index:2;bottom:26px;left:-20px;display:flex;align-items:center;gap:9px;padding:11px 16px;border:1px solid #b5a6ff30;border-radius:10px;background:#171824ef;backdrop-filter:blur(15px);color:var(--accent);font:9px var(--mono);box-shadow:0 10px 20px #0003}.portrait-tag .icon{width:15px;height:15px}.expertise-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:16px;margin-top:64px}.expertise-item{display:flex;align-items:center;gap:15px;background:#0f1118;padding:24px}.expertise-item>.icon{color:var(--accent);width:21px;height:21px}.expertise-item strong{font-size:11px;font-weight:500;display:block;margin-bottom:4px}.expertise-item span{font-size:10px;color:var(--subtle)}
/* Experience */
.career-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.career-card{padding:30px;position:relative}.career-card:first-child{grid-column:1/-1;padding:36px;background:radial-gradient(ellipse at 100% 0,#a18cf80b,transparent 60%),var(--panel);border-color:#b5a6ff25}.career-card-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.career-date{font:9px/1.6 var(--mono);color:var(--subtle);display:block;margin-bottom:13px}.career-card:first-child .career-date{color:var(--accent)}.career-card h3{font-size:24px;line-height:1.25;letter-spacing:-.035em}.career-unit{color:var(--accent);font-size:11px;margin-top:8px}.career-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;color:var(--accent)}.career-card p:not(.career-unit){font-size:12px;line-height:1.9;color:var(--muted)}.career-card:first-child>.career-description{max-width:860px;font-size:14px}.career-details{display:grid;grid-template-columns:1fr;gap:24px;margin-top:22px}.career-card:first-child .career-details{grid-template-columns:1.2fr 1fr;gap:40px}.career-card ul{margin:0;padding:0;list-style:none}.career-card li{position:relative;padding-left:17px;color:var(--muted);font-size:11px;line-height:1.8;margin-bottom:10px}.career-card li::before{content:"";position:absolute;width:4px;height:4px;border-radius:50%;left:0;top:8px;background:var(--accent-strong)}.security-note{padding:22px;border-radius:14px;border:1px solid #b5a6ff17;background:#b5a6ff05}.security-note h4{display:flex;align-items:center;gap:9px;letter-spacing:0;font-size:11px;margin-bottom:12px}.security-note .icon{width:15px;height:15px;color:var(--accent)}.security-note p{font-size:11px!important}.leadership{margin-top:26px;padding:30px}.leadership-head{display:flex;align-items:center;gap:12px;margin-bottom:24px}.leadership-head>.icon{color:var(--accent)}.leadership h3{font-size:17px}.leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.leadership h4{font:9px var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--accent);margin-bottom:13px}.leadership p{color:var(--muted);font-size:12px;line-height:1.9}
/* Selected projects */
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{display:flex;flex-direction:column;padding:29px;position:relative;overflow:hidden;isolation:isolate;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}.project:hover{transform:translateY(-4px);border-color:#b5a6ff45;box-shadow:0 18px 40px #0002}.project::before,.interest-card::before,.beer-card::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:0;transition:opacity .5s}.project:hover::before,.interest-card:hover::before,.beer-card:hover::before{opacity:.12}.project-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.project-index{font:9px var(--mono);letter-spacing:.1em;color:var(--subtle)}.project-top>.icon{width:17px;height:17px;color:var(--subtle);transition:transform .3s,color .3s}a.project:hover .project-top>.icon{transform:translate(2px,-2px);color:var(--accent)}.project h3{font-size:24px;margin-bottom:15px;letter-spacing:-.04em}.project p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:28px;max-width:470px}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.featured-project{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:34px;border-color:#b5a6ff30;background:radial-gradient(ellipse at 100% 60%,#8b75ed12,transparent 65%),var(--panel)}.featured-project .project-copy{display:flex;flex-direction:column;height:100%}.featured-project .eyebrow{font-size:9px;margin-bottom:18px}.featured-project h3{font-size:44px;letter-spacing:-.06em}.featured-project h3 span{color:var(--accent)}.featured-project .project-copy>p{margin-bottom:24px}.project-address{margin-top:26px;display:flex;align-items:center;gap:9px;color:var(--accent);font:10px var(--mono)}.project-address .icon{width:14px;height:14px}.ai-art{min-height:240px;display:flex;align-items:center;justify-content:center;border:1px solid #b5a6ff12;border-radius:18px;background:linear-gradient(140deg,#ffffff03,#b5a6ff05);position:relative;overflow:hidden}.ai-art svg{width:min(100%,340px);height:auto}.ai-art-label{position:absolute;bottom:16px;left:18px;font:8px var(--mono);letter-spacing:.13em;color:var(--subtle)}.ai-orbit{transform-origin:160px 115px;animation:orbit 34s linear infinite}.ai-orbit.reverse{animation-direction:reverse;animation-duration:45s}@keyframes orbit{to{transform:rotate(360deg)}}.project-digital-cv::before{background-image:url("index.php?asset=digital-cv")}.project-spartan-ai::before{background-image:url("index.php?asset=spartan-ai")}.project-travel::before{background-image:url("index.php?asset=travel")}.project-strawberry::before{background-image:url("index.php?asset=strawberry")}.project-note{margin-top:24px;color:var(--subtle);font:9px/1.9 var(--mono)}
/* Education and life */
.education-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.education-card{padding:30px;display:flex;flex-direction:column}.education-card>.eyebrow{margin-bottom:20px}.education-card h3{font-size:25px;line-height:1.2;margin-bottom:13px}.education-card p{color:var(--muted);font-size:12px;line-height:1.8}.education-card p+p{border-top:1px solid var(--line);padding-top:17px;margin-top:20px;color:var(--subtle);font-size:11px}.interests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.interest-card{padding:26px;position:relative;overflow:hidden;isolation:isolate;min-height:200px;transition:border-color .3s,transform .3s}.interest-card:hover{border-color:#b5a6ff30;transform:translateY(-3px)}.interest-card:first-child{grid-column:span 2}.interest-card .icon{margin-bottom:24px;color:var(--accent)}.interest-card h3{font-size:21px;letter-spacing:-.035em;margin-bottom:14px}.interest-card p{font-size:11px;line-height:1.85;color:var(--muted)}.interest-spartan::before{background-image:url("index.php?asset=spartan")}.interest-bouldering::before{background-image:url("index.php?asset=bouldering")}.interest-gym::before{background-image:url("index.php?asset=gym")}.interest-mtb::before{background-image:url("index.php?asset=mtb")}.interest-photography::before{background-image:url("index.php?asset=photography")}.interest-photography{display:flex;flex-direction:column;justify-content:center}.interest-photography .text-link{margin-top:18px}.personal-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}.family-card{padding:30px}.family-card h3,.beer-card h3{font-size:20px;margin-bottom:18px}.family-card>p,.beer-card>p{font-size:11px;line-height:1.9;color:var(--muted)}.family-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.family-photos figure{margin:0;position:relative;aspect-ratio:16/10;background:var(--raised);border-radius:12px;overflow:hidden}.family-photos img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.photo-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--subtle)}.beer-card{padding:30px;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center}.beer-card::before{background-image:url("index.php?asset=untappd")}.beer-card>.icon{color:#d4bd8b;margin-bottom:26px}.untappd-name{align-self:flex-start;margin-top:22px;color:#d4bd8b;border-color:#d4bd8b30}.site-footer{border-top:1px solid var(--line);padding-block:48px 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:45px}.footer-title{font-size:29px;letter-spacing:-.04em}.footer-subtitle{font-size:12px;color:var(--muted);margin-top:9px}.contact-links{display:flex;gap:12px}.contact-link{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;min-height:46px;border:1px solid #ffffff19;border-radius:12px;color:var(--muted);font-size:11px;transition:color .2s,border-color .2s,background .2s}.contact-link:hover{color:var(--ink);border-color:#b5a6ff50;background:#b5a6ff08}.contact-link .icon{width:17px;height:17px}.footer-bottom{padding-top:23px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--subtle);font:8px/1.8 var(--mono);letter-spacing:.06em}.footer-back{display:flex;align-items:center;gap:8px;color:var(--muted)}.footer-back .icon{width:13px;height:13px}
/* Find dialog: local search of the CV, no API or fabricated AI answers. */
.find-dialog{padding:0;width:min(580px,calc(100% - 32px));max-height:min(78svh,680px);border:1px solid #ffffff23;border-radius:20px;background:#141620;color:var(--ink);box-shadow:0 30px 130px #0008;overscroll-behavior:contain}.find-dialog::backdrop{background:#02030bbd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.find-head{display:flex;align-items:center;justify-content:space-between;padding:19px 22px 10px}.find-head h2{font-size:14px;letter-spacing:-.02em}.find-field{margin:0 22px;display:flex;align-items:center;gap:11px;border:1px solid #b5a6ff55;border-radius:12px;padding:0 14px;background:#080a1180}.find-field>.icon{color:var(--accent);width:17px;height:17px}.find-field input{width:100%;min-width:0;border:0;outline:0;padding:16px 0;background:transparent;color:var(--ink);font-size:13px}.find-field:focus-within{box-shadow:0 0 0 2px #b5a6ff20}.find-results{list-style:none;padding:12px 16px;margin:0}.find-results li{margin:3px 0}.find-results a{display:block;padding:15px 14px;border:1px solid transparent;border-radius:10px}.find-results a:hover,.find-results a:focus-visible{background:#b5a6ff08;border-color:#b5a6ff20}.find-results strong{display:block;color:var(--ink);font-size:12px;font-weight:550}.find-results small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.find-empty{padding:20px 15px;font-size:12px;color:var(--muted)}.find-foot{border-top:1px solid var(--line);margin:0;padding:15px 24px;color:var(--subtle);font:9px/1.8 var(--mono)}
/* Access page */
.access-page{min-height:100svh;display:flex;flex-direction:column;position:relative;isolation:isolate}.access-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 16%,#7764d515,transparent 54%),radial-gradient(ellipse at 100% 90%,#4c66870b,transparent 50%)}.access-shell{width:min(1040px,calc(100% - 80px));margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center;padding-block:70px}.access-story{display:flex;flex-direction:column;align-self:stretch;justify-content:space-between;min-height:485px}.access-brand{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:550;letter-spacing:.03em}.access-brand img{width:52px;height:52px}.access-brand small{display:block;font:8px/1.8 var(--mono);color:var(--subtle);letter-spacing:.08em;margin-top:5px}.access-intro{padding-block:45px}.access-intro .eyebrow{font-size:9px;color:var(--subtle);margin-bottom:25px}.access-intro h1{font-size:clamp(34px,3.6vw,48px);line-height:1.2;letter-spacing:-.055em;margin-bottom:22px;font-weight:500}.access-intro p{font-size:13px;line-height:1.95;color:var(--muted);max-width:350px}.access-signature{display:flex;align-items:center;gap:15px;color:var(--subtle);font:9px var(--mono)}.signature-line{height:1px;flex:1;background:var(--line)}.access-card{padding:36px;background:linear-gradient(130deg,#ffffff04,transparent 65%),#11131be8;border:1px solid #ffffff1a;border-radius:25px;box-shadow:0 25px 100px #0003}.access-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.access-card-top img{width:50px;height:50px}.language-link{color:var(--muted);font-size:10px;padding:10px 0 10px 14px}.language-link:hover{color:var(--accent)}.access-card>.eyebrow{font-size:9px;margin-bottom:12px}.access-card h2{font-size:31px;font-weight:500;letter-spacing:-.045em;margin-bottom:12px}.access-card>p:not(.access-note){font-size:12px;color:var(--muted);line-height:1.9}.access-form{margin-top:28px}.access-form label{display:block;color:#b7b9ca;font-size:10px;margin:19px 0 9px}.access-form input:not([type=hidden]){display:block;width:100%;min-height:49px;border:1px solid #ffffff25;border-radius:10px;background:#080a1160;color:var(--ink);padding:13px 15px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s}.access-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b5a6ff10}.access-form .button{width:100%;margin-top:23px;justify-content:space-between}.access-note{font-size:10px;line-height:1.9;color:var(--subtle);margin-top:23px}.access-card>.text-link{margin-top:18px}.form-message{color:#edc0b7;background:#a8614f15;border:1px solid #bd7c6640;border-radius:10px;padding:12px 15px;margin-top:22px;font-size:11px;line-height:1.8}.access-footer{width:min(1040px,calc(100% - 80px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0 26px;border-top:1px solid var(--line);color:var(--subtle);font:8px/1.8 var(--mono);letter-spacing:.08em}
/* Keep long Finnish words and body copy comfortable to read. */
h2,h3,h4{overflow-wrap:anywhere}.career-card p:not(.career-unit),.leadership p,.project p,.education-card p{font-size:13px}.career-card li,.interest-card p,.family-card>p,.beer-card>p{font-size:12px}
/* Hover photographs load on demand instead of competing with the portrait. */
.project-digital-cv::before,.project-spartan-ai::before,.project-travel::before,.project-strawberry::before,.interest-spartan::before,.interest-bouldering::before,.interest-gym::before,.interest-mtb::before,.interest-photography::before,.beer-card::before{background-image:none}
.project-digital-cv:hover::before{background-image:url("index.php?asset=digital-cv")}.project-spartan-ai:hover::before{background-image:url("index.php?asset=spartan-ai")}.project-travel:hover::before{background-image:url("index.php?asset=travel")}.project-strawberry:hover::before{background-image:url("index.php?asset=strawberry")}.interest-spartan:hover::before{background-image:url("index.php?asset=spartan")}.interest-bouldering:hover::before{background-image:url("index.php?asset=bouldering")}.interest-gym:hover::before{background-image:url("index.php?asset=gym")}.interest-mtb:hover::before{background-image:url("index.php?asset=mtb")}.interest-photography:hover::before{background-image:url("index.php?asset=photography")}.beer-card:hover::before{background-image:url("index.php?asset=untappd")}
@media(min-width:1400px){.hero{padding-top:105px}.hero-grid{gap:110px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.nav-shell{gap:16px}.nav-links{gap:17px}.hero-grid{gap:45px}.hero h1{font-size:76px}.hero-copy>.eyebrow{font-size:8px}.hero-description{font-size:14px}.access-shell{gap:65px}.access-card{padding:30px}.expertise-item{padding:21px 19px}}
@media(max-width:820px){:root{scroll-padding-top:145px}.nav-shell{flex-wrap:wrap;gap:0;min-height:74px;padding-top:14px}.nav-tools{margin-left:auto}.nav-links{order:3;width:100%;justify-content:center;gap:32px;overflow-x:auto;scrollbar-width:none;margin-top:8px}.nav-links a{padding:12px 0 13px;font-size:10px}.hero{padding-block:54px}.hero-grid{gap:28px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:59px}.hero-copy>.eyebrow{font-size:8px;max-width:220px;margin-bottom:23px}.hero-description{font-size:12px}.hero-actions{gap:9px;margin-top:23px}.hero-actions .button{padding:12px 15px;font-size:10px;min-height:43px}.hero-actions .icon{width:15px;height:15px}.hero-meta{font-size:8px;gap:12px;margin-top:27px}.portrait-tag{left:-10px;font-size:8px;padding:9px 12px}.portrait-caption{padding:12px 4px 4px}.portrait-caption strong{font-size:10px}.portrait-caption small{font-size:7px}.expertise-strip{margin-top:40px}.expertise-item{padding:18px 14px;gap:10px}.expertise-item strong{font-size:10px}.expertise-item span{font-size:9px}.expertise-item>.icon{width:17px;height:17px}.section{padding-block:74px}.section-note{font-size:11px;max-width:210px}.career-card:first-child{padding:28px}.career-card{padding:26px}.career-card h3{font-size:22px}.career-card:first-child .career-details{gap:24px;grid-template-columns:1fr 1fr}.project{padding:25px}.featured-project{gap:23px}.featured-project h3{font-size:37px}.ai-art{min-height:220px}.project-address{font-size:9px}.interests-grid{grid-template-columns:1fr 1fr}.interest-card:first-child{grid-column:1/-1;min-height:180px}.personal-grid{grid-template-columns:1fr}.beer-card{padding:28px}.beer-card>.icon{margin-bottom:18px}.footer-top{gap:30px}.contact-links{gap:9px}.contact-link{padding:12px}.access-shell{grid-template-columns:1fr 1fr;gap:35px;width:calc(100% - 56px)}.access-intro h1{font-size:35px}.access-card{padding:27px}.access-footer{width:calc(100% - 56px)}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.brand-name{font-size:11px}.brand img{width:34px;height:34px}.brand-name small{font-size:7px}.nav-tools .icon-button{width:34px;height:36px}.language-toggle{min-width:35px}.nav-tools{gap:0}.nav-links{gap:0;justify-content:space-between}.nav-links a{font-size:9px;flex:none;padding-inline:4px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-copy{padding-top:4px}.hero h1{font-size:clamp(65px,15vw,86px);margin-bottom:22px}.hero-copy>.eyebrow{font-size:8px;max-width:none;letter-spacing:.05em;margin-bottom:25px}.hero-description{font-size:13px;max-width:none}.hero-actions{gap:10px}.hero-actions .button{padding:13px 19px;font-size:11px;min-height:46px}.hero-meta{margin-top:25px;font-size:8px;gap:18px}.portrait-frame{width:100%;max-width:430px;margin-inline:auto}.portrait-picture{aspect-ratio:5/4.7}.portrait-picture img{object-position:center 29%}.portrait-tag{left:0;bottom:23px;font-size:8px;transform:translateX(-7px)}.portrait-caption strong{font-size:11px}.portrait-caption small{font-size:8px}.expertise-strip{grid-template-columns:1fr;gap:1px;margin-top:34px}.expertise-item{padding:17px 20px}.expertise-item strong{font-size:11px;margin-bottom:2px}.expertise-item span{font-size:10px}.expertise-item>.icon{width:20px;height:20px}.section{padding-block:57px}.section-head{gap:18px;margin-bottom:26px;align-items:flex-start;flex-direction:column}.section-head h2{font-size:35px}.section-head .eyebrow{font-size:9px;margin-bottom:13px}.section-note{font-size:11px;max-width:360px}.career-list{grid-template-columns:1fr;gap:14px}.career-card:first-child,.career-card{padding:24px}.career-card h3{font-size:21px}.career-card:first-child>.career-description{font-size:12px}.career-card:first-child .career-details{grid-template-columns:1fr;gap:19px}.career-date{font-size:9px}.career-card-head{margin-bottom:20px;gap:12px}.career-icon{width:34px;height:34px}.career-icon .icon{width:17px;height:17px}.career-card li{font-size:11px}.security-note{padding:18px}.leadership{padding:24px;margin-top:20px}.leadership-grid{grid-template-columns:1fr;gap:25px}.leadership-head{gap:10px;margin-bottom:24px}.leadership h3{font-size:16px;line-height:1.35}.leadership p{font-size:11px}.project-grid{grid-template-columns:1fr;gap:14px}.project{padding:24px}.featured-project{grid-template-columns:1fr;gap:26px}.featured-project h3{font-size:40px}.featured-project .ai-art{min-height:205px}.featured-project .ai-art svg{max-height:210px;width:auto;max-width:100%}.project p{font-size:11px}.project-address{font-size:10px;margin-top:20px;overflow-wrap:anywhere}.project-note{font-size:8px}.education-grid{grid-template-columns:1fr;gap:14px}.education-card{padding:24px}.education-card h3{font-size:24px}.interests-grid{gap:14px}.interest-card{padding:21px;min-height:180px}.interest-card h3{font-size:19px}.interest-card p{font-size:10px}.interest-card .icon{width:20px;height:20px;margin-bottom:20px}.interest-card:first-child h3{font-size:23px}.interest-card:first-child p{font-size:11px}.interest-photography{grid-column:1/-1;min-height:170px}.family-card,.beer-card{padding:24px}.family-photos{gap:9px}.site-footer{padding-block:35px 23px}.footer-top{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px}.footer-title{font-size:28px}.contact-link{padding:12px 17px;font-size:11px}.footer-bottom{font-size:7px;align-items:flex-start;gap:15px}.footer-bottom>span{max-width:230px}.access-shell{display:flex;flex-direction:column;gap:35px;width:min(430px,calc(100% - 36px));padding-block:35px 45px}.access-story{min-height:0;width:100%}.access-brand img{width:46px;height:46px}.access-brand{font-size:10px;gap:12px}.access-brand small{font-size:7px}.access-intro{padding:34px 0 0}.access-intro>.eyebrow{font-size:8px;margin-bottom:17px}.access-intro h1{font-size:33px;margin-bottom:14px}.access-intro p{font-size:12px;max-width:350px}.access-signature{display:none}.access-card{width:100%;padding:28px 25px;border-radius:22px}.access-card-top{margin-bottom:27px}.access-card-top img{width:44px;height:44px}.access-card h2{font-size:29px}.access-card>p:not(.access-note){font-size:11px}.access-form{margin-top:24px}.access-footer{width:calc(100% - 36px);font-size:7px;letter-spacing:0;gap:15px}.access-footer>span{font-size:6px}.find-head{padding-inline:18px}.find-field{margin-inline:18px}}
@media(max-width:600px){.career-card p:not(.career-unit),.leadership p,.project p,.education-card p,.interest-card p,.family-card>p,.beer-card>p{font-size:12px}.career-card li{font-size:12px}}
@media(max-width:420px){.interests-grid{grid-template-columns:1fr}.interest-card:first-child,.interest-photography{grid-column:auto}}
@media(max-width:359px){.brand-name{font-size:10px}.brand-name small{font-size:6px}.nav-tools .icon-button{width:31px}.nav-tools .icon{width:17px;height:17px}.nav-links a{font-size:8px}.hero h1{font-size:60px}.hero-copy>.eyebrow{font-size:7px}.hero-actions{gap:8px}.hero-actions .button{padding-inline:14px}.interests-grid{grid-template-columns:1fr}.interest-card:first-child{grid-column:auto}.access-card{padding:25px 21px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{:root{color-scheme:light;--ink:#121826;--muted:#444957;--subtle:#555a64;--line:#dadce3;--accent:#51468d;--panel:#fff;--bg:#fff}body{font-size:10pt;background:#fff;color:#121826}.no-print,.site-header,.hero-actions,.portrait-tag,.ai-art,.find-dialog,.family-photos,.access-page .access-glow{display:none!important}.wrap{width:100%}.hero{padding:0 0 25px;overflow:visible}.hero::before{display:none}.hero-grid{grid-template-columns:1fr 160px;gap:28px}.hero h1{font-size:45pt;margin-bottom:14px}.hero-copy>.eyebrow{font-size:7pt;margin-bottom:16px}.hero-description{font-size:10pt;line-height:1.65}.hero-meta{margin-top:15px;padding-top:13px;font-size:7pt}.portrait-frame{padding:5px;border-radius:14px;box-shadow:none}.portrait-picture{aspect-ratio:4/4.5;border-radius:9px}.portrait-caption{padding:8px 3px 3px}.portrait-caption strong{font-size:8pt}.portrait-caption small{font-size:6pt}.portrait-caption>.icon{display:none}.expertise-strip{margin-top:23px}.expertise-item{padding:12px;background:#fafafa}.expertise-item strong{font-size:8pt}.expertise-item span{font-size:7pt}.section{padding-block:28px}.section-head{margin-bottom:20px;flex-direction:row}.section-head h2{font-size:24pt}.section-head .eyebrow{font-size:7pt;margin-bottom:10px}.section-note{font-size:8pt}.career-list,.project-grid,.education-grid,.interests-grid,.personal-grid{display:block}.panel{border:1px solid #dadce3;border-radius:12px;box-shadow:none!important;background:#fff!important;break-inside:avoid;margin-bottom:12px}.career-card,.career-card:first-child,.project,.education-card,.interest-card,.family-card,.beer-card,.leadership{padding:18px}.career-card h3{font-size:16pt}.career-date,.career-unit{font-size:8pt}.career-card p,.career-card:first-child>.career-description,.career-card p:not(.career-unit),.leadership p,.project p,.education-card p,.interest-card p,.family-card>p,.beer-card>p{font-size:9pt;line-height:1.65}.career-card li{font-size:8pt}.career-card:first-child .career-details{grid-template-columns:1.3fr 1fr}.security-note{background:#fafafa;padding:14px}.security-note p{font-size:8pt!important}.leadership h3{font-size:12pt}.leadership h4{font-size:7pt}.project{display:block}.featured-project h3{font-size:25pt}.project h3,.education-card h3,.interest-card h3,.family-card h3,.beer-card h3{font-size:16pt}.project p{margin-bottom:15px}.project-tags{margin-top:15px}.chip{font-size:7pt;color:#51468d;border-color:#dadce3}.project-address{font-size:8pt;margin-top:15px}.project-top{margin-bottom:15px}.project::before,.interest-card::before,.beer-card::before{display:none}.interest-card{min-height:0}.interest-card .icon,.beer-card>.icon{margin-bottom:12px}.site-footer{padding-top:20px}.footer-top{flex-direction:row;gap:20px;margin-bottom:20px}.footer-title{font-size:18pt}.footer-subtitle{font-size:8pt}.contact-link{font-size:8pt;padding:8px 12px;border-color:#dadce3}.footer-bottom{font-size:6pt}a{overflow-wrap:anywhere}@page{size:A4;margin:16mm}}
