* {
box-sizing: border-box;
}

html {
font-size: 100%;
scroll-behavior: auto;
}

body {
margin: 0;
min-height: 100dvh;
overflow-x: hidden;
}

.topbar {
width: 100%;
background: linear-gradient(90deg, #8FB043 0%, #AED3AA 100%);
padding: 8px 0;
}

.topbar-hold {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 32px;
}

.topbar-contact {
display: flex;
align-items: center;
gap: 4px;
text-decoration: none;
color: #fff;
font-family: 'Roboto', sans-serif;
font-size: 14px;
line-height: 1.2;
font-weight: 700;
letter-spacing: -0.01em;
transition: color 0.15s ease-out;
}

.topbar-contact:hover {
color: #F5F7F5;
}

.topbar-contact:focus {
outline: 2px solid #fff;
outline-offset: 2px;
border-radius: 2px;
}

.topbar-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
}

header {
width: 100%;
background: #F5F7F5;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
position: relative;
}

.hd-shell {
max-width: 1500px;
margin: 0 auto;
padding: 0 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
min-height: 96px;
}

.brand-mount {
flex-shrink: 0;
margin-left: 16px;
display: flex;
align-items: center;
}

.brand-frame {
display: flex;
align-items: center;
justify-content: center;
width: 88px;
height: 88px;
border-radius: 14px;
background: #fff;
border-bottom: 3px solid #8FB043;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07), -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
text-decoration: none;
padding: 8px;
}

.brand-frame img {
width: 72px;
height: 72px;
object-fit: contain;
display: block;
}

.brand-frame:focus {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

.mainnav {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;
}

.mainnav-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 4px;
justify-content: flex-end;
}

.mainnav-list li {
display: flex;
}

.mainnav-link {
display: flex;
align-items: center;
padding: 12px 16px;
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.2;
font-weight: 700;
color: #2a2a2a;
text-decoration: none;
border-radius: 7px;
letter-spacing: -0.02em;
transition: background 0.12s ease-out, color 0.12s ease-out;
white-space: nowrap;
min-height: 44px;
}

.mainnav-link:hover {
background: #AED3AA;
color: #2a2a2a;
}

.mainnav-link:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
}

.mainnav-link.active {
background: #8FB043;
color: #fff;
}

.mainnav-link.active:hover {
background: #7a9a38;
color: #fff;
}

footer {
width: 100%;
background: #2a2a2a;
position: relative;
}

.ft-accent {
width: 100%;
height: 6px;
background: linear-gradient(90deg, #8FB043 0%, #AED3AA 60%, #F5F7F5 100%);
}

.ft-shell {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px 32px;
}

.ft-top {
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 48px;
align-items: start;
margin-bottom: 48px;
}

.ft-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.ft-col.right {
align-items: flex-end;
}

.ft-collabel {
font-family: 'Roboto', sans-serif;
font-size: 14px;
font-weight: 700;
color: #AED3AA;
letter-spacing: 0.06em;
text-transform: uppercase;
line-height: 1.2;
}

.ft-navlist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.ft-navlink {
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #d4d4d4;
text-decoration: none;
transition: color 0.15s ease-out;
white-space: nowrap;
}

.ft-navlink:hover {
color: #8FB043;
}

.ft-navlink:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
border-radius: 2px;
}

.ft-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.ft-logoframe {
display: flex;
align-items: center;
justify-content: center;
width: 88px;
height: 88px;
border-radius: 14px;
background: #fff;
border-bottom: 3px solid #8FB043;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07), -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
padding: 8px;
text-decoration: none;
}

.ft-logoframe img {
width: 72px;
height: 72px;
object-fit: contain;
display: block;
}

.ft-logoframe:focus {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

.ft-brandname {
font-family: 'Roboto', sans-serif;
font-size: 24px;
font-weight: 700;
color: #fff;
letter-spacing: -0.03em;
line-height: 1.2;
}

.ft-contactlist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
align-items: flex-end;
}

.ft-contactlink {
font-family: 'Roboto', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #d4d4d4;
text-decoration: none;
transition: color 0.15s ease-out;
white-space: nowrap;
}

.ft-contactlink:hover {
color: #AED3AA;
}

.ft-contactlink:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
border-radius: 2px;
}

.ft-divider {
width: 100%;
height: 1px;
background: rgba(174, 211, 170, 0.15);
margin-bottom: 32px;
}

.ft-bottom {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
}

.ft-meta {
display: flex;
align-items: center;
gap: 32px;
flex-wrap: wrap;
}

.ft-metalink {
font-family: 'Roboto', sans-serif;
font-size: 14px;
line-height: 1.6;
color: #888;
text-decoration: none;
transition: color 0.12s ease-out;
}

.ft-metalink:hover {
color: #AED3AA;
}

.ft-metalink:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
border-radius: 2px;
}

.ft-copy {
font-family: 'Roboto', sans-serif;
font-size: 14px;
line-height: 1.6;
color: #666;
}

.cookie-bar {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 4000;
transform: translateX(-100%);
transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.cookie-bar.showing {
transform: translateX(0);
}

.cookie-inner {
background: #fff;
border-radius: 0 0 14px 0;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
padding: 16px 32px;
display: flex;
align-items: center;
gap: 32px;
flex-wrap: wrap;
max-width: 860px;
}

.cookie-text-hold {
flex: 1;
min-width: 200px;
}

.cookie-headline {
font-family: 'Roboto', sans-serif;
font-size: 16px;
font-weight: 700;
color: #2a2a2a;
line-height: 1.2;
margin-bottom: 4px;
}

.cookie-desc {
font-family: 'Roboto', sans-serif;
font-size: 14px;
color: #555;
line-height: 1.6;
}

.cookie-optout-hold {
display: flex;
align-items: center;
gap: 8px;
}

.cookie-optout-label {
font-family: 'Roboto', sans-serif;
font-size: 14px;
color: #555;
line-height: 1.2;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
}

.cookie-optout-label input[type="checkbox"] {
accent-color: #8FB043;
width: 16px;
height: 16px;
cursor: pointer;
}

.cookie-btns {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0;
}

.cookie-accept {
font-family: 'Roboto', sans-serif;
font-size: 14px;
font-weight: 700;
color: #8FB043;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 4px 0;
line-height: 1.6;
transition: color 0.12s ease-out;
}

.cookie-accept:hover {
color: #7a9a38;
}

.cookie-accept:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
border-radius: 2px;
}

.cookie-decline {
font-family: 'Roboto', sans-serif;
font-size: 14px;
color: #888;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 4px 0;
line-height: 1.6;
transition: color 0.12s ease-out;
}

.cookie-decline:hover {
color: #555;
}

.cookie-decline:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
border-radius: 2px;
}

.prefs-trigger {
position: fixed;
bottom: 16px;
left: 16px;
z-index: 3999;
width: 44px;
height: 44px;
border-radius: 42px;
background: #fff;
border: 2px solid #AED3AA;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
display: none;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.12s ease-out, border-color 0.12s ease-out;
}

.prefs-trigger:hover {
background: #F5F7F5;
border-color: #8FB043;
}

.prefs-trigger:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
}

.prefs-trigger svg {
width: 20px;
height: 20px;
}

.prefs-modal {
display: none;
position: fixed;
bottom: 72px;
left: 16px;
z-index: 4001;
background: #fff;
border-radius: 14px;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
padding: 32px;
width: 320px;
max-width: calc(100vw - 32px);
}

.prefs-title {
font-family: 'Roboto', sans-serif;
font-size: 16px;
font-weight: 700;
color: #2a2a2a;
line-height: 1.2;
margin-bottom: 16px;
}

.prefs-row {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 16px;
}

.prefs-row label {
font-family: 'Roboto', sans-serif;
font-size: 14px;
color: #555;
line-height: 1.6;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
}

.prefs-row input[type="checkbox"] {
accent-color: #8FB043;
width: 16px;
height: 16px;
cursor: pointer;
}

.prefs-save {
font-family: 'Roboto', sans-serif;
font-size: 14px;
font-weight: 700;
color: #fff;
background: #8FB043;
border: none;
border-radius: 7px;
padding: 12px 24px;
cursor: pointer;
width: 100%;
transition: background 0.12s ease-out;
min-height: 44px;
}

.prefs-save:hover {
background: #7a9a38;
}

.prefs-save:focus {
outline: 2px solid #8FB043;
outline-offset: 2px;
}

@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto@latest/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto@latest/400-italic.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto@latest/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/roboto@latest/700-italic.css');
@media (max-width: 900px) {
.hd-shell {
padding: 0 16px;
flex-wrap: wrap;
min-height: auto;
padding-top: 16px;
padding-bottom: 16px;
}

.brand-mount {
margin-left: 0;
}

.mainnav-list {
justify-content: flex-start;
}

.ft-top {
grid-template-columns: 1fr;
}

.ft-col.right {
align-items: flex-start;
}

.ft-contactlist {
align-items: flex-start;
}

.ft-shell {
padding: 32px 16px 16px;
}

.topbar-hold {
padding: 0 16px;
gap: 16px;
}

.ft-bottom {
flex-direction: column;
align-items: flex-start;
}
}

.terms-section {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
color: #2c2c2c;
background: #ffffff;
}

.terms-section h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.02em;
margin-bottom: 32px;
margin-top: 0;
color: #1b1b1b;
}

.terms-section h2 {
font-size: 36px;
line-height: 1.2;
letter-spacing: -0.015em;
margin-top: 96px;
margin-bottom: 24px;
color: #1b1b1b;
}

.terms-section h3 {
font-size: 24px;
line-height: 1.2;
letter-spacing: -0.01em;
margin-top: 48px;
margin-bottom: 16px;
color: #222222;
}

.terms-section h4 {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.02em;
text-transform: uppercase;
margin-top: 32px;
margin-bottom: 16px;
color: #8FB043;
font-weight: 700;
}

.terms-section h5 {
font-size: 16px;
line-height: 1.6;
margin-top: 32px;
margin-bottom: 8px;
color: #2c2c2c;
font-weight: 700;
}

.terms-section h6 {
font-size: 14px;
line-height: 1.6;
margin-top: 16px;
margin-bottom: 8px;
color: #444444;
font-weight: 600;
}

.terms-section p {
font-size: 16px;
line-height: 2.0;
margin-top: 0;
margin-bottom: 16px;
color: #333333;
max-width: 72ch;
}

.terms-section a {
color: #8FB043;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.15s ease-out, text-decoration-color 0.15s ease-out;
}

.terms-section a:hover {
color: #6e8a32;
text-decoration-color: #AED3AA;
}

.terms-section a:visited {
color: #7a9a3a;
}

.terms-section div {
box-sizing: border-box;
}

.terms-section table {
width: 100%;
border-collapse: collapse;
margin-top: 32px;
margin-bottom: 48px;
font-size: 14px;
line-height: 1.6;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
border-radius: 14px;
overflow: hidden;
}

.terms-section thead {
background: #F5F7F5;
}

.terms-section thead tr {
border-bottom: 2px solid #AED3AA;
}

.terms-section tbody tr {
border-bottom: 1px solid #eeeeee;
transition: background 0.12s ease-out;
}

.terms-section tbody tr:last-child {
border-bottom: none;
}

.terms-section tbody tr:hover {
background: #F5F7F5;
}

.terms-section th {
padding: 16px 24px;
text-align: left;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
color: #8FB043;
}

.terms-section td {
padding: 16px 24px;
font-size: 14px;
line-height: 1.6;
color: #333333;
vertical-align: top;
}

@media (max-width: 900px) {
.terms-section {
padding: 48px 32px;
}

.terms-section h1 {
font-size: 36px;
}

.terms-section h2 {
font-size: 24px;
margin-top: 48px;
}

.terms-section h3 {
font-size: 16px;
}

.terms-section table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 7px;
}
}

@media (max-width: 600px) {
.terms-section {
padding: 32px 16px;
}

.terms-section h1 {
font-size: 24px;
}

.terms-section h2 {
font-size: 16px;
margin-top: 32px;
}

.terms-section h3 {
font-size: 14px;
}

.terms-section p {
font-size: 14px;
line-height: 1.6;
}

.terms-section th,
.terms-section td {
padding: 8px 16px;
}
}

.srvdet {
background: #fff;
overflow-x: clip;
}

.srvdet .band {
height: 4px;
background: linear-gradient(120deg, #8FB043 0%, #AED3AA 60%, #F5F7F5 100%);
width: 100%;
}

.srvdet .titlesec {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}

.srvdet .titleleft {
display: flex;
flex-direction: column;
gap: 16px;
}

.srvdet .metarow {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.srvdet .metatag {
font-size: 14px;
color: #555;
line-height: 1.6;
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
}

.srvdet .metatag svg {
width: 14px;
height: 14px;
flex-shrink: 0;
}

.srvdet .metasep {
width: 3px;
height: 3px;
border-radius: 50%;
background: #AED3AA;
display: inline-block;
}

.srvdet .pagetitle {
font-size: 52px;
font-weight: 800;
line-height: 1.2;
letter-spacing: -0.03em;
color: #1e2a14;
}

.srvdet .pagetitle .accent {
color: #8FB043;
}

.srvdet .titledesc {
font-size: 16px;
color: #444;
line-height: 1.6;
max-width: 480px;
}

.srvdet .pricebox {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 8px;
margin-top: 8px;
}

.srvdet .pricenum {
font-size: 36px;
font-weight: 800;
color: #1e2a14;
line-height: 1.2;
}

.srvdet .pricedesc {
font-size: 14px;
color: #666;
line-height: 1.6;
padding-bottom: 4px;
}

.srvdet .btnrow {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-top: 8px;
}

.srvdet .btnprimary {
background: #8FB043;
color: #fff;
border: none;
border-radius: 14px;
font-size: 16px;
font-weight: 700;
padding: 16px 32px;
cursor: pointer;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background 0.18s ease, box-shadow 0.15s ease-out;
position: relative;
overflow: hidden;
}

.srvdet .btnprimary:hover {
background: #7a9a38;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.srvdet .btnprimary:active {
background: #6b8830;
}

.srvdet .btnprimary:focus-visible {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

.srvdet .btnsec {
background: #F5F7F5;
color: #1e2a14;
border: none;
border-radius: 14px;
font-size: 14px;
font-weight: 600;
padding: 16px 24px;
cursor: pointer;
box-shadow: -1px 3px 6px -2px rgba(174, 211, 170, 0.07);
transition: background 0.15s ease, box-shadow 0.18s ease-out;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.srvdet .btnsec:hover {
background: #e8ede8;
box-shadow: -1px 4px 14px -2px rgba(174, 211, 170, 0.08);
}

.srvdet .btnsec:active {
background: #dce5dc;
}

.srvdet .btnsec:focus-visible {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

.srvdet .btnsec svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}

.srvdet .titleright {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}

.srvdet .imgwrap {
border-radius: 26px;
overflow: hidden;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
width: 100%;
position: relative;
}

.srvdet .imgwrap img {
width: 100%;
max-width: 100%;
height: 420px;
object-fit: cover;
display: block;
filter: blur(0px);
}

.srvdet .imgwrap .imgblur {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 120px;
background: linear-gradient(0deg, rgba(245, 247, 245, 0.85) 0%, transparent 100%);
pointer-events: none;
}

.srvdet .geoshape {
position: absolute;
pointer-events: none;
}

.srvdet .geo1 {
top: -24px;
right: -16px;
width: 80px;
height: 80px;
border: 2px solid rgba(143, 176, 67, 0.18);
border-radius: 14px;
transform: rotate(18deg);
}

.srvdet .geo2 {
bottom: 32px;
left: -24px;
width: 48px;
height: 48px;
background: rgba(174, 211, 170, 0.15);
border-radius: 7px;
transform: rotate(-12deg);
}

.srvdet .likerow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px;
align-self: flex-start;
}

.srvdet .likebtn {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #F5F7F5;
border: none;
border-radius: 42px;
padding: 8px 16px;
cursor: pointer;
font-size: 14px;
font-weight: 600;
color: #1e2a14;
transition: background 0.15s ease;
}

.srvdet .likebtn:hover {
background: #e5ede5;
}

.srvdet .likebtn svg {
width: 16px;
height: 16px;
}

.srvdet .durationtag {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
background: #8FB043;
color: #fff;
border-radius: 7px;
padding: 4px 8px;
font-size: 14px;
font-weight: 700;
}

.srvdet .durationtag svg {
width: 14px;
height: 14px;
}

.srvdet .band2 {
height: 4px;
background: #AED3AA;
max-width: 1500px;
margin: 0 auto;
}

.srvdet .progsec {
background: #F5F7F5;
position: relative;
}

.srvdet .proginner {
max-width: 1500px;
margin: 0 auto;
padding: 48px 48px;
display: grid;
grid-template-columns: 280px 1fr;
gap: 48px;
align-items: start;
}

.srvdet .proglabel {
position: sticky;
top: 32px;
}

.srvdet .proglabelhead {
font-size: 36px;
font-weight: 800;
color: #1e2a14;
line-height: 1.2;
letter-spacing: -0.02em;
}

.srvdet .proglabelhead .accent {
color: #8FB043;
}

.srvdet .proglabelsub {
font-size: 14px;
color: #666;
line-height: 1.6;
margin-top: 8px;
}

.srvdet .progcontent {
font-size: 16px;
color: #2a2a2a;
line-height: 1.6;
}

.srvdet .progcontent h2 {
font-size: 24px;
font-weight: 700;
color: #1e2a14;
margin-bottom: 8px;
margin-top: 32px;
}

.srvdet .progcontent h2:first-child {
margin-top: 0;
}

.srvdet .progcontent p {
margin-bottom: 16px;
}

.srvdet .progcontent ol {
padding-left: 24px;
margin-bottom: 16px;
}

.srvdet .progcontent li {
margin-bottom: 8px;
line-height: 1.6;
}

.srvdet .progcontent dl {
margin-bottom: 16px;
}

.srvdet .progcontent dt {
font-weight: 700;
color: #1e2a14;
margin-top: 8px;
}

.srvdet .progcontent dd {
margin-left: 16px;
color: #444;
}

.srvdet .progcontent figure {
margin: 16px 0;
border-radius: 14px;
overflow: hidden;
}

.srvdet .progcontent figcaption {
font-size: 14px;
color: #777;
margin-top: 4px;
}

.srvdet .checkpat {
position: absolute;
top: 0;
right: 0;
width: 320px;
height: 100%;
pointer-events: none;
overflow: hidden;
}

.srvdet .checkpat svg {
width: 100%;
height: 100%;
opacity: 0.35;
}

.srvdet .descsec {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 360px;
gap: 48px;
align-items: start;
}

.srvdet .desccontent {
font-size: 16px;
color: #2a2a2a;
line-height: 1.6;
}

.srvdet .desccontent h2 {
font-size: 36px;
font-weight: 800;
color: #1e2a14;
line-height: 1.2;
letter-spacing: -0.02em;
margin-bottom: 16px;
}

.srvdet .desccontent h2 .accent {
color: #8FB043;
}

.srvdet .desccontent h3 {
font-size: 24px;
font-weight: 700;
color: #1e2a14;
margin-bottom: 8px;
margin-top: 32px;
}

.srvdet .desccontent p {
margin-bottom: 16px;
max-width: 640px;
}

.srvdet .desccontent p.wide {
max-width: 100%;
}

.srvdet .desccontent ul {
list-style: none;
padding: 0;
margin-bottom: 16px;
}

.srvdet .desccontent ul li {
padding-left: 20px;
position: relative;
margin-bottom: 8px;
line-height: 1.6;
}

.srvdet .desccontent ul li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 8px;
height: 2px;
background: #8FB043;
border-radius: 2px;
}

.srvdet .desccontent blockquote {
border-top: 2px solid #AED3AA;
border-bottom: 2px solid #AED3AA;
padding: 16px 0;
margin: 32px 0;
font-size: 24px;
font-weight: 600;
color: #1e2a14;
line-height: 1.6;
}

.srvdet .desccontent cite {
display: block;
font-size: 14px;
color: #8FB043;
font-style: normal;
font-weight: 700;
margin-top: 8px;
}

.srvdet .desccontent strong {
color: #8FB043;
font-weight: 700;
}

.srvdet .desccontent details {
border-radius: 7px;
background: #F5F7F5;
padding: 16px;
margin-bottom: 8px;
}

.srvdet .desccontent summary {
font-weight: 700;
color: #1e2a14;
cursor: pointer;
font-size: 16px;
}

.srvdet .desccontent figure {
margin: 16px 0;
}

.srvdet .desccontent figcaption {
font-size: 14px;
color: #777;
margin-top: 4px;
}

.srvdet .sidebar {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 32px;
}

.srvdet .sidecard {
background: #F5F7F5;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.srvdet .sidecardtitle {
font-size: 14px;
font-weight: 700;
color: #8FB043;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 8px;
}

.srvdet .sidecardval {
font-size: 36px;
font-weight: 800;
color: #1e2a14;
line-height: 1.2;
}

.srvdet .sidecardval.small {
font-size: 24px;
}

.srvdet .sidecardnote {
font-size: 14px;
color: #555;
line-height: 1.6;
margin-top: 4px;
}

.srvdet .sidecard .ctabtn {
width: 100%;
background: #8FB043;
color: #fff;
border: none;
border-radius: 14px;
font-size: 16px;
font-weight: 700;
padding: 16px;
cursor: pointer;
margin-top: 16px;
transition: background 0.18s ease;
}

.srvdet .sidecard .ctabtn:hover {
background: #7a9a38;
}

.srvdet .sidecard .ctabtn:focus-visible {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

.srvdet .ratingsec {
background: #1e2a14;
position: relative;
overflow: hidden;
}

.srvdet .ratinginner {
max-width: 1500px;
margin: 0 auto;
padding: 48px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
align-items: start;
position: relative;
z-index: 1;
}

.srvdet .statblock {
display: flex;
flex-direction: column;
gap: 8px;
}

.srvdet .statnum {
font-size: 52px;
font-weight: 800;
color: #8FB043;
line-height: 1.2;
letter-spacing: -0.03em;
}

.srvdet .statlabel {
font-size: 16px;
color: #AED3AA;
line-height: 1.6;
font-weight: 600;
}

.srvdet .statnarr {
font-size: 14px;
color: rgba(174, 211, 170, 0.7);
line-height: 1.6;
margin-top: 4px;
}

.srvdet .spotdrift {
position: absolute;
top: -60px;
left: -80px;
width: 400px;
height: 400px;
background: radial-gradient(ellipse at 30% 40%, rgba(143, 176, 67, 0.12) 0%, transparent 70%);
border-radius: 50%;
animation: spotmove 12s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite alternate;
pointer-events: none;
}

@keyframes spotmove {
0% {
transform: translate(0, 0);
}

100% {
transform: translate(120px, 60px);
}
}

.srvdet .bracketbox {
position: relative;
}

.srvdet .bracketbox::before,
.srvdet .bracketbox::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
pointer-events: none;
}

.srvdet .bracketbox::before {
top: -8px;
left: -8px;
border-top: 2px solid #8FB043;
border-left: 2px solid #8FB043;
border-radius: 2px 0 0 0;
}

.srvdet .bracketbox::after {
bottom: -8px;
right: -8px;
border-bottom: 2px solid #8FB043;
border-right: 2px solid #8FB043;
border-radius: 0 0 2px 0;
}

.srvdet .copymsg {
font-size: 14px;
color: #8FB043;
font-weight: 600;
display: none;
}

.srvdet .copymsg.visible {
display: inline;
}

@media (max-width: 1024px) {
.srvdet .titlesec {
grid-template-columns: 1fr;
padding: 64px 32px 32px;
}

.srvdet .proginner {
grid-template-columns: 1fr;
padding: 48px 32px;
}

.srvdet .proglabel {
position: static;
}

.srvdet .descsec {
grid-template-columns: 1fr;
padding: 64px 32px;
}

.srvdet .sidebar {
position: static;
}

.srvdet .ratinginner {
grid-template-columns: repeat(2, 1fr);
padding: 48px 32px;
}

.srvdet .pagetitle {
font-size: 36px;
}
}

@media (max-width: 640px) {
.srvdet .titlesec {
padding: 48px 16px 32px;
}

.srvdet .proginner {
padding: 32px 16px;
}

.srvdet .descsec {
padding: 48px 16px;
}

.srvdet .ratinginner {
grid-template-columns: 1fr;
padding: 32px 16px;
}

.srvdet .pagetitle {
font-size: 36px;
}

.srvdet .statnum {
font-size: 36px;
}

.srvdet .btnrow {
flex-direction: column;
}
}

.innov {
background: #fff;
overflow-x: clip;
position: relative;
}

.innov script {
display: none;
}

.innov .tblock {
background: #1a2a0e;
padding: 64px 48px 56px;
position: relative;
overflow: hidden;
}

.innov .tblock-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 48px;
position: relative;
z-index: 2;
}

.innov .tblock-text {
flex: 1 1 520px;
}

.innov .tblock-label {
display: inline-block;
background: rgba(143, 176, 67, 0.18);
color: #AED3AA;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.08em;
padding: 4px 16px;
border-radius: 2px;
margin-bottom: 16px;
text-transform: uppercase;
}

.innov .tblock-h1 {
font-size: clamp(36px, 5vw, 70px);
font-weight: 800;
line-height: 1.2;
color: #fff;
letter-spacing: -0.03em;
margin: 0 0 24px;
}

.innov .tblock-h1 span {
color: #8FB043;
}

.innov .tblock-desc {
font-size: 16px;
line-height: 1.6;
color: #AED3AA;
margin: 0 0 32px;
max-width: 480px;
}

.innov .tblock-actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.innov .btn-prim {
display: inline-block;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 700;
padding: 16px 32px;
border-radius: 7px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: box-shadow 0.15s ease-out, transform 0.12s ease-out;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.35);
}

.innov .btn-prim::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0%;
background: rgba(255, 255, 255, 0.12);
transition: height 0.18s ease-out;
border-radius: 7px;
}

.innov .btn-prim:hover::before {
height: 100%;
}

.innov .btn-prim:hover {
transform: translateY(-1px);
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.4);
}

.innov .btn-sec {
display: inline-block;
color: #AED3AA;
font-size: 16px;
font-weight: 600;
padding: 16px 24px;
border-radius: 7px;
text-decoration: none;
border: 1px solid rgba(174, 211, 170, 0.3);
transition: border-color 0.15s ease, color 0.12s ease;
}

.innov .btn-sec:hover {
border-color: #AED3AA;
color: #fff;
}

.innov .tblock-imgcol {
flex: 0 0 340px;
position: relative;
}

.innov .tblock-imgwrap {
width: 340px;
height: 420px;
position: relative;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.22);
}

.innov .tblock-imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.innov .tblock-imgwrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(26, 42, 14, 0.55) 0%, rgba(143, 176, 67, 0.18) 100%);
}

.innov .tdeco {
position: absolute;
top: -48px;
right: -48px;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle at 60% 40%, rgba(143, 176, 67, 0.09) 0%, transparent 70%);
pointer-events: none;
}

.innov .tdeco2 {
position: absolute;
bottom: 16px;
left: 32px;
width: 80px;
height: 80px;
opacity: 0.07;
pointer-events: none;
}

.innov .tblock-dots {
position: absolute;
right: 380px;
top: 32px;
pointer-events: none;
opacity: 0.13;
}

.innov .divider-tri {
display: block;
width: 100%;
line-height: 0;
overflow: hidden;
}

.innov .divider-tri svg {
display: block;
width: 100%;
}

.innov .metrics {
background: #F5F7F5;
padding: 48px 48px 56px;
position: relative;
}

.innov .metrics-inner {
max-width: 1500px;
margin: 0 auto;
}

.innov .metrics-top {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
margin-bottom: 48px;
}

.innov .metrics-lead {
flex: 1 1 400px;
}

.innov .metrics-h2 {
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
line-height: 1.2;
color: #1a2a0e;
letter-spacing: -0.02em;
margin: 0 0 16px;
}

.innov .metrics-sub {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
margin: 0;
max-width: 380px;
}

.innov .metrics-img {
flex: 0 0 480px;
height: 280px;
position: relative;
border-radius: 14px;
overflow: hidden;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.innov .metrics-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.2s ease-out;
}

.innov .metrics-img:hover img {
transform: scale(1.03);
}

.innov .stat-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
}

.innov .stat-card {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
position: relative;
overflow: hidden;
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
}

.innov .stat-card:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-2px);
}

.innov .stat-card::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: #8FB043;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.18s ease-out;
}

.innov .stat-card:hover::before {
transform: scaleX(1);
}

.innov .stat-num {
font-size: 52px;
font-weight: 800;
line-height: 1.2;
color: #8FB043;
letter-spacing: -0.03em;
display: block;
}

.innov .stat-unit {
font-size: 24px;
font-weight: 700;
color: #AED3AA;
}

.innov .stat-lbl {
font-size: 14px;
line-height: 1.6;
color: #3a4a2e;
margin-top: 8px;
display: block;
}

.innov .approach {
background: #fff;
padding: 56px 48px;
position: relative;
}

.innov .approach::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(112deg, #F5F7F5 0%, #fff 55%, #F5F7F5 100%);
z-index: 0;
}

.innov .approach-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.innov .approach-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
}

.innov .approach-left {
padding-top: 8px;
}

.innov .approach-h2 {
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
line-height: 1.2;
color: #1a2a0e;
letter-spacing: -0.02em;
margin: 0 0 16px;
}

.innov .approach-intro {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
margin: 0 0 32px;
}

.innov .step-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.innov .step-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px;
border-radius: 14px;
background: #fff;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
transition: box-shadow 0.15s ease-out;
}

.innov .step-item:hover {
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.12);
}

.innov .step-num {
flex: 0 0 36px;
height: 36px;
border-radius: 7px;
background: #8FB043;
color: #fff;
font-size: 14px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
}

.innov .step-body {
flex: 1;
}

.innov .step-title {
font-size: 16px;
font-weight: 700;
color: #1a2a0e;
margin: 0 0 4px;
line-height: 1.2;
}

.innov .step-desc {
font-size: 14px;
line-height: 1.6;
color: #4a5a3e;
margin: 0;
}

.innov .approach-right {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 48px;
}

.innov .feat-card {
background: #1a2a0e;
border-radius: 14px;
padding: 24px;
color: #AED3AA;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.1);
position: relative;
overflow: hidden;
transition: transform 0.15s ease-out;
}

.innov .feat-card:hover {
transform: translateX(4px);
}

.innov .feat-card-accent {
background: #F5F7F5;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
position: relative;
overflow: hidden;
transition: transform 0.15s ease-out;
}

.innov .feat-card-accent:hover {
transform: translateX(4px);
}

.innov .feat-icon {
width: 32px;
height: 32px;
margin-bottom: 12px;
}

.innov .feat-h {
font-size: 16px;
font-weight: 700;
color: #8FB043;
margin: 0 0 8px;
line-height: 1.2;
}

.innov .feat-card-accent .feat-h {
color: #1a2a0e;
}

.innov .feat-p {
font-size: 14px;
line-height: 1.6;
margin: 0;
color: #AED3AA;
}

.innov .feat-card-accent .feat-p {
color: #3a4a2e;
}

.innov .testimony {
background: #1a2a0e;
padding: 56px 48px;
position: relative;
overflow: hidden;
}

.innov .testimony::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(160deg, rgba(143, 176, 67, 0.06) 0%, transparent 60%);
pointer-events: none;
}

.innov .testimony-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.innov .testimony-layout {
display: grid;
grid-template-columns: 1fr 260px;
gap: 48px;
align-items: center;
}

.innov .testimony-left {}

.innov .testimony-label {
font-size: 14px;
font-weight: 600;
color: #8FB043;
letter-spacing: 0.08em;
text-transform: uppercase;
margin: 0 0 16px;
}

.innov .testimony-h2 {
font-size: clamp(24px, 3vw, 36px);
font-weight: 700;
line-height: 1.2;
color: #fff;
letter-spacing: -0.02em;
margin: 0 0 32px;
}

.innov .quote-block {
border-radius: 14px;
background: rgba(143, 176, 67, 0.08);
padding: 24px 32px;
margin-bottom: 24px;
}

.innov .quote-text {
font-size: 16px;
line-height: 1.6;
color: #AED3AA;
margin: 0 0 16px;
font-style: italic;
}

.innov .quote-dash {
display: inline-block;
width: 24px;
height: 2px;
background: #8FB043;
vertical-align: middle;
margin-right: 8px;
}

.innov .quote-author {
font-size: 14px;
font-weight: 700;
color: #fff;
}

.innov .quote-role {
font-size: 14px;
color: #AED3AA;
margin-left: 4px;
}

.innov .rating-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap;
}

.innov .rating-badge {
background: rgba(143, 176, 67, 0.15);
border-radius: 7px;
padding: 8px 16px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.innov .rating-val {
font-size: 24px;
font-weight: 800;
color: #8FB043;
line-height: 1.2;
}

.innov .rating-stars {
display: flex;
flex-direction: row;
gap: 2px;
}

.innov .star {
width: 14px;
height: 14px;
}

.innov .rating-note {
font-size: 14px;
color: #AED3AA;
}

.innov .testimony-portrait {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.innov .portrait-wrap {
width: 220px;
height: 330px;
position: relative;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.22);
}

.innov .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.innov .portrait-caption {
text-align: center;
}

.innov .portrait-name {
font-size: 16px;
font-weight: 700;
color: #fff;
display: block;
}

.innov .portrait-role {
font-size: 14px;
color: #AED3AA;
display: block;
margin-top: 4px;
}

.innov .dots-deco {
position: absolute;
pointer-events: none;
}

@keyframes slidein {
from {
opacity: 0;
transform: translateX(-32px);
}

to {
opacity: 1;
transform: translateX(0);
}
}

.innov .tblock-text {
animation: slidein 0.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.innov .tblock-imgcol {
animation: slidein 0.18s 0.08s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (max-width: 1100px) {
.innov .stat-row {
grid-template-columns: repeat(2, 1fr);
}

.innov .metrics-top {
flex-direction: column;
}

.innov .metrics-img {
flex: none;
width: 100%;
}

.innov .approach-grid {
grid-template-columns: 1fr;
}

.innov .approach-right {
padding-top: 0;
}

.innov .testimony-layout {
grid-template-columns: 1fr;
}

.innov .testimony-portrait {
flex-direction: row;
justify-content: flex-start;
}
}

@media (max-width: 768px) {
.innov .tblock {
padding: 48px 16px 40px;
}

.innov .tblock-inner {
flex-direction: column;
}

.innov .tblock-imgcol {
display: none;
}

.innov .metrics {
padding: 32px 16px;
}

.innov .stat-row {
grid-template-columns: 1fr 1fr;
}

.innov .approach {
padding: 32px 16px;
}

.innov .testimony {
padding: 32px 16px;
}

.innov .tblock-actions {
flex-direction: column;
}
}

@media (max-width: 480px) {
.innov .stat-row {
grid-template-columns: 1fr;
}
}

.dbt {
max-width: 100%;
overflow-x: hidden;
}

.dbt .frame {
max-width: 1500px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.dbt .s1 {
padding-top: 48px;
padding-bottom: 48px;
background: #fff;
}

.dbt .s1 .frame {
display: flex;
flex-direction: row;
align-items: center;
gap: 48px;
justify-content: center;
}

.dbt .s1txt {
flex: 1;
max-width: 560px;
}

.dbt .s1tag {
display: inline-block;
font-size: 14px;
font-weight: 600;
color: #8FB043;
letter-spacing: 0.08em;
margin-bottom: 16px;
}

.dbt .s1h {
font-size: 52px;
font-weight: 800;
line-height: 1.2;
letter-spacing: -0.03em;
color: #1b2a0e;
margin-bottom: 16px;
}

.dbt .s1h span {
font-size: 70px;
display: block;
color: #8FB043;
line-height: 1.2;
}

.dbt .s1sub {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
margin-bottom: 32px;
max-width: 440px;
}

.dbt .s1btns {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
}

.dbt .btnpri {
display: inline-block;
padding: 16px 32px;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 700;
border-radius: 7px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background 0.15s ease-out, box-shadow 0.18s ease-out;
position: relative;
overflow: hidden;
}

.dbt .btnpri:hover {
background: #7a9a38;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.dbt .btnpri:active {
background: #6a8830;
}

.dbt .btnsec {
display: inline-block;
padding: 10px 24px;
background: transparent;
color: #8FB043;
font-size: 14px;
font-weight: 600;
border-radius: 7px;
text-decoration: none;
border: 2px solid #AED3AA;
cursor: pointer;
transition: border-color 0.15s ease-out, color 0.12s ease;
}

.dbt .btnsec:hover {
border-color: #8FB043;
color: #7a9a38;
}

.dbt .s1img {
flex: 0 0 340px;
position: relative;
}

.dbt .s1imgwrap {
width: 340px;
height: 420px;
border-radius: 14px;
overflow: hidden;
position: relative;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.dbt .s1imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: grayscale(100%);
display: block;
}

.dbt .corner {
position: absolute;
width: 24px;
height: 24px;
border-color: #8FB043;
border-style: solid;
}

.dbt .corner.tl {
top: -8px;
left: -8px;
border-width: 2px 0 0 2px;
}

.dbt .corner.tr {
top: -8px;
right: -8px;
border-width: 2px 2px 0 0;
}

.dbt .corner.bl {
bottom: -8px;
left: -8px;
border-width: 0 0 2px 2px;
}

.dbt .corner.br {
bottom: -8px;
right: -8px;
border-width: 0 2px 2px 0;
}

.dbt .s1dot {
width: 10px;
height: 10px;
border-radius: 42px;
background: #AED3AA;
display: inline-block;
margin-right: 8px;
vertical-align: middle;
animation: sdpulse 2.4s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

@keyframes sdpulse {

0%,
100% {
box-shadow: 0 0 0 0 rgba(143, 176, 67, 0.07);
}

50% {
box-shadow: 0 0 0 6px rgba(143, 176, 67, 0.14);
}
}

.dbt .wavdiv1 {
width: 100%;
line-height: 0;
overflow: hidden;
}

.dbt .wavdiv1 svg {
display: block;
width: 100%;
}

.dbt .s2 {
background: #F5F7F5;
padding-top: 48px;
padding-bottom: 48px;
position: relative;
}

.dbt .s2 .frame {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

.dbt .s2head {
grid-column: 1 / 3;
}

.dbt .s2label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.dbt .s2h {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
margin-bottom: 16px;
}

.dbt .s2desc {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
}

.dbt .s2cards {
grid-column: 3 / 5;
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt .s2card {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.dbt .s2icon {
flex: 0 0 36px;
width: 36px;
height: 36px;
border-radius: 7px;
background: #F5F7F5;
display: flex;
align-items: center;
justify-content: center;
}

.dbt .s2icon svg {
width: 18px;
height: 18px;
}

.dbt .s2cardtxt h5 {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
margin-bottom: 4px;
line-height: 1.2;
}

.dbt .s2cardtxt p {
font-size: 14px;
line-height: 1.6;
color: #5a6a4e;
}

.dbt .wavbot {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
line-height: 0;
overflow: hidden;
}

.dbt .wavbot svg {
display: block;
width: 100%;
}

.dbt .s3 {
background: #fff;
padding-top: 96px;
padding-bottom: 96px;
}

.dbt .s3 .frame {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}

.dbt .s3left {}

.dbt .s3label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.dbt .s3h {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
margin-bottom: 24px;
}

.dbt .s3steps {
display: flex;
flex-direction: column;
gap: 24px;
}

.dbt .s3step {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.dbt .s3num {
flex: 0 0 40px;
width: 40px;
height: 40px;
border-radius: 26px;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
animation: shpulse 3s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

@keyframes shpulse {

0%,
100% {
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
}

50% {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.22);
}
}

.dbt .s3steptxt h5 {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
margin-bottom: 4px;
line-height: 1.2;
}

.dbt .s3steptxt p {
font-size: 14px;
line-height: 1.6;
color: #5a6a4e;
}

.dbt .s3right {
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt .bav {
background: #F5F7F5;
border-radius: 14px;
padding: 32px;
position: relative;
}

.dbt .bavlabel {
font-size: 14px;
font-weight: 700;
letter-spacing: 0.06em;
margin-bottom: 16px;
}

.dbt .bavlabel.before {
color: #5a6a4e;
}

.dbt .bavlabel.after {
color: #8FB043;
}

.dbt .bavlist {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.dbt .bavlist li {
font-size: 14px;
line-height: 1.6;
color: #3a4a2e;
padding-left: 16px;
position: relative;
}

.dbt .bavlist li::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 2px;
background: #AED3AA;
border-radius: 2px;
}

.dbt .bav.aft {
background: #8FB043;
}

.dbt .bav.aft .bavlabel.after {
color: #fff;
}

.dbt .bav.aft .bavlist li {
color: #fff;
}

.dbt .bav.aft .bavlist li::before {
background: rgba(255, 255, 255, 0.5);
}

.dbt .bavarrow {
text-align: center;
padding: 4px 0;
}

.dbt .bavarrow svg {
width: 24px;
height: 24px;
display: inline-block;
}

.dbt .s4 {
background: #1b2a0e;
padding-top: 96px;
padding-bottom: 96px;
position: relative;
overflow: hidden;
}

.dbt .s4bg {
position: absolute;
inset: 0;
pointer-events: none;
}

.dbt .s4bg svg {
width: 100%;
height: 100%;
}

.dbt .s4 .frame {
position: relative;
z-index: 1;
}

.dbt .s4grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

.dbt .s4main h2 {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #fff;
letter-spacing: -0.02em;
margin-bottom: 16px;
}

.dbt .s4main p {
font-size: 16px;
line-height: 1.6;
color: #AED3AA;
margin-bottom: 24px;
}

.dbt .s4imgs {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 32px;
}

.dbt .s4portrait {
width: 80px;
height: 120px;
border-radius: 7px;
overflow: hidden;
flex: 0 0 80px;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
}

.dbt .s4portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.dbt .s4portraitinfo {
display: flex;
flex-direction: column;
justify-content: center;
gap: 4px;
}

.dbt .s4pname {
font-size: 16px;
font-weight: 700;
color: #fff;
}

.dbt .s4prole {
font-size: 14px;
color: #AED3AA;
}

.dbt .s4stat {
background: rgba(174, 211, 170, 0.08);
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
}

.dbt .s4statnum {
font-size: 36px;
font-weight: 800;
color: #8FB043;
line-height: 1.2;
letter-spacing: -0.02em;
}

.dbt .s4stattxt {
font-size: 14px;
line-height: 1.6;
color: #AED3AA;
}

.dbt .s5 {
background: #F5F7F5;
padding-top: 96px;
padding-bottom: 96px;
position: relative;
}

.dbt .s5 .frame {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
}

.dbt .s5label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.dbt .s5h {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
margin-bottom: 16px;
}

.dbt .s5desc {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
margin-bottom: 32px;
}

.dbt .s5img {
width: 100%;
height: 320px;
border-radius: 14px;
overflow: hidden;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.dbt .s5img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.dbt .s5checks {
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt .s5check {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.dbt .s5dot {
flex: 0 0 10px;
width: 10px;
height: 10px;
border-radius: 42px;
background: #8FB043;
margin-top: 6px;
}

.dbt .s5checktxt h5 {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
margin-bottom: 4px;
line-height: 1.2;
}

.dbt .s5checktxt p {
font-size: 14px;
line-height: 1.6;
color: #5a6a4e;
}

.dbt .s6 {
background: #fff;
padding-top: 96px;
padding-bottom: 96px;
}

.dbt .s6 .frame {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

.dbt .s6headcol {
grid-column: 1 / 4;
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 16px;
}

.dbt .s6h {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
max-width: 480px;
}

.dbt .s6subdesc {
font-size: 16px;
line-height: 1.6;
color: #5a6a4e;
max-width: 360px;
}

.dbt .s6card {
background: #F5F7F5;
border-radius: 14px;
padding: 32px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.18s ease-out;
}

.dbt .s6card:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.dbt .s6cardtop {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.dbt .s6circ {
width: 10px;
height: 10px;
border-radius: 42px;
background: #8FB043;
flex: 0 0 10px;
}

.dbt .s6situation {
font-size: 14px;
font-weight: 700;
color: #8FB043;
letter-spacing: 0.04em;
}

.dbt .s6cardh {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
line-height: 1.2;
}

.dbt .s6cardp {
font-size: 14px;
line-height: 1.6;
color: #5a6a4e;
}

.dbt .s6imgrow {
grid-column: 1 / 4;
margin-top: 32px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: center;
}

.dbt .s6imgwrap {
width: 100%;
height: 260px;
border-radius: 14px;
overflow: hidden;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
}

.dbt .s6imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.dbt .s6imgquote {
font-size: 24px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
}

.dbt .s6imgquote span {
color: #8FB043;
}

.dbt .s7 {
background: #F5F7F5;
padding-top: 96px;
padding-bottom: 96px;
position: relative;
}

.dbt .s7bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
}

.dbt .s7bg svg {
position: absolute;
right: -80px;
top: -80px;
opacity: 0.04;
width: 500px;
height: 500px;
}

.dbt .s7 .frame {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}

.dbt .s7label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.dbt .s7h {
font-size: 36px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.02em;
margin-bottom: 16px;
}

.dbt .s7desc {
font-size: 16px;
line-height: 1.6;
color: #3a4a2e;
margin-bottom: 32px;
}

.dbt .s7link {
display: inline-block;
font-size: 16px;
font-weight: 700;
color: #8FB043;
text-decoration: none;
border-bottom: 2px solid #AED3AA;
padding-bottom: 4px;
transition: border-color 0.15s ease-out, color 0.12s ease;
}

.dbt .s7link:hover {
border-color: #8FB043;
color: #7a9a38;
}

.dbt .s7right {
display: flex;
flex-direction: column;
gap: 16px;
}

.dbt .s7row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.dbt .s7rowicon {
flex: 0 0 36px;
width: 36px;
height: 36px;
border-radius: 7px;
background: #F5F7F5;
display: flex;
align-items: center;
justify-content: center;
}

.dbt .s7rowicon svg {
width: 18px;
height: 18px;
}

.dbt .s7rowtxt h5 {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
margin-bottom: 4px;
line-height: 1.2;
}

.dbt .s7rowtxt p {
font-size: 14px;
line-height: 1.6;
color: #5a6a4e;
}

.dbt .wavtop {
position: absolute;
top: 0;
left: 0;
width: 100%;
line-height: 0;
overflow: hidden;
}

.dbt .wavtop svg {
display: block;
width: 100%;
}

@media (max-width: 1024px) {
.dbt .s1 .frame {
flex-direction: column;
}

.dbt .s1img {
flex: none;
}

.dbt .s1imgwrap {
width: 100%;
max-width: 400px;
height: 340px;
}

.dbt .s2 .frame {
grid-template-columns: 1fr 1fr;
}

.dbt .s2head {
grid-column: 1 / 3;
}

.dbt .s2cards {
grid-column: 1 / 3;
}

.dbt .s4grid {
grid-template-columns: 1fr 1fr;
}

.dbt .s4main {
grid-column: 1 / 3;
}

.dbt .s6 .frame {
grid-template-columns: 1fr 1fr;
}

.dbt .s6headcol {
grid-column: 1 / 3;
}

.dbt .s6imgrow {
grid-column: 1 / 3;
}
}

@media (max-width: 768px) {
.dbt .s1h {
font-size: 36px;
}

.dbt .s1h span {
font-size: 52px;
}

.dbt .s2 .frame {
grid-template-columns: 1fr;
}

.dbt .s2head {
grid-column: 1;
}

.dbt .s2cards {
grid-column: 1;
}

.dbt .s3 .frame {
grid-template-columns: 1fr;
}

.dbt .s4grid {
grid-template-columns: 1fr;
}

.dbt .s4main {
grid-column: 1;
}

.dbt .s5 .frame {
grid-template-columns: 1fr;
}

.dbt .s6 .frame {
grid-template-columns: 1fr;
}

.dbt .s6headcol {
grid-column: 1;
flex-direction: column;
align-items: flex-start;
}

.dbt .s6imgrow {
grid-column: 1;
grid-template-columns: 1fr;
}

.dbt .s7 .frame {
grid-template-columns: 1fr;
}

.dbt .s1btns {
flex-direction: column;
align-items: flex-start;
}

.dbt .s4imgs {
flex-direction: column;
}
}

.srvs {
background: #fff;
overflow-x: clip;
}

.srvs .pg {
max-width: 1500px;
margin: 0 auto;
padding: 0 32px;
}

.srvs .titl {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
background: #F5F7F5;
}

.srvs .titl .imgside {
position: relative;
overflow: hidden;
}

.srvs .titl .imgside img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(0.7) brightness(0.85);
}

.srvs .titl .imgside::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(143, 176, 67, 0.38) 0%, rgba(174, 211, 170, 0.18) 100%);
pointer-events: none;
}

.srvs .titl .txtside {
display: flex;
flex-direction: column;
justify-content: flex-end;
padding: 96px 48px 48px 48px;
}

.srvs .titl .txtside .lbl {
font-size: 14px;
font-weight: 600;
color: #8FB043;
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 16px;
}

.srvs .titl .txtside h1 {
font-size: 52px;
font-weight: 800;
line-height: 1.2;
color: #1b2a0e;
letter-spacing: -0.03em;
margin: 0 0 32px 0;
}

.srvs .titl .txtside h1 span {
font-size: 70px;
display: block;
color: #8FB043;
}

.srvs .titl .txtside .actlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
font-weight: 700;
color: #fff;
background: #8FB043;
padding: 16px 32px;
border-radius: 7px;
text-decoration: none;
align-self: flex-start;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background 0.15s ease-out, box-shadow 0.18s ease-out;
}

.srvs .titl .txtside .actlink:hover {
background: #7a9a38;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.srvs .titl .txtside .actlink:focus-visible {
outline: 3px solid #8FB043 !important;
outline-offset: 3px !important;
}

.srvs .cardgrid {
background: #fff;
padding: 96px 0;
}

.srvs .cardgrid .pg {
display: flex;
flex-direction: column;
gap: 48px;
}

.srvs .cardgrid .gridhead {
display: flex;
flex-direction: column;
gap: 8px;
max-width: 600px;
}

.srvs .cardgrid .gridhead h2 {
font-size: 36px;
font-weight: 800;
color: #1b2a0e;
letter-spacing: -0.02em;
line-height: 1.2;
margin: 0;
}

.srvs .cardgrid .gridhead p {
font-size: 16px;
color: #3a4a2e;
line-height: 1.6;
margin: 0;
}

.srvs .cards {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
}

.srvs .card {
background: #F5F7F5;
border-radius: 14px;
overflow: hidden;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
display: flex;
flex-direction: column;
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
position: relative;
}

.srvs .card::before {
content: "";
position: absolute;
inset: 0;
border-radius: 14px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color 0.12s ease-out;
z-index: 1;
}

.srvs .card::after {
content: "";
position: absolute;
inset: -4px;
border-radius: 18px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color 0.25s ease-out 0.12s;
z-index: 1;
}

.srvs .card:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-2px);
}

.srvs .card:hover::before {
border-color: #8FB043;
}

.srvs .card:hover::after {
border-color: rgba(143, 176, 67, 0.28);
}

.srvs .card .cardimg {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
background: #AED3AA;
flex-shrink: 0;
}

.srvs .card .cardimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.srvs .card .cardbody {
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
flex: 1;
}

.srvs .card .cardmeta {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.srvs .card .cardmeta .dur {
font-size: 14px;
font-weight: 600;
color: #8FB043;
background: rgba(143, 176, 67, 0.10);
padding: 4px 12px;
border-radius: 26px;
}

.srvs .card .cardmeta .rtime {
font-size: 14px;
color: #5a6e4a;
display: flex;
align-items: center;
gap: 4px;
}

.srvs .card .cardmeta .rtime svg {
width: 14px;
height: 14px;
flex-shrink: 0;
}

.srvs .card .cardmeta .likes {
font-size: 14px;
color: #5a6e4a;
display: flex;
align-items: center;
gap: 4px;
margin-left: auto;
}

.srvs .card .cardmeta .likes svg {
width: 14px;
height: 14px;
flex-shrink: 0;
}

.srvs .card h3 {
font-size: 24px;
font-weight: 800;
color: #1b2a0e;
line-height: 1.2;
letter-spacing: -0.02em;
margin: 0;
}

.srvs .card .desc {
font-size: 16px;
color: #3a4a2e;
line-height: 1.6;
margin: 0;
flex: 1;
}

.srvs .card .cardfoot {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px;
padding-top: 16px;
border-top: 1px solid rgba(143, 176, 67, 0.15);
flex-wrap: wrap;
}

.srvs .card .price {
display: flex;
flex-direction: column;
gap: 4px;
}

.srvs .card .price .amount {
font-size: 24px;
font-weight: 800;
color: #1b2a0e;
line-height: 1.2;
}

.srvs .card .price .pdes {
font-size: 14px;
color: #5a6e4a;
line-height: 1.6;
}

.srvs .card .cardlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
font-weight: 700;
color: #8FB043;
text-decoration: none;
padding: 12px 24px;
border: 2px solid #8FB043;
border-radius: 7px;
transition: background 0.15s ease-out, color 0.12s ease-out;
white-space: nowrap;
}

.srvs .card .cardlink:hover {
background: #8FB043;
color: #fff;
}

.srvs .card .cardlink:focus-visible {
outline: 3px solid #8FB043 !important;
outline-offset: 3px !important;
}

.srvs .card .pubdate {
font-size: 14px;
color: #8a9e7a;
}

.srvs .dots {
position: absolute;
top: 0;
right: 0;
width: 180px;
height: 180px;
pointer-events: none;
overflow: hidden;
}

.srvs .dots svg {
width: 100%;
height: 100%;
}

.srvs .howsec {
background: #1b2a0e;
padding: 96px 0;
position: relative;
overflow: hidden;
}

.srvs .howsec .bganim {
position: absolute;
top: -60px;
left: -60px;
width: 340px;
height: 340px;
border-radius: 42px;
background: linear-gradient(160deg, rgba(143, 176, 67, 0.13) 0%, rgba(174, 211, 170, 0.06) 100%);
pointer-events: none;
}

.srvs .howsec .pg {
display: flex;
flex-direction: column;
gap: 48px;
position: relative;
z-index: 2;
}

.srvs .howsec .howhead {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: end;
}

.srvs .howsec .howhead h2 {
font-size: 36px;
font-weight: 800;
color: #fff;
line-height: 1.2;
letter-spacing: -0.02em;
margin: 0;
}

.srvs .howsec .howhead h2 em {
font-style: normal;
color: #8FB043;
}

.srvs .howsec .howhead p {
font-size: 16px;
color: #AED3AA;
line-height: 1.6;
margin: 0;
}

.srvs .howsteps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
}

.srvs .step {
background: rgba(255, 255, 255, 0.04);
border-radius: 14px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
border: 1px solid rgba(143, 176, 67, 0.12);
transition: background 0.17s ease-out, border-color 0.17s ease-out;
}

.srvs .step:hover {
background: rgba(143, 176, 67, 0.08);
border-color: rgba(143, 176, 67, 0.32);
}

.srvs .step .stepnum {
font-size: 52px;
font-weight: 800;
color: rgba(143, 176, 67, 0.22);
line-height: 1.2;
letter-spacing: -0.04em;
}

.srvs .step h4 {
font-size: 16px;
font-weight: 700;
color: #fff;
margin: 0;
line-height: 1.2;
}

.srvs .step p {
font-size: 14px;
color: #AED3AA;
line-height: 1.6;
margin: 0;
}

.srvs .trustsec {
background: #F5F7F5;
padding: 96px 0;
position: relative;
}

.srvs .trustsec .pg {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.5fr;
gap: 32px;
align-items: start;
}

.srvs .trustsec .tblock {
display: flex;
flex-direction: column;
gap: 16px;
}

.srvs .trustsec .tblock h2 {
font-size: 36px;
font-weight: 800;
color: #1b2a0e;
line-height: 1.2;
letter-spacing: -0.02em;
margin: 0;
}

.srvs .trustsec .tblock p {
font-size: 16px;
color: #3a4a2e;
line-height: 1.6;
margin: 0;
}

.srvs .trustsec .stat {
display: flex;
flex-direction: column;
gap: 8px;
padding: 32px;
background: #fff;
border-radius: 14px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.srvs .trustsec .stat .statnum {
font-size: 52px;
font-weight: 800;
color: #8FB043;
line-height: 1.2;
letter-spacing: -0.04em;
}

.srvs .trustsec .stat .statlbl {
font-size: 14px;
color: #5a6e4a;
line-height: 1.6;
font-weight: 600;
}

.srvs .trustsec .stat .statdesc {
font-size: 14px;
color: #8a9e7a;
line-height: 1.6;
}

.srvs .trustsec .expert {
grid-column: 4;
background: #fff;
border-radius: 14px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
}

.srvs .trustsec .expert .exphead {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
}

.srvs .trustsec .expert .portrait {
width: 80px;
height: 107px;
border-radius: 2px;
overflow: hidden;
flex-shrink: 0;
}

.srvs .trustsec .expert .portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.srvs .trustsec .expert .expinfo {
display: flex;
flex-direction: column;
gap: 4px;
}

.srvs .trustsec .expert .expname {
font-size: 16px;
font-weight: 700;
color: #1b2a0e;
line-height: 1.2;
}

.srvs .trustsec .expert .exprole {
font-size: 14px;
color: #5a6e4a;
line-height: 1.6;
}

.srvs .trustsec .expert blockquote {
font-size: 16px;
color: #3a4a2e;
line-height: 1.6;
margin: 0;
padding: 16px;
background: #F5F7F5;
border-radius: 7px;
}

.srvs .trustsec .expert .stars {
display: flex;
flex-direction: row;
gap: 4px;
}

.srvs .trustsec .expert .stars svg {
width: 16px;
height: 16px;
}

@keyframes rowwave {
from {
opacity: 0;
transform: translateY(18px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.srvs .card {
opacity: 0;
animation: rowwave 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.srvs .cards .card:nth-child(1) {
animation-delay: 0.08s;
}

.srvs .cards .card:nth-child(2) {
animation-delay: 0.18s;
}

.srvs .cards .card:nth-child(3) {
animation-delay: 0.28s;
}

.srvs .cards .card:nth-child(4) {
animation-delay: 0.38s;
}

.srvs .step {
opacity: 0;
animation: rowwave 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.srvs .howsteps .step:nth-child(1) {
animation-delay: 0.1s;
}

.srvs .howsteps .step:nth-child(2) {
animation-delay: 0.2s;
}

.srvs .howsteps .step:nth-child(3) {
animation-delay: 0.3s;
}

.srvs .howsteps .step:nth-child(4) {
animation-delay: 0.4s;
}

@media (max-width: 1100px) {
.srvs .howsteps {
grid-template-columns: repeat(2, 1fr);
}

.srvs .trustsec .pg {
grid-template-columns: 1fr 1fr;
}

.srvs .trustsec .expert {
grid-column: auto;
}
}

@media (max-width: 800px) {
.srvs .titl {
grid-template-columns: 1fr;
}

.srvs .titl .imgside {
min-height: 260px;
}

.srvs .titl .txtside {
padding: 48px 32px 32px 32px;
}

.srvs .titl .txtside h1 {
font-size: 36px;
}

.srvs .titl .txtside h1 span {
font-size: 52px;
}

.srvs .cards {
grid-template-columns: 1fr;
}

.srvs .howsteps {
grid-template-columns: 1fr;
}

.srvs .howsec .howhead {
grid-template-columns: 1fr;
}

.srvs .trustsec .pg {
grid-template-columns: 1fr;
}

.srvs .trustsec .expert {
grid-column: auto;
}
}

.abtu {
width: 100%;
max-width: 100%;
overflow-x: hidden;
}

.abtu .grad-bg {
background: linear-gradient(160deg, #f0f4e8 0%, #d6e8d4 35%, #AED3AA 65%, #8FB043 100%);
background-size: 300% 300%;
animation: gradshift 12s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
padding: 96px 48px;
position: relative;
}

@keyframes gradshift {
0% {
background-position: 0% 0%;
}

100% {
background-position: 100% 100%;
}
}

.abtu .grad-bg::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 60px;
background: white;
clip-path: ellipse(55% 100% at 50% 100%);
}

.abtu .titlewrap {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 96px;
}

.abtu .titletxt {
flex: 1;
}

.abtu .titletxt h1 {
font-size: 70px;
line-height: 1.2;
letter-spacing: -0.03em;
color: #1a2a0a;
margin: 0 0 16px 0;
font-weight: 800;
}

.abtu .titletxt h1 span {
font-size: 52px;
font-weight: 400;
display: block;
color: #3a4a2a;
}

.abtu .titletxt .tagline {
font-size: 16px;
line-height: 1.6;
color: #2e3e1e;
max-width: 480px;
margin: 0 0 32px 0;
}

.abtu .titlelinks {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.abtu .titlelinks a {
display: inline-block;
text-decoration: none;
font-size: 14px;
font-weight: 600;
letter-spacing: 0.02em;
}

.abtu .titlelinks .lnkprimary {
background: #8FB043;
color: #fff;
padding: 16px 32px;
border-radius: 7px;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background 0.15s ease-out, box-shadow 0.18s ease-out;
position: relative;
overflow: hidden;
}

.abtu .titlelinks .lnkprimary::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
height: 3px;
width: 0;
background: #fff;
transition: width 0.18s ease-out;
}

.abtu .titlelinks .lnkprimary:hover {
background: #7a9a38;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.abtu .titlelinks .lnkprimary:hover::after {
width: 100%;
}

.abtu .titlelinks .lnksec {
color: #2e3e1e;
border: 1.5px solid #8FB043;
padding: 16px 32px;
border-radius: 7px;
transition: color 0.12s ease, border-color 0.12s ease;
}

.abtu .titlelinks .lnksec:hover {
color: #8FB043;
border-color: #5a7a20;
}

.abtu .titleimg {
flex: 0 0 380px;
position: relative;
}

.abtu .titleimg img {
width: 380px;
height: 480px;
object-fit: cover;
object-position: center;
border-radius: 26px;
display: block;
mix-blend-mode: multiply;
filter: saturate(0.8) contrast(1.05);
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.abtu .titleimg::before {
content: '';
position: absolute;
inset: -8px -8px 8px 8px;
border: 2px dashed rgba(143, 176, 67, 0.4);
border-radius: 26px;
pointer-events: none;
}

.abtu .storyrow {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
display: flex;
flex-direction: row;
gap: 96px;
align-items: flex-start;
}

.abtu .storyleft {
flex: 0 0 320px;
position: sticky;
top: 32px;
}

.abtu .storyleft h2 {
font-size: 36px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #1a2a0a;
font-weight: 700;
margin: 0 0 16px 0;
border-left: 4px solid #8FB043;
padding-left: 16px;
}

.abtu .storyleft h2 strong {
font-size: 52px;
display: block;
color: #8FB043;
line-height: 1.2;
}

.abtu .storyleft .storyimg {
margin-top: 32px;
width: 100%;
}

.abtu .storyleft .storyimg img {
width: 100%;
height: 220px;
object-fit: cover;
border-radius: 14px;
display: block;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
}

.abtu .storyleft .storyimg img:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-3px);
}

.abtu .storyright {
flex: 1;
}

.abtu .storyright .para {
font-size: 16px;
line-height: 1.6;
color: #2a3820;
margin: 0 0 32px 0;
}

.abtu .storyright .para.wide {
max-width: 100%;
}

.abtu .storyright .para.narrow {
max-width: 520px;
}

.abtu .storyright .accent {
font-weight: 700;
color: #8FB043;
}

.abtu .storyright .imgrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin: 32px 0;
}

.abtu .storyright .imgrow img {
width: 100%;
height: 180px;
object-fit: cover;
border-radius: 14px;
display: block;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
transition: box-shadow 0.2s ease-out, transform 0.16s ease-out;
}

.abtu .storyright .imgrow img:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-4px);
}

.abtu .teamstrip {
background: #F5F7F5;
position: relative;
overflow: hidden;
}

.abtu .teamstrip::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 400px;
height: 400px;
background: radial-gradient(circle, rgba(174, 211, 170, 0.28) 0%, transparent 70%);
animation: spotpulse 8s cubic-bezier(0.4, 0, 0.6, 1) infinite alternate;
pointer-events: none;
}

@keyframes spotpulse {
0% {
width: 300px;
height: 300px;
opacity: 0.5;
}

100% {
width: 550px;
height: 550px;
opacity: 1;
}
}

.abtu .teaminner {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
position: relative;
}

.abtu .teaminner h2 {
font-size: 36px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #1a2a0a;
font-weight: 700;
margin: 0 0 8px 0;
}

.abtu .teaminner .subhead {
font-size: 16px;
color: #4a5a3a;
margin: 0 0 48px 0;
line-height: 1.6;
}

.abtu .teamgrid {
display: grid;
grid-template-columns: 340px 1fr;
gap: 48px;
align-items: start;
}

.abtu .portrait {
position: relative;
}

.abtu .portrait img {
width: 340px;
height: 437px;
object-fit: cover;
object-position: center;
border-radius: 14px;
display: block;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: box-shadow 0.18s ease-out;
}

.abtu .portrait img:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.abtu .portrait .portname {
margin-top: 16px;
font-size: 16px;
font-weight: 700;
color: #1a2a0a;
}

.abtu .portrait .portrole {
font-size: 14px;
color: #8FB043;
margin-top: 4px;
}

.abtu .teamdetail {
display: flex;
flex-direction: column;
gap: 32px;
}

.abtu .teamdetail .tpara {
font-size: 16px;
line-height: 1.6;
color: #2a3820;
margin: 0;
}

.abtu .teamdetail .tpara.narrow {
max-width: 520px;
}

.abtu .teamdetail .steptrack {
display: flex;
flex-direction: row;
gap: 0;
margin-top: 8px;
}

.abtu .stepitem {
flex: 1;
position: relative;
padding: 16px 16px 16px 0;
border-top: 3px solid #AED3AA;
transition: border-color 0.15s ease-out;
}

.abtu .stepitem:hover {
border-color: #8FB043;
}

.abtu .stepitem .stepnum {
font-size: 36px;
font-weight: 800;
color: #8FB043;
line-height: 1.2;
display: block;
}

.abtu .stepitem .steplabel {
font-size: 14px;
color: #2a3820;
line-height: 1.6;
margin-top: 4px;
display: block;
}

.abtu .stepitem .stepline {
position: absolute;
bottom: 0;
left: 0;
height: 2px;
width: 0;
background: #8FB043;
animation: lineexp 3s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}

.abtu .stepitem:nth-child(2) .stepline {
animation-delay: 1s;
}

.abtu .stepitem:nth-child(3) .stepline {
animation-delay: 2s;
}

@keyframes lineexp {
0% {
width: 0;
}

100% {
width: 100%;
}
}

.abtu .divider {
width: 100%;
height: 1px;
background: #d8e4c8;
}

.abtu .approach {
max-width: 1500px;
margin: 0 auto;
padding: 96px 48px;
margin-left: auto;
margin-right: 0;
padding-right: 96px;
}

.abtu .approachwrap {
background: white;
padding: 0;
}

.abtu .approach h2 {
font-size: 36px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #1a2a0a;
font-weight: 700;
margin: 0 0 48px 0;
max-width: 600px;
}

.abtu .approach h2 em {
font-style: normal;
font-size: 52px;
color: #8FB043;
}

.abtu .twocol {
display: grid;
grid-template-columns: 1fr 3px 1fr;
gap: 48px;
align-items: start;
}

.abtu .coldiv {
background: linear-gradient(180deg, transparent 0%, #8FB043 30%, #8FB043 70%, transparent 100%);
align-self: stretch;
}

.abtu .col .cpara {
font-size: 16px;
line-height: 1.6;
color: #2a3820;
margin: 0 0 16px 0;
}

.abtu .col .cpara.narrow {
max-width: 400px;
}

.abtu .col h3 {
font-size: 24px;
line-height: 1.2;
font-weight: 700;
color: #1a2a0a;
margin: 0 0 16px 0;
letter-spacing: -0.01em;
}

.abtu .col .imgfull {
width: 100%;
height: 240px;
object-fit: cover;
border-radius: 14px;
display: block;
margin-top: 16px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
transition: box-shadow 0.2s ease-out, transform 0.16s ease-out;
}

.abtu .col .imgfull:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-3px);
}

.abtu .col .dashedbox {
border: 2px dashed #AED3AA;
border-radius: 14px;
padding: 32px;
margin-top: 32px;
}

.abtu .col .dashedbox h4 {
font-size: 16px;
font-weight: 700;
color: #1a2a0a;
margin: 0 0 16px 0;
}

.abtu .col .dashedbox ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.abtu .col .dashedbox ul li {
font-size: 14px;
line-height: 1.6;
color: #2a3820;
padding-left: 16px;
position: relative;
}

.abtu .col .dashedbox ul li::before {
content: '-';
position: absolute;
left: 0;
color: #8FB043;
font-weight: 700;
}

.abtu .offsetwrap {
padding-left: 96px;
}

@media (max-width: 1100px) {
.abtu .titlewrap {
flex-direction: column;
gap: 48px;
}

.abtu .titleimg {
flex: none;
width: 100%;
display: flex;
justify-content: center;
}

.abtu .titleimg img {
width: 300px;
height: 380px;
}

.abtu .storyrow {
flex-direction: column;
gap: 48px;
}

.abtu .storyleft {
flex: none;
width: 100%;
position: static;
}

.abtu .teamgrid {
grid-template-columns: 1fr;
}

.abtu .portrait img {
width: 100%;
max-width: 340px;
height: 437px;
}

.abtu .twocol {
grid-template-columns: 1fr;
gap: 32px;
}

.abtu .coldiv {
display: none;
}

.abtu .offsetwrap {
padding-left: 0;
}

.abtu .approach {
padding-right: 48px;
margin-right: auto;
}
}

@media (max-width: 700px) {
.abtu .grad-bg {
padding: 48px 16px;
}

.abtu .titletxt h1 {
font-size: 52px;
}

.abtu .titletxt h1 span {
font-size: 36px;
}

.abtu .storyrow {
padding: 48px 16px;
}

.abtu .teaminner {
padding: 48px 16px;
}

.abtu .approach {
padding: 48px 16px;
}

.abtu .steptrack {
flex-direction: column;
}

.abtu .storyright .imgrow {
grid-template-columns: 1fr;
}

.abtu .titlelinks {
flex-direction: column;
}
}

.ctus {
background: #fff;
overflow-x: clip;
}

.ctus .drop-anim {
animation: dropIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ctus .drop-anim.d1 {
animation-delay: 0.05s;
}

.ctus .drop-anim.d2 {
animation-delay: 0.15s;
}

.ctus .drop-anim.d3 {
animation-delay: 0.25s;
}

.ctus .drop-anim.d4 {
animation-delay: 0.35s;
}

.ctus .drop-anim.d5 {
animation-delay: 0.45s;
}

@keyframes dropIn {
from {
opacity: 0;
transform: translateY(-28px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.ctus .panel-top {
background: #F5F7F5;
padding: 96px 32px 48px;
position: relative;
}

.ctus .panel-top::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(143, 176, 67, 0.06) 1px, transparent 1px),
linear-gradient(90deg, rgba(143, 176, 67, 0.06) 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none;
}

.ctus .corner-rects {
position: absolute;
top: 24px;
right: 24px;
width: 80px;
height: 80px;
pointer-events: none;
}

.ctus .corner-rects span {
position: absolute;
border: 1px solid rgba(143, 176, 67, 0.18);
border-radius: 2px;
}

.ctus .corner-rects span:nth-child(1) {
inset: 0;
}

.ctus .corner-rects span:nth-child(2) {
inset: 10px;
}

.ctus .corner-rects span:nth-child(3) {
inset: 20px;
}

.ctus .corner-rects span:nth-child(4) {
inset: 30px;
}

.ctus .bento {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px;
position: relative;
z-index: 1;
}

.ctus .bento-cell {
border-radius: 14px;
padding: 32px;
background: #fff;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.ctus .bento-cell.wide {
grid-column: 1 / 3;
}

.ctus .bento-cell.accent {
background: #8FB043;
color: #fff;
}

.ctus .bento-cell.shape {
background: #fff;
display: flex;
align-items: center;
justify-content: center;
min-height: 180px;
padding: 0;
overflow: hidden;
border-radius: 14px;
}

.ctus .geo-shape {
width: 100%;
height: 100%;
min-height: 180px;
position: relative;
background: linear-gradient(160deg, #AED3AA 0%, #F5F7F5 100%);
clip-path: polygon(0 20%, 40% 0, 100% 15%, 100% 100%, 0 100%);
display: flex;
align-items: flex-end;
padding: 32px;
}

.ctus .geo-label {
font-size: 14px;
color: #3a4a1e;
line-height: 1.6;
font-weight: 600;
letter-spacing: -0.01em;
}

.ctus .pg-label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 8px;
display: block;
}

.ctus .pg-heading {
font-size: 52px;
line-height: 1.2;
font-weight: 800;
color: #1b2a0a;
letter-spacing: -0.03em;
margin-bottom: 16px;
}

.ctus .pg-heading .first {
display: block;
font-size: 70px;
line-height: 1.2;
color: #8FB043;
}

.ctus .pg-sub {
font-size: 16px;
line-height: 1.6;
color: #4a5a30;
max-width: 420px;
}

.ctus .bento-cell.accent .acc-label {
font-size: 14px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.7);
margin-bottom: 16px;
display: block;
}

.ctus .bento-cell.accent .acc-heading {
font-size: 24px;
font-weight: 700;
line-height: 1.2;
color: #fff;
margin-bottom: 8px;
}

.ctus .bento-cell.accent .acc-body {
font-size: 14px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.85);
}

.ctus .contact-strip {
margin-top: 16px;
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}

.ctus .cinfo-item {
background: #fff;
border-radius: 14px;
padding: 24px 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
}

.ctus .cinfo-item:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-2px);
}

.ctus .cinfo-icon {
width: 42px;
height: 42px;
border-radius: 7px;
background: #F5F7F5;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.ctus .cinfo-icon svg {
width: 20px;
height: 20px;
}

.ctus .cinfo-text .ci-label {
font-size: 14px;
color: #8FB043;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
display: block;
margin-bottom: 4px;
}

.ctus .cinfo-text .ci-val {
font-size: 16px;
color: #1b2a0a;
font-weight: 600;
line-height: 1.6;
text-decoration: none;
transition: color 0.15s ease;
}

.ctus .cinfo-text .ci-val:hover {
color: #8FB043;
}

.ctus .divider-edge {
display: flex;
align-items: center;
justify-content: space-between;
padding: 32px 32px 0;
max-width: 1500px;
margin: 0 auto;
}

.ctus .divider-edge span {
display: block;
width: 80px;
height: 2px;
background: #AED3AA;
border-radius: 2px;
}

.ctus .panel-form {
background: #fff;
padding: 48px 32px 96px;
}

.ctus .form-wrap {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 96px;
align-items: start;
}

.ctus .form-aside {
padding-top: 8px;
}

.ctus .aside-tag {
font-size: 14px;
font-weight: 700;
color: #8FB043;
letter-spacing: 0.08em;
text-transform: uppercase;
display: block;
margin-bottom: 16px;
}

.ctus .aside-heading {
font-size: 36px;
font-weight: 800;
color: #1b2a0a;
line-height: 1.2;
letter-spacing: -0.025em;
margin-bottom: 16px;
}

.ctus .aside-heading strong {
color: #8FB043;
font-weight: 800;
}

.ctus .aside-body {
font-size: 16px;
line-height: 1.6;
color: #4a5a30;
margin-bottom: 32px;
}

.ctus .aside-meta {
display: flex;
flex-direction: column;
gap: 16px;
}

.ctus .meta-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
}

.ctus .meta-dot {
width: 8px;
height: 8px;
border-radius: 2px;
background: #AED3AA;
margin-top: 6px;
flex-shrink: 0;
}

.ctus .meta-text {
font-size: 14px;
line-height: 1.6;
color: #4a5a30;
}

.ctus .meta-text strong {
color: #1b2a0a;
font-weight: 700;
}

.ctus .frm {
background: #F5F7F5;
border-radius: 26px;
padding: 48px;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
position: relative;
}

.ctus .frm-corner {
position: absolute;
bottom: 24px;
left: 24px;
width: 64px;
height: 64px;
pointer-events: none;
}

.ctus .frm-corner span {
position: absolute;
border: 1px solid rgba(143, 176, 67, 0.15);
border-radius: 2px;
}

.ctus .frm-corner span:nth-child(1) {
inset: 0;
}

.ctus .frm-corner span:nth-child(2) {
inset: 8px;
}

.ctus .frm-corner span:nth-child(3) {
inset: 16px;
}

.ctus .frow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 16px;
}

.ctus .fgroup {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 16px;
position: relative;
}

.ctus .fgroup.half {
margin-bottom: 0;
}

.ctus .fgroup label {
font-size: 14px;
font-weight: 700;
color: #3a4a1e;
letter-spacing: 0.02em;
}

.ctus .fgroup input,
.ctus .fgroup select {
font-size: 16px;
line-height: 1.6;
color: #1b2a0a;
background: #fff;
border: 1.5px solid #d4e0b8;
border-radius: 7px;
padding: 12px 16px;
outline: none;
transition: border-color 0.18s ease-out, box-shadow 0.18s ease-out;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
}

.ctus .fgroup input::placeholder {
color: #a0b080;
font-size: 14px;
}

.ctus .fgroup input:focus,
.ctus .fgroup select:focus {
border-color: #8FB043;
box-shadow: 0 0 0 3px rgba(143, 176, 67, 0.12);
}

.ctus .fgroup select {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%238FB043' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 14px center;
padding-right: 40px;
cursor: pointer;
}

.ctus .fgroup select option {
color: #1b2a0a;
background: #fff;
}

.ctus .timeline-group {
margin-bottom: 24px;
}

.ctus .timeline-label {
font-size: 14px;
font-weight: 700;
color: #3a4a1e;
letter-spacing: 0.02em;
display: block;
margin-bottom: 8px;
}

.ctus .timeline-opts {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 8px;
}

.ctus .timeline-opts label {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
cursor: pointer;
}

.ctus .timeline-opts input[type="radio"] {
position: absolute;
width: 1px;
height: 1px;
opacity: 0;
}

.ctus .topt {
width: 100%;
padding: 10px 8px;
background: #fff;
border: 1.5px solid #d4e0b8;
border-radius: 7px;
text-align: center;
font-size: 14px;
color: #4a5a30;
font-weight: 600;
line-height: 1.6;
transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}

.ctus .timeline-opts label:has(input:checked) .topt {
border-color: #8FB043;
background: #8FB043;
color: #fff;
}

.ctus .topt-sub {
font-size: 14px;
font-weight: 400;
opacity: 0.8;
}

.ctus .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px;
padding: 16px;
background: #fff;
border-radius: 7px;
border: 1.5px solid #d4e0b8;
}

.ctus .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #8FB043;
cursor: pointer;
}

.ctus .privacy-text {
font-size: 14px;
line-height: 1.6;
color: #4a5a30;
}

.ctus .privacy-text a {
color: #8FB043;
font-weight: 700;
text-decoration: none;
transition: color 0.15s ease;
}

.ctus .privacy-text a:hover {
color: #6a8a30;
}

.ctus .btn-submit {
width: 100%;
padding: 16px 32px;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.03em;
border: none;
border-radius: 14px;
cursor: pointer;
position: relative;
overflow: hidden;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background 0.18s ease-out, box-shadow 0.18s ease-out, transform 0.12s ease;
}

.ctus .btn-submit::after {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0%;
background: rgba(255, 255, 255, 0.18);
transition: width 0s;
}

.ctus .btn-submit:active::after {
width: 100%;
transition: width 2s linear;
}

.ctus .btn-submit:hover {
background: #7a9a38;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-1px);
}

.ctus .btn-submit:active {
transform: translateY(0);
}

.ctus .btn-submit:focus-visible {
outline: 3px solid #8FB043;
outline-offset: 3px;
}

@media (max-width: 1024px) {
.ctus .bento {
grid-template-columns: 1fr 1fr;
}

.ctus .bento-cell.wide {
grid-column: 1 / -1;
}

.ctus .contact-strip {
grid-template-columns: 1fr;
}

.ctus .form-wrap {
grid-template-columns: 1fr;
gap: 48px;
}

.ctus .timeline-opts {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 680px) {
.ctus .bento {
grid-template-columns: 1fr;
}

.ctus .bento-cell.wide {
grid-column: 1 / -1;
}

.ctus .pg-heading .first {
font-size: 52px;
}

.ctus .pg-heading {
font-size: 36px;
}

.ctus .frow {
grid-template-columns: 1fr;
}

.ctus .frm {
padding: 32px 24px;
}

.ctus .panel-top {
padding: 48px 16px 32px;
}

.ctus .panel-form {
padding: 32px 16px 48px;
}

.ctus .timeline-opts {
grid-template-columns: repeat(2, 1fr);
}
}

.wbn {
max-width: 100%;
overflow-x: hidden;
}

.wbn .pg {
max-width: 1500px;
margin: 0 auto;
padding: 0 32px;
}

.wbn .strip {
width: 100%;
height: 180px;
overflow: hidden;
position: relative;
}

.wbn .strip img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.6) brightness(0.85) hue-rotate(0deg);
display: block;
}

.wbn .strip::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(143, 176, 67, 0.18) 0%, rgba(174, 211, 170, 0.08) 100%);
}

.wbn .titlezone {
background: #fff;
padding: 48px 0 32px;
position: relative;
}

.wbn .titlezone .pg {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.wbn .textcol {
flex: 1 1 0;
position: relative;
}

.wbn .quotemark {
position: absolute;
top: -16px;
left: -8px;
font-size: 120px;
line-height: 1.2;
color: #AED3AA;
opacity: 0.22;
font-weight: 900;
pointer-events: none;
user-select: none;
z-index: 0;
}

.wbn .textcol .h1 {
font-size: 52px;
line-height: 1.2;
letter-spacing: -0.03em;
font-weight: 800;
color: #1b2a0e;
margin: 0 0 16px;
position: relative;
z-index: 1;
}

.wbn .textcol .h1 span {
font-size: 70px;
line-height: 1.2;
color: #8FB043;
display: block;
letter-spacing: -0.04em;
}

.wbn .textcol .desc {
font-size: 16px;
line-height: 1.6;
color: #2e3d1f;
max-width: 560px;
position: relative;
z-index: 1;
}

.wbn .metarow {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 32px;
flex-wrap: wrap;
}

.wbn .metaitem {
display: flex;
flex-direction: column;
gap: 4px;
}

.wbn .metaitem .mlabel {
font-size: 14px;
line-height: 1.6;
color: #7a8f6a;
font-weight: 500;
}

.wbn .metaitem .mval {
font-size: 24px;
line-height: 1.2;
font-weight: 800;
color: #8FB043;
letter-spacing: -0.02em;
}

.wbn .sidecol {
flex: 0 0 280px;
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 8px;
}

.wbn .tagcard {
background: #F5F7F5;
border-radius: 14px;
padding: 16px;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
border-top: 2px solid #8FB043;
outline: 4px solid #fff;
outline-offset: -6px;
}

.wbn .tagcard .tlabel {
font-size: 14px;
line-height: 1.6;
color: #7a8f6a;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: 8px;
}

.wbn .tagcard .tval {
font-size: 16px;
line-height: 1.6;
color: #1b2a0e;
font-weight: 500;
}

.wbn .divline {
width: 100%;
display: flex;
flex-direction: column;
gap: 3px;
padding: 0;
}

.wbn .divline span {
display: block;
height: 1px;
background: #AED3AA;
width: 100%;
}

.wbn .divline span:last-child {
background: #8FB043;
opacity: 0.4;
}

.wbn .listsec {
background: #F5F7F5;
padding: 64px 0 96px;
}

.wbn .listsec .pg {
display: flex;
flex-direction: column;
gap: 48px;
}

.wbn .sechead {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 32px;
flex-wrap: wrap;
}

.wbn .sechead .h2 {
font-size: 36px;
line-height: 1.2;
font-weight: 800;
color: #1b2a0e;
letter-spacing: -0.025em;
margin: 0;
flex: 1 1 280px;
}

.wbn .sechead .h2 em {
font-style: normal;
color: #8FB043;
}

.wbn .sechead .subdesc {
font-size: 16px;
line-height: 1.6;
color: #4a5e38;
flex: 1 1 260px;
max-width: 420px;
}

.wbn .wgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
}

.wbn .wcard {
background: #fff;
border-radius: 26px;
overflow: hidden;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
display: flex;
flex-direction: column;
position: relative;
transition: box-shadow 0.18s ease-out, transform 0.15s ease-out;
}

.wbn .wcard:hover {
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
transform: translateY(-3px);
}

.wbn .wcardtag {
position: absolute;
top: 16px;
right: 16px;
background: #8FB043;
color: #fff;
font-size: 14px;
line-height: 1.6;
font-weight: 700;
padding: 4px 8px;
border-radius: 7px;
z-index: 2;
}

.wbn .wcardtag.past {
background: #AED3AA;
color: #2e3d1f;
}

.wbn .wcardtag.soon {
background: #1b2a0e;
color: #AED3AA;
}

.wbn .wcardimg {
width: 100%;
height: 160px;
overflow: hidden;
flex-shrink: 0;
}

.wbn .wcardimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.2s ease-out;
}

.wbn .wcard:hover .wcardimg img {
transform: scale(1.04);
}

.wbn .wcardvisual {
width: 100%;
height: 160px;
overflow: hidden;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}

.wbn .wcardvisual.v1 {
background: linear-gradient(200deg, #2e3d1f 0%, #8FB043 100%);
}

.wbn .wcardvisual.v2 {
background: linear-gradient(200deg, #AED3AA 0%, #F5F7F5 100%);
}

.wbn .wcardvisual.v3 {
background: linear-gradient(200deg, #1b2a0e 0%, #4a5e38 100%);
}

.wbn .wcardvisual.v4 {
background: linear-gradient(200deg, #8FB043 0%, #AED3AA 100%);
}

.wbn .wcardvisual.v5 {
background: linear-gradient(200deg, #F5F7F5 0%, #AED3AA 60%, #8FB043 100%);
}

.wbn .vshape {
width: 80px;
height: 80px;
border-radius: 50%;
border: 3px solid rgba(255, 255, 255, 0.3);
display: flex;
align-items: center;
justify-content: center;
}

.wbn .vshape svg {
width: 36px;
height: 36px;
}

.wbn .wcardbd {
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 auto;
}

.wbn .wcardbd .wh {
font-size: 16px;
line-height: 1.6;
font-weight: 700;
color: #1b2a0e;
margin: 0;
}

.wbn .wcardbd .wp {
font-size: 14px;
line-height: 1.6;
color: #4a5e38;
margin: 0;
}

.wbn .wmetarow {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
margin-top: 8px;
padding-top: 8px;
border-top: 1px solid #AED3AA;
}

.wbn .wmetarow .wm {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
font-size: 14px;
line-height: 1.6;
color: #7a8f6a;
}

.wbn .wmetarow .wm svg {
width: 14px;
height: 14px;
flex-shrink: 0;
}

.wbn .speakerrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 4px;
}

.wbn .portrait {
width: 32px;
height: 32px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
}

.wbn .portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.wbn .sname {
font-size: 14px;
line-height: 1.6;
color: #2e3d1f;
font-weight: 600;
}

.wbn .srole {
font-size: 14px;
line-height: 1.6;
color: #7a8f6a;
}

.wbn .wbtn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 700;
padding: 12px 24px;
border-radius: 14px;
border: none;
cursor: pointer;
margin: 16px 16px 16px;
width: calc(100% - 32px);
position: relative;
overflow: hidden;
transition: color 0.15s ease-out, box-shadow 0.18s ease-out;
box-shadow: -1px 3px 6px -2px rgba(143, 176, 67, 0.07);
}

.wbn .wbtn::before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0%;
background: #1b2a0e;
transition: height 0.18s cubic-bezier(0.22, 1, 0.36, 1);
z-index: 0;
}

.wbn .wbtn:hover::before {
height: 100%;
}

.wbn .wbtn span {
position: relative;
z-index: 1;
}

.wbn .wbtn:focus-visible {
outline: 3px solid #8FB043;
outline-offset: 2px;
}

.wbn .wbtn.sec {
background: #F5F7F5;
color: #4a5e38;
font-size: 14px;
font-weight: 600;
padding: 8px 16px;
width: auto;
margin: 0 16px 16px;
}

.wbn .wbtn.sec::before {
background: #AED3AA;
}

.wbn .wbtn.sec:hover {
color: #1b2a0e;
}

.wbn .colreveal {
animation: colIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.wbn .wcard:nth-child(1) {
animation-delay: 0.05s;
}

.wbn .wcard:nth-child(2) {
animation-delay: 0.15s;
}

.wbn .wcard:nth-child(3) {
animation-delay: 0.25s;
}

.wbn .wcard:nth-child(4) {
animation-delay: 0.35s;
}

.wbn .wcard:nth-child(5) {
animation-delay: 0.45s;
}

@keyframes colIn {
from {
opacity: 0;
transform: translateY(24px);
}

to {
opacity: 1;
transform: translateY(0);
}
}

.wbn .frostedrow {
background: rgba(245, 247, 245, 0.7);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 26px;
padding: 32px;
display: flex;
flex-direction: row;
gap: 32px;
align-items: flex-start;
flex-wrap: wrap;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
border: 1px solid rgba(174, 211, 170, 0.35);
}

.wbn .frostedrow .frcol {
flex: 1 1 200px;
display: flex;
flex-direction: column;
gap: 8px;
}

.wbn .frostedrow .frcol .frlabel {
font-size: 14px;
line-height: 1.6;
color: #7a8f6a;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}

.wbn .frostedrow .frcol .frval {
font-size: 24px;
line-height: 1.2;
font-weight: 800;
color: #1b2a0e;
letter-spacing: -0.02em;
}

.wbn .frostedrow .frcol .frp {
font-size: 14px;
line-height: 1.6;
color: #4a5e38;
}

.wbn .topiclist {
display: flex;
flex-direction: column;
gap: 4px;
margin: 0;
padding: 0;
list-style: none;
}

.wbn .topiclist li {
font-size: 14px;
line-height: 1.6;
color: #2e3d1f;
padding-left: 16px;
position: relative;
}

.wbn .topiclist li::before {
content: "";
position: absolute;
left: 0;
top: 11px;
width: 6px;
height: 1px;
background: #8FB043;
}

@media (max-width: 1024px) {
.wbn .wgrid {
grid-template-columns: repeat(2, 1fr);
}

.wbn .titlezone .pg {
flex-direction: column;
gap: 32px;
}

.wbn .sidecol {
flex: 1 1 auto;
flex-direction: row;
flex-wrap: wrap;
}

.wbn .tagcard {
flex: 1 1 200px;
}
}

@media (max-width: 680px) {
.wbn .wgrid {
grid-template-columns: 1fr;
}

.wbn .textcol .h1 {
font-size: 36px;
}

.wbn .textcol .h1 span {
font-size: 52px;
}

.wbn .frostedrow {
flex-direction: column;
}

.wbn .pg {
padding: 0 16px;
}

.wbn .sechead {
flex-direction: column;
gap: 16px;
}
}

.successPage {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background: #F5F7F5;
}

.successPage .card {
background: #fff;
border-radius: 26px;
padding: 48px;
max-width: 560px;
width: 100%;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
display: flex;
flex-direction: column;
align-items: center;
gap: 32px;
}

.successPage .iconWrap {
width: 72px;
height: 72px;
border-radius: 42px;
background: #F5F7F5;
display: flex;
align-items: center;
justify-content: center;
box-shadow: inset 0 6px 10px -2px rgba(143, 176, 67, 0.12);
}

.successPage .iconWrap svg {
display: block;
}

.successPage .textBlock {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
}

.successPage .textBlock .label {
font-size: 14px;
line-height: 1.6;
letter-spacing: 0.08em;
color: #8FB043;
font-weight: 600;
text-transform: uppercase;
}

.successPage .textBlock .heading {
font-size: 36px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #1b2a0e;
font-weight: 700;
margin: 0;
}

.successPage .textBlock .desc {
font-size: 16px;
line-height: 1.6;
color: #3d4d2e;
margin: 0;
max-width: 400px;
}

.successPage .divider {
width: 48px;
height: 2px;
background: #AED3AA;
border-radius: 2px;
}

.successPage .actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
}

.successPage .btnPrimary {
display: inline-block;
padding: 16px 32px;
background: #8FB043;
color: #fff;
font-size: 16px;
font-weight: 600;
line-height: 1.2;
border-radius: 14px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.18);
transition: background 0.15s ease-out, box-shadow 0.18s ease-out;
}

.successPage .btnPrimary:hover {
background: #7a9938;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.22);
}

.successPage .btnPrimary:focus-visible {
outline: 2px solid #8FB043;
outline-offset: 3px;
}

.successPage .btnSecondary {
display: inline-block;
padding: 16px 24px;
background: transparent;
color: #3d4d2e;
font-size: 14px;
font-weight: 500;
line-height: 1.2;
border-radius: 14px;
text-decoration: none;
border: 1.5px solid #AED3AA;
cursor: pointer;
transition: border-color 0.12s ease-out, color 0.12s ease-out;
}

.successPage .btnSecondary:hover {
border-color: #8FB043;
color: #1b2a0e;
}

.successPage .btnSecondary:focus-visible {
outline: 2px solid #8FB043;
outline-offset: 3px;
}

.successPage .note {
font-size: 14px;
line-height: 1.6;
color: #6a7d52;
text-align: center;
margin: 0;
}

.successPage .note strong {
color: #3d4d2e;
font-weight: 600;
}

@media (max-width: 600px) {
.successPage .card {
padding: 32px 24px;
}

.successPage .textBlock .heading {
font-size: 24px;
}

.successPage .actions {
flex-direction: column;
align-items: stretch;
}

.successPage .btnPrimary,
.successPage .btnSecondary {
text-align: center;
}
}

.notFound {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background-color: #F5F7F5;
}

.notFound .errWrap {
max-width: 1500px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 48px;
}

.notFound .errCode {
font-size: 70px;
font-weight: 800;
line-height: 1.2;
letter-spacing: -3px;
color: #8FB043;
position: relative;
display: inline-block;
}

.notFound .errCode::after {
content: '';
display: block;
width: 48px;
height: 4px;
background: #AED3AA;
border-radius: 2px;
margin: 16px auto 0;
}

.notFound .errBody {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center;
max-width: 560px;
}

.notFound .errTitle {
font-size: 36px;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.5px;
color: #2a2a2a;
}

.notFound .errDesc {
font-size: 16px;
line-height: 1.6;
color: #4a5240;
}

.notFound .errActions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
}

.notFound .btnPrimary {
display: inline-block;
padding: 16px 32px;
background: #8FB043;
color: #ffffff;
font-size: 16px;
font-weight: 700;
border-radius: 7px;
text-decoration: none;
box-shadow: -1px 4px 14px -2px rgba(143, 176, 67, 0.08);
transition: background-color 0.15s ease-out, box-shadow 0.18s ease-out;
}

.notFound .btnPrimary:hover {
background: #7a9838;
box-shadow: -1px 9px 36px -2px rgba(143, 176, 67, 0.14);
}

.notFound .btnPrimary:focus-visible {
outline: 2px solid #8FB043;
outline-offset: 3px;
}

.notFound .btnSecondary {
display: inline-block;
padding: 16px 32px;
background: transparent;
color: #4a5240;
font-size: 16px;
font-weight: 600;
border-radius: 7px;
text-decoration: none;
border: 1.5px solid #AED3AA;
transition: border-color 0.12s ease, color 0.12s ease;
}

.notFound .btnSecondary:hover {
border-color: #8FB043;
color: #8FB043;
}

.notFound .btnSecondary:focus-visible {
outline: 2px solid #8FB043;
outline-offset: 3px;
}

.notFound .errLinks {
display: flex;
flex-direction: row;
gap: 32px;
flex-wrap: wrap;
justify-content: center;
padding-top: 8px;
border-top: 1px solid #AED3AA;
width: 100%;
max-width: 560px;
}

.notFound .errLinks a {
font-size: 14px;
color: #4a5240;
text-decoration: none;
line-height: 2.0;
transition: color 0.12s ease;
position: relative;
}

.notFound .errLinks a::after {
content: '';
display: block;
height: 1px;
width: 0;
background: #8FB043;
border-radius: 2px;
transition: width 0.15s ease-out;
}

.notFound .errLinks a:hover {
color: #8FB043;
}

.notFound .errLinks a:hover::after {
width: 100%;
}

.notFound .shape {
width: 120px;
height: 120px;
border-radius: 26px;
background: linear-gradient(160deg, #AED3AA 0%, #F5F7F5 80%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: -1px 3px 6px -2px rgba(174, 211, 170, 0.07), -1px 4px 14px -2px rgba(174, 211, 170, 0.08);
}

.notFound .shape svg {
width: 52px;
height: 52px;
}