/* NiK: warm, restrained professional identity. */
:root{
 --background:42 33% 97%;--foreground:165 8% 15%;
 --card:0 0% 100%;--card-foreground:165 8% 15%;
 --popover:0 0% 100%;--popover-foreground:165 8% 15%;
 --primary:38 40% 33%;--primary-foreground:0 0% 100%;
 --secondary:40 20% 92%;--secondary-foreground:165 8% 15%;
 --muted:40 20% 93%;--muted-foreground:165 5% 35%;
 --accent:40 24% 91%;--accent-foreground:165 8% 15%;
 --border:40 16% 86%;--input:40 16% 86%;--ring:38 40% 33%;
 --nik-paper:#faf8f4;--nik-cream:#f4f0e8;--nik-ink:#252b29;
 --nik-text:#515b57;--nik-line:#e4dfd4;--nik-bronze:#79602f;
}
html{scroll-padding-top:0}
body{background:var(--nik-paper);color:var(--nik-ink);-webkit-font-smoothing:antialiased}
#root{font-family:Inter,sans-serif}
#root .container{max-width:1160px;padding-left:28px;padding-right:28px}
#root h1,#root h2{font-family:"Playfair Display",serif;letter-spacing:-.025em;text-wrap:balance}
#root h2{font-size:36px;line-height:1.2;font-weight:600}
#root h3{font-family:Inter,sans-serif;font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.015em}
#root h4{font-family:Inter,sans-serif;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.05em}
#root p{line-height:1.65}
#root :where(section:not([aria-label])){padding-top:80px;padding-bottom:80px;scroll-margin-top:76px}
#root section .text-primary{color:var(--nik-bronze)}
#root section .text-muted-foreground{color:var(--nik-text)}
#root section .text-primary.uppercase{font-size:12px;letter-spacing:.1em;font-weight:600}
#root header{background:rgba(250,248,244,.96);border-bottom:1px solid var(--nik-line);box-shadow:none;backdrop-filter:blur(12px)}
#root header>.container{height:76px;gap:18px}
#root header nav{gap:23px}
#root header nav a{font-size:13px;font-weight:500;color:var(--nik-text)}
#root header nav a:hover{color:var(--nik-bronze)}
.nik-brand{gap:11px;flex-shrink:0;text-decoration:none}
.nik-brand-symbol{position:relative;display:block;width:41px;height:41px;overflow:hidden;flex:0 0 41px}
#root header .nik-brand-symbol img{position:absolute;width:115px!important;max-width:none;height:auto!important;left:-3px;top:-8px}
.nik-brand-type{display:flex;flex-direction:column;gap:2px;line-height:1}
.nik-brand-name{font-family:Inter,sans-serif;font-size:26px;font-weight:650;letter-spacing:-.04em;color:var(--nik-ink)}
.nik-brand-label{font-family:Inter,sans-serif;font-size:10px;line-height:1.25;font-weight:500;color:var(--nik-text)}
.nik-header-call{display:none}
#root .nik-hero{padding-top:76px;padding-bottom:0;background:var(--nik-paper);min-height:100svh}
#root .nik-hero .nik-hero-photo{top:76px;left:42%}
#root .nik-hero .nik-hero-shade{background:linear-gradient(90deg,#faf8f4 0%,#faf8f4 31%,rgba(250,248,244,.98)39%,rgba(250,248,244,.62)51%,rgba(250,248,244,0)68%)}
#root .nik-hero .max-w-2xl{max-width:56%}
#root .nik-hero h1{font-size:clamp(44px,4.3vw,58px);line-height:1.1;font-weight:600;margin-bottom:18px}
#root .nik-hero h2{font-size:27px;line-height:1.4;font-weight:400;color:var(--nik-ink);max-width:580px;margin-bottom:22px}
#root .nik-hero p.text-lg{font-size:17px;line-height:1.65;max-width:440px;margin-bottom:30px}
#root .nik-hero p.uppercase{margin-bottom:18px}
#advantages{background:var(--nik-paper)}
#advantages .grid{gap:0}
#advantages .grid>div{border:0;border-left:1px solid var(--nik-line);border-radius:0;box-shadow:none;background:transparent;padding:8px 24px}
#advantages .grid>div:first-child{border-left:0;padding-left:0}
#advantages .grid>div:last-child{padding-right:0}
#advantages .grid>div>svg{width:28px;height:28px;margin-bottom:19px;stroke-width:1.6}
#advantages .grid p{font-size:14px;line-height:1.65}
#services,#expert{background:var(--nik-cream)}
#services .bg-card{border:1px solid var(--nik-line);box-shadow:none;border-radius:14px}
#services h3{font-size:23px}
#services h4{margin-bottom:14px}
#services li{line-height:1.6}
#expert .grid{align-items:start}
#expert img{width:100%;max-width:440px;aspect-ratio:94/100;border-radius:14px;object-position:50% 35%}
#expert blockquote{font-family:Inter,sans-serif;font-size:16px;font-style:normal;line-height:1.65;border-color:var(--nik-bronze);color:var(--nik-text)}
#expert h3{font-size:18px}
#expert ul{font-size:15px;line-height:1.65}
#about{background:var(--nik-paper)}
#about img{max-width:440px;border-radius:14px}
#root section:not([id]):has(h3){background:var(--nik-paper)}
#root section:not([id]):has(h3) .rounded-lg{border-color:var(--nik-line);box-shadow:none}
#contacts{background:var(--nik-cream)}
#contacts .rounded-2xl{border-radius:14px;border-color:var(--nik-line);box-shadow:none}
#root footer{background:#252b29;color:#f5f1e9}
#root footer h4{font-size:12px;font-weight:600;letter-spacing:.05em}
#root footer a:hover{color:#d7c39b}
a[data-nik-messenger="max"]{--nik-msg-ink:#5b35bb}
a[data-nik-messenger="telegram"]{--nik-msg-ink:#0876a6}
a.nik-messenger-button:not(:has(button)),a.nik-messenger-button>button{
 background:#fff!important;color:var(--nik-ink)!important;
 border:1px solid var(--nik-line)!important;border-radius:10px;
 border-color:color-mix(in srgb,var(--nik-msg-ink) 28%,var(--nik-line))!important;
 min-height:48px;padding:12px 19px;font-size:14px;font-weight:600;line-height:22px;
 gap:10px;box-shadow:none;transition:background-color .18s,border-color .18s,box-shadow .18s;
}
a.nik-messenger-button:not(:has(button)):hover,a.nik-messenger-button>button:hover{
 background:#fff!important;color:var(--nik-ink)!important;border-color:var(--nik-msg-ink)!important;
 box-shadow:0 3px 12px rgba(37,43,41,.06);
}
a.nik-messenger-button:not(:has(button))::before,a.nik-messenger-button>button::before{
 background:var(--nik-msg-ink)!important;-webkit-mask:var(--nik-msg-icon) center/contain no-repeat;
 mask:var(--nik-msg-icon) center/contain no-repeat;width:21px;height:21px;flex-basis:21px;
}
a.nik-messenger-button:focus-visible,a.nik-messenger-button>button:focus-visible{outline-color:var(--nik-bronze)}
#root div.fixed.bottom-0.left-0.right-0.z-50{max-width:360px;border-radius:12px;padding:18px;box-shadow:0 6px 28px rgba(37,43,41,.12);border-color:var(--nik-line)}
#root div.fixed.bottom-0.left-0.right-0.z-50 p{font-size:13px;line-height:1.55}
#root div.fixed.bottom-0.left-0.right-0.z-50 button{border-radius:7px;padding:8px 15px;font-weight:600}
@media(min-width:768px) and (max-width:1100px){#root header nav{gap:14px}#root header>.container>div>div{display:none}}
@media(min-width:768px) and (max-width:1023px){#advantages .grid>div{padding:20px 24px}#advantages .grid>div:nth-child(odd){border-left:0}}
@media(max-width:767px){
 html{scroll-padding-top:0}
 #root .container{padding-left:22px;padding-right:22px}
 #root header>.container{height:64px;gap:0}
 .nik-brand{gap:8px}
 .nik-brand-symbol{width:35px;height:35px;flex-basis:35px}
 #root header .nik-brand-symbol img{width:99px!important;left:-3px;top:-7px}
 .nik-brand-name{font-size:23px}.nik-brand-label{font-size:9px}
 .nik-header-call{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:auto;margin-right:12px;border:1px solid var(--nik-line);border-radius:50%;color:var(--nik-ink);background:#fff}
 .nik-header-call svg{width:18px;height:18px}
 #root :where(section:not([aria-label])){padding-top:56px;padding-bottom:56px;scroll-margin-top:64px}
 #root h2{font-size:29px;line-height:1.22}
 #root h3{font-size:18px}
 #root .nik-hero{padding-top:calc(64px + 76vw);padding-bottom:42px;min-height:0}
 #root .nik-hero .nik-hero-photo{top:64px;left:0;height:76vw;background-position:center 28.5714%}
 #root .nik-hero .nik-hero-shade{background:linear-gradient(to bottom,transparent 0,transparent calc(64px + 76vw - 45px),#faf8f4 calc(64px + 76vw + 1px))}
 #root .nik-hero>.container{margin-top:-4px}
 #root .nik-hero .max-w-2xl{max-width:100%}
 #root .nik-hero h1{font-size:clamp(33px,8.7vw,43px);line-height:1.12;margin-bottom:16px}
 #root .nik-hero h2{font-size:23px;line-height:1.35;margin-bottom:18px}
 #root .nik-hero p.text-lg{font-size:16px;line-height:1.65;margin-bottom:24px}
 #root .nik-hero p.uppercase{font-size:10px;letter-spacing:.08em;margin-bottom:14px}
 #root .nik-hero a.nik-messenger-button,#contacts a.nik-messenger-button{width:100%}
 #root .nik-hero a.nik-messenger-button>button,#contacts a.nik-messenger-button>button{width:100%;justify-content:center}
 #root a.fixed.nik-messenger-button{display:none!important}
 #advantages .grid>div,#advantages .grid>div:first-child,#advantages .grid>div:last-child{padding:22px 0;border-left:0;border-top:1px solid var(--nik-line)}
 #advantages .grid>div:first-child{border-top:0;padding-top:0}
 #advantages .grid>div>svg{margin-bottom:13px}
 #services h3{font-size:21px}
 #expert .grid{gap:30px}
 #expert img,#about img{max-width:100%;border-radius:12px}
 #root div.fixed.bottom-0.left-0.right-0.z-50{padding:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 #root *,#root *::before,#root *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
 #root section,#root section [style*="opacity"]{opacity:1!important;transform:none!important}
}

.admin-bar #root :where(section:not([aria-label])){scroll-margin-top:108px}@media(max-width:767px){.admin-bar #root :where(section:not([aria-label])){scroll-margin-top:110px}}
