@charset "utf-8";
/* Nasco Group theme: overrides on top of the base layout + content components */

:root {
	--nasco-green:#00864a;
	--nasco-lime:#51b848;
	--nasco-dark:#0b4d2e;
	--nasco-grey:#abadb0;
	--nasco-ink:#242424;
	--nasco-soft:#f3f8f4;
}

/* ---------- shared bits ---------- */
.kicker {display:inline-flex; align-items:center; gap:12px; font-family:'Barlow',sans-serif; font-size:13px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--nasco-lime);}
.kicker:before {content:""; width:30px; height:2px; background:var(--nasco-lime);}
.kicker b {color:#fff; font-weight:700;}
.tlink {display:inline-flex; align-items:center; gap:10px; margin-top:26px; padding-bottom:4px; font-family:'Barlow',sans-serif; font-size:14px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--nasco-lime) !important; border-bottom:1px solid rgba(81,184,72,.5); transition:.2s;}
.tlink span {transition:transform .2s;}
.tlink:hover {color:#fff !important; border-color:#fff;}
.tlink:hover span {transform:translateX(5px);}

/* ---------- header ---------- */
#ws-header {height:auto; border-bottom:0; transition:background .3s, box-shadow .3s;}
#ws-header .contain {height:auto;}
.topbar {border-bottom:1px solid rgba(255,255,255,.12); font-size:13px; color:rgba(255,255,255,.72); overflow:hidden; max-height:40px; transition:max-height .3s;}
.topbar .contain {display:flex; justify-content:space-between; align-items:center; height:40px;}
.topbar .tb-left {letter-spacing:.04em;}
.topbar .tb-right {display:flex; gap:26px;}
.topbar a {display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.8); transition:color .2s;}
.topbar a:hover {color:var(--nasco-lime);}
.topbar svg {width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}

.mainbar {border-bottom:1px solid rgba(255,255,255,.12);}
.mainbar .contain {display:flex; align-items:center; height:84px !important;}
.sitelogo {position:static; margin:0;}
.sitelogo a {width:170px; height:34px;}

#ws-gnb {margin-left:auto;}
#ws-gnb ul {gap:2px;}
#ws-gnb ul > li {padding:0; flex-shrink:0; white-space:nowrap;}
#ws-gnb ul > li > a {padding:0 16px; font-family:'Barlow',sans-serif; font-size:16px; font-weight:600; letter-spacing:.02em; line-height:84px; color:#fff;}
#ws-gnb ul > li > a:after {position:static; display:inline-block; width:6px; height:6px; margin:0 0 3px 8px; background:none; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); opacity:.6; left:auto; bottom:auto; transition:transform .2s;}
#ws-gnb ul > li > a:before {content:""; position:absolute; left:16px; right:16px; bottom:22px; height:2px; background:var(--nasco-lime); transform:scaleX(0); transform-origin:left; transition:transform .25s;}
#ws-gnb ul > li:hover > a:before, #ws-gnb ul > li.open > a:before, #ws-gnb ul > li.active > a:before {transform:scaleX(1);}
#ws-gnb ul > li:hover > a:after, #ws-gnb ul > li.open > a:after {transform:rotate(225deg); margin-bottom:-1px;}
#ws-gnb ul > li.active > a {color:#fff;}

#ws-gnb .submenu {display:block !important; position:absolute; top:calc(100% - 14px); left:50%; width:250px; height:auto !important; overflow:visible; padding:10px 0; background:#fff; border-top:3px solid var(--nasco-lime); border-radius:0 0 6px 6px; box-shadow:0 18px 40px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translate(-50%, 10px); transition:opacity .2s, transform .2s, visibility .2s; z-index:91;}
#ws-gnb ul > li:hover > .submenu, #ws-gnb ul > li.open > .submenu {opacity:1; visibility:visible; transform:translate(-50%, 0);}
#ws-gnb .submenu > ul {display:block; padding:0; transition:none;}
#ws-gnb .submenu > ul > li {text-align:left;}
#ws-gnb .submenu > ul > li > a {position:relative; padding:9px 22px; font-family:'Roboto',sans-serif; font-size:15px; line-height:1.4em; color:#333 !important; transition:padding .2s, background .2s;}
#ws-gnb .submenu > ul > li > a:before {display:none;}
#ws-gnb .submenu > ul > li > a:hover {padding-left:30px; background:var(--nasco-soft); color:var(--nasco-green) !important;}

.hdr-cta {display:inline-flex; align-items:center; gap:10px; margin-left:22px; height:44px; padding:0 22px; background:var(--nasco-lime); color:#fff !important; border-radius:4px; font-family:'Barlow',sans-serif; font-size:14px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; transition:.2s;}
.hdr-cta span {transition:transform .2s;}
.hdr-cta:hover {background:#fff; color:var(--nasco-green) !important;}
.hdr-cta:hover span {transform:translateX(4px);}
.mainbar .btn-m-menu {top:50%; margin-top:-11px;}
.mobile-navigation .home a {color:var(--nasco-green);}
.mobile-navigation .nav-menu .submenu {opacity:1; visibility:visible; transform:none; position:static; width:auto; box-shadow:none; border:0; padding:0;}

/* solid header on scroll (sub pages) */
html.is-scrolled #sub #ws-header {position:fixed; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,.08);}
html.is-scrolled #sub .topbar {max-height:0; border-bottom:0;}
html.is-scrolled #sub .mainbar {border-bottom:0;}
html.is-scrolled #sub .mainbar .contain {height:72px !important;}
html.is-scrolled #sub #ws-gnb ul > li > a {color:#222; line-height:72px;}
html.is-scrolled #sub #ws-gnb ul > li > a:before {bottom:18px;}
html.is-scrolled #sub .sitelogo a {background-image:url('../images/common/logo_on.png');}
html.is-scrolled #sub .btn-m-menu span, html.is-scrolled #sub .btn-m-menu span:before, html.is-scrolled #sub .btn-m-menu span:after {background:#333;}
html.is-scrolled #sub #lnb.lnb-fixed {top:72px;}

/* ---------- home: section indicator ---------- */
.sec-nav {position:fixed; right:34px; top:50%; transform:translateY(-50%); z-index:60; transition:opacity .3s;}
.sec-nav li {margin:16px 0;}
.sec-nav a {display:flex; align-items:center; justify-content:flex-end; gap:12px; font-family:'Barlow',sans-serif; font-size:13px; font-weight:600; letter-spacing:.14em; color:rgba(255,255,255,.55); transition:color .2s;}
.sec-nav a span {max-width:0; overflow:hidden; white-space:nowrap; opacity:0; text-transform:uppercase; transition:max-width .3s, opacity .3s;}
.sec-nav a i {font-style:normal;}
.sec-nav a:after {content:""; width:16px; height:1px; background:currentColor; transition:width .3s, background .3s;}
.sec-nav a:hover {color:#fff;}
.sec-nav a:hover span {max-width:120px; opacity:1;}
.fp-viewing-Intro .sec-nav li:nth-child(1) a,
.fp-viewing-Nasco .sec-nav li:nth-child(2) a,
.fp-viewing-Concerns .sec-nav li:nth-child(3) a,
.fp-viewing-Explore .sec-nav li:nth-child(4) a {color:#fff;}
.fp-viewing-Intro .sec-nav li:nth-child(1) a span,
.fp-viewing-Nasco .sec-nav li:nth-child(2) a span,
.fp-viewing-Concerns .sec-nav li:nth-child(3) a span,
.fp-viewing-Explore .sec-nav li:nth-child(4) a span {max-width:120px; opacity:1;}
.fp-viewing-Intro .sec-nav li:nth-child(1) a:after,
.fp-viewing-Nasco .sec-nav li:nth-child(2) a:after,
.fp-viewing-Concerns .sec-nav li:nth-child(3) a:after,
.fp-viewing-Explore .sec-nav li:nth-child(4) a:after {width:44px; background:var(--nasco-lime);}
.fp-viewing-Explore .sec-nav a {color:rgba(0,0,0,.4);}
.fp-viewing-Explore .sec-nav li:nth-child(4) a {color:var(--nasco-ink);}
.fp-viewing-Footered .sec-nav {opacity:0; pointer-events:none;}

/* ---------- home: hero ---------- */
#section1:before {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,32,16,.9) 0%, rgba(0,32,16,.6) 45%, rgba(0,0,0,.15) 100%); z-index:0;}
.hero {position:relative; height:100vh; min-height:640px; display:flex; flex-direction:column; z-index:1;}
.hero-body {flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-top:124px; padding-bottom:30px;}
.hero-kicker {display:inline-flex; align-items:center; gap:14px; font-family:'Barlow',sans-serif; font-size:14px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--nasco-lime);}
.hero-kicker i {width:40px; height:2px; background:var(--nasco-lime);}
.hero-title {margin:22px 0 22px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(44px, 6vw, 88px); line-height:1; font-weight:700; text-transform:uppercase; color:#fff; letter-spacing:.005em;}
.hero-title em {font-style:normal; color:var(--nasco-lime);}
.hero-text {max-width:560px; font-size:18px; line-height:1.7em; color:rgba(255,255,255,.82);}
.hero-cta {display:flex; flex-wrap:wrap; gap:14px; margin-top:36px;}
.hbtn {display:inline-flex; align-items:center; gap:12px; height:52px; padding:0 28px; border-radius:4px; background:var(--nasco-lime); color:#fff !important; font-family:'Barlow',sans-serif; font-size:16px; font-weight:600; letter-spacing:.04em; transition:.2s;}
.hbtn span {transition:transform .2s;}
.hbtn:hover {background:#fff; color:var(--nasco-green) !important;}
.hbtn:hover span {transform:translateX(4px);}
.hbtn.ghost {background:transparent; border:1px solid rgba(255,255,255,.5);}
.hbtn.ghost:hover {background:rgba(255,255,255,.12); border-color:#fff; color:#fff !important;}

.hero-dock {position:relative; background:rgba(4,26,15,.55); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid rgba(255,255,255,.12);}
.hero-dock ul {display:grid; grid-template-columns:repeat(4, 1fr);}
.hero-dock li {border-left:1px solid rgba(255,255,255,.12);}
.hero-dock li:last-child {border-right:1px solid rgba(255,255,255,.12);}
.hero-dock a {position:relative; display:flex; align-items:center; gap:16px; padding:28px 24px; color:#fff; transition:background .25s;}
.hero-dock a:before {content:""; position:absolute; top:-1px; left:0; width:100%; height:3px; background:var(--nasco-lime); transform:scaleX(0); transform-origin:left; transition:transform .3s;}
.hero-dock a:hover {background:rgba(255,255,255,.06);}
.hero-dock a:hover:before {transform:scaleX(1);}
.hero-dock .ico {flex:0 0 auto; width:46px; height:46px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(81,184,72,.45); border-radius:6px;}
.hero-dock .ico svg {width:28px; height:28px; fill:none; stroke:var(--nasco-lime); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;}
.hero-dock .txt b {display:block; font-family:'Barlow',sans-serif; font-size:17px; line-height:1.3em; font-weight:600;}
.hero-dock .txt small {display:block; margin-top:3px; font-size:13px; line-height:1.4em; color:rgba(255,255,255,.62);}
.hero-dock .arr {margin-left:auto; opacity:.45; transition:.25s;}
.hero-dock a:hover .arr {opacity:1; color:var(--nasco-lime); transform:translateX(4px);}

/* ---------- home: about ---------- */
.about-sec {position:relative; box-sizing:border-box; min-height:100vh; display:flex; align-items:center; padding:150px 0 90px;}
.about-sec:before {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,26,14,.92) 0%, rgba(0,26,14,.78) 55%, rgba(0,26,14,.6) 100%);}
.about-grid {position:relative; display:grid; grid-template-columns:1fr 1.15fr; gap:80px; align-items:center; z-index:1;}
.about-intro h2 {margin:18px 0 20px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(38px, 4vw, 56px); line-height:1.04; font-weight:700; text-transform:uppercase; color:#fff;}
.about-intro p {font-size:18px; line-height:1.7em; color:rgba(255,255,255,.8);}
.about-figs {display:flex; margin-top:40px; border-top:1px solid rgba(255,255,255,.15);}
.about-figs li {flex:1; padding-top:22px;}
.about-figs b {display:block; font-family:'Barlow Condensed',sans-serif; font-size:46px; line-height:1; font-weight:700; color:var(--nasco-lime);}
.about-figs span {display:block; margin-top:8px; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7);}

.about-tabs {display:grid; grid-template-columns:220px 1fr; min-height:340px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:8px; overflow:hidden; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.atab-list {border-right:1px solid rgba(255,255,255,.12);}
.atab-list button {position:relative; display:flex; align-items:center; gap:14px; width:100%; padding:24px; background:none; border:0; border-bottom:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.62); font-family:'Barlow',sans-serif; font-size:17px; font-weight:600; text-align:left; cursor:pointer; transition:color .2s, background .2s;}
.atab-list button i {font-style:normal; font-size:13px; letter-spacing:.1em; color:var(--nasco-lime);}
.atab-list button:before {content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--nasco-lime); transform:scaleY(0); transition:transform .25s;}
.atab-list li.on button {color:#fff; background:rgba(81,184,72,.14);}
.atab-list li.on button:before {transform:scaleY(1);}
.atab-list button:focus-visible {outline:2px solid var(--nasco-lime); outline-offset:-2px;}
.atab-panel {display:none; padding:40px 44px; color:rgba(255,255,255,.82); font-size:17px; line-height:1.75em;}
.atab-panel.on {display:block; animation:atabIn .4s ease;}
.atab-panel h3 {margin-bottom:16px; font-family:'Barlow',sans-serif; font-size:26px; line-height:1.3em; font-weight:700; color:#fff;}
.atab-panel ul li {position:relative; padding-left:22px; margin-bottom:8px;}
.atab-panel ul li:before {content:""; position:absolute; left:0; top:.65em; width:8px; height:8px; background:var(--nasco-lime);}
@keyframes atabIn {from {opacity:0; transform:translateY(8px);} to {opacity:1; transform:none;}}

/* ---------- home: concerns slider ---------- */
.vitzro-slide .pic:after {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,30,15,.9) 0%, rgba(0,30,15,.55) 50%, rgba(0,0,0,.2) 100%);}
.vitzro-slide .content {top:24%; text-align:left;}
.vitzro-slide .content .name {margin:18px 0 16px; max-width:780px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(38px, 5vw, 72px); line-height:1.04; font-weight:700; text-transform:uppercase; color:#fff;}
.vitzro-slide .content p {max-width:560px; font-size:19px; line-height:1.65em; font-weight:400; color:rgba(255,255,255,.82);}
.vitzro-slide .slick-dots {bottom:0; left:0; width:100%; margin:0; padding:0 calc((100% - 1200px) / 2); display:flex; flex-wrap:nowrap; justify-content:stretch; background:rgba(4,26,15,.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid rgba(255,255,255,.12);}
.vitzro-slide .slick-dots li {flex:1; padding:0;}
.vitzro-slide .slick-dots li button {position:relative; width:100%; height:auto; padding:24px 20px; border:0; border-left:1px solid rgba(255,255,255,.1); border-radius:0; background:transparent; color:rgba(255,255,255,.6); font-family:'Barlow',sans-serif; font-size:15px; font-weight:600; line-height:1.3em; text-align:left; transition:.25s;}
.vitzro-slide .slick-dots li:last-child button {border-right:1px solid rgba(255,255,255,.1);}
.vitzro-slide .slick-dots li button i {display:block; margin-bottom:6px; font-style:normal; font-size:12px; letter-spacing:.14em; color:var(--nasco-lime);}
.vitzro-slide .slick-dots li button:before {content:""; position:absolute; top:-1px; left:0; width:100%; height:3px; background:var(--nasco-lime); transform:scaleX(0); transform-origin:left; transition:transform .3s;}
.vitzro-slide .slick-dots li button:hover {color:#fff;}
.vitzro-slide .slick-dots li.slick-active button {background:rgba(81,184,72,.14); color:#fff;}
.vitzro-slide .slick-dots li.slick-active button:before {transform:scaleX(1);}

/* ---------- main: banners ---------- */
#section4 .bg .pic {background-size:cover;}
.main-pr .photo:after {content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,50,25,.85) 100%); pointer-events:none;}

/* ---------- main: footer band (stats + clients) ---------- */
.home-band {background:var(--nasco-soft); padding:70px 0 60px;}
.stats {display:flex; flex-wrap:wrap; margin:0 -10px 50px;}
.stats .stat {width:25%; padding:0 10px; text-align:center;}
.stats .num {font-family:'Barlow',sans-serif; font-size:52px; line-height:1.1em; font-weight:800; color:var(--nasco-green);}
.stats .lbl {margin-top:8px; font-size:15px; font-weight:600; letter-spacing:.06em; color:#444; text-transform:uppercase;}
.band-title {text-align:center; font-size:14px; font-weight:700; letter-spacing:.25em; color:var(--nasco-grey); margin-bottom:25px;}
.clients {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px;}
.clients li {width:150px; background:#fff; border-radius:8px; padding:10px; box-shadow:0 2px 10px rgba(0,0,0,.05);}
.clients img {display:block; width:100%; height:auto; filter:grayscale(1); opacity:.8; transition:.25s;}
.clients li:hover img {filter:none; opacity:1;}

/* ---------- footer ---------- */
#ws-footer {background:#10231a; color:#b9c7bf;}
#ws-footer a {color:#b9c7bf;}
#ws-footer a:hover {color:#fff;}
.foot-logo {margin-bottom:15px;}
.foot-logo img {height:34px; width:auto;}
.foot-social {margin-top:12px;}
.foot-social a {display:inline-block; margin-right:14px; font-weight:600;}
.foot-family .tit, .foot-family ul, .foot-family ul li {border-color:#355244;}
.foot-family ul li {background:#10231a;}
.foot-family ul li a:hover {background:#1b3a2b;}
.foot-family ul {height:auto;}

/* ---------- sub pages ---------- */
.sub-visual:after {content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,50,25,.75), rgba(0,0,0,.35)); z-index:1;}
.sub-visual .tit {letter-spacing:.01em;}
.sub-title h2:after {background:var(--nasco-lime);}
.ws-real-cont {color:#4a4a4a; font-size:17px; line-height:1.8em;}
.ws-real-cont p + p {margin-top:1em;}
.ws-real-cont strong {color:var(--nasco-ink);}

.lead {font-size:21px; line-height:1.7em; color:var(--nasco-ink); text-align:center; max-width:900px; margin:0 auto 60px;}
.lead em {font-style:normal; color:var(--nasco-green); font-weight:700;}

.split {display:flex; align-items:center; gap:50px; margin-bottom:80px;}
.split > * {flex:1 1 0; min-width:0;}
.split.reverse {flex-direction:row-reverse;}
.split img {width:100%; height:auto; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.12);}
.split h3, .block-title {font-family:'Barlow',sans-serif; font-size:28px; line-height:1.35em; font-weight:800; color:var(--nasco-ink); margin-bottom:18px;}
.eyebrow {display:block; font-size:13px; font-weight:700; letter-spacing:.22em; color:var(--nasco-green); text-transform:uppercase; margin-bottom:10px;}

.facts {display:flex; flex-wrap:wrap; margin:0 -10px 80px;}
.facts .fact {width:25%; padding:10px;}
.facts .fact div {height:100%; padding:30px 20px; text-align:center; background:var(--nasco-soft); border-top:4px solid var(--nasco-green); border-radius:6px;}
.facts .fact b {display:block; font-family:'Barlow',sans-serif; font-size:40px; line-height:1.2em; font-weight:800; color:var(--nasco-green);}
.facts .fact span {display:block; margin-top:6px; font-size:15px; line-height:1.4em; color:#555;}

.cards {display:flex; flex-wrap:wrap; margin:0 -12px;}
.cards .card {width:33.333%; padding:12px;}
.cards.two .card {width:50%;}
.cards.four .card {width:25%;}
.card .inner {position:relative; height:100%; padding:34px 30px; background:#fff; border:1px solid #e3ebe5; border-radius:10px; transition:.25s;}
.card .inner:hover {border-color:var(--nasco-lime); box-shadow:0 14px 30px rgba(0,80,40,.10); transform:translateY(-3px);}
.card .badge {display:inline-flex; align-items:center; justify-content:center; min-width:54px; height:54px; padding:0 10px; border-radius:27px; background:var(--nasco-green); color:#fff; font-weight:800; font-size:16px; letter-spacing:.03em; margin-bottom:18px;}
.card h4 {font-family:'Barlow',sans-serif; font-size:20px; line-height:1.4em; font-weight:800; color:var(--nasco-ink); margin-bottom:10px;}
.card p {font-size:15px; line-height:1.7em; color:#5a5a5a;}
.card .tag {display:inline-block; margin-top:14px; font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--nasco-green); text-transform:uppercase;}

.anchor {display:block; position:relative; top:-150px; visibility:hidden;}
.section-head {text-align:center; margin:20px 0 35px;}
.section-head h3 {font-family:'Barlow',sans-serif; font-size:30px; font-weight:800; color:var(--nasco-ink);}
.section-head p {margin-top:8px; color:#666;}
.gap {height:80px;}

.mission-list {counter-reset:m; display:flex; flex-wrap:wrap; margin:0 -10px;}
.mission-list li {counter-increment:m; width:50%; padding:10px;}
.mission-list li div {display:flex; gap:18px; align-items:flex-start; height:100%; padding:22px 24px; background:var(--nasco-soft); border-radius:8px;}
.mission-list li div:before {content:counter(m, decimal-leading-zero); flex:0 0 auto; font-family:'Barlow',sans-serif; font-weight:800; font-size:26px; line-height:1.2em; color:var(--nasco-green);}

.quote {position:relative; padding:50px 60px; background:var(--nasco-dark); color:#e6efe9; border-radius:12px; font-size:19px; line-height:1.8em;}
.quote:before {content:"\201C"; position:absolute; top:-10px; left:28px; font-family:Georgia,serif; font-size:120px; line-height:1; color:var(--nasco-lime); opacity:.6;}
.quote .who {margin-top:25px; font-size:16px; color:#fff;}
.quote .who b {display:block; font-size:20px; color:var(--nasco-lime);}

.concern {display:flex; gap:30px; align-items:flex-start; padding:40px 0; border-bottom:1px solid #e6ece8;}
.concern:last-child {border-bottom:0;}
.concern .mark {flex:0 0 110px; height:110px; border-radius:50%; background:var(--nasco-green); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Barlow',sans-serif; font-weight:800; font-size:30px; letter-spacing:.03em;}
.concern:nth-child(even) .mark {background:var(--nasco-lime);}
.concern h4 {font-family:'Barlow',sans-serif; font-size:24px; font-weight:800; color:var(--nasco-ink); margin-bottom:8px;}
.concern .loc {display:inline-block; margin-bottom:10px; font-size:13px; font-weight:700; letter-spacing:.14em; color:var(--nasco-green); text-transform:uppercase;}

.client-grid {display:flex; flex-wrap:wrap; margin:0 -10px;}
.client-grid li {width:20%; padding:10px;}
.client-grid li div {height:100%; padding:16px; text-align:center; background:#fff; border:1px solid #e3ebe5; border-radius:10px;}
.client-grid img {display:block; width:100%; height:auto; margin-bottom:10px;}
.client-grid b {display:block; font-size:16px; color:var(--nasco-ink);}
.client-grid span {display:block; font-size:13px; line-height:1.4em; color:#777;}

.cta {margin:90px 0 0; padding:50px; text-align:center; border-radius:12px; color:#fff; background:linear-gradient(120deg, var(--nasco-dark), var(--nasco-green));}
.cta h3 {font-family:'Barlow',sans-serif; font-size:30px; font-weight:800; margin-bottom:10px;}
.cta p {color:#d9eadf; margin-bottom:25px;}
.btn {display:inline-block; padding:0 32px; line-height:50px; border-radius:50px; background:var(--nasco-lime); color:#fff !important; font-weight:700; letter-spacing:.03em; transition:.2s;}
.btn:hover {background:#fff; color:var(--nasco-green) !important;}
.btn.line {background:transparent; border:2px solid var(--nasco-green); color:var(--nasco-green) !important; line-height:46px;}
.btn.line:hover {background:var(--nasco-green); color:#fff !important;}

.contact-grid {display:flex; flex-wrap:wrap; margin:0 -12px 50px;}
.contact-grid .item {width:33.333%; padding:12px;}
.contact-grid .item div {height:100%; padding:34px 28px; background:var(--nasco-soft); border-radius:10px; text-align:center;}
.contact-grid h4 {font-size:13px; font-weight:700; letter-spacing:.22em; color:var(--nasco-green); text-transform:uppercase; margin-bottom:12px;}
.contact-grid p, .contact-grid a {font-size:17px; line-height:1.7em; color:var(--nasco-ink);}
.map {border-radius:12px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.10);}
.map iframe {display:block; width:100%; height:450px; border:0;}

/* ---------- responsive ---------- */
@media (max-width:1280px) {
	#ws-gnb ul > li {padding:0 4px;}
	#ws-gnb ul > li > a {padding:0 10px; font-size:16px;}
}
@media (max-width:1024px) {
	.split, .split.reverse {flex-direction:column; gap:30px;}
	.facts .fact, .cards.four .card {width:50%;}
	.cards .card {width:50%;}
	.client-grid li {width:33.333%;}
	.vitzro-slide .content .name {font-size:34px;}
}
@media (max-width:720px) {
	.sitelogo {margin-top:-11px;}
	.sitelogo a {width:110px; height:22px;}
	.main-section1 .logo img {height:40px;}
	.main-section1 .logo {margin-bottom:40px;}
	.main-section1 ul {flex-wrap:wrap; margin-left:0;}
	.main-section1 ul li {width:33.333%; margin:0 0 15px;}
	.main-section1 ul li .icon {width:70px; height:70px;}
	.main-section1 ul li .tit {font-size:14px;}
	.stats .stat {width:50%; margin-bottom:25px;}
	.stats .num {font-size:38px;}
	.cards .card, .cards.two .card, .cards.four .card, .facts .fact, .mission-list li, .contact-grid .item {width:100%;}
	.client-grid li {width:50%;}
	.clients li {width:42%;}
	.concern {flex-direction:column; gap:15px;}
	.concern .mark {flex-basis:80px; width:80px; height:80px; font-size:22px;}
	.quote {padding:40px 24px; font-size:17px;}
	.cta {padding:36px 20px;}
	.lead {font-size:18px;}
	.vitzro-slide .content .name {font-size:26px;}
	.map iframe {height:320px;}
}
.main-pr .content {width:auto; right:25px;}

/* ---------- responsive: redesigned header / home ---------- */
@media (max-width:1280px) {
	#ws-gnb ul > li > a {padding:0 11px; font-size:15px;}
	#ws-gnb ul > li > a:before {left:11px; right:11px;}
	.hdr-cta {margin-left:14px; padding:0 16px;}
	.hero-dock a {padding:24px 18px; gap:12px;}
	.hero-dock .txt small {display:none;}
	.sec-nav {right:18px;}
}
@media (max-width:1024px) {
	.topbar {display:none;}
	.mainbar .contain {height:76px !important;}
	.hdr-cta {margin-left:auto; margin-right:52px;}
	.sec-nav {display:none;}
	.hero-dock ul {grid-template-columns:repeat(2, 1fr);}
	.hero-dock li:nth-child(2) {border-right:1px solid rgba(255,255,255,.12);}
	.hero-dock li:nth-child(n+3) {border-top:1px solid rgba(255,255,255,.12);}
	.about-sec {min-height:0; padding:130px 0 70px;}
	.about-grid {grid-template-columns:1fr; gap:44px;}
	.about-tabs {grid-template-columns:1fr;}
	.atab-list {display:flex; overflow-x:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.12);}
	.atab-list li {flex:1 0 auto;}
	.atab-list button {white-space:nowrap; border-bottom:0; padding:18px 20px;}
	.atab-list button:before {top:auto; bottom:0; left:0; right:0; width:auto; height:3px; transform:scaleX(0);}
	.atab-list li.on button:before {transform:scaleX(1);}
	.vitzro-slide .slick-dots {padding:0; overflow-x:auto;}
	.vitzro-slide .slick-dots li {flex:0 0 170px;}
	html.is-scrolled #sub .mainbar .contain {height:64px !important;}
}
@media (max-width:720px) {
	.mainbar .contain {height:64px !important;}
	.sitelogo a {width:120px; height:24px;}
	.hdr-cta {height:36px; padding:0 12px; font-size:12px; letter-spacing:.06em; margin-right:46px;}
	.hdr-cta span {display:none;}
	.hero {height:auto; min-height:100vh;}
	.hero-body {padding-top:110px;}
	.hero-kicker {font-size:12px; letter-spacing:.16em;}
	.hero-kicker i {width:24px;}
	.hero-text {font-size:16px;}
	.hbtn {height:46px; padding:0 20px; font-size:15px;}
	.hero-dock a {padding:16px 14px; gap:10px;}
	.hero-dock .ico {width:38px; height:38px;}
	.hero-dock .ico svg {width:22px; height:22px;}
	.hero-dock .txt b {font-size:14px;}
	.hero-dock .arr {display:none;}
	.about-sec {padding:100px 0 50px;}
	.about-figs b {font-size:34px;}
	.atab-panel {padding:28px 22px; font-size:16px;}
	.atab-panel h3 {font-size:21px;}
	.vitzro-slide .content {top:12%;}
	.vitzro-slide .content p {font-size:16px;}
	.vitzro-slide .slick-dots li {flex-basis:140px;}
	.vitzro-slide .slick-dots li button {padding:16px 14px; font-size:13px;}
}
@media (max-width:720px) {
	.sub-visual .content {top:calc(50% + 28px);}
}
@media (max-width:1500px) and (min-width:1281px) {
	#ws-gnb ul > li > a {padding:0 12px;}
	#ws-gnb ul > li > a:before {left:12px; right:12px;}
	.hdr-cta {margin-left:16px; padding:0 18px;}
}
#ws-gnb ul > li.active > a:after {left:auto; width:6px; opacity:.6;}
