.interior-page .nav-bar { border-bottom:0; }
.interior-page .page-intro { padding:66px 0 48px; }
.interior-page .eyebrow { color:#a7c88f; font-size:10px; letter-spacing:2px; line-height:1.5; }
.interior-page h1 { font-family:'Roboto Slab',Georgia,serif; font-size:clamp(44px,5.2vw,76px); font-weight:400; letter-spacing:-2px; line-height:1.08; margin:20px 0 25px; color:#e2e2dd; }
.interior-page h2 { font-family:'Roboto Slab',Georgia,serif; font-size:clamp(27px,3vw,40px); font-weight:400; line-height:1.2; letter-spacing:-.8px; color:#d5d5d0; }
.interior-page h3 { font-family:'Roboto Slab',Georgia,serif; font-size:23px; font-weight:400; line-height:1.3; color:#cececa; }
.interior-page p { color:#a4a4a1; font-size:14px; line-height:1.8; }
.interior-page .intro-copy { max-width:520px; font-size:18px; line-height:1.65; }
.interior-page .button { font-size:12px; letter-spacing:.2px; min-height:44px; gap:22px; }
.interior-page .button.primary { background:#a7d48b; color:#12190f; border-color:#a7d48b; }
.interior-page .button.outline { color:#c2d6b5; border:1px solid #46513f; background:transparent; }
.interior-page .text-link { color:#bdd4ad; font-size:12px; padding:0; line-height:1.6; text-align:left; }
.interior-page a:hover,.interior-page button:hover { color:#e9f4df; }
.interior-page .button.primary:hover { background:#bddda7; color:#12190f; }
.interior-page .small-muted,.interior-page .image-caption { font-size:11px; color:#81857c; }
.interior-page .service-note { padding:17px 20px; border-left:2px solid #687e5b; background:#10120f; font-size:12px; color:#a9b49f; }
.shop-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; }
.shop-intro figure { margin:0; }
.shop-intro figure img { width:100%; aspect-ratio:1.6; object-fit:cover; }
.shop-intro figcaption { color:#777d72; font-size:10px; margin-top:10px; }
.store-update { display:flex; align-items:flex-start; gap:13px; border-block:1px solid #2a3026; padding:18px 0; }
.store-update p { margin:0; font-size:12px; max-width:830px; }
.status-dot { width:6px; height:6px; background:#92b77c; border-radius:50%; margin-top:8px; flex-shrink:0; }
.store-section { padding:55px 0 25px; }
.section-topline { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.section-topline p { font-size:12px; }
.filter-row { display:flex; gap:10px; flex-wrap:wrap; margin:5px 0 30px; }
.filter { padding:8px 17px; border:1px solid #30362c; border-radius:2px; font-size:12px; color:#b0b4a9; min-height:40px; }
.filter.active { background:#1d2817; border-color:#819b6d; color:#d8e9ce; }
.shop-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 28px; }
.shop-card { border-bottom:1px solid #292c26; padding-bottom:23px; min-width:0; display:flex; flex-direction:column; }
.shop-image { position:relative; width:100%; aspect-ratio:1.6; padding:0; overflow:hidden; background:#0c0d0b; }
.shop-image>img { width:100%; height:100%; object-fit:cover; }
.shop-image.software-art:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#0008,transparent 65%); pointer-events:none; }
.shop-card .entry-label { font-size:8px; color:#8c9a80; margin:17px 0 9px; letter-spacing:1.5px; }
.shop-card h3 { font-size:23px; margin:0 0 13px; }
.shop-card h3 button { padding:0; text-align:left; font:inherit; }
.shop-card>p:not(.entry-label) { font-size:13px; margin-bottom:22px; }
.shop-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-top:auto; }
.shop-card-bottom>span { font-size:10px; color:#8a9282; }
.shop-card-bottom button { white-space:nowrap; }
.quiet-callout { display:flex; justify-content:space-between; gap:45px; align-items:center; padding:45px 0; margin-top:35px; border-top:1px solid #2b3027; }
.quiet-callout h2 { font-size:30px; margin-bottom:12px; }
.quiet-callout p { max-width:620px; margin-bottom:0; }
.quiet-callout .button { flex-shrink:0; }
.interior-page .product-note { margin-top:25px; }
.store-product-status { border-top:1px solid #32392c; padding-top:20px; }
.support-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid #292f24; gap:28px; }
.support-paths>a { position:relative; padding:28px 25px 24px 0; }
.support-paths>a>span { color:#89937f; font-size:9px; letter-spacing:1.4px; }
.support-paths h2 { font-size:24px; margin:13px 0 10px; }
.support-paths p { font-size:12px; margin:0; }
.support-paths b { position:absolute; right:2px; bottom:28px; color:#99b786; font-size:20px; font-weight:400; }
.support-layout { display:grid; grid-template-columns:1.4fr 1fr; gap:85px; padding:65px 0; align-items:start; }
.support-layout details { border-bottom:1px solid #2b3126; padding:18px 0; }
.support-layout summary { cursor:pointer; font-size:16px; color:#cccfc6; padding-right:15px; }
.support-layout details p { font-size:13px; margin:17px 0 10px; }
.support-side { padding-top:20px; }
.support-side img { width:100%; aspect-ratio:1.6; object-fit:cover; margin-bottom:25px; }
.support-side h3 { font-size:27px; margin-bottom:14px; }
.support-side p { font-size:13px; }
.contact-section { padding:65px 0; border-top:1px solid #2b3126; display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; align-items:start; }
.contact-section>div>p { max-width:420px; }
.ctg-form { display:grid; gap:20px; }
.ctg-form label { display:grid; gap:8px; color:#aeb9a4; font-size:12px; line-height:1.5; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ctg-form input,.ctg-form select,.ctg-form textarea { width:100%; min-width:0; background:#10120e; color:#dedfd9; border:1px solid #394131; border-radius:2px; padding:12px 13px; font:inherit; font-size:14px; line-height:1.5; }
.ctg-form textarea { resize:vertical; }
.ctg-form .optional { display:inline; color:#767d6e; font-size:10px; }
.ctg-form .button { justify-self:start; }
.request-review { padding:22px; border:1px solid #4a5c3d; background:#10140c; }
.request-review h3 { font-size:21px; overflow-wrap:anywhere; }
.request-review p { font-size:12px; margin-bottom:12px; overflow-wrap:anywhere; }
.preview-message { white-space:pre-wrap; border-top:1px solid #2a3620; padding-top:15px; color:#c3cabc!important; }
.forum-intro { display:flex; align-items:end; justify-content:space-between; gap:45px; }
.forum-intro .intro-copy { max-width:670px; margin-bottom:0; }
.forum-intro .button { flex-shrink:0; margin-bottom:7px; }
.forum-notice { margin-bottom:45px; }
.forum-layout { display:grid; grid-template-columns:340px 1fr; gap:55px; padding-bottom:65px; }
.interior-page .small-heading { font-size:20px; letter-spacing:0; margin-bottom:22px; }
.forum-categories { border-top:1px solid #30372a; }
.forum-category { display:flex; gap:15px; align-items:center; width:100%; padding:20px 10px; border-bottom:1px solid #30372a; text-align:left; }
.forum-category.active { background:#141c0f; }
.forum-category>span { color:#708462; font-size:10px; }
.forum-category strong { display:block; font-size:14px; font-weight:400; color:#c7cebf; }
.forum-category small { display:block; font-size:10px; color:#7e8c73; margin-top:5px; }
.forum-category b { margin-left:auto; font-size:16px; font-weight:400; color:#8eaa79; }
.forum-support { display:block; margin-top:25px; font-size:11px!important; color:#89967d!important; }
.forum-panel { border-top:1px solid #30372a; padding-top:22px; min-width:0; }
.forum-panel h2 { font-size:32px; margin-bottom:16px; }
.forum-panel>p { font-size:13px; }
.forum-empty { margin-top:35px; padding:34px 0 10px; border-top:1px solid #292f24; }
.conversation-icon { display:block; color:#8eab79; font-size:35px; line-height:1.1; margin-bottom:17px; }
.forum-empty h3 { font-size:25px; margin-bottom:14px; }
.forum-empty p { font-size:13px; max-width:440px; }
.interior-footer { border-top:1px solid #292f24; padding-block:30px; flex-wrap:wrap; gap:20px; margin-top:35px!important; }
.interior-footer>p { font-size:11px; margin:0; }
.interior-footer .footer-brand img { width:54px; height:auto; }
.interior-footer .copyright { width:100%; color:#666d60; font-size:10px; }
.interior-page dialog { max-width:760px; width:calc(100% - 32px); }
@media(max-width:1000px){
 .shop-intro { gap:30px; }
 .shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .support-layout,.contact-section { gap:45px; }
 .forum-layout { grid-template-columns:290px 1fr; gap:30px; }
 .support-paths { gap:20px; }
 .support-paths h2 { font-size:21px; }
 .shop-card h3 { font-size:22px; }
}
@media(max-width:700px){
 .interior-page .page-intro { padding:40px 0 30px; }
 .shop-intro { grid-template-columns:1fr; gap:30px; }
 .shop-intro figure img { max-height:340px; }
 .shop-intro figcaption { font-size:9px; }
 .store-section { padding-top:35px; }
 .shop-card-bottom { align-items:flex-start; flex-direction:column; gap:10px; }
 .quiet-callout,.forum-intro { display:block; }
 .quiet-callout .button,.forum-intro .button { margin-top:20px; }
 .support-paths { grid-template-columns:1fr; gap:0; }
 .support-paths>a { padding:22px 25px 22px 0; border-bottom:1px solid #292f24; }
 .support-paths>a:last-child { border:0; }
 .support-paths h2 { font-size:24px; margin:9px 0; }
 .support-layout,.contact-section { grid-template-columns:1fr; gap:35px; padding:40px 0; }
 .support-side { padding:0; }
 .support-side img { max-height:280px; }
 .forum-layout { grid-template-columns:1fr; gap:35px; padding-bottom:40px; }
 .forum-panel h2 { font-size:29px; }
 .forum-empty { margin-top:25px; padding-top:25px; }
 .forum-intro .intro-copy { margin-bottom:5px; }
 .forum-notice { margin-bottom:30px; }
}
@media(max-width:480px){
 .shop-grid { grid-template-columns:1fr; gap:30px; }
 .shop-card-bottom { align-items:center; flex-direction:row; }
 .form-pair { grid-template-columns:1fr; }
 .filter-row { gap:8px; }
 .filter { padding:8px 12px; font-size:11px; }
 .section-topline h2 { font-size:28px; }
 .interior-page h1 { letter-spacing:-1.4px; }
 .interior-page .intro-copy { font-size:16px; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
.shop-text-product { border-top:1px solid #46533a; padding-top:15px; }
.shop-text-product h3 { max-width:280px; margin-top:10px; }
.catalog-controls{display:grid;grid-template-columns:1fr 300px;align-items:start;gap:30px;margin-bottom:30px}.catalog-controls .filter-row{gap:8px;margin:0}.catalog-controls .filter{padding:8px 13px;font-size:11px}.catalog-search{display:grid;gap:9px;font-size:10px;color:#93a485}.catalog-search input{width:100%;min-width:0;background:#10130e;border:1px solid #3b4632;border-radius:2px;color:#d2dbca;padding:12px;font:inherit;font-size:12px;min-height:42px}.catalog-search input:focus{outline:1px solid #aacb91;outline-offset:2px}.shop-image{display:block}.shop-image>img{object-fit:contain}.shop-card h3 a{color:inherit}.shop-card-bottom{align-items:start}.shop-card-bottom>span{line-height:1.6;max-width:145px}.shop-card-bottom>a{flex-shrink:0}.shop-empty{padding:35px 0}.shop-empty[hidden]{display:none}.shop-card>p:not(.entry-label){line-height:1.75}.shop-text-product .entry-label{margin-top:10px}
@media(min-width:1400px){.shop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.catalog-controls{grid-template-columns:1fr;gap:20px}.catalog-search{max-width:450px}}
@media(max-width:480px){.catalog-controls .filter{font-size:11px;padding:8px 11px}.shop-card-bottom{flex-direction:row;align-items:start}.shop-card-bottom>span{max-width:180px}}
/* Carry the approved CTG masthead through the store and every product page. */
.interior-page .page-intro.store-welcome{padding:34px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.store-welcome h1{font-size:clamp(33px,4vw,54px);margin:14px 0 0;letter-spacing:-1.2px}.store-welcome .intro-copy{font-size:15px;max-width:620px;margin:0 0 13px}.interior-page .banner-brand h1{font-family:Orbitron,'Trebuchet MS',sans-serif;font-size:clamp(30px,3.45vw,53px);font-weight:500;letter-spacing:.055em;line-height:1.2;margin:0;color:#ffffffc7;white-space:nowrap}.interior-page .banner-brand p{font-size:clamp(7px,.78vw,11px);letter-spacing:2.1px;line-height:1.5;color:#b8c5ad;margin:10px 0 0;white-space:nowrap}
@media(max-width:700px){.interior-page .page-intro.store-welcome{grid-template-columns:1fr;gap:20px;padding:27px 0}.store-welcome h1{font-size:36px}.store-welcome .intro-copy{font-size:14px}}
.interior-page .banner-brand p.brand-wordmark{font-family:Orbitron,'Trebuchet MS',sans-serif;font-size:clamp(30px,3.45vw,53px);font-weight:500;letter-spacing:.055em;line-height:1.2;margin:0;color:#ffffffc7;text-shadow:0 2px 14px #0005;white-space:nowrap}
@media(max-width:600px){.shop-grid{grid-template-columns:1fr}.shop-image{aspect-ratio:1.5}.shop-card h3{font-size:25px}}
