/* V10.1: bounded layout and navigation corrections. */
section[id]{scroll-margin-top:100px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
[hidden]{display:none!important}
.nav-inner{height:auto;min-height:82px;position:relative}
.nav-links{gap:20px;flex-wrap:nowrap}
.nav-toggle{display:none}
.nav-dropdown{position:relative}
.nav-dropdown summary{list-style:none;cursor:pointer;font-size:13px;font-weight:800;color:var(--text);padding:14px 0}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{content:'⌄';margin-left:8px}
.nav-dropdown-panel{position:absolute;top:100%;left:0;min-width:250px;padding:10px;border-radius:16px;background:#0c1328;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:4px}
.nav-dropdown-panel a{padding:12px;border-radius:10px}
.nav-dropdown-panel a:hover{background:rgba(255,255,255,.08)}
.gallery-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:20px;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:20px}
.gallery-filters>div{flex:1 1 230px;min-width:0}
.gallery-filters label,.template-card label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px}
.gallery-filters input,.gallery-filters select,.template-version{width:100%;min-height:46px;padding:12px;color:var(--text);background:#0c1328;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;color-scheme:dark}
.gallery-filters button{min-height:46px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.07);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.gallery-count{margin:18px 0;color:var(--muted);font-size:13px}
#template-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#template-gallery .project{min-width:0;display:flex;flex-direction:column}
#template-gallery .project:hover{transform:translateY(-3px)}
#template-gallery .project-visual{height:240px;min-height:240px}
#template-gallery .template-preview{display:block;flex:none}
#template-gallery .project-body{display:flex;flex-direction:column;flex:1;min-width:0}
#template-gallery h3{line-height:1.2;overflow-wrap:anywhere}
#template-gallery .project-body>p{min-height:70px}
#template-gallery .template-card label{margin-top:auto}
#template-gallery .project-cta{justify-content:center;min-height:46px}
.template-quote{margin-top:14px;color:var(--cyan);font-size:13px;font-weight:800;min-height:30px}
#template-gallery .project-link{display:flex;flex-direction:column;flex:1;height:auto}
#template-gallery .webbody{min-height:0;grid-template-rows:120px minmax(0,1fr)}
#template-gallery .webhero .hero-label{right:12px;left:12px}
#template-gallery .webhero .hero-label b{font-size:22px}
#template-gallery .v10-demo-visual strong{font-size:26px;line-height:1.2}
#template-empty{padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
@media(max-width:1120px){#template-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
 .nav-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:12px}
 .nav-toggle{display:block;min-height:44px;padding:10px 14px;background:#0c1328;color:var(--text);border:1px solid var(--line);border-radius:12px;font:inherit;cursor:pointer}
 .nav-links{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 100px);overflow-y:auto;padding:8px 0}
 .nav-links a:not(.nav-cta){display:block;padding:14px 12px}
 .nav-links .nav-cta{text-align:center}
 .nav-dropdown summary{padding:14px 12px}
 .nav-dropdown-panel{position:static;min-width:0;box-shadow:none;margin-bottom:8px}
 .navigation-ready .nav-links:not(.is-open){display:none}
}
@media(max-width:780px){#template-gallery{grid-template-columns:minmax(0,1fr)}.gallery-filters{padding:16px}.gallery-filters>div,.gallery-filters button{flex-basis:100%;width:100%}}
@media(max-width:400px){.container{padding-left:16px;padding-right:16px}.closer-sub{font-size:8px;letter-spacing:1.5px}.closer-logo-mark{width:44px;height:44px}.cw-brand{gap:8px}.closer-word{font-size:24px}.nav-toggle{padding:10px}.hero h1{font-size:40px}.h2,.cta h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project,.tpl-slide{transition:none}}
