/* FINOVAS — branch pages: Australia (landing, service pages, pricing) and Thailand */

/* ── Australia: situations, as one ruled sheet (components.css .sheet) ── */
.situation {
  display: flex; align-items: center; gap: 16px; min-height: 92px; padding: 18px 22px;
  color: var(--navy); font-weight: 600; line-height: 1.45; transition: background var(--t-fast), color var(--t-fast);
}
.situation:hover { background: #F5F9FF; color: var(--blue-ink); }
.situation__label { flex: 1; }
.situation__icon { display: block; flex: 0 0 34px; height: 34px; }
.situation__icon .fi { width: 100%; height: 100%; }

/* ── Australia: service cells (icon, title, the price as a figure, line, ticks, link) ── */
.au-card { gap: 10px; }
.au-card .feature-icon { margin-bottom: 8px; }
.au-card h3 a { color: var(--navy); }
.au-card h3 a:hover { color: var(--blue-ink); }
.au-card .au-card__price { margin: -4px 0 2px; color: var(--navy); font-size: 1.3rem; font-weight: 700; letter-spacing: -.01em; }
.price-note { display: flex; gap: 10px; align-items: flex-start; max-width: 880px; margin: 24px 0 0; color: var(--steel); font-size: .88rem; line-height: 1.65; }
.price-note svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--steel); }

/* ── Australia: why choose (columns under a rule) ── */
.why-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px clamp(24px, 3vw, 40px); }
.why-item { display: grid; gap: 14px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line); }
.section--ice .why-item { border-color: #D3DFEC; }
.why-item .feature-icon { width: 36px; height: 36px; margin-bottom: 0; }
.why-item h3 { margin-bottom: 4px; }
.why-item p { color: var(--steel); font-size: .95rem; }

/* ── Australia: service page ── */
.service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.service-hero .breadcrumb { margin-bottom: 18px; }
.service-hero__price { display: flex; align-items: baseline; gap: 10px; margin-top: 22px; }
.service-hero__price small { color: var(--on-navy-muted); font-size: .85rem; }
.service-hero__visual { position: relative; padding: 22px 12px 26px 0; }
.service-hero__visual .peak--collage { right: -12%; top: -16%; width: 64%; height: auto; }
.service-hero__visual .service-hero__photo { position: relative; z-index: 1; }
.service-hero__visual .sticker--a { left: -14px; top: auto; bottom: 0; }
.service-hero__visual .sticker--b { right: 0; top: 0; }
/* What's included, beside the price card */
.svc-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 370px); gap: clamp(28px, 4vw, 56px); align-items: start; }
.svc-main .section-head { margin-bottom: 26px; }
.svc-inc { display: grid; align-content: start; gap: 14px; padding: 24px; }
.svc-inc .feature-icon { width: 36px; height: 36px; margin: 0; }
.svc-inc b { color: var(--navy); font-weight: 600; line-height: 1.45; }
.svc-fit { margin-top: 28px; padding: 24px; border-radius: var(--r-xl); background: var(--ice); }
.svc-fit h3 { margin-bottom: 14px; font-size: 1.05rem; }
.svc-fit__list { display: flex; flex-wrap: wrap; gap: 10px; }
.svc-fit__item {
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 12px; border: 1px solid #D3DFEC; border-radius: var(--r-md);
  background: var(--white); color: var(--navy); font-weight: 600; font-size: .95rem; line-height: 1.4;
}
.svc-fit__item .situation__icon { flex-basis: 28px; height: 28px; }
.svc-fit > p { margin: -8px 0 14px; color: var(--steel); font-size: .92rem; }
a.svc-fit__item { transition: border-color var(--t-fast), color var(--t-fast); }
a.svc-fit__item:hover { border-color: var(--blue); color: var(--blue-ink); }
.svc-price {
  position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: 12px; padding: 30px;
  border-radius: var(--r-xl); background: var(--navy); color: var(--on-navy-muted);
}
.svc-price__label { color: #A9CCFF; font-size: .95rem; font-weight: 600; }
.svc-price__value { color: var(--white); font-size: clamp(1.9rem, 1.5rem + 1.2vw, 2.5rem); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.svc-price__value::after { content: ""; display: block; width: 30px; height: 5px; margin-top: 14px; border-block: 1.5px solid var(--blue); }
.svc-price__gst { margin-top: -2px; font-size: .85rem; }
.svc-price__deadline { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0; padding: 14px 0; border-block: 1px solid var(--navy-3); color: var(--white); font-size: .9rem; font-weight: 500; line-height: 1.5; }
.svc-price__deadline .fi { --fi-line: var(--white); --fi-body: rgba(255, 255, 255, .08); }
.svc-price__deadline .fi { flex: 0 0 auto; width: 30px; height: 30px; }
.svc-price .svc-price__line { justify-self: center; color: var(--white); font-size: .95rem; }
.svc-price .price-note { margin: 2px 0 0; color: rgba(184, 200, 219, .9); font-size: .78rem; }
.svc-price .price-note svg { color: #8FBFFF; }
/* How it works, from the branch's own promises: a numbered rail (a real sequence) */
.flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px clamp(24px, 3vw, 40px); }
.flow__step { position: relative; display: grid; align-content: start; gap: 12px; padding-top: 50px; }
.flow__step::before { content: ""; position: absolute; left: 0; right: calc(-1 * clamp(24px, 3vw, 40px)); top: 14px; height: 1px; background: #C9D8E8; }
.flow__step:last-child::before { right: 0; }
.flow__num { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: var(--blue-ink); color: var(--white); font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; box-shadow: 0 0 0 5px var(--ice); }
.flow__step .feature-icon { width: 36px; height: 36px; margin: 0; }
.flow__step h3 { font-size: 1.05rem; }
.flow__step p { color: var(--steel); font-size: .93rem; }
.au-service .stat-band, .au-pricing .stat-band { margin-bottom: 8px; }
.price-tag--lg { font-size: 1.6rem; letter-spacing: -.01em; }
.page-hero .price-tag { color: var(--white); }
.service-hero__photo { overflow: hidden; border-radius: var(--r-xl); aspect-ratio: 3 / 2; background: var(--navy-2); box-shadow: 0 18px 40px rgba(4, 12, 28, .3); }
.service-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.included-list { display: grid; gap: 12px; }
.included-list li { display: flex; gap: 12px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--navy); font-weight: 500; }
.included-list svg { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; color: var(--blue-ink); }
.au-service .price-note { margin-inline: 0; }

/* ── Australia: pricing ── */
.price-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.price-jump a {
  display: grid; gap: 2px; min-width: 150px; padding: 10px 16px; border: 1px solid rgba(143, 191, 255, .35); border-radius: var(--r-md);
  color: var(--white); transition: background var(--t-fast), border-color var(--t-fast);
}
.price-jump a span { font-weight: 600; }
.price-jump a b { color: #8FBFFF; font-size: .82rem; font-weight: 600; }
.price-jump a:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .6); color: var(--white); }
.collage--single .collage__photo--1 { left: 4%; top: 10%; width: 88%; }
.price-group + .price-group { margin-top: clamp(36px, 4vw, 52px); }
.price-group__title { margin-bottom: 16px; font-size: 1.4rem; }
.price-rows { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-xl); }
.price-row {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) auto; gap: 18px 24px; align-items: center;
  padding: 18px 22px; color: var(--text); transition: background var(--t-fast);
}
.price-row + .price-row { border-top: 1px solid var(--line-soft); }
.price-row:hover { background: #F6FAFF; color: var(--text); }
.price-row__name b { display: block; color: var(--navy); font-size: 1.02rem; }
.price-row__name small { display: block; margin-top: 2px; color: var(--steel); font-size: .86rem; line-height: 1.5; }
.price-row__chips { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.price-row__chips .ticks { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.price-row__chips .ticks li { font-size: .86rem; }
.price-row .price-tag { justify-self: end; white-space: nowrap; font-size: 1.1rem; }

.estimator { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 3vw, 40px); align-items: start; }
.estimator__form h2 { font-size: 1.6rem; }
.estimator__form .lead { margin: 8px 0 8px; font-size: .98rem; }
.estimator fieldset { margin-top: 22px; padding: 0; border: 0; }
.estimator legend { margin-bottom: 10px; color: var(--navy); font-weight: 600; }
.opt { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--r-md); cursor: pointer; transition: border-color var(--t-fast), background var(--t-fast); }
.opt + .opt, .opt-sub + .opt, .opt + .opt-sub, .opt-number + .opt, .opt + .opt-number { margin-top: 8px; }
.opt:hover { border-color: #C5D6EA; }
.opt:has(input:checked) { border-color: var(--blue); background: var(--ice); }
.opt:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.opt input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: var(--blue-ink); }
.opt span { line-height: 1.5; }
.opt-sub, .opt-number { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 14px; border-radius: 10px; background: #F6FAFF; }
.opt-sub[hidden] { display: none; }
.opt-sub label, .opt-number label { color: var(--navy); font-weight: 500; font-size: .95rem; }
.opt-sub input, .opt-number input { width: 92px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); font-size: 1rem; text-align: center; }
.est-hint { margin-top: 10px; color: var(--steel); font-size: .84rem; }
.estimator__summary { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 16px; }
.estimator__summary h3 { font-size: 1.1rem; }
.est-lines { display: grid; gap: 10px; }
.est-lines li { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 10px; border-bottom: 1px dashed var(--line); font-size: .93rem; }
.est-lines li b { color: var(--navy); white-space: nowrap; }
.est-lines .est-empty { color: var(--steel); border: 0; }
.est-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.est-total strong { color: var(--navy); font-size: 2.2rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; padding-bottom: 6px; border-bottom: 4.5px double var(--blue); }
.est-total small { color: var(--steel); }
.est-note { color: var(--steel); font-size: .86rem; }
.estimator__summary .price-note { margin: 0; font-size: .8rem; }

/* ── Thailand: few boxes; lists, rules and photos carry the structure (owners' feedback 2026-10-09) ── */
.hero--th .hero__lead p + p { margin-top: 12px; }
/* Situations: a two-column chooser list */
.th-chooser { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 4vw, 64px); border-top: 1px solid var(--line); }
.th-chooser > li { border-bottom: 1px solid var(--line); }
.th-choice {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 6px 18px;
  width: 100%; padding: 20px 2px; color: var(--text); text-align: left;
}
.th-choice:hover { color: var(--text); }
.th-choice__icon { display: block; width: 40px; height: 40px; }
.th-choice__icon .fi { width: 100%; height: 100%; }
.th-choice__copy b { display: block; color: var(--navy); font-size: 1.05rem; font-weight: 600; line-height: 1.45; transition: color var(--t-fast); }
.th-choice__copy span { display: block; margin-top: 2px; color: var(--steel); font-size: .92rem; line-height: 1.6; }
.th-choice__go {
  color: var(--blue-ink); font-size: .9rem; font-weight: 600; white-space: nowrap;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: rgba(18, 98, 212, .35);
}
.th-choice:hover .th-choice__copy b { color: var(--blue-ink); }
.th-choice:hover .th-choice__go { text-decoration-color: currentColor; }

/* Services: one ruled row of links (a contents line), then each service as photo + text */
.th-jump { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-bottom: clamp(20px, 3vw, 32px); padding: 14px 0; border-block: 1px solid #D3DFEC; }
.th-jump a { padding: 4px 0; color: var(--navy); font-size: .95rem; font-weight: 600; transition: color var(--t-fast); }
.th-jump a:hover { color: var(--blue-ink); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.th-services { display: grid; }
.th-service {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 64px); align-items: start;
  padding-block: clamp(32px, 4.5vw, 56px); border-top: 1px solid #D5E2F0;
}
.th-service:first-child { border-top: 0; padding-top: 8px; }
.th-service:nth-child(even) { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.th-service:nth-child(even) .th-service__media { order: 2; }
.th-service__media { position: relative; margin: 0; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--r-xl); background: var(--white); }
.th-service__media img { width: 100%; height: 100%; object-fit: cover; }
.th-service__content { display: grid; align-content: start; gap: 16px; }
.th-service__head { display: flex; align-items: center; gap: 14px; }
.th-service__head .feature-icon { flex: 0 0 auto; width: 40px; height: 40px; margin: 0; }
.th-service h3 { font-size: clamp(1.3rem, 1.1rem + .7vw, 1.65rem); font-weight: 600; } /* CI: sub-head SemiBold */
.th-service__lines { display: grid; gap: 4px; }
.th-service__lines p { color: var(--steel); }
.th-service__lines p:first-child { color: var(--navy); font-weight: 500; }
.th-service__detail { display: grid; gap: 16px; align-content: start; }
.th-service__content > .btn { justify-self: start; margin-top: 4px; }
/* Prices as a ruled list */
.tiers { display: grid; border-top: 1px solid #D5E2F0; }
.tier-group { padding: 16px 0 2px; color: var(--steel); font-size: .88rem; font-weight: 600; }
.tier { padding: 12px 0; border-bottom: 1px solid #D5E2F0; }
.tier__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.tier__name { color: var(--navy); font-weight: 600; }
.tier__price { color: var(--navy); font-size: 1.12rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.tier__head .tier__price:only-child { font-size: 1.2rem; }
.tier p { margin-top: 2px; color: var(--steel); font-size: .9rem; }
.th-list__intro { margin-bottom: 10px; color: var(--navy); font-weight: 600; }
.th-list .check-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.th-after p { color: var(--steel); font-size: .92rem; }
.fee-note { display: flex; gap: 14px; margin-top: 8px; padding-top: 28px; border-top: 1px solid #D5E2F0; }
.fee-note .fi { flex: 0 0 auto; width: 40px; height: 40px; }
.fee-note h3 { margin-bottom: 4px; font-size: 1rem; }
.fee-note p { color: var(--steel); font-size: .92rem; }

/* Why: columns under a rule */
.th-why { gap: 32px clamp(24px, 3vw, 40px); }
.th-why__item { padding-top: 24px; border-top: 1px solid var(--line); }
.th-why__item h3 { margin: 16px 0 8px; font-size: 1.08rem; }
.th-why__item .feature-icon { width: 36px; height: 36px; margin: 0; }
.th-why__item p { color: var(--steel); font-size: .95rem; }

/* How to start: a numbered timeline */
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: step; }
.step { padding: 26px 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); }
.step__num { display: block; margin-bottom: 14px; color: var(--blue-ink); font-size: 1.6rem; font-weight: 700; line-height: 1; }
.step h3 { margin-bottom: 8px; }
.step p { color: var(--steel); font-size: .94rem; }
/* The same numbered rail as the AU service steps and the careers steps */
.steps--timeline { gap: 32px clamp(24px, 3vw, 40px); }
.steps--timeline .step { position: relative; padding: 50px 0 0; background: none; border: 0; border-radius: 0; }
.steps--timeline .step__num {
  position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 29px; height: 29px; margin: 0; border-radius: 50%;
  background: var(--blue-ink); color: var(--white); font-size: .85rem; font-variant-numeric: tabular-nums; box-shadow: 0 0 0 5px var(--ice);
}
.steps--timeline .step::before { content: ""; position: absolute; left: 0; right: calc(-1 * clamp(24px, 3vw, 40px)); top: 14px; height: 1px; background: #C9D8E8; }
.steps--timeline .step:last-child::before { right: 0; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .why-layout { grid-template-columns: minmax(0, 1fr); }
  .price-row { grid-template-columns: minmax(0, 1fr) auto; }
  .price-row__chips { grid-column: 1 / -1; grid-row: 2; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps--timeline .step:nth-child(2)::before, .flow__step:nth-child(2)::before { right: 0; }
  .flow { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
}
@media (max-width: 900px) {
  .service-hero__grid, .estimator { grid-template-columns: minmax(0, 1fr); }
  .estimator__summary { position: static; }
  .th-service, .th-service:nth-child(even) { grid-template-columns: minmax(0, 1fr); }
  .th-service:nth-child(even) .th-service__media { order: 0; }
  .th-service__media { aspect-ratio: 16 / 9; }
  .th-chooser { grid-template-columns: minmax(0, 1fr); }
  .svc-layout { grid-template-columns: minmax(0, 1fr); }
  .svc-price { position: static; }
  .service-hero__visual { max-width: 560px; }
}
@media (max-width: 760px) {
  .why-grid, .steps { grid-template-columns: minmax(0, 1fr); }
  .situation { min-height: 0; }
  .price-row { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 10px; }
  .price-row .price-tag { grid-row: 2; justify-self: start; white-space: normal; }
  .price-row__chips { grid-row: 3; }
  .opt-sub, .opt-number { flex-wrap: wrap; }
  .th-service__content > .btn { justify-self: stretch; }
  .flow { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .flow__step { padding: 0 0 28px 48px; }
  .flow__step::before, .flow__step:last-child::before { left: 14px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .flow__step:last-child::before { display: none; }
  .svc-included.sheet { --cols: 1 !important; }
  .svc-inc { grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .price-jump a { flex: 1 1 140px; min-width: 0; }
  .service-hero__visual .sticker--a { left: 0; }
  .th-choice { grid-template-columns: 44px minmax(0, 1fr); padding-block: 16px; }
  .th-choice__icon { width: 34px; height: 34px; }
  .th-choice__go { grid-column: 2; white-space: normal; }
  .th-jump { gap: 2px 20px; }
  .steps--timeline { gap: 0; }
  .steps--timeline .step { padding: 0 0 28px 48px; min-height: 0; }
  .steps--timeline .step::before, .steps--timeline .step:nth-child(2)::before { display: block; left: 14px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .steps--timeline .step:last-child::before { display: none; }
  .th-list .check-list { grid-template-columns: minmax(0, 1fr); }
}

/* ── United Kingdom (owner's brief, 2026-11-09): each service is a ledger row, with who it suits, what
   we do, what to send and how long in ruled columns; the company record reads as a register extract. ── */
.uk-proof { display: inline-flex; align-items: flex-start; gap: 10px; color: rgba(255, 255, 255, .82); font-size: .9rem; line-height: 1.55; }
.hero__proof a.uk-proof { color: rgba(255, 255, 255, .82); text-decoration-color: rgba(255, 255, 255, .35); text-underline-offset: 4px; }
.hero__proof a.uk-proof:hover { color: var(--white); text-decoration-color: currentColor; }
.uk-proof svg { flex: none; margin-top: 2px; color: #8DB9F5; }

.uk-group { padding-top: clamp(8px, 1vw, 12px); }
.uk-group + .uk-group { margin-top: clamp(36px, 4.5vw, 56px); padding-top: clamp(36px, 4.5vw, 56px); border-top: 1px solid var(--line); }
.uk-group__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.uk-group:nth-of-type(even) .uk-group__media { order: 2; }
.uk-group__media { margin: 0; overflow: hidden; aspect-ratio: 3 / 2; background: var(--ice); }
.uk-group__media img { width: 100%; height: 100%; object-fit: cover; }
.uk-group__intro h3 { color: var(--navy); font-size: clamp(1.45rem, 1.15rem + 1vw, 2rem); font-weight: 600; line-height: 1.3; }
.uk-group__intro > p { margin-top: 10px; color: var(--steel); }
.uk-group__index { margin-top: 22px; border-top: 1px solid var(--line); }
.uk-group__index li { border-bottom: 1px solid var(--line); }
.uk-group__index a { display: block; padding: 11px 0; color: var(--navy); font-size: .98rem; font-weight: 600; transition: color var(--t-fast); }
.uk-group__index a:hover { color: var(--blue-ink); }

.uk-svcs { margin-top: clamp(24px, 3vw, 36px); }
.uk-svc { padding-block: clamp(24px, 2.6vw, 32px); border-top: 1px solid var(--line); }
.uk-svc__head { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 4px 18px; align-items: start; }
.uk-svc__head .feature-icon { grid-row: 1 / span 2; width: 40px; height: 40px; margin: 0; }
.uk-svc__head h4 { grid-column: 2; color: var(--navy); font-size: clamp(1.12rem, 1.02rem + .35vw, 1.3rem); font-weight: 600; line-height: 1.4; }
.uk-svc__head p { grid-column: 2; color: var(--steel); }
.uk-svc__head .btn { grid-column: 3; grid-row: 1 / span 2; align-self: center; white-space: nowrap; }
.uk-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 0 58px; border-top: 1px solid var(--line-soft); }
.uk-fact { padding: 16px clamp(14px, 1.6vw, 22px) 0; border-left: 1px solid var(--line-soft); }
.uk-fact:first-child { padding-left: 0; border-left: 0; }
.uk-fact dt { margin-bottom: 8px; color: var(--blue-ink); font-size: .85rem; font-weight: 600; }
.uk-fact dd { margin: 0; color: var(--text); font-size: .93rem; line-height: 1.65; }
.uk-list { display: grid; gap: 6px; }
.uk-list li { position: relative; padding-left: 16px; }
.uk-list li::before { content: ""; position: absolute; left: 0; top: .68em; width: 6px; height: 6px; background: var(--blue); }
.uk-services .fee-note { margin-top: clamp(36px, 4.5vw, 56px); }

/* The owner's price sheet: staging only until the owner confirms it */
.uk-pricing { margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(32px, 4vw, 48px); border-top: 2px solid var(--navy); }
.uk-draft { display: inline-block; margin-bottom: 16px; padding: 6px 12px; border-radius: 3px; background: #FFF1CC; color: #6B4A00; font-size: .85rem; font-weight: 600; }
.uk-pricing__title { color: var(--navy); font-size: clamp(1.45rem, 1.15rem + 1vw, 2rem); font-weight: 600; }
.uk-pkgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; border-top: 1px solid var(--line); }
.uk-pkg { padding: 24px clamp(18px, 2vw, 28px) 8px; border-left: 1px solid var(--line); }
.uk-pkg:first-child { padding-left: 0; border-left: 0; }
.uk-pkg h3 { color: var(--navy); font-size: 1.1rem; font-weight: 600; }
.uk-pkg__for { margin-top: 4px; color: var(--steel); font-size: .92rem; }
.uk-pkg__price { margin-top: 14px; color: var(--steel); font-size: .95rem; }
.uk-pkg__price b { color: var(--navy); font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.uk-pkg__year { color: var(--steel); font-size: .9rem; }
.uk-pkg .uk-list { margin-top: 16px; font-size: .92rem; }
.uk-pkg__options { display: grid; gap: 14px; margin-top: 14px; }
.uk-pkg__options li { display: grid; gap: 2px; color: var(--steel); font-size: .92rem; }
.uk-pkg__options .uk-pkg__price { margin-top: 0; }
.uk-pricing__sub { margin-top: clamp(32px, 4vw, 44px); color: var(--navy); font-size: 1.1rem; font-weight: 600; }
.uk-extras { max-width: 760px; margin-top: 12px; }
.uk-pricing__note { margin-top: 18px; color: var(--steel); font-size: .9rem; }

.uk-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.uk-about__copy .section-head { margin-bottom: 20px; }
.uk-about__copy > p { max-width: 38em; }
.uk-about__copy > p + p { margin-top: 12px; }
.uk-about__sub { margin-top: clamp(28px, 3vw, 36px); color: var(--navy); font-size: 1.05rem; font-weight: 600; }
.uk-offices { margin-top: 12px; border-top: 1px solid #D3DFEC; }
.uk-offices li { border-bottom: 1px solid #D3DFEC; }
.uk-offices a, .uk-offices__here { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; padding: 12px 0; color: var(--navy); }
.uk-offices b { font-weight: 600; transition: color var(--t-fast); }
.uk-offices a:hover b { color: var(--blue-ink); }
.uk-offices__city { color: var(--steel); }
.uk-person { margin-top: 12px; padding-top: 16px; border-top: 1px solid #D3DFEC; }
.uk-person__name { color: var(--navy); font-size: 1.15rem; font-weight: 600; }
.uk-person__role { color: var(--steel); }
.uk-person__creds { display: grid; gap: 6px; margin-top: 12px; }
.uk-person__creds li { display: flex; align-items: center; gap: 8px; }
.uk-person__creds svg { flex: none; color: var(--blue-ink); }
.uk-record { padding: clamp(24px, 3vw, 36px); background: var(--white); border-top: 4px solid var(--navy); }
.uk-record h3 { display: flex; align-items: center; gap: 10px; color: var(--navy); font-size: 1.05rem; font-weight: 600; }
.uk-record h3 svg { flex: none; width: 22px; height: 22px; color: var(--blue-ink); }
.uk-record dl { margin: 18px 0 22px; }
.uk-record dl > div { display: grid; grid-template-columns: minmax(0, 10.5em) minmax(0, 1fr); gap: 2px 16px; padding: 11px 0; border-top: 1px solid var(--line); }
.uk-record dt { color: var(--steel); font-size: .9rem; }
.uk-record dd { margin: 0; color: var(--navy); font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; }

.steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.uk-steps .steps--timeline .step__num { box-shadow: 0 0 0 5px var(--white); }

.uk-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.uk-contact__copy .section-head { margin-bottom: 24px; }
.uk-contact__rows { border-top: 1px solid #D3DFEC; }
.uk-contact__rows > div { padding: 16px 0; border-bottom: 1px solid #D3DFEC; }
.uk-contact__rows dt { display: flex; align-items: center; gap: 10px; color: var(--steel); font-size: .9rem; }
.uk-contact__rows dt svg { flex: none; color: var(--blue-ink); }
.uk-contact__rows dd { margin: 4px 0 0 28px; font-size: 1.1rem; font-weight: 600; overflow-wrap: anywhere; }
.uk-contact__rows a { color: var(--navy); text-decoration: underline; text-decoration-color: rgba(11, 31, 58, .25); text-underline-offset: 4px; }
.uk-contact__rows a:hover { color: var(--blue-ink); text-decoration-color: currentColor; }

@media (max-width: 1024px) {
  .grid-3.uk-why { grid-template-columns: repeat(3, minmax(0, 1fr)); } /* three highlights stay one row */
  .uk-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uk-fact:nth-child(odd) { padding-left: 0; border-left: 0; }
  .uk-fact:nth-child(n+3) { margin-top: 16px; border-top: 1px solid var(--line-soft); }
  .steps--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps--5.steps--timeline .step:nth-child(2n)::before { right: 0; }
  .uk-about { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .uk-group__head, .uk-contact, .uk-pkgs { grid-template-columns: minmax(0, 1fr); }
  .uk-group:nth-of-type(even) .uk-group__media { order: 0; }
  .uk-group__media { aspect-ratio: 16 / 9; }
  .uk-pkg { padding-left: 0; border-left: 0; }
  .uk-pkg + .uk-pkg { border-top: 1px solid var(--line); }
}
@media (max-width: 760px) {
  .grid-3.uk-why { grid-template-columns: minmax(0, 1fr); }
  .uk-svc__head { grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; }
  .uk-svc__head .feature-icon { grid-row: auto; width: 34px; height: 34px; }
  .uk-svc__head p { grid-column: 1 / -1; }
  .uk-svc__head .btn { grid-column: 1 / -1; grid-row: auto; justify-self: start; margin-top: 12px; white-space: normal; }
  .uk-facts { grid-template-columns: minmax(0, 1fr); margin-left: 0; }
  .uk-fact:nth-child(n) { margin-top: 0; padding: 14px 0 0; border-left: 0; }
  .uk-fact:nth-child(n+2) { margin-top: 14px; border-top: 1px solid var(--line-soft); }
  .steps--5 { grid-template-columns: minmax(0, 1fr); }
  .steps--5.steps--timeline .step:nth-child(2n)::before { right: auto; }
  .uk-record dl > div { grid-template-columns: minmax(0, 1fr); }
}
