/* Shared typography and the approved header, banner and contact layouts. */
.topbar{font-size:11px}
.header-inner{height:106px;gap:26px}
.brand{display:inline-flex;flex-shrink:0}
.brand-logo{display:block;width:132px;height:auto;max-height:63px;object-fit:contain}
.desktop-nav{font-size:13px;gap:25px}
.header-phone{font-size:15px}
.header-phone small{font-size:12px;margin-top:4px}
.header-actions{gap:14px}

.eyebrow,.small-label{font-size:12px}
.button,.text-link{font-size:14px}
.section-description{font-size:15px}
.trust-strip .container>span{font-size:14px}
.service-card h3{font-size:21px}
.service-card p{font-size:14px;line-height:1.85}
.service-card-top>span{font-size:12px}
.about-copy p{font-size:15px;line-height:1.85}
.about-visual>img{object-position:center}
.about-stamp span{font-size:12px}
.price-card>p{font-size:14px;min-height:0}
.price-card .small-label{font-size:12px}
.price>span{font-size:14px}
.price-card .text-link,.price-card .button{font-size:14px}
.price-note{font-size:12px}
.process-grid p{font-size:15px}
.process-grid>div>span{font-size:14px}
.faq summary{font-size:15px}
.faq-answer{font-size:14px}
.page-intro p{font-size:15px}
.breadcrumbs{font-size:12px}
.table-hint{font-size:12px}
.price-table{font-size:14px}
.price-table thead th{font-size:13px}
.price-table .table-section th{font-size:13px}
.price-table .table-footnote td{font-size:12px}
.service-aside nav a,.service-aside .button{font-size:14px}
.prose p,.prose li{font-size:15px}
.cloud-description{font-size:15px}
.cloud-diagram p{font-size:14px}
.original-scheme{font-size:13px}
.footer-brand span,.footer nav{font-size:13px}
.footer-email{font-size:18px}
.footer-main>div>p,.footer-bottom{font-size:12px}
.archive-card p{font-size:15px}
.search-form input{font-size:15px}
.search-dialog p,.search-result p,#search-results>p{font-size:14px}

/* The complete original illustration is the banner background. Text stays
   in the empty area above the characters; the offer and buttons sit below it. */
.hero.hero-wide{
  padding:0;
  background-color:#ffdf43;
  background-image:url('/assets/images/hero.jpg');
  background-repeat:no-repeat;
  background-size:100% auto;
  background-position:center 72px;
}
.hero-scene{height:auto;padding:72px 0 35%;position:relative}
.hero-scene::before{
  content:"";position:absolute;inset:72px 0 auto;height:42px;
  background:linear-gradient(#ffdf43,rgba(255,223,67,0));pointer-events:none;
}
.hero-title{position:absolute;inset:0 0 auto;z-index:1;text-align:center;padding-top:24px}
.hero-title .eyebrow{justify-content:center;margin-bottom:12px;font-size:12px}
.hero-wide h1{font-size:clamp(32px,3.4vw,52px);line-height:1.15;letter-spacing:-.045em}
.hero-title-break{display:none}
.hero-bottom{background:#fff;padding:16px 0 38px}
.hero-details{display:grid;grid-template-columns:1.1fr .7fr auto;align-items:center;gap:32px}
.hero-summary>p{font-size:15px;line-height:1.8;max-width:470px}
.hero-wide .hero-note{font-size:12px;margin-top:12px}
.hero-wide .hero-note svg{width:16px;height:16px}
.hero-offer{border-left:1px solid var(--line);padding-left:26px}
.hero-offer .small-label{display:block;font-size:11px}
.hero-offer strong{display:block;margin:4px 0 7px;font-size:30px;line-height:1.15;color:var(--red);letter-spacing:-.04em}
.hero-offer small{display:block;font-size:12px;line-height:1.6;color:var(--muted)}
.hero-wide .hero-actions{margin:0;display:flex;flex-direction:column;align-items:stretch;gap:13px;flex-wrap:nowrap}
.hero-wide .button{font-size:14px;padding:16px 22px;min-height:55px}
.hero-wide .hero-secondary{font-size:13px;justify-content:center}
.hero-wide .hero-secondary svg{width:19px}

/* Both contact columns are cards; only the information card is translucent.
   The existing consultation card and CRM markup keep their original styling. */
.contact{
  background:#cbd8db url('/assets/images/tver-contact.jpg') center center/cover no-repeat;
}
.contact-grid{grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
.contact-info{
  border:1px solid rgba(250,249,245,.75);border-radius:20px;padding:38px;
  background:rgba(250,249,245,.82);box-shadow:0 12px 40px rgba(24,40,40,.06);
}
.contact-info h2{font-size:clamp(30px,3vw,42px)}
.contact-info .contact-intro{font-size:15px;line-height:1.8}
.contact-info .contact-item h3{font-size:16px}
.contact-info .contact-item p{font-size:14px}
.contact-info .contact-item p+p{margin-top:12px}
.contact-info .contact-item a:not(.text-link){font-size:15px}
.contact-info .contact-item .text-link{font-size:13px}
.contact-info .phones a{gap:12px;flex-wrap:wrap}
.contact-info .phones a>span{font-size:12px}
.contact-card .small-label{font-size:11px}
.contact-card .button{font-size:13px}

@media(max-width:1150px){
  .header-inner{gap:22px}
  .desktop-nav{font-size:13px;gap:23px}
  .header-phone{font-size:15px}
  .header-phone small{font-size:12px}
  .hero-details{gap:24px}
  .hero-wide .button{font-size:13px;padding:16px 18px}
  .hero-offer{padding-left:23px}
  .about-stamp{gap:14px}
  .about-stamp img{width:90px}
  .price{font-size:32px}
  .contact-info{padding:30px}
}
@media(max-width:940px){
  .header-inner{height:100px}
  .brand-logo{width:124px;max-height:63px}
  .mobile-nav a{font-size:15px}
  .hero-details{grid-template-columns:1fr 1fr;gap:22px 30px}
  .hero-summary{grid-column:1/-1}
  .hero-summary>p{max-width:none}
  .hero-offer{border-left:0;padding-left:0}
  .hero-title .eyebrow{font-size:11px}
  .trust-strip .container>span{font-size:12px}
  .service-card p{font-size:14px}
  .about-visual{height:430px}
  .about-stamp span{font-size:12px}
  .price-cards{grid-template-columns:1fr}
  .price-card{padding:28px;display:grid;grid-template-columns:1fr auto;column-gap:25px}
  .price-card>.small-label,.price-card>h3,.price-card>p{grid-column:1}
  .price-card>h3{margin-top:13px}
  .price-card>.price{grid-column:2;grid-row:1/3;margin:0;align-self:center;font-size:33px}
  .price-card>.text-link,.price-card>.button{grid-column:2;grid-row:3/5;margin-top:12px;align-self:end}
  .footer-email{font-size:16px}
  .contact-grid{grid-template-columns:1fr;max-width:680px}
  .contact-info{padding:34px}
  .contact-card{padding:27px}
  .contact{background-position:36% center}
}
@media(max-width:680px){
  .topbar .container,.topbar .container>span{font-size:10px}
  .topbar .container{height:34px}
  .header-inner{height:82px}
  .brand-logo{width:104px;max-height:63px}
  .eyebrow,.small-label{font-size:11px}
  .section-description,.about-copy p,.prose p,.prose li,.cloud-description{font-size:14px}
  .service-grid{grid-template-columns:1fr}
  .service-card{padding:25px}
  .service-card h3{font-size:22px}
  .service-card-top{margin-bottom:23px}
  .service-card p{font-size:14px}
  .trust-strip .container>span{font-size:13px}
  .about-visual{height:320px}
  .about-stamp{padding:18px;gap:12px}
  .about-stamp span{font-size:11px}
  .price-card{display:flex;padding:27px}
  .price-card h3{font-size:25px;margin-top:19px}
  .price-card>p{font-size:14px}
  .price-card>.price{font-size:36px;margin:20px 0;align-self:start}
  .price-card>.text-link,.price-card>.button{margin-top:0;align-self:stretch}
  .price-card .text-link{font-size:14px}
  .price>span{font-size:14px}
  .price-note,.table-hint{font-size:12px}
  .process-grid p{font-size:14px}
  .faq summary{font-size:15px}
  .faq-answer{font-size:14px}
  .page-intro p{font-size:14px}
  .price-page-heading>.text-link{font-size:14px}
  .price-table{font-size:14px;min-width:760px}
  .price-table thead th{font-size:13px}
  .footer-bottom{font-size:11px}
  .footer-email{font-size:18px}
  .footer-brand span,.footer nav,.footer-main>div>p{font-size:12px}
  .search-form input,.search-form .button{font-size:16px}
  .hero.hero-wide{
    background-size:max(680px,100vw) auto;
    background-position:center 145px;
  }
  .hero-scene{height:calc(145px + max(238px,35vw));padding:0}
  .hero-scene::before{inset-block-start:145px;height:35px}
  .hero-title{padding-top:24px}
  .hero-title .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:15px}
  .hero-wide h1{font-size:clamp(30px,7.6vw,42px);line-height:1.15}
  .hero-title-break{display:block}
  .hero-bottom{padding:8px 0 34px}
  .hero-details{grid-template-columns:1fr;gap:22px}
  .hero-summary{grid-column:auto}
  .hero-summary>p{font-size:14px;line-height:1.85}
  .hero-offer{border-top:1px solid var(--line);padding-top:21px;display:grid;grid-template-columns:1fr auto;column-gap:15px}
  .hero-offer .small-label{font-size:11px}
  .hero-offer strong{grid-column:1;font-size:29px;margin-bottom:0}
  .hero-offer small{grid-column:2;grid-row:1/3;align-self:center;font-size:11px}
  .hero-wide .hero-actions{gap:18px}
  .hero-wide .button{font-size:14px}
  .hero-wide .hero-secondary{font-size:14px}
  .contact-grid{gap:24px}
  .contact-info{padding:27px 23px}
  .contact-info h2{font-size:30px}
  .contact-info .contact-intro{font-size:14px}
  .contact-info .contact-item a:not(.text-link){font-size:14px}
  .contact-card{padding:27px 23px}
}
@media(max-width:360px){
  .topbar .container>span{font-size:9px}
  .about-stamp{flex-direction:column;align-items:start}
  .hero-offer{grid-template-columns:1fr}
  .hero-offer small{grid-column:1;grid-row:auto;margin-top:8px}
  .hero-offer small br{display:none}
  .contact-info{padding:24px 19px}
}
@media print{
  .hero.hero-wide{background:none}
  .hero-scene{height:auto;padding:0}
  .hero-title{position:relative}
  .hero-scene::before{display:none}
  .hero-details{display:block}
  .hero-offer,.hero-actions{display:none!important}
  .price-table{font-size:9px;min-width:0}
}
