html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: #fff; color: #18181b; font-family: 'Archivo', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, p, dl, dd, ol, ul, figure, blockquote { margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
button { font: inherit; }
::selection { background: #DB7F3B; color: #18181b; }
:focus-visible { outline: 2px solid #DB7F3B; outline-offset: 3px; }

:root {
  --orange: #DB7F3B;
  --orange-ink: #A3571A;
  --ink: #18181b;
  --muted: #52525b;
  --cream: #f7f1ea;
  --hex: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

.hex { clip-path: var(--hex); }
.display { font-family: var(--display); }
.mono { font-family: var(--mono); }
.wrap { margin: 0 auto; max-width: 72rem; padding: clamp(3rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem); }

.eyebrow { display: flex; align-items: center; gap: 0.5rem; font-family: var(--mono); font-size: 0.875rem; color: var(--orange-ink); }
.eyebrow .hex { width: 11px; height: 12px; flex-shrink: 0; background: var(--orange); }
.h2 { font-family: var(--display); margin-top: 0.75rem; font-size: clamp(1.75rem, 2.2vw + 1rem, 2.5rem); font-weight: 600; line-height: 1.12; letter-spacing: -0.04em; text-wrap: balance; }
.h3 { font-family: var(--display); font-weight: 600; }

.btn-dark { display: inline-flex; align-items: center; gap: 0.75rem; border-radius: 9999px; background: var(--ink); color: #fafafa; padding: 0.5rem 0.5rem 0.5rem 1.5rem; font-weight: 500; transition: transform 0.5s var(--ease); }
.btn-dark:hover { color: #fafafa; transform: translateY(-1px); }
.btn-dark:active { transform: scale(0.98); }
.btn-dark .dot, .btn-orange .dot { display: flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--orange); color: var(--ink); }
.btn-orange { display: inline-flex; align-items: center; gap: 0.75rem; border-radius: 9999px; background: var(--orange); color: var(--ink); padding: 0.5rem 0.5rem 0.5rem 1.5rem; font-weight: 500; transition: transform 0.5s var(--ease); }
.btn-orange:hover { color: var(--ink); transform: translateY(-1px); }
.btn-orange:active { transform: scale(0.98); }
.btn-orange .dot { background: var(--ink); color: #fafafa; }

.site-header { position: fixed; left: 0; right: 0; top: 0; z-index: 30; padding: clamp(1rem, 2vw, 1.5rem) 1rem 0;
  --nt-ink: #18181b; --nt-line: rgba(24,24,27,0.16); --nt-fill: rgba(255,255,255,0.7); --nt-word: #18181b; --nt-btn-bg: #18181b; --nt-btn-ink: #fafafa;
  --nav-bg: rgba(255,255,255,0.5); --nav-border: rgba(255,255,255,0.7); --nav-shadow: 0 12px 32px -18px rgba(120,72,32,0.28), inset 0 1px 0 rgba(255,255,255,0.6); }
.site-header.is-dark { --nt-ink: #fafafa; --nt-line: rgba(255,255,255,0.28); --nt-fill: rgba(39,39,42,0.7); --nt-word: #fafafa; --nt-btn-bg: #fafafa; --nt-btn-ink: #18181b;
  --nav-bg: rgba(24,24,27,0.42); --nav-border: rgba(255,255,255,0.1); --nav-shadow: 0 12px 32px -16px rgba(0,0,0,0.5); }
.nav { margin: 0 auto; max-width: 64rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-radius: 2rem; border: 1px solid var(--nav-border); background: var(--nav-bg); -webkit-backdrop-filter: blur(18px) saturate(1.6); backdrop-filter: blur(18px) saturate(1.6); padding: 0.5rem 0.5rem 0.5rem 1.25rem; box-shadow: var(--nav-shadow); transition: background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease; }
.brand { display: flex; align-items: center; gap: 0.625rem; }
.brand img { display: block; }
.wordmark { display: block; width: 86px; height: 18px; background-color: var(--nt-word); -webkit-mask: url(themes/hexmon_wordmark_crop.png) center / contain no-repeat; mask: url(themes/hexmon_wordmark_crop.png) center / contain no-repeat; transition: background-color 0.35s ease; }

.hexnav { position: relative; height: 44px; flex-shrink: 0; transition: width 0.42s cubic-bezier(0.4, 0, 0.2, 1); }
.hexnav-gap { position: absolute; top: 0; height: 44px; overflow: hidden; transition: left 0.42s cubic-bezier(0.4, 0, 0.2, 1), width 0.42s cubic-bezier(0.4, 0, 0.2, 1); }
.hexnav-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; padding-right: 10px; font-size: 0.875rem; font-weight: 500; color: var(--nt-ink); white-space: nowrap; transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), color 0.35s ease; }
.hexnav-label.is-out { opacity: 0; transform: translateX(-6px); transition: opacity 0.12s ease, transform 0.12s ease; }
.hexnav-cell { position: absolute; top: 0; width: 38px; height: 44px; background: var(--nt-line); clip-path: var(--hex); transition: left 0.42s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.35s; }
.hexnav-cell::after { content: ''; position: absolute; inset: 1.5px; background: var(--nt-fill); clip-path: var(--hex); transition: background-color 0.35s; }
.hexnav-roll { position: absolute; top: 0; left: 0; width: 38px; height: 44px; background: var(--orange); clip-path: var(--hex); transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1); }
.hexnav-btn { position: absolute; top: 0; width: 38px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; padding: 0; background: transparent; color: var(--nt-ink); cursor: pointer; clip-path: var(--hex); transition: left 0.42s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s, color 0.35s; }
.hexnav-btn:hover { background: rgba(219,127,59,0.18); }
.hexnav-btn i { font-size: 1.0625rem; }

.nav-actions { display: flex; align-items: center; gap: 0.5rem; }
.nav-cta { display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 9999px; background: var(--nt-btn-bg); color: var(--nt-btn-ink); padding: 0.375rem 0.375rem 0.375rem 1rem; font-size: 0.875rem; font-weight: 500; transition: transform 0.5s var(--ease), background-color 0.35s, color 0.35s; }
.nav-cta:hover { color: var(--nt-btn-ink); transform: translateY(-1px); }
.nav-cta:active { transform: scale(0.98); }
.nav-cta span { display: flex; width: 1.75rem; height: 1.75rem; align-items: center; justify-content: center; border-radius: 9999px; background: var(--orange); color: var(--ink); }
.menu-btn { position: relative; display: none; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 9999px; border: 0; background: transparent; cursor: pointer; padding: 0; }
.menu-btn span { position: absolute; height: 1px; width: 1.25rem; background: var(--nt-ink); transition: transform 0.5s var(--ease), background-color 0.35s; }
.menu-btn span:nth-child(1) { transform: translateY(-3px); }
.menu-btn span:nth-child(2) { transform: translateY(3px); }
.menu-btn[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
.menu-btn[aria-expanded="true"] span:nth-child(2) { transform: rotate(-45deg); }

.nav { flex-wrap: wrap; row-gap: 0; }
.nav-panel { display: none; flex-basis: 100%; grid-template-rows: 0fr; transition: grid-template-rows 0.5s var(--ease); }
.nav.is-open .nav-panel { grid-template-rows: 1fr; }
.nav-panel-inner { min-height: 0; overflow: hidden; display: flex; flex-direction: column; padding: 0 0.75rem; }
.nav-panel-inner a { display: block; padding: 0.875rem 0; font-size: 1.125rem; font-weight: 500; letter-spacing: -0.01em; color: var(--nt-ink); border-top: 1px solid var(--nt-line); transition: color 0.35s; }
.nav-panel-inner a:first-child { margin-top: 0.5rem; }
.nav-panel-inner a:last-child { margin-bottom: 0.5rem; }
.nav-panel-inner a.accent { color: var(--orange-ink); }
.site-header.is-dark .nav-panel-inner a.accent { color: var(--orange); }

@media (max-width: 759px) {
  .hexnav { display: none; }
  .menu-btn { display: flex; }
  .nav-panel { display: grid; }
}
@media (max-width: 639px) {
  .nav-cta { display: none; }
}

.hero { position: relative; overflow: hidden; background: var(--cream); }
.hero-pattern { position: absolute; inset: 0; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2252%22 height=%2290%22%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.45%22 stroke-width=%221.2%22/%3E%3C/svg%3E"); -webkit-mask-image: radial-gradient(ellipse 60% 90% at 85% 50%, #000 10%, transparent 75%); mask-image: radial-gradient(ellipse 60% 90% at 85% 50%, #000 10%, transparent 75%); }
.hero-inner { position: relative; margin: 0 auto; max-width: 72rem; padding: clamp(7rem, 10vw, 8.5rem) clamp(1rem, 4vw, 2rem) clamp(2.5rem, 5vw, 4rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: clamp(2rem, 5vw, 4rem); }
.hero-copy { flex: 1 1 400px; min-width: 0; max-width: 36rem; }
.tagline { display: flex; flex-wrap: wrap; align-items: center; column-gap: 0.75rem; row-gap: 0.25rem; font-family: var(--display); font-size: 1.375rem; font-weight: 500; line-height: 1.3; letter-spacing: -0.015em; }
.tagline .lead { display: flex; align-items: center; gap: 0.625rem; color: var(--orange-ink); }
.tagline .lead i { width: 14px; height: 16px; flex-shrink: 0; background: var(--orange); clip-path: var(--hex); }
.tagline .rest { color: var(--muted); }
.hero h1 { margin-top: 1.125rem; font-family: var(--display); font-size: clamp(2.75rem, 5vw + 1rem, 4.5rem); font-weight: 600; line-height: 1.04; letter-spacing: -0.045em; text-wrap: balance; }
.hero-lede { margin-top: 1.25rem; max-width: 34rem; font-size: 1.125rem; line-height: 1.625; color: var(--muted); text-wrap: pretty; }
.hero-actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }

.team { flex: 1 1 380px; min-width: 0; max-width: 33rem; margin: 0 auto; font-family: var(--display); border-radius: 1.25rem; background: #fefcfa; box-shadow: 0 0 0 1px rgba(24,24,27,0.09), 0 24px 48px -32px rgba(120,60,20,0.35); padding: 1.75rem 1.75rem 1.25rem; display: flex; flex-direction: column; gap: 0.25rem; }
.team-title { display: flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 1.125rem; line-height: 1.3; letter-spacing: -0.015em; color: var(--orange-ink); margin-bottom: 0.75rem; }
.team-title i { width: 13px; height: 15px; flex-shrink: 0; background: var(--orange); clip-path: var(--hex); }
.person + .person { border-top: 1px solid rgba(24,24,27,0.08); margin-top: 0.5rem; padding-top: 0.5rem; }
.person-row { display: flex; align-items: center; gap: 1.125rem; padding: 0.75rem 0; min-height: 152px; }
.avatar { position: relative; flex-shrink: 0; width: 6.5rem; height: 6.5rem; border-radius: 9999px; overflow: hidden; background: var(--cream); box-shadow: 0 0 0 1px rgba(24,24,27,0.09); }
.avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.person-role { font-weight: 500; font-size: 0.75rem; color: var(--orange-ink); }
.person-name { margin-top: 0.25rem; font-size: 1.4375rem; font-weight: 600; letter-spacing: -0.025em; }
.person-sum { margin-top: 0.25rem; font-family: 'Archivo', system-ui, sans-serif; font-size: 0.9375rem; line-height: 1.5; color: var(--muted); text-wrap: pretty; }
.person-toggle { margin-top: 0.625rem; display: inline-flex; align-items: center; gap: 0.375rem; border: 0; background: none; padding: 0; font-weight: 500; font-size: 0.75rem; color: var(--ink); cursor: pointer; white-space: nowrap; text-decoration: underline; text-decoration-color: rgba(24,24,27,0.25); text-underline-offset: 3px; }
.person-toggle:hover { text-decoration-color: var(--orange); }
.person-more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.55s var(--ease); }
.person.is-open .person-more { grid-template-rows: 1fr; }
.person-more > ul { overflow: hidden; min-height: 0; list-style: none; display: flex; flex-direction: column; gap: 0.625rem; opacity: 0; transition: opacity 0.4s ease; }
.person.is-open .person-more > ul { opacity: 1; padding: 0.25rem 0 1rem; transition-delay: 0.15s; }
.person-more li { display: flex; gap: 0.625rem; font-family: 'Archivo', system-ui, sans-serif; font-size: 0.875rem; line-height: 1.5; color: #3f3f46; text-wrap: pretty; }
.person-more li i { margin-top: 0.45rem; width: 7px; height: 8px; flex-shrink: 0; background: var(--orange); clip-path: var(--hex); }

.tour { position: relative; background: #18181b; }
.tour-stage { position: relative; height: 100vh; min-height: 40rem; display: flex; align-items: center; overflow: hidden; background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2252%22 height=%2290%22%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.045%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.17%22 stroke-width=%221.2%22/%3E%3C/svg%3E"); }
.tour-grid { margin: 0 auto; width: 100%; max-width: min(96rem, 100%); max-height: 100%; padding: 4.75rem clamp(1rem, 4vw, 3rem) 1rem; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: center; gap: clamp(1rem, 2.5vw, 3rem); }
.tour-device { flex: 5 1 420px; min-width: 0; max-width: calc((100vh - 9rem) * 1.9); }
.device-bezel { border-radius: 1.25rem; background: #3f3f46; padding: clamp(0.5rem, 1.4vw, 0.875rem); box-shadow: 0 40px 80px -30px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.12); }
.device-screen { container-type: inline-size; overflow: hidden; border-radius: 0.375rem; background: #000; font-family: 'Roboto Mono', 'IBM Plex Mono', monospace; user-select: none; -webkit-user-select: none; }
.device-body { aspect-ratio: 1885 / 920; display: grid; grid-template-rows: 20% 1fr 1fr; }
.device-top { display: flex; align-items: center; justify-content: space-between; padding: 0 2cqw; border-bottom: 0.35cqw solid #d4d4d8; }
.device-id { display: flex; align-items: center; gap: 1.4cqw; color: #E07B39; }
.device-id i { font-size: 3.2cqw; }
.device-id span { font-size: 2.7cqw; font-weight: 700; letter-spacing: 0.1em; }
.device-clock { display: flex; flex-direction: column; align-items: flex-end; color: #fff; }
.device-clock .d { font-size: 1.85cqw; letter-spacing: 0.04em; }
.device-clock .t { font-size: 4.4cqw; letter-spacing: 0.04em; line-height: 1.1; }
.device-cells { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-row: span 2; }
.cell { display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 1.6cqw 0 2cqw; min-width: 0; overflow: hidden; border: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; border-radius: 0; transition: opacity 0.5s, background-color 0.5s; opacity: 0.28; background: transparent; border-right: 0.35cqw solid #d4d4d8; border-bottom: 0.35cqw solid #d4d4d8; }
.cell:nth-child(3) { border-right: 0; }
.cell:nth-child(n+4) { border-bottom: 0; }
.cell:nth-child(6) { border-right: 0; }
.cell:hover { opacity: 1; }
.cell.is-on { opacity: 1; background: rgba(224,123,57,0.16); }
.cell .k { font-size: 2.15cqw; letter-spacing: 0.06em; color: #E07B39; }
.cell .v { font-size: 7.4cqw; font-weight: 700; letter-spacing: 0.04em; line-height: 1; color: #fff; }
.cell .u { font-size: 2.6cqw; font-weight: 700; color: #E07B39; }
.tour-caption { margin-top: 0.875rem; font-size: 0.8125rem; color: #a1a1aa; }

.tour-card { flex: 2 1 300px; min-width: 0; max-width: 30rem; border-radius: 1.25rem; background: #fff; padding: clamp(1.125rem, 3vw, 2rem); box-shadow: 0 0 0 1px rgba(24,24,27,0.09), 0 24px 48px -32px rgba(120,72,32,0.3); }
.tour-card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.tour-count { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--mono); font-size: 0.8125rem; color: var(--orange-ink); }
.tour-arrows { display: flex; gap: 0.5rem; }
.arrow { display: flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid rgba(24,24,27,0.12); background: #fff; color: var(--ink); cursor: pointer; transition: background-color 0.3s, transform 0.3s; }
.arrow:hover { background: #f4f4f5; }
.arrow.next { border: 0; background: var(--ink); color: #fafafa; }
.arrow.next:hover { transform: translateX(2px); background: var(--ink); }
.arrow:disabled { opacity: 0.35; cursor: default; }
.tour-name { font-family: var(--display); margin-top: 1.5rem; font-size: clamp(1.375rem, 2vw + 0.75rem, 2rem); font-weight: 600; letter-spacing: -0.025em; }
.tour-value { margin-top: 0.75rem; display: flex; align-items: baseline; gap: 0.5rem; }
.tour-value .n { font-family: var(--mono); font-size: 1.75rem; font-weight: 500; letter-spacing: -0.02em; }
.tour-value .u { font-family: var(--mono); font-size: 0.875rem; color: var(--orange-ink); }
.tour-text { margin-top: 0.75rem; line-height: 1.55; color: var(--muted); text-wrap: pretty; }
.tour-ref { margin-top: 1.25rem; border-top: 1px solid rgba(24,24,27,0.08); padding-top: 1rem; font-size: 0.875rem; line-height: 1.5; color: var(--ink); }
.tour-dots { margin-top: 1.5rem; display: flex; gap: 0.375rem; }
.tour-dots button { height: 4px; width: 10px; border: 0; padding: 0; border-radius: 9999px; background: #e4e4e7; cursor: pointer; transition: width 0.4s var(--ease), background-color 0.4s; }
.tour-dots button.is-on { width: 28px; background: var(--orange); }
.tour-hint { margin-top: 1rem; font-size: 0.75rem; color: #71717a; }
@media (max-height: 679px) {
  .tour-name, .tour-dots { margin-top: 0.875rem; }
  .tour-caption, .tour-ref, .tour-hint { display: none; }
}
@media (max-width: 759px) and (max-height: 859px) {
  .tour-caption, .tour-ref, .tour-hint { display: none; }
}

.fit-grid { margin-top: clamp(1.75rem, 3vw, 2.5rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1.25rem; }
.fit-card { border-radius: 1rem; background: #fff; padding: clamp(1.25rem, 2.5vw, 1.75rem); box-shadow: 0 0 0 1px rgba(24,24,27,0.09); }
.fit-card.no { background: rgba(24,24,27,0.04); box-shadow: none; }
.fit-card h3 { font-family: var(--display); font-size: 1.25rem; font-weight: 600; letter-spacing: -0.025em; }
.ticks { margin-top: 1.25rem; list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
.fit-card.no .ticks { color: var(--muted); }
.ticks li { display: flex; gap: 1rem; }
.ticks li > span:last-child { line-height: 1.6; }
.tick { flex-shrink: 0; display: flex; width: 22px; height: 24px; align-items: center; justify-content: center; background: var(--orange); color: var(--ink); clip-path: var(--hex); }
.tick.x { background: #d4d4d8; }
.tick i { font-size: 0.8125rem; }
.fit-quote { font-family: var(--display); margin: clamp(2rem, 4vw, 3rem) auto 0; max-width: 52rem; text-align: center; font-size: clamp(1.375rem, 1.6vw + 1rem, 1.875rem); font-weight: 500; line-height: 1.35; letter-spacing: -0.025em; text-wrap: balance; }
.fit-quote span { color: var(--orange-ink); }

.scale { position: relative; overflow: hidden; background: #18181b; color: #fafafa; }
.scale-pattern { position: absolute; inset: 0; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2252%22 height=%2290%22%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.045%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.17%22 stroke-width=%221.2%22/%3E%3C/svg%3E"); }
.scale-inner { position: relative; margin: 0 auto; max-width: 72rem; padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem); }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.75rem; }
.stat { border-top: 1px solid rgba(255,255,255,0.18); padding-top: 1.25rem; }
.stat.first { border-top: 2px solid var(--orange); }
.stat dt { color: var(--orange); font-family: var(--mono); font-size: clamp(2rem, 1.5vw + 1.5rem, 2.625rem); font-weight: 500; letter-spacing: -0.03em; }
.stat dd { margin-top: 0.5rem; line-height: 1.55; color: #d4d4d8; }

.measures-grid { margin-top: clamp(1.75rem, 3vw, 2.5rem); display: flex; flex-wrap: wrap; gap: 1.25rem; }
.m-feature { flex: 2 1 460px; display: flex; flex-direction: column; overflow: hidden; border-radius: 1rem; background: #fff; box-shadow: 0 0 0 1px rgba(24,24,27,0.09); }
.m-photo { flex: 1; min-height: 200px; position: relative; background: var(--cream); background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2252%22 height=%2290%22%3E%3Cpath d=%22M26 0L52 15L52 45L26 60L0 45L0 15Z M26 60L26 90%22 fill=%22none%22 stroke=%22%23DB7F3B%22 stroke-opacity=%220.35%22 stroke-width=%221.2%22/%3E%3C/svg%3E"); }
.m-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.m-feature-body { padding: clamp(1.25rem, 2.5vw, 1.75rem); }
.m-feature-body .row { display: flex; align-items: baseline; gap: 0.75rem; }
.m-feature-body h3 { font-family: var(--display); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.025em; }
.m-feature-body .tag { font-family: var(--mono); font-size: 0.875rem; color: var(--orange-ink); }
.m-feature-body p { margin-top: 0.75rem; max-width: 52ch; line-height: 1.625; color: var(--muted); }
.m-stack { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.m-card { border-radius: 1rem; background: #fff; padding: 1.5rem; box-shadow: 0 0 0 1px rgba(24,24,27,0.09); }
.m-card.tint { flex: 1; background: #fbefe5; box-shadow: none; }
.m-stack .m-card { flex: 1; }
.m-card.wide { flex: 1 1 320px; }
.m-card.dark { flex: 1 1 320px; background: #18181b; color: #fafafa; box-shadow: none; }
.m-head { display: flex; align-items: center; justify-content: space-between; }
.m-hex { display: flex; width: 40px; height: 44px; align-items: center; justify-content: center; background: var(--orange); color: var(--ink); clip-path: var(--hex); }
.m-hex i { font-size: 1.25rem; }
.m-unit { font-family: var(--mono); font-size: 0.8125rem; color: var(--orange-ink); }
.m-card.dark .m-unit { color: var(--orange); }
.m-card h3 { font-family: var(--display); margin-top: 0.875rem; font-size: 1.125rem; font-weight: 600; }
.m-card p { margin-top: 0.375rem; max-width: 46ch; line-height: 1.55; color: var(--muted); }
.m-card.dark p { color: #c4c4c9; }

.how { background: var(--cream); }
.steps { margin-top: clamp(1.75rem, 3vw, 2.5rem); list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.5rem; }
.steps li { border-top: 1px solid var(--ink); padding-top: 1.25rem; }
.step-n { display: flex; width: 40px; height: 44px; align-items: center; justify-content: center; background: var(--orange); color: var(--ink); font-family: var(--mono); font-size: 0.875rem; font-weight: 500; clip-path: var(--hex); }
.steps h3 { font-family: var(--display); margin-top: 0.875rem; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.02em; }
.steps p { margin-top: 0.625rem; line-height: 1.625; color: var(--muted); }
.shot-frame { margin-top: clamp(1.75rem, 3vw, 2.5rem); border-radius: 1.25rem; background: rgba(24,24,27,0.04); padding: 0.375rem; box-shadow: 0 0 0 1px rgba(24,24,27,0.09); }
.shot { width: 100%; overflow: hidden; border-radius: 0.875rem; background: #fff; aspect-ratio: 3766 / 1117; min-height: 220px; }
.shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shot-empty { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-family: var(--mono); font-size: 0.8125rem; color: #71717a; }

.cta-section { padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem) 1.5rem; }
.cta { margin: 0 auto; max-width: 72rem; border-radius: 1.5rem; background: #18181b; color: #fafafa; padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1.5rem, 5vw, 3.5rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2.5rem; }
.cta-copy { max-width: 36rem; }
.cta .eyebrow { color: var(--orange); }
.cta p.lede { margin-top: 1.25rem; font-size: 1.125rem; line-height: 1.6; color: #c4c4c9; }

.site-footer { margin: 0 auto; max-width: 72rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 3rem clamp(1rem, 4vw, 2rem); font-size: 0.875rem; color: var(--muted); }
.site-footer .l { display: flex; align-items: center; gap: 0.625rem; }
.site-footer .r { display: flex; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.5rem; }
.site-footer a:hover { color: var(--ink); }

.toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 40; display: flex; align-items: center; gap: 0.75rem; border-radius: 9999px; background: var(--ink); color: #fafafa; padding: 0.75rem 1.25rem; font-size: 0.9375rem; font-weight: 500; box-shadow: 0 16px 40px -12px rgba(0,0,0,0.4); opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: opacity 0.3s ease, transform 0.4s var(--ease); }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.spinner { width: 16px; height: 16px; border-radius: 9999px; border: 2px solid rgba(255,255,255,0.25); border-top-color: var(--orange); animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

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