:root {
  --ink:#17201c;
  --forest:#13261f;
  --forest2:#1d382f;
  --stone:#f1eee7;
  --paper:#fbfaf7;
  --white:#fff;
  --muted:#66706a;
  --line:#d8ddd9;
  --accent:#b78b56;
  --shadow:0 18px 50px rgba(19,38,31,.11);
  --display:"Manrope",Arial,sans-serif;
  --body:"DM Sans",Arial,sans-serif;
  --container:min(1160px,calc(100% - 40px));
  --space:clamp(72px,9vw,118px);
  --transition:180ms ease}


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

html {
  scroll-behavior:smooth}

body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased}

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

button,input,textarea {
  font:inherit}

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

h1,h2,h3 {
  font-family:var(--display);
  letter-spacing:-.04em;
  line-height:1.06}

h1 {
  max-width:920px;
  font-size:clamp(3rem,7vw,6.5rem);
  font-weight:600}

h2 {
  max-width:780px;
  font-size:clamp(2.15rem,4.5vw,4.2rem);
  font-weight:600}

.container {
  width:var(--container);
  margin-inline:auto}

.section {
  padding-block:var(--space)}

.section-tint {
  background:var(--stone)}

.section-dark {
  color:var(--white);
  background:var(--forest)}

.eyebrow {
  margin-bottom:20px;
  color:var(--forest2);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase}

.eyebrow.light {
  color:rgba(255,255,255,.68)}

.sr-only {
  position:absolute;
  overflow:hidden;
  width:1px;
  height:1px;
  margin:-1px;
  clip:rect(0,0,0,0);
  white-space:nowrap}

.skip-link {
  position:fixed;
  z-index:1000;
  top:10px;
  left:10px;
  padding:10px 14px;
  transform:translateY(-160%);
  color:#fff;
  background:var(--forest)}

.skip-link:focus {
  transform:translateY(0)}


.site-header {
  position:fixed;
  z-index:100;
  inset:0 0 auto;
  color:#fff;
  transition:background var(--transition),color var(--transition),box-shadow var(--transition)}

.site-header.is-scrolled {
  color:var(--ink);
  background:rgba(251,250,247,.95);
  box-shadow:0 1px 0 rgba(23,32,28,.1);
  backdrop-filter:blur(14px)}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:82px}

.brand {
  display:flex;
  align-items:baseline;
  gap:8px;
  font-family:var(--display);
  font-weight:600;
  letter-spacing:-.04em}

.brand-mark {
  font-size:1.5rem}

.brand-name {
  opacity:.74}

.site-nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:.94rem;
  font-weight:500}

.menu-toggle {
  display:none;
  padding:8px;
  color:inherit;
  background:transparent;
  border:0}

.menu-toggle span:not(.sr-only) {
  display:block;
  width:25px;
  height:1px;
  margin:7px 0;
  background:currentColor}

.button {
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:.92rem;
  font-weight:600;
  transition:transform var(--transition)}

.button:hover {
  transform:translateY(-2px)}

.button-small {
  min-height:44px;
  padding:11px 18px}

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

.site-header:not(.is-scrolled) .button-dark,.button-light {
  color:var(--forest);
  background:#fff}

.button-full {
  width:100%}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  border-bottom:1px solid currentColor}

.light-link {
  color:#fff}


.hero {
  position:relative;
  min-height:850px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:var(--forest)}

.hero-media {
  position:absolute;
  inset:0;
  background-color:#24362f;
  background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=88");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.02)}

.hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(8,25,18,.82),rgba(8,25,18,.28) 62%,rgba(8,25,18,.1)),linear-gradient(0deg,rgba(8,25,18,.9),transparent 65%)}

.hero-content {
  position:relative;
  z-index:2;
  padding-top:180px;
  padding-bottom:145px}

.hero-copy {
  max-width:720px;
  margin-bottom:34px;
  font-size:clamp(1.1rem,2vw,1.35rem);
  color:rgba(255,255,255,.86)}

.hero-actions {
  display:flex;
  align-items:center;
  gap:25px}

.hero-proof {
  position:absolute;
  z-index:2;
  right:0;
  bottom:35px;
  left:0;
  display:flex;
  gap:30px;
  color:rgba(255,255,255,.72);
  font-size:.83rem;
  text-transform:uppercase;
  letter-spacing:.1em}

.hero-proof span+span::before {
  content:"·";
  margin-right:30px}


.compact-heading {
  max-width:910px}

.compact-heading>p:last-child {
  max-width:720px;
  margin-bottom:0;
  color:var(--muted);
  font-size:1.15rem}

.section-heading.compact {
  margin-bottom:48px}

.split-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px}

.offer-card {
  padding:clamp(28px,4vw,48px);
  border-radius:22px}

.offer-card.positive {
  color:#fff;
  background:var(--forest)}

.offer-card.neutral {
  background:#fff;
  border:1px solid var(--line)}

.card-label {
  margin-bottom:28px;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase}

.check-list,.plain-list {
  padding:0;
  margin:0;
  list-style:none}

.check-list li,.strong-list li {
  position:relative;
  padding:15px 0 15px 30px;
  border-bottom:1px solid rgba(255,255,255,.16)}

.strong-list li {
  padding-left:0;
  border-color:var(--line)}

.check-list li::before {
  position:absolute;
  left:0;
  content:"✓"}

.fine-print {
  max-width:850px;
  margin:28px 0 0;
  color:var(--muted);
  font-size:.88rem}


.case-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:center}

.case-intro {
  max-width:650px;
  margin-bottom:30px;
  color:var(--muted);
  font-size:1.08rem}

.result-card {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow)}

.result-card div {
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  background:#fff;
  border:1px solid var(--line)}

.result-card strong {
  font-family:var(--display);
  font-size:3rem;
  line-height:1}

.result-card span {
  margin-top:8px;
  color:var(--muted)}


.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px}

.about-copy p {
  color:rgba(255,255,255,.75);
  font-size:1.08rem}

.about-copy .about-emphasis {
  color:#fff;
  font-weight:600}

.contact-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
  align-items:start}

.contact-grid>div>p:last-child {
  max-width:560px;
  color:var(--muted)}

.contact-form {
  display:grid;
  gap:18px;
  padding:clamp(28px,4vw,44px);
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow)}

.contact-form label {
  display:grid;
  gap:8px;
  font-size:.9rem;
  font-weight:600}

.contact-form input,.contact-form textarea {
  width:100%;
  padding:14px 15px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:10px}

.form-note {
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  text-align:center}

.site-footer {
  padding:28px 0;
  color:rgba(255,255,255,.68);
  background:#0c1914}

.footer-inner {
  display:flex;
  justify-content:space-between;
  font-size:.85rem}


@media(max-width:800px) {
  body {
  font-size:16px}

.header-inner {
  min-height:72px}

.menu-toggle {
  display:block}

.site-nav {
  position:absolute;
  top:72px;
  right:0;
  left:0;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:18px 20px 24px;
  color:var(--ink);
  background:var(--paper);
  box-shadow:0 20px 35px rgba(0,0,0,.12)}

.site-nav.is-open {
  display:flex}

.site-nav a {
  padding:13px 0}

.hero {
  min-height:760px}

.hero-content {
  padding-top:145px;
  padding-bottom:150px}

.hero-actions {
  align-items:flex-start;
  flex-direction:column}

.hero-proof {
  bottom:26px;
  display:grid;
  gap:7px}

.hero-proof span+span::before {
  display:none}

.split-cards,.case-grid,.about-grid,.contact-grid {
  grid-template-columns:1fr;
  gap:38px}

.result-card div {
  min-height:135px;
  padding:22px}

.about-grid {
  gap:20px}

.footer-inner {
  gap:10px;
  flex-direction:column}

}




/* Multi-page additions */
.site-nav a[aria-current="page"]:not(.button){border-bottom:1px solid currentColor}
.interior-header{position:absolute;color:#fff}
.interior-header.is-scrolled{position:fixed}
.page-hero{padding:190px 0 110px;color:#fff;background:linear-gradient(120deg,#13261f,#27483d)}
.page-hero h1{max-width:1000px;font-size:clamp(3rem,6vw,5.8rem)}
.page-hero p:last-child{max-width:760px;color:rgba(255,255,255,.78);font-size:1.2rem}
.narrow{max-width:900px}
.centered{text-align:center}.centered h2,.centered p{margin-inline:auto}
.row-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.row-heading h2{margin-bottom:0}.section-heading{margin-bottom:48px}
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.simple-card{padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(19,38,31,.05)}.simple-card>span{display:block;margin-bottom:32px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.14em}.simple-card h3{font-size:1.55rem}.simple-card p{margin-bottom:0;color:var(--muted)}
.three-cards.detailed .simple-card h2{font-size:1.7rem}.three-cards.detailed .simple-card ul{padding-left:20px;color:var(--muted)}.three-cards.detailed .simple-card li{margin:9px 0}
.cta-band{padding-block:70px}.feature-case{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.case-copy p{max-width:650px;color:var(--muted)}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-story>div:last-child{font-size:1.1rem;color:var(--muted)}
.contact-notes{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.contact-form select{width:100%;padding:14px 15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px}
@media(max-width:800px){.page-hero{padding:145px 0 75px}.row-heading{align-items:flex-start;flex-direction:column}.three-cards,.feature-case,.about-story{grid-template-columns:1fr}.feature-case,.about-story{gap:38px}.cta-band{padding-block:55px}.site-nav a[aria-current="page"]:not(.button){border-bottom:0;font-weight:700}}
