


/* =========================================================
   BRANDWAY MAIN VISUAL
========================================================= */

html.bw-menu-open,
body.bw-menu-open {
	overflow: hidden;
}

body {
	background: #000;
}

#container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

#container_title {
	display: none;
}

.bw-hero,
.bw-hero * {
	box-sizing: border-box;
}

.bw-hero {
	--mouse-x: 50%;
	--mouse-y: 50%;
	--video-x: 0px;
	--video-y: 0px;
	--content-x: 0px;
	--content-y: 0px;

	position: relative;
	width: 100%;
	height: 100vh;
	height: 100svh;
	min-height: 720px;
	overflow: hidden;
	background: #000;
	color: #fff;
	font-family: "Pretendard Variable", Pretendard, sans-serif;
	isolation: isolate;
}

/* =========================================================
   BACKGROUND VIDEO
========================================================= */

.bw-hero__media {
	position: absolute;
	inset: 0;
	z-index: -5;
	overflow: hidden;
	background: #000;
}

.bw-hero__video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform:
		translate(-50%, -50%)
		translate3d(var(--video-x), var(--video-y), 0)
		scale(1.07);
	filter: contrast(1.08) brightness(0.76);
	transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
	will-change: transform;
}

/* 영상 어둡기 및 명암 보정 */
.bw-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -4;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.38) 0%,
			rgba(0, 0, 0, 0.12) 40%,
			rgba(0, 0, 0, 0.08) 67%,
			rgba(0, 0, 0, 0.25) 100%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.4) 0%,
			rgba(0, 0, 0, 0.04) 42%,
			rgba(0, 0, 0, 0.18) 100%
		);
	pointer-events: none;
}

/* 가장자리 비네팅 */
.bw-hero__vignette {
	position: absolute;
	inset: 0;
	z-index: -3;
	background:
		radial-gradient(
			ellipse at center,
			transparent 28%,
			rgba(0, 0, 0, 0.08) 55%,
			rgba(0, 0, 0, 0.57) 120%
		);
	pointer-events: none;
}

/* 마우스 조명 효과 */
.bw-hero__spotlight {
	position: absolute;
	inset: 0;
	z-index: -2;
	opacity: 0;
	background:
		radial-gradient(
			500px circle at var(--mouse-x) var(--mouse-y),
			rgba(255, 255, 255, 0.065),
			transparent 65%
		);
	transition: opacity 0.8s ease;
	pointer-events: none;
}

.bw-hero:hover .bw-hero__spotlight {
	opacity: 1;
}

/* 필름 노이즈 */
.bw-hero__grain {
	position: absolute;
	inset: -50%;
	z-index: 20;
	width: 200%;
	height: 200%;
	opacity: 0.028;
	pointer-events: none;
	background-image:
		url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='.75'/%3E%3C/svg%3E");
	animation: bwGrain 0.22s steps(2) infinite;
}

/* 은은한 화면 스캔 라인 */
.bw-hero__scanline {
	position: absolute;
	top: -30%;
	left: 0;
	z-index: 19;
	width: 100%;
	height: 30%;
	opacity: 0.16;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			transparent 0%,
			rgba(255, 255, 255, 0.035) 46%,
			rgba(255, 255, 255, 0.09) 50%,
			rgba(255, 255, 255, 0.025) 54%,
			transparent 100%
		);
	animation: bwScanline 8s linear infinite;
}

/* =========================================================
   HEADER
========================================================= */

.bw-header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 30;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	padding:
		clamp(34px, 6.3vh, 68px)
		clamp(30px, 6.6vw, 126px);
	pointer-events: none;
}

.bw-logo,
.bw-menu-button {
	pointer-events: auto;
}

.bw-logo {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: clamp(112px, 7.7vw, 148px);
	opacity: 0;
	transform: translateY(-20px);
	transition:
		opacity 1s ease 0.12s,
		transform 1s cubic-bezier(.19, 1, .22, 1) 0.12s;
}

.bw-logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}

.bw-logo::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -12px;
	left: 0;
	height: 1px;
	opacity: 0;
	background: rgba(255, 255, 255, 0.75);
	transform: scaleX(0);
	transform-origin: left center;
	transition:
		opacity 0.4s ease,
		transform 0.65s cubic-bezier(.19, 1, .22, 1);
}

.bw-logo:hover::after {
	opacity: 1;
	transform: scaleX(1);
}

/* =========================================================
   HAMBURGER BUTTON
========================================================= */

.bw-menu-button {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 7px;
	width: 48px;
	height: 48px;
	padding: 9px 5px;
	border: 0;
	outline: 0;
	background: transparent;
	cursor: pointer;
	opacity: 0;
	transform: translateY(-20px);
	transition:
		opacity 1s ease 0.25s,
		transform 1s cubic-bezier(.19, 1, .22, 1) 0.25s;
}

.bw-menu-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 54px;
	height: 54px;
	border: 1px solid rgba(255, 255, 255, 0);
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.8);
	transition:
		border-color 0.45s ease,
		transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-menu-button:hover::before {
	border-color: rgba(255, 255, 255, 0.24);
	transform: translate(-50%, -50%) scale(1);
}

.bw-menu-button span {
	display: block;
	width: 30px;
	height: 2px;
	margin-left: auto;
	border-radius: 10px;
	background: #fff;
	transform-origin: center;
	transition:
		width 0.45s cubic-bezier(.19, 1, .22, 1),
		transform 0.5s cubic-bezier(.19, 1, .22, 1),
		opacity 0.3s ease;
}

.bw-menu-button span:nth-child(2) {
	width: 23px;
}

.bw-menu-button span:nth-child(3) {
	width: 30px;
}

.bw-menu-button:hover span:nth-child(2) {
	width: 30px;
}

/* 메뉴 열렸을 때 X 모양 */
.bw-menu-button.is-open span:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.bw-menu-button.is-open span:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.bw-menu-button.is-open span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

/* =========================================================
   LEFT NAVIGATION
========================================================= */

.bw-side-nav {
	position: absolute;
	top: clamp(155px, 17.8vh, 194px);
	left: clamp(30px, 6.6vw, 126px);
	z-index: 10;
	opacity: 0;
	transform: translateX(-28px);
	transition:
		opacity 1.1s ease 0.42s,
		transform 1.1s cubic-bezier(.19, 1, .22, 1) 0.42s;
}

.bw-side-nav ul {
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 1vh, 13px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bw-side-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 2px 0;
	color: #f1efeb;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(17px, 1.27vw, 24px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.025em;
	text-decoration: none;
	transition:
		color 0.35s ease,
		padding-left 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-side-nav a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 0;
	height: 1px;
	background: #fff;
	transform: translateY(-50%);
	transition: width 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-side-nav a:hover {
	padding-left: 33px;
	color: #fff;
}

.bw-side-nav a:hover::before {
	width: 23px;
}

/* =========================================================
   MAIN TEXT
========================================================= */

.bw-hero__content {
	position: absolute;
	top: 52.8%;
	right: clamp(50px, 7vw, 135px);
	left: clamp(510px, 41.3vw, 793px);
	z-index: 10;
	text-align: right;
	transform:
		translate3d(
			var(--content-x),
			calc(-7% + var(--content-y)),
			0
		);
	transition: transform 1.1s cubic-bezier(.19, 1, .22, 1);
	will-change: transform;
}

.bw-title {
	width: 100%;
	margin: 0;
	color: #fff;
	font-size: clamp(54px, 4.69vw, 90px);
	font-weight: 650;
	line-height: 1.2;
	letter-spacing: -0.065em;
	text-align: right;
	word-break: keep-all;
}

.bw-title__line {
	position: relative;
	display: block;
	overflow: hidden;
	padding:
		0.06em
		0.08em
		0.09em;
	margin:
		-0.06em
		-0.08em
		-0.09em;
}

.bw-title__text {
	position: relative;
	display: inline-block;
	opacity: 0;
	transform: translateY(115%) rotate(1.2deg);
	transition:
		opacity 1.2s ease,
		transform 1.3s cubic-bezier(.19, 1, .22, 1);
}

.bw-title__line:nth-child(1) .bw-title__text {
	transition-delay: 0.55s;
}

.bw-title__line:nth-child(2) .bw-title__text {
	transition-delay: 0.7s;
}

/* 제목에 은은한 빛이 지나가는 효과 */
.bw-title__text::after {
	content: "";
	position: absolute;
	top: -20%;
	left: -120%;
	width: 55%;
	height: 140%;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.23),
			transparent
		);
	transform: skewX(-18deg);
	pointer-events: none;
}

.bw-hero.is-ready .bw-title__text::after {
	animation: bwTitleLight 1.5s ease 1.65s both;
}

.bw-description {
	width: 100%;
	max-width: 1080px;
	margin:
		clamp(22px, 2.25vh, 30px)
		0
		0
		auto;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(14px, 1.04vw, 20px);
	font-weight: 550;
	line-height: 1.75;
	letter-spacing: -0.035em;
	text-align: right;
	word-break: keep-all;
	opacity: 0;
	transform: translateY(25px);
	transition:
		opacity 1.1s ease 0.92s,
		transform 1.1s cubic-bezier(.19, 1, .22, 1) 0.92s;
}

.bw-description span {
	display: block;
}

/* =========================================================
   BOTTOM SLOGAN
========================================================= */

.bw-slogan {
	position: absolute;
	bottom: clamp(34px, 5.1vh, 55px);
	left: 50%;
	z-index: 10;
	margin: 0;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(12px, 0.84vw, 16px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.025em;
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, 20px);
	transition:
		opacity 1s ease 1.1s,
		transform 1s cubic-bezier(.19, 1, .22, 1) 1.1s;
}

.bw-slogan::before {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(100% + 18px);
	width: 42px;
	height: 1px;
	background: rgba(255, 255, 255, 0.55);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.8s cubic-bezier(.19, 1, .22, 1) 1.35s;
}

.bw-slogan::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 18px);
	width: 42px;
	height: 1px;
	background: rgba(255, 255, 255, 0.55);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.8s cubic-bezier(.19, 1, .22, 1) 1.35s;
}

/* =========================================================
   FULLSCREEN MENU
========================================================= */

.bw-full-menu {
	position: fixed;
	inset: 0;
	z-index: 25;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	overflow: hidden;
	background: rgba(3, 3, 3, 0.96);
	opacity: 0;
	transition:
		visibility 0s linear 0.8s,
		opacity 0.65s ease;
}

.bw-full-menu::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			125deg,
			transparent 0%,
			rgba(255, 255, 255, 0.025) 48%,
			transparent 70%
		);
	transform: translateX(-100%);
	transition: transform 1.3s cubic-bezier(.19, 1, .22, 1);
}

.bw-full-menu::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 0;
	background:
		linear-gradient(
			180deg,
			transparent,
			rgba(255, 255, 255, 0.24),
			transparent
		);
	transition: height 1s cubic-bezier(.19, 1, .22, 1) 0.15s;
}

.bw-full-menu.is-open {
	visibility: visible;
	opacity: 1;
	transition:
		visibility 0s,
		opacity 0.65s ease;
}

.bw-full-menu.is-open::before {
	transform: translateX(100%);
}

.bw-full-menu.is-open::after {
	height: 100%;
}

.bw-full-menu__inner {
	position: relative;
	z-index: 2;
	width: min(900px, calc(100% - 60px));
}

.bw-full-menu__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bw-full-menu__item {
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	opacity: 0;
	transform: translateY(55px);
	transition:
		opacity 0.75s ease,
		transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.bw-full-menu.is-open .bw-full-menu__item {
	opacity: 1;
	transform: translateY(0);
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(1) {
	transition-delay: 0.18s;
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(2) {
	transition-delay: 0.25s;
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(3) {
	transition-delay: 0.32s;
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(4) {
	transition-delay: 0.39s;
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(5) {
	transition-delay: 0.46s;
}

.bw-full-menu__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: clamp(76px, 10vh, 112px);
	padding: 0 10px;
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	transition:
		color 0.4s ease,
		padding 0.55s cubic-bezier(.19, 1, .22, 1);
}

.bw-full-menu__number {
	width: 70px;
	color: rgba(255, 255, 255, 0.35);
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.bw-full-menu__name {
	flex: 1;
	font-family: "Pretendard Variable", Pretendard, sans-serif;
	font-size: clamp(38px, 4.1vw, 68px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.055em;
}

.bw-full-menu__arrow {
	position: relative;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	transition:
		border-color 0.45s ease,
		background 0.45s ease,
		transform 0.55s cubic-bezier(.19, 1, .22, 1);
}

.bw-full-menu__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translate(-65%, -50%) rotate(45deg);
}

.bw-full-menu__link:hover {
	padding-right: 0;
	padding-left: 28px;
	color: #fff;
}

.bw-full-menu__link:hover .bw-full-menu__arrow {
	border-color: #fff;
	background: #fff;
	transform: rotate(-45deg);
}

.bw-full-menu__link:hover .bw-full-menu__arrow::before {
	border-color: #000;
}

/* =========================================================
   LOAD ANIMATION
========================================================= */

.bw-hero.is-ready .bw-logo,
.bw-hero.is-ready .bw-menu-button,
.bw-hero.is-ready .bw-side-nav {
	opacity: 1;
	transform: translate(0);
}

.bw-hero.is-ready .bw-title__text {
	opacity: 1;
	transform: translateY(0) rotate(0);
}

.bw-hero.is-ready .bw-description {
	opacity: 1;
	transform: translateY(0);
}

.bw-hero.is-ready .bw-slogan {
	opacity: 1;
	transform: translate(-50%, 0);
}

.bw-hero.is-ready .bw-slogan::before,
.bw-hero.is-ready .bw-slogan::after {
	transform: scaleX(1);
}

/* =========================================================
   ANIMATION KEYFRAMES
========================================================= */

@keyframes bwGrain {
	0% {
		transform: translate3d(0, 0, 0);
	}

	20% {
		transform: translate3d(-2%, 3%, 0);
	}

	40% {
		transform: translate3d(3%, -4%, 0);
	}

	60% {
		transform: translate3d(4%, 4%, 0);
	}

	80% {
		transform: translate3d(-4%, -2%, 0);
	}

	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes bwScanline {
	0% {
		transform: translateY(-40%);
	}

	100% {
		transform: translateY(460%);
	}
}

@keyframes bwTitleLight {
	0% {
		left: -120%;
	}

	100% {
		left: 155%;
	}
}

/* =========================================================
   NOTEBOOK / SMALL DESKTOP
========================================================= */

@media (max-width: 1450px) {
	.bw-hero__content {
		right: 55px;
		left: 39%;
	}

	.bw-title {
		font-size: clamp(50px, 4.6vw, 70px);
	}

	.bw-description {
		font-size: clamp(13px, 1.05vw, 16px);
	}

	.bw-side-nav a {
		font-size: 20px;
	}
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {
	.bw-hero {
		min-height: 680px;
	}

	.bw-header {
		padding: 42px 45px;
	}

	.bw-side-nav {
		top: 145px;
		left: 45px;
	}

	.bw-hero__content {
		top: 53%;
		right: 50px;
		left: 32%;
	}

	.bw-title {
		font-size: clamp(43px, 5.6vw, 62px);
	}

	.bw-description span {
		display: inline;
	}
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 760px) {
	.bw-hero {
		height: 100vh;
		height: 100svh;
		min-height: 600px;
	}

	.bw-hero__video {
		object-position: center center;
		transform:
			translate(-50%, -50%)
			translate3d(var(--video-x), var(--video-y), 0)
			scale(1.13);
		filter: contrast(1.08) brightness(0.66);
	}

	.bw-hero__shade {
		background:
			linear-gradient(
				180deg,
				rgba(0, 0, 0, 0.38) 0%,
				rgba(0, 0, 0, 0.08) 35%,
				rgba(0, 0, 0, 0.25) 100%
			),
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.18),
				transparent,
				rgba(0, 0, 0, 0.18)
			);
	}

	.bw-header {
		padding:
			max(25px, env(safe-area-inset-top))
			22px
			0;
	}

	.bw-logo {
		width: 105px;
	}

	.bw-menu-button {
		width: 43px;
		height: 43px;
		padding-right: 2px;
	}

	.bw-menu-button span {
		width: 27px;
	}

	.bw-menu-button span:nth-child(2) {
		width: 20px;
	}

	.bw-menu-button span:nth-child(3) {
		width: 27px;
	}

	.bw-side-nav {
		display: none;
	}

	.bw-hero__content {
		top: auto;
		right: 22px;
		bottom: 18.5%;
		left: 22px;
		transform:
			translate3d(
				var(--content-x),
				var(--content-y),
				0
			);
	}

	.bw-title {
		font-size: clamp(36px, 10.6vw, 52px);
		line-height: 1.19;
		letter-spacing: -0.07em;
	}

	.bw-title__line {
		display: block;
		width: 100%;
		text-align: right;
	}

	.bw-description {
		max-width: 550px;
		margin-top: 20px;
		font-size: clamp(13px, 3.45vw, 15px);
		line-height: 1.72;
	}

	.bw-slogan {
		bottom: max(26px, env(safe-area-inset-bottom));
		font-size: 11px;
	}

	.bw-slogan::before,
	.bw-slogan::after {
		width: 24px;
	}

	.bw-slogan::before {
		right: calc(100% + 12px);
	}

	.bw-slogan::after {
		left: calc(100% + 12px);
	}

	.bw-full-menu__inner {
		width: calc(100% - 42px);
	}

	.bw-full-menu::after {
		left: 22px;
	}

	.bw-full-menu__link {
		min-height: clamp(68px, 11vh, 92px);
		padding: 0 2px;
	}

	.bw-full-menu__number {
		width: 45px;
		font-size: 10px;
	}

	.bw-full-menu__name {
		font-size: clamp(34px, 10vw, 46px);
	}

	.bw-full-menu__arrow {
		width: 38px;
		height: 38px;
	}

	.bw-full-menu__link:hover {
		padding-right: 0;
		padding-left: 10px;
	}
}

/* 360px 이하 */
@media (max-width: 380px) {
	.bw-header {
		padding-right: 17px;
		padding-left: 17px;
	}

	.bw-hero__content {
		right: 17px;
		left: 17px;
	}

	.bw-title {
		font-size: clamp(32px, 10.3vw, 39px);
	}

	.bw-description {
		font-size: 12px;
	}
}

/* 화면 높이가 짧은 기기 */
@media (max-height: 720px) and (min-width: 761px) {
	.bw-hero {
		min-height: 620px;
	}

	.bw-header {
		padding-top: 32px;
	}

	.bw-side-nav {
		top: 120px;
	}

	.bw-hero__content {
		top: 51%;
	}

	.bw-title {
		font-size: clamp(45px, 4.2vw, 68px);
	}

	.bw-description {
		margin-top: 18px;
	}

	.bw-slogan {
		bottom: 25px;
	}
}

/* 가로형 모바일 */
@media (max-height: 520px) and (max-width: 950px) {
	.bw-hero {
		min-height: 520px;
	}

	.bw-side-nav {
		display: none;
	}

	.bw-header {
		padding-top: 20px;
	}

	.bw-hero__content {
		top: 50%;
		right: 70px;
		bottom: auto;
		left: 70px;
		transform: translateY(-30%);
	}

	.bw-title {
		font-size: clamp(35px, 6vw, 50px);
	}

	.bw-description {
		margin-top: 14px;
		font-size: 12px;
	}

	.bw-slogan {
		bottom: 18px;
	}
}

/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {
	.bw-hero *,
	.bw-hero *::before,
	.bw-hero *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}






/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../../../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
.frm_info.add_info { margin-top: 10px !important; padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 6px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }

/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {clear:both;float:left;display:inline-block}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
/* =========================================================
   BRANDWAY COMMON FIXED HEADER / MENU / FOOTER
   head.sub.php + tail.php 공통 영역
========================================================= */

html.bw-menu-open,
body.bw-menu-open {
	overflow: hidden !important;
}

.bw-global-header {
	--bw-header-color: #fff;
	--bw-header-line: rgba(255, 255, 255, 0.22);
	--bw-header-glass: rgba(6, 6, 6, 0.28);

	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10020;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	padding:
		clamp(30px, 5.2vh, 56px)
		clamp(30px, 6.6vw, 126px);
	color: var(--bw-header-color);
	pointer-events: none;
	transition:
		padding 0.5s cubic-bezier(.19, 1, .22, 1),
		color 0.4s ease;
}

.bw-global-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bw-header-glass);
	border-bottom: 1px solid transparent;
	opacity: 0;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition:
		opacity 0.4s ease,
		border-color 0.4s ease,
		background 0.4s ease;
}

.bw-global-header.is-scrolled {
	padding-top: 17px;
	padding-bottom: 17px;
}

.bw-global-header.is-scrolled::before {
	opacity: 1;
	border-bottom-color: var(--bw-header-line);
}

.bw-global-header.is-light {
	--bw-header-color: #111;
	--bw-header-line: rgba(17, 17, 17, 0.13);
	--bw-header-glass: rgba(246, 246, 243, 0.8);
}

.bw-global-header.is-menu-open {
	--bw-header-color: #fff;
	--bw-header-line: rgba(255, 255, 255, 0.22);
}

.bw-global-header.is-menu-open::before {
	opacity: 0;
}

.bw-global-header .bw-logo,
.bw-global-header .bw-menu-button {
	pointer-events: auto;
}

.bw-global-header .bw-logo {
	opacity: 0;
	transform: translateY(-20px);
}

.bw-global-header.is-ready .bw-logo {
	opacity: 1;
	transform: translateY(0);
}

.bw-global-header .bw-logo img {
	filter: brightness(0) invert(1);
	transition:
		filter 0.4s ease,
		transform 0.5s cubic-bezier(.19, 1, .22, 1);
}

.bw-global-header.is-light:not(.is-menu-open) .bw-logo img {
	filter: brightness(0);
}

.bw-global-header .bw-logo::after {
	background: currentColor;
}

.bw-global-header .bw-menu-button {
	color: currentColor;
	opacity: 0;
	transform: translateY(-20px);
}

.bw-global-header.is-ready .bw-menu-button {
	opacity: 1;
	transform: translateY(0);
}

.bw-global-header .bw-menu-button span {
	background: currentColor;
}

.bw-global-header .bw-menu-button::before {
	border-color: transparent;
}

.bw-global-header .bw-menu-button:hover::before {
	border-color: var(--bw-header-line);
}


/* 좌측 고정 메뉴 */
.bw-global-side-nav {
	position: fixed;
	top: clamp(142px, 17.8vh, 194px);
	left: clamp(30px, 6.6vw, 126px);
	z-index: 9990;
	opacity: 0;
	transform: translateX(-28px);
	transition:
		opacity 1s ease 0.28s,
		transform 1s cubic-bezier(.19, 1, .22, 1) 0.28s;
}

.bw-global-side-nav.is-ready {
	opacity: 1;
	transform: translateX(0);
}

.bw-global-side-nav a {
	color: #f1efeb;
}

.bw-global-side-nav.is-light a {
	color: #171717;
}

.bw-global-side-nav.is-light a::before {
	background: #171717;
}

.bw-global-side-nav a.is-current {
	padding-left: 33px;
}

.bw-global-side-nav a.is-current::before {
	width: 23px;
}


/* 전체 화면 메뉴 공통 보정 */
.bw-full-menu {
	z-index: 10010;
}

.bw-full-menu__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(1050px, calc(100% - 60px));
	min-height: 100%;
	padding: 120px 0 48px;
}

.bw-full-menu__meta,
.bw-full-menu__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	color: rgba(255, 255, 255, 0.43);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.07em;
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 0.8s ease,
		transform 0.9s cubic-bezier(.19, 1, .22, 1);
}

.bw-full-menu__meta {
	margin-bottom: 30px;
	transform: translateY(-18px);
}

.bw-full-menu__footer {
	margin-top: 30px;
}

.bw-full-menu.is-open .bw-full-menu__meta,
.bw-full-menu.is-open .bw-full-menu__footer {
	opacity: 1;
	transform: translateY(0);
}

.bw-full-menu.is-open .bw-full-menu__meta {
	transition-delay: 0.16s;
}

.bw-full-menu.is-open .bw-full-menu__footer {
	transition-delay: 0.48s;
}

.bw-full-menu__footer a {
	color: inherit;
	text-decoration: none;
}

.bw-full-menu__background {
	position: absolute;
	top: 50%;
	right: -1vw;
	z-index: 0;
	color: rgba(255, 255, 255, 0.018);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(150px, 20vw, 380px);
	font-weight: 800;
	line-height: 0.72;
	letter-spacing: -0.09em;
	text-align: right;
	transform: translateY(-50%);
	pointer-events: none;
}

.bw-full-menu__background span {
	display: block;
}

.bw-full-menu__link.is-current {
	padding-right: 0;
	padding-left: 28px;
	color: #fff;
}

.bw-full-menu__link.is-current .bw-full-menu__arrow {
	border-color: #fff;
	background: #fff;
	transform: rotate(-45deg);
}

.bw-full-menu__link.is-current .bw-full-menu__arrow::before {
	border-color: #000;
}


/* 인덱스에서는 공통 헤더/좌측 메뉴의 등장과 별개로 본문만 애니메이션 */
.bw-hero.is-ready .bw-title__text {
	opacity: 1;
	transform: translateY(0) rotate(0);
}

.bw-hero.is-ready .bw-description {
	opacity: 1;
	transform: translateY(0);
}

.bw-hero.is-ready .bw-slogan {
	opacity: 1;
	transform: translate(-50%, 0);
}

.bw-hero.is-ready .bw-slogan::before,
.bw-hero.is-ready .bw-slogan::after {
	transform: scaleX(1);
}


/* =========================================================
   BRANDWAY FOOTER
========================================================= */
.bw-footer,
.bw-footer * {
	box-sizing: border-box;
}

.bw-footer {
	position: relative;
	z-index: 2;
	width: 100%;
	overflow: hidden;
	background: #0b0b0b;
	color: #fff;
	font-family:
		"Pretendard Variable",
		Pretendard,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
}

.bw-footer p,
.bw-footer address {
	margin: 0;
	padding: 0;
}

.bw-footer a {
	color: inherit;
	text-decoration: none;
}

.bw-footer__marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #52e5d1;
	color: #090909;
}

.bw-footer__marquee::before,
.bw-footer__marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: clamp(25px, 6vw, 110px);
	pointer-events: none;
}

.bw-footer__marquee::before {
	left: 0;
	background:
		linear-gradient(
			90deg,
			#52e5d1,
			rgba(82, 229, 209, 0)
		);
}

.bw-footer__marquee::after {
	right: 0;
	background:
		linear-gradient(
			270deg,
			#52e5d1,
			rgba(82, 229, 209, 0)
		);
}

.bw-footer__marquee-track {
	display: flex;
	width: max-content;
	min-width: 200%;
	animation: bwFooterMarquee 24s linear infinite;
	will-change: transform;
}

.bw-footer__marquee:hover .bw-footer__marquee-track {
	animation-play-state: paused;
}

.bw-footer__marquee-group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: space-around;
	min-width: 100vw;
	height: 48px;
}

.bw-footer__marquee-group span {
	display: inline-flex;
	align-items: center;
	padding: 0 clamp(32px, 4vw, 78px);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(11px, 0.82vw, 15px);
	font-weight: 650;
	line-height: 1;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.bw-footer__marquee-group span::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: clamp(28px, 4vw, 72px);
	border-radius: 50%;
	background: rgba(9, 9, 9, 0.4);
}

.bw-footer__main {
	position: relative;
	min-height: 510px;
	overflow: hidden;
	background:
		radial-gradient(
			circle at 50% 15%,
			rgba(255, 255, 255, 0.026),
			transparent 34%
		),
		#0b0b0b;
}

.bw-footer__main::before {
	content: "";
	position: absolute;
	top: -340px;
	left: 50%;
	width: 720px;
	height: 720px;
	border: 1px solid rgba(255, 255, 255, 0.035);
	border-radius: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}

.bw-footer__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(1280px, calc(100% - 40px));
	min-height: 510px;
	margin: 0 auto;
	padding: 70px 0 34px;
	text-align: center;
}

.bw-footer__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(150px, 13vw, 220px);
	margin-bottom: clamp(45px, 4.5vw, 72px);
}

.bw-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
	transition: transform 0.6s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__logo:hover img {
	transform: translateY(-5px) scale(1.025);
}

.bw-footer__info {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(14px, 1.03vw, 18px);
	font-weight: 430;
	line-height: 1.65;
	letter-spacing: -0.025em;
}

.bw-footer__info strong {
	display: block;
	margin-bottom: 4px;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(14px, 1.03vw, 18px);
	font-weight: 700;
	letter-spacing: -0.035em;
}

.bw-footer__info address {
	font-style: normal;
}

.bw-footer__info p span {
	display: inline-block;
	margin: 0 5px;
	color: rgba(255, 255, 255, 0.35);
}

.bw-footer__info > a {
	position: relative;
	display: inline-block;
	padding-bottom: 2px;
}

.bw-footer__info > a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.65);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__info > a:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.bw-footer__social {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: clamp(65px, 6vw, 95px);
}

.bw-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid transparent;
	border-radius: 50%;
	transition:
		background 0.4s ease,
		border-color 0.4s ease,
		transform 0.5s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__social a:hover {
	background: #fff;
	border-color: #fff;
	transform: translateY(-4px);
}

.bw-footer__social svg {
	width: 24px;
	height: 24px;
	overflow: visible;
	fill: none;
	stroke: #fff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition:
		fill 0.4s ease,
		stroke 0.4s ease;
}

.bw-footer__social a:nth-child(2) svg {
	width: 28px;
	height: 28px;
	fill: #fff;
	stroke: none;
}

.bw-footer__social a:nth-child(2) .bw-footer__play {
	fill: #0b0b0b;
}

.bw-footer__social a:hover svg {
	stroke: #0b0b0b;
}

.bw-footer__social a:nth-child(2):hover svg {
	fill: #0b0b0b;
}

.bw-footer__social a:nth-child(2):hover .bw-footer__play {
	fill: #fff;
}

.bw-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: 20px;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(11px, 0.78vw, 14px);
	line-height: 1.5;
}

.bw-footer__bottom > div {
	display: flex;
	align-items: center;
	gap: 7px;
}

.bw-footer__bottom i {
	color: rgba(255, 255, 255, 0.4);
	font-style: normal;
}

.bw-footer__bottom a {
	position: relative;
}

.bw-footer__bottom a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -2px;
	left: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.4s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__bottom a:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}

@keyframes bwFooterMarquee {
	from {
		transform: translate3d(-50%, 0, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}
}


/* =========================================================
   COMMON RESPONSIVE
========================================================= */
@media (max-width: 760px) {
	.bw-global-header {
		padding:
			max(24px, env(safe-area-inset-top))
			22px
			0;
	}

	.bw-global-header.is-scrolled {
		padding:
			14px
			22px;
	}

	.bw-global-header .bw-logo {
		width: 105px;
	}

	.bw-global-header .bw-menu-button {
		width: 43px;
		height: 43px;
	}

	.bw-global-side-nav {
		display: none;
	}

	.bw-full-menu__inner {
		width: calc(100% - 42px);
		padding: 100px 0 28px;
	}

	.bw-full-menu__meta {
		align-items: flex-start;
		font-size: 8px;
	}

	.bw-full-menu__link {
		min-height: clamp(68px, 10.5vh, 92px);
	}

	.bw-full-menu__number {
		width: 45px;
		font-size: 9px;
	}

	.bw-full-menu__name {
		font-size: clamp(32px, 9.5vw, 46px);
	}

	.bw-full-menu__arrow {
		width: 38px;
		height: 38px;
	}

	.bw-full-menu__footer p {
		display: none;
	}

	.bw-footer__marquee-track {
		animation-duration: 18s;
	}

	.bw-footer__marquee-group {
		min-width: max-content;
		height: 42px;
	}

	.bw-footer__marquee-group span {
		padding: 0 36px;
		font-size: 11px;
	}

	.bw-footer__marquee-group span::before {
		margin-right: 36px;
	}

	.bw-footer__main,
	.bw-footer__inner {
		min-height: 500px;
	}

	.bw-footer__inner {
		padding: 65px 0 28px;
	}

	.bw-footer__logo {
		width: 155px;
		margin-bottom: 48px;
	}

	.bw-footer__info {
		font-size: 13px;
		line-height: 1.72;
	}

	.bw-footer__info strong {
		font-size: 14px;
	}

	.bw-footer__info p span {
		display: none;
	}

	.bw-footer__info p {
		max-width: 290px;
		margin: 0 auto;
	}

	.bw-footer__social {
		margin-top: 65px;
	}

	.bw-footer__bottom {
		flex-direction: column;
		gap: 4px;
		font-size: 10px;
	}
}

@media (max-width: 380px) {
	.bw-global-header {
		padding-right: 17px;
		padding-left: 17px;
	}

	.bw-full-menu__inner,
	.bw-footer__inner {
		width: calc(100% - 32px);
	}

	.bw-footer__info {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bw-footer__marquee-track {
		animation-play-state: paused;
	}
}


/* =========================================================
   BRANDWAY FIX V3
   고정 헤더 겹침 / 모바일 햄버거 / 프로젝트 문의 레이어
========================================================= */

.bw-global-header,
.bw-global-header *,
.bw-global-side-nav,
.bw-global-side-nav *,
.bw-contact-modal,
.bw-contact-modal *,
.bw-footer__project,
.bw-footer__project * {
	box-sizing: border-box;
}

.bw-global-header {
	align-items: center;
	width: 100%;
	max-width: 100%;
}

.bw-global-header .bw-logo {
	flex: 0 0 auto;
	z-index: 2;
}

.bw-global-header .bw-menu-button {
	position: relative;
	z-index: 3;
	flex: 0 0 52px;
	display: flex !important;
	overflow: visible;
	color: var(--bw-header-color);
}

/* ABOUT에서는 좌측 세로 메뉴를 상단 중앙 메뉴로 전환해 본문과 겹치지 않게 함 */
@media (min-width: 761px) {
	.bw-global-side-nav.is-sub-page {
		top: clamp(31px, 5.2vh, 57px);
		left: 50%;
		transform: translate(-50%, -20px);
		transition:
			top 0.5s cubic-bezier(.19, 1, .22, 1),
			opacity 1s ease 0.28s,
			transform 1s cubic-bezier(.19, 1, .22, 1) 0.28s;
	}

	.bw-global-side-nav.is-sub-page.is-ready {
		transform: translate(-50%, 0);
	}

	.bw-global-header.is-scrolled + .bw-global-side-nav.is-sub-page {
		top: 25px;
	}

	.bw-global-side-nav.is-sub-page ul {
		flex-direction: row;
		align-items: center;
		gap: clamp(24px, 2.5vw, 48px);
	}

	.bw-global-side-nav.is-sub-page a {
		padding: 10px 0;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.08em;
	}

	.bw-global-side-nav.is-sub-page a::before {
		top: auto;
		right: 0;
		bottom: 2px;
		left: 0;
		width: 100%;
		height: 1px;
		transform: scaleX(0);
		transform-origin: right center;
	}

	.bw-global-side-nav.is-sub-page a:hover,
	.bw-global-side-nav.is-sub-page a.is-current {
		padding-left: 0;
	}

	.bw-global-side-nav.is-sub-page a:hover::before,
	.bw-global-side-nav.is-sub-page a.is-current::before {
		width: 100%;
		transform: scaleX(1);
		transform-origin: left center;
	}
}

/* 모바일 햄버거가 화면 밖으로 밀리거나 선이 잘리는 문제 보정 */
@media (max-width: 760px) {
	.bw-global-header {
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 76px;
		padding:
			max(18px, env(safe-area-inset-top))
			18px
			14px;
	}

	.bw-global-header.is-scrolled {
		min-height: 66px;
		padding:
			max(12px, env(safe-area-inset-top))
			18px
			12px;
	}

	.bw-global-header .bw-logo {
		width: 108px;
		max-width: calc(100% - 78px);
	}

	.bw-global-header .bw-menu-button {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
		min-width: 48px;
		margin: 0;
		padding: 8px 5px;
	}

	.bw-global-header .bw-menu-button::before {
		width: 46px;
		height: 46px;
	}

	.bw-global-header .bw-menu-button span {
		width: 29px;
		min-width: 29px;
		height: 2px;
		margin-left: auto;
		opacity: 1;
		background: currentColor;
	}

	.bw-global-header .bw-menu-button span:nth-child(2) {
		width: 21px;
		min-width: 21px;
	}

	.bw-global-header .bw-menu-button span:nth-child(3) {
		width: 29px;
		min-width: 29px;
	}

	.bw-global-header .bw-menu-button.is-open span:nth-child(1) {
		transform: translateY(9px) rotate(45deg);
	}

	.bw-global-header .bw-menu-button.is-open span:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}
}


/* =========================================================
   FOOTER PROJECT INQUIRY BUTTON
========================================================= */
.bw-footer__project {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: clamp(190px, 14vw, 250px);
	aspect-ratio: 1;
	margin-top: clamp(42px, 4vw, 62px);
	padding: clamp(28px, 2.1vw, 40px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.36);
	border-radius: 50%;
	outline: 0;
	background: transparent;
	color: #fff;
	text-align: left;
	cursor: pointer;
	transition:
		border-color 0.45s ease,
		transform 0.65s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__project::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #52e5d1;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.65s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__project:hover,
.bw-footer__project:focus-visible {
	border-color: #52e5d1;
	color: #0b0b0b;
	transform: rotate(-6deg);
}

.bw-footer__project:hover::before,
.bw-footer__project:focus-visible::before {
	transform: scale(1);
}

.bw-footer__project-label,
.bw-footer__project-arrow {
	position: relative;
	z-index: 1;
}

.bw-footer__project-label {
	align-self: flex-end;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(15px, 1vw, 19px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.bw-footer__project-arrow {
	align-self: flex-start;
	font-family: "Montserrat", sans-serif;
	font-size: 23px;
	transition: transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-footer__project:hover .bw-footer__project-arrow,
.bw-footer__project:focus-visible .bw-footer__project-arrow {
	transform: rotate(45deg);
}

.bw-footer__social {
	margin-top: clamp(42px, 4vw, 65px);
}


/* =========================================================
   CONTACT MODAL
========================================================= */
html.bw-contact-open,
body.bw-contact-open {
	overflow: hidden !important;
}

.bw-contact-modal {
	position: fixed;
	inset: 0;
	z-index: 20000;
	visibility: hidden;
	color: #111;
	font-family:
		"Pretendard Variable",
		Pretendard,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	opacity: 0;
	transition:
		visibility 0s linear 0.55s,
		opacity 0.45s ease;
}

.bw-contact-modal.is-open {
	visibility: visible;
	opacity: 1;
	transition:
		visibility 0s,
		opacity 0.45s ease;
}

.bw-contact-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.76);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	cursor: pointer;
}

.bw-contact-modal__dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(850px, calc(100% - 48px));
	max-height: calc(100vh - 48px);
	max-height: calc(100svh - 48px);
	overflow-x: hidden;
	overflow-y: auto;
	padding: clamp(34px, 4vw, 64px);
	border: 1px solid rgba(17, 17, 17, 0.13);
	outline: 0;
	background: #f5f5f1;
	box-shadow: 0 35px 120px rgba(0, 0, 0, 0.38);
	opacity: 0;
	transform: translate(-50%, calc(-50% + 40px)) scale(0.97);
	transition:
		opacity 0.45s ease,
		transform 0.65s cubic-bezier(.19, 1, .22, 1);
}

.bw-contact-modal.is-open .bw-contact-modal__dialog {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.bw-contact-modal__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: clamp(25px, 3vw, 40px);
	border-bottom: 1px solid rgba(17, 17, 17, 0.15);
}

.bw-contact-modal__head > div > span {
	display: block;
	margin-bottom: 12px;
	color: #ff4b2b;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.bw-contact-modal__head h2 {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(35px, 4.2vw, 62px);
	font-weight: 750;
	line-height: 0.95;
	letter-spacing: -0.06em;
}

.bw-contact-modal__close {
	position: relative;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(17, 17, 17, 0.25);
	border-radius: 50%;
	outline: 0;
	background: transparent;
	cursor: pointer;
	transition:
		background 0.35s ease,
		transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-contact-modal__close:hover,
.bw-contact-modal__close:focus-visible {
	background: #111;
	transform: rotate(90deg);
}

.bw-contact-modal__close span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 19px;
	height: 1px;
	background: #111;
	transition: background 0.35s ease;
}

.bw-contact-modal__close span:first-child {
	transform: translate(-50%, -50%) rotate(45deg);
}

.bw-contact-modal__close span:last-child {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.bw-contact-modal__close:hover span,
.bw-contact-modal__close:focus-visible span {
	background: #fff;
}

.bw-contact-modal__intro {
	max-width: 650px;
	margin: clamp(25px, 3vw, 40px) 0 !important;
	color: #62625d;
	font-size: 15px;
	line-height: 1.8;
}

.bw-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 20px;
}

.bw-contact-field {
	display: block;
}

.bw-contact-field--full {
	grid-column: 1 / -1;
}

.bw-contact-field > span {
	display: block;
	margin-bottom: 10px;
	color: #3d3d39;
	font-size: 13px;
	font-weight: 650;
}

.bw-contact-field > span b {
	color: #ff4b2b;
	font-weight: 700;
}

.bw-contact-field input,
.bw-contact-field textarea {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 15px 0;
	border: 0;
	border-bottom: 1px solid rgba(17, 17, 17, 0.22);
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: #111;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	box-shadow: none;
	transition:
		border-color 0.3s ease,
		padding-left 0.3s ease;
}

.bw-contact-field textarea {
	min-height: 150px;
	resize: vertical;
}

.bw-contact-field input:focus,
.bw-contact-field textarea:focus {
	padding-left: 8px;
	border-color: #ff4b2b;
}

.bw-contact-field input::placeholder,
.bw-contact-field textarea::placeholder {
	color: #a0a09a;
}

.bw-contact-file {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	min-height: 58px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(17, 17, 17, 0.22);
	cursor: pointer;
}

.bw-contact-file input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.bw-contact-file__button {
	flex: 0 0 auto;
	padding: 9px 14px;
	border: 1px solid #111;
	font-size: 12px;
	font-weight: 650;
	transition:
		background 0.3s ease,
		color 0.3s ease;
}

.bw-contact-file:hover .bw-contact-file__button,
.bw-contact-file input:focus + .bw-contact-file__button {
	background: #111;
	color: #fff;
}

.bw-contact-file__name {
	min-width: 0;
	overflow: hidden;
	color: #777771;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bw-contact-agree {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 24px;
	color: #666660;
	font-size: 12px;
	line-height: 1.55;
	cursor: pointer;
}

.bw-contact-agree input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	accent-color: #111;
}

.bw-contact-form__status {
	min-height: 22px;
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.55;
}

.bw-contact-form__status.is-error {
	color: #d62828;
}

.bw-contact-form__status.is-success {
	color: #167148;
}

.bw-contact-submit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 64px;
	margin-top: 13px;
	padding: 0 24px;
	border: 1px solid #111;
	outline: 0;
	background: #111;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition:
		background 0.35s ease,
		color 0.35s ease,
		opacity 0.35s ease;
}

.bw-contact-submit i {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-style: normal;
	transition: transform 0.4s cubic-bezier(.19, 1, .22, 1);
}

.bw-contact-submit:hover:not(:disabled),
.bw-contact-submit:focus-visible:not(:disabled) {
	background: #52e5d1;
	color: #111;
}

.bw-contact-submit:hover i,
.bw-contact-submit:focus-visible i {
	transform: rotate(45deg);
}

.bw-contact-submit:disabled {
	cursor: wait;
	opacity: 0.55;
}

.bw-contact-submit.is-loading i {
	animation: bwContactSpin 0.9s linear infinite;
}

.bw-contact-form__honeypot {
	position: absolute !important;
	top: -10000px !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@keyframes bwContactSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 760px) {
	.bw-footer__project {
		width: 185px;
		margin-top: 42px;
		padding: 28px;
	}

	.bw-footer__social {
		margin-top: 42px;
	}

	.bw-contact-modal__dialog {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-height: calc(100svh - 18px);
		padding: 28px 20px max(24px, env(safe-area-inset-bottom));
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		opacity: 0;
		transform: translateY(100%);
	}

	.bw-contact-modal.is-open .bw-contact-modal__dialog {
		opacity: 1;
		transform: translateY(0);
	}

	.bw-contact-modal__head h2 {
		font-size: 35px;
	}

	.bw-contact-modal__close {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
	}

	.bw-contact-modal__intro {
		margin: 22px 0 !important;
		font-size: 13px;
	}

	.bw-contact-form__grid {
		display: block;
	}

	.bw-contact-field + .bw-contact-field,
	.bw-contact-file {
		margin-top: 20px;
	}

	.bw-contact-field input,
	.bw-contact-field textarea {
		font-size: 16px;
	}

	.bw-contact-field textarea {
		min-height: 125px;
	}

	.bw-contact-file {
		align-items: flex-start;
		flex-direction: column;
		gap: 9px;
	}

	.bw-contact-submit {
		min-height: 58px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bw-contact-modal,
	.bw-contact-modal *,
	.bw-footer__project,
	.bw-footer__project * {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}


/* 전체 메뉴가 열린 동안 상단/좌측 메뉴는 숨기고 햄버거만 유지 */
.bw-global-header.is-menu-open + .bw-global-side-nav {
	opacity: 0 !important;
	pointer-events: none;
}


/* =========================================================
   BRANDWAY COMPLETE V4
   공통 메뉴 확장 / 밝은 푸터 / 파트너 로고 롤링
========================================================= */

/* 서브페이지 상단 메뉴: ABOUT / BUSINESS / WORK / PARTNERS / PORTFOLIO */
@media (min-width: 761px) {
	.bw-global-side-nav.is-sub-page ul {
		gap: clamp(18px, 1.85vw, 36px);
	}

	.bw-global-side-nav.is-sub-page a {
		font-size: 10px;
		letter-spacing: 0.075em;
	}
}

/* 6개 항목 전체 메뉴가 화면 안에 안정적으로 들어오도록 조정 */
.bw-full-menu__inner {
	width: min(1120px, calc(100% - 60px));
	padding-top: 108px;
	padding-bottom: 34px;
}

.bw-full-menu__meta {
	margin-bottom: 18px;
}

.bw-full-menu__footer {
	margin-top: 18px;
}

.bw-full-menu__link {
	min-height: clamp(62px, 8.4vh, 88px);
}

.bw-full-menu__name {
	font-size: clamp(34px, 3.7vw, 62px);
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(5) {
	transition-delay: 0.46s;
}

.bw-full-menu.is-open .bw-full-menu__item:nth-child(6) {
	transition-delay: 0.53s;
}


/* =========================================================
   PARTNER LOGO RAIL
========================================================= */
.bw-partner-rail,
.bw-partner-rail * {
	box-sizing: border-box;
}

.bw-partner-rail {
	position: relative;
	z-index: 2;
	overflow: hidden;
	padding: clamp(76px, 7vw, 125px) 0 clamp(54px, 5vw, 85px);
	background: #f2f2ef;
	color: #111;
	font-family:
		"Pretendard Variable",
		Pretendard,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	border-top: 1px solid rgba(17, 17, 17, 0.08);
}

.bw-partner-rail::before {
	content: "";
	position: absolute;
	top: -260px;
	right: -180px;
	width: 540px;
	height: 540px;
	border: 1px solid rgba(17, 17, 17, 0.055);
	border-radius: 50%;
	pointer-events: none;
}

.bw-partner-rail__head {
	display: grid;
	grid-template-columns: minmax(420px, 1.3fr) minmax(300px, 0.7fr);
	gap: clamp(45px, 8vw, 145px);
	align-items: end;
	width: min(1520px, calc(100% - clamp(42px, 8.35vw, 160px)));
	margin: 0 auto clamp(55px, 5.8vw, 95px);
}

.bw-partner-rail__head span {
	display: block;
	margin-bottom: 18px;
	color: #ff4b2b;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.bw-partner-rail__head h2 {
	margin: 0;
	font-size: clamp(36px, 3.65vw, 70px);
	font-weight: 680;
	line-height: 1.08;
	letter-spacing: -0.06em;
}

.bw-partner-rail__head > p {
	margin: 0;
	color: #62625d;
	font-size: clamp(14px, 0.95vw, 18px);
	line-height: 1.85;
}

.bw-partner-rail__viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-top: 1px solid rgba(17, 17, 17, 0.1);
	border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}

.bw-partner-rail__viewport::before,
.bw-partner-rail__viewport::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 3;
	width: clamp(25px, 7vw, 140px);
	pointer-events: none;
}

.bw-partner-rail__viewport::before {
	left: 0;
	background: linear-gradient(90deg, #f2f2ef, rgba(242, 242, 239, 0));
}

.bw-partner-rail__viewport::after {
	right: 0;
	background: linear-gradient(270deg, #f2f2ef, rgba(242, 242, 239, 0));
}

.bw-partner-rail__track {
	display: flex;
	width: max-content;
	animation: bwPartnerRoll 38s linear infinite;
	will-change: transform;
}

.bw-partner-rail__viewport:hover .bw-partner-rail__track {
	animation-play-state: paused;
}

.bw-partner-rail__group {
	display: flex;
	flex-shrink: 0;
	align-items: stretch;
}

.bw-partner-rail__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(170px, 14vw, 270px);
	height: clamp(105px, 8vw, 145px);
	padding: clamp(24px, 2.3vw, 42px);
	border-right: 1px solid rgba(17, 17, 17, 0.1);
	background: rgba(255, 255, 255, 0.18);
	transition:
		background 0.35s ease,
		transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-partner-rail__item:hover {
	position: relative;
	z-index: 2;
	background: rgba(255, 255, 255, 0.78);
	transform: translateY(-5px);
}

.bw-partner-rail__item img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 175px;
	max-height: 64px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.55;
	transition:
		filter 0.35s ease,
		opacity 0.35s ease,
		transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-partner-rail__item:hover img {
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.04);
}

@keyframes bwPartnerRoll {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}


/* =========================================================
   LIGHT FOOTER
========================================================= */
.bw-footer--light {
	background: #ecece8;
	color: #111;
	border-top: 0;
}

.bw-footer--light .bw-footer__main {
	min-height: auto;
	background:
		radial-gradient(
			circle at 78% 20%,
			rgba(82, 229, 209, 0.16),
			transparent 26%
		),
		linear-gradient(135deg, #f7f7f4 0%, #ecece8 100%);
}

.bw-footer--light .bw-footer__main::before {
	top: -400px;
	right: -230px;
	left: auto;
	width: 720px;
	height: 720px;
	border-color: rgba(17, 17, 17, 0.055);
	transform: none;
}

.bw-footer--light .bw-footer__inner {
	display: block;
	width: min(1520px, calc(100% - clamp(42px, 8.35vw, 160px)));
	min-height: auto;
	padding: clamp(80px, 8vw, 145px) 0 32px;
	text-align: left;
}

.bw-footer__top {
	display: grid;
	grid-template-columns: minmax(420px, 1fr) minmax(300px, 0.72fr);
	gap: clamp(60px, 10vw, 180px);
	align-items: end;
	padding-bottom: clamp(55px, 6vw, 100px);
	border-bottom: 1px solid rgba(17, 17, 17, 0.13);
}

.bw-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.bw-footer--light .bw-footer__logo {
	width: clamp(160px, 13vw, 235px);
	margin: 0 0 clamp(36px, 4vw, 62px);
}

.bw-footer--light .bw-footer__logo img {
	filter: brightness(0);
}

.bw-footer__brand > p {
	max-width: 730px;
	margin: 0;
	font-size: clamp(28px, 2.75vw, 52px);
	font-weight: 650;
	line-height: 1.22;
	letter-spacing: -0.058em;
}

.bw-footer--light .bw-footer__project {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 520px;
	min-height: 118px;
	aspect-ratio: auto;
	margin: 0 0 0 auto;
	padding: 26px 30px;
	overflow: hidden;
	border: 1px solid #111;
	border-radius: 0;
	background: #52e5d1;
	color: #111;
	text-align: left;
	transform: none;
	transition:
		background 0.35s ease,
		color 0.35s ease,
		transform 0.5s cubic-bezier(.19, 1, .22, 1),
		box-shadow 0.35s ease;
}

.bw-footer--light .bw-footer__project::before {
	display: none;
}

.bw-footer--light .bw-footer__project:hover,
.bw-footer--light .bw-footer__project:focus-visible {
	border-color: #111;
	background: #111;
	color: #fff;
	transform: translateY(-7px);
	box-shadow: 0 18px 50px rgba(17, 17, 17, 0.16);
}

.bw-footer__project-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bw-footer__project-copy small {
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.bw-footer__project-copy strong {
	font-family: "Montserrat", sans-serif;
	font-size: clamp(20px, 1.55vw, 29px);
	font-weight: 750;
	line-height: 1;
	letter-spacing: -0.04em;
}

.bw-footer--light .bw-footer__project-arrow {
	position: relative;
	z-index: 1;
	align-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 21px;
}

.bw-footer__details {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 50px;
	padding: clamp(38px, 4vw, 62px) 0;
	border-bottom: 1px solid rgba(17, 17, 17, 0.13);
}

.bw-footer--light .bw-footer__info {
	color: #454541;
	font-size: clamp(13px, 0.92vw, 16px);
}

.bw-footer--light .bw-footer__info strong {
	color: #111;
}

.bw-footer--light .bw-footer__info p span {
	color: rgba(17, 17, 17, 0.32);
}

.bw-footer--light .bw-footer__info > a::after {
	background: #111;
}

.bw-footer--light .bw-footer__social {
	margin: 0;
}

.bw-footer--light .bw-footer__social a {
	width: 42px;
	height: 42px;
	border-color: rgba(17, 17, 17, 0.22);
}

.bw-footer--light .bw-footer__social a:hover {
	background: #111;
	border-color: #111;
}

.bw-footer--light .bw-footer__social svg {
	stroke: #111;
}

.bw-footer--light .bw-footer__social a:nth-child(2) svg {
	fill: #111;
}

.bw-footer--light .bw-footer__social a:nth-child(2) .bw-footer__play {
	fill: #ecece8;
}

.bw-footer--light .bw-footer__social a:hover svg {
	stroke: #fff;
}

.bw-footer--light .bw-footer__social a:nth-child(2):hover svg {
	fill: #fff;
}

.bw-footer--light .bw-footer__social a:nth-child(2):hover .bw-footer__play {
	fill: #111;
}

.bw-footer--light .bw-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin: 0;
	padding-top: 26px;
	color: #74746f;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.bw-footer--light .bw-footer__bottom p {
	margin: 0;
}


/* =========================================================
   FOOTER / MENU MOBILE
========================================================= */
@media (max-width: 760px) {
	.bw-full-menu__inner {
		padding: 92px 0 22px;
	}

	.bw-full-menu__meta {
		display: none;
	}

	.bw-full-menu__link {
		min-height: clamp(58px, 9.4vh, 76px);
	}

	.bw-full-menu__name {
		font-size: clamp(28px, 8.5vw, 39px);
	}

	.bw-partner-rail {
		padding: 70px 0 48px;
	}

	.bw-partner-rail__head {
		display: block;
		width: calc(100% - 40px);
		margin-bottom: 45px;
	}

	.bw-partner-rail__head h2 {
		font-size: 36px;
	}

	.bw-partner-rail__head > p {
		margin-top: 24px;
		font-size: 13px;
	}

	.bw-partner-rail__track {
		animation-duration: 26s;
	}

	.bw-partner-rail__item {
		width: 150px;
		height: 96px;
		padding: 24px;
	}

	.bw-partner-rail__item img {
		max-width: 110px;
		max-height: 48px;
	}

	.bw-footer--light .bw-footer__inner {
		width: calc(100% - 40px);
		padding: 68px 0 25px;
	}

	.bw-footer__top {
		display: block;
		padding-bottom: 55px;
	}

	.bw-footer__brand > p {
		font-size: 30px;
	}

	.bw-footer--light .bw-footer__project {
		min-height: 92px;
		margin-top: 48px;
		padding: 21px 22px;
	}

	.bw-footer__project-copy strong {
		font-size: 20px;
	}

	.bw-footer--light .bw-footer__project-arrow {
		width: 44px;
		height: 44px;
		font-size: 18px;
	}

	.bw-footer__details {
		display: block;
		padding: 42px 0;
	}

	.bw-footer--light .bw-footer__info {
		font-size: 12px;
		line-height: 1.75;
	}

	.bw-footer--light .bw-footer__info p {
		max-width: none;
		margin: 0;
	}

	.bw-footer--light .bw-footer__social {
		justify-content: flex-start;
		margin-top: 32px;
	}

	.bw-footer--light .bw-footer__bottom {
		display: block;
		font-size: 7px;
		line-height: 1.7;
	}

	.bw-footer--light .bw-footer__bottom p + p {
		margin-top: 5px;
	}
}

@media (max-width: 380px) {
	.bw-partner-rail__head,
	.bw-footer--light .bw-footer__inner {
		width: calc(100% - 32px);
	}

	.bw-footer__brand > p {
		font-size: 27px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bw-partner-rail__track {
		animation-play-state: paused;
	}
}


/* 노트북/태블릿에서는 중앙 메뉴 대신 햄버거 전체 메뉴 사용 */
@media (max-width: 1180px) and (min-width: 761px) {
	.bw-global-side-nav.is-sub-page {
		display: none;
	}
}


/* =========================================================
   V5 DESKTOP GNB
   서브페이지 메뉴를 고정 헤더 안에 배치하여 스크롤 후에도 유지
========================================================= */
.bw-global-header.has-desktop-gnb {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
	align-items: center;
}

.bw-global-header.has-desktop-gnb .bw-logo {
	justify-self: start;
}

.bw-global-header.has-desktop-gnb .bw-menu-button {
	justify-self: end;
}

.bw-global-gnb {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(25px, 2.4vw, 46px);
	justify-self: center;
	pointer-events: auto;
}

.bw-global-gnb a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 11px 0;
	color: currentColor;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	text-decoration: none;
	white-space: nowrap;
}

.bw-global-gnb a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 2px;
	left: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-global-gnb a:hover::after,
.bw-global-gnb a.is-current::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.bw-global-header.is-menu-open .bw-global-gnb {
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 1180px) {
	.bw-global-gnb {
		display: none;
	}

	.bw-global-header.has-desktop-gnb {
		display: flex;
	}
}

/* URL은 오른쪽으로, 파트너 로고는 왼쪽으로 이동 */
.bw-footer__marquee-track {
	animation-name: bwFooterMarquee;
}

.bw-partner-rail__track {
	animation-name: bwPartnerRoll;
}


/* =========================================================
   BRANDWAY LANGUAGE SWITCHER
========================================================= */
.bw-header-actions,
.bw-header-actions * {
	box-sizing: border-box;
}

.bw-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	justify-self: end;
	gap: 13px;
	pointer-events: auto;
}

.bw-global-header.has-desktop-gnb .bw-header-actions {
	justify-self: end;
}

.bw-global-header.has-desktop-gnb .bw-menu-button {
	justify-self: auto;
}


/* =========================================================
   LANGUAGE BUTTON
========================================================= */
.bw-language {
	position: relative;
	z-index: 10035;
	flex: 0 0 auto;
	color: inherit;
	font-family: "Montserrat", sans-serif;
}

.bw-language__toggle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	outline: 0;
	background: rgba(0, 0, 0, 0.08);
	color: inherit;
	cursor: pointer;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition:
		background 0.35s ease,
		border-color 0.35s ease,
		transform 0.45s cubic-bezier(.19, 1, .22, 1);
}

.bw-global-header.is-light .bw-language__toggle {
	border-color: rgba(17, 17, 17, 0.45);
	background: rgba(255, 255, 255, 0.32);
}

.bw-language__toggle:hover,
.bw-language__toggle:focus-visible,
.bw-language.is-open .bw-language__toggle {
	background: #52e5d1;
	border-color: #52e5d1;
	color: #111;
	transform: translateY(-2px);
}

.bw-language__toggle svg {
	display: block;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* =========================================================
   LANGUAGE DROPDOWN
========================================================= */
.bw-language__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	display: flex;
	flex-direction: column;
	width: 64px;
	overflow: hidden;
	padding: 6px 0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(19, 19, 19, 0.97);
	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.28);
	opacity: 0;
	transform: translateY(-8px) scale(0.96);
	transform-origin: top right;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.3s ease,
		transform 0.4s cubic-bezier(.19, 1, .22, 1),
		visibility 0s linear 0.35s;
}

.bw-language.is-open .bw-language__menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
	transition:
		opacity 0.3s ease,
		transform 0.4s cubic-bezier(.19, 1, .22, 1),
		visibility 0s;
}

.bw-language__menu button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 41px;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.82);
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition:
		background 0.3s ease,
		color 0.3s ease;
}

.bw-language__menu button:hover,
.bw-language__menu button:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.bw-language__menu button.is-active {
	background: #52e5d1;
	color: #111;
}


/* =========================================================
   GOOGLE TRANSLATE ORIGINAL UI HIDE
========================================================= */
.bw-google-translate {
	position: fixed !important;
	top: -10000px !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
body > .skiptranslate {
	display: none !important;
}

html,
body {
	top: 0 !important;
}

#goog-gt-tt,
.goog-te-balloon-frame {
	display: none !important;
}

.goog-text-highlight {
	background: transparent !important;
	box-shadow: none !important;
}


/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 760px) {
	.bw-header-actions {
		gap: 8px;
	}

	.bw-language__toggle {
		width: 42px;
		height: 42px;
	}

	.bw-language__toggle svg {
		width: 21px;
		height: 21px;
	}

	.bw-language__menu {
		top: calc(100% + 8px);
		width: 58px;
	}

	.bw-language__menu button {
		height: 39px;
		font-size: 12px;
	}
}

@media (max-width: 380px) {
	.bw-header-actions {
		gap: 4px;
	}

	.bw-language__toggle {
		width: 39px;
		height: 39px;
	}

	.bw-language__menu {
		width: 55px;
	}
}

/* =========================================================
   BRANDWAY ABOUT : SCOPED RESET
========================================================= */
.bwa-about,
.bwa-about * {
	box-sizing: border-box;
}

.bwa-about {
	--bwa-bg: #f3f3f1;
	--bwa-bg-soft: #eaeae6;
	--bwa-paper: #fafaf8;
	--bwa-ink: #111111;
	--bwa-gray: #72726e;
	--bwa-line: rgba(17, 17, 17, 0.17);
	--bwa-light-line: rgba(255, 255, 255, 0.18);
	--bwa-accent: #ff4b2b;
	--bwa-dark: #0c0c0c;
	--bwa-container: 1520px;

	position: relative;
	z-index: 1;
	width: 100%;
	min-width: 0;
	overflow: clip;
	background: var(--bwa-bg) !important;
	color: var(--bwa-ink);
	font-family:
		"Pretendard Variable",
		Pretendard,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: -0.025em;
	word-break: keep-all;
	isolation: isolate;
}

.bwa-about section,
.bwa-about article,
.bwa-about div,
.bwa-about header,
.bwa-about footer {
	min-width: 0;
}

.bwa-about h1,
.bwa-about h2,
.bwa-about h3,
.bwa-about p {
	margin: 0;
	padding: 0;
}

.bwa-about a {
	color: inherit;
	text-decoration: none;
}

.bwa-about button,
.bwa-about a {
	-webkit-tap-highlight-color: transparent;
}

.bwa-container {
	position: relative;
	width: min(
		var(--bwa-container),
		calc(100% - clamp(40px, 8.35vw, 160px))
	);
	margin: 0 auto;
}

.bwa-page-grid {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background-image:
		linear-gradient(
			90deg,
			transparent calc(25% - 0.5px),
			rgba(0, 0, 0, 0.035) 25%,
			transparent calc(25% + 0.5px),
			transparent calc(50% - 0.5px),
			rgba(0, 0, 0, 0.035) 50%,
			transparent calc(50% + 0.5px),
			transparent calc(75% - 0.5px),
			rgba(0, 0, 0, 0.035) 75%,
			transparent calc(75% + 0.5px)
		);
	background-size: min(var(--bwa-container), calc(100% - 160px)) 100%;
	background-position: center top;
	background-repeat: no-repeat;
}

.bwa-noise {
	position: absolute;
	inset: 0;
	z-index: 20;
	opacity: 0.022;
	pointer-events: none;
	background-image:
		url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.82'/%3E%3C/svg%3E");
}

.bwa-section {
	position: relative;
	padding:
		clamp(110px, 10.4vw, 200px)
		0;
}

.bwa-section-label,
.bwa-heading-index {
	display: flex;
	align-items: center;
	gap: 15px;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.bwa-section-label-number,
.bwa-heading-index span {
	color: var(--bwa-accent);
}

.bwa-section-label-line {
	display: block;
	width: 38px;
	height: 1px;
	background: rgba(17, 17, 17, 0.45);
}

.bwa-heading-index {
	align-items: flex-start;
	gap: 12px;
}

.bwa-heading-index p {
	color: #555551;
}

.bwa-heading-index-light span {
	color: var(--bwa-accent);
}

.bwa-heading-index-light p {
	color: rgba(255, 255, 255, 0.58);
}

.bwa-eyebrow {
	margin-bottom: clamp(20px, 2vw, 36px) !important;
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(10px, 0.72vw, 13px);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.13em;
}

.bwa-title-mask {
	display: block;
	overflow: hidden;
	padding:
		0.08em
		0.06em
		0.12em;
	margin:
		-0.08em
		-0.06em
		-0.12em;
}

.bwa-section-title,
.bwa-display-heading {
	font-size: clamp(54px, 5.2vw, 100px);
	font-weight: 680;
	line-height: 1.04;
	letter-spacing: -0.065em;
}

.bwa-section-title-light {
	color: #fff;
}


/* =========================================================
   HERO — SUBPAGE SYSTEM MATCH
========================================================= */
.bwa-hero {
	position: relative;
	min-height: clamp(760px, 86vh, 920px);
	overflow: hidden;
	background:
		radial-gradient(
			circle at 78% 25%,
			rgba(82, 229, 209, 0.18),
			transparent 25%
		),
		linear-gradient(135deg, #f7f7f4 0%, #ecece8 100%);
}

.bwa-hero-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: clamp(760px, 86vh, 920px);
	padding:
		clamp(132px, 13vh, 165px)
		0
		clamp(42px, 4.6vw, 72px);
}

.bwa-hero-top,
.bwa-hero-bottom {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
}

.bwa-section-label strong {
	font-weight: 700;
}

.bwa-hero-sidecopy {
	color: rgba(17, 17, 17, 0.48);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.06em;
	text-align: right;
}

.bwa-hero-title-wrap {
	position: relative;
	z-index: 2;
	padding: clamp(42px, 5.4vh, 78px) 0;
}

.bwa-hero-title-wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: clamp(110px, 12vw, 230px);
	height: 1px;
	background:
		linear-gradient(
			90deg,
			rgba(17, 17, 17, 0),
			rgba(17, 17, 17, 0.2)
		);
	transform: translateY(-50%);
	pointer-events: none;
}

.bwa-hero-title-wrap::after {
	content: "ABOUT";
	position: absolute;
	top: 50%;
	right: 1%;
	z-index: -1;
	color: rgba(17, 17, 17, 0.025);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(90px, 14vw, 270px);
	font-weight: 800;
	line-height: 0.8;
	letter-spacing: -0.08em;
	transform: translateY(-50%);
	pointer-events: none;
}

.bwa-hero-kicker {
	margin-bottom: 20px !important;
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.bwa-hero-title {
	position: relative;
	z-index: 2;
	max-width: 1460px;
	color: var(--bwa-ink);
	font-family:
		"Pretendard Variable",
		Pretendard,
		sans-serif;
	font-size: clamp(60px, 7.7vw, 148px);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.073em;
	text-align: left;
}

.bwa-title-line {
	position: relative;
	display: block;
	padding-right: 0.07em;
}

.bwa-title-line-bottom {
	margin: 0;
}

.bwa-hero-title em {
	color: transparent;
	font-style: normal;
	-webkit-text-stroke: 1px var(--bwa-ink);
	text-stroke: 1px var(--bwa-ink);
}

.bwa-hero-title .bwa-title-mask:first-child {
	padding-bottom: 0.12em;
	margin-bottom: -0.12em;
}

.bwa-hero-symbol {
	position: absolute;
	right: clamp(20px, 7vw, 130px);
	bottom: clamp(-20px, 0.5vw, 10px);
	z-index: 1;
	width: clamp(105px, 10vw, 185px);
	aspect-ratio: 1;
	border: 1px solid rgba(17, 17, 17, 0.18);
	border-radius: 50%;
	transform: none;
	pointer-events: none;
}

.bwa-hero-symbol::before,
.bwa-hero-symbol::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--bwa-accent);
	transform: translate(-50%, -50%);
}

.bwa-hero-symbol::before {
	width: 1px;
	height: 135%;
}

.bwa-hero-symbol::after {
	width: 135%;
	height: 1px;
}

.bwa-hero-symbol span {
	position: absolute;
	display: block;
	border: 1px solid rgba(17, 17, 17, 0.14);
	border-radius: 50%;
}

.bwa-hero-symbol span:first-child {
	inset: 18%;
}

.bwa-hero-symbol span:last-child {
	inset: 36%;
	background: var(--bwa-accent);
	border: 0;
}

.bwa-hero-bottom {
	align-items: flex-end;
}

.bwa-hero-slogan {
	max-width: 430px;
	font-size: clamp(26px, 2.1vw, 40px);
	font-weight: 680;
	line-height: 1.18;
	letter-spacing: -0.055em;
}

.bwa-hero-intro {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(35px, 5vw, 82px);
	width: min(850px, 58%);
	max-width: none;
	color: var(--bwa-gray);
	font-size: clamp(14px, 0.9vw, 17px);
	font-weight: 430;
	line-height: 1.82;
}

.bwa-hero-intro strong {
	display: block;
	margin-bottom: 16px;
	color: var(--bwa-ink);
	font-size: clamp(17px, 1.18vw, 23px);
	font-weight: 650;
	line-height: 1.45;
	letter-spacing: -0.045em;
}

.bwa-scroll-guide {
	position: absolute;
	right: 0;
	bottom: clamp(40px, 4.2vw, 76px);
	display: flex;
	align-items: center;
	gap: 13px;
	color: rgba(17, 17, 17, 0.43);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	writing-mode: vertical-rl;
}

.bwa-scroll-guide i {
	position: relative;
	display: block;
	width: 1px;
	height: 52px;
	overflow: hidden;
	background: rgba(17, 17, 17, 0.15);
}

.bwa-scroll-guide i::after {
	content: "";
	position: absolute;
	top: -100%;
	left: 0;
	width: 100%;
	height: 60%;
	background: var(--bwa-ink);
	animation: bwaScrollLine 2.1s ease-in-out infinite;
}

.bwa-hero-orbit {
	position: absolute;
	border: 1px solid rgba(17, 17, 17, 0.07);
	border-radius: 50%;
	pointer-events: none;
}

.bwa-orbit-01 {
	top: -22vw;
	right: -12vw;
	width: 55vw;
	height: 55vw;
	animation: bwaOrbit 22s linear infinite;
}

.bwa-orbit-02 {
	bottom: -22vw;
	left: -16vw;
	width: 45vw;
	height: 45vw;
	animation: bwaOrbit 27s linear infinite reverse;
}

.bwa-hero-orbit::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--bwa-accent);
}

/* =========================================================
   INTRO
========================================================= */
.bwa-intro-section {
	background: var(--bwa-paper);
}

.bwa-heading-grid {
	display: grid;
	grid-template-columns: minmax(180px, 0.72fr) minmax(600px, 2.28fr);
	gap: clamp(50px, 8vw, 150px);
	align-items: start;
}

.bwa-intro-editorial {
	display: grid;
	grid-template-columns: minmax(290px, 0.85fr) minmax(600px, 1.7fr);
	gap: clamp(70px, 10vw, 190px);
	margin-top: clamp(100px, 10vw, 180px);
	padding-top: clamp(70px, 6.5vw, 120px);
	border-top: 1px solid var(--bwa-line);
}

.bwa-intro-quote {
	position: relative;
	padding-top: 48px;
}

.bwa-quote-mark {
	position: absolute;
	top: -35px;
	left: -5px;
	color: var(--bwa-accent);
	font-family: Georgia, serif;
	font-size: 100px;
	font-weight: 400;
	line-height: 1;
}

.bwa-intro-quote p {
	position: relative;
	z-index: 1;
	font-size: clamp(31px, 2.45vw, 47px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.055em;
}

.bwa-quote-caption {
	display: block;
	margin-top: 35px;
	color: #878782;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.bwa-intro-copy {
	max-width: 840px;
}

.bwa-intro-copy-lead {
	margin-bottom: clamp(45px, 5vw, 85px) !important;
	font-size: clamp(23px, 1.85vw, 35px);
	font-weight: 620;
	line-height: 1.55;
	letter-spacing: -0.047em;
}

.bwa-intro-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(35px, 4vw, 72px);
	color: #555551;
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.9;
}


/* =========================================================
   WHAT WE CONNECT
========================================================= */
.bwa-connect-section {
	background: var(--bwa-bg);
}

.bwa-section-head {
	display: grid;
	grid-template-columns: minmax(180px, 0.72fr) minmax(600px, 2.28fr);
	gap: clamp(50px, 8vw, 150px);
	align-items: start;
}

.bwa-connect-flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(90px, 9vw, 170px);
	border-top: 1px solid var(--bwa-line);
	border-bottom: 1px solid var(--bwa-line);
}

.bwa-connect-flow::before {
	content: "";
	position: absolute;
	top: 104px;
	right: 8%;
	left: 8%;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(17, 17, 17, 0.24) 12%,
			rgba(17, 17, 17, 0.24) 88%,
			transparent
		);
}

.bwa-flow-item {
	position: relative;
	min-height: 460px;
	padding:
		35px
		clamp(24px, 2.1vw, 40px)
		50px;
	border-left: 1px solid var(--bwa-line);
	transition:
		background 0.5s ease,
		transform 0.6s cubic-bezier(.19, 1, .22, 1);
}

.bwa-flow-item:last-child {
	border-right: 1px solid var(--bwa-line);
}

.bwa-flow-item:hover {
	z-index: 2;
	background: var(--bwa-paper);
	transform: translateY(-12px);
}

.bwa-flow-number {
	color: #888883;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.bwa-flow-icon {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin: 42px 0 65px;
	background: var(--bwa-bg);
	border: 1px solid rgba(17, 17, 17, 0.26);
	border-radius: 50%;
	transition:
		background 0.4s ease,
		transform 0.6s cubic-bezier(.19, 1, .22, 1);
}

.bwa-flow-item:hover .bwa-flow-icon {
	background: var(--bwa-accent);
	border-color: var(--bwa-accent);
	transform: rotate(45deg);
}

.bwa-flow-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bwa-ink);
}

.bwa-flow-square {
	width: 12px;
	height: 12px;
	border: 2px solid var(--bwa-ink);
}

.bwa-flow-cross {
	position: relative;
	width: 18px;
	height: 18px;
}

.bwa-flow-cross::before,
.bwa-flow-cross::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--bwa-ink);
	transform: translate(-50%, -50%);
}

.bwa-flow-cross::before {
	width: 18px;
	height: 2px;
}

.bwa-flow-cross::after {
	width: 2px;
	height: 18px;
}

.bwa-flow-ring {
	width: 17px;
	height: 17px;
	border: 2px solid var(--bwa-ink);
	border-radius: 50%;
}

.bwa-flow-item:hover .bwa-flow-dot,
.bwa-flow-item:hover .bwa-flow-cross::before,
.bwa-flow-item:hover .bwa-flow-cross::after {
	background: #fff;
}

.bwa-flow-item:hover .bwa-flow-square,
.bwa-flow-item:hover .bwa-flow-ring {
	border-color: #fff;
}

.bwa-flow-item h3 {
	margin-bottom: 9px;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(27px, 2.15vw, 41px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.055em;
}

.bwa-flow-item strong {
	display: block;
	margin-bottom: 28px;
	font-size: clamp(16px, 1.1vw, 21px);
	font-weight: 650;
}

.bwa-flow-item p {
	max-width: 260px;
	color: #666661;
	font-size: 14px;
	line-height: 1.8;
}

.bwa-connect-result {
	display: grid;
	grid-template-columns: 0.45fr 1.5fr 0.8fr;
	gap: clamp(30px, 5vw, 90px);
	align-items: start;
	padding: clamp(50px, 5vw, 90px) 0 0;
}

.bwa-connect-result-label {
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.bwa-connect-result p {
	font-size: clamp(20px, 1.52vw, 29px);
	font-weight: 530;
	line-height: 1.65;
	letter-spacing: -0.04em;
}

.bwa-connect-result strong {
	font-family: "Montserrat", sans-serif;
	font-size: clamp(15px, 1.1vw, 21px);
	line-height: 1.5;
}


/* =========================================================
   CORE CAPABILITIES
========================================================= */
.bwa-capability-section {
	background: var(--bwa-dark);
	color: #fff;
}

.bwa-capability-heading {
	display: grid;
	grid-template-columns: 1.55fr 0.75fr;
	gap: clamp(60px, 9vw, 170px);
	align-items: end;
}

.bwa-capability-heading .bwa-heading-index {
	margin-bottom: clamp(55px, 6vw, 100px);
}

.bwa-capability-intro {
	max-width: 530px;
	padding-bottom: 10px;
	color: rgba(255, 255, 255, 0.6);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.9;
}

.bwa-capability-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(90px, 8vw, 150px);
	border-top: 1px solid var(--bwa-light-line);
	border-left: 1px solid var(--bwa-light-line);
}

.bwa-capability-card {
	position: relative;
	min-height: 510px;
	overflow: hidden;
	padding:
		clamp(28px, 2.4vw, 46px)
		clamp(25px, 2.4vw, 46px)
		clamp(35px, 3vw, 58px);
	border-right: 1px solid var(--bwa-light-line);
	border-bottom: 1px solid var(--bwa-light-line);
	background: transparent;
	transition:
		background 0.6s ease,
		color 0.5s ease,
		transform 0.7s cubic-bezier(.19, 1, .22, 1);
}

.bwa-capability-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			135deg,
			var(--bwa-accent),
			#ff684f
		);
	transform: translateY(102%);
	transition: transform 0.75s cubic-bezier(.19, 1, .22, 1);
}

.bwa-capability-card:hover {
	color: #fff;
	transform: translateY(-10px);
}

.bwa-capability-card:hover::before {
	transform: translateY(0);
}

.bwa-card-top,
.bwa-capability-card h3,
.bwa-capability-card p,
.bwa-card-arrow {
	position: relative;
	z-index: 1;
}

.bwa-card-top {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	color: rgba(255, 255, 255, 0.42);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.09em;
}

.bwa-card-top i {
	font-style: normal;
	text-align: right;
}

.bwa-capability-card h3 {
	margin-top: clamp(80px, 7vw, 125px);
	font-size: clamp(35px, 2.75vw, 53px);
	font-weight: 650;
	line-height: 1.08;
	letter-spacing: -0.06em;
}

.bwa-capability-card p {
	max-width: 330px;
	margin-top: 35px;
	color: rgba(255, 255, 255, 0.56);
	font-size: 14px;
	line-height: 1.85;
	transition: color 0.4s ease;
}

.bwa-capability-card:hover p,
.bwa-capability-card:hover .bwa-card-top {
	color: rgba(255, 255, 255, 0.88);
}

.bwa-card-arrow {
	position: absolute;
	right: clamp(25px, 2.4vw, 46px);
	bottom: clamp(30px, 2.8vw, 50px);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	transition:
		background 0.4s ease,
		color 0.4s ease,
		transform 0.5s cubic-bezier(.19, 1, .22, 1);
}

.bwa-capability-card:hover .bwa-card-arrow {
	background: #fff;
	color: var(--bwa-accent);
	transform: rotate(45deg);
}


/* =========================================================
   WHY BRANDWAY
========================================================= */
.bwa-why-section {
	background: var(--bwa-paper);
}

.bwa-why-layout {
	display: grid;
	grid-template-columns: minmax(340px, 0.86fr) minmax(600px, 1.42fr);
	gap: clamp(80px, 11vw, 210px);
	margin-top: clamp(110px, 10vw, 190px);
}

.bwa-why-statement {
	position: sticky;
	top: 100px;
	align-self: start;
}

.bwa-why-statement > p {
	font-size: clamp(31px, 2.55vw, 49px);
	font-weight: 680;
	line-height: 1.2;
	letter-spacing: -0.055em;
}

.bwa-statement-line {
	width: 100%;
	height: 1px;
	margin: 55px 0 30px;
	background: var(--bwa-line);
}

.bwa-why-statement > span {
	color: #81817c;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.65;
	letter-spacing: 0.05em;
}

.bwa-why-list {
	border-top: 1px solid var(--bwa-line);
}

.bwa-why-item {
	display: grid;
	grid-template-columns: 65px 1fr;
	gap: 25px;
	padding: clamp(48px, 5vw, 85px) 0;
	border-bottom: 1px solid var(--bwa-line);
}

.bwa-why-number {
	padding-top: 8px;
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.bwa-why-en {
	margin-bottom: 17px !important;
	color: #757570;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.bwa-why-item h3 {
	margin-bottom: 28px;
	font-size: clamp(25px, 1.8vw, 35px);
	font-weight: 670;
	line-height: 1.3;
	letter-spacing: -0.045em;
}

.bwa-why-description {
	max-width: 750px;
	color: #5e5e59;
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.9;
}


/* =========================================================
   COMPANY FACTS
========================================================= */
.bwa-facts-section {
	background: var(--bwa-bg-soft);
}

.bwa-facts-top {
	display: grid;
	grid-template-columns: 0.72fr 2.28fr;
	gap: clamp(50px, 8vw, 150px);
	align-items: start;
}

.bwa-facts-message {
	max-width: 1000px;
	font-size: clamp(31px, 3.35vw, 64px);
	font-weight: 650;
	line-height: 1.28;
	letter-spacing: -0.06em;
}

.bwa-facts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(100px, 10vw, 190px);
	border-top: 1px solid var(--bwa-line);
	border-left: 1px solid var(--bwa-line);
}

.bwa-fact-item {
	min-height: 270px;
	padding: clamp(30px, 3vw, 55px);
	border-right: 1px solid var(--bwa-line);
	border-bottom: 1px solid var(--bwa-line);
	transition:
		background 0.45s ease,
		transform 0.6s cubic-bezier(.19, 1, .22, 1);
}

.bwa-fact-item:hover {
	position: relative;
	z-index: 2;
	background: var(--bwa-paper);
	transform: translateY(-8px);
}

.bwa-fact-label {
	display: block;
	margin-bottom: 65px;
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.bwa-fact-item strong {
	display: block;
	margin-bottom: 17px;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(22px, 1.65vw, 32px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.045em;
}

.bwa-fact-item p {
	max-width: 330px;
	color: #666661;
	font-size: 14px;
	line-height: 1.75;
}


/* =========================================================
   FINAL CTA
========================================================= */
.bwa-final {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background: #080808;
	color: #fff;
}

.bwa-final-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100vh;
	min-height: 100svh;
	padding:
		clamp(45px, 5vw, 90px)
		0
		clamp(34px, 3.6vw, 65px);
}

.bwa-final-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 35px;
}

.bwa-final-smallcopy {
	color: rgba(255, 255, 255, 0.45);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.07em;
	text-align: right;
}

.bwa-final-content {
	position: relative;
	z-index: 2;
	padding: clamp(90px, 9vh, 140px) 0;
}

.bwa-final-eyebrow {
	margin-bottom: clamp(30px, 3vw, 50px) !important;
	color: var(--bwa-accent);
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.bwa-final-title {
	max-width: 1350px;
	font-size: clamp(54px, 6.3vw, 120px);
	font-weight: 650;
	line-height: 1.03;
	letter-spacing: -0.068em;
}

.bwa-final-bottom {
	display: grid;
	grid-template-columns: minmax(400px, 1fr) auto;
	gap: clamp(60px, 10vw, 190px);
	align-items: end;
	margin-top: clamp(70px, 7vw, 120px);
}

.bwa-final-bottom > p {
	max-width: 740px;
	color: rgba(255, 255, 255, 0.6);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.9;
}

.bwa-project-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: clamp(220px, 17vw, 325px);
	aspect-ratio: 1;
	padding: clamp(30px, 2.4vw, 46px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 50%;
	transition:
		color 0.5s ease,
		border-color 0.5s ease,
		transform 0.75s cubic-bezier(.19, 1, .22, 1);
}

.bwa-project-link::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bwa-accent);
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.7s cubic-bezier(.19, 1, .22, 1);
}

.bwa-project-link:hover {
	border-color: var(--bwa-accent);
	transform: rotate(-7deg);
}

.bwa-project-link:hover::before {
	transform: scale(1);
}

.bwa-project-link-text,
.bwa-project-link-arrow {
	position: relative;
	z-index: 1;
}

.bwa-project-link-text {
	align-self: flex-end;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(16px, 1.25vw, 24px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.04em;
}

.bwa-project-link-arrow {
	align-self: flex-start;
	font-family: "Montserrat", sans-serif;
	font-size: 25px;
	transition: transform 0.5s cubic-bezier(.19, 1, .22, 1);
}

.bwa-project-link:hover .bwa-project-link-arrow {
	transform: rotate(45deg);
}

.bwa-final-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.17);
	color: rgba(255, 255, 255, 0.38);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.bwa-final-footer span:nth-child(2) {
	text-align: center;
}

.bwa-final-circle {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	pointer-events: none;
}

.bwa-final-circle-01 {
	top: -25vw;
	right: -15vw;
	width: 60vw;
	height: 60vw;
}

.bwa-final-circle-02 {
	bottom: -30vw;
	left: -15vw;
	width: 54vw;
	height: 54vw;
}

.bwa-final-circle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px;
	height: 150%;
	background: rgba(255, 255, 255, 0.05);
	transform: translate(-50%, -50%) rotate(45deg);
}


/* =========================================================
   REVEAL ANIMATION
   화면을 벗어나면 클래스가 제거되어 재진입 시 다시 실행
========================================================= */
.bwa-about [data-bwa-reveal] {
	transition-delay: var(--bwa-delay, 0ms);
	will-change: transform, opacity;
}

.bwa-about [data-bwa-reveal="fade"] {
	opacity: 0;
	transition:
		opacity 1s ease var(--bwa-delay, 0ms);
}

.bwa-about [data-bwa-reveal="fade-up"] {
	opacity: 0;
	transform: translate3d(0, 45px, 0);
	transition:
		opacity 1s ease var(--bwa-delay, 0ms),
		transform 1.15s cubic-bezier(.19, 1, .22, 1) var(--bwa-delay, 0ms);
}

.bwa-about [data-bwa-reveal="fade-right"] {
	opacity: 0;
	transform: translate3d(-55px, 0, 0);
	transition:
		opacity 1s ease var(--bwa-delay, 0ms),
		transform 1.2s cubic-bezier(.19, 1, .22, 1) var(--bwa-delay, 0ms);
}

.bwa-about [data-bwa-reveal="scale"] {
	opacity: 0;
	transform: scale(0.74) rotate(-7deg);
	transition:
		opacity 1s ease var(--bwa-delay, 0ms),
		transform 1.3s cubic-bezier(.19, 1, .22, 1) var(--bwa-delay, 0ms);
}

.bwa-about [data-bwa-reveal="title"] {
	opacity: 0;
	transform: translate3d(0, 115%, 0) rotate(1.5deg);
	transform-origin: left bottom;
	transition:
		opacity 1s ease var(--bwa-delay, 0ms),
		transform 1.25s cubic-bezier(.19, 1, .22, 1) var(--bwa-delay, 0ms);
}

.bwa-about [data-bwa-reveal="card"] {
	opacity: 0;
	transform: translate3d(0, 65px, 0) scale(0.97);
	transition:
		opacity 1s ease var(--bwa-delay, 0ms),
		transform 1.15s cubic-bezier(.19, 1, .22, 1) var(--bwa-delay, 0ms),
		background 0.6s ease,
		color 0.5s ease;
}

.bwa-about [data-bwa-reveal].is-bwa-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1) rotate(0);
}


/* =========================================================
   KEYFRAMES
========================================================= */
@keyframes bwaScrollLine {
	0% {
		top: -100%;
	}

	50% {
		top: 45%;
	}

	100% {
		top: 120%;
	}
}

@keyframes bwaOrbit {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}


/* =========================================================
   NOTEBOOK
========================================================= */
@media (max-width: 1450px) {
	.bwa-flow-item {
		min-height: 430px;
	}

	.bwa-capability-card {
		min-height: 480px;
	}
}


/* =========================================================
   TABLET
========================================================= */
@media (max-width: 1100px) {
	.bwa-container {
		width: calc(100% - 80px);
	}

	.bwa-section {
		padding: 130px 0;
	}

	.bwa-hero-title {
		font-size: clamp(58px, 9.5vw, 104px);
	}

	.bwa-hero-bottom {
		gap: 55px;
	}

	.bwa-hero-intro {
		width: 62%;
		gap: 32px;
	}

	.bwa-scroll-guide {
		display: none;
	}

	.bwa-heading-grid,
	.bwa-section-head,
	.bwa-facts-top {
		grid-template-columns: 0.55fr 1.45fr;
		gap: 55px;
	}

	.bwa-intro-editorial {
		grid-template-columns: 0.7fr 1.3fr;
		gap: 65px;
	}

	.bwa-connect-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bwa-connect-flow::before {
		display: none;
	}

	.bwa-flow-item:nth-child(2) {
		border-right: 1px solid var(--bwa-line);
	}

	.bwa-flow-item {
		min-height: 410px;
	}

	.bwa-connect-result {
		grid-template-columns: 0.4fr 1.6fr;
	}

	.bwa-connect-result strong {
		grid-column: 2;
	}

	.bwa-capability-heading {
		grid-template-columns: 1.2fr 0.8fr;
		gap: 65px;
	}

	.bwa-capability-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bwa-why-layout {
		grid-template-columns: 0.8fr 1.2fr;
		gap: 70px;
	}

	.bwa-facts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 760px) {
	.bwa-about {
		word-break: keep-all;
	}

	.bwa-container {
		width: calc(100% - 40px);
	}

	.bwa-page-grid {
		display: none;
	}

	.bwa-section {
		padding: 95px 0;
	}

	.bwa-section-label {
		gap: 10px;
		font-size: 9px;
	}

	.bwa-section-label-line {
		width: 22px;
	}

	.bwa-heading-index {
		margin-bottom: 50px;
	}

	.bwa-eyebrow {
		margin-bottom: 20px !important;
	}

	.bwa-section-title,
	.bwa-display-heading {
		font-size: clamp(42px, 12.1vw, 61px);
		line-height: 1.08;
	}

	/* HERO */
	.bwa-hero {
		min-height: 820px;
	}

	.bwa-hero-inner {
		min-height: 820px;
		padding: 112px 0 35px;
	}

	.bwa-hero-sidecopy {
		display: none;
	}

	.bwa-hero-title-wrap {
		padding: 70px 0 55px;
	}

	.bwa-hero-title-wrap::before,
	.bwa-hero-title-wrap::after {
		display: none;
	}

	.bwa-hero-kicker {
		margin-bottom: 16px !important;
		font-size: 9px;
	}

	.bwa-hero-title {
		font-size: clamp(43px, 12.7vw, 68px);
		line-height: 1;
		text-align: left;
	}

	.bwa-title-line-bottom {
		margin-top: 7px;
	}

	.bwa-hero-symbol {
		right: -15px;
		bottom: 8px;
		width: 104px;
		opacity: 0.5;
	}

	.bwa-hero-bottom {
		display: block;
	}

	.bwa-hero-slogan {
		max-width: 330px;
		margin-bottom: 42px !important;
		font-size: 27px;
	}

	.bwa-hero-intro {
		display: block;
		width: 100%;
		font-size: 13px;
		line-height: 1.8;
	}

	.bwa-hero-intro p + p {
		margin-top: 28px;
	}

	.bwa-hero-intro strong {
		margin-bottom: 10px;
		font-size: 17px;
		line-height: 1.5;
	}

	.bwa-orbit-01 {
		top: -120px;
		right: -180px;
		width: 430px;
		height: 430px;
	}

	.bwa-orbit-02 {
		bottom: -170px;
		left: -190px;
		width: 390px;
		height: 390px;
	}
	/* COMMON GRID */
	.bwa-heading-grid,
	.bwa-section-head,
	.bwa-facts-top {
		display: block;
	}

	/* INTRO */
	.bwa-intro-editorial {
		display: block;
		margin-top: 75px;
		padding-top: 60px;
	}

	.bwa-intro-quote {
		margin-bottom: 70px;
	}

	.bwa-intro-quote p {
		font-size: 31px;
	}

	.bwa-intro-copy-lead {
		margin-bottom: 40px !important;
		font-size: 22px;
	}

	.bwa-intro-columns {
		display: block;
		font-size: 14px;
	}

	.bwa-intro-columns p + p {
		margin-top: 27px;
	}

	/* CONNECT */
	.bwa-connect-flow {
		display: block;
		margin-top: 70px;
		border-left: 1px solid var(--bwa-line);
		border-right: 1px solid var(--bwa-line);
	}

	.bwa-flow-item {
		min-height: auto;
		padding: 28px 24px 45px;
		border-right: 0 !important;
		border-bottom: 1px solid var(--bwa-line);
		border-left: 0;
	}

	.bwa-flow-item:last-child {
		border-bottom: 0;
	}

	.bwa-flow-item:hover {
		transform: none;
	}

	.bwa-flow-icon {
		margin: 33px 0 42px;
	}

	.bwa-flow-item h3 {
		font-size: 34px;
	}

	.bwa-flow-item strong {
		margin-bottom: 20px;
	}

	.bwa-connect-result {
		display: block;
		padding-top: 55px;
	}

	.bwa-connect-result-label {
		margin-bottom: 25px;
	}

	.bwa-connect-result p {
		font-size: 20px;
	}

	.bwa-connect-result strong {
		display: block;
		margin-top: 27px;
		font-size: 15px;
	}

	/* CAPABILITIES */
	.bwa-capability-heading {
		display: block;
	}

	.bwa-capability-heading .bwa-heading-index {
		margin-bottom: 50px;
	}

	.bwa-capability-intro {
		margin-top: 45px;
		font-size: 14px;
	}

	.bwa-capability-grid {
		display: block;
		margin-top: 70px;
		border-top: 1px solid var(--bwa-light-line);
	}

	.bwa-capability-card {
		min-height: 430px;
		border-left: 1px solid var(--bwa-light-line);
	}

	.bwa-capability-card:hover {
		transform: none;
	}

	.bwa-capability-card h3 {
		margin-top: 75px;
		font-size: 39px;
	}

	/* WHY */
	.bwa-why-layout {
		display: block;
		margin-top: 75px;
	}

	.bwa-why-statement {
		position: relative;
		top: auto;
		margin-bottom: 80px;
	}

	.bwa-why-statement > p {
		font-size: 30px;
	}

	.bwa-why-item {
		grid-template-columns: 40px 1fr;
		gap: 12px;
		padding: 48px 0;
	}

	.bwa-why-item h3 {
		font-size: 23px;
	}

	.bwa-why-description {
		font-size: 14px;
	}

	/* FACTS */
	.bwa-facts-message {
		font-size: 29px;
	}

	.bwa-facts-grid {
		display: block;
		margin-top: 70px;
	}

	.bwa-fact-item {
		min-height: 230px;
		padding: 30px 25px;
	}

	.bwa-fact-item:hover {
		transform: none;
	}

	.bwa-fact-label {
		margin-bottom: 52px;
	}

	/* FINAL */
	.bwa-final {
		min-height: 840px;
	}

	.bwa-final-inner {
		min-height: 840px;
		padding: 30px 0 28px;
	}

	.bwa-final-smallcopy {
		display: none;
	}

	.bwa-final-content {
		padding: 85px 0 70px;
	}

	.bwa-final-title {
		font-size: clamp(42px, 11.8vw, 60px);
		line-height: 1.08;
	}

	.bwa-final-bottom {
		display: block;
		margin-top: 60px;
	}

	.bwa-final-bottom > p {
		font-size: 14px;
	}

	.bwa-project-link {
		width: 220px;
		margin: 55px 0 0 auto;
		padding: 31px;
	}

	.bwa-final-footer {
		align-items: flex-end;
		font-size: 7px;
	}

	.bwa-final-footer span:nth-child(2) {
		display: none;
	}

	.bwa-final-circle-01 {
		top: -80px;
		right: -170px;
		width: 440px;
		height: 440px;
	}

	.bwa-final-circle-02 {
		bottom: -170px;
		left: -180px;
		width: 430px;
		height: 430px;
	}
}


/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 380px) {
	.bwa-container {
		width: calc(100% - 32px);
	}

	.bwa-hero {
		min-height: 850px;
	}

	.bwa-hero-inner {
		min-height: 850px;
	}

	.bwa-hero-title {
		font-size: 43px;
	}

	.bwa-section-title,
	.bwa-display-heading {
		font-size: 40px;
	}

	.bwa-final-title {
		font-size: 40px;
	}
}


/* =========================================================
   REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {
	.bwa-about *,
	.bwa-about *::before,
	.bwa-about *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	.bwa-about [data-bwa-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* =========================================================
   BRANDWAY ABOUT : STABILITY OVERRIDES
========================================================= */
@media (min-width: 761px) {
	.bwa-about .bwa-hero,
	.bwa-about .bwa-hero-inner {
		height: auto;
	}

	.bwa-about .bwa-hero-inner {
		width: min(
			var(--bwa-container),
			calc(100% - clamp(40px, 8.35vw, 160px))
		);
	}
}

@media (max-width: 760px) {
	.bwa-about .bwa-hero,
	.bwa-about .bwa-hero-inner {
		height: auto;
		min-height: 820px;
	}
}

/* ABOUT 첫 화면은 JS 실행 전에도 기본 배경과 구조가 보이도록 보정 */
.bwa-about {
	min-height: 100vh;
	background: #f1f1ee;
	color: #111;
}

/* 번역 도구가 문장에 임시 span을 넣어도 제목 레이아웃 유지 */
.bwa-about .bwa-title-mask,
.bwa-about .bwa-title-line,
.bwa-about [data-bwa-reveal="title"] {
	max-width: 100%;
}


/* =========================================================
   INDEX GNB — 스크롤 시 상단 중앙 정렬
========================================================= */
@media (min-width: 1181px) {

	.bw-global-side-nav {
		transition:
			top 0.55s cubic-bezier(.19, 1, .22, 1),
			left 0.55s cubic-bezier(.19, 1, .22, 1),
			transform 0.55s cubic-bezier(.19, 1, .22, 1),
			opacity 0.35s ease,
			color 0.35s ease;
	}

	/*
	 * 중요:
	 * +가 아니라 ~를 사용해야 함
	 */
	.bw-global-header.is-scrolled ~ .bw-global-side-nav {
		position: fixed;
		top: 25px;
		right: auto;
		left: 50%;
		z-index: 10025;
		width: auto;
		height: auto;
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%);
		pointer-events: auto;
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav ul {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: clamp(25px, 2.4vw, 46px);
		width: max-content;
		margin: 0;
		padding: 0;
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav li {
		display: block;
		margin: 0;
		padding: 0;
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav a {
		position: relative;
		display: inline-flex;
		align-items: center;
		width: auto;
		padding: 11px 0;
		color: inherit;
		font-family: "Montserrat", sans-serif;
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.08em;
		white-space: nowrap;
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav a::before {
		display: none;
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav a::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 2px;
		left: 0;
		height: 1px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: right center;
		transition:
			transform 0.45s cubic-bezier(.19, 1, .22, 1);
	}

	.bw-global-header.is-scrolled ~ .bw-global-side-nav a:hover::after {
		transform: scaleX(1);
		transform-origin: left center;
	}

	.bw-global-header.is-menu-open ~ .bw-global-side-nav {
		opacity: 0 !important;
		visibility: hidden;
		pointer-events: none;
	}
}



/* =========================================================
   INDEX 중앙 GNB 색상 동기화
========================================================= */
@media (min-width: 1181px) {

	/* 어두운 헤더에서는 흰색 메뉴 */
	.bw-global-header.is-scrolled:not(.is-light)
	~ .bw-global-side-nav {
		color: #fff !important;
	}

	.bw-global-header.is-scrolled:not(.is-light)
	~ .bw-global-side-nav a {
		color: #fff !important;
	}

	/* 밝은 헤더에서는 검은색 메뉴 */
	.bw-global-header.is-scrolled.is-light
	~ .bw-global-side-nav {
		color: #111 !important;
	}

	.bw-global-header.is-scrolled.is-light
	~ .bw-global-side-nav a {
		color: #111 !important;
	}

	/* 중앙 메뉴를 헤더 위에 확실하게 노출 */
	.bw-global-header.is-scrolled
	~ .bw-global-side-nav {
		z-index: 10030 !important;
	}

	/* 기존 좌측 메뉴의 활성 선 제거 */
	.bw-global-header.is-scrolled
	~ .bw-global-side-nav a.is-current {
		padding-left: 0 !important;
	}

	.bw-global-header.is-scrolled
	~ .bw-global-side-nav a.is-current::before {
		display: none !important;
	}
}




/* =========================================================
   BRANDWAY PORTFOLIO — PAGE BASE
========================================================= */
.bwpf-page,
.bwpf-page * {
	box-sizing: border-box;
}

.bwpf-page {
	--bwpf-bg: #f2f2ef;
	--bwpf-paper: #fafaf8;
	--bwpf-ink: #111;
	--bwpf-muted: #666660;
	--bwpf-line: rgba(17, 17, 17, 0.15);
	--bwpf-orange: #ff4b2b;
	--bwpf-mint: #52e5d1;
	--bwpf-dark: #090909;
	--bwpf-container: 1520px;
	position: relative;
	width: 100%;
	min-width: 0;
	overflow: clip;
	background: var(--bwpf-bg);
	color: var(--bwpf-ink);
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: -0.025em;
	word-break: keep-all;
	isolation: isolate;
}

.bwpf-page h1,
.bwpf-page h2,
.bwpf-page h3,
.bwpf-page p,
.bwpf-page ul {
	margin: 0;
	padding: 0;
}

.bwpf-page ul { list-style: none; }
.bwpf-page button { font: inherit; }

.bwpf-container {
	position: relative;
	width: min(var(--bwpf-container), calc(100% - clamp(42px, 8.35vw, 160px)));
	margin: 0 auto;
}

.bwpf-grid-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background-image: linear-gradient(
		90deg,
		transparent calc(25% - .5px), rgba(0,0,0,.032) 25%, transparent calc(25% + .5px),
		transparent calc(50% - .5px), rgba(0,0,0,.032) 50%, transparent calc(50% + .5px),
		transparent calc(75% - .5px), rgba(0,0,0,.032) 75%, transparent calc(75% + .5px)
	);
	background-size: min(var(--bwpf-container), calc(100% - 160px)) 100%;
	background-position: center top;
	background-repeat: no-repeat;
}

.bwpf-noise {
	position: absolute;
	inset: 0;
	z-index: 30;
	opacity: .016;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.82'/%3E%3C/svg%3E");
}

.bwpf-mask {
	display: block;
	overflow: hidden;
	padding: .08em .06em .12em;
	margin: -.08em -.06em -.12em;
}

.bwpf-label,
.bwpf-section-index {
	display: flex;
	align-items: center;
	gap: 13px;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.bwpf-label span,
.bwpf-section-index span { color: var(--bwpf-orange); }
.bwpf-label i { width: 38px; height: 1px; background: currentColor; opacity: .4; }
.bwpf-section-index { align-items: flex-start; }
.bwpf-section-index p { color: var(--bwpf-muted); }
.bwpf-section-index.is-light p { color: rgba(255,255,255,.5); }

/* =========================================================
   HERO
========================================================= */
.bwpf-hero {
	position: relative;
	min-height: clamp(780px, 88vh, 980px);
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 25%, rgba(82,229,209,.13), transparent 29%),
		linear-gradient(135deg, #f7f7f4 0%, #ededE9 55%, #fafaf8 100%);
}

.bwpf-hero__inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: clamp(780px, 88vh, 980px);
	padding: clamp(138px, 13vh, 172px) 0 clamp(45px, 4.8vw, 78px);
}

.bwpf-hero__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
}

.bwpf-hero__meta {
	color: rgba(17,17,17,.48);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: .06em;
	text-align: right;
}

.bwpf-hero__content { position: relative; padding: clamp(45px, 6vh, 90px) 0; }
.bwpf-hero__eyebrow {
	margin-bottom: 18px !important;
	color: var(--bwpf-orange);
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
}

.bwpf-hero__title {
	max-width: 1320px;
	font-size: clamp(60px, 7vw, 132px);
	font-weight: 690;
	line-height: .98;
	letter-spacing: -.072em;
}

.bwpf-hero__title em {
	color: transparent;
	font-style: normal;
	-webkit-text-stroke: 1.5px var(--bwpf-ink);
	text-stroke: 1.5px var(--bwpf-ink);
}

.bwpf-hero__bottom {
	display: grid;
	grid-template-columns: minmax(300px, .82fr) minmax(650px, 1.55fr);
	gap: clamp(70px, 10vw, 190px);
	align-items: end;
}

.bwpf-hero__statement {
	font-size: clamp(29px, 2.25vw, 43px);
	font-weight: 680;
	line-height: 1.25;
	letter-spacing: -.055em;
}

.bwpf-hero__copy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(36px, 4vw, 70px);
	color: var(--bwpf-muted);
	font-size: clamp(14px, .95vw, 18px);
	line-height: 1.85;
}

.bwpf-hero__copy strong {
	display: block;
	margin-bottom: 12px;
	color: var(--bwpf-ink);
	font-size: clamp(18px, 1.18vw, 23px);
	font-weight: 650;
	line-height: 1.5;
}

.bwpf-orbit { position: absolute; border: 1px solid rgba(17,17,17,.07); border-radius: 50%; pointer-events: none; }
.bwpf-orbit--one { top: -20vw; right: -12vw; width: 54vw; height: 54vw; animation: bwpfOrbit 28s linear infinite; }
.bwpf-orbit--two { bottom: -25vw; left: -16vw; width: 45vw; height: 45vw; animation: bwpfOrbit 34s linear infinite reverse; }
.bwpf-orbit::before { content:""; position:absolute; top:50%; left:-4px; width:8px; height:8px; border-radius:50%; background:var(--bwpf-orange); }

.bwpf-crosshair {
	position: absolute;
	right: 14%;
	top: 48%;
	width: 128px;
	height: 128px;
	border: 1px solid rgba(17,17,17,.13);
	border-radius: 50%;
	transform: translateY(-50%);
}
.bwpf-crosshair::before,
.bwpf-crosshair::after { content:""; position:absolute; top:50%; left:50%; background:var(--bwpf-orange); transform:translate(-50%,-50%); }
.bwpf-crosshair::before { width: 180%; height: 1px; }
.bwpf-crosshair::after { width: 1px; height: 180%; }
.bwpf-crosshair span { position:absolute; inset:30%; border-radius:50%; background:var(--bwpf-orange); }

/* =========================================================
   PROJECT GRID
========================================================= */
.bwpf-projects {
	position: relative;
	padding: clamp(105px, 9vw, 175px) 0 clamp(120px, 10vw, 200px);
	background: var(--bwpf-paper);
}

.bwpf-projects__head {
	display: grid;
	grid-template-columns: minmax(180px, .72fr) minmax(600px, 2.28fr);
	gap: clamp(50px, 8vw, 150px);
	align-items: start;
	margin-bottom: clamp(75px, 7.5vw, 135px);
}

.bwpf-projects__intro h2 {
	margin-bottom: 23px;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(46px, 5vw, 96px);
	font-weight: 760;
	line-height: 1;
	letter-spacing: -.07em;
}

.bwpf-projects__intro p {
	max-width: 780px;
	color: var(--bwpf-muted);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.9;
}

.bwpf-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 1.7vw, 32px);
}

.bwpf-card,
.bwpf-more-cell {
	position: relative;
	min-width: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #111;
}


.bwpf-card__media { position: absolute; inset: 0; overflow: hidden; background: #111; }
.bwpf-card__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(1) brightness(1);
	transform: scale(1.01);
	transition:
		filter .65s ease,
		transform 1.1s cubic-bezier(.19,1,.22,1);
}

.bwpf-card__shade {
	position: absolute;
	inset: 0;
	opacity: 0;
	background:
		linear-gradient(
			180deg,
			rgba(0,0,0,.08) 0%,
			rgba(0,0,0,.18) 38%,
			rgba(0,0,0,.78) 100%
		),
		linear-gradient(
			90deg,
			rgba(0,0,0,.56),
			transparent 64%
		);
	transition: opacity .5s ease;
}

.bwpf-card__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: clamp(25px, 3vw, 52px);
	color: #fff;
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	pointer-events: none;
	transition:
		opacity .45s ease,
		transform .65s cubic-bezier(.19,1,.22,1);
}

.bwpf-card__number {
	position: absolute;
	top: clamp(22px, 2.3vw, 40px);
	right: clamp(22px, 2.3vw, 40px);
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	color: rgba(255,255,255,.66);
}

.bwpf-card h3 {
	font-size: clamp(29px, 2.25vw, 45px);
	font-weight: 760;
	line-height: 1.08;
	letter-spacing: -.055em;
	text-shadow: 0 3px 20px rgba(0,0,0,.28);
}

.bwpf-card__content > p {
	margin-top: 6px;
	color: rgba(255,255,255,.84);
	font-size: clamp(15px, 1.12vw, 22px);
	font-weight: 600;
}

.bwpf-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: clamp(22px, 2.5vw, 38px) !important;
}

.bwpf-card__tags li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 18px;
	border: 1.5px solid rgba(255,255,255,.82);
	border-radius: 999px;
	font-size: clamp(11px, .78vw, 14px);
	font-weight: 650;
	line-height: 1;
	white-space: nowrap;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.bwpf-card__play {
	display: none;
}

/*
 * 최초 상태에서는 영상만 보입니다.
 * PC hover 또는 모바일 자동재생 상태에서만
 * 검정 오버레이와 프로젝트 정보가 나타납니다.
 */
.bwpf-card:hover .bwpf-card__media video,
.bwpf-card.is-playing .bwpf-card__media video {
	filter: saturate(1.04) brightness(.88);
	transform: scale(1.055);
}

.bwpf-card:hover .bwpf-card__shade,
.bwpf-card.is-playing .bwpf-card__shade {
	opacity: 1;
}

.bwpf-card:hover .bwpf-card__content,
.bwpf-card.is-playing .bwpf-card__content {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.bwpf-more-cell {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(34px, 4vw, 68px);
	border: 1px solid var(--bwpf-line);
	background:
		radial-gradient(circle at 82% 22%, rgba(82,229,209,.25), transparent 35%),
		var(--bwpf-bg);
}
.bwpf-more-cell p { max-width: 480px; color: var(--bwpf-muted); font-size: clamp(15px, 1vw, 18px); line-height: 1.8; }
.bwpf-more-cell p strong { display:block; margin-bottom: 18px; color:var(--bwpf-ink); font-family:"Montserrat",sans-serif; font-size:clamp(29px,2.3vw,45px); line-height:1; letter-spacing:-.055em; }

.bwpf-more-button,
.bwpf-contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 74px;
	padding: 0 24px;
	border: 1px solid var(--bwpf-ink);
	background: var(--bwpf-mint);
	color: var(--bwpf-ink);
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 760;
	letter-spacing: .08em;
	cursor: pointer;
	transition: background .35s ease, color .35s ease, transform .45s cubic-bezier(.19,1,.22,1);
}
.bwpf-more-button:hover,
.bwpf-more-button:focus-visible,
.bwpf-contact:hover,
.bwpf-contact:focus-visible { background:var(--bwpf-ink); color:#fff; transform:translateY(-5px); }
.bwpf-more-button i,
.bwpf-contact i { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; font-size:17px; font-style:normal; }

.bwpf-after-more { padding-top: 35px; text-align: center; }
.bwpf-after-more p { color: var(--bwpf-muted); font-family:"Montserrat",sans-serif; font-size:9px; font-weight:700; letter-spacing:.13em; }

/* =========================================================
   CLOSING
========================================================= */
.bwpf-closing { position:relative; min-height:780px; overflow:hidden; background:var(--bwpf-dark); color:#fff; }
.bwpf-closing::before { content:""; position:absolute; top:-35vw; right:-20vw; width:70vw; height:70vw; border:1px solid rgba(255,255,255,.07); border-radius:50%; }
.bwpf-closing__inner { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(600px,2.28fr); gap:clamp(50px,8vw,150px); min-height:780px; padding:clamp(125px,11vw,190px) 0; }
.bwpf-closing__eyebrow { margin-bottom:25px !important; color:var(--bwpf-mint); font-family:"Montserrat",sans-serif; font-size:10px; font-weight:700; letter-spacing:.12em; }
.bwpf-closing h2 { max-width:1150px; font-size:clamp(50px,5.5vw,105px); font-weight:650; line-height:1.05; letter-spacing:-.068em; }
.bwpf-closing__bottom { display:grid; grid-template-columns:minmax(400px,1fr) minmax(260px,360px); gap:clamp(60px,9vw,160px); align-items:end; margin-top:clamp(70px,7vw,120px); }
.bwpf-closing__bottom > p { color:rgba(255,255,255,.58); font-size:clamp(14px,.95vw,18px); line-height:1.9; }

/* =========================================================
   REVEAL
========================================================= */
.bwpf-page [data-bwpf-reveal] { transition-delay: var(--bwpf-delay, 0ms); will-change: opacity, transform; }
.bwpf-page [data-bwpf-reveal="up"] { opacity:0; transform:translate3d(0,42px,0); transition:opacity .9s ease var(--bwpf-delay,0ms), transform 1.05s cubic-bezier(.19,1,.22,1) var(--bwpf-delay,0ms); }
.bwpf-page [data-bwpf-reveal="left"] { opacity:0; transform:translate3d(-48px,0,0); transition:opacity .9s ease var(--bwpf-delay,0ms), transform 1.1s cubic-bezier(.19,1,.22,1) var(--bwpf-delay,0ms); }
.bwpf-page [data-bwpf-reveal="title"] { display:block; opacity:0; transform:translate3d(0,112%,0) rotate(1deg); transform-origin:left bottom; transition:opacity .9s ease var(--bwpf-delay,0ms), transform 1.18s cubic-bezier(.19,1,.22,1) var(--bwpf-delay,0ms); }
.bwpf-page [data-bwpf-reveal].is-visible { opacity:1; transform:translate3d(0,0,0) rotate(0); }

@keyframes bwpfOrbit { to { transform:rotate(360deg); } }

/* =========================================================
   PORTFOLIO HEADER FALLBACK
   현재 head.sub.php가 portfolio를 서브페이지로 인식하지 않아도 정상 노출
========================================================= */
html.is-bwpf-page .bw-global-side-nav { display:none !important; }
html.is-bwpf-page .bw-global-header { color:#111; }
html.is-bwpf-page .bw-global-header .bw-logo img { filter:none; }

/* =========================================================
   TABLET / MOBILE
========================================================= */
@media (max-width: 1100px) {
	.bwpf-container { width: calc(100% - 72px); }
	.bwpf-hero__bottom { grid-template-columns:.7fr 1.3fr; gap:60px; }
	.bwpf-projects__head,
	.bwpf-closing__inner { grid-template-columns:.55fr 1.45fr; gap:55px; }
	.bwpf-closing__bottom { grid-template-columns:1fr 300px; gap:60px; }
}

@media (max-width: 760px) {
	.bwpf-container { width: calc(100% - 40px); }
	.bwpf-grid-bg { display:none; }

	.bwpf-hero { min-height: 780px; }
	.bwpf-hero__inner { min-height:780px; padding:112px 0 35px; }
	.bwpf-hero__meta { display:none; }
	.bwpf-hero__content { padding:65px 0 50px; }
	.bwpf-hero__title { font-size:clamp(43px,12vw,62px); line-height:1.02; }
	.bwpf-hero__title em { -webkit-text-stroke-width:1px; }
	.bwpf-hero__bottom { display:block; }
	.bwpf-hero__statement { margin-bottom:42px; font-size:26px; }
	.bwpf-hero__copy { display:block; font-size:13px; }
	.bwpf-hero__copy p + p { margin-top:24px; }
	.bwpf-hero__copy strong { font-size:17px; }
	.bwpf-crosshair { right:-15px; top:47%; width:88px; height:88px; opacity:.75; }
	.bwpf-orbit--one { width:430px; height:430px; top:-170px; right:-220px; }
	.bwpf-orbit--two { width:380px; height:380px; bottom:-180px; left:-220px; }

	.bwpf-projects { padding:90px 0 110px; }
	.bwpf-projects__head { display:block; margin-bottom:55px; }
	.bwpf-section-index { margin-bottom:45px; }
	.bwpf-projects__intro h2 { font-size:45px; }
	.bwpf-projects__intro p { font-size:14px; }

	.bwpf-grid { display:block; }

	/* 모바일 프로젝트 영상은 16:9 */
	.bwpf-card {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	/* 모바일에서는 최초 5개만 노출 */
	.bwpf-card.is-more:not(.is-mobile-visible) {
		display: none;
	}

	/* 더보기는 모바일에서만 노출 */
	.bwpf-more-cell {
		display: flex;
		width: 100%;
		min-height: 260px;
		aspect-ratio: auto;
	}
	.bwpf-card + .bwpf-card,
	.bwpf-card + .bwpf-more-cell,
	.bwpf-more-cell + .bwpf-card { margin-top:14px; }
	.bwpf-card__content {
		padding: 18px 18px 20px;
	}

	.bwpf-card h3 {
		font-size: clamp(19px, 5.8vw, 24px);
		line-height: 1.12;
	}

	.bwpf-card__content > p {
		margin-top: 3px;
		font-size: 12px;
	}

	.bwpf-card__tags {
		gap: 6px;
		margin-top: 14px !important;
	}

	.bwpf-card__tags li {
		min-height: 28px;
		padding: 0 11px;
		font-size: 9px;
	}

	.bwpf-card__number {
		top: 16px;
		right: 16px;
	}

	.bwpf-more-cell {
		padding: 28px 22px;
	}
	.bwpf-more-cell p strong { font-size:34px; }
	.bwpf-more-button { min-height:62px; }

	.bwpf-closing { min-height:760px; }
	.bwpf-closing__inner { display:block; min-height:760px; padding:105px 0 80px; }
	.bwpf-closing__content { margin-top:70px; }
	.bwpf-closing h2 { font-size:clamp(40px,11vw,56px); }
	.bwpf-closing__bottom { display:block; margin-top:55px; }
	.bwpf-closing__bottom > p { font-size:14px; }
	.bwpf-contact { margin-top:42px; min-height:62px; }
}

@media (max-width: 380px) {
	.bwpf-container { width:calc(100% - 32px); }
	.bwpf-hero__title { font-size:40px; }
	.bwpf-card h3 { font-size:21px; }
}

@media (prefers-reduced-motion: reduce) {
	.bwpf-page *,
	.bwpf-page *::before,
	.bwpf-page *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
	.bwpf-page [data-bwpf-reveal] { opacity:1 !important; transform:none !important; }
}