.price-concept { padding: 0; background: #eeece7; color: #191919; }
.price-concept > .wrap { max-width: none; padding: 0; }
.pc-shell { width: min(100% - 48px, 1240px); margin: auto; }
.pc-preview-label { background: #f5d548; color: #151515; padding: 8px max(24px, calc((100vw - 1240px)/2)); font: 700 11px/1.4 var(--font-mono); letter-spacing: .03em; text-transform: uppercase; }
.pc-preview-label a { border-bottom: 1px solid currentColor; }
.pc-hero { position: relative; display: flex; min-height: 410px; overflow: hidden; color: #fff; background: #0a0a0c; }
.pc-hero-content { width: min(100% - 48px, 1240px); margin: auto; padding-block: 55px 50px; }
.pc-kicker,.pc-index,.pc-label,.pc-result-kicker,.pc-period-top,.pc-ticket-grid span,.pc-terms-grid span { font-family: var(--font-mono); font-weight: 700; letter-spacing: .08em; }
.pc-kicker { margin: 0 0 19px; color: #fa4b4b; font-size: 12px; }
.pc-hero h1 { margin: 0; font: 900 clamp(76px, 10vw, 145px)/.95 var(--font-sans); letter-spacing: 0; }
.pc-hero h1 span { color: #d52225; }
.pc-hero-text { max-width: 580px; margin: 31px 0 29px; color: #f3f1ec; font-size: clamp(18px, 2vw, 25px); line-height: 1.35; letter-spacing: -.03em; }
.pc-jump { display: inline-flex; align-items: center; gap: 25px; min-height: 50px; padding: 10px 18px; border: 1px solid #f6f5f1; color: #fff; font: 700 13px var(--font-mono); text-transform: uppercase; }
.pc-jump:hover { background: #fff; color: #111; }
.pc-calc-section,.pc-timeline,.pc-all-rates,.pc-terms,.pc-tickets { padding-block: clamp(64px, 7vw, 104px); scroll-margin-top: 68px; }
.pc-calc-section { background: #eeece7; }
.pc-section-heading { max-width: 760px; margin-bottom: 32px; }
.pc-index { margin: 0 0 17px; color: #b92727; font-size: 12px; }
.pc-section-heading h2 { margin: 0; font-size: clamp(37px, 5.5vw, 65px); line-height: .98; letter-spacing: -.075em; font-weight: 900; }
.pc-section-heading p:last-child { margin: 16px 0 0; color: #575651; font-size: 16px; line-height: 1.5; }
.pc-calculator { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .48fr); border: 1px solid #bdbbb5; background: #f8f7f3; }
.pc-controls { padding: clamp(22px, 3.7vw, 48px); }
.pc-field + .pc-field { margin-top: 29px; }
.pc-label { display: block; margin-bottom: 12px; font-size: 11px; color: #ae2727; text-transform: uppercase; }
.pc-format-list { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 0; border: 1px solid #c9c7c0; }
.pc-format { min-height: 76px; padding: 11px 8px; border: 0; border-right: 1px solid #c9c7c0; background: transparent; color: #252525; font: 800 13px var(--font-sans); cursor: pointer; }
.pc-format:last-child { border-right: 0; }.pc-format span { display: block; margin-bottom: 6px; color: #b52b2b; font: 700 10px var(--font-mono); }.pc-format.is-active { background: #111113; color: #fff; }.pc-format.is-active span { color: #f5d548; }
.pc-periods { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-period { min-height: 61px; padding: 8px 12px; border: 1px solid #bab8b1; background: #f8f7f3; color: #272727; cursor: pointer; text-align: left; }.pc-period strong,.pc-period small { display:block; }.pc-period strong { font-size: 13px; }.pc-period small { margin-top: 3px; font-size: 10px; color: #5d5a56; }.pc-period.is-active { background:#f5d548; border-color:#111; }.pc-period:disabled { opacity:.45; cursor:not-allowed; }
.pc-options { display:flex; flex-wrap:wrap; gap:8px; }.pc-options button { min-width:52px; min-height:46px; padding: 8px 14px; border:1px solid #b9b7b0; background:transparent; color:#111; font:700 14px var(--font-sans); cursor:pointer; }.pc-options button.is-active { background:#111; border-color:#111; color:#fff; }.pc-options button[hidden] { display:none; }
.pc-result { display:flex; flex-direction:column; padding:clamp(24px,3vw,42px); background:#141416; color:#fff; }.pc-result-kicker { margin:0; color:#f5d548; font-size:11px; }.pc-result-amount { margin: 22px 0 0; font: 900 clamp(50px,5vw,75px)/1 var(--font-sans); letter-spacing:-.08em; white-space:nowrap; }.pc-result-summary { margin:10px 0 0; color:#c9c7c3; font-size:14px; }.pc-result-rule { height:1px; margin:36px 0 25px; background:#505052; }.pc-result-detail { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #353538; font-size:13px; }.pc-result-detail span { color:#a7a5a1; }.pc-result-detail strong { text-align:right; }.pc-result-note { margin: 24px 0 28px; color:#bbb9b6; font-size:13px; line-height:1.55; }.pc-cta { display:flex; justify-content:space-between; align-items:center; min-height:57px; margin-top:auto; padding:13px 18px; background:#d52225; color:#fff; font:800 15px var(--font-sans); }.pc-cta:hover { background:#a91114; color:#fff; }.pc-cta span { font-size:22px; }
.pc-timeline { background:#151517; color:#fff; }.pc-timeline .pc-section-heading p:last-child { color:#bfbdba; }.pc-period-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#5a5958; border:1px solid #5a5958; }.pc-period-card { min-height:232px; padding:24px; background:#242426; }.pc-period-card--current { background:#f5d548; color:#111; }.pc-period-top { display:flex; justify-content:space-between; gap:8px; font-size:10px; }.pc-period-card strong { display:block; margin-top:32px; font-size:clamp(30px,3vw,46px); line-height:1; letter-spacing:-.065em; }.pc-period-card small { display:block; margin-top:5px; font-size:12px; }.pc-period-card p { margin:18px 0 0; padding-top:13px; border-top:1px solid currentColor; font:700 11px var(--font-mono); }
.pc-deadline-alert { display:flex; align-items:center; gap:20px; margin:0 0 14px; padding:24px clamp(22px,3vw,38px); background:#cb1d21; color:#fff; }
.pc-deadline-alert strong { max-width:36ch; font:900 clamp(20px,2.5vw,32px)/1.16 var(--font-sans); letter-spacing:-.035em; text-transform:uppercase; }
.pc-deadline-alert-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:2px solid currentColor; border-radius:50%; font:900 25px/1 var(--font-sans); animation:pc-alert-pulse 2.4s ease-in-out infinite; }
.pc-timeline-note { margin:0 0 27px; color:#d2d0cd; font-size:14px; }
@keyframes pc-alert-pulse { 50% { box-shadow:0 0 0 7px rgba(255,255,255,.14); } }
@media(prefers-reduced-motion:reduce) { .pc-deadline-alert-icon { animation:none; } }
.pc-all-rates { background:#f8f7f3; }.pc-table-wrap { overflow-x:auto; border-top:3px solid #161616; }.pc-table { width:100%; border-collapse:collapse; text-align:left; }.pc-table th,.pc-table td { padding:21px 20px; border-bottom:1px solid #c9c6bf; }.pc-table thead { background:#111; color:#fff; }.pc-table thead th { font:700 12px var(--font-mono); }.pc-table thead small,.pc-table tbody small { display:block; margin-top:5px; color:#a7a49e; font:400 11px var(--font-sans); }.pc-table tbody th { font-weight:800; }.pc-table tbody th small { color:#66625d; }.pc-table tbody td { white-space:nowrap; font:800 19px var(--font-mono); }.pc-table-note { margin:17px 0 0; color:#696660; font-size:12px; }
.pc-rates-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 32px; cursor:pointer; list-style:none; }
.pc-rates-disclosure summary::-webkit-details-marker { display:none; }
.pc-rates-title { display:flex; flex-direction:column; align-items:flex-start; }
.pc-rates-title .pc-index { margin-bottom:17px; }
.pc-rates-heading { font-size:clamp(37px,5.5vw,65px); line-height:.98; letter-spacing:-.075em; font-weight:900; }
.pc-rates-description { margin-top:16px; color:#575651; font-size:16px; line-height:1.5; }
.pc-rates-toggle { display:flex; align-items:center; gap:16px; flex-shrink:0; font:700 12px var(--font-mono); text-transform:uppercase; }
.pc-rates-toggle-symbol { display:grid; place-items:center; width:45px; height:45px; background:#111; color:#fff; font:400 30px/1 var(--font-sans); transition:transform .2s ease; }
.pc-rates-disclosure[open] .pc-rates-toggle-symbol { transform:rotate(45deg); }
.pc-rates-disclosure[open] .pc-rates-toggle-label { font-size:0; }
.pc-rates-disclosure[open] .pc-rates-toggle-label::after { content:'Скрыть таблицу'; font-size:12px; }
.pc-rates-disclosure summary:hover .pc-rates-heading,.pc-rates-disclosure summary:focus-visible .pc-rates-heading { color:#b92727; }
.pc-rates-disclosure summary:focus-visible { outline:3px solid #b92727; outline-offset:5px; }
.pc-terms { background:#e7e3da; }.pc-terms-grid,.pc-ticket-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #77736e; border-bottom:1px solid #77736e; }.pc-terms-grid > div,.pc-ticket-grid > div { padding:25px 25px 30px; border-right:1px solid #aaa59d; }.pc-terms-grid > div:first-child,.pc-ticket-grid > div:first-child { padding-left:0; }.pc-terms-grid > div:last-child,.pc-ticket-grid > div:last-child { border-right:0; }.pc-terms-grid span,.pc-ticket-grid span { color:#ad292a; font-size:11px; }.pc-terms-grid h3,.pc-ticket-grid h3 { margin:24px 0 10px; font-size:23px; line-height:1.1; letter-spacing:-.04em; }.pc-terms-grid p,.pc-ticket-grid p { margin:0; max-width:32ch; color:#57544e; font-size:14px; line-height:1.55; }.pc-tickets { background:#f8f7f3; }.pc-ticket-grid strong { display:block; margin:25px 0 10px; font:900 36px var(--font-mono); letter-spacing:-.06em; }.pc-empty { padding:24px; background:#fff; }
@media(max-width:1000px) { .pc-calculator { grid-template-columns:minmax(0,1fr) 320px; }.pc-format-list { grid-template-columns:repeat(3,1fr); }.pc-format:nth-child(3) { border-right:0; }.pc-format:nth-child(n+4) { border-top:1px solid #c9c7c0; } }
@media(max-width:760px) { .pc-shell,.pc-hero-content { width:min(100% - 32px,1240px); }.pc-hero { min-height:330px; }.pc-hero-content { padding-block:44px; }.pc-hero h1 { font-size:75px; }.pc-hero-text { margin-block:22px; font-size:18px; }.pc-calc-section,.pc-timeline,.pc-all-rates,.pc-terms,.pc-tickets { padding-block:58px; }.pc-calculator { grid-template-columns:1fr; }.pc-result { min-height:390px; }.pc-period-grid,.pc-terms-grid,.pc-ticket-grid { grid-template-columns:1fr; }.pc-period-card { min-height:190px; }.pc-terms-grid > div,.pc-ticket-grid > div,.pc-terms-grid > div:first-child,.pc-ticket-grid > div:first-child { padding:24px 0; border-right:0; border-bottom:1px solid #aaa59d; }.pc-terms-grid > div:last-child,.pc-ticket-grid > div:last-child { border-bottom:0; }.pc-table { min-width:650px; } }
@media(max-width:520px) { .pc-preview-label { padding-inline:16px; font-size:9px; }.pc-hero { min-height:300px; }.pc-hero h1 { font-size:68px; }.pc-kicker { font-size:10px; }.pc-section-heading h2 { font-size:39px; }.pc-section-heading p:last-child { font-size:14px; }.pc-controls { padding:18px; }.pc-format-list { grid-template-columns:repeat(2,1fr); }.pc-format { min-height:64px; border-top:1px solid #c9c7c0; font-size:12px; }.pc-format:nth-child(-n+2) { border-top:0; }.pc-format:nth-child(odd) { border-right:1px solid #c9c7c0; }.pc-format:nth-child(even) { border-right:0; }.pc-format:last-child { grid-column:1/-1; border-right:0; }.pc-periods { display:grid; grid-template-columns:repeat(2,1fr); }.pc-period { min-height:57px; }.pc-result-amount { font-size:56px; }.pc-ticket-grid strong { font-size:32px; } }
@media(max-width:520px) { .pc-deadline-alert { align-items:flex-start; gap:13px; padding:22px 18px; }.pc-deadline-alert strong { font-size:20px; }.pc-deadline-alert-icon { flex-basis:31px; width:31px; height:31px; font-size:19px; }.pc-rates-disclosure summary { align-items:flex-end; gap:10px; }.pc-rates-heading { font-size:39px; }.pc-rates-description { font-size:14px; }.pc-rates-toggle-label { display:none; }.pc-rates-toggle-symbol { width:39px; height:39px; } }
