.journal-card{display:block}
.method-library{grid-column:1 / -1;margin-top:72px;padding-top:34px;border-top:1px solid #c9ccc2}
.method-library-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px}
.method-library-heading h3{font-size:clamp(24px,2.6vw,36px);font-weight:400;line-height:1.5;margin:12px 0}
.method-library-heading p{max-width:620px;font-size:15px;line-height:1.9;color:#626e60}
.method-library-heading>a{flex-shrink:0;font-size:13px;padding-bottom:8px;border-bottom:1px solid #8b9485}
.method-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c9ccc2;border:1px solid #c9ccc2}
.method-topic{display:block;position:relative;isolation:isolate;overflow:hidden;padding:24px 22px 38px;background:#f2f0eb}
.method-topic::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(242,240,235,.82),rgba(242,240,235,.38)),var(--topic-image);background-size:cover;background-position:center;opacity:0;transition:opacity .45s ease}
.method-topic:nth-child(1){--topic-image:url("assets/method-topics/office-furniture.jpg")}
.method-topic:nth-child(2){--topic-image:url("assets/method-topics/office-carpet.jpg")}
.method-topic:nth-child(3){--topic-image:url("assets/method-topics/office-lighting.jpg")}
.method-topic:nth-child(4){--topic-image:url("assets/method-topics/office-acoustics.jpg")}
.method-topic:nth-child(5){--topic-image:url("assets/method-topics/meeting-technology.jpg")}
.method-topic:nth-child(6){--topic-image:url("assets/method-topics/pantry-breakout.jpg")}
.method-topic:nth-child(7){--topic-image:url("assets/method-topics/workstation-storage.jpg")}
.method-topic:nth-child(8){--topic-image:url("assets/method-topics/office-renovation.jpg")}
@media(hover:hover){.method-topic:hover::before{opacity:1}.method-topic:hover p{color:#343b33}}
.method-topic:focus-visible::before{opacity:1}
.method-topic:focus-visible p{color:#343b33}
.method-topic:focus-visible{outline:2px solid #566150;outline-offset:-3px}
.method-topic h4{font-size:21px;font-weight:400;line-height:1.4;margin:18px 0 12px}
.method-topic p{font-size:13px;line-height:1.85;color:#626e60;margin:0}
.method-topic>span:last-child{position:absolute;right:20px;bottom:16px}
@media(prefers-reduced-motion:reduce){.method-topic::before{transition:none}}
#method-library-title{scroll-margin-top:100px}
@media(max-width:900px){.method-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.method-library{margin-top:44px;padding-top:26px}.method-library-heading{display:block}.method-library-heading>a{display:inline-block;margin-top:18px}.method-topic{padding:20px 16px 38px}.method-topic h4{font-size:18px}.method-library-heading p{font-size:14px}}
.studio .body+.body{margin-top:18px}
.footer-left .company-details{margin:20px 0 0;font-style:normal;font-size:14px;line-height:2;color:inherit;max-width:360px}
.footer-left .company-details a{display:inline;color:inherit;font-size:inherit;text-decoration:none}
.contact-details{font-style:normal;font-size:15px;line-height:2;margin-top:24px;overflow-wrap:anywhere}
.contact-details a{color:inherit;text-underline-offset:4px}
.contact-details .map-link{display:inline-block;margin-top:10px}
.map-dialog{position:fixed;border:0;border-radius:14px;background:#fff;color:#23231f;padding:28px;width:min(1100px,calc(100% - 40px));max-height:calc(100svh - 40px);overflow:auto;box-shadow:0 25px 100px #0003}
.map-dialog::backdrop{background:#171713b3;backdrop-filter:blur(9px)}
.map-dialog h2{font-size:21px;line-height:1.5;letter-spacing:0;margin:0 55px 24px 0}
.map-dialog img{display:block;width:100%;height:auto;max-height:calc(100svh - 200px);object-fit:contain}
.map-dialog p{font-size:14px;line-height:1.8;margin:18px 0 0}
.map-close{position:absolute;right:20px;top:20px;width:34px;height:34px;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;font-size:23px;cursor:pointer}
@media(max-width:700px){.footer-left .company-details{font-size:13px}.contact-details{font-size:14px}.map-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:22px 16px}.map-dialog h2{font-size:18px}.map-dialog p{font-size:12px}.map-close{right:14px;top:18px;width:30px;height:30px;font-size:21px}}
