/*
Theme Name: BuhCompass
Author: Ivan
Version: 1.4.0
*/

/* General */
*{
box-sizing:border-box;
}

/* Accounting outsourcing service page */
.accounting-outsourcing-page{
background:#ffffff;
color:#0b1420;
}

.accounting-outsourcing-hero{
display:grid;
grid-template-columns:minmax(0,1fr);
gap:48px;
min-height:610px;
padding:70px 60px 54px;
background:
linear-gradient(90deg,rgba(247,249,252,0.98) 0%,rgba(247,249,252,0.91) 100%),
url("images/hero-background.webp") center / cover no-repeat;
}

.accounting-outsourcing-hero__content{
max-width:920px;
}

.accounting-outsourcing-hero h1{
max-width:820px;
margin:0;
font-family:"Cinzel",serif;
font-size:50px;
font-weight:600;
line-height:1.12;
letter-spacing:0;
color:#0b1420;
overflow-wrap:break-word;
}

.accounting-outsourcing-hero__headline{
max-width:820px;
margin:0;
font-family:"Cinzel",serif;
font-size:32px;
font-weight:600;
line-height:1.25;
color:#061d35;
overflow-wrap:break-word;
}

.accounting-outsourcing-hero__description{
max-width:820px;
margin:24px 0 0;
font-family:"Montserrat",sans-serif;
font-size:18px;
line-height:1.65;
color:#243044;
}

.accounting-outsourcing-hero__note{
margin:18px 0 0;
font-family:"Montserrat",sans-serif;
font-size:16px;
font-weight:600;
line-height:1.55;
color:#5d6b7f;
}

.accounting-outsourcing-hero .btn{
margin-top:28px;
}

.accounting-outsourcing-hero__benefits{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
align-self:end;
overflow:hidden;
border:1px solid rgba(226,232,240,0.82);
border-radius:18px;
background:rgba(255,255,255,0.94);
box-shadow:0 16px 34px rgba(11,20,32,0.075),0 28px 64px rgba(11,20,32,0.055);
}

.accounting-outsourcing-hero__benefits p{
display:flex;
align-items:center;
gap:12px;
min-width:0;
min-height:80px;
margin:0;
padding:18px 22px;
font-family:"Montserrat",sans-serif;
font-size:15px;
font-weight:700;
line-height:1.35;
color:#0b1420;
}

.accounting-outsourcing-hero__benefits p + p{
border-left:1px solid rgba(236,175,22,0.28);
}

.accounting-outsourcing-hero__benefits .gold-star{
flex:0 0 18px;
width:18px;
height:18px;
}

.accounting-outsourcing-hero__benefits .gold-star::before{
width:17px;
height:19px;
}

.accounting-outsourcing-hero__benefits .gold-star::after{
width:9px;
height:10px;
}

.accounting-outsourcing-section{
padding:72px 60px;
}

.accounting-outsourcing-heading{
max-width:820px;
margin:0 0 38px;
}

.accounting-outsourcing-heading h2,
.accounting-outsourcing-feature h2{
margin:0;
font-family:"Cinzel",serif;
font-size:40px;
font-weight:600;
line-height:1.18;
letter-spacing:0;
color:#0b1420;
overflow-wrap:break-word;
}

.accounting-outsourcing-heading h2::after,
.accounting-outsourcing-feature h2::after{
content:"";
display:block;
width:118px;
height:4px;
margin:20px 0 0;
border-radius:999px;
background:linear-gradient(90deg,#ecaf16 0%,rgba(236,175,22,0.72) 70%,rgba(236,175,22,0) 100%);
box-shadow:0 0 14px rgba(236,175,22,0.28);
}

.accounting-outsourcing-heading > p{
max-width:640px;
margin:18px 0 0;
font-family:"Montserrat",sans-serif;
font-size:18px;
line-height:1.6;
color:#243044;
}

.accounting-outsourcing-grid{
display:grid;
gap:24px;
align-items:stretch;
}

.accounting-outsourcing-grid--four{
grid-template-columns:repeat(4,minmax(0,1fr));
}

.accounting-outsourcing-grid--three{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.accounting-outsourcing-grid--two{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.accounting-outsourcing-card,
.accounting-outsourcing-list-card,
.accounting-outsourcing-trust-card{
position:relative;
min-width:0;
overflow:hidden;
padding:30px 28px;
border:1px solid rgba(226,232,240,0.78);
border-radius:18px;
background:rgba(255,255,255,0.94);
box-shadow:0 16px 34px rgba(11,20,32,0.07),0 28px 64px rgba(11,20,32,0.05);
}

.accounting-outsourcing-card::before,
.accounting-outsourcing-list-card::before{
content:"";
position:absolute;
top:0;
right:0;
left:0;
height:4px;
background:linear-gradient(90deg,#ecaf16 0%,rgba(236,175,22,0.72) 62%,rgba(236,175,22,0) 100%);
}

.accounting-outsourcing-card h3,
.accounting-outsourcing-list-card h3,
.accounting-outsourcing-trust-card h3{
position:relative;
margin:0;
font-family:"Montserrat",sans-serif;
font-size:20px;
font-weight:700;
line-height:1.3;
color:#0b1420;
overflow-wrap:break-word;
}

.accounting-outsourcing-card p,
.accounting-outsourcing-trust-card p{
margin:14px 0 0;
font-family:"Montserrat",sans-serif;
font-size:15px;
line-height:1.6;
color:#344155;
}

.accounting-outsourcing-formats .card-star{
position:absolute;
top:22px;
right:24px;
margin:0;
z-index:2;
pointer-events:none;
}

.accounting-outsourcing-formats .accounting-outsourcing-card h3{
padding-right:44px;
}

.accounting-outsourcing-audience,
.accounting-outsourcing-formats,
.accounting-outsourcing-trust,
.accounting-outsourcing-faq{
background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
}

.accounting-outsourcing-includes{
background:#f7f9fc;
}

.accounting-outsourcing-list-card ul,
.accounting-outsourcing-cost ul{
display:grid;
gap:11px;
margin:22px 0 0;
padding:0;
list-style:none;
font-family:"Montserrat",sans-serif;
font-size:15px;
line-height:1.5;
color:#344155;
}

.accounting-outsourcing-list-card li,
.accounting-outsourcing-cost li{
position:relative;
padding-left:20px;
}

.accounting-outsourcing-list-card li::before,
.accounting-outsourcing-cost li::before{
content:"";
position:absolute;
left:0;
top:.66em;
width:5px;
height:5px;
border-radius:50%;
background:#ecaf16;
box-shadow:0 0 8px rgba(236,175,22,0.34);
}

.accounting-outsourcing-process{
background:#ffffff;
}

.accounting-outsourcing-process__steps{
display:grid;
grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
align-items:center;
gap:14px;
}

.accounting-outsourcing-process .process-step{
height:100%;
min-height:260px;
padding:24px 16px;
}

.accounting-outsourcing-process .process-step h3{
font-size:16px;
}

.accounting-outsourcing-process .process-step p{
font-size:13px;
}

.accounting-outsourcing-trust-card{
padding-left:32px;
}

.accounting-outsourcing-trust-card::before{
content:"";
position:absolute;
top:32px;
left:0;
width:4px;
height:44px;
border-radius:0 4px 4px 0;
background:#ecaf16;
box-shadow:0 0 12px rgba(236,175,22,0.24);
}

.accounting-outsourcing-feature{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
align-items:center;
gap:48px;
margin:72px 60px 0;
padding:40px 42px;
border:1px solid rgba(236,175,22,0.2);
border-radius:18px;
background:linear-gradient(90deg,rgba(255,255,255,0.96) 0%,rgba(255,248,235,0.94) 100%);
box-shadow:0 18px 38px rgba(11,20,32,0.07),0 28px 70px rgba(236,175,22,0.08);
}

.accounting-outsourcing-feature__content{
max-width:820px;
}

.accounting-outsourcing-feature p{
margin:22px 0 0;
font-family:"Montserrat",sans-serif;
font-size:17px;
line-height:1.65;
color:#243044;
}

.accounting-outsourcing-feature .btn{
margin:0;
white-space:normal;
text-align:center;
}

.accounting-outsourcing-cost{
background:#ffffff;
}

.accounting-outsourcing-cost__content{
max-width:1040px;
margin:0 auto;
}

.accounting-outsourcing-cost ul{
grid-template-columns:repeat(3,minmax(0,1fr));
gap:14px 28px;
margin-top:30px;
}

.accounting-outsourcing-cost__note{
max-width:760px;
margin:28px 0 0;
font-family:"Montserrat",sans-serif;
font-size:16px;
font-weight:600;
line-height:1.6;
color:#243044;
}

.accounting-outsourcing-cost .btn{
margin-top:26px;
}

.accounting-outsourcing-faq__list{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px 24px;
width:100%;
align-items:start;
}

.accounting-outsourcing-faq details:last-child{
grid-column:1 / -1;
}

.accounting-outsourcing-faq details{
overflow:hidden;
border:1px solid rgba(226,232,240,0.86);
border-radius:14px;
background:#ffffff;
box-shadow:0 10px 24px rgba(11,20,32,0.055);
}

.accounting-outsourcing-faq summary{
position:relative;
display:block;
padding:22px 64px 22px 24px;
font-family:"Montserrat",sans-serif;
font-size:17px;
font-weight:700;
line-height:1.4;
color:#0b1420;
cursor:pointer;
list-style:none;
}

.accounting-outsourcing-faq summary::-webkit-details-marker{
display:none;
}

.accounting-outsourcing-faq summary::after{
content:"+";
position:absolute;
top:50%;
right:24px;
width:28px;
height:28px;
transform:translateY(-50%);
font-family:"Montserrat",sans-serif;
font-size:24px;
font-weight:500;
line-height:27px;
color:#ecaf16;
text-align:center;
}

.accounting-outsourcing-faq details[open] summary::after{
content:"−";
}

.accounting-outsourcing-faq summary:focus-visible{
outline:3px solid rgba(236,175,22,0.62);
outline-offset:-3px;
}

.accounting-outsourcing-faq details > div{
padding:0 64px 22px 24px;
}

.accounting-outsourcing-faq details p{
margin:0;
font-family:"Montserrat",sans-serif;
font-size:16px;
line-height:1.65;
color:#344155;
}

.accounting-outsourcing-cta{
margin-top:24px;
}

@media(max-width:1100px){
.accounting-outsourcing-grid--four{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.accounting-outsourcing-process__steps{
grid-template-columns:1fr;
gap:14px;
}

.accounting-outsourcing-process .process-step{
min-height:auto;
}

.accounting-outsourcing-process .process-arrow::before{
content:"↓";
}
}

@media(max-width:1024px){
.accounting-outsourcing-hero,
.accounting-outsourcing-section{
padding-left:40px;
padding-right:40px;
}

.accounting-outsourcing-hero__benefits{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.accounting-outsourcing-hero__benefits p:nth-child(3){
border-left:0;
border-top:1px solid rgba(236,175,22,0.28);
}

.accounting-outsourcing-hero__benefits p:nth-child(4){
border-top:1px solid rgba(236,175,22,0.28);
}

.accounting-outsourcing-grid--three{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.accounting-outsourcing-feature{
grid-template-columns:1fr;
gap:28px;
margin-right:40px;
margin-left:40px;
}

.accounting-outsourcing-feature .btn{
justify-self:start;
}

.accounting-outsourcing-faq__list{
grid-template-columns:1fr;
}

.accounting-outsourcing-faq details:last-child{
grid-column:auto;
}
}

@media(max-width:767px){
.accounting-outsourcing-hero{
gap:34px;
min-height:auto;
padding:52px 24px 48px;
background:
linear-gradient(180deg,rgba(247,249,252,0.98) 0%,rgba(247,249,252,0.94) 100%)
#f7f9fc;
}

.accounting-outsourcing-hero h1{
font-size:38px;
}

.accounting-outsourcing-hero__headline{
font-size:26px;
}

.accounting-outsourcing-hero__description{
font-size:17px;
}

.accounting-outsourcing-hero__benefits{
grid-template-columns:1fr;
}

.accounting-outsourcing-hero__benefits p{
min-height:64px;
padding:14px 18px;
}

.accounting-outsourcing-hero__benefits p + p,
.accounting-outsourcing-hero__benefits p:nth-child(3){
border-left:0;
border-top:1px solid rgba(236,175,22,0.28);
}

.accounting-outsourcing-section{
padding:54px 24px;
}

.accounting-outsourcing-heading{
margin-bottom:30px;
}

.accounting-outsourcing-heading h2,
.accounting-outsourcing-feature h2{
font-size:32px;
}

.accounting-outsourcing-grid--four,
.accounting-outsourcing-grid--three,
.accounting-outsourcing-grid--two,
.accounting-outsourcing-cost ul{
grid-template-columns:1fr;
}

.accounting-outsourcing-card,
.accounting-outsourcing-list-card,
.accounting-outsourcing-trust-card{
padding:26px 22px;
}

.accounting-outsourcing-feature{
margin:54px 24px 0;
padding:30px 24px;
}

.accounting-outsourcing-feature .btn{
width:100%;
}

.accounting-outsourcing-faq summary{
padding:20px 54px 20px 20px;
font-size:16px;
}

.accounting-outsourcing-faq summary::after{
right:16px;
}

.accounting-outsourcing-faq details > div{
padding:0 20px 20px;
}
}

@media(max-width:374px){
.accounting-outsourcing-hero,
.accounting-outsourcing-section{
padding-right:12px;
padding-left:12px;
}

.accounting-outsourcing-hero h1{
font-size:32px;
}

.accounting-outsourcing-hero__headline{
font-size:23px;
}

.accounting-outsourcing-hero .btn{
width:100%;
}

.accounting-outsourcing-feature{
margin-right:8px;
margin-left:8px;
padding-right:16px;
padding-left:16px;
}

.accounting-outsourcing-card,
.accounting-outsourcing-list-card,
.accounting-outsourcing-trust-card{
padding-right:18px;
padding-left:18px;
}
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:Arial,sans-serif;
background:#f5f7fa;
color:#222;
}

button{
background:#ecaf16;
color:white;
padding:15px 30px;
border:0;
border-radius:8px;
}

@font-face{
font-family:'Sunset Serial';
src:url('fonts/SunsetSerialBold.ttf') format('truetype');
font-style:normal;
font-weight:700;
font-display:swap;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:400;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-cyrillic-ext.woff2') format('woff2');
unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:400;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-cyrillic.woff2') format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:400;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-latin.woff2') format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:600;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-cyrillic-ext.woff2') format('woff2');
unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:600;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-cyrillic.woff2') format('woff2');
unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face{
font-family:'Montserrat';
font-style:normal;
font-weight:600;
font-display:swap;
src:url('fonts/montserrat/montserrat-v31-latin.woff2') format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
font-family:'Cinzel';
font-style:normal;
font-weight:600;
font-display:swap;
src:url('fonts/cinzel/cinzel-v26-latin.woff2') format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
font-family:'Cinzel';
font-style:normal;
font-weight:700;
font-display:swap;
src:url('fonts/cinzel/cinzel-v26-latin.woff2') format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Header */
.header{
position:relative;
min-height:256px;
padding:10px 30px 8px 30px;
background-color:#061d35;
background-image:
url("images/header-bg.webp");
background-repeat:no-repeat;
background-position:right center;
background-size:auto 100%;
color:#ecaf16;
overflow:hidden;
isolation:isolate;
}

.header::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(
90deg,
rgba(6,29,53,0.96) 0%,
rgba(6,29,53,0.96) 30%,
rgba(6,29,53,0.52) 62%,
rgba(6,29,53,0) 100%
);
pointer-events:none;
z-index:0;
}

.header::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:80px;
background:
/* тонкая золотая линия */
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(236,175,16,.25) 8%,
            rgba(236,175,16,.95) 50%,
            rgba(236,175,16,.25) 92%,
            transparent 100%
        ) left bottom / 100% 2px no-repeat,
url("images/header-waves.svg") left bottom / min(100%, 1440px) auto no-repeat;
pointer-events:none;
z-index:0;
opacity: 0.8;
}

.header-content{
display:flex;
justify-content:space-between;
align-items:center;
}

.header-right{
display:block;
}

.custom-logo{
width:132px;
height:auto;
display:block;
}

.logo{
display:block;
align-items:flex-start;
font-size:28px;
font-weight:bold;
width:180px;
height:auto;
}

.slogan{
color:#ecaf16;
font-family:'Montserrat',sans-serif;
font-style:italic;
position:absolute;
top:32px;
left:360px;
right:360px;
display:flex;
align-items:center;
justify-content:center;
gap:0;
font-size:26px;
text-align:center;
font-weight:600;
letter-spacing:0.4px;
margin-bottom:4px;
opacity:1;
text-shadow:
0 0 8px rgba(236,175,16,0.5),
0 2px 8px rgba(0,0,0,0.75);
white-space:nowrap;
z-index:1;
padding:8px 0;
overflow:visible;
}

.slogan-line{
display:block;
width:150px;
height:2px;
flex:0 0 150px;
}

.slogan-line-left{
margin-right:-10px;
background:
linear-gradient(90deg, transparent 0%, rgba(236,175,16,0.78) 96%, rgba(236,175,16,0.18) 100%) center / 100% 2px no-repeat;
filter:drop-shadow(0 0 5px rgba(236,175,16,0.7));
}

.slogan-line-right{
margin-left:-10px;
background:
linear-gradient(90deg, rgba(236,175,16,0.18) 0%, rgba(236,175,16,0.78) 4%, transparent 100%) center / 100% 2px no-repeat;
filter:drop-shadow(0 0 5px rgba(236,175,16,0.7));
}

.slogan-star{
flex:0 0 28px;
}

.slogan-text{
display:block;
margin-right:15px;
margin-left:15px;
}

.brand{
position:absolute;
left:30px;
top:58px;
display:flex;
align-items:center;
gap:15px;
text-decoration:none;
text-shadow:0 0 5px rgba(11, 20, 32, 1);
transition:
filter .3s ease,
text-shadow .3s ease,
transform .3s ease;
z-index:1;
}

.brand img{
width:144px;
height:auto;
filter:drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.65));
}

.brand:hover{
filter:drop-shadow(0 0 5px rgba(236, 175, 22, 0.45));
text-shadow:
0 0 8px rgba(236, 175, 22, 0.62),
0 0 18px rgba(236, 175, 22, 0.34);
transform:translateY(-1px);
}

.brand-text{
display:flex;
flex-direction:column;
}

.brand-title{
font-family:"Sunset Serial", sans-serif;
font-weight:700;
font-size:38px;
color:#ecaf16;
letter-spacing:0.5px;
}

.brand-line{
width:100%;
height:2px;
margin:8px 0 10px;
background:
linear-gradient(
90deg,
transparent 0%,
#ecaf16 25%,
#ecaf16 75%,
transparent 100%
);
}

.brand-subtitle{
font-family:"Montserrat", sans-serif;
font-weight:500;
font-size:17px;
color:white;
letter-spacing:0.3px;
}

.menu{
display:flex;
gap:42px;
list-style:none;
margin:0;
padding:0;
}

.main-nav{
position:absolute;
left:520px;
right:360px;
top:142px;
z-index:1;
}

.menu a{
color:white;
text-decoration:none;
font-size:19px;
font-family:"Montserrat", sans-serif;
font-weight:500;
letter-spacing:0.5px;
padding:8px 5px;
position:relative;
white-space:nowrap;
transition:
color .2s ease,
text-shadow .2s ease;
}

.menu a:hover{
color:#ecaf16;
text-shadow:
0 0 8px rgba(236,175,16,0.8),
0 0 18px rgba(236,175,16,0.5);
}

.menu a::before{
content:"";
position:absolute;
bottom:-1px;
left:50%;
width:60%;
height:4px;
background:#ecaf16;
filter:blur(6px);
opacity:0;
transform:
translateX(-50%);
transition:
opacity .3s ease;
}

.menu a::after{
content:"";
position:absolute;
bottom:0;
left:50%;
width:100%;
height:2px;
background:
linear-gradient(
90deg,
transparent,
#ecaf16 35%,
#ecaf16 65%,
transparent
);
transform:
translateX(-50%)
scaleX(0);
transform-origin:center;
transition:
transform .3s ease;
}

.menu a:hover::after{
transform:
translateX(-50%)
scaleX(1);
}

.menu a:hover::before{
opacity:.7;
}

.menu-toggle{
display:none;
background:none;
border:0;
color:white;
font-size:32px;
cursor:pointer;
}

.header-actions{
display:flex;
align-items:center;
gap:15px;
position:absolute;
right:130px;
top:190px;
z-index:1;
}

.btn,
.header-btn{
display:inline-flex;
align-items:center;
justify-content:center;
background:#ecaf16;
color:#0b1420;
text-decoration:none;
border-radius:10px;
font-weight:700;
font-size:16px;
font-family:"Montserrat", sans-serif;
box-shadow:
0 0 0 1px rgba(255,255,255,0.62) inset,
0 0 14px rgba(236,175,16,0.72),
0 7px 18px rgba(0,0,0,0.26);
white-space:nowrap;
transition:
box-shadow .3s ease,
transform .3s ease,
background .3s ease;
}

.btn:hover,
.header-btn:hover{
background:#ecaf16;
box-shadow:
0 0 0 1px rgba(255,255,255,0.78) inset,
0 0 18px rgba(236,175,22,0.9),
0 0 30px rgba(236,175,22,0.5),
0 9px 22px rgba(0,0,0,0.32);
transform:translateY(-1px) scale(1.03);
}

.btn:active,
.header-btn:active{
transform:scale(0.98);
}

.btn:focus-visible,
.header-btn:focus-visible,
.menu a:focus-visible,
.footer-nav a:focus-visible,
.footer-contacts a:focus-visible,
.footer-address-link:focus-visible,
.brand:focus-visible,
.footer-brand-link:focus-visible,
.skip-link:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
box-shadow:
0 0 0 4px rgba(236,175,22,0.22),
0 0 16px rgba(236,175,22,0.34);
}

.skip-link{
position:fixed;
left:16px;
top:-80px;
z-index:1000;
padding:10px 14px;
background:#061d35;
color:white;
font-weight:600;
text-decoration:none;
border-radius:6px;
transition:top 0.2s ease;
}

.skip-link:focus,
.skip-link:focus-visible{
top:16px;
}

.header-btn{
padding:16px 22px;
}

/* Hero */
.hero{
position:relative;
min-height:686px;
display:block;
padding:86px 60px 142px;
background:
linear-gradient(
90deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.94) 42%,
rgba(247,249,252,0.56) 70%,
rgba(247,249,252,0.2) 100%
),
url("images/hero-background.webp") right center / auto 100% no-repeat,
#f7f9fc;
overflow:hidden;
}

.hero h1{
max-width:690px;
margin:0;
color:#0b1420;
font-family:"Cinzel", serif;
font-size:52px;
font-weight:600;
line-height:1.14;
letter-spacing:0;
}

.hero h1 span{
display:block;
color:#ecaf16;
}

.hero-line{
width:116px;
height:4px;
margin:22px 0 24px;
border-radius:999px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.75) 70%,
rgba(236,175,22,0) 100%
);
box-shadow:
0 0 14px rgba(236,175,22,0.35);
}

.hero-text{
max-width:510px;
color:#243044;
font-family:"Montserrat", sans-serif;
font-size:20px;
line-height:1.5;
}

.hero-text p{
margin:0;
}

.hero-content{
position:relative;
z-index:1;
max-width:720px;
}

.btn{
margin-top:28px;
padding:17px 36px;
}

.benefits-panel{
position:absolute;
left:60px;
right:60px;
bottom:12px;
z-index:1;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:0;
max-width:1120px;
padding:22px 28px;
border:1px solid rgba(255,255,255,0.72);
border-radius:18px;
background:rgba(255,255,255,0.72);
box-shadow:
0 18px 42px rgba(11,20,32,0.12);
backdrop-filter:blur(8px);
}

.benefit-item{
display:flex;
align-items:center;
justify-content:center;
gap:15px;
min-height:74px;
color:#0b1420;
font-family:"Montserrat", sans-serif;
font-size:18px;
font-weight:600;
}

.benefit-item + .benefit-item{
border-left:1px solid rgba(11,20,32,0.1);
}

.benefit-icon{
display:flex;
align-items:center;
justify-content:center;
width:54px;
height:54px;
border-radius:50%;
background:#061d35;
box-shadow:
0 8px 18px rgba(6,29,53,0.25),
0 0 0 1px rgba(236,175,22,0.25) inset;
}

.benefit-icon img{
display:block;
width:34px;
height:34px;
}

/* Services */
.services{
padding:44px 60px 96px;
background:
linear-gradient(
180deg,
#f7f9fc 0%,
#ffffff 100%
);
color:#0b1420;
}

.services-heading{
max-width:760px;
margin:0 0 38px;
}

.services h2{
margin:0;
font-family:"Cinzel", serif;
font-size:44px;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
}

.section-title{
margin:0;
font-family:"Cinzel", serif;
font-size:44px;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
}

.services h2::after{
content:"";
display:block;
width:118px;
height:4px;
margin:20px 0 0;
border-radius:999px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.72) 70%,
rgba(236,175,22,0) 100%
);
box-shadow:
0 0 14px rgba(236,175,22,0.28);
}

.services-heading p{
max-width:540px;
margin:18px 0 0;
font-family:"Montserrat", sans-serif;
font-size:20px;
line-height:1.55;
color:#243044;
}

.cards{
display:grid;
grid-template-columns:
repeat(3,1fr);
gap:30px;
align-items:stretch;
}

.card{
position:relative;
display:flex;
flex-direction:column;
min-height:100%;
overflow:hidden;
background:rgba(255,255,255,0.9);
padding:40px 36px 36px;
border:1px solid rgba(255,255,255,0.86);
border-radius:22px;
box-shadow:
0 16px 34px rgba(11,20,32,0.07),
0 30px 70px rgba(11,20,32,0.06);
transition:
box-shadow .3s ease,
transform .3s ease,
border-color .3s ease;
}

.card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.72) 62%,
rgba(236,175,22,0) 100%
);
box-shadow:
0 0 18px rgba(236,175,22,0.2);
}

.card::after{
position:absolute;
top:28px;
right:32px;
font-family:"Cinzel", serif;
font-size:24px;
font-weight:600;
line-height:1;
color:#ecaf16;
opacity:.28;
letter-spacing:0.04em;
pointer-events:none;
}

.card:nth-child(1)::after{
content:"01";
}

.card:nth-child(2)::after{
content:"02";
}

.card:nth-child(3)::after{
content:"03";
top:24px;
right:28px;
opacity:.22;
}

.services .service-card::after{
content:none;
display:none;
}

.services .service-card h3,
.services-page-card h3{
padding-right:34px;
}

.services .card-star,
.services-page-card .card-star{
position:absolute;
right:24px;
top:22px;
width:18px;
height:18px;
margin:0;
opacity:.72;
pointer-events:none;
filter:
drop-shadow(0 0 7px rgba(236,175,16,0.42))
drop-shadow(0 0 14px rgba(236,175,16,0.16));
transition:
opacity .25s ease,
filter .25s ease;
z-index:2;
}

.services .card-star::before,
.services-page-card .card-star::before{
width:17px;
height:19px;
background-size:
100% 100%,
1px 100%,
100% 1px,
8px 13px;
filter:
drop-shadow(0 0 5px rgba(236,175,16,0.6))
drop-shadow(0 0 10px rgba(236,175,16,0.2));
}

.services .card-star::after,
.services-page-card .card-star::after{
width:9px;
height:10px;
background-size:
1px 100%,
100% 1px;
filter:
drop-shadow(0 0 3px rgba(236,175,16,0.5));
}

.services .service-card:hover .card-star,
.services-page-card:hover .card-star{
opacity:1;
filter:
drop-shadow(0 0 9px rgba(236,175,16,0.58))
drop-shadow(0 0 18px rgba(236,175,16,0.22));
}

.card:hover{
border-color:rgba(236,175,22,0.3);
box-shadow:
0 20px 46px rgba(11,20,32,0.09),
0 38px 82px rgba(11,20,32,0.08),
0 0 28px rgba(236,175,22,0.13);
transform:translateY(-7px);
}

.card h3{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:25px;
font-weight:700;
line-height:1.2;
color:#0b1420;
letter-spacing:0.1px;
}

.card p{
margin:18px 0 0;
font-family:"Montserrat", sans-serif;
font-size:17px;
line-height:1.6;
color:#344155;
}

.card ul{
display:grid;
gap:14px;
max-width:94%;
margin:30px 0 0;
padding:0;
list-style:none;
font-family:"Montserrat", sans-serif;
font-size:16px;
line-height:1.45;
color:#1b2638;
}

.card li{
position:relative;
padding-left:20px;
}

.card li::before{
content:"";
position:absolute;
left:0;
top:0.68em;
width:5px;
height:5px;
border-radius:50%;
background:#ecaf16;
box-shadow:
0 0 8px rgba(236,175,22,0.34);
}

/* Brand Components */
.brand-name{
font-family:"Sunset Serial", sans-serif;
font-weight:700;
line-height:1;
color:#ecaf16;
letter-spacing:0.5px;
text-shadow:
0 0 8px rgba(236,175,16,0.12);
}

.section-title .brand-name{
font-size:.86em;
}

.gold-star{
position:relative;
display:block;
width:30px;
height:30px;
margin:0;
font-style:normal;
}

.gold-star::before,
.gold-star::after{
content:"";
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
transform-origin:center;
pointer-events:none;
}

.gold-star::before{
width:28px;
height:32px;
background:
radial-gradient(circle at center, #ffd86a 0 2px, rgba(236,175,16,0.62) 3px, transparent 7px),
linear-gradient(180deg, transparent 0%, #ffd86a 38%, #ecaf16 50%, #ffd86a 62%, transparent 100%),
linear-gradient(90deg, transparent 0%, #ffd86a 36%, #ecaf16 50%, #ffd86a 64%, transparent 100%),
radial-gradient(ellipse at center, rgba(236,175,16,0.22), transparent 62%);

background-size:
100% 100%,
2px 100%,
100% 2px,
12px 20px;

background-position:center;
background-repeat:no-repeat;

filter:
drop-shadow(0 0 6px rgba(236,175,16,0.72))
drop-shadow(0 0 14px rgba(236,175,16,0.24));

z-index:1;
}

.gold-star::after{
width:14px;
height:16px;
background:
linear-gradient(180deg, transparent 0%, #ffd86a 34%, #ecaf16 50%, #ffd86a 66%, transparent 100%),
linear-gradient(90deg, transparent 0%, #ffd86a 34%, #ecaf16 50%, #ffd86a 66%, transparent 100%);

background-size:
1px 100%,
100% 1px;

background-position:center;
background-repeat:no-repeat;

transform:translate(-50%,-50%) rotate(45deg);

filter:
drop-shadow(0 0 4px rgba(236,175,16,0.55));

z-index:2;
}

.gold-star:hover{
animation:goldPulse 2s infinite ease-in-out;
}

@keyframes goldPulse{
0%{
transform:scale(1);
filter:brightness(1);
}
50%{
transform:scale(1.12);
filter:brightness(1.3) drop-shadow(0 0 4px rgba(255,216,106,0.5));
}
100%{
transform:scale(1);
filter:brightness(1);
}
}

.section-divider{
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:1px;
width:100%;
margin:48px 0 30px;
}

.section-divider > span:not(.gold-star){
height:2px;
background:

linear-gradient(90deg, transparent 0%, rgba(236,175,16,0.78) 98%, transparent 100%) center / 100% 2px no-repeat;
box-shadow:
0 0 10px rgba(236,175,16,0.14);
}

.section-divider > span:not(.gold-star):last-child{
background:
linear-gradient(90deg, transparent 0%, rgba(236,175,16,0.78) 2%, transparent 100%) center / 100% 2px no-repeat;
}

.why-buhcompass{
padding:0 60px 78px;
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
color:#0b1420;
}

.why-heading{
max-width:760px;
margin:0 0 38px;
}

.why-heading h2{
max-width:100%;
}

.why-heading h2::after{
content:"";
display:block;
width:118px;
height:4px;
margin:20px 0 0;
border-radius:999px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.72) 70%,
rgba(236,175,22,0) 100%
);
box-shadow:
0 0 14px rgba(236,175,22,0.28);
}

.why-heading p{
max-width:560px;
margin:18px 0 0;
font-family:"Montserrat", sans-serif;
font-size:17px;
line-height:1.55;
color:#243044;
}

.why-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.why-card{
display:grid;
grid-template-columns:auto 1fr;
gap:20px;
align-items:flex-start;
min-height:124px;
padding:24px 26px;
background:rgba(255,255,255,0.94);
border:1px solid rgba(226,232,240,0.72);
border-radius:18px;
box-shadow:
0 16px 34px rgba(11,20,32,0.075),
0 28px 64px rgba(11,20,32,0.055);
transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease;
}

.why-card:hover{
border-color:rgba(236,175,22,0.32);
box-shadow:
0 20px 44px rgba(11,20,32,0.09),
0 36px 78px rgba(11,20,32,0.075),
0 0 28px rgba(236,175,22,0.12);
transform:translateY(-5px);
}

.why-icon{
display:grid;
place-items:center;
width:58px;
height:58px;
border-radius:50%;
background:
radial-gradient(circle at 35% 28%, rgba(22,76,117,0.95), #001f3f 68%);
box-shadow:
0 10px 20px rgba(0,31,63,0.24),
0 0 18px rgba(236,175,22,0.08),
inset 0 0 0 1px rgba(255,255,255,0.08);
}

.why-icon img{
display:block;
width:34px;
height:34px;
object-fit:contain;
}

.why-card h3{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:17px;
font-weight:700;
line-height:1.25;
color:#0b1420;
}

.why-card p{
margin:8px 0 0;
font-family:"Montserrat", sans-serif;
font-size:14px;
line-height:1.45;
color:#243044;
}

.homepage-cta{
position:relative;
display:grid;
grid-template-columns: 1fr auto 1fr;
align-items:center;
gap:34px;
overflow:visible;
margin:0 60px 18px;
padding:24px 28px;
min-height:150px;
border:1px solid rgba(236,175,22,0.16);
border-radius:18px;
background:
url("images/header-waves.svg") left bottom / min(100%, 1440px) auto no-repeat,
linear-gradient(
90deg,
rgba(255,255,255,0.94) 0%,
rgba(255,248,235,0.92) 50%,
rgba(255,238,198,0.78) 100%
)
;
box-shadow:
0 18px 38px rgba(11,20,32,0.07),
0 28px 70px rgba(236,175,22,0.08);
color:#0b1420;
}

.cta-content{
position:relative;
z-index:1;
}

.homepage-cta h2{
max-width:440px;
margin:0;
font-family:"Cinzel", serif;
font-size:31px;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
}

.homepage-cta p{
max-width:520px;
margin:14px 0 0;
font-family:"Montserrat", sans-serif;
font-size:15px;
line-height:1.5;
color:#243044;
}

.cta-btn{
position:relative;
z-index:1;
justify-self:center;
margin-top:0;
white-space:nowrap;
}

.cta-compass{
position:absolute;
z-index:0;
right:-34px;
top:50%;
width:270px;
height:auto;
transform:translateY(-50%);
filter:
drop-shadow(0 16px 22px rgba(11,20,32,0.12))
drop-shadow(0 0 18px rgba(236,175,22,0.16));
pointer-events:none;
}

.services-page{
background:#ffffff;
color:#0b1420;
}

.services-page-hero{
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr);
align-items:center;
min-height:430px;
padding:72px 60px 78px;
overflow:hidden;
background:
linear-gradient(
90deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.95) 100%
),
url("images/hero-background.webp") center / cover no-repeat;
}

.services-page-hero-content{
position:relative;
z-index:1;
max-width:650px;
}

.services-page-hero h1{
margin:0;
font-family:"Cinzel", serif;
font-size:50px;
font-weight:600;
line-height:1.12;
letter-spacing:0;
color:#0b1420;
}

.services-page-hero p{
max-width:560px;
margin:0;
font-family:"Montserrat", sans-serif;
font-size:20px;
line-height:1.55;
color:#243044;
}

.services-page-hero .services-page-hero-note{
max-width:420px;
margin:22px 0 0;
font-size:16px;
line-height:1.55;
color:#5d6b7f;
}

.services-page-intro{
max-width:820px;
margin:0 auto;
padding:18px 24px 70px;
text-align:center;
}

.services-page-intro p{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:19px;
line-height:1.7;
color:#243044;
}

.services-page-intro p + p{
margin-top:22px;
}

.services-page-catalog{
padding:0 60px 72px;
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
}

.services-page-cards{
grid-template-columns:repeat(3,1fr);
}

.services-page-card{
gap:0;
min-width:0;
}

.services-page .services-page-card::after{
content:none;
display:none;
}

.services-page-card .benefit-icon{
margin-bottom:24px;
}

.services-page-card h3,
.services-page-card p,
.services-page .services-heading p,
.services-page-intro p,
.services-page-hero p{
overflow-wrap:break-word;
}

.services-page-card p{
flex:1;
}

.service-more{
display:inline-flex;
align-items:center;
width:max-content;
max-width:100%;
margin-top:28px;
font-family:"Montserrat", sans-serif;
font-size:15px;
font-weight:700;
line-height:1;
color:#061d35;
text-decoration:none;
transition:
color .28s ease,
text-shadow .28s ease;
}

.service-more:hover{
color:#ecaf16;
text-shadow:0 0 10px rgba(236,175,16,0.24);
}

.service-more:focus-visible{
outline:2px solid #ecaf16;
outline-offset:4px;
}

.services-page-why{
padding:0 60px 72px;
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
}

.services-page-why-grid{
grid-template-columns:repeat(4,1fr);
}

.services-page-why .why-card{
min-height:142px;
padding:32px 28px;
}

.services-page-process{
padding:0 60px 72px;
background:#ffffff;
}

.process-steps{
display:grid;
grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
align-items:center;
gap:18px;
}

.process-step{
min-height:156px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
padding:26px 20px;
border:1px solid rgba(226,232,240,0.78);
border-radius:18px;
background:rgba(255,255,255,0.94);
box-shadow:
0 16px 34px rgba(11,20,32,0.07),
0 28px 64px rgba(11,20,32,0.05);
text-align:center;
}

.process-step span{
font-family:"Cinzel", serif;
font-size:30px;
font-weight:600;
line-height:1;
color:#ecaf16;
}

.process-step h3{
margin:16px 0 0;
font-family:"Montserrat", sans-serif;
font-size:18px;
font-weight:700;
line-height:1.25;
color:#0b1420;
}

.process-step p{
margin:10px 0 0;
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:500;
line-height:1.4;
color:#5d6b7f;
}

.process-arrow{
font-family:"Cinzel", serif;
font-size:28px;
font-weight:600;
line-height:1;
color:#ecaf16;
text-align:center;
display:flex;
align-items:center;
justify-content:center;
}

.process-arrow{
font-size:0;
}

.process-arrow::before{
content:"→";
font-size:28px;
line-height:1;
}

.about-page{
background:#ffffff;
color:#0b1420;
}

.about-page-hero{
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr);
align-items:center;
min-height:430px;
padding:72px 60px 78px;
overflow:hidden;
background:
linear-gradient(
90deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.95) 100%
),
url("images/hero-background.webp") center / cover no-repeat;
}

.about-page-hero-content{
position:relative;
z-index:1;
max-width:680px;
}

.about-page-hero h1,
.about-page-intro h2,
.about-page-mission h2,
.about-page-heading h2{
margin:0;
font-family:"Cinzel", serif;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
overflow-wrap:break-word;
}

.about-page-hero h1{
font-size:50px;
}

.about-page-hero p{
max-width:620px;
margin:0;
font-family:"Montserrat", sans-serif;
font-size:20px;
line-height:1.55;
color:#243044;
overflow-wrap:break-word;
}

.about-page-hero .about-page-hero-note{
max-width:520px;
margin:22px 0 0;
font-size:16px;
line-height:1.55;
color:#5d6b7f;
}

.about-page-intro{
max-width:950px;
margin:0 auto;
padding:18px 24px 74px;
text-align:center;
}

.about-page-intro h2,
.about-page-mission h2,
.about-page-heading h2{
font-size:38px;
}

.about-page-intro h2::after,
.about-page-mission h2::after,
.about-page-heading h2::after{
content:"";
display:block;
width:116px;
height:4px;
margin:20px auto 0;
border-radius:999px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.25) 100%
);
box-shadow:0 0 14px rgba(236,175,22,0.28);
}

.about-page-mission h2::after,
.about-page-heading h2::after{
margin-left:0;
margin-right:0;
}

.about-page-intro p,
.about-page-mission p{
margin:26px 0 0;
font-family:"Montserrat", sans-serif;
font-size:19px;
line-height:1.7;
color:#243044;
overflow-wrap:break-word;
}

.about-page-intro p + p,
.about-page-mission p + p{
margin-top:22px;
}

.about-page-mission{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(280px,0.85fr);
align-items:center;
gap:44px;
padding:0 60px 78px;
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
}

.about-page-mission-content{
min-width:0;
}

.privacy-page{
background:#f7f9fc;
color:#0b1420;
}

.privacy-page-content{
padding:0 60px 78px;
}

.privacy-page-card{
max-width:1040px;
margin:0 auto;
padding:48px 54px;
border:1px solid rgba(11,20,32,0.08);
border-radius:14px;
background:#ffffff;
box-shadow:0 18px 46px rgba(11,20,32,0.08);
}

.privacy-page-card h2{
margin:38px 0 0;
font-family:"Cinzel", serif;
font-size:28px;
font-weight:600;
line-height:1.3;
color:#0b1420;
}

.privacy-page-card h2:first-of-type{
margin-top:32px;
}

.privacy-page-card p,
.privacy-page-card li{
font-family:"Montserrat", sans-serif;
font-size:16px;
line-height:1.75;
color:#243044;
}

.privacy-page-card p{
margin:18px 0 0;
}

.privacy-page-card > p:first-child{
margin-top:0;
font-size:18px;
}

.privacy-page-card ul{
display:grid;
gap:8px;
margin:16px 0 0;
padding-left:24px;
}

.privacy-page-card a{
color:#003466;
font-weight:700;
text-underline-offset:3px;
overflow-wrap:anywhere;
}

.privacy-page-card a:hover{
color:#a97000;
}

.privacy-page-card a:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
}

.about-page-mission-card{
min-height:auto;
padding:38px 38px 34px;
}

.about-page-mission-card::after{
content:none;
display:none;
}

.about-page-mission-card ul{
display:grid;
gap:18px;
margin:0;
padding:0;
list-style:none;
font-family:"Montserrat", sans-serif;
font-size:18px;
font-weight:700;
line-height:1.35;
color:#0b1420;
}

.about-page-mission-card li{
position:relative;
padding-left:24px;
}

.about-page-mission-card li::before{
content:"";
position:absolute;
left:0;
top:0.6em;
width:7px;
height:7px;
border-radius:50%;
background:#ecaf16;
box-shadow:0 0 10px rgba(236,175,22,0.34);
}

.about-page-values,
.about-page-trust{
padding:0 60px 78px;
background:#ffffff;
}

.about-page-heading{
max-width:760px;
margin:0 0 38px;
}

.about-page-values-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.about-page-values-grid .why-card{
min-height:164px;
padding:34px 28px;
min-width:0;
}

.about-page-values-grid .why-card > div{
min-width:0;
}

.about-page-trust{
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
}

.about-page-trust-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.about-page-trust-card{
min-height:116px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
min-width:0;
padding:28px 30px;
border:1px solid rgba(226,232,240,0.78);
border-radius:18px;
background:rgba(255,255,255,0.94);
box-shadow:
0 16px 34px rgba(11,20,32,0.07),
0 28px 64px rgba(11,20,32,0.05);
}

.about-page-trust-card h3{
width:100%;
margin:0;
font-family:"Montserrat", sans-serif;
font-size:17px;
font-weight:700;
line-height:1.45;
color:#0b1420;
text-align:center;
overflow-wrap:break-word;
}

.about-page-trust-card p{
width:100%;
margin:10px 0 0;
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:500;
line-height:1.45;
color:#5d6b7f;
text-align:center;
overflow-wrap:break-word;
}

.contacts-page{
background:#ffffff;
color:#0b1420;
}

.contacts-page-hero{
position:relative;
display:grid;
grid-template-columns:minmax(0,1fr);
align-items:center;
min-height:372px;
padding:56px 60px 62px;
background:
linear-gradient(
180deg,
rgba(247,249,252,0.98) 0%,
rgba(255,255,255,1) 100%
);
overflow:hidden;
}

.contacts-page-hero-content{
position:relative;
z-index:1;
max-width:690px;
}

.contacts-page-hero h1,
.contacts-page-form-card h2,
.contacts-page-form-note h2,
.contacts-page-map-card h2,
.contacts-page-details-card h2,
.contacts-page-heading h2{
margin:0;
font-family:"Cinzel", serif;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
}

.contacts-page-hero h1{
font-size:50px;
}

.contacts-page-hero p{
max-width:630px;
margin:0;
font-family:"Montserrat", sans-serif;
font-size:20px;
line-height:1.55;
color:#243044;
overflow-wrap:break-word;
}

.contacts-page-hero .contacts-page-hero-note{
max-width:500px;
margin:22px 0 0;
font-size:16px;
line-height:1.55;
color:#5d6b7f;
}

.contacts-page-cards,
.contacts-page-main{
padding:0 60px 78px;
}

.contacts-page-cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
background:#ffffff;
}

.contacts-page-contact-card,
.contacts-page-form-card,
.contacts-page-map-card,
.contacts-page-form-note,
.contacts-page-faq-card{
min-width:0;
border:1px solid rgba(11,20,32,0.08);
border-radius:8px;
background:#ffffff;
box-shadow:0 18px 45px rgba(10,20,35,0.08);
}

.contacts-page-contact-card{
position:relative;
min-height:166px;
padding:30px 24px 28px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
gap:12px;
text-align:center;
overflow:hidden;
border-color:rgba(236,175,22,0.16);
background:
linear-gradient(180deg,rgba(255,255,255,0.98) 0%,rgba(248,250,252,0.94) 100%);
}

.contacts-page-contact-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:4px;
background:
linear-gradient(
90deg,
#ecaf16 0%,
rgba(236,175,22,0.78) 58%,
rgba(236,175,22,0.08) 100%
);
box-shadow:0 0 16px rgba(236,175,22,0.22);
}

.contacts-page-contact-card::after{
content:none;
display:none;
}

.contact-card-icon{
display:block;
width:48px;
height:48px;
object-fit:contain;
margin:0 auto 2px;
transition:
transform .25s ease,
filter .25s ease;
}

.contacts-page-contact-card h2{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:15px;
font-weight:800;
line-height:1.35;
color:#344155;
padding-right:0;
}

.contacts-page-contact-card p{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:20px;
font-weight:700;
line-height:1.35;
color:#0b1420;
overflow-wrap:break-word;
max-width:100%;
}

.contacts-page-contact-card span,
.contact-card-note{
display:block;
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:500;
line-height:1.45;
color:#5d6b7f;
overflow-wrap:break-word;
}

.contacts-page-contact-link{
display:inline-flex;
align-items:center;
min-height:34px;
max-width:100%;
color:#0b1420;
text-decoration:none;
overflow-wrap:anywhere;
word-break:break-word;
border-radius:8px;
transition:
color .22s ease,
text-shadow .22s ease,
box-shadow .22s ease;
}

.contacts-page-contact-link:hover,
.contact-address-link:hover,
.contact-phone-link:hover{
color:#ecaf16;
text-shadow:0 0 12px rgba(236,175,22,0.34);
}

.contacts-page-contact-link:focus-visible,
.contact-address-link:focus-visible,
.contact-phone-link:focus-visible,
.contact-social-link:focus-visible,
.contacts-map-tab:focus-visible,
.contacts-page-map-link:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
box-shadow:
0 0 0 4px rgba(236,175,22,0.16),
0 0 16px rgba(236,175,22,0.28);
}

.contact-address-link{
display:inline-flex;
align-items:center;
justify-content:center;
max-width:100%;
min-height:34px;
color:#0b1420;
text-decoration:none;
overflow-wrap:anywhere;
word-break:break-word;
border-radius:4px;
transition:
color .25s ease,
text-shadow .25s ease;
}

.contacts-page-contact-card:hover .contact-card-icon,
.contacts-page-contact-card:focus-within .contact-card-icon{
transform:translateY(-1px) scale(1.05);
filter:drop-shadow(0 0 8px rgba(236,175,22,0.35));
}

.contact-phone-list{
display:grid;
justify-items:center;
gap:6px;
width:100%;
}

.contact-phone-link{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:32px;
max-width:100%;
font-family:"Montserrat", sans-serif;
font-size:18px;
font-weight:700;
line-height:1.35;
color:#0b1420;
text-decoration:none;
overflow-wrap:anywhere;
word-break:break-word;
border-radius:8px;
transition:
color .22s ease,
text-shadow .22s ease,
box-shadow .22s ease;
}

.contact-social-links{
display:flex;
align-items:center;
justify-content:center;
gap:20px;
width:100%;
margin-top:2px;
}

.contact-social-link{
display:inline-flex;
align-items:center;
justify-content:center;
width:52px;
height:52px;
min-width:52px;
min-height:52px;
border-radius:50%;
transition:
transform .22s ease,
box-shadow .22s ease;
}

.contact-social-link:hover{
transform:translateY(-2px) scale(1.06);
box-shadow:0 12px 24px rgba(11,20,32,0.14);
}

.contact-social-link img{
display:block;
width:48px;
height:48px;
object-fit:contain;
}

.contacts-page-main{
display:grid;
grid-template-columns:1fr;
gap:28px;
align-items:start;
background:
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
}

.contacts-page-main > *{
min-width:0;
}

.contacts-page-intro-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(320px,0.72fr);
gap:28px;
align-items:start;
min-width:0;
}

.contacts-page-form-card{
padding:38px;
scroll-margin-top:110px;
}

.contacts-page-form-card h2,
.contacts-page-form-note h2,
.contacts-page-map-card h2,
.contacts-page-details-card h2,
.contacts-page-heading h2{
font-size:34px;
}

.contacts-page-form{
display:grid;
gap:20px;
margin-top:30px;
}

.contacts-page-form .form-field{
display:grid;
gap:8px;
min-width:0;
}

.contacts-page-form label{
display:grid;
gap:8px;
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:700;
line-height:1.35;
color:#243044;
}

.contacts-page-form .contacts-page-honeypot{
position:absolute;
left:-9999px;
width:1px;
height:1px;
overflow:hidden;
}

.contacts-page-form input:not([type="checkbox"]),
.contacts-page-form textarea{
width:100%;
border:1px solid rgba(11,20,32,0.11);
border-radius:8px;
padding:15px 16px;
font:500 16px/1.45 "Montserrat", sans-serif;
color:#0b1420;
background:#f8fafc;
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.9),
0 1px 0 rgba(11,20,32,0.02);
transition:
border-color .25s ease,
box-shadow .25s ease,
background-color .25s ease;
}

.contacts-page-form .form-field.is-invalid input:not([type="checkbox"]),
.contacts-page-form .form-field.is-invalid textarea{
border-color:rgba(176,54,54,0.72);
background:#fffafa;
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.9),
0 0 0 3px rgba(176,54,54,0.08);
}

.contacts-page-form input:not([type="checkbox"]):focus-visible,
.contacts-page-form textarea:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
border-color:rgba(236,175,22,0.62);
background:#ffffff;
box-shadow:
0 0 0 4px rgba(236,175,22,0.12),
0 10px 24px rgba(11,20,32,0.06);
}

.contacts-page-form textarea{
resize:vertical;
min-height:132px;
}

.contacts-page-form .form-field--consent{
gap:7px;
}

.contacts-page-form .form-consent{
display:grid;
grid-template-columns:20px minmax(0,1fr);
align-items:start;
gap:10px;
font-size:13px;
font-weight:500;
line-height:1.55;
cursor:pointer;
}

.contacts-page-form .form-consent__input{
width:18px;
height:18px;
margin:2px 0 0;
padding:0;
border-radius:4px;
accent-color:#ecaf16;
cursor:pointer;
}

.contacts-page-form .form-consent a{
color:#003466;
font-weight:700;
text-underline-offset:3px;
}

.contacts-page-form .form-consent a:hover{
color:#a97000;
}

.contacts-page-form .form-consent__input:focus-visible,
.contacts-page-form .form-consent a:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
}

.contacts-page-form .form-field--consent.is-invalid .form-consent__input{
outline:2px solid rgba(176,54,54,0.72);
outline-offset:2px;
}

.form-field__error{
display:none;
font-family:"Montserrat", sans-serif;
font-size:13px;
font-weight:600;
line-height:1.45;
color:#842727;
}

.form-field.is-invalid .form-field__error{
display:block;
}

.contacts-page-form .btn{
justify-self:start;
border:0;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
}

.contacts-page-form .btn:disabled{
cursor:not-allowed;
opacity:.72;
box-shadow:none;
transform:none;
}

.form-submit__spinner{
display:none;
flex:0 0 auto;
width:14px;
height:14px;
border:2px solid rgba(11,20,32,0.25);
border-top-color:#0b1420;
border-radius:50%;
animation:contactsButtonSpinner .8s linear infinite;
}

.contacts-page-form.is-submitting .form-submit__spinner{
display:inline-block;
}

.contacts-page-form .btn:disabled::after{
content:"";
display:none;
}

.contacts-page-form-message{
display:none;
margin-top:2px;
padding:14px 16px;
border-radius:8px;
font-family:"Montserrat", sans-serif;
font-size:15px;
font-weight:600;
line-height:1.45;
}

.contacts-page-form-message.is-success,
.contacts-page-form-message.is-error,
.contacts-page-form-message.form-status--success,
.contacts-page-form-message.form-status--error{
display:block;
}

.contacts-page-form-message.is-success,
.contacts-page-form-message.form-status--success{
border:1px solid rgba(34,160,107,0.22);
background:rgba(34,160,107,0.08);
color:#155f42;
}

.contacts-page-form-message.is-error,
.contacts-page-form-message.form-status--error{
border:1px solid rgba(176,54,54,0.22);
background:rgba(176,54,54,0.08);
color:#842727;
}

.contact-modal-open{
overflow:hidden;
}

.contact-modal[hidden]{
display:none;
}

.contact-modal{
position:fixed;
inset:0;
z-index:900;
display:grid;
place-items:center;
padding:24px;
}

body.admin-bar .contact-modal{
top:32px;
bottom:auto;
height:calc(100vh - 32px);
height:calc(100dvh - 32px);
}

.contact-modal__backdrop{
position:absolute;
inset:0;
background:rgba(6,29,53,0.68);
backdrop-filter:blur(4px);
}

.contact-modal__dialog{
position:relative;
z-index:1;
width:min(100%,660px);
max-height:calc(100vh - 48px);
overflow-y:auto;
padding:34px;
border:1px solid rgba(236,175,22,0.35);
border-radius:14px;
background:#ffffff;
box-shadow:
0 0 0 1px rgba(255,255,255,0.72) inset,
0 24px 70px rgba(6,29,53,0.36),
0 0 28px rgba(236,175,22,0.16);
animation:contactModalIn .18s ease-out;
}

.contact-modal__dialog::before{
content:"";
position:absolute;
left:0;
right:0;
top:0;
height:3px;
background:
linear-gradient(
90deg,
transparent,
#ecaf16 18%,
#ecaf16 82%,
transparent
);
box-shadow:0 0 18px rgba(236,175,22,0.32);
}

.contact-modal__header{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:18px;
align-items:start;
}

.contact-modal__title{
margin:0;
font-family:"Cinzel", serif;
font-size:34px;
font-weight:600;
line-height:1.15;
letter-spacing:0;
color:#0b1420;
}

.contact-modal__description{
max-width:520px;
margin:12px 0 0;
font-family:"Montserrat", sans-serif;
font-size:15px;
font-weight:500;
line-height:1.55;
color:#435066;
}

.contact-modal__close{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid rgba(236,175,22,0.42);
border-radius:10px;
background:#061d35;
color:#ffffff;
font-size:30px;
line-height:1;
cursor:pointer;
box-shadow:
0 0 0 1px rgba(255,255,255,0.12) inset,
0 10px 22px rgba(6,29,53,0.18);
transition:
border-color .25s ease,
box-shadow .25s ease,
transform .25s ease;
}

.contact-modal__close:hover{
border-color:rgba(236,175,22,0.82);
box-shadow:
0 0 0 1px rgba(255,255,255,0.18) inset,
0 0 18px rgba(236,175,22,0.28),
0 12px 24px rgba(6,29,53,0.22);
transform:translateY(-1px);
}

.contact-modal__close:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
}

.contact-modal__body{
margin-top:26px;
}

.contact-modal .contacts-page-form{
margin-top:0;
}

@keyframes contactModalIn{
from{
opacity:0;
transform:translateY(8px) scale(.98);
}

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

@keyframes contactsButtonSpinner{
to{
transform:rotate(360deg);
}
}

.contacts-page-form-note{
min-height:auto;
padding:38px 34px;
}

.contacts-page-form-note::after,
.contacts-page-details-card::after{
content:none;
display:none;
}

.contacts-page-form-note ul{
display:grid;
gap:16px;
margin:28px 0 0;
padding:0;
list-style:none;
font-family:"Montserrat", sans-serif;
font-size:16px;
font-weight:600;
line-height:1.5;
color:#243044;
}

.contacts-page-form-note li{
position:relative;
padding-left:24px;
}

.contacts-page-form-note li::before{
content:"";
position:absolute;
left:0;
top:0.65em;
width:7px;
height:7px;
border-radius:50%;
background:#ecaf16;
box-shadow:0 0 0 5px rgba(236,175,22,0.14);
}

.contacts-page-map{
padding:0;
background:transparent;
}

#contacts-map{
scroll-margin-top:110px;
}

.contacts-page-map-card{
position:relative;
padding:38px;
display:flex;
flex-direction:column;
align-items:stretch;
justify-content:flex-start;
gap:18px;
text-align:left;
overflow:hidden;
background:#ffffff;
}

.contacts-page-map-card::before{
content:none;
display:none;
}

.contacts-page-map-card::after{
content:none;
display:none;
}

.contacts-page-map-card h2{
margin-bottom:0;
}

.contacts-page-map-card p{
max-width:none;
margin:0;
font-family:"Montserrat", sans-serif;
font-size:16px;
font-weight:600;
line-height:1.5;
color:#243044;
overflow-wrap:break-word;
}

.contacts-page-map-embed{
width:100%;
overflow:hidden;
border:1px solid rgba(11,20,32,0.08);
box-shadow:0 14px 34px rgba(11,20,32,0.08);
}

.contacts-map-panel{
overflow:hidden;
border-radius:12px;
background:#f7f9fc;
}

.contacts-map-frame{
display:block;
width:100%;
height:420px;
border:0;
}

.contacts-map-frame,
.contacts-map-frame iframe{
width:100% !important;
max-width:100% !important;
border:0 !important;
}

.contacts-map-tabs{
display:flex;
align-items:center;
gap:10px;
max-width:100%;
}

.contacts-map-tab{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:48px;
padding:10px 18px;
border:1px solid rgba(11,20,32,0.1);
border-radius:8px;
font:700 15px/1.2 "Montserrat", sans-serif;
color:#003466;
background:#f8fafc;
cursor:pointer;
transition:
background-color .22s ease,
border-color .22s ease,
box-shadow .22s ease,
transform .22s ease;
}

.contacts-map-tab img{
display:block;
width:28px;
height:28px;
object-fit:contain;
}

.contacts-map-tab:hover{
border-color:rgba(236,175,22,0.56);
box-shadow:0 0 0 4px rgba(236,175,22,0.1);
}

.contacts-map-tab.is-active{
border-color:#ecaf16;
background:#ecaf16;
color:#0b1420;
box-shadow:0 10px 24px rgba(236,175,22,0.22);
}

.contacts-map-panels{
min-width:0;
}

.contacts-page-map-address{
padding-top:2px;
}

.contacts-page-map-links{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
}

.contacts-page-map-link{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:44px;
padding:11px 16px;
border:1px solid rgba(0,52,102,0.16);
border-radius:8px;
font:700 14px/1.25 "Montserrat", sans-serif;
color:#003466;
text-decoration:none;
background:#f8fafc;
transition:
color .22s ease,
border-color .22s ease,
box-shadow .22s ease,
background-color .22s ease;
}

.contacts-page-map-link:hover{
border-color:rgba(236,175,22,0.62);
background:#ffffff;
color:#0b1420;
box-shadow:0 10px 22px rgba(236,175,22,0.16);
}

.contacts-page-map-link img{
display:block;
width:18px;
height:18px;
object-fit:contain;
}

@media(max-width:1024px){

.contacts-map-frame{
height:360px;
}

}

@media(max-width:767px){

.contacts-page-contact-link{
min-height:44px;
}

.contacts-map-frame{
height:300px;
}

.contacts-page-map-link{
flex:1 1 220px;
}

}

.contacts-page-details{
padding:0;
background:transparent;
}

.contacts-page-details-card{
width:100%;
max-width:none;
margin:0;
padding:36px 42px 40px;
min-height:auto;
}

.contacts-page-details-card h2::after{
content:"";
display:block;
width:96px;
height:3px;
margin:16px 0 0;
border-radius:999px;
background:
linear-gradient(90deg,#ecaf16 0%,rgba(236,175,22,0.14) 100%);
}

.contacts-page-details-card dl{
display:grid;
grid-template-columns:1fr;
gap:18px;
margin:28px 0 0;
}

.contacts-page-details-card dl div{
min-width:0;
padding-top:18px;
border-top:1px solid rgba(11,20,32,0.08);
}

.contacts-page-details-card dt{
margin:0 0 8px;
font-family:"Montserrat", sans-serif;
font-size:13px;
font-weight:700;
line-height:1.35;
color:#5d6b7f;
}

.contacts-page-details-card dd{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:17px;
font-weight:700;
line-height:1.45;
color:#0b1420;
overflow-wrap:break-word;
}

.contacts-page-faq{
padding:0;
background:transparent;
}

.contacts-page-heading{
max-width:780px;
margin:0 0 22px;
}

.contacts-page-faq-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
}

.contacts-page-faq-card{
min-height:auto;
padding:18px 22px;
}

.contacts-page-faq-card h3{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:17px;
font-weight:800;
line-height:1.35;
color:#0b1420;
overflow-wrap:break-word;
}

.contacts-page-faq-card p{
margin:9px 0 0;
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:500;
line-height:1.45;
color:#5d6b7f;
overflow-wrap:break-word;
}

/* Error 404 */
.error-page{
min-height:620px;
display:grid;
align-content:center;
background:
radial-gradient(circle at 50% 34%, rgba(236,175,22,0.14) 0 72px, transparent 196px),
linear-gradient(180deg, rgba(0,52,102,0.05) 0%, transparent 58%),
linear-gradient(
180deg,
#ffffff 0%,
#f7f9fc 100%
);
color:#0b1420;
overflow:hidden;
}

.error-page__section{
position:relative;
display:grid;
place-items:center;
padding:84px 60px 36px;
}

.error-page__section::before{
content:none;
display:none;
}

.error-page__inner{
width:min(100%, 820px);
margin:0 auto;
display:grid;
justify-items:center;
text-align:center;
padding:54px 44px 50px;
border:1px solid rgba(236,175,22,0.18);
border-radius:8px;
background:
linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.95) 100%);
box-shadow:
0 24px 60px rgba(10,20,35,0.1),
0 0 36px rgba(236,175,22,0.1);
}

.error-page__code{
font-family:"Cinzel", serif;
font-size:112px;
font-weight:700;
line-height:.9;
letter-spacing:0;
color:#003466;
text-shadow:
0 0 18px rgba(236,175,22,0.3),
0 12px 34px rgba(0,52,102,0.12);
}

.error-page__star{
width:26px;
height:26px;
margin:18px 0 16px;
}

.error-page__title{
margin:0;
font-family:"Cinzel", serif;
font-size:46px;
font-weight:600;
line-height:1.15;
color:#0b1420;
overflow-wrap:break-word;
}

.error-page__line{
margin:18px auto 0;
}

.error-page__text{
max-width:650px;
margin:24px 0 0;
font-family:"Montserrat", sans-serif;
font-size:18px;
font-weight:500;
line-height:1.65;
color:#344155;
overflow-wrap:break-word;
}

.error-page__actions{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;
gap:16px;
margin-top:32px;
}

.error-page__btn{
margin-top:0;
min-width:180px;
padding:17px 28px;
}

.error-page__btn--secondary{
background:#003466;
color:#ffffff;
box-shadow:
0 0 0 1px rgba(236,175,22,0.46) inset,
0 0 14px rgba(0,52,102,0.22),
0 7px 18px rgba(0,0,0,0.16);
}

.error-page__btn--secondary:hover{
background:#003466;
box-shadow:
0 0 0 1px rgba(236,175,22,0.72) inset,
0 0 18px rgba(236,175,22,0.42),
0 9px 22px rgba(0,0,0,0.22);
}

.error-page__divider{
margin:0 0 58px;
}

/* Form */
.contact-form{
padding:70px 60px;
background:#f7f9fc;
text-align:center;
}

/* Footer */
.site-footer{
position:relative;
overflow:hidden;
isolation:isolate;
background:
linear-gradient(
90deg,
rgba(6,29,53,0.98) 0%,
rgba(6,29,53,0.96) 58%,
rgba(3,21,39,0.98) 100%
);
color:#ffffff;
}

.site-footer::before{
content:"";
position:absolute;
left:0;
right:0;
top:0;
height:2px;
background:
linear-gradient(
90deg,
transparent 0%,
rgba(236,175,16,.22) 8%,
rgba(236,175,16,.85) 50%,
rgba(236,175,16,.22) 92%,
transparent 100%
);
box-shadow:0 0 14px rgba(236,175,16,0.18);
z-index:0;
}

.site-footer::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:78px;
background:url("images/header-waves.svg") left bottom / min(100%, 1440px) auto no-repeat;
opacity:.36;
pointer-events:none;
z-index:0;
}

.footer-inner{
position:relative;
z-index:1;
padding:40px 60px 46px;
}

.footer-main{
display:grid;
grid-template-columns:1.25fr .8fr 1fr;
gap:72px;
align-items:start;
}

.footer-brand,
.footer-column{
position:relative;
min-height:128px;
}

.footer-column::before{
content:"";
position:absolute;
left:-22px;
top:8px;
bottom:8px;
width:2px;
background:
linear-gradient(
180deg,
transparent 0%,
rgba(236,175,16,0.12) 10%,
rgba(236,175,16,0.34) 28%,
rgba(236,175,16,0.54) 50%,
rgba(236,175,16,0.34) 72%,
rgba(236,175,16,0.12) 90%,
transparent 100%
);
box-shadow:0 0 12px rgba(236,175,16,0.08);
}

.footer-brand-link{
display:inline-flex;
align-items:center;
gap:16px;
text-decoration:none;
color:inherit;
transition:
filter .3s ease,
text-shadow .3s ease,
transform .3s ease;
}

.footer-brand:hover .footer-brand-link{
filter:drop-shadow(0 0 5px rgba(236,175,22,0.45));
text-shadow:
0 0 8px rgba(236,175,22,0.62),
0 0 18px rgba(236,175,22,0.34);
transform:translateY(-1px);
}

.footer-brand-link img{
display:block;
width:96px;
height:auto;
filter:drop-shadow(0 8px 14px rgba(0,0,0,0.34));
}

.footer-brand-text{
display:flex;
flex-direction:column;
}

.footer-brand-title{
font-family:"Sunset Serial", sans-serif;
font-weight:700;
font-size:30px;
line-height:1;
color:#ecaf16;
letter-spacing:0.5px;
text-shadow:0 0 10px rgba(236,175,16,0.18);
}

.footer-brand-line{
display:block;
width:100%;
height:2px;
margin:8px 0 10px;
background:
linear-gradient(
90deg,
transparent 0%,
#ecaf16 25%,
#ecaf16 75%,
transparent 100%
);
}

.footer-brand-subtitle{
font-family:"Montserrat", sans-serif;
font-size:14px;
font-weight:500;
line-height:1.3;
color:#ffffff;
letter-spacing:0.25px;
}

.footer-column h2{
margin:0 0 14px;
font-family:"Montserrat", sans-serif;
font-size:16px;
font-weight:700;
line-height:1.25;
color:#ffffff;
}

.footer-nav{
display:flex;
flex-direction:column;
gap:9px;
}

.footer-nav a,
.footer-contacts a{
color:#ffffff;
text-decoration:none;
transition:
color .25s ease,
text-shadow .25s ease,
transform .25s ease;
}

.footer-nav a:hover,
.footer-contacts a:hover,
.footer-address-link:hover{
color:#ecaf16;
text-shadow:0 0 10px rgba(236,175,16,0.28);
transform:translateY(-1px);
}

.footer-nav a,
.footer-contacts p{
font-family:"Montserrat", sans-serif;
font-size:14px;
line-height:1.45;
}

.footer-contacts{
display:grid;
gap:9px;
}

.footer-contacts p{
display:flex;
align-items:center;
margin:0;
color:#ffffff;
}

.footer-address-link{
display:inline-flex;
max-width:100%;
overflow-wrap:anywhere;
word-break:break-word;
border-radius:4px;
}

.footer-contact-icon{
display:inline-flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
flex:0 0 22px;
margin-right:10px;
color:#ecaf16;
filter:drop-shadow(0 0 6px rgba(236,175,16,0.35));
}

.footer-contact-icon img{
display:block;
width:22px;
height:22px;
}

.footer-bottom{
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:22px;
margin-top:30px;
padding-top:18px;
padding-bottom:18px;
}

.footer-bottom p{
margin:0;
font-family:"Montserrat", sans-serif;
font-size:13px;
line-height:1.4;
color:rgba(255,255,255,0.86);
}

.footer-bottom p:last-child{
text-align:right;
}

.footer-legal{
display:grid;
gap:5px;
}

.footer-privacy-link{
width:fit-content;
color:rgba(255,255,255,0.86);
text-underline-offset:3px;
transition:
color .25s ease,
text-shadow .25s ease;
}

.footer-privacy-link:hover{
color:#ecaf16;
text-shadow:0 0 10px rgba(236,175,16,0.28);
}

.footer-privacy-link:focus-visible{
outline:2px solid #ecaf16;
outline-offset:3px;
}

.footer-slogan{
display:flex;
align-items:center;
justify-content:center;
gap:6px;
min-width:0;
color:#ecaf16;
font-family:"Montserrat", sans-serif;
font-size:15px;
font-style:italic;
font-weight:600;
line-height:1.35;
text-align:center;
opacity:.9;
text-shadow:0 0 6px rgba(236,175,16,0.18);
}

.footer-slogan-line{
display:block;
width:56px;
height:1px;
background:
linear-gradient(90deg, transparent 0%, rgba(236,175,16,0.58) 100%);
filter:drop-shadow(0 0 3px rgba(236,175,16,0.34));
}

.footer-slogan-line:last-child{
background:
linear-gradient(90deg, rgba(236,175,16,0.58) 0%, transparent 100%);
}

.footer-slogan-star{
width:8px;
height:8px;
flex:0 0 8px;
background:#ecaf16;
clip-path:polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
filter:
drop-shadow(0 0 4px rgba(236,175,16,0.58))
drop-shadow(0 0 8px rgba(236,175,16,0.18));
}

.footer-slogan-text{
display:block;
}

@media(max-width:1024px){

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

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

.services-page-hero{
padding:64px 40px 70px;
}

.services-page-catalog,
.services-page-why,
.services-page-process{
padding-left:40px;
padding-right:40px;
}

.services-page-cards,
.services-page-why-grid{
grid-template-columns:repeat(2,1fr);
}

.services-page .process-steps{
grid-template-columns:1fr;
gap:14px;
}

.services-page .process-arrow::before{
content:"↓";
}

.about-page-hero{
padding:64px 40px 70px;
}

.about-page-mission,
.about-page-values,
.about-page-trust{
padding-left:40px;
padding-right:40px;
}

.privacy-page-content{
padding-left:40px;
padding-right:40px;
}

.about-page-mission{
grid-template-columns:1fr;
gap:34px;
}

.about-page-values-grid,
.about-page-trust-grid{
grid-template-columns:repeat(2,1fr);
}

.contacts-page-hero{
padding:52px 40px 58px;
}

.contacts-page-cards,
.contacts-page-main{
padding-left:40px;
padding-right:40px;
}

.contacts-page-cards,
.contacts-page-faq-grid{
grid-template-columns:repeat(2,1fr);
}

.contacts-page-main{
grid-template-columns:1fr;
}

.contacts-page-intro-grid{
grid-template-columns:1fr;
}

.contacts-page-faq-grid{
grid-template-columns:repeat(2,1fr);
}

.error-page{
min-height:560px;
}

.error-page__section{
padding:66px 40px 30px;
}

.error-page__inner{
padding:48px 36px 46px;
}

.error-page__code{
font-size:96px;
}

.error-page__title{
font-size:40px;
}

.footer-inner{
padding:32px 40px 28px;
}

.footer-main{
grid-template-columns:1fr 1fr;
gap:34px 42px;
}

.footer-bottom{
grid-template-columns:1fr;
justify-items:center;
gap:12px;
text-align:center;
}

.footer-bottom p:last-child{
text-align:center;
}

.footer-legal{
justify-items:center;
}

}

/* Media Queries */
@media(max-width:767px){

.custom-logo{
width:118px;
}

.header{
flex-direction:column;
align-items:center;
min-height:300px;
padding:24px 20px 28px;
position:relative;
z-index:20;
background-position:center right;
}

.slogan{
font-size:18px;
text-align:center;
margin-bottom:10px;
text-shadow:0 0 5px rgba(11, 20, 32, 1);
white-space:normal;
}

.brand{
position:static;
gap:12px;
}

.brand img{
width:118px;
}

.brand-title{
font-size:32px;
}

.brand-subtitle{
font-size:15px;
}

.header-right{
align-items:center;
gap:14px;
margin-left:0;
margin-right:0;
width:100%;
}

.header-actions{
width:100%;
justify-content:center;
position:static;
right:auto;
top:auto;
z-index:40;
}

.header-btn{
padding:14px 20px;
font-size:15px;
}

.menu{
flex-direction:column;
text-align:center;
padding:25px 0;
gap:20px;
}

.menu a{
font-size:20px;
white-space:nowrap;
}

.hero{
min-height:auto;
padding:56px 24px 34px;
background:
linear-gradient(
180deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.92) 58%,
rgba(247,249,252,0.78) 100%
)
#f7f9fc;
}

.hero h1{
font-size:36px;
line-height:1.14;
}

.hero-text{
font-size:18px;
}

.benefits-panel{
position:relative;
left:auto;
right:auto;
bottom:auto;
grid-template-columns:1fr;
margin-top:42px;
padding:12px 18px;
border-radius:16px;
}

.benefit-item{
justify-content:flex-start;
min-height:68px;
}

.benefit-item + .benefit-item{
border-left:0;
border-top:1px solid rgba(11,20,32,0.1);
}

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

.services{
padding:58px 24px 68px;
}

.services-heading{
margin-bottom:32px;
}

.services h2{
font-size:34px;
}

.services-heading p{
font-size:18px;
}

.services-page-hero{
grid-template-columns:1fr;
gap:32px;
min-height:auto;
padding:54px 24px 58px;
background:
linear-gradient(
180deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.94) 100%
)
#f7f9fc;
}

.services-page-hero h1{
font-size:38px;
}

.services-page-hero p{
font-size:18px;
}

.services-page-intro{
padding:4px 24px 48px;
}

.services-page-intro p{
font-size:17px;
}

.services-page-catalog,
.services-page-why,
.services-page-process{
padding-left:24px;
padding-right:24px;
padding-bottom:56px;
}

.services-page-cards,
.services-page-why-grid{
grid-template-columns:1fr;
}

.services .card-star,
.services-page-card .card-star{
right:20px;
top:20px;
width:16px;
height:16px;
}

.services .card-star::before,
.services-page-card .card-star::before{
width:15px;
height:17px;
background-size:
100% 100%,
1px 100%,
100% 1px,
7px 12px;
}

.services .card-star::after,
.services-page-card .card-star::after{
width:8px;
height:9px;
}

.services .service-card h3,
.services-page-card h3{
padding-right:28px;
}

.process-steps{
grid-template-columns:1fr;
gap:14px;
}

.process-arrow::before{
content:"↓";
}

.process-step{
min-height:116px;
padding:24px 20px;
}

.about-page-hero{
min-height:auto;
padding:54px 24px 58px;
background:
linear-gradient(
180deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.94) 100%
)
#f7f9fc;
}

.about-page-hero h1{
font-size:38px;
}

.about-page-hero p{
font-size:18px;
}

.about-page-hero .about-page-hero-note{
font-size:15px;
}

.about-page-intro{
padding:4px 24px 52px;
}

.about-page-intro h2,
.about-page-mission h2,
.about-page-heading h2{
font-size:29px;
}

.about-page-intro p,
.about-page-mission p{
font-size:17px;
}

.about-page-mission,
.about-page-values,
.about-page-trust{
padding-left:24px;
padding-right:24px;
padding-bottom:56px;
}

.privacy-page-content{
padding:0 24px 56px;
}

.privacy-page-card{
padding:32px 24px;
}

.privacy-page-card h2{
font-size:24px;
}

.privacy-page-card p,
.privacy-page-card li{
font-size:15px;
}

.privacy-page-card > p:first-child{
font-size:16px;
}

.about-page-mission-card{
padding:32px 26px 30px;
}

.about-page-values-grid,
.about-page-trust-grid{
grid-template-columns:1fr;
}

.about-page-values-grid .why-card{
min-height:auto;
padding:22px 20px;
}

.about-page-trust-card{
min-height:auto;
padding:24px 22px;
}

.contacts-page-hero{
min-height:auto;
padding:44px 24px 48px;
background:
linear-gradient(
180deg,
rgba(247,249,252,0.98) 0%,
rgba(247,249,252,0.94) 100%
)
#f7f9fc;
}

.contacts-page-hero h1{
font-size:38px;
}

.contacts-page-hero p{
font-size:18px;
}

.contacts-page-hero .contacts-page-hero-note{
font-size:15px;
}

.contacts-page-cards,
.contacts-page-main{
padding-left:24px;
padding-right:24px;
padding-bottom:56px;
}

.contacts-page-cards,
.contacts-page-faq-grid,
.contacts-page-details-card dl{
grid-template-columns:1fr;
}

.contacts-page-main{
gap:22px;
}

.contacts-page-contact-card{
min-height:auto;
padding:24px 22px;
}

.contact-phone-link{
font-size:17px;
}

.contacts-page-form-card,
.contacts-page-form-note,
.contacts-page-map-card,
.contacts-page-details-card{
padding:30px 24px;
}

.contacts-page-form-card h2,
.contacts-page-form-note h2,
.contacts-page-map-card h2,
.contacts-page-details-card h2,
.contacts-page-heading h2{
font-size:29px;
}

.contacts-page-form .btn{
justify-self:stretch;
}

.contacts-page-map-card{
padding:30px 24px;
}

.contacts-page-map-card p{
font-size:16px;
}

.contacts-map-tabs{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px;
}

.contacts-map-tab{
min-width:0;
padding-left:10px;
padding-right:10px;
}

.contacts-page-faq-card{
min-height:auto;
padding:18px 20px;
}

.contact-modal{
place-items:start center;
padding:12px 16px;
padding-block:12px;
overflow-y:auto;
}

.contact-modal__dialog{
width:100%;
max-height:none;
overflow:visible;
margin:0 auto;
padding:28px 20px 24px;
border-radius:12px;
}

.contact-modal__header{
gap:12px;
}

.contact-modal__title{
font-size:28px;
}

.contact-modal__description{
font-size:14px;
}

.contact-modal__close{
width:42px;
height:42px;
font-size:28px;
}

.contact-modal__body{
margin-top:22px;
}

@media(max-width:782px){

body.admin-bar .contact-modal{
top:46px;
height:calc(100vh - 46px);
height:calc(100dvh - 46px);
}

}

.error-page{
min-height:520px;
}

.error-page__section{
padding:44px 24px 28px;
}

.error-page__inner{
padding:38px 24px 36px;
}

.error-page__code{
font-size:82px;
}

.error-page__title{
font-size:32px;
}

.error-page__text{
font-size:16px;
line-height:1.6;
}

.error-page__actions{
width:100%;
display:grid;
grid-template-columns:1fr;
gap:12px;
}

.error-page__btn{
width:100%;
min-width:0;
}

.card{
padding:32px 26px 30px;
}

.card h3{
font-size:22px;
}

.section-divider{
margin:24px 0 24px;
}

.why-buhcompass{
padding:0 24px 56px;
}

.why-heading{
margin-bottom:28px;
}

.why-heading h2{
font-size:32px;
}

.why-heading p{
font-size:16px;
}

.why-grid{
grid-template-columns:1fr;
gap:16px;
}

.why-card{
grid-template-columns:auto 1fr;
gap:16px;
min-height:auto;
padding:22px 20px;
border-radius:16px;
}

.why-icon{
width:54px;
height:54px;
}

.why-icon img{
width:32px;
height:32px;
}

.homepage-cta{
grid-template-columns:1fr;
gap:22px;
margin:0 24px 24px;
padding:28px 22px 128px;
text-align:left;
}

.homepage-cta h2{
font-size:28px;
}

.homepage-cta p{
font-size:15px;
}

.cta-btn{
justify-self:start;
}

.cta-compass{
display:none;
}

.footer-inner{
padding:34px 24px 38px;
}

.footer-main{
grid-template-columns:1fr;
gap:26px;
}

.footer-brand,
.footer-column{
min-height:auto;
}

.footer-column{
padding-top:22px;
border-top:1px solid rgba(236,175,16,0.18);
}

.footer-column::before{
display:none;
}

.footer-brand-link{
align-items:center;
gap:14px;
}

.footer-brand-link img{
width:76px;
}

.footer-brand-title{
font-size:26px;
}

.footer-brand-subtitle{
font-size:12px;
}

.footer-slogan{
width:100%;
font-size:12px;
font-weight:600;
white-space:normal;
display:grid;
grid-template-columns:14px 7px minmax(0,220px) 7px 14px;
align-items:center;
justify-content:center;
gap:4px;
opacity:.86;
text-shadow:0 0 5px rgba(236,175,16,0.14);
}

.footer-slogan-line{
width:14px;
min-width:0;
flex:0 0 14px;
filter:drop-shadow(0 0 2px rgba(236,175,16,0.22));
}

.footer-slogan-text{
min-width:0;
overflow-wrap:break-word;
}

.footer-bottom{
margin-top:24px;
padding-top:20px;
padding-bottom:20px;
grid-template-columns:1fr;
justify-items:center;
gap:12px;
text-align:center;
}

.footer-bottom p:last-child{
text-align:center;
}

.menu-toggle{
display:block;
position:relative;
z-index:41;
}

.main-nav{
position:absolute;
top:75px;
left:0;
right:0;
z-index:30;
background:#003466;
display:none;
}

.main-nav.active{
display:block;
}

}

@media(min-width:768px) and (max-width:1199px){

.header{
min-height:176px;
padding:12px 24px 10px;
background-position:right center;
background-size:auto 100%;
overflow:visible;
z-index:20;
}

.header::after{
height:54px;
}

.brand{
left:24px;
top:42px;
gap:12px;
}

.brand img{
width:104px;
}

.brand-title{
font-size:30px;
}

.brand-line{
margin:6px 0 8px;
}

.brand-subtitle{
font-size:14px;
}

.slogan{
top:14px;
left:190px;
right:190px;
font-size:17px;
padding:4px 0;
white-space:nowrap;
}

.slogan-line{
width:72px;
flex-basis:72px;
}

.slogan-star{
flex-basis:22px;
}

.slogan-text{
margin-right:10px;
margin-left:10px;
}

.header-actions{
right:20px;
top:120px;
gap:10px;
z-index:40;
}

.header-btn{
padding:12px 16px;
font-size:13px;
border-radius:9px;
}

.menu-toggle{
display:inline-flex;
align-items:center;
justify-content:center;
position:relative;
z-index:41;
width:52px;
height:52px;
border:1px solid rgba(236,175,16,0.58);
border-radius:10px;
background:rgba(6,29,53,0.64);
color:white;
font-size:31px;
line-height:1;
box-shadow:0 0 12px rgba(0,0,0,0.24);
}

.main-nav{
position:absolute;
left:24px;
right:24px;
top:160px;
z-index:30;
display:none;
max-height:calc(100vh - 176px);
overflow-y:auto;
padding:14px 0;
border:1px solid rgba(236,175,16,0.2);
border-radius:14px;
background:rgba(6,29,53,0.96);
box-shadow:0 18px 38px rgba(0,0,0,0.28);
}

.main-nav.active{
display:block;
}

.menu{
flex-direction:column;
align-items:center;
gap:8px;
padding:0;
}

.menu a{
display:flex;
align-items:center;
justify-content:center;
min-height:44px;
font-size:18px;
padding:8px 18px;
}

.hero{
min-height:auto;
padding:64px 40px 54px;
}

.benefits-panel{
position:relative;
left:auto;
right:auto;
bottom:auto;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1px;
margin-top:36px;
padding:18px 22px;
}

.benefit-item{
min-width:0;
padding:8px 12px;
}

.benefit-item + .benefit-item{
border-left:0;
}

.benefit-item:nth-child(even){
border-left:1px solid rgba(11,20,32,0.1);
}

.benefit-item:nth-child(n+3){
border-top:1px solid rgba(11,20,32,0.1);
}

}

@media(max-width:767px){

.header{
min-height:156px;
padding:18px 14px 18px;
background-position:right top;
background-size:auto 100%;
overflow:visible;
z-index:20;
}

.header::before{
background:
linear-gradient(
90deg,
rgba(6,29,53,0.98) 0%,
rgba(6,29,53,0.92) 48%,
rgba(6,29,53,0.36) 100%
);
}

.header::after{
height:42px;
}

.brand{
position:absolute;
left:14px;
top:26px;
gap:8px;
max-width:calc(100vw - 94px);
}

.brand img{
width:64px;
}

.brand-text{
min-width:0;
max-width:170px;
}

.brand-title{
font-size:24px;
line-height:1.05;
white-space:nowrap;
}

.brand-line{
margin:5px 0 6px;
}

.brand-subtitle{
font-size:11px;
line-height:1.25;
white-space:nowrap;
}

.slogan{
display:none;
}

.header-actions{
position:absolute;
right:14px;
top:62px;
width:auto;
justify-content:flex-end;
z-index:40;
}

.header-btn{
display:none;
}

.menu-toggle{
display:inline-flex;
align-items:center;
justify-content:center;
position:relative;
z-index:41;
width:50px;
height:50px;
border:1px solid rgba(236,175,16,0.62);
border-radius:10px;
background:rgba(6,29,53,0.68);
color:white;
font-size:30px;
line-height:1;
box-shadow:0 0 12px rgba(0,0,0,0.28);
}

.main-nav{
position:absolute;
left:12px;
right:12px;
top:136px;
z-index:30;
display:none;
max-height:calc(100vh - 150px);
overflow-y:auto;
padding:12px 0;
border:1px solid rgba(236,175,16,0.22);
border-radius:14px;
background:rgba(6,29,53,0.97);
box-shadow:0 18px 38px rgba(0,0,0,0.3);
}

.main-nav.active{
display:block;
}

.menu{
flex-direction:column;
align-items:center;
gap:6px;
padding:0;
}

.menu a{
display:flex;
align-items:center;
justify-content:center;
min-height:44px;
font-size:18px;
padding:8px 16px;
}

}

@media(max-width:374px){

.services,
.why-buhcompass{
padding-left:12px;
padding-right:12px;
}

.why-card{
grid-template-columns:1fr;
gap:12px;
padding:20px 16px;
}

.why-icon{
width:48px;
height:48px;
}

.why-icon img{
width:28px;
height:28px;
}

.homepage-cta{
margin-left:8px;
margin-right:8px;
padding-left:12px;
padding-right:12px;
}

.contacts-page-cards,
.contacts-page-main{
padding-left:12px;
padding-right:12px;
}

.contacts-page-form-card,
.contacts-page-form-note,
.contacts-page-map-card,
.contacts-page-details-card{
padding-left:12px;
padding-right:12px;
overflow:hidden;
}

.contacts-page-form,
.contacts-page-form label,
.contacts-page-form input,
.contacts-page-form textarea,
.contacts-page-form .btn{
min-width:0;
max-width:100%;
}

.error-page__section{
padding-left:12px;
padding-right:12px;
}

.error-page__inner{
padding-left:16px;
padding-right:16px;
}

.error-page__code{
font-size:70px;
}

.error-page__title{
font-size:28px;
}

.brand img{
width:56px;
}

.brand-title{
font-size:21px;
}

.brand-subtitle{
font-size:10px;
}

.brand-text{
max-width:148px;
}

.header-actions{
right:10px;
}

.menu-toggle{
width:48px;
height:48px;
font-size:28px;
}

}

@media (prefers-reduced-motion: reduce){

*,
*::before,
*::after{
animation:none !important;
transition:none !important;
scroll-behavior:auto !important;
}

}
