 :root{
	 --graphite:#111827;
	 --graphite-2:#182132;
	 --graphite-3:#0b1220;
	 --green:#15803D;
	 --green-soft:#22c55e;
	 --gold:#FACC15;
	 --gold-deep:#b88900;
	 --white:#ffffff;
	 --muted:#d1d5db;
	 --line:rgba(255,255,255,.12);
	 --card:rgba(255,255,255,.065);
	 --card-strong:rgba(255,255,255,.095);
	 --shadow:0 28px 70px rgba(0,0,0,.32);
	 --radius:26px;
	 --max:1180px;
}
 *{
	box-sizing:border-box
}
 html{
	scroll-behavior:smooth
}
 body{
	 margin:0;
	 color:var(--white);
	 font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	 background: radial-gradient(circle at 8% 0%, rgba(21,128,61,.18), transparent 26rem), radial-gradient(circle at 96% 6%, rgba(250,204,21,.12), transparent 24rem), linear-gradient(135deg, #060b13 0%, #111827 34%, #0d3a28 72%, #1d2a17 100%);
	 min-height:100vh;
	 line-height:1.65;
	 -webkit-font-smoothing:antialiased;
}
 a{
	color:inherit;
	text-decoration:none
}
 img{
	max-width:100%;
	display:block
}
 ::selection{
	background:rgba(250,204,21,.32)
}
 .skip-link{
	position:absolute;
	left:-999px;
	top:auto;
	background:var(--gold);
	color:#111827;
	padding:.7rem 1rem;
	border-radius:0 0 12px 12px;
	z-index:9999;
	font-weight:900
}
 .skip-link:focus{
	left:1rem;
	top:0
}
 .container{
	width:min(var(--max), calc(100% - 40px));
	 margin-inline:auto
}
 .site-header{
	position:sticky;
	top:0;
	z-index:80;
	background:rgba(9,14,24,.78);
	backdrop-filter:blur(18px);
	border-bottom:1px solid var(--line)
}
 .topbar{
	font-size:.88rem;
	color:#f5f7fb;
	border-bottom:1px solid var(--line);
	background:linear-gradient(90deg,rgba(21,128,61,.25),rgba(250,204,21,.08))
}
 .topbar .container{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding:.45rem 0
}
 .topbar a{
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:3px
}
 .navbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:.72rem;
	padding:.82rem 0
}
 .brand{
	display:flex;
	align-items:center;
	gap:.62rem;
	font-weight:900;
	letter-spacing:.01em;
	min-width:230px;
	flex:0 1 285px
}
 .brand-mark{
	width:40px;
	height:40px;
	border-radius:14px;
	background:linear-gradient(135deg,var(--green),var(--gold));
	display:grid;
	place-items:center;
	color:#111827;
	box-shadow:0 14px 30px rgba(250,204,21,.12);
	font-weight:1000;
	flex:0 0 auto
}
 .brand span:last-child{
	display:block;
	font-size:.78rem;
	color:var(--muted);
	font-weight:650;
	letter-spacing:.02em;
	margin-top:-.1rem
}
 .nav-links{
	display:flex;
	align-items:center;
	gap:.18rem;
	list-style:none;
	margin:0;
	padding:0;
	flex:1 1 auto;
	justify-content:center;
	min-width:0
}
 .nav-links a{
	font-weight:760;
	color:#ecfdf5;
	font-size:.86rem;
	padding:.55rem .52rem;
	border-radius:999px;
	transition:.2s ease;
	white-space:nowrap
}
 .nav-links a:hover,.nav-links a.active{
	background:rgba(255,255,255,.09);
	color:var(--gold)
}
 .header-cta{
	display:flex;
	align-items:center;
	gap:.45rem;
	flex:0 0 auto
}
 .btn,.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.52rem;
	border:0;
	border-radius:999px;
	padding:.78rem .98rem;
	font-weight:850;
	cursor:pointer;
	transition:.22s ease;
	line-height:1.1;
	white-space:nowrap
}
 .btn-primary{
	background:linear-gradient(135deg,var(--gold),#fff3a3);
	color:#111827;
	box-shadow:0 16px 36px rgba(250,204,21,.17)
}
 .btn-primary:hover{
	transform:translateY(-2px);
	box-shadow:0 22px 42px rgba(250,204,21,.24)
}
 .btn-secondary{
	background:rgba(255,255,255,.09);
	border:1px solid rgba(255,255,255,.16);
	color:#fff
}
 .btn-secondary:hover{
	background:rgba(255,255,255,.14);
	transform:translateY(-2px)
}
 .burger{
	display:none;
	width:46px;
	height:46px;
	border-radius:15px;
	border:1px solid var(--line);
	background:rgba(255,255,255,.07);
	color:#fff;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:5px
}
 .burger span{
	width:21px;
	height:2px;
	background:#fff;
	border-radius:9px;
	transition:.2s ease
}
 .burger[aria-expanded="true"] span:nth-child(1){
	transform:translateY(7px) rotate(45deg)
}
 .burger[aria-expanded="true"] span:nth-child(2){
	opacity:0
}
 .burger[aria-expanded="true"] span:nth-child(3){
	transform:translateY(-7px) rotate(-45deg)
}
 .hero{
	position:relative;
	overflow:hidden;
	padding:4.9rem 0 3.6rem
}
 .hero::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(125deg, rgba(6,11,19,.98) 0%, rgba(17,24,39,.94) 34%, rgba(16,63,43,.78) 72%, rgba(250,204,21,.22) 100%);
	z-index:-2
}
 .hero::after{
	content:"";
	position:absolute;
	inset:-1px;
	background:url('noise.svg'), radial-gradient(circle at 78% 22%,rgba(250,204,21,.18),transparent 25rem), radial-gradient(circle at 12% 18%,rgba(21,128,61,.16),transparent 28rem);
	opacity:.88;
	z-index:-1
}
 .hero-grid{
	display:grid;
	grid-template-columns:1.08fr .92fr;
	gap:2.2rem;
	align-items:center;
	 grid-auto-flow: column;
}
 .kicker{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	border:1px solid rgba(250,204,21,.36);
	background:rgba(250,204,21,.1);
	color:#fff8cf;
	border-radius:999px;
	padding:.43rem .72rem;
	font-weight:830;
	font-size:.9rem;
	letter-spacing:.01em
}
 .kicker::before{
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--gold);
	box-shadow:0 0 0 7px rgba(250,204,21,.12)
}
 h1,h2,h3{
	line-height:1.08;
	margin:0;
	color:#fff;
	letter-spacing:-.035em
}
 h1{
	font-size:clamp(2.15rem,4.4vw,3.35rem);
	margin:.8rem 0 1rem;
	max-width:14ch
}
 h2{
	font-size:clamp(2rem,4vw,3.45rem);
	margin-bottom:1rem
}
 h3{
	font-size:1.35rem;
	margin-bottom:.65rem;
	letter-spacing:-.02em
}
 p{
	margin:0 0 1rem;
	color:#e7edf5
}
 .lead{
	font-size:clamp(1rem,1.5vw,1.08rem);
	color:#f7fafc;
	max-width:68ch
}
 .hero-actions{
	display:flex;
	flex-wrap:wrap;
	gap:.8rem;
	margin:1.7rem 0 1.5rem
}
 .trust-row{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:.85rem;
	margin-top:1.65rem;
	max-width:690px
}
 .trust-pill{
	padding:.9rem;
	border:1px solid var(--line);
	background:rgba(255,255,255,.075);
	border-radius:18px;
	color:#f8fafc;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.08)
}
 .trust-pill strong{
	display:block;
	color:var(--gold);
	font-size:1.05rem;
	margin-bottom:.12rem
}
 .hero-card{
	position:relative;
	background:linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.045));
	border:1px solid rgba(255,255,255,.17);
	border-radius:34px;
	padding:1rem;
	box-shadow:var(--shadow);
	backdrop-filter:blur(10px)
}
 .hero-card img{
	border-radius:28px;
	min-height:410px;
	object-fit:cover;
	width:100%
}
 .hero-card .floating{
	position:absolute;
	left:-1.2rem;
	bottom:-1rem;
	width:min(310px,70%);
	padding:1rem;
	background:rgba(9,14,24,.88);
	border:1px solid rgba(250,204,21,.28);
	border-radius:23px;
	box-shadow:0 24px 45px rgba(0,0,0,.35)
}
 .floating strong{
	color:var(--gold);
	display:block;
	margin-bottom:.35rem
}
 .section{
	padding:5rem 0;
	border-top:1px solid rgba(255,255,255,.06)
}
 .section.tight{
	padding:3.7rem 0
}
 .section-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:2rem;
	margin-bottom:2rem
}
 .section-header p{
	max-width:66ch;
	color:#dbe4ef
}
 .eyebrow{
	font-weight:920;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--gold);
	font-size:.78rem;
	margin-bottom:.65rem
}
 .grid{
	display:grid;
	gap:1.15rem
}
 .grid-2{
	grid-template-columns:repeat(2,minmax(0,1fr))
}
 .grid-3{
	grid-template-columns:repeat(3,minmax(0,1fr))
}
 .grid-4{
	grid-template-columns:repeat(4,minmax(0,1fr))
}
 .card{
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:1.35rem;
	box-shadow:0 12px 36px rgba(0,0,0,.18);
	position:relative;
	overflow:hidden
}
 .card::before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(135deg,rgba(250,204,21,.07),transparent 42%,rgba(21,128,61,.08));
	opacity:.8;
	pointer-events:none
}
 .card > *{
	position:relative
}
 .card:hover{
	background:var(--card-strong)
}
 .card .icon{
	width:46px;
	height:46px;
	border-radius:15px;
	background:linear-gradient(135deg,rgba(21,128,61,.85),rgba(250,204,21,.84));
	display:grid;
	place-items:center;
	color:#111827;
	font-weight:1000;
	margin-bottom:1rem
}
 .card p,.text-muted{
	color:#d5dde8
}
 .link-more{
	display:inline-flex;
	align-items:center;
	gap:.42rem;
	color:#fff8b0;
	font-weight:850;
	margin-top:.45rem;
	text-decoration:underline;
	text-underline-offset:4px;
	text-decoration-thickness:1px
}
 .panel{
	border:1px solid rgba(250,204,21,.22);
	background:linear-gradient(135deg,rgba(21,128,61,.18),rgba(250,204,21,.08));
	border-radius:34px;
	padding:2rem;
	box-shadow:var(--shadow)
}
 .check-list{
	display:grid;
	gap:.72rem;
	margin:1rem 0 0;
	padding:0;
	list-style:none
}
 .check-list li{
	display:flex;
	gap:.65rem;
	color:#eaf2fc
}
 .check-list li::before{
	content:"✓";
	flex:0 0 23px;
	width:23px;
	height:23px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:rgba(250,204,21,.14);
	color:var(--gold);
	font-weight:900;
	font-size:.78rem;
	margin-top:.14rem
}
 .numbered{
	counter-reset:item;
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:1rem
}
 .numbered li{
	counter-increment:item;
	border:1px solid var(--line);
	background:rgba(255,255,255,.055);
	border-radius:22px;
	padding:1.2rem 1.2rem 1.2rem 4.2rem;
	position:relative
}
 .numbered li::before{
	content:counter(item,decimal-leading-zero);
	position:absolute;
	left:1.1rem;
	top:1.15rem;
	width:2.2rem;
	height:2.2rem;
	border-radius:12px;
	background:linear-gradient(135deg,var(--green),var(--gold));
	color:#111827;
	font-weight:1000;
	display:grid;
	place-items:center
}
 .timeline{
	position:relative;
	display:grid;
	gap:1rem
}
 .timeline::before{
	content:"";
	position:absolute;
	left:23px;
	top:16px;
	bottom:16px;
	width:2px;
	background:linear-gradient(var(--gold),var(--green))
}
 .timeline-item{
	position:relative;
	padding-left:4.2rem
}
 .timeline-item .dot{
	position:absolute;
	left:0;
	top:.15rem;
	width:48px;
	height:48px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#111827;
	border:1px solid rgba(250,204,21,.42);
	color:var(--gold);
	font-weight:1000
}
 .timeline-box{
	background:rgba(255,255,255,.065);
	border:1px solid var(--line);
	border-radius:22px;
	padding:1.2rem
}
 .image-band{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem;
	align-items:stretch
}
 .image-band img{
	height:100%;
	min-height:340px;
	border-radius:30px;
	object-fit:cover;
	border:1px solid var(--line);
	box-shadow:var(--shadow)
}
 .stats{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:1rem
}
 .stat{
	background:rgba(255,255,255,.07);
	border:1px solid var(--line);
	border-radius:24px;
	padding:1.2rem;
	text-align:center
}
 .stat strong{
	font-size:2rem;
	color:var(--gold);
	display:block;
	line-height:1
}
 .table-wrap{
	overflow:auto;
	border:1px solid var(--line);
	border-radius:24px;
	background:rgba(255,255,255,.055)
}
 table{
	border-collapse:collapse;
	width:100%;
	min-width:700px
}
 th,td{
	text-align:left;
	padding:1rem;
	border-bottom:1px solid rgba(255,255,255,.1);
	vertical-align:top;
	color:#edf2f7
}
 th{
	color:#fff8b0;
	background:rgba(255,255,255,.06)
}
 tr:last-child td{
	border-bottom:0
}
 .faq{
	display:grid;
	gap:.85rem
}
 details{
	border:1px solid var(--line);
	border-radius:20px;
	background:rgba(255,255,255,.06);
	padding:1rem 1.15rem
}
 summary{
	cursor:pointer;
	font-weight:900;
	color:#fff;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem
}
 summary::-webkit-details-marker{
	display:none
}
 summary::after{
	content:"+";
	font-size:1.4rem;
	color:var(--gold)
}
 details[open] summary::after{
	content:"–"
}
 details p{
	margin-top:.75rem;
	color:#dbe4ef
}
 .form-card{
	background:rgba(255,255,255,.08);
	border:1px solid rgba(250,204,21,.18);
	border-radius:34px;
	padding:1.5rem;
	box-shadow:var(--shadow)
}
 .form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem
}
 label{
	display:grid;
	gap:.35rem;
	font-weight:850;
	color:#fff
}
 input,select,textarea{
	width:100%;
	border:1px solid rgba(255,255,255,.16);
	background:rgba(3,7,18,.48);
	border-radius:16px;
	color:#fff;
	padding:.9rem .95rem;
	font:inherit;
	outline:none
}
 input:focus,select:focus,textarea:focus{
	border-color:rgba(250,204,21,.7);
	box-shadow:0 0 0 4px rgba(250,204,21,.1)
}
 textarea{
	min-height:140px;
	resize:vertical
}
.full{
	grid-column:1/-1
}
 .legal-text{
	max-width:930px
}
.legal-text h2{
	font-size:2rem;
	margin-top:2.3rem
}
.legal-text h3{
	margin-top:1.4rem
}
.legal-text ul{
	color:#dbe4ef
}
.legal-text a{
	text-decoration:underline;
	color:#fff8b0;
	text-underline-offset:4px
}
 .cta-strip{
	background:linear-gradient(135deg,rgba(17,24,39,.95),rgba(21,128,61,.74),rgba(250,204,21,.35));
	border:1px solid rgba(250,204,21,.25);
	border-radius:38px;
	padding:2.2rem;
	display:grid;
	grid-template-columns:1.4fr .6fr;
	gap:1.2rem;
	align-items:center;
	box-shadow:var(--shadow)
}
 .site-footer{
	background:#070b13;
	border-top:1px solid var(--line);
	padding:3.5rem 0 1.2rem;
	color:#dbe4ef
}
 .footer-grid{
    display: grid;
    grid-template-columns: 1.2fr .8fr .8fr .8fr;
    gap: 2rem;
    grid-auto-flow: column;
    justify-items: center;
}
 .footer-title{
	font-weight:1000;
	color:#fff;
	margin-bottom:.75rem
}
.footer-grid a{
	display:block;
	color:#dbe4ef;
	margin:.35rem 0
}
.footer-grid a:hover{
	color:var(--gold)
}
.footer-bottom{
	display:flex;
	justify-content:space-between;
	gap:1rem;
	border-top:1px solid var(--line);
	margin-top:2rem;
	padding-top:1rem;
	font-size:.9rem;
	color:#aeb8c7
}
 .cookie-banner{
	position:fixed;
	left:50%;
	bottom:1rem;
	transform:translateX(-50%) translateY(120%);
	width:min(980px,calc(100% - 24px));
	z-index:120;
	background:rgba(8,13,23,.94);
	backdrop-filter:blur(18px);
	border:1px solid rgba(250,204,21,.24);
	border-radius:26px;
	padding:1rem;
	box-shadow:0 22px 60px rgba(0,0,0,.44);
	display:grid;
	grid-template-columns:1fr auto;
	gap:1rem;
	align-items:center;
	transition:.34s ease
}
 .cookie-banner.show{
	transform:translateX(-50%) translateY(0)
}
 .cookie-actions{
	display:flex;
	gap:.6rem;
	flex-wrap:wrap
}
 .modal-alert{
	position:fixed;
	inset:0;
	display:grid;
	place-items:center;
	background:rgba(0,0,0,.55);
	opacity:0;
	pointer-events:none;
	z-index:140;
	transition:.25s ease;
	padding:1rem
}
 .modal-alert.open{
	opacity:1;
	pointer-events:auto
}
.modal-box{
	width:min(520px,100%);
	background:linear-gradient(145deg,#111827,#112d20);
	border:1px solid rgba(250,204,21,.28);
	border-radius:30px;
	padding:1.6rem;
	box-shadow:var(--shadow);
	transform:translateY(18px) scale(.98);
	transition:.32s cubic-bezier(.16,1,.3,1)
}
.modal-alert.open .modal-box{
	transform:translateY(0) scale(1)
}
.modal-icon{
	width:64px;
	height:64px;
	border-radius:22px;
	background:linear-gradient(135deg,var(--green),var(--gold));
	display:grid;
	place-items:center;
	color:#111827;
	font-size:2rem;
	font-weight:1000;
	margin-bottom:1rem
}
.close-modal{
	float:right;
	border:0;
	background:rgba(255,255,255,.1);
	color:#fff;
	border-radius:12px;
	width:38px;
	height:38px;
	font-size:1.25rem;
	cursor:pointer
}
 .reveal{
	opacity:0;
	transform:translateY(18px);
	transition:.6s ease
}
.reveal.visible{
	opacity:1;
	transform:translateY(0)
}
 .map-placeholder{
	border:1px solid var(--line);
	border-radius:30px;
	overflow:hidden;
	background:rgba(255,255,255,.06);
	position:relative
}
.map-placeholder img{
	width:100%;
	height:360px;
	object-fit:cover
}
.map-note{
	position:absolute;
	left:1rem;
	right:1rem;
	bottom:1rem;
	background:rgba(8,13,23,.86);
	border:1px solid rgba(250,204,21,.24);
	border-radius:18px;
	padding:.8rem;
	color:#fff
}
 .badges{
	display:flex;
	gap:.55rem;
	flex-wrap:wrap;
	margin-top:.9rem
}
.badge{
	border:1px solid rgba(250,204,21,.25);
	background:rgba(250,204,21,.08);
	border-radius:999px;
	padding:.38rem .62rem;
	font-weight:850;
	color:#fff8cf;
	font-size:.85rem
}

/* Responsive polish */
@media (max-width:1180px){
	:root{--max:1060px}
	.brand{
		flex-basis:245px;
		min-width:210px
	}
	.brand div:last-child{
		font-size:.92rem
	}
	.brand span:last-child{
		font-size:.72rem
	}
	.nav-links a{
		font-size:.82rem;
		padding:.5rem .43rem
	}
	.header-cta .btn-secondary{
		display:none
	}
	.header-cta .btn-primary{
		padding:.72rem .86rem
	}
	.hero-grid{
		gap:1.6rem
	}
}

@media (max-width:980px){
	:root{--radius:22px}
	.container{
		width:min(var(--max), calc(100% - 32px))
	}
	.site-header{
		position:sticky
	}
	.topbar .container{
		align-items:flex-start;
		gap:.2rem;
		flex-direction:column;
		padding:.52rem 0
	}
	.navbar{
		position:relative;
		padding:.72rem 0
	}
	.brand{
		flex:1 1 auto;
		min-width:0
	}
	.brand-mark{
		width:38px;
		height:38px;
		border-radius:13px
	}
	.burger{
		display:flex
	}
	.nav-links{
		position:absolute;
		top:calc(100% + .7rem);
		left:0;
		right:0;
		display:grid;
		grid-template-columns:1fr;
		justify-content:stretch;
		gap:.38rem;
		padding:.7rem;
		max-height:calc(100vh - 120px);
		overflow:auto;
		background:rgba(8,13,23,.97);
		border:1px solid rgba(255,255,255,.14);
		border-radius:24px;
		box-shadow:0 24px 60px rgba(0,0,0,.42);
		backdrop-filter:blur(18px);
		transform:translateY(-10px) scale(.98);
		transform-origin:top center;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
		z-index:95
	}
	.nav-links.open{
		transform:translateY(0) scale(1);
		opacity:1;
		visibility:visible;
		pointer-events:auto
	}
	.nav-links a{
		display:flex;
		align-items:center;
		min-height:46px;
		padding:.82rem 1rem;
		border-radius:16px;
		font-size:.96rem;
		white-space:normal
	}
	.header-cta{
		margin-left:auto
	}
	.hero{
		padding:3.8rem 0 3.1rem
	}
	.hero-grid{
		grid-template-columns:1fr;
		grid-auto-flow:row;
		gap:1.6rem
	}
	h1{
		max-width:16ch
	}
	.hero-card{
		max-width:620px;
		width:100%;
		margin-inline:auto
	}
	.hero-card img{
		min-height:340px
	}
	.section{
		padding:4rem 0
	}
	.section-header{
		display:block;
		margin-bottom:1.4rem
	}
	.section-header p{
		max-width:none
	}
	.grid-2,.grid-3{
		grid-template-columns:1fr
	}
	.grid-4,.stats{
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
	.image-band{
		grid-template-columns:1fr
	}
	.image-band img{
		min-height:290px
	}
	.cta-strip{
		grid-template-columns:1fr;
		border-radius:30px
	}
	.form-grid{
		grid-template-columns:1fr
	}
	.trust-row{
		grid-template-columns:1fr;
		max-width:none
	}
	.hero-card .floating{
		position:relative;
		left:auto;
		bottom:auto;
		width:auto;
		margin-top:.8rem
	}
	.panel{
		padding:1.6rem
	}
	.footer-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		grid-auto-flow:row;
		justify-items:start;
		gap:1.5rem 2rem
	}
	.footer-bottom{
		display:grid;
		gap:.5rem
	}
	.cookie-banner{
		grid-template-columns:1fr;
		align-items:stretch;
		bottom:.75rem
	}
	.cookie-actions{
		width:100%
	}
}

@media (max-width:720px){
	body{
		line-height:1.58
	}
	.btn,.button{
		min-height:46px;
		padding:.78rem .95rem
	}
	.hero-actions{
		display:grid;
		grid-template-columns:1fr;
		gap:.65rem
	}
	.hero-actions .btn{
		width:100%
	}
	.card,.numbered li,.timeline-box,.stat,details{
		border-radius:20px
	}
	.numbered li{
		padding:1rem 1rem 1rem 3.75rem
	}
	.numbered li::before{
		left:.9rem
	}
	.timeline::before{
		left:18px
	}
	.timeline-item{
		padding-left:3.25rem
	}
	.timeline-item .dot{
		width:38px;
		height:38px;
		font-size:.85rem
	}
	.table-wrap{
		border-radius:18px;
		-webkit-overflow-scrolling:touch
	}
	table{
		min-width:640px
	}
	th,td{
		padding:.85rem
	}
	.map-placeholder img{
		height:280px
	}
}

@media (max-width:560px){
	.container{
		width:min(100% - 24px,var(--max))
	}
	.topbar{
		font-size:.78rem
	}
	.navbar{
		gap:.5rem
	}
	.brand{
		gap:.5rem
	}
	.brand div:last-child{
		font-size:.9rem;
		line-height:1.1
	}
	.brand span:last-child{
		display:none
	}
	.brand-mark{
		width:36px;
		height:36px
	}
	.header-cta .btn-primary{
		display:none
	}
	.burger{
		width:42px;
		height:42px;
		border-radius:14px
	}
	.nav-links{
		top:calc(100% + .55rem);
		border-radius:20px;
		max-height:calc(100vh - 105px)
	}
	h1{
		font-size:clamp(2rem,11vw,2.55rem);
		max-width:12ch;
		margin:.72rem 0 .85rem
	}
	h2{
		font-size:clamp(1.65rem,8vw,2.15rem)
	}
	h3{
		font-size:1.18rem
	}
	.lead{
		font-size:1rem
	}
	.kicker{
		font-size:.78rem;
		border-radius:16px;
		align-items:flex-start
	}
	.hero{
		padding:2.8rem 0 2.6rem
	}
	.hero-card{
		padding:.65rem;
		border-radius:24px
	}
	.hero-card img{
		min-height:245px;
		border-radius:20px
	}
	.hero-card .floating{
		border-radius:18px;
		padding:.9rem
	}
	.section{
		padding:3.1rem 0
	}
	.section.tight{
		padding:2.6rem 0
	}
	.grid{
		gap:.9rem
	}
	.grid-4,.stats{
		grid-template-columns:1fr
	}
	.card,.panel,.form-card,.cta-strip{
		padding:1.1rem;
		border-radius:22px
	}
	.image-band img{
		min-height:230px;
		border-radius:22px
	}
	.form-card input,
	.form-card select,
	.form-card textarea,
	input,select,textarea{
		font-size:16px;
		border-radius:14px;
		padding:.82rem .88rem
	}
	textarea{
		min-height:120px
	}
	.cookie-banner{
		width:calc(100% - 18px);
		border-radius:20px;
		padding:.85rem
	}
	.cookie-actions{
		display:grid;
		grid-template-columns:1fr;
		gap:.5rem
	}
	.cookie-actions .btn{
		width:100%
	}
	.modal-box{
		border-radius:22px;
		padding:1.15rem
	}
	.map-note{
		position:relative;
		left:auto;
		right:auto;
		bottom:auto;
		border-radius:0 0 18px 18px
	}
	.footer-grid{
		grid-template-columns:1fr;
		gap:1.25rem
	}
	.site-footer{
		padding:2.6rem 0 1rem
	}
}

@media (max-width:380px){
	.container{
		width:min(100% - 18px,var(--max))
	}
	.brand div:last-child{
		font-size:.82rem
	}
	.hero-card img{
		min-height:210px
	}
	.card,.panel,.form-card,.cta-strip{
		padding:1rem
	}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		scroll-behavior:auto!important;
		transition-duration:.01ms!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important
	}
	.reveal{
		opacity:1;
		transform:none
	}
}
