main.tpl-dev section{padding:var(--section-gap) 0}main.tpl-dev .crumbs{padding:var(--sp-4) 0 0}main.tpl-dev .crumbs ol{gap:var(--sp-2);font:var(--fw-regular) var(--fs-caption) / 1.4 var(--font-body);color:var(--text-on-dark-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}main.tpl-dev .crumbs a{color:var(--text-on-dark-2);text-decoration:none}main.tpl-dev .crumbs a:hover{color:var(--text-on-dark-1)}main.tpl-dev .crumbs li+li:before{content:"/";margin-right:var(--sp-2);color:var(--text-on-dark-3)}main.tpl-dev .hero{padding:clamp(40px, 6vh, 72px) 0 var(--sp-8);position:relative;overflow:hidden}main.tpl-dev .hero .glow{pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklab, var(--accent) 16%, transparent), transparent);width:1000px;height:680px;margin-left:-500px;position:absolute;top:-34%;left:50%}main.tpl-dev .hero .grid-bg{pointer-events:none;opacity:.6;background-image:linear-gradient(to right, var(--border-on-dark) 1px, transparent 1px), linear-gradient(to bottom, var(--border-on-dark) 1px, transparent 1px);background-size:74px 74px;position:absolute;inset:0}main.tpl-dev .hero .wrap{position:relative}main.tpl-dev .hero-grid{margin-top:var(--sp-1);grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,4.5vw,64px);display:grid}main.tpl-dev .hero-copy{min-width:0}main.tpl-dev .hero-badge{margin:var(--sp-4) 0 0}main.tpl-dev .hero h1{font:var(--fw-bold) var(--fs-h1) / var(--lh-tight) var(--font-display);margin:var(--sp-5) 0 0}main.tpl-dev .line{display:block}main.tpl-dev .accent{color:var(--blue-400)}main.tpl-dev .answer{margin:var(--sp-5) 0 0;padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-lg);background:var(--navy-900);border:1px solid var(--glass-border);border-left:3px solid var(--blue-500)}main.tpl-dev .answer p{font:var(--fw-regular) var(--fs-body-lg) / var(--lh-body) var(--font-body);color:var(--text-on-dark-1);text-wrap:pretty;margin:0}main.tpl-dev .ctas{gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}main.tpl-dev .ctas.is-center{justify-content:center}main.tpl-dev .hero-media{position:relative}main.tpl-dev .frame{text-align:center;padding:var(--sp-5);aspect-ratio:4/3.15;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:repeating-linear-gradient(45deg, var(--surface-card-dark) 0 1px, transparent 1px 11px), var(--navy-800);font:var(--fw-regular) var(--fs-caption) / 1.5 ui-monospace, monospace;color:var(--text-on-dark-2);justify-content:center;align-items:center;display:flex;overflow:hidden}main.tpl-dev .chip{left:0;bottom:var(--sp-5);align-items:center;gap:var(--sp-3);max-width:290px;padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-lg);background:var(--navy-950);border:1px solid var(--border-on-dark-strong);margin:0;display:flex;position:absolute}main.tpl-dev .chip b{font:var(--fw-bold) var(--fs-h3) / 1 var(--font-display);color:var(--blue-400);flex-shrink:0}main.tpl-dev .chip span{font:var(--fw-regular) var(--fs-caption) / 1.4 var(--font-body);color:var(--text-on-dark-2)}main.tpl-dev .qa{gap:var(--sp-7);grid-template-columns:minmax(0,1fr);display:grid}main.tpl-dev .qa article{gap:0 var(--sp-5);grid-template-columns:78px minmax(0,1fr);scroll-margin-top:100px;display:grid}main.tpl-dev .qa article>*{grid-column:2}main.tpl-dev .qa .num{font:var(--fw-bold) 2.6rem / .9 var(--font-display);color:#0000;-webkit-text-stroke:1.5px color-mix(in oklab, var(--accent) 55%, transparent);letter-spacing:-.04em;grid-area:1/1;align-self:baseline;position:sticky;top:104px}main.tpl-dev .qa h2{font:var(--fw-bold) var(--fs-h2) / var(--lh-heading) var(--font-display);text-wrap:balance}main.tpl-dev .cite{margin:var(--sp-5) 0 0;padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-lg);border:1px solid var(--glass-border);position:relative}main.tpl-dev .qa article:nth-of-type(odd) .cite{background:linear-gradient(140deg, color-mix(in oklab, var(--accent) 11%, transparent), transparent 60%), var(--navy-900);border-left:3px solid var(--blue-500)}main.tpl-dev .qa article:nth-of-type(2n) .cite{background:var(--navy-900);border-top:3px solid color-mix(in oklab, var(--cyan-400) 55%, transparent)}main.tpl-dev .cite p{font:var(--fw-regular) var(--fs-body-lg) / 1.7 var(--font-body);color:var(--text-on-dark-1);text-wrap:pretty;margin:0}main.tpl-dev .cite strong{color:var(--white);font-weight:var(--fw-semibold)}main.tpl-dev .after{margin:var(--sp-4) 0 0;font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-body);color:var(--text-on-dark-2);text-wrap:pretty}main.tpl-dev .chk{margin:var(--sp-4) 0 0;gap:var(--sp-3);padding:0;list-style:none;display:grid}main.tpl-dev .chk li{padding-left:var(--sp-6);font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-body);color:var(--text-on-dark-2);position:relative}main.tpl-dev .chk li:before{content:"";border-radius:var(--radius-pill);background:var(--blue-400);width:10px;height:10px;position:absolute;top:.55em;left:0}main.tpl-dev .decide{width:100%;margin:var(--sp-5) 0 0;border-collapse:separate;border-spacing:0;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--navy-900);overflow:hidden}main.tpl-dev .decide caption{text-align:left;padding:0 0 var(--sp-3);font:var(--fw-regular) var(--fs-small) / 1.5 var(--font-body);color:var(--text-on-dark-3)}main.tpl-dev .decide th,main.tpl-dev .decide td{padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:top;font:var(--fw-regular) var(--fs-small) / 1.55 var(--font-body);color:var(--text-on-dark-2);border-bottom:1px solid var(--border-on-dark)}main.tpl-dev .decide thead th{font:var(--fw-semibold) var(--fs-small) / 1.4 var(--font-display);color:var(--text-on-dark-1);background:var(--navy-800)}main.tpl-dev .decide tbody th{font-weight:var(--fw-semibold);color:var(--text-on-dark-1);width:34%}main.tpl-dev .decide tr:last-child th,main.tpl-dev .decide tr:last-child td{border-bottom:none}main.tpl-dev .steps{gap:var(--sp-3);margin-top:var(--sp-5);grid-template-columns:repeat(5,1fr);display:grid}main.tpl-dev .step{padding:var(--sp-5);border-radius:var(--radius-lg);background:var(--navy-900);border:1px solid var(--glass-border)}main.tpl-dev .step b{border-radius:var(--radius-pill);background:var(--accent-surface);width:34px;height:34px;color:var(--blue-400);font:var(--fw-bold) var(--fs-small) / 1 var(--font-display);justify-content:center;align-items:center;display:flex}main.tpl-dev .step h3{font:var(--fw-semibold) var(--fs-body) / 1.3 var(--font-display);margin:var(--sp-3) 0 var(--sp-2)}main.tpl-dev .step p{font:var(--fw-regular) var(--fs-caption) / 1.55 var(--font-body);color:var(--text-on-dark-2);margin:0}main.tpl-dev .step em{margin-top:var(--sp-2);font:var(--fw-semibold) var(--fs-caption) / 1.4 var(--font-body);color:var(--blue-400);display:block}main.tpl-dev .stack{margin:var(--sp-5) 0 0;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--navy-900);overflow:hidden}main.tpl-dev .stack-row{gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-on-dark);grid-template-columns:132px minmax(0,1fr);align-items:center;display:grid}main.tpl-dev .stack-row:last-child{border-bottom:0}main.tpl-dev .stack-row h3{font:var(--fw-semibold) var(--fs-caption) / 1.3 var(--font-body);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-on-dark-3)}main.tpl-dev .stack ul{gap:var(--sp-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}main.tpl-dev .stack li{background:0 0;border:0;padding:0}main.tpl-dev .stack li>a{min-height:var(--touch-target);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-pill);background:var(--navy-800);border:1px solid var(--border-on-dark);font:var(--fw-medium) var(--fs-small) / 1 var(--font-body);color:var(--text-on-dark-1);transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}main.tpl-dev .stack li>a:hover{background:var(--surface-card-dark-hover);border-color:var(--border-on-dark-strong);color:var(--text-on-dark-1)}main.tpl-dev .stack li>a:focus-visible{box-shadow:var(--focus-ring);outline:none}main.tpl-dev .band{border-top:1px solid var(--border-on-dark);border-bottom:1px solid var(--border-on-dark);background:var(--navy-900)}main.tpl-dev .band .wrap{grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(28px,4.5vw,56px);display:grid}main.tpl-dev .band .media{text-align:center;padding:var(--sp-5);aspect-ratio:16/10;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:repeating-linear-gradient(45deg, var(--surface-card-dark) 0 1px, transparent 1px 11px), var(--navy-800);max-height:420px;font:var(--fw-regular) var(--fs-caption) / 1.5 ui-monospace, monospace;color:var(--text-on-dark-2);justify-content:center;align-items:center;display:flex;overflow:hidden}main.tpl-dev .cards{gap:var(--sp-4);margin-top:var(--sp-7);grid-template-columns:repeat(2,1fr);display:grid}main.tpl-dev .card.is-small{padding:var(--sp-5)}main.tpl-dev .ico{border-radius:var(--radius-md);background:var(--accent-surface);width:50px;height:50px;color:var(--blue-400);justify-content:center;align-items:center;display:flex}main.tpl-dev .ico svg{stroke-width:1.75px;width:26px;height:26px}main.tpl-dev .card h3{font:var(--fw-bold) var(--fs-h3) / var(--lh-heading) var(--font-display)}main.tpl-dev .card.is-small h3{font:var(--fw-semibold) var(--fs-h4) / 1.25 var(--font-display)}main.tpl-dev .card p{font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-body);color:var(--text-on-dark-2);margin:0}main.tpl-dev .card.is-small p{font-size:var(--fs-small)}main.tpl-dev .folio{gap:var(--sp-4);margin-top:var(--sp-7);grid-template-columns:repeat(3,1fr);display:grid}main.tpl-dev .work{border-radius:var(--radius-xl);background:var(--navy-900);border:1px solid var(--glass-border);flex-direction:column;display:flex;overflow:hidden}main.tpl-dev .shot{aspect-ratio:16/10;text-align:center;padding:var(--sp-4);border-bottom:1px solid var(--glass-border);background:radial-gradient(circle at 25% 30%, color-mix(in oklab, var(--accent) 24%, transparent) 0, transparent 45%), radial-gradient(circle at 75% 70%, color-mix(in oklab, var(--cyan-400) 18%, transparent) 0, transparent 42%), var(--navy-800);font:var(--fw-regular) var(--fs-caption) / 1.5 ui-monospace, monospace;color:var(--text-on-dark-2);justify-content:center;align-items:center;display:flex}main.tpl-dev .work-body{padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;flex:1;display:flex}main.tpl-dev .work h3{font:var(--fw-semibold) var(--fs-h4) / 1.3 var(--font-display)}main.tpl-dev .work p{font:var(--fw-regular) var(--fs-small) / 1.6 var(--font-body);color:var(--text-on-dark-2);margin:0}main.tpl-dev .meta{gap:var(--sp-2);padding-top:var(--sp-1);flex-wrap:wrap;margin-top:auto;display:flex}main.tpl-dev .meta span{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);font:var(--fw-semibold) var(--fs-caption) / 1.3 var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--cyan-400);background:var(--cyan-surface);border:1px solid var(--cyan-border)}main.tpl-dev .cta-final{padding:var(--sp-9) 0;text-align:center;background:var(--navy-900);border-top:1px solid var(--border-on-dark);border-bottom:1px solid var(--border-on-dark);position:relative;overflow:hidden}main.tpl-dev .cta-final .glow{pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklab, var(--accent) 13%, transparent), transparent);width:900px;height:520px;margin:-260px 0 0 -450px;position:absolute;top:50%;left:50%}main.tpl-dev .cta-final .wrap{position:relative}main.tpl-dev .faq-head{margin-bottom:var(--sp-6)}main.tpl-dev details{border-bottom:1px solid var(--border-on-dark)}main.tpl-dev summary{justify-content:space-between;align-items:center;gap:var(--sp-4);cursor:pointer;padding:var(--sp-5) 0;min-height:var(--touch-target);font:var(--fw-semibold) var(--fs-h4) / 1.4 var(--font-display);color:var(--text-on-dark-1);list-style:none;display:flex}main.tpl-dev summary::-webkit-details-marker{display:none}main.tpl-dev summary:after{content:"+";font:var(--fw-regular) var(--fs-h3) / 1 var(--font-display);color:var(--blue-400);flex-shrink:0}main.tpl-dev details[open] summary:after{content:"–"}main.tpl-dev details p{margin:0 0 var(--sp-5);font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-body);color:var(--text-on-dark-2)}@media (width<=980px){main.tpl-dev .hero-grid,main.tpl-dev .band .wrap{gap:var(--sp-6);grid-template-columns:1fr}main.tpl-dev .frame{aspect-ratio:16/9;max-height:340px}main.tpl-dev .chip{left:var(--sp-3);bottom:var(--sp-3)}main.tpl-dev .qa article{grid-template-columns:1fr;gap:0}main.tpl-dev .qa article>*,main.tpl-dev .qa .num{grid-column:1}main.tpl-dev .qa .num{font-size:var(--fs-h3);margin-bottom:var(--sp-3);position:static}main.tpl-dev .cards,main.tpl-dev .folio{grid-template-columns:1fr}main.tpl-dev .steps{grid-template-columns:repeat(2,1fr)}main.tpl-dev .stack-row{gap:var(--sp-3);grid-template-columns:1fr}main.tpl-dev .band .media{aspect-ratio:16/9;max-height:300px}}@media (width<=560px){main.tpl-dev .steps{grid-template-columns:1fr}main.tpl-dev .cite{padding:var(--sp-5)}main.tpl-dev .decide th,main.tpl-dev .decide td{padding:var(--sp-3)}main.tpl-dev .decide tbody th{width:42%}}main.tpl-dev .frame:has(img),main.tpl-dev .band .media:has(img){padding:0}main.tpl-dev .frame img,main.tpl-dev .band .media img{object-fit:cover;width:100%;height:100%;display:block}.card[data-astro-cid-tmbwu6fx]{gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--radius-xl);background:var(--navy-900);border:1px solid var(--glass-border);color:inherit;transition:background-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.card[data-astro-cid-tmbwu6fx]:hover{background:var(--surface-card-dark-hover);color:inherit;transform:translateY(-4px)}.card[data-astro-cid-tmbwu6fx]:focus-visible{box-shadow:var(--focus-ring);outline:none}.more[data-astro-cid-tmbwu6fx]{font:var(--fw-semibold) var(--fs-small) / 1 var(--font-body);color:var(--text-on-dark-1);transition:color var(--duration-fast) var(--ease-out);margin-top:auto}.card[data-astro-cid-tmbwu6fx]:hover .more[data-astro-cid-tmbwu6fx]{color:var(--blue-400)}.folio-link[data-astro-cid-tmbwu6fx]{margin:var(--sp-5) 0 0;font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-body)}
