/* Software surfaces extend the shared River & Rail studio system.
   Scoped to the three software pages; native controls and product data stay intact. */
.studio-site.sw-body {
  --paper:#f1e8d9;
  --cream:#e9ddca;
  --ink:#25313a;
  --green:#284d5c;
  --deep-green:#102b39;
  --brass:#9f714c;
  --lime:#efbd88;
  --line:#856b4d3b;
  --sw-petrol:#102b39;
  --sw-ivory:#f5e8d1;
  --sw-amber:#efbd88;
  --sw-bronze:#a57d53;
  background:var(--paper);
  color:var(--ink);
}
.studio-site.sw-body :focus-visible {outline:3px solid #b77739;outline-offset:5px}
.studio-site.sw-body h1,
.studio-site.sw-body h2,
.studio-site.sw-body h3 {font-family:'Archivo Black',sans-serif;letter-spacing:-.05em}
.studio-site.sw-body main {overflow:clip}
.studio-site.sw-body main a {text-underline-offset:5px}
.studio-site.sw-body main .button {border-radius:6px;padding:16px 23px;line-height:1.4;box-shadow:inset 0 1px #ffffff28,0 3px 0 #0002}
.studio-site.sw-body main .button-primary {background:#173846;border:1px solid #365867;color:#f9ead2}
.studio-site.sw-body main .button-primary:hover {background:#254f60}
.studio-site.sw-body .eyebrow,
.studio-site.sw-body .sw-tag {color:#8a6040;letter-spacing:.13em;font-size:.7rem}
.studio-site.sw-body .sw-intro {
  position:relative;padding:100px 7vw 85px;color:var(--sw-ivory);
  background:radial-gradient(ellipse at 85% 0,#33505b88,transparent 55%),linear-gradient(115deg,#0b202d,#153847);
  border-bottom:1px solid #a88255;
}
.studio-site.sw-body .sw-intro::after {content:'';position:absolute;top:55px;right:7vw;bottom:55px;width:20%;border-top:1px solid #cca47766;border-bottom:1px solid #cca47733;pointer-events:none}
.studio-site.sw-body .sw-intro .eyebrow {color:#e9b585}
.studio-site.sw-body .sw-intro h1 {font-size:clamp(3.4rem,7vw,7.2rem);line-height:1.02;max-width:1000px;margin:35px 0}
.studio-site.sw-body .sw-intro h1 span {color:#e3b58a}
.studio-site.sw-body .sw-intro .sw-lead {max-width:625px;color:#d1d8d4;font-size:1.08rem}
.studio-site.sw-body .sw-intro .sw-link {color:#f1cfaa;border-bottom:1px solid #b38b65;text-decoration:none;padding-bottom:9px}
.studio-site.sw-body .sw-collection {padding:60px 7vw 100px;background:#f1e8d9}
.studio-site.sw-body .sw-section-label {font-size:.65rem;letter-spacing:.13em;color:#795d43;border-color:#9e805449;padding-bottom:19px}
.studio-site.sw-body .sw-feature,
.studio-site.sw-body .gk-collection-feature {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;padding-top:54px}
.studio-site.sw-body .sw-feature h2 {font-size:clamp(3rem,5.3vw,5.9rem)}
.studio-site.sw-body .sw-feature h2 span,
.studio-site.sw-body .sw-ground h2 span {color:#a36f46}
.studio-site.sw-body .sw-feature p:not(.sw-tag),
.studio-site.sw-body .gk-collection-feature p:not(.sw-tag) {color:#475860;line-height:1.75}
.studio-site.sw-body .sw-small {font-size:.79rem;color:#5c696b!important;margin-top:24px}
.studio-site.sw-body .sw-product-shot,
.studio-site.sw-body .gk-collection-shot {
  display:block;padding:15px;border:1px solid #ecd5b1;border-radius:15px;
  background:linear-gradient(135deg,#e4ccaa,#a88b65 42%,#ead8b9 76%,#887050);
  box-shadow:0 0 0 1px #746149,0 5px 0 #8b7354,0 7px 0 #473e33,0 22px 35px #55452d24,inset 0 1px #fff3dc;
  transform:none;color:#25343a;
}
.studio-site.sw-body .sw-product-shot img,
.studio-site.sw-body .gk-collection-shot img {display:block;width:100%;height:auto;border:5px solid #1c2b2e;border-radius:6px;box-shadow:0 0 0 1px #947c5e;transform:none}
.studio-site.sw-body .sw-product-shot:hover img {transform:none}
.studio-site.sw-body .sw-product-shot:hover,
.studio-site.sw-body .gk-collection-shot:hover {border-color:#fff1d5;box-shadow:0 0 0 1px #746149,0 5px 0 #8b7354,0 7px 0 #473e33,0 26px 40px #55452d33,inset 0 1px #fff3dc}
.studio-site.sw-body .gk-collection-shot>span {padding:15px 4px 1px;font-size:.59rem;color:#3e423b}
.studio-site.sw-body .sw-ground {background:#e7dccb;border-top:1px solid #cbb99e}
.studio-site.sw-body .gk-collection-feature h2 {font-size:clamp(2rem,4.1vw,4.6rem);line-height:1.08;overflow-wrap:normal}
.studio-site.sw-body .gk-pills {gap:8px}
.studio-site.sw-body .gk-pills li {border-color:#ac927067;border-radius:4px;background:#f9efde9c;color:#56615e;font-size:.7rem;padding:8px 11px}
.studio-site.sw-body .sw-studio {padding:85px 7vw;background:radial-gradient(ellipse at 85% 20%,#32526166,transparent 60%),#102c39;color:#f4e5cd;border-top:1px solid #ad865c}
.studio-site.sw-body .sw-studio .eyebrow {color:#dab18c}
.studio-site.sw-body .sw-studio h2 {font-size:clamp(2.5rem,4.8vw,5rem);line-height:1.07}
.studio-site.sw-body .sw-studio p {color:#d1d7d1}
.studio-site.sw-body .sw-studio a:not(.button) {color:#f0c598}
.studio-site.sw-body .sw-studio .button {background:#e9bf94;color:#20323b;border:1px solid #f9dfbc}

/* The product opens as a warm instrument housing around its actual interface. */
.studio-site.sw-body .dg-hero {
  padding:35px 7vw 60px;color:#f6e9d5;
  background:radial-gradient(ellipse at 86% 2%,#45616b66,transparent 54%),linear-gradient(120deg,#102a38,#0d2230 85%);
  border-bottom:1px solid #a2815a;
}
.studio-site.sw-body .dg-topline {color:#b8c8ca;font-size:.67rem;letter-spacing:.12em}
.studio-site.sw-body .dg-topline>a {color:#ead1b1}
.studio-site.sw-body .dg-heading {grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7vw;padding:60px 0 50px}
.studio-site.sw-body .dg-name {font-size:1.15rem;color:#e8d2b4;gap:11px;margin:0}
.studio-site.sw-body .dg-name img {padding:4px;background:#f1dcb52b;border:1px solid #b3926966;border-radius:8px}
.studio-site.sw-body .dg-heading h1 {font-size:clamp(3.2rem,6.7vw,7.2rem);line-height:1.025;margin:25px 0 0}
.studio-site.sw-body .dg-heading h1 span {color:#e9b98b}
.studio-site.sw-body .dg-pitch {border-left:1px solid #c3a17d42;padding-left:34px}
.studio-site.sw-body .dg-pitch>p:first-child {font-size:clamp(1.05rem,1.55vw,1.48rem);line-height:1.75;color:#d0dcd8;margin:0 0 20px}
.studio-site.sw-body .dg-download {background:linear-gradient(#f4d1a7,#dfac76);color:#233039;border:1px solid #ffdfb7;margin-top:4px;box-shadow:inset 0 1px #fff1d7,0 3px 0 #8a623e,0 8px 18px #0003}
.studio-site.sw-body .dg-download:hover {background:#ffdab0;color:#233039}
.studio-site.sw-body .dg-meta {color:#d3bfa5;margin-top:20px;font-size:.75rem}
.studio-site.sw-body .dg-alt {font-size:.75rem;color:#c4d1ce}
.studio-site.sw-body .dg-preview-bar {padding:22px 0;border-color:#b3956c4d;color:#d1b794;font-size:.62rem;letter-spacing:.13em}
.studio-site.sw-body .dg-preview-bar>div {display:flex;gap:5px;padding:4px;border:1px solid #7681845c;border-radius:7px;background:#081924}
.studio-site.sw-body .dg-preview-bar button {background:transparent;border-color:transparent;color:#b7c8c9;border-radius:3px;padding:9px 17px;min-height:36px}
.studio-site.sw-body .dg-preview-bar button[aria-pressed=true] {background:linear-gradient(#f1d1aa,#cda16f);border-color:#e7c49a;color:#23343b;box-shadow:inset 0 1px #fff2d4}
.studio-site.sw-body .dg-screen {padding:15px 15px 0;border-radius:18px;background:linear-gradient(130deg,#e5cfad,#a9906c 36%,#f0dcbb 72%,#9b7c56);border:1px solid #f1dfc2;box-shadow:0 0 0 2px #594c39,0 6px 0 #826745,0 8px 0 #302e29,0 24px 50px #0004;overflow:hidden}
.studio-site.sw-body .dg-screen img {display:block;border:6px solid #1b2b32;border-radius:8px;box-shadow:0 0 0 1px #806c51;width:100%;height:auto}
.studio-site.sw-body .dg-screen figcaption {padding:17px 7px 18px;color:#3b443f;font-size:.72rem;line-height:1.5;letter-spacing:.01em}
.studio-site.sw-body .dg-hero :focus-visible {outline-color:#f4c895}
.studio-site.sw-body .dg-beta {padding:38px 7vw;background:#e2ceb0;border-bottom:1px solid #b69b73;color:#34403e}
.studio-site.sw-body .dg-beta h2 {font-size:1.15rem;letter-spacing:-.03em;color:#263b43}
.studio-site.sw-body .dg-beta p {font-size:.9rem;max-width:980px}
.studio-site.sw-body .dg-beta a {color:#6b472c;font-size:.82rem}
.studio-site.sw-body .dg-security {padding:48px 7vw;background:#f4ecde;border-color:#c5b18f}
.studio-site.sw-body .dg-security h2 {font-size:clamp(1.55rem,2.6vw,2.5rem);line-height:1.17;max-width:750px}
.studio-site.sw-body .dg-security p {max-width:980px;color:#52605f;font-size:.91rem}
.studio-site.sw-body .dg-security a {color:#6f5037;font-size:.86rem}
.studio-site.sw-body .dg-features {padding:85px 7vw;background:#eee3d1;gap:40px}
.studio-site.sw-body .dg-features article {padding-right:25px;border-right:1px solid #b79b744f}
.studio-site.sw-body .dg-features article:last-child {border-right:0}
.studio-site.sw-body .dg-features article>span {font-size:.65rem;color:#976a44;letter-spacing:.13em}
.studio-site.sw-body .dg-features h2 {font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.1;margin:27px 0 20px}
.studio-site.sw-body .dg-features p {font-size:.93rem;line-height:1.75;color:#51605f}
.studio-site.sw-body .dg-details {padding:85px 7vw;background:#f5ecde;border-top:1px solid #cbb694}
.studio-site.sw-body .dg-details h2,
.studio-site.sw-body .dg-release h2 {font-size:clamp(2.4rem,4.2vw,4.8rem);line-height:1.1}
.studio-site.sw-body .dg-faq details {border-color:#b8a1806b;padding:24px 0}
.studio-site.sw-body .dg-faq summary {font-size:.95rem;color:#274553;padding-right:14px}
.studio-site.sw-body .dg-faq details[open] summary {color:#805734}
.studio-site.sw-body .dg-faq p {font-size:.9rem;color:#58605b;line-height:1.8}
.studio-site.sw-body .dg-faq a {color:#735332}
.studio-site.sw-body .dg-release {background:#e3d5bf;border-top:1px solid #b7a184;padding:75px 7vw 90px}
.studio-site.sw-body .dg-release-links a {padding:21px 0;border-color:#92785159;color:#294652;font-size:.9rem}
.studio-site.sw-body .dg-release-links a span {color:#90633e;font-size:.72rem}
.studio-site.sw-body .dg-release-links a:hover {color:#7f512f;text-decoration:none;border-color:#815633}

/* Groundskeeper screenshot gallery and its existing native dialog. */
.studio-site.sw-body .gk-gallery {padding:85px 7vw;background:#e9decc;border-top:1px solid #bb9b72}
.studio-site.sw-body .gk-gallery-heading {margin-bottom:35px}
.studio-site.sw-body .gk-gallery-heading h2 {font-size:clamp(2rem,4vw,4.1rem);line-height:1.1}
.studio-site.sw-body .gk-gallery-heading>p {color:#56635f;font-size:.9rem}
.studio-site.sw-body .gk-gallery-grid {gap:24px}
.studio-site.sw-body .gk-gallery-grid article {background:#f7edde;border:1px solid #b69a73;border-radius:10px;overflow:hidden;box-shadow:0 7px 20px #66543612}
.studio-site.sw-body .gk-zoom {background:linear-gradient(140deg,#c4ad89,#e5d1ad 65%,#a38962);padding:11px}
.studio-site.sw-body .gk-zoom img {border:3px solid #23333b;border-radius:4px}
.studio-site.sw-body .gk-zoom>span {color:#3b4b4c;font-size:.68rem;padding:12px 3px 3px}
.studio-site.sw-body .gk-gallery-copy {padding:26px}
.studio-site.sw-body .gk-gallery-copy .eyebrow {color:#9b6e48;font-size:.62rem}
.studio-site.sw-body .gk-gallery-copy h3 {font-size:1.3rem;color:#253f4b;line-height:1.14}
.studio-site.sw-body .gk-gallery-copy>p:last-child {color:#576461;font-size:.88rem;line-height:1.7}
.studio-site.sw-body .gk-lightbox {background:#102b38;border-color:#bc9970;color:#f1dfc6;border-radius:10px;padding:15px;box-shadow:0 20px 80px #0008}
.studio-site.sw-body .gk-lightbox::backdrop {background:#061b27e8;backdrop-filter:blur(7px)}
.studio-site.sw-body .gk-lightbox button {border:1px solid #e9c393;background:linear-gradient(#f5d4a9,#d7ad7d);color:#23343b;border-radius:4px;padding:11px 20px}
.studio-site.sw-body .gk-lightbox p {color:#d2c5ae;font-size:.78rem}

@media(min-width:1600px) {
  .studio-site.sw-body .sw-intro,
  .studio-site.sw-body .sw-collection,
  .studio-site.sw-body .dg-hero,
  .studio-site.sw-body .dg-beta,
  .studio-site.sw-body .dg-security,
  .studio-site.sw-body .dg-features,
  .studio-site.sw-body .dg-details,
  .studio-site.sw-body .dg-release,
  .studio-site.sw-body .gk-gallery,
  .studio-site.sw-body .sw-studio {padding-left:max(7vw,calc((100vw - 1450px)/2));padding-right:max(7vw,calc((100vw - 1450px)/2))}
}
@media(max-width:1000px) {
  .studio-site.sw-body .dg-heading {gap:4vw}
  .studio-site.sw-body .dg-pitch {padding-left:23px}
  .studio-site.sw-body .dg-heading h1 {font-size:clamp(3rem,6.8vw,5rem)}
  .studio-site.sw-body .sw-feature,
  .studio-site.sw-body .gk-collection-feature {gap:40px}
}
@media(max-width:800px) {
  .studio-site.sw-body .sw-intro {padding:60px 6vw 65px}
  .studio-site.sw-body .sw-intro::after {display:none}
  .studio-site.sw-body .sw-intro h1 {font-size:clamp(2.9rem,10.5vw,5.5rem);margin:27px 0}
  .studio-site.sw-body .sw-intro .sw-lead {font-size:1rem}
  .studio-site.sw-body .sw-feature,
  .studio-site.sw-body .gk-collection-feature,
  .studio-site.sw-body .dg-heading {grid-template-columns:minmax(0,1fr)}
  .studio-site.sw-body .sw-collection {padding:42px 6vw 70px}
  .studio-site.sw-body .sw-feature,
  .studio-site.sw-body .gk-collection-feature {padding-top:34px;gap:35px}
  .studio-site.sw-body .gk-collection-feature h2 {font-size:clamp(1.9rem,7vw,3.7rem)}
  .studio-site.sw-body .sw-product-shot,
  .studio-site.sw-body .gk-collection-shot {padding:10px;border-radius:10px}
  .studio-site.sw-body .dg-hero {padding:25px 6vw 42px}
  .studio-site.sw-body .dg-topline {font-size:.59rem;letter-spacing:.06em}
  .studio-site.sw-body .dg-heading {padding:37px 0 30px;gap:27px}
  .studio-site.sw-body .dg-heading h1 {font-size:clamp(3.05rem,10.5vw,5rem);margin-top:20px}
  .studio-site.sw-body .dg-pitch {padding:0;border:0}
  .studio-site.sw-body .dg-pitch>p:first-child {font-size:1.1rem;line-height:1.65;margin-bottom:20px}
  .studio-site.sw-body .dg-preview-bar {gap:10px;font-size:.55rem;letter-spacing:.04em;padding:18px 0}
  .studio-site.sw-body .dg-preview-bar button {padding:8px 12px}
  .studio-site.sw-body .dg-screen {padding:8px 8px 0;border-radius:11px}
  .studio-site.sw-body .dg-screen img {border-width:3px;border-radius:5px}
  .studio-site.sw-body .dg-screen figcaption {font-size:.65rem;padding:12px 3px 13px}
  .studio-site.sw-body .dg-beta,
  .studio-site.sw-body .dg-security {padding:32px 6vw}
  .studio-site.sw-body .dg-features {padding:55px 6vw;gap:27px}
  .studio-site.sw-body .dg-features article {padding:0 0 26px;border-right:0;border-bottom:1px solid #a789635c}
  .studio-site.sw-body .dg-details,
  .studio-site.sw-body .dg-release,
  .studio-site.sw-body .gk-gallery,
  .studio-site.sw-body .sw-studio {padding:55px 6vw}
  .studio-site.sw-body .dg-details,
  .studio-site.sw-body .dg-release {grid-template-columns:minmax(0,1fr);gap:25px}
  .studio-site.sw-body .dg-release-links a {font-size:.82rem}
  .studio-site.sw-body .dg-release-links a span {font-size:.66rem}
  .studio-site.sw-body .gk-gallery-grid {gap:20px}
}
@media(max-width:380px) {
  .studio-site.sw-body .dg-heading h1 {font-size:2.85rem}
  .studio-site.sw-body .sw-intro h1 {font-size:2.65rem}
  .studio-site.sw-body main .button {padding:14px 16px;font-size:.85rem}
  .studio-site.sw-body .dg-preview-bar {align-items:flex-start}
  .studio-site.sw-body .dg-preview-bar>span {max-width:115px;line-height:1.6}
  .studio-site.sw-body .gk-collection-feature h2 {font-size:1.78rem}
}
