:root {
	color-scheme: light;
	font-family: "PMingLiU", "MingLiU", "Noto Serif TC", "Songti TC", "Noto Serif CJK TC", "Times New Roman", serif;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }

html { min-width: 320px; min-height: 100%; background: #21070b; }

body.aurone-line-entry {
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	min-height: 100svh;
	margin: 0;
	padding: max(20px, env(safe-area-inset-top)) clamp(15px, 2vw, 34px) max(20px, env(safe-area-inset-bottom));
	color: #2d1718;
	background-color: #21070b;
	background-image: linear-gradient(90deg, rgba(22, 4, 8, .08), rgba(28, 5, 9, .1)), var(--aurone-scene);
	background-position: center;
	background-size: auto, cover;
	background-repeat: no-repeat;
}

body.aurone-line-entry::before {
	position: fixed;
	z-index: -1;
	inset: 0;
	content: "";
	background: radial-gradient(ellipse at center, rgba(30, 7, 10, .03) 0%, rgba(24, 4, 7, .2) 100%);
	pointer-events: none;
}

.scene-note {
	position: fixed;
	z-index: 0;
	display: flex;
	flex-direction: column;
	color: #e7d29b;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .31em;
	line-height: 1.9;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
	white-space: nowrap;
}

.scene-note i {
	width: 27px;
	height: 1px;
	margin-top: 12px;
	background: #cfaa5e;
}

.scene-note--left-top { top: 7.1%; left: 5.1%; }
.scene-note--right-top { top: 7.1%; right: 5.0%; }
.scene-note--left-bottom { bottom: 7.1%; left: 5.1%; }
.scene-note--right-bottom { right: 5.0%; bottom: 7.1%; }

.entry-shell {
	position: relative;
	z-index: 1;
	width: min(100%, 860px);
	min-height: calc(100vh - 40px);
	min-height: calc(100svh - 40px);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.7vh, 28px);
}

.brand-lockup {
	width: 100%;
	text-align: center;
	color: #e3bc69;
	flex: 0 0 auto;
}

.brand-mark-wrap {
	position: relative;
	display: block;
	width: clamp(72px, 5vw, 86px);
	aspect-ratio: 1;
	overflow: hidden;
	margin: 0 auto 7px;
}

.brand-mark {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.brand-name {
	padding-left: .25em;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(46px, 3.6vw, 58px);
	font-weight: 400;
	letter-spacing: .33em;
	line-height: 1.08;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .2);
}

.brand-divider,
.card-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
}

.brand-divider { margin: 11px auto 10px; }
.brand-divider span,
.card-divider span { width: 42px; height: 1px; background: #bd904e; }
.brand-divider i,
.card-divider i { width: 5px; height: 5px; background: #d5aa60; transform: rotate(45deg); }

.brand-tagline {
	margin: 0;
	color: #ead7a5;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 10px;
	letter-spacing: .36em;
	line-height: 1.6;
}

.entry-card {
	position: relative;
	width: min(100%, 770px);
	min-height: min(66vh, 626px);
	padding: clamp(42px, 5.7vh, 58px) clamp(28px, 4vw, 62px) clamp(38px, 5vh, 54px);
	border: 1px solid #bc914e;
	border-radius: 24px;
	outline: 1px solid rgba(250, 237, 213, .78);
	outline-offset: 4px;
	background: rgba(250, 246, 237, .975);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .3), inset 0 0 0 1px rgba(190, 149, 76, .12);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.line-mark {
	width: clamp(78px, 5.7vw, 92px);
	height: clamp(78px, 5.7vw, 92px);
	margin: 0 auto clamp(18px, 2.3vh, 23px);
	filter: drop-shadow(0 7px 9px rgba(6, 130, 66, .16));
	flex: 0 0 auto;
}

.line-mark svg { display: block; width: 100%; height: 100%; }

.entry-card h1 {
	margin: 0;
	color: #2c1517;
	font-size: clamp(48px, 5vw, 70px);
	font-family: "PMingLiU", "MingLiU", "Noto Serif TC", "Songti TC", serif;
	font-weight: 400;
	letter-spacing: .045em;
	line-height: 1.2;
	-webkit-text-stroke: .45px currentColor;
	text-wrap: balance;
}

.card-divider { margin: clamp(19px, 2.7vh, 27px) auto; }
.card-divider span { width: 62px; }

.offer-copy {
	margin: 0 0 clamp(28px, 3.5vh, 36px);
	color: #3e2826;
	font-family: "PMingLiU", "MingLiU", "Noto Serif TC", "Songti TC", serif;
	font-size: clamp(24px, 2.25vw, 34px);
	letter-spacing: .08em;
	line-height: 1.5;
	text-wrap: balance;
}

.line-cta {
	min-height: 106px;
	width: min(100%, 655px);
	margin: 0 auto;
	padding: 23px clamp(20px, 4vw, 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	border: 1px solid #45b74c;
	border-radius: 999px;
	background: linear-gradient(180deg, #12c957 0%, #00b84e 100%);
	box-shadow: 0 12px 22px rgba(0, 126, 58, .25), inset 0 1px 0 rgba(255, 255, 255, .28);
	color: #fff;
	font-family: "PMingLiU", "MingLiU", "Noto Serif TC", "Songti TC", serif;
	font-size: clamp(25px, 2.5vw, 33px);
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.35;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
	-webkit-tap-highlight-color: transparent;
}

.line-cta svg { width: 25px; height: 25px; flex: 0 0 auto; }
.line-cta:hover { transform: translateY(-2px); filter: saturate(1.08); box-shadow: 0 15px 27px rgba(0, 126, 58, .31), inset 0 1px 0 rgba(255, 255, 255, .32); }
.line-cta:active { transform: translateY(0); }
.line-cta:focus-visible { outline: 3px solid #2c1517; outline-offset: 5px; }

.mobile-hint {
	margin: clamp(19px, 2.4vh, 24px) 0 0;
	color: #67504a;
	font-family: "PMingLiU", "MingLiU", "Noto Serif TC", "Songti TC", serif;
	font-size: clamp(19px, 1.8vw, 24px);
	letter-spacing: .035em;
	line-height: 1.55;
}

@media (min-width: 801px) {
	.entry-card { width: min(48.5vw, 770px); }
}

@media (min-width: 601px) and (max-aspect-ratio: 5 / 3) {
	body.aurone-line-entry { background-size: auto, contain; }
}

@media (max-width: 900px) {
	.scene-note { display: none; }
}

@media (max-width: 600px) {
	body.aurone-line-entry {
		padding: max(18px, env(safe-area-inset-top)) 15px max(18px, env(safe-area-inset-bottom));
		background-position: center;
	}
	.entry-shell { min-height: calc(100svh - 36px); gap: 15px; }
	.brand-mark-wrap { width: 50px; margin-bottom: 5px; }
	.brand-name { font-size: 29px; letter-spacing: .22em; }
	.brand-divider { margin: 7px auto 5px; }
	.brand-divider span { width: 37px; }
	.brand-tagline { font-size: 8px; letter-spacing: .26em; }
	.entry-card { min-height: 0; padding: 30px 20px 27px; border-radius: 18px; outline-offset: 3px; }
	.line-mark { width: 66px; height: 66px; margin-bottom: 15px; }
	.entry-card h1 { font-size: clamp(35px, 9vw, 46px); letter-spacing: .02em; }
	.card-divider { margin: 16px auto; }
	.card-divider span { width: 42px; }
	.offer-copy { margin-bottom: 23px; font-size: clamp(18px, 5vw, 22px); letter-spacing: .035em; }
	.line-cta { min-height: 68px; padding: 14px 15px; gap: 8px; font-size: clamp(17px, 4.5vw, 20px); }
	.line-cta svg { width: 19px; height: 19px; }
	.mobile-hint { margin-top: 15px; font-size: 15px; letter-spacing: 0; }
}

@media (max-height: 820px) and (min-width: 601px) {
	body.aurone-line-entry { padding-block: 14px; }
	.entry-shell { min-height: calc(100svh - 28px); gap: 14px; }
	.brand-mark-wrap { width: 70px; margin-bottom: 5px; }
	.brand-name { font-size: 40px; letter-spacing: .28em; }
	.brand-divider { margin: 6px auto; }
	.brand-tagline { font-size: 8px; }
	.entry-card { min-height: 0; padding-block: 27px; }
	.line-mark { width: 66px; height: 66px; margin-bottom: 13px; }
	.entry-card h1 { font-size: clamp(42px, 4.8vw, 58px); }
	.card-divider { margin-block: 15px; }
	.offer-copy { margin-bottom: 19px; font-size: clamp(22px, 2vw, 28px); }
	.line-cta { min-height: 76px; font-size: clamp(22px, 2vw, 28px); }
	.mobile-hint { margin-top: 14px; font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
	.line-cta { transition: none; }
}
