:root {
--ivo-navy: #0B1F3A;
--ivo-navy-2: #142A4A;
--ivo-navy-3: #1F3760;
--ivo-blue: #1B3D8B;
--ivo-blue-soft: #E6EDF8;
--ivo-gold: #C8932B;
--ivo-gold-soft: #F5E8C7;
--ivo-sunset: #B33B1E;
--ivo-accent: #C8932B;
--ivo-cream: #F4EDE0;
--ivo-cream-2: #FAF6EE;
--ivo-grey-50: #F8FAFC;
--ivo-grey-100: #F1F5F9;
--ivo-grey-200: #E2E8F0;
--ivo-grey-400: #94A3B8;
--ivo-grey-600: #475569;
--ivo-grey-700: #334155;
--ivo-grey-900: #0F172A;
--ivo-shadow-sm: 0 1px 2px rgba(11, 31, 58, .06);
--ivo-shadow: 0 4px 16px -2px rgba(11, 31, 58, .10), 0 2px 4px -1px rgba(11, 31, 58, .05);
--ivo-shadow-lg: 0 24px 48px -12px rgba(11, 31, 58, .22), 0 8px 16px -8px rgba(11, 31, 58, .10);
--ivo-radius: 14px;
--ivo-radius-sm: 10px;
--ivo-radius-lg: 22px;
--ivo-transition: cubic-bezier(.4, 0, .2, 1);
--container-pad: clamp(16px, 4vw, 32px);
--font-serif: 'Fraunces', Georgia, serif;
}
* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html {
scroll-behavior: smooth;
scroll-padding-top: 90px;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
color: var(--ivo-grey-900);
background: #fff;
line-height: 1.6;
font-size: 16px;
overflow-x: hidden;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4 {
font-family: 'Space Grotesk', 'Inter', sans-serif;
font-weight: 700;
letter-spacing: -.02em;
color: var(--ivo-navy);
line-height: 1.15;
}
h1,
.h1 {
font-size: clamp(2.25rem, 5.5vw, 4.25rem);
}
h2,
.h2 {
font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}
h3 {
font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
h4 {
font-size: 1.2rem;
}
p {
color: var(--ivo-grey-700);
}
a {
color: var(--ivo-blue);
text-decoration: none;
transition: color .2s var(--ivo-transition);
}
a:hover {
color: var(--ivo-navy);
}
.container-xl {
padding-left: var(--container-pad);
padding-right: var(--container-pad);
max-width: 1280px;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
text-transform: uppercase;
font-size: .78rem;
font-weight: 700;
letter-spacing: .14em;
color: var(--ivo-blue);
margin-bottom: 14px;
}
.eyebrow::before {
content: "";
width: 18px;
height: 2px;
background: currentColor;
display: inline-block;
}
.section {
padding: clamp(56px, 9vw, 110px) 0;
}
.section-tight {
padding: clamp(40px, 6vw, 72px) 0;
}
.bg-cream {
background: var(--ivo-cream);
}
.bg-grey {
background: var(--ivo-grey-50);
}
.bg-navy {
background: var(--ivo-navy);
color: #fff;
}
.bg-navy h1,
.bg-navy h2,
.bg-navy h3,
.bg-navy h4 {
color: #fff;
}
.bg-navy p {
color: rgba(255, 255, 255, .78);
}
.btn {
font-weight: 600;
font-size: .95rem;
border-radius: 999px;
padding: .85rem 1.6rem;
transition: all .25s var(--ivo-transition);
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
border: 1.5px solid transparent;
white-space: nowrap;
}
.btn-lg {
padding: 1rem 1.9rem;
font-size: 1rem;
}
.btn-primary,
.btn-primary:focus {
background: var(--ivo-blue);
border-color: var(--ivo-blue);
color: #fff;
box-shadow: 0 8px 24px -8px rgba(27, 61, 139, .55);
}
.btn-primary:hover {
background: #152F6B;
border-color: #152F6B;
color: #fff;
transform: translateY(-2px);
box-shadow: 0 14px 32px -10px rgba(27, 61, 139, .65);
}
.btn-dark,
.btn-dark:focus {
background: var(--ivo-navy);
border-color: var(--ivo-navy);
color: #fff;
}
.btn-dark:hover {
background: #061528;
border-color: #061528;
color: #fff;
transform: translateY(-2px);
}
.btn-outline-light {
background: transparent;
border-color: rgba(255, 255, 255, .35);
color: #fff;
}
.btn-outline-light:hover {
background: rgba(255, 255, 255, .12);
border-color: #fff;
color: #fff;
transform: translateY(-2px);
}
.btn-outline-dark {
background: transparent;
border-color: var(--ivo-grey-200);
color: var(--ivo-navy);
}
.btn-outline-dark:hover {
background: var(--ivo-navy);
border-color: var(--ivo-navy);
color: #fff;
transform: translateY(-2px);
}
.btn-ghost {
background: transparent;
color: var(--ivo-navy);
padding-left: 0;
padding-right: 0;
border: none;
}
.btn-ghost:hover {
color: var(--ivo-blue);
}
.topbar {
background: var(--ivo-navy);
color: rgba(255, 255, 255, .82);
font-size: .82rem;
padding: 9px 0;
border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.topbar .container-xl {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
}
.topbar .info-list {
display: flex;
gap: 22px;
flex-wrap: wrap;
}
.topbar .info-list span {
display: inline-flex;
align-items: center;
gap: 7px;
}
.topbar .info-list i {
color: var(--ivo-blue);
}
.topbar a {
color: rgba(255, 255, 255, .92);
font-weight: 500;
}
.topbar a:hover {
color: #fff;
}
.topbar .social {
display: inline-flex;
gap: 14px;
}
@media (max-width: 768px) {
.topbar {
font-size: .76rem;
}
.topbar .info-list {
gap: 14px;
}
.topbar .social {
display: none;
}
}
.navbar {
background: rgba(255, 255, 255, .92);
backdrop-filter: saturate(180%) blur(14px);
-webkit-backdrop-filter: saturate(180%) blur(14px);
box-shadow: 0 1px 0 var(--ivo-grey-200);
padding: 0;
transition: box-shadow .25s var(--ivo-transition), background .25s var(--ivo-transition);
}
.navbar.scrolled {
box-shadow: 0 8px 24px -10px rgba(15, 23, 42, .12);
}
.navbar .container-xl {
padding-top: 14px;
padding-bottom: 14px;
display: flex;
align-items: center;
justify-content: space-between;
}
.navbar-brand {
font-family: 'Space Grotesk', sans-serif;
font-weight: 700;
font-size: 1.05rem;
color: var(--ivo-navy);
display: flex;
align-items: center;
gap: 12px;
margin: 0;
padding: 0;
letter-spacing: -.01em;
}
.navbar-brand .logo-wrapper {
display: inline-flex;
align-items: center;
height: 56px;
line-height: 1;
}
.navbar-brand .logo-wrapper img {
height: 100%;
width: auto;
object-fit: contain;
display: block;
}
.navbar-brand .brand-text {
display: flex;
flex-direction: column;
line-height: 1.1;
}
.navbar-brand .brand-text .brand-name {
font-size: 1rem;
color: var(--ivo-navy);
font-weight: 700;
}
.navbar-brand .brand-text .brand-tag {
font-size: .68rem;
color: var(--ivo-grey-600);
letter-spacing: .12em;
text-transform: uppercase;
font-weight: 600;
margin-top: 2px;
}
@media (max-width: 480px) {
.navbar-brand .brand-text .brand-tag { display: none; }
.navbar-brand .brand-text .brand-name { font-size: .92rem; }
.navbar-brand .logo-wrapper { height: 46px; }
}
.nav-link {
color: var(--ivo-grey-700);
font-weight: 600;
font-size: .95rem;
padding: .55rem .95rem !important;
border-radius: 8px;
transition: all .2s var(--ivo-transition);
}
.nav-link:hover,
.nav-link.active {
color: var(--ivo-navy);
background: var(--ivo-grey-100);
}
.navbar-nav .btn {
margin-left: 8px;
}
.navbar-toggler {
border: 1.5px solid var(--ivo-grey-200);
border-radius: 10px;
padding: 6px 10px;
}
.navbar-toggler:focus {
box-shadow: 0 0 0 3px rgba(27, 61, 139, .2);
}
.navbar-toggler-icon {
width: 22px;
height: 22px;
}
@media (max-width: 991.98px) {
.navbar-collapse {
background: #fff;
border-radius: var(--ivo-radius);
box-shadow: var(--ivo-shadow-lg);
padding: 18px;
margin-top: 12px;
border: 1px solid var(--ivo-grey-200);
}
.navbar-nav {
gap: 4px;
}
.nav-link {
padding: .8rem 1rem !important;
}
.navbar-nav .btn {
margin-left: 0;
margin-top: 8px;
width: 100%;
}
}
.hero {
position: relative;
overflow: hidden;
background: var(--ivo-navy);
color: #fff;
padding: clamp(70px, 10vw, 130px) 0 clamp(70px, 10vw, 130px);
}
.hero::before {
content: "";
position: absolute;
inset: 0;
background-image:
radial-gradient(900px 480px at 90% 18%, rgba(200, 147, 43, .22), transparent 60%),
radial-gradient(700px 420px at 5% 100%, rgba(179, 59, 30, .18), transparent 60%);
pointer-events: none;
}
.hero::after {
content: "";
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(255, 255, 255, .04) 1px, transparent 1px),
linear-gradient(to bottom, rgba(255, 255, 255, .04) 1px, transparent 1px);
background-size: 60px 60px;
mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
-webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
pointer-events: none;
opacity: .6;
}
.hero .container-xl {
position: relative;
z-index: 2;
}
.hero h1 {
color: #fff;
font-weight: 700;
}
.hero h1 .accent {
background: linear-gradient(120deg, #E0B956 0%, #C8932B 60%, #B33B1E 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
font-family: var(--font-serif);
font-style: italic;
font-weight: 500;
}
.hero .lead {
color: rgba(255, 255, 255, .82);
font-size: clamp(1.05rem, 1.6vw, 1.2rem);
line-height: 1.65;
max-width: 620px;
margin-top: 1.25rem;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(255, 255, 255, .08);
border: 1px solid rgba(255, 255, 255, .15);
backdrop-filter: blur(8px);
padding: 8px 16px;
border-radius: 999px;
font-size: .82rem;
font-weight: 600;
color: #fff;
margin-bottom: 24px;
}
.hero-badge .dot {
width: 8px;
height: 8px;
background: #4ADE80;
border-radius: 50%;
box-shadow: 0 0 0 4px rgba(74, 222, 128, .25);
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% {
box-shadow: 0 0 0 4px rgba(74, 222, 128, .25);
}
50% {
box-shadow: 0 0 0 8px rgba(74, 222, 128, 0);
}
}
.hero-cta {
display: flex;
gap: 14px;
flex-wrap: wrap;
margin-top: 2rem;
}
.hero-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-top: 3rem;
padding-top: 2.5rem;
border-top: 1px solid rgba(255, 255, 255, .1);
}
.hero-stats .stat {
display: flex;
flex-direction: column;
gap: 4px;
}
.hero-stats .stat .n {
font-family: 'Space Grotesk', sans-serif;
font-size: clamp(1.5rem, 3vw, 2.25rem);
font-weight: 700;
color: #fff;
line-height: 1;
}
.hero-stats .stat .l {
font-size: .82rem;
color: rgba(255, 255, 255, .65);
text-transform: uppercase;
letter-spacing: .08em;
font-weight: 600;
}
.hero-visual {
position: relative;
}
.hero-visual .visual-card {
position: relative;
border-radius: var(--ivo-radius-lg);
overflow: hidden;
box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .06);
aspect-ratio: 5 / 6;
background: linear-gradient(135deg, var(--ivo-navy-2), var(--ivo-navy));
}
.hero-visual .visual-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.hero-visual::before {
content: "";
position: absolute;
top: -20px;
right: -20px;
width: 60%;
height: 60%;
background: linear-gradient(135deg, rgba(27, 61, 139, .3), transparent);
border-radius: var(--ivo-radius-lg);
z-index: -1;
filter: blur(40px);
}
.hero-visual .floating-card {
position: absolute;
background: rgba(255, 255, 255, .98);
color: var(--ivo-navy);
padding: 14px 18px;
border-radius: 14px;
display: flex;
align-items: center;
gap: 12px;
box-shadow: 0 20px 40px -10px rgba(0, 0, 0, .35);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, .4);
}
.hero-visual .floating-card .ic {
width: 38px;
height: 38px;
background: var(--ivo-blue-soft);
color: var(--ivo-blue);
border-radius: 10px;
display: grid;
place-items: center;
font-size: 1.2rem;
flex-shrink: 0;
}
.hero-visual .floating-card .lbl {
font-size: .7rem;
text-transform: uppercase;
color: var(--ivo-grey-600);
letter-spacing: .08em;
font-weight: 600;
}
.hero-visual .floating-card .v {
font-weight: 700;
font-size: .98rem;
line-height: 1.2;
}
.hero-visual .fc-1 {
top: 8%;
left: -22px;
animation: floatY 6s ease-in-out infinite;
}
.hero-visual .fc-2 {
bottom: 18%;
right: -28px;
animation: floatY 7s ease-in-out infinite reverse;
}
@keyframes floatY {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-12px);
}
}
@media (max-width: 991.98px) {
.hero-visual {
margin-top: 60px;
max-width: 480px;
}
.hero-stats {
gap: 12px;
}
}
.trust-bar {
background: #fff;
padding: 28px 0;
border-bottom: 1px solid var(--ivo-grey-200);
}
.trust-bar .item {
display: flex;
align-items: center;
gap: 10px;
font-size: .9rem;
font-weight: 600;
color: var(--ivo-grey-700);
}
.trust-bar .item i {
color: var(--ivo-blue);
font-size: 1.35rem;
}
@media (max-width: 768px) {
.trust-bar .item {
font-size: .82rem;
justify-content: center;
}
}
.card-feature {
background: #fff;
padding: 2rem;
border-radius: var(--ivo-radius);
border: 1px solid var(--ivo-grey-200);
box-shadow: var(--ivo-shadow-sm);
height: 100%;
transition: all .3s var(--ivo-transition);
position: relative;
overflow: hidden;
}
.card-feature:hover {
transform: translateY(-6px);
box-shadow: var(--ivo-shadow-lg);
border-color: transparent;
}
.card-feature .icon-box {
width: 54px;
height: 54px;
background: var(--ivo-blue-soft);
color: var(--ivo-blue);
border-radius: 14px;
display: grid;
place-items: center;
font-size: 1.55rem;
margin-bottom: 18px;
transition: all .3s var(--ivo-transition);
}
.card-feature:hover .icon-box {
background: var(--ivo-blue);
color: #fff;
transform: scale(1.05);
}
.card-feature h4 {
font-size: 1.15rem;
margin-bottom: 10px;
color: var(--ivo-navy);
}
.card-feature p {
margin: 0;
color: var(--ivo-grey-600);
font-size: .94rem;
line-height: 1.6;
}
.card-industry {
background: #fff;
padding: 1.75rem;
border-radius: var(--ivo-radius);
border: 1px solid var(--ivo-grey-200);
transition: all .3s var(--ivo-transition);
height: 100%;
display: flex;
gap: 16px;
align-items: flex-start;
}
.card-industry:hover {
transform: translateY(-4px);
box-shadow: var(--ivo-shadow);
border-color: var(--ivo-blue-soft);
}
.card-industry .ic {
width: 48px;
height: 48px;
background: linear-gradient(135deg, var(--ivo-navy), var(--ivo-navy-3));
color: #fff;
border-radius: 12px;
display: grid;
place-items: center;
font-size: 1.35rem;
flex-shrink: 0;
}
.card-industry h4 {
font-size: 1.05rem;
margin: 0 0 6px;
}
.card-industry p {
font-size: .88rem;
margin: 0;
color: var(--ivo-grey-600);
}
.card-dark {
background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .015));
border: 1px solid rgba(255, 255, 255, .08);
border-radius: var(--ivo-radius);
padding: 2rem;
color: #fff;
transition: all .3s var(--ivo-transition);
height: 100%;
}
.card-dark:hover {
border-color: rgba(27, 61, 139, .4);
transform: translateY(-4px);
background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
}
.card-dark .ic {
width: 52px;
height: 52px;
background: rgba(27, 61, 139, .15);
color: #E0B956;
border-radius: 12px;
display: grid;
place-items: center;
font-size: 1.5rem;
margin-bottom: 16px;
}
.card-dark h4 {
color: #fff;
font-size: 1.1rem;
}
.card-dark p {
color: rgba(255, 255, 255, .68);
font-size: .92rem;
}
.form-label {
color: var(--ivo-navy);
font-weight: 600;
font-size: .88rem;
margin-bottom: 6px;
}
.form-control,
.form-select {
border: 1.5px solid var(--ivo-grey-200);
border-radius: var(--ivo-radius-sm);
padding: .75rem 1rem;
font-size: .95rem;
background: #fff;
transition: all .2s var(--ivo-transition);
}
.form-control:focus,
.form-select:focus {
border-color: var(--ivo-blue);
box-shadow: 0 0 0 4px rgba(27, 61, 139, .14);
}
.form-control::placeholder {
color: var(--ivo-grey-400);
}
.alert {
border-radius: var(--ivo-radius-sm);
border: none;
font-size: .94rem;
padding: 14px 18px;
}
.alert-success {
background: #DCFCE7;
color: #065F46;
}
.alert-danger {
background: #FEE2E2;
color: #991B1B;
}
.hero-sub {
background: var(--ivo-navy);
color: #fff;
padding: clamp(70px, 12vw, 140px) 0 clamp(60px, 8vw, 100px);
position: relative;
overflow: hidden;
margin-bottom: 0;
}
.hero-sub::before {
content: "";
position: absolute;
inset: 0;
background-image:
radial-gradient(700px 360px at 80% 0%, rgba(27, 61, 139, .25), transparent 60%);
}
.hero-sub .container-xl {
position: relative;
z-index: 2;
}
.hero-sub h1 {
color: #fff;
}
.hero-sub .breadcrumb-light {
font-size: .9rem;
color: rgba(255, 255, 255, .65);
margin-bottom: 14px;
}
.hero-sub .breadcrumb-light a {
color: rgba(255, 255, 255, .85);
}
.hero-sub .breadcrumb-light a:hover {
color: #fff;
}
footer.site-footer {
background: var(--ivo-navy);
color: rgba(255, 255, 255, .72);
padding: clamp(56px, 8vw, 84px) 0 0;
position: relative;
}
footer.site-footer .footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1.2fr;
gap: 48px;
padding-bottom: 56px;
}
@media (max-width: 991.98px) {
footer.site-footer .footer-grid {
grid-template-columns: 1fr 1fr;
gap: 36px;
}
}
@media (max-width: 575.98px) {
footer.site-footer .footer-grid {
grid-template-columns: 1fr;
gap: 32px;
}
}
footer.site-footer h6 {
color: #fff;
font-family: 'Space Grotesk', sans-serif;
font-size: .98rem;
margin-bottom: 18px;
letter-spacing: .01em;
}
footer.site-footer .brand {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 18px;
}
footer.site-footer .brand img {
height: 64px;
width: auto;
object-fit: contain;
display: block;
}
footer.site-footer .brand-wordmark {
display: flex;
flex-direction: column;
line-height: 1.15;
}
footer.site-footer .brand-wordmark .wm-name {
font-family: 'Space Grotesk', sans-serif;
font-weight: 700;
font-size: 1.05rem;
color: #fff;
}
footer.site-footer .brand-wordmark .wm-tag {
font-size: .72rem;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--ivo-gold);
font-weight: 600;
margin-top: 4px;
}
footer.site-footer p {
color: rgba(255, 255, 255, .65);
font-size: .92rem;
}
footer.site-footer ul {
list-style: none;
padding: 0;
margin: 0;
}
footer.site-footer ul li {
margin-bottom: 10px;
}
footer.site-footer ul li a {
color: rgba(255, 255, 255, .68);
font-size: .92rem;
transition: color .2s var(--ivo-transition);
}
footer.site-footer ul li a:hover {
color: #fff;
}
footer.site-footer .contact-list li {
display: flex;
align-items: flex-start;
gap: 10px;
}
footer.site-footer .contact-list i {
color: var(--ivo-blue);
font-size: 1.1rem;
margin-top: 2px;
flex-shrink: 0;
}
footer.site-footer .footer-bottom {
border-top: 1px solid rgba(255, 255, 255, .08);
padding: 24px 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 14px;
font-size: .85rem;
color: rgba(255, 255, 255, .55);
}
footer.site-footer .footer-bottom a {
color: rgba(255, 255, 255, .72);
}
footer.site-footer .footer-bottom a:hover {
color: #fff;
}
footer.site-footer .social-icons {
display: inline-flex;
gap: 10px;
margin-top: 6px;
}
footer.site-footer .social-icons a {
width: 36px;
height: 36px;
border-radius: 10px;
background: rgba(255, 255, 255, .06);
color: rgba(255, 255, 255, .85);
display: grid;
place-items: center;
transition: all .25s var(--ivo-transition);
font-size: 1rem;
}
footer.site-footer .social-icons a:hover {
background: var(--ivo-blue);
color: #fff;
transform: translateY(-2px);
}
.wa-fab {
position: fixed;
bottom: 22px;
right: 22px;
width: 56px;
height: 56px;
border-radius: 50%;
background: #25D366;
color: #fff;
display: grid;
place-items: center;
font-size: 1.5rem;
box-shadow: 0 12px 28px -8px rgba(37, 211, 102, .55);
z-index: 9000;
transition: transform .2s var(--ivo-transition);
}
.wa-fab:hover {
transform: scale(1.08);
color: #fff;
}
.process-step {
position: relative;
padding: 1.75rem;
background: #fff;
border-radius: var(--ivo-radius);
border: 1px solid var(--ivo-grey-200);
height: 100%;
}
.process-step .n {
font-family: 'Space Grotesk', sans-serif;
font-size: 2.5rem;
font-weight: 700;
color: var(--ivo-blue-soft);
line-height: 1;
margin-bottom: 12px;
}
.process-step h4 {
font-size: 1.1rem;
margin-bottom: 8px;
}
.process-step p {
font-size: .92rem;
margin: 0;
color: var(--ivo-grey-600);
}
.accordion-item {
border: 1px solid var(--ivo-grey-200);
border-radius: var(--ivo-radius-sm) !important;
margin-bottom: 12px;
overflow: hidden;
background: #fff;
}
.accordion-button {
font-weight: 600;
color: var(--ivo-navy);
font-size: 1.02rem;
padding: 1.1rem 1.3rem;
background: #fff;
}
.accordion-button:not(.collapsed) {
background: var(--ivo-blue-soft);
color: var(--ivo-navy);
box-shadow: none;
}
.accordion-button:focus {
box-shadow: 0 0 0 3px rgba(27, 61, 139, .14);
}
.accordion-body {
padding: 0 1.3rem 1.2rem;
color: var(--ivo-grey-700);
font-size: .95rem;
line-height: 1.65;
}
.quote-card {
background: #fff;
border-radius: var(--ivo-radius);
padding: 2rem;
border: 1px solid var(--ivo-grey-200);
height: 100%;
position: relative;
}
.quote-card::before {
content: "\201C";
position: absolute;
top: -8px;
left: 18px;
font-size: 5rem;
color: var(--ivo-blue-soft);
font-family: serif;
line-height: 1;
}
.quote-card .body {
color: var(--ivo-grey-700);
font-size: 1rem;
line-height: 1.65;
margin-bottom: 18px;
position: relative;
z-index: 1;
}
.quote-card .who {
display: flex;
align-items: center;
gap: 12px;
padding-top: 14px;
border-top: 1px solid var(--ivo-grey-200);
}
.quote-card .who .av {
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--ivo-navy);
color: #fff;
display: grid;
place-items: center;
font-weight: 700;
font-size: .92rem;
font-family: 'Space Grotesk', sans-serif;
flex-shrink: 0;
}
.quote-card .who .nm {
font-weight: 700;
color: var(--ivo-navy);
font-size: .94rem;
line-height: 1.2;
}
.quote-card .who .co {
font-size: .8rem;
color: var(--ivo-grey-600);
}
.contact-card {
background: #fff;
border-radius: var(--ivo-radius-lg);
overflow: hidden;
box-shadow: var(--ivo-shadow-lg);
}
.contact-card .left {
background: var(--ivo-navy);
color: #fff;
padding: 2.5rem;
position: relative;
overflow: hidden;
}
.contact-card .left::before {
content: "";
position: absolute;
inset: 0;
background-image: radial-gradient(400px 300px at 0% 100%, rgba(27, 61, 139, .25), transparent 60%);
}
.contact-card .left > * {
position: relative;
z-index: 1;
}
.contact-card .left h3 {
color: #fff;
}
.contact-card .left p {
color: rgba(255, 255, 255, .78);
}
.contact-card .left .info-row {
display: flex;
gap: 12px;
margin-top: 22px;
align-items: flex-start;
}
.contact-card .left .info-row i {
width: 36px;
height: 36px;
background: rgba(255, 255, 255, .1);
border-radius: 10px;
display: grid;
place-items: center;
color: #E0B956;
flex-shrink: 0;
}
.contact-card .left .info-row .lbl {
font-size: .75rem;
text-transform: uppercase;
color: rgba(255, 255, 255, .55);
letter-spacing: .08em;
margin-bottom: 2px;
}
.contact-card .left .info-row a,
.contact-card .left .info-row span {
color: #fff;
font-weight: 600;
font-size: .98rem;
}
.contact-card .right {
padding: 2.5rem;
}
@media (max-width: 768px) {
.contact-card .left,
.contact-card .right {
padding: 1.75rem;
}
}
.section-head {
max-width: 720px;
margin-bottom: 56px;
}
.section-head.center {
margin-left: auto;
margin-right: auto;
text-align: center;
}
.section-head p {
font-size: 1.05rem;
color: var(--ivo-grey-600);
margin: 14px 0 0;
}
elevenlabs-convai::part(powered-by) {
display: none;
}
@media (prefers-reduced-motion: no-preference) {
.reveal {
opacity: 1;
transform: none;
transition: opacity .8s var(--ivo-transition), transform .8s var(--ivo-transition);
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 575.98px) {
.section {
padding: 56px 0;
}
.btn-lg {
padding: .85rem 1.4rem;
font-size: .95rem;
}
.hero-stats {
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.hero-stats .stat:last-child {
grid-column: span 2;
}
}
