* {
	box-sizing: border-box;
}

body {
	font-family: Georgia, "Times New Roman", serif;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
	line-height: 1.5;
	color: #333;
	background: #f5f5f0;
}

header {
	border-bottom: 2px solid #2a5f7a;
	margin-bottom: 24px;
	padding-bottom: 12px;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 0 1.4em;
}

nav a {
	color: #2a5f7a;
	text-decoration: none;
	font-weight: bold;
}

nav a:hover {
	text-decoration: underline;
}

main h1 {
	color: #2a5f7a;
	font-size: 1.5rem;
	margin-top: 0;
}

main h2 {
	color: #2a5f7a;
	font-size: 1.2rem;
	margin-top: 1.5em;
}

main a {
	color: #2a5f7a;
}

main a:hover {
	text-decoration: none;
}

.news {
	background: #e8f0f5;
	border: 1px solid #b8d4e3;
	padding: 16px;
	margin: 20px 0;
	border-radius: 4px;
}

.news-flash {
	border-left: 4px solid #2a5f7a;
}

.contact {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid #ccc;
}

footer {
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid #ccc;
	font-size: 0.9rem;
	color: #666;
	text-align: center;
}

footer a {
	color: #666;
}

.site-header { border-bottom: 2px solid #2a5f7a; margin-bottom: 24px; padding-bottom: 12px; }
.site-footer { margin-top: 32px; padding-top: 16px; border-top: 1px solid #ccc; font-size: 0.9rem; color: #666; text-align: center; }

.lead { font-size: 1.1rem; color: #444; margin-bottom: 1.5em; }
.contact-block { margin-top: 2em; padding-top: 1.5em; border-top: 1px solid #ccc; }
.contact-block address { font-style: normal; }
.rate-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; margin: 1em 0; }
.rate-card { background: #e8f0f5; border: 1px solid #b8d4e3; border-radius: 4px; padding: 1.25rem; }
.rate-card dt { color: #2a5f7a; font-weight: bold; margin-bottom: 0.35em; }
.rate-card dd { margin: 0; }
.rates-note { margin-top: 1rem; font-size: 0.95rem; color: #555; }
.page-content ul { margin: 0.5em 0 1em 1.25em; }
.page-content li { margin-bottom: 0.35em; }

.photo-gallery { margin: 2em 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.25rem; margin-top: 1rem; }
.gallery-figure { margin: 0; }
.gallery-placeholder { aspect-ratio: 4/3; background: #dde5eb; border: 1px solid #b8d4e3; border-radius: 4px; display: flex; align-items: center; justify-content: center; color: #6b8a9a; font-size: 0.9rem; }
.gallery-figure figcaption { margin-top: 0.5em; font-size: 0.9rem; color: #555; }
.gallery-cta { margin-top: 2em; padding-top: 1em; border-top: 1px solid #ddd; }

.reports-list { margin: 1.5em 0; }
.report-entry { margin-bottom: 2em; padding-bottom: 1.5em; border-bottom: 1px solid #ddd; }
.report-entry:last-child { border-bottom: 0; }
.report-entry h3 { font-size: 1.1rem; margin: 0 0 0.25em; }
.report-entry time { font-size: 0.9rem; color: #666; }

.ramp-list { margin: 1em 0; }
.ramp-list dt { color: #2a5f7a; font-weight: bold; margin-top: 1em; }
.ramp-list dt:first-child { margin-top: 0; }
.ramp-list dd { margin: 0.25em 0 0 1em; }

.blog-list { margin: 1.5em 0; }
.blog-entry { margin-bottom: 2em; padding-bottom: 1.5em; border-bottom: 1px solid #ddd; }
.blog-entry:last-child { border-bottom: 0; }
.blog-entry h3 { font-size: 1.1rem; margin: 0 0 0.25em; }
.blog-entry h3 a { color: inherit; }
.blog-entry time { font-size: 0.9rem; color: #666; display: block; margin-bottom: 0.5em; }
.blog-cta { margin-top: 2em; padding-top: 1em; border-top: 1px solid #ddd; }

.trip-types { margin: 2em 0; }
.trip-types-list { list-style: none; margin: 1em 0; padding: 0; }
.trip-types-list li { margin-bottom: 1em; padding-left: 0; }
.trip-types-list a { color: #2a5f7a; }

.why-us { margin: 2em 0; }
.why-us ul { margin: 0.5em 0 1em 1.25em; }
.why-us li { margin-bottom: 0.75em; }

.testimonials { margin: 2em 0; padding: 1.5em 0; border-top: 1px solid #ddd; }
.testimonials h2 { margin-top: 0; }
.testimonials-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 1rem; }
.testimonial { margin: 0; padding: 1.25rem; background: #e8f0f5; border-left: 4px solid #2a5f7a; border-radius: 0 4px 4px 0; }
.testimonial p { margin: 0 0 0.75em; font-style: italic; }
.testimonial footer { font-size: 0.9rem; color: #555; font-style: normal; }
.testimonial cite { font-style: normal; }

.partners { margin: 2em 0; padding: 1.5em 0; border-top: 1px solid #ddd; }
.partners h2 { margin-top: 0; }
.partners-intro { margin: 0.5em 0 1em; color: #555; font-size: 0.95rem; }
.partners-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-top: 1rem; }
@media (max-width: 900px) { .partners-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .partners-grid { grid-template-columns: 1fr; } }
.partner-card { background: #e8f0f5; border: 1px solid #b8d4e3; border-radius: 6px; padding: 1.25rem; }
.partner-card .partner-name { margin: 0 0 0.5em; font-size: 1rem; color: #2a5f7a; }
.partner-card .partner-desc { margin: 0; font-size: 0.9rem; color: #555; line-height: 1.4; }
.partner-card .partner-link { margin: 0.75em 0 0; font-size: 0.9rem; }
.partner-card .partner-link a { word-break: break-all; }

.reports-teaser { margin: 2em 0; padding-top: 1em; border-top: 1px solid #eee; }
.reports-teaser h2 { margin-top: 0; }
