
:root{--red:#e60012;--ink:#111;--muted:#686868;--paper:#f6f5f2;--line:#d8d6d1;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
header{border-bottom:1px solid var(--line);background:rgba(246,245,242,.97)}
.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:.08em}.brand img{width:50px;height:50px;object-fit:contain}
nav{display:flex;gap:32px;font-size:12px;font-weight:700;letter-spacing:.1em}nav a{padding:10px 0;border-bottom:2px solid transparent}nav a:hover{border-color:var(--red)}
.hero{padding:54px 0 72px}.hero-head{display:block;margin-bottom:36px}
.eyebrow{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.17em;margin-bottom:17px}
h1{margin:0;font-size:clamp(64px,9.2vw,136px);line-height:.79;letter-spacing:-.075em;font-weight:900}
.hero-note{margin:18px 0 0;max-width:650px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(14px,1.05vw,17px);line-height:1.5;color:#444}
.hero-image{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(100%)}
.hero-caption{display:flex;justify-content:space-between;gap:24px;padding-top:12px;color:var(--muted);font-size:10px;letter-spacing:.12em}.hero-caption .tag{font-weight:700;color:#333}
.section{border-top:1px solid var(--line);padding:68px 0 80px}.section-grid{display:grid;grid-template-columns:260px 1fr;gap:64px}
.section-no{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--red)}
h2{margin:8px 0 0;font-size:clamp(30px,3.35vw,47px);line-height:1.02;letter-spacing:-.04em}
.lead{max-width:760px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(17px,1.4vw,20px);line-height:1.58}
.items{border-top:1px solid var(--ink)}.item{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.item small{color:var(--muted);font-size:10px;letter-spacing:.09em;text-transform:uppercase}.item strong{font-size:17px}.item span:last-child{font-size:17px}
.about-copy{max-width:840px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.5vw,21px);line-height:1.65}.about-copy p{margin:0 0 22px}
.about-copy .manifesto{font-family:inherit;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:normal}
footer{background:#111;color:#eee;padding:48px 0}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:40px}
.footer-id{display:flex;align-items:center;gap:14px}.footer-id img{width:48px;height:48px;object-fit:contain}.footer-name{font-size:18px;font-weight:900;letter-spacing:.07em}
.contact-link{font-size:11px;font-weight:700;letter-spacing:.14em}.contact-link:hover{color:var(--red)}
.contact-page{min-height:calc(100vh - 90px);display:flex;align-items:center;padding:80px 0}.contact-box{max-width:760px}.contact-box .eyebrow{margin-bottom:26px}
.contact-title{font-size:clamp(54px,6.2vw,92px);margin:0 0 32px;line-height:.88;letter-spacing:-.055em}
.contact-copy{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.45vw,22px);line-height:1.5;max-width:650px;margin-bottom:30px}
.mail{font-size:clamp(23px,3vw,40px);font-weight:800;letter-spacing:-.03em;border-bottom:2px solid var(--red);padding-bottom:5px}
@media(max-width:780px){
.wrap{width:min(calc(100% - 28px),var(--max))}.nav{min-height:76px}.brand span{display:none}nav{gap:14px;font-size:9px;overflow-x:auto}
.hero{padding:40px 0 54px}.hero-head,.section-grid{grid-template-columns:1fr;gap:26px}.hero-head{margin-bottom:27px}.hero-note{font-size:17px;max-width:100%}
.section{padding:52px 0 62px}h2{font-size:clamp(29px,9vw,40px)}.lead{font-size:19px}.item{grid-template-columns:75px 1fr;gap:12px}
.contact-page{padding:56px 0}}

.footer-admin{display:flex;align-items:center;gap:14px}
.footer-admin:hover .footer-name{color:#fff}
.cms-list{margin-top:34px}.cms-empty{border-top:1px solid var(--ink);padding:18px 0;color:var(--muted);font:italic 16px Georgia,serif}.cms-item{transition:opacity .15s}.cms-item:hover{opacity:.58}
.admin-page{padding:54px 0 90px}.admin-shell{display:grid;grid-template-columns:230px 1fr;gap:52px}.admin-side{border-right:1px solid var(--line);padding-right:28px}.admin-side h3{font-size:12px;letter-spacing:.14em;margin:0 0 22px}.admin-tabs{display:grid;gap:6px}.admin-tabs button,.admin-btn{font:700 11px Arial;letter-spacing:.1em;border:1px solid var(--ink);background:transparent;padding:12px 14px;text-align:left;cursor:pointer}.admin-tabs button.active,.admin-btn.primary{background:#111;color:#fff}.admin-btn.red{border-color:var(--red);color:var(--red)}.admin-btn:disabled{opacity:.35;cursor:not-allowed}.admin-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.admin-top h1{font-size:clamp(40px,5vw,72px);line-height:.9}.admin-table{border-top:1px solid var(--ink)}.admin-row{display:grid;grid-template-columns:100px 1fr 90px 110px;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.admin-row small{color:var(--muted)}.admin-row strong{font-size:15px}.status{font-size:9px;font-weight:800;letter-spacing:.1em}.status.draft{color:var(--muted)}.row-actions{display:flex;gap:8px}.row-actions button{border:0;background:none;padding:3px;cursor:pointer;font-weight:700}.editor{display:none}.editor.open{display:block}.field{margin:0 0 20px}.field label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;border:1px solid #bbb;background:#fff;padding:12px 13px;font:15px Arial}.field textarea{min-height:110px;resize:vertical}.field textarea.body{min-height:280px;font:17px/1.65 Georgia,serif}.editor-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-note{font:italic 14px/1.5 Georgia,serif;color:var(--muted);margin-top:28px}.article-page{padding:72px 0 100px}.article-wrap{max-width:760px}.article-kicker{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.16em}.article-title{font-size:clamp(38px,5.2vw,68px);line-height:.98;margin:14px 0 20px;letter-spacing:-.045em}.article-meta{font-size:11px;letter-spacing:.1em;color:var(--muted);padding-bottom:28px;border-bottom:1px solid var(--line)}.article-summary{font:italic clamp(20px,2vw,27px)/1.5 Georgia,serif;margin:38px 0}.article-body{font:clamp(18px,1.6vw,21px)/1.75 Georgia,serif}.article-body p{margin:0 0 1.55em}.article-body h2{font:700 clamp(25px,2.8vw,34px)/1.15 Arial,sans-serif;letter-spacing:-.025em;margin:1.7em 0 .65em}.article-body blockquote{margin:1.6em 0;padding:.15em 0 .15em 1.2em;border-left:3px solid var(--red);font-style:italic}.article-body ul{margin:1.2em 0 1.6em;padding-left:1.4em}.article-body li{margin:.25em 0}.article-body a{border-bottom:1px solid var(--ink)}.article-back{display:inline-block;margin-top:48px;font-size:11px;font-weight:800;letter-spacing:.12em;border-bottom:2px solid var(--red);padding-bottom:5px}
@media(max-width:780px){.admin-shell{grid-template-columns:1fr}.admin-side{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.admin-tabs{grid-template-columns:repeat(3,1fr)}.admin-tabs button{text-align:center;padding:10px 5px;font-size:9px}.admin-row{grid-template-columns:75px 1fr 70px}.admin-row .row-actions{grid-column:2/4}.admin-top{align-items:end}.article-page{padding:50px 0 70px}}

.optional{font-weight:400;color:var(--muted);letter-spacing:.06em}.field-help{margin:8px 0 0;color:var(--muted);font:italic 13px/1.45 Georgia,serif}.image-panel{display:none;margin-top:12px;border:1px solid var(--line);padding:12px;background:#fafafa}.image-panel.show{display:block}.image-panel img{display:block;width:100%;max-height:360px;object-fit:cover;background:#eee}.image-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.image-tools span{font-size:11px;color:var(--muted)}.article-image{margin:34px 0 38px;text-align:center}.article-image img{display:block;width:auto;max-width:min(100%,780px);height:auto;max-height:620px;object-fit:contain;margin:0 auto} @media(max-width:780px){.image-tools{align-items:flex-start;flex-direction:column}.article-image{margin:26px 0 30px}}

/* V3.7 — article navigation only */
.home-link{display:inline-flex;align-items:center;gap:8px}
.home-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* V3.8 — modern admin workspace; public site untouched */
.admin-page{padding:44px 0 96px}.admin-shell{grid-template-columns:220px minmax(0,1fr);gap:56px}.admin-side{border-right:0;padding-right:0;position:relative}.admin-side:after{content:"";position:absolute;top:0;right:-28px;width:1px;height:100%;background:var(--line)}
.admin-side h3{font-size:10px;color:var(--muted);margin:0 0 18px}.admin-tabs{gap:8px}.admin-tabs button{border:0;border-radius:8px;padding:13px 14px;background:transparent;transition:.15s ease}.admin-tabs button:hover{background:#eceae5}.admin-tabs button.active{background:#111;color:#fff}.admin-note{font-size:13px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.admin-top{align-items:flex-end;margin-bottom:22px}.admin-top h1{font-size:clamp(42px,5vw,68px);letter-spacing:-.055em}.admin-sub{margin:10px 0 0;color:var(--muted);font-size:13px}.admin-btn{border-radius:7px;padding:12px 16px;transition:.15s ease}.admin-btn:hover{transform:translateY(-1px)}.new-content{display:flex;align-items:center;gap:7px}.new-content span{font-size:16px;line-height:1}
.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:10px;margin:0 0 26px}.admin-stats>div{border:1px solid var(--line);border-radius:9px;padding:13px 15px;background:rgba(255,255,255,.42)}.admin-stats span{display:block;font-size:8px;font-weight:800;letter-spacing:.14em;color:var(--muted);margin-bottom:5px}.admin-stats strong{font-size:22px;letter-spacing:-.04em}
.admin-table{border-top:1px solid var(--ink)}.admin-row{grid-template-columns:100px minmax(0,1fr) 90px 110px;padding:18px 4px}.admin-row strong{font-size:15px}.status{justify-self:start;border-radius:999px;padding:6px 9px;background:#eceae5}.status.published{background:#111;color:#fff}.status.draft{background:#e7e5df;color:#666}.row-actions button{font-size:10px;letter-spacing:.06em}.row-actions button:hover{text-decoration:underline}.row-actions .delete{color:#9c1019}
.editor.open{display:block;max-width:920px}.field{margin-bottom:24px}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:13px 14px;outline:none;transition:border .15s,box-shadow .15s}.field input:focus,.field textarea:focus{border-color:#888;box-shadow:0 0 0 3px rgba(0,0,0,.04)}.field label{font-size:9px;margin-bottom:9px}.field-help{font-size:12px}.native-file{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none}.upload-box{display:flex!important;align-items:center;gap:12px;border:1px dashed #aaa;border-radius:9px;padding:16px!important;background:#fbfaf7;cursor:pointer;transition:.15s ease}.upload-box:hover{border-color:#111;background:#fff}.upload-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111;color:#fff;font-size:18px}.upload-box strong{display:block;font-size:10px;letter-spacing:.1em}.upload-box small{display:block;margin-top:3px;color:var(--muted);font-weight:400;letter-spacing:0}.image-panel{border-radius:9px}.image-panel img{border-radius:6px;object-fit:contain;background:#efeee9}
.writing-box{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:2px;padding:8px;border-bottom:1px solid var(--line);background:#faf9f6;position:sticky;top:0}.editor-toolbar button{border:0;background:transparent;border-radius:5px;min-width:34px;height:32px;padding:0 9px;cursor:pointer;font:700 10px Arial;letter-spacing:.03em}.editor-toolbar button:hover{background:#e9e7e2}.writing-box .body{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:420px;padding:24px 26px;font:18px/1.72 Georgia,serif;resize:vertical}.editor-actions{padding-top:4px}.editor-actions .primary{padding-left:20px;padding-right:20px}
@media(max-width:780px){.admin-shell{grid-template-columns:1fr;gap:30px}.admin-side:after{display:none}.admin-side{border-bottom:1px solid var(--line)}.admin-stats{grid-template-columns:repeat(3,1fr)}.admin-row{grid-template-columns:75px 1fr 70px}.writing-box .body{min-height:340px;padding:18px}.editor-toolbar{overflow-x:auto}.admin-top{align-items:flex-end}}

/* V4 PROTOTYPE — Public Space expansion; V3.9 visual baseline preserved */
.public-home{background:#efeee9}.public-feature{margin-top:30px}.featured-line{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 0}.featured-line small,.public-kind{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.15em}.featured-line strong{font-size:20px;letter-spacing:-.02em}.featured-line span,.public-more,.public-action{font-size:10px;font-weight:800;letter-spacing:.12em}.public-more{display:inline-block;margin-top:26px;border-bottom:2px solid var(--red);padding-bottom:5px}
.public-page{padding:72px 0 110px}.public-head{max-width:850px;margin-bottom:52px}.public-head h1{font-size:clamp(64px,10vw,132px);line-height:.78}.public-head p{max-width:660px;margin:30px 0 0;font:italic clamp(18px,2vw,24px)/1.5 Georgia,serif;color:#444}.public-filters{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:4px}.public-filters button{border:0;background:transparent;padding:9px 11px;border-radius:6px;font:800 9px Arial;letter-spacing:.12em;cursor:pointer}.public-filters button.active,.public-filters button:hover{background:#111;color:#fff}.public-feed{max-width:980px}.public-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;padding:34px 0;border-bottom:1px solid var(--line)}.public-card h2{margin:0 0 13px;font-size:clamp(28px,4vw,48px);line-height:1.02}.public-card p{max-width:680px;margin:0 0 18px;font:18px/1.6 Georgia,serif;color:#3f3f3f}.public-action{display:inline-block;border-bottom:2px solid var(--red);padding-bottom:4px}.poll-options{display:grid;gap:8px;max-width:620px;margin-top:22px}.poll-options button{background:#fff;border:1px solid var(--line);border-radius:7px;text-align:left;padding:15px 17px;font:700 14px Arial;cursor:pointer}.poll-options button:hover{border-color:#111}.poll-results{max-width:620px;margin-top:24px}.poll-result{margin-bottom:15px}.poll-result>div:first-child{display:flex;justify-content:space-between;gap:18px;font-size:13px}.poll-result span{font-weight:800}.poll-bar{height:5px;background:#dedcd6;margin-top:7px;overflow:hidden}.poll-bar i{display:block;height:100%;background:var(--red)}.poll-results small{display:block;margin-top:20px;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--muted)}
@media(max-width:780px){.featured-line{grid-template-columns:1fr auto}.featured-line small{grid-column:1/3}.public-page{padding:52px 0 80px}.public-card{grid-template-columns:1fr;gap:12px;padding:28px 0}.public-head{margin-bottom:38px}}
.admin-nav-link{display:block;border:0;border-radius:8px;padding:13px 14px;background:transparent;font:700 11px Arial;letter-spacing:.1em}.admin-nav-link:hover{background:#eceae5}.admin-nav-link.active-link{background:#111;color:#fff}.admin-nav-link.muted{color:#555}.public-admin-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px}.public-admin-filters button{border:1px solid var(--line);background:transparent;border-radius:6px;padding:8px 10px;font:800 9px Arial;letter-spacing:.1em;cursor:pointer}.public-admin-filters button.active{background:#111;color:#fff;border-color:#111}.check-field label{display:flex!important;align-items:center;gap:9px}.check-field input{width:auto!important}.analytics-title{font-size:clamp(54px,8vw,110px)}.analytics-placeholder{max-width:720px;margin-top:42px;border-top:1px solid var(--ink);padding-top:24px}.analytics-placeholder strong{font-size:10px;letter-spacing:.14em;color:var(--red)}.analytics-placeholder p{font:20px/1.55 Georgia,serif;color:#444}

/* V4 final responsive navigation + Public Space */
.mobile-menu-btn,.mobile-menu{display:none}
.public-home-v4{background:#090909;color:#fff;overflow:hidden}
.public-space-bg{background:linear-gradient(to bottom,rgba(0,0,0,.10) 0%,rgba(0,0,0,.28) 48%,#090909 74%),url('public-space-identity.jpg') center top/cover no-repeat}
.public-space-inner{padding:42px 0 72px}
.public-intro-v4{max-width:620px;margin:0 0 350px;text-shadow:0 2px 16px rgba(0,0,0,.8)}
.public-intro-v4 .section-no{color:var(--red);margin-bottom:14px}
.public-intro-v4 h2{margin:0;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.02}
.public-intro-v4 p{margin:12px 0 0;color:#ddd;font:17px/1.45 Georgia,serif}
.public-cards-v4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.public-card-v4{display:flex;flex-direction:column;min-width:0;border:1px solid #3e3e3e;background:#101010;color:#fff;overflow:hidden}
.public-card-v4 .card-photo{height:180px;background-image:var(--card-image);background-position:center;background-size:cover;filter:none}
.public-card-v4 .card-copy{padding:18px;display:flex;flex-direction:column;flex:1}
.public-card-v4 .kind{color:var(--red);font:800 10px Arial,sans-serif;letter-spacing:.14em;margin-bottom:9px}
.public-card-v4 strong{font:800 20px/1.08 Arial,sans-serif;letter-spacing:-.02em}
.public-card-v4 small{display:block;margin-top:10px;color:#bdbdbd;font:14px/1.45 Georgia,serif}
.public-card-v4 .action{margin-top:auto;padding-top:18px;color:#fff;font:800 10px Arial,sans-serif;letter-spacing:.12em}.public-card-v4 .action span{color:var(--red)}
.public-feed .public-card{grid-template-columns:220px minmax(0,1fr)}
.public-card-image{width:100%;aspect-ratio:4/3;object-fit:cover;filter:none;background:#ddd}
.public-card-meta{min-width:0}
.field input[type=file]{padding:10px;background:#fff}.image-preview-public{display:none;margin-top:10px;max-width:320px;max-height:190px;object-fit:cover}.image-preview-public.show{display:block}
@media(max-width:980px){.public-cards-v4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 .desktop-nav{display:none!important}.mobile-menu-btn{display:block;background:none;border:0;padding:10px 0 10px 14px;cursor:pointer}.mobile-menu-btn span{display:block;width:22px;height:2px;background:#111;margin:5px 0}
 header{position:relative}.mobile-menu.open{display:block;position:absolute;z-index:50;top:76px;left:0;right:0;background:#f4f2ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 22px 18px}.mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font:800 11px Arial;letter-spacing:.12em}
 .brand span{display:inline!important}.nav{min-height:76px}
 .public-space-bg{background-size:100% auto;background-position:center top;background-repeat:no-repeat;background-color:#090909}
 .public-space-inner{padding:28px 0 46px}.public-intro-v4{margin:0 0 118px;max-width:330px}.public-intro-v4 .section-no{margin-bottom:10px}.public-intro-v4 h2{font-size:29px}.public-intro-v4 p{margin-top:9px;font-size:15px;max-width:310px}
 .public-cards-v4{grid-template-columns:1fr;gap:12px}.public-card-v4{display:grid;grid-template-columns:42% 1fr;min-height:150px}.public-card-v4 .card-photo{height:100%;min-height:150px}.public-card-v4 .card-copy{padding:16px}.public-card-v4 strong{font-size:17px}.public-card-v4 small{font-size:13px;margin-top:8px}.public-card-v4 .action{padding-top:13px}
 .public-feed .public-card{grid-template-columns:110px minmax(0,1fr);gap:16px}.public-card-image{aspect-ratio:1/1}
}

/* V4.1 Public Space architecture: hub + separate category pages */
.public-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}
.public-hub-card{display:grid;grid-template-columns:42% 1fr;min-height:230px;border:1px solid var(--line);background:#fff;overflow:hidden}
.public-hub-card img{width:100%;height:100%;object-fit:cover;filter:none}
.public-hub-copy{padding:28px;display:flex;flex-direction:column;justify-content:center}.public-hub-copy .public-kind{margin-bottom:10px}.public-hub-copy h2{font-size:32px;margin:0 0 12px}.public-hub-copy p{font:16px/1.5 Georgia,serif;color:#444;margin:0 0 18px}
.category-back{display:inline-block;margin-bottom:28px;font:800 10px Arial;letter-spacing:.12em;border-bottom:2px solid var(--red);padding-bottom:4px}
@media(max-width:780px){.public-hub-grid{grid-template-columns:1fr}.public-hub-card{grid-template-columns:40% 1fr;min-height:160px}.public-hub-copy{padding:17px}.public-hub-copy h2{font-size:21px}.public-hub-copy p{font-size:13px}}

/* V4 functional poll */
.poll-options-functional .poll-choice{display:flex;align-items:center;gap:12px}.poll-radio{width:17px;height:17px;border:2px solid #111;border-radius:50%;flex:0 0 auto;position:relative}.poll-choice.selected{border-color:var(--red);background:#fff}.poll-choice.selected .poll-radio{border-color:var(--red)}.poll-choice.selected .poll-radio:after{content:"";position:absolute;inset:3px;background:var(--red);border-radius:50%}.poll-submit{margin-top:14px;border:0;background:var(--red);color:#fff;padding:14px 22px;font:800 11px Arial,sans-serif;letter-spacing:.12em;cursor:pointer}.poll-submit:disabled{background:#b9b7b1;color:#eee;cursor:not-allowed}.poll-note{margin-top:9px;font:12px/1.4 Arial,sans-serif;color:#777}.poll-results small{line-height:1.5}

/* V4.2 MODERN PUBLIC SPACE CATEGORY SYSTEM */
.category-page{padding:54px 0 96px}.category-hero{padding:18px 0 42px;border-bottom:1px solid var(--line);margin-bottom:30px}.category-kicker{color:var(--red);font:800 10px/1 Arial,sans-serif;letter-spacing:.17em;margin-bottom:15px}.category-hero h1{font-size:clamp(48px,7vw,92px);line-height:.86;letter-spacing:-.065em}.category-hero p{margin:20px 0 0;font:italic clamp(17px,1.6vw,22px)/1.45 Georgia,serif;color:#4b4b4b}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-card{border:1px solid var(--line);background:#fff;min-width:0;transition:transform .18s ease,border-color .18s ease}.category-card:hover{transform:translateY(-3px);border-color:#111}.category-image{aspect-ratio:4/3;overflow:hidden;background:#e7e5df;border-bottom:1px solid var(--line)}.category-image img{width:100%;height:100%;object-fit:cover;filter:none}.category-copy{padding:20px 20px 22px}.category-copy h2{font-size:clamp(23px,2.1vw,32px);line-height:1.02;margin:8px 0 10px}.category-copy p{margin:0;min-height:48px;font:15px/1.48 Georgia,serif;color:#555}.category-action{display:inline-block;margin-top:18px;font:800 10px/1 Arial;letter-spacing:.12em}.category-action b{color:var(--red);margin-left:5px}.detail-page{padding:52px 0 92px}.detail-back{display:inline-block;margin-bottom:26px;font:800 10px Arial;letter-spacing:.13em;border-bottom:2px solid var(--red);padding-bottom:5px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:52px;align-items:start}.detail-visual{border:1px solid var(--line);background:#e7e5df;max-height:680px;overflow:hidden}.detail-visual img{width:100%;height:auto;max-height:680px;object-fit:contain;margin:auto;filter:none}.detail-copy{padding-top:12px}.detail-copy h1{font-size:clamp(44px,5.5vw,82px);line-height:.9;letter-spacing:-.055em;margin:12px 0 26px}.detail-copy p{font:clamp(18px,1.5vw,22px)/1.65 Georgia,serif;color:#3e3e3e;white-space:pre-line}.detail-rule{border-top:1px solid var(--line);margin:34px 0 14px}.detail-copy small{font:800 9px Arial;letter-spacing:.14em;color:#777}.detail-empty{min-height:55vh;display:flex;flex-direction:column;justify-content:center}.detail-empty h1{font-size:48px}.poll-grid{display:grid;gap:20px}.poll-card-modern{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);border:1px solid var(--line);background:#fff;overflow:hidden}.poll-visual{background:#e7e5df;min-height:390px;border-right:1px solid var(--line)}.poll-visual img{width:100%;height:100%;object-fit:cover;filter:none}.poll-content{padding:34px}.poll-content h2{font-size:clamp(30px,3.4vw,48px);line-height:1.02;margin:10px 0 24px}.poll-controls{display:flex;gap:10px;align-items:center;margin-top:14px}.poll-view{border:1px solid #111;background:transparent;padding:13px 18px;font:800 10px Arial;letter-spacing:.1em;cursor:pointer}.modern-results{max-width:none}.modern-results .poll-bar{height:7px}.modern-results small{border-top:1px solid var(--line);padding-top:14px;margin-top:24px}
@media(max-width:980px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poll-card-modern{grid-template-columns:38% 1fr}}
@media(max-width:780px){.category-page{padding:34px 0 64px}.category-hero{padding:8px 0 28px;margin-bottom:18px}.category-hero h1{font-size:48px}.category-hero p{font-size:16px;margin-top:13px}.category-grid{grid-template-columns:1fr;gap:12px}.category-card{display:grid;grid-template-columns:42% 1fr}.category-image{aspect-ratio:auto;min-height:165px;border-bottom:0;border-right:1px solid var(--line)}.category-copy{padding:15px}.category-copy h2{font-size:21px}.category-copy p{font-size:13px;min-height:0}.category-action{margin-top:14px}.detail-page{padding:34px 0 64px}.detail-layout{grid-template-columns:1fr;gap:26px}.detail-visual{max-height:none}.detail-visual img{max-height:none}.detail-copy h1{font-size:42px}.detail-copy p{font-size:17px}.poll-card-modern{grid-template-columns:1fr}.poll-visual{min-height:230px;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}.poll-content{padding:20px}.poll-content h2{font-size:28px}.poll-controls{flex-wrap:wrap}}

/* POLL UI refinement */
.poll-controls{display:flex;gap:12px;align-items:stretch;margin-top:18px}
.poll-submit,.poll-view,.poll-back{box-sizing:border-box;min-width:154px;height:48px;border-radius:12px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font:800 10px/1 Arial,sans-serif;letter-spacing:.11em;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.poll-submit{margin-top:0;border:1px solid var(--red);background:var(--red);color:#fff}
.poll-submit:not(:disabled):hover,.poll-view:hover,.poll-back:hover{transform:translateY(-1px)}
.poll-submit:disabled{border-color:#c9c6bf;background:#c9c6bf;color:#f4f3f0}
.poll-view{border:1px solid #111;background:#fff;color:#111}
.poll-view:hover,.poll-back:hover{background:#111;color:#fff}
.poll-note{margin-top:12px}
.poll-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 30px}
.poll-summary>div{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#faf9f6}
.poll-summary b{display:block;font:800 24px/1 Arial,sans-serif;letter-spacing:-.03em;color:#111}
.poll-summary span{display:block;margin-top:7px;font:800 8px/1 Arial,sans-serif;letter-spacing:.14em;color:#777}
.poll-result-list{padding-top:2px}.modern-results .poll-result{margin-bottom:20px}.modern-results .poll-bar{height:8px;border-radius:99px;background:#dedcd6}.modern-results .poll-bar i{border-radius:99px}
.poll-result-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:28px}.modern-results .poll-result-footer small{border:0;padding:0;margin:0}.poll-back{min-width:auto;height:40px;border:1px solid #111;background:#fff;color:#111;padding:0 15px}
@media(max-width:780px){.poll-controls{display:grid;grid-template-columns:1fr 1fr}.poll-submit,.poll-view{min-width:0;width:100%;height:46px;padding:0 12px}.poll-summary{grid-template-columns:repeat(3,1fr);gap:7px}.poll-summary>div{padding:12px 10px}.poll-summary b{font-size:19px}.poll-summary span{font-size:7px}.poll-result-footer{align-items:flex-start;flex-direction:column}.poll-back{width:100%}}


/* V4.4 ADMIN POLL MONITOR */
.poll-admin-monitor{display:none}.poll-admin-monitor.open{display:block}.monitor-head{padding:8px 0 28px;border-bottom:1px solid var(--line)}.monitor-back{border:0;border-bottom:2px solid var(--red);background:none;padding:0 0 5px;margin-bottom:34px;font:800 10px Arial;letter-spacing:.12em;cursor:pointer}.monitor-head h1{font-size:clamp(38px,4.5vw,66px);line-height:.96;max-width:900px;margin:12px 0}.monitor-head p{font:17px/1.5 Georgia,serif;color:#555}.monitor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.monitor-stats>div{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.monitor-stats b{display:block;font:800 30px/1 Arial}.monitor-stats span{display:block;margin-top:8px;font:800 8px Arial;letter-spacing:.14em;color:#777}.monitor-results{border:1px solid var(--line);border-radius:16px;background:#fff;padding:26px}.admin-poll-result{margin-bottom:24px}.admin-poll-result:last-child{margin-bottom:0}.admin-poll-result>div:first-child{display:flex;justify-content:space-between;gap:20px;margin-bottom:9px}.admin-poll-result b,.admin-poll-result strong{font:800 13px Arial}.admin-poll-bar{height:9px;background:#dedcd6;border-radius:99px;overflow:hidden}.admin-poll-bar i{display:block;height:100%;background:var(--red);border-radius:99px}.monitor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.monitor-footer small{font:800 8px Arial;letter-spacing:.13em;color:#777}.row-actions .monitor{border-color:var(--red);color:var(--red)}
@media(max-width:780px){.monitor-stats{grid-template-columns:1fr 1fr}.monitor-stats>div:last-child{grid-column:1/-1}.monitor-results{padding:18px}.monitor-footer{align-items:stretch;flex-direction:column}.monitor-footer .admin-btn{width:100%}.admin-poll-result>div:first-child{font-size:12px}}

/* V4 direct Public Space navigation — no transit page */
.space-nav{display:flex;align-items:center;gap:24px;white-space:nowrap}
.space-nav a{font:800 11px/1 Arial,sans-serif;letter-spacing:.11em;color:#111;text-decoration:none}
.space-nav a:hover{color:#e30613}
@media(max-width:780px){
  header .nav:has(.space-nav){align-items:flex-start;gap:12px;padding-top:14px;padding-bottom:12px}
  header .nav:has(.space-nav) .brand{flex:0 0 auto}
  .space-nav{width:100%;gap:15px;overflow-x:auto;padding:4px 0 3px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .space-nav::-webkit-scrollbar{display:none}
  .space-nav a{font-size:9px;letter-spacing:.08em}
}

/* V4 simplified navigation — category/detail pages return directly HOME */
.simple-home-nav{display:flex;align-items:center;margin-left:auto}
.simple-home-nav a{font:800 11px/1 Arial,sans-serif;letter-spacing:.12em;color:#111;text-decoration:none;border-bottom:2px solid #e30613;padding-bottom:5px}
.simple-home-nav a:hover{color:#e30613}
@media(max-width:780px){.simple-home-nav a{font-size:10px}}

/* V4.1 — locked refinement: Public Space cards + consistent navigation/footer */
.public-cards-v4{gap:20px;align-items:stretch}
.public-card-v4{height:500px;padding:10px;background:#0d0d0d;border-color:#343434;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.public-card-v4:hover{transform:translateY(-3px);border-color:#666;background:#111}
.public-card-v4 .card-photo{height:170px;flex:0 0 170px;background-position:var(--card-pos,center);background-size:cover;border:1px solid #292929}
.public-card-v4 .card-copy{padding:18px 8px 8px;min-height:0}
.public-card-v4 strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.public-card-v4 small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:61px}
.public-card-v4 .action{margin-top:auto}

.simple-home-nav a{display:inline-flex;align-items:center;gap:8px;border-bottom:0;padding-bottom:0}
.simple-home-nav a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.simple-home-nav a span{border-bottom:2px solid var(--red);padding-bottom:5px}

.footer-contact{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:8px}
.footer-talk{font:800 10px/1 Arial,sans-serif;letter-spacing:.16em;color:#fff}
.footer-contact .contact-link{font:800 10px/1.2 Arial,sans-serif;letter-spacing:.14em;color:#fff;text-decoration:none;border-bottom:0;padding-bottom:0}

/* Keep category previews editorial and bounded even when CMS copy is long. */
.category-card{display:flex;flex-direction:column;overflow:hidden}
.category-image{padding:10px;background:#f3f1ec}
.category-image img{display:block;border:1px solid #dedbd3}
.category-copy{display:flex;flex-direction:column;flex:1}
.category-copy h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.category-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.category-action{margin-top:auto}

/* Subtle modernization without changing the locked VIGILANT composition. */
.admin-row,.monitor-results,.monitor-stats>div,.poll-card-modern{box-shadow:0 10px 30px rgba(0,0,0,.035)}
.admin-btn,.public-admin-filters button,.poll-submit,.poll-view{transition:transform .15s ease,background .15s ease,border-color .15s ease}
.admin-btn:hover,.public-admin-filters button:hover,.poll-submit:hover,.poll-view:hover{transform:translateY(-1px)}

@media(max-width:980px){.public-card-v4{height:470px}}
@media(max-width:780px){
 .public-cards-v4{gap:14px}
 .public-card-v4{height:430px;padding:8px}
 .public-card-v4 .card-photo{height:155px;flex-basis:155px}
 .public-card-v4 .card-copy{padding:15px 7px 7px}
 .footer-grid{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:16px!important}
 .footer-contact{align-items:flex-end;text-align:right;gap:7px}
 .footer-talk,.footer-contact .contact-link{font-size:9px}
 .category-card{display:grid;grid-template-columns:42% 1fr}
 .category-image{padding:7px}
}

/* Preserve the original image composition inside Public Space previews. */
.public-card-v4 .card-photo{background-size:contain;background-repeat:no-repeat;background-color:#171717}
.category-image img{object-fit:contain;background:#f3f1ec}

/* FINISHING 02 — PUBLIC SPACE hero framing & spacing */
.public-space-bg{
  background-image:linear-gradient(to bottom,rgba(0,0,0,.12) 0%,rgba(0,0,0,.16) 42%,rgba(9,9,9,.72) 78%,#090909 100%),url('public-space-identity.jpg');
  background-position:center top;
  background-size:100% auto;
  background-repeat:no-repeat;
  background-color:#090909;
}
.public-space-inner{padding:42px 0 64px}
.public-intro-v4{margin:0;max-width:620px;text-shadow:0 2px 16px rgba(0,0,0,.82)}
.public-cards-v4{margin-top:clamp(145px,14vw,215px)}
@media(max-width:980px){
  .public-space-bg{background-size:auto 620px;background-position:center top}
  .public-cards-v4{margin-top:150px}
}
@media(max-width:780px){
  .public-space-bg{background-size:auto 500px;background-position:center top}
  .public-space-inner{padding:34px 0 48px}
  .public-cards-v4{margin-top:120px}
}

/* FINISHING 03 — locked Public Space portrait media treatment */
.public-cards-v4{align-items:stretch}
.public-card-v4{
  height:auto;
  min-height:590px;
}
.public-card-v4 .card-photo{
  width:100%;
  height:auto;
  flex:0 0 auto;
  aspect-ratio:4/5;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:var(--card-pos,center);
  background-color:#151515;
}
.public-card-v4 .card-copy{min-height:210px}
@media(max-width:980px){
  .public-card-v4{min-height:560px}
}
@media(max-width:780px){
  .public-card-v4{display:flex;flex-direction:column;height:auto;min-height:0}
  .public-card-v4 .card-photo{width:100%;height:auto;min-height:0;aspect-ratio:4/5;flex:none}
  .public-card-v4 .card-copy{min-height:205px}
}

/* FINISHING 04 — adaptive media inside the locked 4:5 Public Space frame.
   Portrait/poster media stays complete; landscape photos fill the frame with
   controlled cropping using the per-item focal position. */
.public-card-v4.media-portrait .card-photo{
  background-size:contain;
  background-color:#151515;
}
.public-card-v4.media-landscape .card-photo{
  background-size:cover;
  background-position:var(--card-pos,center);
  background-color:#151515;
}

/* FINISHING 05 — Public Space background-only hero + tighter editorial spacing */
.public-space-bg{
  background-image:linear-gradient(to bottom,rgba(0,0,0,.22) 0%,rgba(0,0,0,.08) 38%,rgba(9,9,9,.62) 76%,#090909 100%),url('public-space-identity.jpg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.public-space-inner{padding:34px 0 54px}
.public-intro-v4{margin:0;max-width:650px;text-shadow:0 2px 18px rgba(0,0,0,.88)}
.public-intro-v4 .section-no{margin-bottom:12px}
.public-intro-v4 h2{margin:0}
.public-cards-v4{margin-top:clamp(76px,7vw,112px)}
@media(max-width:980px){
  .public-space-bg{background-size:cover;background-position:center center}
  .public-cards-v4{margin-top:72px}
}
@media(max-width:780px){
  .public-space-bg{background-size:cover;background-position:58% center}
  .public-space-inner{padding:28px 0 42px}
  .public-cards-v4{margin-top:54px}
}

/* FINISHING 06 — final Public Space spacing polish.
   Keep the locked background and 4:5 cards; only tighten the relationship
   between the section heading and the card grid. */
.public-cards-v4{margin-top:28px}
@media(max-width:980px){.public-cards-v4{margin-top:24px}}
@media(max-width:780px){.public-cards-v4{margin-top:20px}}

/* FINISHING 07 — mobile-only Public Space polish.
   Desktop remains locked. Mobile cards are shorter, copy clamps on whole lines,
   and the urban background is allowed to read more clearly. */
@media(max-width:780px){
  .public-space-bg{
    background-image:linear-gradient(to bottom,rgba(0,0,0,.10) 0%,rgba(0,0,0,.16) 36%,rgba(9,9,9,.48) 72%,#090909 100%),url('public-space-identity.jpg');
    background-size:auto 760px;
    background-position:58% top;
    background-repeat:no-repeat;
    background-color:#090909;
  }
  .public-space-inner{padding:28px 0 42px}
  .public-cards-v4{gap:14px;margin-top:20px}
  .public-card-v4{height:auto;min-height:0;padding:8px}
  .public-card-v4 .card-photo{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1/1;
    flex:none;
  }
  .public-card-v4 .card-copy{
    min-height:178px;
    padding:14px 7px 7px;
  }
  .public-card-v4 strong{
    -webkit-line-clamp:2;
    line-clamp:2;
  }
  .public-card-v4 small{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    overflow:hidden;
    min-height:0;
    max-height:calc(1.45em * 3);
    line-height:1.45;
    margin-top:8px;
  }
  .public-card-v4 .action{padding-top:12px;margin-top:auto}
}

/* FINISHING 08 — mobile-only Public Space background presence.
   Keep card design/content locked; reveal a little more of the urban image
   in the gutters and between stacked cards. Desktop remains unchanged. */
@media(max-width:780px){
  .public-space-bg{
    background-image:linear-gradient(rgba(9,9,9,.24),rgba(9,9,9,.46)),url('public-space-identity.jpg');
    background-size:100% 100%,auto 760px;
    background-position:center top,58% top;
    background-repeat:no-repeat,repeat-y;
    background-color:#090909;
  }
  .public-space-inner{
    width:min(calc(100% - 40px),var(--max));
  }
  .public-cards-v4{gap:18px}
}

/* FINISHING 09 — POLL mobile responsiveness only.
   Keep desktop and all other VIGILANT pages locked. */
@media(max-width:780px){
  .poll-page,.poll-page .wrap,.poll-grid,.poll-card-modern,.poll-content,.modern-results,
  .poll-result-list,.poll-result,.poll-result>div:first-child{min-width:0;max-width:100%}
  .poll-page{overflow-x:hidden}
  .poll-card-modern{width:100%;overflow:hidden}
  .poll-visual{width:100%;min-width:0}
  .poll-content{width:100%;padding:20px 18px}
  .poll-content h2{
    width:100%;max-width:100%;font-size:clamp(25px,8vw,30px);line-height:1.05;
    overflow-wrap:anywhere;word-break:normal;letter-spacing:-.035em
  }
  .poll-summary{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 24px}
  .poll-summary>div{min-width:0;padding:12px 8px;border-radius:10px;overflow:hidden}
  .poll-summary b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .poll-summary span{font-size:6.5px;letter-spacing:.08em;white-space:normal;overflow-wrap:anywhere}
  .poll-result>div:first-child{align-items:flex-start;gap:10px}
  .poll-result>div:first-child strong{min-width:0;overflow-wrap:anywhere}
  .poll-result>div:first-child span{flex:0 0 auto;white-space:nowrap;font-size:11px}
  .poll-controls{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .poll-options,.poll-options-functional{width:100%;max-width:100%;min-width:0}
  .poll-choice{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .poll-result-footer{width:100%;min-width:0}
  .modern-results .poll-result-footer small{max-width:100%;overflow-wrap:anywhere}
}

/* FINISHING 11 — CONTACT refinement only */
.contact-details{display:grid;gap:18px;margin-top:30px}.contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.contact-item span{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--red)}.contact-item a,.contact-item strong{font-size:clamp(18px,2.2vw,25px);font-weight:800;letter-spacing:-.02em;border-bottom:2px solid var(--red);padding-bottom:3px}.contact-item strong{border-bottom:0}
@media(max-width:780px){.contact-title{font-size:clamp(44px,15vw,58px);line-height:.9;margin-bottom:28px}.contact-copy{font-size:18px;line-height:1.45;margin-bottom:0}.contact-details{margin-top:28px;gap:17px}.contact-item a,.contact-item strong{font-size:20px}}
/* VIGILANT server workspace — restrained editorial additions */
.analytics-panel{margin-top:28px;border-top:1px solid #b8b8b2;padding-top:22px}.analytics-bars{margin-top:18px}.analytics-row{display:grid;grid-template-columns:100px 1fr 45px 70px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #deded9}.analytics-row small,.analytics-row span{font-size:11px;color:#666}.analytics-line{height:5px;background:#deded9}.analytics-line i{display:block;height:100%;background:#111}.admin-side .admin-nav-link[href="logout.php"]{margin-top:18px;color:#8b0000}


/* SAFE UI FINISHING 01 — frontend only; no backend/database changes */
header{position:sticky!important;top:0;z-index:1000}
@media(max-width:780px){header{position:sticky!important;top:0;z-index:1000}}

.ps-row{grid-template-columns:100px minmax(0,1fr) 90px 220px}
.ps-row .row-actions{justify-content:flex-end;gap:12px;padding-right:12px;white-space:nowrap}
@media(max-width:780px){
  .ps-row{grid-template-columns:75px minmax(0,1fr) 70px}
  .ps-row .row-actions{grid-column:2/4;justify-content:flex-start;padding-right:0;gap:12px}
}

.analytics-panel{margin-top:28px;border-top:1px solid #b8b8b2;padding-top:22px}
.analytics-bars{margin-top:18px}
.analytics-row{display:grid;grid-template-columns:100px 1fr 45px 70px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #deded9}
.analytics-row small,.analytics-row span{font-size:11px;color:#666}
.analytics-line{height:5px;background:#deded9}
.analytics-line i{display:block;height:100%;background:#111}
