.gallery-page{background:#F3F1EC;color:#24211E}
.gallery-page [hidden]{display:none!important}
.gallery-page .gallery-actions{justify-content:flex-start;margin-top:var(--space-3)}
.gallery-page .c-kicker+h1,.gallery-page .c-kicker+h2{margin-top:var(--space-2)}
.gallery-page h3{font-size:var(--text-card);line-height:1.3}
.gallery-page p{overflow-wrap:break-word}

.gallery-hero.c-page-hero[data-hero-form="product-visual"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:start;gap:var(--space-4);width:100%;margin-inline:0;padding-block:var(--space-5);padding-inline:max(var(--gutter),(100% - 75rem)/2);background:#FFFFFF;color:#24211E}
.gallery-hero__copy{min-width:0}
.gallery-hero__copy h1{max-width:15ch;color:#24211E}
.gallery-hero__lead{max-width:37rem;margin-top:var(--space-3);color:#4A453F;font-size:var(--text-lg)}
.gallery-hero__disclosure{max-width:37rem;margin-top:var(--space-2);color:#6F685F;font-size:var(--text-sm)}
.gallery-hero__stage{min-width:0;border-radius:var(--radius-cover);overflow:hidden;background:#2E2C33;color:#F4F2EE;box-shadow:var(--shadow-stage);text-align:left}
.gallery-stage__top,.gallery-stage__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}
.gallery-stage__top{color:#F4F2EE}
.gallery-stage__signal{display:flex;gap:.35rem;flex:none}
.gallery-stage__signal i{width:.35rem;height:.35rem;border-radius:50%;background:#FFD84D}
.gallery-stage__subject{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:15rem;padding:var(--space-3);background:#F3F1EC;color:#24211E}
.gallery-stage__device{position:relative;width:100%;max-width:13rem;aspect-ratio:1.45;border-radius:var(--radius-card);background:#3A3530;color:#F7F3EC;box-shadow:inset 0 -12px 0 rgba(0,0,0,.12)}
.gallery-stage__device-mark{position:absolute;top:47%;left:48%;width:.9rem;height:.9rem;border:2px solid #F7F3EC;border-radius:50%}
.gallery-stage__device-port{position:absolute;right:1.2rem;bottom:1.25rem;width:.45rem;height:.45rem;border-radius:50%;background:#FFD84D}
.gallery-stage__subject-copy{display:grid;gap:var(--space-1);min-width:0}
.gallery-stage__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);color:#6F685F}
.gallery-stage__subject-copy strong{font-family:var(--font-heading);font-size:clamp(1.3rem,2vw,1.85rem);line-height:1.25;overflow-wrap:break-word}
.gallery-stage__subject-copy>span:last-child{font-size:var(--text-sm);color:#4A453F}
.gallery-stage__routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(247,243,236,.12)}
.gallery-stage__routes>span{display:grid;align-content:center;gap:.15rem;min-width:0;min-height:4.5rem;padding:var(--space-1);background:#2E2C33;color:#F4F2EE;font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;text-align:center}
.gallery-stage__routes small{min-width:0;color:#D5D0D8;font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;overflow-wrap:break-word}
.gallery-stage__foot{justify-content:flex-start;color:#D5D0D8;letter-spacing:0}

.gallery-section{padding-block:var(--space-6)}
.gallery-section--deep{background:#24211E;color:#FFFFFF}
.gallery-section--paper{background:#F3F1EC;color:#24211E}
.gallery-section--mist{background:#E4EBE8;color:#1F2D28}
.gallery-section--char{background:#3A3530;color:#F7F3EC}
.gallery-heading{max-width:49rem;margin-bottom:var(--space-4)}
.gallery-heading>p{margin-top:var(--space-2);color:inherit;opacity:.84}
.gallery-section__note{max-width:57rem;margin-top:var(--space-3);color:inherit;opacity:.82;font-size:var(--text-sm)}

.gallery-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.gallery-node{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;border-radius:var(--radius-card);background:#3A3530;color:#F7F3EC}
.gallery-node__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:12rem;padding:var(--space-3);background:#2E2C33;color:#F4F2EE}
.gallery-node__code{position:absolute;top:var(--space-2);left:var(--space-3);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700}
.gallery-node__visual-label{position:absolute;right:var(--space-3);bottom:var(--space-2);font-size:var(--text-xs);color:#D5D0D8}
.gallery-node__shelf{display:grid;gap:.45rem;width:min(68%,14rem);padding:.75rem;border-radius:var(--radius-sm);background:#3A3530;color:#F7F3EC}
.gallery-node__shelf span{height:1.15rem;border-radius:.35rem;background:#E4EBE8;color:#1F2D28}
.gallery-node__shelf span::after{content:"";display:block;width:.32rem;height:.32rem;margin:.41rem .65rem 0 auto;border-radius:50%;background:#AA5A00}
.gallery-node__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:var(--space-3)}
.gallery-node__index,.gallery-node__foot{font-family:var(--font-mono);font-size:var(--text-xs);color:#DDD4C7}
.gallery-node__body h3{margin-top:var(--space-2);color:#F7F3EC}
.gallery-node__body p{margin-top:var(--space-2);color:#E4DDD3;font-size:var(--text-sm)}
.gallery-node__body .gallery-node__caption{color:#DDD4C7}
.gallery-node__foot{display:block;margin-top:auto;padding-top:var(--space-3)}

.gallery-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.gallery-work-card{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;border-radius:var(--radius-card);background:#FFFFFF;color:#24211E}
.gallery-work-card__visual{height:13.5rem;overflow:hidden;background:#2E2C33;color:#F4F2EE}
.gallery-ui__header{display:flex;justify-content:space-between;gap:var(--space-1);padding:.75rem var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:#F4F2EE}
.gallery-ui__header span{min-width:0;overflow-wrap:break-word}
.gallery-ui__body{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,1fr);height:calc(100% - 2.7rem)}
.gallery-ui__rail{display:grid;align-content:start;gap:.7rem;padding:var(--space-2);background:#3A3530;color:#F7F3EC;font-family:var(--font-mono);font-size:var(--text-xs)}
.gallery-ui__content{padding:var(--space-2)}
.gallery-ui__content strong{font-size:var(--text-sm)}
.gallery-ui__progress{height:.4rem;margin-block:var(--space-2);border-radius:var(--radius-pill);background:#655E56;color:#F7F3EC}
.gallery-ui__progress span{display:block;width:62%;height:100%;border-radius:inherit;background:#FFD84D}
.gallery-ui__log{display:grid;gap:.35rem;font-family:var(--font-mono);font-size:var(--text-xs)}
.gallery-ui__log span::before{content:"";display:inline-block;width:.35rem;height:.35rem;margin-right:.5rem;border-radius:50%;background:#FFD84D}
.gallery-work-card__visual--sim{background:#3A3530;color:#F7F3EC}
.gallery-sim__screens{display:flex;justify-content:center;gap:var(--space-2);padding:.25rem var(--space-2) var(--space-2)}
.gallery-sim__phone{display:grid;align-content:start;gap:.5rem;width:5.2rem;height:9.5rem;padding:.8rem .5rem;border:.3rem solid #24211E;border-radius:1.25rem;background:#E4EBE8;color:#1F2D28}
.gallery-sim__phone span{width:40%;height:.28rem;margin-inline:auto;border-radius:var(--radius-pill);background:#1F2D28;color:#E4EBE8}
.gallery-sim__phone i{height:1.35rem;border-radius:.25rem;background:#B8CCC3;color:#1F2D28}
.gallery-sim__phone i:nth-child(3){width:70%}
.gallery-work-card__visual--sign{background:#2E2C33;color:#F4F2EE}
.gallery-sign__sheet{margin:0 var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:#F3F1EC;color:#24211E}
.gallery-sign__sheet strong{display:block;margin-bottom:.5rem;font-size:var(--text-sm)}
.gallery-sign__sheet>div{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-top:1px solid rgba(36,33,30,.12);font-size:var(--text-xs)}
.gallery-sign__sheet b{color:#6B3C00;white-space:nowrap}
.gallery-work-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:var(--space-3)}
.gallery-work-card__type,.gallery-work-card__caption{font-family:var(--font-mono);font-size:var(--text-xs);color:#6F685F}
.gallery-work-card h3{margin-top:var(--space-2)}
.gallery-work-card p{margin-top:var(--space-2);color:#4A453F;font-size:var(--text-sm)}
.gallery-work-card__caption{display:block;margin-top:auto;padding-top:var(--space-3)}
.gallery-actions--follow{margin-top:var(--space-3)}

.gallery-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:stretch}
.gallery-archive-card{display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden;border-radius:var(--radius-card);background:#F3F1EC;color:#24211E}
.gallery-archive-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#E4EBE8;color:#1F2D28;font-family:var(--font-mono);font-size:var(--text-sm)}
.gallery-archive-card__content{display:grid;align-content:start;gap:var(--space-2);flex:1;min-width:0;padding:var(--space-3)}
.gallery-archive-card__content h3{margin-bottom:var(--space-1)}
.gallery-archive-row{display:grid;grid-template-columns:minmax(6rem,.45fr) minmax(0,1fr);gap:var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid rgba(36,33,30,.12);font-size:var(--text-sm)}
.gallery-archive-row span,.gallery-archive-row strong{min-width:0;overflow-wrap:break-word}
.gallery-archive-row span{color:#6F685F}
.gallery-archive-row strong{font-weight:650}
.gallery-archive-card__content p{color:#4A453F;font-size:var(--text-sm)}
.gallery-archive-card__footer{display:block;padding:var(--space-2) var(--space-3);background:#F3F1EC;color:#6F685F;font-size:var(--text-xs)}

.gallery-ai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:start;gap:var(--space-4)}
.gallery-ai__copy{min-width:0}
.gallery-ai__copy p{margin-top:var(--space-2);color:#33453F}
.gallery-ai__panel{min-width:0;overflow:hidden;border-radius:var(--radius-card);background:#2E2C33;color:#F4F2EE}
.gallery-ai__panel-head{display:flex;justify-content:space-between;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#3A3530;color:#F7F3EC;font-family:var(--font-mono);font-size:var(--text-xs)}
.gallery-ai__panel-body{padding:var(--space-3)}
.gallery-ai__panel-kicker{font-family:var(--font-mono);font-size:var(--text-sm)}
.gallery-ai__meter{display:flex;gap:.4rem;margin-block:var(--space-3)}
.gallery-ai__meter span{height:.65rem;min-width:0;border-radius:var(--radius-pill);background:#FFD84D;color:#24211E}
.gallery-ai__meter span:nth-child(1){flex:3}
.gallery-ai__meter span:nth-child(2){flex:2;background:#E4EBE8;color:#1F2D28}
.gallery-ai__meter span:nth-child(3){flex:1;background:#776F79;color:#FFFFFF}
.gallery-ai__panel dl{margin:0}
.gallery-ai__panel dl>div{display:grid;grid-template-columns:minmax(6rem,.5fr) minmax(0,1fr);gap:var(--space-1);padding-block:.65rem;border-top:1px solid rgba(247,243,236,.12)}
.gallery-ai__panel dt,.gallery-ai__panel dd{min-width:0;overflow-wrap:break-word;color:#F4F2EE;font-size:var(--text-sm)}
.gallery-ai__panel dd{color:#D5D0D8}
.gallery-ai__panel-body p{margin-top:var(--space-2);color:#D5D0D8;font-size:var(--text-sm)}

.gallery-voices.c-quote-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);color:#F7F3EC}
.gallery-voices blockquote{display:flex;flex-direction:column;height:100%;min-width:0;padding:var(--space-4);border-radius:var(--radius-card);background:#2E2C33;color:#F4F2EE}
.gallery-voices blockquote p{font-family:var(--font-heading);font-size:var(--text-lg);line-height:1.5}
.gallery-voices cite{margin-top:auto;padding-top:var(--space-3);color:#D5D0D8;font-size:var(--text-sm);font-style:normal}

.gallery-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:var(--space-4);align-items:start}
.gallery-evidence>div{min-width:0}
.gallery-evidence p{margin-top:var(--space-2);color:#4A453F}
.gallery-evidence__steps{display:grid;gap:var(--space-2)}
.gallery-evidence__steps>div{display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:var(--space-2);min-width:0;padding:var(--space-3);border-radius:var(--radius-card);background:#FFFFFF;color:#24211E}
.gallery-evidence__steps span{grid-row:span 2;font-family:var(--font-mono);color:#874900}
.gallery-evidence__steps strong{min-width:0}
.gallery-evidence__steps p{grid-column:2;margin-top:.5rem;color:#4A453F;font-size:var(--text-sm)}

.gallery-closing-section{padding-block:var(--space-6);background:#F3F1EC;color:#24211E}
.gallery-closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.36fr);align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-cover);background:#2E2C33;color:#F4F2EE}
.gallery-closing>div{min-width:0}
.gallery-closing p{max-width:41rem;margin-top:var(--space-2);color:#D5D0D8}
.gallery-closing__actions{display:grid;align-content:center;gap:var(--space-2)}
.gallery-closing__actions .c-btn{width:100%;min-width:0;white-space:normal}

@media(max-width:64rem){
  .gallery-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-work-card:last-child{grid-column:1/-1}
}
@media(max-width:42rem){
  .gallery-hero.c-page-hero[data-hero-form="product-visual"]{grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4)}
  .gallery-page .gallery-hero__stage{width:100%;margin-inline:0;height:auto;overflow:hidden;transform:none}
  .gallery-node-grid,.gallery-work-grid,.gallery-archive-grid,.gallery-ai,.gallery-voices.c-quote-strip,.gallery-evidence,.gallery-closing{grid-template-columns:minmax(0,1fr)}
  .gallery-work-card:last-child{grid-column:auto}
  .gallery-section,.gallery-closing-section{padding-block:var(--space-5)}
  .gallery-heading{margin-bottom:var(--space-3)}
  .gallery-closing{padding:var(--space-3)}
  .gallery-page .gallery-actions .c-btn{width:100%}
}
@media(max-width:25rem){
  .gallery-stage__subject{grid-template-columns:minmax(0,1fr)}
  .gallery-stage__routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-archive-row,.gallery-ai__panel dl>div{grid-template-columns:minmax(0,1fr)}
  .gallery-node__body,.gallery-work-card__body,.gallery-archive-card__content,.gallery-ai__panel-body{padding:var(--space-3)}
}
