:root {
  color-scheme: light;
  --paper: #f7f4ed;
  --ink: #16332e;
  --muted: #5a6b62;
  --line: #d9dfd3;
  --green: #17483d;
  --coral: #ed9d83;
  --mint: #b7ded2;
  --serif: Iowan Old Style, Baskerville, Georgia, serif;
  --sans: Avenir Next, Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--sans); }
a { color: inherit; }
a:focus-visible { outline: 3px solid #ad5e42; outline-offset: 4px; }
.skip-link { position: absolute; z-index: 5; top: -100px; left: 1rem; padding: .7rem 1rem; background: var(--ink); color: #fff; }
.skip-link:focus { top: 1rem; }
.site-shell { max-width: 1680px; margin: 0 auto; padding: 0 clamp(1.3rem, 4.5vw, 5.5rem); }
.site-header { height: 112px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; font-size: 1.55rem; font-weight: 760; letter-spacing: -.055em; }
.brand img { display: block; border-radius: 12px; }
.brand-stop { color: #a64d35; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.6vw, 2.5rem); }
.site-nav a { color: var(--ink); font-size: .85rem; font-weight: 650; text-decoration: none; text-underline-offset: 5px; }
.site-nav a:hover { text-decoration: underline; }
.launch-pill { display: inline-flex; align-items: center; gap: .62rem; padding: .7rem 1rem; border: 1px solid #c9d5c8; border-radius: 999px; background: #eef3e8; color: #305047; font-size: .72rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.site-header .launch-pill { justify-self: end; }
.pill-dot { width: 7px; height: 7px; border-radius: 50%; background: #e89e7e; box-shadow: 0 0 0 4px #f9e8dc; }
.hero { min-height: min(740px, calc(100svh - 112px)); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(2rem, 4vw, 5rem); padding: clamp(4.5rem, 7vw, 8rem) 0; }
.hero-copy { position: relative; z-index: 1; max-width: 800px; }
.eyebrow, .section-number { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: .72rem; font-weight: 770; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow-line { display: inline-block; width: 26px; height: 1px; background: #b46d54; }
h1, h2, p { overflow-wrap: anywhere; }
h1 { margin: 1.7rem 0 1.7rem; font-family: var(--serif); font-weight: 500; letter-spacing: -.07em; line-height: 1.07; font-size: clamp(4.1rem, 6.5vw, 7.9rem); }
h1 em { display: inline-block; color: #4c7868; font-weight: 400; white-space: nowrap; }
.hero-description { max-width: 520px; margin: 0; color: #435b51; font-size: clamp(1.08rem, 1.4vw, 1.3rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.1rem 1.5rem; margin-top: 2.4rem; }
.contact-button { display: inline-flex; min-height: 56px; align-items: center; justify-content: space-between; gap: 2.3rem; padding: 0 1.35rem; border-radius: 6px; background: var(--ink); color: #fff; text-decoration: none; font-size: .95rem; font-weight: 650; transition: background .2s, transform .2s; }
.contact-button:hover { background: #345f51; transform: translateY(-2px); }
.contact-button span { font-size: 1.3rem; font-weight: 400; }
.contact-note { color: #4f6258; font-size: .8rem; }
.hero-art { position: relative; width: 100%; aspect-ratio: 1 / 1.05; min-height: 400px; display: grid; place-items: center; overflow: hidden; isolation: isolate; }
.hero-art::before { content: ""; position: absolute; inset: 4% 1% 5%; z-index: -3; border-radius: 47% 53% 51% 49% / 50% 45% 55% 50%; background: radial-gradient(circle at 34% 26%, #f9e5c8 0, #f5d9be 21%, #daebe1 52%, #b2d7cc 77%, #8cc2b4 100%); filter: blur(2px); }
.hero-art::after { content: ""; position: absolute; inset: 9% 6% 12%; border: 1px solid rgb(255 255 255 / .55); border-radius: 50%; transform: rotate(-28deg) scaleX(.8); }
.art-halo { position: absolute; width: 92%; height: 38%; border: 1px solid rgb(42 88 75 / .4); border-radius: 50%; transform: rotate(-32deg); }
.art-halo-one { top: 32%; }
.art-halo-two { top: 34%; width: 99%; height: 46%; border-color: rgb(255 255 255 / .72); transform: rotate(31deg); }
.art-orb { position: relative; width: 73%; aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: radial-gradient(circle at 27% 21%, #c9e9d8 0, #72b5a9 38%, #3e847a 65%, #1d5b51 100%); box-shadow: inset -28px -35px 60px rgb(12 58 51 / .25), 25px 35px 75px rgb(41 76 65 / .25); transform: rotate(-18deg); }
.orb-glow { position: absolute; inset: 6% 13% 38% 6%; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / .25), transparent 72%); }
.orb-contour { position: absolute; width: 120%; height: 58%; left: -9%; border: 1px solid rgb(233 249 232 / .36); border-radius: 50%; transform: rotate(21deg); }
.contour-one { top: 18%; }
.contour-two { top: 38%; }
.contour-three { top: 58%; }
.art-route { position: absolute; z-index: 2; width: 82%; height: 24%; border-top: 2px dashed rgb(244 251 234 / .9); border-radius: 50%; }
.route-one { top: 32%; left: 8%; transform: rotate(-24deg); }
.route-two { top: 65%; left: 10%; width: 64%; transform: rotate(24deg); opacity: .62; }
.art-pin { position: absolute; z-index: 3; display: block; width: 13px; height: 13px; border: 3px solid #fff7e9; border-radius: 50%; background: #dc8a70; box-shadow: 0 0 0 6px rgb(255 246 221 / .28); }
.pin-one { left: 21%; top: 40%; }
.pin-two { right: 20%; top: 30%; }
.bottom-band { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding: 3.6rem 0 4rem; border-top: 1px solid var(--line); }
.info-section { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding: 3.6rem 0 4rem; border-top: 1px solid var(--line); }
.section-number { color: #8c664f; }
h2 { max-width: 520px; margin: 1.15rem 0 0; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.4rem); font-weight: 500; line-height: 1.15; letter-spacing: -.05em; }
.band-copy { max-width: 550px; padding-top: .2rem; color: #455c52; font-size: 1rem; line-height: 1.65; }
.band-copy p { margin: 0 0 1rem; }
.prelaunch-note { padding-left: 1rem; border-left: 2px solid var(--coral); font-size: .88rem; }
.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; margin-bottom: 4rem; padding: clamp(2rem, 4vw, 4rem); border-radius: 10px; background: var(--ink); color: #f7f4ed; }
.contact-section .section-number { color: #edb395; }
.contact-section h2 { margin-bottom: 0; }
.contact-content { align-self: center; max-width: 520px; }
.contact-content p { margin: 0 0 1.3rem; color: #d7e5dc; line-height: 1.65; }
.contact-content a { display: inline-flex; align-items: center; gap: .6rem; color: #fff7e8; font-family: var(--serif); font-size: clamp(1.2rem, 2.3vw, 2rem); text-decoration-thickness: 1px; text-underline-offset: 6px; overflow-wrap: anywhere; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 100px; border-top: 1px solid var(--line); color: #506359; font-size: .82rem; }
.site-footer a { color: var(--ink); text-underline-offset: 3px; }
.not-found { min-height: calc(100svh - 212px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.not-found h1 { margin: 1rem 0; }
.not-found p { max-width: 450px; color: var(--muted); line-height: 1.6; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; gap: 1rem; padding: 4.5rem 0 2.5rem; }
  .hero-copy { max-width: 680px; }
  .hero-art { width: min(590px, 100%); min-height: 0; margin: 0 auto; }
  .bottom-band, .info-section, .contact-section { gap: 2rem; }
}
@media (max-width: 600px) {
  .site-header { min-height: 118px; height: auto; grid-template-columns: 1fr auto; grid-template-rows: auto auto; row-gap: .8rem; padding: 1rem 0 .8rem; }
  .brand { font-size: 1.33rem; }
  .brand img { width: 36px; height: 36px; }
  .site-nav { grid-column: 1 / -1; grid-row: 2; gap: 1.5rem; }
  .site-nav a { font-size: .82rem; }
  .launch-pill { padding: .58rem .75rem; font-size: .73rem; letter-spacing: .03em; }
  .hero { padding: 4rem 0 1rem; }
  .eyebrow { font-size: .74rem; letter-spacing: .07em; }
  h1 { margin: 1.3rem 0; font-size: clamp(3.15rem, 12.6vw, 5rem); }
  h1 em { white-space: normal; }
  .hero-description { font-size: 1.04rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; margin-top: 1.8rem; }
  .hero-art { margin-top: 1rem; }
  .bottom-band, .info-section { grid-template-columns: 1fr; gap: 1rem; padding: 2.6rem 0; }
  .contact-section { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2rem; padding: 2rem 1.4rem; }
  .site-footer { min-height: 120px; align-items: flex-start; flex-direction: column; justify-content: center; gap: .5rem; }
  .site-footer span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .contact-button { transition: none; }
  .contact-button:hover { transform: none; }
}
