/* Routed pages share the landscape, editorial typography and sage surfaces. */
#turtley-lab.turtley-lab, #news.news-page {
  width: 100%; max-width: none; margin: 0; padding: 0 0 80px;
  border: 0; border-radius: 0; box-shadow: none; overflow: visible;
  color: #193e3d; background: #f7fbfc;
}
#turtley-lab .turtley-lab__hero, #news .news-intro {
  padding: 64px max(40px, calc((100% - 1120px) / 2)) 68px;
  border: 0; border-radius: 0; box-shadow: none;
  background: linear-gradient(90deg, #10373bf2 0, #10373be0 38%, #10373b55 100%), url('../assets/hero-distant-worlds-v1.jpg') center / cover, #10373b;
}
#turtley-lab .turtley-lab__hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; }
#turtley-lab .turtley-lab__hero-copy { padding: 0; border-radius: 0; background: transparent; }
#turtley-lab .turtley-lab__eyebrow, #news .site-page-eyebrow { display: block; margin: 0 0 28px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #c0d2c4; font-size: 10px; font-weight: 600; letter-spacing: .18em; }
#turtley-lab .turtley-lab__hero-title, #news .news-intro h2 { max-width: none; margin: 0 0 26px; color: #f1f4e8; font-family: 'Manrope', sans-serif; font-size: clamp(42px, 5.2vw, 76px); font-weight: 800; line-height: 1.05; letter-spacing: -.065em; }
#turtley-lab .turtley-lab__hero-title span, #news .news-intro h2 span { display: block; color: #c2ef88; }
#turtley-lab .turtley-lab__hero-sub, #news .news-intro > p:not(.site-page-eyebrow) { max-width: 440px; margin: 0; color: #c1d1c9; font-size: 15px; line-height: 1.85; }
#turtley-lab .lab-steps { list-style: none; display: flex; flex-wrap: wrap; gap: 18px; margin: 30px 0 0; padding: 0; color: #e2edda; font-size: 11px; }
#turtley-lab .lab-steps li { display: flex; align-items: center; gap: 8px; }
#turtley-lab .lab-steps li > span:first-child { color: #a5c08d; font-size: 9px; }
#turtley-lab .lab-showcase { display: grid; grid-template-columns: .8fr 1fr .8fr; align-items: end; gap: 8px; padding: 32px 0; }
#turtley-lab .lab-showcase figure { min-width: 0; margin: 0; text-align: center; }
#turtley-lab .lab-showcase figure:nth-child(2) { padding-bottom: 20px; }
#turtley-lab .lab-showcase img { display: block; width: 100%; height: auto; filter: drop-shadow(0 16px 12px #041a2533); }
#turtley-lab .lab-showcase figcaption { margin-top: 8px; color: #d7e4ce; font-size: 10px; letter-spacing: .1em; }
#turtley-lab .lab-cloud-rider { display: block; position: relative; isolation: isolate; margin-bottom: 8%; will-change: transform; }
#turtley-lab .lab-cloud-rider img { position: relative; z-index: 1; }
#turtley-lab .lab-cloud-rider img { transform: translateY(-4%); }
#turtley-lab .lab-cloud-rider .turtley-cloud { z-index: 0; }
#turtley-lab .lab-cloud-rider .turtley-cloud--front { z-index: 2; }
#turtley-lab .lab-showcase figure { padding-bottom: 18px; }
#turtley-lab .lab-showcase figure:nth-child(2) { padding-bottom: 44px; }
#turtley-lab .lab-showcase figcaption { position: relative; margin-top: 24%; }
#turtley-lab .turtley-lab__shell { width: min(100% - 80px, 1120px); margin: 64px auto 0; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
#turtley-lab .turtley-lab__panel, #turtley-lab .turtley-lab__result { min-width: 0; padding: 32px; border: 1px solid #d8e3da; border-radius: 24px; background: #fff; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
#turtley-lab .turtley-lab__result { background: #eef3eb; }
#turtley-lab .turtley-lab__panel-kicker, #turtley-lab .turtley-lab__result-badge { display: block; padding: 0; border: 0; border-radius: 0; background: none; color: #587b64; font-size: 10px; font-weight: 600; letter-spacing: .13em; }
#turtley-lab .turtley-lab__panel h3, #turtley-lab .turtley-lab__result h3 { font-family: 'Manrope', sans-serif; font-size: clamp(25px, 2.5vw, 34px); line-height: 1.18; letter-spacing: -.045em; margin: 18px 0; }
#turtley-lab .turtley-lab__lead, #turtley-lab .turtley-lab__result-body { color: #58716a; font-size: 14px; line-height: 1.8; }
#turtley-lab .turtley-generator { margin-top: 28px; gap: 24px; }
#turtley-lab .turtley-generator__field > span, #turtley-lab .turtley-generator__ideas-label { color: #355c4c; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
#turtley-lab .turtley-generator__field textarea { min-height: 154px; padding: 16px; border: 1px solid #cbd9cb; border-radius: 14px; background: #f7faf5; color: #193e3d; font-size: 15px; line-height: 1.7; transition: none; }
#turtley-lab .turtley-generator__field textarea:focus { border-color: #648653; outline: 2px solid #91b47a; outline-offset: 2px; box-shadow: none; background: #fff; }
#turtley-lab .turtley-generator__idea, #turtley-lab .turtley-generator__random-btn { min-height: 44px; padding: 10px 14px; border: 1px solid #d8e3da; border-radius: 9px; color: #355c4c; background: #f5f8f1; font-size: 12px; transition: none; }
#turtley-lab .turtley-generator__random-btn { background: transparent; }
#turtley-lab .turtley-generator__ideas-list { flex-wrap: wrap; overflow: visible; }
#turtley-lab .turtley-generator__actions .cta-btn { width: 100%; justify-content: center; }
#turtley-lab .turtley-generator__idea:hover, #turtley-lab .turtley-generator__random-btn:hover { transform: none; border-color: #b7cdaa; background: #e8f1e2; }
#turtley-lab .cta-btn { width: fit-content; min-height: 48px; padding: 14px 22px; border: 1px solid #244f40; border-radius: 10px; color: #fff; background: #244f40; font-family: inherit; font-size: 13px; font-weight: 700; box-shadow: none; animation: none; transition: none; }
#turtley-lab .cta-btn:hover { background: #32654f; }
#turtley-lab .cta-btn:disabled { opacity: .55; cursor: wait; }
#turtley-lab .turtley-generator__status { color: #58716a; font-size: 12px; }
#turtley-lab .turtley-lab__stage { flex: none; width: 100%; min-height: 0; aspect-ratio: 1; margin: 24px 0 0; padding: 16px; border: 1px solid #cfddc5; border-radius: 20px; background: radial-gradient(ellipse at 50% 40%, #f8fbef, #dce8d2); }
#turtley-lab .turtley-lab__stage-glow { display: none; }
#turtley-lab .turtley-lab__stage img { width: 90%; height: 90%; max-height: none; object-fit: contain; filter: drop-shadow(0 12px 16px #244f4020); transition: none; }
#turtley-lab .turtley-lab__stage.is-busy img { opacity: .4; filter: blur(1.5px); }
#turtley-lab .turtley-lab__result-meta { gap: 16px; margin-top: 24px; }
#turtley-lab .turtley-lab__result-meta-card { padding: 0; border: 0; border-radius: 0; background: transparent; }
#turtley-lab .turtley-lab__result-meta-card strong { color: #355c4c; font-size: 13px; }
#turtley-lab .turtley-lab__result-meta-card span { color: #58716a; font-size: 12px; line-height: 1.6; }
#news .news-intro { text-align: left; }
#news .news-intro > p:not(.site-page-eyebrow) { max-width: 550px; }
#news .news-list--stack { display: grid; grid-template-columns: minmax(0, 1fr); width: min(100% - 80px, 1120px); max-width: none; margin: 64px auto 0; gap: 28px; }
#news .news-card { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 40px; padding: 28px; border: 1px solid #d8e3da; border-radius: 24px; background: #fff; box-shadow: none; transition: none; }
#news .news-card:hover { transform: none; box-shadow: none; }
#news .news-card__media { margin: 0; border: 0; border-radius: 14px; }
#news .news-card__media img { aspect-ratio: 4 / 3; object-fit: cover; }
#news .news-card__copy { min-width: 0; }
#news .news-card__meta { margin: 0 0 18px; color: #587b64; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
#news .news-card h3 { margin: 0 0 20px; color: #193e3d; font-family: 'Manrope', sans-serif; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.18; letter-spacing: -.045em; }
#news .news-card__copy > p:not(.news-card__meta) { color: #58716a; font-size: 14px; line-height: 1.85; }
#news .site-page-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; color: #355c4c; font-size: 13px; font-weight: 600; text-decoration: none; border-bottom: 1px solid #b7cdaa; }
#news .site-page-end { max-width: 560px; margin: 64px auto 0; padding: 0 24px; text-align: center; }
#news .site-page-end p { color: #58716a; font-size: 15px; line-height: 1.7; }
#news .site-page-end a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 18px; padding: 14px 22px; border: 1px solid #244f40; border-radius: 10px; color: #fff; background: #244f40; text-decoration: none; font-size: 13px; font-weight: 700; }
#turtley-lab a:focus-visible, #turtley-lab button:focus-visible, #news a:focus-visible { outline: 2px solid #648653; outline-offset: 4px; }
@media (max-width: 760px) {
  #turtley-lab.turtley-lab, #news.news-page { padding-bottom: 56px; }
  #turtley-lab .turtley-lab__hero, #news .news-intro { padding: 44px 24px 48px; }
  #turtley-lab .turtley-lab__hero { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #turtley-lab .turtley-lab__hero-title, #news .news-intro h2 { font-size: clamp(39px, 10vw, 58px); }
  #turtley-lab .turtley-lab__hero-sub, #news .news-intro > p:not(.site-page-eyebrow) { font-size: 14px; }
  #turtley-lab .lab-steps { gap: 14px; }
  #turtley-lab .lab-showcase { width: min(100%, 340px); justify-self: center; padding: 8px 0 0; }
  #turtley-lab .turtley-lab__shell { width: calc(100% - 40px); margin-top: 28px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #turtley-lab .turtley-lab__panel, #turtley-lab .turtley-lab__result { padding: 26px 22px; border-radius: 20px; }
  #turtley-lab .turtley-lab__result-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #turtley-lab .turtley-lab__stage { max-width: 360px; align-self: center; }
  #news .news-list--stack { width: calc(100% - 40px); margin-top: 28px; }
  #news .news-card { grid-template-columns: minmax(0, 1fr); padding: 22px; gap: 24px; border-radius: 20px; }
  #news .news-card__media img { aspect-ratio: 16 / 9; }
}
