/* ==========================================================================
   Lukin Advisory — Brand stylesheet for WordPress
   Palette: White #ffffff · Oxblood #360708 · Brick #682b2c (logo colour)
   Type:    Archivo (headings, wide caps labels) · Source Serif 4 (body)
   All component classes are prefixed .lk- and are applied through the
   "Lukin Advisory" block patterns. Safe to use with any block theme.
   ========================================================================== */

:root {
	--lk-white: #ffffff;
	--lk-oxblood: #360708;
	--lk-brick: #682b2c;
	/* tints derived from the brand colours (backgrounds / lines only) */
	--lk-blush: #f7f1f0;
	--lk-line: rgba(104, 43, 44, 0.22);
	--lk-line-light: rgba(255, 255, 255, 0.22);
	--lk-text-soft: #5b3a3a;

	--lk-font-head: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--lk-font-body: "Source Serif 4", Georgia, "Times New Roman", serif;

	--lk-max: 1180px;
	--lk-narrow: 760px;
	--lk-gutter: clamp(20px, 5vw, 64px);
	--lk-space: clamp(64px, 9vw, 120px);
	--lk-band: clamp(54px, 7.4vw, 105px);
}

/* ---------- Base typography ---------- */
/* "html body" outranks the theme's global "body" rule, which prints after this file */
html body {
	font-family: var(--lk-font-body);
	color: var(--lk-oxblood);
	background: var(--lk-white);
	font-size: 18px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4,
body .wp-block-heading {
	font-family: var(--lk-font-head);
	font-stretch: 100%;
	font-weight: 600;
	color: inherit;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
body h1 { font-size: clamp(2.3rem, 5vw, 3.8rem); }
body h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
body h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.3; }
body a { color: var(--lk-brick); text-underline-offset: 3px; text-decoration-thickness: 1px; }
body a:hover { color: var(--lk-oxblood); }
::selection { background: var(--lk-brick); color: #fff; }

/* Wide-tracked caps label — echoes "ADVISORY" in the logo */
.lk-eyebrow {
	font-family: var(--lk-font-head) !important;
	font-stretch: 125%;
	font-weight: 600;
	font-size: 0.8rem !important;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--lk-brick);
	margin-bottom: 0.9rem !important;
}
.lk-dark .lk-eyebrow, .lk-hero .lk-eyebrow, .lk-page-header .lk-eyebrow { color: #e6c9c6; }

/* Bold + hairline rule — taken from the letterhead */
.lk-ruled::after {
	content: "";
	display: block;
	width: min(420px, 70%);
	height: 7px;
	margin-top: 1.1rem;
	background:
		linear-gradient(var(--lk-brick), var(--lk-brick)) left top / 96px 7px no-repeat,
		linear-gradient(var(--lk-line), var(--lk-line)) left bottom / 100% 2px no-repeat;
}
.lk-dark .lk-ruled::after, .lk-hero .lk-ruled::after, .lk-page-header .lk-ruled::after {
	background:
		linear-gradient(#fff, #fff) left top / 96px 7px no-repeat,
		linear-gradient(var(--lk-line-light), var(--lk-line-light)) left bottom / 100% 2px no-repeat;
}
.has-text-align-center.lk-ruled::after { margin-inline: auto; background-position: center top, center bottom; }

.lk-lead { font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important; line-height: 1.6; }

/* ---------- Sections ---------- */
.lk-section,
.lk-hero,
.lk-page-header,
.lk-cta,
.lk-site-footer {
	padding: var(--lk-space) var(--lk-gutter) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}
.lk-section > *, .lk-hero > *, .lk-page-header > *, .lk-cta > *, .lk-site-footer > *, .lk-site-header > * {
	max-width: var(--lk-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.lk-narrow, .lk-section > .lk-narrow { max-width: var(--lk-narrow) !important; }
.lk-section > .lk-narrow.lk-left { margin-left: max(0px, calc((100% - var(--lk-max)) / 2)) !important; }

.lk-blush { background: var(--lk-blush) url("../graphics/pattern-rings.svg") repeat; }
.lk-dark { background: var(--lk-oxblood); color: #fff; }
.lk-dark a:not(.wp-block-button__link) { color: #fff; }
.lk-brick { background: var(--lk-brick); color: #fff; }

/* ---------- Hero (home) ---------- */
.lk-hero {
	background: var(--lk-oxblood) right center / cover no-repeat;
	color: #fff;
	min-height: min(88vh, 760px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lk-hero > * { width: 100%; }
.lk-hero h1 { max-width: 15ch; color: #fff; }
.lk-hero .lk-lead { max-width: 40rem; color: rgba(255,255,255,.88); }
@media (max-width: 781px) {
	.lk-hero { background-position: 72% center; }
}

/* ---------- Interior page headers ---------- */
.lk-page-header {
	background: var(--lk-oxblood) right center / cover no-repeat;
	color: #fff;
	padding-top: clamp(80px, 11vw, 150px) !important;
	padding-bottom: clamp(72px, 9vw, 120px) !important;
}
.lk-page-header h1 { color: #fff; margin: 0; }
@media (max-width: 781px) {
	.lk-page-header, .lk-hero { background-position: 78% center; }
}

/* ---------- Buttons: square with a 45° corner cut (the "k" diagonal) ---------- */
.lk-btn .wp-block-button__link,
.wp-block-button.lk-btn .wp-block-button__link {
	background: var(--lk-brick);
	color: #fff !important;
	border-radius: 0 !important;
	font-family: var(--lk-font-head);
	font-stretch: 112%;
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 1.05em 2.1em 1.05em 1.8em;
	clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
	transition: background-color .2s ease, transform .2s ease;
	text-decoration: none;
}
.lk-btn .wp-block-button__link:hover { background: var(--lk-oxblood); transform: translateY(-1px); }
.wp-block-button.lk-btn--light .wp-block-button__link { background: #fff; color: var(--lk-oxblood) !important; }
.wp-block-button.lk-btn--light .wp-block-button__link:hover { background: #f1e4e2; }
.wp-block-button.lk-btn--outline .wp-block-button__link {
	/* outline on all four sides plus the 45° corner (the diagonal is drawn by the gradient) */
	background: linear-gradient(to top right, transparent calc(50% - 2px), rgba(255,255,255,.7) calc(50% - 2px), rgba(255,255,255,.7) 50%, transparent 50%) right top / 14px 14px no-repeat;
	background-color: transparent;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.7);
}
.wp-block-button.lk-btn--outline .wp-block-button__link:hover { background-color: rgba(255,255,255,.1); }
.lk-buttons { gap: 14px; margin-top: 2rem !important; }

/* Text link with arrow */
.lk-arrow-link a {
	font-family: var(--lk-font-head); font-stretch: 112%; font-weight: 600;
	font-size: .85rem; letter-spacing: .14em; text-transform: uppercase;
	text-decoration: none; color: var(--lk-brick);
	display: inline-flex; align-items: center; gap: .6em;
}
.lk-arrow-link a::after {
	content: ""; width: 22px; height: 22px;
	background: url("../icons/arrow-right-brick.svg") center / contain no-repeat;
	transition: transform .2s ease;
}
.lk-arrow-link a:hover::after { transform: translateX(4px); }

/* ---------- Icons ---------- */
.lk-icon img { width: 56px !important; height: 56px !important; display: block; }
.lk-icon { margin-bottom: 1.1rem !important; }
.lk-icon-sm img { width: 26px !important; height: 26px !important; }

/* ---------- Outcomes band ---------- */
.lk-outcomes { gap: 0 !important; border-top: 1px solid var(--lk-line-light); }
.lk-outcomes > .wp-block-column {
	padding: 2.4rem 2rem 0 0;
	border-right: 1px solid var(--lk-line-light);
	margin: 0 !important;
}
.lk-outcomes > .wp-block-column:not(:first-child) { padding-left: 2rem; }
.lk-outcomes > .wp-block-column:last-child { border-right: 0; }
.lk-outcomes h3 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0; }
@media (max-width: 781px) {
	.lk-outcomes > .wp-block-column { border-right: 0; border-bottom: 1px solid var(--lk-line-light); padding: 1.8rem 0 !important; }
	.lk-outcomes > .wp-block-column:last-child { border-bottom: 0; }
}

/* ---------- Cards (services) ---------- */
.lk-cards { gap: 28px !important; }
.lk-card {
	background: #fff;
	border: 1px solid var(--lk-line);
	border-top: 6px solid var(--lk-brick);
	padding: 2.2rem 2rem 2rem !important;
	position: relative;
}
.lk-card::after { /* corner notch */
	content: ""; position: absolute; right: -1px; bottom: -1px; width: 22px; height: 22px;
	background: linear-gradient(135deg, transparent 50%, var(--lk-brick) 50%);
}
.lk-card h3 { margin-top: 0; }
.lk-card p:last-child { margin-bottom: 0; }

/* ---------- Service detail rows ---------- */
.lk-service {
	padding: 3rem 0 !important;
	border-top: 1px solid var(--lk-line);
	gap: clamp(24px, 5vw, 80px) !important;
}
.lk-service:first-of-type { border-top: 0; padding-top: 0 !important; }
.lk-service h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top: 0; }
.lk-service .lk-num {
	font-family: var(--lk-font-head); font-stretch: 125%; font-weight: 600;
	font-size: .8rem; letter-spacing: .24em; color: var(--lk-brick); margin: 1rem 0 0;
}

/* ---------- Ring-bullet list ---------- */
.lk-rings { list-style: none; padding-left: 0 !important; }
.lk-rings li {
	position: relative; padding: 1.05rem 0 1.05rem 2.6rem; border-bottom: 1px solid var(--lk-line);
}
.lk-rings li:last-child { border-bottom: 0; }
.lk-rings li::before {
	content: ""; position: absolute; left: 0; top: 1.35rem; width: 20px; height: 20px;
	background: url("../icons/bullet-ring-brick.svg") center / contain no-repeat;
}
.lk-dark .lk-rings li { border-color: var(--lk-line-light); }

/* ---------- Principles grid (How We Work) ---------- */
.lk-principles { gap: 0 !important; }
.lk-principles > .wp-block-column { border-left: 3px solid var(--lk-brick); padding: .2rem 0 .2rem 1.6rem; margin-bottom: 2rem !important; }
.lk-principles > .wp-block-column + .wp-block-column { margin-left: 3rem; }
@media (max-width: 781px) { .lk-principles > .wp-block-column + .wp-block-column { margin-left: 0; } }

/* ---------- Engagements (Our Work) ---------- */
.lk-engagement {
	display: grid !important;
	grid-template-columns: minmax(200px, 320px) 1fr;
	gap: clamp(20px, 4vw, 64px);
	padding: 3rem 0 !important;
	border-top: 1px solid var(--lk-line);
}
.lk-engagement:first-of-type { border-top: 0; padding-top: 0 !important; }
.lk-engagement > * { margin: 0 !important; }
.lk-engagement h2 { font-size: clamp(1.35rem, 2.3vw, 1.75rem); }
.lk-engagement h2::before {
	content: ""; display: block; width: 34px; height: 34px; margin-bottom: 1rem;
	background: url("../icons/bullet-ring-brick.svg") center / contain no-repeat;
}
@media (max-width: 781px) { .lk-engagement { grid-template-columns: 1fr; } }

/* ---------- Testimonials ---------- */
.lk-quote {
	border: 0 !important; margin: 0 !important; padding: 3.2rem 2rem 2rem !important;
	background: #fff; position: relative; border-top: 6px solid var(--lk-brick) !important;
	height: 100%; box-sizing: border-box;
}
.lk-quote::before {
	content: ""; position: absolute; top: 1.4rem; left: 2rem; width: 34px; height: 34px;
	background: url("../icons/quote-brick.svg") center / contain no-repeat;
}
.lk-quote p { font-size: 1.05rem; font-style: italic; }
.lk-quote cite {
	display: block; margin-top: 1.4rem; font-style: normal;
	font-family: var(--lk-font-head); font-size: .9rem; line-height: 1.5; color: var(--lk-text-soft);
}
.lk-quote cite strong { display: block; color: var(--lk-oxblood); font-size: 1rem; }

/* ---------- Team ---------- */
.lk-team { gap: clamp(28px, 5vw, 72px) !important; align-items: flex-start; }
.lk-team + .lk-team { margin-top: clamp(56px, 7vw, 96px) !important; }
.lk-photo { position: relative; margin: 0 1.2rem 1.2rem 0 !important; }
.lk-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; position: relative; z-index: 1; }
.lk-photo::before { /* offset frame */
	content: ""; position: absolute; inset: 1.2rem -1.2rem -1.2rem 1.2rem; border: 2px solid var(--lk-brick);
}
.lk-photo::after { /* ring mark badge */
	content: ""; position: absolute; z-index: 2; right: -1.2rem; top: -1.2rem; width: 56px; height: 56px;
	background: #fff url("../icons/bullet-ring-brick.svg") center / 40px no-repeat; border-radius: 50%;
}
.lk-role { font-family: var(--lk-font-head); font-stretch: 112%; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .8rem !important; color: var(--lk-brick); margin-top: -.6rem !important; }

/* ---------- Locations ---------- */
.lk-locations { gap: 2.4rem !important; flex-wrap: wrap; }
.lk-location {
	font-family: var(--lk-font-head); font-weight: 600; font-size: 1.05rem;
	display: flex; align-items: center; gap: .7rem; margin: 0 !important;
}
.lk-location::before {
	content: ""; width: 30px; height: 30px; flex: none;
	background: url("../icons/location-brick.svg") center / contain no-repeat;
}

/* ---------- CTA band ---------- */
.lk-cta { background: var(--lk-brick); color: #fff; position: relative; overflow: hidden; }
.lk-cta::after { content: none; }
.lk-cta h2 { color: #fff; max-width: 24ch; }

/* ---------- Contact ---------- */
.lk-email a {
	font-family: var(--lk-font-head); font-weight: 600; font-size: clamp(1.4rem, 3.2vw, 2.2rem);
	color: var(--lk-oxblood); text-decoration: none; border-bottom: 3px solid var(--lk-brick);
	display: inline-flex; align-items: center; gap: .6em; padding-bottom: .15em;
}
.lk-email a:hover { color: var(--lk-brick); }
.lk-contact-card { background: var(--lk-blush); padding: 2rem !important; border-left: 4px solid var(--lk-brick); }
.lk-contact-card h3 { margin-top: 0; }

/* ---------- Site header ---------- */
.lk-site-header {
	padding: 18px var(--lk-gutter) !important;
	background: #fff;
	border-bottom: 1px solid var(--lk-line);
	position: relative; z-index: 10;
}
.lk-site-header > .wp-block-group { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: nowrap; }
.lk-logo img { width: 150px !important; height: auto !important; display: block; }
.lk-logo { margin: 0 !important; }
.lk-nav { font-family: var(--lk-font-head); font-stretch: 112%; font-weight: 600; font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; gap: 2.2rem !important; }
.lk-nav a { color: var(--lk-oxblood) !important; text-decoration: none; padding: .4em 0; background: linear-gradient(var(--lk-brick), var(--lk-brick)) left bottom / 0 2px no-repeat; transition: background-size .25s ease; }
.lk-nav a:hover, .lk-nav .current-menu-item > a, .lk-nav a[aria-current="page"] { background-size: 100% 2px; color: var(--lk-brick) !important; }
.lk-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--lk-oxblood) !important; color: #fff !important; padding: 2rem var(--lk-gutter); }
.lk-nav .wp-block-navigation__responsive-container.is-menu-open a { color: #fff !important; font-size: 1.1rem; }
.lk-nav .wp-block-navigation__responsive-container-open svg,
.lk-nav .wp-block-navigation__responsive-container-close svg { fill: var(--lk-brick); }

/* ---------- Site footer ---------- */
.lk-site-footer {
	background: var(--lk-oxblood);
	color: rgba(255,255,255,.86);
	position: relative;
	padding-top: clamp(64px, 8vw, 104px) !important;
	padding-bottom: 32px !important;
	margin-top: 0 !important;
	font-size: .98rem;
}
.lk-site-footer::before { /* letterhead band with ring mark */
	/* the straight edge sits on the footer's top; the lower half of the ring dome lies inside the footer's padding */
	content: ""; position: absolute; left: 0; right: 0; pointer-events: none;
	top: calc(var(--lk-band) * -0.5333); height: var(--lk-band);
	background: url("../graphics/footer-band-oxblood.svg") right bottom / auto 100% no-repeat,
	            linear-gradient(transparent 53.33%, var(--lk-oxblood) 53.33%);
}
.lk-site-footer h3, .lk-site-footer .lk-eyebrow { color: #e6c9c6; }
.lk-site-footer a { color: #fff !important; }
.lk-site-footer .lk-logo img { width: 190px !important; }
.lk-site-footer .lk-soft { color: rgba(255,255,255,.72); margin-top: 1.2rem !important; }
.lk-footer-cols { gap: 3rem !important; }
.lk-footer-cols p { margin: 0 0 .4rem !important; }
.lk-legal {
	margin-top: 3rem !important; padding-top: 0 !important;
	font-family: var(--lk-font-head); font-size: .78rem !important; letter-spacing: .06em; color: rgba(255,255,255,.62);
}

/* ---------- Utilities ---------- */
.lk-mt-0 { margin-top: 0 !important; }
.lk-mb-0 { margin-bottom: 0 !important; }
.lk-center { text-align: center; }
.lk-soft { color: var(--lk-text-soft); }
.lk-dark .lk-soft, .lk-hero .lk-soft { color: rgba(255,255,255,.8); }
.lk-contact-card + .lk-contact-card { margin-top: 1.4rem !important; }
.lk-contact-card p { margin: 0 0 .5rem !important; }
.lk-contact-card .lk-location { margin-bottom: .7rem !important; }

.lk-locations + .lk-arrow-link { margin-top: 2rem !important; }

/* ---------- Alaska photo backgrounds ----------
   The photo is set on the block itself (Block settings → Styles → Background image), so it can be
   swapped in the editor. Treatment: the photo is toned into oxblood (luminosity blend), a flat
   oxblood veil keeps text readable, the logo's ring sits large and faint on the right, and a brick
   bar closes the block. Flat colour, no glows or smooth fades. */
.lk-has-photo {
	position: relative; isolation: isolate; overflow: hidden;
	background-color: var(--lk-oxblood) !important;
	background-blend-mode: luminosity;
}
.lk-has-photo::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(var(--lk-brick), var(--lk-brick)) left bottom / 100% 10px no-repeat,
		rgba(54, 7, 8, .66);
}
.lk-has-photo::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	right: -9%; top: 50%; width: min(50vw, 680px); aspect-ratio: 1; transform: translateY(-50%);
	background: url("../graphics/header-ring.svg") center / contain no-repeat;
}
.lk-page-header.lk-has-photo::after { width: min(36vw, 480px); right: -4%; }
.lk-has-photo.lk-photo-solid::before {
	background:
		linear-gradient(var(--lk-brick), var(--lk-brick)) left bottom / 100% 10px no-repeat,
		rgba(54, 7, 8, .86);
}
.lk-has-photo.lk-photo-solid::after { display: none; }
@media (max-width: 781px) {
	.lk-has-photo::before {
		background:
			linear-gradient(var(--lk-brick), var(--lk-brick)) left bottom / 100% 10px no-repeat,
			rgba(54, 7, 8, .8);
	}
	.lk-has-photo::after { width: 80vw; right: -36vw; }
}

/* ---------- Headdress bead rows ----------
   Two faint rows of fringe built from the logo's ring mark (beads of an Alutiiq headdress): one hangs
   from the block's top edge, one rises from its bottom edge. The beaded cap line sits right on the
   edge, so the strands appear to come out of the neighbouring blocks. Both rows live in the block's
   padding and never run behind the text. Brick on white blocks, white on the brick band. */
.lk-section.lk-beadfield {
	--lk-beads: clamp(52px, 6.2vw, 88px);
	background-repeat: repeat-x, repeat-x;
	background-position: center top, center bottom;
	background-size: auto var(--lk-beads), auto var(--lk-beads);
	padding-top: calc(var(--lk-beads) + clamp(40px, 4.5vw, 64px)) !important;
	padding-bottom: calc(var(--lk-beads) + clamp(40px, 4.5vw, 64px)) !important;
}
.lk-section.lk-beadfield { background-image: url("../graphics/beadrow-brick.svg"), url("../graphics/beadrow-brick-up.svg"); }



/* ---------- Mountain lines (footer only) ----------
   A few line-drawn mountains rising from the bottom of the footer: Alaska's lands, drawn simply. */
.lk-site-footer {
	background-image: url("../graphics/mountains-white.svg") !important;
	background-repeat: no-repeat !important;
	background-position: center bottom !important;
	/* stretches to the footer's width and 85% of its height, so both peaks are always complete */
	background-size: max(100%, 1000px) 85% !important;
}
@media (max-width: 781px) { .lk-site-footer { background-size: 1000px 62% !important; } }

/* Bead counts (1, 2, 3 ring marks) replace the generic line icons */
.lk-beadcount { margin: 0 0 1.1rem !important; }
.lk-beadcount img { height: 22px !important; width: auto !important; display: block; }

/* Subtle ring mark inside every button */
.wp-block-button.lk-btn .wp-block-button__link::before {
	content: ""; display: inline-block; width: 1.05em; height: 1.05em;
	margin: 0 .75em 0 0; vertical-align: -.2em;
	background: url("../logos/lukin-ring-mark-white.svg") center / contain no-repeat;
	opacity: .6;
}

/* Remove theme spacing between the last block and the footer */
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0 !important; }
main:has(.lk-hero), main:has(.lk-page-header) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
main:has(.lk-hero) .wp-block-post-content, main:has(.lk-page-header) .wp-block-post-content { margin-bottom: 0 !important; padding-bottom: 0 !important; }
main:has(.lk-hero) > .wp-block-group:not([class*="lk-"]), main:has(.lk-page-header) > .wp-block-group:not([class*="lk-"]) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.wp-block-post-content > :last-child { margin-bottom: 0 !important; }

/* When a photo block is the last block on the page, drop its brick base bar so no line shows above the footer */
/* a dark photo block right above the oxblood footer turns brick, so the two don't blur together */
:is(.wp-block-post-content, .entry-content, main) > .lk-has-photo.lk-photo-solid:last-child { background-color: var(--lk-brick) !important; }
:is(.wp-block-post-content, .entry-content, main) > .lk-has-photo.lk-photo-solid:last-child::before,
:is(.wp-block-post-content, .entry-content, main) > .lk-has-photo.lk-photo-solid:last-child:is(*)::before { background: rgba(104, 43, 44, .84) !important; }
:is(.wp-block-post-content, .entry-content, main) > .lk-has-photo:not(.lk-photo-solid):last-child::before { background: rgba(54, 7, 8, .66); }

/* location list: stacked, compact */
.lk-locations { display: flex; flex-direction: column; gap: .55rem !important; margin-top: 1.6rem !important; }

/* ---------- Contact box + form ---------- */
.lk-contact-cols { gap: clamp(32px, 6vw, 96px) !important; align-items: flex-start; }
.lk-form { scroll-margin-top: 140px; }
.lk-contact-box h2 { margin: 0 0 1.4rem !important; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.lk-form { margin: 0; }
.lk-field { margin: 0 0 1.1rem !important; }
.lk-field label {
	display: block; margin-bottom: .4rem;
	font-family: var(--lk-font-head); font-stretch: 112%; font-weight: 600; font-size: .78rem;
	letter-spacing: .14em; text-transform: uppercase; color: var(--lk-brick);
}
.lk-field input, .lk-field textarea {
	width: 100%; box-sizing: border-box; display: block;
	font: inherit; font-size: 1rem; color: var(--lk-oxblood);
	background: #fff; border: 1px solid var(--lk-line); border-bottom: 2px solid var(--lk-brick);
	border-radius: 0; padding: .75rem .85rem;
}
.lk-field textarea { resize: vertical; min-height: 9rem; }
.lk-field input:focus, .lk-field textarea:focus { outline: 2px solid var(--lk-brick); outline-offset: 1px; }
.lk-form .wp-block-button { margin-top: .6rem; }
.lk-form button.wp-block-button__link { border: 0; cursor: pointer; font: inherit; }
.lk-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lk-form-note { font-family: var(--lk-font-head); font-size: .95rem; padding: .8rem 1rem; margin: 0 0 1.2rem !important; background: var(--lk-blush); border-left: 4px solid var(--lk-brick); }

/* ---------- Content photos (About beadwork, Services session, Our Work band) ---------- */
.lk-photo-inset { margin-top: 2.6rem !important; max-width: 380px; }
.lk-photo--wide img { aspect-ratio: 4 / 3; }
.lk-photo-band { margin: 0 !important; line-height: 0; }
.lk-photo-band img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; max-height: 560px; object-fit: cover; }
@media (max-width: 781px) {
	.lk-photo-inset { max-width: none; margin-top: 2rem !important; }
	.lk-photo-band img { aspect-ratio: 4 / 3; }
}

/* ---------- Client feedback (Oct 19) ---------- */
/* Ring watermark: centred on the right edge, so half of it sits off the page */
.lk-has-photo::after { right: calc(min(50vw, 680px) / -2); }
.lk-page-header.lk-has-photo::after { right: calc(min(36vw, 480px) / -2); }
@media (max-width: 781px) { .lk-has-photo::after, .lk-page-header.lk-has-photo::after { width: 80vw; right: -40vw; } }
/* Minimal footer: logo left, one contact line right */
.lk-footer-min { align-items: center !important; }
.lk-footer-min .lk-footer-contact { text-align: right; }
.lk-footer-min .lk-footer-contact p { margin: 0 0 .3rem !important; color: rgba(255,255,255,.85); }
@media (max-width: 781px) { .lk-footer-min .lk-footer-contact { text-align: left; } }
.lk-site-footer .lk-legal { margin-top: 2.2rem !important; }
