/* Hallmark · shape: Index-First · genre: editorial · theme: brand · redesign: full
 * paper: oklch(95% 0.025 90) · accent: oklch(33% 0.05 160) · display: Libre Caslon Display · body: DM Sans · hero: Stage · nav: edge-aligned · footer: index columns · signature: the recovered Kryeziu family portrait beside a community invitation
 * axes: light/high-contrast-serif/chromatic-green · posture: Full-palette · contrast: checked · fold: checked · draw: 84cacd · imagery: archive photographs, locally recovered · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, replaced the anonymous countryside hero with the foundation’s own greenhouse case study. */
/* Hallmark · reworded headings and labels · 54 removes eyebrows, 38i removes partial italic heads, 63 removes decorative arrows; complete before/after copy ledger in .hallmark/copy-changes.md */
/* Hallmark · hero-review: in-thread · fix · 2 findings resolved: anonymous imagery replaced and low-resolution panorama removed. */
/* Hallmark · finish-review: in-thread · ship · gap: none; warm archive-led community design, preserved contact routes. */
/* Hallmark · dismissed 25 · Each flagged paragraph is a one- or two-sentence lede or caption above 28ch, inspected at desktop and phone widths. */
/* Hallmark · answered F17 · Our focus heading renders on two balanced lines at 1440px in the inspected screenshot; the line-count heuristic overcounts. */
@import url('./tokens.css');
@import url('./base.css');
html { scroll-behavior: smooth; }
.wrap { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
a:active { opacity: .72; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.header { min-height: 94px; display: flex; justify-content: space-between; align-items: center; gap: var(--gap-columns); }
.brand { display: inline-flex; align-items: center; gap: var(--space-sm); font-size: 17px; font-weight: 600; line-height: 1.2; }
.brand img { width: 43px; height: 43px; }
.brand-bottom { display: block; }
.header nav { display: flex; gap: 28px; align-items: center; font-size: var(--text-sm); }
.header nav a { padding-block: var(--space-sm); }
.header nav a:last-child { border-bottom: 1px solid var(--color-ink); }
.hero { min-height: calc(100svh - 94px); padding-top: var(--gap-columns); padding-bottom: var(--space-xl); display: flex; flex-direction: column; justify-content: space-between; }
.hero-title { display: flex; justify-content: space-between; gap: var(--gap-columns); align-items: end; }
h1 { font-size: clamp(4.3rem, 8.3vw, 8rem); max-width: 10ch; line-height: .96; }
.hero-intro { max-width: 33ch; padding-bottom: var(--space-xs); }
.hero-intro p { font-size: var(--text-lead); line-height: 1.5; }
.hero-actions { margin-top: var(--space-lg); display: flex; gap: var(--space-lg); align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; min-height: 48px; padding: var(--space-sm) var(--space-lg); border: 1px solid var(--color-ink); border-radius: var(--radius-pill); background: var(--color-ink); color: var(--color-paper); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.button:hover { background: var(--color-ink-2); text-decoration: none; }
.button:active { transform: translateY(1px); }
.text-link { font-size: var(--text-sm); text-decoration: underline; text-underline-offset: 5px; }
.hero-photo { margin: var(--gap-columns) 0 0; position: relative; }
.hero-photo img { width: 100%; height: clamp(240px, 31svh, 370px); object-fit: cover; object-position: center 46%; }
.hero-photo figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: var(--space-sm); font-size: var(--text-sm); color: var(--color-muted); }
.section { padding-block: var(--section-gap-s); }
h2 { font-size: clamp(2.8rem, 4.2vw, 4.4rem); line-height: 1.05; }
h3 { font-size: clamp(1.9rem, 2.5vw, 2.6rem); }
p { color: var(--color-ink-2); }
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); border-top: 1px solid var(--color-rule); }
.about h2 { max-width: 12ch; }
.about-copy p { margin-bottom: var(--space-lg); max-width: 52ch; }
.about-copy .lead { font-size: 26px; line-height: 1.4; }
.principles { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); margin-top: var(--space-lg); font-size: var(--text-sm); color: var(--color-muted); }
.principles strong { font-weight: 400; }
.story { background: var(--color-field); }
.story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; }
.story figure { margin: 0; }
.story img { width: 100%; aspect-ratio: 1.24; object-fit: cover; }
.story h2 { max-width: 12ch; margin-bottom: var(--space-lg); }
.story-copy { padding-inline: 36px; }
.story-copy p { margin-block: var(--space-md); max-width: 48ch; }
.story-copy .date { font-size: var(--text-sm); }
.story figcaption { font-size: var(--text-sm); margin-top: var(--space-xs); color: var(--color-muted); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--gap-columns); margin-bottom: 44px; }
.section-heading p { max-width: 33ch; font-size: var(--text-md); }
.project-row { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--gap-columns); padding-block: 36px; border-top: 1px solid var(--color-rule); align-items: start; }
.project-row:last-child { border-bottom: 1px solid var(--color-rule); }
.project-row time { font-size: var(--text-sm); }
.project-row h3 { max-width: 17ch; }
.project-row p { margin-bottom: var(--space-md); }
.focus { background: var(--color-paper-2); }
.focus-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--gap-columns); }
.focus h2 { max-width: 10ch; }
.focus article { padding-block: var(--space-lg); border-top: 1px solid var(--color-rule); }
.focus article:first-child { padding-top: 0; border-top: 0; }
.focus article h3 { font-size: 30px; margin-bottom: var(--space-sm); }
.focus article p { margin-bottom: var(--space-md); max-width: 54ch; }
.approach { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); }
.approach h2 { max-width: 12ch; }
.approach-intro { margin-top: var(--space-lg); max-width: 46ch; }
.approach dl { margin: 0; }
.approach dl>div { border-top: 1px solid var(--color-rule); padding-block: var(--space-lg); }
.approach dt { font-weight: 600; }
.approach dd { margin: var(--space-xs) 0 0; color: var(--color-ink-2); }
.documents { background: var(--color-ink); color: var(--color-paper); }
.documents p { color: var(--color-paper); }
.documents .section-heading { align-items: start; }
.document-list { border-top: 1px solid var(--color-paper); }
.document-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--gap-columns); padding: var(--space-lg) 0; border-bottom: 1px solid var(--color-muted); }
.document-list a>span:first-child { font-size: 24px; }
.document-list small { font-size: var(--text-sm); align-self: center; }
.archive-note { font-size: var(--text-sm); margin-top: var(--space-lg); }
.archive-note a { text-decoration: underline; }
.contact-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); }
.contact h2 { max-width: 11ch; }
.contact p { margin-top: var(--space-lg); max-width: 44ch; }
.contact-links a { display: block; padding: 20px 0; border-bottom: 1px solid var(--color-rule); }
.contact-links small { display: block; font-size: var(--text-sm); margin-bottom: var(--space-xs); }
.contact-links span { font-size: clamp(20px, 2.4vw, 32px); }
footer { border-top: 1px solid var(--color-rule); padding-top: var(--space-xl); padding-bottom: var(--gap-columns); display: flex; justify-content: space-between; gap: var(--gap-columns); align-items: start; }
footer p, footer a:not(.brand) { font-size: var(--text-sm); }
.footer-meta { text-align: right; }
.footer-meta p { margin-top: var(--space-md); }
.skip { position: absolute; top: -100px; left: 20px; z-index: 20; padding: var(--space-md); background: var(--color-paper); color: var(--color-ink); }
.skip:focus-visible { top: 12px; }
@media(min-width:1600px) { .hero-photo img { height: 410px; } }
@media(max-width:1000px) { .hero { min-height: auto; padding-bottom: 56px; } .hero-title { padding-top: var(--space-xl); } h1 { font-size: 88px; } .hero-intro { max-width: 29ch; } .header nav { gap: 20px; } .story-copy { padding-inline: 0; } .project-row { grid-template-columns: minmax(0,.5fr) minmax(0,1fr) minmax(0,1fr); } }
@media(max-width:700px) { .header { min-height: 85px; } .brand { font-size: 14px; gap: var(--space-xs); } .brand img { width: 35px; height: 35px; } .header nav a:not(:last-child) { display: none; } .header nav { font-size: var(--text-sm); } .hero { padding-top: var(--space-md); padding-bottom: 44px; } .hero-title { display: block; padding-top: var(--space-sm); } h1 { font-size: clamp(64px, 17vw, 100px); max-width: 9ch; } .hero-intro { max-width: 100%; margin-top: var(--space-lg); } .hero-intro p { max-width: 31ch; font-size: 18px; } .hero-actions { margin-top: var(--space-lg); } .hero-photo { margin-top: 28px; } .hero-photo img { height: 260px; object-position: center; } .hero-photo figcaption { display: block; font-size: 13px; } .hero-photo figcaption span { display: block; margin-top: var(--space-2xs); } .about,.story-grid,.focus-grid,.approach,.contact-inner { grid-template-columns: minmax(0,1fr); } h2 { font-size: 46px; } .about-copy .lead { font-size: 24px; } .story-copy { order: -1; } .story-copy h2 { max-width: 14ch; } .story-grid { gap: var(--gap-columns); } .section-heading { display: block; } .section-heading p { margin-top: 20px; } .project-row { grid-template-columns: minmax(0,1fr); gap: var(--space-md); } .project-row h3 { max-width: 23ch; font-size: 34px; } .project-row p { max-width: 45ch; } .focus-grid { gap: 36px; } .documents .section-heading p { max-width: 40ch; } .document-list a>span:first-child { font-size: 21px; } .document-list a { grid-template-columns: minmax(0,1fr); gap: var(--space-xs); } footer { flex-direction: column; padding-top: 36px; padding-bottom: 36px; } .footer-meta { text-align: left; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } .button:active { transform: none; } }

.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-columns); align-items: center; padding-top: var(--space-xl); padding-bottom: var(--space-2xl); }
.hero-title { display: block; }
.hero-intro { margin-top: var(--space-lg); max-width: 34ch; }
.hero-photo { margin: 0; }
.hero-photo img { width: 100%; height: min(64svh, 640px); object-fit: cover; object-position: 62% center; }
.hero-photo figcaption { display: block; }
.hero-photo figcaption span { display: block; margin-top: var(--space-2xs); }
@media(max-width:700px) { .hero { grid-template-columns: minmax(0,1fr); gap: var(--space-xl); padding-top: var(--space-lg); padding-bottom: var(--space-2xl); } .hero-photo img { height: auto; aspect-ratio: 1.2; } }

.documents a:focus-visible { outline-color: var(--color-paper); }
.header nav a { white-space: nowrap; }
@media(min-width:1001px) { .hero-title { align-self: end; margin-bottom: 56px; } .focus h2 { max-width: 12ch; font-size: clamp(2.8rem, 3.8vw, 3.8rem); } }
