:root{
  --bg:#fcfbf7;
  --bg2:#ffffff;
  --bg3:#eef6df;
  --text:#2e3428;
  --muted:#68705f;
  --line:#e5e4d8;
  --primary:#8ca643;
  --primary2:#a8bd5a;
  --deep:#414d29;
  --accent:#dfe8be;
  --accent2:#f2f5e7;
  --shadow:0 18px 55px rgba(78,102,39,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 0%, rgba(167,200,90,.18), transparent 24%),
    radial-gradient(circle at 90% 8%, rgba(215,235,176,.35), transparent 22%),
    linear-gradient(180deg,#fbfdf7,#f8f8f1 52%,#f5f6ed);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.shell{width:min(1240px,calc(100% - 48px));margin:auto}
header{
  position:sticky;top:0;z-index:50;height:78px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(95,127,44,.08);
}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px}
.logo svg{width:42px;height:42px;flex:0 0 auto}
.logo-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.05;gap:4px}
.logo-main{font-size:18px;font-weight:900;letter-spacing:.16em;color:var(--deep)}
.logo-sub{font-size:8px;font-weight:800;letter-spacing:.05em;color:#73806d;white-space:nowrap}
.logo-sub b{color:var(--primary);font-weight:900}
.links{display:flex;align-items:center;gap:28px}
.links a{font-size:12px;color:#55644f;letter-spacing:.08em;position:relative}
.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--primary);transition:.2s}
.links a:hover,.links a.active{color:var(--primary)}
.links a:hover:after,.links a.active:after{right:0}
.links .contact{padding:0;border:0;border-radius:0;background:transparent;color:inherit}
.menu{display:none;border:0;background:none;color:var(--deep);font-size:25px}

main{min-height:calc(100vh - 78px);display:flex;flex-direction:column;justify-content:space-between}

.kicker{display:flex;align-items:center;gap:11px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.kicker:before{content:"";width:34px;height:2px;background:var(--primary)}
.hero{min-height:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px;padding:52px 0 24px;flex:1 1 auto}
.hero h1,.pagehero h1{letter-spacing:-.055em;line-height:1.03;margin:20px 0 23px}
.hero h1{font-size:clamp(56px,6.8vw,96px)}
.grad{color:var(--primary2);background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:var(--primary2)}
.lead{font-size:17px;color:var(--muted);max-width:700px}
.wordmark{font-size:14px;color:#6c7c67;font-weight:700;margin-top:10px;letter-spacing:.01em}
.wordmark b{color:var(--primary);font-weight:900}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{min-height:50px;padding:0 21px;border-radius:12px;border:1px solid #dfe9ce;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;letter-spacing:.03em;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{border:0;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 15px 40px rgba(124,163,58,.18)}
.btn.ghost{background:#fff;color:var(--deep)}

.visual{
  min-height:560px;border:1px solid #dfe7cb;border-radius:30px;overflow:hidden;
  position:relative;background:linear-gradient(145deg,#ffffff,#f8fced 62%,#f1f7e5);
  box-shadow:var(--shadow)
}
.visual svg{width:100%;height:100%;position:absolute;inset:0}
.visual .toplabel{position:absolute;z-index:2;left:26px;top:22px;font-size:10px;letter-spacing:.16em;color:#7d8a74}
.visual .status{position:absolute;z-index:2;right:26px;top:20px;font-size:10px;color:#4f8a3a;display:flex;gap:8px;align-items:center}
.visual .status i{width:8px;height:8px;border-radius:50%;background:#8ca643}

.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e2ebd2;border-bottom:1px solid #e2ebd2;background:#fff}
.strip>div{padding:20px 18px;border-right:1px solid #edf2e3}
.strip>div:last-child{border:0}
.strip small{display:block;color:#7b8973;font-size:9px;letter-spacing:.15em}
.strip b{font-size:13px;color:var(--deep)}

section.section{padding:108px 0}
.sectionhead{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:end;margin-bottom:48px}
.sectionhead h2{font-size:clamp(34px,4vw,53px);line-height:1.08;letter-spacing:-.04em;margin:12px 0 0;color:var(--deep)}
.sectionhead p{color:var(--muted);margin:0;max-width:660px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;overflow:hidden;padding:30px;border:1px solid #e2ead3;border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-90px;top:-90px;background:rgba(215,235,176,.45)}
.card .num{color:var(--primary);font-size:10px;letter-spacing:.15em;font-weight:800}
.card h3{font-size:24px;margin:20px 0 11px;color:var(--deep)}
.card p{color:var(--muted);margin:0}
.card ul{list-style:none;padding:0;margin:19px 0 0;color:#5d6f5a;font-size:12px}
.card li{padding:9px 0;border-top:1px solid #eff4e8}

.twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feature{min-height:370px;border:1px solid #e0e8cd;border-radius:24px;background:linear-gradient(145deg,#ffffff,#f8f8f1);padding:34px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow)}
.feature svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.feature>*:not(svg){position:relative;z-index:2}
.feature h3{font-size:30px;margin:0 0 10px;color:var(--deep)}
.feature p{color:var(--muted);margin:0}

.pagehero{padding:108px 0 70px;border-bottom:1px solid #e7edd9;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.55))}
.pagehero h1{font-size:clamp(50px,6vw,82px);max-width:1000px}
.crumb{font-size:10px;letter-spacing:.13em;color:#85907d;margin-bottom:20px}
.crumb a{color:var(--primary)}

.info-list{border:1px solid #e2ead4;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.info-row{display:grid;grid-template-columns:165px 1fr;padding:17px 22px;border-bottom:1px solid #eef3e8}
.info-row:last-child{border:0}
.info-row span{color:#778372;font-size:12px}

.timeline{border-left:1px solid #dbe4ca;margin-left:8px}
.time{position:relative;padding:0 0 45px 38px}
.time:before{content:"";position:absolute;left:-8px;top:6px;width:13px;height:13px;border:2px solid var(--primary);border-radius:50%;background:#fff}
.time small{color:var(--primary);letter-spacing:.13em;font-weight:800}
.time h3{font-size:23px;margin:7px 0;color:var(--deep)}
.time p{color:var(--muted);margin:0}

.service-list{display:grid;gap:16px}
.service{display:grid;grid-template-columns:90px 1fr .9fr;gap:28px;padding:32px;border:1px solid #e2ead3;border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.service .idx{color:var(--primary);font-size:10px;letter-spacing:.15em;font-weight:800}
.service h3{font-size:29px;margin:0;color:var(--deep)}
.service p{color:var(--muted);margin:0}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.tag{font-size:10px;padding:6px 9px;border:1px solid #dbe7c8;border-radius:999px;color:#5b6956;background:#fbfdf7}

.process{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.step{min-height:185px;padding:23px;border-top:3px solid var(--primary);background:#fff;border-radius:0 0 18px 18px;box-shadow:var(--shadow)}
.step small{color:var(--primary);font-weight:800}
.step h4{font-size:17px;margin:17px 0 7px;color:var(--deep)}
.step p{font-size:12px;color:var(--muted);margin:0}

.solutions{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.solution{min-height:310px;padding:30px;border:1px solid #e2ead3;border-radius:22px;background:linear-gradient(155deg,#fff,#f8fcef);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.solution .icon{width:43px;height:43px;border:1px solid #d2e2ae;border-radius:12px;display:grid;place-items:center;color:var(--primary);background:#fff}
.solution h3{font-size:26px;margin:65px 0 11px;color:var(--deep)}
.solution p{color:var(--muted)}

.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.tech .card h3{font-size:19px;margin-top:0}
.tech .bar{height:3px;background:linear-gradient(90deg,var(--primary),transparent);margin-top:21px;border-radius:20px}

.matrix{border:1px solid #e2ead4;border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.mrow{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;border-bottom:1px solid #eef4e9}
.mrow:last-child{border:0}
.mrow>div{padding:16px;border-right:1px solid #eef4e9;font-size:12px}
.mrow>div:last-child{border:0}
.mhead{background:#f4f9ea;color:var(--primary);font-weight:800}

.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}
.panel{border:1px solid #e2ead4;border-radius:22px;background:#fff;padding:32px;box-shadow:var(--shadow)}
.panel h2{font-size:33px;margin-top:0;color:var(--deep)}
.contactinfo{padding:16px 0;border-top:1px solid #eef4e8}
.contactinfo span{display:block;font-size:10px;color:#7b8776;letter-spacing:.13em}
.contactinfo a{color:var(--primary)}

.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.full{grid-column:1/-1}
label{display:block;font-size:11px;color:#6e7d68;margin-bottom:6px}
input,textarea{width:100%;background:#fcfef9;border:1px solid #dbe6ca;border-radius:10px;padding:13px;color:var(--text);outline:none}
textarea{min-height:145px;resize:vertical}
input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,163,58,.10)}

.cta{padding:62px;border:1px solid #dfe9cd;border-radius:26px;background:linear-gradient(135deg,#fff,#eff6e0);display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow)}
.cta h2{font-size:36px;line-height:1.12;margin:0;color:var(--deep)}
.cta p{color:var(--muted);margin:9px 0 0}

.location-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch}
.map-card{border:1px solid #e1e9cf;border-radius:24px;background:#fff;overflow:hidden;box-shadow:var(--shadow);min-height:530px}
.map-frame{width:100%;height:100%;min-height:530px;border:0;display:block}
.location-side{display:grid;gap:18px}
.location-box{border:1px solid #e2ead4;border-radius:22px;background:#fff;padding:28px;box-shadow:var(--shadow)}
.location-box h3{font-size:24px;line-height:1.25;margin:10px 0 12px;color:var(--deep)}
.location-box p{margin:0;color:var(--muted)}
.location-address{margin-top:20px;padding:18px;border-radius:14px;background:#f8f8f1;border:1px solid #e2ecd3}
.location-address small{display:block;color:#7a8774;font-size:10px;letter-spacing:.1em;margin-bottom:5px}
.location-address strong{display:block;color:var(--deep);font-size:16px}
.route-list{display:grid;gap:10px;margin-top:18px}
.route-item{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;padding:13px;border:1px solid #e6eed8;border-radius:13px;background:#fcfef9}
.route-icon{width:42px;height:42px;border-radius:12px;background:#eef6df;color:var(--primary);display:grid;place-items:center;font-size:18px;font-weight:900}
.route-item b{display:block;font-size:13px;color:var(--deep)}
.route-item span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.map-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.map-link{min-height:46px;border:1px solid #dce6ca;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--deep);transition:.2s}
.map-link:hover{border-color:#b6cf84;transform:translateY(-1px)}
.location-visual{min-height:330px;border-radius:22px;position:relative;overflow:hidden;border:1px solid #e2ead3;background:linear-gradient(145deg,#fdfefb,#f1f7e6);box-shadow:var(--shadow)}
.location-visual svg{width:100%;height:100%;position:absolute;inset:0}
.location-visual-copy{position:absolute;z-index:2;left:30px;bottom:28px}
.location-visual-copy h3{font-size:28px;margin:6px 0 6px;color:var(--deep)}
.location-visual-copy p{margin:0;color:var(--muted);font-size:13px}

.brand-statement{font-size:12px;color:var(--primary);font-weight:800;letter-spacing:.08em;margin:16px 0 0}
.logo-showcase{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.logo-card{border:1px solid #e2ead4;border-radius:24px;background:#fff;padding:30px;box-shadow:var(--shadow)}
.logo-card h3{font-size:24px;color:var(--deep);margin:0 0 10px}
.logo-card p{margin:0;color:var(--muted)}
.logo-preview{display:flex;align-items:center;justify-content:center;min-height:220px;background:linear-gradient(135deg,#ffffff,#f4fae8);border:1px dashed #cfddae;border-radius:18px;padding:18px}
.logo-preview svg{width:min(100%,480px);height:auto}
.logo-mini-note{margin-top:18px;font-size:13px;color:#687563}
.logo-mini-note b{color:var(--primary)}

footer{border-top:1px solid #e3ead6;padding:40px 0 28px;background:#fbfdf7}
.footertop{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:24px}
.footertop h3{font-size:22px;margin:14px 0 5px;color:var(--deep)}
.footertop p{color:var(--muted);margin:0}
.footerlinks{display:none}
.footerlinks a{font-size:11px;color:#6d7a66}
.footerbottom{border-top:1px solid #e8eedc;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#7b8776;font-size:15px;line-height:1.6}

.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}
.reveal.on{opacity:1;transform:none}

@media(max-width:980px){
  .links{display:none}
  .menu{display:block}
  .links.open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid #e6edd8;padding:22px}
  .hero{grid-template-columns:1fr}
  .visual{min-height:500px}
  .grid3,.tech,.logo-showcase{grid-template-columns:1fr}
  .sectionhead,.twocol,.contactgrid,.location-layout{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr}
  .service{grid-template-columns:65px 1fr}
  .service p{grid-column:2}
  .footertop{grid-template-columns:1fr}
  .map-card,.map-frame{min-height:440px}
}
@media(max-width:620px){
  .shell{width:min(100% - 28px,1240px)}
  header{height:70px}
  .hero{padding:40px 0 20px}
  .hero h1{font-size:50px}
  .visual{min-height:410px}
  .strip{grid-template-columns:1fr 1fr}
  .strip>div:nth-child(2){border-right:0}
  .strip>div:nth-child(-n+2){border-bottom:1px solid #edf3e5}
  section.section{padding:76px 0}
  .pagehero{padding:82px 0 62px}
  .pagehero h1{font-size:47px}
  .solutions,.process{grid-template-columns:1fr}
  .service{grid-template-columns:1fr}
  .service p{grid-column:auto}
  .info-row{grid-template-columns:1fr;gap:3px}
  .cta{padding:32px;display:block}
  .cta .actions{margin-top:22px}
  .formgrid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .matrix{overflow-x:auto}
  .mrow{min-width:680px}
  .logo-sub{display:none}
  .map-card,.map-frame{min-height:360px}
  .map-actions{grid-template-columns:1fr}
}

:root{
  --primary:#8ca643;
  --primary2:#a8bd5a;
  --deep:#414d29;
  --text:#2e3428;
  --muted:#68705f;
  --line:#e5e4d8;
  --accent:#dfe8be;
  --accent2:#f2f5e7;
  --shadow:0 20px 60px rgba(65,77,41,.09);
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(168,189,90,.15),transparent 23%),
    radial-gradient(circle at 92% 10%,rgba(223,232,190,.38),transparent 20%),
    linear-gradient(180deg,#fcfbf7,#f8f8f1 52%,#f5f6ed);
}
body:after{
  content:"";position:fixed;left:30px;top:105px;width:96px;height:250px;z-index:-1;opacity:.35;pointer-events:none;
  background-image:radial-gradient(circle,#aabd71 1.2px,transparent 1.4px);
  background-size:25px 25px;
}
.brand-mark{
  width:48px;height:48px;object-fit:contain;display:block;filter:drop-shadow(0 4px 7px rgba(65,77,41,.10));
}
.logo-main{
  font-family:"Arial Black","Arial",sans-serif;
  color:var(--deep);font-size:19px;letter-spacing:.12em;
}
.logo-sub b,.wordmark b,.brand-statement b{color:var(--primary)}
.links .contact{border-color:#dce2c9}
.btn.primary{background:linear-gradient(135deg,#718a34,#a8bd5a)}
.kicker{color:#718a34}
.kicker:before{background:#8ca643}
.card,.feature,.solution,.service,.panel,.info-list,.logo-card,.map-card,.location-box{
  border-color:#e7e6da;
}
.card:after{background:rgba(223,232,190,.48)}
.hero-concept{
  min-height:565px;border:1px solid #e4e3d6;border-radius:30px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#fffefb,#f6f7ed);box-shadow:var(--shadow);
  display:flex;align-items:center;justify-content:center;padding:54px;
}
.hero-concept:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(rgba(140,166,67,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(140,166,67,.045) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
}
.hero-concept:after{
  content:"";position:absolute;width:390px;height:390px;border-radius:50%;
  border:1px solid rgba(140,166,67,.13);right:-110px;top:-110px;
  box-shadow:0 0 0 65px rgba(140,166,67,.045),0 0 0 130px rgba(140,166,67,.022);
}
.brand-lockup{
  position:relative;z-index:2;width:100%;max-width:520px;text-align:center;
}
.brand-lockup img{
  width:min(72%,330px);height:auto;display:block;margin:0 auto 18px;
  filter:drop-shadow(0 15px 18px rgba(62,74,38,.12));
}
.brand-lockup .cmse-word{
  font-family:"Arial Black","Arial",sans-serif;font-size:clamp(52px,6vw,82px);
  letter-spacing:.09em;line-height:1;color:var(--deep);margin:0;
}
.brand-lockup .cmse-word .c{color:#92aa47}
.brand-lockup .brand-full{
  margin-top:17px;padding-top:16px;border-top:1px solid #9cab69;
  color:#454b3e;font-weight:700;font-size:15px;letter-spacing:.02em;
}
.brand-lockup .brand-full b{color:#88a23d;font-size:1.12em}
.brand-lockup .brand-techline{
  width:100%;height:1px;background:linear-gradient(90deg,transparent,#82983f,transparent);margin:16px 0 0;position:relative;
}
.brand-lockup .brand-techline:after{
  content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;
  background:#80963e;transform:translate(-50%,-50%);border:3px solid #f7f7ee;
}
.hero-badge{
  position:absolute;z-index:3;font-size:9px;letter-spacing:.16em;color:#778069;font-weight:800;
}
.hero-badge.a{left:27px;top:24px}
.hero-badge.b{right:27px;top:24px;color:#778e36}
.concept-line{
  position:absolute;z-index:1;height:1px;background:#8ea44a;opacity:.45;
}
.concept-line.l1{width:100px;left:0;top:48%}
.concept-line.l2{width:100px;right:0;top:48%}
.concept-line:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border:1px solid #7f943d;border-radius:50%;background:#fff}
.concept-line.l1:after{right:0}.concept-line.l2:after{left:0}

.meaning-section{padding:28px 0 28px}
.meaning-shell{
  border-top:1px solid #dedfcf;border-bottom:1px solid #dedfcf;
  padding:26px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
}
.meaning-item{padding:13px 28px;border-right:1px solid #e2e3d7}
.meaning-item:last-child{border-right:0}
.meaning-letter{
  font-family:"Arial Black","Arial",sans-serif;font-size:42px;line-height:1;color:var(--primary);
  margin-bottom:12px;
}
.meaning-item:nth-child(3) .meaning-letter,.meaning-item:nth-child(4) .meaning-letter{color:var(--deep)}
.meaning-item b{display:block;font-size:11px;letter-spacing:.12em;color:#60702e;margin-bottom:5px}
.meaning-item span{font-size:11px;color:#737a6b}

.concept-logo-panel{
  display:flex;align-items:center;gap:28px;padding:28px;border:1px solid #e4e4d8;
  border-radius:22px;background:linear-gradient(140deg,#fff,#f7f8ef);box-shadow:var(--shadow)
}
.concept-logo-panel img{width:150px;height:auto;object-fit:contain}
.concept-logo-panel .bigword{
  font-family:"Arial Black","Arial",sans-serif;font-size:45px;letter-spacing:.08em;color:var(--deep)
}
.concept-logo-panel .bigword .c{color:#91aa45}
.concept-logo-panel .subline{font-size:13px;font-weight:700;color:#62695a}
.concept-logo-panel .subline b{color:var(--primary)}

@media(max-width:980px){
  .hero-concept{min-height:500px}
  .meaning-shell{grid-template-columns:1fr 1fr}
  .meaning-item:nth-child(2){border-right:0}
  .meaning-item:nth-child(-n+2){border-bottom:1px solid #e2e3d7}
}
@media(max-width:620px){
  body:after{display:none}
  .brand-mark{width:42px;height:42px}
  .hero-concept{min-height:425px;padding:28px}
  .brand-lockup img{width:64%}
  .brand-lockup .brand-full{font-size:12px}
  .meaning-shell{grid-template-columns:1fr}
  .meaning-item{border-right:0;border-bottom:1px solid #e2e3d7}
  .meaning-item:last-child{border-bottom:0}
  .concept-logo-panel{display:block;text-align:center}
  .concept-logo-panel img{margin:0 auto 18px}
}

:root{
  --bg:#0b0d0b !important;
  --bg2:#121512 !important;
  --bg3:#181c17 !important;
  --text:#edf1e8 !important;
  --muted:#b2b9ad !important;
  --line:#2a3028 !important;
  --primary:#9bb852 !important;
  --primary2:#c1d97a !important;
  --deep:#f3f7ee !important;
  --accent:#25311b !important;
  --accent2:#1a2016 !important;
  --shadow:0 20px 60px rgba(0,0,0,.35) !important;
}

body{
  background:
    radial-gradient(circle at 10% 0%, rgba(155,184,82,.10), transparent 22%),
    radial-gradient(circle at 92% 8%, rgba(193,217,122,.07), transparent 18%),
    linear-gradient(180deg,#0a0c0a,#10130f 48%,#0c0f0c) !important;
  color:var(--text) !important;
}
body:after{
  opacity:.18 !important;
}

header{
  background:rgba(10,12,10,.86) !important;
  border-bottom:1px solid rgba(193,217,122,.10) !important;
}
.logo-main{color:var(--deep) !important}
.logo-sub{color:#aab59d !important}
.links a{color:#d7ddd1 !important}
.links a:hover,.links a.active{color:var(--primary2) !important}
.links .contact{
  background:#171b16 !important;
  border-color:#394331 !important;
  color:var(--primary2) !important;
}

.kicker{color:var(--primary2) !important}
.kicker:before{background:var(--primary) !important}
.lead,.wordmark,.sectionhead p,.card p,.feature p,.service p,.solution p,.panel p,.overview-card p,.message-card p,.history-note,.guide-text,.route-item span,.location-box p,.footerbottom,.footertop p{color:var(--muted) !important}
.grad{
  color:var(--primary2) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:var(--primary2) !important;
}

.btn.ghost{
  background:#151915 !important;
  color:var(--deep) !important;
  border-color:#2d3527 !important;
}
.btn.primary{
  background:linear-gradient(135deg,#6d8736,#a4bf5a) !important;
  color:#0c100a !important;
  box-shadow:0 15px 40px rgba(155,184,82,.18) !important;
}

.visual,.hero-concept,.card,.feature,.service,.solution,.panel,.info-list,.logo-card,.map-card,.location-box,.overview-card,.message-card,.history-wrap,.dept-card,.step,.cta,.concept-logo-panel,.location-visual{
  background:linear-gradient(145deg,#151915,#101310) !important;
  border-color:#262d25 !important;
  box-shadow:0 20px 60px rgba(0,0,0,.35) !important;
}
.visual,.hero-concept{
  background:linear-gradient(150deg,#151915,#0f120f) !important;
}
.hero-concept:before{
  background:
    linear-gradient(rgba(155,184,82,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(155,184,82,.08) 1px,transparent 1px) !important;
}
.hero-concept:after{
  border:1px solid rgba(155,184,82,.15) !important;
  box-shadow:0 0 0 65px rgba(155,184,82,.05),0 0 0 130px rgba(155,184,82,.02) !important;
}
.hero-badge{color:#9ea999 !important}
.hero-badge.b{color:#b9cf7a !important}

.strip{
  background:#111411 !important;
  border-top-color:#232923 !important;
  border-bottom-color:#232923 !important;
}
.strip>div{border-right-color:#222822 !important}
.strip small{color:#a1ab97 !important}
.strip b,.card h3,.feature h3,.service h3,.solution h3,.panel h2,.overview-card h3,.message-card h3,.dept-card h3,.history-item h4,.section-title,.location-visual-copy h3,.location-box h3,.cta h2,.footertop h3,.bigword,.brand-lockup .cmse-word{color:var(--deep) !important}

.card:after,.dept-card:before{
  background:rgba(155,184,82,.10) !important;
}
.card ul,.dept-card ul,.card li,.dept-card li{color:#b9c2b2 !important;border-color:#232923 !important}
.tag,.guide-badge,.map-link,.company-tab{
  background:#171b16 !important;
  border-color:#2d3528 !important;
  color:#ecf1e7 !important;
}
.company-tab:hover,.map-link:hover{
  border-color:#92af4c !important;
  color:var(--primary2) !important;
}

.pagehero{
  background:linear-gradient(180deg,rgba(16,19,15,.92),rgba(11,13,11,.75)) !important;
  border-bottom-color:#242a23 !important;
}
.crumb{color:#9ca696 !important}
.crumb a{color:var(--primary2) !important}

.info-row,.contactinfo,.overview-list div,.mrow>div,.mrow,.route-item,.location-address,.footerbottom{
  border-color:#242b24 !important;
}
.info-row span,.contactinfo span,.location-address small,.overview-list .label,.history-year,.dept-card .dept-no{color:#b9cf7a !important}
.info-list,.matrix{
  background:#121612 !important;
}
.overview-list .label{
  background:#151915 !important;
}
.mhead{
  background:#171c15 !important;
  color:#c7da8d !important;
}

footer{
  background:#0d100d !important;
  border-top-color:#232923 !important;
}
.footerbottom{
  color:#c8d0c0 !important;
}
footer a{color:#dfe5d8 !important}

input,textarea{
  background:#111511 !important;
  border-color:#293028 !important;
  color:#eef3e8 !important;
}
input:focus,textarea:focus{
  border-color:#9bb852 !important;
  box-shadow:0 0 0 3px rgba(155,184,82,.12) !important;
}
::placeholder{color:#7f8879 !important}

.map-card{background:#101410 !important}
.map-link{min-height:48px !important}

@media(max-width:620px){
  header{background:rgba(10,12,10,.94) !important;}
}

.meaning-letter,
.meaning-item:nth-child(1) .meaning-letter,
.meaning-item:nth-child(2) .meaning-letter,
.meaning-item:nth-child(3) .meaning-letter,
.meaning-item:nth-child(4) .meaning-letter{
  color:#ffffff !important;
}
.meaning-item b{
  text-transform:none !important;
}

.brand-lockup .cmse-word,
.brand-lockup .cmse-word .c{
  color:#ffffff !important;
}

.brand-lockup .brand-full b{
  color:#ffffff !important;
}

.meaning-item b{
  color:#8faa43 !important;
}
.meaning-item span{
  color:#9aa393 !important;
}

.brand-mark{
  width:48px !important;
  height:48px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 7px rgba(190,235,70,.28)) !important;
}
.brand-lockup img{
  width:min(78%,360px) !important;
  filter:drop-shadow(0 0 18px rgba(185,230,60,.22)) !important;
}
.concept-logo-panel img{
  filter:drop-shadow(0 0 14px rgba(185,230,60,.20)) !important;
}

.crumb{
  color:#eef4de !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  margin-bottom:24px !important;
}
.crumb a{
  color:#cfe77a !important;
  font-weight:900 !important;
}
.crumb a:hover{
  color:#e7f6b0 !important;
}
.kicker{
  color:#c4d96a !important;
  font-size:14px !important;
  letter-spacing:.18em !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.kicker:before{
  width:34px !important;
  background:#c4d96a !important;
}
@media(max-width:620px){
  .crumb{
    font-size:16px !important;
    margin-bottom:20px !important;
  }
  .kicker{
    font-size:12px !important;
    letter-spacing:.16em !important;
  }
}

.logo-sub{font-size:9px !important;}
.links a{font-size:13px !important;}
.kicker{font-size:15px !important;}
.card .num,
.service .idx,
.contactinfo span,
.location-address small,
.overview-list .label,
.history-year,
.dept-card .dept-no,
.strip small{
  font-size:12px !important;
}
.card ul,
.dept-card ul,
.step p,
.mrow>div,
.tag,
.footerlinks a{
  font-size:13px !important;
}
.route-item span,
.location-visual-copy p{
  font-size:13px !important;
}
.meaning-item b{font-size:12px !important;}
.meaning-item span{font-size:12px !important;}
.footerbottom{font-size:16px !important;}
.hero-badge{font-size:10px !important;}
.crumb{font-size:19px !important;}

:root{
  --muted:#c0c8ba !important;
}

.lead,
.sectionhead p,
.card p,
.feature p,
.service p,
.solution p,
.panel p,
.overview-card p,
.message-card p,
.history-note,
.guide-text,
.route-item span,
.location-box p,
.footertop p,
.wordmark,
.location-visual-copy p,
.logo-mini-note{
  color:#c0c8ba !important;
}

.logo-sub{
  color:#bcc6b4 !important;
}

.card ul,
.dept-card ul,
.card li,
.dept-card li{
  color:#c2cabd !important;
}

.meaning-item span{
  color:#b4bdad !important;
}

.meaning-item b{
  color:#a8c657 !important;
}

.crumb{
  color:#f3f7e9 !important;
}

.crumb a{
  color:#d9ee88 !important;
}

.contactinfo span,
.info-row span,
.location-address small,
.overview-list .label,
.history-year,
.dept-card .dept-no{
  color:#c6db7a !important;
}

::placeholder{
  color:#9ca895 !important;
}

.footerbottom{
  color:#d6ddd0 !important;
}

.hero-badge,
.strip small,
.visual .toplabel,
.brand-techline,
.guide-badge{
  color:#b7c1b0 !important;
}

@media(max-width:620px){
  .logo-sub{font-size:9px !important;}
  .links a{font-size:13px !important;}
  .kicker{font-size:13px !important;}
  .crumb{font-size:17px !important;}
  .meaning-item b{font-size:12px !important;}
  .meaning-item span{font-size:12px !important;}
}

.hero{
  align-items:center !important;
}

.hero-concept{
  min-height:430px !important;
  border:1px solid rgba(211,228,154,.22) !important;
  border-radius:34px !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 22% 16%, rgba(255,255,255,.18), transparent 21%),
    radial-gradient(circle at 78% 18%, rgba(221,239,159,.18), transparent 24%),
    radial-gradient(circle at 50% 82%, rgba(185,212,95,.14), transparent 30%),
    linear-gradient(145deg, #171d16 0%, #20281c 24%, #151a14 56%, #0f130f 100%) !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 80px rgba(210,230,130,.05) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:42px !important;
}

.hero-concept:before{
  content:"" !important;
  position:absolute !important;
  inset:14px !important;
  border-radius:28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.09), transparent 45%),
    linear-gradient(rgba(190,214,111,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190,214,111,.045) 1px, transparent 1px) !important;
  background-size:auto, auto, 38px 38px, 38px 38px !important;
  border:1px solid rgba(255,255,255,.05) !important;
  mask-image:none !important;
}

.hero-concept:after{
  content:"" !important;
  position:absolute !important;
  width:500px !important;
  height:500px !important;
  right:-150px !important;
  top:-130px !important;
  border-radius:50% !important;
  border:1px solid rgba(204,225,126,.10) !important;
  box-shadow:
    0 0 0 78px rgba(204,225,126,.04),
    0 0 0 156px rgba(204,225,126,.018) !important;
}

.brand-lockup{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  max-width:540px !important;
  text-align:center !important;
}

.brand-lockup img{
  width:min(76%,350px) !important;
  height:auto !important;
  display:block !important;
  margin:0 auto 26px !important;
  filter:
    drop-shadow(0 0 12px rgba(225,240,170,.18))
    drop-shadow(0 18px 32px rgba(0,0,0,.35)) !important;
}

.brand-lockup .cmse-word{
  font-family:"Arial Black","Arial",sans-serif !important;
  font-size:clamp(68px, 7vw, 96px) !important;
  letter-spacing:.08em !important;
  line-height:1 !important;
  color:#ffffff !important;
  margin:0 !important;
  text-shadow:0 6px 24px rgba(0,0,0,.28) !important;
}

.brand-lockup .cmse-word .c{
  color:#ffffff !important;
}

.brand-lockup .brand-techline{
  width:100% !important;
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(210,230,130,.75), transparent) !important;
  margin:22px 0 0 !important;
  position:relative !important;
  opacity:.95 !important;
}

.brand-lockup .brand-techline:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#d7e88f !important;
  transform:translate(-50%,-50%) !important;
  border:3px solid #fbfcf7 !important;
  box-shadow:0 0 0 4px rgba(215,232,143,.14) !important;
}

.concept-line{
  background:rgba(205,224,122,.62) !important;
  opacity:1 !important;
}

.concept-line.l1,
.concept-line.l2{
  width:112px !important;
  top:46% !important;
}

.concept-line:after{
  width:8px !important;
  height:8px !important;
  border:1px solid rgba(208,227,124,.85) !important;
  background:#f7fbef !important;
}

@media(max-width:980px){
  .hero-concept{
    min-height:520px !important;
    padding:40px !important;
  }
}

@media(max-width:620px){
  .hero-concept{
    min-height:430px !important;
    padding:28px !important;
    border-radius:26px !important;
  }
  .hero-concept:before{
    inset:12px !important;
    border-radius:20px !important;
  }
  .brand-lockup img{
    width:min(84%,280px) !important;
    margin-bottom:18px !important;
  }
  .brand-lockup .cmse-word{
    font-size:clamp(52px, 12vw, 74px) !important;
  }
}

.logo{
  gap:0 !important;
}
.logo .brand-mark{
  width:205px !important;
  height:54px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:drop-shadow(0 0 7px rgba(235,35,55,.12)) !important;
}
.logo .logo-copy{
  display:none !important;
}
header .logo{
  min-width:205px !important;
}
footer .logo .brand-mark{
  width:245px !important;
  height:72px !important;
}

.brand-lockup{
  max-width:620px !important;
}
.brand-lockup img{
  width:min(94%,560px) !important;
  margin:0 auto !important;
  filter:
    drop-shadow(0 0 9px rgba(255,255,255,.10))
    drop-shadow(0 0 14px rgba(233,20,54,.12))
    drop-shadow(0 18px 30px rgba(0,0,0,.36)) !important;
}
.brand-lockup .cmse-word,
.brand-lockup .brand-techline{
  display:none !important;
}

.concept-logo-panel{
  justify-content:center !important;
  min-height:180px !important;
}
.concept-logo-panel img{
  width:min(92%,560px) !important;
  max-width:560px !important;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.08))
    drop-shadow(0 0 12px rgba(233,20,54,.10)) !important;
}
.concept-logo-panel > div:not(:first-child){
  display:none !important;
}

@media(max-width:980px){
  .logo .brand-mark{
    width:180px !important;
    height:48px !important;
  }
}
@media(max-width:620px){
  .logo .brand-mark{
    width:150px !important;
    height:42px !important;
  }
  header .logo{
    min-width:150px !important;
  }
  .brand-lockup img{
    width:100% !important;
  }
}

.logo{
  gap:0 !important;
}
.logo .brand-mark{
  width:210px !important;
  height:56px !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.08)) drop-shadow(0 0 8px rgba(255,40,40,.10)) !important;
}
.logo .logo-copy{
  display:none !important;
}
header .logo{
  min-width:210px !important;
}
footer .logo .brand-mark{
  width:250px !important;
  height:72px !important;
}

.brand-lockup{
  max-width:620px !important;
}
.brand-lockup img{
  width:min(92%,540px) !important;
  margin:0 auto !important;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.08))
    drop-shadow(0 0 10px rgba(255,30,30,.12))
    drop-shadow(0 18px 30px rgba(0,0,0,.35)) !important;
}

.concept-logo-panel{
  justify-content:center !important;
  min-height:180px !important;
}
.concept-logo-panel img{
  width:min(92%,520px) !important;
  max-width:520px !important;
  filter:
    drop-shadow(0 0 7px rgba(255,255,255,.08))
    drop-shadow(0 0 10px rgba(255,30,30,.10)) !important;
}

@media(max-width:980px){
  .logo .brand-mark{
    width:180px !important;
    height:48px !important;
  }
}
@media(max-width:620px){
  .logo .brand-mark{
    width:152px !important;
    height:42px !important;
  }
  header .logo{
    min-width:152px !important;
  }
  .brand-lockup img{
    width:100% !important;
  }
}

header .logo{
  min-width:189px !important;
}
header .logo .brand-mark{
  width:189px !important;
  height:50px !important;
}

.hero-concept{
  min-height:520px !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(180,205,90,.07), transparent 24%),
    radial-gradient(circle at 84% 22%, rgba(223,232,190,.05), transparent 26%),
    linear-gradient(145deg, #0e120e 0%, #131913 42%, #0b0f0b 100%) !important;
  border:1px solid rgba(170,190,105,.14) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:42px !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.hero-concept:before{
  background:
    linear-gradient(rgba(155,175,85,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(155,175,85,.04) 1px,transparent 1px) !important;
  background-size:38px 38px !important;
  opacity:.85 !important;
}

.hero-concept:after{
  width:430px !important;
  height:430px !important;
  right:-120px !important;
  top:-130px !important;
  border-color:rgba(168,190,98,.08) !important;
  box-shadow:
    0 0 0 72px rgba(168,190,98,.035),
    0 0 0 144px rgba(168,190,98,.016) !important;
}

.brand-lockup{
  width:100% !important;
  max-width:760px !important;
  min-height:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px 40px !important;
  border-radius:30px !important;
  position:relative !important;
  z-index:3 !important;
  background:
    linear-gradient(145deg, rgba(28,32,28,.96) 0%, rgba(14,17,14,.98) 100%) !important;
  border:1px solid rgba(196,208,169,.10) !important;
  box-shadow:
    0 22px 50px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -18px 40px rgba(255,255,255,.01) !important;
}

.brand-lockup:before{
  content:"" !important;
  position:absolute !important;
  inset:12px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.04) !important;
  pointer-events:none !important;
}

.brand-lockup img{
  width:min(88%,520px) !important;
  height:auto !important;
  display:block !important;
  margin:0 auto !important;
  filter:
    drop-shadow(0 0 6px rgba(255,255,255,.06))
    drop-shadow(0 0 8px rgba(255,45,45,.10))
    drop-shadow(0 16px 24px rgba(0,0,0,.28)) !important;
}

.brand-lockup .cmse-word,
.brand-lockup .brand-full,
.brand-lockup .brand-techline{
  display:none !important;
}

.concept-line{
  background:rgba(178,200,102,.38) !important;
  opacity:1 !important;
}
.concept-line.l1,
.concept-line.l2{
  width:88px !important;
  top:50% !important;
}
.concept-line:after{
  background:#eef5d7 !important;
  border-color:rgba(178,200,102,.65) !important;
}

@media(max-width:980px){
  header .logo{
    min-width:162px !important;
  }
  header .logo .brand-mark{
    width:162px !important;
    height:44px !important;
  }
  .brand-lockup{
    max-width:680px !important;
    min-height:200px !important;
    padding:24px 30px !important;
  }
  .brand-lockup img{
    width:min(92%,470px) !important;
  }
}

@media(max-width:620px){
  header .logo{
    min-width:137px !important;
  }
  header .logo .brand-mark{
    width:137px !important;
    height:38px !important;
  }
  .hero-concept{
    min-height:360px !important;
    padding:22px !important;
    border-radius:24px !important;
  }
  .brand-lockup{
    min-height:150px !important;
    padding:18px 20px !important;
    border-radius:22px !important;
  }
  .brand-lockup:before{
    inset:8px !important;
    border-radius:16px !important;
  }
  .brand-lockup img{
    width:100% !important;
    max-width:340px !important;
  }
  .concept-line.l1,
  .concept-line.l2{
    width:42px !important;
  }
}

.logo{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}
.logo .brand-mark{
  width:40px !important;
  height:40px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 2px 6px rgba(255,255,255,.08)) !important;
}
.logo .logo-copy{
  display:block !important;
}
.logo .logo-main{
  display:inline-flex !important;
  align-items:flex-end !important;
  gap:0 !important;
  font-family:"Arial","Helvetica Neue",sans-serif !important;
  font-size:34px !important;
  font-weight:300 !important;
  letter-spacing:.12em !important;
  line-height:.92 !important;
  color:#f5f6f3 !important;
  white-space:nowrap !important;
}
.logo .logo-main .cms{
  color:#f5f6f3 !important;
}
.logo .logo-main .e{
  color:#ff2b30 !important;
  font-size:1.06em !important;
  line-height:.9 !important;
  display:inline-block !important;
  transform:translateY(.015em) !important;
  margin-left:.02em !important;
}
.logo .logo-sub{
  display:none !important;
}

header .logo{
  min-width:auto !important;
}
header .logo .brand-mark{
  width:36px !important;
  height:36px !important;
}
header .logo .logo-main{
  font-size:33px !important;
}

footer .logo .brand-mark{
  width:42px !important;
  height:42px !important;
}
footer .logo .logo-main{
  font-size:38px !important;
}

.brand-lockup{
  width:100% !important;
  max-width:760px !important;
  min-height:220px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px 40px !important;
  border-radius:30px !important;
  position:relative !important;
  z-index:3 !important;
  background:linear-gradient(145deg, rgba(28,32,28,.96) 0%, rgba(14,17,14,.98) 100%) !important;
  border:1px solid rgba(196,208,169,.10) !important;
  box-shadow:0 22px 50px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04), inset 0 -18px 40px rgba(255,255,255,.01) !important;
}
.brand-lockup:before{
  content:"" !important;
  position:absolute !important;
  inset:12px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.04) !important;
  pointer-events:none !important;
}
.hero-logo-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:26px !important;
  width:100% !important;
}
.hero-symbol{
  width:98px !important;
  height:98px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 6px 16px rgba(255,255,255,.06)) !important;
}
.hero-wordmark{
  display:inline-flex !important;
  align-items:flex-end !important;
  font-family:"Arial","Helvetica Neue",sans-serif !important;
  font-size:92px !important;
  font-weight:300 !important;
  letter-spacing:.10em !important;
  line-height:.9 !important;
  color:#f7f7f4 !important;
  white-space:nowrap !important;
}
.hero-wordmark .cms{
  color:#f7f7f4 !important;
}
.hero-wordmark .e{
  color:#ff2b30 !important;
  font-size:1.06em !important;
  line-height:.9 !important;
  display:inline-block !important;
  transform:translateY(.018em) !important;
  margin-left:.02em !important;
}

.concept-logo-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:20px !important;
}
.concept-logo-panel img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
}
.concept-logo-panel .bigword{
  font-family:"Arial","Helvetica Neue",sans-serif !important;
  font-size:58px !important;
  font-weight:300 !important;
  letter-spacing:.10em !important;
  line-height:.9 !important;
  color:#f5f6f3 !important;
}
.concept-logo-panel .bigword .c,
.concept-logo-panel .bigword .cms{
  color:#f5f6f3 !important;
}
.concept-logo-panel .bigword .e{
  color:#ff2b30 !important;
  font-size:1.06em !important;
}

@media(max-width:980px){
  header .logo .brand-mark{
    width:32px !important;
    height:32px !important;
  }
  header .logo .logo-main{
    font-size:29px !important;
  }
  .hero-symbol{
    width:84px !important;
    height:84px !important;
  }
  .hero-wordmark{
    font-size:74px !important;
  }
}
@media(max-width:620px){
  .logo{
    gap:8px !important;
  }
  header .logo .brand-mark{
    width:27px !important;
    height:27px !important;
  }
  header .logo .logo-main{
    font-size:22px !important;
    letter-spacing:.08em !important;
  }
  footer .logo .brand-mark{
    width:30px !important;
    height:30px !important;
  }
  footer .logo .logo-main{
    font-size:28px !important;
  }
  .brand-lockup{
    min-height:146px !important;
    padding:18px 20px !important;
    border-radius:22px !important;
  }
  .brand-lockup:before{
    inset:8px !important;
    border-radius:16px !important;
  }
  .hero-logo-row{
    gap:14px !important;
  }
  .hero-symbol{
    width:54px !important;
    height:54px !important;
  }
  .hero-wordmark{
    font-size:42px !important;
    letter-spacing:.06em !important;
  }
}

.brand-lockup .hero-logo-row img.hero-symbol{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  flex:0 0 72px !important;
  object-fit:contain !important;
  margin:0 !important;
}

.hero-logo-row{
  align-items:center !important;
  gap:24px !important;
}

header .logo .brand-mark{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
}
header .logo .logo-main{
  font-size:33px !important;
}

footer .logo .brand-mark{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
}
footer .logo .logo-main{
  font-size:38px !important;
}

@media(max-width:980px){
  .brand-lockup .hero-logo-row img.hero-symbol{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    flex-basis:58px !important;
  }
  .hero-logo-row{
    gap:20px !important;
  }
  header .logo .brand-mark{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
  }
}

@media(max-width:620px){
  .brand-lockup .hero-logo-row img.hero-symbol{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    flex-basis:34px !important;
  }
  .hero-logo-row{
    gap:12px !important;
  }
  header .logo .brand-mark{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
  }
  footer .logo .brand-mark{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
  }
}

.logo .logo-main,
.hero-wordmark{
  font-family:
    "Arial Rounded MT Bold",
    "Aptos",
    "Trebuchet MS",
    "Segoe UI",
    sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.105em !important;
}

.logo .logo-main .e,
.hero-wordmark .e{
  color:#ff2b30 !important;
}

header .logo .brand-mark{
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  height:33px !important;
  object-fit:fill !important;
  margin:0 !important;
}

header .logo .logo-main{
  font-size:33px !important;
  line-height:1 !important;
}

.brand-lockup .hero-logo-row img.hero-symbol{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:88px !important;
  flex:0 0 72px !important;
  object-fit:fill !important;
  margin:0 !important;
}

.hero-wordmark{
  font-size:92px !important;
  line-height:.92 !important;
}

.hero-wordmark .e{
  font-size:1.04em !important;
  line-height:.91 !important;
  transform:translateY(.01em) !important;
}

footer .logo .brand-mark{
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:38px !important;
  object-fit:fill !important;
}

footer .logo .logo-main{
  font-size:38px !important;
  line-height:1 !important;
}

@media(max-width:980px){
  header .logo .brand-mark{
    width:23px !important;
    min-width:23px !important;
    max-width:23px !important;
    height:29px !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:71px !important;
    flex:0 0 58px !important;
  }

  .hero-wordmark{
    font-size:74px !important;
  }
}

@media(max-width:620px){
  header .logo .brand-mark{
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    height:23px !important;
  }

  header .logo .logo-main{
    font-size:22px !important;
    letter-spacing:.075em !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:42px !important;
    flex:0 0 34px !important;
  }

  .hero-wordmark{
    font-size:42px !important;
    letter-spacing:.055em !important;
  }

  footer .logo .brand-mark{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:28px !important;
  }
}

.logo .logo-main,
.hero-wordmark{
  font-family:
    "Trebuchet MS",
    "Segoe UI",
    "Aptos",
    sans-serif !important;
  font-weight:300 !important;
  letter-spacing:.11em !important;
  line-height:1 !important;
}

.logo .logo-main .cms,
.hero-wordmark .cms{
  color:#f5f5f2 !important;
  font-weight:300 !important;
  letter-spacing:.11em !important;
  text-rendering:geometricPrecision !important;
}

.logo .logo-main .e,
.hero-wordmark .e{
  display:none !important;
}

.logo .logo-main .e-bars,
.hero-wordmark .e-bars{
  display:inline-flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-self:center !important;
  margin-left:.05em !important;
  position:relative !important;
  top:.01em !important;
  box-sizing:border-box !important;
}

.logo .logo-main .e-bars{
  width:.58em !important;
  height:.72em !important;
}

.hero-wordmark .e-bars{
  width:.58em !important;
  height:.72em !important;
}

.logo .logo-main .e-bars span,
.hero-wordmark .e-bars span{
  display:block !important;
  width:100% !important;
  height:.123em !important;
  background:#ff2b30 !important;
  border-radius:999px !important;
  box-shadow:0 0 6px rgba(255,43,48,.08) !important;
}

header .logo .brand-mark{
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  height:29px !important;
  object-fit:fill !important;
}

.brand-lockup .hero-logo-row img.hero-symbol{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:84px !important;
  flex:0 0 72px !important;
  object-fit:fill !important;
}

footer .logo .brand-mark{
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:34px !important;
  object-fit:fill !important;
}

.hero-wordmark{
  font-size:92px !important;
  line-height:.92 !important;
}

@media(max-width:980px){

  header .logo .brand-mark{
    width:23px !important;
    min-width:23px !important;
    max-width:23px !important;
    height:25px !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:67px !important;
    flex:0 0 58px !important;
  }

  .hero-wordmark{
    font-size:74px !important;
  }
}

@media(max-width:620px){

  header .logo .brand-mark{
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    height:19px !important;
  }

  header .logo .logo-main{
    font-size:22px !important;
    letter-spacing:.075em !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:38px !important;
    flex:0 0 34px !important;
  }

  .hero-wordmark{
    font-size:42px !important;
    letter-spacing:.055em !important;
  }

  footer .logo .brand-mark{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:24px !important;
  }
}

.logo .logo-main,
.hero-wordmark{
  display:inline-flex !important;
  align-items:center !important;
  gap:.08em !important;
  line-height:1 !important;
}

.logo .logo-main .cms-image,
.hero-wordmark .cms-image{
  display:block !important;
  width:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.06)) !important;
}

header .logo .logo-main{
  font-size:33px !important;
}
header .logo .logo-main .cms-image{
  height:26px !important;
}

footer .logo .logo-main{
  font-size:38px !important;
}
footer .logo .logo-main .cms-image{
  height:30px !important;
}

.hero-wordmark{
  font-size:92px !important;
}
.hero-wordmark .cms-image{
  height:72px !important;
}

.logo .logo-main .e-bars,
.hero-wordmark .e-bars{
  display:inline-flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-self:center !important;
  box-sizing:border-box !important;
  margin-left:.04em !important;
}

.logo .logo-main .e-bars{
  width:.58em !important;
  height:.72em !important;
}

.hero-wordmark .e-bars{
  width:.58em !important;
  height:.72em !important;
}

.logo .logo-main .e-bars span,
.hero-wordmark .e-bars span{
  display:block !important;
  width:100% !important;
  height:.123em !important;
  background:#ff2b30 !important;
  border-radius:999px !important;
  box-shadow:0 0 6px rgba(255,43,48,.08) !important;
}

header .logo .brand-mark{
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  height:19px !important;
  object-fit:fill !important;
}

.brand-lockup .hero-logo-row img.hero-symbol{
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:74px !important;
  flex:0 0 72px !important;
  object-fit:fill !important;
}

footer .logo .brand-mark{
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:24px !important;
  object-fit:fill !important;
}

@media(max-width:980px){
  header .logo .logo-main{
    font-size:29px !important;
  }
  header .logo .logo-main .cms-image{
    height:23px !important;
  }
  header .logo .brand-mark{
    width:23px !important;
    min-width:23px !important;
    max-width:23px !important;
    height:15px !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:57px !important;
    flex:0 0 58px !important;
  }
  .hero-wordmark{
    font-size:74px !important;
  }
  .hero-wordmark .cms-image{
    height:58px !important;
  }
}

@media(max-width:620px){
  header .logo .logo-main{
    font-size:22px !important;
    letter-spacing:.04em !important;
  }
  header .logo .logo-main .cms-image{
    height:17px !important;
  }
  header .logo .brand-mark{
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    height:13px !important;
  }

  .brand-lockup .hero-logo-row img.hero-symbol{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:28px !important;
    flex:0 0 34px !important;
  }
  .hero-wordmark{
    font-size:42px !important;
    letter-spacing:.04em !important;
  }
  .hero-wordmark .cms-image{
    height:32px !important;
  }

  footer .logo .logo-main{
    font-size:28px !important;
  }
  footer .logo .logo-main .cms-image{
    height:22px !important;
  }
  footer .logo .brand-mark{
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:18px !important;
  }
}

.logo .logo-main .cms-image,
.hero-wordmark .cms-image{
  transform:scaleX(0.90) !important;
  transform-origin:left center !important;
}

.logo .logo-main .e-bars,
.hero-wordmark .e-bars{
  width:.72em !important;
}

header .logo .logo-main{
  gap:.02em !important;
}
header .logo .logo-main .cms-image{
  height:26px !important;
}
header .logo .logo-main .e-bars{
  height:.72em !important;
  margin-left:.01em !important;
}

.hero-wordmark{
  gap:.02em !important;
}
.hero-wordmark .cms-image{
  height:72px !important;
}
.hero-wordmark .e-bars{
  height:.72em !important;
  margin-left:.005em !important;
}
.hero-wordmark .e-bars span{
  height:.123em !important;
}

footer .logo .logo-main{
  gap:.02em !important;
}
footer .logo .logo-main .cms-image{
  height:30px !important;
}
footer .logo .logo-main .e-bars{
  height:.72em !important;
  margin-left:.01em !important;
}

@media(max-width:980px){
  .logo .logo-main .e-bars,
  .hero-wordmark .e-bars{
    width:.70em !important;
  }
}

@media(max-width:620px){
  .logo .logo-main .cms-image,
  .hero-wordmark .cms-image{
    transform:scaleX(0.92) !important;
  }
  .logo .logo-main .e-bars,
  .hero-wordmark .e-bars{
    width:.68em !important;
  }
}

header .logo .logo-main .cms-image{
  height:23.4px !important;
}

.hero-wordmark .cms-image{
  height:64.8px !important;
}

footer .logo .logo-main .cms-image{
  height:27px !important;
}

@media(max-width:980px){
  header .logo .logo-main .cms-image{
    height:20.7px !important;
  }
  .hero-wordmark .cms-image{
    height:52.2px !important;
  }
}

@media(max-width:620px){
  header .logo .logo-main .cms-image{
    height:15.3px !important;
  }
  .hero-wordmark .cms-image{
    height:28.8px !important;
  }
  footer .logo .logo-main .cms-image{
    height:19.8px !important;
  }
}

.logo .logo-main .cms-image,
.hero-wordmark .cms-image{
  transform:none !important;
  transform-origin:center !important;
}

header .logo .logo-main .cms-image{
  height:23.634px !important;
}

header .logo .logo-main .e-bars{
  width:23.45px !important;
  height:23.634px !important;
  margin-left:0 !important;
}

header .logo .logo-main{
  gap:7.64px !important;
}

.hero-wordmark .cms-image{
  height:65.448px !important;
}
.hero-wordmark .e-bars{
  width:64.94px !important;
  height:65.448px !important;
  margin-left:0 !important;
}
.hero-wordmark{
  gap:21.14px !important;
}

footer .logo .logo-main .cms-image{
  height:27.27px !important;
}
footer .logo .logo-main .e-bars{
  width:27.06px !important;
  height:27.27px !important;
  margin-left:0 !important;
}
footer .logo .logo-main{
  gap:8.81px !important;
}

header .logo .logo-main .e-bars span{
  height:5.06px !important;
}
.hero-wordmark .e-bars span{
  height:14.03px !important;
}
footer .logo .logo-main .e-bars span{
  height:5.865px !important;
}

@media(max-width:980px){
  header .logo .logo-main .cms-image{
    height:20.907px !important;
  }
  header .logo .logo-main .e-bars{
    width:20.75px !important;
    height:20.907px !important;
  }
  header .logo .logo-main{
    gap:6.75px !important;
  }

  .hero-wordmark .cms-image{
    height:52.722px !important;
  }
  .hero-wordmark .e-bars{
    width:52.32px !important;
    height:52.722px !important;
  }
  .hero-wordmark{
    gap:17.03px !important;
  }
}

@media(max-width:620px){
  header .logo .logo-main .cms-image{
    height:15.453px !important;
  }
  header .logo .logo-main .e-bars{
    width:15.33px !important;
    height:15.453px !important;
  }
  header .logo .logo-main{
    gap:4.99px !important;
  }

  .hero-wordmark .cms-image{
    height:29.088px !important;
  }
  .hero-wordmark .e-bars{
    width:28.86px !important;
    height:29.088px !important;
  }
  .hero-wordmark{
    gap:9.39px !important;
  }

  footer .logo .logo-main .cms-image{
    height:19.998px !important;
  }
  footer .logo .logo-main .e-bars{
    width:19.84px !important;
    height:19.998px !important;
  }
  footer .logo .logo-main{
    gap:6.46px !important;
  }

  header .logo .logo-main .e-bars span{
    height:2.61px !important;
  }
  .hero-wordmark .e-bars span{
    height:4.86px !important;
  }
  footer .logo .logo-main .e-bars span{
    height:3.33px !important;
  }
}

.logo .logo-main .cms-image,
.hero-wordmark .cms-image{
  transform:scaleX(0.90) !important;
  transform-origin:left center !important;
}

header .logo .logo-main .cms-image{
  height:24.10668px !important;
}

header .logo .logo-main .e-bars{
  width:23.919px !important;
  height:24.10668px !important;
  margin-left:0 !important;
}

header .logo .logo-main{
  gap:6.876px !important;
}

.hero-wordmark .cms-image{
  height:66.75696px !important;
}

.hero-wordmark .e-bars{
  width:66.2388px !important;
  height:66.75696px !important;
  margin-left:0 !important;
}

.hero-wordmark{
  gap:19.026px !important;
}

footer .logo .logo-main .cms-image{
  height:27.8154px !important;
}

footer .logo .logo-main .e-bars{
  width:27.6012px !important;
  height:27.8154px !important;
  margin-left:0 !important;
}

footer .logo .logo-main{
  gap:7.929px !important;
}

header .logo .logo-main .e-bars span{
  height:5.161px !important;
}

.hero-wordmark .e-bars span{
  height:14.311px !important;
}

footer .logo .logo-main .e-bars span{
  height:5.982px !important;
}

@media(max-width:980px){
  header .logo .logo-main .cms-image{
    height:21.32514px !important;
  }
  header .logo .logo-main .e-bars{
    width:21.165px !important;
    height:21.32514px !important;
  }
  header .logo .logo-main{
    gap:6.075px !important;
  }

  .hero-wordmark .cms-image{
    height:53.77644px !important;
  }
  .hero-wordmark .e-bars{
    width:53.3664px !important;
    height:53.77644px !important;
  }
  .hero-wordmark{
    gap:15.327px !important;
  }
}

@media(max-width:620px){
  .logo .logo-main .cms-image,
  .hero-wordmark .cms-image{
    transform:scaleX(0.90) !important;
  }

  header .logo .logo-main .cms-image{
    height:15.76206px !important;
  }
  header .logo .logo-main .e-bars{
    width:15.6366px !important;
    height:15.76206px !important;
  }
  header .logo .logo-main{
    gap:4.491px !important;
  }

  .hero-wordmark .cms-image{
    height:29.66976px !important;
  }
  .hero-wordmark .e-bars{
    width:29.4372px !important;
    height:29.66976px !important;
  }
  .hero-wordmark{
    gap:8.451px !important;
  }

  footer .logo .logo-main .cms-image{
    height:20.39796px !important;
  }
  footer .logo .logo-main .e-bars{
    width:20.2368px !important;
    height:20.39796px !important;
  }
  footer .logo .logo-main{
    gap:5.814px !important;
  }
}

.logo .logo-main .cms-image,
.hero-wordmark .cms-image{
  display:none !important;
}

.cmse-letters{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.cmse-letter{
  display:block !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  filter:none !important;
  image-rendering:auto !important;
}

.cmse-letters > .e-bars{
  display:inline-flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  flex:0 0 auto !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.cmse-letters > .e-bars span{
  display:block !important;
  width:100% !important;
  background:#ff2b30 !important;
  border-radius:999px !important;
  margin:0 !important;
  padding:0 !important;
}

header .logo .logo-main{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}
header .logo .cmse-letters{
  gap:5.785px !important;
}
header .logo .cmse-letter{
  height:24.830px !important;
}
header .logo .letter-c{width:24.830px !important;}
header .logo .letter-m{width:28.650px !important;}
header .logo .letter-s{width:24.193px !important;}
header .logo .e-bars{
  width:24.637px !important;
  height:24.830px !important;
}
header .logo .e-bars span{
  height:4.068px !important;
}

.hero-wordmark{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.hero-wordmark .cmse-letters{
  gap:16.025px !important;
}
.hero-wordmark .cmse-letter{
  height:68.760px !important;
}
.hero-wordmark .letter-c{width:68.760px !important;}
.hero-wordmark .letter-m{width:79.338px !important;}
.hero-wordmark .letter-s{width:67.000px !important;}
.hero-wordmark .e-bars{
  width:68.226px !important;
  height:68.760px !important;
}
.hero-wordmark .e-bars span{
  height:11.276px !important;
}

footer .logo .logo-main{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}
footer .logo .cmse-letters{
  gap:6.680px !important;
}
footer .logo .cmse-letter{
  height:28.650px !important;
}
footer .logo .letter-c{width:28.650px !important;}
footer .logo .letter-m{width:33.058px !important;}
footer .logo .letter-s{width:27.915px !important;}
footer .logo .e-bars{
  width:28.429px !important;
  height:28.650px !important;
}
footer .logo .e-bars span{
  height:4.714px !important;
}

@media(max-width:980px){
  header .logo .cmse-letters{
    gap:5.10px !important;
  }
  header .logo .cmse-letter{
    height:21.965px !important;
  }
  header .logo .letter-c{width:21.965px !important;}
  header .logo .letter-m{width:25.344px !important;}
  header .logo .letter-s{width:21.402px !important;}
  header .logo .e-bars{
    width:21.796px !important;
    height:21.965px !important;
  }

  .hero-wordmark .cmse-letters{
    gap:13.62px !important;
  }
  .hero-wordmark .cmse-letter{
    height:55.390px !important;
  }
  .hero-wordmark .letter-c{width:55.390px !important;}
  .hero-wordmark .letter-m{width:63.911px !important;}
  .hero-wordmark .letter-s{width:53.970px !important;}
  .hero-wordmark .e-bars{
    width:54.968px !important;
    height:55.390px !important;
  }
}

@media(max-width:620px){
  header .logo .cmse-letters{
    gap:3.80px !important;
  }
  header .logo .cmse-letter{
    height:16.235px !important;
  }
  header .logo .letter-c{width:16.235px !important;}
  header .logo .letter-m{width:18.733px !important;}
  header .logo .letter-s{width:15.819px !important;}
  header .logo .e-bars{
    width:16.105px !important;
    height:16.235px !important;
  }

  .hero-wordmark .cmse-letters{
    gap:7.51px !important;
  }
  .hero-wordmark .cmse-letter{
    height:30.560px !important;
  }
  .hero-wordmark .letter-c{width:30.560px !important;}
  .hero-wordmark .letter-m{width:35.262px !important;}
  .hero-wordmark .letter-s{width:29.776px !important;}
  .hero-wordmark .e-bars{
    width:30.327px !important;
    height:30.560px !important;
  }

  footer .logo .cmse-letters{
    gap:5.17px !important;
  }
  footer .logo .cmse-letter{
    height:21.010px !important;
  }
  footer .logo .letter-c{width:21.010px !important;}
  footer .logo .letter-m{width:24.242px !important;}
  footer .logo .letter-s{width:20.471px !important;}
  footer .logo .e-bars{
    width:20.849px !important;
    height:21.010px !important;
  }
}

.composite-logo{
  display:block !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

header .logo{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}

header .logo .composite-logo{
  height:34px !important;
  width:auto !important;
}

footer .logo{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}

footer .logo .composite-logo{
  height:36px !important;
  width:auto !important;
}

@media (max-width:980px){
  header .logo .composite-logo{
    height:30px !important;
  }
  footer .logo .composite-logo{
    height:32px !important;
  }
}

@media (max-width:620px){
  header .logo .composite-logo{
    height:24px !important;
  }
  footer .logo .composite-logo{
    height:26px !important;
  }
}

header .logo,
footer .logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  min-width:0 !important;
}

header .logo .composite-logo,
footer .logo .composite-logo{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  object-fit:contain !important;
  object-position:left center !important;
  max-width:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

header .logo .composite-logo{
  width:121px !important;
  height:34px !important;
}

footer .logo .composite-logo{
  width:128px !important;
  height:36px !important;
}

@media(max-width:980px){
  header .logo .composite-logo{
    width:107px !important;
    height:30px !important;
  }
  footer .logo .composite-logo{
    width:114px !important;
    height:32px !important;
  }
}

@media(max-width:620px){
  header .logo .composite-logo{
    width:85px !important;
    height:24px !important;
  }
  footer .logo .composite-logo{
    width:93px !important;
    height:26px !important;
  }
}

.hero-concept{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
  padding: 20px 0 !important;
}

.hero-concept:before,
.hero-concept:after{
  display:none !important;
  content:none !important;
}

.hero-badge,
.concept-line{
  display:none !important;
}

.brand-lockup{
  margin: 0 auto !important;
  background: linear-gradient(145deg, rgba(22,25,22,.98) 0%, rgba(10,12,10,.99) 100%) !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.hero-concept > .brand-lockup{
  max-width: 760px !important;
}

@media(max-width:620px){
  .hero-concept{
    padding: 10px 0 !important;
  }
  .brand-lockup{
    border-radius: 22px !important;
  }
}

.brand-lockup{
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.brand-lockup:before{
  border: 1px solid rgba(255,255,255,.16) !important;
}

.concept-logo-panel,
.logo-card{
  border-color: rgba(255,255,255,.22) !important;
}

.concept-logo-panel:before,
.logo-card:before{
  border-color: rgba(255,255,255,.14) !important;
}

.hero h1{
  font-size:clamp(35.84px,4.352vw,61.44px) !important;
}

.pagehero h1{
  font-size:clamp(32px,3.84vw,52.48px) !important;
}

@media(max-width:620px){
  .hero h1{
    font-size:35.84px !important;
  }
  .pagehero h1{
    font-size:30.08px !important;
  }
}

.links{
  align-items:center !important;
}
.lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:-15px;
  margin-right:-8px;
}
.lang-btn{
  width:31px;
  height:25px;
  padding:3px;
  border:1px solid #343a32;
  border-radius:7px;
  background:#151915;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.72;
  transition:.18s ease;
}
.lang-btn svg{
  display:block;
  width:23px;
  height:15px;
  border-radius:2px;
}
.lang-btn:hover{
  opacity:1;
  border-color:#727b6b;
  transform:translateY(-1px);
}
.lang-btn.active{
  opacity:1;
  border-color:#dce7c9;
  box-shadow:0 0 0 1px rgba(220,231,201,.18);
}
@media(max-width:980px){
  .links.open .lang-switcher{
    order:1;
    margin:2px 0 9px;
    gap:9px;
  }
  .links.open .lang-btn{
    width:36px;
    height:29px;
  }
  .links.open .lang-btn svg{
    width:27px;
    height:18px;
  }
}

@media(max-width:980px){
  .links.open{
    background:#0d110d !important;
    border-bottom:1px solid #2b3129 !important;
    box-shadow:0 18px 36px rgba(0,0,0,.35) !important;
  }

  .links.open a{
    color:#eef3e9 !important;
  }

  .links.open a:hover,
  .links.open a.active{
    color:#d7eb86 !important;
  }

  .links.open a:after{
    background:#c8df6a !important;
  }

  .links.open .lang-switcher{
    padding-top:4px !important;
  }

  .links.open .lang-btn{
    background:#151a15 !important;
    border-color:#3a4237 !important;
  }

  .links.open .lang-btn.active{
    border-color:#e4ecd6 !important;
    box-shadow:0 0 0 1px rgba(228,236,214,.16) !important;
  }
}


.lang-switcher{
  margin-left:0 !important;
  margin-right:14px !important;
}
@media(max-width:980px){
  .links.open .lang-switcher{
    margin:2px 0 12px 0 !important;
  }
}


/* V64 Multilingual */
.lang-switcher{gap:5px !important;margin-right:14px !important}
.lang-btn{text-decoration:none !important}
@media(max-width:980px){.links.open .lang-switcher{display:flex !important;flex-wrap:wrap !important}}


/* V76 - E bar thickness tuning: desktop +20%, mobile -10%; keep CMS/E heights aligned */
@media (min-width:981px){
  header .logo .e-bars{
    height:24.830px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  header .logo .e-bars span{height:4.244px !important;}

  .hero-wordmark .e-bars{
    height:68.760px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  .hero-wordmark .e-bars span{height:11.766px !important;}

  footer .logo .e-bars{
    height:28.650px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  footer .logo .e-bars span{height:4.919px !important;}
}

@media (max-width:620px){
  header .logo .e-bars{
    height:16.235px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  header .logo .e-bars span{height:3.183px !important;}

  .hero-wordmark .e-bars{
    height:30.560px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  .hero-wordmark .e-bars span{height:8.825px !important;}

  footer .logo .e-bars{
    height:21.010px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  footer .logo .e-bars span{height:3.689px !important;}
}


/* V77 - force desktop E bars +20% thicker from V76; preserve CMS/E overall height */
@media (min-width:981px){
  header .logo .e-bars{
    height:24.830px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  header .logo .e-bars > span{
    height:5.093px !important;
    min-height:5.093px !important;
    max-height:5.093px !important;
    flex:0 0 5.093px !important;
  }

  .hero-wordmark .e-bars{
    height:68.760px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  .hero-wordmark .e-bars > span{
    height:14.119px !important;
    min-height:14.119px !important;
    max-height:14.119px !important;
    flex:0 0 14.119px !important;
  }

  footer .logo .e-bars{
    height:28.650px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  footer .logo .e-bars > span{
    height:5.903px !important;
    min-height:5.903px !important;
    max-height:5.903px !important;
    flex:0 0 5.903px !important;
  }
}


/* V78 - force mobile E bars 15% thinner from V77; desktop V77 unchanged */
@media (max-width:620px){
  header .logo .e-bars{
    height:16.235px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  header .logo .e-bars > span{
    height:2.706px !important;
    min-height:2.706px !important;
    max-height:2.706px !important;
    flex:0 0 2.706px !important;
  }

  .hero-wordmark .e-bars{
    height:30.560px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  .hero-wordmark .e-bars > span{
    height:7.501px !important;
    min-height:7.501px !important;
    max-height:7.501px !important;
    flex:0 0 7.501px !important;
  }

  footer .logo .e-bars{
    height:21.010px !important;
    align-self:center !important;
    justify-content:space-between !important;
  }
  footer .logo .e-bars > span{
    height:3.136px !important;
    min-height:3.136px !important;
    max-height:3.136px !important;
    flex:0 0 3.136px !important;
  }
}

/* V79 - sharpen CMS letter images; preserve E bar tuning */
.cmse-letter{
  filter:none !important;
  image-rendering:auto !important;
  backface-visibility:hidden !important;
  -webkit-font-smoothing:antialiased;
}


.hero-main-logo-v85{display:block!important;width:auto!important;height:74px!important;max-width:100%!important;object-fit:contain!important;margin:0!important;padding:0!important}
@media(max-width:980px){.hero-main-logo-v85{height:57px!important}}
@media(max-width:620px){.hero-main-logo-v85{height:28px!important}}

/* V106 - keep Meaning Behind the Mark below the hero without overlap */
@media (min-width:981px){
  .meaning-section{
    margin-top:0 !important;
  }
}


/* V109 - page-specific automation background photos; layout/content unchanged */
body.page-home{
  background-image:linear-gradient(rgba(5,8,10,.48),rgba(5,8,10,.58)),url("bg_home_v109.webp") !important;
  background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important;background-attachment:fixed !important;
}

/* V110 - slightly brighter page background photos while preserving text contrast */

/* V112 - mobile background should show the right-side image area */
@media (max-width: 980px){
  body.page-home{
    background-position:right center !important;
    background-attachment:scroll !important;
  }
}
