/* Homepage-only cost CTA: existing copy and route, decorative studio timeline. */
body.homepage-refresh-page #calc.homepage-calculator {
    --calc-ink: #3b4173;
    --calc-rust: #c1492e;
    scroll-margin-top: 110px;
}

body.homepage-refresh-page #calc .s-calc-cost__container {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(36px, 6vw, 96px);
    padding: 0;
}

body.homepage-refresh-page #calc .s-calc-cost__headers { margin: 0 0 28px; }
body.homepage-refresh-page #calc.homepage-calculator .headers__pretitle {
    margin: 0 0 18px;
    padding: 0;
    color: var(--calc-rust) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .16em;
    text-align: left;
    text-transform: uppercase;
}

body.homepage-refresh-page #calc .headers__pretitle::after { display: none; }
body.homepage-refresh-page #calc .headers__title {
    margin: 0 0 22px;
    color: var(--calc-ink) !important;
    font-size: clamp(34px, 3.2vw, 50px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.04em;
    text-align: left;
    text-transform: none;
}

body.homepage-refresh-page #calc .headers__subtitle {
    max-width: 440px;
    margin: 0;
    color: var(--calc-ink) !important;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    text-align: left;
}

body.homepage-refresh-page #calc .s-calc-cost__button-wrapper { text-align: left; }
body.homepage-refresh-page #calc .s-calc-cost__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 24px;
    background: var(--calc-rust) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
    transition: transform .2s ease, background-color .2s ease;
}

body.homepage-refresh-page #calc .s-calc-cost__button:is(:hover, :focus-visible) {
    background: #a93d28 !important;
    transform: translateY(-2px);
}
body.homepage-refresh-page #calc .s-calc-cost__button:focus-visible { outline: 2px solid var(--calc-ink); outline-offset: 5px; }

body.homepage-refresh-page #calc .calc-timeline,
body.homepage-refresh-page #calc .calc-timeline * { color: var(--calc-ink) !important; }
body.homepage-refresh-page #calc .calc-timeline {
    min-width: 0;
    padding: 22px;
    border: 1px solid #3b417310;
    border-radius: 22px;
    background: #ededf1;
    font-family: Roboto, sans-serif;
}

.calc-timeline__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 24px; }
.calc-timeline__project { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; }
.calc-timeline__duration { padding: 5px 9px; border-radius: 6px; background: #f9f9fb; font: 500 12px/1.2 ui-monospace, monospace; }
.calc-timeline__ruler { display: flex; justify-content: space-between; margin-left: 87px; padding-bottom: 12px; border-bottom: 1px solid #3b417318; font: 400 10px/1.2 ui-monospace, monospace; }
.calc-timeline__tracks { position: relative; padding-block: 12px; }
.calc-timeline__track { display: grid; grid-template-columns: 75px minmax(0, 1fr); align-items: center; gap: 12px; }
.calc-timeline__track + .calc-timeline__track { margin-top: 12px; }
.calc-timeline__label { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.calc-timeline__dot { flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: #747b9e; }
.calc-timeline__dot--voice { background: #c1492e; }
.calc-timeline__dot--mix { background: #3b4173; }
.calc-timeline__lane { position: relative; height: 64px; overflow: hidden; border-radius: 7px; background: repeating-linear-gradient(90deg, #3b417307 0, #3b417307 1px, transparent 1px, transparent 25%); }
.calc-timeline__clip { height: 100%; border: 1px solid #3b41731a; border-radius: 7px; background: #dfe1ec; }
.calc-timeline__clip > svg { display: block; width: 100%; height: 100%; }
body.homepage-refresh-page #calc .calc-timeline__clip--voice { width: 84%; background: #f0d9d2; border-color: #c1492e20; color: #c1492e !important; }
body.homepage-refresh-page #calc .calc-timeline__clip--music { width: 88%; margin-left: 12%; background: #e0e2ed; color: #7b82a4 !important; }
body.homepage-refresh-page #calc .calc-timeline__clip--mix { background: #d8dce8; color: #555d88 !important; }
body.homepage-refresh-page #calc .calc-timeline__clip > svg,
body.homepage-refresh-page #calc .calc-timeline__clip > svg * { color: inherit !important; }

.calc-timeline__scan { position: absolute; inset: 0 0 0 87px; overflow: hidden; pointer-events: none; }
.calc-timeline__scan > span { position: absolute; inset: 0; border-left: 1px solid #c1492e; animation: calc-timeline-scan 8.5s linear infinite; will-change: transform; }
.calc-timeline__scan > span::before { position: absolute; top: 0; left: -4px; width: 7px; height: 7px; border-radius: 2px; background: #c1492e; content: ''; }
.calc-timeline__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 17px; border-top: 1px solid #3b417318; }
.calc-timeline__transport { display: inline-flex; align-items: center; gap: 3px; }
.calc-timeline__transport > svg { margin-right: 12px; }
.calc-timeline__transport i { width: 3px; height: 7px; border-radius: 1px; background: #c1492e; }
.calc-timeline__transport i:nth-of-type(2) { height: 12px; }
.calc-timeline__transport i:nth-of-type(3) { height: 17px; }
.calc-timeline__transport i:nth-of-type(4) { height: 11px; }
.calc-timeline__result { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 500; }

@keyframes calc-timeline-scan {
    0%, 6% { transform: translateX(0); }
    94%, 100% { transform: translateX(calc(100% - 2px)); }
}

@media (max-width: 900px) {
    body.homepage-refresh-page #calc .s-calc-cost__container { gap: 32px; }
    body.homepage-refresh-page #calc .headers__title { font-size: 34px; }
    body.homepage-refresh-page #calc .calc-timeline { padding: 16px; }
    .calc-timeline__track { grid-template-columns: 66px minmax(0, 1fr); gap: 10px; }
    .calc-timeline__ruler { margin-left: 76px; }
    .calc-timeline__scan { left: 76px; }
    .calc-timeline__lane { height: 56px; }
    .calc-timeline__label { font-size: 10px; gap: 4px; }
}

@media (max-width: 700px) {
    body.homepage-refresh-page #calc .s-calc-cost__container { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    body.homepage-refresh-page #calc .headers__title { font-size: clamp(30px, 7vw, 42px); }
    body.homepage-refresh-page #calc .headers__subtitle { font-size: 16px; }
    body.homepage-refresh-page #calc .s-calc-cost__headers { margin-bottom: 24px; }
    body.homepage-refresh-page #calc .calc-timeline { border-radius: 17px; }
    .calc-timeline__toolbar { padding-bottom: 20px; }
}

@media (prefers-reduced-motion: reduce) {
    body.homepage-refresh-page #calc .s-calc-cost__button { transition: none; }
    body.homepage-refresh-page #calc .s-calc-cost__button:is(:hover, :focus-visible) { transform: none; }
    .calc-timeline__scan > span { animation: none; transform: translateX(45%); will-change: auto; }
}
