/* Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V4 */
/* Hallmark · macrostructure: interactive workbench · tone: precise and inviting · anchor hue: Meadow Green */
.demo-section{padding-block:var(--space-2xl);gap:var(--space-lg)}
.demo-section .lab-intro{display:block;border:0;padding:0}
.demo-section .lab-intro .lab-title{font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin-top:var(--space-sm)}
.demo-section-heading h2{font-size:var(--text-lg)}
.demo-section-heading p{max-width:60ch}
.demo-section .technique-grid{gap:var(--space-xs);border:0;padding-bottom:var(--space-xs)}
.demo-section .technique{flex:1;min-width:max-content;border:1px solid var(--color-rule);border-radius:var(--radius-control);padding:var(--space-sm);gap:var(--space-xs);transition:background var(--dur-short) var(--ease-out)}
.demo-section .technique.selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-on-dark)}
.demo-section .technique.selected:after{display:none}
.demo-section .technique:hover:not(.selected){background:var(--color-paper-3)}
.demo-section .technique>span:not(.tech-number){font-size:var(--text-xs)}
.demo-launcher{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:var(--color-ink);color:var(--color-on-dark);border-radius:var(--radius-card);overflow:hidden;min-height:360px}
.demo-launcher[hidden],#object-demo[hidden],#inline-demo[hidden]{display:none!important}
.launch-preview{margin:0;position:relative;min-height:340px;overflow:hidden;background:var(--color-ink-2)}
.launch-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.launch-preview figcaption{position:absolute;inset:auto var(--space-lg) var(--space-lg);background:var(--color-ink);padding:var(--space-sm) var(--space-md);display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-on-dark)}
.launch-preview figcaption>span:first-child{color:var(--color-accent)}
.preview-corner{position:absolute;width:32px;height:32px;border-color:var(--color-accent);border-style:solid;pointer-events:none}
.corner-top{top:var(--space-lg);left:var(--space-lg);border-width:2px 0 0 2px}
.corner-bottom{bottom:80px;right:var(--space-lg);border-width:0 2px 2px 0}
.launch-copy{padding:var(--space-2xl);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.launch-category{color:var(--color-accent);font-size:11px;letter-spacing:.12em}
.launch-copy h3{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.1;color:var(--color-on-dark);margin:var(--space-md) 0;max-width:16ch}
.launch-copy>p{font-size:var(--text-base);line-height:1.6;color:var(--color-muted-on-dark);max-width:38ch}
.launch-action{margin-top:var(--space-xl);width:100%}
.launch-action .button{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-ink);min-height:52px;padding-inline:var(--space-lg);gap:var(--space-md);font-weight:600}
.launch-action .button:hover{background:var(--color-on-dark);border-color:var(--color-on-dark)}
.launch-action .button:active{transform:translateY(1px)}
.launch-note{display:block;margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted-on-dark)}
.launch-trust{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);font-size:var(--text-xs);color:var(--color-muted-on-dark);border-top:1px solid var(--color-dark-rule);margin-top:var(--space-xl);padding-top:var(--space-md);width:100%}
.demo-launched .lab-intro{display:none}
.demo-launched .input-buttons{flex-wrap:wrap}
#run-image{background:var(--color-success);border-color:var(--color-success);color:var(--color-on-dark)}
@media(min-width:769px){.demo-launcher{flex:1}.demo-section:not(.demo-launched){min-height:calc(100svh - 72px)}.demo-section:not(.demo-launched) #demo-workspace{flex:0}}
@media(max-width:1000px){.launch-copy{padding:var(--space-xl)}.demo-section .technique{flex:none}.demo-section .technique>.icon{display:block;width:18px;height:18px}}
@media(max-width:600px){.demo-section{padding-block:var(--space-xl);gap:var(--space-md)}.demo-section-heading p{display:none}.demo-section-heading{display:flex}.demo-section-heading h2{font-size:20px}.live-demo-badge{font-size:10px;white-space:nowrap}.demo-launcher{grid-template-columns:1fr}.launch-preview{min-height:210px}.launch-copy{padding:var(--space-lg)}.launch-copy h3{max-width:20ch;font-size:30px}.launch-copy>p{font-size:14px}.launch-action{margin-top:var(--space-lg)}.launch-trust{margin-top:var(--space-lg)}.launch-preview figcaption{inset-inline:var(--space-md);bottom:var(--space-md)}.launch-action .button{width:100%;justify-content:space-between}.demo-section .technique{padding:var(--space-sm)}}
@media(prefers-reduced-motion:reduce){.launch-action .button:active{transform:none}.demo-section .technique{transition:none}}
.demo-section:not(.demo-launched) .demo-section-heading{display:none}
.demo-section .technique.selected .icon{color:var(--color-accent)}
@media(min-width:769px) and (max-height:800px){.demo-section{padding-block:var(--space-lg);gap:var(--space-md)}.demo-section .lab-intro .lab-title{font-size:36px}.launch-copy{padding:var(--space-lg)}.launch-copy h3{font-size:32px;margin-block:var(--space-sm)}.launch-copy>p{font-size:14px}.launch-action,.launch-trust{margin-top:var(--space-md)}.demo-launcher,.launch-preview{min-height:310px}.launch-trust{padding-top:var(--space-sm)}}
