@font-face{font-family:'Andika';src:url('../fonts/Andika-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Andika';src:url('../fonts/Andika-Italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Andika';src:url('../fonts/Andika-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Andika';src:url('../fonts/Andika-BoldItalic.ttf') format('truetype');font-style:italic;font-weight:700;font-display:swap}
:root{
  --green:#005853;--green-2:#0b6f69;--green-dark:#00413d;--beige:#f1eadd;--paper:#fffdf8;--ink:#12312e;--muted:#5f706e;
  --blue:#3964a8;--lavender:#c5bbdc;--yellow:#e8c140;--coral:#f27f5b;--sage:#91b688;
  --shadow:0 18px 50px rgba(0,65,61,.10);--line:rgba(0,88,83,.16);--shell:min(1180px,calc(100% - 2.2rem));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Andika',Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:clamp(16px,.35vw + 15px,18px);line-height:1.62}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:800px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:999;background:var(--yellow);padding:.7rem 1rem;transform:translateY(-160%)}.skip-link:focus{transform:none}.eyebrow{display:inline-block;font-weight:700;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:.45rem}h1,h2,h3{line-height:1.08;margin:0 0 .65em;font-weight:700}h1{font-size:clamp(2.45rem,6vw,4.85rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.025em}h3{font-size:clamp(1.2rem,1.6vw,1.55rem)}p{margin:.4rem 0 1rem}.meta{font-size:.78rem;font-style:italic;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.78rem 1.15rem;border:2px solid var(--green);background:var(--green);color:#fff;text-decoration:none;font-weight:700;clip-path:polygon(3% 0,96% 3%,100% 80%,94% 100%,2% 96%,0 18%);cursor:pointer}.button:hover{background:var(--green-dark)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.button-light{background:var(--beige);color:var(--green)}.button-ghost{background:transparent;color:var(--green)}.button-small{min-height:36px;padding:.42rem .72rem;font-size:.85rem}.text-link{font-weight:700;color:var(--green)}.textured{position:relative;isolation:isolate}.textured:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--beige);-webkit-mask:url('../img/texture-mask.png') repeat;mask:url('../img/texture-mask.png') repeat;opacity:.18;pointer-events:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:1rem}.brand{display:flex;align-items:center;gap:.72rem;text-decoration:none;min-width:max-content}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:1.18rem;text-transform:uppercase;letter-spacing:.04em}.brand-copy small{font-size:.68rem;color:var(--muted);margin-top:.2rem}.brand-mark{position:relative;width:38px;height:38px;display:block}.brand-mark span{position:absolute;background:var(--green);clip-path:polygon(10% 0,100% 12%,85% 92%,0 100%)}.brand-mark span:nth-child(1){width:16px;height:32px;left:1px;top:3px;transform:rotate(-13deg)}.brand-mark span:nth-child(2){width:13px;height:26px;left:14px;top:0;transform:rotate(12deg)}.brand-mark span:nth-child(3){width:12px;height:29px;right:0;bottom:1px;transform:rotate(28deg)}.site-nav{display:flex;align-items:center;gap:1.1rem}.site-nav>a,.nav-group>a{font-weight:700;text-decoration:none;font-size:.93rem}.site-nav a:hover{text-decoration:none}.nav-group{position:relative;display:flex;align-items:center;gap:.25rem}.nav-sub-toggle{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer}.nav-submenu{display:none;position:absolute;top:100%;left:-.7rem;min-width:220px;background:var(--paper);padding:.55rem;border:1px solid var(--line);box-shadow:var(--shadow)}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu,.nav-group.submenu-open .nav-submenu{display:grid}.nav-submenu a{padding:.55rem .65rem;text-decoration:none}.nav-search input{width:120px;border:1px solid var(--line);background:#fff;padding:.5rem .65rem}.nav-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:8px;cursor:pointer}.nav-toggle>span:not(.sr-only){display:block;height:3px;background:var(--green);margin:5px 0}
.hero{background:var(--green);color:#fff;padding:clamp(3rem,8vw,6.5rem) 0 2.2rem;overflow:hidden}.hero:after{opacity:.12}.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}.hero .eyebrow{color:var(--yellow)}.hero-copy h1{max-width:12ch}.hero-lead{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:50ch;color:#e8f2f0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}.rock-frame{clip-path:polygon(4% 0,100% 5%,96% 84%,84% 100%,8% 94%,0 20%)}.hero-art{margin:0;box-shadow:var(--shadow)}.hero-art img{width:100%;aspect-ratio:1.9/1;object-fit:cover}.quick-strip{background:var(--beige);border-bottom:1px solid rgba(0,88,83,.08)}.quick-grid{display:flex;flex-wrap:wrap}.quick-link{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.65rem;min-height:90px;padding:1rem;flex:1 1 250px;border-right:1px solid rgba(0,88,83,.12);text-decoration:none;font-weight:700}.quick-link:first-child{border-left:1px solid rgba(0,88,83,.12)}.quick-link:hover{background:rgba(255,255,255,.45)}.quick-rock{width:30px;height:30px;background:var(--green);clip-path:polygon(15% 0,88% 7%,100% 72%,70% 100%,6% 86%,0 28%)}.quick-link:nth-child(4n+1) .quick-rock{background:var(--green)}.quick-link:nth-child(4n+2) .quick-rock{background:var(--yellow)}.quick-link:nth-child(4n+3) .quick-rock{background:var(--coral)}.quick-link:nth-child(4n+4) .quick-rock{background:var(--blue)}
.section{padding:clamp(3.4rem,7vw,6rem) 0}.section-beige{background:var(--beige)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.section-heading h2{margin-bottom:0}.news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}.news-card{background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,65,61,.05);min-width:0;display:flex;flex-direction:column}.news-card-featured{grid-column:span 2}.news-image{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--beige)}.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.news-card:hover .news-image img{transform:scale(1.025)}.news-shape{height:145px;background:var(--beige);position:relative;overflow:hidden}.news-card-featured .news-shape{height:240px}.news-shape span{position:absolute;display:block;clip-path:polygon(8% 0,100% 16%,82% 100%,0 83%)}.news-shape span:nth-child(1){background:var(--green);width:60%;height:75%;left:-5%;bottom:-8%;transform:rotate(8deg)}.news-shape span:nth-child(2){background:var(--lavender);width:48%;height:62%;right:-5%;top:8%;transform:rotate(-12deg)}.news-shape span:nth-child(3){background:var(--yellow);width:22%;height:38%;left:52%;top:30%;transform:rotate(19deg)}.news-card:nth-child(3n) .news-shape span:nth-child(2){background:var(--coral)}.news-card:nth-child(4n) .news-shape span:nth-child(3){background:var(--blue)}.news-card-body{padding:1.15rem;display:flex;flex-direction:column;flex:1}.news-card-body h2,.news-card-body h3{font-size:clamp(1.25rem,1.8vw,1.65rem)}.news-card-body h3 a,.news-card-body h2 a{text-decoration:none}.news-card-body .text-link{margin-top:auto}.empty-state{background:var(--beige);padding:2rem;clip-path:polygon(1% 0,99% 4%,100% 92%,96% 100%,2% 97%,0 9%)}.event-grid{display:grid;gap:.8rem}.event-card{display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:1rem;background:#fff;padding:1rem 1.25rem;border-left:6px solid var(--green);text-decoration:none}.event-card time{display:flex;flex-direction:column;align-items:center;color:var(--green)}.event-card time strong{font-size:2.1rem;line-height:1}.event-card time span{font-size:.75rem;font-weight:700}.event-card h3{margin:0 0 .2rem}.event-card p{margin:0;color:var(--muted)}
.social-section{background:#fff}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.social-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.social-head h3{font-size:1.7rem;margin:0}.social-cards{display:grid;gap:.9rem}.social-card{display:grid;grid-template-columns:116px 1fr;gap:1rem;padding:.75rem;border:1px solid var(--line);text-decoration:none;background:var(--paper)}.social-media{aspect-ratio:1/1;overflow:hidden;background:var(--beige)}.social-media img{width:100%;height:100%;object-fit:cover}.social-card p{margin:.15rem 0}.social-placeholder{display:block;width:100%;height:100%;min-height:95px;background:linear-gradient(135deg,var(--lavender) 0 45%,var(--green) 45% 72%,var(--yellow) 72%);clip-path:polygon(4% 0,94% 5%,100% 80%,80% 100%,0 90%,6% 20%)}.social-empty{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;padding:1rem;background:var(--beige)}
.page-hero,.article-header{background:var(--beige);padding:clamp(3rem,7vw,5.5rem) 0}.page-hero h1,.article-header h1{max-width:15ch}.page-hero p,.article-lead{font-size:1.2rem;max-width:60ch}.article-header .meta{color:var(--green)}.back-link{display:inline-block;margin-bottom:1rem;font-weight:700}.article-image-wrap{margin-top:-2rem}.article-image{width:100%;max-height:600px;object-fit:cover}.prose{padding-top:clamp(2rem,5vw,4rem);padding-bottom:clamp(3rem,7vw,6rem)}.prose h2{font-size:2rem;margin-top:1.6em}.prose h3{font-size:1.45rem;margin-top:1.5em}.prose a:not(.button){color:var(--green);font-weight:700}.prose blockquote{margin:1.5rem 0;padding:1rem 1.4rem;border-left:6px solid var(--yellow);background:var(--beige)}.prose img{margin:1.5rem 0}.prose table{border-collapse:collapse;width:100%;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);padding:.6rem .75rem;text-align:left}.search-large label{font-weight:700}.search-large>div{display:flex;gap:.7rem;margin-top:.5rem}.search-large input{min-width:0;flex:1;border:2px solid var(--green);padding:.8rem 1rem;background:#fff}.search-results{display:grid;gap:1rem}.search-results article{border-bottom:1px solid var(--line);padding:1rem 0}.search-results h2{font-size:1.55rem}
.site-footer{background:var(--green-dark);color:#fff;padding:3.2rem 0 1rem}.site-footer:after{opacity:.09}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:2rem}.footer-grid h2{font-size:1rem;text-transform:uppercase;letter-spacing:.1em}.footer-grid a{color:#fff}.footer-brand{font-size:1.7rem;font-weight:700}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:2rem;padding-top:1rem;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;font-style:italic;color:#d4e0df}
.admin-body{background:#f6f3eb}.admin-header{background:var(--green);color:#fff;position:sticky;top:0;z-index:40}.admin-header-inner{display:flex;align-items:center;gap:1.2rem;min-height:70px}.admin-header .brand-mark span{background:var(--beige)}.brand-compact .brand-copy strong{color:#fff}.admin-nav{display:flex;gap:1rem;align-items:center;margin-left:auto}.admin-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.9rem}.logout-form{margin:0}.admin-header .button-ghost{border-color:var(--beige);color:var(--beige)}.admin-main{padding-top:2rem;padding-bottom:4rem}.admin-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem}.admin-title h1{font-size:clamp(2rem,4vw,3.2rem);margin:0}.admin-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(0,65,61,.05);padding:1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--beige);padding:1.4rem;text-decoration:none;clip-path:polygon(2% 0,98% 3%,100% 90%,94% 100%,0 96%,1% 8%)}.stat-card strong{display:block;font-size:2.5rem;line-height:1;color:var(--green)}.stat-card span{font-weight:700}.notice{padding:.85rem 1rem;margin:0 0 1rem;border-left:5px solid var(--green);background:#fff}.notice-error{border-color:var(--coral);background:#fff4f0}.notice-success{border-color:var(--sage);background:#f3faf1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem .65rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.actions{display:flex;gap:.7rem;align-items:center;justify-content:flex-end}.actions form,.media-actions form{margin:0}.link-danger{border:0;background:none;color:#a13324;text-decoration:underline;cursor:pointer;padding:0}.status{display:inline-block;padding:.2rem .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;background:var(--beige)}.status-published{background:#dbead7;color:#254f27}.form-stack,.admin-card form:not(.logout-form){display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:700}label small,.help{font-weight:400;color:var(--muted);font-size:.82rem}input,textarea,select{width:100%;border:1px solid #aab8b6;background:#fff;color:var(--ink);padding:.72rem .8rem}textarea{resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.admin-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1rem;align-items:start}.form-main{display:grid;gap:1rem}.form-side{display:grid;gap:1rem;position:sticky;top:90px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:.35rem}.editor-toolbar button{border:1px solid var(--line);background:var(--beige);padding:.35rem .55rem;cursor:pointer}.content-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.5}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.media-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--beige)}.media-card h2{font-size:1rem;margin-top:.7rem;word-break:break-word}.media-card code{display:block;white-space:nowrap;overflow:auto;font-size:.72rem}.pdf-icon{display:grid;place-items:center;aspect-ratio:4/3;background:var(--coral);color:#fff;font-size:2rem;font-weight:700}.media-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.upload-row{grid-template-columns:1fr auto!important;align-items:end}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-grid .admin-card{display:grid;gap:1rem}.settings-wide{grid-column:1/-1}.quick-settings{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.account-card{max-width:620px}.auth-wrap{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:2rem}.auth-card{width:min(520px,100%)}.auth-card h1{font-size:2.2rem}.auth-card .button{width:100%}
@media (max-width:1000px){.hero-grid{grid-template-columns:1fr}.hero-copy h1{max-width:14ch}.news-grid{grid-template-columns:repeat(2,1fr)}.news-card-featured{grid-column:span 2}.quick-grid{display:flex;flex-wrap:wrap}.social-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.admin-nav{display:none}.admin-header-inner{justify-content:space-between}.admin-form-grid{grid-template-columns:1fr}.form-side{position:static}.media-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){:root{--shell:min(100% - 1.25rem,1180px)}.site-header{backdrop-filter:none}.header-inner{min-height:68px}.brand-copy small{display:none}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem;box-shadow:var(--shadow);align-items:stretch}.site-nav.is-open{display:grid}.nav-group{display:grid;grid-template-columns:1fr auto}.nav-submenu{position:static;grid-column:1/-1;box-shadow:none;border:0;border-left:3px solid var(--yellow);margin-left:.4rem}.nav-search input{width:100%}.hero{padding-top:3rem}.hero-art img{aspect-ratio:1.55/1}.quick-grid{display:flex;flex-direction:row;flex-wrap:wrap}.quick-link{flex:1 1 165px;min-height:62px;padding:.58rem .72rem;grid-template-columns:28px minmax(0,1fr) auto;gap:.48rem;border-left:0;border-right:1px solid rgba(0,88,83,.12);border-bottom:1px solid rgba(0,88,83,.12)}.quick-link:first-child{border-left:0}.quick-rock{width:24px;height:24px}.news-grid{grid-template-columns:1fr}.news-card-featured{grid-column:auto}.news-card-featured .news-shape{height:170px}.section-heading{align-items:flex-start;flex-direction:column}.event-card{grid-template-columns:70px 1fr}.event-card>b{display:none}.social-card{grid-template-columns:95px 1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.admin-title{align-items:flex-start;flex-direction:column}.stat-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.settings-grid,.quick-settings{grid-template-columns:1fr}.settings-wide{grid-column:auto}.upload-row{grid-template-columns:1fr!important}.table-wrap{margin-inline:-1.25rem;padding-inline:1.25rem}.admin-header .brand-copy strong{font-size:1rem}.logout-form{margin-left:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.news-image img{transition:none}}

/* Pakri official logo + CMS media helpers */
.site-brand{min-width:0;flex:0 0 auto}.site-logo{width:clamp(150px,15vw,190px);height:auto}.editor-media-tools{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.15rem}.editor-media-tools select{width:auto;max-width:min(100%,360px);min-width:200px;padding:.38rem .55rem}.editor-media-tools button{border:1px solid var(--line);background:var(--beige);padding:.38rem .6rem;cursor:pointer}.social-empty-media{width:120px;aspect-ratio:1/1;overflow:hidden;background:var(--beige)}.social-empty-media img{width:100%;height:100%;object-fit:cover}.social-empty-media .social-placeholder{height:100%;min-height:0}.social-media .social-placeholder{height:100%;min-height:0}.social-placeholder-image{width:100%;height:100%;object-fit:cover}.placeholder-preview{display:flex;align-items:center;gap:.8rem}.placeholder-preview img{width:84px;height:60px;object-fit:cover;background:var(--beige)}
@media (max-width:760px){.site-logo{width:145px}.editor-media-tools{align-items:stretch}.editor-media-tools select{width:100%;max-width:none}.social-empty-media{width:95px}}
@media (max-width:760px){.social-empty{grid-template-columns:95px 1fr}}

/* v3: clearer link states, admin edit shortcut, media folders and public-info tools */
a{text-decoration:none}
.site-nav>a,.nav-group>a,.nav-submenu a,.text-link,.back-link,.prose a:not(.button),.news-card-body h2 a,.news-card-body h3 a,.site-footer a{transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.site-nav>a,.nav-group>a{padding:.38rem .48rem;margin:-.38rem -.48rem}
.site-nav>a:hover,.site-nav>a:focus-visible,.nav-group>a:hover,.nav-group>a:focus-visible,.nav-submenu a:hover,.nav-submenu a:focus-visible{background:var(--beige);color:var(--green-dark);text-decoration:none}
.text-link,.back-link,.prose a:not(.button){color:var(--green);font-weight:700;padding:.02em .12em;margin-inline:-.12em}
.text-link:hover,.back-link:hover,.prose a:not(.button):hover,.news-card-body h2 a:hover,.news-card-body h3 a:hover{background:var(--yellow);color:var(--green-dark)}
.news-card-body h2 a,.news-card-body h3 a{box-decoration-break:clone;-webkit-box-decoration-break:clone}
.quick-link:hover,.quick-link:focus-visible,.event-card:hover,.event-card:focus-visible,.social-card:hover,.social-card:focus-visible{background:#fff8cf}
.site-footer a{font-weight:700;padding:.03em .12em;margin-inline:-.12em}
.site-footer a:hover,.site-footer a:focus-visible{background:var(--yellow);color:var(--green-dark)}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:.8rem}
.footer-location{margin:0 0 1rem}.footer-location strong{display:inline-block;margin-bottom:.12rem}.footer-small{font-size:.86rem;color:#d4e0df}.footer-authority{font-size:.84rem;line-height:1.48;margin:0 0 1rem}.footer-authority strong{font-size:.92rem;color:#fff}
.page-updated{margin-top:.8rem}.public-edit-button{position:fixed;right:clamp(.8rem,2vw,1.5rem);bottom:clamp(.8rem,2vw,1.5rem);z-index:80;display:inline-flex;align-items:center;gap:.35rem;padding:.62rem .85rem;background:var(--yellow);color:var(--green-dark);border:2px solid var(--green-dark);font-weight:700;box-shadow:0 8px 24px rgba(0,65,61,.22);clip-path:polygon(4% 0,97% 5%,100% 82%,94% 100%,2% 96%,0 18%)}.public-edit-button:hover,.public-edit-button:focus-visible{background:var(--beige);color:var(--green-dark)}
.settings-fieldset{border:1px solid var(--line);padding:1rem;display:grid;gap:.8rem;margin:0}.settings-fieldset legend{font-weight:700;color:var(--green);padding:0 .35rem}.supervision-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.quick-settings-3{grid-template-columns:repeat(3,1fr)}
.upload-form{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:.8rem;align-items:end}.media-folder-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 1.2rem}.media-folder-chip{display:inline-flex;align-items:center;gap:.45rem;background:var(--beige);border:1px solid var(--line);padding:.48rem .72rem;font-weight:700}.media-folder-chip span{display:inline-grid;place-items:center;min-width:1.7em;height:1.7em;padding:0 .35em;background:#fff;border:1px solid var(--line);font-size:.75rem}.media-folder-chip:hover,.media-folder-chip:focus-visible,.media-folder-chip.is-active{background:var(--yellow);color:var(--green-dark)}.media-card-meta{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-top:.65rem;font-size:.72rem;color:var(--muted)}.media-folder-label{display:inline-flex;padding:.18rem .45rem;background:var(--beige);font-weight:700;color:var(--green)}
.public-info-card{margin-bottom:1.5rem}.public-info-card>.section-heading{align-items:center;margin-bottom:1rem}.public-info-card>.section-heading form{display:block!important;margin:0}.public-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.2rem}.public-info-columns h3{font-size:1.05rem}.public-info-list{display:grid;gap:.55rem}.public-info-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px solid var(--line);padding:.7rem .8rem;background:var(--paper)}.public-info-row small{display:block;color:var(--muted);font-weight:400;font-size:.72rem;margin-top:.15rem}.public-info-actions{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.status-draft{background:#fff0b4;color:#694e00}.status-missing{background:#ffe0d6;color:#7a2b1b}.public-info-note{margin-top:1.1rem!important;margin-bottom:0!important}
@media (max-width:1000px){.supervision-settings-grid{grid-template-columns:1fr 1fr}.upload-form{grid-template-columns:1fr 1fr}.public-info-columns{grid-template-columns:1fr}}
@media (max-width:760px){.site-nav>a,.nav-group>a{padding:.55rem .65rem;margin:0}.supervision-settings-grid,.quick-settings-3,.upload-form{grid-template-columns:1fr}.public-info-row{align-items:flex-start;flex-direction:column}.public-info-actions{width:100%;justify-content:space-between}.public-edit-button{font-size:.82rem}.footer-authority{font-size:.9rem}}
.integration-statuses{display:flex;flex-wrap:wrap;gap:.5rem}

/* v3.1: role-aware CMS, hero image picker and submenu sizing */
.nav-submenu a{font-size:.93rem;font-weight:700;line-height:1.35}
.user-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.8rem;align-items:end}
.user-action-details{margin-bottom:.55rem}.user-action-details summary{cursor:pointer;font-weight:700;color:var(--green)}
.inline-reset-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.55rem;align-items:end;margin-top:.65rem;min-width:min(640px,70vw)}
.inline-delete-form{display:inline-block}.inline-delete-form .button{border-color:var(--coral)}
@media (max-width:1000px){.user-create-form{grid-template-columns:1fr 1fr}.inline-reset-form{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.nav-submenu a{font-size:.93rem}.user-create-form,.inline-reset-form{grid-template-columns:1fr}.inline-reset-form{min-width:0}}


/* v3.2: cleaner public headings, footer, CMS lists and admin IP security */
.site-footer{font-size:.84rem}
.footer-grid{grid-template-columns:1.25fr .8fr 1.15fr 1.15fr 1fr;gap:1.45rem}
.footer-grid h2{font-size:inherit;margin-bottom:.8rem}
.footer-grid p,.footer-grid .footer-location,.footer-grid .footer-authority,.footer-grid .footer-small,.footer-grid .footer-public-links,.footer-grid strong{font-size:inherit;line-height:1.5}
.footer-grid strong{color:#fff}
.footer-location{margin:0 0 .8rem}.footer-contact-shared{margin-top:1rem}
.footer-bottom{font-size:inherit}
.footer-public-links{line-height:1.8!important}
.supervision-settings-grid-2{grid-template-columns:1fr 1fr}
.content-list-table td{border-bottom:1px solid var(--line)}
.content-list-table td:last-child{white-space:nowrap}
.admin-content-title{color:var(--green);font-weight:700;padding:.05em .12em;margin-left:-.12em}
.admin-content-title:hover,.admin-content-title:focus-visible{background:var(--yellow);color:var(--green-dark)}
.content-authorship{min-width:180px;color:var(--muted);line-height:1.4}
.actions{display:flex;gap:.7rem;align-items:center;justify-content:flex-end}
.security-summary{margin-bottom:1rem}.security-toggle-form{max-width:720px}
.ip-entry-form{display:grid!important;grid-template-columns:1fr 1.25fr auto;gap:.8rem;align-items:end}
.ip-entry-list{display:grid;gap:.8rem}.ip-entry-row{display:grid!important;grid-template-columns:1fr 1.25fr auto;gap:.8rem;align-items:end;padding:.8rem;background:var(--paper);border:1px solid var(--line)}
.ip-entry-actions{display:flex;gap:.5rem;align-items:end}.danger-button{border-color:var(--coral);color:#8f3022}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ip-entry-form,.ip-entry-row{grid-template-columns:1fr}.supervision-settings-grid-2{grid-template-columns:1fr}.content-authorship{min-width:150px}}

.menu-editor-list,.quick-editor-list{display:grid;gap:.75rem}.menu-editor-row,.quick-editor-row{display:grid;gap:.65rem;align-items:end;padding:.85rem;border:1px solid var(--line);background:#faf9f5}.menu-editor-row{grid-template-columns:minmax(140px,1.2fr) minmax(120px,.7fr) minmax(180px,1.3fr) minmax(150px,1fr) auto}.quick-editor-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto}.menu-row-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.icon-button{border:1px solid var(--line);background:var(--beige);color:var(--green);font-weight:700;cursor:pointer;padding:.5rem .65rem;min-width:2.4rem}.icon-button:hover,.icon-button:focus-visible{background:#fff8cf}.trusted-html-box{border:1px solid #d5aa2d;background:#fff8cf;padding:.8rem}.trusted-html-box .check{font-weight:700}.trusted-html-warning{font-size:.82rem;color:#66530f;margin:.4rem 0 0}.menu-help{margin-top:0}.menu-empty{padding:1rem;border:1px dashed var(--line);color:var(--muted)}
@media (max-width:1000px){.menu-editor-row{grid-template-columns:1fr 1fr}.menu-row-actions{grid-column:1/-1}.quick-editor-row{grid-template-columns:1fr 1fr}.quick-editor-row .menu-row-actions{grid-column:1/-1}}
@media (max-width:760px){.menu-editor-row,.quick-editor-row{grid-template-columns:1fr}.menu-row-actions,.quick-editor-row .menu-row-actions{grid-column:auto}}

/* v3.4: general media files */
.file-icon{word-break:break-word;text-align:center;padding:.75rem;font-size:clamp(1rem,2.6vw,1.6rem)}
.media-file-details{font-size:.76rem;color:var(--muted);word-break:break-word}
.media-actions{justify-content:flex-start;flex-wrap:wrap}.media-actions form{margin-left:auto}

/* v3.4.1: compact, wrapping quick links on phones */
@media (max-width:340px){.quick-link{flex-basis:100%}}


/* v3.4.2: tighter homepage hero and editable hero actions */
.hero{padding:2.25rem 0 2.2rem}
.hero-art{display:grid;place-items:center;min-width:0}
.hero-art-custom{background:var(--beige)}
.hero-art-custom img{width:100%;height:100%;aspect-ratio:1.9/1;object-fit:cover;object-position:center center}
.hero-art-default img{object-position:center center}
.hero-action-editor-list{display:grid;gap:.75rem}
@media (max-width:1000px){.hero{padding:2.1rem 0}.hero-grid{gap:2rem}.hero-art{width:min(760px,100%);justify-self:center}}
@media (max-width:760px){.hero{padding:1.75rem 0 1.9rem}.hero-grid{gap:1.5rem}.hero-actions{margin-top:1.1rem}.hero-art-custom img{aspect-ratio:1.55/1}}

/* v3.4.4: optional unframed homepage hero image for pre-designed logo artwork */
.hero-art-plain{background:transparent;box-shadow:none;clip-path:none;overflow:visible}
.hero-art-plain img{width:100%;height:auto;max-height:clamp(300px,34vw,470px);aspect-ratio:auto;object-fit:contain;object-position:center center;display:block;margin-inline:auto}
@media (max-width:1000px){.hero-art-plain{width:min(680px,100%)}.hero-art-plain img{max-height:420px}}
@media (max-width:760px){.hero-art-plain{width:min(520px,100%)}.hero-art-plain img{max-height:320px;aspect-ratio:auto}}

/* v3.4.5: optional full-bleed hero background image with adjustable CVI overlay */
.hero-bg-mode{position:relative;isolation:isolate;background:var(--green)}
.hero-bg-mode .hero-bg-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg-mode .hero-bg-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}
.hero-bg-mode:before{content:"";position:absolute;inset:0;z-index:1;background:var(--green);opacity:var(--hero-green-overlay,.45);pointer-events:none}
.hero-bg-mode.textured:after{z-index:2;opacity:var(--hero-texture-overlay,.081)}
.hero-bg-mode .hero-grid{position:relative;z-index:3}
.hero-bg-mode .hero-copy{text-shadow:0 2px 16px rgba(0,35,33,.2)}
.hero-overlay-setting{display:grid;gap:.35rem}
.range-with-value{display:grid;grid-template-columns:minmax(0,1fr) 4.2rem;align-items:center;gap:.8rem}
.range-with-value input[type=range]{width:100%;accent-color:var(--green)}
.range-with-value output{font-weight:700;text-align:center;background:var(--beige);padding:.25rem .4rem;border:1px solid var(--line)}
.hero-overlay-0{--hero-green-overlay:0.00;--hero-texture-overlay:0.000}
.hero-overlay-5{--hero-green-overlay:0.05;--hero-texture-overlay:0.009}
.hero-overlay-10{--hero-green-overlay:0.10;--hero-texture-overlay:0.018}
.hero-overlay-15{--hero-green-overlay:0.15;--hero-texture-overlay:0.027}
.hero-overlay-20{--hero-green-overlay:0.20;--hero-texture-overlay:0.036}
.hero-overlay-25{--hero-green-overlay:0.25;--hero-texture-overlay:0.045}
.hero-overlay-30{--hero-green-overlay:0.30;--hero-texture-overlay:0.054}
.hero-overlay-35{--hero-green-overlay:0.35;--hero-texture-overlay:0.063}
.hero-overlay-40{--hero-green-overlay:0.40;--hero-texture-overlay:0.072}
.hero-overlay-45{--hero-green-overlay:0.45;--hero-texture-overlay:0.081}
.hero-overlay-50{--hero-green-overlay:0.50;--hero-texture-overlay:0.090}
.hero-overlay-55{--hero-green-overlay:0.55;--hero-texture-overlay:0.099}
.hero-overlay-60{--hero-green-overlay:0.60;--hero-texture-overlay:0.108}
.hero-overlay-65{--hero-green-overlay:0.65;--hero-texture-overlay:0.117}
.hero-overlay-70{--hero-green-overlay:0.70;--hero-texture-overlay:0.126}
.hero-overlay-75{--hero-green-overlay:0.75;--hero-texture-overlay:0.135}
.hero-overlay-80{--hero-green-overlay:0.80;--hero-texture-overlay:0.144}
.hero-overlay-85{--hero-green-overlay:0.85;--hero-texture-overlay:0.153}
.hero-overlay-90{--hero-green-overlay:0.90;--hero-texture-overlay:0.162}
.hero-overlay-95{--hero-green-overlay:0.95;--hero-texture-overlay:0.171}
.hero-overlay-100{--hero-green-overlay:1.00;--hero-texture-overlay:0.180}
.footer-grid{grid-template-columns:1.25fr 1.15fr 1.15fr 1fr}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr}}

/* v3.4.6: adjustable homepage banner height; mobile/tablet scaling is intentionally dampened */
.hero-height-80{padding:1.800rem 0 1.760rem}
.hero-height-85{padding:1.912rem 0 1.870rem}
.hero-height-90{padding:2.025rem 0 1.980rem}
.hero-height-95{padding:2.137rem 0 2.090rem}
.hero-height-100{padding:2.250rem 0 2.200rem}
.hero-height-105{padding:2.363rem 0 2.310rem}
.hero-height-110{padding:2.475rem 0 2.420rem}
.hero-height-115{padding:2.587rem 0 2.530rem}
.hero-height-120{padding:2.700rem 0 2.640rem}
.hero-height-125{padding:2.812rem 0 2.750rem}
.hero-height-130{padding:2.925rem 0 2.860rem}
.hero-height-135{padding:3.038rem 0 2.970rem}
.hero-height-140{padding:3.150rem 0 3.080rem}
.hero-height-145{padding:3.262rem 0 3.190rem}
.hero-height-150{padding:3.375rem 0 3.300rem}
@media (max-width:1000px){
.hero-height-80{padding:1.806rem 0}
.hero-height-85{padding:1.880rem 0}
.hero-height-90{padding:1.953rem 0}
.hero-height-95{padding:2.026rem 0}
.hero-height-100{padding:2.100rem 0}
.hero-height-105{padding:2.173rem 0}
.hero-height-110{padding:2.247rem 0}
.hero-height-115{padding:2.321rem 0}
.hero-height-120{padding:2.394rem 0}
.hero-height-125{padding:2.468rem 0}
.hero-height-130{padding:2.541rem 0}
.hero-height-135{padding:2.615rem 0}
.hero-height-140{padding:2.688rem 0}
.hero-height-145{padding:2.761rem 0}
.hero-height-150{padding:2.835rem 0}
}
@media (max-width:760px){
.hero-height-80{padding:1.593rem 0 1.729rem}
.hero-height-85{padding:1.632rem 0 1.772rem}
.hero-height-90{padding:1.671rem 0 1.814rem}
.hero-height-95{padding:1.711rem 0 1.857rem}
.hero-height-100{padding:1.750rem 0 1.900rem}
.hero-height-105{padding:1.789rem 0 1.943rem}
.hero-height-110{padding:1.829rem 0 1.985rem}
.hero-height-115{padding:1.868rem 0 2.028rem}
.hero-height-120{padding:1.908rem 0 2.071rem}
.hero-height-125{padding:1.947rem 0 2.114rem}
.hero-height-130{padding:1.986rem 0 2.156rem}
.hero-height-135{padding:2.026rem 0 2.199rem}
.hero-height-140{padding:2.065rem 0 2.242rem}
.hero-height-145{padding:2.104rem 0 2.285rem}
.hero-height-150{padding:2.144rem 0 2.328rem}
}

/* v3.4.7: extended hero height range + image-aspect-ratio height mode */
.hero-height-155{padding:3.487rem 0 3.410rem}
.hero-height-160{padding:3.600rem 0 3.520rem}
.hero-height-165{padding:3.712rem 0 3.630rem}
.hero-height-170{padding:3.825rem 0 3.740rem}
.hero-height-175{padding:3.938rem 0 3.850rem}
.hero-height-180{padding:4.050rem 0 3.960rem}
.hero-height-185{padding:4.162rem 0 4.070rem}
.hero-height-190{padding:4.275rem 0 4.180rem}
.hero-height-195{padding:4.388rem 0 4.290rem}
.hero-height-200{padding:4.500rem 0 4.400rem}
.hero-height-205{padding:4.612rem 0 4.510rem}
.hero-height-210{padding:4.725rem 0 4.620rem}
.hero-height-215{padding:4.838rem 0 4.730rem}
.hero-height-220{padding:4.950rem 0 4.840rem}
.hero-height-225{padding:5.062rem 0 4.950rem}
.hero-height-230{padding:5.175rem 0 5.060rem}
.hero-height-235{padding:5.287rem 0 5.170rem}
.hero-height-240{padding:5.400rem 0 5.280rem}
.hero-height-245{padding:5.513rem 0 5.390rem}
.hero-height-250{padding:5.625rem 0 5.500rem}
@media (max-width:1000px){
.hero-height-155{padding:2.909rem 0}
.hero-height-160{padding:2.982rem 0}
.hero-height-165{padding:3.056rem 0}
.hero-height-170{padding:3.129rem 0}
.hero-height-175{padding:3.203rem 0}
.hero-height-180{padding:3.276rem 0}
.hero-height-185{padding:3.349rem 0}
.hero-height-190{padding:3.423rem 0}
.hero-height-195{padding:3.497rem 0}
.hero-height-200{padding:3.570rem 0}
.hero-height-205{padding:3.643rem 0}
.hero-height-210{padding:3.717rem 0}
.hero-height-215{padding:3.790rem 0}
.hero-height-220{padding:3.864rem 0}
.hero-height-225{padding:3.938rem 0}
.hero-height-230{padding:4.011rem 0}
.hero-height-235{padding:4.085rem 0}
.hero-height-240{padding:4.158rem 0}
.hero-height-245{padding:4.232rem 0}
.hero-height-250{padding:4.305rem 0}
}
@media (max-width:760px){
.hero-height-155{padding:2.183rem 0 2.371rem}
.hero-height-160{padding:2.223rem 0 2.414rem}
.hero-height-165{padding:2.262rem 0 2.456rem}
.hero-height-170{padding:2.302rem 0 2.499rem}
.hero-height-175{padding:2.341rem 0 2.542rem}
.hero-height-180{padding:2.380rem 0 2.585rem}
.hero-height-185{padding:2.420rem 0 2.628rem}
.hero-height-190{padding:2.459rem 0 2.670rem}
.hero-height-195{padding:2.499rem 0 2.713rem}
.hero-height-200{padding:2.538rem 0 2.756rem}
.hero-height-205{padding:2.577rem 0 2.799rem}
.hero-height-210{padding:2.617rem 0 2.842rem}
.hero-height-215{padding:2.656rem 0 2.884rem}
.hero-height-220{padding:2.696rem 0 2.927rem}
.hero-height-225{padding:2.735rem 0 2.970rem}
.hero-height-230{padding:2.774rem 0 3.013rem}
.hero-height-235{padding:2.814rem 0 3.056rem}
.hero-height-240{padding:2.853rem 0 3.098rem}
.hero-height-245{padding:2.893rem 0 3.141rem}
.hero-height-250{padding:2.932rem 0 3.184rem}
}
.hero-bg-natural-height{display:grid;padding:0}
.hero-bg-natural-height>.hero-bg-sizer,.hero-bg-natural-height>.hero-grid{grid-area:1/1}
.hero-bg-natural-height>.hero-bg-sizer{display:block;width:100%;height:auto;max-width:none;visibility:hidden;pointer-events:none;user-select:none}
.hero-bg-natural-height>.hero-grid{position:relative;z-index:3;align-self:stretch;align-items:center;padding:2.25rem 0 2.2rem}
@media (max-width:1000px){.hero-bg-natural-height>.hero-grid{padding:2.1rem 0}}
@media (max-width:760px){.hero-bg-natural-height>.hero-grid{padding:1.75rem 0 1.9rem}}

/* v3.4.8: reusable contact cards for page/post content */
.prose .contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.prose .contact-card{min-width:0;padding:1.25rem 1.35rem;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,65,61,.045)}
.prose .contact-card h3{margin:0 0 .45rem;color:var(--green);font-size:1.2rem}
.prose .contact-name{margin:0 0 .45rem;font-size:1.05rem;font-weight:700}
.prose .contact-role-detail{margin:-.15rem 0 .45rem;color:var(--muted);font-size:.9rem}
.prose .contact-card p:last-child{margin-bottom:0}
.prose .contact-person + .contact-person{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.prose .contact-person p{margin-bottom:.45rem}
@media (max-width:680px){.prose .contact-grid{grid-template-columns:1fr}.prose .contact-card{padding:1.1rem}}


/* v3.5: safe rich-text editor + responsive embedded video */
.prose video{display:block;width:100%;max-width:100%;height:auto;margin:1.5rem 0;background:#000;border-radius:12px}
.editor-mode-switch{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:-.35rem}
.editor-mode-switch button{border:1px solid var(--line);background:#fff;color:var(--green);padding:.38rem .65rem;cursor:pointer;font-weight:700}
.editor-mode-switch button.is-active{background:var(--green);color:#fff;border-color:var(--green)}
.editor-mode-switch button:disabled{opacity:.45;cursor:not-allowed}
.content-visual-editor{min-height:360px;padding:1rem!important;border:1px solid #aab8b6;background:#fff;overflow:auto;outline:none}
.content-visual-editor:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(0,88,83,.12)}
.content-visual-editor.prose h2{font-size:1.7rem;margin-top:1.25em}
.content-visual-editor.prose h3{font-size:1.35rem;margin-top:1.15em}
.content-visual-editor.prose img,.content-visual-editor.prose video{max-width:100%;height:auto}
.content-visual-editor.prose video{pointer-events:none}
@media (max-width:760px){.content-visual-editor{min-height:280px}.editor-mode-switch .help{flex-basis:100%}}

/* v3.5.1: preview and activity usability */
.preview-actions{display:flex;flex-wrap:wrap;gap:.55rem}.content-actions{flex-wrap:wrap;min-width:max-content}.audit-object small{color:var(--muted)}.audit-object a{color:var(--green);text-decoration-thickness:.08em}.preview-banner{background:var(--yellow);color:var(--green-dark);border-bottom:2px solid var(--green-dark)}.preview-banner .shell{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;padding-block:.45rem}.preview-banner strong{text-transform:uppercase;letter-spacing:.08em}.preview-banner span{font-size:.9rem}.preview-banner a{font-weight:700;margin-left:auto}
@media (max-width:760px){.preview-banner .shell{align-items:flex-start;flex-direction:column;gap:.2rem;padding-block:.7rem}.preview-banner a{margin-left:0}.content-actions{min-width:0}}

/* v3.6: Toitlustaja role, weekly-menu PDF view and nested homepage quick links */
.status-catering{background:#dfeef5;color:#174b62}
.catering-admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:1rem;align-items:start}
.catering-content-card,.catering-menu-card{display:grid;gap:1rem}
.catering-content-form{display:grid;gap:1rem}
.catering-form-actions{display:flex;gap:.7rem;justify-content:flex-end;flex-wrap:wrap}
.catering-upload-form{padding:1rem;background:var(--beige);border:1px solid var(--line)}
.catering-file-list{display:grid;gap:.65rem}
.catering-file-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid var(--line);background:#fff}
.catering-file-row p{margin:.25rem 0 0}
.catering-file-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.catering-file-actions form{margin:0!important;display:block!important}

.catering-public-menus{width:min(1200px,calc(100vw - 2rem));margin-top:2.25rem;margin-left:50%;padding-top:2rem;border-top:1px solid var(--line);transform:translateX(-50%)}
.catering-current-menu{margin-top:1rem;border:1px solid var(--line);background:#fff;box-shadow:0 8px 28px rgba(0,65,61,.05)}
.catering-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--beige)}
.catering-menu-heading>div{display:grid;gap:.15rem;min-width:0}
.catering-menu-heading strong{overflow-wrap:anywhere}
.catering-pdf-frame{display:block;width:100%;height:min(82vh,1000px);min-height:680px;border:0;background:#f2f2f2}
.catering-pdf-mobile-link{display:none!important;margin:0;padding:1rem}
.catering-pdf-help{padding:0 1rem 1rem;margin:.8rem 0 0!important}
.catering-menu-archive{margin-top:1.5rem}
.catering-menu-archive ul{margin:.7rem 0 0;padding-left:1.2rem}
.catering-menu-archive li{margin:.45rem 0}

.quick-link-with-children{align-items:start;cursor:default}
.quick-link-copy{display:grid;gap:.45rem;min-width:0}
.quick-link-parent{color:inherit;text-decoration:none;font-weight:800}
.quick-link-parent:hover,.quick-link-parent:focus-visible{text-decoration:underline}
.quick-submenu{display:flex;flex-wrap:wrap;gap:.35rem .55rem;font-size:.86rem;font-weight:600}
.quick-submenu a{display:inline-block;color:var(--green);text-decoration:none;padding:.2rem .45rem;background:rgba(255,255,255,.58);border:1px solid rgba(0,88,83,.14)}
.quick-submenu a:hover,.quick-submenu a:focus-visible{background:#fff;text-decoration:underline}
.quick-editor-row-with-parent{grid-template-columns:minmax(160px,1fr) minmax(220px,1.3fr) minmax(180px,1fr) auto!important}

@media (max-width:900px){
  .catering-admin-grid{grid-template-columns:1fr}
  .catering-pdf-frame{min-height:600px}
  .quick-editor-row-with-parent{grid-template-columns:1fr!important}
}
@media (max-width:760px){
  .catering-file-row,.catering-menu-heading{align-items:flex-start;flex-direction:column}
  .catering-file-actions{width:100%}
  .catering-pdf-frame{display:none}
  .catering-pdf-mobile-link{display:block!important}
  .catering-pdf-mobile-link .button{width:100%;text-align:center}
  .quick-link-with-children{min-height:auto}
  .quick-submenu{grid-column:1/-1}
}

/* v3.7: scheduled catering menus, button contrast fix and mobile CMS navigation */
.admin-nav-toggle{display:none;border:2px solid var(--beige);background:transparent;color:var(--beige);min-height:38px;padding:.42rem .7rem;font-weight:700;cursor:pointer}

.catering-week-summary{display:grid;gap:.35rem;padding:.9rem 1rem;border-left:5px solid var(--green);background:#f6faf7}.catering-week-summary .eyebrow{margin:0}.catering-week-summary>.status{justify-self:start}
.catering-current-picker{padding:1rem;border:1px solid var(--line);background:#f8fbfa}.catering-current-picker .button{justify-self:start}
.catering-file-row.is-current{border-color:var(--green);box-shadow:0 0 0 2px rgba(0,88,83,.08)}
.catering-file-info{min-width:0;flex:1}.catering-file-name{display:block;margin-top:.35rem;overflow-wrap:anywhere}.catering-file-status-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.catering-file-controls{display:grid;gap:.65rem;justify-items:end;min-width:min(100%,350px)}
.catering-week-form{display:grid!important;grid-template-columns:minmax(155px,1fr) auto;gap:.5rem!important;align-items:end;width:100%}.catering-week-form label{min-width:0}.catering-week-form input{padding:.5rem .6rem}.catering-retention-note{padding:.7rem .8rem;background:var(--beige);border-left:4px solid var(--yellow)}

.catering-public-title-row{display:flex;align-items:end;justify-content:space-between;gap:1rem}.catering-public-title-row h2{margin:0}.catering-current-week-label{font-size:.9rem;font-weight:700;color:var(--green);background:var(--beige);padding:.45rem .65rem;border:1px solid var(--line)}
.catering-menu-heading .status{justify-self:start;margin-bottom:.25rem}.catering-no-current{margin-top:1rem;padding:1rem 1.1rem;background:var(--beige);border-left:5px solid var(--yellow)}.catering-no-current p{margin:.25rem 0 0}
.catering-menu-section{margin-top:1.7rem}.catering-menu-link-list{display:grid;gap:.55rem;margin-top:.75rem}.catering-menu-link-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem!important;margin:0!important;border:1px solid var(--line);background:#fff;color:var(--green)!important;text-decoration:none}.catering-menu-link-card:hover,.catering-menu-link-card:focus-visible{background:#fff8cf!important;color:var(--green-dark)!important}.catering-menu-link-card>span{display:grid;gap:.1rem;min-width:0}.catering-menu-link-card small{color:var(--muted);font-weight:400;overflow-wrap:anywhere}.catering-menu-link-card b{font-size:1.2rem;flex:0 0 auto}
.catering-menu-archive{margin-top:1.5rem;border:1px solid var(--line);background:#fff}.catering-menu-archive summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;cursor:pointer;font-weight:700;color:var(--green)}.catering-menu-archive summary:hover,.catering-menu-archive summary:focus-visible{background:var(--beige)}.catering-menu-archive summary span{display:inline-grid;place-items:center;min-width:2em;height:2em;border-radius:999px;background:var(--beige);font-size:.78rem}.catering-menu-archive[open] summary{border-bottom:1px solid var(--line)}.catering-menu-archive .catering-menu-link-list{padding:.75rem;margin:0}.catering-unscheduled-menus>.help{padding:.75rem .9rem 0;margin:0!important}

@media (max-width:1000px){
  .admin-header-inner{position:relative}.admin-nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.admin-header .logout-form{margin-left:0}
  .admin-nav{display:none;position:fixed;top:70px;left:0;right:0;z-index:39;max-height:calc(100vh - 70px);overflow:auto;background:var(--green-dark);border-top:1px solid rgba(255,255,255,.18);box-shadow:0 14px 28px rgba(0,0,0,.18);padding:.5rem 1rem 1rem;flex-direction:column;align-items:stretch;gap:0}
  .admin-nav.is-open{display:flex}.admin-nav a{display:block;padding:.72rem .8rem;border-bottom:1px solid rgba(255,255,255,.12);font-size:1rem}.admin-nav a:hover,.admin-nav a:focus-visible{background:rgba(255,255,255,.1)}
}
@media (max-width:760px){
  .catering-public-title-row{align-items:flex-start;flex-direction:column}.catering-current-week-label{font-size:.84rem}.catering-week-form{grid-template-columns:1fr}.catering-file-controls{width:100%;min-width:0;justify-items:stretch}.catering-file-actions .button{flex:1 1 145px}.catering-current-picker .button{width:100%}
  /* Keep long PDF names readable when the file card stacks on phones. */
  .catering-file-row{align-items:stretch}
  .catering-file-info{width:100%;max-width:100%}
  .catering-file-name{overflow-wrap:break-word;word-break:normal}
}
@media (max-width:420px){.admin-nav-toggle{padding:.38rem .55rem}.admin-header-inner{gap:.55rem}.admin-header .button-small{padding:.36rem .55rem}}


/* v3.7.2: Toitlustaja admin is menu-first and full-width. */
.catering-admin-stack{display:grid;gap:1rem}
.catering-menu-card{display:grid;gap:1rem}
.catering-menu-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.catering-menu-tools>.catering-upload-form,.catering-menu-tools>.catering-current-picker{height:100%;align-content:start}
.catering-file-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:1.25rem}
.catering-file-info{width:100%;max-width:100%;min-width:0}
.catering-file-name{max-width:100%;overflow-wrap:break-word;word-break:normal}
.catering-file-controls{width:100%;min-width:0;justify-items:stretch}

.catering-content-details{display:block!important;padding:0;overflow:hidden}
.catering-content-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none;color:var(--green-dark)}
.catering-content-details>summary::-webkit-details-marker{display:none}
.catering-content-details>summary>span:first-child{display:grid;gap:.2rem;min-width:0}
.catering-content-details>summary>span:first-child>strong{font-size:1.15rem}
.catering-content-details>summary small{color:var(--muted);font-weight:400}
.catering-content-details>summary:after{content:"Ava ▾";font-size:.82rem;font-weight:700;color:var(--green);white-space:nowrap}
.catering-content-details[open]>summary:after{content:"Sulge ▴"}
.catering-content-details>summary:hover,.catering-content-details>summary:focus-visible{background:var(--beige)}
.catering-content-details-body{display:grid;gap:1rem;padding:1.25rem;border-top:1px solid var(--line)}
.catering-content-details-body>.help:first-child{margin-top:0}

@media (max-width:900px){
  .catering-menu-tools{grid-template-columns:1fr}
  .catering-file-row{grid-template-columns:1fr}
}
@media (max-width:560px){
  .catering-content-details>summary{align-items:flex-start;flex-wrap:wrap}
  .catering-content-details>summary:after{margin-left:auto}
}


/* v3.8 editor modal + privacy details */
.prose figure{margin:1.5rem 0}
.prose figure>img,.prose figure>video{margin:0}
.prose figcaption{margin-top:.55rem;color:var(--muted);font-size:.94rem;line-height:1.45}
.privacy-cookie-page code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--beige);padding:.08em .28em;border-radius:4px}
.editor-dialog{width:min(620px,calc(100vw - 2rem));max-height:min(82vh,760px);padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(0,30,28,.26)}
.editor-dialog::backdrop{background:rgba(0,30,28,.48);backdrop-filter:blur(2px)}
.editor-dialog-form{display:flex;flex-direction:column;max-height:inherit}
.editor-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem .95rem;border-bottom:1px solid var(--line);background:var(--beige)}
.editor-dialog-head h2{margin:.2rem 0 0;font-size:1.55rem}
.editor-dialog-close{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green-dark);font-size:1.55rem;line-height:1;cursor:pointer}
.editor-dialog-body{display:grid;gap:1rem;padding:1.25rem 1.35rem;overflow:auto}
.editor-dialog-field{display:grid;gap:.38rem;font-weight:700}
.editor-dialog-label{display:block}
.editor-dialog-field input,.editor-dialog-field select,.editor-dialog-field textarea{width:100%;min-width:0;border:1px solid #aab8b6;background:#fff;padding:.72rem .78rem;color:var(--ink);font:inherit}
.editor-dialog-field input:focus,.editor-dialog-field select:focus,.editor-dialog-field textarea:focus{outline:2px solid rgba(0,88,83,.18);border-color:var(--green)}
.editor-dialog-field .help{font-weight:400}
.editor-dialog-check{display:flex;align-items:flex-start;gap:.5rem;font-weight:700}
.editor-dialog-check input{margin-top:.2rem}
.editor-dialog-message{margin:1.25rem 1.35rem 0;padding:.9rem 1rem;background:var(--beige);border-left:4px solid var(--green);line-height:1.5}
.editor-dialog-actions{display:flex;align-items:center;gap:.65rem;padding:1rem 1.35rem 1.25rem;border-top:1px solid var(--line)}
.editor-dialog-spacer{flex:1}
.button-danger-soft{color:#8c2424!important;border-color:#d8adad!important;background:#fff7f7!important}
.content-visual-editor a{cursor:pointer}
.content-visual-editor a:hover{outline:2px solid rgba(0,88,83,.25);outline-offset:2px}
.auth-session-note{max-width:42ch;margin:.75rem 0 0}
@media(max-width:600px){.editor-dialog{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);border-radius:12px}.editor-dialog-head,.editor-dialog-body,.editor-dialog-actions{padding-left:1rem;padding-right:1rem}.editor-dialog-actions{flex-wrap:wrap}.editor-dialog-spacer{display:none}.editor-dialog-actions .button{flex:1 1 auto}.editor-dialog-secondary{order:3;flex-basis:100%!important}}

/* v3.8.2: settings layout + Meta diagnostics */
.settings-grid{align-items:start}
.settings-grid>.admin-card{align-content:start;min-width:0}
.settings-grid>.admin-card>h2{font-size:clamp(1.65rem,2.2vw,2.25rem);margin-bottom:.1rem}
.settings-grid>.admin-card>.help:first-of-type{margin-top:0}
.settings-social{scroll-margin-top:90px}
.social-diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.integration-card{display:grid;gap:.9rem;align-content:start;padding:1rem;border:1px solid var(--line);background:#fbfdfb;min-width:0}
.integration-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.integration-card-head h3{margin:0;font-size:1.45rem}
.integration-card-head .eyebrow{margin-bottom:.1rem}
.integration-meta{display:grid;gap:.45rem;margin:0}
.integration-meta>div{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(0,1.35fr);gap:.75rem;padding:.45rem 0;border-bottom:1px solid rgba(0,88,83,.09)}
.integration-meta dt{font-weight:700;color:var(--muted);font-size:.84rem}
.integration-meta dd{margin:0;overflow-wrap:anywhere}
.integration-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.integration-result{display:grid;gap:.45rem;padding:.85rem 1rem;border-left:5px solid var(--green);background:#f3faf1}
.integration-result-error{border-color:var(--coral);background:#fff4f0}
.integration-result p{margin:0}
.integration-result .help{margin:0}
.integration-checks{display:grid;gap:.5rem;margin-top:.2rem}
.integration-check{display:grid;gap:.12rem;padding:.55rem .65rem;background:#fff;border:1px solid var(--line)}
.integration-check>span{font-size:.8rem;color:var(--muted)}
.integration-check>small{overflow-wrap:anywhere}
@media(max-width:900px){.social-diagnostic-grid{grid-template-columns:1fr}}
@media(max-width:560px){.integration-meta>div{grid-template-columns:1fr;gap:.08rem}.integration-card-head{align-items:flex-start;flex-direction:column}.integration-actions .button{width:100%}}


/* v3.9.0: contextual hero banners on pages/posts, reusable quick links and SEO support */
.page-hero,.article-header{position:relative;overflow:hidden}
.contextual-hero{background:var(--beige);padding:clamp(2.85rem,7vw,5.5rem) 0;color:var(--green-dark);isolation:isolate}
.contextual-hero .meta,.contextual-hero .article-lead,.contextual-hero .page-updated{color:rgba(0,56,53,.9)}
.contextual-hero h1{max-width:min(22ch,100%);text-wrap:balance;font-size:clamp(2.2rem,4.8vw,4.4rem);line-height:.98;position:relative;z-index:2}
.contextual-hero .article-lead,.contextual-hero p{position:relative;z-index:2}
.contextual-hero .back-link{position:relative;z-index:2;color:var(--green-dark)}
.contextual-hero-has-media{background:var(--beige)}
.contextual-hero-has-media .contextual-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.contextual-hero-has-media .contextual-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:blur(7px) saturate(.88) brightness(1.06);transform:scale(1.06)}
.contextual-hero-has-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(241,234,221,.85),rgba(241,234,221,.93));backdrop-filter:blur(1px)}
.contextual-hero-has-media:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(0,88,83,.16),rgba(255,255,255,0) 55%,rgba(0,88,83,.08))}
.contextual-hero-inner{position:relative;z-index:2}
.contextual-quick-strip{border-top:1px solid rgba(0,88,83,.08)}
.article-image-wrap{margin-top:clamp(-1.25rem,-2vw,-2rem)}
@media (max-width:1000px){.contextual-hero h1{max-width:min(24ch,100%)}}
@media (max-width:760px){.contextual-hero{padding:2.35rem 0 2.15rem}.contextual-hero h1{max-width:100%;font-size:clamp(1.95rem,10vw,3rem)}.contextual-hero .meta,.contextual-hero .article-lead,.contextual-hero .page-updated{font-size:.98rem}}
