:root {
--bg: #DAA520;
--surface: #ffffff;
--surface-2: #dfe4de;
--text: #161e18;
--text-soft: #566158;
--border: #cfd6ce;
--primary: #1f3a2d;
--primary-dark: #162a21;
--accent: #8f9b8f;
--shadow: 0 16px 38px rgba(22, 30, 24, 0.08);
--radius: 20px;
--max-width: 1120px;
--sticky-offset: calc(1rem + env(safe-area-inset-bottom));
}

*,
*::before,
*::after {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
font-family: Georgia, "Times New Roman", serif;
color: var(--text);
background: linear-gradient(180deg, #eef2ee 0%, var(--bg) 100%);
line-height: 1.6;
}

a {
color: inherit;
}

.container {
width: min(100% - 1.5rem, var(--max-width));
margin-inline: auto;
}

.skip-link {
position: absolute;
left: -9999px;
top: 0;
background: var(--text);
color: #fff;
padding: 0.75rem 1rem;
z-index: 1000;
}

.skip-link:focus {
left: 1rem;
top: 1rem;
}

.site-header {
position: sticky;
top: 0;
z-index: 100;
backdrop-filter: blur(10px);
background: rgba(233, 236, 232, 0.9);
border-bottom: 1px solid rgba(207, 214, 206, 0.95);
}

.header-inner {
min-height: 4.5rem;
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}

.brand {
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.75rem;
font-weight: 700;
}

.brand-mark {
width: 2.2rem;
height: 2.2rem;
display: grid;
place-items: center;
border-radius: 999px;
background: var(--primary);
color: #fff;
font-size: 0.82rem;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.brand-text,
.nav a,
.button,
.eyebrow,
.rate-name,
.rate-price,
.note-title,
.cta-note,
.hero-points {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.brand-text {
letter-spacing: -0.01em;
}

.nav {
display: none;
gap: 1rem;
}

.nav a {
text-decoration: none;
color: var(--text-soft);
font-weight: 600;
}

.nav a:hover,
.nav a:focus-visible {
color: var(--primary);
}

.hero,
.section {
padding: 4rem 0;
}

.hero {
padding-top: 3rem;
}

.hero-grid {
display: grid;
gap: 1.5rem;
}

.eyebrow {
margin: 0 0 0.8rem;
font-size: 0.76rem;
text-transform: uppercase;
letter-spacing: 0.12em;
font-weight: 700;
color: var(--primary);
}

h1,
h2,
h3 {
margin: 0;
line-height: 1.08;
letter-spacing: -0.025em;
font-weight: 700;
}

h1 {
font-size: clamp(2.4rem, 6vw, 4.8rem);
max-width: 11ch;
}

h2 {
font-size: clamp(1.95rem, 4vw, 3.15rem);
}

h3 {
font-size: 1.18rem;
margin-bottom: 0.5rem;
}

.hero-text,
.section-heading p,
.card p,
.cta-text,
.hero-note p {
color: var(--text-soft);
font-size: 1.03rem;
}

.hero-text {
max-width: 58ch;
}

.hero-actions,
.cta-actions {
display: flex;
flex-direction: column;
gap: 0.85rem;
margin-top: 1.5rem;
}

.button {
display: inline-flex;
justify-content: center;
align-items: center;
min-height: 3.25rem;
padding: 0.95rem 1.2rem;
border-radius: 999px;
text-decoration: none;
font-weight: 700;
transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.button:hover,
.button:focus-visible {
transform: translateY(-1px);
}

.button-primary {
background: var(--primary);
color: #fff;
}

.button-primary:hover,
.button-primary:focus-visible {
background: var(--primary-dark);
}

.button-secondary {
background: transparent;
border: 1px solid var(--border);
color: var(--text);
}

.button-secondary:hover,
.button-secondary:focus-visible {
border-color: var(--primary);
color: var(--primary);
}

.button-large {
min-height: 3.5rem;
padding-inline: 1.45rem;
}

.hero-points {
list-style: none;
padding: 0;
margin: 1.5rem 0 0;
display: grid;
gap: 0.65rem;
color: var(--text-soft);
}

.hero-points li {
position: relative;
padding-left: 1.4rem;
}

.hero-points li::before {
content: "";
position: absolute;
left: 0;
top: 0.55rem;
width: 0.5rem;
height: 0.5rem;
border-radius: 999px;
background: var(--accent);
}

.hero-panel,
.card,
.rate-card,
.cta-panel {
background: var(--surface);
border: 1px solid var(--border);
box-shadow: var(--shadow);
border-radius: var(--radius);
}

.hero-panel {
overflow: hidden;
}

.hero-photo {
min-height: 260px;
background:
linear-gradient(rgba(18, 24, 19, 0.28), rgba(18, 24, 19, 0.28)),
linear-gradient(135deg, #31453a 0%, #697868 45%, #c5cdc4 100%);
}

.photo-placeholder {
min-height: 260px;
display: grid;
place-items: center;
color: rgba(255, 255, 255, 0.94);
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-weight: 700;
letter-spacing: 0.04em;
}

.hero-note {
padding: 1.15rem;
}

.note-title {
margin: 0 0 0.35rem;
font-weight: 700;
color: var(--text);
}

.section-heading {
max-width: 42rem;
margin-bottom: 2rem;
}

.muted {
background: rgba(207, 214, 206, 0.35);
border-top: 1px solid rgba(207, 214, 206, 0.85);
border-bottom: 1px solid rgba(207, 214, 206, 0.85);
}

.card-grid {
display: grid;
gap: 1rem;
}

.card {
padding: 1.4rem;
}

.rate-grid {
display: grid;
gap: 1rem;
}

.rate-card {
padding: 1.2rem 1.3rem;
}

.rate-name {
margin: 0 0 0.4rem;
font-weight: 700;
color: var(--text-soft);
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 0.78rem;
}

.rate-price {
margin: 0;
font-size: 2rem;
font-weight: 800;
color: var(--primary);
}

.cta-panel {
padding: 1.5rem;
display: grid;
gap: 1rem;
}

.final-cta {
padding-bottom: 7rem;
}

.cta-note {
color: var(--text-soft);
margin: 0;
}

.mobile-sticky-cta {
position: fixed;
left: 0.75rem;
right: 0.75rem;
bottom: var(--sticky-offset);
z-index: 150;
min-height: 3.5rem;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
text-decoration: none;
background: var(--primary);
color: #fff;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-weight: 800;
box-shadow: 0 12px 24px rgba(16, 22, 17, 0.24);
}

.mobile-sticky-cta:hover,
.mobile-sticky-cta:focus-visible {
background: var(--primary-dark);
}

@media (min-width: 700px) {
.container {
width: min(100% - 2rem, var(--max-width));
}

.nav {
display: inline-flex;
}

.hero,
.section {
padding: 5rem 0;
}

.hero-grid {
grid-template-columns: 1.05fr 0.95fr;
align-items: center;
gap: 2rem;
}

.three-up {
grid-template-columns: repeat(3, 1fr);
}

.two-up,
.rate-grid {
grid-template-columns: repeat(2, 1fr);
}

.cta-panel {
grid-template-columns: 1.2fr 0.8fr;
align-items: center;
padding: 2rem;
}

.hero-actions,
.cta-actions {
flex-direction: row;
flex-wrap: wrap;
align-items: center;
}

.mobile-sticky-cta {
display: none;
}

.final-cta {
padding-bottom: 4rem;
}
}

@media (min-width: 980px) {
.hero {
padding-top: 3.5rem;
}

.hero-photo,
.photo-placeholder {
min-height: 320px;
}

.card {
padding: 1.55rem;
}
}

@media (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}

* {
transition: none !important;
}
}
