:root {
  color-scheme: light;
  --paper: #f6f5f0;
  --paper-deep: #eeede6;
  --ink: #172323;
  --ink-soft: #485453;
  --green: #c8f36a;
  --green-dark: #a6d53e;
  --line: #d9d9d0;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --body: "Segoe UI", Arial, Helvetica, sans-serif;
  --display: "Segoe UI", Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: var(--body); }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { color: inherit; }
::selection { color: var(--ink); background: var(--green); }
.section-shell { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 10px; padding: 10px 16px; transform: translateY(-160%); color: var(--paper); background: var(--ink); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: relative; z-index: 10; border-bottom: 1px solid rgba(23, 35, 35, .1); }
.header-inner { width: min(1360px, calc(100% - 96px)); min-height: 88px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.wordmark { display: inline-flex; flex-direction: column; color: var(--ink); text-decoration: none; line-height: 1; }
.wordmark-name { font-family: var(--display); font-weight: 800; font-size: 23px; letter-spacing: -.075em; }
.wordmark-subtitle { margin-top: 6px; font-family: var(--mono); font-size: 9px; letter-spacing: .22em; }
.primary-navigation { display: flex; align-items: center; gap: clamp(20px, 3vw, 43px); }
.primary-navigation > a { color: var(--ink-soft); font-size: 13px; font-weight: 600; text-decoration: none; transition: color .2s ease; }
.primary-navigation > a:hover, .primary-navigation > a:focus-visible { color: #617f22; }
.primary-navigation .nav-cta { display: inline-flex; align-items: center; gap: 13px; padding: 12px 16px; color: var(--ink); border: 1px solid var(--ink); }
.nav-cta span { font-size: 16px; line-height: 1; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 620px; padding-top: 103px; padding-bottom: 88px; display: grid; grid-template-columns: 1fr .94fr; align-items: center; gap: 55px; }
.hero-copy { position: relative; z-index: 1; max-width: 590px; padding-bottom: 18px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: .105em; text-transform: uppercase; }
.eyebrow-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #83ac34; }
.hero h1, .section-heading h2, .intro-content h2, .gallery-heading h2, .contact-heading h2, .visit-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(48px, 6vw, 76px); font-weight: 600; line-height: 1.01; letter-spacing: -.07em; }
.hero h1 span, .section-heading h2 span, .intro-content h2 span, .gallery-heading h2 span, .contact-heading h2 span, .visit-copy h2 span { color: #829086; }
.hero-intro { max-width: 495px; margin: 27px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 33px; }
.button { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 17px; padding: 0 18px; border: 1px solid transparent; font-size: 12px; font-weight: 700; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 16px; line-height: 1; }
.button-dark { color: #fff; background: var(--ink); }
.button-dark:hover { background: #314342; }
.text-link { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.text-link span { color: #6d8c2b; font-size: 17px; transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.hero-note { position: absolute; bottom: -57px; left: 0; display: flex; align-items: center; gap: 11px; color: #727b74; font-family: var(--mono); font-size: 9px; letter-spacing: .03em; }
.note-line { width: 27px; height: 1px; background: #8b9a83; }
.hero-art { position: relative; min-height: 420px; overflow: hidden; background: #dbe4cf; isolation: isolate; }
.hero-art::before { position: absolute; z-index: -2; top: 0; right: 0; bottom: 0; left: 0; background: radial-gradient(ellipse at 87% 11%, rgba(246,245,240,.9) 0 1px, transparent 2px), linear-gradient(140deg, #c9d7be 0%, #dbe4cf 48%, #c1d0b3 100%); background-size: 26px 26px, auto; content: ""; }
.art-ring { position: absolute; z-index: -1; border: 1px solid rgba(23,35,35,.16); border-radius: 50%; }
.art-ring-one { top: 8%; left: 16%; width: 77%; aspect-ratio: 1; }
.art-ring-two { top: 21%; left: 30%; width: 61%; aspect-ratio: 1; }
.art-orbit { position: absolute; top: 3%; right: 2%; width: 56%; aspect-ratio: 1; border: 1px solid rgba(23,35,35,.2); border-radius: 50%; transform: rotate(-25deg) scaleY(.66); }
.art-sun { position: absolute; top: 15%; right: 19%; width: 87px; height: 87px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 13px rgba(200,243,106,.16); }
.art-card { position: absolute; z-index: 1; top: 50%; left: 50%; width: 56%; min-width: 214px; min-height: 257px; padding: 21px; display: flex; flex-direction: column; justify-content: space-between; color: var(--paper); background: var(--ink); box-shadow: 0 24px 60px rgba(23,35,35,.2); transform: translate(-50%, -47%) rotate(-4deg); }
.art-card-kicker, .art-index { font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }
.art-card-title { font-family: var(--display); font-size: clamp(27px, 3vw, 40px); font-weight: 500; line-height: 1.04; letter-spacing: -.07em; }
.art-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: var(--mono); font-size: 8px; }
.art-card-footer b { color: var(--green); font-size: 13px; font-weight: 400; }
.art-card-mark { color: var(--green); font-family: var(--display); font-size: 22px; font-weight: 800; }
.art-tag { position: absolute; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 9px 12px; color: var(--ink); background: var(--paper); box-shadow: 0 5px 15px rgba(23,35,35,.1); font-size: 9px; font-weight: 700; }
.art-tag-top { top: 19%; left: 4%; transform: rotate(-3deg); }
.art-tag-bottom { right: 3%; bottom: 17%; transform: rotate(3deg); }
.tag-mark { font-size: 14px; }
.tag-dot { width: 6px; height: 6px; border-radius: 50%; background: #7eaa2d; }
.art-index { position: absolute; right: 14px; bottom: 13px; color: rgba(23,35,35,.7); }
.scroll-cue { position: absolute; bottom: 24px; left: 0; display: flex; align-items: center; gap: 10px; color: #748078; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.scroll-cue-line { width: 34px; height: 1px; background: #99a494; }

.intro-band { padding: 94px 0 48px; color: var(--paper); background: var(--ink); }
.eyebrow-light { color: #bdc6bd; }
.eyebrow-light .eyebrow-dot { background: var(--green); }
.intro-grid { display: grid; grid-template-columns: 1fr 2.1fr; column-gap: 50px; }
.intro-grid > .eyebrow { grid-column: 1 / -1; }
.intro-content { display: grid; grid-column: 1 / -1; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: start; margin-top: 8px; }
.intro-content h2, .visit-copy h2 { font-size: clamp(43px, 5vw, 61px); }
.intro-content h2 span, .visit-copy h2 span { color: var(--green); }
.intro-description { max-width: 470px; padding-top: 7px; color: #bdc6bd; font-size: 14px; line-height: 1.8; }
.intro-description p { margin: 0 0 13px; }
.text-link-light { margin-top: 14px; color: var(--paper); }
.text-link-light span { color: var(--green); }
.intro-bottomline { display: flex; grid-column: 1 / -1; justify-content: space-between; margin-top: 76px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.17); color: #97a49b; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }

.ventures-section { padding-top: 112px; padding-bottom: 107px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 43px; }
.section-heading h2, .gallery-heading h2, .contact-heading h2 { font-size: clamp(44px, 5vw, 62px); }
.section-heading-copy { max-width: 342px; margin: 0 3px 6px 0; color: #68736d; font-size: 13px; line-height: 1.8; }
.venture-grid { display: grid; grid-template-columns: 1.12fr 1fr .83fr; align-items: stretch; gap: 15px; }
.venture-card { position: relative; min-height: 497px; overflow: hidden; padding: 21px 23px 25px; background: #e9e9df; }
.venture-card-featured { background: #dfe5d6; }
.venture-card-app { background: #e8e7df; }
.venture-card-future { background: #eee8de; }
.venture-card-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.venture-number, .venture-type { font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.venture-number { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; border: 1px solid rgba(23,35,35,.3); border-radius: 50%; }
.venture-type { color: #58645c; }
.ice-cream-illustration, .app-illustration, .future-illustration { position: relative; height: 163px; margin: 9px -5px 0; }
.ice-cream-shadow { position: absolute; top: 35px; left: 50%; width: 170px; height: 94px; border: 1px solid rgba(23,35,35,.25); border-radius: 50%; transform: translateX(-50%) rotate(-18deg); }
.ice-cream-stick { position: absolute; top: 86px; left: 50%; width: 30px; height: 73px; border-radius: 0 0 13px 13px; background: #d1a77d; transform: translateX(-50%) rotate(12deg); }
.ice-cream-bar { position: absolute; top: 23px; left: 50%; width: 96px; height: 116px; overflow: hidden; border: 1px solid rgba(23,35,35,.22); border-radius: 48px 48px 36px 36px; background: #d78d72; transform: translateX(-50%) rotate(12deg); }
.ice-cream-bar i { position: absolute; top: 0; bottom: 0; width: 16px; background: rgba(255,232,197,.56); }
.ice-cream-bar i:nth-child(1) { left: 15px; }
.ice-cream-bar i:nth-child(2) { left: 49px; }
.ice-cream-bar i:nth-child(3) { right: 5px; }
.ice-cream-spark { position: absolute; color: #728b56; font-size: 20px; }
.spark-one { top: 22px; left: 19%; }
.spark-two { right: 19%; bottom: 19px; font-size: 13px; }
.venture-card-content { position: relative; z-index: 1; }
.card-kicker { margin: 0 0 7px; color: #657064; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.venture-card-content h3 { margin: 0; font-family: var(--display); font-size: 27px; font-weight: 600; line-height: 1.12; letter-spacing: -.055em; }
.venture-card-content > p:not(.card-kicker) { max-width: 420px; margin: 12px 0 0; color: #5b655e; font-size: 12px; line-height: 1.7; }
.venture-card-content .clarification-note { color: #727b73 !important; font-size: 10px !important; font-style: italic; }
.venture-card-content .text-link, .venture-card-content .button, .link-pending { margin-top: 18px; }
.venture-card-content .text-link { font-size: 10px; }
.card-watermark { position: absolute; right: -3px; bottom: -59px; color: rgba(255,255,255,.48); font-family: var(--display); font-size: 230px; font-weight: 800; line-height: 1; }
.app-illustration { height: 163px; }
.app-window { position: absolute; top: 15px; left: 50%; width: 166px; height: 139px; overflow: hidden; border: 1px solid rgba(23,35,35,.2); border-radius: 6px; background: #f7f6ef; box-shadow: 0 12px 25px rgba(23,35,35,.1); transform: translateX(-50%) rotate(-7deg); }
.app-window-top { height: 19px; padding: 0 7px; display: flex; align-items: center; gap: 3px; background: #d5ddce; }
.app-window-top span { width: 4px; height: 4px; border-radius: 50%; background: #778576; }
.app-window-content { position: relative; padding: 11px; }
.app-window-mark { position: absolute; top: 9px; right: 12px; display: grid; width: 21px; height: 21px; place-items: center; color: var(--ink); background: var(--green); font-family: var(--display); font-size: 13px; font-weight: 800; }
.app-window-line { display: block; width: 69px; height: 4px; margin-top: 8px; background: #ccd2c6; }
.app-window-line-long { width: 100px; margin-top: 6px; background: #7a8977; }
.app-window-shape { display: block; width: 100%; height: 45px; margin-top: 13px; background: linear-gradient(145deg, #d6e4be, #c6d4c1); }
.app-orbit { position: absolute; left: 50%; width: 260px; height: 87px; border: 1px solid rgba(23,35,35,.16); border-radius: 50%; transform: translateX(-50%) rotate(-16deg); }
.app-orbit-one { top: 48px; }
.app-orbit-two { top: 47px; transform: translateX(-50%) rotate(20deg); }
.app-spark { position: absolute; top: 18px; right: 18%; color: #789a3b; font-size: 20px; }
.future-illustration { overflow: hidden; }
.future-cross { position: absolute; top: 17px; left: 17%; color: #8da471; font-family: var(--display); font-size: 34px; }
.future-circle { position: absolute; top: 29px; left: 50%; width: 105px; height: 105px; border: 1px solid #88987e; border-radius: 50%; transform: translateX(-50%); }
.future-square { position: absolute; top: 54px; left: 50%; width: 67px; height: 67px; border: 1px solid #d58a6e; transform: translateX(-50%) rotate(45deg); }
.future-line { position: absolute; top: 95px; left: 14%; width: 72%; height: 1px; background: rgba(23,35,35,.25); transform: rotate(-15deg); }
.future-label { position: absolute; top: 61px; left: 50%; color: var(--ink); font-family: var(--mono); font-size: 9px; line-height: 1.4; letter-spacing: .13em; text-align: center; transform: translateX(-50%); }
.future-illustration::after { position: absolute; top: 6px; right: 20%; width: 10px; height: 10px; border-radius: 50%; background: var(--green-dark); content: ""; }
.button-outline { color: var(--ink); border-color: rgba(23,35,35,.4); background: transparent; }
.button-outline:hover { border-color: var(--ink); background: rgba(255,255,255,.35); }
.button-outline span { font-size: 15px; }
.link-pending { display: block; color: #68736d; font-family: var(--mono); font-size: 9px; letter-spacing: .04em; }
.is-hidden[hidden] { display: none; }
.portfolio-footnote { display: flex; align-items: center; gap: 10px; margin: 21px 0 0; color: #6f7971; font-size: 10px; }
.footnote-star { color: #819e43; font-size: 16px; }

.gallery-section { padding: 87px 0 102px; background: #e9e9e1; }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 36px; }
.gallery-heading > p { max-width: 334px; margin: 0 0 6px; color: #66716a; font-size: 13px; line-height: 1.8; }
.gallery-empty { position: relative; min-height: 290px; overflow: hidden; display: grid; grid-template-columns: .95fr 1fr; align-items: center; padding: 45px 8%; border: 1px solid #d2d5c9; background: #f1f1ea; }
.gallery-empty-art { position: relative; width: 100%; height: 180px; }
.gallery-frame { position: absolute; top: 50%; left: 50%; width: 177px; height: 121px; display: flex; align-items: end; justify-content: center; gap: 10px; padding: 15px; border: 1px solid #aab6a0; transform: translate(-50%, -50%) rotate(-5deg); }
.gallery-frame i { display: block; width: 30px; height: 43px; background: #c8d4bc; }
.gallery-frame i:nth-child(2) { height: 72px; background: #e1ccae; }
.gallery-frame i:nth-child(3) { height: 55px; background: #c5d1c5; }
.gallery-orbit { position: absolute; top: 50%; left: 50%; width: 230px; height: 120px; border: 1px solid #c2c9b7; border-radius: 50%; transform: translate(-50%, -50%) rotate(35deg); }
.gallery-star { position: absolute; z-index: 1; top: 1px; right: 13%; color: #8da45e; font-size: 23px; }
.gallery-empty-copy { max-width: 350px; padding: 15px 0; }
.gallery-status { display: inline-block; padding: 5px 9px; color: #4b6130; background: #deebc9; font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.gallery-empty-copy h3 { margin: 14px 0 10px; font-family: var(--display); font-size: 27px; font-weight: 600; line-height: 1.16; letter-spacing: -.05em; }
.gallery-empty-copy p { max-width: 320px; margin: 0; color: #69736b; font-size: 12px; line-height: 1.75; }
.gallery-index { position: absolute; right: 18px; bottom: 15px; color: #7e897f; font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }

.contact-section { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(45px, 8vw, 120px); padding-top: 111px; padding-bottom: 112px; }
.contact-heading > p:not(.eyebrow) { max-width: 405px; margin: 23px 0 0; color: #66716a; font-size: 13px; line-height: 1.8; }
.contact-pathways { display: grid; gap: 0; margin-top: 31px; }
.pathway { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px solid var(--line); color: #46524a; font-size: 12px; }
.pathway:last-child { border-bottom: 1px solid var(--line); }
.pathway-number { color: #819346; font-family: var(--mono); font-size: 9px; }
.contact-form-wrap { padding: 28px 29px 25px; background: #e9e9e1; }
.form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin: 0 0 20px; font-family: var(--display); font-size: 19px; font-weight: 600; letter-spacing: -.04em; }
.form-heading span { color: #757e75; font-family: var(--mono); font-size: 8px; font-weight: 400; letter-spacing: .02em; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
.form-field label { color: #4c5950; font-size: 10px; font-weight: 700; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid #d0d3c9; border-radius: 0; outline: none; color: var(--ink); background: #f8f8f3; font-size: 12px; transition: border-color .15s ease, box-shadow .15s ease; }
.form-field input, .form-field select { min-height: 43px; padding: 0 11px; }
.form-field textarea { min-height: 117px; padding: 10px 11px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: #839f50; box-shadow: 0 0 0 3px rgba(131,159,80,.17); }
.form-privacy { margin: 0 0 16px; color: #707a71; font-size: 10px; line-height: 1.65; }
.form-submit { min-height: 46px; cursor: pointer; }
.form-status { min-height: 0; margin: 0; font-size: 11px; line-height: 1.6; }
.form-status:not(:empty) { margin-top: 13px; padding: 11px 12px; border-left: 2px solid #7d9a40; color: #344231; background: #edf1e6; }
.form-setup-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #d0d3c9; color: #68736a; font-size: 10px; line-height: 1.6; }

.visit-band { padding: 84px 0 77px; color: var(--paper); background: #253331; }
.visit-inner { display: grid; grid-template-columns: .7fr 1.1fr .6fr; align-items: center; gap: 46px; }
.visit-copy h2 { font-size: clamp(42px, 4vw, 53px); }
.visit-copy > p:not(.eyebrow) { max-width: 252px; margin: 17px 0 0; color: #c0c9c0; font-size: 12px; line-height: 1.75; }
.visit-map { position: relative; min-height: 206px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: #344340; }
.map-grid { position: absolute; inset: 0; overflow: hidden; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 31px 31px; }
.map-grid::before, .map-grid::after { position: absolute; width: 70%; height: 1px; background: rgba(200,243,106,.24); content: ""; transform: rotate(-25deg); }
.map-grid::before { top: 42%; left: 6%; }
.map-grid::after { top: 68%; left: 24%; transform: rotate(18deg); }
.map-road { position: absolute; z-index: 1; height: 1px; background: rgba(255,255,255,.15); }
.road-one { top: 29%; left: -4%; width: 70%; transform: rotate(22deg); }
.road-two { top: 56%; right: -9%; width: 75%; transform: rotate(-30deg); }
.road-three { top: 76%; left: 7%; width: 42%; transform: rotate(-8deg); }
.map-pin { position: absolute; z-index: 2; top: 34%; left: 53%; width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid var(--green); border-radius: 50% 50% 50% 0; background: rgba(200,243,106,.13); transform: rotate(-45deg); }
.map-pin i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.map-dot { position: absolute; z-index: 1; width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.55); }
.map-dot-one { top: 24%; left: 28%; }
.map-dot-two { top: 71%; left: 73%; }
.map-dot-three { top: 56%; left: 24%; }
.map-caption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 13px 14px 11px; background: linear-gradient(transparent, rgba(14,24,23,.82)); }
.map-caption > span:first-child { display: grid; gap: 3px; }
.map-caption b { font-family: var(--mono); font-size: 8px; font-weight: 400; letter-spacing: .07em; }
.map-caption > span:first-child > span { color: #c1cbc0; font-size: 9px; }
.map-coordinate-note { color: #bdc9b6; font-family: var(--mono); font-size: 7px; line-height: 1.4; letter-spacing: .09em; text-align: right; }
.visit-action { display: flex; flex-direction: column; align-items: flex-start; }
.visit-address { margin: 0; color: #c0c9c0; font-size: 11px; }
.button-light { margin-top: 18px; color: var(--ink); background: var(--green); }
.button-light:hover { background: #d9f89e; }
.link-pending-light { margin-top: 17px; color: #c0c9c0; }
.site-footer { padding-top: 54px; background: var(--paper); }
.footer-main { display: grid; grid-template-columns: 1.7fr 1fr 1.2fr 1fr; gap: 40px; padding-bottom: 45px; }
.wordmark-footer .wordmark-name { font-size: 21px; }
.footer-brand p { margin: 16px 0 0; color: #737d74; font-size: 11px; line-height: 1.7; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-label { margin: 0 0 6px; color: #6c776f; font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.footer-column a, .footer-column > span:not(.footer-label) { color: #3e4a43; font-size: 10px; text-decoration: none; }
.footer-column a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-config-column > span { color: #69746b !important; }
.footer-bottom { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: #79837b; font-family: var(--mono); font-size: 8px; letter-spacing: .03em; }
.footer-bottom a { color: var(--ink); text-decoration: none; }
.footer-bottom a span { color: #71922e; font-size: 13px; }
:focus-visible { outline: 2px solid #70942e; outline-offset: 4px; }

@media (min-width: 1440px) {
  .hero { min-height: 690px; }
  .hero-art { min-height: 470px; }
}
@media (max-width: 1000px) {
  .section-shell, .header-inner { width: min(100% - 64px, 850px); }
  .hero { min-height: 580px; gap: 30px; }
  .hero-art { min-height: 365px; }
  .art-card { min-height: 230px; }
  .venture-grid { grid-template-columns: 1fr 1fr; }
  .venture-card { min-height: 470px; }
  .venture-card-future { grid-column: 1 / -1; min-height: 390px; }
  .venture-card-future .future-illustration { position: absolute; top: 60px; right: 5%; width: 45%; }
  .venture-card-future .venture-card-content { max-width: 48%; margin-top: 38px; }
  .visit-inner { grid-template-columns: .7fr 1.1fr; }
  .visit-action { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; }
  .visit-action .button, .visit-action .link-pending { margin-top: 0; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 4.5rem; }
  .section-shell, .header-inner { width: calc(100% - 40px); }
  .header-inner { min-height: 72px; }
  .wordmark-name { font-size: 21px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 12px; padding: 8px 0 8px 8px; border: 0; background: transparent; cursor: pointer; }
  .menu-toggle-label { font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
  .menu-icon { width: 21px; display: grid; gap: 5px; }
  .menu-icon i { width: 21px; height: 1px; background: var(--ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] .menu-icon i:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-icon i:last-child { transform: translateY(-3px) rotate(-45deg); }
  .js .primary-navigation { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 9px 20px 19px; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 12px 18px rgba(23,35,35,.06); }
  .js .primary-navigation.is-open { display: flex; flex-direction: column; }
  .primary-navigation > a { padding: 11px 0; border-bottom: 1px solid rgba(23,35,35,.08); }
  .primary-navigation .nav-cta { align-self: flex-start; margin-top: 9px; padding: 10px 13px; border: 1px solid var(--ink); }
  .hero { min-height: auto; padding-top: 63px; padding-bottom: 71px; grid-template-columns: 1fr; gap: 35px; }
  .hero-copy { padding-bottom: 0; }
  .eyebrow { margin-bottom: 18px; font-size: 9px; }
  .hero h1 { max-width: 540px; font-size: clamp(48px, 12vw, 67px); }
  .hero-intro { max-width: 490px; margin-top: 20px; font-size: 14px; }
  .hero-actions { gap: 18px; margin-top: 25px; }
  .button { min-height: 46px; padding-inline: 14px; font-size: 11px; }
  .text-link { font-size: 11px; }
  .hero-art { min-height: 330px; }
  .art-card { width: 51%; min-width: 190px; min-height: 207px; padding: 17px; }
  .art-card-title { font-size: 33px; }
  .art-sun { width: 65px; height: 65px; }
  .art-tag-top { top: 15%; }
  .art-tag-bottom { bottom: 12%; }
  .hero-note { position: static; margin-top: 2px; }
  .scroll-cue { bottom: 24px; }
  .intro-band { padding: 68px 0 34px; }
  .intro-content { grid-template-columns: 1fr; gap: 20px; }
  .intro-content h2, .visit-copy h2 { font-size: clamp(42px, 10vw, 55px); }
  .intro-description { padding-top: 0; font-size: 13px; }
  .intro-bottomline { margin-top: 47px; font-size: 8px; }
  .ventures-section { padding-top: 75px; padding-bottom: 71px; }
  .section-heading, .gallery-heading { align-items: flex-start; flex-direction: column; gap: 17px; margin-bottom: 28px; }
  .section-heading h2, .gallery-heading h2, .contact-heading h2 { font-size: clamp(44px, 10vw, 58px); }
  .section-heading-copy { max-width: 460px; margin: 0; font-size: 12px; }
  .venture-grid { grid-template-columns: 1fr; gap: 12px; }
  .venture-card { min-height: 455px; padding: 18px 20px 22px; }
  .venture-card-future { grid-column: auto; min-height: 455px; }
  .venture-card-future .future-illustration { position: relative; top: auto; right: auto; width: auto; }
  .venture-card-future .venture-card-content { max-width: none; margin-top: 0; }
  .venture-card-content h3 { font-size: 25px; }
  .venture-card-content > p:not(.card-kicker) { font-size: 11px; }
  .gallery-section { padding: 71px 0 75px; }
  .gallery-heading > p { margin: 0; font-size: 12px; }
  .gallery-empty { min-height: 0; grid-template-columns: 1fr; gap: 10px; padding: 18px 22px 43px; }
  .gallery-empty-art { height: 154px; }
  .gallery-frame { width: 155px; height: 104px; }
  .gallery-orbit { width: 200px; height: 100px; }
  .gallery-empty-copy { padding: 4px 0 0; }
  .gallery-empty-copy h3 { font-size: 24px; }
  .contact-section { grid-template-columns: 1fr; gap: 33px; padding-top: 75px; padding-bottom: 76px; }
  .contact-heading > p:not(.eyebrow) { margin-top: 17px; font-size: 12px; }
  .contact-pathways { margin-top: 22px; }
  .contact-form-wrap { padding: 22px 17px 20px; }
  .form-heading { align-items: flex-start; flex-direction: column; gap: 3px; font-size: 18px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-field { margin-bottom: 13px; }
  .visit-band { padding: 68px 0 58px; }
  .visit-inner { grid-template-columns: 1fr; gap: 27px; }
  .visit-copy > p:not(.eyebrow) { max-width: 340px; }
  .visit-map { min-height: 190px; }
  .visit-action { grid-column: auto; align-items: flex-start; flex-direction: column; gap: 14px; }
  .site-footer { padding-top: 40px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-bottom: 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { min-height: 70px; flex-wrap: wrap; justify-content: space-between; gap: 4px 15px; padding-top: 12px; padding-bottom: 12px; }
  .footer-bottom > span:nth-child(2) { display: none; }
}
@media (max-width: 380px) {
  .section-shell, .header-inner { width: calc(100% - 32px); }
  .hero h1 { font-size: 46px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-art { min-height: 294px; }
  .art-card { min-width: 170px; min-height: 194px; }
  .art-tag { padding: 7px 8px; font-size: 8px; }
  .venture-card { min-height: 470px; }
  .footer-main { gap: 27px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
