:root{
	--brand:#2b7a0b;
	--muted:#666;
	--bg:#f9faf9;
	--card:#ffffff;
	--max-width:1100px;
}

*{box-sizing:border-box}
body{
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	margin:0;
	background:var(--bg);
	color:#222;
	-webkit-font-smoothing:antialiased;
}

.container{
	max-width:var(--max-width);
	margin:0 auto;
	padding:1rem;
}

.site-header{
	background:var(--brand);
	color:#fff;
}
.header-inner{
	display:flex;
	align-items:center;
	gap:1rem;
	justify-content:space-between;
}
.brand{
	color:#fff;
	text-decoration:none;
	font-weight:700;
	letter-spacing:0.04em;
}

.nav-toggle{
	display:none;
	background:transparent;
	color:#fff;
	border:1px solid rgba(255,255,255,0.2);
	padding:0.4rem 0.6rem;
	border-radius:4px;
}

/* Logo / image placeholder styling (no real images) */
.logo-placeholder{
	width:48px;
	height:48px;
	background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	border:2px dashed rgba(255,255,255,0.18);
	border-radius:6px;
	flex-shrink:0;
}

/* Section icon placeholder */
.section-icon{
	width:36px;
	height:36px;
	vertical-align:middle;
	margin-right:0.5rem;
	flex-shrink:0;
}
.card h2{ display:inline-flex; align-items:center; gap:0.5rem }

.primary-nav ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	gap:0.75rem;
}
.primary-nav a{
	color:#fff;
	text-decoration:none;
	font-size:0.95rem;
	padding:0.75rem 0.4rem;
}
.primary-nav a:hover{ text-decoration:underline }
.primary-nav a:focus-visible{ outline:3px solid rgba(255,255,255,0.18); outline-offset:3px }

/* Better focus-visible for interactive controls */
.nav-toggle:focus-visible{
	outline:3px solid rgba(255,255,255,0.2);
	outline-offset:3px;
}

/* Improve link contrast in body content for readability */
a{ color:var(--brand) }
a:focus-visible{ outline:3px solid rgba(43,122,11,0.18); outline-offset:2px }

.card{
	background:var(--card);
	padding:1rem;
	margin:0;
	border-radius:8px;
	box-shadow:0 1px 4px rgba(0,0,0,0.06);
}

h2{ margin-top:0 }

.team-list{ margin:0; padding-left:1rem }

/* Cards container to enable multi-column layout on wide screens */
.cards{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
}
.card{ flex:1 1 100%; }

@media (min-width:900px){
	.card{ flex:1 1 calc(50% - 1rem); }
}

/* Landing page summaries */
.summary-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:1rem;
	margin-top:1rem;
}
.summary-card{
	background:var(--card);
	border-radius:8px;
	padding:1rem;
	box-shadow:0 1px 4px rgba(0,0,0,0.05);
}
.summary-card h3{ margin:0 0 0.5rem 0 }
.summary-card p{ margin:0 0.5rem 0.75rem 0 }
.summary-card a.button{ display:inline-block; background:var(--brand); color:#fff; padding:0.4rem 0.6rem; border-radius:4px; text-decoration:none }

/* Active nav link */
.primary-nav a.active, .primary-nav a[aria-current="page"]{
	background:rgba(255,255,255,0.12);
	border-radius:6px;
	font-weight:600;
}

/* Sticky header */
.site-header{ position:sticky; top:0; z-index:60 }

.price-list{ width:100%; border-collapse:collapse; margin-top:0.5rem }
.price-list th, .price-list td{ border:1px solid #eee; padding:0.5rem; text-align:left }

.muted{ color:var(--muted); font-size:0.95rem }

.site-footer{ background:#fff; border-top:1px solid #eee; padding:1rem 0 }

/* Responsive */

@media (max-width:900px){
	.primary-nav ul{ flex-direction:column; background:transparent }
	.nav-toggle{ display:inline-block }
	.primary-nav{ display:none }
	.primary-nav.open{ display:block; padding:0.5rem 0 }
	.header-inner{ align-items:flex-start }
	.card{ flex-basis:100% }
}

@media (min-width:901px){
	.nav-toggle{ display:none }
}

/* Skip link */
.skip-link{
	position:absolute;
	left:-999px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}
.skip-link:focus{
	left:1rem;
	top:1rem;
	width:auto;
	height:auto;
	padding:0.5rem 0.75rem;
	background:#fff;
	color:var(--brand);
	border-radius:4px;
	box-shadow:0 2px 6px rgba(0,0,0,0.12);
	z-index:9999;
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce){
	*{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important }
}

/* Table header visual improvements for readability */
.price-list th{ background:#fafafa }


/* Print rules */
@media print{
	.site-header, .site-footer, .nav-toggle, .primary-nav, .skip-link{ display:none }
	.card{ box-shadow:none; border:1px solid #eee }
}

/* Small tweaks for accessibility focus */
a:focus{ outline:3px solid rgba(43,122,11,0.18); outline-offset:2px }

