/* Company homepage composition. A bounded grid orders the introduction,
   products, services and founder story. site.css supplies local
   fonts and shared contact controls; product artwork remains unchanged. */
:root { --ink:#1c2321; --paper:#fafaf8; --teal:#0e6e68; --deep:#0a4f4b; --muted:#4b5852; --line:#ccd3cf; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body.stacked-page { margin:0; background:var(--paper); color:var(--ink); font:400 18px/1.5 var(--sans); }
a { color:inherit; text-underline-offset:5px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
img { max-width:100%; }
.page-width { width:100%; max-width:1152px; margin-inline:auto; padding-inline:32px; }
.grid { display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); column-gap:32px; }
.masthead { display:flex; min-height:80px; align-items:center; justify-content:space-between; gap:32px; }
.company-mark { display:inline-flex; align-items:center; gap:3px; white-space:nowrap; text-decoration:none; }
.company-mark .cap { font:500 15px/1 var(--mono); border:1.5px solid currentColor; border-radius:6px; box-shadow:0 2.5px 0 currentColor; padding:6px 10px; }
.company-mark .word { font:500 20px/1 var(--mono); }
.masthead nav,.masthead-links { display:flex; align-items:center; gap:32px; }
.masthead nav a { display:inline-flex; align-items:center; min-height:48px; font-size:14px; text-decoration:none; }
.nav-cta { gap:24px; border-bottom:1px solid var(--teal); }
.masthead .menu-btn { display:none; }
.intro { padding-block:32px 40px; align-items:start; }
.intro-copy { grid-column:1/-1; }
.eyebrow { font:400 12px/1.3333333333 var(--mono); color:var(--muted); margin:0 0 24px; text-transform:none; letter-spacing:0; }
.intro h1 { font:400 54px/1.1851851852 var(--sans); letter-spacing:0; text-wrap:initial; margin:0; }
.intro h1 span { color:var(--deep); }
.intro .eyebrow { margin-bottom:16px; }
.intro-description { max-width:640px; font-size:20px; line-height:1.4; margin:20px 0 24px; }
.intro-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.solid-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:48px; padding:14px 20px; color:#fff; background:var(--teal); border:1px solid var(--teal); border-radius:2px; font-size:14px; line-height:1.4285714286; font-weight:500; text-decoration:none; }
.solid-link:hover { background:var(--deep); }
.text-link { display:inline-flex; align-items:center; gap:16px; min-height:40px; color:var(--deep); font-size:14px; line-height:1.4285714286; font-weight:500; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.products { padding-bottom:64px; }
.products-title { border-top:1px solid var(--line); padding-top:24px; margin:0 0 24px; font:400 32px/1.25 var(--sans); }
.product-feature { row-gap:24px; }
.product-header,.product-proof { grid-column:1/-1; min-width:0; }
.product-mark { display:block; width:224px; height:auto; margin-bottom:16px; }
.product-header h3 { font:400 28px/1.2857142857 var(--sans); letter-spacing:0; margin:0 0 8px; }
.product-header p { max-width:720px; color:var(--muted); font-size:18px; line-height:1.5; margin:0; }
.product-header .product-label { font:400 12px/1.3333333333 var(--mono); margin-bottom:12px; }
.product-header .pilot-note { margin-top:12px; color:var(--deep); font-size:16px; }
.upcoming-product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:16px 32px; border-top:1px solid var(--line); padding-top:24px; margin-top:32px; }
.upcoming-product h3 { margin:0; font:500 20px/1.4 var(--sans); }
.upcoming-product p { margin:0; max-width:640px; font-size:16px; line-height:1.5; color:var(--muted); }
.product-proof { margin:0; }
.visual-window { border:1px solid var(--line); padding:8px; background:#f3f5f3; }
.visual-window img { display:block; width:100%; height:auto; }
.product-proof figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; margin-top:8px; color:var(--muted); font-size:12px; line-height:1.3333333333; }
.offerings { padding-block:48px 64px; border-top:1px solid var(--line); }
.section-intro { grid-column:span 4; }
.offering { grid-column:span 6; }
.section-intro .eyebrow { margin-bottom:16px; }
.section-intro h2 { margin:0; font:400 32px/1.25 var(--sans); letter-spacing:0; }
.offering { display:flex; flex-direction:column; align-items:flex-start; padding-left:24px; border-left:1px solid var(--line); }
.offering h3 { margin:0 0 16px; font:500 20px/1.4 var(--sans); letter-spacing:0; }
.offering p { font-size:16px; line-height:1.5; color:var(--muted); margin:0 0 24px; max-width:36ch; }
.offering .offering-lead { color:var(--ink); margin-bottom:16px; }
.offering .text-link { margin-top:auto; }
.perspective { background:#eef1ee; border-block:1px solid var(--line); padding-block:48px; }
.perspective-grid { align-items:start; }
.founder { grid-column:span 4; margin:0; }
.founder>img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; }
.founder figcaption { display:flex; flex-direction:column; gap:4px; margin-top:16px; font-size:14px; line-height:1.4285714286; }
.founder strong { font-weight:500; }
.founder figcaption span { font-size:12px; line-height:1.3333333333; color:var(--muted); }
.founder figcaption span:last-child { margin-top:8px; }
.perspective-copy { grid-column:5/-1; max-width:640px; }
.perspective h2 { margin:0; font:400 42px/1.1904761905 var(--sans); letter-spacing:0; }
.perspective-intro { font-size:20px; line-height:1.4; margin:24px 0; max-width:640px; }
.founder-story { display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:16px; }
.founder-story p { font-size:16px; line-height:1.5; margin:0; color:var(--muted); }
.contact-section { padding-block:64px; }
.contact-section .kicker { font:400 12px/1.3333333333 var(--mono); margin:0 0 24px; color:var(--muted); }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.contact-layout h2 { margin:0; font:400 42px/1.1904761905 var(--sans); letter-spacing:0; }
.contact-layout p { font-size:18px; line-height:1.4444444444; margin:0 0 24px; max-width:440px; color:var(--muted); }
.secondary-link { display:inline-flex; align-items:center; min-height:40px; margin-left:24px; font-size:14px; color:var(--deep); }
.contact-options { margin-top:32px; padding-top:16px; border-top:1px solid var(--line); }
.contact-options>summary { cursor:pointer; padding:16px 0; font-size:16px; font-weight:500; }
.contact-help { max-width:650px; font-size:16px; overflow-wrap:anywhere; color:var(--muted); }
.contact-options .panel { max-width:840px; min-width:0; margin:24px auto 0; scroll-margin-top:24px; }
.contact-options .tabs { margin-bottom:16px; }
.contact-options .err a { color:inherit; }
.footer { display:flex; align-items:center; flex-wrap:wrap; gap:32px; border-top:1px solid var(--line); padding-block:32px; }
.footer .company-mark { margin:0; }
.footer .company-mark .cap { font-size:12px; padding:5px 8px; }
.footer .company-mark .word { font-size:16px; }
.footer p { flex:1; margin:0; font-size:12px; line-height:1.6666666667; }
.footer>a:not(.company-mark),.footer small { font-size:12px; line-height:1.6666666667; color:var(--muted); }
@media(min-width:1312px) { .intro h1 { font-size:60px; line-height:1.1666666667; } }
@media(max-width:1055px) {
  .grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
  .product-header,.product-proof { grid-column:1/-1; }
  .intro-description { max-width:600px; }
  .offerings { row-gap:40px; }
  .section-intro { grid-column:1/-1; }
  .offering { grid-column:span 4; }
  .offering:nth-child(2) { border-left:0; padding-left:0; }
  .founder { grid-column:span 3; }
  .perspective-copy { grid-column:4/span 5; }
  .founder-story { grid-template-columns:1fr; gap:16px; }
  .perspective h2,.contact-layout h2 { font-size:36px; line-height:1.2222222222; }
}
@media(max-width:900px) { .masthead-links { display:none; } .masthead .menu-btn { display:inline-flex; } .masthead nav { gap:16px; } }
@media(max-width:671px) {
  .page-width { padding-inline:16px; }
  .grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 16px; }
  .masthead { min-height:80px; gap:16px; }
  .company-mark .cap { font-size:12px; padding:5px 8px; }
  .company-mark .word { font-size:16px; }
  .masthead nav { gap:12px; }
  .masthead .nav-cta { display:none; }
  .intro { padding-block:32px 48px; }
  .eyebrow { font-size:11px; margin-bottom:16px; }
  .intro h1 { font-size:36px; line-height:1.2222222222; }
  .intro-description { font-size:18px; line-height:1.4444444444; margin:24px 0; }
  .intro-actions { gap:16px; }
  .products { padding-bottom:48px; }
  .product-feature { row-gap:24px; }
  .products-title { font-size:28px; line-height:1.2857142857; }
  .product-header h3 { font-size:24px; line-height:1.25; }
  .product-header p { font-size:16px; }
  .upcoming-product { grid-template-columns:1fr; }
  .visual-window { padding:4px; }
  .product-proof figcaption { font-size:11px; }
  .offerings { padding-block:32px 48px; }
  .section-intro,.offering { grid-column:1/-1; }
  .offering,.offering:nth-child(3) { border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }
  .offering p { max-width:48ch; margin-bottom:16px; }
  .perspective { padding-block:48px; }
  .founder { grid-column:1/-1; display:flex; align-items:center; gap:24px; }
  .founder>img { width:96px; height:120px; flex-shrink:0; }
  .founder figcaption { margin:0; }
  .perspective-copy { grid-column:1/-1; }
  .perspective h2,.contact-layout h2 { font-size:32px; line-height:1.25; }
  .perspective-intro { font-size:18px; line-height:1.4444444444; }
  .contact-section { padding-block:48px; }
  .contact-layout { grid-template-columns:1fr; gap:24px; }
  .secondary-link { display:flex; margin:16px 0 0; width:max-content; }
  .footer { gap:24px; padding-block:24px; }
  .footer p { flex-basis:100%; }
  .footer>a:not(.company-mark),.footer small { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
