/* Sixth April — inner pages: shared, services, service, pricing, MTD */
.pt-short { min-height: clamp(380px, 52vh, 540px); }
.pt-short h1 { grid-column: 1 / span 9; }
.pt-short .lead { grid-column: 1 / span 6; }
@media (min-width: 861px) { .pt-short .pt-grid { row-gap: 20px; } }
.band-st { margin-top: 18px; }
.idx-note { margin-top: 16px; }
.idx-big h3 { font-size: clamp(1.9rem, 3.4vw, 3.2rem); }
.hint { font: 400 12px var(--mono); color: var(--grey); }

/* definition-style spec list */
.spec-list > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: var(--gap); padding: 16px 0; border-bottom: 1px solid var(--hair); }
.spec-list > div:first-child { border-top: 1px solid var(--ink); }
.spec-list dt { color: var(--grey); padding-top: 3px; }
.spec-list dd { margin: 0; }
.soft .example { margin-top: 16px; }
@media (max-width: 600px) { .spec-list > div { grid-template-columns: 1fr; gap: 4px; } }

/* service detail */
.svc-intro { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(24px, 4vw, 64px); align-items: start; }
.svc-lead { font-weight: 600; }
.fee-box { border-top: 3px solid var(--ink); padding-top: 14px; }
.fee-box .num { font-size: clamp(4.5rem, 8vw, 7.5rem); }
.fee-box .unit { font: 500 14px var(--mono); margin-left: 8px; }
.fee-box .example { margin: 12px 0 20px; }
.fee-box .btn { width: 100%; }
@media (max-width: 1100px) { .svc-intro { grid-template-columns: 1fr; } }
.g-two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
.lst-h { margin-bottom: 10px; color: var(--grey); font-weight: 400; }
@media (max-width: 600px) { .g-two { grid-template-columns: 1fr; row-gap: 36px; } }
.case h3 { margin-bottom: 18px; max-width: 18em; }
.case-x { color: #D4D4D4; }
.svc-tool { margin-top: 28px; }
.svc-pn { padding-block: 24px 64px; border-top: 0; }
.svc-pn .g12 { row-gap: 16px; }
.pn .d3 { font-weight: 700; }
.pn { grid-column: span 6; display: flex; flex-direction: column; gap: 8px; padding: 22px 0; border-top: 1px solid var(--ink); text-decoration: none; }
.pn.next { text-align: right; align-items: flex-end; }
.pn:hover .d3 { text-decoration: underline; text-decoration-thickness: 2px; }
@media (max-width: 600px) { .pn { grid-column: 1 / -1; } .pn.next { text-align: left; align-items: flex-start; } }

/* quote builder */
.q-sec .g12 { align-items: start; row-gap: 40px; }
.q-form { grid-column: 1 / span 7; display: grid; gap: 0; }
.q-step { border-top: 1px solid var(--ink); padding: 26px 0 34px; }
.q-step legend { display: flex; align-items: baseline; gap: 18px; padding: 0; margin-bottom: 16px; float: left; width: 100%; white-space: normal; font: inherit; text-transform: none; letter-spacing: normal; }
.q-step legend + * { clear: both; }
.q-n { font-size: 3.4rem; color: var(--grey-l); }
.q-t { font-size: clamp(1.4rem, 2.2vw, 2rem); font-weight: 750; letter-spacing: -.035em; }
.stepper { display: inline-flex; align-items: center; gap: 0; margin-top: 4px; }
.stepper button { width: 52px; height: 52px; border: 1px solid var(--ink); background: var(--surface); font: 500 20px var(--mono); }
.stepper button:hover { background: var(--ink); color: #fff; }
.stepper input { width: 72px; height: 52px; border: 1px solid var(--ink); border-left: 0; border-right: 0; text-align: center; font: 800 26px var(--xc); background: var(--surface); -moz-appearance: textfield; border-radius: 0; }
.stepper input::-webkit-outer-spin-button, .stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.stepper .mono { margin-left: 14px; }
.q-dir { margin-top: 16px; }
.checks { display: grid; gap: 8px; }
.ck { position: relative; display: block; }
.ck input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ck > span { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; column-gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--hair); background: var(--surface); }
.ck > span::before { content: ""; grid-row: 1 / span 2; width: 22px; height: 22px; border: 1px solid var(--ink); background: #fff; }
.ck input:checked + span { border-color: var(--ink); }
.ck input:checked + span::before { background: var(--ink); box-shadow: inset 0 0 0 4px #fff; }
.ck input:focus-visible + span { outline: 2px solid var(--signal); outline-offset: 2px; }
.ck b { font-weight: 650; }
.ck em { grid-column: 2; font-style: normal; font-size: 14px; color: var(--grey); }
.ck i { grid-column: 3; grid-row: 1 / span 2; font: 500 14px var(--mono); font-style: normal; }
.q-emp { margin: 4px 0 8px 42px; }
.q-sum { grid-column: 9 / -1; position: sticky; top: calc(var(--head) + 20px); }
.q-sum-in { background: var(--night); color: #fff; padding: 26px; }
.q-sum-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; }
.q-sum-top h2 { font-weight: 400; }
.q-sum .seg { color: #fff; margin: 0 8px 8px 0; }
.q-total { margin: 22px 0 18px; display: flex; flex-direction: column; gap: 8px; }
.q-total .num { font-size: clamp(5rem, 8vw, 7.4rem); color: var(--signal); }
.q-unit { font: 400 13px var(--mono); color: #D0D0D0; }
.q-lines th, .q-lines td { border-color: var(--hair-w); color: #fff; font-size: 14px; }
.q-lines th { font-weight: 500; }
.q-lines .example { color: #A8A8A8; margin-left: 6px; }
.q-once { margin-top: 12px; font-size: 14px; color: #D0D0D0; }
.q-actions { margin-top: 22px; }
.q-actions .btn { flex: 1 1 100%; }
.q-actions .btn-ink { background: #fff; color: #000; border-color: #fff; }
.q-actions .btn-ink:hover { background: var(--signal); border-color: var(--signal); }
.q-saved { margin-top: 14px; color: #BDBDBD; text-transform: none; letter-spacing: 0; }
.q-mail { max-width: 760px; }
.q-mail .row-btns { align-items: center; gap: 16px; }
.pk-tbl .pr td .num { font-size: clamp(2.8rem, 4.6vw, 4.2rem); display: block; padding-top: 4px; }
.pk-faq { margin-top: 48px; }
@media (max-width: 1100px) { .q-form { grid-column: 1 / span 7; } .q-sum { grid-column: 8 / -1; } }
@media (max-width: 860px) { .q-form, .q-sum { grid-column: 1 / -1; } .q-sum { position: static; } }
@media (max-width: 480px) { .ck > span { grid-template-columns: 26px minmax(0, 1fr); } .ck i { grid-column: 2; grid-row: auto; margin-top: 4px; } .q-emp { margin-left: 0; } }

/* MTD checker */
.mtd-sec .g12 { align-items: start; row-gap: 40px; }
.mtd-form { grid-column: 1 / span 6; }
.mtd-form h2 { margin-bottom: -6px; }
.mtd-note { font-size: 15px; max-width: 34em; }
.mtd-form fieldset legend { margin-bottom: 0; }
.thr-mtd { margin-top: 12px; }
.thr-mtd .thr-row { grid-template-columns: 120px 120px minmax(0, 1fr); }
.thr-mtd .thr-row .num { font-size: 3rem; }
.thr-mtd .thr-mark { left: calc(240px + 2 * var(--gap)); }
.mtd-form .btn[type="reset"] { justify-self: start; }
.mtd-res { grid-column: 8 / -1; position: sticky; top: calc(var(--head) + 20px); padding: 28px; }
.mtd-res-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.mtd-res-top h2 { font-weight: 400; }
.mtd-q { font: 400 13px var(--mono); color: #CFCFCF; }
.mtd-big { font-size: clamp(4.4rem, 8vw, 7.6rem); color: var(--signal); margin: 14px 0 16px; }
.mtd-head { margin-bottom: 20px; }
.mtd-dates li { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 12px; padding: 10px 0; border-top: 1px solid var(--hair-w); font-size: 14px; align-items: baseline; }
.mtd-dates li.past { color: #9A9A9A; }
.mtd-dates li.past span:nth-child(2) { text-decoration: line-through; text-decoration-thickness: 1px; }
.mtd-todo { margin-top: 16px; }
.mtd-todo li { font-size: 14px; }
.mtd-act { margin-top: 22px; }
.mtd-legal { margin-top: 20px; text-transform: none; letter-spacing: 0; line-height: 1.5; }
.mtd-legal a { color: #fff; }
.big-ruled li { font-size: 1.15rem; padding: 18px 0; }
.big-ruled b { font-weight: 700; }
@media (max-width: 1100px) { .mtd-form { grid-column: 1 / span 7; } .mtd-res { grid-column: 8 / -1; } }
@media (max-width: 860px) { .mtd-form, .mtd-res { grid-column: 1 / -1; } .mtd-res { position: static; } }
@media (max-width: 760px) { .thr-mtd .thr-row { grid-template-columns: 1fr auto; } }
