/* Cosman Assist — site styles. Fonts are self-hosted (no external requests). */
:root{--cyan:#09c2de;--cyan-d:#0aa6c0;--navy:#0c1b2a;--ink:#222;--mut:#777;--line:#e5e5e5;--bar:#262626;--green:#62a83a}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);font-size:16px;line-height:1.5;color:var(--mut);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--ff);font-weight:700;line-height:1.2}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
svg.ic{width:1em;height:1em;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:8px 14px;z-index:999}.skip-link:focus{left:0}
.container{width:100%;max-width:1170px;margin:0 auto;padding:0 15px}
.container.narrow{max-width:870px}
.elc{width:100%;max-width:1200px;margin:0 auto}
.t-center{text-align:center}
.btn{display:inline-block;background:var(--cyan);color:#fff;font:500 15px/1.2 var(--ff);padding:13px 22px;border:0;border-radius:3px;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--cyan-d)}
.btn-outline-dark{background:transparent;color:var(--ink);border:2px solid var(--ink)}.btn-outline-dark:hover{background:var(--ink);color:#fff}
.hp{position:absolute!important;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* top bar + header */
.topbar{background:#f3f3f3;height:45px}
.topbar-in{height:45px;display:flex;align-items:center;justify-content:flex-end;gap:14px;color:#999;font-size:14px}
.topbar-in a{display:flex;color:#999}.topbar-in a:hover{color:var(--cyan)}.topbar-in svg{width:14px;height:14px}
.topbar-label{margin-right:7px}
.site-header{background:#fff;position:relative;z-index:50}
.hdr{height:152px;display:flex;align-items:center}
.logo{display:block;margin-left:12px;margin-right:auto}
.logo img{height:90px;width:auto}
.main-nav>ul{display:flex;align-items:center}
.main-nav>ul>li{position:relative}
.main-nav>ul>li>a{display:block;padding:20px 17px;font-weight:500;font-size:16px;color:var(--ink);line-height:1.2}
.main-nav>ul>li.active>a,.main-nav>ul>li>a:hover{color:var(--cyan)}
.main-nav .sub{position:absolute;left:0;top:100%;min-width:290px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);border-top:3px solid var(--cyan);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:60}
.main-nav li.has-sub:hover .sub,.main-nav li.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.main-nav .sub a{display:block;padding:11px 20px;font-size:14.5px;color:var(--ink);border-bottom:1px solid #f0f0f0}.main-nav .sub a:hover{color:var(--cyan);background:#fafafa}
.search-toggle{background:none;border:0;padding:8px;margin:0 22px 0 6px;color:var(--ink);cursor:pointer;font-size:20px;display:flex}
.search-toggle:hover{color:var(--cyan)}
.btn-portal{display:inline-flex;align-items:center;gap:8px;background:var(--cyan);color:#fff;font-weight:500;font-size:15px;height:42px;padding:0 16px 0 17px;min-width:164px;justify-content:center;border-radius:2px;margin-right:0;white-space:nowrap}
.btn-portal svg{width:13px;height:13px}.btn-portal:hover{background:var(--cyan-d)}
.nav-toggle{display:none;background:none;border:0;font-size:26px;color:var(--ink);padding:6px;cursor:pointer;margin-left:10px}
.site-search{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.1);padding:14px 0;border-top:1px solid #eee}
.site-search[hidden]{display:none}
.site-search .container{display:flex;gap:8px}.site-search input{flex:1;height:46px;border:1px solid #ddd;padding:0 14px;font:16px var(--ff)}
.site-search button{width:50px;border:0;background:var(--cyan);color:#fff;cursor:pointer;font-size:18px}

/* footer strips */
.contact-strip{background:var(--cyan);color:#fff;padding:0}
.strip-in{display:grid;grid-template-columns:repeat(3,1fr);height:120px}
.strip-item{display:flex;align-items:flex-start;gap:0;padding:25px 0 0 20px;color:#fff}
.strip-item>svg{width:26px;height:26px;margin:23px 27px 0 0}.strip-item:first-child>svg{margin-right:34px}.strip-item:nth-child(2)>svg{width:30px;height:30px;margin:21px 15px 0 0}.strip-item:nth-child(3)>svg{width:28px;height:28px;margin:22px 16px 0 0}.strip-item strong{display:block;font-weight:500;font-size:19px;line-height:22px}.strip-item small{display:block;font-size:17px;line-height:20px;margin-top:0}.strip-item:first-child{padding-left:8px}.strip-item:first-child>svg{margin-top:11px}.strip-item:nth-child(2)>svg{margin-top:7px}.strip-item:nth-child(3){padding-left:23px}.strip-item:nth-child(3)>svg{margin-top:12px}
.strip-item span{display:block}
.sustain{background:#fff;height:111px}
.sustain-in{display:flex;align-items:center;justify-content:space-between;height:111px;padding:0 5px 0 5px}
.sustain-label{color:var(--green);font-weight:500;font-size:19px}
.sustain-badge{display:block;width:73px;margin-right:-10px}.sustain-badge .st-word{width:72px;height:auto;margin:0 0 3px 1px}.st-arc{display:block;width:73px;height:41px}
.copyright{background:var(--bar);color:#fff;text-align:center;font-size:14px;padding:15px 0;line-height:1.4}
.copyright strong{font-weight:700}

/* home */
.hero{position:relative;height:515px;overflow:hidden;background:#cfd6da}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%}
.hero.cosman-hero-gradient::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 14%,rgba(255,255,255,.55) 28%,rgba(255,255,255,0) 46%);z-index:1}
.hero-in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:30px}
.hero h1{font-family:var(--ff);font-weight:700;font-size:48px;line-height:1.15;color:var(--navy);max-width:520px}
.hero h1 span,.hero h1 em,.hero h1 b{color:var(--cyan);font-style:normal}
.hero p{font-family:var(--ff);font-size:15px;line-height:1.75;color:#3a4a5a;max-width:400px;margin:18px 0 28px}
.hero-btns{display:flex;gap:50px;align-items:center;padding-left:10px}
.hero-btns .btn{font-weight:500;font-size:15.5px;padding:0;height:42px;width:157px;line-height:42px;text-align:center;border-radius:3px}
.btn-cyan{background:var(--cyan);color:#fff}.btn-white{background:#fff;color:var(--navy);width:126px!important;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.btn-white:hover{background:#f0f0f0}
.badges{position:relative;z-index:3;margin-top:0}
.badges-in{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.12);max-width:100%;display:flex;justify-content:center;height:86px;padding:0 268px}
.badges-in{max-width:none}
.badge-box{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--cyan)}
.badge-box svg{width:27px;height:27px}
.badge-box h3{font:700 14px/1.2 var(--ff);color:var(--navy)}
.badge-box p{font:400 11.5px/1.2 var(--ff);color:#666;margin:2px 0 0}
.badges .elc{max-width:none}
.trusted{padding-top:44px;text-align:center}
.trusted h2{font:700 13px/1.4 var(--ff);letter-spacing:3px;text-transform:uppercase;color:var(--navy)}
.trusted-logos{display:grid;grid-template-columns:1fr 1fr;width:456px;margin:19px auto 0;min-height:105px}
.trusted-logos>div{display:flex;align-items:center;justify-content:center;padding:0 20px}
.trusted-logos>div+div{border-left:1px solid #bbb}
.trusted-logos img{width:78px;height:auto;max-width:100%}.trusted-logos>div+div img{width:72px}
.trusted hr{border:0;border-top:1px solid #e6e6e6;margin:16px 6px 0}
.wwd{padding:112px 0 0}
.wwd-in{display:grid;grid-template-columns:262px 1fr;gap:34px 0;align-items:start;padding:0 0 41px}
.wwd-intro h2,.why-intro h2{font:800 20px/1.25 var(--ff);text-transform:uppercase;color:var(--navy)}
.wwd-intro p{font:400 15px/1.7 var(--ff);color:#666;margin:22px 0 22px;max-width:232px}
.txt-link{font:600 13px/1.4 var(--ff);color:var(--cyan)}
.wwd-items{display:flex;padding:0;margin-top:-6px}
.wwd-item{width:187.5px;flex:none;text-align:center;color:var(--cyan)}
.wwd-item svg{width:54px;height:54px;margin:0 auto 12px;display:block}
.wwd-item h3{font:600 13px/1.7 var(--ff);color:#222}
.featured{background:#f6f7fb;padding:63px 0 60px}
.featured .elc{padding:0}
.featured-head{display:flex;justify-content:space-between;align-items:center;padding:0 8px 0;margin-bottom:32px}
.featured-head h2{font:800 22px/1.2 var(--ff);text-transform:uppercase;color:var(--navy)}
.featured-head .txt-link{font-size:13px}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 8px}
.featured .featured-grid{grid-template-columns:repeat(3,322px);justify-content:start;gap:0 8px}
.pcard{background:#fff;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:hidden;padding-bottom:13px}
.pcard-img{display:block;aspect-ratio:322/250;overflow:hidden}.pcard-img img{width:100%;height:100%;object-fit:cover}
.pcard h3{font:700 15px/20px var(--ff);color:var(--navy);margin:16px 4px 16px}
.pcard-client{font:400 13px/18px var(--ff);color:#555;margin:0 4px 18px}.pcard-client strong{font-weight:600}.pcard-client span{color:#0a82c4}
.pcard .txt-link{display:inline-block;margin:0 14px;font-size:13px;line-height:18px}
.pcard .pcard-client{margin-left:4px}
.why{padding:55px 0 26px;background:#fff}
.why-in{display:grid;grid-template-columns:264px repeat(4,174px);gap:0 0;align-items:start;position:relative;padding:0 0 0}
.why-intro{padding-right:6px}
.why-intro p{font:400 16px/1.6 var(--ff);color:#555;margin:20px 0 20px}
.why-item{text-align:center;padding:0 6px}
.why-item svg{width:30px;height:30px;margin:0 auto 6px;color:var(--cyan);display:block}
.why-item h3{font:700 14.5px/1.15 var(--ff);text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.why-item p{font:400 13.7px/1.5 var(--ff);color:#666}
.why-photo{position:absolute;right:-6px;top:-2px;width:228px}.why-photo img{width:228px;height:154px;object-fit:cover}
.cosman-team-fade{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.impact{background:var(--navy);color:#fff;height:351px;display:flex;align-items:center}
.impact-in{display:grid;grid-template-columns:341px 1fr;align-items:start;gap:0}
.impact-intro h2{color:#fff;font:800 24px/1.25 var(--ff);text-transform:uppercase}
.impact-rule{display:block;width:50px;height:2px;background:var(--cyan);margin:32px 0 36px}
.impact-intro p{font:400 15px/1.75 var(--ff);color:#c9d2d9;max-width:335px}
.impact-imgs{display:grid;grid-template-columns:repeat(3,278px);gap:10px;justify-content:end}
.impact-imgs div{height:200px;overflow:hidden;background:#fff}.impact-imgs img{width:100%;height:100%;object-fit:fill}
.awards{padding:60px 0 78px;text-align:center}
.awards h2{font:800 26px/1.2 var(--ff);text-transform:uppercase;color:var(--navy)}
.awards p{font:400 15px/1.6 var(--ff);color:#555;margin:24px 0 36px}
.awards-grid{display:grid;grid-template-columns:repeat(3,267px);gap:30px;justify-content:center}
.awards-grid div{height:280px;overflow:hidden}.awards-grid img{width:100%;height:100%;object-fit:fill}
.home-cta{background:var(--navy);height:245px;display:flex;align-items:center}
.cta-in{display:grid;grid-template-columns:585px 263px 1fr;align-items:center;padding:0}
.cta-text h2{color:#fff;font:800 25px/1.25 var(--ff);text-transform:uppercase;max-width:470px}
.cta-text p{font:400 14px/1.7 var(--ff);color:#b8c4cf;margin:14px 0 0;max-width:450px}
.btn-cyan2{background:#22b7d8;color:#fff;font:500 18px/41px var(--ff);padding:0;display:block;width:146px;text-align:center;height:41px;border-radius:2px}
.cta-btn{padding-left:0}
.cta-call{display:flex;align-items:center;gap:12px;color:#fff;padding-left:0}
.cta-call svg{width:20px;height:20px;color:var(--cyan)}.cta-call small{display:block;font-size:12px;line-height:1.2}.cta-call strong{display:block;font:700 19px/1.1 var(--ff);letter-spacing:0}

/* banner + breadcrumbs */
.page-banner{position:relative;height:359px;background:#444;overflow:hidden;display:flex;align-items:center;justify-content:center}
.page-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-banner::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}
.page-banner-in{position:relative;z-index:2;text-align:center}
.page-banner h1{color:#fff;font-size:60px;line-height:1.1;padding:0 20px 12px}
.page-banner.pb-gap{margin-top:35px}
.crumbs{border-bottom:1px solid #eee;background:#fff}
.crumbs ol{display:flex;align-items:center;height:51px;padding-left:15px;font-size:14px}
.crumbs li{display:flex;align-items:center;color:var(--ink)}
.crumbs li:last-child{color:var(--cyan)}
.crumb-arrow{width:12px!important;height:12px!important;margin:0 11px 0 10px;color:#aaa}
.type-page .site-header+main>.page-banner:first-child{}
.sec-head{margin:0 auto}
.sec-head h2{font-size:50px;line-height:1.15;color:var(--ink)}
.sec-head p{font-size:20px;line-height:1.25;color:#808080;margin:14px auto 0;max-width:1140px}

/* about */
.ab-company{padding:92px 0 80px}
.ab-story{display:grid;grid-template-columns:510px 1fr;gap:0 74px;margin-top:38px;align-items:start}
.ab-story-text h3{font:500 21px/1.3 var(--ff);color:var(--ink);margin-bottom:14px}
.ab-story-text p{font-size:16px;line-height:1.45;color:#888;margin:0 0 15px}
.ab-story-text strong{color:#888;font-weight:700}
.ab-story-quote{display:grid;grid-template-columns:263px 1fr;gap:0 33px;align-items:start;margin-top:31px}
.ab-story-quote img{width:263px;height:auto}
.ab-story-quote blockquote{margin:44px 0 0;font-size:16px;line-height:1.45}
.ab-story-quote blockquote p{font-style:italic;color:#888;margin:0 0 16px}.ab-story-quote blockquote p::before{content:'\201C ';font:700 16px var(--ff)}.ab-story-quote blockquote p::after{content:' \201D';font:700 16px var(--ff)}
.ab-story-quote footer strong{display:block;color:var(--ink);font-weight:500}.ab-story-quote footer span{display:block;font-size:14px;color:#888}
.ab-vision{background:#efefef;padding:90px 0 64px}
.ab-vision .sec-head p{max-width:1100px;font-size:20.5px;line-height:1.55}
.ab-values{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;margin-top:58px}
.ab-values h3{font:500 21px/1.3 var(--ff);margin-bottom:10px}.ab-values p{color:#888;font-size:16px;line-height:1.45}
.ab-accred{padding:98px 0 26px}
.ab-accred .sec-head p{font-size:20px;line-height:1.3;max-width:1000px}

/* accreditation slider */
.accred{margin-top:42px;overflow:hidden}
.accred-view{overflow:hidden}
.accred-track{display:flex;transition:transform .6s ease;will-change:transform}
.accred-track li{flex:0 0 20%;display:flex;align-items:center;justify-content:center;height:100px;padding:0 14px}
.accred-track img{max-width:92%;max-height:100px;width:auto;height:auto;object-fit:contain}
.about .accred,.ab-accred .accred{margin-top:56px}

/* contact */
.ct{padding:0 0 30px}
.ct .sec-head{padding-top:80px}
.ct .sec-head h2{font-size:50px}.ct .sec-head p{max-width:1100px;line-height:1.5}
.ct-tabs{border-top:1px solid #e5e5e5;margin:5px 0 0 0;height:57px;display:flex}
.ct-tab{display:block;margin:-1px 0 0 15px;border-top:3px solid var(--cyan);padding:19px 22px 0;color:var(--cyan);font:500 14px/1.2 var(--ff);width:158px}
.ct-grid{display:grid;grid-template-columns:487px 1fr;gap:0 0;margin-top:70px}
.ct-item{display:flex;gap:28px;align-items:flex-start;margin-bottom:69px}
.ct-item svg{width:64px;height:64px;margin-left:5px;color:var(--cyan);flex:none;margin-top:2px;stroke-width:0}
.ct-item h3{font:500 20px/1.2 var(--ff);margin:0 0 10px}
.ct-item p{font-size:16px;line-height:22px;color:#888;margin:0}.ct-item strong{color:#222;font-weight:700}
.ct-form h3{font:400 18px/1.2 var(--ff);color:var(--ink);margin:0 0 24px}
.ct-accred{margin-top:80px}
.cform{display:block}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.field{display:block;margin-bottom:20px}
.field input,.field select,.field textarea{width:100%;display:block;height:52px;padding:0 20px;background:#f5f5f5;border:1px solid #e1e1e1;border-radius:0;font:400 15px var(--ff);color:#222;outline:0;appearance:none;-webkit-appearance:none}
.field textarea{height:132px;padding:18px 20px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#a0a0a0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);background:#fff}
.field-select{position:relative}.field-select select{color:#a0a0a0}.field-select select:valid{color:#222}
.field-select::after{content:"";position:absolute;right:18px;top:24px;border:4px solid transparent;border-top-color:#888;pointer-events:none}
.cform-actions{display:flex;justify-content:space-between;align-items:flex-start;margin-top:4px;gap:20px}
.cform-file{display:flex;align-items:center;gap:12px}
.btn-outline{display:flex;align-items:center;justify-content:center;width:110px;height:78px;border:1.5px solid #222;color:#222;font:500 15px var(--ff);cursor:pointer;position:relative;background:#fff;text-align:center}
.btn-outline input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cform-filename{font-size:13px;color:#666;word-break:break-all;max-width:160px}
.cform .btn{width:133px;height:42px;padding:0;font-size:15px;line-height:42px;border-radius:2px}
.g-recaptcha{margin-top:20px}
.cform-msg{margin-top:16px;padding:12px 16px;border-left:4px solid var(--cyan);background:#eefafd;color:#0b3c47;font-size:15px}
.cform-msg.err{border-color:#d63638;background:#fdf0f0;color:#7a1214}
.cform.sending .btn{opacity:.6;pointer-events:none}

/* services index */
.svx{padding:78px 0 40px}
.svx-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}
.svx-feat{text-align:center}.svx-marker{display:inline-flex;width:56px;height:56px;border-radius:50%;background:var(--cyan);color:#fff;font:700 22px/56px var(--ff);justify-content:center}
.svx-feat h3{font:500 21px/1.3 var(--ff);margin:14px 0 8px}.svx-feat p{color:#888;font-size:16px}
.svx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}
.svx-card{background:#f7f7f7;padding:34px 30px 30px;border:1px solid #eee}
.svx-ic{display:block;color:var(--cyan);font-size:42px;margin-bottom:14px}
.svx-card h3{font:500 21px/1.3 var(--ff);margin-bottom:10px}.svx-card h3 a:hover{color:var(--cyan)}
.svx-card p{color:#888;font-size:16px;line-height:1.45}.svx-more{color:var(--cyan);font-weight:500;font-size:15px}
.svx-accred{margin-top:50px}

/* service detail */
.svc-page{background:#f7f7f7;padding:81px 0 0}
.svc-grid{display:grid;grid-template-columns:262px 1fr;gap:0 66px;align-items:start}
.side-box{background:#f7f7f7;border:1px solid #e6e6e6;border-radius:3px}
.side-box h3{font:500 17px/1.2 var(--ff);color:var(--ink);padding:19px 17px;background:#f0f0f0;border-bottom:1px solid #e6e6e6;height:58px}
.side-box ul{padding:27px 0 13px}
.side-box li{border-top:1px solid #e6e6e6}
.side-box a{display:block;padding:17px 20px 17px 17px;font-size:16px;line-height:24px;color:#777}
.side-box a:hover{color:var(--cyan)}
.svc-main{min-width:0}
.svc-main h1{font-size:36px;line-height:43px;margin-top:-4px}
.svc-intro{margin-top:12px;color:#777;display:flow-root}.svc-intro p{font-size:16px;line-height:1.45;margin:0 0 16px}
.svc-hero{margin:61px 0 0}.svc-hero img{width:100%;height:auto;border-radius:5px}
.svc-cols{display:grid;grid-template-columns:366px 1fr;gap:0 55px;margin-top:85px}
.svc-main h2{font-size:36px;line-height:44px}
.svc-why-text{margin-top:30px;font-size:16px;line-height:1.45;color:#777}.svc-why-text p{margin:0}
.svc-ben h2{margin-bottom:32px}
.ben{margin-bottom:34px}.ben:last-child{margin-bottom:34px}
.ben h3{display:flex;align-items:center;gap:13px;font:500 21px/25px var(--ff);margin-bottom:14px}
.ben h3 svg{width:20px;height:20px;color:var(--cyan)}
.ben p{font-size:16px;line-height:1.45;color:#777;margin:0}
.svc-cta{display:grid;grid-template-columns:1fr 360px;gap:30px;margin-top:50px;background:var(--navy);color:#fff;padding:36px}
.svc-cta h2{color:#fff;font-size:28px}.svc-cta p{color:#cfd8df}
.svc-cta .btn{margin-top:10px}
.svc-form{margin-top:50px}.svc-form p{margin:12px 0 22px}
.svc-near{margin-top:50px}.svc-near p{color:#777}.svc-near ul{list-style:disc;padding-left:22px}
.svc-faq{margin-top:50px}
.faq{background:#fff;border:1px solid #e6e6e6;margin-top:10px}
.faq summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:16px 20px;font:500 17px/1.3 var(--ff);color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq-ic{width:14px!important;height:14px!important;color:var(--cyan)}
.faq[open] .faq-ic{transform:rotate(45deg)}
.faq-a{padding:0 20px 18px;font-size:16px;color:#777}
.svc-cols.has-spacer{padding-bottom:34px}
.svc-accred{margin:2px 0 0;padding-bottom:105px}
.svc-accred .accred{margin-top:0}

/* social value */
.sv-hero{position:relative;height:708px;overflow:hidden;background:#243}
.sv-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-hero-in{position:relative;z-index:2;height:100%;max-width:1536px;margin:0 auto;display:flex;justify-content:space-between;padding:0 29px 0 25px}
.sv-hero-text{padding-top:90px;max-width:560px}
.sv-hero-text h1{font:700 42px/50px var(--ff);color:#2a8aa6}.sv-hero-text h1 .accent{color:#2c4a3a}
.sv-rule{display:block;width:50px;height:2px;background:var(--cyan);margin:27px 0 16px}
.hero-subheading{font:500 17px/27.6px var(--ff);color:#2a8aa6;max-width:470px;margin:0}
.sv-hero-cards{width:367px;padding-top:50px;display:flex;flex-direction:column;gap:15px}
.sv-card{border-radius:20px}
.sv-kin{background:#fff;height:269px;padding:0 22px 0 26px;position:relative}
.sv-kin h4{font:600 13px/1.2 var(--ff);color:#0c1b2a;position:absolute;left:26px;top:20px}
.sv-kin img{width:206px;height:auto;position:absolute;left:26px;top:55px}
.sv-kin p{font:600 13.5px/20px var(--ff);color:#555;margin:0;position:absolute;left:26px;right:22px;top:147px}
.sv-kin .sv-btn{position:absolute;left:26px;top:208px}
.sv-btn{display:inline-flex;align-items:center;gap:8px;color:#fff;font:500 15px/1 var(--ff);padding:0 20px;height:40px;border-radius:8px}.sv-btn svg{width:14px;height:14px}
.sv-btn-teal{background:#2a8aa6}.sv-btn-green{background:#77a02c}
.sv-forest{background:#1f6a32;border:1px solid #79a230;border-radius:16px;height:308px;padding:0 27px;color:#fff;position:relative}
.sv-forest img{position:absolute;left:30px;top:8px;width:118px;height:auto}
.sv-forest p.sv-forest-title{font:700 24px/32px var(--ff);color:#fff;margin:0;position:absolute;left:27px;top:114px}.sv-forest p.sv-forest-title span{color:#86b82f;display:block}
.sv-forest p{font:600 14px/20px var(--ff);color:#fff;margin:0;position:absolute;left:27px;right:27px;top:205px}
.sv-forest .sv-btn{position:absolute;left:27px;top:252px}
.sv-what{padding:0}
.sv-what-in{display:grid;grid-template-columns:402px 748px;max-width:1200px}
.sv-what-intro{padding:147px 12px 0 48px;border-right:1px solid #ddd;margin:0 0 0 0}
.sv-what-intro h2,.sv-green h2,.sv-health h2,.sv-insight h2{font-family:var(--ff);font-weight:700;color:var(--navy)}
.sv-what-intro h2{font-size:24px;line-height:1.3}
.sv-what-intro p{font:400 14.5px/1.7 var(--ff);color:#555;margin:22px 0 0;max-width:345px}
.sv-what-grid{padding:40px 0 17px 0}
.sv-what-grid>h2{font:700 22px/1.2 var(--ff);color:var(--navy)}
.sv-items{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 0;margin-top:20px}
.sv-item{text-align:center;padding:0 17px}
.sv-item svg{width:28px;height:28px;color:var(--cyan);margin:0 auto 10px;display:block}
.sv-item h3{font:700 13px/1 var(--ff);color:var(--navy);margin-bottom:8px}
.sv-item p{font:400 13px/1.55 var(--ff);color:#666;margin:0}.sv-item strong{font-weight:700;color:#444}
.sv-green{border-top:1px solid #e6e6e6;padding:57px 0 71px}
.sv-narrow{max-width:1080px}.sv-narrow>h2{font-size:24px;text-align:center;margin-bottom:18px}
.sv-green img{width:1080px;max-width:100%;height:auto;aspect-ratio:1080/606;object-fit:cover;margin-bottom:21px}
.sv-text{font:400 15px/26px var(--ff);color:#555}.sv-text p{margin:0}.sv-text strong{font-weight:700;color:#444}.sv-text a{color:#0000ee}
.sv-insight{background:#f5f6fa;padding:17px 0 75px}
.sv-insight-in{display:grid;grid-template-columns:410px 1fr;gap:0 31px;max-width:1080px;padding-left:4px}
.sv-insight-img img{width:410px}
.sv-insight-text{padding-top:152px}
.sv-insight-text h2{font-size:24px;margin-bottom:14px}
.sv-health{padding:68px 0 71px}.sv-health>.sv-narrow>h2{text-align:left}
.sv-video{margin-top:23px;aspect-ratio:1080/606;width:100%}.sv-video iframe{display:block;width:100%;height:100%;border:0}

/* news / posts */
.news{padding:70px 0 70px}
.news .sec-head{margin-bottom:46px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 30px}
.ncard-img{display:block;aspect-ratio:3/2;overflow:hidden;margin-bottom:14px}.ncard-img img{width:100%;height:100%;object-fit:cover}
.ncard h2{font:500 20px/1.3 var(--ff);margin-bottom:10px}.ncard h2 a:hover{color:var(--cyan)}
.ncard-more{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font-weight:500;font-size:15px}.ncard-more svg{width:13px;height:13px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:50px;flex-wrap:wrap}
.pager a,.pager span{display:inline-block;min-width:40px;height:40px;line-height:40px;text-align:center;padding:0 14px;border:1px solid #ddd;font-size:15px;color:var(--ink)}
.pager .on,.pager a:hover{background:var(--cyan);border-color:var(--cyan);color:#fff}
.projects-list .featured-grid{grid-template-columns:repeat(3,1fr);gap:30px}
.post-page{padding:66px 0 70px}
.post-grid{display:grid;grid-template-columns:1fr 300px;gap:0 50px;align-items:start}
.post-head h1{font-size:36px;margin-bottom:10px}.post-meta{font-size:14px;color:#888;margin:0 0 24px}.post-meta a{color:var(--cyan)}
.post-feat{margin:0 0 28px}.post-feat img{width:100%;border-radius:4px}
.post-body{font-size:16px;line-height:1.7;color:#555}
.post-body h2,.post-body h3,.post-body h4{margin:1.5em 0 .6em;color:var(--ink)}
.post-body h2{font-size:28px}.post-body h3{font-size:22px}
.post-body a{color:var(--cyan);text-decoration:underline}
.post-body img{border-radius:4px;margin:1em 0}
.post-body ul,.post-body ol{padding-left:24px;margin:0 0 1em}.post-body ul{list-style:disc}.post-body ol{list-style:decimal}
.post-body blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--cyan);font-style:italic}
.post-body table{border-collapse:collapse;width:100%;margin:1em 0}.post-body th,.post-body td{border:1px solid #ddd;padding:8px 10px;text-align:left}
.post-tags{margin-top:26px;font-size:14px}.post-tags a{color:var(--cyan);margin-right:8px}
.post-share{display:flex;gap:18px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #eee;font-size:14px}.post-share span{font-weight:500;color:var(--ink)}.post-share a{display:inline-flex;gap:6px;align-items:center;color:var(--cyan)}
.post-nav{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.post-nav a{max-width:48%;font-weight:500;color:var(--ink)}.post-nav small{display:block;color:#999;font-weight:400}.pn-next{text-align:right;margin-left:auto}
.widget{margin-bottom:36px}.widget h3{font-size:20px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--cyan)}
.widget li{padding:8px 0;border-bottom:1px solid #eee;font-size:15px}.widget li a:hover{color:var(--cyan)}.widget li span{color:#999}
.w-search{display:flex}.w-search input{flex:1;min-width:0;height:44px;border:1px solid #ddd;padding:0 12px;font:15px var(--ff)}.w-search button{width:46px;border:0;background:var(--cyan);color:#fff;cursor:pointer}
.big-search{display:flex;gap:10px;margin:0 0 30px}.big-search input{flex:1;height:48px;border:1px solid #ddd;padding:0 14px;font:16px var(--ff)}.big-search .btn{height:48px;padding:0 24px}
.search-list li{padding:18px 0;border-bottom:1px solid #eee}.search-list h3{font-size:20px;margin-bottom:6px}.search-list h3 a:hover{color:var(--cyan)}
.nf{padding:110px 0}.nf-code{font:900 90px/1 var(--ff);color:var(--cyan);margin:0}.nf h1{font-size:38px;margin:10px 0 16px}.nf .btn{margin:6px}
.generic{padding:60px 0}
/* project detail */
.proj{padding:70px 0 0}
.proj-row{display:grid;gap:0 50px;align-items:center;margin-bottom:60px}
.proj-row.img-left{grid-template-columns:460px 1fr}.proj-row.img-right{grid-template-columns:1fr 460px}.proj-row.no-img{grid-template-columns:1fr}
.proj-img img{width:100%;border-radius:4px}
.proj-text h3{font-size:26px;margin-bottom:14px}.proj-text p,.proj-text li{font-size:16px;line-height:1.6;color:#666}.proj-text ul{list-style:disc;padding-left:22px}
.proj-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:60px}.proj-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.proj-cta{background:var(--navy);padding:54px 0;text-align:center}.proj-cta h2{color:#fff;font-size:32px;margin-bottom:22px}
.proj-more{padding:70px 15px 30px}.proj-more>h2{font-size:30px;text-align:center;margin-bottom:34px}
.proj-more .featured-grid{grid-template-columns:repeat(3,1fr);gap:30px}

/* responsive */
@media(max-width:1199px){
  .hdr{height:auto;min-height:100px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.logo{margin-left:0}
  .nav-toggle{display:flex}
  .main-nav{display:none;order:9;flex:0 0 100%;border-top:1px solid #eee;margin-top:10px}.main-nav.open{display:block}
  .main-nav>ul{flex-direction:column;align-items:stretch}.main-nav>ul>li>a{padding:13px 4px;border-bottom:1px solid #f0f0f0}
  .main-nav .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;min-width:0;padding-left:14px}
  .search-toggle{margin-left:auto}
  .badges-in{padding:0 20px}.wwd-in{grid-template-columns:1fr;padding:0 20px 55px}.wwd-items{padding:20px 0 0;flex-wrap:wrap;gap:26px 10px;justify-content:center}
  .featured .elc,.why .elc,.impact .elc,.awards .elc,.home-cta .elc,.trusted .elc{padding-left:20px;padding-right:20px}
  .featured .featured-grid{grid-template-columns:repeat(3,1fr)}
  .why-in{grid-template-columns:repeat(2,1fr);gap:30px}.why-intro{grid-column:1/-1}.why-photo{position:static;grid-column:1/-1;width:auto}.why-photo img{width:100%;height:auto;max-height:280px}
  .impact{height:auto;padding:50px 0}.impact-in{grid-template-columns:1fr;gap:30px}.impact-imgs{grid-template-columns:repeat(3,1fr);justify-content:stretch}
  .cta-in{grid-template-columns:1fr;gap:24px}.cta-call{padding-left:0}.home-cta{height:auto;padding:50px 0}
  .awards-grid{grid-template-columns:repeat(3,1fr)}
  .svc-grid{grid-template-columns:1fr;gap:30px}.svc-cols{grid-template-columns:1fr}
  .sv-hero{height:auto;min-height:708px}.sv-hero-in{flex-direction:column;padding:40px 20px}.sv-hero-cards{width:100%;max-width:400px;padding-top:30px}
  .sv-what-in{grid-template-columns:1fr}.sv-what-intro{border-right:0;padding:60px 20px 0}.sv-what-grid{padding:30px 20px}
  .sv-insight-in{grid-template-columns:1fr;padding:0 20px}.sv-insight-text{padding-top:20px}.sv-narrow{padding:0 20px}
  .ab-story{grid-template-columns:1fr}.ab-story-quote{margin-top:30px}
  .ct-grid{grid-template-columns:1fr;gap:30px}
  .post-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  .container{padding:0 18px}.page-banner{height:240px}.page-banner h1{font-size:38px}
  .sec-head h2{font-size:34px}.sec-head p{font-size:18px}
  .hero{height:auto;min-height:520px}.hero h1{font-size:36px}.hero-btns{flex-wrap:wrap;gap:14px;padding:0}
  .badges-in{flex-wrap:wrap;height:auto;padding:14px 10px;border-radius:0}.badge-box{flex:0 0 50%;padding:10px 0}
  .trusted-logos{width:100%}.featured .featured-grid,.featured-grid,.projects-list .featured-grid,.news-grid,.proj-more .featured-grid{grid-template-columns:1fr}
  .why-in{grid-template-columns:1fr}.impact-imgs,.awards-grid{grid-template-columns:1fr}.awards-grid div,.impact-imgs div{height:auto}
  .strip-in{grid-template-columns:1fr;height:auto;padding:14px 15px}.strip-item{padding:14px 0}.sustain,.sustain-in{height:auto}.sustain-in{padding:20px 18px;gap:16px;flex-wrap:wrap}
  .cform-row,.svx-feats,.svx-cards,.ab-values,.sv-items{grid-template-columns:1fr}
  .ab-story-quote{grid-template-columns:1fr}.accred-track li{flex-basis:50%}
  .svc-cta{grid-template-columns:1fr}.proj-row.img-left,.proj-row.img-right{grid-template-columns:1fr}.proj-gallery{grid-template-columns:1fr 1fr}
  .cform-actions{flex-direction:column;align-items:stretch}.cform .btn{width:100%}
  .sv-hero-text h1{font-size:32px}.post-head h1{font-size:28px}
  .btn-portal{display:none}
}
