/* Tedy-inspired editorial theme. Content and calculator behavior stay in their source files. */
@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&family=Prata&display=swap');

:root { --ink:#15151b; --pink:#2062ed; --paper:#fffefa; --line:#e5e3df; --lime:#e7f49a; }
.ui-icon { display:inline-block; flex-shrink:0; vertical-align:middle; }
.contact-icon { width:22px; height:22px; margin-top:1px; }
#advantages .text-2xl .ui-icon { width:28px; height:28px; color:#2062ed; }
#calculator .text-2xl .ui-icon { width:28px; height:28px; color:#2062ed; }
.faq-icon .ui-icon { width:18px; height:18px; }
#feedback-btn .ui-icon { width:20px; height:20px; }
html { scroll-padding-top:103px; }
/* Anchor the section content below the sticky header, accounting for section padding. */
body > section[id] { scroll-margin-top:-100px; }
@media(max-width:767px) {
  html { scroll-padding-top:87px; }
  body > section[id] { scroll-margin-top:-64px; }
}
body { background:var(--paper)!important; color:var(--ink)!important; font-family:'Golos Text',Arial,sans-serif!important; }
body > section { border:0; padding:100px 0; }
body > section > div { max-width:1240px; }
h1,h2 { font-family:'Prata',Georgia,serif; font-weight:400!important; letter-spacing:-.055em!important; text-wrap:balance; }
h2 { font-size:clamp(32px,4vw,54px)!important; line-height:1.16!important; }
h3 { letter-spacing:-.025em; }
p { line-height:1.7!important; }
.text-slate-500,.text-slate-600 { color:#626169; }
.font-light { font-weight:400; }
body > section p.text-xs { font-size:14px; }
body > section p.text-sm { font-size:16px; }
#sticky-header { background:rgba(255,254,250,.96); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
#sticky-header nav { max-width:1320px; min-height:82px; padding-top:12px; padding-bottom:12px; }
#sticky-header nav .header-logo { --header-logo-width:210px; display:block; width:var(--header-logo-width); height:calc(var(--header-logo-width) * 362 / 1846); object-fit:contain; }
#sticky-header nav > .hidden { gap:24px; margin:0; }
#sticky-header nav > .hidden a { margin:0; color:var(--ink); font-size:13px; }
#sticky-header nav > .hidden a:hover { color:var(--pink); }
#phone-copy { font-size:14px; }
body > section:first-of-type { margin:16px auto 0; width:calc(100% - 40px); max-width:none; border-radius:36px; background:radial-gradient(ellipse at 88% 30%,#e9edcf 0,transparent 50%),radial-gradient(ellipse at 10% 70%,#dce5f7 0,transparent 60%),#f1f3f8; padding:90px 0 100px; }
body > section:first-of-type > .absolute { display:none; }
body > section:first-of-type > .relative { align-items:flex-start; text-align:left; padding-right:min(35%,504px); min-height:480px; }
body > section:first-of-type h1 { font-size:clamp(42px,5.1vw,74px); line-height:1.23; position:relative; z-index:1; }
body > section:first-of-type h1 br { display:none; }
body > section:first-of-type h1 span { color:var(--ink); background:none; text-decoration:underline; text-decoration-color:var(--pink); text-decoration-thickness:3px; text-underline-offset:.22em; text-decoration-skip-ink:none; }
body > section:first-of-type p { margin-left:0; max-width:590px; color:#46424c; font-size:17px; opacity:1; }
body > section:first-of-type > .relative > .inline-flex { border:0; box-shadow:none; background:rgba(255,255,255,.65); padding:10px 16px; font-size:11px; }
body > section:first-of-type .mt-8 { justify-content:flex-start; }
body > section:first-of-type a { width:auto; min-width:210px; padding:18px 24px; font-size:13px; border-radius:100px; box-shadow:none; }
body > section:first-of-type > .relative:after { content:''; position:absolute; width:34%; height:85%; right:0; bottom:0; background:url('/finance-art.svg') center/contain no-repeat; pointer-events:none; }
.bg-blue-600 { background-color:var(--pink); }
.text-blue-600 { color:#2062ed; }
.bg-blue-50 { background-color:#edf2ff; }
.border-blue-600 { border-color:var(--pink); }
.hover\:bg-blue-700:hover { background-color:#174fc7; }
a.bg-blue-600,button.bg-blue-600 { border-radius:100px; box-shadow:none; }
a,button,[onclick] { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #174fc7!important; outline-offset:5px; }
#contacts input:focus-visible, #calculator input:focus-visible { outline:none!important; outline-offset:0; border-color:#2563eb; }
#advantages { background:var(--paper); }
#advantages > div > div:first-child { max-width:770px; margin-bottom:48px; }
#advantages .grid { gap:16px; }
#advantages [onclick] { background:#f3f1ed; border:0; border-radius:24px; padding:32px; min-height:290px; }
#advantages [onclick]:nth-child(2),#advantages [onclick]:nth-child(6) { background:#e9eef9; }
#advantages [onclick]:nth-child(3) { background:#edf0df; }
#advantages [onclick]:hover { transform:translateY(-5px); box-shadow:0 14px 32px #26211d0c; }
#advantages h3 { font-size:21px; line-height:1.3; max-width:270px; }
#advantages [onclick] > .mt-6 { color:var(--ink); font-size:13px; }
#advantages [onclick] > .mt-6 svg { margin-left:auto; width:28px; height:28px; padding:6px; border:1px solid #aaa8; border-radius:50%; }
#team { background:#f3f1ed; border-radius:40px; margin:0 20px; }
#team .grid > div { background:transparent; border:0; padding:0; }
#team .aspect-square { border:0; border-radius:22px; }
#team h3 { font-size:23px; }
#team .grid p { max-width:340px; }
#calculator { background:var(--paper); }
#calculator > div { max-width:1160px; }
#calculator > div > .text-center { max-width:760px; margin-left:auto; margin-right:auto; }
#calculator > div > .grid { border-radius:28px; border:1px solid var(--line); box-shadow:0 16px 48px #24201a08; }
#calculator .md\:col-span-5 { background:#edf2fc; border:0; }
#calculator h4 { color:#385780; }
#calculator .md\:col-span-5 .text-slate-400 { color:#536580; }
#calculator #summary-total-price { display:inline-block; font-family:'Prata',Georgia,serif; font-size:44px; font-weight:400; letter-spacing:-.035em; line-height:1.2; font-variant-numeric:lining-nums tabular-nums; color:#000; }
#calculator #input-employees { font-family:'Prata',Georgia,serif; font-weight:400; letter-spacing:-.035em; font-variant-numeric:lining-nums tabular-nums; }
#summary-total-price ~ span { font-family:'Prata',Georgia,serif; color:#000; font-weight:400; font-size:20px; }
#calculator .text-right:has(> #summary-total-price) > span:first-child { color:#626169; font-size:14px; font-weight:400; }
#calculator .text-right:has(> #summary-total-price) { position:relative; }
#summary-total-price.price-rolling { opacity:0; }
.price-odometer { position:absolute; display:inline-flex; white-space:pre; pointer-events:none; }
.odometer-digit { position:relative; display:inline-block; height:100%; overflow:hidden; }
.odometer-size { display:block; }
.odometer-size-hidden { visibility:hidden; }
.odometer-strip { position:absolute; top:0; left:0; width:100%; }
.odometer-strip > span { display:block; height:var(--digit-height); }
#calculator [id^='card-'] { border-radius:18px; }
#calc-progress-bar { background:var(--pink); }
#faq { background:#f0f3f9; }
#faq > div { max-width:950px; }
#faq .faq-item { border:0; border-bottom:1px solid #d0d8e5; border-radius:0; background:transparent; box-shadow:none; }
#faq .faq-item.active { background:#f8faff; border-radius:16px; }
#reviews { background:var(--paper); }
#reviews-container > div { background:#edf0df; border:0; border-radius:26px; padding:36px; }
#reviews-container > div:nth-child(even) { background:#e9eef9; }
#reviews-container > div > p { font-size:18px!important; font-style:normal; }
#contacts { background:#dfe7f6; margin:0 20px; border-radius:36px; }
#contacts > div > div:first-child { border:0; border-radius:24px; }
#contacts input { background:#f8f6f4; border-color:#e6e1df; border-radius:14px; }
/* Shared consent control; checked styles must override the form input background. */
#contacts #privacy, #calculator #privacy-policy {
  appearance:none;
  width:20px;
  height:20px;
  padding:0;
  flex-shrink:0;
  border:1px solid #d6dbe4;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
  transition:background-color .15s, border-color .15s;
}
#contacts #privacy:checked, #calculator #privacy-policy:checked {
  border-color:#2062ed;
  background:#2062ed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
#contacts #privacy:focus-visible, #calculator #privacy-policy:focus-visible {
  outline:2px solid #2062ed!important;
  outline-offset:3px;
}
footer { background:var(--paper)!important; border:0!important; padding:32px!important; }
#feedback-btn a { background:var(--ink); box-shadow:0 5px 20px #0002; border-radius:100px; }
@media(min-width:1000px) { #faq > div { display:grid; grid-template-columns:1fr 1.3fr; column-gap:70px; max-width:1240px; } #faq > div > div:first-child { text-align:left; } }
@media(max-width:1100px) { #sticky-header nav > .hidden { gap:12px; } #sticky-header nav .header-logo { --header-logo-width:175px; } body > section:first-of-type > .relative { padding-right:31%; } body > section:first-of-type a { min-width:180px; } }
@media(max-width:767px) { body > section { padding:64px 0; } #sticky-header nav { min-height:66px; padding-top:10px; padding-bottom:10px; } #sticky-header nav .header-logo { --header-logo-width:155px; } #phone-copy { font-size:12px; } body > section:first-of-type { width:calc(100% - 24px); margin-top:8px; border-radius:28px; padding:36px 0 0; } body > section:first-of-type > .relative { padding:0 24px 290px; min-height:0; } body > section:first-of-type h1 { font-size:43px; } body > section:first-of-type p { font-size:15px; margin-top:24px; } body > section:first-of-type > .relative > .inline-flex { font-size:10px; margin-bottom:26px; padding:9px 12px; } body > section:first-of-type a { width:100%; padding:16px; } body > section:first-of-type > .relative:after { width:85%; height:265px; right:7.5%; bottom:0; } body > section:first-of-type .mt-8 { max-width:none; } #team,#contacts { margin:0 12px; border-radius:28px; } #team .grid { gap:40px; } #team .aspect-square { max-height:440px; } #advantages [onclick] { min-height:270px; padding:28px; } #calculator #summary-total-price { font-size:36px; } #reviews-container > div { padding:26px; } #reviews-container > div > p { font-size:16px!important; } h2 { letter-spacing:-.045em!important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*:before,*:after { transition:none!important; animation:none!important; } }
