* {
box-sizing: border-box;
}

html {
font-size: 100%;
}

body {
margin: 0;
-webkit-text-size-adjust: 100%;
}

.topbar {
background: linear-gradient(97deg, #869F2C 0%, #B0C01E 100%);
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 40px;
height: 40px;
gap: 20px;
}

.topbar-contact {
display: flex;
align-items: center;
gap: 20px;
}

.topbar-item {
display: flex;
align-items: center;
gap: 10px;
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #ffffff;
letter-spacing: 0.04em;
text-decoration: none;
transition: color 200ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.topbar-item:hover {
color: #E2E6D4;
}

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

.topbar-divider {
width: 1px;
height: 16px;
background: rgba(255, 255, 255, 0.35);
}

.headermain {
background: #B0C01E;
position: relative;
}

.headermain-inner {
max-width: 1500px;
margin: 0 auto;
padding: 20px 40px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 40px;
}

.brand-area {
display: flex;
align-items: center;
gap: 20px;
order: 2;
flex-shrink: 0;
}

.logobox {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: #ffffff;
box-shadow: 0 0 0 2px rgba(176, 192, 30, 0.4), 0 3px 5px 1px rgba(176, 192, 30, 0.07);
border-radius: 1px;
flex-shrink: 0;
}

.logobox img {
width: 40px;
height: 40px;
object-fit: contain;
display: block;
}

.brandname {
font-family: 'Montserrat', sans-serif;
font-size: 27px;
font-weight: 700;
color: #ffffff;
line-height: 1.1;
letter-spacing: -0.01em;
white-space: nowrap;
}

.brandname span {
color: #E2E6D4;
}

.mainnav {
order: 1;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 10px;
row-gap: 10px;
}

.mainnav a {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 700;
color: #ffffff;
text-decoration: none;
padding: 10px 20px;
border-radius: 6px;
letter-spacing: 0.03em;
line-height: 1.4;
display: inline-flex;
align-items: center;
transition: background 350ms cubic-bezier(0.34, 1.2, 0.64, 1), color 350ms cubic-bezier(0.34, 1.2, 0.64, 1);
min-height: 44px;
}

.mainnav a:hover {
background: rgba(255, 255, 255, 0.18);
color: #ffffff;
}

.mainnav a:focus {
outline: 2px solid #ffffff;
outline-offset: 2px;
transform: scale(1.02);
}

.mainnav a.active {
background: rgba(255, 255, 255, 0.25);
}

.trustbadge {
order: 3;
flex-shrink: 0;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.15);
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 10px;
padding: 10px 20px;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
}

.trustbadge-stars {
display: flex;
gap: 2px;
align-items: center;
}

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

.trustbadge-text {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
font-weight: 700;
color: #ffffff;
line-height: 1.4;
letter-spacing: 0.03em;
}

.trustbadge-sub {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #E2E6D4;
line-height: 1.4;
letter-spacing: 0.02em;
}

.headeraccent {
height: 6px;
background: linear-gradient(90deg, #869F2C 0%, #E2E6D4 60%, #B0C01E 100%);
}

.footermain {
background: #2a2d1a;
padding: 80px 40px 40px;
}

.footermain-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr auto 1fr;
gap: 40px;
align-items: start;
}

.footercol-left {
display: flex;
flex-direction: column;
gap: 20px;
}

.footercol-center {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}

.footercol-right {
display: flex;
flex-direction: column;
gap: 20px;
align-items: flex-end;
}

.footer-logobox {
width: 56px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
background: #ffffff;
border-radius: 1px;
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
}

.footer-logobox img {
width: 46px;
height: 46px;
object-fit: contain;
display: block;
}

.footer-brandname {
font-family: 'Montserrat', sans-serif;
font-size: 20px;
font-weight: 700;
color: #ffffff;
line-height: 1.1;
letter-spacing: -0.01em;
text-align: center;
}

.footer-brandname span {
color: #B0C01E;
}

.footer-tagline {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #9aab6e;
line-height: 1.6;
text-align: center;
letter-spacing: 0.04em;
max-width: 220px;
}

.footer-navlabel {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
font-weight: 700;
color: #B0C01E;
letter-spacing: 0.08em;
line-height: 1.4;
text-transform: uppercase;
}

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

.footer-navlist a {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
color: #d4dbb8;
text-decoration: none;
line-height: 1.6;
transition: color 200ms cubic-bezier(0.34, 1.2, 0.64, 1);
display: inline-block;
}

.footer-navlist a:hover {
color: #B0C01E;
}

.footer-navlist a:focus {
outline: 2px solid #B0C01E;
outline-offset: 2px;
transform: scale(1.02);
}

.footer-contactblock {
display: flex;
flex-direction: column;
gap: 10px;
}

.footer-contactitem {
display: flex;
align-items: flex-start;
gap: 10px;
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #d4dbb8;
line-height: 1.6;
text-decoration: none;
transition: color 200ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.footer-contactitem:hover {
color: #B0C01E;
}

.footer-contactitem svg {
flex-shrink: 0;
margin-top: 2px;
}

.footerdivider {
max-width: 1500px;
margin: 40px auto 0;
height: 1px;
background: rgba(176, 192, 30, 0.2);
}

.footerbottom {
max-width: 1500px;
margin: 0 auto;
padding: 20px 40px 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
}

.footercopy {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #6b7a45;
line-height: 1.6;
letter-spacing: 0.02em;
}

.footer-legallinks {
display: flex;
gap: 20px;
flex-wrap: wrap;
}

.footer-legallinks a {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #6b7a45;
text-decoration: none;
line-height: 1.6;
transition: color 200ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.footer-legallinks a:hover {
color: #B0C01E;
}

.footer-legallinks a:focus {
outline: 2px solid #B0C01E;
outline-offset: 2px;
transform: scale(1.02);
}

.cookiepopup {
position: fixed;
top: 20px;
left: 0;
right: 0;
margin: 0 auto;
width: 560px;
max-width: calc(100% - 40px);
z-index: 1200;
background: #ffffff;
border-radius: 10px;
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
border: 1px solid #E2E6D4;
overflow: hidden;
}

.cookiemain {
padding: 20px;
}

.cookiedesc {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
color: #2a2d1a;
line-height: 1.6;
margin-bottom: 10px;
}

.cookieheadline {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
font-weight: 700;
color: #2a2d1a;
line-height: 1.4;
margin-bottom: 10px;
}

.cookieactions {
display: flex;
gap: 20px;
align-items: center;
flex-wrap: wrap;
margin-top: 10px;
}

.cookieactions button {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 700;
background: none;
border: none;
cursor: pointer;
padding: 0;
text-decoration: underline;
color: #869F2C;
transition: color 180ms cubic-bezier(0.34, 1.2, 0.64, 1);
line-height: 1.6;
min-height: 44px;
}

.cookieactions button:hover {
color: #B0C01E;
}

.cookieactions button:focus {
outline: 2px solid #B0C01E;
outline-offset: 2px;
transform: scale(1.02);
}

.cookiesettingspanel {
padding: 20px;
border-top: 1px solid #E2E6D4;
background: #f5f7ed;
}

.cookietogglerow {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 20px;
margin-bottom: 10px;
}

.cookietogglerow:last-child {
margin-bottom: 0;
}

.cookietogglelabel {
font-family: 'Montserrat', sans-serif;
font-size: 13px;
color: #2a2d1a;
line-height: 1.6;
}

.cookietogglecheck {
width: 18px;
height: 18px;
accent-color: #B0C01E;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

@media (max-width: 900px) {
.headermain-inner {
flex-wrap: wrap;
padding: 20px;
gap: 20px;
}

.brand-area {
order: 1;
}

.mainnav {
order: 2;
width: 100%;
}

.trustbadge {
order: 3;
}

.footermain-inner {
grid-template-columns: 1fr;
}

.footercol-right {
align-items: flex-start;
}

.footerbottom {
padding: 20px 20px 0;
}

.topbar {
padding: 0 20px;
}

.footermain {
padding: 40px 20px 20px;
}
}

.legal-inner-yda {
max-width: 1500px;
margin: 0 auto;
padding: 80px 40px;
}

.legal-inner-yda h1 {
font-size: 52px;
line-height: 1.1;
color: #2a2d1a;
margin-bottom: 40px;
margin-top: 0;
letter-spacing: -0.5px;
}

.legal-inner-yda h2 {
font-size: 37px;
line-height: 1.1;
color: #2a2d1a;
margin-top: 80px;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #E2E6D4;
}

.legal-inner-yda h3 {
font-size: 27px;
line-height: 1.4;
color: #2a2d1a;
margin-top: 40px;
margin-bottom: 20px;
}

.legal-inner-yda h4 {
font-size: 20px;
line-height: 1.4;
color: #3a3d28;
margin-top: 40px;
margin-bottom: 10px;
letter-spacing: 0.02em;
}

.legal-inner-yda h5 {
font-size: 16px;
line-height: 1.4;
color: #3a3d28;
margin-top: 20px;
margin-bottom: 10px;
letter-spacing: 0.04em;
text-transform: uppercase;
}

.legal-inner-yda h6 {
font-size: 13px;
line-height: 1.4;
color: #4a4e30;
margin-top: 20px;
margin-bottom: 10px;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.legal-inner-yda p {
font-size: 16px;
line-height: 1.6;
color: #3a3d28;
margin-top: 0;
margin-bottom: 20px;
max-width: 780px;
}

.legal-inner-yda ul {
margin-top: 0;
margin-bottom: 20px;
padding-left: 20px;
list-style: none;
}

.legal-inner-yda ol {
margin-top: 0;
margin-bottom: 20px;
padding-left: 20px;
counter-reset: policy-counter;
list-style: none;
}

.legal-inner-yda ul li {
font-size: 16px;
line-height: 1.6;
color: #3a3d28;
margin-bottom: 10px;
padding-left: 20px;
position: relative;
max-width: 780px;
}

.legal-inner-yda ul li::before {
content: "";
position: absolute;
left: 0;
top: 10px;
width: 6px;
height: 6px;
border-radius: 1px;
background-color: #B0C01E;
transform: rotate(45deg);
}

.legal-inner-yda ol li {
font-size: 16px;
line-height: 1.6;
color: #3a3d28;
margin-bottom: 10px;
padding-left: 20px;
position: relative;
counter-increment: policy-counter;
max-width: 780px;
}

.legal-inner-yda ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 14px;
font-weight: 700;
color: #869F2C;
line-height: 1.6;
}

.legal-inner-yda ul ul,
.legal-inner-yda ol ol,
.legal-inner-yda ul ol,
.legal-inner-yda ol ul {
margin-top: 10px;
margin-bottom: 10px;
}

.legal-inner-yda strong,
.legal-inner-yda b {
font-weight: 700;
color: #2a2d1a;
}

.legal-inner-yda a {
color: #869F2C;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.18s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color 0.35s ease-in-out;
text-decoration-color: rgba(134, 159, 44, 0.4);
}

.legal-inner-yda a:hover {
color: #B0C01E;
text-decoration-color: #B0C01E;
}

.legal-inner-yda hr {
border: none;
border-top: 1px solid #E2E6D4;
margin-top: 40px;
margin-bottom: 40px;
max-width: 780px;
}

@media (max-width: 768px) {
.legal-inner-yda {
padding: 40px 20px;
}

.legal-inner-yda h1 {
font-size: 37px;
margin-bottom: 20px;
}

.legal-inner-yda h2 {
font-size: 27px;
margin-top: 40px;
}

.legal-inner-yda h3 {
font-size: 20px;
margin-top: 40px;
}

.legal-inner-yda h4 {
font-size: 16px;
}

.legal-inner-yda p,
.legal-inner-yda ul li,
.legal-inner-yda ol li {
max-width: 100%;
}

.legal-inner-yda hr {
max-width: 100%;
}
}

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

.portfolio .portframe {
max-width: 1500px;
margin: 0 auto;
padding: 0 40px;
}

.portfolio .titleblock {
padding: 80px 0 40px;
background: #fff;
}

.portfolio .titleblock .portframe {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 40px;
}

.portfolio .titleleft {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 20px;
padding-top: 20px;
}

.portfolio .titlestrip {
width: 320px;
flex-shrink: 0;
position: relative;
}

.portfolio .titlestrip .stripimg {
width: 100%;
height: 520px;
object-fit: cover;
object-position: center;
display: block;
clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 92%);
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
}

.portfolio .titletag {
display: inline-block;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.12em;
color: #869F2C;
text-transform: uppercase;
background: #E2E6D4;
padding: 10px 20px;
border-radius: 6px;
width: fit-content;
}

.portfolio .titlemain {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
font-style: italic;
color: #1e2a00;
margin: 0;
}

.portfolio .titlesub {
font-size: 20px;
line-height: 1.6;
color: #3a4a10;
max-width: 560px;
margin: 0;
}

.portfolio .titlemeta {
display: flex;
flex-direction: row;
gap: 40px;
margin-top: 20px;
}

.portfolio .metaitem {
display: flex;
flex-direction: column;
gap: 10px;
}

.portfolio .metanum {
font-size: 37px;
font-weight: 800;
color: #B0C01E;
line-height: 1.1;
}

.portfolio .metalabel {
font-size: 13px;
color: #5a6820;
letter-spacing: 0.08em;
line-height: 1.4;
}

.portfolio .titlebadge {
display: inline-flex;
align-items: center;
gap: 10px;
border: 2px dashed #B0C01E;
border-radius: 10px;
padding: 10px 20px;
width: fit-content;
margin-top: 20px;
}

.portfolio .titlebadgetext {
font-size: 14px;
color: #3a4a10;
line-height: 1.4;
}

.portfolio .statshape {
width: 48px;
height: 48px;
border: 3px solid #B0C01E;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.portfolio .statshapenum {
font-size: 14px;
font-weight: 800;
color: #B0C01E;
line-height: 1.1;
}

.portfolio .workblock {
padding: 80px 0;
background: #f4f6ec;
position: relative;
overflow: hidden;
}

.portfolio .workblock::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(1);
width: 600px;
height: 600px;
border-radius: 38px;
background: radial-gradient(ellipse at 40% 60%, rgba(176, 192, 30, 0.13) 0%, rgba(134, 159, 44, 0.07) 55%, transparent 80%),
radial-gradient(ellipse at 70% 30%, rgba(226, 230, 212, 0.18) 0%, transparent 65%);
animation: spotpulse 5s cubic-bezier(0.45, 0, 0.55, 1) infinite alternate;
pointer-events: none;
z-index: 0;
}

@keyframes spotpulse {
0% {
transform: translate(-50%, -50%) scale(0.88);
opacity: 0.7;
}

100% {
transform: translate(-50%, -50%) scale(1.18);
opacity: 1;
}
}

.portfolio .workblock .portframe {
position: relative;
z-index: 1;
}

.portfolio .worklabel {
font-size: 13px;
font-weight: 600;
letter-spacing: 0.12em;
color: #869F2C;
text-transform: uppercase;
margin-bottom: 10px;
}

.portfolio .workheading {
font-size: 37px;
font-weight: 800;
font-style: italic;
color: #1e2a00;
line-height: 1.1;
margin: 0 0 20px;
max-width: 680px;
}

.portfolio .workintro {
font-size: 16px;
line-height: 1.6;
color: #3a4a10;
max-width: 520px;
margin: 0 0 40px;
}

.portfolio .cardrow {
display: flex;
flex-direction: row;
gap: 20px;
align-items: stretch;
}

.portfolio .workcard {
background: #fff;
border-radius: 10px;
padding: 40px;
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 20px;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.portfolio .workcard:hover {
box-shadow: 0 12px 36px 1px rgba(176, 192, 30, 0.14);
transform: translateY(-4px);
}

.portfolio .workcard.featured {
flex: 2.2 1 0;
border: 2px dashed #B0C01E;
}

.portfolio .cardicon {
width: 44px;
height: 44px;
flex-shrink: 0;
}

.portfolio .cardtitle {
font-size: 20px;
font-weight: 700;
color: #1e2a00;
line-height: 1.4;
margin: 0;
}

.portfolio .carddesc {
font-size: 14px;
line-height: 1.6;
color: #4a5c10;
margin: 0;
}

.portfolio .cardimg {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
border-radius: 6px;
display: block;
transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
overflow: hidden;
}

.portfolio .imgwrap {
overflow: hidden;
border-radius: 6px;
}

.portfolio .imgwrap:hover .cardimg {
transform: scale(1.06);
}

.portfolio .cardstat {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
background: #E2E6D4;
border-radius: 6px;
padding: 20px;
margin-top: auto;
}

.portfolio .cardstatnum {
font-size: 37px;
font-weight: 800;
color: #869F2C;
line-height: 1.1;
flex-shrink: 0;
}

.portfolio .cardstatdesc {
font-size: 13px;
line-height: 1.4;
color: #3a4a10;
}

.portfolio .teamblock {
padding: 80px 0;
background: #fff;
}

.portfolio .teamgrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
margin-top: 40px;
}

.portfolio .teamheading {
font-size: 37px;
font-weight: 800;
font-style: italic;
color: #1e2a00;
line-height: 1.1;
margin: 0 0 10px;
text-align: center;
}

.portfolio .teamintro {
font-size: 16px;
line-height: 1.6;
color: #3a4a10;
max-width: 540px;
margin: 0 auto 10px;
text-align: center;
}

.portfolio .teamlabel {
font-size: 13px;
font-weight: 600;
letter-spacing: 0.12em;
color: #869F2C;
text-transform: uppercase;
text-align: center;
margin-bottom: 10px;
}

.portfolio .personcard {
display: flex;
flex-direction: column;
gap: 20px;
}

.portfolio .personimgwrap {
overflow: hidden;
width: 100%;
aspect-ratio: 4/5;
flex-shrink: 0;
}

.portfolio .personimg {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.portfolio .personimgwrap:hover .personimg {
transform: scale(1.05);
}

.portfolio .personname {
font-size: 20px;
font-weight: 700;
color: #1e2a00;
line-height: 1.4;
margin: 0;
}

.portfolio .personrole {
font-size: 13px;
font-weight: 600;
letter-spacing: 0.08em;
color: #869F2C;
text-transform: uppercase;
margin: 0;
}

.portfolio .personbio {
font-size: 14px;
line-height: 1.6;
color: #4a5c10;
margin: 0;
}

.portfolio .personnoimg {
width: 100%;
aspect-ratio: 4/5;
background: linear-gradient(138deg, #E2E6D4 0%, #c8d09a 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.portfolio .personinitials {
font-size: 52px;
font-weight: 800;
color: #869F2C;
line-height: 1.1;
opacity: 0.55;
}

.portfolio .statrow {
display: flex;
flex-direction: row;
gap: 20px;
margin-top: 40px;
align-items: stretch;
}

.portfolio .statbox {
flex: 1 1 0;
background: #E2E6D4;
border-radius: 10px;
padding: 40px 20px;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
text-align: center;
transition: background 0.32s ease-in-out;
}

.portfolio .statbox:hover {
background: #d4dba8;
}

.portfolio .statboxnum {
font-size: 37px;
font-weight: 800;
color: #869F2C;
line-height: 1.1;
}

.portfolio .statboxlabel {
font-size: 14px;
color: #3a4a10;
line-height: 1.4;
}

.portfolio .statboxshape {
width: 52px;
height: 52px;
border: 3px solid #B0C01E;
border-radius: 22px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
}

@media (max-width: 1100px) {
.portfolio .titleblock .portframe {
flex-direction: column;
}

.portfolio .titlestrip {
width: 100%;
}

.portfolio .titlestrip .stripimg {
height: 320px;
}

.portfolio .cardrow {
flex-direction: column;
}

.portfolio .workcard.featured {
flex: 1 1 0;
}

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

@media (max-width: 700px) {
.portfolio .portframe {
padding: 0 20px;
}

.portfolio .titlemain {
font-size: 37px;
}

.portfolio .titlemeta {
flex-direction: column;
gap: 20px;
}

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

.portfolio .statrow {
flex-direction: column;
}

.portfolio .workheading {
font-size: 27px;
}

.portfolio .teamheading {
font-size: 27px;
}
}

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

.services .bounded {
max-width: 1500px;
margin-left: auto;
margin-right: auto;
padding-left: 40px;
padding-right: 40px;
}

.services script[type="application/ld+json"] {
display: none;
}

.services .grain {
position: relative;
padding-top: 80px;
padding-bottom: 120px;
background-color: #f4f5ee;
overflow: hidden;
}

.services .grain::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
background-repeat: repeat;
pointer-events: none;
z-index: 0;
}

.services .grain::after {
content: "";
position: absolute;
top: -80px;
right: -80px;
width: 480px;
height: 480px;
border-radius: 50%;
border: 2px solid rgba(176, 192, 30, 0.18);
pointer-events: none;
z-index: 0;
}

.services .grainshape {
position: absolute;
bottom: -60px;
left: -60px;
width: 340px;
height: 340px;
border-radius: 50%;
border: 2px solid rgba(134, 159, 44, 0.12);
pointer-events: none;
z-index: 0;
}

.services .grainshape2 {
position: absolute;
top: 40px;
left: 38%;
width: 200px;
height: 200px;
border-radius: 22px;
border: 1.5px solid rgba(176, 192, 30, 0.10);
pointer-events: none;
z-index: 0;
transform: rotate(18deg);
}

.services .graininner {
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px;
}

.services .graintext {
flex: 1 1 0;
min-width: 0;
}

.services .grainlabel {
display: inline-block;
font-size: 13px;
letter-spacing: 0.14em;
color: #869F2C;
text-transform: uppercase;
margin-bottom: 20px;
font-style: normal;
}

.services .grainh1 {
font-size: 52px;
line-height: 1.1;
color: #232318;
margin-bottom: 20px;
font-style: italic;
max-width: 700px;
}

.services .graindesc {
font-size: 16px;
line-height: 1.6;
color: #3d3d2e;
max-width: 520px;
margin-bottom: 40px;
}

.services .grainlink {
display: inline-block;
font-size: 14px;
font-weight: 600;
color: #fff;
background: linear-gradient(112deg, #B0C01E 0%, #869F2C 100%);
padding: 14px 40px;
border-radius: 6px;
text-decoration: none;
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.22s ease-in-out;
}

.services .grainlink:hover {
background: linear-gradient(200deg, #B0C01E 0%, #869F2C 100%);
box-shadow: 0 12px 36px 1px rgba(176, 192, 30, 0.14);
}

.services .grainimage {
flex: 0 0 420px;
width: 420px;
height: 480px;
border-radius: 22px;
overflow: hidden;
position: relative;
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
}

.services .grainimage img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px) saturate(0.92) brightness(0.97);
}

.services .grainimage::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(176, 192, 30, 0.10) 0%, rgba(226, 230, 212, 0.18) 100%);
pointer-events: none;
border-radius: 22px;
}

.services .offered {
padding-top: 80px;
padding-bottom: 80px;
background: #fff;
position: relative;
}

.services .offeredlabel {
text-align: center;
font-size: 13px;
letter-spacing: 0.13em;
color: #869F2C;
text-transform: uppercase;
margin-bottom: 10px;
}

.services .offeredh2 {
font-size: 37px;
line-height: 1.1;
color: #232318;
text-align: center;
font-style: italic;
margin-bottom: 20px;
}

.services .offeredintro {
font-size: 16px;
line-height: 1.6;
color: #3d3d2e;
text-align: center;
max-width: 600px;
margin-left: auto;
margin-right: auto;
margin-bottom: 80px;
}

.services .offeredgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
}

.services .offeredcard {
background: #f4f5ee;
border-radius: 10px;
padding: 40px;
position: relative;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.32s ease-in-out;
overflow: hidden;
}

.services .offeredcard::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 48px;
height: 48px;
background: linear-gradient(135deg, #B0C01E 60%, #869F2C 100%);
border-radius: 0 10px 0 22px;
pointer-events: none;
}

.services .offeredcard:hover {
box-shadow: 0 12px 36px 1px rgba(176, 192, 30, 0.14);
transform: translateY(-4px);
}

.services .offeredicon {
width: 48px;
height: 48px;
margin-bottom: 20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}

.services .offeredicon svg {
width: 40px;
height: 40px;
}

.services .offeredcardh {
font-size: 20px;
line-height: 1.4;
color: #232318;
margin-bottom: 10px;
font-style: italic;
}

.services .offeredcardp {
font-size: 14px;
line-height: 1.6;
color: #4a4a38;
}

.services .offeredtag {
display: inline-block;
font-size: 13px;
color: #869F2C;
border: 1px solid #B0C01E;
border-radius: 6px;
padding: 4px 10px;
margin-top: 20px;
letter-spacing: 0.06em;
}

.services .comparison {
padding-top: 80px;
padding-bottom: 80px;
position: relative;
background: linear-gradient(158deg, #232318 0%, #343428 60%, #2a2a1e 100%);
overflow: hidden;
}

.services .compbg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0;
}

.services .compbgcircle {
position: absolute;
border-radius: 50%;
pointer-events: none;
animation: lightmove 9s ease-in-out infinite alternate;
}

.services .compbgcircle.one {
width: 600px;
height: 600px;
top: -200px;
left: -100px;
background: radial-gradient(ellipse at 40% 40%, rgba(176, 192, 30, 0.13) 0%, transparent 70%);
animation-duration: 11s;
}

.services .compbgcircle.two {
width: 400px;
height: 400px;
bottom: -100px;
right: 5%;
background: radial-gradient(ellipse at 60% 60%, rgba(134, 159, 44, 0.10) 0%, transparent 70%);
animation-duration: 14s;
animation-delay: 2s;
}

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

100% {
transform: translate(40px, 30px);
}
}

.services .compinner {
position: relative;
z-index: 1;
}

.services .comph2 {
font-size: 37px;
line-height: 1.1;
color: #E2E6D4;
font-style: italic;
margin-bottom: 10px;
}

.services .compdesc {
font-size: 16px;
line-height: 1.6;
color: #b8bda8;
max-width: 480px;
margin-bottom: 40px;
}

.services .comptable {
width: 100%;
border-collapse: separate;
border-spacing: 0 8px;
}

.services .comptable thead th {
font-size: 14px;
color: #B0C01E;
text-align: left;
padding: 10px 20px;
letter-spacing: 0.10em;
text-transform: uppercase;
background: transparent;
border-bottom: 1px solid rgba(176, 192, 30, 0.18);
}

.services .comptable thead th:not(:first-child) {
text-align: center;
}

.services .comptable tbody tr {
background: rgba(255, 255, 255, 0.04);
border-radius: 6px;
transition: background 0.18s ease-in-out;
}

.services .comptable tbody tr:hover {
background: rgba(176, 192, 30, 0.08);
}

.services .comptable tbody td {
font-size: 14px;
color: #dde0cc;
padding: 14px 20px;
vertical-align: middle;
}

.services .comptable tbody td:first-child {
border-radius: 6px 0 0 6px;
font-weight: 600;
color: #E2E6D4;
}

.services .comptable tbody td:last-child {
border-radius: 0 6px 6px 0;
}

.services .comptable tbody td:not(:first-child) {
text-align: center;
}

.services .checkmark {
display: inline-block;
width: 20px;
height: 20px;
vertical-align: middle;
}

.services .checkmark svg {
width: 20px;
height: 20px;
}

.services .comprow {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.services .compleft {
flex: 0 0 340px;
}

.services .compright {
flex: 1 1 0;
min-width: 0;
}

.services .compquote {
margin-top: 40px;
border-radius: 10px;
background: rgba(176, 192, 30, 0.10);
padding: 20px 40px;
position: relative;
}

.services .compquotetext {
font-size: 16px;
line-height: 1.6;
color: #E2E6D4;
font-style: italic;
}

.services .compquotemark {
font-size: 52px;
line-height: 1.1;
color: #B0C01E;
position: absolute;
top: -10px;
left: 20px;
font-style: italic;
pointer-events: none;
}

.services .compquotekey {
color: #B0C01E;
font-weight: 700;
font-style: normal;
}

.services .compquoteauthor {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
margin-top: 20px;
}

.services .compquoteimg {
width: 52px;
height: 52px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
}

.services .compquoteimg img {
width: 52px;
height: 52px;
object-fit: cover;
object-position: center;
display: block;
}

.services .compquotename {
font-size: 14px;
color: #b8bda8;
}

.services .compquoterole {
font-size: 13px;
color: #869F2C;
letter-spacing: 0.07em;
}

.services .faqblock {
padding-top: 80px;
padding-bottom: 80px;
background: #E2E6D4;
position: relative;
}

.services .faqblock::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #B0C01E 40%, #869F2C 60%, transparent 100%);
}

.services .faqrow {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start;
}

.services .faqleft {
flex: 0 0 320px;
}

.services .faqh2 {
font-size: 37px;
line-height: 1.1;
color: #232318;
font-style: italic;
margin-bottom: 20px;
}

.services .faqintro {
font-size: 14px;
line-height: 1.6;
color: #4a4a38;
margin-bottom: 40px;
}

.services .faqimage {
width: 280px;
height: 220px;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
}

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

.services .faqright {
flex: 1 1 0;
min-width: 0;
}

.services .faqitem {
border-bottom: 1px solid rgba(134, 159, 44, 0.20);
padding-bottom: 20px;
margin-bottom: 20px;
}

.services .faqitem:last-child {
border-bottom: none;
margin-bottom: 0;
}

.services .faqq {
font-size: 16px;
line-height: 1.4;
color: #232318;
font-weight: 600;
cursor: pointer;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 20px;
user-select: none;
padding-bottom: 0;
list-style: none;
}

.services .faqq::-webkit-details-marker {
display: none;
}

.services .faqdetails {
border-radius: 6px;
}

.services .faqdetails[open] .faqarrow {
transform: rotate(90deg);
}

.services .faqarrow {
flex-shrink: 0;
width: 20px;
height: 20px;
transition: transform 0.28s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .faqarrow svg {
width: 20px;
height: 20px;
}

.services .faqa {
font-size: 14px;
line-height: 1.6;
color: #4a4a38;
padding-top: 10px;
max-width: 640px;
}

.services .dividerline {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
margin-bottom: 40px;
}

.services .dividerline::before,
.services .dividerline::after {
content: "";
flex: 1 1 0;
height: 1px;
background: rgba(134, 159, 44, 0.25);
}

.services .dividerword {
font-size: 13px;
color: #869F2C;
letter-spacing: 0.12em;
text-transform: uppercase;
white-space: nowrap;
}

.services .flickeroutline {
animation: flickerout 4s ease-in-out infinite;
}

@keyframes flickerout {

0%,
100% {
outline-color: rgba(176, 192, 30, 0.22);
}

48% {
outline-color: rgba(176, 192, 30, 0.08);
}

52% {
outline-color: rgba(176, 192, 30, 0.28);
}

78% {
outline-color: rgba(176, 192, 30, 0.15);
}
}

.services .offeredcard.flickeroutline {
outline: 2px solid rgba(176, 192, 30, 0.22);
outline-offset: 2px;
}

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

.services .comprow {
flex-direction: column;
gap: 40px;
}

.services .compleft {
flex: none;
width: 100%;
}

.services .graininner {
flex-direction: column;
gap: 40px;
}

.services .grainimage {
flex: none;
width: 100%;
height: 320px;
}

.services .faqrow {
flex-direction: column;
gap: 40px;
}

.services .faqleft {
flex: none;
width: 100%;
}

.services .faqimage {
width: 100%;
height: 180px;
}
}

@media (max-width: 700px) {
.services .offeredgrid {
grid-template-columns: 1fr;
}

.services .grainh1 {
font-size: 37px;
}

.services .offeredh2,
.services .comph2,
.services .faqh2 {
font-size: 27px;
}

.services .bounded {
padding-left: 20px;
padding-right: 20px;
}

.services .grain {
padding-top: 40px;
padding-bottom: 80px;
}

.services .comptable thead th,
.services .comptable tbody td {
padding: 10px;
font-size: 13px;
}
}

.aboutus {
max-width: 1500px;
margin: 0 auto;
overflow-x: clip;
}

.aboutus .reveal {
opacity: 0;
transform: scaleX(0.92);
animation: splitOpen 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

@keyframes splitOpen {
0% {
opacity: 0;
transform: scaleX(0.92);
}

100% {
opacity: 1;
transform: scaleX(1);
}
}

.aboutus .panoramic {
display: grid;
grid-template-columns: 1fr 1.6fr;
min-height: 480px;
background: #f5f6f0;
position: relative;
}

.aboutus .panoramic::after {
content: "";
position: absolute;
top: 0;
left: 38%;
width: 120px;
height: 100%;
background: linear-gradient(170deg, #f5f6f0 45%, #E2E6D4 100%);
pointer-events: none;
z-index: 0;
}

.aboutus .panoramic .breathing {
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1;
}

.aboutus .panoramic .breathing .pattern {
display: flex;
flex-direction: row;
gap: 10px;
margin-bottom: 40px;
}

.aboutus .panoramic .breathing .pattern span {
width: 8px;
height: 8px;
border-radius: 1px;
background: #B0C01E;
opacity: 0.45;
display: block;
transition: opacity 0.22s ease-in-out;
}

.aboutus .panoramic .breathing .pattern span:nth-child(2) {
opacity: 0.65;
}

.aboutus .panoramic .breathing .pattern span:nth-child(3) {
opacity: 0.85;
}

.aboutus .panoramic .breathing .pattern span:nth-child(4) {
opacity: 0.55;
}

.aboutus .panoramic .breathing .pattern span:nth-child(5) {
opacity: 0.35;
}

.aboutus .panoramic .breathing .abbrev {
font-size: 52px;
font-weight: 900;
color: #E2E6D4;
letter-spacing: -2px;
line-height: 1.1;
position: absolute;
top: 40px;
left: 60px;
pointer-events: none;
user-select: none;
z-index: 0;
}

.aboutus .panoramic .breathing .label {
font-size: 13px;
letter-spacing: 0.18em;
color: #869F2C;
text-transform: uppercase;
margin-bottom: 20px;
position: relative;
z-index: 1;
}

.aboutus .panoramic .breathing h1 {
font-size: 37px;
line-height: 1.1;
color: #2d3318;
font-style: italic;
font-weight: 800;
margin: 0 0 20px 0;
position: relative;
z-index: 1;
}

.aboutus .panoramic .breathing .subtext {
font-size: 16px;
line-height: 1.6;
color: #4a5228;
max-width: 340px;
position: relative;
z-index: 1;
}

.aboutus .panoramic .imgzone {
position: relative;
z-index: 1;
overflow: hidden;
border-radius: 0 0 0 38px;
}

.aboutus .panoramic .imgzone img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
mask-image: radial-gradient(ellipse 85% 90% at 55% 50%, #000 60%, transparent 100%);
-webkit-mask-image: radial-gradient(ellipse 85% 90% at 55% 50%, #000 60%, transparent 100%);
}

.aboutus .storyband {
background: #ffffff;
padding: 80px 80px;
display: grid;
grid-template-columns: 1.1fr 0.9fr;
gap: 80px;
align-items: start;
}

.aboutus .storyband .storyleft {
display: flex;
flex-direction: column;
gap: 40px;
}

.aboutus .storyband .storyleft .doublebox {
border: 1px solid #B0C01E;
box-shadow: 0 0 0 3px #E2E6D4;
border-radius: 10px;
padding: 40px;
background: #f9faf3;
}

.aboutus .storyband .storyleft .doublebox h2 {
font-size: 27px;
line-height: 1.1;
font-style: italic;
color: #2d3318;
margin: 0 0 20px 0;
}

.aboutus .storyband .storyleft .doublebox p {
font-size: 16px;
line-height: 1.6;
color: #3e4a20;
margin: 0 0 10px 0;
}

.aboutus .storyband .storyleft .doublebox p:last-child {
margin-bottom: 0;
}

.aboutus .storyband .storyleft .metrics {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.aboutus .storyband .storyleft .metric {
background: linear-gradient(135deg, #f5f6f0 0%, #E2E6D4 100%);
border-radius: 10px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 10px;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.aboutus .storyband .storyleft .metric:hover {
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
transform: translateY(-3px);
}

.aboutus .storyband .storyleft .metric .num {
font-size: 37px;
font-weight: 900;
line-height: 1.1;
color: #869F2C;
}

.aboutus .storyband .storyleft .metric .desc {
font-size: 13px;
line-height: 1.4;
color: #4a5228;
letter-spacing: 0.04em;
}

.aboutus .storyband .storyright {
display: flex;
flex-direction: column;
gap: 40px;
padding-top: 40px;
}

.aboutus .storyband .storyright .imgwrap {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
height: 280px;
}

.aboutus .storyband .storyright .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.aboutus .storyband .storyright .imgwrap:hover img {
transform: scale(1.04);
}

.aboutus .storyband .storyright .editorial {
display: flex;
flex-direction: column;
gap: 10px;
}

.aboutus .storyband .storyright .editorial h3 {
font-size: 20px;
font-style: italic;
line-height: 1.4;
color: #2d3318;
margin: 0;
}

.aboutus .storyband .storyright .editorial p {
font-size: 16px;
line-height: 1.6;
color: #3e4a20;
margin: 0;
}

.aboutus .storyband .storyright .divider {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
}

.aboutus .storyband .storyright .divider .line {
flex: 1;
height: 1px;
background: #B0C01E;
opacity: 0.4;
}

.aboutus .storyband .storyright .divider .dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: #B0C01E;
}

.aboutus .teamblock {
background: linear-gradient(160deg, #2d3318 0%, #3e4a20 40%, #4a5228 80%, #869F2C 100%);
padding: 80px;
position: relative;
overflow: hidden;
}

.aboutus .teamblock::before {
content: "MN";
position: absolute;
top: -20px;
right: 40px;
font-size: 52px;
font-weight: 900;
color: #B0C01E;
opacity: 0.08;
letter-spacing: -2px;
pointer-events: none;
user-select: none;
line-height: 1.1;
}

.aboutus .teamblock .teamtop {
text-align: center;
margin-bottom: 80px;
}

.aboutus .teamblock .teamtop h2 {
font-size: 37px;
font-style: italic;
line-height: 1.1;
color: #E2E6D4;
margin: 0 0 20px 0;
}

.aboutus .teamblock .teamtop p {
font-size: 16px;
line-height: 1.6;
color: #c8d490;
max-width: 560px;
margin: 0 auto;
}

.aboutus .teamblock .stepped {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
align-items: end;
}

.aboutus .teamblock .stepped .card {
background: rgba(255, 255, 255, 0.06);
border-radius: 22px;
padding: 40px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border: 1px solid rgba(176, 192, 30, 0.18);
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
transition: background 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
display: flex;
flex-direction: column;
gap: 20px;
}

.aboutus .teamblock .stepped .card:hover {
background: rgba(255, 255, 255, 0.11);
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
}

.aboutus .teamblock .stepped .card.tall {
padding-top: 80px;
}

.aboutus .teamblock .stepped .card.medium {
padding-top: 60px;
}

.aboutus .teamblock .stepped .card.short {
padding-top: 40px;
}

.aboutus .teamblock .stepped .card .portrait {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
border: 2px solid #B0C01E;
flex-shrink: 0;
}

.aboutus .teamblock .stepped .card .portrait img {
width: 80px;
height: 80px;
object-fit: cover;
object-position: center;
display: block;
}

.aboutus .teamblock .stepped .card .noport {
width: 80px;
height: 80px;
border-radius: 50%;
background: linear-gradient(135deg, #B0C01E 0%, #869F2C 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.aboutus .teamblock .stepped .card .noport .initials {
font-size: 20px;
font-weight: 700;
color: #2d3318;
line-height: 1.1;
}

.aboutus .teamblock .stepped .card .personname {
font-size: 20px;
font-weight: 700;
color: #E2E6D4;
line-height: 1.4;
margin: 0;
}

.aboutus .teamblock .stepped .card .role {
font-size: 13px;
letter-spacing: 0.14em;
color: #B0C01E;
text-transform: uppercase;
margin: 0;
}

.aboutus .teamblock .stepped .card .bio {
font-size: 14px;
line-height: 1.6;
color: #c8d490;
margin: 0;
}

.aboutus .teamblock .stepped .card .expertise {
display: flex;
flex-direction: column;
gap: 10px;
}

.aboutus .teamblock .stepped .card .expertise .tag {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 13px;
color: #E2E6D4;
line-height: 1.4;
}

.aboutus .teamblock .stepped .card .expertise .tag .dot {
width: 5px;
height: 5px;
border-radius: 50%;
background: #B0C01E;
flex-shrink: 0;
}

.aboutus .teamblock .imgrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 40px;
}

.aboutus .teamblock .imgrow .imgitem {
border-radius: 10px;
overflow: hidden;
height: 200px;
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
}

.aboutus .teamblock .imgrow .imgitem img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.44s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.aboutus .teamblock .imgrow .imgitem:hover img {
transform: scale(1.05);
}

.aboutus .teamblock .ctatext {
text-align: center;
margin-top: 80px;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}

.aboutus .teamblock .ctatext .divpair {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
}

.aboutus .teamblock .ctatext .divpair .shortline {
width: 32px;
height: 1px;
background: #B0C01E;
opacity: 0.6;
}

.aboutus .teamblock .ctatext .divpair .diamond {
width: 6px;
height: 6px;
background: #B0C01E;
transform: rotate(45deg);
border-radius: 1px;
}

.aboutus .teamblock .ctatext p {
font-size: 16px;
line-height: 1.6;
color: #c8d490;
max-width: 480px;
margin: 0;
}

.aboutus .teamblock .ctatext .ctabtn {
display: inline-block;
padding: 20px 40px;
background: linear-gradient(120deg, #B0C01E 0%, #869F2C 100%);
color: #2d3318;
font-size: 14px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
text-decoration: none;
border-radius: 6px;
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.22s ease-in-out;
}

.aboutus .teamblock .ctatext .ctabtn:hover {
background: linear-gradient(220deg, #B0C01E 0%, #869F2C 100%);
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
transform: translateY(-2px);
}

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

.aboutus .panoramic::after {
display: none;
}

.aboutus .panoramic .imgzone {
height: 320px;
border-radius: 0;
}

.aboutus .panoramic .breathing {
padding: 80px 40px 40px 40px;
}

.aboutus .storyband {
grid-template-columns: 1fr;
padding: 80px 40px;
gap: 40px;
}

.aboutus .storyband .storyright {
padding-top: 0;
}

.aboutus .teamblock {
padding: 80px 40px;
}

.aboutus .teamblock .stepped {
grid-template-columns: 1fr;
}

.aboutus .teamblock .stepped .card.tall,
.aboutus .teamblock .stepped .card.medium {
padding-top: 40px;
}

.aboutus .teamblock .imgrow {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.aboutus .panoramic .breathing {
padding: 40px 20px;
}

.aboutus .panoramic .breathing h1 {
font-size: 27px;
}

.aboutus .storyband {
padding: 40px 20px;
}

.aboutus .storyband .storyleft .metrics {
grid-template-columns: 1fr;
}

.aboutus .teamblock {
padding: 40px 20px;
}

.aboutus .teamblock .teamtop {
margin-bottom: 40px;
}
}

.contactus {
background: #fff;
overflow-x: clip;
padding: 0;
}

.contactus .editorial {
max-width: 1500px;
margin: 0 auto;
padding: 80px 40px;
}

.contactus .splitzone {
display: grid;
grid-template-columns: 1fr 380px;
gap: 80px;
align-items: start;
}

.contactus .leftpanel {
display: flex;
flex-direction: column;
gap: 40px;
}

.contactus .accentbar {
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
}

.contactus .bar {
width: 3px;
min-height: 80px;
background: linear-gradient(180deg, #B0C01E 0%, #869F2C 100%);
border-radius: 1px;
flex-shrink: 0;
margin-top: 6px;
}

.contactus .pagetag {
font-size: 13px;
letter-spacing: 0.12em;
color: #869F2C;
text-transform: uppercase;
margin: 0 0 10px 0;
line-height: 1.4;
}

.contactus .pageheading {
font-size: 52px;
line-height: 1.1;
color: #1a2300;
margin: 0;
font-style: italic;
font-weight: 700;
}

.contactus .pageheading em {
font-style: normal;
color: #869F2C;
}

.contactus .pagedesc {
font-size: 16px;
line-height: 1.6;
color: #3a4220;
margin: 0;
max-width: 520px;
}

.contactus .infoblock {
display: flex;
flex-direction: column;
gap: 20px;
}

.contactus .inforow {
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
}

.contactus .infoicon {
width: 40px;
height: 40px;
border-radius: 10px;
background: #E2E6D4;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: background-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.contactus .inforow:hover .infoicon {
background: #B0C01E;
}

.contactus .infoicon svg {
width: 18px;
height: 18px;
}

.contactus .infolabel {
font-size: 13px;
letter-spacing: 0.08em;
color: #869F2C;
text-transform: uppercase;
margin: 0 0 4px 0;
line-height: 1.4;
}

.contactus .infovalue {
font-size: 16px;
line-height: 1.4;
color: #2a3010;
margin: 0;
}

.contactus .infovalue a {
color: #2a3010;
text-decoration: none !important;
transition: color 0.28s ease-in-out;
}

.contactus .infovalue a:hover {
color: #869F2C;
}

.contactus .rightpanel {
position: sticky;
top: 40px;
display: flex;
flex-direction: column;
gap: 20px;
}

.contactus .rightdeco {
background: linear-gradient(158deg, #E2E6D4 0%, #d4dab8 60%, #c8d09e 100%);
border-radius: 22px;
padding: 20px;
}

.contactus .rightdecotag {
font-size: 13px;
letter-spacing: 0.1em;
color: #869F2C;
text-transform: uppercase;
margin: 0 0 10px 0;
line-height: 1.4;
}

.contactus .rightdecotext {
font-size: 14px;
line-height: 1.6;
color: #3a4220;
margin: 0;
}

.contactus .hoursrow {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid rgba(176, 192, 30, 0.2);
}

.contactus .hoursrow:last-child {
border-bottom: none;
}

.contactus .hoursday {
font-size: 14px;
color: #3a4220;
line-height: 1.4;
}

.contactus .hourstime {
font-size: 14px;
color: #869F2C;
font-weight: 600;
line-height: 1.4;
}

.contactus .geodivider {
background: #E2E6D4;
height: 1px;
margin: 0;
}

.contactus .formsection {
background: linear-gradient(148deg, #f5f7ec 0%, #eef1e0 50%, #e8ecce 100%);
padding: 80px 0 80px 0;
position: relative;
overflow: hidden;
}

.contactus .formsection::before {
content: "";
position: absolute;
top: -60px;
right: -60px;
width: 320px;
height: 320px;
border-radius: 38px;
background: rgba(176, 192, 30, 0.09);
transform: rotate(22deg);
pointer-events: none;
}

.contactus .formsection::after {
content: "";
position: absolute;
bottom: -40px;
left: 10%;
width: 200px;
height: 200px;
border-radius: 38px;
background: rgba(134, 159, 44, 0.07);
transform: rotate(-14deg);
pointer-events: none;
}

.contactus .formwrap {
max-width: 1500px;
margin: 0 auto;
padding: 0 40px;
display: grid;
grid-template-columns: 360px 1fr;
gap: 80px;
align-items: start;
}

.contactus .formside {
display: flex;
flex-direction: column;
gap: 20px;
}

.contactus .formsidetag {
font-size: 13px;
letter-spacing: 0.12em;
color: #869F2C;
text-transform: uppercase;
margin: 0;
line-height: 1.4;
}

.contactus .formsideheading {
font-size: 37px;
line-height: 1.1;
color: #1a2300;
margin: 0;
font-style: italic;
font-weight: 700;
}

.contactus .formsidenote {
font-size: 14px;
line-height: 1.6;
color: #3a4220;
margin: 0;
}

.contactus .prioritystrip {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 10px;
}

.contactus .prioritylabel {
font-size: 13px;
letter-spacing: 0.08em;
color: #869F2C;
text-transform: uppercase;
line-height: 1.4;
}

.contactus .priorityoptions {
display: flex;
flex-direction: row;
gap: 10px;
flex-wrap: wrap;
}

.contactus .priorityoption {
position: relative;
}

.contactus .priorityoption input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.contactus .priorityoption label {
display: inline-block;
padding: 10px 20px;
border-radius: 6px;
border: 1.5px solid #c8d09e;
font-size: 14px;
color: #3a4220;
cursor: pointer;
background: #fff;
transition: border-color 0.32s cubic-bezier(0.34, 1.2, 0.64, 1), background-color 0.32s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.22s ease-in-out;
line-height: 1.4;
user-select: none;
}

.contactus .priorityoption input[type="radio"]:checked+label {
border-color: #B0C01E;
background: #B0C01E;
color: #fff;
}

.contactus .priorityoption label:hover {
border-color: #869F2C;
}

.contactus .priorityoption input[type="radio"]:focus+label {
outline: 2px solid #869F2C;
outline-offset: 2px;
}

.contactus .form {
display: flex;
flex-direction: column;
gap: 20px;
}

.contactus .formrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.contactus .fieldgroup {
display: flex;
flex-direction: column;
gap: 10px;
}

.contactus .fieldlabel {
font-size: 13px;
letter-spacing: 0.08em;
color: #3a4220;
text-transform: uppercase;
line-height: 1.4;
}

.contactus .fieldinput {
padding: 14px 20px;
border-radius: 6px;
border: 1.5px solid #c8d09e;
background: #fff;
font-size: 16px;
color: #2a3010;
line-height: 1.4;
box-shadow: inset 0 2px 6px rgba(176, 192, 30, 0.06);
transition: border-color 0.28s ease-in-out;
width: 100%;
box-sizing: border-box;
}

.contactus .fieldinput::placeholder {
color: rgba(134, 159, 44, 0.45);
}

.contactus .fieldinput:focus {
outline: none;
border-color: #B0C01E;
}

.contactus .fieldinput:hover {
border-color: #869F2C;
}

.contactus .selectwrap {
position: relative;
}

.contactus .selectwrap::after {
content: "";
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid #869F2C;
pointer-events: none;
}

.contactus .fieldselect {
padding: 14px 44px 14px 20px;
border-radius: 6px;
border: 1.5px solid #c8d09e;
background: #fff;
font-size: 16px;
color: #2a3010;
line-height: 1.4;
box-shadow: inset 0 2px 6px rgba(176, 192, 30, 0.06);
transition: border-color 0.28s ease-in-out;
width: 100%;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
}

.contactus .fieldselect:focus {
outline: none;
border-color: #B0C01E;
}

.contactus .fieldselect:hover {
border-color: #869F2C;
}

.contactus .privacyrow {
display: flex;
flex-direction: row;
gap: 10px;
align-items: flex-start;
}

.contactus .privacycheck {
width: 18px;
height: 18px;
margin-top: 2px;
accent-color: #B0C01E;
flex-shrink: 0;
cursor: pointer;
}

.contactus .privacytext {
font-size: 14px;
line-height: 1.6;
color: #3a4220;
margin: 0;
}

.contactus .privacytext a {
color: #869F2C;
text-decoration: none !important;
border-bottom: 1px solid rgba(134, 159, 44, 0.35);
transition: border-color 0.22s ease-in-out, color 0.22s ease-in-out;
}

.contactus .privacytext a:hover {
color: #B0C01E;
border-bottom-color: #B0C01E;
}

.contactus .submitbtn {
display: inline-block;
padding: 16px 40px;
border-radius: 6px;
border: none;
background: linear-gradient(112deg, #B0C01E 0%, #869F2C 100%);
color: #fff;
font-size: 16px;
font-weight: 600;
line-height: 1.4;
cursor: pointer;
transition: background 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s ease-in-out, transform 0.18s ease-in-out;
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
align-self: flex-start;
letter-spacing: 0.04em;
}

.contactus .submitbtn:hover {
background: linear-gradient(200deg, #B0C01E 0%, #869F2C 100%);
box-shadow: 0 12px 36px 1px rgba(176, 192, 30, 0.14);
transform: translateY(-1px);
}

.contactus .submitbtn:focus {
outline: 2px solid #869F2C;
outline-offset: 3px;
}

.contactus .submitbtn:active {
transform: translateY(0);
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
}

.contactus .geodivider2 {
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
padding: 20px 40px;
max-width: 1500px;
margin: 0 auto;
}

.contactus .geodivider2 .geoline {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #c8d09e, transparent);
}

.contactus .geodivider2 .geodot {
width: 6px;
height: 6px;
border-radius: 1px;
background: #B0C01E;
transform: rotate(45deg);
}

.contactus .hoverline {
display: inline;
background: linear-gradient(to right, rgba(176, 192, 30, 0.18) 0%, rgba(176, 192, 30, 0.18) 100%);
background-size: 0% 100%;
background-repeat: no-repeat;
transition: background-size 0.44s cubic-bezier(0.34, 1.2, 0.64, 1);
padding: 2px 0;
}

.contactus .hoverline:hover {
background-size: 100% 100%;
}

@keyframes wipeopen {
from {
clip-path: inset(0 100% 0 0);
}

to {
clip-path: inset(0 0% 0 0);
}
}

.contactus .wipeshape {
border-radius: 22px;
background: linear-gradient(148deg, #B0C01E 0%, #869F2C 100%);
width: 100%;
height: 160px;
animation: wipeopen 0.85s cubic-bezier(0.34, 1.2, 0.64, 1) both;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.contactus .wipeshapetext {
font-size: 37px;
font-weight: 700;
color: #fff;
letter-spacing: -0.01em;
line-height: 1.1;
text-align: center;
padding: 20px;
}

.contactus .curvedline {
width: 100%;
height: 40px;
overflow: visible;
}

.contactus .requiredmark {
color: #869F2C;
font-size: 14px;
}

@media (max-width: 1100px) {
.contactus .splitzone {
grid-template-columns: 1fr;
gap: 40px;
}

.contactus .rightpanel {
position: static;
}

.contactus .formwrap {
grid-template-columns: 1fr;
gap: 40px;
}
}

@media (max-width: 700px) {
.contactus .editorial {
padding: 40px 20px;
}

.contactus .pageheading {
font-size: 37px;
}

.contactus .formrow {
grid-template-columns: 1fr;
}

.contactus .formwrap {
padding: 0 20px;
}

.contactus .geodivider2 {
padding: 20px 20px;
}

.contactus .formsideheading {
font-size: 27px;
}

.contactus .wipeshapetext {
font-size: 27px;
}
}

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

.root .pageframe {
max-width: 1500px;
margin: 0 auto;
padding: 0 40px;
}

.root .titlesection {
position: relative;
background: linear-gradient(158deg, #2a2e1a 0%, #3d4a1a 40%, #869F2C 100%);
padding: 80px 0;
}

.root .titlesection .bracketbox {
position: relative;
display: inline-block;
padding: 20px 40px;
}

.root .titlesection .bracketbox::before,
.root .titlesection .bracketbox::after {
content: "";
position: absolute;
width: 22px;
height: 22px;
border-color: #B0C01E;
border-style: solid;
}

.root .titlesection .bracketbox::before {
top: 0;
left: 0;
border-width: 3px 0 0 3px;
}

.root .titlesection .bracketbox::after {
bottom: 0;
right: 0;
border-width: 0 3px 3px 0;
}

.root .titlesection .titleimg {
position: absolute;
right: 0;
top: 0;
width: 45%;
height: 100%;
overflow: hidden;
}

.root .titlesection .titleimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
mix-blend-mode: luminosity;
opacity: 0.35;
}

.root .titlesection .titleimg::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, #2a2e1a 0%, transparent 60%);
}

.root .titlesection .titlegrid {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
position: relative;
z-index: 2;
}

.root .titlesection .titleleft {
flex: 1;
min-width: 0;
}

.root .titlesection .titlemark {
display: inline-block;
font-size: 13px;
letter-spacing: 0.18em;
color: #B0C01E;
text-transform: uppercase;
margin-bottom: 20px;
}

.root .titlesection .titlemark .dot {
display: inline-block;
width: 6px;
height: 6px;
border-radius: 38px;
background: #B0C01E;
margin-right: 10px;
vertical-align: middle;
}

.root .titlesection h1 {
font-size: 52px;
line-height: 1.1;
color: #f4f2eb;
font-style: italic;
margin: 0;
}

.root .titlesection h1 em {
font-style: normal;
color: #B0C01E;
}

.root .strokes {
position: absolute;
bottom: 20px;
left: 40px;
display: flex;
flex-direction: column;
gap: 6px;
opacity: 0.4;
z-index: 1;
}

.root .strokes span {
display: block;
height: 2px;
background: #B0C01E;
border-radius: 1px;
}

.root .peersection {
background: #f4f2eb;
padding: 80px 0;
}

.root .peersection .peergrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 40px;
align-items: start;
}

.root .peersection .peerlead {
grid-column: 1 / 2;
}

.root .peersection .peervisual {
grid-column: 2 / 3;
position: relative;
}

.root .peersection .peervisual img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
border-radius: 10px;
display: block;
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
}

.root .peersection .peerstat {
position: absolute;
bottom: 20px;
left: -20px;
background: #fff;
border-radius: 6px;
padding: 20px;
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
}

.root .peerstat .statnum {
font-size: 37px;
line-height: 1.1;
color: #B0C01E;
font-style: italic;
}

.root .peerstat .statlabel {
font-size: 13px;
color: #4a5020;
line-height: 1.4;
margin-top: 10px;
}

.root .peersection .peerright {
grid-column: 3 / 4;
display: flex;
flex-direction: column;
gap: 20px;
}

.root .peersection h2 {
font-size: 37px;
line-height: 1.1;
color: #2a2e1a;
font-style: italic;
margin: 0 0 20px 0;
}

.root .peersection .peerdesc {
font-size: 16px;
line-height: 1.6;
color: #3d4020;
margin: 0;
}

.root .peersection .peercard {
background: #fff;
border-radius: 10px;
padding: 20px;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
transition: box-shadow 0.42s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.root .peersection .peercard:hover {
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
transform: translateY(-2px);
}

.root .peercard .cardicon {
width: 40px;
height: 40px;
border-radius: 10px;
background: #E2E6D4;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.root .peercard .cardicon svg {
width: 20px;
height: 20px;
}

.root .peercard .cardtext {
font-size: 14px;
line-height: 1.6;
color: #3d4020;
}

.root .longsection {
background: #2a2e1a;
padding: 80px 0;
position: relative;
overflow: hidden;
}

.root .longsection .bgpan {
position: absolute;
inset: 0;
z-index: 0;
}

.root .longsection .bgpan img {
width: 120%;
height: 100%;
object-fit: cover;
object-position: center;
opacity: 0.18;
animation: panright 18s linear infinite alternate;
}

@keyframes panright {
from {
transform: translateX(0);
}

to {
transform: translateX(-16%);
}
}

.root .longsection .longframe {
position: relative;
z-index: 2;
}

.root .longsection .longheader {
text-align: center;
margin-bottom: 80px;
}

.root .longsection h2 {
font-size: 37px;
line-height: 1.1;
color: #f4f2eb;
font-style: italic;
margin: 0 0 20px 0;
}

.root .longsection .longdesc {
font-size: 16px;
line-height: 1.6;
color: #c8cc9a;
max-width: 560px;
margin: 0 auto;
}

.root .longpillars {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 40px;
align-items: center;
}

.root .longpillar {
display: flex;
flex-direction: column;
gap: 20px;
}

.root .longpillar .pillaritem {
padding: 20px;
border-radius: 10px;
background: rgba(176, 192, 30, 0.08);
border: 1px solid rgba(176, 192, 30, 0.18);
transition: background 0.38s ease-in-out, border-color 0.22s ease-in-out;
}

.root .longpillar .pillaritem:hover {
background: rgba(176, 192, 30, 0.16);
border-color: rgba(176, 192, 30, 0.38);
}

.root .pillaritem .pillarnum {
font-size: 27px;
line-height: 1.1;
color: #B0C01E;
font-style: italic;
}

.root .pillaritem .pillartitle {
font-size: 14px;
color: #f4f2eb;
line-height: 1.4;
margin-top: 10px;
}

.root .pillaritem .pillarbody {
font-size: 13px;
color: #c8cc9a;
line-height: 1.6;
margin-top: 10px;
}

.root .longcenter {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}

.root .longcenter .centerring {
width: 200px;
height: 200px;
border-radius: 38px;
border: 2px solid rgba(176, 192, 30, 0.3);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: rgba(176, 192, 30, 0.06);
}

.root .longcenter .centerring .ringnum {
font-size: 52px;
line-height: 1.1;
color: #B0C01E;
font-style: italic;
}

.root .longcenter .centerring .ringlabel {
font-size: 13px;
color: #c8cc9a;
text-align: center;
line-height: 1.4;
padding: 0 20px;
}

.root .longcenter .centerdesc {
font-size: 14px;
line-height: 1.6;
color: #c8cc9a;
text-align: center;
max-width: 260px;
}

.root .fitsection {
background: #E2E6D4;
padding: 80px 0;
}

.root .fitsection .fitgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
}

.root .fitsection h2 {
font-size: 37px;
line-height: 1.1;
color: #2a2e1a;
font-style: italic;
margin: 0 0 20px 0;
}

.root .fitsection .fitintro {
font-size: 16px;
line-height: 1.6;
color: #3d4020;
margin: 0 0 40px 0;
}

.root .fitsection .fitcolumn {
display: flex;
flex-direction: column;
gap: 20px;
}

.root .fitsection .fitlabel {
font-size: 13px;
letter-spacing: 0.15em;
text-transform: uppercase;
color: #869F2C;
margin-bottom: 10px;
}

.root .fitsection .fitrow {
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
}

.root .fitsection .fitmarker {
width: 10px;
height: 10px;
border-radius: 38px;
flex-shrink: 0;
margin-top: 6px;
}

.root .fitsection .fitmarker.yes {
background: #B0C01E;
}

.root .fitsection .fitmarker.no {
background: #c0b090;
}

.root .fitsection .fittext {
font-size: 14px;
line-height: 1.6;
color: #3d4020;
}

.root .fitsection .fitquote {
margin-top: 40px;
padding: 20px;
border-radius: 10px;
background: #fff;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
display: flex;
flex-direction: row;
gap: 20px;
align-items: flex-start;
}

.root .fitquote .portrait {
width: 80px;
height: 100px;
border-radius: 22px;
overflow: hidden;
flex-shrink: 0;
}

.root .fitquote .portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.root .fitquote .quotetext {
flex: 1;
}

.root .fitquote .quotetext blockquote {
font-size: 14px;
line-height: 1.6;
color: #3d4020;
font-style: italic;
margin: 0 0 10px 0;
}

.root .fitquote .quotename {
font-size: 13px;
color: #869F2C;
letter-spacing: 0.1em;
}

.root .fitsection .fitimgwrap {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 12px 36px 1px rgba(134, 159, 44, 0.14);
}

.root .fitsection .fitimgwrap img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.root .fitsection .fitimgwrap:hover img {
transform: scale(1.03);
}

.root .hesitationsection {
background: #fff;
padding: 80px 0;
}

.root .hesitationsection .hesframe {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: start;
}

.root .hesitationsection h2 {
font-size: 37px;
line-height: 1.1;
color: #2a2e1a;
font-style: italic;
margin: 0 0 20px 0;
text-align: center;
}

.root .hesitationsection .hesdivider {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 10px;
margin-bottom: 40px;
}

.root .hesdivider span {
width: 6px;
height: 6px;
border-radius: 38px;
background: #B0C01E;
display: block;
}

.root .hesitationsection .hesleft {
display: flex;
flex-direction: column;
gap: 20px;
}

.root .hesitationsection .hestopic {
padding: 20px;
border-radius: 10px;
background: #f4f2eb;
transition: background 0.35s ease-in-out;
cursor: default;
}

.root .hesitationsection .hestopic:hover {
background: #E2E6D4;
}

.root .hestopic .topicq {
font-size: 16px;
line-height: 1.4;
color: #2a2e1a;
font-style: italic;
margin: 0 0 10px 0;
}

.root .hestopic .topica {
font-size: 14px;
line-height: 1.6;
color: #3d4020;
margin: 0;
}

.root .hesitationsection .hesright {
display: flex;
flex-direction: column;
gap: 40px;
}

.root .hesitationsection .hesmetric {
display: flex;
flex-direction: row;
gap: 20px;
align-items: center;
}

.root .hesmetric .metricbar {
flex: 1;
height: 8px;
border-radius: 6px;
background: #E2E6D4;
overflow: hidden;
}

.root .hesmetric .metricfill {
height: 100%;
border-radius: 6px;
background: linear-gradient(90deg, #B0C01E 0%, #869F2C 100%);
transition: width 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.root .hesmetric .metriclabel {
font-size: 13px;
color: #3d4020;
line-height: 1.4;
min-width: 140px;
}

.root .hesmetric .metricval {
font-size: 16px;
color: #869F2C;
font-style: italic;
min-width: 40px;
text-align: right;
}

.root .hesitationsection .heslink {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 10px;
font-size: 14px;
color: #869F2C;
text-decoration: none;
padding: 10px 20px;
border-radius: 6px;
border: 1px solid #B0C01E;
background: linear-gradient(135deg, #fff 0%, #E2E6D4 100%);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.28s ease-in-out;
align-self: flex-start;
}

.root .hesitationsection .heslink:hover {
background: linear-gradient(200deg, #E2E6D4 0%, #B0C01E 100%);
box-shadow: 0 6px 22px 1px rgba(176, 192, 30, 0.09);
color: #2a2e1a;
}

.root .heslink svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}

.root .editordot {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 10px;
padding: 20px 0;
}

.root .editordot span {
width: 6px;
height: 6px;
border-radius: 38px;
background: #B0C01E;
display: block;
}

@media (max-width: 1024px) {
.root .pageframe {
padding: 0 20px;
}

.root .peersection .peergrid {
grid-template-columns: 1fr 1fr;
}

.root .peersection .peerlead {
grid-column: 1 / 3;
}

.root .peersection .peervisual {
grid-column: 1 / 2;
}

.root .peersection .peerright {
grid-column: 2 / 3;
}

.root .longpillars {
grid-template-columns: 1fr 1fr;
}

.root .longcenter {
grid-column: 1 / 3;
order: -1;
}

.root .fitsection .fitgrid {
grid-template-columns: 1fr;
gap: 40px;
}

.root .hesitationsection .hesframe {
grid-template-columns: 1fr;
gap: 40px;
}

.root .titlesection .titleimg {
width: 35%;
opacity: 0.5;
}

.root .titlesection h1 {
font-size: 37px;
}
}

@media (max-width: 680px) {
.root .peersection .peergrid {
grid-template-columns: 1fr;
}

.root .peersection .peerlead,
.root .peersection .peervisual,
.root .peersection .peerright {
grid-column: 1 / 2;
}

.root .longpillars {
grid-template-columns: 1fr;
}

.root .longcenter {
grid-column: 1 / 2;
}

.root .titlesection .titleimg {
display: none;
}

.root .titlesection h1 {
font-size: 27px;
}

.root .fitsection .fitimgwrap img {
height: 260px;
}

.root .peersection .peerstat {
left: 0;
}
}

.successPage {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 20px;
background: linear-gradient(158deg, #f5f7ee 0%, #eef1e0 45%, #f9faf4 100%);
}

.successPage .card {
max-width: 600px;
width: 100%;
background: #ffffff;
border-radius: 22px;
padding: 80px 40px;
box-shadow: 0 12px 36px 1px rgba(176, 192, 30, 0.14);
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}

.successPage .icon {
width: 72px;
height: 72px;
border-radius: 38px;
background: linear-gradient(135deg, #B0C01E 0%, #869F2C 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
flex-shrink: 0;
}

.successPage .icon svg {
width: 36px;
height: 36px;
display: block;
}

.successPage .heading {
font-size: 37px;
line-height: 1.1;
font-style: italic;
color: #2a2e1a;
margin: 0;
letter-spacing: -0.5px;
}

.successPage .subtext {
font-size: 16px;
line-height: 1.6;
color: #4a5230;
margin: 0;
max-width: 440px;
}

.successPage .divider {
width: 48px;
height: 3px;
border-radius: 6px;
background: linear-gradient(90deg, #B0C01E, #869F2C);
}

.successPage .detail {
font-size: 14px;
line-height: 1.6;
color: #6a7540;
margin: 0;
max-width: 400px;
}

.successPage .actions {
display: flex;
flex-direction: row;
gap: 20px;
flex-wrap: wrap;
justify-content: center;
margin-top: 20px;
}

.successPage .btnPrimary {
display: inline-block;
padding: 14px 40px;
border-radius: 10px;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
color: #ffffff;
background: linear-gradient(120deg, #B0C01E 0%, #869F2C 100%);
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.42s ease-in-out, transform 0.2s ease-in-out;
}

.successPage .btnPrimary:hover {
background: linear-gradient(220deg, #869F2C 0%, #B0C01E 100%);
box-shadow: 0 6px 22px 1px rgba(134, 159, 44, 0.09);
transform: translateY(-2px);
}

.successPage .btnPrimary:focus {
outline: 3px solid #B0C01E;
outline-offset: 3px;
}

.successPage .btnPrimary:active {
transform: translateY(0);
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
}

.successPage .btnSecondary {
display: inline-block;
padding: 14px 40px;
border-radius: 10px;
font-size: 16px;
line-height: 1.4;
font-weight: 600;
color: #869F2C;
background: #ffffff;
border: 2px solid #B0C01E;
cursor: pointer;
text-decoration: none;
box-shadow: 0 3px 5px 1px rgba(176, 192, 30, 0.07);
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.successPage .btnSecondary:hover {
background: #E2E6D4;
color: #2a2e1a;
border-color: #869F2C;
}

.successPage .btnSecondary:focus {
outline: 3px solid #B0C01E;
outline-offset: 3px;
}

.successPage .note {
font-size: 13px;
line-height: 1.6;
color: #8a9560;
margin: 0;
letter-spacing: 0.02em;
}

@media (max-width: 540px) {
.successPage {
padding: 40px 10px;
}

.successPage .card {
padding: 40px 20px;
}

.successPage .heading {
font-size: 27px;
}

.successPage .actions {
flex-direction: column;
align-items: stretch;
gap: 10px;
}

.successPage .btnPrimary,
.successPage .btnSecondary {
text-align: center;
}
}