@charset "UTF-8";
:root {
	--base: #6491c5;
	--base-dark: #1A3161;
	--base-light: #B7CDD9;
	--gold: #c8a23a;
	--gold-light: #f0c84a;
	--dark: #1a1a1a;
	--mid: #333;
	--gray: #666;
	--light-gray: #f5f5f5;
	--white: #fff;
	--orange: #FF9933;
	--teal: #1FA6A6;
	--teal-light: #6ED3D3;
	--wine: #8C2F39;
	--wine-light: #B85A66;
	--border: #e0e0e0;
	--shadow: 0 4px 20px rgba(0,0,0,0.12);
	--shadow-lg: 0 8px 40px rgba(0,0,0,0.18);
	--fs-body: clamp(0.875rem, 0.85rem + 0.2vw, 1rem);
	--fs-small: clamp(0.75rem, 0.75rem + 0.15vw, .8rem);
	--fs-regular: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
	--fs-medium: clamp(1.2rem, 1rem + 1vw, 2rem);
	--fs-large: clamp(2rem, 1.5rem + 2vw, 3rem);
}

.pcOnly {
	display: inherit;
}
@media screen and (max-width: 640px) {
	.pcOnly {
		display: none;
	}
}

.spOnly {
	display: none;
}
@media screen and (max-width: 640px) {
	.spOnly {
		display: inherit;
	}
}

* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	font-size: 16px;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	background: #f8f8f8;
	color: var(--dark);
	font-size: var(--fs-body);
	line-height: 1.7;
	letter-spacing: 0.05em;
	text-align: justify;
	text-justify: inter-ideograph;
	line-break: strict;
	word-break: normal;
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}
a:hover {
	-webkit-transform: translateY(-1px);
	        transform: translateY(-1px);
	cursor: pointer;
}

img {
	vertical-align: bottom;
}

/* ===== HEADER ===== */
header {
	background: var(--base-light);
	padding: 10px 16px;
	position: sticky;
	top: 0;
	z-index: 100;
	-webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.header-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	max-width: 900px;
	margin: 0 auto;
}
@media (max-width: 640px) {
	.header-inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}

.site-logo {
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs-medium);
	font-weight: 700;
	color: var(--dark);
	letter-spacing: 0.05em;
}
@media (max-width: 640px) {
	.site-logo {
		margin-bottom: 0.5em;
	}
}
.site-logo span {
	color: var(--wine-light);
}

.sticky-btn {
	background: linear-gradient(135deg, var(--base) 0%, var(--base-dark) 100%);
	color: var(--white);
	font-weight: 900;
	padding: 10px 18px;
	border-radius: 6px;
	white-space: nowrap;
	-webkit-box-shadow: 0 4px 14px rgba(26, 49, 97, 0.4);
	        box-shadow: 0 4px 14px rgba(26, 49, 97, 0.4);
}

.header-cta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1em;
}
@media (max-width: 640px) {
	.header-cta {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}
.header-cta .header-text {
	font-size: var(--fs-small);
}
.header-cta .header-text strong {
	color: var(--wine-light);
	font-weight: 700;
}
.header-cta .header-btn {
	background: linear-gradient(135deg, var(--orange) 0%, var(--gold-light) 100%);
	color: var(--white);
	line-height: 1.5;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	white-space: nowrap;
}
@media (max-width: 640px) {
	.header-cta .header-btn {
		text-align: center;
	}
}

/* ===== HERO ===== */
.hero {
	background: url("../img/hero.png") no-repeat center center;
}
@media (max-width: 640px) {
	.hero {
		background: url("../img/hero_sp.png") no-repeat center center;
	}
}
.hero {
	background-size: cover;
	color: var(--white);
	padding: 36px 16px 40px;
	text-align: center;
	position: relative;
	overflow: hidden;
	z-index: 0;
}
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 0%, rgba(0, 0, 0, 0.35) 0%, transparent 65%);
	pointer-events: none;
	z-index: -1;
}

.hero-badge {
	display: inline-block;
	background: var(--base);
	color: var(--white);
	font-size: var(--fs-small);
	font-weight: 700;
	padding: 4px 16px;
	border-radius: 20px;
	margin-bottom: 14px;
	letter-spacing: 0.08em;
}

.hero-title {
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs-large);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 10px;
	position: relative;
}

.hero-title .accent {
	color: var(--gold-light);
}

.hero-subtitle {
	font-size: var(--fs-regular);
	color: rgb(255, 255, 255);
	margin-bottom: 24px;
	line-height: 1.8;
	font-weight: 700;
}

.hero-features {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 8px;
	margin-bottom: 28px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.hero-feature {
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgb(255, 255, 255);
	color: var(--base);
	font-size: var(--fs-regular);
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 4px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 4px;
}

.hero-feature .icon {
	font-size: var(--fs-regular);
}

.hero-cta-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 8px;
}

.btn-main {
	display: block;
	width: 100%;
	max-width: 480px;
	background: linear-gradient(135deg, var(--orange) 0%, var(--gold-light) 100%);
	color: var(--white);
	font-size: var(--fs-medium);
	font-weight: 900;
	padding: 18px 24px;
	border-radius: 8px;
	text-align: center;
	letter-spacing: 0.05em;
	position: relative;
	border: 2px solid rgba(255, 255, 255, 0.2);
	-webkit-transition: -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
	transition: -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
	transition: transform 0.15s, box-shadow 0.15s;
	transition: transform 0.15s, box-shadow 0.15s, -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
}

.btn-main:hover {
	-webkit-transform: translateY(-2px);
	        transform: translateY(-2px);
	-webkit-box-shadow: 0 8px 32px rgba(26, 49, 97, 0.6);
	        box-shadow: 0 8px 32px rgba(26, 49, 97, 0.6);
}

.btn-main .sub {
	display: block;
	font-weight: 500;
	opacity: 0.85;
	margin-top: 2px;
	font-size: 0.5em;
}

.btn-note {
	color: rgb(255, 255, 255);
}

/* ===== SECTION HEADER ===== */
.section-header {
	text-align: center;
	padding: 36px 16px 20px;
}

.section-label {
	display: inline-block;
	background: var(--base);
	color: var(--white);
	font-weight: 700;
	padding: 3px 12px;
	border-radius: 3px;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}

.section-title {
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs-medium);
	font-weight: 700;
	line-height: 1.5;
	color: var(--dark);
}

.section-title .red {
	color: var(--base);
}

.section-desc {
	color: var(--gray);
	margin-top: 10px;
	line-height: 1.8;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* ===== RANKING CARDS ===== */
.ranking-section {
	background: var(--light-gray);
	padding: 0 0 40px;
}

.ranking-cards {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 16px;
	padding: 0 14px;
	max-width: 720px;
	margin: 0 auto;
}

.rank-card {
	background: var(--white);
	border-radius: 12px;
	overflow: hidden;
	-webkit-box-shadow: var(--shadow);
	        box-shadow: var(--shadow);
	border: 2px solid transparent;
	-webkit-transition: border-color 0.2s;
	transition: border-color 0.2s;
}

.rank-card.rank-1 {
	border-color: var(--gold);
	position: relative;
}

.rank-card.rank-1::before {
	content: "人気No.1";
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--gold);
	color: var(--white);
	font-size: var(--fs-small);
	font-weight: 900;
	padding: 3px 10px;
	border-radius: 20px;
	letter-spacing: 0.05em;
	z-index: 1;
}

.rank-card.rank-2 {
	border-color: #c0c0c0;
}

.rank-card.rank-3 {
	border-color: #cd7f32;
}

.rank-head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	padding: 14px 16px 10px;
}

.rank-badge {
	width: 2em;
	height: 2em;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	font-weight: 900;
	font-size: var(--fs-medium);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	font-family: "Noto Serif JP", serif;
}

.rank-1 .rank-badge {
	background: var(--gold);
	color: var(--white);
}

.rank-2 .rank-badge {
	background: #b0b0b0;
	color: var(--white);
}

.rank-3 .rank-badge {
	background: #b87333;
	color: var(--white);
}

.rank-name-wrap {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.rank-name {
	font-size: var(--fs-medium);
	font-weight: 900;
	color: var(--dark);
	line-height: 1.3;
}

.rank-stars {
	color: var(--gold);
	font-size: 14px;
	letter-spacing: 1px;
	margin-top: 2px;
}

.rank-body {
	padding: 0 16px 16px;
}

.rank-feature {
	background: #fff8f8;
	border-left: 3px solid var(--base);
	padding: 10px 12px;
	border-radius: 0 6px 6px 0;
	line-height: 1.7;
	color: var(--mid);
	margin-bottom: 12px;
}
.rank-feature strong {
	color: var(--wine);
	font-weight: 700;
}

.rank-detail {
	background: var(--base-dark);
	padding: 10px 12px;
	border-radius: 6px;
	display: inline-block;
	font-size: 14px;
	line-height: 1.7;
	color: var(--white);
	margin-bottom: 12px;
}

.rank-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-bottom: 14px;
}

.rank-meta-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 4px;
	color: var(--gray);
}

.rank-meta-item .dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gold);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.rank-meta-item.good .dot {
	background: var(--gold);
}

.rank-meta-item.ok .dot {
	background: #aaa;
}

.btn-rank {
	display: block;
	width: 100%;
	background: linear-gradient(135deg, var(--teal) 0%, var(--teal-light) 100%);
	color: var(--white);
	font-size: var(--fs-regular);
	font-weight: 900;
	padding: 14px;
	border-radius: 6px;
	text-align: center;
	-webkit-box-shadow: 0 4px 16px rgba(26, 49, 97, 0.35);
	        box-shadow: 0 4px 16px rgba(26, 49, 97, 0.35);
	letter-spacing: 0.04em;
	-webkit-transition: -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
	transition: -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
	transition: transform 0.15s, box-shadow 0.15s;
	transition: transform 0.15s, box-shadow 0.15s, -webkit-transform 0.15s, -webkit-box-shadow 0.15s;
}

.btn-rank:hover {
	-webkit-transform: translateY(-1px);
	        transform: translateY(-1px);
	-webkit-box-shadow: 0 6px 20px rgba(26, 49, 97, 0.45);
	        box-shadow: 0 6px 20px rgba(26, 49, 97, 0.45);
}

/* ===== CHECK SECTION ===== */
.check-section {
	background: var(--white);
	padding: 36px 16px;
}

.check-list {
	max-width: 640px;
	margin: 20px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 10px;
}

.check-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	background: var(--base-light);
	border-radius: 8px;
	padding: 12px 14px;
	border-left: 4px solid var(--base);
}

.check-icon {
	font-size: 18px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	margin-top: 1px;
}

.check-text {
	font-weight: 700;
	color: var(--dark);
	line-height: 1.5;
}

.check-cta-wrap {
	text-align: center;
	margin-top: 28px;
}
.check-cta-wrap .btn-main {
	max-width: 480px;
	margin: 0 auto;
	display: block;
}

.check-cta-label {
	font-size: var(--fs-regular);
	font-weight: 700;
	color: var(--base);
	margin-bottom: 1em;
}

/* ===== POINTS SECTION ===== */
.points-section {
	background: var(--light-gray);
	padding: 36px 16px;
}

.point-cards {
	max-width: 720px;
	margin: 20px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 20px;
}

.point-card {
	background: var(--white);
	border-radius: 12px;
	padding: 20px 18px;
	-webkit-box-shadow: var(--shadow);
	        box-shadow: var(--shadow);
}

.point-num {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.point-num-badge {
	background: var(--wine-light);
	color: var(--white);
	font-weight: 900;
	padding: 3px 12px;
	border-radius: 4px;
	letter-spacing: 0.05em;
}

.point-num-title {
	font-weight: 900;
	color: var(--dark);
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.point-body {
	color: var(--mid);
	line-height: 1.9;
}
.point-body strong {
	color: var(--gold);
	font-weight: 700;
}

.point-highlight {
	border: 3px solid var(--base-light);
	border-radius: 0.5em;
	padding: 1em;
	margin-top: 1em;
	color: var(--dark);
	font-weight: 500;
	line-height: 1.8;
}

/* Zero figure */
.zero-figure {
	padding: 1em 0;
}
.zero-figure figure img {
	width: 100%;
}

.zero-label {
	font-size: 12px;
	opacity: 0.7;
	margin-bottom: 8px;
}

.zero-arrow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 12px;
	font-weight: 900;
}

.zero-amount {
	font-size: 32px;
	font-family: "Noto Serif JP", serif;
}

.zero-amount.red {
	color: var(--base-light);
}

.zero-amount.gold {
	color: var(--gold-light);
}

.zero-arrow-icon {
	font-size: 24px;
	color: var(--gold-light);
}

/* Anon figure */
.anon-figure {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 12px;
	margin-top: 14px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.anon-figure figure img {
	width: 100%;
}

.anon-badge {
	background: var(--base-light);
	color: var(--dark);
	border-radius: 8px;
	padding: 12px 16px;
	text-align: center;
	font-weight: 700;
	font-size: var(--fs-small);
	min-width: 10em;
	border-bottom: 3px solid var(--base);
}

.anon-badge .icon {
	font-size: var(--fs-large);
	margin-bottom: 4px;
}

/* ===== COMPARISON TABLE ===== */
.compare-section {
	background: var(--white);
	padding: 36px 16px;
}

.compare-table {
	margin: 20px auto 0;
	overflow-x: auto;
}

.compare-table table {
	width: 100%;
	max-width: 720px;
	border-collapse: collapse;
	margin: auto;
}
.compare-table table thead th {
	background: var(--base-dark);
	color: var(--white);
	font-weight: 700;
	white-space: nowrap;
}
.compare-table table tbody th {
	white-space: nowrap;
	background: var(--base-light);
	color: var(--base-dark);
	font-weight: 700;
	white-space: nowrap;
}
.compare-table table tbody td a {
	display: block;
}
.compare-table table tfoot th {
	background: var(--base);
	color: var(--white);
	font-weight: 700;
	white-space: nowrap;
}
.compare-table table tfoot td a {
	display: block;
	border-radius: 0.5em;
	background: var(--orange);
	color: var(--white);
	padding: 0.5em;
	white-space: nowrap;
	min-width: 10em;
	position: relative;
	font-weight: bold;
}
.compare-table table tfoot td a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.5em;
	height: 1.5em;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%23ffffff' d='M64 320C64 461.4 178.6 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320zM305 441C295.6 450.4 280.4 450.4 271.1 441C261.8 431.6 261.7 416.4 271.1 407.1L358.1 320.1L271.1 233.1C261.7 223.7 261.7 208.5 271.1 199.2C280.5 189.9 295.7 189.8 305 199.2L409 303C418.4 312.4 418.4 327.6 409 336.9L305 441z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.compare-table th, .compare-table td {
	border: 1px solid var(--border);
	padding: 10px 12px;
	text-align: center;
}

.compare-table th.rank-1-head {
	background: var(--gold);
}

.compare-table tr:nth-child(even) td {
	background: #fafafa;
}

.compare-table .office-name {
	font-weight: 700;
	color: var(--dark);
}

.circle {
	color: var(--gold);
	font-size: 18px;
}

.circle-ok {
	color: #888;
	font-size: 16px;
}

.table-cta {
	display: block;
	background: linear-gradient(135deg, var(--teal) 0%, var(--teal-light) 100%);
	color: var(--white);
	font-weight: 900;
	padding: 14px;
	border-radius: 6px;
	text-align: center;
	margin-top: 2em;
	-webkit-box-shadow: 0 4px 16px rgba(26, 49, 97, 0.35);
	        box-shadow: 0 4px 16px rgba(26, 49, 97, 0.35);
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
	display: block;
	-webkit-transition: -webkit-transform 0.15s;
	transition: -webkit-transform 0.15s;
	transition: transform 0.15s;
	transition: transform 0.15s, -webkit-transform 0.15s;
}

.table-cta:hover {
	-webkit-transform: translateY(-1px);
	        transform: translateY(-1px);
}

/* ===== FOOTER ===== */
footer {
	background: var(--dark);
	color: rgba(255, 255, 255, 0.6);
	padding: 36px 20px;
	font-size: 12px;
	line-height: 1.9;
}

.footer-inner {
	max-width: 720px;
	margin: 0 auto;
}

.footer-title {
	color: var(--white);
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 16px;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-nav a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
}

.footer-nav a:hover {
	color: var(--white);
}

.footer-copy {
	color: rgba(255, 255, 255, 0.3);
	font-size: 11px;
	text-align: center;
	margin-top: 16px;
}

/* ===== STICKY CTA ===== */
.sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	bottom: env(safe-area-inset-bottom);
	z-index: 200;
	background: var(--base-light);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	-webkit-box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
	        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.sticky-cta-inner {
	max-width: 640px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
}
@media (max-width: 640px) {
	.sticky-cta-inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}

.sticky-text {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	color: var(--dark);
	line-height: 1.4;
	font-size: var(--fs-small);
}

.sticky-text strong {
	color: var(--wine-light);
	font-weight: 700;
}

.sticky-btn {
	background: linear-gradient(135deg, var(--orange) 0%, var(--gold-light) 100%);
	color: var(--white);
	font-weight: 900;
	padding: 10px 18px;
	border-radius: 6px;
	white-space: nowrap;
	-webkit-box-shadow: 0 4px 14px rgba(26, 49, 97, 0.4);
	        box-shadow: 0 4px 14px rgba(26, 49, 97, 0.4);
}

/* ===== DIVIDER ===== */
.divider {
	height: 4px;
	background: -webkit-gradient(linear, left top, right top, from(var(--base)), color-stop(var(--gold)), to(var(--base)));
	background: linear-gradient(90deg, var(--base), var(--gold), var(--base));
}

.section-second {
	margin: 0 auto 3em;
}
.section-second h3 {
	color: var(--base);
	font-size: var(--fs-medium);
	font-weight: 700;
	margin-bottom: 8px;
	border-left: 3px solid var(--base);
	padding-left: 8px;
}
.section-second h3 span {
	font-size: 0.6em;
}
.section-second h4 {
	font-size: var(--fs-regular);
	font-weight: 700;
}
.section-second .section-inner {
	max-width: 720px;
	margin: auto;
}
.section-second .section-inner table {
	border-collapse: collapse;
	margin: 0 auto 1em;
	width: 100%;
}
.section-second .section-inner table tbody th {
	background: var(--base);
	color: var(--white);
	width: 30%;
}
.section-second .section-inner table th, .section-second .section-inner table td {
	border: 1px solid var(--dark);
	padding: 1em;
}
.section-second .section-inner table th span, .section-second .section-inner table td span {
	font-size: 0.8em;
}
.section-second .section-inner p {
	margin: 0 auto 1em;
}
.section-second .section-inner ul {
	margin: 0 auto 1em;
}
.section-second .section-inner ul li {
	position: relative;
	padding-left: 1.2em;
}
.section-second .section-inner ul li::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url("../img/ul.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0.35em;
}

/* ===== RESPONSIVE TWEAKS ===== */
@media (max-width: 640px) {
	.hero-title {
		font-size: 21px;
	}
	.section-title {
		font-size: 18px;
	}
}
/* Anchor offset for sticky header */
.anchor {
	scroll-margin-top: 60px;
}

/* Animation */
@-webkit-keyframes pulse {
	0%, 100% {
		-webkit-box-shadow: 0 6px 24px rgba(26, 49, 97, 0.5);
		        box-shadow: 0 6px 24px rgba(26, 49, 97, 0.5);
	}
	50% {
		-webkit-box-shadow: 0 6px 32px rgba(26, 49, 97, 0.75);
		        box-shadow: 0 6px 32px rgba(26, 49, 97, 0.75);
	}
}
@keyframes pulse {
	0%, 100% {
		-webkit-box-shadow: 0 6px 24px rgba(26, 49, 97, 0.5);
		        box-shadow: 0 6px 24px rgba(26, 49, 97, 0.5);
	}
	50% {
		-webkit-box-shadow: 0 6px 32px rgba(26, 49, 97, 0.75);
		        box-shadow: 0 6px 32px rgba(26, 49, 97, 0.75);
	}
}
.btn-main {
	-webkit-animation: pulse 2.4s ease-in-out infinite;
	        animation: pulse 2.4s ease-in-out infinite;
}