:root {
	--ink: #3b2418;
	--muted: #7b6252;
	--brand: #b65f24;
	--brand-dark: #874018;
	--mint: #fff0df;
	--cream: #fbf1e6;
	--line: #ead5c1;
	--white: #fff;
	--shadow: 0 18px 50px rgba(95,52,27,.11);
	--radius: 24px
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	color: var(--ink);
	background: var(--white);
	font-family: "Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
	line-height: 1.75
}

img {
	display: block;
	max-width: 100%
}

a {
	color: inherit;
	text-decoration: none
}

button,input,textarea {
	font: inherit
}

.container {
	width: min(1160px,calc(100% - 40px));
	margin: auto
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255,255,255,.94);
	border-bottom: 1px solid var(--line);
	backdrop-filter: blur(14px)
}

.nav-wrap {
	height: 76px;
	display: flex;
	align-items: center;
	gap: 32px
}

.logo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 26px;
	font-weight: 800;
	color: var(--brand);
	white-space: nowrap
}

.logo-mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	color: white;
	background: var(--brand);
	font-size: 20px
}

.main-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto
}

.main-nav a {
	padding: 8px 13px;
	border-radius: 999px;
	color: #49635b;
	font-size: 15px;
	font-weight: 650
}

.main-nav a:hover,.main-nav a.active {
	color: var(--brand);
	background: var(--mint)
}

.nav-cta,.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 999px;
	padding: 12px 22px;
	background: var(--brand);
	color: white;
	font-weight: 750;
	cursor: pointer;
	transition: .2s
}

.button:hover,.nav-cta:hover {
	background: var(--brand-dark);
	transform: translateY(-1px)
}

.button.secondary {
	background: white;
	color: var(--brand);
	border: 1px solid var(--line)
}

.menu-button {
	display: none;
	margin-left: auto;
	border: 0;
	background: var(--mint);
	color: var(--brand);
	width: 42px;
	height: 42px;
	border-radius: 12px;
	font-size: 22px
}

.hero {
	padding: 76px 0 82px;
	background: linear-gradient(145deg,#f5fbf8 0%,#fff 62%,#f8f4e9 100%)
}

.hero-grid {
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	align-items: center;
	gap: 68px
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--brand);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase
}

.eyebrow:before {
	content: "";
	width: 26px;
	height: 2px;
	background: var(--brand)
}

h1,h2,h3,p {
	margin-top: 0
}

h1 {
	font-size: clamp(42px,5vw,66px);
	line-height: 1.13;
	letter-spacing: -.04em;
	margin: 18px 0 24px
}

h1 span {
	color: var(--brand)
}

.lead {
	font-size: 18px;
	color: var(--muted);
	max-width: 610px
}

.hero-actions {
	display: flex;
	gap: 12px;
	margin-top: 32px
}

.hero-media {
	position: relative
}

.hero-media img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	border-radius: 42px 42px 110px 42px;
	box-shadow: var(--shadow)
}

.floating-note {
	position: absolute;
	left: -34px;
	bottom: 24px;
	width: 230px;
	padding: 22px;
	background: rgba(255,255,255,.94);
	border: 1px solid var(--line);
	border-radius: 22px;
	box-shadow: var(--shadow)
}

.floating-note strong {
	display: block;
	font-size: 28px;
	color: var(--brand)
}

.section {
	padding: 92px 0
}

.section.soft {
	background: #f6faf8
}

.section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 30px;
	margin-bottom: 38px
}

.section-head h2 {
	font-size: clamp(30px,4vw,44px);
	line-height: 1.2;
	margin: 10px 0 0
}

.section-head p {
	max-width: 540px;
	color: var(--muted);
	margin: 0
}

.grid-3 {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px
}

.card {
	background: white;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(24,53,47,.05)
}

.card img {
	width: 100%;
	height: 220px;
	object-fit: cover
}

.card-body {
	padding: 26px
}

.card h3 {
	font-size: 22px;
	margin-bottom: 9px
}

.card p {
	color: var(--muted);
	margin-bottom: 0
}

.card-link {
	display: inline-flex;
	margin-top: 18px;
	color: var(--brand);
	font-weight: 750
}

.feature-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 18px
}

.feature {
	padding: 28px;
	border-radius: 22px;
	background: white;
	border: 1px solid var(--line)
}

.feature .icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: var(--mint);
	color: var(--brand);
	font-size: 23px;
	margin-bottom: 18px
}

.feature h3 {
	margin-bottom: 8px
}

.feature p {
	color: var(--muted);
	font-size: 15px;
	margin: 0
}

.notice {
	display: flex;
	gap: 16px;
	padding: 22px 26px;
	border-radius: 18px;
	background: #fff9e9;
	border: 1px solid #f0dfac
}

.notice strong {
	white-space: nowrap
}

.cta-band {
	padding: 46px;
	border-radius: 32px;
	background: var(--ink);
	color: white;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px
}

.cta-band h2 {
	font-size: 34px;
	margin-bottom: 8px
}

.cta-band p {
	color: #c9d8d2;
	margin: 0
}

.cta-band .button {
	background: #66d5b8;
	color: #113b32
}

.page-hero {
	padding: 74px 0 66px;
	background: linear-gradient(135deg,var(--mint),#faf8f0)
}

.page-hero h1 {
	font-size: clamp(38px,5vw,58px);
	margin-bottom: 15px
}

.breadcrumb {
	font-size: 14px;
	color: var(--muted);
	margin-bottom: 16px
}

.breadcrumb a {
	color: var(--brand)
}

.two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 66px
}

.rounded-image {
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 36px
}

.stat-row {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 16px;
	margin-top: 28px
}

.stat {
	padding: 22px;
	background: var(--mint);
	border-radius: 18px
}

.stat strong {
	display: block;
	font-size: 28px;
	color: var(--brand)
}

.article {
	max-width: 820px;
	margin: auto
}

.article-section {
	padding: 30px 0;
	border-bottom: 1px solid var(--line)
}

.article-section h2 {
	font-size: 26px;
	margin-bottom: 12px
}

.article-section p,.article-section li {
	color: var(--muted)
}

.article-section ul {
	padding-left: 20px
}

.meta {
	padding: 16px 20px;
	background: var(--mint);
	border-radius: 14px;
	color: var(--brand);
	font-weight: 700
}

.contact-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 28px
}

.contact-panel,.form-panel {
	padding: 34px;
	border: 1px solid var(--line);
	border-radius: 26px;
	background: white
}

.contact-item {
	display: flex;
	gap: 15px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line)
}

.contact-item:last-child {
	border: 0
}

.contact-item strong {
	display: block
}

.contact-item span {
	color: var(--muted)
}

.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px
}

.field {
	margin-bottom: 16px
}

.field label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px
}

.field input,.field textarea {
	width: 100%;
	border: 1px solid #cddbd5;
	border-radius: 12px;
	padding: 12px 14px;
	background: #fbfdfc
}

.field textarea {
	min-height: 140px;
	resize: vertical
}

.site-footer {
	padding: 58px 0 28px;
	background: #132f29;
	color: white
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.3fr .7fr .7fr;
	gap: 50px
}

.site-footer p,.site-footer a {
	color: #b8cbc4
}

.footer-links {
	display: grid;
	gap: 9px
}

.footer-title {
	font-weight: 800;
	margin-bottom: 12px
}

.copyright {
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid #31504a;
	color: #90aaa1;
	font-size: 14px
}

.cookie-banner {
	position: fixed;
	left: 20px;
	right: 20px;
	bottom: 20px;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: 940px;
	margin: auto;
	padding: 20px 22px;
	border: 1px solid var(--line);
	border-radius: 20px;
	background: white;
	box-shadow: var(--shadow)
}

.cookie-banner p {
	font-size: 14px;
	color: var(--muted);
	margin: 0
}

.cookie-banner[hidden] {
	display: none
}

.cookie-actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0
}

.cookie-actions button {
	border: 0;
	border-radius: 999px;
	padding: 9px 16px;
	cursor: pointer;
	font-weight: 700
}

.cookie-actions .accept {
	background: var(--brand);
	color: white
}

.tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px
}

.tag {
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--mint);
	color: var(--brand);
	font-size: 14px;
	font-weight: 700
}

@media(max-width:900px) {
	.main-nav,.nav-cta {
		display: none
	}

	.menu-button {
		display: block
	}

	.main-nav.open {
		display: flex;
		position: absolute;
		left: 20px;
		right: 20px;
		top: 68px;
		flex-direction: column;
		align-items: stretch;
		padding: 14px;
		background: white;
		border: 1px solid var(--line);
		border-radius: 18px;
		box-shadow: var(--shadow)
	}

	.hero-grid,.two-col,.contact-grid {
		grid-template-columns: 1fr
	}

	.hero {
		padding-top: 48px
	}

	.hero-media {
		max-width: 650px
	}

	.feature-grid {
		grid-template-columns: 1fr 1fr
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr
	}

	.footer-grid>div:first-child {
		grid-column: 1/-1
	}

	.floating-note {
		left: 18px
	}

	.section-head {
		align-items: start;
		flex-direction: column
	}
}

@media(max-width:640px) {
	.container {
		width: min(100% - 28px,1160px)
	}

	.nav-wrap {
		height: 66px
	}

	.hero {
		padding: 40px 0 56px
	}

	.hero-grid {
		gap: 40px
	}

	h1 {
		font-size: 40px
	}

	.hero-media img {
		height: 390px;
		border-radius: 28px 28px 72px 28px
	}

	.floating-note {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		margin-top: 12px
	}

	.section {
		padding: 64px 0
	}

	.grid-3,.feature-grid,.stat-row,.form-row,.footer-grid {
		grid-template-columns: 1fr
	}

	.footer-grid>div:first-child {
		grid-column: auto
	}

	.cta-band {
		padding: 30px;
		align-items: flex-start;
		flex-direction: column
	}

	.page-hero {
		padding: 50px 0
	}

	.rounded-image {
		height: 360px
	}

	.cookie-banner {
		align-items: stretch;
		flex-direction: column
	}

	.cookie-actions {
		justify-content: flex-end
	}
}

.menu-button {
	font-size: 0;
	cursor: pointer
}

.menu-button:before {
	content: "\2630";
	font-size: 22px;
	line-height: 1
}

.menu-button[aria-expanded=true]:before {
	content: "\00d7";
	font-size: 28px
}

.home-hero {
	position: relative;
	min-height: 78vh;
	display: flex;
	align-items: center;
	overflow: hidden
}

.home-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0
}

.home-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .72
}

.home-hero-bg:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.28) 100%)
}

.home-hero-content {
	position: relative;
	z-index: 1;
	padding: 96px 0
}

.home-hero h1 {
	max-width: 760px
}

.home-hero .lead {
	max-width: 640px
}

h2 {
	font-size: clamp(30px,4vw,44px);
	line-height: 1.2;
	margin: 12px 0 18px
}

.hero-actions {
	flex-wrap: wrap
}

.site-footer .logo {
	color: white
}

.site-footer .logo-mark {
	background: #66d5b8;
	color: #113b32
}

@media(max-width:900px) {
	.menu-button {
		display: grid;
		place-items: center
	}

	.main-nav.open a {
		padding: 12px 14px
	}

	.home-hero {
		min-height: auto
	}

	.home-hero-bg:after {
		background: linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.86) 100%)
	}

	.home-hero-content {
		padding: 72px 0
	}
}

@media(max-width:640px) {
	.home-hero-content {
		padding: 54px 0
	}

	.home-hero h1 {
		font-size: 38px
	}

	.hero-actions .button {
		width: 100%
	}
}

.footer-contact {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 12px;
	margin-top: 32px;
	padding: 22px 0 0;
	border-top: 1px solid #31504a;
	color: #b8cbc4;
	font-size: 14px
}

.footer-contact div {
	min-width: 0
}

@media(max-width:900px) {
	.footer-contact {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width:640px) {
	.footer-contact {
		grid-template-columns: 1fr
	}
}

.home-hero-content {
	max-width: min(1160px,calc(100% - 40px));
	margin: auto
}

.home-hero h1,.home-hero .lead {
	max-width: 720px
}

@media(max-width:640px) {
	.home-hero-content {
		max-width: min(100% - 28px,1160px)
	}
}

body {
	background: #fffaf5
}

.site-header {
	background: rgba(255,250,245,.94)
}

.main-nav a {
	color: #765844
}

.hero {
	background: linear-gradient(145deg,#fff4e7 0%,#fff 60%,#f7e2cc 100%)
}

.section.soft {
	background: #fff7ef
}

.page-hero {
	background: linear-gradient(135deg,#fff0df,#f9e3cc)
}

.notice {
	background: #fff6dd;
	border-color: #e8c589
}

.cta-band {
	background: #3b2418
}

.cta-band p {
	color: #e9cdb5
}

.cta-band .button {
	background: #e6a15d;
	color: #2f1c12
}

.cta-band .button:hover {
	background: #d1843b
}

.site-footer {
	background: #331f14
}
.site-footer:before{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 88% 16%, rgba(230, 161, 93, .32), transparent 32%);
}

.site-footer p,.site-footer a {
	color: #e0c5ad
}

.site-footer .logo-mark {
	background: #e6a15d;
	color: #2f1c12
}

.copyright {
	border-top-color: #69422b;
	color: #856141
}

.footer-contact {
	border-top-color: #69422b;
	color: #e0c5ad
}

.field input,.field textarea {
	border-color: #dfc7b0;
	background: #fffaf5
}

body {
	background: linear-gradient(180deg,#fffaf5 0%,#fff7ef 42%,#fffaf5 100%)
}

.site-header {
	box-shadow: 0 10px 30px rgba(82,43,20,.06)
}

.nav-wrap {
	height: 82px
}

.logo {
	letter-spacing: .02em
}

.main-nav a {
	transition: background .18s,color .18s,transform .18s
}

.main-nav a:hover {
	transform: translateY(-1px)
}

.home-hero {
	min-height: 82vh;
	border-bottom: 1px solid rgba(182,95,36,.16)
}

.home-hero-bg img {
	opacity: .95;
	filter: saturate(1.05) contrast(1.03)
}

.home-hero-bg:after {
	background: linear-gradient(90deg,rgba(255,250,245,.97) 0%,rgba(255,244,231,.9) 38%,rgba(255,244,231,.46) 64%,rgba(59,36,24,.1) 100%)
}

.home-hero-content {
	padding: 118px 0 108px
}

.home-hero-content:before {
	content: "";
	display: block;
	width: 76px;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg,#b65f24,#e6a15d);
	margin-bottom: 26px;
	box-shadow: 0 10px 24px rgba(182,95,36,.28)
}

.home-hero h1 {
	font-size: clamp(46px,5.8vw,76px);
	line-height: 1.06;
	max-width: 820px;
	text-wrap: balance
}

.home-hero .lead {
	font-size: 20px;
	line-height: 1.85;
	color: #664a38
}

.eyebrow {
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(182,95,36,.1);
	border: 1px solid rgba(182,95,36,.16);
	letter-spacing: .12em
}

.eyebrow:before {
	width: 18px
}

.button {
	box-shadow: 0 12px 28px rgba(182,95,36,.2)
}

.button.secondary {
	box-shadow: 0 10px 24px rgba(82,43,20,.06)
}

.section {
	position: relative
}

.section>.container {
	position: relative
}

.two-col {
	gap: 76px
}

.rounded-image {
	border: 10px solid #fff7ef;
	box-shadow: 0 24px 70px rgba(95,52,27,.16);
	border-radius: 30px
}

.stat {
	background: linear-gradient(180deg,#fff4e7,#ffe8cf);
	border: 1px solid #ecd0b4;
	box-shadow: 0 12px 28px rgba(95,52,27,.06)
}

.feature {
	background: linear-gradient(180deg,#fff,#fff8f1);
	border-color: #ecd4bc;
	box-shadow: 0 14px 38px rgba(95,52,27,.07);
	transition: transform .2s,box-shadow .2s,border-color .2s
}

.feature:hover {
	transform: translateY(-5px);
	border-color: #dba675;
	box-shadow: 0 22px 52px rgba(95,52,27,.13)
}

.feature .icon {
	background: linear-gradient(135deg,#fff0df,#ffd9b8);
	box-shadow: inset 0 0 0 1px rgba(182,95,36,.12);
	font-weight: 800
}

.section-head h2,.two-col h2 {
	letter-spacing: .01em
}

.cta-band {
	position: relative;
	overflow: hidden;
	border: 1px solid #6b3f27;
	box-shadow: 0 28px 80px rgba(59,36,24,.22)
}

.cta-band:before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 88% 16%,rgba(230,161,93,.32),transparent 32%)
}

.cta-band>* {
	position: relative
}

.site-footer {
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08)
}

.footer-grid {
	align-items: start
}

.footer-title {
	color: #fff1e3
}

.footer-links a {
	transition: color .18s,transform .18s
}

.footer-links a:hover {
	color: #ffc487;
	transform: translateX(3px)
}

.footer-contact {
	background: rgba(255,244,231,.04);
	border-radius: 18px;
	padding: 20px;
	border: 1px solid #69422b
}

@media(max-width:900px) {
	.nav-wrap {
		height: 70px
	}

	.home-hero-bg:after {
		background: linear-gradient(180deg,rgba(255,250,245,.96),rgba(255,244,231,.88))
	}

	.home-hero-content {
		padding: 82px 0 74px
	}

	.home-hero h1 {
		font-size: 44px
	}

	.two-col {
		gap: 42px
	}
}

@media(max-width:640px) {
	.home-hero h1 {
		font-size: 36px
	}

	.home-hero .lead {
		font-size: 17px
	}

	.eyebrow {
		font-size: 12px
	}

	.feature {
		padding: 24px
	}

	.rounded-image {
		border-width: 6px;
		border-radius: 24px
	}

	.footer-contact {
		padding: 16px
	}
}

:root {
	--ink: #33261f;
	--muted: #716357;
	--brand: #a6572f;
	--brand-dark: #76391f;
	--mint: #fff2e5;
	--cream: #f7eee5;
	--line: #e7d6c6;
	--shadow: 0 18px 48px rgba(73,43,26,.1)
}

body {
	background: #fdf8f2;
	color: var(--ink)
}

.site-header {
	background: rgba(253,248,242,.9);
	border-bottom-color: rgba(166,87,47,.18)
}

.nav-wrap {
	height: 76px
}

.logo {
	font-size: 24px
}

.main-nav a {
	color: #6b5545
}

.main-nav a:hover,.main-nav a.active {
	background: #f8e6d4;
	color: #8f4525
}

.home-hero {
	min-height: 680px;
	border-bottom-color: #ead8c6
}

.home-hero-bg img {
	object-position: center center;
	filter: saturate(.95) contrast(1.02)
}

.home-hero-bg:after {
	/* background: linear-gradient(90deg,rgba(253,248,242,.98) 0%,rgba(253,248,242,.93) 48%,rgba(253,248,242,.62) 72%,rgba(253,248,242,.2) 100%) */
	background: linear-gradient(159deg, rgb(255 191 114 / 98%) 0%, rgb(255 236 143 / 93%) 48%, rgb(205 121 19 / 62%) 72%, rgb(12 7 0 / 20%) 100%);
}

.home-hero-content {
	padding: 88px 0 86px;
	max-width: min(1160px,calc(100% - 40px));
	width: min(1160px,calc(100% - 40px));
	margin: auto
}

.home-hero-content:before {
	width: 58px;
	height: 4px;
	margin-bottom: 20px;
	background: #a6572f;
	box-shadow: none
}

.home-hero h1 {
	font-size: clamp(42px,4.8vw,64px);
	line-height: 1.1;
	max-width: 720px;
	margin-bottom: 20px;
	letter-spacing: 0
}

.home-hero .lead {
	font-size: 18px;
	line-height: 1.8;
	color: #675449;
	max-width: 720px
}

.eyebrow {
	background: #fff8f1;
	border-color: #ecd6c0;
	color: #9d4f29
}

.button {
	border-radius: 14px;
	padding: 13px 24px;
	box-shadow: 0 12px 26px rgba(166,87,47,.18)
}

.button.secondary {
	background: #fffaf5;
	color: #7d3d22
}

.section {
	padding: 82px 0
}

.section.soft {
	background: #fbf1e8
}

.section-head {
	margin-bottom: 32px
}

.section-head h2,.two-col h2 {
	font-size: clamp(28px,3.3vw,40px);
	letter-spacing: 0
}

.lead {
	font-size: 17px
}

.rounded-image {
	height: 460px;
	border: 8px solid #fff;
	box-shadow: 0 20px 54px rgba(73,43,26,.13);
	border-radius: 24px
}

.stat {
	border-radius: 16px;
	padding: 20px;
	background: #fff4e9
}

.stat strong {
	color: #9d4f29
}

.feature-grid {
	gap: 20px
}

.feature {
	border-radius: 18px;
	padding: 26px;
	background: #fffdfb;
	box-shadow: 0 12px 32px rgba(73,43,26,.06)
}

.feature .icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #f8e6d4;
	color: #9d4f29
}

.feature h3 {
	font-size: 20px
}

.feature p {
	color: #75665b
}

.page-hero {
	padding: 66px 0 58px;
	background: linear-gradient(135deg,#fff3e7 0%,#fbefe3 100%)
}

.contact-panel,.form-panel,.card {
	border-color: #ead8c6;
	box-shadow: 0 12px 34px rgba(73,43,26,.06)
}

.cta-band {
	border-radius: 24px;
	padding: 42px 48px;
	background: linear-gradient(135deg,#34251d 0%,#5a321f 100%);
	box-shadow: 0 20px 58px rgba(57,35,24,.2)
}

.cta-band h2 {
	font-size: 30px
}

.site-footer {
	background: #2f231c
}
.site-footer:before{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 88% 16%, rgba(230, 161, 93, .32), transparent 32%);
}
.site-footer::after{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 88% 16%, rgba(230, 161, 93, .32), transparent 32%);
}

.footer-grid {
	gap: 42px
}

.footer-contact {
	background: rgba(255,255,255,.035);
	border-color: #5f4333
}

.copyright {
	border-top-color: #5f4333
}

.menu-button {
	border-radius: 12px;
	background: #f8e6d4;
	color: #8f4525
}

@media(max-width:900px) {
	.home-hero {
		min-height: 590px
	}

	.home-hero-content {
		padding: 70px 0 64px
	}

	.home-hero h1 {
		font-size: 40px
	}

	.section {
		padding: 68px 0
	}

	.rounded-image {
		height: 390px
	}

	.footer-grid {
		gap: 30px
	}
}

@media(max-width:640px) {
	.home-hero {
		min-height: 0
	}

	.home-hero-bg img {
		object-position: center
	}

	.home-hero-bg:after {
		background: linear-gradient(180deg,rgba(253,248,242,.96) 0%,rgba(253,248,242,.9) 100%)
	}

	.home-hero-content {
		width: min(100% - 28px,1160px);
		max-width: min(100% - 28px,1160px);
		padding: 52px 0 54px
	}

	.home-hero h1 {
		font-size: 34px;
		line-height: 1.16
	}

	.home-hero .lead {
		font-size: 16px;
		line-height: 1.72
	}

	.hero-actions {
		gap: 10px
	}

	.hero-actions .button {
		width: auto;
		flex: 1;
		min-width: 145px;
		padding: 12px 14px
	}

	.section {
		padding: 56px 0
	}

	.section-head {
		gap: 18px
	}

	.feature-grid {
		gap: 14px
	}

	.feature {
		padding: 22px;
		border-radius: 16px
	}

	.stat-row {
		gap: 10px
	}

	.stat {
		padding: 16px
	}

	.rounded-image {
		height: 320px
	}

	.cta-band {
		padding: 28px 24px;
		border-radius: 20px
	}

	.cta-band h2 {
		font-size: 25px
	}

	.footer-grid {
		gap: 28px
	}
}

main>.notice.container {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 18px;
	margin-top: -34px;
	margin-bottom: 76px;
	padding: 24px 28px 24px 24px;
	border: 1px solid #e6c9ad;
	border-left: 5px solid var(--brand);
	border-radius: 20px;
	background: linear-gradient(135deg, #fffdf9 0%, #fff4e8 100%);
	box-shadow: 0 16px 40px rgba(73,43,26,.08);
}

main>.notice.container:before {
	content: "!";
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--brand);
	color: #fff8f1;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 10px 22px rgba(166,87,47,.24);
	grid-row: 1 / span 2;
}

main>.notice.container:after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 20px;
	pointer-events: none;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

main>.notice.container strong {
	display: block;
	margin-bottom: 6px;
	color: #4a2c1f;
	font-size: 18px;
	line-height: 1.35;
	white-space: normal;
	grid-column: 2;
}

main>.notice.container span {
	display: block;
	max-width: 860px;
	color: #715b4b;
	font-size: 15px;
	line-height: 1.85;
	grid-column: 2;
}

@media(max-width:640px) {
	main>.notice.container {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: -20px;
		margin-bottom: 54px;
		padding: 22px;
	}

	main>.notice.container:before {
		width: 36px;
		height: 36px;
		font-size: 20px;
	}

	main>.notice.container strong {
		font-size: 17px;
		grid-column: 1;
	}

	main>.notice.container span {
		font-size: 14px;
		line-height: 1.75;
		grid-column: 1;
	}
}
