/* Shared finish layer: loaded last to keep every page in one visual system. */
:root {
  --finish-ink: #17261f;
  --finish-green: #18533c;
  --finish-green-deep: #0d3929;
  --finish-paper: #f5efdf;
  --finish-panel: #fffdf8;
  --finish-line: #ddd3bd;
  --finish-muted: #5e6b63;
  --finish-max: 1296px;
  --finish-gutter: clamp(22px, 4vw, 56px);
  --finish-radius: 16px;
  --finish-shadow: 0 14px 32px rgba(22, 54, 39, .08);
}

html { scroll-behavior: smooth; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #c99831;
  outline-offset: 3px;
}

/* Consistent interactive elements. */
.btn, .button, .tv-button, .figma-button, .nav-cta, .subhero-cta, .home-return {
  min-height: 46px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.btn:hover, .button:hover, .tv-button:hover, .figma-button:hover, .nav-cta:hover, .subhero-cta:hover, .home-return:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(17, 68, 47, .14);
}

.site .wrap, .figma-home .tv-container, .db-wrap {
  width: min(var(--finish-max), calc(100% - (var(--finish-gutter) * 2)));
}

/* Public-page content should share a calm, deliberate rhythm. */
.site .sec { padding-block: clamp(58px, 7vw, 100px); }
.site .card, .site .note-card, .site .usage-card, .site .product-panel {
  border-color: var(--finish-line);
  border-radius: var(--finish-radius);
  box-shadow: var(--finish-shadow);
}

.site .grid > .card, .site .usage-grid > *, .site .product-detail {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

@media (hover: hover) {
  .site .grid > .card:hover, .site .usage-grid > *:hover, .site .product-detail:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(22, 54, 39, .12);
    border-color: #b9cbbc;
  }
}

/* Avoid oversized split-photo sections while retaining their impact. */
.site .subhero:not(.partner-hero) { min-height: min(640px, 72vh); }
.site .subhero-image-panel { min-height: 400px; }
.site .home-return-wrap { padding-block: 30px 42px; }
.site .home-return { margin-top: 8px; }

/* About: keep the proof strip and founder cards compact and aligned. */
.site .stats-strip { margin-block: 26px 52px; }
.site .founder-grid { gap: clamp(20px, 2.5vw, 32px); }
.site .founder-grid .card { min-height: 0; }
.site .about-belief { padding-block: clamp(54px, 7vw, 90px); }

/* What-you-receive: stronger, even card rhythm. */
.site .usage-grid--expanded { gap: clamp(18px, 2vw, 28px); }
.site .usage-card { min-height: 270px; display: flex; flex-direction: column; }
.site .usage-card__benefit { margin-top: auto; }
.site .product-section { padding-block: clamp(58px, 7vw, 94px); }

/* Nature-partner pages: confident calls to action and controlled hero scale. */
.site .partner-hero { min-height: 0; padding-block: clamp(64px, 8vw, 104px); }
.site .partner-hero .subhero-copy { max-width: 760px; }
.site .partner-hero-actions { gap: 14px; }
.site .partner-hero-points { gap: 14px; margin-top: 28px; }
.site .partner-hero-points > * { border-radius: 12px; }
.site .partnership-grid, .site .partner-context__grid { gap: clamp(18px, 2vw, 28px); }
.site .form { border-radius: var(--finish-radius); box-shadow: var(--finish-shadow); }
.site .form .btn, .site .form button { min-height: 50px; }

/* Public record and private account are the same product family. */
.db-header, .footer { background: var(--finish-green-deep); }
.db-header { border-bottom: 1px solid rgba(255,255,255,.15); }
.db-wrap { padding-block: clamp(40px, 6vw, 76px); }
.db-wrap .card, .record-panel, .document-tile, .metric, .timeline, .partner-state, .important-note {
  border-color: var(--finish-line);
  border-radius: var(--finish-radius);
  box-shadow: var(--finish-shadow);
}
.metrics--record { gap: clamp(12px, 1.7vw, 20px); }
.metric { min-height: 150px; padding: 24px; }
.document-grid { gap: clamp(14px, 1.7vw, 20px); }
.document-tile { min-height: 150px; }
.record-actions { gap: 12px; }
.record-actions .button { min-height: 48px; }
.timeline { padding: clamp(22px, 3vw, 34px); }
.login.card { max-width: 620px; margin-inline: auto; }
.login .input, .login .field, .login input { min-height: 52px; border-radius: 10px; }
.login .button { min-height: 50px; }

@media (max-width: 860px) {
  .site .subhero:not(.partner-hero) { min-height: 0; }
  .site .subhero-image-panel { min-height: 280px; }
  .site .grid.grid-2, .site .grid.grid-3, .site .grid.grid-4,
  .site .usage-grid--expanded, .site .partner-context__grid, .site .partnership-grid {
    gap: 18px;
  }
  .db-wrap { width: min(100% - 32px, var(--finish-max)); }
  .metric { min-height: 126px; padding: 20px; }
}

@media (max-width: 620px) {
  .site .sec { padding-block: 48px; }
  .site .subhero-image-panel { min-height: 220px; }
  .site .partner-hero-actions { align-items: stretch; }
  .site .partner-hero-actions .btn, .site .partner-hero-actions .subhero-cta { width: 100%; justify-content: center; }
  .metrics--record { grid-template-columns: 1fr 1fr; }
  .record-actions .button { width: 100%; justify-content: center; }
}

/* Final page-specific finish: the lower half of the site should feel as considered as the opening. */
.figma-section--faq .figma-faq-layout,
.figma-section--contact .figma-contact-grid {
  align-items: start;
}
.figma-section--faq .figma-faq-guides { max-width: 500px; gap: 14px; }
.figma-section--faq .figma-faq-guide {
  min-height: 86px;
  padding: 18px 52px 18px 18px;
  background: linear-gradient(135deg, #fffefb, #f6f2e8);
}
.figma-section--faq .figma-faq-guide strong { font-size: 16px; }
.figma-section--faq .figma-faq-guide small { font-size: 13px; }
.figma-section--contact .figma-contact-steps { max-width: 500px; gap: 14px; }
.figma-section--contact .figma-contact-steps li {
  min-height: 82px;
  background: linear-gradient(135deg, #fffefb, #f4f0e5);
}
.figma-process { margin-top: clamp(34px, 5vw, 58px); }
.figma-process > * { min-height: 138px; }
.figma-process .figma-card-number {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 50%; background: rgba(24,83,60,.1); color: var(--finish-green);
  font-weight: 800; font-size: 12px;
}

/* The product suite is the commercial heart of the site. */
.figma-product-card { border-color: var(--finish-line); box-shadow: var(--finish-shadow); }
.figma-product-card__tag { letter-spacing: .08em; }
.figma-product-card__outcome { color: var(--finish-green); }
.figma-product-card a, .figma-product-card__link {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px;
  margin-top: 18px; font-weight: 800; color: var(--finish-green);
}
.figma-photo-break { min-height: 0; }
.figma-photo-break__copy, .figma-photo-break__image { min-height: 360px; }

/* About: keep the message and evidence close together. */
.site .founder-summary { padding-top: clamp(54px, 7vw, 88px); }
.site .founder-section { padding-top: clamp(46px, 6vw, 76px); }
.site .philosophy { margin-block: 0; }
.site .closer { padding-block: clamp(64px, 8vw, 100px); }

/* What You Receive: richer use-case cards, with less repeated blank paper. */
.site .usage-grid--expanded .usage-card {
  position: relative; overflow: hidden; background: linear-gradient(145deg, #fffefb, #f8f4e9);
}
.site .usage-grid--expanded .usage-card::after {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px;
  background: linear-gradient(90deg, var(--finish-green), #b9d5c2, transparent);
  opacity: .78;
}
.site .usage-grid--expanded .usage-card:nth-child(2n)::after { background: linear-gradient(90deg, #a8724d, #e5d2c2, transparent); }
.site .usage-grid--expanded .usage-card:nth-child(3n)::after { background: linear-gradient(90deg, #276871, #bfdce0, transparent); }
.site .usage-card__type { margin-top: 10px; }
.site .product-panel--visual { background: linear-gradient(145deg, #fffef9, #f1f6f0); }

/* Nature partners: more intent, less empty space. */
.site .partner-hero {
  background: linear-gradient(120deg, #0c3b2a, #17553c 58%, #174a36);
  color: #fff9ec;
}
.site .partner-hero h1, .site .partner-hero .lede, .site .partner-hero .eyebrow { color: inherit; }
.site .partner-hero .lede { max-width: 61ch; }
.site .partner-hero-points { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site .partner-hero-points li {
  min-height: 132px; padding: 20px; border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08); color: #fff9ec;
}
.site .partner-context { padding-bottom: clamp(48px, 6vw, 78px); }
.site .partner-context__grid .card { position: relative; padding-top: 38px; }
.site .partner-context__grid .card > span:first-child {
  position: absolute; top: 17px; right: 20px; color: rgba(24,83,60,.35); font-size: 12px; font-weight: 800;
}
.site .partnership-grid .card--icon-row { background: linear-gradient(145deg, #fffefb, #f6f2e8); }
.site .partner-note { border-left: 4px solid var(--finish-green); }

/* Live record: use explicit hierarchy rather than a collection of isolated boxes. */
.record-panel { position: relative; overflow: hidden; }
.record-panel::before {
  content: ''; position: absolute; width: 140px; height: 140px; right: -48px; top: -54px;
  border-radius: 50%; background: rgba(149,213,178,.2);
}
.record-panel > * { position: relative; }
.metrics-heading { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.metrics--record .metric { background: linear-gradient(145deg, #fffefb, #f3f8f2); }
.metrics--record .metric:nth-of-type(3n) { background: linear-gradient(145deg, #fffefb, #fbf3ea); }
.document-tile { display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(145deg, #fffefb, #f5f1e7); }
.document-tile--private { background: linear-gradient(145deg, #fbf4ec, #f7e8d8); }
.important-note { margin-top: 20px; border-left: 4px solid var(--finish-green); }
.partner-state { background: #f3f7f1; border-style: dashed; }

@media (max-width: 820px) {
  .site .partner-hero-points { grid-template-columns: 1fr; }
  .figma-photo-break__copy, .figma-photo-break__image { min-height: 280px; }
}
