:root{--paper:#f3f1ed;--surface:#fffdfa;--ink:#1c2025;--muted:#70757d;--rule:#dedbd4;--accent:#1f61c7;--orange:#f15935;--shadow:0 18px 48px #22232614}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.6}.shell{grid-template-columns:292px minmax(0,1fr);gap:28px;width:min(1220px,100% - 48px);margin:64px auto;display:grid}.wordmark{color:var(--ink);letter-spacing:-1px;margin:9px 0 28px;font:700 24px/1 DM Sans,sans-serif;text-decoration:none;display:block}.wordmark span{color:var(--accent)}.card,.content-area,.panel{background:var(--surface)}.card{margin-bottom:16px}.identity{overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font:500 11px/1.3 DM Sans,sans-serif}.identity>.eyebrow,.quick-contact{padding:22px 22px 0}.monogram{background:var(--ink);isolation:isolate;place-items:center;height:264px;margin-top:18px;display:grid;position:relative;overflow:hidden}.monogram:before,.monogram:after{content:"";z-index:-1;border:1px solid #ffffff59;border-radius:50%;position:absolute}.monogram:before{width:300px;height:300px;transform:translate(30%,-31%)}.monogram:after{width:220px;height:220px;transform:translate(-43%,38%)}.monogram span{color:#fff;letter-spacing:-3px;font:600 72px/1 DM Sans,sans-serif}.monogram i,.monogram b{background:var(--orange);display:block;position:absolute}.monogram i{width:10px;height:10px;top:24px;right:30px}.monogram b{width:70px;height:4px;bottom:32px;left:25px}.facts{margin:0}.facts>div{border-bottom:1px solid var(--rule);grid-template-columns:102px 1fr;gap:12px;padding:11px 0;display:grid}.facts>div:last-child{border-bottom:0}.facts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font:500 10px/1.5 DM Sans,sans-serif}.facts dd{margin:0;font-size:14px}.facts a{color:var(--accent);text-decoration:none}.compact{padding:18px 22px}.replace-note{border-top:1px solid var(--rule);color:var(--muted);margin:0;padding:14px 22px 18px;font-size:11px}code{font-family:DM Sans,sans-serif}.quick-contact{padding-bottom:22px}.quick-contact>p:not(.eyebrow){margin:12px 0 20px;font-size:14px;line-height:1.55}.button{background:var(--accent);color:#fff;letter-spacing:.04em;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:24px;padding:13px 15px;font:600 11px/1 DM Sans,sans-serif;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover,.button:focus-visible{background:var(--orange);transform:translateY(-2px)}.button span{font-size:18px;line-height:0}.content-area{min-width:0;box-shadow:var(--shadow)}.masthead{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:24px;padding:44px 46px 38px;display:flex}h1,h2,h3,p{margin-top:0}.masthead h1{letter-spacing:-1.5px;max-width:560px;margin:16px 0 0;font:600 clamp(33px,4vw,55px)/.98 DM Sans,sans-serif}.menu-button{display:none}.tabs{border-bottom:1px solid var(--rule);gap:0;padding:0 28px;display:flex}.tab{appearance:none;color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;border-bottom:3px solid #0000;padding:19px 18px 17px;font:500 11px/1 DM Sans,sans-serif;transition:color .2s,border-color .2s}.tab span{color:var(--muted);margin-right:7px}.tab:hover,.tab:focus-visible{color:var(--accent)}.tab.is-active{color:var(--accent);border-color:var(--accent)}.panel{padding:46px}.panel[hidden]{display:none}.panel.is-active{animation:.22s both panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.panel-heading{border-bottom:1px solid var(--rule);padding-bottom:32px}.panel-heading h2{letter-spacing:-1px;margin:14px 0 0;font:600 clamp(31px,4vw,47px)/1.05 DM Sans,sans-serif}.about-copy{max-width:650px;padding:36px 0}.lede{font-size:20px;line-height:1.52}.about-copy p:not(.lede){color:var(--muted);max-width:610px;font-size:15px}.section-label{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:20px;padding:25px 0;display:flex}.section-label span{color:var(--muted);font-size:12px}.service-grid{border:1px solid var(--rule);grid-template-columns:repeat(3,1fr);margin-bottom:48px;display:grid}.service-grid article{border-right:1px solid var(--rule);min-height:220px;padding:26px}.service-grid article:last-child{border-right:0}.service-number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:33px;height:33px;margin-bottom:42px;font:500 12px/1 DM Sans,sans-serif;display:grid}.service-grid h3{letter-spacing:-.5px;margin-bottom:10px;font:600 22px/1.1 DM Sans,sans-serif}.service-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.skill-list{padding-bottom:4px}.skill{padding:11px 0}.skill>div{justify-content:space-between;font:500 12px/1 DM Sans,sans-serif;display:flex}.skill b{color:var(--muted);font-weight:400}.skill i{background:linear-gradient(to right,var(--accent) var(--level),#e4e1da var(--level));height:6px;margin-top:10px;display:block}.resume-intro{max-width:600px;margin:35px 0}.timeline article{border-top:1px solid var(--rule);grid-template-columns:125px 1fr;gap:22px;padding:26px 0;display:grid}.year{color:var(--accent);padding-top:4px;font:500 11px/1 DM Sans,sans-serif}.timeline h3{margin:8px 0;font:600 22px/1.1 DM Sans,sans-serif}.timeline p:last-child{color:var(--muted);margin:0;font-size:14px}.credentials{border-top:1px solid var(--rule);margin-top:36px;padding-top:25px}.credentials>div{grid-template-columns:125px 1fr;gap:22px;padding:12px 0;display:grid}.credentials span{color:var(--accent);font:500 11px/1 DM Sans,sans-serif}.credentials p{margin:0;font-size:14px;line-height:1.5}.project-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;display:grid}.project{color:#fff;isolation:isolate;align-items:end;min-height:260px;padding:24px;text-decoration:none;transition:transform .2s;display:flex;position:relative;overflow:hidden}.project:hover,.project:focus-visible{transform:translateY(-4px)}.project:before,.project:after{content:"";z-index:-1;position:absolute}.project:before{background:linear-gradient(#10151a0f,#10151acc);inset:0}.project:after{border:1px solid #fff6;border-radius:50%;width:300px;height:300px;top:-110px;right:-110px}.project-one{background:#1b437b}.project-two{background:#a0402d}.project-three{background:#5a734c}.project-four{background:#4c3c65}.project span,.project p{letter-spacing:.04em;text-transform:uppercase;font:500 10px/1.5 DM Sans,sans-serif}.project h3{letter-spacing:-1px;margin:12px 0;font:600 31px/1 DM Sans,sans-serif}.project p{opacity:.8;margin:0}.work-note{color:var(--muted);margin:24px 0 0;font-size:13px}.contact-layout{grid-template-columns:.9fr 1.1fr;gap:42px;margin-top:34px;display:grid}.contact-layout .facts{margin-top:30px}.contact-form{gap:17px;display:grid}.contact-form label{text-transform:uppercase;letter-spacing:.05em;font:500 11px/1 DM Sans,sans-serif}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--ink);resize:vertical;background:#f6f4ef;border-radius:0;outline:none;margin-top:9px;padding:13px;font:400 14px/1.4 DM Sans,sans-serif;display:block}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{justify-self:start;margin-top:4px}footer{color:#bbb8b3;background:var(--ink);letter-spacing:.03em;justify-content:space-between;padding:21px 46px;font:400 10px/1 DM Sans,sans-serif;display:flex}@media (width<=760px){.shell{width:min(100% - 28px,560px);margin:24px auto;display:block}.wordmark{margin:12px 0 18px}.rail{margin-bottom:14px}.monogram{height:220px}.masthead{padding:31px 28px}.masthead h1{font-size:37px}.menu-button{border:1px solid var(--rule);color:var(--ink);text-transform:uppercase;background:0 0;flex-shrink:0;align-items:center;gap:12px;padding:10px;font:500 10px/1 DM Sans,sans-serif;display:inline-flex}.menu-button span{font-size:18px}.tabs{border-bottom:1px solid var(--rule);flex-direction:column;padding:9px 18px;display:none}.tabs.is-open{display:flex}.tab{text-align:left;border-bottom:0;border-left:3px solid #0000;padding:14px 10px}.tab.is-active{border-left-color:var(--accent)}.panel{padding:31px 28px}.panel-heading{padding-bottom:25px}.lede{font-size:18px}.service-grid,.contact-layout{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--rule);min-height:auto}.service-grid article:last-child{border-bottom:0}.service-number{margin-bottom:22px}.timeline article,.credentials>div{grid-template-columns:1fr;gap:8px}.project-grid{grid-template-columns:1fr}.project{min-height:215px}footer{flex-wrap:wrap;gap:8px;padding:20px 28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.skill-accordion{margin-top:10px}.skill-accordion .section-label{margin-top:0;padding-bottom:20px}.skill-accordion .skill-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid}.skill-accordion .skill{border:1px solid var(--rule);background:#fffdfa;grid-template-columns:minmax(0,1fr);gap:14px;min-height:126px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.skill-accordion .skill:hover{border-color:#b9cbe8;transform:translateY(-2px)}.skill-accordion .skill.is-open{border-color:var(--accent);box-shadow:5px 5px #1f61c71f}.skill-accordion .skill-toggle{width:100%;color:var(--ink);letter-spacing:-.2px;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:11px;padding:0;font:600 15px/1.2 DM Sans,sans-serif;display:grid}.skill-accordion .skill-toggle:hover,.skill-accordion .skill-toggle:focus-visible{color:var(--accent);outline:none}.skill-accordion .skill-toggle:focus-visible .skill-symbol{outline:2px solid var(--ink);outline-offset:3px}.skill-symbol{width:35px;height:35px;color:var(--accent);background:#edf2fa;border-radius:50%;place-items:center;font-size:21px;font-weight:600;line-height:1;transition:background .2s,color .2s;display:grid}.is-open .skill-symbol{background:var(--accent);color:#fff}.skill-toggle sub{vertical-align:baseline;font-size:.65em}.skill-level{color:var(--accent);letter-spacing:0;font-size:12px;font-weight:700}.skill-accordion .skill-meter{background:linear-gradient(to right, var(--accent) 0 var(--level), #e5e8ec var(--level) 100%);border-radius:5px;height:5px;overflow:hidden;display:block!important}.skill-accordion .skill-meter i{display:none!important}.skill-accordion .skill-description{color:var(--muted);font-size:13px;line-height:1.7}.skill-accordion .skill-description[hidden]{display:none!important}.skill-accordion .skill-description p{margin:0}@media (width<=760px){.skill-accordion .skill-list{grid-template-columns:1fr}.skill-accordion .skill{min-height:0;padding:18px}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body,button,input,textarea,.wordmark,.eyebrow,.skill-accordion .skill-toggle{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}html[dir=rtl] body,html[dir=rtl] button,html[dir=rtl] input,html[dir=rtl] textarea{font-family:Tahoma,Arial,sans-serif}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.panel{display:block}:target{scroll-margin-top:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.masthead-actions{align-items:center;gap:12px;display:flex}.language-switcher{border:1px solid var(--rule);display:flex}.language-switcher a{color:var(--muted);padding:7px 9px;font-size:12px;font-weight:700;text-decoration:none}.language-switcher a+a{border-inline-start:1px solid var(--rule)}.language-switcher a.is-active{background:var(--ink);color:#fff}.quick-contact .text-link{color:var(--accent);margin:14px 0 22px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}html[dir=rtl] .eyebrow,html[dir=rtl] .year,html[dir=rtl] .project span{letter-spacing:0}.tabs .tab{text-decoration:none;display:inline-flex}html[dir=rtl] .skill-accordion .skill-toggle{text-align:start}html[dir=rtl] .skill-accordion .skill-meter{background:linear-gradient(to left, var(--accent) 0 var(--level), #e5e8ec var(--level) 100%)}.monogram{aspect-ratio:73/66;height:auto}.monogram>img{object-fit:cover;object-position:52% 24%;width:100%;height:100%;display:block}.facts>div{grid-template-columns:minmax(0,102px) minmax(0,1fr)}.facts dd,.facts dd>a{overflow-wrap:anywhere;min-width:0}.facts dd>a[href^=mailto\:],.facts dd>a[href^=tel\:]{direction:ltr;unicode-bidi:plaintext}@media (width<=760px){.masthead-actions{flex-direction:column;align-items:flex-end;gap:12px;width:100%}.language-switcher{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,280px);margin-inline:auto;display:grid}.language-switcher a{text-align:center;place-items:center;min-height:44px;padding:8px 10px;display:grid}.tabs{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid;overflow-x:auto}.tabs .tab{text-align:center;white-space:normal;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:8px 4px;font-size:clamp(10px,3.25vw,12px);line-height:1.15;display:flex}.tabs .tab>span{display:none}}
