:root {
  --paper: #f6efdf;
  --paper-soft: #fffaf0;
  --paper-warm: #efe1c8;
  --coffee: #3a261c;
  --coffee-soft: #6f4d3b;
  --caramel: #b8896f;
  --sage: #7aae9a;
  --sky: #8dbfd2;
  --ink: #29231f;
  --muted: #74675f;
  --line: rgba(58, 38, 28, 0.16);
  --shadow: 0 18px 54px rgba(58, 38, 28, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

body.nav-open {
  overflow: hidden;
}

a {
  color: inherit;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
  padding: 12px max(18px, calc((100% - 1180px) / 2));
  border-bottom: 1px solid rgba(58, 38, 28, 0.1);
  background: rgba(246, 239, 223, 0.9);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 4px 0;
  color: var(--coffee);
  text-decoration: none;
}

.brand span {
  display: inline-flex;
  align-items: baseline;
}

.brand strong {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.48rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}

.site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  border-radius: 8px;
  padding: 9px 12px;
  color: var(--coffee);
  font-size: 0.94rem;
  font-weight: 800;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.is-active {
  background: var(--paper-soft);
  color: var(--coffee);
  outline: none;
  transform: translateY(-1px);
}

.nav-toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-soft);
  color: var(--coffee);
  cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
  position: absolute;
  left: 11px;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-toggle span:nth-child(1) {
  transform: translateY(-7px);
}

.nav-toggle span:nth-child(3) {
  transform: translateY(7px);
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: rotate(-45deg);
}

h1,
h2,
h3,
p,
li,
span,
a,
button {
  overflow-wrap: break-word;
}

h1,
h2,
h3 {
  margin: 0;
  color: var(--coffee);
  line-height: 1.1;
  letter-spacing: 0;
  text-wrap: balance;
}

h1 {
  max-width: 880px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.15rem;
}

h2 {
  max-width: 780px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.55rem;
}

h3 {
  font-size: 1.18rem;
}

p {
  margin: 0;
  text-wrap: pretty;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--coffee-soft);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-hero,
.page-hero,
.section {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.72fr);
  gap: 48px;
  align-items: center;
  min-height: calc(100svh - 72px);
  padding: 64px 0 84px;
}

.hero-copy p:not(.eyebrow),
.page-hero p,
.section-head p,
.split-section > p,
.tray-heading p,
.story-grid p,
.contact-card p,
.service-lead p,
.service-copy p,
.future-section p,
.welcome-band p {
  max-width: 690px;
  color: var(--muted);
  font-size: 1.08rem;
}

.hero-copy p:not(.eyebrow) {
  margin-top: 22px;
  font-size: 1.2rem;
}

.hero-actions,
.page-actions,
.jump-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.button,
.inline-link,
.pill-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  font-weight: 900;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button {
  min-height: 48px;
  border: 1px solid transparent;
  padding: 12px 17px;
  cursor: pointer;
}

.button:hover,
.button:focus-visible,
.inline-link:hover,
.inline-link:focus-visible,
.pill-link:hover,
.pill-link:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

.button-primary {
  background: var(--coffee);
  color: var(--paper-soft);
  box-shadow: 0 14px 30px rgba(58, 38, 28, 0.18);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: #4b3327;
}

.button-soft {
  border-color: var(--line);
  background: var(--paper-soft);
  color: var(--coffee);
}

.button-soft:hover,
.button-soft:focus-visible {
  border-color: rgba(58, 38, 28, 0.28);
  box-shadow: 0 12px 24px rgba(58, 38, 28, 0.09);
}

.inline-link {
  width: fit-content;
  margin-top: 22px;
  border-bottom: 2px solid var(--caramel);
  border-radius: 0;
  color: var(--coffee);
  line-height: 1.25;
}

.hero-media,
.service-image {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(122, 174, 154, 0.2), rgba(141, 191, 210, 0.14)),
    var(--paper-soft);
  box-shadow: var(--shadow);
}

.hero-media img,
.service-image img {
  width: 100%;
  border-radius: 6px;
  object-fit: cover;
  box-shadow: 0 16px 38px rgba(58, 38, 28, 0.14);
}

.hero-media img {
  aspect-ratio: 11 / 8;
  object-position: center;
}

.section {
  padding: 84px 0;
}

.split-section,
.welcome-band,
.contact-section,
.story-grid,
.service-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(330px, 0.8fr);
  gap: 52px;
  align-items: start;
}

.section-head {
  display: grid;
  gap: 16px;
  margin-bottom: 32px;
}

.tray-section {
  padding-top: 42px;
}

.tray-heading {
  display: grid;
  gap: 10px;
  margin-bottom: 28px;
}

.tray-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px, 0.42fr) 34px minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-soft);
  box-shadow: var(--shadow);
}

.tray-core {
  position: relative;
  display: grid;
  min-height: 300px;
  place-items: center;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(246, 239, 223, 0.6), rgba(239, 225, 200, 0.45)),
    var(--paper);
}

.tray-core::after {
  display: none;
  position: absolute;
  right: -28px;
  width: 28px;
  height: 2px;
  background: var(--line);
  content: "";
}

.tray-core img {
  width: 164px;
  height: 164px;
  object-fit: cover;
  object-position: 62% center;
  mix-blend-mode: multiply;
}

.tray-core strong {
  margin-top: 14px;
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8rem;
  line-height: 1;
}

.tray-core span {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 700;
}

.tray-line {
  position: relative;
  width: 100%;
  align-self: stretch;
  min-height: 100%;
  pointer-events: none;
  z-index: 0;
}

.tray-line::before,
.tray-line::after,
.tray-line span {
  position: absolute;
  background: var(--line);
  content: "";
}

.tray-line::before {
  top: var(--tick-offset);
  bottom: var(--tick-offset);
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
}

.tray-line::after {
  top: 50%;
  left: -28px;
  right: 50%;
  height: 2px;
  transform: translateY(-50%);
}

.tray-line span {
  top: var(--tick-position);
  left: 50%;
  right: -28px;
  height: 2px;
  transform: translateY(-50%);
}

.tray-nodes {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.map-node {
  position: relative;
  display: grid;
  min-height: 154px;
  gap: 12px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  background: #fffdf6;
  color: var(--coffee);
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(58, 38, 28, 0.06);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.map-node:hover,
.map-node:focus-visible {
  border-color: rgba(122, 174, 154, 0.58);
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(58, 38, 28, 0.14);
  outline: none;
  transform: translateY(-3px);
}

.map-node:hover .node-icon,
.map-node:focus-visible .node-icon {
  background: var(--sage);
  color: #fffdf6;
  box-shadow: 0 0 0 5px rgba(122, 174, 154, 0.18), 0 10px 24px rgba(122, 174, 154, 0.28);
}

.map-node.is-soon {
  background: #f8ecd8;
}

.map-node.is-tech {
  border-style: dashed;
}

.node-icon,
.mini-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: rgba(122, 174, 154, 0.18);
  color: var(--coffee);
  transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.node-icon svg,
.mini-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.node-meta {
  display: grid;
  gap: 4px;
}

.node-meta strong {
  color: var(--coffee);
  line-height: 1.2;
}

.node-meta span,
.service-status,
.price-grid span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.price-preview {
  padding-top: 40px;
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.price-grid article,
.steps article,
.career-grid article,
.soft-panel,
.contact-card,
.service-card-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-soft);
  box-shadow: 0 12px 28px rgba(58, 38, 28, 0.07);
}

.price-grid article {
  display: grid;
  gap: 8px;
  min-height: 174px;
  padding: 22px;
}

.price-grid strong {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  line-height: 1.05;
}

.price-grid p,
.steps p,
.career-grid p,
.service-card-panel p,
.service-overview-grid p,
.subscription-card dd,
.subscription-note,
.soft-callout p,
.news-grid p {
  color: var(--muted);
}

.subscription-tabs {
  display: grid;
  gap: 22px;
}

.tab-buttons {
  display: inline-flex;
  width: fit-content;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 4px;
  background: var(--paper-soft);
}

.tab-buttons button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border: 0;
  border-radius: 6px;
  padding: 8px 14px;
  background: transparent;
  color: var(--coffee);
  font-weight: 900;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.tab-buttons button:hover,
.tab-buttons button:focus-visible {
  background: rgba(122, 174, 154, 0.14);
  outline: none;
  transform: translateY(-1px);
}

.tab-buttons button.is-active {
  background: var(--coffee);
  color: var(--paper-soft);
}

.tab-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: rgba(122, 174, 154, 0.18);
}

.tab-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tab-buttons button.is-active .tab-icon {
  background: rgba(255, 253, 246, 0.16);
}

.subscription-panel {
  display: none;
}

.subscription-panel.is-active {
  display: grid;
  gap: 18px;
}

.subscription-panel h3 {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
}

.subscription-grid,
.service-overview-grid,
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.news-feed-section {
  display: grid;
  gap: 24px;
}

.news-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
}

.news-tools label {
  display: grid;
  gap: 7px;
  color: var(--coffee);
  font-weight: 850;
}

.news-tools input {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  background: #fffdf6;
  color: var(--ink);
}

.public-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.public-news-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffdf6;
  box-shadow: 0 12px 28px rgba(58, 38, 28, 0.07);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.public-news-card:hover,
.public-news-card:focus-within {
  border-color: rgba(122, 174, 154, 0.58);
  box-shadow: 0 18px 38px rgba(58, 38, 28, 0.13);
  transform: translateY(-3px);
}

.public-news-card button {
  display: grid;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.public-news-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--paper-warm);
}

.public-news-card div {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.public-news-card span {
  color: var(--coffee-soft);
  font-size: 0.86rem;
  font-weight: 900;
}

.public-news-card h3 {
  font-size: 1.2rem;
}

.public-news-card p,
.empty-news {
  color: var(--muted);
}

.site-lightbox {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 24px;
  background: rgba(25, 18, 13, 0.82);
}

.site-lightbox[hidden] {
  display: none;
}

.site-lightbox figure {
  position: relative;
  display: grid;
  place-items: center;
  max-height: 92svh;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #14100d;
}

.site-lightbox img {
  max-height: 82svh;
  width: 100%;
  object-fit: contain;
}

.site-lightbox figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 14px 18px;
  background: rgba(20, 16, 13, 0.76);
  color: #fffaf0;
}

.site-lightbox.caption-hidden figcaption {
  display: none;
}

.site-lightbox-close,
.site-lightbox-nav {
  border: 1px solid rgba(255, 250, 240, 0.26);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 250, 240, 0.12);
  color: #fffaf0;
  font-weight: 900;
}

.site-lightbox-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
}

.subscription-card {
  position: relative;
  display: grid;
  gap: 14px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
  background: #fffdf6;
  box-shadow: 0 12px 28px rgba(58, 38, 28, 0.07);
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.subscription-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--sage), var(--sky), var(--caramel));
  content: "";
  opacity: 0.78;
}

.subscription-card:hover,
.subscription-card:focus-within {
  border-color: rgba(122, 174, 154, 0.58);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(58, 38, 28, 0.13);
  transform: translateY(-4px);
}

.subscription-card:hover .mini-icon,
.subscription-card:focus-within .mini-icon {
  background: var(--sage);
  color: #fffdf6;
  box-shadow: 0 0 0 5px rgba(122, 174, 154, 0.16), 0 10px 22px rgba(122, 174, 154, 0.22);
}

.subscription-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.subscription-card-head > div {
  display: grid;
  gap: 6px;
}

.subscription-card-head > div > span {
  color: var(--coffee-soft);
  font-size: 0.8rem;
  font-weight: 900;
  text-transform: uppercase;
}

.subscription-card strong {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  line-height: 1.05;
}

.subscription-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.subscription-card dl > div {
  display: grid;
  gap: 2px;
  border-top: 1px solid rgba(58, 38, 28, 0.1);
  padding-top: 10px;
}

.subscription-card dt {
  color: var(--coffee);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.subscription-card dd {
  margin: 0;
}

.subscription-note {
  max-width: 900px;
  font-weight: 800;
}

.welcome-band {
  padding-bottom: 96px;
}

.steps {
  display: grid;
  gap: 12px;
}

.steps article {
  padding: 20px;
}

.steps span {
  display: block;
  margin-bottom: 8px;
  color: var(--coffee);
  font-weight: 900;
}

.page-hero {
  padding: 80px 0 54px;
}

.compact-hero {
  max-width: 930px;
}

.page-hero p:not(.eyebrow) {
  margin-top: 20px;
}

.about-hero {
  padding-bottom: 32px;
}

.story-grid {
  padding-top: 42px;
}

.story-grid article {
  display: grid;
  gap: 18px;
}

.soft-panel {
  padding: 28px;
  background:
    linear-gradient(135deg, rgba(122, 174, 154, 0.16), rgba(184, 137, 111, 0.12)),
    var(--paper-soft);
}

.panel-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  object-fit: cover;
}

.future-grid,
.future-card-grid,
.more-service-grid,
.service-chip-list,
.page-jump-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.future-grid span,
.future-grid a,
.service-chip-list a,
.page-jump-list a {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 12px;
  background: var(--paper-soft);
  color: var(--coffee);
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
}

.service-overview {
  padding-top: 34px;
}

.service-overview-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  background: var(--paper-soft);
  color: inherit;
  box-shadow: 0 12px 28px rgba(58, 38, 28, 0.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.service-overview-card:hover,
.service-overview-card:focus-visible {
  border-color: rgba(122, 174, 154, 0.58);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(58, 38, 28, 0.13);
  outline: none;
  transform: translateY(-4px);
}

.service-overview-card:hover .mini-icon,
.service-overview-card:focus-visible .mini-icon {
  background: var(--sage);
  color: #fffdf6;
  box-shadow: 0 0 0 5px rgba(122, 174, 154, 0.16), 0 10px 22px rgba(122, 174, 154, 0.22);
}

.service-overview-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  object-fit: cover;
}

.service-overview-grid strong {
  color: var(--coffee);
}

.service-overview-card .inline-link {
  margin-top: auto;
}

.future-card-grid,
.more-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.future-card,
.more-service-grid article {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 218px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  background: var(--paper-soft);
  color: inherit;
  box-shadow: 0 12px 28px rgba(58, 38, 28, 0.07);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.future-card:hover,
.future-card:focus-visible,
.more-service-grid article:hover,
.more-service-grid article:focus-within {
  border-color: rgba(122, 174, 154, 0.58);
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(58, 38, 28, 0.13);
  outline: none;
  transform: translateY(-3px);
}

.future-card:hover .mini-icon,
.future-card:focus-visible .mini-icon,
.more-service-grid article:hover .mini-icon,
.more-service-grid article:focus-within .mini-icon {
  background: var(--sage);
  color: #fffdf6;
}

.future-card p,
.more-service-grid p {
  color: var(--muted);
}

.story-grid article h2,
.service-card-panel h2,
.soft-panel h2,
.news-grid h2,
.more-services h2 {
  font-size: 1.85rem;
  line-height: 1.14;
}

.soft-callout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(300px, 1fr);
  gap: 34px;
  align-items: start;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.service-chip-list a:hover,
.service-chip-list a:focus-visible,
.future-grid a:hover,
.future-grid a:focus-visible,
.page-jump-list a:hover,
.page-jump-list a:focus-visible {
  border-color: rgba(122, 174, 154, 0.58);
  outline: none;
  transform: translateY(-1px);
}

.career-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.career-grid article {
  display: grid;
  gap: 14px;
  min-height: 245px;
  padding: 22px;
}

.career-grid h2 {
  font-size: 1.55rem;
}

.contact-section {
  align-items: start;
}

.contact-card {
  padding: 28px;
}

.contact-card h2 {
  font-size: 2rem;
}

.friendly-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-soft);
  box-shadow: var(--shadow);
}

.friendly-form label {
  display: grid;
  gap: 8px;
  color: var(--coffee);
  font-weight: 800;
}

.friendly-form input,
.friendly-form select,
.friendly-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(58, 38, 28, 0.22);
  border-radius: 8px;
  padding: 11px 12px;
  background: #fffdf8;
  color: var(--ink);
}

.friendly-form textarea {
  resize: vertical;
}

.friendly-form input:focus,
.friendly-form select:focus,
.friendly-form textarea:focus {
  border-color: var(--sage);
  outline: 3px solid rgba(122, 174, 154, 0.2);
}

.span-2 {
  grid-column: 1 / -1;
}

.form-status {
  min-height: 22px;
  color: var(--coffee-soft);
  font-weight: 800;
}

.service-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.72fr);
  gap: 34px;
  max-width: 1180px;
  align-items: stretch;
}

.service-hero-no-photo {
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.54fr);
}

.service-hero-copy {
  display: grid;
  gap: 18px;
  align-content: center;
}

.service-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.crumb {
  width: fit-content;
  color: var(--coffee-soft);
  font-weight: 900;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.service-status {
  width: fit-content;
  border: 1px solid rgba(122, 174, 154, 0.36);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(122, 174, 154, 0.14);
  color: var(--coffee);
}

.service-status.soon {
  border-color: rgba(184, 137, 111, 0.32);
  background: rgba(184, 137, 111, 0.16);
}

.service-image img {
  aspect-ratio: 4 / 3;
  object-position: center;
}

.service-no-image {
  display: grid;
  gap: 14px;
  align-content: center;
  min-height: 320px;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(122, 174, 154, 0.16), rgba(141, 191, 210, 0.14)),
    var(--paper-soft);
  box-shadow: var(--shadow);
}

.service-no-image strong {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.9rem;
  line-height: 1.1;
}

.service-no-image p {
  max-width: 360px;
  color: var(--muted);
}

.service-layout {
  padding-top: 42px;
}

.service-copy {
  display: grid;
  gap: 24px;
}

.service-card-panel {
  padding: 24px;
}

.service-card-panel ul {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.service-aside {
  display: grid;
  gap: 16px;
}

.service-aside .soft-panel {
  display: grid;
  gap: 12px;
}

.service-aside h2 {
  font-size: 1.7rem;
}

.site-footer {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
  padding: 34px max(18px, calc((100% - 1180px) / 2));
  border-top: 1px solid var(--line);
  background: var(--paper-soft);
}

.footer-brand {
  display: grid;
  gap: 6px;
  max-width: 620px;
}

.footer-brand strong {
  color: var(--coffee);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.62rem;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0;
}

.footer-brand p {
  color: var(--coffee);
  font-weight: 900;
}

.land-acknowledgement {
  max-width: 720px;
  color: var(--muted);
  font-size: 0.94rem;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.footer-links a {
  color: var(--coffee);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.footer-dashboard-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.footer-dashboard-link img {
  width: 24px;
  height: 24px;
  border-radius: 5px;
  object-fit: cover;
}

.copyright {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.88rem;
}

.news-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1040px) {
  h1 {
    font-size: 3.35rem;
  }

  h2 {
    font-size: 2.2rem;
  }

  .home-hero,
  .split-section,
  .welcome-band,
  .contact-section,
  .story-grid,
  .service-layout,
  .service-hero,
  .soft-callout {
    grid-template-columns: 1fr;
  }

  .tray-map {
    grid-template-columns: 1fr;
  }

  .tray-core {
    min-height: 230px;
  }

  .tray-core::after,
  .tray-line {
    display: none;
  }

  .tray-nodes,
  .price-grid,
  .career-grid,
  .subscription-grid,
  .service-overview-grid,
  .future-card-grid,
  .more-service-grid,
  .news-grid,
  .public-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 740px) {
  .site-header {
    min-height: 70px;
    padding: 10px;
  }

  .brand strong {
    font-size: 1.22rem;
  }

  .nav-toggle {
    display: inline-grid;
    place-items: center;
  }

  .site-nav {
    position: fixed;
    top: 70px;
    left: 10px;
    right: 10px;
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--paper-soft);
    box-shadow: var(--shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  .site-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-nav a {
    min-height: 46px;
  }

  h1 {
    font-size: 2.45rem;
  }

  h2 {
    font-size: 1.85rem;
  }

  .story-grid article h2,
  .service-card-panel h2,
  .soft-panel h2,
  .news-grid h2,
  .subscription-panel h3,
  .service-no-image strong,
  .subscription-card strong {
    font-size: 1.55rem;
  }

  .contact-card h2 {
    font-size: 1.32rem;
  }

  .home-hero {
    min-height: auto;
    padding: 54px 0 72px;
  }

  .home-hero,
  .page-hero,
  .section {
    width: min(100% - 24px, 620px);
  }

  .hero-copy p:not(.eyebrow),
  .page-hero p,
  .section-head p,
  .split-section > p,
  .tray-heading p,
  .story-grid p,
  .contact-card p,
  .service-lead p,
  .service-copy p,
  .future-section p,
  .welcome-band p {
    font-size: 1rem;
  }

  .section {
    padding: 62px 0;
  }

  .page-hero {
    padding: 56px 0 28px;
  }

  .tray-map,
  .friendly-form,
  .soft-panel,
  .contact-card {
    padding: 18px;
  }

  .tray-nodes,
  .price-grid,
  .career-grid,
  .subscription-grid,
  .service-overview-grid,
  .future-card-grid,
  .more-service-grid,
  .news-grid,
  .public-news-grid,
  .friendly-form {
    grid-template-columns: 1fr;
  }

  .site-lightbox {
    grid-template-columns: 1fr;
    padding: 64px 14px 18px;
  }

  .site-lightbox-nav {
    width: 100%;
  }

  .map-node,
  .career-grid article,
  .future-card,
  .more-service-grid article {
    min-height: auto;
  }

  .span-2 {
    grid-column: auto;
  }

  .hero-actions,
  .page-actions,
  .jump-actions {
    display: grid;
  }

  .button {
    width: 100%;
  }

  .site-footer {
    grid-template-columns: 1fr;
    padding: 28px 14px;
  }

  .footer-brand {
    align-items: flex-start;
  }

  .footer-links {
    justify-content: flex-start;
  }

  .tab-buttons {
    width: 100%;
  }

  .tab-buttons button {
    flex: 1;
  }
}

@media (max-width: 390px) {
  h1 {
    font-size: 2.15rem;
  }

  h2 {
    font-size: 1.62rem;
  }

  .brand strong {
    font-size: 1.08rem;
  }
}

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

/* Coffee editorial design system — shared by every public page. */
:root{--bg-primary:var(--paper);--bg-secondary:var(--paper-soft);--text-primary:#302921;--text-secondary:#70665d;--accent:#d8c47a;--dark:#292620;--container-width:1440px;--section-spacing:120px;--radius:6px;--transition:220ms ease}
body{color:var(--text-primary);background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236f4d3b' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
h1,h2,h3,h4{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400;letter-spacing:-.045em;color:inherit;margin:0;line-height:1.12}p{margin:0}figure{margin:0}a{transition:color var(--transition),background var(--transition)}h1{font-size:clamp(44px,5.1vw,76px)}h2{font-size:clamp(36px,3.8vw,56px)}h3{font-size:28px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8b652e!important;outline-offset:5px}.page-width,.page-hero,.section{width:calc(100% - 112px);max-width:var(--container-width);margin-inline:auto}.eyebrow,.section-label{font-size:12px!important;font-weight:500!important;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.eyebrow{margin-bottom:26px;color:var(--text-secondary)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;width:fit-content;min-height:56px;padding:17px 26px;border-radius:4px;text-transform:uppercase;font-size:12px;font-weight:500;letter-spacing:.06em;line-height:1.5;text-decoration:none;box-shadow:none;transition:background var(--transition),color var(--transition);transform:none!important}.button-primary{background:var(--coffee);color:#fffaf0;border:1px solid var(--coffee)}.button-primary:hover{background:#554137;color:white}.button-secondary{background:transparent;border:1px solid var(--coffee);color:var(--coffee)}.button-light{background:#f6efdf;color:#302921;border:1px solid #f6efdf}.button-light:hover{background:var(--accent)}.inline-link{font-weight:500;text-underline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:14px;background:var(--paper)}.skip-link:focus{top:10px}
.site-header{position:relative;min-height:170px;max-width:1552px;margin:auto;padding:24px 56px;border:0;background:transparent;backdrop-filter:none;display:grid;grid-template-columns:240px 1fr;gap:12px}.brand{grid-row:1/3;width:210px}.brand img{width:210px;height:120px;object-fit:contain;mix-blend-mode:multiply}.header-quote{justify-self:end;align-self:end;padding:6px 16px;border-radius:30px;background:#e5d7a4;color:var(--coffee);font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.header-quote span{padding-left:15px}.site-nav{justify-content:flex-end;gap:26px;align-self:start}.site-nav a{font-size:14px;font-weight:400;padding:10px 0;border-radius:0;min-height:42px}.site-nav a:hover,.site-nav a.is-active{background:transparent;transform:none;text-decoration:underline;text-underline-offset:6px}.nav-toggle{display:none}
.editorial-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:60px;min-height:690px;padding:18px 0 0}.intro-copy{display:flex;flex-direction:column;align-items:flex-start;padding:36px 0 12px}.intro-copy h1{margin:15px 0 30px;font-weight:400}.intro-copy h1 span{color:var(--coffee-soft)}.intro-description{max-width:430px;font-size:18px;line-height:1.7;color:var(--text-secondary);margin-bottom:36px}.intro-copy .button{margin-top:auto;min-width:260px}.hero-note{margin-top:23px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.editorial-hero figure{position:relative;min-height:670px}.editorial-hero img{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:6px;object-position:54% center}.editorial-hero figcaption{position:absolute;bottom:25px;left:28px;color:white;font-size:12px;letter-spacing:.02em;text-shadow:0 1px 6px #222}.service-intro{display:grid;grid-template-columns:1fr 1.1fr;column-gap:70px;padding:140px 0 80px}.service-intro .eyebrow{grid-column:1/-1}.service-intro>p:last-child{align-self:end;max-width:420px;font-size:18px;color:var(--text-secondary);justify-self:end}.editorial-service{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:60px;min-height:760px}.service-editorial-copy{padding:18px 16px 22px 0;display:flex;flex-direction:column;align-items:flex-start}.section-label{display:flex;justify-content:space-between;width:100%;margin-bottom:38px;color:var(--text-secondary)}.section-label span:last-child{font-size:19px;letter-spacing:0}.service-editorial-copy h2{text-transform:uppercase;font-size:clamp(34px,3.6vw,54px);overflow-wrap:anywhere;margin-bottom:52px;letter-spacing:-.04em}.service-editorial-copy h3{font-size:29px;letter-spacing:-.035em;margin-bottom:24px;line-height:1.25}.service-editorial-copy>p{font-size:18px;line-height:1.8;color:var(--text-secondary);max-width:470px}.service-editorial-copy .service-meta{font-size:11px;margin:25px 0 44px;letter-spacing:.05em}.service-editorial-copy .button{margin-top:auto}.editorial-service figure{min-width:0}.editorial-service img{width:100%;height:100%;min-height:620px;max-height:740px;object-fit:cover;border-radius:6px}.editorial-service.reverse figure{grid-column:1;grid-row:1}.editorial-service.reverse .service-editorial-copy{grid-column:2;grid-row:1;padding-right:0}.specialties{padding-block:110px}.specialty-links{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;margin-top:50px}.specialty-links a{display:flex;gap:28px;align-items:center;border-top:1px solid var(--line);padding:26px 0;text-decoration:none;font-size:13px}.specialty-links span{font-size:23px;letter-spacing:-.025em;flex:1}.specialty-links a:hover{color:var(--coffee-soft)}.process-section{padding-block:80px 120px}.process-heading{display:grid;grid-template-columns:1fr 2fr}.process-list{list-style:none;margin:65px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}.process-list li{border-top:1px solid var(--line);padding-top:20px}.process-list span{font-size:12px;color:var(--coffee-soft)}.process-list h3{font-size:20px;letter-spacing:-.02em;margin:36px 0 18px}.process-list p{font-size:15px;color:var(--text-secondary)}.experience-section{padding:75px;background:linear-gradient(#191711b8,#191711b8),url('assets/post contruction .webp') center/cover;border-radius:6px;color:white}.experience-section .eyebrow{color:#e9dfce}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:48px 0 40px}.experience-grid article{padding:35px;border:1px solid #ffffff75;border-radius:6px}.experience-grid h3{font-size:27px;letter-spacing:-.02em;margin-bottom:24px}.experience-grid p{font-size:18px;line-height:1.75}.experience-grid span{display:block;color:#e3cf90;margin-top:25px;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.owner-section{padding-block:140px 70px}.owner-intro{display:grid;grid-template-columns:.65fr 1fr 1.4fr;gap:45px;margin-bottom:65px}.owner-intro h2{font-size:45px}.owner-intro h2 span{color:var(--coffee-soft)}.owner-intro>div>p{font-size:26px;line-height:1.6;letter-spacing:-.02em;margin-bottom:25px}.owner-portrait{display:grid;grid-template-columns:1fr 1fr;background:var(--paper-warm);border-radius:6px;overflow:hidden}.owner-portrait img{width:100%;height:620px;object-fit:cover;object-position:center 30%}.owner-portrait>div{padding:75px;align-self:center}.owner-portrait h3{font-size:38px;margin-bottom:30px}.owner-portrait p:not(.eyebrow){font-size:18px;color:var(--text-secondary);margin-bottom:35px}.contact-invitation{display:grid;grid-template-columns:1.2fr 1fr;gap:30px 90px;padding-block:90px 120px}.contact-invitation>.eyebrow{grid-column:1/-1;margin:0}.contact-invitation>div p{font-size:18px;color:var(--text-secondary);margin-bottom:30px;max-width:400px}.contact-email{display:block;width:fit-content;margin-top:25px;font-size:14px;text-underline-offset:5px}.full-image-cta{min-height:600px;padding:95px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;background:linear-gradient(#211e195e,#211e197d),url('assets/footer image.webp') center/cover;border-radius:6px 6px 0 0;gap:36px}.full-image-cta .eyebrow{color:white;margin:0}.full-image-cta h2{font-size:clamp(38px,4.4vw,64px);max-width:1000px}.cta-signature{font-weight:700;font-size:24px;letter-spacing:.15em;margin-top:15px}
.site-footer{max-width:var(--container-width);width:calc(100% - 112px);margin:0 auto 45px;background:var(--dark);color:#f6efdf;padding:65px 55px 30px;border:0;border-radius:0 0 6px 6px;display:grid;grid-template-columns:1fr 2fr;gap:55px 70px;min-height:420px}.footer-brand img{width:230px;height:auto;border-radius:3px}.footer-brand p{font-weight:400;color:#ded3c1;font-size:14px;margin-top:22px}.footer-navigation{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer-navigation a{font-size:21px;text-decoration:none}.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:60px;font-size:14px}.footer-contact .eyebrow{display:block;color:#c6bbaa;font-size:10px!important;margin-bottom:12px}.footer-contact a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:25px;grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:25px;font-size:11px;color:#d4cabc}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a{text-decoration:none}.land-acknowledgement{grid-column:1/-1;max-width:950px;font-size:11px;color:#b8afa1;margin-top:-28px}.site-footer a:hover{color:var(--accent)}
/* Existing routes retain their content and integrations in the same visual language. */
.page-hero{padding:70px 0 65px;max-width:var(--container-width)}.page-hero h1{max-width:1050px}.page-hero>p:not(.eyebrow){max-width:660px;font-size:20px;margin-top:28px}.section{padding-block:80px}.story-grid,.service-layout{gap:65px}.story-grid article,.soft-panel,.contact-card,.service-card-panel,.service-overview-card,.future-card,.more-service-grid article,.career-grid article{background:transparent;box-shadow:none;border-radius:0;border:0;padding:0}.story-grid p{margin-top:25px}.panel-image{border-radius:6px;max-height:680px;object-fit:cover;object-position:center 25%}.section-head{margin-bottom:45px}.service-overview-grid{grid-template-columns:1fr 1fr;gap:65px}.service-overview-card{border-top:1px solid var(--line);padding-top:24px}.service-overview-card img{aspect-ratio:4/3;object-fit:cover}.future-card-grid,.more-service-grid{gap:30px}.future-card,.more-service-grid article{border-top:1px solid var(--line);padding-top:25px}.service-image img{border-radius:6px;box-shadow:none;aspect-ratio:1;object-fit:cover}.contact-section{grid-template-columns:.8fr 1.4fr;gap:90px;padding-top:25px}.contact-card h2{font-size:clamp(20px,2.2vw,32px);overflow-wrap:anywhere;letter-spacing:-.025em}.contact-card p{margin-bottom:25px}.friendly-form{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;gap:26px}.friendly-form label{font-size:13px;font-weight:500;color:var(--text-primary)}.friendly-form input,.friendly-form select,.friendly-form textarea{border-radius:3px;background:#fffaf080;font-size:16px;min-height:52px}.form-help{font-size:13px;color:var(--text-secondary)}.form-status{font-size:14px;font-weight:400}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity 700ms ease,transform 700ms ease}.will-reveal.is-visible{opacity:1;transform:none}
@media(min-width:1800px){.editorial-hero{min-height:760px}.editorial-hero figure{min-height:740px}}
@media(max-width:1100px){.page-width,.page-hero,.section,.site-footer{width:calc(100% - 64px)}.site-header{padding-inline:32px;grid-template-columns:190px 1fr}.brand,.brand img{width:180px}.site-nav{gap:17px}.site-nav a{font-size:12px}.editorial-hero{gap:35px}.editorial-hero figure{min-height:620px}.editorial-service{gap:45px;min-height:650px}.editorial-service img{min-height:580px}.service-editorial-copy h2{font-size:36px}.service-editorial-copy h3{font-size:26px}.owner-portrait>div{padding:40px}.experience-section{padding:50px}.site-footer{gap:40px;padding:45px 35px}.footer-navigation a{font-size:18px}.contact-section{gap:40px}}
@media(max-width:1000px){.site-header{display:flex;min-height:105px;padding-block:8px}.brand,.brand img{width:155px;height:89px}.header-quote{margin-left:auto;align-self:center}.nav-toggle{display:grid;place-content:center;gap:4px;background:transparent;border:0;z-index:42}.nav-toggle span:not(.sr-only){display:block;width:23px;height:1px;background:var(--coffee)}.site-nav{display:none;position:fixed;inset:105px 0 0;padding:35px;z-index:40;background:var(--paper);overflow:auto;opacity:1;transform:none;border:0;border-radius:0;box-shadow:none}.site-nav.is-open{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}.site-nav a{font-size:28px;min-height:50px}.nav-open [data-site-header]{position:fixed;inset:0 0 auto;z-index:50;background:var(--paper)}.nav-open main{padding-top:105px}.editorial-hero{min-height:600px}.intro-copy h1{font-size:clamp(40px,5.5vw,60px)}.editorial-hero figure{min-height:580px}.intro-description{font-size:17px}.process-list{grid-template-columns:repeat(3,1fr)}.owner-intro{grid-template-columns:1fr 1.5fr}.owner-intro>.eyebrow{grid-column:1/-1;margin-bottom:0}.site-footer{grid-template-columns:1fr}.footer-brand{display:flex;max-width:none;align-items:center;justify-content:space-between}.footer-brand img{width:190px}.footer-main{width:100%}.service-hero{grid-template-columns:1fr 1fr}.contact-section{grid-template-columns:1fr}.contact-card{max-width:550px}}
@media(max-width:700px){:root{--section-spacing:75px}.page-width,.page-hero,.section,.site-footer{width:calc(100% - 40px)}.site-header{padding-inline:20px;gap:8px;min-height:95px}.brand,.brand img{width:130px;height:75px}.header-quote{font-size:9px;padding:7px 10px}.header-quote span{padding-left:5px}.site-nav{top:95px;padding:30px 24px}.nav-open main{padding-top:95px}.editorial-hero{grid-template-columns:1fr;gap:32px;padding-top:20px}.intro-copy{padding:0}.intro-copy .eyebrow{font-size:10px!important;margin:12px 0 8px}.intro-copy h1{font-size:clamp(40px,10.3vw,58px);margin:15px 0 25px}.intro-copy h1 br:nth-child(2){display:none}.intro-copy h1 span:before{content:' '}.intro-description{max-width:460px;margin-bottom:28px}.intro-copy .button{min-width:245px}.hero-note{display:none}.editorial-hero figure{min-height:430px}.editorial-hero figcaption{left:20px;bottom:18px;font-size:10px}.service-intro{grid-template-columns:1fr;padding:80px 0 35px;gap:23px}.service-intro .eyebrow{margin:0}.service-intro>p:last-child{justify-self:start;font-size:17px}.editorial-service,.editorial-service.reverse{grid-template-columns:1fr;gap:32px;padding:35px 0;min-height:0}.editorial-service figure,.editorial-service.reverse figure{grid-row:1;grid-column:1}.editorial-service .service-editorial-copy,.editorial-service.reverse .service-editorial-copy{grid-column:1;grid-row:2;padding:0}.editorial-service img{height:420px;min-height:0;max-height:none}.section-label{margin-bottom:22px}.service-editorial-copy h2{font-size:36px;margin-bottom:28px}.service-editorial-copy h3{font-size:26px;margin-bottom:16px}.service-editorial-copy>p{font-size:17px}.service-editorial-copy .service-meta{margin:22px 0 28px}.button{font-size:11px;width:fit-content;max-width:100%;gap:22px;padding:16px 21px}.specialties{padding:65px 0}.specialty-links{grid-template-columns:1fr;margin-top:35px}.specialty-links span{font-size:20px}.process-section{padding:35px 0 75px}.process-heading{grid-template-columns:1fr}.process-list{grid-template-columns:1fr;gap:26px;margin-top:40px}.process-list li{display:grid;grid-template-columns:32px 1fr;gap:8px 15px}.process-list h3{margin:0}.process-list p{grid-column:2}.experience-section{padding:40px 24px}.experience-grid{grid-template-columns:1fr;gap:20px;margin:35px 0}.experience-grid article{padding:25px}.experience-grid p{font-size:17px}.experience-grid h3{font-size:25px}.owner-section{padding:75px 0 20px}.owner-intro{grid-template-columns:1fr;gap:27px;margin-bottom:35px}.owner-intro h2{font-size:40px}.owner-intro>div>p{font-size:23px}.owner-portrait{grid-template-columns:1fr}.owner-portrait img{height:480px;object-position:center 30%}.owner-portrait>div{padding:35px 25px}.owner-portrait h3{font-size:32px}.owner-portrait p:not(.eyebrow){font-size:17px}.contact-invitation{grid-template-columns:1fr;gap:25px;padding:65px 0 75px}.contact-invitation h2{font-size:36px}.full-image-cta{min-height:530px;padding:65px 24px;gap:30px}.full-image-cta h2{font-size:38px}.full-image-cta .eyebrow{font-size:10px!important}.site-footer{padding:40px 25px 25px;gap:35px;margin-bottom:20px}.footer-brand{display:block}.footer-brand img{width:190px}.footer-brand p{font-size:12px}.footer-navigation{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-navigation a{font-size:20px}.footer-contact{grid-template-columns:1fr;gap:27px;margin-top:35px}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom>div{flex-wrap:wrap;gap:20px}.land-acknowledgement{margin-top:0;font-size:10px}.page-hero{padding:45px 0 35px}.page-hero h1{font-size:42px}.page-hero>p:not(.eyebrow){font-size:18px}.section{padding-block:45px}.service-hero,.service-layout,.story-grid,.service-overview-grid{grid-template-columns:1fr;gap:35px}.service-hero-copy h1{overflow-wrap:anywhere}.friendly-form{grid-template-columns:1fr;gap:22px}.span-2{grid-column:1/-1}.friendly-form .button{width:100%}.contact-card h2{font-size:26px}.future-card-grid,.more-service-grid{grid-template-columns:1fr}.service-overview-card{padding-top:25px}.panel-image{max-height:520px}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none}}
.service-directory{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.service-directory>a{display:flex;gap:20px;align-items:baseline;padding:27px 0;border-top:1px solid var(--line);text-decoration:none}.service-directory>a>span{font-size:12px;color:var(--text-secondary)}.service-directory>a>div{flex:1}.service-directory h3{font-size:22px;letter-spacing:-.025em}.service-directory p{font-size:14px;color:var(--text-secondary);margin-top:10px}.service-directory small{font-size:10px;white-space:nowrap}.service-directory>a:hover h3{color:var(--coffee-soft)}.service-aside{border-left:1px solid var(--line);padding-left:35px}.service-card-panel p{margin-top:22px}.service-card-panel .mini-icon{display:none}.service-card-panel+ .service-card-panel{border-top:1px solid var(--line);padding-top:30px}.service-overview-card:hover,.future-card:hover,.more-service-grid article:hover{box-shadow:none;transform:none;background:transparent}.service-status{border:1px solid var(--line);background:transparent}.service-no-image{box-shadow:none;background:var(--paper-warm)}
@media(max-width:700px){.service-directory{grid-template-columns:1fr}.service-directory>a{gap:12px}.service-directory h3{font-size:20px}.service-directory small{font-size:9px}.service-aside{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}}
@media(max-width:1000px){.brand{order:0}.header-quote{order:1}.nav-toggle{order:2}.site-nav{order:3}}
@media(max-width:700px){.intro-copy h1 span{display:block;margin-top:6px}.intro-copy h1 span br{display:none}.intro-copy h1 span:before{content:none}}
.service-image,.hero-media{padding:0;border:0;background:transparent;box-shadow:none}.service-image img{height:100%;min-height:420px}.button-soft{box-shadow:none}.button-soft:hover{box-shadow:none}.mini-icon{background:transparent;border:0;color:var(--coffee-soft)}
@media(max-width:700px){.service-image img{min-height:0;height:420px}}
/* A more personal Coffee identity: quieter navigation, varied image proportions,
   an informal photo journal, and a dedicated process route. */
.site-header{grid-template-columns:240px 1fr;min-height:140px}.brand{grid-row:auto}.site-nav{align-self:center;gap:36px}.editorial-hero{grid-template-columns:1.08fr 1fr;gap:65px}.intro-copy h1{font-size:clamp(42px,4.5vw,67px);line-height:1.12;max-width:690px}.intro-copy h1 span{display:block;margin-top:20px}.editorial-hero figure{min-height:650px}.editorial-hero img{object-position:43% center}.service-editorial-copy h2{text-transform:none;letter-spacing:-.045em}.editorial-service.reverse{grid-template-columns:1.18fr 1fr}.editorial-service.reverse img{max-height:620px}.process-link{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:45px 0 110px;align-items:center}.process-link>div>p:not(.eyebrow){font-size:19px;color:var(--text-secondary);max-width:440px;margin-bottom:30px}.experience-section{background:linear-gradient(#201a15ad,#201a15b8),url('assets/testimonial image.avif') center/cover}.experience-grid figure{padding:30px 0;border-top:1px solid #ffffff80}.review-category{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:#e3cf90}.experience-grid blockquote{margin:24px 0;font-size:20px;line-height:1.75}.experience-grid figcaption{font-size:19px;color:#e3cf90}.owner-intro{grid-template-columns:.7fr 1fr 1.4fr}.owner-portrait{background:transparent;gap:60px;grid-template-columns:.8fr 1.2fr;overflow:visible}.owner-portrait img{border-radius:6px;height:620px;object-position:center 40%}.owner-portrait>div{padding:40px 0 40px 35px}.personal-story{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-block:70px;align-items:center}.personal-photos{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:start}.personal-photos figure:nth-child(2){padding-top:100px}.personal-photos img{width:100%;height:430px;object-fit:cover;border-radius:5px}.personal-photos figure:first-child img{object-position:center 52%}.personal-photos figure:nth-child(2) img{height:340px;object-position:center 20%}.personal-photos figcaption{font-size:11px;color:var(--text-secondary);margin-top:13px}.personal-copy h2{font-size:42px;margin-bottom:30px}.personal-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:var(--text-secondary);margin-bottom:22px}.process-page{padding:30px 0 80px}.process-page .process-heading{display:none}.process-page .process-list{display:block;margin-top:0;counter-reset:process}.process-page .process-list li{display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:40px 25px;border-top:1px solid var(--line);transition:background 250ms ease,padding 250ms ease}.process-page .process-list h3{font-size:28px;margin:0}.process-page .process-list p{font-size:18px}.process-page .process-list span{font-size:18px}.process-page .process-list li:hover,.process-page .process-list li:focus-visible{background:var(--paper-warm);padding-left:40px;outline:2px solid transparent}.process-page .process-list li:focus-visible{outline-color:var(--coffee-soft);outline-offset:3px}.process-closing{padding:0 0 100px;display:flex;align-items:center;justify-content:space-between;gap:25px}.process-closing p{font-size:28px}
@media(max-width:1000px){.site-header{min-height:105px}.nav-toggle{margin-left:auto}.site-nav{gap:16px;align-items:flex-start}.editorial-hero{gap:35px}.intro-copy h1{font-size:clamp(40px,5.2vw,60px)}.personal-story{gap:40px;grid-template-columns:1fr 1fr}.personal-photos{gap:15px}.personal-photos img{height:360px}.personal-photos figure:nth-child(2) img{height:260px}.personal-copy h2{font-size:36px}.owner-portrait{gap:30px}.owner-portrait>div{padding:20px}.process-page .process-list li{grid-template-columns:40px 1fr 1fr;gap:25px}}
@media(max-width:700px){.site-header{min-height:95px}.editorial-hero{grid-template-columns:1fr;gap:30px}.intro-copy h1{font-size:43px}.intro-copy h1 span{margin-top:10px}.editorial-hero figure{min-height:430px}.editorial-service.reverse{grid-template-columns:1fr}.process-link{grid-template-columns:1fr;gap:25px;padding:25px 0 70px}.experience-grid blockquote{font-size:18px}.owner-intro{grid-template-columns:1fr}.owner-portrait{grid-template-columns:1fr;gap:20px}.owner-portrait img{height:480px}.owner-portrait>div{padding:20px 0}.personal-story{grid-template-columns:1fr;gap:35px;padding-block:35px}.personal-photos{gap:15px}.personal-photos img{height:330px}.personal-photos figure:nth-child(2){padding-top:65px}.personal-photos figure:nth-child(2) img{height:265px}.personal-copy h2{font-size:36px}.personal-copy>p:not(.eyebrow){font-size:17px}.process-page .process-list li{grid-template-columns:30px 1fr;gap:15px;padding:28px 10px}.process-page .process-list h3{font-size:25px}.process-page .process-list p{grid-column:2;font-size:17px}.process-page .process-list li:hover,.process-page .process-list li:focus-visible{padding-left:18px}.process-closing{align-items:flex-start;flex-direction:column;padding-bottom:70px}.process-closing p{font-size:25px}}
/* Stronger legibility while retaining Coffee's warm palette. */
:root{--text-primary:#251d17;--text-secondary:#51463d;--ink:#251d17;--muted:#55483e;--coffee-soft:#593d2d}
.footer-contact .eyebrow,.footer-bottom{color:#e8dfd0}.land-acknowledgement{color:#d3c9ba}.footer-brand p{color:#eee4d4}.experience-section .eyebrow{color:#fff5e6}.review-category,.experience-grid figcaption{color:#f0d99b}.footer-social{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:18px 28px;border-top:1px solid #ffffff30;padding-top:25px;font-size:13px;line-height:1.7}.footer-social a{text-decoration:none}.footer-social a:hover{text-decoration:underline;text-underline-offset:5px}.footer-social+.footer-bottom{border-top:0;padding-top:0}
body[data-page="about"] .personal-story{padding-top:40px;padding-bottom:90px}#our-story{scroll-margin-top:25px;border-top:1px solid var(--line)}.vision-section{display:grid;grid-template-columns:1.15fr .85fr;gap:85px;align-items:center}.vision-section .section-head{margin:0;max-width:none}.vision-section .section-head p:not(.eyebrow){margin-top:25px}.about-photo img{width:100%;height:650px;object-fit:cover;object-position:center 35%;border-radius:6px}.journey-section{align-items:start}.journey-photo{width:100%;height:480px;object-fit:cover;object-position:center 38%;border-radius:6px;margin-bottom:35px}.journey-section article:first-child .journey-photo{object-position:center 52%}
@media(max-width:1000px){.vision-section{gap:40px}.about-photo img{height:570px}.journey-photo{height:420px}}
@media(max-width:700px){body[data-page="about"] .personal-story{padding-top:25px;padding-bottom:60px}.vision-section{grid-template-columns:1fr;gap:30px}.about-photo img{height:470px}.journey-photo{height:420px;margin-bottom:25px}.journey-section{gap:55px}.footer-social{gap:15px 22px;font-size:12px}}
.footer-social{gap:12px}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#eee4d4;border:1px solid transparent;border-radius:50%;transition:color var(--transition),background var(--transition),border-color var(--transition)}.footer-social a:hover,.footer-social a:focus-visible{color:var(--accent);background:#ffffff09;border-color:#ffffff30}.footer-social svg{width:20px;height:20px;flex:none}
/* Editorial public pages: varied proportions, one focal photograph per story. */
body[data-page="about"] .personal-story{grid-template-columns:1fr 1.05fr;gap:100px;min-height:700px;align-items:center;padding-top:45px}.personal-copy h1{font-size:clamp(44px,4.5vw,66px);margin-bottom:35px}.memory-composition{position:relative;display:block;padding:0 75px 55px 0}.memory-composition figure:first-child{width:100%;max-width:370px}.memory-composition figure:first-child img{height:520px;object-position:center 50%}.memory-composition figure:nth-child(2){position:absolute;right:0;bottom:0;padding:10px;background:var(--paper);width:170px}.memory-composition figure:nth-child(2) img{height:auto;aspect-ratio:auto;object-fit:contain}.memory-composition figure:nth-child(2) figcaption{font-size:10px;margin:8px 0 0}.about-hero h2{font-size:clamp(38px,4.7vw,66px);max-width:1000px}.founder-editorial{display:grid;grid-template-columns:1.4fr .75fr;gap:130px;padding:30px 0 110px}.founder-story h2{font-size:35px;max-width:570px}.founder-story>p:not(.eyebrow){font-size:18px;line-height:1.85;color:var(--text-secondary);margin-top:25px}.founder-margin{align-self:center;border-left:1px solid var(--line);padding-left:40px}.founder-margin>p:not(.eyebrow){font-size:30px;line-height:1.5;letter-spacing:-.03em}.founder-margin span{display:block;font-size:12px;margin-top:28px;color:var(--text-secondary)}.story-spread{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center;padding:65px 0}.story-spread figure img{width:100%;height:680px;object-fit:cover;border-radius:6px;object-position:center 35%}.story-spread h2{font-size:clamp(36px,3.5vw,50px);margin-bottom:30px}.story-spread>div>p:not(.eyebrow){font-size:18px;line-height:1.85;margin-top:24px;color:var(--text-secondary)}.vision-section{padding-block:115px}.vision-section h2{font-size:clamp(36px,3.5vw,50px)}.learning-spread{grid-template-columns:.95fr 1.05fr;gap:100px}.learning-spread figure img{height:650px;object-position:center 28%}.story-thanks{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;padding:110px 0 130px;border-top:1px solid var(--line);margin-top:55px}.story-thanks>div>.eyebrow{display:none}.story-thanks h2{font-size:clamp(38px,4vw,58px);max-width:650px}.story-thanks>div>p{font-size:18px;line-height:1.8;margin-top:25px;max-width:680px;color:var(--text-secondary)}.story-thanks .button{margin-top:35px}
.route-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding-top:35px;padding-bottom:95px}.route-intro h1{font-size:clamp(42px,4.7vw,68px)}.route-intro>div>p:not(.eyebrow){font-size:19px;line-height:1.8;max-width:550px;color:var(--text-secondary);margin-top:28px}.route-intro figure img{width:100%;height:490px;object-fit:cover;border-radius:6px}.contact-card{border-top:1px solid var(--line);padding-top:28px}.career-grid{grid-template-columns:1fr 1fr;gap:45px 65px}.career-grid article{border-top:1px solid var(--line);padding-top:28px;min-height:0;gap:20px}.career-grid .mini-icon{display:none}.career-grid h2{font-size:32px}.news-grid{gap:65px}.news-grid article{border-top:1px solid var(--line);padding-top:28px}.news-grid p:not(.eyebrow){margin-top:22px;line-height:1.8}.news-feed-section{border-top:1px solid var(--line)}.empty-news{padding:40px 0;border-top:1px solid var(--line);color:var(--text-secondary)}.editorial-index{display:block}.editorial-index .service-overview-card{display:grid;grid-template-columns:1.05fr 1fr;gap:18px 70px;padding:55px 0;align-content:center;border-top:1px solid var(--line);min-height:430px}.editorial-index .service-overview-card img{grid-column:1;grid-row:1/5;height:340px;width:100%;aspect-ratio:auto}.editorial-index .service-overview-card h3{font-size:36px;align-self:end}.editorial-index .service-overview-card strong{font-weight:400;font-size:23px;letter-spacing:-.02em}.editorial-index .service-overview-card p{font-size:17px;line-height:1.8;max-width:500px}.editorial-index .service-overview-card .mini-icon{display:none}.editorial-index .service-overview-card .inline-link{margin:0;align-self:start}.editorial-index .service-overview-card:nth-child(even) img{grid-column:2}.editorial-index .service-overview-card:nth-child(even)>:not(img){grid-column:1}.editorial-index .service-overview-card:nth-child(even) h3{grid-row:1}.editorial-index .service-overview-card:nth-child(even) strong{grid-row:2}.editorial-index .service-overview-card:nth-child(even) p{grid-row:3}.editorial-index .service-overview-card:nth-child(even) .inline-link{grid-row:4}.service-copy{max-width:800px}.service-card-panel ul{padding-left:20px;line-height:1.9}.service-aside{gap:45px;align-content:start}.service-hero-copy h1{font-size:clamp(40px,4.7vw,68px);overflow-wrap:anywhere}.service-hero-copy>p:not(.eyebrow){font-size:20px;color:var(--text-secondary)}
@media(max-width:1000px){body[data-page="about"] .personal-story{gap:45px;min-height:600px}.memory-composition{padding-right:45px}.memory-composition figure:first-child img{height:470px}.memory-composition figure:nth-child(2){width:145px}.founder-editorial{gap:55px;grid-template-columns:1.3fr .8fr}.founder-margin{padding-left:25px}.founder-margin>p:not(.eyebrow){font-size:24px}.story-spread,.learning-spread{gap:45px}.story-spread figure img{height:600px}.route-intro{gap:40px}.route-intro figure img{height:450px}.editorial-index .service-overview-card{gap:18px 35px}.editorial-index .service-overview-card h3{font-size:30px}}
@media(max-width:700px){body[data-page="about"] .personal-story{display:flex;flex-direction:column-reverse;gap:40px;min-height:0;padding:25px 0 65px}.personal-copy h1{font-size:43px}.memory-composition{width:100%;padding:0 70px 40px 0}.memory-composition figure:first-child img{height:430px}.memory-composition figure:nth-child(2){width:135px}.founder-editorial{grid-template-columns:1fr;gap:45px;padding:10px 0 55px}.founder-story h2{font-size:32px}.founder-story>p:not(.eyebrow){font-size:17px}.founder-margin>p:not(.eyebrow){font-size:25px}.story-spread,.learning-spread{grid-template-columns:1fr;gap:32px;padding:40px 0}.story-spread figure img{height:480px}.story-spread h2{font-size:36px}.story-spread>div>p:not(.eyebrow){font-size:17px}.vision-section{padding-block:60px}.learning-spread figure img{height:470px}.story-thanks{grid-template-columns:1fr;gap:10px;padding:55px 0 70px;margin-top:30px}.story-thanks>div>p{font-size:17px}.route-intro{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:55px}.route-intro h1{font-size:42px}.route-intro>div>p:not(.eyebrow){font-size:17px}.route-intro figure img{height:310px}.career-grid,.news-grid{grid-template-columns:1fr;gap:35px}.editorial-index .service-overview-card{display:flex;flex-direction:column;gap:20px;padding:35px 0;min-height:0}.editorial-index .service-overview-card img{height:290px;order:-1}.editorial-index .service-overview-card h3{align-self:start;font-size:30px}.editorial-index .service-overview-card strong{font-size:22px}.editorial-index .service-overview-card .inline-link{margin-top:5px}.service-hero-copy h1{font-size:40px}}
