/* Skyrover / suspended strata.
   A visual layer over Sera. No content is hidden and no scene is re-mounted. */
:root,:host { --craft-copper:#9d563b; --craft-mist:#e6e9dc; }
/* The five applications read as a small atlas, with native buttons/select. */
.experience-frame>.application-bar { min-height:100px; gap:1.25rem; padding:.65rem 2rem; }
.experience-frame .application-kicker { max-width:10ch; line-height:1.6; letter-spacing:.07em; text-transform:uppercase; }
.experience-frame .application-picker { flex:1; justify-content:space-between; gap:.3rem; }
.experience-frame .application-picker button {
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.2rem; padding:.35rem .65rem .55rem; min-height:76px;
  font-size:.8125rem; line-height:1.4; border-bottom:0;
}
.application-art { display:block; width:58px; height:39px; flex-shrink:0; color:#6b8070; }
.application-art .study-wash { fill:#d6dfcd; stroke:none; opacity:.7; }
.application-art .study-detail { stroke:var(--craft-copper); }
.experience-frame .application-picker button:after {
  content:''; position:absolute; height:2px; bottom:0; left:.65rem; right:.65rem;
  background:var(--craft-copper); transform:scaleX(0); transform-origin:left;
}
.experience-frame .application-picker button[aria-pressed=true] { font-weight:400; background:transparent; }
.experience-frame .application-picker button[aria-pressed=true] .application-art { color:var(--ink); }
.experience-frame .application-picker button[aria-pressed=true]:after { transform:scaleX(1); }
.compact-art { position:absolute; bottom:0; left:0; pointer-events:none; }
.compact-art .application-art { width:48px; height:36px; color:var(--ink); }
.application-compact select.select { padding-left:3.6rem; }
.experience-frame .workspace { scroll-margin-top:120px; }
.experience-frame>.load-note { top:108px; }
/* Copper emphasis connects the headings to the mark. */
.hero h1 em,body[data-mode=understand] .hero h1 em,
.experience-fallback h1 em,.group-intro h1 em { color:var(--craft-copper); }
.hero .hero-copy>.eyebrow { max-width:34ch; letter-spacing:.095em; }
.hero .lede { margin-top:1.65rem; }
.hero-copy .button.btn { padding:.8rem 0; background:transparent; border:0; border-bottom:1px solid var(--ink); color:var(--ink); }
.hero-copy .button.btn:hover { background:transparent; border-color:var(--craft-copper); color:var(--craft-copper); }
.hero-copy .button.btn>span { margin-left:.5rem; }
.chapter-note { display:flex; align-items:center; gap:1.1rem; }
.chapter-note p { max-width:28ch; font-size:1.125rem; line-height:1.4; color:var(--sky-muted); }
.chapter-note .note-line {
  position:relative; flex:0 0 46px; width:46px; height:15px; margin:0;
  background:transparent; border:1px solid #8a9e89; border-radius:50%; transform:rotate(-17deg);
}
.chapter-note .note-line:before,.chapter-note .note-line:after {
  content:''; position:absolute; inset:-1px; border:1px solid #8a9e89; border-radius:50%;
}
.chapter-note .note-line:before { transform:translateY(-8px); border-color:#b28a67; }
.chapter-note .note-line:after { transform:translateY(8px); opacity:.55; }
/* Numbers form a quiet editorial margin; open rows get a clear resting state. */
.solution summary>.mono { font:italic 2rem/1 'Manrope',Georgia,serif; color:var(--craft-copper); letter-spacing:-.04em; min-width:1.5em; padding-top:.1rem; }
.solution summary .expand {
  width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--border);
  border-radius:50%; font:400 20px/1 'Manrope',Arial,sans-serif; color:var(--ink);
}
.solution[open] summary .expand { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.solutions-list.accordion>.solution>summary:hover { text-decoration:none; }
.solution[open] { background:linear-gradient(90deg,transparent,var(--craft-mist)); }
.section-heading .eyebrow { display:flex; align-items:center; gap:.7rem; }
.section-heading .eyebrow:before { content:''; flex:0 0 6px; height:6px; border-radius:50%; background:var(--craft-copper); }
.section-heading h2 em,.support h2 em { color:var(--craft-copper); }
.industry-tabs { border-left:0; gap:.35rem; }
.industry-tab { border-right:0; border-bottom:2px solid transparent; background:transparent; }
.industry-tab.is-active { background:transparent; border-bottom-color:var(--craft-copper); color:var(--ink); }
.industry-panel { background:#e7eadf; border:0; }
.industry-panel figure { position:relative; }
.industry-panel figure img { border-radius:0; }
.industry-panel figcaption { border-left:2px solid var(--craft-copper); padding-left:.7rem; }
.application { border-top:1px solid var(--ink); }
.application>.mono,.approach-steps .mono { color:var(--craft-copper); }
.application .app-flow { color:var(--ink); background:var(--craft-mist); padding:.8rem; border:0; }
.application .software-preview { margin:0 0 1.5rem; padding:0; background:#e8ecdf; border-bottom:1px solid var(--border); }
.software-preview>svg { display:block; width:100%; height:auto; aspect-ratio:26/15; }
.software-preview figcaption { display:flex; flex-direction:column; gap:.3rem; padding:.8rem 1rem; border-top:1px solid var(--border); font-size:.6875rem; letter-spacing:.04em; line-height:1.5; color:var(--ink); }
.software-preview figcaption span { color:var(--sky-muted); font-size:.75rem; letter-spacing:0; }
.support-image { margin:0; }
.support-image figcaption { padding:.8rem 1rem; color:var(--ink); font-size:.6875rem; line-height:1.5; letter-spacing:.04em; background:var(--craft-mist); }
.support .support-scope { font-size:.8125rem; line-height:1.65; }
.measurement-time-basis { margin:.75rem 0; color:var(--sky-muted); font:400 .75rem/1.6 var(--font-sans); }
/* A dark closing spread gives the paper pages somewhere to land.
   Artwork has its own column, never a layer behind text. */
.enquiry-band {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.85fr);
  align-items:center; column-gap:3rem; row-gap:2rem; padding-block:4.5rem;
  background:#193e3b; color:#f2f0e7; overflow:hidden;
}
.enquiry-band:after { content:none; }
.enquiry-band .enquiry-copy { grid-column:1; grid-row:1; position:relative; z-index:1; }
.enquiry-band .eyebrow { color:#c2cdb8; }
.enquiry-band h2 { font-size:clamp(3rem,5vw,4.8rem); line-height:1.04; }
.enquiry-band h2 em { color:#d9b68e; }
.enquiry-band p { color:#c2cdb8; max-width:34ch; }
.enquiry-band>.button.btn {
  grid-column:1; grid-row:2; justify-self:start; margin:0; background:#e8e9d9; color:#193e3b;
  border-color:#e8e9d9; padding:.9rem 1.25rem;
}
.enquiry-band>.button.btn:hover { background:#d9b68e; border-color:#d9b68e; color:#193e3b; }
.enquiry-band .enquiry-art { grid-column:2; grid-row:1 / 3; width:100%; max-width:420px; justify-self:center; pointer-events:none; }
.strata-art { display:block; width:100%; height:auto; overflow:visible; color:#d9b68e; }
.strata-art .stratum { color:#f0e9cc; }
.strata-art .stratum-edge { fill:#36564b; }
.strata-art .stratum-face { fill:#77917c; stroke:#becab0; stroke-width:.7; }
.strata-art .stratum-1 .stratum-face { fill:#9aab8e; }
.strata-art .stratum-2 .stratum-face { fill:#c4c9a7; }
.strata-art .stratum-2 { color:#36564b; }
.strata-art .strata-orbit { opacity:.5; }
.strata-art .strata-satellite { fill:#d7ac7b; }
.group-intro { position:relative; }
.group-intro .about-art { float:right; width:30%; max-width:310px; margin:2rem 0 1rem 2rem; }
.about-art .strata-art { color:#6e846f; }
.about-art .stratum { color:#193e3b; }
.about-art .strata-art .stratum-edge { fill:#567361; }
.group-capabilities { clear:both; }
.panel-content>footer { padding-top:2rem; padding-bottom:2rem; }
.panel-content>footer .footer-brand { font-size:1.4rem; letter-spacing:-.04em; }
.panel-content>footer .footer-brand svg { width:32px; height:29px; }
/* State controls remain still. These short transitions only acknowledge a
   pointer exploring a new application. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .application-art { transition:transform 180ms var(--ease-out); }
  .experience-frame .application-picker button:hover .application-art { transform:translateY(-2px); }
  .experience-frame .application-picker button:hover { background:transparent; }
}
html[data-input=keyboard] .stratum,.experience-frame:has([data-input=keyboard]) .application-art { transition:none; }
@container application-shell (max-width:56rem) {
  .experience-frame>.application-bar { min-height:84px; padding:.7rem 1.5rem; }
  .experience-frame .application-picker { display:none; }
  .experience-frame .workspace { scroll-margin-top:104px; }
  .experience-frame>.load-note { top:92px; }
}
@media(max-width:760px) {
  .experience-frame>.application-bar { min-height:84px; padding:.7rem 1rem; }
  .experience-frame .application-picker { display:none; }
  .application-compact select.select { font-size:1.5rem; }
  .solution summary>.mono { font-size:1.7rem; min-width:1.2em; }
  .solution summary .expand { width:28px; height:28px; }
  .enquiry-band { column-gap:1rem; grid-template-columns:minmax(0,1fr) 110px; padding-block:3rem; }
  .enquiry-band .enquiry-copy { grid-column:1 / -1; }
  .enquiry-band .enquiry-art { grid-row:2; grid-column:2; }
  .enquiry-band>.button.btn { max-width:100%; font-size:.75rem; padding:.8rem; }
  .enquiry-band h2 { font-size:3.25rem; }
  .enquiry-band .eyebrow { max-width:27ch; }
  .group-intro .about-art { width:38%; margin:1rem 0 1rem 1rem; }
}
@media(max-width:380px) {
  .enquiry-band { grid-template-columns:minmax(0,1fr) 72px; gap:1rem .7rem; }
  .enquiry-band h2 { font-size:2.85rem; }
}
@media(prefers-reduced-motion:reduce) {
  .application-art,.stratum { transition:none; transform:none; }
}
@media(prefers-contrast:more) {
  .application-art { color:var(--ink); }
  .industry-panel,.solution[open] { background:var(--paper); }
  .enquiry-band :is(p,.eyebrow) { color:#f2f0e7; }
}
/* A useful closing index, with the same restrained type and native links. */
.panel-content>footer.site-footer { display:block; padding:3rem 4.3vw 1.5rem; color:var(--ink); }
.site-footer .footer-main { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr); gap:2.5rem; }
.site-footer .footer-intro { min-width:0; }
.site-footer .footer-brand { display:inline-flex; align-items:center; gap:.55rem; width:fit-content; }
.site-footer .footer-tagline { margin:1.15rem 0 .45rem; font-size:.875rem; color:var(--ink); }
.site-footer .footer-description { margin:0; max-width:27ch; font-size:.8125rem; line-height:1.65; color:var(--sky-muted); }
.site-footer .footer-contact { display:inline-flex; align-items:center; min-height:44px; margin-top:.85rem; padding:.4rem 0; font:500 .8125rem/1.5 var(--font-sans); color:var(--ink); text-decoration:underline; text-underline-offset:.3em; }
.site-footer .footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:0; min-width:0; }
.site-footer .footer-links h2 { font:550 .8125rem/1.5 var(--font-sans); letter-spacing:0; color:var(--ink); margin:0 0 .7rem; }
.site-footer .footer-links a { display:flex; align-items:center; min-height:44px; padding:.4rem 0; font-size:.8125rem; line-height:1.5; color:var(--sky-muted); text-decoration:none; }
.site-footer .footer-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 2rem; border-top:1px solid var(--border); margin-top:2.25rem; padding-top:1rem; font-size:.6875rem; line-height:1.6; color:var(--sky-muted); }
.site-footer .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; font-size:.75rem; }
@media(hover:hover) { .site-footer .footer-links a:hover,.site-footer .footer-bottom a:hover,.site-footer .footer-contact:hover { color:var(--clay); text-decoration:underline; text-underline-offset:.3em; } }
@media(max-width:1050px) {
 .site-footer .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
 .site-footer .footer-intro { grid-column:1 / -1; }
 .site-footer .footer-description { max-width:42ch; }
}
@media(max-width:760px) {
 .panel-content>footer.site-footer { padding:2.25rem 1.5rem 1.25rem; }
 .site-footer .footer-main { column-gap:1.25rem; }
 .site-footer .footer-bottom { align-items:flex-start; gap:.25rem; flex-direction:column; }
}
/* Industry imagery stays separate from documented survey records. */
.industry-panel figure.industry-scene { margin:0; min-width:0; background:transparent; }
.industry-panel figure.industry-scene img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; }
.industry-panel figure.industry-scene figcaption { padding:.65rem 0 0; background:transparent; color:var(--sky-muted); font-size:.625rem; line-height:1.5; letter-spacing:.04em; }
