@charset "UTF-8";
:root{--ink:#192b29;--muted:#57645e;--paper:#fbfaf6;--green:#173b32;--lime:#d9f18e;--line:#d8ded2;--soft:#edf0e7;--white:#fff;--radius:18px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #376b55;outline-offset:5px}p{line-height:1.65}h1,h2,h3,h4,p{margin-top:0}button{border:0}ul{padding:0;list-style:none}img{display:block;max-width:100%}[hidden]{display:none!important}.skip-link{position:fixed;top:-90px;left:20px;padding:12px;background:var(--lime);z-index:10}.skip-link:focus{top:12px}.site-header,.hero,.portfolio-section,.working-section,.contact-section,footer{max-width:1280px;margin:0 auto;padding-left:54px;padding-right:54px}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center}.monogram{font-size:33px;letter-spacing:-2px;font-weight:800}.monogram>span{color:#648340}.brand-name{font-size:15px;font-weight:700}.brand-name small{display:block;font-size:11px;letter-spacing:.06em;font-weight:400;margin-top:5px;color:var(--muted)}.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:#527441}.site-header nav a span{margin-left:6px}.hero{display:grid;grid-template-columns:1fr 310px;gap:70px;padding-top:78px;padding-bottom:78px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;line-height:1.5;margin:0 0 23px}.little-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#718d4a;margin-right:10px}h1{font-size:clamp(36px,4.2vw,58px);line-height:1.09;font-weight:600;letter-spacing:-2.6px;margin-bottom:27px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;color:#526b50}h2{font-size:36px;line-height:1.15;letter-spacing:-1.2px;font-weight:500}.hero-intro{font-size:16px;max-width:600px;color:var(--muted);margin-bottom:30px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;border-radius:6px;padding:15px 20px;font-size:12px;font-weight:700;min-height:48px;border:1px solid transparent}.primary{background:var(--green);color:white}.primary:hover{background:#2a5144}.secondary{border-color:var(--line);background:transparent}.secondary:hover{background:var(--soft)}.hero-aside{align-self:center;background:var(--soft);padding:26px;border-radius:var(--radius)}.mini-label{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:var(--muted);margin-bottom:20px}.area-link{display:grid;grid-template-columns:23px 1fr 12px;gap:8px;align-items:center;padding:18px 0;border-top:1px solid #d1d9ca}.area-link>span:first-child{font-size:10px;color:#6b7a61}.area-link strong{font-size:14px;font-weight:500;line-height:1.4}.area-link:hover strong{text-decoration:underline}.aside-note{font-size:11px;color:var(--muted);margin:16px 0 0;line-height:1.6}
.portfolio-section{padding-top:55px;padding-bottom:80px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0}.track-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#e9ece4;padding:6px;border-radius:9px;margin-bottom:36px}.track-nav button{display:flex;align-items:center;gap:12px;padding:17px 16px;border-radius:5px;background:transparent;font-size:13px;font-weight:600;text-align:left;min-height:54px}.track-nav button>span:first-child{font-size:10px;font-weight:400;opacity:.65}.track-nav button .tab-arrow{margin-left:auto}.track-nav button[aria-selected=true]{background:var(--green);color:white}.track-nav button:hover:not([aria-selected=true]){background:#dee5d7}.track-intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:12px 0 36px}.track-intro .eyebrow{margin-bottom:14px;color:#687c57}.track-intro h2{font-size:31px;max-width:440px;margin-bottom:0}.track-intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:15px}.track-tags,.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}.track-tags li{font-size:10px;padding:5px 0;color:#5b6b55}.track-tags li+li:before{content:'·';padding-right:8px;color:#a3ae9a}.project{border-top:1px solid var(--line);padding-top:28px;margin-top:18px}.project-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.project-number{font-family:Georgia,serif;color:#718363;font-size:28px;line-height:1}.status{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#52604d;border:1px solid var(--line);border-radius:20px;padding:6px 10px;line-height:1.4}.status i{height:5px;width:5px;flex:none;border-radius:50%;background:#7d9465}.status.development i{background:#b38a44}.status.lab i{background:#7694b2}.project-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:62px;align-items:start}.project-subtitle{font-size:11px;color:var(--muted);margin-bottom:7px}.project h3{font-size:28px;font-weight:500;letter-spacing:-.6px;line-height:1.16;margin-bottom:16px}.summary{font-size:14px;color:var(--muted);margin-bottom:22px}.label{text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:700;margin-bottom:10px}.role-list{margin:0 0 21px}.role-list li{font-size:12px;line-height:1.65;position:relative;padding-left:17px;margin-bottom:7px}.role-list li:before{content:'↗';position:absolute;left:0;color:#7b8d60}.tags li{font-size:10px;background:#edf0e7;border-radius:4px;padding:6px 8px;line-height:1.2}.project-links{display:flex;flex-wrap:wrap;gap:17px;margin-top:23px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:12px;font-weight:600;padding-bottom:5px;border-bottom:1px solid #86927e}.text-link:hover{color:#557838;border-bottom-color:#557838}.project-visual{margin:0;background:#e8eddf;border-radius:var(--radius);min-height:290px;padding:30px;position:relative;overflow:hidden}.visual-mark{font-size:10px;letter-spacing:.17em;font-weight:700;color:#637653;margin-bottom:28px}.visual-flow{display:flex;flex-direction:column;gap:20px}.flow-item{border:1px solid #c3ceba;border-radius:8px;background:#f9fbf5b0;padding:12px 15px;display:flex;align-items:center;gap:12px;position:relative;font-size:13px;min-height:42px}.flow-index{font-size:9px;color:#6c8060}.flow-down{position:absolute;bottom:-19px;left:24px;color:#829871;font-size:13px}.project-visual figcaption{font-size:9px;color:#64725d;margin-top:21px}.visual-appli{background:var(--green)}.visual-appli .visual-mark{color:#d9f18e;font-size:30px;letter-spacing:-1px}.visual-appli .flow-item{background:#ffffff09;color:#eef3e6;border-color:#ffffff32}.visual-appli .flow-index{color:#d9f18e}.visual-appli .flow-down{color:#bfd29d}.visual-appli figcaption{color:#b7c8b9}.visual-audio{background:#eee8de}.visual-audio .flow-item{border-color:#d3c9b7;background:#faf7f1}.visual-hybrid,.visual-securitylab{background:#e5ebef}.visual-hybrid .flow-item,.visual-securitylab .flow-item{border-color:#c2ced6;background:#f4f7f9}.project-image{margin:0;min-width:0}.image-open{display:block;width:100%;padding:0;background:none;text-align:left;position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line)}.image-open img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top}.image-open>span{position:absolute;right:12px;bottom:12px;background:var(--green);color:white;padding:7px 10px;font-size:10px;border-radius:4px}.project-image figcaption{font-size:10px;color:var(--muted);line-height:1.5;margin-top:11px}.project-details{margin:25px 0 38px;border-top:1px solid var(--line)}.project-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:11px;font-weight:600}.project-details summary::-webkit-details-marker{display:none}.details-symbol{font-size:19px;font-weight:400;line-height:1}.project-details[open] .details-symbol{transform:rotate(45deg)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:8px 0 15px}.details-grid h4{font-size:12px;font-weight:600;margin-bottom:10px}.details-grid p{font-size:12px;line-height:1.7;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding-bottom:20px}
.working-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:62px;padding-bottom:62px;display:grid;grid-template-columns:1fr 1.2fr;gap:65px;background:#eef0e7}.working-intro h2{font-size:33px}.working-intro p:not(.eyebrow){font-size:13px;max-width:360px;color:var(--muted)}.working-steps>div{display:grid;grid-template-columns:33px 1fr;column-gap:14px;padding:18px 0;border-top:1px solid #cfd8c8}.working-steps>div:first-child{padding-top:0;border:0}.working-steps span{font-size:11px;color:#637851;grid-row:span 2;padding-top:3px}.working-steps h3{font-size:16px;font-weight:500;margin:0 0 7px}.working-steps p{font-size:12px;color:var(--muted);margin:0}.contact-section{padding-top:77px;padding-bottom:75px}.contact-grid{display:grid;grid-template-columns:1fr 350px;gap:65px}.contact-grid h2{font-size:43px;margin-bottom:22px}.contact-grid>div>p{font-size:13px;color:var(--muted)}.contact-email{display:inline-flex;align-items:center;gap:24px;font-size:20px;margin:18px 0 26px;letter-spacing:-.4px}.contact-email:hover{text-decoration:underline}.social-links{display:flex;gap:24px}.cv-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px}.document-icon{display:flex;flex-direction:column;width:40px;height:49px;border:1px solid #a2af98;border-radius:3px;align-items:center;justify-content:center;font-size:15px;margin-bottom:20px}.document-icon span{font-size:7px;letter-spacing:1px;margin-top:4px}.cv-card h3{font-size:19px;font-weight:500;margin-bottom:8px}.cv-card>p{font-size:12px!important}.cv-card .button{width:100%;margin:8px 0 10px}.cv-card .language-note{font-size:10px!important;line-height:1.7;margin:13px 0 0}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding-top:25px;padding-bottom:30px;font-size:10px;color:var(--muted)}dialog{border:0;border-radius:14px;padding:20px;max-width:1100px;width:92vw;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#10241deb;backdrop-filter:blur(3px)}dialog img{max-height:75vh;width:100%;object-fit:contain}dialog p{font-size:13px;margin:15px 0 0}#close-dialog{display:block;margin:0 0 16px auto;border:1px solid var(--line);border-radius:4px;background:transparent;padding:10px;font-size:12px}
@media(min-width:1450px){.site-header,.hero,.portfolio-section,.working-section,.contact-section,footer{max-width:1380px;padding-left:70px;padding-right:70px}.hero{gap:95px}.project-layout{gap:90px}}
@media(max-width:1000px){.site-header,.hero,.portfolio-section,.working-section,.contact-section,footer{padding-left:32px;padding-right:32px}.hero{grid-template-columns:1fr 260px;gap:35px}h1{font-size:43px;letter-spacing:-1.7px}.hero-aside{padding:22px}.hero{padding-top:60px;padding-bottom:60px}.project-layout{gap:32px}.track-intro{gap:35px}.contact-grid{grid-template-columns:1fr 300px;gap:30px}.contact-grid h2{font-size:36px}.working-section{gap:35px}.track-nav button{font-size:12px;padding:15px 12px;gap:7px}}
@media(max-width:720px){.site-header,.hero,.portfolio-section,.working-section,.contact-section,footer{padding-left:22px;padding-right:22px}.site-header{height:85px}.site-header nav{gap:18px;font-size:11px}.site-header nav a:nth-child(2){display:none}.brand-name{font-size:12px}.brand-name small{font-size:9px}.monogram{font-size:28px}.brand{gap:10px}.hero{grid-template-columns:1fr;gap:32px;padding-top:43px;padding-bottom:44px}h1{font-size:40px;line-height:1.12;letter-spacing:-1.7px}h1 em{letter-spacing:-1.6px}.hero-intro{font-size:14px;max-width:540px}.hero-aside{padding:22px}.area-link{padding:13px 0}.aside-note{display:none}.mini-label{margin-bottom:15px}.hero-actions{gap:9px}.button{font-size:11px;padding:14px 17px;gap:20px}.section-heading{align-items:start}.section-heading>p{display:none}.section-heading h2{font-size:29px}.portfolio-section{padding-top:35px;padding-bottom:35px}.track-nav{gap:4px;padding:4px;grid-template-columns:1fr}.track-nav button{min-height:48px;padding:13px 14px;font-size:12px;gap:13px}.track-intro{grid-template-columns:1fr;gap:18px;padding-top:0;padding-bottom:22px}.track-intro h2{font-size:29px}.track-intro .eyebrow{font-size:9px;margin-bottom:11px}.track-intro p:not(.eyebrow){font-size:13px}.project{padding-top:23px}.project-heading{margin-bottom:20px}.status{font-size:9px;max-width:85%}.project-layout{grid-template-columns:1fr;gap:26px}.project h3{font-size:26px}.summary{font-size:13px}.role-list li{font-size:12px}.project-visual{min-height:0;padding:23px}.visual-mark{margin-bottom:20px}.visual-flow{gap:19px}.flow-item{padding:11px 14px}.details-grid{grid-template-columns:1fr;gap:10px}.project-details{margin-bottom:25px}.project-details summary{font-size:11px}.gallery{grid-template-columns:1fr}.working-section{grid-template-columns:1fr;gap:23px;padding-top:38px;padding-bottom:33px}.working-intro h2{font-size:29px}.working-steps>div{padding:18px 0}.contact-section{padding-top:45px;padding-bottom:42px}.contact-grid{grid-template-columns:1fr;gap:33px}.contact-grid h2{font-size:34px}.contact-email{font-size:19px;gap:18px}.cv-card{padding:24px}.contact-section>.eyebrow{margin-bottom:18px}footer{flex-wrap:wrap;gap:15px;font-size:9px;padding-top:20px;padding-bottom:23px}footer a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header nav,.hero-aside,.track-nav,.hero-actions,.project-visual,.project-image,.working-section,.contact-section,footer,.skip-link{display:none}body{background:white;color:black}.site-header,.hero,.portfolio-section{padding:12px 0}.hero{display:block}h1{font-size:28px}.project-layout{display:block}.project{break-inside:avoid}.track-panel[hidden]{display:none!important}.project-details{display:none}.tags li{border:1px solid #ccc}}
.arrow-icon{display:inline-block;width:13px;height:13px;flex:none;vertical-align:middle}.arrow-down{transform:rotate(90deg)}.role-list li:before{content:'•';font-size:12px}
