
:root { color-scheme: light; --paper:#f7f4ec; --ink:#222522; --blue:#43c1ea; --green:#88c045; --orange:#fe5430; --purple:#503288; --line:#d5d0c4; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:1rem/1.6 system-ui,sans-serif; }
a { color:inherit; text-underline-offset:.2em; }
a:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.shell { width:min(100% - 2rem, 74rem); margin-inline:auto; }
header { border-bottom:1px solid var(--line); border-top:4px solid transparent; border-image:linear-gradient(to right,var(--blue) 25%,var(--green) 25% 50%,var(--orange) 50% 75%,var(--purple) 75%) 1; }
.top,.bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-block:1rem; }
.brand { display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; }
.brand-mark { position:relative; display:block; width:5.6rem; height:2.65rem; overflow:hidden; }
.brand-mark img { position:absolute; width:9rem; height:auto; left:-1.7rem; top:-3.4rem; }
.brand-name { font-size:.66rem; line-height:1.2; letter-spacing:.075em; text-transform:uppercase; font-weight:750; }
nav { display:flex; flex-wrap:wrap; gap:.15rem 1.15rem; }
nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; font-size:.95rem; font-weight:650; }
nav a:hover,nav a[aria-current] { text-decoration:underline; color:var(--purple); }
.skip { position:absolute; left:1rem; top:1rem; padding:.5rem; background:white; transform:translateY(-200%); }
.skip:focus { transform:none; }
.hero { padding:clamp(3.5rem,9vw,8rem) 0; position:relative; border-bottom:1px solid var(--line); }
.eyebrow { color:var(--purple); font-size:.8rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.04; margin:0; }
h1,h2 { font-family:Georgia,serif; font-weight:normal; letter-spacing:-.045em; }
h1 { font-size:clamp(2.9rem,8.5vw,7.3rem); max-width:12ch; }
h2 { font-size:clamp(2.15rem,5vw,4rem); max-width:19ch; }
h3 { font-size:1.25rem; }
.lede { font-size:clamp(1.07rem,2vw,1.34rem); max-width:45ch; margin-block:1.4rem 1.8rem; }
.button { display:inline-flex; align-items:center; gap:1rem; padding:.8rem 1.05rem; background:var(--purple); color:white; font-weight:700; text-decoration:none; }
.button:hover { background:#3b2367; }
.band,.section { padding-block:clamp(2.75rem,6vw,5.5rem); }
.band { display:grid; grid-template-columns:1fr 1fr; gap:1rem 3rem; align-items:end; border-bottom:1px solid var(--line); }
.band p { max-width:48ch; }
.text-link { color:var(--purple); font-weight:700; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:2rem; }
.cards article { background:#fcfaf4; padding:1.4rem; }
.cards article p:last-child { margin-bottom:0; }
.founders { grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); }
.inquiry { max-width:54rem; }
.inquiry-frame { display:block; width:100%; height:52rem; border:1px solid var(--line); background:#fcfaf4; }
.closing { background:var(--ink); color:var(--paper); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; padding:clamp(1.4rem,5vw,3rem); margin-bottom:3rem; }
.closing .button { background:var(--blue); color:var(--ink); }
.closing .button:hover { background:var(--green); }
footer { border-top:1px solid var(--line); }
footer p { margin:0; }
@media (max-width:38rem) {
  .top { align-items:flex-start; flex-direction:column; gap:.4rem; }
  .band { grid-template-columns:1fr; }
}
