:root{--paper:#f2f0e8;--ink:#142521;--muted:#5c6861;--line:#cbd0c4;--green:#24493c;--gold:#ae8a31;--cream:#e3dfca;--max:1320px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:102px;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:550;letter-spacing:-.055em;line-height:1.04}
h2{text-wrap:balance}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a0832d;outline-offset:5px}
.ed-skip{position:fixed;left:20px;top:-70px;z-index:100;background:var(--paper);padding:10px 20px}
.ed-skip:focus{top:12px}
.ed-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:36px;padding:12px max(26px,calc((100vw - 1240px)/2));background:#101b18;color:#f0f1e9;border-bottom:1px solid #35443b}
.ed-brand{display:block;flex:0 0 128px}
.ed-brand img{width:128px;height:59px;object-fit:contain;mix-blend-mode:screen}
.ed-header nav{display:flex;gap:32px;margin-left:auto;align-items:center}
.ed-header nav a{font-size:13px;font-weight:500;position:relative;padding:12px 0}
.ed-header nav a::after{content:"";height:1px;position:absolute;bottom:5px;left:0;right:100%;background:#c4a75c;transition:right .2s}
.ed-header nav a:hover::after,.ed-header nav a[aria-current="location"]::after{right:0}
.ed-languages{display:flex;align-items:center;gap:12px;margin-left:12px;font-size:11px;color:#929f95}
.ed-languages a{padding:10px 0}
.ed-languages [aria-current="page"]{color:#f3e0a5}
.ed-hero{max-width:var(--max);margin:auto;padding:44px 40px 92px}
.ed-name-line{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:42px;gap:30px}
.ed-name-line h1{font-size:clamp(86px,13vw,180px);line-height:.92;letter-spacing:-.075em;font-weight:600}
.ed-name-line h1 span{color:var(--gold)}
.ed-name-line p{font-size:12px;max-width:190px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;text-align:right;font-weight:500}
.ed-hero-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(45px,7vw,108px);align-items:center}
.ed-hero-photo img{height:480px;width:100%;object-fit:cover;object-position:center top}
.ed-hero-photo figcaption{font-size:11px;color:var(--muted);margin-top:13px}
.ed-hero-copy h2{font-size:clamp(34px,3.4vw,48px);line-height:1.09;margin-bottom:27px}
.ed-hero-copy .ed-lead{font-size:21px;color:var(--ink);line-height:1.5;margin-bottom:18px}
.ed-hero-copy>p:not(.ed-lead){max-width:540px;font-size:16px;color:var(--muted);line-height:1.75;margin-bottom:28px}
.ed-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:52px;padding:14px 22px;background:var(--green);color:white;border:1px solid var(--green);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}
.ed-button:hover{background:#16372b;transform:translateY(-2px)}
.ed-button span{font-size:22px;font-weight:400;line-height:1}
.ed-secondary{display:block;width:max-content;margin-top:19px;font-size:12px;color:var(--muted);border-bottom:1px solid #909d92;padding-bottom:5px}
.ed-secondary span{margin-left:16px}
.ed-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.ed-network{background:var(--green);color:#edf1e4;padding:88px max(40px,calc((100vw - 1240px)/2))}
.ed-network .ed-label{color:#c2cea4;margin-bottom:32px}
.ed-network h2{font-size:clamp(36px,4.4vw,66px);max-width:1000px;line-height:1.12}
.ed-network-text{max-width:650px;margin-top:35px;margin-left:auto;font-size:18px;line-height:1.7;color:#cad6c9}
.ed-fields{max-width:var(--max);margin:auto;padding:65px 40px 75px}
.ed-section-line{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:0;font-size:12px;letter-spacing:.03em}
.ed-section-line span{color:var(--muted);white-space:nowrap}
.ed-field{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(35px,5vw,75px);padding:62px 0;border-bottom:1px solid var(--line);align-items:center}
.ed-field:nth-of-type(even) .ed-field-image{order:2}
.ed-field:nth-of-type(even) .ed-field-copy{order:1;padding-left:0;padding-right:22px}
.ed-field-image{overflow:hidden;background:#dce1d8}
.ed-field-image img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}
.ed-image-credit{margin-top:18px;font-size:11px;line-height:1.6;color:var(--muted)}
.ed-number{color:#7e876f;font-size:13px;display:block;margin-bottom:18px;letter-spacing:.12em}
.ed-field h3{font-size:clamp(35px,4.5vw,62px);margin-bottom:23px}
.ed-field-lead{font-size:20px;line-height:1.4;margin-bottom:14px;color:var(--ink)}
.ed-field-copy p:not(.ed-field-lead){color:var(--muted);font-size:16px;line-height:1.75;max-width:480px}
.ed-textlink{display:inline-flex;gap:45px;align-items:center;margin-top:26px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:13px}
.ed-textlink span{font-size:20px}
.ed-process{background:#e2e6da;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;padding:95px max(40px,calc((100vw - 1240px)/2))}
.ed-process .ed-label{color:#5f745c;margin-bottom:30px}
.ed-process h2{font-size:clamp(40px,4.5vw,64px);margin-bottom:26px}
.ed-process>div>p:last-child{font-size:17px;color:var(--muted);max-width:430px}
.ed-process ol{list-style:none;margin:0;padding:0}
.ed-process li{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid #b1bdaa;padding:26px 0}
.ed-process li>span{font-size:11px;color:#61715e;margin-top:5px}
.ed-process h3{font-size:28px;letter-spacing:-.04em;line-height:1.2;margin-bottom:10px}
.ed-process li p{font-size:15px;color:var(--muted);line-height:1.7}
.ed-about{background:#111f1b;color:#f0f1e9;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:110px;padding:95px max(40px,calc((100vw - 1240px)/2));align-items:center}
.ed-about .ed-label{color:#c4ad71;margin-bottom:30px}
.ed-about h2{font-size:clamp(35px,4vw,55px);line-height:1.15;margin-bottom:30px}
.ed-about p:not(.ed-label){font-size:17px;color:#b7c5bc;line-height:1.8;margin-bottom:20px}
.ed-about figure img{width:100%;max-height:650px;object-fit:contain;object-position:center}
.ed-signature{width:235px;max-width:75%;height:auto;mix-blend-mode:screen;margin-top:30px}
.ed-contact{max-width:var(--max);margin:auto;padding:100px 40px}
.ed-contact .ed-label{color:#69724e;margin-bottom:30px}
.ed-contact h2{font-size:clamp(46px,6.7vw,92px);max-width:1100px;margin-bottom:24px}
.ed-contact-intro{max-width:600px;font-size:20px;color:var(--muted);line-height:1.6}
.ed-contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:52px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.ed-contact-links a{position:relative;padding:25px 42px 27px 0;margin-right:30px}
.ed-contact-links span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#677263;margin-bottom:8px}
.ed-contact-links strong{font-size:17px;font-weight:500;overflow-wrap:anywhere}
.ed-contact-links b{position:absolute;right:0;top:40px;font-size:24px;font-weight:400}
.ed-external{font-size:11px;color:var(--muted);margin-top:14px}
.ed-email{margin-top:50px;max-width:850px}
.ed-email summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px}
.ed-email summary::-webkit-details-marker{display:none}
.ed-email summary span{font-size:23px;line-height:1;transition:transform .2s}
.ed-email[open] summary span{transform:rotate(45deg)}
.ed-email form{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:30px 0}
.ed-email label{display:grid;gap:8px;font-size:13px}
.ed-email input,.ed-email textarea{border:1px solid #aeb8aa;border-radius:0;background:transparent;padding:12px;color:var(--ink);width:100%;min-width:0}
.ed-email textarea{resize:vertical}
.ed-form-wide{grid-column:1/-1}
.ed-email form>p{font-size:12px;color:var(--muted)}
.ed-email .ed-button{width:max-content}
.ed-footer{background:#111f1b;color:#c1cec5;padding:45px max(40px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.5fr 1.3fr 1fr;gap:50px;align-items:start;font-size:11px}
.ed-footer strong{font-size:27px;color:#f2f2e9;letter-spacing:-.06em;font-weight:600;line-height:1.2}
.ed-footer p{max-width:430px}
.ed-footer>div{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:flex-end}
.ed-footer>div span{display:block;width:100%;text-align:right;color:#80968b}
@media(max-width:1050px){
 .ed-header{padding:12px 28px;gap:24px}.ed-header nav{gap:23px}
 .ed-hero-layout{gap:45px}.ed-name-line h1{font-size:140px}
 .ed-hero-photo img{height:440px}
 .ed-process,.ed-about{gap:60px}
 .ed-contact-links{grid-template-columns:1fr}.ed-contact-links a{border-bottom:1px solid var(--line);margin-right:0}
 .ed-contact-links a:last-child{border-bottom:0}
}
@media(max-width:760px){
 html{scroll-padding-top:130px}
 .ed-header{display:grid;grid-template-columns:auto 1fr;gap:4px 20px;padding:8px 22px}
 .ed-brand{width:100px}.ed-brand img{width:100px;height:48px}
 .ed-header nav{grid-row:2;grid-column:1/-1;margin:0;justify-content:space-between;gap:8px}
 .ed-header nav a{font-size:11px;padding:9px 0}
 .ed-languages{justify-self:end;font-size:11px}
 .ed-hero{padding:32px 24px 50px}
 .ed-name-line{display:block;padding-bottom:22px;margin-bottom:28px}
 .ed-name-line h1{font-size:clamp(72px,16vw,110px);letter-spacing:-.075em;white-space:nowrap}
 .ed-name-line p{font-size:9px;text-align:left;max-width:none;margin:18px 0 0}
 .ed-hero-layout{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .ed-hero-photo img{height:350px;object-fit:cover;object-position:center top}
 .ed-hero-photo figcaption{font-size:9px}
 .ed-hero-copy h2{font-size:36px;margin-bottom:21px}
 .ed-hero-copy .ed-lead{font-size:19px}
 .ed-hero-copy>p:not(.ed-lead){font-size:15px}
 .ed-button{min-height:50px;font-size:13px;padding:13px 18px}
 .ed-network{padding:56px 24px}
 .ed-network .ed-label{font-size:9px;margin-bottom:23px}
 .ed-network h2{font-size:36px;line-height:1.17}
 .ed-network h2 br{display:none}
 .ed-network-text{font-size:16px;margin-top:25px}
 .ed-fields{padding:36px 24px 40px}
 .ed-section-line{font-size:10px;align-items:end;gap:25px;padding-bottom:18px}
 .ed-section-line p{max-width:220px}
 .ed-field{display:flex;flex-direction:column;align-items:stretch;gap:26px;padding:35px 0}
 .ed-field:nth-of-type(even) .ed-field-image{order:0}
 .ed-field:nth-of-type(even) .ed-field-copy{order:0;padding:0}
 .ed-field h3{font-size:43px;margin-bottom:18px}
 .ed-number{font-size:11px;margin-bottom:13px}
 .ed-field-lead{font-size:19px}
 .ed-field-copy p:not(.ed-field-lead){font-size:15px}
 .ed-process{grid-template-columns:1fr;padding:55px 24px;gap:35px}
 .ed-process h2{font-size:43px}
 .ed-process .ed-label{font-size:10px;margin-bottom:22px}
 .ed-process>div>p:last-child{font-size:16px}
 .ed-process li{padding:23px 0;gap:8px}
 .ed-process h3{font-size:26px}
 .ed-about{display:flex;flex-direction:column;padding:56px 24px;gap:38px}
 .ed-about h2{font-size:36px}
 .ed-about p:not(.ed-label){font-size:16px}
 .ed-about .ed-label{font-size:10px;margin-bottom:22px}
 .ed-about figure{width:100%}.ed-about figure img{max-height:none;width:100%}
 .ed-signature{width:195px;margin-top:22px}
 .ed-contact{padding:58px 24px}
 .ed-contact .ed-label{font-size:9px;max-width:270px;margin-bottom:25px}
 .ed-contact h2{font-size:48px}
 .ed-contact-intro{font-size:18px}
 .ed-contact-links{margin-top:30px}
 .ed-contact-links a{padding:21px 32px 21px 0}
 .ed-contact-links strong{font-size:16px}
 .ed-contact-links b{top:31px}
 .ed-email{margin-top:35px}
 .ed-email summary{font-size:15px;gap:20px}
 .ed-email form{grid-template-columns:1fr}
 .ed-form-wide{grid-column:auto}
 .ed-email .ed-button{width:100%}
 .ed-footer{grid-template-columns:1fr;padding:38px 24px;gap:23px}
 .ed-footer>div{justify-content:flex-start}
 .ed-footer>div span{text-align:left}
}
@media(max-width:350px){
 .ed-name-line h1{font-size:65px}
 .ed-hero-photo img{height:315px}
 .ed-hero-copy h2{font-size:32px}
 .ed-header nav{flex-wrap:wrap;justify-content:flex-start;gap:0 22px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Public projects: distinct from the broader areas of interest below. */
.ed-projects{max-width:var(--max);margin:auto;padding:40px 40px 90px}
.ed-projects-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:90px;align-items:end;padding-top:35px;border-top:1px solid var(--ink);margin-bottom:42px}
.ed-projects-intro .ed-label{color:#687251;margin-bottom:20px}
.ed-projects-intro h2{font-size:clamp(38px,4.6vw,65px);line-height:1.06;max-width:620px}
.ed-projects-intro>p{max-width:420px;font-size:17px;color:var(--muted);line-height:1.7}
.ed-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ed-project{--project-accent:#315747;display:flex;flex-direction:column;min-width:0;border:1px solid #c4cdc0;border-top:4px solid var(--project-accent);padding:28px 32px 25px;background:#e9eddf}
.ed-project[data-project="hiqtech"]{--project-accent:#366170;background:#e6ebe8}
.ed-project[data-project="sabosol"]{--project-accent:#58704c;background:#e9eddf}
.ed-project[data-project="hiqapp"]{--project-accent:#8c7541;background:#eeebdf}
.ed-project[data-project="living"]{--project-accent:#77765b;background:#e6e7db}
.ed-project-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:28px;color:#627365;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em}
.ed-project-top>span:last-child{white-space:nowrap}
.ed-project h3{font-size:48px;margin-bottom:22px;letter-spacing:-.055em}
.ed-project-description{font-size:17px;line-height:1.6;max-width:480px;margin-bottom:24px}
.ed-project-contribution{border-top:1px solid #bbc7b8;padding-top:17px;margin-top:auto}
.ed-project-contribution h4{margin:0 0 7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#647461}
.ed-project-contribution p{font-size:15px;line-height:1.65;color:#526359;max-width:440px}
.ed-project-bottom{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ed-project-status{font-size:10px;line-height:1.5;border:1px solid #a5b49e;border-radius:20px;padding:5px 10px;color:#53674e;max-width:100%}
.ed-project-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;line-height:1.6;border-bottom:1px solid #7f9279;padding:5px 0;max-width:100%}
.ed-project-link span:first-child{overflow-wrap:anywhere}
.ed-project-link span:last-child{font-size:22px;line-height:1;transition:transform .2s}
.ed-project-link:hover span:last-child{transform:translate(2px,-2px)}
.ed-projects-note{font-size:11px;color:var(--muted);margin-top:17px}
.ed-community{background:#e3e5d9;padding:68px max(40px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line)}
.ed-community>.ed-label{font-size:10px;letter-spacing:.11em;color:#5c7052;margin-bottom:27px}
.ed-community>div{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:90px;align-items:center}
.ed-community h2{font-size:clamp(34px,3.5vw,48px);line-height:1.15}
.ed-community>div>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:520px}
@media(max-width:1050px){.ed-projects-intro,.ed-community>div{gap:45px}.ed-project{padding:25px}.ed-project-bottom{gap:12px}}
@media(max-width:760px){
 .ed-projects{padding:18px 24px 48px}.ed-projects-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px;padding-top:28px}
 .ed-projects-intro .ed-label{font-size:10px;margin-bottom:16px}.ed-projects-intro h2{font-size:39px;max-width:300px}.ed-projects-intro>p{font-size:15px}
 .ed-project-grid{grid-template-columns:1fr;gap:18px}.ed-project{padding:22px 21px}.ed-project-top{font-size:9px;margin-bottom:24px;gap:12px}
 .ed-project h3{font-size:42px;margin-bottom:18px}.ed-project-description{font-size:16px;margin-bottom:20px}.ed-project-contribution p{font-size:14px}
 .ed-project-bottom{margin-top:23px;align-items:flex-start;gap:13px}.ed-project-status{font-size:9px}.ed-project-link{font-size:12px;gap:17px}
 .ed-projects-note{font-size:10px}.ed-community{padding:47px 24px}.ed-community>div{grid-template-columns:1fr;gap:23px}.ed-community h2{font-size:34px}.ed-community h2 br{display:none}.ed-community>div>p{font-size:15px}
}
