.template-detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:clamp(3rem,7vw,7rem);align-items:center;padding:clamp(4rem,8vw,7.5rem) clamp(1.75rem,6vw,5rem);overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 2.45rem,hsl(var(--hairline-3) / .12) 2.45rem 2.5rem),hsl(var(--paper))}.template-detail-copy{max-width:43rem}.template-detail-category{display:inline-block;margin-top:1.75rem;padding:.45rem .7rem;border-radius:var(--radius-sm);font:700 .65rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.template-detail-copy h1{margin:1.25rem 0 1rem;max-width:44rem;color:hsl(var(--ink-0));font:400 clamp(2.55rem,5.5vw,4.8rem) / 1.02 var(--font-display);letter-spacing:-.035em}.template-detail-copy>p{max-width:39rem;margin:0 0 1.75rem;color:hsl(var(--ink-3));font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}.template-file-facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0 0 1.75rem;padding:1rem 0;border-block:.0625rem solid hsl(var(--hairline))}.template-file-facts div{min-width:6rem}.template-file-facts dt{margin-bottom:.25rem;color:hsl(var(--ink-5));font:600 .65rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.template-file-facts dd{margin:0;color:hsl(var(--ink-1));font:700 .85rem/1.3 var(--font-mono)}.template-delivery-note{display:block;margin-top:.8rem;color:hsl(var(--ink-5));font:500 .7rem/1.4 var(--font-mono)}.template-detail-preview{position:relative;width:min(100%,25rem);margin:0 auto;padding:1.6rem;border:.1rem solid var(--ink-line);border-radius:var(--radius-lg);background:repeating-linear-gradient(135deg,hsl(var(--riso-teal) / .08) 0 .5rem,hsl(var(--paper-2)) .5rem 1rem);box-shadow:.65rem .65rem hsl(var(--riso-teal) / .28);transform:rotate(1.5deg)}.template-detail-preview picture{display:block;overflow:hidden;border:.1rem solid var(--ink-line);border-radius:var(--radius-sm);background:hsl(var(--card))}.template-detail-preview img{display:block;width:100%;height:auto}.template-detail-preview figcaption{margin-top:1rem;color:hsl(var(--ink-4));font:600 .68rem/1.4 var(--font-mono);text-align:center}.template-detail-body{padding:clamp(4rem,8vw,7rem) clamp(1.75rem,6vw,5rem);background:hsl(var(--paper-2));border-block:.1rem solid var(--ink-line)}.template-about{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:3rem;max-width:70rem;margin:0 auto clamp(4rem,7vw,6rem)}.template-prose{color:hsl(var(--ink-2));font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.8}.template-prose>:first-child{margin-top:0}.template-prose>:last-child{margin-bottom:0}.template-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:76rem;margin:0 auto}.template-guide-card{position:relative;padding:clamp(1.5rem,3vw,2.25rem);overflow:hidden;border:.1rem solid var(--ink-line);border-radius:var(--radius-lg);background:hsl(var(--card));box-shadow:.3rem .3rem hsl(var(--riso-teal) / .2)}.template-guide-card-wide{grid-column:span 1}.template-guide-number{position:absolute;top:1rem;right:1.25rem;color:hsl(var(--primary-500) / .24);font:500 3.5rem/1 var(--font-display)}.template-guide-card h2{position:relative;margin:0 0 1.4rem;color:hsl(var(--ink-0));font:500 clamp(1.5rem,3vw,2.1rem) / 1.1 var(--font-display)}.template-feature-list,.template-plain-list,.template-step-list{position:relative;display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.template-feature-list li,.template-plain-list li{position:relative;padding-left:1.5rem;color:hsl(var(--ink-3));line-height:1.55}.template-feature-list li:before,.template-plain-list li:before{content:"✓";position:absolute;left:0;color:hsl(var(--primary-700));font-weight:800}.template-step-list{counter-reset:template-step}.template-step-list li{counter-increment:template-step;display:grid;grid-template-columns:2rem 1fr;gap:.75rem;align-items:start;color:hsl(var(--ink-3));line-height:1.55}.template-step-list li:before{content:counter(template-step,decimal-leading-zero);color:hsl(var(--primary-700));font:700 .7rem/1.55 var(--font-mono)}.related-templates{padding:clamp(4rem,8vw,7rem) clamp(1.75rem,6vw,5rem);background:hsl(var(--paper))}.related-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;max-width:72rem;margin:3rem auto 0}.related-template-card{display:flex;flex-direction:column;padding:1.25rem;border:.1rem solid var(--ink-line);border-radius:var(--radius-lg);background:hsl(var(--card));color:hsl(var(--ink-1));text-decoration:none;box-shadow:.3rem .3rem hsl(var(--riso-teal) / .2);transition:transform .12s,box-shadow .12s}.related-template-card:hover{transform:translate(-.15rem,-.15rem);box-shadow:.45rem .45rem hsl(var(--riso-teal) / .3)}.related-template-card picture{display:block;height:11rem;margin-bottom:1.25rem;overflow:hidden;border-bottom:.1rem solid var(--ink-line);background:hsl(var(--quiet))}.related-template-card img{display:block;width:58%;height:auto;margin:1rem auto 0;border:.0625rem solid hsl(var(--hairline))}.related-template-card>span{color:hsl(var(--primary-700));font:700 .62rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.related-template-card h3{margin:.7rem 0 .5rem;font-size:1rem}.related-template-card p{flex:1;margin:0 0 1rem;color:hsl(var(--ink-4));font-size:.82rem;line-height:1.5}.related-template-card b{color:hsl(var(--primary-700));font-size:.8rem}.download-overlay{position:fixed;inset:0;z-index:240;display:none;place-items:center;padding:1.5rem;background:hsl(var(--ink-0) / .62);backdrop-filter:blur(.25rem)}.download-overlay.open{display:grid}.download-dialog{position:relative;width:min(100%,35rem);max-height:90vh;padding:clamp(1.75rem,5vw,3rem);overflow-y:auto;border:.1rem solid var(--ink-line);border-radius:var(--radius-lg);background:hsl(var(--paper));box-shadow:.65rem .65rem hsl(var(--riso-teal) / .35)}.download-dialog h2{margin:.8rem 2rem .8rem 0;color:hsl(var(--ink-0));font:500 clamp(2rem,5vw,2.8rem) / 1.05 var(--font-display)}.download-dialog p{color:hsl(var(--ink-3));line-height:1.6}.download-close{position:absolute;top:1rem;right:1rem;display:grid;width:2.25rem;height:2.25rem;place-items:center;border:.1rem solid var(--ink-line);border-radius:var(--radius-sm);background:hsl(var(--paper-2));color:hsl(var(--ink-1));cursor:pointer}.download-close svg{width:1rem;height:1rem}.download-field{display:grid;gap:.45rem;margin:1.5rem 0 1rem;color:hsl(var(--ink-2));font:700 .72rem/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.download-field input{min-height:3.25rem;padding:0 1rem;border:.1rem solid var(--ink-line);border-radius:var(--radius-sm);background:hsl(var(--card));color:hsl(var(--ink-0));font:500 1rem/1 var(--font-sans);text-transform:none}.download-consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin-bottom:1.25rem;color:hsl(var(--ink-4));font-size:.82rem;line-height:1.5}.download-consent input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:hsl(var(--primary-600))}.download-error{margin:0 0 1rem;padding:.8rem 1rem;border:.0625rem solid hsl(var(--primary-700));border-radius:var(--radius-sm);background:hsl(var(--primary-100));color:hsl(var(--primary-800))!important;font-size:.82rem}.download-success-mark{display:grid;width:3.5rem;height:3.5rem;place-items:center;border:.1rem solid var(--ink-line);border-radius:50%;background:hsl(var(--primary-500));color:hsl(var(--ink-0));font-size:1.5rem;box-shadow:.2rem .2rem hsl(var(--riso-teal) / .35)}#downloadStepSuccess ul{margin:1.5rem 0;padding-left:1.25rem;color:hsl(var(--ink-3));line-height:1.7}@media(max-width:54rem){.template-detail-hero{grid-template-columns:1fr}.template-detail-preview{width:min(82%,22rem)}.template-about{grid-template-columns:1fr;gap:1.25rem}.related-template-grid{grid-template-columns:1fr 1fr}}@media(max-width:42rem){.template-guide-grid,.related-template-grid{grid-template-columns:1fr}.template-detail-preview{width:100%}}@media(max-width:45rem){.download-overlay{padding:0}.download-dialog{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;box-shadow:none;padding-top:calc(clamp(1.75rem,5vw,3rem) + env(safe-area-inset-top));padding-bottom:calc(clamp(1.75rem,5vw,3rem) + env(safe-area-inset-bottom))}.download-close{position:fixed;top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right))}}
