*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#203e38;background:#f7f6f1;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8}a{color:inherit}nav{padding:22px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8ded5}nav a{text-decoration:none;font-size:13px}nav strong{font-size:23px;letter-spacing:.08em}nav span{display:flex;gap:24px}.preview{background:#e5ebdf;text-align:center;font-size:12px;padding:6px}main{max-width:1200px;margin:auto;padding:65px 40px}h1{font-size:clamp(34px,5vw,65px);line-height:1.45;letter-spacing:-.04em;font-weight:600;margin:18px 0 26px}h2{font-size:30px;font-weight:600;line-height:1.5}h3{font-size:20px;line-height:1.6}.eyebrow{font-size:12px;letter-spacing:.17em;color:#68796d;font-weight:700}.lead{font-size:17px;max-width:700px;color:#5d6c64}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:center;padding:20px 0 80px}.art{background:#dce6da;padding:30px;border-radius:4px;transform:rotate(2deg)}.sheet{background:white;padding:25px;box-shadow:0 20px 35px #233f3820;transform:rotate(-4deg)}.bar{height:12px;background:#477861;margin:15px 0;border-radius:2px}.section{margin:65px 0;border-top:1px solid #d5dcd2;padding-top:36px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card{display:block;text-decoration:none;border:1px solid #d5dcd2;background:#fff;padding:26px;transition:transform .2s}.card:hover{transform:translateY(-5px)}.card small{color:#607368}.thumb{height:180px;background:#e7ece2;padding:22px;display:flex;flex-direction:column;justify-content:center;margin:-26px -26px 25px}.thumb.orange{background:#eee1d7}.thumb.blue{background:#e0e8eb}.thumb strong{font-size:35px}.tag{font-size:12px;border:1px solid #b9c6b8;padding:4px 10px;display:inline-block;margin:6px 5px 6px 0}.btn,button{display:inline-block;border:1px solid #23483e;background:#23483e;color:#fff;border-radius:2px;padding:12px 20px;cursor:pointer;text-decoration:none;font-size:14px;line-height:1.5}.btn.light{background:transparent;color:#23483e}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px}.panel{background:white;padding:28px;border:1px solid #d6ddd4}.note{font-size:13px;color:#687469}.metric{font-size:42px;line-height:1.3;color:#32664f}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;background:white}th,td{text-align:left;padding:15px;border-bottom:1px solid #dbe0d8}th{background:#e7ece3}.highlight{background:#e5ecdf;border-left:4px solid #52765c;padding:22px;margin:20px 0}.steps{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps div{border-top:2px solid #45674c;padding:15px 0}.steps b{display:block}footer{border-top:1px solid #d8ded5;padding:28px 6%;font-size:12px;display:flex;justify-content:space-between}textarea{width:100%;min-height:185px;border:1px solid #b7c4ba;padding:15px;font:14px/1.7 monospace;background:#fbfcf8}select{padding:10px;font-size:15px;border:1px solid #aabbaa;background:white}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}svg{width:100%;height:auto}.chartrow{display:grid;grid-template-columns:80px 1fr 75px;gap:12px;align-items:center;font-size:14px;margin:18px 0}.track{background:#edf0e8;height:20px}.fill{height:100%;background:#528265}.caption{font-size:12px;margin-top:10px;color:#657567}@media(max-width:760px){nav{padding:18px 20px}nav strong{font-size:18px}nav span{gap:12px}main{padding:35px 20px}.hero,.split,.grid{grid-template-columns:1fr;gap:25px}.hero{padding-bottom:35px}.art{margin:15px}.steps{grid-template-columns:1fr 1fr}h2{font-size:25px}th,td{padding:10px}.section{margin:40px 0}.lead{font-size:15px}}
@media(min-width:761px) and (max-width:1000px){.hero{gap:25px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:37px}.art{padding:15px}.sheet{padding:18px}.thumb strong{font-size:26px}.card{padding:20px}.thumb{margin:-20px -20px 20px}}@media(max-width:420px){nav strong span{display:none!important}h1{font-size:32px}.thumb strong{font-size:30px}}

.galleryintro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:0 0 45px}.galleryintro h1{font-size:35px;line-height:1.5;margin:15px 0 0}.galleryintro p{font-size:14px;color:#657169}.work{margin:0 0 75px}.workheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.workheading h2{font-size:18px;margin:0}.workheading span{font-size:10px;letter-spacing:.12em;color:#738075}.imagebutton{display:block;padding:0;border:0;background:transparent;width:100%;cursor:zoom-in}.imagebutton img{display:block;width:100%;height:auto}.reportimage{background:#e6e9e0;padding:35px 12%}.reportimage img{box-shadow:0 12px 30px #263d3520}.workcaption{display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:13px;margin:14px 0}.workcaption small{font-size:11px;color:#6e7a71}details{border-top:1px solid #d6ddd4;border-bottom:1px solid #d6ddd4;padding:14px 0;font-size:13px}summary{cursor:pointer}.inlinecontent{padding:15px;max-width:850px}.inlinecontent h3{font-size:17px}.toolframe{background:#fff;border:1px solid #d4ddd7;box-shadow:0 12px 35px #263d3510}.tooltop{display:flex;justify-content:space-between;background:#e7ede9;padding:14px 22px;font-size:12px}.toolbody{padding:25px 35px}.toolbody>p{font-size:18px;font-weight:600}.toolbody label{font-size:12px}.toolbody textarea{min-height:160px;font-size:13px}.toolbody td,.toolbody th{font-size:12px;padding:10px}.toolbody .highlight{font-size:13px;padding:13px}.toolbody .buttons{margin:12px 0}dialog{border:0;padding:45px 15px 15px;max-width:95vw;max-height:95vh;background:#fff}dialog::backdrop{background:#17281fe6}dialog img{max-width:90vw;max-height:80vh;object-fit:contain}#closeimage{position:absolute;right:15px;top:7px;padding:7px 12px;font-size:12px}@media(max-width:760px){.galleryintro{display:block}.galleryintro h1{font-size:27px}.workheading{display:block}.workheading h2{font-size:16px}.workcaption{grid-template-columns:1fr;gap:0}.reportimage{padding:15px}.toolbody{padding:15px}.toolbody .tablewrap{overflow:auto}.work{margin-bottom:45px}}

.cover{position:relative;margin:-30px -40px 0;overflow:hidden}.cover>img{display:block;width:100%;height:340px;object-fit:cover}.covercopy{position:absolute;left:5%;top:22%;color:#273c31}.covercopy>span{font-size:10px;letter-spacing:.17em}.covercopy h1{font-size:32px;line-height:1.6;margin:17px 0}.covercopy p{font-size:12px}.profilebar{display:flex;gap:23px;align-items:center;padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid #d7ddd3}.roundicon{position:relative;margin-top:-20px;flex-shrink:0;border:6px solid #f7f6f1;border-radius:50%;width:104px;height:104px;background:#324b3b;color:#eee9dc;display:flex;align-items:center;justify-content:center;font:italic 52px Georgia,serif;box-shadow:0 4px 10px #1c33251a}.roundicon span{position:absolute;bottom:13px;font:8px sans-serif;letter-spacing:.2em}.profilebar h2{font-size:23px;margin:20px 0 5px}.profilebar small{font-size:12px;font-weight:400;margin-left:12px}.profilebar p{font-size:12px;margin:0;color:#687268}.profilelink{font-size:12px;margin-left:auto;white-space:nowrap}@media(max-width:760px){.cover{margin:-15px -20px 0}.cover>img{height:285px;object-position:55% center}.covercopy{left:6%;top:18%}.covercopy h1{font-size:24px}.covercopy>span{font-size:8px}.covercopy p{font-size:10px;max-width:220px}.profilebar{gap:12px;flex-wrap:wrap;padding-bottom:22px}.roundicon{width:78px;height:78px;font-size:36px}.roundicon span{bottom:8px;font-size:7px}.profilebar h2{font-size:20px}.profilebar p{max-width:240px;font-size:11px}.profilelink{margin:0 0 0 90px}.profilebar small{display:block;margin:0;font-size:11px}}

.cover{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.covercopy{left:max(6%,calc((100vw - 1120px)/2))}.roundicon{overflow:hidden}.roundicon img{width:100%;height:100%;object-fit:cover}.cover>img{height:380px}@media(max-width:760px){.cover{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.cover>img{height:285px}.covercopy{left:6%}}
/* Cover starts immediately below navigation, on desktop and mobile. */
main:has(> .cover){padding-top:0}
main > .cover{margin-top:0}

.service-menu{margin:70px 0}.service-menu>h2{font-size:28px;margin:12px 0}.service-intro{color:#6d7972;margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid #e0e5dd;padding:26px;border-radius:10px}.service-number{font-size:12px;color:#849489;letter-spacing:2px}.service-card h3{font-size:19px;margin:12px 0 18px}.service-card p{font-size:13px;line-height:1.9}.service-card .service-lead{font-weight:600;font-size:14px}.service-output{border-top:1px solid #e8ebe5;padding-top:15px;margin-top:20px;font-size:12px;line-height:1.8}.service-output small{display:block;color:#7b887e;margin-bottom:5px}.service-footnote{font-size:12px;color:#6d7972;margin-top:22px}@media(max-width:850px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-menu>h2{font-size:23px}}

.about-identity{display:flex;align-items:center;gap:22px;margin-bottom:28px}.about-identity img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid white}.about-identity h2{font-size:26px;margin:6px 0}.about-identity span{font-size:12px;color:#738176}.about-person>h3{font-size:19px;line-height:1.7}.about-person>p{font-size:14px;line-height:2}#about .split{align-items:start}@media(max-width:560px){.about-identity img{width:80px;height:80px}.about-person>h3{font-size:17px}}

.process-flow{list-style:none;padding:0;margin:22px 0 28px;max-width:320px}.process-flow li{position:relative;text-align:center;background:#fff;border:1px solid #d8dfd5;border-radius:6px;padding:12px 18px;font-size:14px;line-height:1.5}.process-flow li+li{margin-top:28px}.process-flow li:not(:last-child)::after{content:"↓";position:absolute;top:100%;left:50%;transform:translateX(-50%);height:28px;line-height:28px;color:#8a988d;font-size:16px;font-weight:400}

.service-items{margin:0;padding-left:18px;font-size:13px;line-height:1.8}.service-items li{padding-left:2px;margin:8px 0}.service-items li::marker{color:#87988b}
