:root{--bg: #f6f8fa;--surface: #ffffff;--text: #17212b;--muted: #5f6f7c;--primary: #0f766e;--primary-contrast: #ffffff;--line: #d9e0e7;--surface-soft: #f2f5f8;--surface-hover: #eef7f6;--shadow: 0 10px 24px rgba(18, 32, 44, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Space Grotesk,sans-serif;color:var(--text);background:var(--bg)}h1,h2,h3{margin:0;line-height:1.1}p{margin:0}a{color:inherit}.page{width:min(1180px,94vw);margin:1.25rem auto 4rem}.site-header{position:sticky;top:0;z-index:100;background:#fffffff0;border-bottom:1px solid var(--line)}.site-header-inner{width:min(1180px,94vw);margin:0 auto;min-height:3.5rem;display:flex;align-items:center;justify-content:space-between}.site-brand{text-decoration:none;font-weight:800;letter-spacing:.02em;font-size:1rem}.site-nav{display:flex;align-items:center;gap:.45rem}.site-nav a{text-decoration:none;color:var(--muted);border:1px solid transparent;border-radius:8px;padding:.38rem .72rem;transition:all .16s ease}.site-nav a:hover{border-color:var(--line);color:var(--text);background:var(--surface-soft)}.eyebrow{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.section{margin-top:1.25rem}.section-head{margin-bottom:.9rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.section h2{font-size:1rem;font-weight:700}.section-head p{margin-top:.25rem;color:var(--muted);font-size:.9rem}.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;padding:.18rem;background:var(--surface-soft)}.view-toggle-btn{border:none;border-radius:6px;padding:.42rem .68rem;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.86rem;font-weight:700}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.is-active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #12202c14}.text-link{color:var(--primary);font-size:.9rem;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.grid.is-list{grid-template-columns:1fr}.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.25rem;align-items:end;margin-top:1rem;border:1px solid var(--line);border-radius:8px;padding:1.25rem;background:var(--surface);box-shadow:var(--shadow)}.catalog-hero h1{margin-top:.35rem;font-size:clamp(1.8rem,3.1vw,2.55rem);letter-spacing:0}.catalog-title p:last-child{max-width:45rem;margin-top:.7rem;color:var(--muted);line-height:1.55}.catalog-search-wrap{display:grid;grid-template-columns:1fr;gap:.75rem;align-self:end}.catalog-search-wrap label{display:block;color:var(--muted);margin-bottom:.4rem;font-size:.9rem}.catalog-search,.catalog-sort{width:100%;border:1px solid var(--line);border-radius:8px;padding:.78rem .85rem;font:inherit;color:var(--text);background:var(--surface-soft)}.catalog-search:focus,.catalog-sort:focus{outline:2px solid rgba(14,122,114,.22);border-color:#0e7a7285}.catalog-toolbar{margin-top:1rem;border:1px solid var(--line);border-radius:8px;padding:.75rem;background:var(--surface)}.filter-block+.filter-block{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.filter-block>p{margin-bottom:.5rem;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.filter-group{display:flex;flex-wrap:wrap;gap:.45rem}.filter-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:8px;padding:.48rem .65rem;background:var(--surface);color:var(--text);font:inherit;font-size:.88rem;cursor:pointer}.filter-chip span{min-width:1.35rem;border-radius:6px;padding:.08rem .35rem;background:var(--surface-soft);color:var(--muted);font-size:.75rem;text-align:center}.filter-chip:hover{border-color:#0f766e61;background:var(--surface-hover)}.filter-chip.is-active{border-color:var(--primary);background:#e6f4f1;color:#075f58;font-weight:700}.filter-chip.is-active span{background:var(--primary);color:var(--primary-contrast)}.catalog-results{border:1px solid var(--line);border-radius:8px;padding:1rem;background:var(--surface)}.catalog-entry[hidden]{display:none!important}.catalog-empty{margin-top:.85rem;color:var(--muted)}.catalog-more{display:flex;justify-content:center;margin-top:1rem}.template-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;height:100%;transition:border-color .16s ease,box-shadow .16s ease}.template-card:hover{border-color:#0f766e5c;box-shadow:0 12px 28px #12202c1a}.template-card .media-link{display:block;aspect-ratio:16 / 10}.template-card img{width:100%;height:100%;object-fit:cover}.template-card .content{padding:.9rem}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.template-card .category{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.featured-badge{flex:0 0 auto;border-radius:6px;padding:.18rem .45rem;background:#e6f4f1;color:#075f58;font-size:.72rem;font-weight:700}.template-card h3{margin-top:.4rem;font-size:1.05rem;line-height:1.22}.template-card h3 a{text-decoration:none}.template-card h3 a:hover{color:var(--primary)}.template-card .description{margin-top:.45rem;color:var(--muted);font-size:.95rem;line-height:1.5}.grid.is-list .template-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;min-height:136px}.grid.is-list .template-card .content{order:1;display:flex;flex-direction:column}.grid.is-list .template-card .media-link{order:2;aspect-ratio:auto;min-height:100%;border-left:1px solid var(--line)}.grid.is-list .template-card h3{font-size:1.08rem}.grid.is-list .template-card .description{max-width:58rem}.tags{margin:.7rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.tags li{border:1px solid var(--line);border-radius:6px;padding:.2rem .6rem;font-size:.78rem;background:var(--surface-soft)}.template-page{width:min(1180px,94vw);margin:2rem auto 4rem}.back-link{display:inline-block;margin-bottom:1rem;text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:600}.back-link:hover{color:var(--primary)}.template-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1rem;box-shadow:var(--shadow)}.template-hero img{width:100%;border-radius:8px;aspect-ratio:16 / 10;object-fit:cover}.template-hero .meta .category{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.template-hero h1{margin-top:.5rem;font-size:clamp(1.8rem,3vw,2.4rem)}.template-hero p{margin-top:.7rem;line-height:1.6;color:var(--muted)}.template-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0 0}.template-metadata div{border:1px solid var(--line);border-radius:8px;padding:.65rem;background:var(--surface-soft)}.template-metadata dt{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.template-metadata dd{margin:.2rem 0 0;color:var(--text);font-size:.95rem;font-weight:700}.template-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:1rem}.demo-btn{border:none;border-radius:8px;background:var(--primary);color:var(--primary-contrast);font-weight:700;cursor:pointer;padding:.6rem 1rem}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-weight:700;padding:.58rem .9rem;text-decoration:none}.secondary-btn:hover{border-color:#0f766e61;background:var(--surface-hover)}.demo-modal{position:fixed;inset:0;background:#0e1316;z-index:1100;display:grid;grid-template-rows:auto 1fr}.demo-modal[hidden]{display:none!important}.demo-modal-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid #25333a;color:#f6f7f9}.demo-close{border:1px solid #40535d;background:transparent;color:#f6f7f9;border-radius:8px;cursor:pointer;padding:.35rem .8rem}.demo-iframe{width:100%;height:100%;border:none;background:#fff}.template-gallery,.template-content,.template-related{margin-top:1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1rem}.error-page{min-height:60vh;display:grid;place-items:center}.error-panel{width:min(640px,100%);border:1px solid var(--line);border-radius:8px;padding:1.5rem;background:var(--surface);box-shadow:var(--shadow)}.error-panel h1{margin-top:.4rem;font-size:clamp(2rem,4vw,3rem)}.error-panel p:not(.eyebrow){margin:.8rem 0 1.1rem;color:var(--muted);line-height:1.6}.template-content h2{font-size:1.2rem;margin-bottom:.8rem}.markdown-content{color:var(--text);line-height:1.65}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin-top:1rem;margin-bottom:.5rem}.markdown-content p{margin:.6rem 0}.markdown-content ul,.markdown-content ol{margin:.6rem 0;padding-left:1.25rem}.markdown-content li{margin:.25rem 0}.gallery-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.gallery-head h2{font-size:1.2rem}.gallery-head p{font-size:.9rem;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.gallery-item{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}.gallery-open{display:block;border:none;padding:0;margin:0;width:100%;background:transparent;cursor:zoom-in}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 10}.lightbox-modal{position:fixed;inset:0;z-index:1200;background:#0b1115f5;display:grid;place-items:center;padding:2rem}.lightbox-modal[hidden]{display:none!important}.lightbox-close{position:absolute;top:1rem;right:1rem;border:1px solid #42535d;background:transparent;color:#f7f9fb;border-radius:8px;cursor:pointer;padding:.35rem .8rem}.lightbox-image{max-width:min(1400px,96vw);max-height:88vh;width:auto;height:auto;border-radius:8px;box-shadow:0 20px 64px #00000070}@media(max-width:960px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-hero,.template-hero,.template-metadata{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid,.grid.is-list .template-card{grid-template-columns:1fr}.grid.is-list .template-card .media-link{order:1;aspect-ratio:16 / 10;border-left:none}.grid.is-list .template-card .content{order:2}.gallery-grid{grid-template-columns:1fr}}
