@font-face{font-family:Pretendard;src:url('/assets/PretendardVariable.woff2') format('woff2');font-weight:45 920;font-display:swap}
:root{--ink:#192824;--muted:#5d6c66;--green:#007456;--deep:#003e30;--lime:#dafa65;--line:#dce4df;--soft:#f3f7f5;--white:#fff;--max:1320px;--gutter:clamp(24px,5.2vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font:17px/1.75 Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;word-break:keep-all;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.3;font-weight:620;letter-spacing:-.045em}h1{font-size:clamp(40px,4.65vw,70px)}h2{font-size:clamp(32px,3.2vw,48px)}h3{font-size:25px}p+p{margin-top:18px}ul{padding-left:21px}li+li{margin-top:10px}::selection{background:var(--lime);color:var(--deep)}:focus-visible{outline:3px solid #11846b;outline-offset:5px}button{border:0}a,button{transition:background .2s,color .2s,border-color .2s,transform .2s}.container{max-width:calc(var(--max) + var(--gutter)*2);margin:auto;padding-inline:var(--gutter)}.section{padding-block:112px}.soft{background:var(--soft)}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.15em;color:var(--green);display:block;margin-bottom:22px;line-height:1.5}.kicker{font-size:14px;color:var(--muted);font-weight:500}.green{color:var(--green)}.muted{color:var(--muted)}.lead{font-size:20px;line-height:1.8;color:var(--muted);max-width:650px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:48px}.section-head .intro{max-width:550px}.section-head p{max-width:470px;color:var(--muted);margin-top:24px}.section-head .eyebrow{margin-bottom:14px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:14px 28px;background:var(--green);color:white;border:1px solid var(--green);font-weight:600;font-size:16px;gap:12px;line-height:1.5}.btn:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-2px)}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{border-color:var(--green);color:var(--green)}.btn.light{background:var(--lime);border-color:var(--lime);color:var(--deep)}.btn.small{min-height:44px;padding:10px 19px;font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.text-link{display:inline-flex;border-bottom:1px solid currentColor;padding:7px 0;color:var(--green);font-weight:600;font-size:16px;white-space:nowrap}.text-link:hover{color:var(--deep)}.skip{position:fixed;top:-100px;left:20px;padding:10px;background:var(--deep);color:white;z-index:500}.skip:focus{top:10px}.header{height:100px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(220,228,223,.8);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:17px;flex-shrink:0}.brand-word{font-size:38px;line-height:1;font-weight:810;letter-spacing:-.055em;color:var(--green)}.brand-word:after{content:'.';color:var(--green)}.brand-name{font-size:15px;font-weight:650;line-height:1.5;letter-spacing:-.025em}.brand-name small{display:block;font-size:10px;letter-spacing:.15em;font-weight:500}.nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px)}.nav>a{font-size:16px;font-weight:570;white-space:nowrap;position:relative}.nav>a:not(.btn):after{content:'';position:absolute;bottom:-9px;height:2px;width:100%;left:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav>a:hover:after,.nav>a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{display:none;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}.read-progress{height:2px;background:var(--green);position:absolute;bottom:0;left:0;transform-origin:left;transform:scaleX(0);width:100%}
.hero{padding-top:70px}.hero-top{position:relative;display:grid;grid-template-columns:1.13fr 1fr;gap:4vw;align-items:center;min-height:590px}.hero-copy{z-index:2;padding-bottom:60px}.hero h1{line-height:1.24;letter-spacing:-.055em;white-space:normal}.hero h1 span{display:block}.hero .lead{margin-top:30px;font-size:19px;max-width:500px}.hero .eyebrow{margin-bottom:25px}.hero-visual{height:590px;position:relative;overflow:hidden;background:#e1e9e7}.hero-visual>img{object-position:center;animation:hero-settle 1.4s ease-out}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,28,29,.56));pointer-events:none}.hero-stamp{position:absolute;bottom:42px;left:38px;color:white;z-index:1}.hero-stamp p{font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:550}.hero-stamp small{display:block;font-size:12px;letter-spacing:.13em;margin-top:18px}.hero-marker{position:absolute;right:24px;top:24px;border:1px solid #ffffff75;color:white;padding:8px 15px;font-size:12px;letter-spacing:.12em}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:28px 0 34px;margin-top:6px}.hero-bottom p{font-size:15px;color:var(--muted)}.hero-bottom span{font-size:12px;letter-spacing:.1em}.quick-links{display:flex;gap:26px;font-size:14px;font-weight:600}.quick-links a:hover{color:var(--green)}.facts{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:44px;padding-block:64px}.facts-intro{font-size:21px;font-weight:550;line-height:1.6}.fact{border-left:1px solid var(--line);padding-left:38px}.fact strong{font-size:56px;line-height:1.1;font-weight:570;letter-spacing:-.055em;display:block}.fact strong small{font-size:22px;padding-left:5px;letter-spacing:-.02em}.fact>span{display:block;font-size:15px;color:var(--muted);margin-top:14px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:border-color .3s,transform .3s}.service-card:hover{transform:translateY(-5px);border-color:var(--green)}.service-card .image{height:225px;overflow:hidden}.service-card img{transition:transform .6s}.service-card:hover img{transform:scale(1.045)}.service-card .body{padding:29px 29px 32px;flex:1;display:flex;flex-direction:column}.service-card .index{font-size:12px;letter-spacing:.09em;color:var(--green);margin-bottom:15px}.service-card h3{font-size:26px;margin-bottom:15px}.service-card p{font-size:16px;color:var(--muted)}.service-card .card-link{font-size:14px;margin-top:24px;font-weight:650}.service-card .card-link:before{content:'+';font-size:18px;padding-right:10px;color:var(--green)}.expertise-line{display:flex;justify-content:space-between;gap:25px;margin-top:40px;padding-top:25px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}.expertise-line p{max-width:800px}
.esg-feature{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.esg-feature .picture{position:relative;min-height:550px;overflow:hidden}.esg-feature .picture span{position:absolute;left:48px;bottom:42px;font-size:104px;color:white;font-weight:600;line-height:1;letter-spacing:-.035em;text-shadow:0 2px 24px #00221b30}.esg-feature .copy{padding:70px clamp(32px,5vw,76px);background:var(--deep);color:white;display:flex;justify-content:center;flex-direction:column}.esg-feature .eyebrow{color:var(--lime)}.esg-feature h2{font-size:clamp(30px,3vw,44px)}.esg-feature p{margin-top:25px;color:#d0e0d9;font-size:18px}.esg-letters{display:flex;border-block:1px solid #ffffff30;margin-top:30px;padding:22px 0;gap:30px}.esg-letters div{font-size:14px;flex:1}.esg-letters b{font-size:27px;font-weight:500;margin-right:9px;color:var(--lime)}.esg-feature .actions{gap:24px;align-items:center}.esg-feature .text-link{color:white;font-size:15px}
.method-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.method-copy{position:sticky;top:155px;align-self:start}.method-copy .lead{font-size:18px;margin-top:24px}.steps{counter-reset:step}.step{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line)}.step:last-child{border-bottom:1px solid var(--line)}.step .number{font-size:18px;font-weight:500;color:var(--green)}.step h3{font-size:25px;margin-bottom:13px}.step p{font-size:16px;color:var(--muted)}.step small{display:block;margin-top:18px;color:var(--green);font-size:14px}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.industry{position:relative;height:350px;overflow:hidden;color:white}.industry:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(0,24,19,.83))}.industry img{transition:transform .6s}.industry:hover img{transform:scale(1.05)}.industry .caption{position:absolute;bottom:28px;left:28px;right:28px;z-index:1}.industry h3{font-size:27px}.industry p{font-size:15px;margin-top:12px;color:#eef3f0}.industry small{font-size:12px;letter-spacing:.1em}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.article-card .image{height:235px;overflow:hidden;background:var(--soft)}.article-card img{transition:transform .5s}.article-card:hover img{transform:scale(1.04)}.article-card .meta{display:flex;justify-content:space-between;font-size:13px;color:var(--green);margin:22px 0 14px}.article-card h3{font-size:24px;line-height:1.45}.article-card p{font-size:16px;color:var(--muted);margin-top:14px}.article-card .read{font-size:14px;margin-top:20px;display:block;font-weight:600}.contact-band{padding:64px 0;background:var(--green);color:white}.contact-band .container{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact-band h2{font-size:clamp(30px,3vw,42px)}.contact-band p{color:#dcece5;margin-top:16px;font-size:17px}.contact-band .btn{flex-shrink:0}.footer{padding:68px 0 28px;background:#f6f8f7}.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:65px}.footer .brand{margin-bottom:26px}.footer h3{font-size:16px;letter-spacing:0;margin-bottom:16px}.footer p,.footer a:not(.brand){font-size:14px;color:var(--muted)}.footer address{font-style:normal;font-size:14px;color:var(--muted);line-height:2}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer a:hover{color:var(--green)}.footer-phone{font-size:28px!important;color:var(--ink)!important;font-weight:550;line-height:1.4;display:block;margin-bottom:10px;letter-spacing:-.03em}.footer-bottom{border-top:1px solid var(--line);padding-top:26px;margin-top:42px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.footer-bottom div{display:flex;gap:24px}.footer-bottom a{font-size:12px!important}.to-top{position:fixed;bottom:25px;right:25px;width:46px;height:46px;background:white;color:var(--ink);border:1px solid var(--line);box-shadow:0 3px 10px #002d2110;z-index:70;font-size:18px;opacity:0;pointer-events:none}.to-top.visible{opacity:1;pointer-events:auto}
.page-hero{padding-block:65px 60px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:42px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--green)}.page-hero .lead{margin-top:26px}.page-hero h1{max-width:950px}.page-hero .eyebrow{margin-bottom:20px}.page-banner{height:390px;position:relative;overflow:hidden;margin-bottom:60px}.page-banner .photo-note{position:absolute;bottom:18px;right:24px;color:white;font-size:12px;padding:4px 8px;background:#142f2588}.subnav{border-block:1px solid var(--line);display:flex;flex-wrap:wrap;gap:28px;padding:22px 0;font-size:15px}.subnav a:hover{color:var(--green)}.two-col{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.two-col .lead{font-size:19px}.wide-copy{max-width:840px}.wide-copy p{font-size:19px;color:var(--muted)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:55px}.value{border-top:2px solid var(--green);padding-top:27px}.value span{font-size:14px;color:var(--green);display:block;margin-bottom:20px}.value h3{margin-bottom:16px}.value p{color:var(--muted);font-size:16px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filter-btn{background:white;color:var(--muted);border:1px solid var(--line);padding:11px 22px;border-radius:2px;font-size:15px}.filter-btn:hover,.filter-btn[aria-pressed=true]{color:white;background:var(--green);border-color:var(--green)}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.service-row{display:grid;grid-template-columns:48px 1fr 26px;gap:20px;border-top:1px solid var(--line);padding:36px 0;align-items:start}.service-row:hover h3{color:var(--green)}.service-row .no{font-size:14px;color:var(--green);line-height:2.3}.service-row h3{font-size:25px;margin-bottom:14px}.service-row p{font-size:16px;color:var(--muted)}.service-row small{font-size:12px;letter-spacing:.04em;display:block;color:var(--muted);margin-top:15px}.plus{font-size:28px;font-weight:300;color:var(--green);line-height:1.2}.finder{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px;border:1px solid var(--line);padding:48px;background:var(--soft);margin-top:70px}.finder h3{font-size:28px}.finder p{margin-top:16px;color:var(--muted);font-size:16px}.finder label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.finder-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field label,.field legend{font-size:15px;font-weight:600}.field input,.field select,.field textarea,select.search-select,.search-box{width:100%;padding:14px 16px;background:white;border:1px solid #b9c8c0;min-height:52px;border-radius:0;color:var(--ink)}.field textarea{resize:vertical;min-height:145px}.field small{font-size:13px;color:var(--muted)}.finder select{width:100%;padding:12px;border:1px solid #b9c8c0;background:white;color:var(--ink)}.finder-result{margin-top:24px;background:white;padding:24px;border-left:3px solid var(--green)}.finder-result h4{font-size:22px}.finder-result p{margin-top:10px}.finder-result .text-link{margin-top:12px}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:85px}.detail-main>section{margin-bottom:65px}.detail-main h2{font-size:32px;margin-bottom:25px}.detail-main p{color:var(--muted)}.detail-main li{color:var(--muted)}.checked-list{list-style:none;padding:0}.checked-list li{border-bottom:1px solid var(--line);padding:17px 0 17px 30px;position:relative;margin:0}.checked-list li:before{content:'✓';position:absolute;left:0;color:var(--green)}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.output{background:var(--soft);padding:25px}.output strong{display:block;font-size:22px;color:var(--green);margin-bottom:17px}.output p{font-size:16px}.sidebar{align-self:start;position:sticky;top:135px;background:var(--soft);padding:30px}.sidebar h3{font-size:23px;margin:18px 0}.sidebar .btn{display:flex;margin-top:22px}.sidebar ul{font-size:15px;color:var(--muted)}.note{font-size:14px!important;line-height:1.7;color:var(--muted);border-left:2px solid var(--line);padding-left:18px;margin-top:24px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.pillar{border-top:1px solid var(--line);padding-top:28px}.pillar .letter{font-size:85px;line-height:1;font-weight:450;color:var(--green);display:block;margin-bottom:28px}.pillar h3{margin-bottom:18px}.pillar p,.pillar li{font-size:16px;color:var(--muted)}.pillar h4{font-size:16px;letter-spacing:0;margin-top:25px}.pillar ul{margin-top:12px}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:45px}.roadmap>div{padding:0 35px;border-left:1px solid var(--line)}.roadmap>div:first-child{padding-left:0;border-left:0}.roadmap span{color:var(--green);font-size:15px;font-weight:600}.roadmap h3{margin:20px 0}.roadmap p,.roadmap li{font-size:16px;color:var(--muted)}.assessment{display:grid;grid-template-columns:.7fr 1.4fr;gap:75px}.assessment-intro{position:sticky;top:140px;align-self:start}.assessment-intro p{font-size:16px;color:var(--muted);margin-top:24px}.check-progress{height:5px;background:var(--line);margin:28px 0 12px}.check-progress span{display:block;height:100%;width:0;background:var(--green);transition:width .2s}.progress-label{font-size:14px;color:var(--green)}.question{border:0;border-top:1px solid var(--line);padding:27px 0;margin:0;min-width:0}.question legend{float:left;width:100%;font-size:18px;font-weight:550;line-height:1.6;margin-bottom:18px}.question:after{content:'';display:block;clear:both}.question legend small{font-size:13px;color:var(--green);display:block;margin-bottom:7px;font-weight:550}.choices{clear:both;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.choice{position:relative}.choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.choice span{display:flex;justify-content:center;align-items:center;min-height:48px;border:1px solid #bccbc3;font-size:14px;line-height:1.4;padding:10px 7px;text-align:center;transition:background .15s}.choice input:checked+span{background:var(--green);color:white;border-color:var(--green)}.choice input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}.assessment-result{margin-top:30px;padding:30px;background:var(--deep);color:white}.assessment-result h3{margin-bottom:18px}.assessment-result p{color:#dceae4;font-size:16px}.assessment-result ul{font-size:15px}.result-stats{display:flex;flex-wrap:wrap;gap:25px;margin:23px 0}.result-stats b{font-size:35px;line-height:1.2;color:var(--lime);display:block}.result-stats span{font-size:14px}.search-row{display:flex;justify-content:space-between;gap:30px;margin-bottom:30px;align-items:center}.search-row .filter-bar{margin:0}.search-box{max-width:340px}.no-results{padding:70px 0;text-align:center;color:var(--muted);grid-column:1/-1}.article-page{max-width:850px;margin:auto}.article-page h1{font-size:clamp(33px,4vw,54px);line-height:1.35}.article-page .article-meta{display:flex;gap:22px;font-size:14px;color:var(--muted);margin:27px 0}.article-body{font-size:19px;line-height:1.95}.article-body>p{margin:28px 0}.article-body h2{font-size:30px;margin:46px 0 24px}.article-body .check-box{padding:32px;background:var(--soft);margin:40px 0}.article-body .check-box h2{margin:0 0 22px;font-size:25px}.article-body .sources{border-top:1px solid var(--line);padding-top:30px;font-size:15px}.article-body .sources a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}.resource-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.resource{padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;gap:20px;align-items:start}.resource:hover{border-color:var(--green)}.resource .tag{font-size:13px;letter-spacing:.05em;color:var(--green)}.resource h3{font-size:24px}.resource p{font-size:16px;color:var(--muted)}.resource .text-link{margin-top:auto}.source-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.source-link{padding:28px;border:1px solid var(--line)}.source-link h3{font-size:20px;margin-bottom:14px}.source-link p{font-size:15px;color:var(--muted)}.source-link small{font-size:13px;color:var(--green);display:block;margin-top:18px}.faq-list{max-width:980px;margin:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-size:20px;font-weight:550;padding:28px 48px 28px 0;position:relative;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:24px;font-size:28px;font-weight:300;color:var(--green)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 50px 30px 0;color:var(--muted);font-size:17px}.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:85px}.contact-info .phone{font-size:38px;line-height:1.4;letter-spacing:-.04em;font-weight:600;color:var(--green);display:inline-block;margin:25px 0 13px}.contact-info .email{font-size:19px;display:block;margin-bottom:30px}.contact-info dl{border-top:1px solid var(--line);padding-top:25px}.contact-info dt{font-size:14px;color:var(--muted);margin-top:18px}.contact-info dd{margin:5px 0;font-size:17px}.contact-form{border:1px solid var(--line);padding:40px}.contact-form h2{font-size:29px;margin-bottom:15px}.contact-form>p{font-size:15px;color:var(--muted);margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.full{grid-column:1/-1}.form-note{font-size:14px;color:var(--muted);line-height:1.7}.consent{display:flex;align-items:flex-start;gap:11px;font-size:14px}.consent input{width:18px;height:18px;margin-top:4px;flex-shrink:0;accent-color:var(--green)}.contact-result{margin-top:28px;border:1px solid var(--line);padding:28px;background:var(--soft)}.contact-result pre{white-space:pre-wrap;font:15px/1.8 Pretendard;word-break:break-word;background:white;padding:22px;margin:20px 0}.status{font-size:14px;color:var(--green);margin-top:16px;min-height:24px}.privacy-content{max-width:850px}.privacy-content h2{font-size:27px;margin:40px 0 20px}.privacy-content p{color:var(--muted)}.credits-table{width:100%;border-collapse:collapse;margin-top:30px;font-size:15px}.credits-table th,.credits-table td{text-align:left;padding:17px;border-bottom:1px solid var(--line);vertical-align:top}.credits-table a{color:var(--green);text-decoration:underline}.print-header{display:none}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}[hidden]{display:none!important}@keyframes hero-settle{from{transform:scale(1.07)}to{transform:scale(1)}}
@media(min-width:1800px){.hero-top{gap:80px}.hero-visual{height:650px}}@media(max-width:1180px){.header{height:86px}.brand-name{font-size:13px}.brand-word{font-size:34px}.brand{gap:12px}.nav{gap:18px}.nav>a{font-size:14px}.nav .btn{padding:11px 16px;font-size:14px;min-height:45px}.hero-top{min-height:530px}.hero-visual{height:530px}.hero h1{font-size:50px}.hero-copy{padding-bottom:25px}.facts{gap:20px}.fact{padding-left:25px}.method-layout{gap:55px}.detail-layout{gap:45px}.contact-layout{gap:45px}.hero-stamp p{font-size:28px}.service-card .body{padding:23px}.service-card h3{font-size:23px}.esg-feature .copy{padding:45px 35px}.esg-letters{gap:18px}}
@media(max-width:980px){.nav{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:absolute;left:0;right:0;top:85px;background:white;border-bottom:1px solid var(--line);padding:25px var(--gutter);flex-wrap:wrap;justify-content:flex-start;gap:26px}.nav>a{font-size:16px}.brand-name{font-size:15px}.hero-top{gap:30px}.hero h1{font-size:43px}.hero .lead{font-size:17px}.hero .eyebrow{font-size:11px}.hero-visual{height:500px}.hero .btn{font-size:14px;padding:13px 18px}.hero-stamp{left:25px;bottom:28px}.hero-bottom{gap:20px}.quick-links{gap:18px;font-size:13px}.facts-intro{font-size:18px}.fact strong{font-size:45px}.fact>span{font-size:13px}.section{padding-block:85px}.service-grid{gap:18px}.service-card .image{height:180px}.service-card .body{padding:22px}.service-card h3{font-size:21px}.service-card p{font-size:15px}.esg-letters{gap:14px}.esg-letters b{display:block}.esg-feature .picture{min-height:530px}.esg-feature .copy{padding:40px 30px}.esg-feature p{font-size:16px}.esg-feature .actions{gap:12px}.method-layout{gap:40px;grid-template-columns:.8fr 1fr}.article-grid{gap:24px}.article-card h3{font-size:21px}.article-card .image{height:190px}.footer-main{gap:35px;grid-template-columns:1.3fr 1fr}.footer-main>div:nth-child(2){display:none}.detail-layout{grid-template-columns:1fr 270px;gap:35px}.output-grid{grid-template-columns:1fr}.output{display:flex;gap:20px;align-items:center}.output strong{margin:0}.assessment{gap:40px;grid-template-columns:.7fr 1.3fr}.choices{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-info dl{margin:0}.finder{padding:32px;gap:35px}.two-col{gap:40px}}
@media(max-width:720px){:root{--gutter:24px}body{font-size:16px}.header{height:78px}.brand-word{font-size:32px}.brand-name{font-size:13px}.brand-name small{font-size:9px}.nav.open{top:77px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.hero{padding-top:43px}.hero-top{display:flex;flex-direction:column;gap:35px;align-items:stretch}.hero-copy{padding:0}.hero h1{font-size:clamp(36px,6.8vw,49px);line-height:1.28}.hero .eyebrow{font-size:11px;margin-bottom:23px}.hero .lead{font-size:17px;max-width:420px;margin-top:23px}.hero .actions{margin-top:27px}.hero .btn{min-height:52px;padding:12px 24px;font-size:15px}.hero-visual{height:360px;margin-right:-24px;margin-left:35px}.hero-stamp p{font-size:28px}.hero-marker{font-size:10px}.hero-bottom{align-items:flex-start;flex-direction:column;padding-block:24px;gap:15px}.hero-bottom>span{display:none}.hero-bottom p{font-size:13px}.quick-links{font-size:14px;gap:26px;flex-wrap:wrap}.facts{grid-template-columns:repeat(3,1fr);gap:16px;padding-block:40px}.facts-intro{grid-column:1/-1;margin-bottom:12px;font-size:20px}.facts-intro br{display:none}.fact{padding-left:16px}.fact:nth-child(2){border:0;padding-left:0}.fact strong{font-size:39px}.fact strong small{font-size:16px}.fact>span{font-size:13px;line-height:1.5}.section{padding-block:65px}.section-head{display:block;margin-bottom:32px}.section-head h2{font-size:32px}.section-head .text-link{margin-top:24px;font-size:15px}.section-head p{font-size:16px;margin-top:20px}.eyebrow{font-size:12px;margin-bottom:18px}.service-grid{grid-template-columns:repeat(2,1fr);gap:18px}.service-card .image{height:155px}.service-card .body{padding:20px}.service-card h3{font-size:21px;line-height:1.35}.service-card .index{font-size:11px;margin-bottom:12px}.service-card p{font-size:15px;line-height:1.65}.service-card .card-link{font-size:13px;margin-top:18px}.expertise-line{display:block;font-size:14px;line-height:1.8}.expertise-line .text-link{margin-top:18px}.esg-feature{grid-template-columns:1fr}.esg-feature .picture{min-height:0;height:360px}.esg-feature .picture span{font-size:85px;left:26px;bottom:25px}.esg-feature .copy{padding:42px 28px}.esg-feature h2{font-size:33px}.esg-letters b{display:inline}.esg-feature .actions{gap:22px}.method-layout{display:block}.method-copy{position:static;margin-bottom:35px}.method-copy h2{font-size:32px}.step{grid-template-columns:38px 1fr;gap:20px;padding:25px 0}.step h3{font-size:22px}.industry-grid{gap:18px;grid-template-columns:1fr}.industry{height:290px}.industry .caption{left:25px}.article-grid{grid-template-columns:1fr;gap:35px}.article-card .image{height:245px}.article-card h3{font-size:24px}.article-card p{font-size:16px}.contact-band{padding-block:43px}.contact-band .container{display:block}.contact-band h2{font-size:31px}.contact-band .btn{margin-top:28px}.footer{padding-top:43px}.footer-main{grid-template-columns:1fr;gap:33px}.footer-main>div:nth-child(2){display:none}.footer .brand{margin-bottom:22px}.footer-bottom{display:block;font-size:11px}.footer-bottom div{margin-top:18px;gap:20px;flex-wrap:wrap}.to-top{bottom:16px;right:16px;width:42px;height:42px}.page-hero{padding-block:34px 40px}.breadcrumb{font-size:12px;margin-bottom:32px}.page-hero h1{font-size:37px}.page-hero .lead{font-size:17px;margin-top:22px}.page-banner{height:280px;margin-bottom:30px}.page-banner .photo-note{font-size:11px;right:10px;bottom:10px}.subnav{gap:19px;font-size:14px;padding:19px 0}.two-col{display:block}.two-col>div+div{margin-top:25px}.wide-copy p{font-size:17px}.values{grid-template-columns:1fr;gap:30px;margin-top:35px}.value{padding-top:20px}.value h3{font-size:24px}.service-list{grid-template-columns:1fr}.service-row{padding:28px 0;grid-template-columns:36px 1fr 22px;gap:14px}.service-row h3{font-size:24px}.finder{display:block;padding:28px;margin-top:45px}.finder-controls{margin-top:25px}.finder h3{font-size:25px}.filter-btn{font-size:14px;padding:10px 17px}.detail-layout{display:flex;flex-direction:column;gap:20px}.sidebar{position:static;width:100%}.detail-main>section{margin-bottom:45px}.detail-main h2{font-size:28px}.pillars{grid-template-columns:1fr;gap:40px}.pillar .letter{font-size:70px;margin-bottom:20px}.roadmap{grid-template-columns:1fr;gap:30px}.roadmap>div,.roadmap>div:first-child{padding:0 0 25px;border-left:0;border-bottom:1px solid var(--line)}.roadmap h3{margin:14px 0}.assessment{display:block}.assessment-intro{position:static;margin-bottom:35px}.question legend{font-size:17px}.choices{grid-template-columns:repeat(2,1fr)}.choice span{font-size:14px}.assessment-result{padding:25px}.search-row{display:block}.search-box{max-width:100%;margin-top:23px;font-size:16px}.article-page h1{font-size:35px}.article-body{font-size:17px;line-height:1.9}.article-body .check-box{padding:24px}.article-body h2{font-size:26px}.article-page .article-meta{font-size:13px;gap:15px}.resource-list{grid-template-columns:1fr}.resource{padding:26px}.source-links{grid-template-columns:1fr}.faq-list summary{font-size:18px;padding-block:23px;padding-right:35px}.faq-list details p{font-size:16px;padding-right:12px}.contact-info{display:block}.contact-info dl{margin-top:25px}.contact-info .phone{font-size:34px}.contact-form{padding:26px}.form-grid{grid-template-columns:1fr;gap:22px}.contact-form h2{font-size:26px}.contact-result{padding:22px}.contact-result .actions .btn{width:100%}.contact-result pre{padding:16px;font-size:14px}.credits-table{font-size:13px}.credits-table th,.credits-table td{padding:12px 6px}.privacy-content h2{font-size:25px}}
@media(max-width:420px){:root{--gutter:20px}.brand{gap:10px}.brand-word{font-size:30px}.brand-name{font-size:12px}.hero h1{font-size:35px}.hero-visual{height:320px;margin-right:-20px;margin-left:20px}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:125px 1fr}.service-card .image{height:100%;min-height:200px}.service-card .body{padding:22px 20px}.service-card h3{font-size:22px}.service-card .index{font-size:11px}.service-card p{font-size:15px}.facts{gap:9px}.fact{padding-left:12px}.fact strong{font-size:35px}.fact>span{font-size:12px}.finder-controls{grid-template-columns:1fr}.finder{padding:23px}.hero .btn{padding:12px 21px}.esg-feature h2{font-size:30px}.esg-letters b{display:block}.contact-form{padding:22px}.contact-info .email{font-size:18px}.page-hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media print{.header,.footer,.to-top,.contact-band,.btn,.actions,.filter-bar,.search-row,.subnav{display:none!important}body{font-size:12pt;color:#000}.section{padding:20px 0}.container{padding:0;max-width:none}.page-hero{padding:0 0 20px}.reveal{opacity:1!important;transform:none!important}.article-page{max-width:none}.page-banner{height:180px}.assessment{display:block}.assessment-intro{position:static}.question{break-inside:avoid}.choices{grid-template-columns:repeat(4,1fr)}.choice input:checked+span{background:#ddd;color:#000}.print-header{display:block;font-size:12pt;margin-bottom:20px}.contact-result pre{border:1px solid #aaa}.article-body .check-box{break-inside:avoid}a{color:#000}.assessment-result{background:#fff;color:#000;border:1px solid #aaa}.assessment-result p,.result-stats b{color:#000}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-label{width:340px;max-width:100%;flex-shrink:0}.expertise-map{display:grid;grid-template-columns:1fr 1.7fr;gap:35px;align-items:stretch}.map-center{background:var(--deep);color:white;padding:45px 38px;display:flex;justify-content:center;flex-direction:column}.map-center .eyebrow{color:var(--lime);font-size:12px}.map-center h3{font-size:34px}.map-center p{margin-top:17px;color:#d0e0d9;font-size:16px}.map-areas{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map-areas>div{background:white;border:1px solid var(--line);padding:30px}.map-areas h3{font-size:23px}.map-areas p{font-size:15px;color:var(--muted);margin-top:15px}.esg-service-row{display:flex;align-items:center;gap:30px;background:var(--deep);color:white;padding:35px 40px;margin-top:30px}.esg-service-row>span:first-child{font-size:44px;font-weight:550;color:var(--lime);letter-spacing:-.04em}.esg-service-row div{flex:1}.esg-service-row p{font-size:16px;color:#d0e0d9;margin-top:10px}.esg-service-row .plus{color:var(--lime)}.worksheet-meta{display:flex;gap:25px;flex-wrap:wrap;border-block:1px solid var(--line);padding:24px 0;margin-bottom:40px;font-size:15px}.worksheet-meta p+p{margin:0}.worksheet-section{margin:35px 0}.worksheet-section h2{font-size:28px;margin-bottom:24px}.worksheet-list{list-style:none;padding:0}.worksheet-list li{padding:12px 0 12px 35px;position:relative;border-bottom:1px solid var(--line);line-height:1.7}.worksheet-list li:before{content:'□';color:var(--green);position:absolute;left:0;font-size:20px}.worksheet-memo{height:110px;border:1px solid var(--line);margin-top:25px;padding:12px 18px;color:var(--muted);font-size:14px}.task-choices{display:grid;gap:14px;margin:24px 0}.task-choices .consent input{accent-color:var(--lime)}.task-choices .consent{font-size:15px}.priority-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#ffffff12;border:1px solid #ffffff40;padding:24px;margin-top:20px}.priority-fields p{grid-column:1/-1;color:white;font-weight:550}.priority-fields label,.na-note{font-size:14px;display:flex;flex-direction:column;gap:6px}.priority-fields input,.na-note textarea{background:white;border:1px solid #b9c8c0;padding:10px 12px;color:var(--ink);width:100%;min-height:45px;border-radius:0}.na-note{margin-top:24px}.na-note textarea{min-height:85px;resize:vertical}.priority-status{font-size:14px!important;color:var(--lime)!important}.assessment-result{scroll-margin-top:120px}.search-row{align-items:flex-start}.search-row .filter-bar{max-width:calc(100% - 360px)}
@media(max-width:980px){.search-row{display:block}.search-row .filter-bar{max-width:100%}.search-label{display:block;width:100%;margin-top:24px}.search-label .search-box{margin-top:0}.expertise-map{grid-template-columns:1fr}.map-center{padding:35px}.esg-service-row{padding:30px}.map-center h3{font-size:30px}}
@media(max-width:720px){.map-areas{grid-template-columns:1fr;gap:16px}.map-areas>div{padding:26px}.esg-service-row{padding:25px;gap:20px;align-items:flex-start}.esg-service-row>span:first-child{font-size:30px}.esg-service-row h3{font-size:22px}.esg-service-row p{font-size:15px}.esg-service-row .plus{display:none}.worksheet-meta{display:block}.worksheet-meta p+p{margin-top:14px}.worksheet-section h2{font-size:25px}.priority-fields{padding:18px;grid-template-columns:1fr}.search-label .search-box{max-width:100%}}
@media(max-width:420px){.header-inner{gap:12px}.header .brand-name small{display:none}.header .brand-name{font-size:12px}.header .brand-word{font-size:31px}.header .brand{gap:12px}.menu-toggle{flex-shrink:0}.esg-feature .picture span{font-size:clamp(42px,12vw,60px);line-height:1.05}}
@media(min-width:421px) and (max-width:720px){.esg-feature .picture span{font-size:clamp(52px,10.5vw,70px)}}

/* Responsive refinement and progressive motion, 2026-10-02. */
:root{--ease-out:cubic-bezier(.2,.7,.25,1)}
.container>*{min-width:0}
.hero-top>*,.service-grid>*,.footer-main>*,.finder-controls>*,.form-grid>*,.contact-layout>*,.priority-fields>*,.search-row>*,.two-col>*,.detail-layout>*{min-width:0}
.text-link,.quick-links a,.footer a:not(.brand),.subnav a,.breadcrumb a,.motion-toggle{min-height:44px;display:inline-flex;align-items:center}
.footer-phone{display:flex!important}
.text-link{white-space:normal;line-height:1.5}
.header .nav>a{min-height:44px;display:flex;align-items:center}
.menu-toggle span{transition:transform .25s var(--ease-out),opacity .25s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.footer-links{gap:2px 20px}
.footer-bottom div{align-items:center;flex-wrap:wrap;gap:8px 24px}
.footer-bottom a{font-size:13px!important}
.motion-toggle{border:1px solid #c6d4cd;background:transparent;color:var(--muted);padding:8px 13px;font-size:13px;line-height:1.4;gap:8px;flex-shrink:0}
.motion-toggle:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}
.motion-toggle[aria-pressed=false]:before{background:var(--muted)}
.motion-toggle:hover{color:var(--deep);border-color:var(--green);background:white}
.to-top{width:46px;height:46px}
.field input,.field select,.field textarea,.finder select,.priority-fields input,.na-note textarea,.search-box{min-width:0;max-width:100%;font-size:16px}
.consent{min-height:44px;align-items:flex-start;padding-block:8px}
.consent input{width:20px;height:20px;margin-top:3px}
.filter-btn{min-height:44px}
.credits-table{table-layout:fixed;overflow-wrap:anywhere}
.credits-table th,.credits-table td{word-break:normal}
.contact-info .email,.footer address,.footer a,.source-links a,.article-body .sources a{overflow-wrap:anywhere}

/* The graphic is abstract decoration layered over the existing photo. */
.hero-visual{isolation:isolate}
.hero-visual>img{animation:none}
.hero-visual:after{z-index:1;background:linear-gradient(180deg,transparent,rgba(0,28,29,.7))}
.hero-marker,.hero-stamp{z-index:3}
.hero-marker{background:#003e305c;backdrop-filter:blur(8px);line-height:1.5}
.growth-graphic{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.growth-path{position:absolute;left:2%;top:12%;width:96%;height:68%;overflow:visible;opacity:.92}
.growth-track{fill:none;stroke:#ffffff3d;stroke-width:1;stroke-dasharray:4 8;vector-effect:non-scaling-stroke}
.growth-line{fill:none;stroke:var(--lime);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 8px #dafa6540)}
.growth-node{fill:var(--lime);stroke:#ffffffb3;stroke-width:3;transform-box:fill-box;transform-origin:center}
.growth-ring{position:absolute;width:66%;aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;right:-16%;top:17%;transform:rotate(-18deg)}
.growth-ring:before{content:'';position:absolute;inset:10%;border:1px solid #ffffff21;border-radius:50%}
.growth-ring-secondary{width:42%;right:24%;top:13%;border-color:#dafa6540}
.growth-caption{position:absolute;top:72px;left:28px;font-size:10px;letter-spacing:.17em;color:#f1f7ed;line-height:1.5;text-shadow:0 1px 8px #003e30}
.hero-scroll{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.hero-scroll:after{content:'↓';font-size:18px;color:var(--green)}
.hero-bottom .quick-links a{position:relative}
.hero-bottom .quick-links a:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}
.step{position:relative}
.step:before{content:'';position:absolute;top:-1px;left:0;height:2px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;opacity:.65;pointer-events:none}
.reveal,.motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1;transform:none;transition:none}
.motion-enabled .reveal.is-visible{animation:content-enter .65s var(--ease-out) backwards;animation-delay:var(--reveal-delay,0ms)}
.motion-enabled .step.is-visible:before{animation:step-line 1s var(--ease-out) .15s both}
.motion-enabled .hero-copy .eyebrow{animation:content-enter .7s var(--ease-out) both}
.motion-enabled .hero h1 span{animation:content-enter .8s var(--ease-out) both}
.motion-enabled .hero h1 span:nth-child(2){animation-delay:.08s}
.motion-enabled .hero h1 span:nth-child(3){animation-delay:.16s}
.motion-enabled .hero-copy .lead,.motion-enabled .hero-copy .actions{animation:content-enter .8s var(--ease-out) .18s both}
.motion-enabled .hero-visual>img{animation:photo-settle 1.5s var(--ease-out) both}
.motion-enabled .growth-line{stroke-dasharray:1;stroke-dashoffset:0;animation:growth-draw 2s var(--ease-out) .15s both}
.motion-enabled .growth-node{animation:node-appear .65s var(--ease-out) 1.4s both}
.motion-enabled .growth-ring{animation:ring-drift 2.4s ease-in-out 2 alternate}
.motion-enabled .growth-ring-secondary{animation-direction:alternate-reverse}
.motion-enabled .growth-caption{animation:content-enter .7s var(--ease-out) .2s both}
@keyframes content-enter{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-settle{from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes growth-draw{from{stroke-dashoffset:1;opacity:.1}to{stroke-dashoffset:0;opacity:1}}
@keyframes node-appear{from{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}
@keyframes ring-drift{from{transform:translate(0,0) rotate(-18deg)}to{transform:translate(-7px,5px) rotate(-12deg)}}
@keyframes step-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(hover:hover) and (pointer:fine){
  .service-card,.industry,.article-card,.resource,.source-link{transition:transform .3s var(--ease-out),box-shadow .3s,border-color .3s}
  .service-card:hover,.article-card:hover,.resource:hover,.source-link:hover{transform:translateY(-4px)}
  .service-card:hover,.resource:hover,.source-link:hover{box-shadow:0 12px 30px #003e300a}
  .quick-links a:hover:after{transform:scaleX(1)}
  .industry:hover .caption{transform:translateY(-4px)}
  .industry .caption{transition:transform .3s var(--ease-out)}
}
@media(hover:none),(pointer:coarse){
  .btn:hover,.service-card:hover,.service-card:hover img,.industry:hover img,.article-card:hover img{transform:none}
}
@media(max-width:1180px){.hero-bottom{flex-wrap:wrap;gap:10px 24px}.hero-bottom>span,.hero-scroll{display:none}.footer-main{gap:36px}}
@media(max-width:980px){
  body.menu-open{overflow:hidden}
  html:not(.menu-ready) .header{height:auto}
  html:not(.menu-ready) .header-inner{flex-wrap:wrap;padding-block:14px}
  html:not(.menu-ready) .menu-toggle{display:none}
  html:not(.menu-ready) .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;flex-basis:100%;gap:8px}
  html{scroll-padding-top:106px}
  .service-grid,.article-grid,.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav.open{top:100%;padding:18px var(--gutter) 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;max-height:calc(100vh - 86px);max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 15px 24px #003e3010}
  .nav.open>a{min-height:48px;padding:9px 10px;white-space:normal}
  .nav.open>a:not(.btn):after{bottom:3px;width:calc(100% - 20px);left:10px}
  .footer-main{grid-template-columns:1.25fr 1fr;gap:32px}
  .footer-main>div:nth-child(2){display:block}
  .footer-main>div:first-child{grid-column:1/-1}
  .growth-caption{left:22px;font-size:9px;letter-spacing:.11em}
}
@media(max-width:720px){
  :root{--gutter:clamp(16px,5vw,28px)}
  html{scroll-padding-top:94px}
  body{word-break:normal;overflow-wrap:break-word;line-height:1.7}
  h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
  .header{height:72px}
  .nav.open{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);padding-block:13px 18px}
  .nav.open>a{font-size:15px;min-height:48px}
  .hero{padding-top:28px}
  .hero-top{min-height:0;gap:26px}
  .hero-copy{padding-bottom:0}
  .hero .eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.6;margin-bottom:16px}
  .hero h1{font-size:clamp(32px,7.7vw,47px);line-height:1.22;letter-spacing:-.055em;text-wrap:initial}
  .hero h1 span{word-break:keep-all}
  .hero .lead{font-size:16px;line-height:1.75;margin-top:18px;max-width:520px;text-wrap:pretty}
  .hero .lead br{display:none}
  .hero .actions{margin-top:22px;gap:10px}
  .hero .btn{min-height:48px;font-size:14px;padding:11px 18px;flex:1 1 auto}
  .hero-visual{height:auto;aspect-ratio:1.52;margin:0;max-height:390px}
  .hero-visual>img{object-position:center 43%}
  .hero-stamp{left:22px;bottom:22px}
  .hero-stamp p{font-size:clamp(23px,6vw,31px);line-height:1.15}
  .hero-stamp small{font-size:10px;margin-top:12px;letter-spacing:.1em}
  .hero-marker{top:16px;right:16px;padding:6px 10px;font-size:9px}
  .growth-path{left:10%;top:5%;width:86%;height:76%;opacity:.82}
  .growth-caption{left:20px;top:20px;max-width:100px;font-size:8px;line-height:1.7;letter-spacing:.1em}
  .growth-ring{top:0;right:-4%;width:60%}
  .growth-ring-secondary{right:24%;top:10%;width:37%}
  .hero-bottom{padding:18px 0 22px;gap:12px;margin-top:0;align-items:stretch}
  .hero-bottom p{font-size:13px;line-height:1.6}
  .hero-bottom>span,.hero-scroll{display:none}
  .quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;font-size:13px}
  .quick-links a{min-width:0;min-height:48px;justify-content:center;text-align:center;line-height:1.45;background:var(--soft);padding:8px 4px;border:1px solid var(--line);font-weight:550;word-break:keep-all}
  .quick-links a:after{display:none}
  .facts{padding-block:32px;gap:10px}
  .facts-intro{font-size:19px;line-height:1.5;margin-bottom:12px}
  .fact{padding-left:12px}
  .fact strong{font-size:clamp(31px,8vw,42px)}
  .fact strong small{font-size:14px;padding-left:3px}
  .fact>span{font-size:13px;line-height:1.6;margin-top:9px;word-break:keep-all}
  .section{padding-block:54px}
  .section-head{margin-bottom:27px}
  .section-head h2,.method-copy h2{font-size:clamp(28px,7vw,34px)}
  .section-head p{line-height:1.75;margin-top:17px}
  .section-head .text-link{margin-top:15px}
  .service-grid{gap:15px}
  .expertise-line{margin-top:27px;padding-top:20px}
  .esg-feature .picture{height:auto;aspect-ratio:1.6}
  .esg-feature .picture span{font-size:clamp(42px,10vw,65px);left:24px;bottom:22px}
  .esg-feature .copy{padding:32px 24px}
  .esg-feature h2{font-size:clamp(29px,7vw,35px)}
  .esg-feature p{line-height:1.8;margin-top:20px}
  .esg-letters{gap:12px;margin-top:25px;padding:18px 0}
  .esg-letters div{font-size:14px}
  .esg-letters b{display:inline;font-size:25px;margin-right:6px}
  .esg-feature .actions{gap:12px;margin-top:24px}
  .esg-feature .actions .btn{flex-grow:1}
  .method-copy{margin-bottom:28px}
  .step{gap:14px;grid-template-columns:31px minmax(0,1fr);padding:24px 0}
  .step h3{font-size:22px;line-height:1.4;margin-bottom:10px}
  .step p{line-height:1.8}
  .step small{margin-top:13px}
  .industry-grid{gap:16px}
  .industry-grid,.article-grid{grid-template-columns:minmax(0,1fr)}
  .industry{height:auto;aspect-ratio:1.3;min-height:230px;max-height:340px}
  .industry .caption{left:22px;right:22px;bottom:22px}
  .industry h3{font-size:25px}
  .article-grid{gap:32px}
  .article-card .image{height:auto;aspect-ratio:1.75}
  .article-card .meta{margin:16px 0 10px}
  .article-card h3{font-size:23px}
  .article-card p{margin-top:10px}
  .article-card .read{margin-top:14px;min-height:44px;display:flex;align-items:center}
  .contact-band{padding-block:34px}
  .contact-band h2{font-size:29px}
  .contact-band .btn{margin-top:23px;min-height:50px}
  .footer-main{grid-template-columns:1fr;gap:27px}
  .footer-main>div:first-child{grid-column:auto}
  .footer-main>div:nth-child(2){display:block;border-block:1px solid var(--line);padding-block:24px}
  .footer h3{margin-bottom:8px}
  .footer-links{gap:2px 16px}
  .footer .brand{max-width:100%}
  .footer .brand-name small{font-size:8px}
  .footer-bottom{padding-top:21px;margin-top:28px;font-size:12px}
  .footer-bottom div{gap:4px 16px;margin-top:10px}
  .footer-bottom a{font-size:13px!important}
  .footer .motion-toggle{font-size:13px}
  .to-top{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;height:44px}
  .page-hero{padding-block:28px 34px}
  .page-hero h1{font-size:clamp(31px,7.6vw,40px)}
  .page-hero .lead{font-size:17px;line-height:1.75}
  .breadcrumb{margin-bottom:23px;gap:8px;font-size:13px;align-items:center;line-height:1.5}
  .page-banner{height:auto;aspect-ratio:1.65;margin-bottom:24px}
  .subnav{padding:10px 0;gap:4px 19px}
  .subnav a{min-height:44px;font-size:14px}
  .filter-bar{gap:8px;margin-bottom:25px}
  .filter-btn{padding:9px 14px;line-height:1.5}
  .service-row{grid-template-columns:28px minmax(0,1fr) 20px;gap:11px;padding:25px 0}
  .service-row h3{font-size:23px}
  .finder{padding:24px;margin-top:36px}
  .finder-controls{grid-template-columns:1fr;gap:18px}
  .finder select{min-height:48px;font-size:16px}
  .finder-result{padding:20px;margin-top:20px}
  .output{padding:22px;align-items:flex-start}
  .output strong{flex-shrink:0}
  .choices{gap:10px}
  .choice span{min-height:50px}
  .contact-form{padding:24px 20px}
  .contact-form>p{margin-bottom:24px}
  .contact-form h2{font-size:26px}
  .form-grid{gap:20px}
  .field input,.field select,.field textarea,.search-box{padding:12px;min-height:50px}
  .contact-info .phone{font-size:clamp(30px,8vw,38px)}
  .contact-result{padding:20px 16px}
  .contact-result pre{margin:16px 0;padding:14px;font-size:14px}
  .assessment-result{padding:24px 20px;scroll-margin-top:94px}
  .assessment-result .actions .btn{flex:1 1 130px;padding-inline:15px;font-size:14px}
  .priority-fields{padding:16px}
  .priority-fields input,.na-note textarea{font-size:16px}
  .contact-info .email{font-size:17px;min-height:44px;display:flex;align-items:center}
  .resource{padding:24px}
  .source-link{padding:24px}
  .article-body .check-box{padding:22px}
  .article-page h1{font-size:clamp(30px,7vw,36px)}
  .esg-service-row{flex-wrap:wrap;gap:14px;padding:24px}
  .esg-service-row div{flex-basis:190px}
  .map-center,.map-areas>div{padding:26px}
}
@media(max-width:640px){
  .service-grid{grid-template-columns:minmax(0,1fr)}
  .service-card{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,.7fr)}
  .service-card .image{height:100%;min-height:0;overflow:hidden}
  .service-card .image img{min-height:100%;object-position:center}
  .service-card .body{padding:21px 19px}
  .service-card .index{font-size:10px;margin-bottom:8px;line-height:1.4}
  .service-card h3{font-size:21px;line-height:1.35;margin-bottom:10px;text-wrap:initial}
  .service-card p{font-size:15px;line-height:1.65;word-break:normal}
  .service-card .card-link{font-size:14px;line-height:1.5;margin-top:15px}
}
@media(max-width:380px){
  .header .brand{gap:9px}
  .header .brand-word{font-size:29px}
  .header .brand-name{font-size:11px}
  .header-inner{gap:8px}
  .hero h1{font-size:32px}
  .hero .btn{padding-inline:12px;font-size:13px}
  .hero .lead{font-size:15px}
  .hero .eyebrow{font-size:9px}
  .quick-links{gap:5px;font-size:12px}
  .quick-links a{padding-inline:3px}
  .hero-stamp{left:17px;bottom:17px}
  .hero-stamp p{font-size:23px}
  .hero-stamp small{font-size:9px;margin-top:9px}
  .hero-marker{top:14px;right:12px;font-size:8px;padding-inline:8px}
  .growth-caption{left:15px;top:16px;font-size:7px}
  .facts-intro{font-size:18px}
  .fact{padding-left:9px}
  .fact strong{font-size:30px}
  .fact>span{font-size:12px}
  .fact strong small{font-size:12px;padding-left:2px}
  .service-card .body{padding:18px 15px}
  .service-card h3{font-size:20px}
  .esg-feature .copy{padding:28px 22px}
  .esg-letters{gap:8px}
  .esg-letters b{font-size:23px;margin-right:3px}
  .esg-letters div{font-size:13px}
  .finder{padding:21px}
  .contact-form{padding:23px 17px}
  .output{display:block}
  .output strong{margin-bottom:10px}
}
@media(max-height:540px) and (max-width:980px) and (orientation:landscape){
  .header{height:64px}
  html{scroll-padding-top:84px}
  .nav.open{max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);grid-template-columns:repeat(3,minmax(0,1fr));padding-block:10px}
  .hero-top{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;min-height:0;align-items:center}
  .hero{padding-top:24px}
  .hero h1{font-size:clamp(29px,4.3vw,39px)}
  .hero .lead{font-size:15px}
  .hero-visual{height:auto;aspect-ratio:1;max-height:350px;margin:0}
  .hero-copy{padding:0}
  .hero .actions{gap:8px}
  .hero .btn{padding:10px 12px;font-size:13px}
  .hero-stamp p{font-size:24px}
}
html.motion-paused{scroll-behavior:auto}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}
html.motion-paused .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal,.motion-ready .reveal{opacity:1;transform:none}
}
@media print{
  .growth-graphic,.motion-toggle{display:none!important}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}

@media(max-width:720px){.hero .lead{word-break:keep-all}}

/* Readable answers, source context and navigation for search and people. */
.answer-box{border:1px solid #cddfd6;border-left:4px solid #007456;border-radius:12px;background:#f4f9f6;padding:30px;margin:28px 0}
.answer-box h2{font-size:clamp(22px,2.1vw,29px);line-height:1.45;letter-spacing:-.035em;margin:10px 0 14px}
.answer-box p{font-size:18px;line-height:1.85;color:#374e46;word-break:keep-all;overflow-wrap:anywhere}
.contents-nav{display:flex;flex-wrap:wrap;gap:10px 20px;padding:18px 0 24px;margin-bottom:35px;border-bottom:1px solid var(--line)}
.contents-nav a{font-size:16px;line-height:1.6;color:#006c50;text-decoration:underline;text-underline-offset:5px;padding:5px 0;overflow-wrap:anywhere}
.knowledge-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin:30px 0}
.knowledge-links a{font-size:16px;white-space:normal}
.knowledge-section{padding-top:24px}
.knowledge-heading{margin-top:70px;margin-bottom:28px}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.topic-grid>a{border:1px solid var(--line);padding:26px;border-radius:12px;transition:background .2s,border-color .2s}
.topic-grid>a:hover{background:#f4f9f6;border-color:#007456}
.topic-grid span{color:#007456;font-size:14px;font-weight:700}
.topic-grid h3{font-size:22px;line-height:1.5;margin:12px 0}
.topic-grid p{font-size:16px;line-height:1.75;color:#566760}
.publisher-note{background:#f5f7f6;padding:26px;border-radius:12px;margin:36px 0}
.publisher-note strong{font-size:18px}
.article-body .publisher-note p{font-size:16px;line-height:1.8;margin:12px 0}
.article-meta{flex-wrap:wrap;row-gap:8px}
.article-meta a{color:#006c50;text-decoration:underline;text-underline-offset:3px}
.article-body section{scroll-margin-top:110px;margin-bottom:42px}
.article-body section>h2{font-size:clamp(24px,2.4vw,32px);line-height:1.5;margin:30px 0 20px}
.article-body .sources li{margin:12px 0;line-height:1.8}
.article-body .sources a{color:#006c50;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.service-faq .faq-list{margin-top:24px}
.faq-list details{scroll-margin-top:110px}
@media(max-width:900px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .answer-box{padding:22px 18px;margin:24px 0}
 .answer-box p{font-size:17px;line-height:1.8}
 .contents-nav{gap:8px 16px}
 .topic-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .topic-grid>a{padding:22px}
 .publisher-note{padding:22px 18px}
 .article-meta{font-size:14px}
 .knowledge-links{gap:14px}
}
@media print{.contents-nav{display:none}.answer-box,.publisher-note{break-inside:avoid}.faq-list details>p{display:block!important}}
