
:root {
  --page-width:1264px;
  --page-gutter:var(--shell);
  --section-space:clamp(5rem,7vw,7rem);
  --card-padding:clamp(24px,3vw,40px);
  --control-radius:var(--radius-sm);
  --card-radius:var(--radius);
  --line:var(--b100);
  --paper:var(--surface);
}
html { scroll-padding-top:calc(var(--header-h) + 24px); }
body { background:#fff; }
[hidden] { display:none!important; }
.container { width:calc(100% - var(--page-gutter)*2); max-width:var(--page-width); margin-inline:auto; }
.section { padding-block:var(--section-space); }
main h2 { margin:0; color:var(--b900); font-size:clamp(1.75rem,3vw,2.5rem); font-weight:700; line-height:1.15; letter-spacing:-.025em; text-wrap:balance; }
main h3 { margin:0; font-size:22px; font-weight:700; line-height:1.35; letter-spacing:-.025em; }
main :where(p) { color:var(--muted); line-height:1.65; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; align-items:end; margin-bottom:40px; }
.section-heading p { max-width:360px; margin:0 0 4px; font-size:15px; }
.section-heading > :only-child { grid-column:1/-1; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:12px 20px; background:#fff; color:var(--ink); transform:translateY(-200%); }
.skip-link:focus { transform:none; }


.text-link { display:inline-block; padding:4px 0; color:var(--b600); border-bottom:1px solid #9ab3c7; font-size:14px; font-weight:600; line-height:1.5; }
@media (hover:hover) {
  .text-link:hover { color:var(--b800); border-color:var(--b800); }
}




.hero__stats dd { margin:0; }

.benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-block:36px; border-bottom:1px solid var(--line); }
.benefits__item { display:flex; flex-direction:column; gap:8px; padding:8px 24px; border-right:1px solid var(--line); }
.benefits__item:last-child { border-right:0; }
.benefits__item strong { font-size:15px; font-weight:600; }
.benefits__item span { color:var(--muted); font-size:13px; line-height:1.6; }


.business-section { padding-bottom:0; }
.business { display:grid; grid-template-columns:1.1fr 1fr; border-radius:var(--card-radius); overflow:hidden; }
.business__intro { padding:clamp(32px,4vw,56px); background:var(--b950); color:#fff; }
.business__intro h2 { color:#fff; }
.business__intro p { max-width:480px; margin:24px 0 32px; color:#c6d6e2; font-size:15px; }
.business__brief { padding:clamp(32px,4vw,56px); background:var(--surface); }
.business__brief h3 { font-size:26px; }
.business__brief dl { margin:28px 0 0; }
.business__brief dl > div { display:grid; grid-template-columns:110px 1fr; gap:24px; padding:20px 0; border-top:1px solid #c9d6df; }
.business__brief dt { font-size:14px; font-weight:600; }
.business__brief dd { margin:0; font-size:14px; line-height:1.65; color:var(--muted); }

.consultation { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(32px,5vw,80px); }
.consultation__image { margin:0; height:100%; min-height:480px; border-radius:var(--card-radius); overflow:hidden; }
.consultation__image img { width:100%; height:100%; object-fit:cover; }
.consultation__content { padding-block:20px; }
.consultation__content > p { margin:24px 0; font-size:15px; max-width:440px; }
.check-list { display:grid; gap:16px; padding:0; margin:28px 0 32px; list-style:none; }
.check-list li { position:relative; padding-left:28px; font-size:14px; line-height:1.6; color:#3d566d; }
.check-list li::before { content:""; position:absolute; top:5px; left:3px; width:6px; height:11px; border:solid var(--b500); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.consultation__note { display:block; margin-top:12px; color:var(--muted); font-size:12px; }

.rating-section { padding-block:48px; background:var(--b50); }
.rating { display:grid; grid-template-columns:180px minmax(0,1fr) auto; align-items:center; gap:48px; }
.rating__mark { color:var(--b500); font-size:14px; font-weight:600; letter-spacing:.1em; }
.rating__mark strong { display:block; font-size:120px; line-height:1; font-weight:500; letter-spacing:-.065em; }
.rating__content { padding-left:48px; border-left:1px solid #b6cbdc; }
.rating__note { margin:0; font-size:13px; line-height:1.8; }

.solutions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.solution-card { display:flex; flex-direction:column; min-width:0; padding:var(--card-padding); border:1px solid var(--line); border-radius:var(--card-radius); background:#fff; transition:border-color .2s,background-color .2s; }
.solution-card h3 { font-size:26px; }
.solution-card p { max-width:400px; margin:14px 0 28px; font-size:15px; }
.solution-card__bottom { display:flex; flex-wrap:wrap; align-items:center; gap:24px; justify-content:space-between; margin-top:auto; padding-top:24px; border-top:1px solid var(--line); }
.solution-card__bottom > span { max-width:190px; color:var(--muted); font-size:12px; line-height:1.6; }
@media (hover:hover) { .solution-card:hover { background:#f9fbfc; border-color:#a7bdce; } }

.reviews-section { background:linear-gradient(180deg,#edf3f7 0%,var(--paper) 100%); }
.reviews-heading { max-width:810px; margin:0 auto 40px; }
.reviews-heading h2 { max-width:none; }
.yandex-reviews-widget { width:100%; max-width:810px; height:850px; box-sizing:border-box; padding:24px; overflow:hidden; position:relative; margin-inline:auto; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 16px 48px rgb(25 55 78 / .08); }
.yandex-reviews-widget iframe { display:block; }
@media (max-width:600px) {
  .yandex-reviews-widget { height:800px; padding:0; border:0; border-radius:8px; box-shadow:0 10px 30px rgb(25 55 78 / .07); }
}

.experts { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:clamp(32px,6vw,96px); }
.experts__intro p { max-width:560px; margin:24px 0 32px; font-size:15px; }
.experts__credentials { padding:var(--card-padding); border:1px solid var(--line); border-radius:var(--card-radius); background:var(--surface); }
.experts__credentials h3 { font-size:28px; }
.experts__credentials ul { list-style:none; padding:0; margin:28px 0; }
.experts__credentials li { padding:12px 0; border-bottom:1px solid var(--line); color:#435d73; font-size:14px; }

.about-section { background:var(--paper); }
.service-tabs { display:flex; gap:24px; border-bottom:1px solid #c6d6e2; margin-bottom:32px; }
.service-tabs__button { position:relative; padding:16px 12px; color:var(--muted); font-size:14px; font-weight:600; }
.service-tabs__button[aria-selected="true"] { color:var(--b800); }
.service-tabs__button[aria-selected="true"]::after { content:""; position:absolute; inset:auto 0 -1px; height:2px; background:var(--b600); }
.service-article { display:grid; grid-template-columns:1.3fr 1fr; gap:40px; }
.service-article > div { padding:8px 0; }
.service-article h3 { max-width:480px; font-size:28px; }
.service-article p { margin:20px 0 0; font-size:15px; max-width:620px; }
.service-article aside { padding:var(--card-padding); background:#fff; border:1px solid var(--line); border-radius:var(--card-radius); }
.service-article h4 { margin:0 0 20px; font-size:17px; font-weight:600; }
.service-article ul { margin:0 0 24px; padding-left:18px; display:grid; gap:12px; color:var(--muted); font-size:14px; line-height:1.65; }
.service-article small { color:var(--muted); font-size:12px; }
.service-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:20px; }
.service-step { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--card-radius); background:#fff; }
.service-step__content { flex:1; padding:32px 36px; }
.service-step h3 { margin:0; font-size:27px; line-height:1.3; }
.service-step__content p { max-width:450px; margin:16px 0 0; font-size:15px; line-height:1.7; }
.service-step__result { display:grid; grid-template-columns:80px minmax(0,1fr); align-items:baseline; gap:16px; margin:0; padding:22px 36px; border-top:1px solid var(--line); background:#f8fafb; }
.service-step__result dt { color:var(--muted); font-size:12px; line-height:1.6; }
.service-step__result dd { margin:0; color:var(--ink); font-size:14px; font-weight:500; line-height:1.6; }
.service-step--complete { background:var(--b950); border-color:var(--b950); }
.service-step--complete h3,.service-step--complete .service-step__result dd { color:#fff; }
.service-step--complete .service-step__content p,.service-step--complete .service-step__result dt { color:#c4d5e1; }
.service-step--complete .service-step__result { background:#203f57; border-color:#496276; }

.order-section { padding-block:64px; background:var(--paper); }
.order-banner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; padding:clamp(28px,4vw,56px); border-radius:var(--card-radius); background:var(--b950); }
.order-banner h2 { max-width:700px; color:#fff;  }
.order-banner p { max-width:650px; margin:20px 0 0; color:#c6d6e2; font-size:15px; }


.process { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr); align-items:center; gap:clamp(36px,5vw,72px); padding:clamp(36px,4.5vw,64px); border-radius:var(--card-radius); background:var(--b950); }
.process__intro h2 { color:#fff;  text-wrap:initial; }
.process__intro p { max-width:340px; margin:24px 0 32px; color:#c6d6e2; font-size:15px; line-height:1.8; }
.process__steps { display:grid; gap:16px; min-width:0; margin:0; padding:0; list-style:none; }
.process__step { min-width:0; margin:0 36px 0 0; padding:28px 32px; border-radius:var(--card-radius); background:#fff; }
.process__step:nth-child(even) { margin:0 0 0 36px; }
.process__step:nth-child(2) { background:#e8eff4; }
.process__step:nth-child(3) { background:#b8d0e2; }
.process__step h3 { color:#102d43; font-size:23px; line-height:1.3; }
.process__step p { margin:12px 0 0; color:#3b566a; font-size:14px; line-height:1.7; }

.faq-section { padding-top:0; }
.faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr); gap:clamp(32px,5vw,80px); }
.faq > div:first-child p { margin:24px 0; font-size:15px; }
.faq__list { border:1px solid var(--line); border-radius:var(--card-radius); overflow:hidden; }
.faq__list details + details { border-top:1px solid var(--line); }
.faq__list summary { position:relative; padding:25px 64px 25px 28px; font-size:15px; font-weight:600; line-height:1.5; list-style:none; cursor:pointer; }
.faq__list summary::-webkit-details-marker { display:none; }
.faq__list summary::before,.faq__list summary::after { content:""; position:absolute; top:50%; right:28px; width:12px; height:1.5px; background:var(--b600); }
.faq__list summary::after { transform:rotate(90deg); transition:transform .2s; }
.faq__list details[open] { background:#f3f7fa; }
.faq__list details[open] summary::after { transform:rotate(0); }
.faq__list details p { margin:0; padding:0 64px 28px 28px; font-size:14px; }
.faq__list summary:focus-visible { outline-offset:-4px; }

.contact-section { background:var(--paper); }
.contacts-heading { margin-bottom:32px; }
.contacts-heading p { margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.contacts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.office-card { display:block; padding:var(--card-padding); color:var(--ink); text-decoration:none; background:#fff; border:1px solid var(--line); border-radius:var(--card-radius); transition:background-color .18s,border-color .18s; }
.office-card:focus-visible { outline:2px solid var(--b500); outline-offset:4px; }
@media (hover:hover) { .office-card:hover { background:#f5f8fb; border-color:var(--b500); } }
.office-card__city { margin-bottom:20px; font-size:20px; }
.office-card__phone { display:inline-block; color:var(--ink); font-size:clamp(22px,2.3vw,32px); line-height:1.4; font-weight:500; letter-spacing:-.035em; }
.office-card p { min-height:24px; margin:12px 0 28px; font-size:14px; }
.contacts__online { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0 0; }
.contacts__online > div { display:flex; align-items:center; gap:24px; }
.contacts__online span { color:var(--muted); font-size:13px; }
.contacts__online div a { font-size:17px; font-weight:500; }


.lead-section { background:var(--b950); color:#fff; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,96px); align-items:start; }
.contact-layout h2 { color:#fff;  }
.contact-layout > div > p { color:#c6d6e2; margin:24px 0 32px; font-size:15px; }
.contact-layout__phone { display:block; margin:0 0 8px; color:#fff; font-size:26px; font-weight:500; letter-spacing:-.03em; }
.contact-layout > div > small { color:#b9cbd9; font-size:13px; }
.contact-form { display:grid; gap:24px; margin:0; }
.contact-layout > .contact-form { padding:var(--card-padding); border-radius:var(--card-radius); background:#fff; color:var(--ink); }
.contact-form__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.contact-form__field { display:block; min-width:0; margin:0; color:#2c455d; font-size:13px; line-height:1.5; font-weight:600; }
.contact-form__optional { color:var(--muted); font-weight:400; }
.contact-form input:not([type=checkbox]),.contact-form textarea { display:block; width:100%; min-width:0; min-height:50px; margin-top:9px; padding:13px 15px; border:1px solid var(--b200); border-radius:var(--control-radius); background:#fff; color:var(--ink); font:400 14px/1.5 var(--font); transition:border-color .18s,box-shadow .18s; }
.contact-form textarea { min-height:104px; resize:vertical; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#76899a; opacity:1; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--b500); outline:0; box-shadow:0 0 0 3px #e4edf6; }
.contact-form [aria-invalid="true"] { border-color:#a24545!important; }
.contact-form__consent { display:flex; align-items:flex-start; gap:12px; margin:0; color:#65788a; font-size:11px; line-height:1.7; font-weight:400; }
.contact-form__consent input { flex:0 0 17px; width:17px; height:17px; margin:2px 0 0; accent-color:var(--b600); }
.contact-form__consent a { text-decoration:underline; text-underline-offset:3px; }
.contact-form__status { padding:14px 16px; margin:0!important; border-radius:var(--control-radius); font-size:13px; line-height:1.6; }
.contact-form__status.is-error { background:#fbefed; color:#91473f; }
.contact-form__status.is-success { background:#edf4f1; color:#29534b; }
.contact-form__status a { display:inline-block; margin-top:6px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }

.modal-open { overflow:hidden; }
.contact-modal { position:fixed; width:min(620px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:40px; border:0; border-radius:var(--card-radius); background:#fff; color:var(--ink); box-shadow:0 20px 80px rgb(6 21 37 / .2); overflow:auto; overscroll-behavior:contain; }
.contact-modal::backdrop { background:rgb(6 21 37 / .65); backdrop-filter:blur(3px); }
.contact-modal[open] { animation:modal-in .2s ease-out; }
.contact-modal__close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:40px; height:40px; padding:10px; border:1px solid transparent; border-radius:var(--control-radius); color:#426177; }
.contact-modal__close:hover { background:#edf2f6; }
.contact-modal__close svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.contact-modal__intro { margin:0 0 28px; padding-right:12px; }
.contact-modal__intro h2 { margin:0; color:var(--ink); font-size:1.5rem; font-weight:700; line-height:1.2; letter-spacing:-.025em; }
.contact-modal__intro p { margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.contact-modal__phone { display:block; margin-top:24px; text-align:center; color:var(--b600); font-size:12px; line-height:1.6; }
@keyframes modal-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

@media (max-width:1000px) {
  .process { grid-template-columns:minmax(0,1fr); gap:32px; padding:40px; }
  .process__intro { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:24px 32px; }
  .process__intro h2 { grid-column:1; grid-row:1; }
  .process__intro p { grid-column:2; grid-row:1 / 3; max-width:none; margin:0; }
  .process__intro .btn { justify-self:start; }
  .process__step { margin-right:64px; }
  .process__step:nth-child(even) { margin-left:64px; }

  .reviews-heading { margin-bottom:32px; }
  .service-step__content { padding:28px; }
  .service-step__result { grid-template-columns:minmax(0,1fr); gap:6px; padding:20px 28px; }
  .service-step h3 { min-height:2.6em; font-size:24px; }
  .benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  .benefits__item:nth-child(2) { border-right:0; }
  .rating { grid-template-columns:120px 1fr; gap:32px; }
  .rating__content { padding-left:32px; }
  .rating__note { display:none; }
  .consultation__image { min-height:420px; }
  .solution-card__bottom { align-items:flex-start; }
  .contact-form__row { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .process { padding:32px; }
  .process__intro { display:block; }
  .process__intro p { max-width:460px; margin:20px 0 28px; }
  .process__step { margin-right:28px; }
  .process__step:nth-child(even) { margin-left:28px; }
  .service-step h3 { min-height:0; }

  .service-steps { grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; gap:16px; }
  .service-step__result { grid-template-columns:80px minmax(0,1fr); gap:16px; }
  .section-heading,.consultation,.experts,.service-article,.contact-layout,.faq { grid-template-columns:minmax(0,1fr); gap:32px; }
  .section-heading { margin-bottom:32px; gap:20px; }
  .section-heading p { max-width:520px; }
  .business { grid-template-columns:minmax(0,1fr); }
  .business__intro,.business__brief { padding:32px; }
  .business__brief dl > div { grid-template-columns:100px 1fr; }
  .consultation__image { height:340px; min-height:0; }
  .consultation__content { padding:0; }
  .consultation__content > p { max-width:560px; }
  .order-banner { grid-template-columns:minmax(0,1fr); gap:28px; }
  .order-banner > .btn { justify-self:start; }
  .contact-layout .contact-form__row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contacts__online > div { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media (max-width:540px) {
  .process { padding:32px 20px 20px; gap:32px; }
  .process__intro { padding:0 4px; }
  .process__intro p { font-size:14px; }
  .process__intro .btn { width:100%; padding-inline:16px; }
  .process__steps { gap:12px; }
  .process__step,.process__step:nth-child(even) { margin:0; padding:24px; }
  .process__step h3 { font-size:21px; }

  .benefits { padding-block:24px; gap:20px 0; }
  .benefits__item { padding:8px 14px; }
  .benefits__item strong { font-size:13px; }
  .benefits__item span { font-size:12px; }
  .business__intro,.business__brief { padding:28px 24px; }
  .business__brief dl > div { grid-template-columns:1fr; gap:8px; }
  .business__brief h3 { font-size:24px; }
  .consultation__image { height:280px; }
  .consultation .btn { width:100%; }
  .rating { grid-template-columns:70px 1fr; gap:20px; }
  .rating__mark { font-size:10px; }
  .rating__mark strong { font-size:80px; }
  .rating__content { padding-left:20px; }
  .solutions,.service-steps,.contacts { grid-template-columns:minmax(0,1fr); gap:16px; }
  .solution-card h3 { font-size:23px; }
  .solution-card__bottom { gap:20px; }
  .solution-card__bottom > span { max-width:none; }
  .solution-card__bottom .btn { width:100%; }
  .reviews-heading { margin-bottom:28px; }
        .service-step__content { padding:28px 24px; }
  .service-step h3 { font-size:24px; }
  .service-step__result { grid-template-columns:minmax(0,1fr); gap:6px; padding:20px 24px; }
  .experts__credentials h3,.service-article h3 { font-size:25px; }
  .order-section { padding-top:0; padding-bottom:64px; }
  .order-banner { padding:28px 24px; }
  .order-banner > .btn { width:100%; }
  .faq__list summary { padding:22px 48px 22px 20px; font-size:14px; }
  .faq__list summary::before,.faq__list summary::after { right:20px; }
  .faq__list details p { padding:0 20px 24px; }
  .contacts__online { flex-direction:column; align-items:flex-start; }
  .contacts__online .btn { width:100%; }
  .contact-layout .contact-form__row { grid-template-columns:minmax(0,1fr); }
  .contact-layout__phone { font-size:24px; }
  .contact-form input:not([type=checkbox]),.contact-form textarea { font-size:16px; }
  .contact-modal { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:40px 24px 28px; }
  .contact-modal__intro { padding:0; }
  .contact-modal__close { top:8px; right:8px; }
  .contact-modal__phone { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .btn,.solution-card,.faq__list summary::after { transition:none; }
  .contact-modal[open] { animation:none; }
}


.report-heading {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  align-items:end;
  gap:2rem 4rem;
  margin-bottom:3.25rem;
}
.report-section .report-heading h2 { margin:0;   }
.report-heading > p { max-width:25rem; margin:0 0 .2rem; color:var(--muted); font-size:1rem; line-height:1.65; }
.report-dossier {
  --report-paper:#f8fafb;
  position:relative;
  display:grid;
  grid-template-columns:minmax(15rem,.9fr) minmax(0,2.8fr);
  padding:10px;
  border-radius:0 var(--card-radius) var(--card-radius) var(--card-radius);
  background:#173650;
}
.report-dossier::before {
  content:"";
  position:absolute;
  bottom:100%;
  left:0;
  width:28%;
  height:18px;
  background:#173650;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 100%,0 100%);
  border-radius:var(--control-radius) 0 0;
}
.report-index { display:flex; flex-direction:column; min-width:0; padding:1.5rem 0 1.5rem 1rem; }
.report-index__label { margin:0 1.5rem 1.5rem; color:#b8ccdd; font-size:.75rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; }
.report-choices { display:flex; flex:1; flex-direction:column; }
.report-choice {
  position:relative;
  flex:1;
  width:100%;
  min-height:64px;
  padding:1.125rem 1.5rem;
  border:0;
  border-radius:var(--control-radius) 0 0 var(--control-radius);
  background:transparent;
  color:#dae4ed;
  font:500 .9375rem/1.45 Inter, sans-serif;
  text-align:left;
  cursor:pointer;
  transition:color .18s ease,background-color .18s ease;
}
.report-choice[aria-selected="true"] { background:var(--report-paper); color:#102d46; font-weight:700; }
.report-choice:focus-visible { z-index:1; outline:2px solid #a0c5e5; outline-offset:-5px; }
.report-workspace {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);
  gap:clamp(1.75rem,3.5vw,3rem);
  align-items:center;
  min-width:0;
  padding:clamp(1.75rem,3.3vw,3rem);
  border-radius:var(--control-radius);
  background:var(--report-paper);
}
.report-cover { position:relative; isolation:isolate; margin:0 12px 12px 0; }
.report-cover::before,.report-cover::after { content:""; position:absolute; inset:0; z-index:-1; border:1px solid #cbd6df; background:#fff; }
.report-cover::before { transform:translate(12px,12px); }
.report-cover::after { transform:translate(6px,6px); }
.report-cover__front { overflow:hidden; display:flex; flex-direction:column; min-height:365px; background:#172536; color:#fff; box-shadow:0 6px 16px rgb(22 45 64 / .12); }
.report-cover__type { padding:1.75rem 1.75rem 0; }
.report-cover__type > span { display:block; margin-bottom:2rem; color:#b8cbdc; font-size:.7rem; font-weight:600; letter-spacing:.14em; }
.report-cover__type strong { display:block; font-size:clamp(1.625rem,2.2vw,2.25rem); line-height:1.12; font-weight:600; letter-spacing:-.03em; }
.report-cover__type p { min-height:2.8em; margin:.7rem 0 0; color:#c8d7e5; font-size:.75rem; line-height:1.4; }
.report-cover__art { aspect-ratio:3/2; margin-top:auto; }
.report-cover__art img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.report-cover__art img[hidden] { display:none; }
.report-cover__foot { display:flex; justify-content:space-between; gap:1rem; padding:1rem 1.75rem; border-top:1px solid #344455; color:#bdcbd8; font-size:.56rem; letter-spacing:.02em; }
.report-content { min-width:0; display:grid; align-self:stretch; align-items:center; }
.report-panel { min-width:0; outline-offset:8px; }
.report-panel[hidden] { display:none; }
.report-panel:not([hidden]) { animation:report-sheet-in .25s ease-out; }
.report-panel__recipient { margin:0 0 1.5rem; color:#54738a; font-size:.7rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.report-section .report-panel h3 { margin:0 0 1.25rem; font-size:clamp(1.7rem,2.45vw,2.25rem); line-height:1.16; letter-spacing:-.035em; color:#102d46; text-wrap:balance; }
.report-panel__description { margin:0; color:#506476; font-size:.9375rem; line-height:1.75; }
.report-panel__result { margin:1.75rem 0 2rem; padding-top:1.25rem; border-top:1px solid #d6e0e8; }
.report-panel__result > span { display:block; margin-bottom:.5rem; color:#284b67; font-size:.75rem; font-weight:600; }
.report-panel__result p { margin:0; color:#506476; font-size:.8125rem; line-height:1.65; }
@media (hover:hover) {
  .report-choice:not([aria-selected="true"]):hover { background:#254761; color:#fff; }
  }
@keyframes report-sheet-in { from { opacity:.3; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1100px) {
  .report-dossier { grid-template-columns:minmax(13rem,.85fr) minmax(0,2fr); }
  .report-workspace { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1.75rem; padding:2rem; }
  .report-cover__type { padding:1.25rem 1.25rem 0; }
  .report-cover__foot { padding:.875rem 1.25rem; }
  .report-cover__foot > span:last-child { display:none; }
  .report-cover__front { min-height:340px; }
  .report-choice { padding:1rem 1.25rem; }
  .report-panel__description { font-size:.875rem; }
}
@media (max-width:900px) {
  .report-heading { gap:1.5rem 2rem; }
  .report-dossier { grid-template-columns:minmax(13rem,.9fr) minmax(0,1.65fr); }
  .report-workspace { grid-template-columns:minmax(0,1fr); }
  .report-cover { display:none; }
  .report-content { min-height:370px; }
}
@media (max-width:700px) {
  .report-heading { grid-template-columns:minmax(0,1fr); gap:1rem; margin-bottom:2.5rem; }
  .report-heading > p { max-width:36rem; font-size:.9375rem; }
  .report-dossier { grid-template-columns:minmax(0,1fr); padding:8px; }
  .report-dossier::before { width:45%; height:14px; }
  .report-index { padding:1rem .5rem 1.25rem; }
  .report-index__label { margin:0 .75rem 1rem; }
  .report-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .report-choice { min-height:64px; padding:.75rem; border:1px solid #456077; border-radius:var(--control-radius); font-size:.8125rem; }
  .report-choice:last-child { grid-column:1/-1; min-height:48px; }
  .report-choice[aria-selected="true"] { border-color:var(--report-paper); }
  .report-workspace { padding:1.5rem; }
  .report-content { min-height:0; }
  .report-panel__recipient { margin-bottom:1.125rem; }
  .report-section .report-panel h3 { font-size:1.875rem; }
  .report-panel__description { font-size:.9375rem; }
  .report-panel__result { margin:1.5rem 0; }
  }
@media (prefers-reduced-motion:reduce) {
  .report-choice,.report-panel:not([hidden]) { animation:none; }
}


.cost-section { background:var(--surface); }
.valuation-heading { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:end; gap:3rem; margin-bottom:2.5rem; }
.valuation-heading h2 { max-width:45rem; margin:0; }
.valuation-heading > p { max-width:25rem; margin:0 0 .25rem; color:#546a7d; font-size:1rem; line-height:1.7; }
.valuation { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); margin:0; border:1px solid #d5dfe7; border-radius:var(--card-radius); background:#fff; }
.valuation__fields { display:flex; flex-direction:column; gap:1.75rem; min-width:0; padding:2.5rem; }
.valuation .property-picker { min-width:0; margin:0; padding:0; border:0; }
.valuation .property-picker legend { margin:0 0 1rem; padding:0; color:#18354e; font-size:1rem; line-height:1.5; font-weight:650; }
.property-picker__options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.property-option { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:14px; min-width:0; min-height:138px; padding:16px 14px; border:1px solid #d1dce5; border-radius:var(--control-radius); background:#fff; cursor:pointer; transition:border-color .18s,background-color .18s; }
.property-option > input { position:absolute; top:14px; right:12px; width:16px; height:16px; margin:0; accent-color:#244e6e; cursor:pointer; }
.property-option > svg { display:block; width:42px; height:42px; margin:0; fill:none; stroke:#476b86; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.property-option > span { display:block; min-height:2.8em; color:#28445c; font-size:.8125rem; line-height:1.4; font-weight:550; }
.property-option:has(input:checked) { border-color:#315f80; background:#edf3f7; box-shadow:inset 0 0 0 1px #315f80; }
.property-option:has(input:checked) > span { color:#123550; }
.property-option:has(input:focus-visible) { outline:3px solid #7196b3; outline-offset:3px; }
.valuation__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1.125rem; }
.valuation__field { display:flex; flex-direction:column; gap:9px; min-width:0; margin:0; color:#28445c; font-size:.8125rem; line-height:1.5; font-weight:600; }
.valuation__field > label { margin:0; padding:0; }
.valuation__field--purpose { grid-column:1/-1; }
.valuation__details:has(#calc-bank-field[hidden]) .valuation__field--detail { grid-column:1/-1; }
.valuation select { display:block; width:100%; min-width:0; height:52px; margin:0; padding:0 42px 0 16px; border:1px solid #c5d2dd; border-radius:var(--control-radius); appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23476b86' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center; color:#18354e; font:400 .875rem/1.4 Inter,sans-serif; cursor:pointer; transition:border-color .18s; }
.valuation select:focus-visible { outline:2px solid #7196b3; outline-offset:2px; border-color:#315f80; }
.valuation__select { position:relative; min-width:0; }
.valuation__select.is-open { z-index:10; }
.valuation__select-trigger { position:relative; display:flex; align-items:center; width:100%; min-height:54px; margin:0; padding:13px 44px 13px 16px; border:1px solid #c5d2dd; border-radius:var(--control-radius); background:#fff; color:#18354e; font:400 .875rem/1.5 Inter,sans-serif; text-align:left; cursor:pointer; transition:border-color .18s,box-shadow .18s,background-color .18s; }
.valuation__select-trigger::after { content:""; position:absolute; right:18px; top:calc(50% - 5px); width:7px; height:7px; border-right:1.5px solid #637e91; border-bottom:1.5px solid #637e91; transform:rotate(45deg); transition:transform .18s; pointer-events:none; }
.valuation__select-value { min-width:0; overflow-wrap:break-word; }
.valuation__select-trigger[aria-expanded="true"] { border-color:#5f8099; background:#fafcfd; box-shadow:0 0 0 3px rgb(71 107 134 / .08); }
.valuation__select-trigger[aria-expanded="true"]::after { transform:translateY(4px) rotate(225deg); }
.valuation__select-trigger:focus-visible { outline:2px solid #7196b3; outline-offset:3px; }
.valuation__select-menu { position:absolute; z-index:1; inset:calc(100% + 7px) 0 auto; box-sizing:border-box; width:100%; max-height:304px; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:6px; border:1px solid #d5e0e8; border-radius:var(--card-radius); background:#fff; box-shadow:0 12px 30px -10px rgb(20 45 65 / .24),0 2px 5px rgb(20 45 65 / .05); list-style:none; scrollbar-width:thin; scrollbar-color:#b7c8d5 transparent; animation:valuation-menu-in .14s ease-out; }
.valuation__select.is-upwards .valuation__select-menu { top:auto; bottom:calc(100% + 7px); }
.valuation__select-menu > li { position:relative; display:flex; align-items:center; gap:12px; min-height:44px; margin:0; padding:11px 12px; border-radius:var(--control-radius); color:#28445c; font-size:.875rem; line-height:1.45; font-weight:400; cursor:pointer; }
.valuation__select-menu > li + li { margin-top:2px; }
.valuation__select-menu > li::after { content:""; flex:0 0 5px; width:5px; height:10px; margin-left:auto; margin-right:4px; border:solid #315f80; border-width:0 1.5px 1.5px 0; transform:rotate(45deg) translateY(-2px); visibility:hidden; }
.valuation__select-menu > li.is-active { background:#f2f5f7; }
.valuation__select-menu > li[aria-selected="true"] { background:#eaf1f6; color:#173c59; font-weight:550; }
.valuation__select-menu > li[aria-selected="true"]::after { visibility:visible; }
@keyframes valuation-menu-in { from { opacity:0; } to { opacity:1; } }
.valuation__urgent { display:flex; align-items:center; gap:13px; min-height:72px; margin:0; padding:15px 16px; border:1px solid #dbe3ea; border-radius:var(--control-radius); background:#f6f8fa; color:#28445c; cursor:pointer; }
.valuation__urgent input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:#244e6e; }
.valuation__urgent > span { display:block; font-size:.875rem; line-height:1.45; font-weight:550; }
.valuation__urgent small { display:block; margin-top:3px; color:#627687; font-size:.75rem; line-height:1.5; font-weight:400; }
.valuation__urgent:has(input:checked) { background:#edf3f7; border-color:#91adbf; }
.valuation [hidden] { display:none!important; }
.valuation__summary { display:flex; flex-direction:column; min-width:0; padding:2.5rem; border-radius:0 5px 5px 0; background:var(--b950); color:#fff; }
.valuation__summary h3 { margin:0 0 2rem; color:#fff; font-size:1.0625rem; line-height:1.5; font-weight:550; }
.valuation__price > span { display:block; margin-bottom:.75rem; color:#b9cbd9; font-size:.75rem; line-height:1.5; }
.valuation__price > strong { display:block; color:#fff; font-size:clamp(2.5rem,3.6vw,3.25rem); line-height:1.15; font-weight:550; font-variant-numeric:tabular-nums; letter-spacing:-.055em; white-space:nowrap; }
.valuation__price--custom > strong { font-size:clamp(1.75rem,2.5vw,2.25rem); letter-spacing:-.035em; white-space:normal; }
.valuation__price > p { min-height:3em; margin:1rem 0 0; color:#d0dce5; font-size:.8125rem; line-height:1.6; }
.valuation__breakdown { display:grid; gap:.875rem; margin:1.75rem 0 2rem; padding-top:1.25rem; border-top:1px solid #426075; }
.valuation__breakdown > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1rem; align-items:baseline; font-size:.75rem; line-height:1.5; }
.valuation__breakdown dt { margin:0; color:#b9cbd9; }
.valuation__breakdown dd { margin:0; color:#fff; font-weight:500; text-align:right; font-variant-numeric:tabular-nums; }
.valuation__next { margin-top:auto; }
.valuation__note { margin:1rem 0 1.25rem; color:#b9cbd9; font-size:.75rem; line-height:1.65; }
.valuation__source { display:inline-block; padding:3px 0; border-bottom:1px solid #6f8c9f; color:#e3ebf1; font-size:.75rem; line-height:1.5; }
@media (hover:hover) {
  .property-option:hover { border-color:#67879e; background:#f4f7f9; }
  .valuation select:hover { border-color:#67879e; }
  .valuation__select-trigger:hover { border-color:#829cad; background:#fafcfd; }
  .valuation__source:hover { border-color:#fff; color:#fff; }
}
@media (max-width:1100px) {
  .valuation__fields,.valuation__summary { padding:2rem; }
  .property-picker__options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .property-option { min-height:118px; }
  .property-option > span { min-height:0; }
}
@media (max-width:900px) {
  .valuation-heading { grid-template-columns:minmax(0,1fr); gap:1rem; margin-bottom:2rem; }
  .valuation-heading > p { max-width:34rem; }
  .valuation { grid-template-columns:minmax(0,1fr); }
  .property-picker__options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .property-option { min-height:138px; }
  .property-option > span { min-height:2.8em; }
  .valuation__summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:2.5rem; border-radius:0 0 5px 5px; }
  .valuation__summary h3 { grid-column:1/-1; margin-bottom:1.5rem; }
  .valuation__price { grid-column:1; }
  .valuation__breakdown { grid-column:1; margin-bottom:0; }
  .valuation__next { grid-column:2; grid-row:2 / 4; align-self:center; margin:0; }
  .valuation__price > strong { font-size:2.75rem; }
  .valuation__price--custom > strong { font-size:2rem; }
}
@media (max-width:600px) {
  .valuation-heading > p { font-size:.9375rem; }
  .valuation__fields,.valuation__summary { padding:1.5rem; }
  .valuation__fields { gap:1.5rem; }
  .property-picker__options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .property-option { min-height:130px; padding:14px; }
  .property-option > svg { width:38px; height:38px; }
  .valuation__details { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .valuation select { font-size:1rem; }
  .valuation__select-trigger { min-height:64px; }
  .valuation__select-menu > li { min-height:48px; padding-block:13px; }
  .valuation__urgent { padding:14px; }
  .valuation__summary { display:flex; }
  .valuation__summary h3 { margin-bottom:1.5rem; }
  .valuation__price > p { min-height:0; }
  .valuation__breakdown { margin:1.5rem 0 1.75rem; }
  .valuation__next { width:100%; }
}
@media (max-width:360px) {
  .valuation__fields,.valuation__summary { padding:1.125rem; }
  .property-picker__options { gap:8px; }
  .property-option { padding:12px; }
  .property-option > input { right:10px; top:12px; }
  .property-option > span { font-size:.75rem; }
  .valuation__urgent > span { font-size:.8125rem; }
  .valuation__urgent small { font-size:.6875rem; }
}
@media (prefers-reduced-motion:reduce) {
  .property-option,.valuation select,.valuation__select-trigger,.valuation__select-trigger::after { transition:none; }
  .valuation__select-menu { animation:none; }
}

