/* Software portfolio extends the existing dark/cyan site theme. */
.header nav{gap:24px}.discipline-strip a:hover{color:var(--accent)}.software .text-link{font-size:15px}
.software-intro{padding-block:36px 64px}.software-intro>.eyebrow{margin-top:55px;font-size:13px}.software-intro h1{font-size:clamp(3rem,5.9vw,5.6rem);line-height:1.08;max-width:1050px}.software-intro-text{font-size:20px;line-height:1.7;max-width:860px;margin-top:32px}.tech-list{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:26px 0 0}.tech-list li{font-size:14px;line-height:1.5;color:#c4d2db;background:#131e28;border:1px solid #30404d;border-radius:4px;padding:7px 11px}.software-intro .tech-list li{background:transparent;border-color:#33434d}.software-intro .text-link{margin-top:24px}
.software-collection{padding-bottom:20px}.project-status{display:inline-block;color:var(--accent);font-size:13px;letter-spacing:.03em;border-left:2px solid var(--accent);padding-left:10px;margin-top:15px}.additional-experience{display:grid;grid-template-columns:1fr 1.65fr;gap:80px;padding-top:85px}.additional-experience .eyebrow{font-size:12px}.prose p{font-size:18px;line-height:1.8;color:#c1cbd4}.prose p+p{margin-top:24px}
.software-case-heading{padding-block:36px 52px}.software-case-heading>.eyebrow{margin-top:52px;font-size:13px;margin-bottom:22px}.software-case-heading h1{font-size:clamp(2.7rem,5.6vw,5rem);line-height:1.1;max-width:1130px}.case-summary{font-size:20px;line-height:1.65;max-width:860px;margin-top:30px}.software-case-heading>.project-status{display:block;width:fit-content;margin:0 0 24px}.software-shot{min-width:0}.screenshot-link{display:block;border:1px solid #344550;border-radius:6px;overflow:hidden;background:#111820}.screenshot-link img{width:100%;height:auto}.screenshot-link:hover{border-color:var(--accent)}.software-shot figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:16px;color:var(--muted);font-size:14px;line-height:1.65}.software-shot figcaption>a{white-space:nowrap;color:var(--accent)}.software-primary{max-width:1120px;margin-inline:auto}.software-case-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:90px;padding-block:65px 60px}.software-case-copy .eyebrow{font-size:12px;margin-bottom:20px}.software-case-copy .tech-list{margin-top:0;gap:8px}.software-case-copy .tech-list li{font-size:14px;padding:6px 10px}.software-case-copy .prose{max-width:790px}.software-case-copy .text-link{font-size:15px}.software-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:start;padding-bottom:45px}.image-note{font-size:14px;margin-bottom:45px;color:var(--muted)}.software-next{margin-top:35px;padding-top:35px}.software-next>a:not(.back){font-size:clamp(1.7rem,3.6vw,3.2rem);line-height:1.25}.software-next>a span{margin-left:15px}.bom-example{padding-bottom:40px;max-width:960px}.bom-example h2{font-size:32px;margin-bottom:20px}.bom-example>p:not(.eyebrow){font-size:17px;max-width:800px}.table-scroll{overflow-x:auto;margin-top:24px;border:1px solid #344550;border-radius:5px}.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:5px}table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}caption{text-align:left;padding:14px 20px;background:#15212b;color:var(--accent)}th,td{padding:15px 20px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:var(--muted)}td{color:#e2e9ef}tr:last-child td{border-bottom:0}.document-gallery{max-width:960px}.document-gallery .screenshot-link{background:white;padding:12px;border-color:#52616b}.document-gallery img{width:100%;height:auto}
@media(max-width:1000px){.header nav{gap:17px}.software-feature-grid{gap:25px}.software-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 20px;gap:20px}.software-case-copy{gap:40px;grid-template-columns:1fr 2fr}.additional-experience{gap:40px}.software-shot figcaption{display:block}.software-shot figcaption>a{display:inline-block;margin-top:8px}.software-feature h2{font-size:26px}}
@media(max-width:700px){.header nav{gap:12px 20px;flex-wrap:wrap;font-size:13px;justify-content:space-between}.software-intro{padding-block:28px 42px}.software-intro>.eyebrow{margin-top:34px}.software-intro h1{font-size:clamp(2.4rem,9.4vw,4rem)}.software-intro-text{font-size:18px;margin-top:25px}.tech-list{gap:7px}.tech-list li{font-size:13px;padding:6px 9px}.software-feature-grid{grid-template-columns:1fr;gap:38px}.software-feature h2{font-size:28px}.software-index{margin-top:45px}.software-row{grid-template-columns:26px minmax(0,1fr) 20px;gap:15px;padding-block:28px}.software-row .row-summary{grid-column:2;grid-row:2;font-size:16px}.software-row .row-arrow{grid-column:3;grid-row:1}.software-row h2{font-size:25px}.additional-experience{grid-template-columns:1fr;gap:30px;padding-block:55px}.prose p{font-size:17px;line-height:1.75}.software-case-heading{padding-block:28px 32px}.software-case-heading>.eyebrow{margin-top:34px}.software-case-heading h1{font-size:clamp(2.25rem,9vw,3.7rem);overflow-wrap:break-word}.case-summary{font-size:18px;margin-top:24px}.software-case-copy{grid-template-columns:1fr;gap:32px;padding-block:40px}.software-case-copy aside{order:2}.software-case-copy .prose{order:1}.software-case-copy .tech-list li{font-size:13px}.software-gallery{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.software-shot figcaption{font-size:14px;margin-top:12px}.image-note{margin-bottom:30px}.software-next{margin-top:20px;padding-bottom:45px}.bom-example h2{font-size:28px}th,td{padding:12px;font-size:14px}.document-gallery .screenshot-link{padding:8px}.software .text-link{font-size:15px}}

/* Text-led project overview with small, subdued screenshot backdrops. */
.software-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:62px;padding:46px 0;border-top:1px solid var(--line)}
.software-overview:last-child{border-bottom:1px solid var(--line)}
.overview-heading{position:relative;isolation:isolate;min-height:230px}
.overview-title{position:relative;z-index:1}
.overview-title .eyebrow{font-size:12px;margin-bottom:20px}
.overview-title h2{font-size:clamp(1.6rem,2.25vw,2rem);line-height:1.22;letter-spacing:-.025em;max-width:410px}
.overview-title h2 a:hover{color:var(--accent)}
.overview-backdrop{position:absolute;z-index:0;width:290px;max-width:95%;height:200px;object-fit:contain;object-position:left center;top:78px;left:24px;opacity:.22;mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 65%,transparent);pointer-events:none}
.overview-copy>p{font-size:18px;line-height:1.75;color:#c1cbd4}
.overview-copy>p+p{margin-top:20px}
.overview-copy .tech-list{margin-top:24px}
.overview-copy .tech-list li{font-size:12px;padding:4px 8px;background:transparent;border-color:#2c3b47}
.overview-copy .text-link{font-size:15px;margin-top:23px}
@media(max-width:1000px){.software-overview{gap:35px;grid-template-columns:1fr 1.65fr}.overview-backdrop{left:0;width:240px}.overview-title h2{font-size:26px}}
@media(max-width:700px){.software-overview{grid-template-columns:1fr;gap:25px;padding-block:34px}.overview-heading{min-height:0}.overview-title h2{font-size:28px;max-width:100%}.overview-title .eyebrow{margin-bottom:16px}.overview-backdrop{width:190px;height:155px;top:-25px;left:auto;right:0;opacity:.15}.overview-copy>p{font-size:17px;line-height:1.75}.overview-copy .tech-list{gap:6px}}

/* Compact screenshots remain visible without interfering with project titles. */
.overview-heading{display:flex;flex-direction:column;min-height:0;align-self:start}
.overview-title{order:0}
.overview-backdrop{position:relative;order:1;top:auto;bottom:auto;left:18px;right:auto;width:290px;height:auto;max-height:220px;margin-top:24px;opacity:.9;object-fit:contain;object-position:left top;mask-image:linear-gradient(to bottom,#000 85%,transparent)}
.home-software{display:grid;grid-template-columns:1fr 1.55fr;gap:70px;padding-block:70px;border-bottom:1px solid var(--line)}
.home-software h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.15}
.home-software .eyebrow{margin-bottom:20px}
.home-software p:not(.eyebrow){font-size:19px;line-height:1.8;color:#c1cbd4}
.home-software .text-link{margin-top:24px;font-size:16px}
@media(max-width:1000px){.home-software{gap:35px}.overview-backdrop{left:0;width:240px}}
@media(max-width:700px){.overview-backdrop{left:12px;right:auto;top:auto;width:230px;max-height:165px;margin-top:20px;opacity:.9}.home-software{grid-template-columns:1fr;gap:25px;padding-block:45px}.home-software p:not(.eyebrow){font-size:17px;line-height:1.75}.home-software h2{font-size:32px}}
