* {
box-sizing: border-box;
}

html {
font-size: 100%;
}

body {
margin: 0;
min-height: 100dvh;
overflow-x: hidden;
font-family: 'Alegreya', Georgia, serif;
}

.topbar {
background: #438A9D;
padding: 8px 24px;
}

.topbar .topbarinner {
max-width: 1500px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
}

.topbar .contactitem {
display: flex;
align-items: center;
gap: 8px;
color: #E2F2F0;
font-size: 14px;
line-height: 1.2;
text-decoration: none;
}

.topbar .contactitem:hover {
color: #ffffff;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.topbar .contactlabel {
font-size: 14px;
color: #A0CAC1;
margin-right: 4px;
}

.brandbar {
background: #ffffff;
border-bottom: 2px solid #E2F2F0;
padding: 16px 24px;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
}

.brandbar .brandbarinner {
max-width: 1500px;
margin: 0 auto;
display: flex;
align-items: center;
gap: 24px;
}

.logopill {
display: flex;
align-items: center;
justify-content: center;
background: #E2F2F0;
border-radius: 38px;
padding: 8px 16px;
border-right: 3px solid #438A9D;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
text-decoration: none;
flex-shrink: 0;
}

.logopill img {
width: 56px;
height: 56px;
object-fit: contain;
display: block;
}

.brandname {
font-size: 29px;
font-weight: 700;
color: #438A9D;
line-height: 1.2;
letter-spacing: 0;
margin: 0;
padding: 0 16px 0 8px;
border-right: 1px solid #E2F2F0;
}

.brandtag {
font-size: 14px;
color: #438A9D;
line-height: 1.6;
font-style: italic;
padding-left: 16px;
}

.navbar {
background: linear-gradient(135deg, #438A9D 0%, #3a7a8c 100%);
padding: 0 24px;
}

.navbar .navinner {
max-width: 1500px;
margin: 0 auto;
display: flex;
align-items: stretch;
flex-wrap: wrap;
}

.navlink {
display: inline-flex;
align-items: center;
color: #E2F2F0;
font-size: 17px;
font-family: 'Alegreya', Georgia, serif;
font-weight: 400;
line-height: 1.2;
text-decoration: none;
padding: 16px 24px;
border-bottom: 3px solid transparent;
transition: color 0.1s cubic-bezier(0.4, 0, 1, 1), border-color 0.14s cubic-bezier(0.4, 0, 1, 1), background-color 0.12s cubic-bezier(0.4, 0, 1, 1);
position: relative;
overflow: hidden;
}

.navlink::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: rgba(160, 202, 193, 0.18);
transition: height 0.13s cubic-bezier(0.4, 0, 1, 1);
pointer-events: none;
}

.navlink:hover::after {
height: 100%;
}

.navlink:hover {
color: #ffffff;
border-bottom-color: #A0CAC1;
}

.navlink:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(160, 202, 193, 0.6);
border-radius: 1px;
}

.navlink.active {
color: #ffffff;
border-bottom-color: #E2F2F0;
font-weight: 700;
}

.footerwrap {
background: #2a6878;
padding: 48px 24px 24px;
}

.footerinner {
max-width: 1500px;
margin: 0 auto;
display: flex;
gap: 48px;
align-items: flex-start;
flex-wrap: wrap;
}

.footerbrand {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
min-width: 180px;
}

.footerlogowrap {
display: flex;
align-items: center;
justify-content: center;
background: #E2F2F0;
border-radius: 22px;
padding: 8px 16px;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
}

.footerlogowrap img {
width: 52px;
height: 52px;
object-fit: contain;
display: block;
}

.footerbrandname {
font-size: 22px;
font-weight: 700;
color: #E2F2F0;
line-height: 1.2;
margin: 0;
}

.footerbrandtag {
font-size: 14px;
color: #A0CAC1;
line-height: 1.6;
font-style: italic;
margin: 0;
}

.footernav {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
min-width: 200px;
}

.footernavlabel {
font-size: 14px;
color: #A0CAC1;
font-weight: 700;
line-height: 1.2;
text-transform: uppercase;
margin-bottom: 8px;
letter-spacing: 0;
}

.footernavlink {
font-size: 17px;
color: #E2F2F0;
font-family: 'Alegreya', Georgia, serif;
text-decoration: none;
line-height: 1.6;
border-bottom: 1px solid transparent;
transition: color 0.11s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
display: inline-block;
}

.footernavlink:hover {
color: #ffffff;
border-bottom-color: #A0CAC1;
}

.footernavlink:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(160, 202, 193, 0.5);
border-radius: 1px;
}

.footercontact {
display: flex;
flex-direction: column;
gap: 8px;
min-width: 220px;
}

.footercontactlabel {
font-size: 14px;
color: #A0CAC1;
font-weight: 700;
line-height: 1.2;
text-transform: uppercase;
margin-bottom: 8px;
}

.footercontactitem {
font-size: 17px;
color: #E2F2F0;
font-family: 'Alegreya', Georgia, serif;
text-decoration: none;
line-height: 1.6;
transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
display: block;
}

.footercontactitem:hover {
color: #ffffff;
}

.footercontacttext {
font-size: 14px;
color: #A0CAC1;
line-height: 1.6;
margin: 0;
}

.footerlegalnav {
display: flex;
flex-direction: column;
gap: 8px;
min-width: 180px;
}

.footerlegallabel {
font-size: 14px;
color: #A0CAC1;
font-weight: 700;
line-height: 1.2;
text-transform: uppercase;
margin-bottom: 8px;
}

.footerlegallink {
font-size: 14px;
color: #A0CAC1;
font-family: 'Alegreya', Georgia, serif;
text-decoration: none;
line-height: 1.6;
border-bottom: 1px solid transparent;
transition: color 0.11s cubic-bezier(0.4, 0, 1, 1), border-color 0.16s cubic-bezier(0.4, 0, 1, 1);
display: inline-block;
}

.footerlegallink:hover {
color: #E2F2F0;
border-bottom-color: #A0CAC1;
}

.footerlegallink:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(160, 202, 193, 0.5);
border-radius: 1px;
}

.footerbottom {
max-width: 1500px;
margin: 0 auto;
padding-top: 24px;
margin-top: 48px;
border-top: 1px solid rgba(160, 202, 193, 0.25);
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
}

.copyright {
font-size: 14px;
color: #A0CAC1;
line-height: 1.6;
margin: 0;
}

.cookiebanner {
position: fixed;
bottom: 24px;
left: 24px;
z-index: 1200;
background: #ffffff;
border: 2px solid #438A9D;
border-radius: 10px;
padding: 16px 24px;
max-width: 360px;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
display: none;
}

.cookiedesc {
font-size: 14px;
color: #2a6878;
line-height: 1.6;
margin: 0 0 8px 0;
font-family: 'Alegreya', Georgia, serif;
}

.cookielist {
font-size: 14px;
color: #438A9D;
line-height: 1.6;
margin: 0 0 16px 0;
padding-left: 16px;
font-family: 'Alegreya', Georgia, serif;
}

.cookietitle {
font-size: 17px;
font-weight: 700;
color: #2a6878;
line-height: 1.2;
margin: 0 0 8px 0;
font-family: 'Alegreya', Georgia, serif;
}

.cookieactions {
display: flex;
gap: 16px;
align-items: center;
}

.cookieaccept {
font-size: 14px;
color: #438A9D;
font-family: 'Alegreya', Georgia, serif;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 0;
line-height: 1.6;
transition: color 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.cookieaccept:hover {
color: #2a6878;
}

.cookieaccept:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(67, 138, 157, 0.4);
border-radius: 1px;
}

.cookiedecline {
font-size: 14px;
color: #A0CAC1;
font-family: 'Alegreya', Georgia, serif;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
padding: 0;
line-height: 1.6;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.cookiedecline:hover {
color: #438A9D;
}

.cookiedecline:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(67, 138, 157, 0.3);
border-radius: 1px;
}

@media (max-width: 768px) {
.topbar .topbarinner {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}

.brandbar .brandbarinner {
flex-wrap: wrap;
gap: 16px;
}

.brandtag {
display: none;
}

.navbar .navinner {
flex-direction: column;
}

.navlink {
padding: 8px 16px;
font-size: 14px;
}

.footerinner {
flex-direction: column;
gap: 24px;
}

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

.cookiebanner {
left: 8px;
right: 8px;
max-width: none;
bottom: 8px;
}
}

@media (max-width: 375px) {
.brandname {
font-size: 22px;
}

.topbar {
padding: 8px 16px;
}

.brandbar {
padding: 16px;
}

.navbar {
padding: 0 16px;
}
}

.legal-section {
max-width: 1500px;
margin: 0 auto;
padding: 48px 24px;
}

.legal-section strong,
.legal-section b {
color: #438A9D;
font-weight: 700;
}

.legal-section a {
color: #438A9D;
text-decoration: underline;
text-decoration-color: #A0CAC1;
text-underline-offset: 3px;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), text-decoration-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.legal-section a:hover {
color: #2d6678;
text-decoration-color: #438A9D;
}

.legal-section table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
line-height: 1.6;
margin: 24px 0;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
border-radius: 10px;
overflow: hidden;
}

.legal-section thead {
background: #E2F2F0;
}

.legal-section thead th {
color: #2d6678;
font-size: 14px;
font-weight: 700;
line-height: 1.6;
padding: 16px;
text-align: left;
}

.legal-section tbody tr {
border-top: 1px solid #E2F2F0;
transition: background 0.1s cubic-bezier(0.4, 0, 1, 1);
}

.legal-section tbody tr:hover {
background: #f4fbfa;
}

.legal-section td {
color: #1e3a42;
font-size: 14px;
line-height: 1.6;
padding: 16px;
vertical-align: top;
}

.legal-section hr {
border: none;
border-top: 1px solid #A0CAC1;
margin: 48px 0;
opacity: 0.5;
}

.legal-section div {
font-size: 17px;
line-height: 1.6;
color: #1e3a42;
}

@media (max-width: 768px) {
.legal-section {
padding: 24px 16px;
}

.legal-section table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

.legal-section thead th,
.legal-section td {
padding: 8px;
}
}

@media (max-width: 375px) {
.legal-section {
padding: 16px 8px;
}

.legal-section div {
font-size: 14px;
}
}

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

.interview .pagetop {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
padding: 48px 48px 48px 0;
margin-left: 48px;
position: relative;
background: #fff;
}

.interview .pagetop::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 3px;
height: 70%;
background: #438A9D;
border-radius: 1px;
}

.interview .imagebox {
flex: 0 0 480px;
position: relative;
border-radius: 10px;
overflow: hidden;
}

.interview .imagebox img {
width: 480px;
height: 540px;
object-fit: cover;
display: block;
border-radius: 10px;
transition: border 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.interview .imagebox::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 160px;
height: 160px;
background: radial-gradient(ellipse at 20% 20%, rgba(160, 202, 193, 0.45) 0%, rgba(255, 255, 255, 0) 70%);
pointer-events: none;
z-index: 1;
border-radius: 10px;
}

.interview .imagebox:hover img {
box-shadow: 0 0 0 3px #438A9D;
}

.interview .imagecorner {
position: absolute;
top: -8px;
left: -8px;
width: 28px;
height: 28px;
border-top: 2px solid #438A9D;
border-left: 2px solid #438A9D;
border-radius: 1px;
pointer-events: none;
}

.interview .imagecorner.br {
top: auto;
left: auto;
bottom: -8px;
right: -8px;
border-top: none;
border-left: none;
border-bottom: 2px solid #A0CAC1;
border-right: 2px solid #A0CAC1;
}

.interview .toptext {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
}

.interview .tagline {
font-size: 14px;
color: #438A9D;
letter-spacing: 0;
text-transform: uppercase;
line-height: 1.2;
}

.interview .toptext h1 {
font-size: 55px;
line-height: 1.2;
color: #1b2a2e;
margin: 0;
}

.interview .toptext h1 .accent {
color: #438A9D;
}

.interview .toptext p {
font-size: 17px;
line-height: 1.6;
color: #2c3e42;
margin: 0;
padding-left: 16px;
text-indent: -16px;
}

.interview .toptext .readmore {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: #438A9D;
text-decoration: none;
border: 2px solid #438A9D;
border-radius: 22px;
padding: 8px 24px;
position: relative;
overflow: hidden;
transition: color 0.14s cubic-bezier(0.4, 0, 1, 1);
align-self: flex-start;
}

.interview .toptext .readmore::before {
content: "";
position: absolute;
bottom: -100%;
left: 0;
width: 100%;
height: 100%;
background: #438A9D;
transition: bottom 0.16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0;
}

.interview .toptext .readmore:hover {
color: #fff;
}

.interview .toptext .readmore:hover::before {
bottom: 0;
}

.interview .toptext .readmore span {
position: relative;
z-index: 1;
}

.interview .divider1 {
width: 100%;
overflow: hidden;
line-height: 0;
margin: 0;
}

.interview .divider1 svg {
display: block;
width: 100%;
}

.interview .listarea {
background: #E2F2F0;
padding: 48px 48px 48px 96px;
margin-right: 48px;
border-radius: 10px;
position: relative;
}

.interview .listarea::before {
content: "";
position: absolute;
top: 24px;
right: 24px;
width: 60px;
height: 60px;
border: 1.5px solid rgba(67, 138, 157, 0.18);
border-radius: 1px;
transform: rotate(18deg);
pointer-events: none;
}

.interview .listarea::after {
content: "";
position: absolute;
top: 36px;
right: 36px;
width: 40px;
height: 40px;
border: 1.5px solid rgba(160, 202, 193, 0.22);
border-radius: 1px;
transform: rotate(36deg);
pointer-events: none;
}

.interview .listheadwrap {
display: inline-block;
background: #A0CAC1;
border-radius: 1px;
padding: 4px 16px;
margin-bottom: 24px;
}

.interview .listheadwrap h2 {
font-size: 29px;
line-height: 1.2;
color: #1b2a2e;
margin: 0;
}

.interview .listarea .lead {
font-size: 17px;
line-height: 1.6;
color: #2c3e42;
margin: 0 0 24px 0;
max-width: 680px;
}

.interview .steps {
display: flex;
flex-direction: column;
gap: 0;
position: relative;
max-width: 820px;
}

.interview .steps::before {
content: "";
position: absolute;
left: 16px;
top: 8px;
bottom: 8px;
width: 1px;
background: linear-gradient(to bottom, #438A9D 0%, #A0CAC1 100%);
}

.interview .stepitem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
padding: 16px 0;
position: relative;
}

.interview .stepnum {
flex: 0 0 32px;
width: 32px;
height: 32px;
background: #438A9D;
color: #fff;
border-radius: 38px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
line-height: 1.2;
position: relative;
z-index: 1;
transition: background 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.interview .stepitem:hover .stepnum {
background: #1b2a2e;
}

.interview .stepbody {
flex: 1;
}

.interview .stepbody h4 {
font-size: 17px;
line-height: 1.2;
color: #1b2a2e;
margin: 0 0 4px 0;
}

.interview .stepbody p {
font-size: 14px;
line-height: 1.6;
color: #3a5055;
margin: 0;
}

.interview .divider2 {
width: 100%;
overflow: hidden;
line-height: 0;
}

.interview .divider2 svg {
display: block;
width: 100%;
}

.interview .expertblock {
margin-left: 48px;
padding: 48px;
background: #fff;
border-radius: 10px;
display: grid;
grid-template-columns: 2fr 1.4fr 1fr;
gap: 48px;
align-items: start;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
position: relative;
}

.interview .expertblock::before {
content: "";
position: absolute;
top: -8px;
left: -8px;
width: 22px;
height: 22px;
border-top: 2px solid #438A9D;
border-left: 2px solid #438A9D;
border-radius: 1px;
pointer-events: none;
}

.interview .expertblock::after {
content: "";
position: absolute;
bottom: -8px;
right: -8px;
width: 22px;
height: 22px;
border-bottom: 2px solid #A0CAC1;
border-right: 2px solid #A0CAC1;
border-radius: 1px;
pointer-events: none;
}

.interview .expertquote {
display: flex;
flex-direction: column;
gap: 16px;
}

.interview .quotelabel {
display: inline-block;
background: #438A9D;
color: #fff;
font-size: 14px;
line-height: 1.2;
padding: 4px 16px;
border-radius: 1px;
align-self: flex-start;
}

.interview .expertquote blockquote {
margin: 0;
padding: 0;
}

.interview .expertquote blockquote p {
font-size: 22px;
line-height: 1.6;
color: #1b2a2e;
margin: 0 0 16px 0;
padding-left: 16px;
text-indent: -16px;
}

.interview .expertname {
font-size: 14px;
color: #438A9D;
line-height: 1.2;
}

.interview .expertname strong {
display: block;
font-size: 17px;
color: #1b2a2e;
margin-bottom: 4px;
}

.interview .expertquote .context {
font-size: 14px;
line-height: 1.6;
color: #3a5055;
margin: 0;
}

.interview .statscol {
display: flex;
flex-direction: column;
gap: 24px;
}

.interview .statitem {
display: flex;
flex-direction: column;
gap: 8px;
}

.interview .statlabel {
font-size: 14px;
color: #3a5055;
line-height: 1.2;
}

.interview .statbar {
display: flex;
flex-direction: row;
gap: 4px;
}

.interview .barseg {
height: 8px;
flex: 1;
background: #E2F2F0;
border-radius: 1px;
transition: background 0.11s cubic-bezier(0.4, 0, 1, 1);
}

.interview .barseg.filled {
background: #438A9D;
}

.interview .barseg.halffilled {
background: linear-gradient(to right, #438A9D 60%, #E2F2F0 60%);
}

.interview .statval {
font-size: 22px;
line-height: 1.2;
color: #1b2a2e;
}

.interview .ratingcol {
display: flex;
flex-direction: column;
gap: 16px;
align-items: center;
background: #E2F2F0;
border-radius: 10px;
padding: 24px 16px;
}

.interview .ratingnum {
font-size: 55px;
line-height: 1.2;
color: #438A9D;
}

.interview .ratingdesc {
font-size: 14px;
line-height: 1.6;
color: #3a5055;
text-align: center;
}

.interview .starrow {
display: flex;
flex-direction: row;
gap: 4px;
}

.interview .star {
width: 18px;
height: 18px;
display: block;
}

.interview .ratingcount {
font-size: 14px;
color: #438A9D;
line-height: 1.2;
}

@keyframes revealblock {
from {
opacity: 0;
transform: rotate(-1.5deg) translateY(18px);
}

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

.interview .pagetop {
animation: revealblock 0.18s cubic-bezier(0.4, 0, 1, 1) both;
}

.interview .listarea {
animation: revealblock 0.15s 0.08s cubic-bezier(0.4, 0, 1, 1) both;
}

.interview .expertblock {
animation: revealblock 0.17s 0.13s cubic-bezier(0.4, 0, 1, 1) both;
}

.interview a.inlinelink {
color: #438A9D;
text-decoration: underline;
display: inline;
transition: transform 0.12s cubic-bezier(0.4, 0, 1, 1);
display: inline-block;
}

.interview a.inlinelink:hover {
transform: rotate(-2deg);
}

@media (max-width: 1024px) {
.interview .pagetop {
flex-direction: column;
margin-left: 24px;
padding: 48px 24px 48px 0;
gap: 24px;
}

.interview .imagebox {
flex: none;
}

.interview .imagebox img {
width: 100%;
height: 320px;
}

.interview .expertblock {
grid-template-columns: 1fr 1fr;
margin-left: 24px;
padding: 24px;
}

.interview .ratingcol {
grid-column: span 2;
}

.interview .listarea {
margin-right: 24px;
padding: 24px 24px 24px 48px;
}
}

@media (max-width: 768px) {
.interview .pagetop {
margin-left: 16px;
padding: 24px 16px 24px 0;
}

.interview .toptext h1 {
font-size: 29px;
}

.interview .expertblock {
grid-template-columns: 1fr;
margin-left: 16px;
padding: 16px;
gap: 24px;
}

.interview .ratingcol {
grid-column: span 1;
}

.interview .listarea {
margin-right: 16px;
padding: 24px 16px 24px 40px;
}

.interview .expertquote blockquote p {
font-size: 17px;
}
}

@media (max-width: 375px) {
.interview .toptext h1 {
font-size: 22px;
}

.interview .ratingnum {
font-size: 29px;
}
}

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

.prime .constrained {
margin-left: auto;
margin-right: auto;
max-width: 1500px;
padding-left: 48px;
padding-right: 48px;
}

.prime .titledark {
background-color: #1b2a30;
padding-bottom: 80px;
padding-top: 120px;
position: relative;
}

.prime .titlenoise {
bottom: 0;
left: 0;
opacity: 0.04;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
background-size: 200px 200px;
}

.prime .titlecurve {
bottom: 0;
left: 0;
overflow: hidden;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.prime .titlecurve svg {
bottom: 48px;
left: 48px;
position: absolute;
}

.prime .titlegrid {
align-items: flex-end;
display: flex;
flex-direction: row;
gap: 48px;
position: relative;
z-index: 1;
}

.prime .titleleft {
flex: 1;
}

.prime .titleright {
flex-shrink: 0;
width: 340px;
}

.prime .titlebadge {
border: 1px solid rgba(160, 202, 193, 0.35);
border-radius: 1px;
color: #A0CAC1;
display: inline-block;
font-size: 14px;
letter-spacing: 0.08em;
line-height: 1.6;
margin-bottom: 24px;
padding: 4px 16px;
text-transform: uppercase;
}

.prime .titleh1 {
color: #ffffff;
font-size: 70px;
line-height: 1.2;
margin-bottom: 16px;
}

.prime .titleh1 em {
color: #A0CAC1;
font-style: normal;
}

.prime .titlesub {
color: #A0CAC1;
font-size: 22px;
line-height: 1.6;
margin-bottom: 24px;
max-width: 560px;
}

.prime .titledesc {
color: rgba(255, 255, 255, 0.6);
font-size: 17px;
line-height: 1.6;
max-width: 520px;
}

.prime .titleimgwrap {
border-radius: 10px;
height: 380px;
overflow: hidden;
position: relative;
width: 340px;
}

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

.prime .titleimgoverlay {
background: repeating-linear-gradient(0deg,
rgba(27, 42, 48, 0.18) 0px,
rgba(27, 42, 48, 0.18) 1px,
transparent 1px,
transparent 3px);
bottom: 0;
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.prime .titlestats {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 48px;
}

.prime .titlestat {
border-top: 1px solid rgba(160, 202, 193, 0.3);
padding-top: 16px;
}

.prime .titlestatnum {
color: #ffffff;
font-size: 29px;
line-height: 1.2;
}

.prime .titlestatlabel {
color: rgba(255, 255, 255, 0.5);
font-size: 14px;
line-height: 1.6;
}

.prime .approachsection {
background-color: #ffffff;
padding-bottom: 80px;
padding-top: 80px;
position: relative;
}

.prime .approachsection::before {
background: radial-gradient(ellipse 60% 40% at 15% 50%, rgba(67, 138, 157, 0.07) 0%, transparent 70%);
bottom: 0;
content: "";
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.prime .approachwavy {
margin-bottom: 48px;
overflow: hidden;
}

.prime .approachwavy svg {
display: block;
width: 100%;
}

.prime .approachinner {
display: grid;
gap: 48px;
grid-template-columns: 1fr 1fr;
position: relative;
z-index: 1;
}

.prime .approachleft {
display: flex;
flex-direction: column;
gap: 24px;
}

.prime .approachheadstrip {
background-color: #E2F2F0;
border-radius: 1px;
display: inline-block;
padding: 4px 16px;
}

.prime .approachheadstrip h2 {
color: #1b2a30;
font-size: 29px;
line-height: 1.2;
margin: 0;
}

.prime .approachpara {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
text-indent: -16px;
padding-left: 16px;
}

.prime .approachsteps {
counter-reset: steps;
display: flex;
flex-direction: column;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
}

.prime .approachstep {
counter-increment: steps;
display: flex;
flex-direction: row;
gap: 16px;
padding-bottom: 24px;
position: relative;
}

.prime .approachstep::before {
background-color: #438A9D;
border-radius: 22px;
color: #ffffff;
content: counter(steps);
flex-shrink: 0;
font-size: 14px;
height: 28px;
line-height: 28px;
text-align: center;
width: 28px;
}

.prime .approachstep::after {
background-color: #A0CAC1;
bottom: 0;
content: "";
left: 14px;
position: absolute;
top: 28px;
width: 1px;
}

.prime .approachstep:last-child::after {
display: none;
}

.prime .approachsteptext {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
padding-bottom: 4px;
}

.prime .approachstephead {
color: #1b2a30;
font-size: 17px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 4px;
}

.prime .approachimages {
display: grid;
gap: 16px;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
}

.prime .approachimgwrap {
border-radius: 10px;
overflow: hidden;
position: relative;
}

.prime .approachimgwrap.tall {
grid-row: span 2;
}

.prime .approachimgwrap img {
display: block;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 0.15s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
}

.prime .approachimgwrap:hover img {
transform: scale(1.04);
}

.prime .approachimgwrap .colorwash {
background-color: rgba(67, 138, 157, 0.35);
bottom: 0;
left: 0;
opacity: 0;
position: absolute;
right: 0;
top: 0;
transition: opacity 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.prime .approachimgwrap:hover .colorwash {
opacity: 1;
}

.prime .approachimgwrap.tall {
height: 380px;
}

.prime .approachimgwrap.short {
height: 180px;
}

.prime .beforeafter {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 24px;
}

.prime .beforeafterrow {
align-items: stretch;
display: flex;
flex-direction: row;
gap: 8px;
}

.prime .beforebox {
background-color: #f2f5f5;
border-radius: 10px;
flex: 1;
padding: 16px;
}

.prime .afterbox {
background-color: #E2F2F0;
border-radius: 10px;
flex: 1;
padding: 16px;
}

.prime .beforelabel {
color: #888;
font-size: 14px;
line-height: 1.2;
margin-bottom: 8px;
text-transform: uppercase;
}

.prime .afterlabel {
color: #438A9D;
font-size: 14px;
line-height: 1.2;
margin-bottom: 8px;
text-transform: uppercase;
}

.prime .beforetext {
color: #555;
font-size: 17px;
line-height: 1.6;
}

.prime .aftertext {
color: #1b2a30;
font-size: 17px;
line-height: 1.6;
}

.prime .reputationsection {
background-color: #E2F2F0;
padding-bottom: 80px;
padding-top: 80px;
position: relative;
}

.prime .reputationsection::after {
background: radial-gradient(ellipse 50% 60% at 85% 50%, rgba(67, 138, 157, 0.1) 0%, transparent 70%);
bottom: 0;
content: "";
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.prime .reputationtop {
margin-bottom: 48px;
position: relative;
text-align: center;
z-index: 1;
}

.prime .reputationheadstrip {
background-color: #ffffff;
border-radius: 1px;
display: inline-block;
padding: 4px 24px;
}

.prime .reputationheadstrip h2 {
color: #1b2a30;
font-size: 29px;
line-height: 1.2;
margin: 0;
}

.prime .reputationdesc {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
margin-left: auto;
margin-right: auto;
margin-top: 16px;
max-width: 640px;
text-indent: -16px;
padding-left: 16px;
}

.prime .reputationgrid {
display: grid;
gap: 24px;
grid-template-columns: 1fr 1fr 1fr;
position: relative;
z-index: 1;
}

.prime .reputationcard {
background-color: #ffffff;
border-radius: 22px;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
padding: 24px;
transition: box-shadow 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.prime .reputationcard:hover {
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
}

.prime .reputationcardicon {
animation: floatup 3s ease-in-out infinite;
color: #438A9D;
margin-bottom: 16px;
}

.prime .reputationcardicon svg {
display: block;
height: 36px;
width: 36px;
}

.prime .reputationcardtitle {
color: #1b2a30;
font-size: 22px;
line-height: 1.2;
margin-bottom: 8px;
}

.prime .reputationcardtext {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
}

.prime .reputationprofile {
align-items: flex-start;
border-top: 1px solid #E2F2F0;
display: flex;
flex-direction: row;
gap: 16px;
grid-column: span 3;
margin-top: 8px;
padding-top: 24px;
}

.prime .reputationportrait {
border-radius: 38px;
flex-shrink: 0;
height: 120px;
object-fit: cover;
object-position: center;
width: 96px;
}

.prime .reputationquote {
flex: 1;
}

.prime .reputationquotetext {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
margin-bottom: 8px;
}

.prime .reputationquotename {
color: #438A9D;
font-size: 14px;
line-height: 1.6;
}

@keyframes floatup {

0%,
100% {
transform: translateY(0);
}

50% {
transform: translateY(-6px);
}
}

.prime .conditionssection {
background-color: #ffffff;
padding-bottom: 80px;
padding-top: 80px;
position: relative;
}

.prime .conditionsbg {
background-color: #1b2a30;
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 50%;
}

.prime .conditionscard {
background-color: #ffffff;
border-radius: 22px;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
overflow: hidden;
position: relative;
z-index: 1;
}

.prime .conditionsheader {
background-color: #1b2a30;
padding: 48px;
position: relative;
}

.prime .conditionsheader::before {
background-image: repeating-linear-gradient(0deg,
transparent,
transparent 22px,
rgba(160, 202, 193, 0.08) 22px,
rgba(160, 202, 193, 0.08) 23px),
repeating-linear-gradient(90deg,
transparent,
transparent 22px,
rgba(160, 202, 193, 0.08) 22px,
rgba(160, 202, 193, 0.08) 23px);
bottom: 0;
content: "";
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.prime .conditionsheadstrip {
background-color: rgba(160, 202, 193, 0.15);
border-radius: 1px;
display: inline-block;
margin-bottom: 16px;
padding: 4px 16px;
position: relative;
z-index: 1;
}

.prime .conditionsheadstrip h2 {
color: #A0CAC1;
font-size: 29px;
line-height: 1.2;
margin: 0;
}

.prime .conditionsheaddesc {
color: rgba(255, 255, 255, 0.7);
font-size: 17px;
line-height: 1.6;
max-width: 600px;
position: relative;
z-index: 1;
}

.prime .conditionsbody {
display: grid;
gap: 0;
grid-template-columns: 1fr 1fr 1fr;
padding: 0;
}

.prime .conditionsitem {
border-right: 1px solid #E2F2F0;
padding: 24px;
position: relative;
transition: background-color 0.11s cubic-bezier(0.4, 0, 1, 1);
}

.prime .conditionsitem:last-child {
border-right: none;
}

.prime .conditionsitem:hover {
background-color: #E2F2F0;
}

.prime .conditionsitemicon {
animation: floatup 3.4s ease-in-out infinite;
margin-bottom: 16px;
}

.prime .conditionsitemicon svg {
display: block;
height: 32px;
width: 32px;
}

.prime .conditionsitemtitle {
color: #1b2a30;
font-size: 22px;
line-height: 1.2;
margin-bottom: 8px;
}

.prime .conditionsitemtext {
color: #2c3e44;
font-size: 17px;
line-height: 1.6;
}

.prime .conditionsimages {
display: grid;
gap: 16px;
grid-template-columns: 1fr 1fr 1fr;
padding: 24px;
}

.prime .conditionsimgwrap {
border-radius: 10px;
height: 180px;
overflow: hidden;
position: relative;
}

.prime .conditionsimgwrap img {
height: 100%;
object-fit: cover;
object-position: center;
transition: transform 0.16s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
}

.prime .conditionsimgwrap:hover img {
transform: scale(1.05);
}

.prime .conditionsimgwrap .colorwash {
background-color: rgba(67, 138, 157, 0.35);
bottom: 0;
left: 0;
opacity: 0;
position: absolute;
right: 0;
top: 0;
transition: opacity 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.prime .conditionsimgwrap:hover .colorwash {
opacity: 1;
}

.prime .conditionslink {
color: #438A9D;
display: inline-block;
font-size: 17px;
line-height: 1.6;
padding: 16px 24px;
position: relative;
text-decoration: none;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1);
}

.prime .conditionslink:hover {
transform: rotate(-1.5deg);
}

.prime .conditionsfooter {
align-items: center;
border-top: 1px solid #E2F2F0;
display: flex;
flex-direction: row;
gap: 24px;
justify-content: space-between;
padding: 24px 48px;
}

.prime .conditionsfootertext {
color: #888;
font-size: 14px;
line-height: 1.6;
}

.prime .conditionsbtn {
background-color: transparent;
border: 2px solid #438A9D;
border-radius: 10px;
color: #438A9D;
cursor: pointer;
font-size: 17px;
line-height: 1.6;
overflow: hidden;
padding: 8px 24px;
position: relative;
transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
}

.prime .conditionsbtn::before {
background-color: #438A9D;
bottom: 100%;
content: "";
left: 0;
position: absolute;
right: 0;
top: 100%;
transition: top 0.14s cubic-bezier(0.4, 0, 1, 1), bottom 0.14s cubic-bezier(0.4, 0, 1, 1);
z-index: 0;
}

.prime .conditionsbtn:hover::before {
bottom: 0;
top: 0;
}

.prime .conditionsbtn:hover {
color: #ffffff;
}

.prime .conditionsbtntext {
position: relative;
z-index: 1;
}

.prime .conditionsbtn:focus-visible {
outline: 3px solid #438A9D !important;
outline-offset: 3px !important;
}

.prime .approachimgwrap:focus-visible,
.prime .reputationcard:focus-visible,
.prime .conditionsimgwrap:focus-visible {
outline: 3px solid #438A9D !important;
outline-offset: 2px !important;
}

@media (max-width: 1024px) {
.prime .constrained {
padding-left: 24px;
padding-right: 24px;
}

.prime .titlegrid {
flex-direction: column;
align-items: flex-start;
}

.prime .titleright {
width: 100%;
}

.prime .titleimgwrap {
height: 260px;
width: 100%;
}

.prime .titleh1 {
font-size: 55px;
}

.prime .approachinner {
grid-template-columns: 1fr;
}

.prime .reputationgrid {
grid-template-columns: 1fr 1fr;
}

.prime .reputationprofile {
grid-column: span 2;
}

.prime .conditionsbody {
grid-template-columns: 1fr;
}

.prime .conditionsitem {
border-right: none;
border-bottom: 1px solid #E2F2F0;
}

.prime .conditionsimages {
grid-template-columns: 1fr 1fr;
}

.prime .conditionsfooter {
flex-direction: column;
align-items: flex-start;
padding: 24px;
}
}

@media (max-width: 768px) {
.prime .titleh1 {
font-size: 29px;
}

.prime .titlesub {
font-size: 17px;
}

.prime .titlestats {
flex-direction: column;
gap: 16px;
}

.prime .reputationgrid {
grid-template-columns: 1fr;
}

.prime .reputationprofile {
grid-column: span 1;
flex-direction: column;
}

.prime .conditionsimages {
grid-template-columns: 1fr;
}

.prime .approachimages {
grid-template-columns: 1fr;
}

.prime .approachimgwrap.tall {
height: 220px;
grid-row: span 1;
}

.prime .approachimgwrap.short {
height: 160px;
}

.prime .beforeafterrow {
flex-direction: column;
}

.prime .conditionsheader {
padding: 24px;
}
}

@media (max-width: 375px) {
.prime .constrained {
padding-left: 16px;
padding-right: 16px;
}

.prime .titleh1 {
font-size: 29px;
}

.prime .conditionsbody {
grid-template-columns: 1fr;
}
}

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

.aboutus .titlebg {
position: relative;
padding: 48px 48px 96px;
background: #E2F2F0;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
}

.aboutus .zigzag {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
z-index: 0;
}

.aboutus .zigzag svg {
width: 100%;
height: 100%;
opacity: 0.07;
}

.aboutus .spotblur {
position: absolute;
border-radius: 38px;
filter: blur(60px);
pointer-events: none;
z-index: 0;
}

.aboutus .spotblur.left {
width: 320px;
height: 220px;
background: #438A9D;
opacity: 0.18;
top: 16px;
left: -48px;
}

.aboutus .spotblur.right {
width: 260px;
height: 180px;
background: #A0CAC1;
opacity: 0.22;
bottom: 24px;
right: 48px;
}

.aboutus .titlerow {
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 48px;
width: 100%;
}

.aboutus .titletextblock {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.aboutus .labelstrip {
display: inline-block;
background: #438A9D;
color: #fff;
font-size: 14px;
line-height: 1.2;
padding: 4px 16px;
border-radius: 1px;
}

.aboutus .titletextblock h1 {
font-size: 70px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
}

.aboutus .titletextblock h1 span {
display: inline-block;
background: #A0CAC1;
padding: 0 8px;
border-radius: 1px;
}

.aboutus .titledesc {
font-size: 22px;
line-height: 1.6;
color: #2c5560;
max-width: 600px;
margin: 0;
}

.aboutus .titledesc .hangindent {
display: block;
text-indent: -16px;
padding-left: 16px;
}

.aboutus .filmimage {
width: 280px;
height: 380px;
border-radius: 10px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
position: relative;
}

.aboutus .filmimage img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: sepia(0.35) contrast(1.08) brightness(0.97) saturate(0.85);
transition: filter 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.aboutus .filmimage:hover img {
filter: sepia(0.5) contrast(1.12) brightness(0.9) saturate(0.75);
}

.aboutus .filmimage::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 80% 80% at 20% 50%, transparent 40%, rgba(67, 138, 157, 0.28) 100%);
border-radius: 10px;
pointer-events: none;
opacity: 0;
transition: opacity 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.aboutus .filmimage:hover::after {
opacity: 1;
}

.aboutus .divider1 {
width: 100%;
height: 2px;
background: radial-gradient(ellipse 60% 100% at 30% 50%, #438A9D 0%, transparent 100%);
margin: 0;
}

.aboutus .storyblock {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0;
background: #fff;
padding: 0;
}

.aboutus .storycol {
padding: 48px 24px;
display: flex;
flex-direction: column;
gap: 16px;
border-right: 1px solid #E2F2F0;
}

.aboutus .storycol:last-child {
border-right: none;
}

.aboutus .storycol h2 {
font-size: 29px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
background: #E2F2F0;
padding: 4px 8px;
border-radius: 1px;
text-align: center;
}

.aboutus .storycol p {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
margin: 0;
text-align: left;
text-indent: -16px;
padding-left: 16px;
}

.aboutus .countercorner {
align-self: flex-end;
background: #438A9D;
color: #fff;
font-size: 14px;
line-height: 1.2;
border-radius: 22px;
padding: 4px 16px;
font-weight: 600;
}

.aboutus .divider2 {
width: 100%;
height: 2px;
background: radial-gradient(ellipse 40% 100% at 70% 50%, #A0CAC1 0%, transparent 100%);
margin: 0;
}

.aboutus .comparebg {
background: #A0CAC1;
position: relative;
overflow: hidden;
padding: 48px;
}

.aboutus .comparebg .stripedrift {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
z-index: 0;
}

.aboutus .comparebg .stripedrift::before {
content: "";
position: absolute;
inset: -100%;
background: repeating-linear-gradient(135deg,
rgba(255, 255, 255, 0.06) 0px,
rgba(255, 255, 255, 0.06) 2px,
transparent 2px,
transparent 28px);
animation: stripemove 5s linear infinite;
}

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

to {
transform: translateX(56px) translateY(56px);
}
}

.aboutus .compareinner {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 24px;
max-width: 900px;
margin: 0 auto;
}

.aboutus .compareinner h2 {
font-size: 29px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
background: #E2F2F0;
padding: 4px 8px;
border-radius: 1px;
text-align: center;
align-self: center;
}

.aboutus .barlabel {
font-size: 14px;
line-height: 1.2;
color: #1b3a42;
margin-bottom: 4px;
}

.aboutus .barrow {
display: flex;
flex-direction: column;
gap: 8px;
}

.aboutus .bartrack {
background: rgba(255, 255, 255, 0.35);
border-radius: 1px;
height: 22px;
width: 100%;
position: relative;
overflow: hidden;
}

.aboutus .barfill {
height: 100%;
border-radius: 1px;
display: flex;
align-items: center;
padding-left: 8px;
font-size: 14px;
line-height: 1.2;
color: #fff;
font-weight: 600;
transition: width 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.aboutus .barfill.primary {
background: #438A9D;
width: 78%;
}

.aboutus .barfill.secondary {
background: #2c5560;
width: 55%;
}

.aboutus .barfill.third {
background: #438A9D;
width: 91%;
}

.aboutus .barfill.fourth {
background: #2c5560;
width: 64%;
}

.aboutus .bardesc {
font-size: 14px;
line-height: 1.6;
color: #1b3a42;
margin: 0;
}

.aboutus .teamframe {
padding: 48px;
background: #fff;
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start;
}

.aboutus .teamimages {
display: flex;
flex-direction: column;
gap: 16px;
flex-shrink: 0;
}

.aboutus .portraitbox {
width: 200px;
height: 280px;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
position: relative;
}

.aboutus .portraitbox img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: filter 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.aboutus .portraitbox:hover img {
filter: brightness(0.92) saturate(1.1);
}

.aboutus .portraitbox::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 90% 90% at 20% 20%, transparent 50%, rgba(67, 138, 157, 0.22) 100%);
pointer-events: none;
opacity: 0;
transition: opacity 0.14s cubic-bezier(0.4, 0, 1, 1);
border-radius: 22px;
}

.aboutus .portraitbox:hover::after {
opacity: 1;
}

.aboutus .imagegrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
width: 280px;
}

.aboutus .imagegrid img {
width: 100%;
height: 130px;
object-fit: cover;
object-position: center;
border-radius: 10px;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
transition: filter 0.17s cubic-bezier(0.4, 0, 1, 1);
}

.aboutus .imagegrid img:hover {
filter: brightness(0.9) saturate(1.15);
}

.aboutus .teamtext {
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.aboutus .teamtext h2 {
font-size: 55px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
background: #E2F2F0;
padding: 4px 8px;
border-radius: 1px;
text-align: center;
}

.aboutus .teamtext h3 {
font-size: 22px;
line-height: 1.2;
color: #438A9D;
margin: 0;
}

.aboutus .teamtext p {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
margin: 0;
text-indent: -16px;
padding-left: 16px;
}

.aboutus .personcard {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px;
border-radius: 10px;
background: #E2F2F0;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
}

.aboutus .personcard .personinfo {
display: flex;
flex-direction: column;
gap: 4px;
}

.aboutus .personcard .personname {
font-size: 17px;
line-height: 1.2;
color: #1b3a42;
font-weight: 600;
}

.aboutus .personcard .personrole {
font-size: 14px;
line-height: 1.6;
color: #438A9D;
}

.aboutus .personcard .persondesc {
font-size: 14px;
line-height: 1.6;
color: #2c5560;
margin: 0;
text-indent: 0;
padding-left: 0;
}

.aboutus .steplist {
display: flex;
flex-direction: column;
gap: 0;
padding: 0;
margin: 0;
list-style: none;
counter-reset: steps;
}

.aboutus .steplist li {
counter-increment: steps;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 8px 0;
position: relative;
}

.aboutus .steplist li::before {
content: counter(steps);
font-size: 14px;
line-height: 1.2;
color: #fff;
background: #438A9D;
border-radius: 22px;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-weight: 600;
}

.aboutus .steplist li::after {
content: "";
position: absolute;
left: 12px;
top: 32px;
bottom: -8px;
width: 1px;
background: #A0CAC1;
}

.aboutus .steplist li:last-child::after {
display: none;
}

.aboutus .steplist li span {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
}

.aboutus .ratingstrip {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
padding: 16px 24px;
background: #E2F2F0;
border-radius: 10px;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
}

.aboutus .ratingval {
font-size: 55px;
line-height: 1.2;
color: #438A9D;
font-weight: 700;
}

.aboutus .ratingmeta {
display: flex;
flex-direction: column;
gap: 4px;
}

.aboutus .ratingmeta .ratinglabel {
font-size: 17px;
line-height: 1.2;
color: #1b3a42;
font-weight: 600;
}

.aboutus .ratingmeta .ratingcount {
font-size: 14px;
line-height: 1.6;
color: #438A9D;
}

.aboutus .ctabtn {
display: inline-block;
font-size: 17px;
line-height: 1.2;
color: #438A9D;
border: 2px solid #438A9D;
border-radius: 10px;
padding: 16px 24px;
text-decoration: none;
background: transparent;
position: relative;
overflow: hidden;
transition: color 0.15s cubic-bezier(0.4, 0, 1, 1);
align-self: flex-start;
}

.aboutus .ctabtn::before {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 0;
background: #438A9D;
transition: height 0.16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0;
}

.aboutus .ctabtn:hover::before {
height: 100%;
}

.aboutus .ctabtn:hover {
color: #fff;
}

.aboutus .ctabtn span {
position: relative;
z-index: 1;
}

.aboutus .ctabtn:focus {
outline: 2px solid #1b3a42;
outline-offset: 2px;
}

@media (max-width: 1024px) {
.aboutus .titletextblock h1 {
font-size: 55px;
}

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

.aboutus .storycol:nth-child(2) {
border-right: none;
}

.aboutus .storycol:nth-child(3) {
border-top: 1px solid #E2F2F0;
grid-column: 1/-1;
}

.aboutus .teamframe {
flex-direction: column;
}

.aboutus .teamimages {
flex-direction: row;
}
}

@media (max-width: 768px) {
.aboutus .titlebg {
padding: 24px 16px 48px;
}

.aboutus .titlerow {
flex-direction: column;
gap: 24px;
}

.aboutus .filmimage {
width: 100%;
height: 220px;
}

.aboutus .titletextblock h1 {
font-size: 29px;
}

.aboutus .titledesc {
font-size: 17px;
}

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

.aboutus .storycol {
border-right: none;
border-bottom: 1px solid #E2F2F0;
}

.aboutus .storycol:nth-child(3) {
border-top: none;
grid-column: auto;
}

.aboutus .comparebg {
padding: 24px 16px;
}

.aboutus .teamframe {
padding: 24px 16px;
}

.aboutus .teamimages {
flex-direction: column;
}

.aboutus .imagegrid {
width: 100%;
}

.aboutus .teamtext h2 {
font-size: 29px;
}

.aboutus .ratingstrip {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 375px) {
.aboutus .titletextblock h1 {
font-size: 22px;
}

.aboutus .ratingval {
font-size: 29px;
}
}

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

.learningprogram .programtitle {
background: #1a2e35;
padding: 80px 48px 48px;
display: grid;
grid-template-columns: 30% 70%;
gap: 48px;
align-items: end;
position: relative;
}

.learningprogram .programtitle::before {
background: #438A9D;
border-radius: 38px;
content: "";
height: 180px;
left: 16px;
opacity: 0.08;
position: absolute;
top: 24px;
width: 180px;
}

.learningprogram .programtitle::after {
background: #A0CAC1;
border-radius: 22px;
content: "";
height: 80px;
left: 48px;
opacity: 0.06;
position: absolute;
top: 40px;
width: 80px;
}

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

.learningprogram .titlebadge {
background: #438A9D;
border-radius: 1px;
color: #E2F2F0;
display: inline-block;
font-size: 14px;
line-height: 1.6;
padding: 4px 16px;
}

.learningprogram .titlelabel {
color: #A0CAC1;
font-size: 17px;
line-height: 1.6;
}

.learningprogram .titleaccent {
background: #438A9D;
height: 2px;
width: 48px;
}

.learningprogram .titleright {
display: flex;
flex-direction: column;
gap: 24px;
}

.learningprogram .titlemain {
color: #E2F2F0;
font-size: 70px;
line-height: 1.2;
}

.learningprogram .titlesub {
color: #A0CAC1;
font-size: 29px;
line-height: 1.2;
}

.learningprogram .titledesc {
color: #c8dfe0;
font-size: 17px;
line-height: 1.6;
max-width: 640px;
}

.learningprogram .titlestats {
display: flex;
flex-direction: row;
gap: 48px;
margin-top: 8px;
}

.learningprogram .statitem {
display: flex;
flex-direction: column;
gap: 4px;
}

.learningprogram .statnum {
color: #E2F2F0;
font-size: 29px;
line-height: 1.2;
}

.learningprogram .statlabel {
color: #A0CAC1;
font-size: 14px;
line-height: 1.6;
}

.learningprogram .svgdivider {
display: block;
line-height: 0;
overflow: hidden;
width: 100%;
}

.learningprogram .svgdivider svg {
display: block;
width: 100%;
}

.learningprogram .programstructure {
background: #ffffff;
padding: 48px;
}

.learningprogram .structuregrid {
display: grid;
grid-template-columns: 70% 30%;
gap: 48px;
align-items: start;
}

.learningprogram .modulelist {
display: flex;
flex-direction: column;
gap: 4px;
}

.learningprogram .sectionheading {
background: #E2F2F0;
display: inline-block;
font-size: 22px;
line-height: 1.6;
margin-bottom: 24px;
padding: 4px 16px;
}

.learningprogram .headingline {
background: #438A9D;
height: 2px;
margin-bottom: 24px;
width: 48px;
}

.learningprogram .moduleitem {
border: 2px solid #E2F2F0;
border-radius: 10px;
display: grid;
grid-template-columns: 48px 1fr auto;
gap: 16px;
align-items: center;
padding: 16px;
transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.learningprogram .moduleitem:hover {
border-color: #438A9D;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
}

.learningprogram .modulenumber {
background: #E2F2F0;
border-radius: 10px;
color: #438A9D;
font-size: 17px;
font-weight: 700;
height: 48px;
line-height: 48px;
text-align: center;
transition: background 0.14s cubic-bezier(0.4, 0, 1, 1);
width: 48px;
}

.learningprogram .moduleitem:hover .modulenumber {
background: #438A9D;
color: #ffffff;
}

.learningprogram .moduletext {
display: flex;
flex-direction: column;
gap: 4px;
}

.learningprogram .moduletitle {
color: #1a2e35;
font-size: 17px;
line-height: 1.6;
}

.learningprogram .moduledesc {
color: #3d5a62;
font-size: 14px;
line-height: 1.6;
}

.learningprogram .moduleduration {
color: #438A9D;
font-size: 14px;
line-height: 1.6;
white-space: nowrap;
}

.learningprogram .structureside {
display: flex;
flex-direction: column;
gap: 24px;
}

.learningprogram .infocard {
background: #E2F2F0;
border-radius: 10px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
}

.learningprogram .infocardtitle {
color: #1a2e35;
font-size: 17px;
line-height: 1.6;
}

.learningprogram .infocardline {
background: #438A9D;
height: 2px;
width: 32px;
}

.learningprogram .infocardtext {
color: #2d4a52;
font-size: 14px;
line-height: 1.6;
}

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

.learningprogram .formatlist li {
color: #2d4a52;
counter-increment: fmtctr;
font-size: 14px;
line-height: 1.6;
padding-left: 24px;
position: relative;
}

.learningprogram .formatlist li::before {
background: #438A9D;
border-radius: 1px;
content: "";
height: 2px;
left: 0;
position: absolute;
top: 11px;
width: 16px;
}

.learningprogram .svgdivider2 {
display: block;
line-height: 0;
overflow: hidden;
width: 100%;
}

.learningprogram .svgdivider2 svg {
display: block;
width: 100%;
}

.learningprogram .programteam {
background: #f4fafa;
padding: 48px;
}

.learningprogram .teamgrid {
display: grid;
grid-template-columns: 30% 70%;
gap: 48px;
align-items: start;
}

.learningprogram .teamleft {
display: flex;
flex-direction: column;
gap: 16px;
}

.learningprogram .teamlefttext {
color: #2d4a52;
font-size: 17px;
line-height: 1.6;
}

.learningprogram .contentimage {
border-radius: 10px;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
display: block;
height: 220px;
object-fit: cover;
object-position: center;
width: 100%;
}

.learningprogram .teamright {
display: flex;
flex-direction: column;
gap: 24px;
}

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

.learningprogram .portraitcard {
background: #ffffff;
border-radius: 10px;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
display: flex;
flex-direction: column;
gap: 8px;
overflow: hidden;
padding-bottom: 16px;
transition: box-shadow 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.learningprogram .portraitcard:hover {
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
}

.learningprogram .portraitimg {
aspect-ratio: 4/5;
border-radius: 10px 10px 0 0;
display: block;
height: auto;
object-fit: cover;
object-position: center;
width: 100%;
}

.learningprogram .portraitname {
color: #1a2e35;
font-size: 14px;
line-height: 1.6;
padding: 0 16px;
text-align: center;
}

.learningprogram .portraitrole {
color: #438A9D;
font-size: 14px;
line-height: 1.6;
padding: 0 16px;
text-align: center;
}

.learningprogram .teamdesc {
color: #2d4a52;
font-size: 17px;
line-height: 1.6;
}

.learningprogram .programbutton {
background: transparent;
border: 2px solid #438A9D;
border-radius: 22px;
color: #438A9D;
cursor: pointer;
display: inline-block;
font-size: 17px;
line-height: 1.6;
overflow: hidden;
padding: 16px 48px;
position: relative;
text-decoration: none;
transition: color 0.13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0;
}

.learningprogram .programbutton::before {
background: #438A9D;
bottom: -100%;
content: "";
height: 100%;
left: 0;
position: absolute;
transition: bottom 0.15s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
z-index: -1;
}

.learningprogram .programbutton:hover {
color: #ffffff;
}

.learningprogram .programbutton:hover::before {
bottom: 0;
}

.learningprogram .programbutton:focus {
outline: 2px solid #438A9D;
outline-offset: 4px;
}

@keyframes bgpulse {

0%,
100% {
opacity: 1;
}

50% {
opacity: 0.85;
}
}

.learningprogram .programtitle {
animation: bgpulse 6s ease-in-out infinite;
}

@media (max-width: 1024px) {
.learningprogram .programtitle {
grid-template-columns: 1fr;
padding: 48px 24px 24px;
}

.learningprogram .titlemain {
font-size: 55px;
}

.learningprogram .structuregrid {
grid-template-columns: 1fr;
}

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

.learningprogram .portraitrow {
grid-template-columns: repeat(2, 1fr);
}

.learningprogram .programstructure {
padding: 48px 24px;
}

.learningprogram .programteam {
padding: 48px 24px;
}
}

@media (max-width: 768px) {
.learningprogram .titlemain {
font-size: 29px;
}

.learningprogram .titlesub {
font-size: 22px;
}

.learningprogram .titlestats {
flex-direction: column;
gap: 16px;
}

.learningprogram .moduleitem {
grid-template-columns: 40px 1fr;
}

.learningprogram .moduleduration {
display: none;
}

.learningprogram .portraitrow {
grid-template-columns: repeat(2, 1fr);
}

.learningprogram .programtitle {
padding: 24px 16px;
}

.learningprogram .programstructure {
padding: 24px 16px;
}

.learningprogram .programteam {
padding: 24px 16px;
}
}

@media (max-width: 375px) {
.learningprogram .titlemain {
font-size: 22px;
}

.learningprogram .portraitrow {
grid-template-columns: 1fr 1fr;
}
}

.contactus {
max-width: 1500px;
margin: 0 auto;
overflow: hidden;
}

.contactus .pagetop {
display: grid;
grid-template-columns: 320px 1fr;
gap: 0;
min-height: 480px;
position: relative;
background: linear-gradient(ellipse 80% 60% at 20% 50%, #E2F2F0 0%, #ffffff 70%);
}

.contactus .imagecol {
position: relative;
overflow: hidden;
}

.contactus .imagecol img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(0.6);
transition: filter 0.14s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .imagecol img:hover {
filter: saturate(1);
}

.contactus .imagecol::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to bottom, transparent, rgba(67, 138, 157, 0.18));
pointer-events: none;
}

.contactus .imagedots {
position: absolute;
top: 24px;
right: -8px;
display: flex;
flex-direction: column;
gap: 8px;
z-index: 2;
pointer-events: none;
}

.contactus .imagedots span {
width: 6px;
height: 6px;
border-radius: 38px;
background: #438A9D;
opacity: 0.35;
display: block;
}

.contactus .imagedots span:nth-child(2) {
opacity: 0.22;
margin-left: 4px;
}

.contactus .imagedots span:nth-child(3) {
opacity: 0.14;
margin-left: 8px;
}

.contactus .textzone {
padding: 48px 48px 48px 48px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
}

.contactus .textzone::before {
content: "";
position: absolute;
top: 48px;
left: 0;
width: 3px;
height: 80px;
background: linear-gradient(to bottom, #438A9D, #A0CAC1);
border-radius: 1px;
}

.contactus .labelstrip {
display: inline-flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}

.contactus .labeldot {
width: 8px;
height: 8px;
border-radius: 38px;
background: #438A9D;
display: inline-block;
}

.contactus .labeltext {
font-size: 14px;
color: #438A9D;
line-height: 1.2;
text-transform: uppercase;
letter-spacing: 0.08em;
}

.contactus .pagetitle {
font-size: 55px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
}

.contactus .pagetitle em {
font-style: normal;
display: inline-block;
background: #E2F2F0;
padding: 0 8px;
border-radius: 1px;
}

.contactus .pagedesc {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
max-width: 560px;
margin: 0;
}

.contactus .arrowguide {
position: absolute;
bottom: 48px;
right: 48px;
width: 32px;
height: 32px;
opacity: 0.25;
pointer-events: none;
}

.contactus .arrowguide svg {
width: 32px;
height: 32px;
}

.contactus .divider {
height: 2px;
background: linear-gradient(to right, transparent, #A0CAC1, transparent);
margin: 0;
}

.contactus .formarea {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
background: #ffffff;
}

.contactus .contactdetails {
background: linear-gradient(ellipse 70% 80% at 15% 40%, #E2F2F0 0%, #ffffff 100%);
padding: 48px;
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
}

.contactus .contactdetails::after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 1px;
background: linear-gradient(to bottom, transparent, #A0CAC1 40%, #A0CAC1 60%, transparent);
}

.contactus .detailshead {
font-size: 29px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
display: inline-block;
background: #E2F2F0;
padding: 4px 8px;
border-radius: 1px;
}

.contactus .detailstext {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
margin: 0;
padding-left: 16px;
}

.contactus .contactrow {
display: flex;
flex-direction: column;
gap: 16px;
}

.contactus .contactitem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 10px;
border: 2px solid #E2F2F0;
box-shadow: 0 3px 4px 0 rgba(67, 138, 157, 0.06);
transition: box-shadow 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .contactitem:hover {
border-color: #A0CAC1;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
}

.contactus .contacticon {
width: 36px;
height: 36px;
border-radius: 10px;
background: #E2F2F0;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.contactus .contacticon svg {
width: 18px;
height: 18px;
stroke: #438A9D;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.contactus .contactlabel {
font-size: 14px;
color: #438A9D;
line-height: 1.2;
display: block;
margin-bottom: 4px;
}

.contactus .contactvalue {
font-size: 17px;
color: #1b3a42;
line-height: 1.6;
display: block;
text-decoration: none;
transition: color 0.11s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .contactvalue:hover {
color: #438A9D;
transform: rotate(-1.5deg);
display: inline-block;
}

.contactus .comparisonblock {
margin-top: 8px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 8px;
}

.contactus .compareoption {
border-radius: 10px;
border: 2px solid #E2F2F0;
padding: 16px 8px;
text-align: center;
display: flex;
flex-direction: column;
gap: 8px;
transition: border-color 0.13s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.16s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .compareoption.recommended {
border-color: #438A9D;
background: #E2F2F0;
box-shadow: 0 5px 20px 0 rgba(67, 138, 157, 0.10);
position: relative;
}

.contactus .compareoption.recommended::before {
content: "";
position: absolute;
top: -2px;
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 3px;
background: #438A9D;
border-radius: 1px;
}

.contactus .comparetag {
font-size: 14px;
color: #438A9D;
line-height: 1.2;
font-weight: 600;
}

.contactus .comparelabel {
font-size: 14px;
color: #2c5560;
line-height: 1.6;
}

.contactus .comparebadge {
font-size: 14px;
color: #ffffff;
background: #438A9D;
border-radius: 22px;
padding: 4px 8px;
display: inline-block;
line-height: 1.2;
}

.contactus .formside {
padding: 48px;
display: flex;
flex-direction: column;
gap: 24px;
background: #ffffff;
}

.contactus .formhead {
font-size: 29px;
line-height: 1.2;
color: #1b3a42;
margin: 0;
display: inline-block;
background: #E2F2F0;
padding: 4px 8px;
border-radius: 1px;
}

.contactus .formdesc {
font-size: 17px;
line-height: 1.6;
color: #2c5560;
margin: 0;
padding-left: 16px;
}

.contactus .contactform {
display: flex;
flex-direction: column;
gap: 16px;
}

.contactus .fieldrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

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

.contactus .fieldlabel {
font-size: 14px;
color: #2c5560;
line-height: 1.2;
}

.contactus .fieldinput {
border: 2px solid #E2F2F0;
border-radius: 10px;
padding: 16px;
font-size: 17px;
color: #1b3a42;
background: #ffffff;
outline: none;
box-shadow: inset 0 2px 4px 0 rgba(67, 138, 157, 0.06);
transition: border-color 0.12s cubic-bezier(0.4, 0, 1, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
box-sizing: border-box;
}

.contactus .fieldinput::placeholder {
color: #A0CAC1;
transition: opacity 0.18s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .fieldinput:focus::placeholder {
opacity: 0;
}

.contactus .fieldinput:focus {
border-color: #438A9D;
box-shadow: inset 0 2px 4px 0 rgba(67, 138, 157, 0.10), 0 3px 4px 0 rgba(67, 138, 157, 0.06);
}

.contactus .radiogroup {
display: flex;
flex-direction: column;
gap: 8px;
}

.contactus .radiolabel {
font-size: 14px;
color: #2c5560;
line-height: 1.2;
margin-bottom: 4px;
display: block;
}

.contactus .radiooptions {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap;
}

.contactus .radioitem {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 16px;
border: 2px solid #E2F2F0;
border-radius: 22px;
cursor: pointer;
transition: border-color 0.11s cubic-bezier(0.4, 0, 1, 1), background 0.13s cubic-bezier(0.4, 0, 1, 1);
position: relative;
}

.contactus .radioitem:hover {
border-color: #A0CAC1;
background: #E2F2F0;
}

.contactus .radioitem input[type="radio"] {
accent-color: #438A9D;
width: 16px;
height: 16px;
cursor: pointer;
}

.contactus .radioitem span {
font-size: 14px;
color: #2c5560;
line-height: 1.2;
}

.contactus .privacyrow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
padding: 16px;
background: #E2F2F0;
border-radius: 10px;
}

.contactus .privacyrow input[type="checkbox"] {
accent-color: #438A9D;
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer;
box-shadow: inset 0 1px 3px 0 rgba(67, 138, 157, 0.08);
}

.contactus .privacytext {
font-size: 14px;
color: #2c5560;
line-height: 1.6;
}

.contactus .privacytext a {
color: #438A9D;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.11s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .privacytext a:hover {
color: #1b3a42;
}

.contactus .submitbtn {
position: relative;
overflow: hidden;
border: 3px solid #438A9D;
border-radius: 10px;
background: transparent;
color: #438A9D;
font-size: 17px;
line-height: 1.2;
padding: 16px 48px;
cursor: pointer;
align-self: flex-start;
transition: color 0.13s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
}

.contactus .submitbtn::before {
content: "";
position: absolute;
left: 0;
bottom: -100%;
width: 100%;
height: 100%;
background: #438A9D;
border-radius: 8px;
transition: bottom 0.16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0;
}

.contactus .submitbtn:hover::before {
bottom: 0;
}

.contactus .submitbtn:hover {
color: #ffffff;
}

.contactus .submitbtntext {
position: relative;
z-index: 1;
}

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

@keyframes colappear {
from {
opacity: 0;
transform: translateY(16px);
}

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

.contactus .pagetop .imagecol {
animation: colappear 0.14s cubic-bezier(0.4, 0, 1, 1) both;
}

.contactus .pagetop .textzone {
animation: colappear 0.17s cubic-bezier(0.4, 0, 1, 1) 0.07s both;
}

.contactus .formarea .contactdetails {
animation: colappear 0.16s cubic-bezier(0.4, 0, 1, 1) 0.12s both;
}

.contactus .formarea .formside {
animation: colappear 0.18s cubic-bezier(0.4, 0, 1, 1) 0.18s both;
}

@media (max-width: 1024px) {
.contactus .pagetop {
grid-template-columns: 240px 1fr;
}

.contactus .pagetitle {
font-size: 29px;
}

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

.contactus .contactdetails::after {
display: none;
}

.contactus .contactdetails {
border-bottom: 1px solid #E2F2F0;
}
}

@media (max-width: 768px) {
.contactus .pagetop {
grid-template-columns: 1fr;
}

.contactus .imagecol {
height: 220px;
}

.contactus .textzone {
padding: 24px;
}

.contactus .pagetitle {
font-size: 22px;
}

.contactus .textzone::before {
display: none;
}

.contactus .formside {
padding: 24px;
}

.contactus .contactdetails {
padding: 24px;
}

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

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

.contactus .arrowguide {
display: none;
}
}

@media (max-width: 375px) {
.contactus .radiooptions {
flex-direction: column;
}

.contactus .submitbtn {
width: 100%;
}
}

.successPage {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 48px 24px;
background: linear-gradient(ellipse 80% 60% at 20% 40%, rgba(67, 138, 157, 0.08) 0%, #ffffff 70%);
}

.successPage .successCard {
background: #ffffff;
border: 2px solid #438A9D;
border-radius: 22px;
box-shadow: 0 9px 36px 0 rgba(67, 138, 157, 0.13);
max-width: 560px;
padding: 48px;
text-align: center;
width: 100%;
}

.successPage .successIcon {
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 24px;
width: 64px;
height: 64px;
}

.successPage .successIcon svg {
display: block;
width: 64px;
height: 64px;
}

.successPage .successHeading {
color: #438A9D;
font-size: 29px;
line-height: 1.2;
margin: 0 0 16px;
}

.successPage .successText {
color: #2a4a52;
font-size: 17px;
line-height: 1.6;
margin: 0 0 8px;
}

.successPage .successNote {
color: #438A9D;
font-size: 14px;
line-height: 1.6;
margin: 0 0 48px;
}

.successPage .successDivider {
background: #E2F2F0;
border: none;
height: 1px;
margin: 0 0 48px;
width: 100%;
}

.successPage .successReturn {
background: #ffffff;
border: 2px solid #438A9D;
border-radius: 10px;
color: #438A9D;
cursor: pointer;
display: inline-block;
font-size: 17px;
line-height: 1.2;
overflow: hidden;
padding: 16px 48px;
position: relative;
text-decoration: none;
transition: color 0.12s cubic-bezier(0.4, 0, 1, 1), border-color 0.15s cubic-bezier(0.4, 0, 1, 1);
vertical-align: middle;
z-index: 0;
}

.successPage .successReturn::before {
background: #438A9D;
bottom: 100%;
content: "";
height: 100%;
left: 0;
position: absolute;
transition: bottom 0.18s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
z-index: -1;
}

.successPage .successReturn:hover {
color: #ffffff;
}

.successPage .successReturn:hover::before {
bottom: 0;
}

.successPage .successReturn:focus {
outline: 2px solid #438A9D;
outline-offset: 4px;
}

.successPage .successContact {
color: #2a4a52;
font-size: 14px;
line-height: 1.6;
margin: 24px 0 0;
}

.successPage .successContact a {
color: #438A9D;
text-decoration: underline;
transition: transform 0.12s cubic-bezier(0.4, 0, 1, 1);
display: inline-block;
}

.successPage .successContact a:hover {
transform: rotate(-2deg);
}

@media (max-width: 768px) {
.successPage .successCard {
padding: 24px 16px;
}

.successPage .successHeading {
font-size: 22px;
}

.successPage .successReturn {
padding: 16px 24px;
font-size: 14px;
}
}