/* Squares Remodeling: site CSS (Halo FC-5182). Loads after the theme and the Studio looks.
   Everything hangs off the band classes (sq-*) and the Studio look classes. No section padding here (A6). */

/* ── Square everything ─────────────────────────────────────── */
.sq, .sq * { --btn-radius: 0; }
a.button, .button, body .sb-blk .btn, input, textarea, select, .gform_wrapper input, .gform_wrapper textarea { border-radius: 0 !important; }

/* ── No focus rings or outlines on click ───────────────────── */
a:focus, button:focus, input:focus, textarea:focus, select:focus, summary:focus, [tabindex]:focus { outline: none !important; box-shadow: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: none !important; background-color: color-mix(in srgb, var(--color-main) 25%, transparent); }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: none !important; border-color: var(--color-sec) !important; }

/* ── Type details ──────────────────────────────────────────── */
h1, h2, h3, h4, .titles, .hd { text-wrap: balance; }
p, li, .lead { text-wrap: pretty; }
.main-nav li { text-transform: none; letter-spacing: 0; font-size: 1.7rem; }
.main-nav li a { font-weight: 600; }

/* ── Header: lime button keeps dark text in every state ────── */
.header a.button, .header .button { color: var(--color-sec) !important; }

/* ── Home hero (HER-18): the moving band is lime with ink words ── */
body .sb-heroes .h18 .band { background: var(--color-main); border-top: 0; padding-block: clamp(10px, 1.6vw, 22px); }
body .sb-heroes .h18 .track span { color: var(--color-sec); font-weight: 800; }
body .sb-heroes .h18 .track span:nth-child(even) { font-weight: 800; color: transparent; -webkit-text-stroke: 2px var(--color-sec); }
body .sb-heroes .h18 .side .lead { max-width: 34ch; }
body .sb-heroes .h18 .eyebrow { color: var(--color-main); }

/* ── Text on lime is always ink (the brand's accent is light) ── */
body .sb-blk .pri, body .sb-blk .pri .hd, body .sb-blk .pri .lead, body .sb-blk .pri .tlink, body .sb-blk .pri p { color: var(--color-sec); }
body .sb-grids .g-btn { color: var(--color-sec) !important; }
body .sb-grids .g13-s { color: var(--color-sec); }
body .sb-grids .g13-s .g-h2, body .sb-grids .g13-s .g-lead, body .sb-grids .g13-s .g-eyebrow, body .sb-grids .g13-s .g-meta { color: var(--color-sec) !important; }
body .sb-grids .g13-s .g-btn { background: var(--color-sec); color: #fff !important; }
body .sb-lists .action { color: var(--color-sec); }
body .sb-lists .ink .action { background: var(--color-main); border-color: var(--color-main); color: var(--color-sec); }
body .sb-lists .ink .action:hover { background: #fff; border-color: #fff; }
body .sb-ctas .c3 .pri .btn { background: var(--color-sec); color: #fff; border-color: var(--color-sec); }
body .sb-ctas .c3 .pri .btn:hover { background: #fff; color: var(--color-sec); border-color: #fff; }
body .sb-imagery .btn, body .sb-page-titles .btn { color: var(--color-sec); }
a.button-sec-color, .button-sec-color a, a.button.button-sec-color { color: #fff !important; }

/* ── Statement (CON-26): highlighter on the key words ──────── */
.sq-statement .ct2-stm-text strong { color: inherit; background: var(--color-main); padding: 0 .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* ── Services cards (GRD-02): head sits above the cards ────── */
body .sb-grids .g02-head { align-items: flex-end; }
body .sb-grids .g02-head .g-lead { margin-bottom: 0; }
body .sb-grids .g02-n { color: var(--color-sec); }
@media (max-width: 767px) {
	body .sb-grids .g02-head { grid-template-columns: 1fr; }
	body .sb-grids .g02-head .g-btn { grid-column: 1; grid-row: 3; justify-self: start; white-space: nowrap; font-size: var(--st-type-small); padding: 0 24px; min-height: 48px; }
}

/* ── Two doors: deeper fade so the titles read on bright photos ── */
.sq-doors { --cc-two-doors-fade: .92; }

/* ── Steps (CTA-19): numbers as lime squares ───────────────── */
body .sb-ctas .c19-steps .n { display: grid; place-items: center; width: clamp(48px, 5vw, 64px); height: clamp(48px, 5vw, 64px); background: var(--color-main); color: var(--color-sec); font-size: clamp(26px, 2.4vw, 34px) !important; }

/* ── Footer (FTR-01): wordmark in caps, lime on hover ──────── */
body .sb-footers .f1 .fit { text-transform: uppercase; letter-spacing: -.01em; }
body .sb-footers .ink a:hover { color: var(--color-main); }
body .sb-footers .f1-tag em { color: var(--color-main); font-style: normal; }

/* ── Motion: reduced motion keeps everything still and visible ── */
@media (prefers-reduced-motion: reduce) {
	body .sb-heroes .h18 .track { animation: none; }
}

/* ── Round 2 fixes ─────────────────────────────────────────── */
.sq-doors .cc-two-doors { --cc-two-doors-fade: .96; }
body .sb-grids .g13-s em, body .sb-blk .pri em { color: inherit; font-style: italic; }
body .sb-blk.sb-blk.sb-blk.sb-blk.sb-blk .btn:not(.ghost) { color: var(--color-sec); }
body .sb-blk.sb-blk.sb-blk.sb-blk.sb-blk .btn:not(.ghost):hover { color: #fff; }
body .sb-blk.sb-blk.sb-blk.sb-blk.sb-blk .c3 .pri .btn { color: #fff; }
body .sb-blk.sb-blk.sb-blk.sb-blk.sb-blk .c3 .pri .btn:hover { color: var(--color-sec); }
body .sb-forms button, body .sb-forms [type="submit"] { color: var(--color-sec) !important; }
body .sb-forms button:hover, body .sb-forms [type="submit"]:hover { color: #fff !important; }
body .sb-lists .category, body .sb-grids .g-meta, body .sb-cards .meta, body .sb-cards .label { font-size: 1.4rem !important; }

/* ── Round 3 fixes ─────────────────────────────────────────── */
.sq-doors .cc-two-doors__door, .sq-doors .cc-two-doors__door * { color: #fff; }
.sq-doors .cc-two-doors__door.has-img::after { opacity: .96; background: linear-gradient(to top, #000 0%, rgba(0,0,0,.92) 38%, transparent 96%); }
body .sb-blk.sb-blk.sb-blk.sb-blk .g13-s .g-h2 em { color: var(--color-sec) !important; font-weight: 700; font-style: italic; }
.header-display { box-shadow: 0 1px 0 rgba(25, 23, 36, .1) !important; }
.popup-menu ul li a { font-size: 2.8rem; }
body .sb-heroes .eyebrow, body .sb-blk .eyebrow, body .sb-page-titles .eyebrow { font-size: 1.6rem !important; }
body .sb-grids .g-meta, body .sb-cards .label, body .sb-cards .meta, body .sb-lists .category { font-size: 1.5rem !important; }
