@charset "UTF-8";
/*
 * Loaded on public pages only, after the app's global sheet and before the
 * legacy sheets.
 *
 * The root layout ships Tailwind's preflight and utilities on every page.
 * They live in cascade layers, so a later layer that reverts everything puts
 * the browser defaults the legacy CSS was written against back in place
 * (content-box sizing, native form controls, block body). The legacy sheets
 * are unlayered and still win over all of it. HTML width/height attributes
 * are reverted as well, so new markup sizes elements with CSS instead.
 */
@layer legacy-revert {
	*, ::before, ::after, ::backdrop, ::placeholder, ::file-selector-button, ::marker {
		all: revert;
		/* `all: revert` also drops presentational hints: the locale of lang="ko"
		   and the SVG attributes (d, fill, stroke, ...), which left inline icons
		   blank. revert-layer falls through the Tailwind layers, which set none
		   of these, back to the hints. */
		-webkit-locale: revert-layer;
	}
	svg, svg * {
		fill: revert-layer; fill-opacity: revert-layer; fill-rule: revert-layer;
		stroke: revert-layer; stroke-width: revert-layer; stroke-linecap: revert-layer; stroke-linejoin: revert-layer;
		stroke-dasharray: revert-layer; stroke-dashoffset: revert-layer; stroke-miterlimit: revert-layer; stroke-opacity: revert-layer;
		clip-rule: revert-layer; stop-color: revert-layer; stop-opacity: revert-layer; vector-effect: revert-layer; paint-order: revert-layer;
	}
	svg * {
		d: revert-layer; cx: revert-layer; cy: revert-layer; r: revert-layer; rx: revert-layer; ry: revert-layer;
		x: revert-layer; y: revert-layer; width: revert-layer; height: revert-layer; transform: revert-layer; opacity: revert-layer;
	}
}

/* Unlayered rules of the global sheet, matched selector for selector so the
   legacy sheets that load after this file keep the last word. */
html { color-scheme: normal; }
body { background: revert; }
:focus-visible { outline: revert; outline-offset: revert; }
/* The root layout gives <body> the class "flex-col", which the legacy
   [class*="flex-"] rule in _global.css would turn into a flex container. */
html body[class*="flex-"] { display: block; }
/* The root layout's h-full on <html>; legacy pages size the document by content. */
html.h-full { height: auto; }

/*
 * Slider spacing that Swiper's JS used to write inline (spaceBetween 8 / 16 /
 * 30 at the legacy breakpoints). The slider library is not shipped; sliders
 * show their first frame.
 */
.swiper:is(.items, .gallery, .case-lawyer-section .lawyer) > .swiper-wrapper > .swiper-slide { margin-right: 8px; }
@media all and (min-width: 769px) {
	.swiper:is(.items, .gallery, .case-lawyer-section .lawyer) > .swiper-wrapper > .swiper-slide { margin-right: 16px; }
}
@media all and (min-width: 1260px) {
	.swiper:is(.items, .gallery, .case-lawyer-section .lawyer) > .swiper-wrapper > .swiper-slide { margin-right: 30px; }
}

/* Attribution line for the stand-in image, under the legacy footer. */

/* Visitor-facing form messages that the legacy pages showed with alert(). */
.form-message { margin-top: 16px; padding: 14px 16px; border: 1px solid var(--lightGray2); border-radius: 8px; font-size: 15px; line-height: 1.6; text-align: left; }
.form-message.error { border-color: var(--red); color: var(--red); }
.form-message .receipt { font-weight: 700; user-select: all; }
.field-error { margin-top: 6px; font-size: 13px; color: var(--red); text-align: left; }
