/* =============================================================
   PAID LANDING PAGES + OFFER POPUP

   Loaded only on template-landing.php. Reuses the site's design
   tokens so the page is unmistakably IronNest, but drops the
   site's navigation chrome: on a landing page every link that is
   not the conversion is a competitor for the click.
   ============================================================= */

/* ── Header ──────────────────────────────────────────────── */
.in-lp-header {
    background: #fff;
    border-bottom: 1px solid var(--clr-gray-2);
    position: sticky; top: 0; z-index: 200;
}
.in-lp-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; height: 76px;
}
.in-lp-header__right { display: flex; align-items: center; gap: 18px; }
.in-lp-header__lic {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12.5px; font-weight: var(--fw-6); color: var(--clr-green);
    white-space: nowrap;
}
.in-lp-header__call {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 15px; font-weight: var(--fw-8); color: var(--clr-navy);
    white-space: nowrap;
}
.in-lp-header__call:hover { color: var(--clr-blue); }
@media (max-width: 720px) { .in-lp-header__lic { display: none; } }

/* ── Hero ────────────────────────────────────────────────── */
.in-lp-hero {
    background:
        radial-gradient(1200px 400px at 12% -10%, rgba(0,108,181,.09), transparent 60%),
        var(--clr-gray-1);
    padding: 52px 0 64px;
}
.in-lp-hero__grid {
    display: grid; grid-template-columns: 1.05fr .95fr;
    gap: 48px; align-items: start;
}
.in-lp-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    margin: 0 0 18px; padding: 7px 14px;
    background: #fff; border: 1px solid var(--clr-gray-2); border-radius: 999px;
    font-size: 12.5px; font-weight: var(--fw-7); color: var(--clr-gray-7);
}
.in-lp-eyebrow__dot {
    width: 7px; height: 7px; border-radius: 50%; background: var(--clr-green);
    flex-shrink: 0;
}
.in-lp-h1 {
    font-family: var(--font-serif);
    font-size: clamp(31px, 4.1vw, 50px);
    line-height: 1.08; letter-spacing: -.015em;
    color: var(--clr-navy); margin: 0 0 16px;
}
.in-lp-sub {
    font-size: 17.5px; line-height: 1.62; color: var(--clr-gray-7);
    max-width: 56ch; margin: 0 0 22px;
}
.in-lp-anchor {
    padding: 16px 18px; margin: 0 0 24px;
    background: #fff; border-left: 4px solid var(--clr-blue);
    border-radius: 0 10px 10px 0; box-shadow: var(--shadow);
    font-size: 16px; line-height: 1.6; color: var(--clr-gray-7);
}
.in-lp-anchor strong { color: var(--clr-navy); font-weight: var(--fw-8); white-space: nowrap; }
.in-lp-anchor__note { display: block; margin-top: 3px; font-size: 13.5px; color: var(--clr-gray-5); }

.in-lp-promise { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 11px; }
.in-lp-promise li {
    display: flex; gap: 10px; align-items: flex-start;
    font-size: 15.5px; line-height: 1.5; color: var(--clr-gray-7);
}
.in-lp-promise svg { color: var(--clr-green); flex-shrink: 0; margin-top: 3px; }

.in-lp-hero__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
.in-lp-callnow {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 15px; color: var(--clr-gray-7);
}
.in-lp-callnow strong { color: var(--clr-navy); font-weight: var(--fw-8); white-space: nowrap; }
.in-lp-callnow:hover { color: var(--clr-blue); }

.in-lp-trustline {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    margin: 0; font-size: 13.5px; color: var(--clr-gray-5);
}
.in-lp-trustline strong { color: var(--clr-navy); }

/* ── Form card ───────────────────────────────────────────── */
.in-lp-formwrap {
    position: sticky; top: 96px;
    background: #fff; border: 1px solid var(--clr-gray-2);
    border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
    padding: 26px;
}
.in-lp-form__kicker {
    display: flex; align-items: center; gap: 10px;
    margin: 0 0 6px; font-size: 12px; font-weight: var(--fw-7);
    letter-spacing: .05em; text-transform: uppercase; color: var(--clr-gray-5);
}
.in-lp-back {
    background: none; border: 0; padding: 0; cursor: pointer;
    font: inherit; color: var(--clr-blue); text-transform: none; letter-spacing: 0;
}
.in-lp-form__title {
    font-family: var(--font-serif); font-size: 25px; line-height: 1.2;
    color: var(--clr-navy); margin: 0 0 18px;
}

.in-lp-scopes { display: grid; gap: 8px; margin-bottom: 18px; }
.in-lp-scope { position: relative; display: block; cursor: pointer; }
.in-lp-scope input {
    position: absolute; opacity: 0; width: 0; height: 0;
}
.in-lp-scope__body {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 14px; border: 1.5px solid var(--clr-gray-2); border-radius: 10px;
    transition: border-color var(--tr), background var(--tr);
}
.in-lp-scope:hover .in-lp-scope__body { border-color: var(--clr-blue); }
.in-lp-scope input:checked + .in-lp-scope__body {
    border-color: var(--clr-blue); background: var(--clr-blue-lt);
}
.in-lp-scope input:focus-visible + .in-lp-scope__body { outline: 2px solid var(--clr-blue); outline-offset: 2px; }
.in-lp-scope__name { font-size: 14px; font-weight: var(--fw-6); color: var(--clr-gray-8); }
.in-lp-scope__price { font-size: 13.5px; font-weight: var(--fw-8); color: var(--clr-navy); white-space: nowrap; }

.in-lp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.in-lp-field { display: block; margin-bottom: 14px; }
.in-lp-label {
    display: block; margin-bottom: 5px;
    font-size: 13px; font-weight: var(--fw-6); color: var(--clr-gray-7);
}
.in-lp-req { color: var(--clr-orange); }
.in-lp-opt { font-weight: var(--fw-4); color: var(--clr-gray-5); }
.in-lp-input {
    width: 100%; padding: 12px 14px;
    font: inherit; font-size: 15px; color: var(--clr-text);
    background: #fff; border: 1.5px solid var(--clr-gray-2); border-radius: 9px;
    transition: border-color var(--tr), box-shadow var(--tr);
}
.in-lp-input:focus {
    outline: none; border-color: var(--clr-blue);
    box-shadow: 0 0 0 3px rgba(0,108,181,.12);
}
textarea.in-lp-input { resize: vertical; min-height: 78px; }

.in-lp-next, .in-lp-submit, .in-promo__go { width: 100%; justify-content: center; }
.in-lp-microcopy { margin: 11px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--clr-gray-5); text-align: center; }
.in-lp-error {
    margin: 11px 0 0; padding: 10px 12px; border-radius: 8px;
    background: #fdecec; color: #a3261f; font-size: 13.5px; line-height: 1.5;
}
.in-lp-estimate {
    margin: 0 0 16px; padding: 12px 14px;
    background: var(--clr-blue-lt); border-radius: 9px;
    font-size: 14px; line-height: 1.55; color: var(--clr-gray-8);
}
/* Honeypot: off-screen rather than display:none, which some bots skip. */
.in-lp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.in-lp-done { text-align: center; }
.in-lp-done__tick, .in-promo__tick {
    width: 58px; height: 58px; margin: 0 auto 16px;
    display: grid; place-items: center; border-radius: 50%;
    background: rgba(24,165,88,.12); color: var(--clr-green);
}
.in-lp-done p { margin: 0 0 18px; color: var(--clr-gray-7); line-height: 1.6; }

/* ── Sections ────────────────────────────────────────────── */
.in-lp-section { padding: 72px 0; }
.in-lp-section--alt { background: var(--clr-gray-1); }
.in-lp-narrow { max-width: 860px; }
.in-lp-h2 {
    font-family: var(--font-serif); font-size: clamp(25px, 3.1vw, 35px);
    line-height: 1.18; color: var(--clr-navy); margin: 0 0 16px;
}
.in-lp-h2--light { color: #fff; }
.in-lp-lead { font-size: 16.5px; line-height: 1.68; color: var(--clr-gray-7); margin: 0 0 28px; }
.in-lp-note { margin: 16px 0 0; font-size: 13.5px; line-height: 1.65; color: var(--clr-gray-5); }

/* Price table */
.in-lp-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.in-lp-table__cap {
    caption-side: top; text-align: left; padding-bottom: 10px;
    font-size: 12px; font-weight: var(--fw-7); letter-spacing: .05em;
    text-transform: uppercase; color: var(--clr-gray-5);
}
.in-lp-table th, .in-lp-table td {
    padding: 13px 14px; text-align: left; border-bottom: 1px solid var(--clr-gray-2);
}
.in-lp-table thead th {
    font-size: 12px; letter-spacing: .05em; text-transform: uppercase;
    color: var(--clr-gray-5); font-weight: var(--fw-7);
}
.in-lp-table tbody th { font-weight: var(--fw-6); color: var(--clr-gray-8); }
.in-lp-table tbody td { font-weight: var(--fw-8); color: var(--clr-navy); white-space: nowrap; }
.in-lp-table tbody tr:hover { background: #fff; }

/* Why / law */
.in-lp-why { display: grid; gap: 26px; }
.in-lp-why__h { font-size: 19px; font-weight: var(--fw-8); color: var(--clr-navy); margin: 0 0 7px; }
.in-lp-why p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--clr-gray-7); }
.in-lp-law { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.in-lp-law__item {
    background: #fff; border: 1px solid var(--clr-gray-2);
    border-radius: var(--radius); padding: 20px;
}
.in-lp-law__item h3 { font-size: 16px; font-weight: var(--fw-8); color: var(--clr-navy); margin: 0 0 7px; }
.in-lp-law__item p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--clr-gray-7); }
.in-lp-law__item a { color: var(--clr-blue); text-decoration: underline; }

/* Before / after */
.in-lp-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.in-lp-ba__fig { margin: 0; }
.in-lp-ba__img {
    /* The source photographs are not a matched pair — the "before" is portrait
       1200x1800 and the "after" landscape 1200x800 — so left to themselves one
       tile renders half the height of the other. Locking both to one ratio and
       cropping to fill is what makes a before/after read as a comparison
       rather than an accident. */
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius);
    display: block;
    background: var(--clr-gray-1);
}
.in-lp-ba__fig figcaption {
    margin-top: 8px; font-size: 12px; font-weight: var(--fw-7);
    letter-spacing: .06em; text-transform: uppercase; color: var(--clr-gray-5);
}

/* FAQ */
.in-lp-faq { display: grid; gap: 10px; }
.in-lp-faq__item { background: #fff; border: 1px solid var(--clr-gray-2); border-radius: var(--radius); }
.in-lp-faq__q {
    list-style: none; cursor: pointer; padding: 16px 18px;
    font-size: 16px; font-weight: var(--fw-7); color: var(--clr-navy);
    display: flex; justify-content: space-between; gap: 12px; align-items: center;
}
.in-lp-faq__q::-webkit-details-marker { display: none; }
.in-lp-faq__q::marker { content: ''; }
.in-lp-faq__q::after {
    content: '+'; font-size: 21px; font-weight: var(--fw-5);
    color: var(--clr-blue); flex-shrink: 0; line-height: 1;
}
.in-lp-faq__item[open] .in-lp-faq__q::after { content: '\2212'; }
.in-lp-faq__a { padding: 0 18px 17px; }
.in-lp-faq__a p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--clr-gray-7); }

/* Final CTA */
.in-lp-final {
    padding: 76px 0;
    background: linear-gradient(135deg, var(--clr-navy), #0d3b5c);
    color: #fff; text-align: center;
}
.in-lp-final p { color: rgba(255,255,255,.82); font-size: 16.5px; line-height: 1.68; margin: 0 auto 26px; max-width: 60ch; }
.in-lp-final__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.in-lp-final__note { margin-top: 30px !important; font-size: 13px !important; color: rgba(255,255,255,.55) !important; }

/* Footer */
.in-lp-footer { padding: 30px 0 108px; background: var(--clr-gray-1); text-align: center; }
.in-lp-footer__line { margin: 0 0 7px; font-size: 13px; line-height: 1.6; color: var(--clr-gray-7); }
.in-lp-footer__muted { color: var(--clr-gray-5); }
.in-lp-footer a { color: var(--clr-blue); }

/* ── Sticky mobile call bar ──────────────────────────────── */
.in-lp-sticky { display: none; }
@media (max-width: 820px) {
    .in-lp-sticky {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 300;
        display: flex; gap: 10px; padding: 10px 14px;
        padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        background: rgba(255,255,255,.97);
        border-top: 1px solid var(--clr-gray-2);
        box-shadow: 0 -6px 22px rgba(13,38,59,.10);
    }
    .in-lp-sticky__call, .in-lp-sticky__cta {
        flex: 1; display: inline-flex; align-items: center; justify-content: center;
        gap: 7px; padding: 13px 10px; border-radius: 10px;
        font-size: 14.5px; font-weight: var(--fw-7); white-space: nowrap;
    }
    .in-lp-sticky__call { color: var(--clr-blue); border: 1.5px solid var(--clr-blue); background: var(--clr-blue-lt); }
    .in-lp-sticky__cta { color: #fff; background: linear-gradient(180deg, var(--clr-blue-br), var(--clr-blue)); }
}

/* ── Offer popup ─────────────────────────────────────────── */
.in-promo-open { overflow: hidden; }
.in-promo {
    position: fixed; inset: 0; z-index: 900;
    display: grid; place-items: center; padding: 20px;
}
.in-promo[hidden] { display: none; }
.in-promo__backdrop { position: absolute; inset: 0; background: rgba(13,38,59,.62); backdrop-filter: blur(2px); }
.in-promo__card {
    position: relative; width: 100%; max-width: 440px;
    max-height: calc(100vh - 40px); overflow-y: auto;
    padding: 30px 26px 24px;
    background: #fff; border-radius: var(--radius-lg);
    box-shadow: 0 30px 80px rgba(13,38,59,.34);
    animation: in-promo-in .28s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes in-promo-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .in-promo__card { animation: none; } }

.in-promo__x {
    position: absolute; top: 12px; right: 12px;
    width: 32px; height: 32px; display: grid; place-items: center;
    border: 0; border-radius: 50%; cursor: pointer;
    background: var(--clr-gray-1); color: var(--clr-gray-6);
}
.in-promo__x:hover { background: var(--clr-gray-2); color: var(--clr-navy); }

.in-promo__badge {
    display: inline-block; margin-bottom: 14px; padding: 6px 13px;
    border-radius: 999px; background: var(--clr-orange); color: #fff;
    font-size: 12.5px; font-weight: var(--fw-8); letter-spacing: .03em;
}
.in-promo__title {
    font-family: var(--font-serif); font-size: 26px; line-height: 1.18;
    color: var(--clr-navy); margin: 0 0 10px;
}
.in-promo__sub { font-size: 15px; line-height: 1.62; color: var(--clr-gray-7); margin: 0 0 20px; }
.in-promo__form { margin: 0; }
.in-promo__terms {
    margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--clr-gray-1);
    font-size: 11.5px; line-height: 1.6; color: var(--clr-gray-5);
}
.in-promo__done { text-align: center; }
.in-promo__code {
    margin: 0 0 18px; padding: 15px;
    border: 2px dashed var(--clr-blue); border-radius: 10px;
    background: var(--clr-blue-lt);
}
.in-promo__code-label {
    display: block; font-size: 11px; font-weight: var(--fw-7);
    letter-spacing: .08em; text-transform: uppercase; color: var(--clr-gray-5);
    margin-bottom: 4px;
}
.in-promo__code-val {
    font-size: 23px; font-weight: var(--fw-9); letter-spacing: .06em;
    color: var(--clr-navy);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1000px) {
    .in-lp-hero__grid { grid-template-columns: 1fr; gap: 34px; }
    .in-lp-formwrap { position: static; }
    .in-lp-law { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .in-lp-hero { padding: 34px 0 44px; }
    .in-lp-section { padding: 52px 0; }
    .in-lp-final { padding: 56px 0; }
    .in-lp-row { grid-template-columns: 1fr; }
    .in-lp-ba { grid-template-columns: 1fr; }
    .in-lp-formwrap { padding: 20px; }
    .in-lp-hero__actions { gap: 14px; }
    .in-lp-hero__actions .in-btn { width: 100%; justify-content: center; }
    /* The price table becomes stacked rows rather than a squeezed grid. */
    .in-lp-table thead { display: none; }
    .in-lp-table tbody th, .in-lp-table tbody td { display: block; border: 0; padding: 0; }
    .in-lp-table tbody tr {
        display: block; padding: 13px 0; border-bottom: 1px solid var(--clr-gray-2);
    }
    .in-lp-table tbody td { margin-top: 4px; }
    .in-promo__card { padding: 26px 20px 20px; }
    .in-promo__title { font-size: 22px; }
}

/* Reassurance strip under the estimate form. */
.in-req-assure {
    display: flex; flex-wrap: wrap; gap: 8px 18px;
    margin-top: 16px; padding-top: 14px;
    border-top: 1px solid var(--clr-gray-1);
}
.in-req-assure span {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: var(--fw-6); color: var(--clr-gray-5);
}
.in-req-assure svg { color: var(--clr-green); flex-shrink: 0; }
/* The estimate page places the form in a two-column hero; it should not stick. */
.in-req-form-wrap.in-lp-formwrap { position: static; }

/* =============================================================
   BOOK A SITE VISIT
   ============================================================= */
.in-book-hero {
    background:
        radial-gradient(1100px 380px at 10% -10%, rgba(0,108,181,.09), transparent 60%),
        var(--clr-gray-1);
    padding: 52px 0 72px;
}
.in-book__grid {
    display: grid; grid-template-columns: 1fr 1.05fr;
    gap: 48px; align-items: start;
}
.in-book__card { position: sticky; top: 96px; }
.in-book__hint {
    margin: -6px 0 16px; padding: 10px 12px;
    background: var(--clr-blue-lt); border-radius: 8px;
    font-size: 13px; line-height: 1.55; color: var(--clr-gray-7);
}
.in-book__callout {
    margin-top: 24px; padding: 14px 16px;
    background: #fff; border: 1px solid var(--clr-gray-2); border-radius: 10px;
    font-size: 14.5px; color: var(--clr-gray-7);
}
.in-book__callout a { color: var(--clr-navy); font-weight: var(--fw-8); }
.in-book__callout a:hover { color: var(--clr-blue); }
/* A native date input is inconsistent across browsers; give it the same
   height and type as every other field so the card does not look assembled
   from two different forms. */
input[type="date"].in-lp-input { min-height: 48px; }

@media (max-width: 1000px) {
    .in-book__grid { grid-template-columns: 1fr; gap: 32px; }
    .in-book__card { position: static; }
}
@media (max-width: 620px) {
    .in-book-hero { padding: 32px 0 48px; }
}

/* Booking: a window we cannot keep is shown, greyed, with the reason — not
   hidden. "We are in Oakland that morning" builds more trust than a slot that
   silently vanishes. */
.in-lp-scope.is-unavailable { cursor: not-allowed; }
.in-lp-scope.is-unavailable .in-lp-scope__body {
    background: var(--clr-gray-1);
    border-color: var(--clr-gray-2);
    opacity: .72;
}
.in-lp-scope.is-unavailable .in-lp-scope__name { color: var(--clr-gray-5); text-decoration: line-through; }
.in-lp-scope.is-unavailable .in-lp-scope__price { color: var(--clr-gray-5); font-weight: var(--fw-6); white-space: normal; text-align: right; }
.in-lp-scope.is-unavailable:hover .in-lp-scope__body { border-color: var(--clr-gray-2); transform: none; }

.in-book__loading { margin: 8px 0 12px; font-size: 13.5px; color: var(--clr-gray-5); }
.in-book__note { display: block; margin-top: 5px; font-size: 12px; line-height: 1.5; color: var(--clr-gray-5); }
.in-book__full {
    margin: 12px 0 0; padding: 12px 14px; border-radius: 9px;
    background: #fff6ed; border: 1px solid #f3d6b3;
    font-size: 13.5px; line-height: 1.6; color: var(--clr-gray-8);
}
.in-book-jump {
    background: none; border: 0; padding: 0; cursor: pointer;
    font: inherit; color: var(--clr-blue); font-weight: var(--fw-7); text-decoration: underline;
}

/* ── Project photos (estimate form) ─────────────────────────────────────── */
.in-lp-photos__drop {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 16px; min-height: 56px;
	border: 1.5px dashed #b9c9da; border-radius: 12px;
	background: #f7fafd; color: #41505d; font-size: 14.5px; line-height: 1.45;
	cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.in-lp-photos__drop:hover, .in-lp-photos__drop:focus-within { border-color: #006cb5; background: #eef5fc; }
.in-lp-photos__drop svg { flex: 0 0 22px; color: #006cb5; }
.in-lp-photos__drop strong { color: #006cb5; }
.in-lp-photos__input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.in-lp-photos.is-full .in-lp-photos__drop { opacity: .5; pointer-events: none; }
.in-lp-photos__list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.in-lp-photos__list li {
	display: flex; align-items: center; gap: 10px;
	padding: 6px 8px; border: 1px solid #dde5ee; border-radius: 10px; background: #fff;
	font-size: 13.5px; color: #41505d;
}
.in-lp-photos__list img { width: 44px; height: 44px; object-fit: cover; border-radius: 6px; flex: 0 0 44px; }
.in-lp-photos__list span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.in-lp-photos__list button {
	flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 8px;
	background: #f1f4f8; color: #52606d; font-size: 20px; line-height: 1; cursor: pointer;
}
.in-lp-photos__list button:hover { background: #fdecec; color: #a12626; }

/* ── One-tap project choice and the no-pricing note ───────────────────── */
.in-lp-scopes--tap .in-lp-scope__body { justify-content: space-between; min-height: 54px; }
.in-lp-scope__go { font-size: 18px; color: #9aa9b8; transition: transform .15s ease, color .15s ease; }
.in-lp-scope:hover .in-lp-scope__go,
.in-lp-scope input:checked + .in-lp-scope__body .in-lp-scope__go { color: var(--clr-blue); transform: translateX(3px); }
.in-lp-note {
	margin: 0 0 16px; padding: 12px 14px;
	border-radius: 10px; background: #eef5fc; border: 1px solid #d3e3f3;
	font-size: 14px; line-height: 1.55; color: #33414e;
}
.in-lp-note strong { color: #004e84; }

/* ── Booking: compact choices ─────────────────────────────────────────── */
.in-book__kinds { grid-template-columns: 1fr 1fr; }
.in-book__kinds .in-lp-scope__body { min-height: 48px; padding-top: 10px; padding-bottom: 10px; }
.in-book__kinds .in-lp-scope__name { font-size: 14.5px; }
@media (max-width: 380px) { .in-book__kinds { grid-template-columns: 1fr; } }

/* ── Project chips (one-page estimate form) ───────────────────────────── */
.in-lp-chips { border: 0; margin: 0 0 16px; padding: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.in-lp-chips legend { width: 100%; margin-bottom: 8px; padding: 0; }
.in-lp-chip { position: relative; cursor: pointer; }
.in-lp-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.in-lp-chip span {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px;
	border: 1.5px solid #cfdbe7; border-radius: 999px; background: #fff;
	font-size: 14.5px; font-weight: 600; color: #33414e;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.in-lp-chip:hover span { border-color: var(--clr-blue); }
.in-lp-chip input:checked + span { background: var(--clr-blue); border-color: var(--clr-blue); color: #fff; }
.in-lp-chip input:focus-visible + span { outline: 2px solid var(--clr-blue); outline-offset: 2px; }
@media (max-width: 420px) {
	.in-lp-chip span { padding: 0 13px; font-size: 14px; }
}

/* ── How pricing works (ad pages, no figures) ─────────────────────────── */
.in-lp-howprice { margin: 18px 0 24px; padding: 0; list-style: none; counter-reset: hp; display: grid; gap: 12px; }
.in-lp-howprice li {
	counter-increment: hp; position: relative; padding: 14px 16px 14px 54px;
	border: 1px solid #dde5ee; border-radius: 12px; background: #fff; line-height: 1.55; color: #41505d;
}
.in-lp-howprice li::before {
	content: counter(hp); position: absolute; left: 14px; top: 14px;
	width: 28px; height: 28px; border-radius: 50%; background: #006cb5; color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px;
}
.in-lp-howprice strong { color: #1b232b; }

/* ── Referral code field ─────────────────────────────────────────────── */
.in-lp-ref__input { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; max-width: 220px; }
.in-lp-ref__input::placeholder { letter-spacing: .04em; font-weight: 400; text-transform: none; }
.in-lp-ref__status { display: block; font-size: 13px; line-height: 1.45; color: var(--clr-gray-5, #5f7085); }
.in-lp-ref__status:empty { display: none; }
.in-lp-ref__status.is-ok { color: #0f5132; background: #e9f7ef; border: 1px solid #bfe5cd; border-radius: 10px; padding: 8px 10px; }
.in-lp-ref__status.is-bad { color: #9a3412; }
