/*
Theme Name: Studenti Opovo
Author: Nikola Kucin
Description: Custom tema sa Justicijom, tri jezika, svetlom/tamnom temom i privatnim prijavama građana.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: studenti-opovo
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --accent:#a81a32;
  --accent-hover:#bf2542;
  --accent-on:#ffffff;
  --radius:13px;
  --max:1190px;
  --easing:cubic-bezier(.2,.8,.2,1);
}
:root,[data-theme="dark"] {
  color-scheme:dark;
  --bg:#0b1014; --bg-2:#0d1318; --bg-3:#10171c;
  --surface:#171e24; --surface-2:#1b252c;
  --text:#f7f8fa; --muted:#aeb8c1; --faint:#8d98a3;
  --border:#263039; --header-bg:rgba(10,14,18,.91);
  --card-shadow:0 18px 38px rgba(0,0,0,.22);
  --problem:linear-gradient(120deg,#47131d 0%,#301017 61%,#241219 100%);
  --idea:linear-gradient(115deg,#1d242d 0%,#171d25 65%,#1b262e 100%);
  --hero-left:rgba(8,12,15,.99);
  --hero-mid:rgba(8,12,15,.96);
  --hero-fade:rgba(8,12,15,.53);
  --hero-bottom:rgba(8,12,15,.36);
  --hero-text:#ffffff; --hero-muted:#d0d5da;
  --photo-filter:grayscale(1) brightness(.71);
  --tile-overlay:rgba(5,9,12,.74);
  --stat-line:#3b262d;
  --news-link:#f34a66;
}
[data-theme="light"] {
  color-scheme:light;
  --bg:#f7f2ea; --bg-2:#f2ece3; --bg-3:#fbf7f1;
  --surface:#fffdfa; --surface-2:#fffaf5;
  --text:#21242a; --muted:#5c646a; --faint:#737b82;
  --border:#e3dbd0; --header-bg:rgba(247,242,234,.94);
  --card-shadow:0 16px 42px rgba(73,51,49,.085);
  --problem:linear-gradient(118deg,#fff9f7 0%,#f9e7e5 100%);
  --idea:linear-gradient(118deg,#fffdf9 0%,#f1efed 100%);
  --hero-left:rgba(247,242,234,.99);
  --hero-mid:rgba(247,242,234,.96);
  --hero-fade:rgba(247,242,234,.64);
  --hero-bottom:rgba(247,242,234,.20);
  --hero-text:#1d2228; --hero-muted:#525a63;
  --photo-filter:grayscale(.45) brightness(.94);
  --tile-overlay:rgba(24,20,20,.48);
  --stat-line:#dec7c9;
  --news-link:#a81a32;
}
*, *::before, *::after { box-sizing:border-box; }
html {scroll-behavior:smooth; scroll-padding-top:85px; }
body {margin:0; background:var(--bg); color:var(--text); font-family:'Roboto',Arial,sans-serif; font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; transition:background-color .3s,color .3s; }
a {text-decoration:none;color:inherit;} button,input,textarea,select {font:inherit;} button {cursor:pointer;}
.container {width:min(var(--max),calc(100% - 88px)); margin-inline:auto;}
.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;}
:where(button,a,input,select,textarea):focus-visible {outline:3px solid #ea5d74;outline-offset:4px;}
/* Top navigation belongs to the same theme as the entire page. */
.site-header {position:absolute;top:0;left:0;right:0;z-index:30;transition:background .25s,border-color .25s;}
.site-header.is-scrolled {position:fixed;background:var(--header-bg);border-bottom:1px solid var(--border);backdrop-filter:blur(18px);box-shadow:0 5px 20px rgba(0,0,0,.07);}
.nav-wrap {display:flex;align-items:center;gap:28px;min-height:88px;}
.brand {display:flex;align-items:center;gap:11px;flex-shrink:0;font-size:17px;font-weight:850;line-height:1.03;letter-spacing:-.015em;color:var(--hero-text);}
.site-header.is-scrolled .brand {color:var(--text);}
.brand-heart {width:42px;height:49px;display:inline-block;flex-shrink:0;color:var(--accent);}
.brand-heart svg{width:100%;height:100%;}
.brand-name>span{display:block;color:var(--accent-hover)}
.nav {margin-left:auto;display:flex;align-items:center;gap:clamp(13px,1.5vw,24px);font-size:13px;font-weight:600;white-space:nowrap;color:var(--hero-text);}
.site-header.is-scrolled .nav {color:var(--text);}
.nav a {position:relative;padding:14px 0;transition:color .2s;}
.nav a:hover {color:var(--accent-hover);}
.nav a.active::after {content:'';position:absolute;bottom:8px;left:0;right:0;height:2px;background:var(--accent);}
.nav-utilities {display:flex;align-items:center;gap:11px;flex-shrink:0;margin-left:3px;}
.theme-toggle {position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(150,150,150,.38);background:rgba(80,75,75,.10);color:var(--hero-text);transition:background .2s,transform .2s;}
.site-header.is-scrolled .theme-toggle {background:var(--surface);color:var(--text);border-color:var(--border);}
.theme-toggle:hover {transform:rotate(15deg);background:rgba(168,26,50,.14)}
.theme-toggle svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .moon-icon,[data-theme="light"] .sun-icon {display:none;}
.btn {min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 21px;border:1px solid var(--accent);border-radius:9px;letter-spacing:.002em;font-size:13px;line-height:1.2;font-weight:750;transition:transform .2s var(--easing),background .2s,border-color .2s;}
.btn:hover{transform:translateY(-2px)}
.btn.primary {background:var(--accent);color:white;}
.btn.primary:hover {background:var(--accent-hover);border-color:var(--accent-hover)}
.btn.secondary {background:transparent;color:var(--text);}
.btn.secondary:hover {background:rgba(168,26,50,.10);}
.btn svg{width:17px;height:17px;flex-shrink:0;}
.nav-join {min-height:39px;padding:9px 16px;border-radius:7px;font-size:12px;}
.menu-toggle {display:none;min-width:40px;height:40px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;font-size:23px;line-height:1;}
.mobile-join {display:none;}
/* Full-bleed original user photo (unaltered pixels; cover only crops, never stretches). */
.hero {position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;overflow:hidden;background:var(--bg);color:var(--hero-text);}
.hero-photo {position:absolute;inset:0;z-index:-2;background-image:none;background-position:right center;background-repeat:no-repeat;background-size:auto 145%;background-color:transparent;-webkit-mask-image:linear-gradient(90deg,transparent 20%,black 62%);mask-image:linear-gradient(90deg,transparent 20%,black 62%);}
.hero::before {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--hero-left) 0%,var(--hero-mid) 24%,var(--hero-fade) 57%,rgba(0,0,0,0) 100%),linear-gradient(0deg,var(--hero-bottom),transparent 35%);pointer-events:none;}
.hero .container {position:relative;z-index:1;}
.hero-content {padding:145px 0 100px;max-width:565px;}
.hero h1 {font-weight:900;font-size:clamp(54px,5.45vw,78px);line-height:.99;letter-spacing:-.036em;margin:0 0 21px;}
.accent {color:var(--accent-hover);}
.hero h1 .accent {color:#c12341;}
.hero-copy {color:var(--hero-muted);font-size:16px;line-height:1.54;max-width:465px;margin:0;}
.hero-actions {display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 18px;}
.hero .secondary {color:var(--hero-text);background:rgba(10,12,15,.08)}
.hero-note {font-size:13px;color:var(--hero-muted);margin:0;}
/* One token-based color system drives every section. */
.section {padding:112px 0;}
.section--actions {background:var(--bg-2);}
.action-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;}
.action-card {position:relative;min-height:282px;display:block;overflow:hidden;border-radius:var(--radius);background:var(--problem);box-shadow:var(--card-shadow);border:1px solid var(--border);padding:39px 44px;transition:transform .25s var(--easing),box-shadow .25s;}
.action-card:hover {transform:translateY(-5px);box-shadow:0 26px 48px rgba(0,0,0,.13)}
.action-card.idea {background:var(--idea);}
.card-copy{position:relative;z-index:2;max-width:320px;}
.eyebrow {display:block;color:var(--faint);font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase;margin:0 0 14px;}
.action-card h3 {font-size:30px;line-height:1.09;letter-spacing:-.02em;margin:0 0 22px;font-weight:850;}
.action-card p{color:var(--muted);font-size:14px;line-height:1.55;max-width:285px;margin:0;}
.action-card .action-art {position:absolute;right:25px;top:63px;width:125px;height:125px;opacity:.85;pointer-events:none;}
.action-card.problem .action-art {color:#bc233f;filter:drop-shadow(0 8px 20px rgba(168,26,50,.18));}
.action-card.idea .action-art {color:#ffb75c;filter:drop-shadow(0 0 18px rgba(250,167,57,.35));}
[data-theme="light"] .action-card .action-art{opacity:.78;}
.action-card .action-art svg{width:100%;height:100%;}
.circle-arrow {position:absolute;right:27px;bottom:25px;display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:var(--accent);color:white;box-shadow:0 8px 16px rgba(168,26,50,.17);font-size:28px;font-weight:400;}
/* Equally represented settlements. */
.section--villages {background:var(--bg);}
.section-heading {display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:32px;}
.section-heading h2,.impact h2,.news-heading h2 {font-size:clamp(33px,3.8vw,52px);font-weight:850;line-height:1.05;letter-spacing:-.032em;margin:0;}
.section-heading p {max-width:430px;margin:0 0 2px;color:var(--muted);font-size:15px;line-height:1.65;}
.village-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.village {display:block;position:relative;min-height:230px;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:var(--card-shadow);}
.village>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:var(--photo-filter);transition:transform .4s var(--easing),filter .3s;}
.village:hover>img {transform:scale(1.045);filter:grayscale(.1) brightness(.86)}
.village::after {content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,var(--tile-overlay));}
.village strong{position:absolute;bottom:18px;left:18px;z-index:2;color:white;font-size:19px;}
.village .circle-arrow{z-index:2;bottom:12px;right:12px;width:36px;height:36px;font-size:22px;}
/* No dark-only exceptions: the switcher affects this block, too. */
.section--impact {background:var(--bg-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.impact h2{margin-bottom:20px;}
.impact p{margin:0;color:var(--muted);max-width:520px;font-size:16px;}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:50px;padding:32px 0 0;border-top:1px solid var(--border);}
.stat{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:110px;border-right:1px solid var(--stat-line);}
.stat:last-child{border-right:0;}
.stat strong{font-size:48px;font-weight:850;letter-spacing:-.05em;line-height:1.1;}
.stat span {font-size:14px;color:var(--muted);margin-top:3px;}
.stat svg{width:50px;height:50px;fill:currentColor;}
/* Editorial-style articles. */
.section--news {background:var(--bg-2);}
.news-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px;}
.news-heading h2{font-size:clamp(32px,3.35vw,46px);}
.text-link{font-size:13px;color:var(--news-link);font-weight:800;white-space:nowrap;}
.text-link:hover{text-decoration:underline;text-underline-offset:3px;}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;}
.news-card{overflow:hidden;background:var(--surface);border-radius:10px;border:1px solid var(--border);box-shadow:var(--card-shadow);}
.news-card img{display:block;width:100%;height:182px;object-fit:cover;}
.news-content{padding:23px 22px 26px;}
.news-date{font-size:12px;color:var(--faint);}
.news-card h3{font-size:19px;line-height:1.26;font-weight:800;min-height:48px;margin:10px 0 13px;}
.news-card p{font-size:14px;color:var(--muted);line-height:1.52;min-height:68px;margin:0 0 19px;}
/* The final CTA and footer follow whichever theme is active. */
.join{padding:101px 0 108px;text-align:center;background:var(--bg-3);border-top:1px solid var(--border);}
.join .eyebrow{margin-bottom:12px;}
.join h2{font-size:clamp(33px,3.7vw,49px);font-weight:850;line-height:1.08;letter-spacing:-.03em;margin:0 0 14px;}
.join p{margin:0 auto;max-width:360px;color:var(--muted);font-size:16px;line-height:1.55;}
.join-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:27px;}
.join .btn{min-width:208px;}
footer{background:var(--bg);border-top:1px solid var(--border);padding:54px 0 28px;}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:38px;}
footer .brand{color:var(--text);}
.footer-nav{display:flex;flex-wrap:wrap;gap:21px;font-size:12px;font-weight:650;}
.footer-nav a:hover,.socials a:hover{color:var(--accent-hover);}
.socials{display:flex;gap:17px;align-items:center;}
.socials a{display:grid;place-items:center;font-size:21px;font-weight:800;min-width:22px;min-height:22px;}
.socials svg{width:20px;height:20px;fill:currentColor;}
.footer-bottom{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;padding-top:19px;color:var(--faint);font-size:12px;}
/* Prepared accessible forms for a future server integration. */
dialog{width:min(570px,calc(100vw - 32px));border:1px solid var(--border);border-radius:16px;padding:0;background:var(--surface);color:var(--text);box-shadow:0 35px 100px rgba(0,0,0,.5);}
dialog::backdrop{background:rgba(4,8,11,.7);backdrop-filter:blur(5px);}
.dialog-inner{padding:35px;}
.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
.dialog-top h2{font-size:30px;line-height:1.1;margin:0 0 9px;}
.dialog-close{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:24px;line-height:1;width:37px;height:37px;}
.dialog-desc{font-size:14px;color:var(--muted);margin:0 0 22px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12px;font-weight:700;}
.field :is(input,select,textarea){width:100%;border:1px solid var(--border);background:var(--bg-3);color:var(--text);padding:10px 12px;border-radius:8px;}
.field textarea{resize:vertical;min-height:118px;}
.form-notice{font-size:12px;color:var(--muted);padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;margin-bottom:14px;}
.form-submit{width:100%;}
@media (max-width:1160px){
  .container{width:min(1100px,calc(100% - 64px));}
  .nav-wrap{gap:15px;}
  .nav{gap:13px;font-size:12px;}
  .brand{font-size:16px;}
  .nav-join{padding-inline:12px;}
}
@media (max-width:990px){
  .nav{gap:10px;font-size:11px;}
  .nav-wrap{gap:12px;}
  .brand-heart{width:34px;height:41px;}
  .nav-join{display:none;}
  .action-card{padding:34px 27px;}
  .action-card .action-art{right:9px;opacity:.45;}
  .card-copy{max-width:290px;}
}
@media (max-width:760px){
  .container{width:min(600px,calc(100% - 36px));}
  .nav-wrap{min-height:73px;}
  .nav{display:none;position:absolute;top:73px;left:0;right:0;padding:16px 24px 23px;flex-direction:column;align-items:stretch;gap:3px;background:var(--header-bg);color:var(--text);border-bottom:1px solid var(--border);backdrop-filter:blur(15px);font-size:14px;}
  .nav.open{display:flex;}
  .nav a{padding:10px 0;}
  .nav a.active::after{bottom:5px;width:54px;right:auto;}
  .mobile-join{display:block;margin-top:8px;color:var(--accent-hover);font-weight:750;}
  .site-header.is-scrolled .nav{color:var(--text);}
  .nav-utilities{margin-left:auto;}
  .menu-toggle{display:grid;place-items:center;}
  .hero{min-height:735px;align-items:stretch;}
  .hero-photo{background-position:right -110px bottom;background-size:auto 95%;}
  .hero::before{background:linear-gradient(180deg,var(--hero-left) 0%,var(--hero-mid) 28%,var(--hero-fade) 61%,rgba(0,0,0,.04) 100%);}
  .hero-content{padding:124px 0 40px;max-width:560px;}
  .hero h1{font-size:clamp(47px,10.9vw,69px);}
  .hero-copy{font-size:14px;max-width:360px;}
  .section{padding:76px 0;}
  .action-grid{grid-template-columns:1fr;gap:18px;}
  .action-card{min-height:248px;padding:33px;}
  .action-card .action-art{opacity:.65;right:20px;}
  .section-heading{grid-template-columns:1fr;gap:15px;}
  .section-heading p{max-width:540px;}
  .village-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .village{min-height:200px;}
  .stat-grid{grid-template-columns:repeat(2,1fr);gap:22px 0;}
  .stat:nth-child(2){border-right:0;}
  .news-grid{grid-template-columns:1fr;gap:18px;}
  .news-card{display:grid;grid-template-columns:40% 1fr;}
  .news-card img{height:100%;min-height:230px;}
  .news-card h3,.news-card p{min-height:0;}
  .footer-row{align-items:flex-start;flex-wrap:wrap;}
  .footer-nav{order:3;width:100%;gap:14px;}
}
@media (max-width:470px){
  .hero{min-height:700px;}
  .hero h1{font-size:clamp(43px,12vw,55px);}
  .hero-copy{max-width:335px;}
  .hero-actions{gap:9px;}
  .hero-actions .btn{font-size:12px;padding:11px 14px;}
  .hero-note{font-size:12px;}
  .action-card{padding:28px 24px;min-height:244px;}
  .action-card h3{font-size:26px;}
  .action-card p{max-width:240px;font-size:13px;}
  .action-card .action-art{width:87px;height:87px;right:10px;top:70px;opacity:.44;}
  .section-heading h2,.impact h2,.news-heading h2{font-size:34px;}
  .village{min-height:157px;}
  .village strong{font-size:15px;left:11px;bottom:14px;}
  .village .circle-arrow{width:30px;height:30px;right:8px;bottom:9px;}
  .news-heading{align-items:flex-start;}
  .news-heading .text-link{margin-top:5px;}
  .news-card{display:block;}
  .news-card img{height:175px;min-height:0;}
  .stat strong{font-size:40px;}
  .join{padding:82px 0;}
  .join-buttons .btn{min-width:240px;}
  .footer-bottom{flex-direction:column;gap:6px;}
  .form-grid{display:block;}
  .dialog-inner{padding:24px;}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important;transition-duration:.001ms !important;animation-duration:.001ms !important;}}

/* Revised full-width photo treatment and illustrated action cards. */
.hero-photo{background-size:cover;background-position:center 48%;-webkit-mask-image:none;mask-image:none;}
[data-theme="light"]{--hero-left:rgba(247,242,234,.88);--hero-mid:rgba(247,242,234,.78);--hero-fade:rgba(247,242,234,.12);--hero-bottom:rgba(247,242,234,.08);--photo-filter:none;}
[data-theme="dark"]{--photo-filter:brightness(.88);}
.hero::before{background:linear-gradient(90deg,var(--hero-left) 0%,var(--hero-mid) 27%,var(--hero-fade) 64%,transparent 100%),linear-gradient(0deg,var(--hero-bottom),transparent 32%);}
.action-card.problem{background:linear-gradient(90deg,rgba(55,3,9,.25),transparent),url('assets/problem.webp') center/cover;}
.action-card.idea{background:linear-gradient(90deg,rgba(8,14,18,.4),transparent),url('assets/idea.webp') center/cover;}
.action-card,.action-card h3{color:#fff;}
.action-card .eyebrow{color:#dbd6d7;}
.action-card p{color:#e0dcdd;max-width:76%;}
.card-copy{max-width:100%;}
.action-card h3{font-size:30px;}
.village>img{object-position:center 40%;}
.photo-credits{margin-top:22px;color:var(--faint);font-size:11px;}
.photo-credits a{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:760px){.hero-photo{background-size:cover;background-position:60% center;}.hero::before{background:linear-gradient(90deg,var(--hero-left),var(--hero-mid) 45%,var(--hero-fade));}.action-card p{max-width:73%;}.action-card h3{font-size:28px;}}
@media(max-width:470px){.action-card h3{font-size:25px;}.action-card p{max-width:76%;}.hero-photo{background-position:58% center;}}
[data-theme="light"] .site-header{background:rgba(247,242,234,.93);backdrop-filter:blur(12px);}

.bulb-icon{display:inline-block;width:18px;height:18px;vertical-align:middle;flex-shrink:0;}
.language-select{width:62px;height:38px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:12px;font-weight:700;padding:6px;}
.hero{background:#0b1014;--hero-text:#fff;--hero-muted:#e0e2e4;}
.hero-photo{inset:0 0 0 46%;background-size:auto 100%;background-position:right center;background-color:#0b1014;-webkit-mask-image:linear-gradient(90deg,transparent,black 27%);mask-image:linear-gradient(90deg,transparent,black 27%);}
.hero::before{background:linear-gradient(90deg,#0b1014 0%,rgba(11,16,20,.93) 25%,rgba(11,16,20,.35) 55%,transparent 80%),linear-gradient(0deg,rgba(11,16,20,.28),transparent 30%);}
.hero .secondary{color:#fff;background:rgba(11,16,20,.3);}
.hero h1 .accent{color:#ed4764;}
[data-theme="light"] .hero{--hero-text:#fff;--hero-muted:#e0e2e4;}
[data-theme="light"] .hero::after{content:'';position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,var(--bg-2));pointer-events:none;}
#attachmentList{padding-left:18px;margin:0;font-size:12px;overflow-wrap:anywhere;}#attachmentStatus{margin:0;font-size:12px;color:var(--accent-hover);}#attachmentHelp{font-size:12px;color:var(--muted);}
@media(max-width:1100px){.nav{gap:10px;font-size:11px;}.nav-wrap{gap:12px;}.nav-join{display:none;}}
@media(max-width:760px){.hero-photo{inset:0;background-size:auto 85%;background-position:right bottom;mask-image:linear-gradient(180deg,transparent,black 35%);}.hero::before{background:linear-gradient(180deg,#0b1014 0%,rgba(11,16,20,.86) 35%,rgba(11,16,20,.3) 75%);}.nav-utilities{gap:7px;}.language-select{width:58px;}}

/* Full-width original portrait, with no cropping or section fade. */
.hero{display:block;min-height:0;background:#0b1014;overflow:hidden;}
.hero-photo{display:block;position:relative;inset:auto;z-index:-2;width:100%;height:auto;max-width:none;object-fit:contain;background:none;-webkit-mask-image:none;mask-image:none;}
.hero::before{background:linear-gradient(90deg,rgba(5,10,14,.65) 0%,rgba(5,10,14,.38) 30%,rgba(5,10,14,.06) 67%,transparent 100%);}
.hero::after,[data-theme="light"] .hero::after{display:none;content:none;}
.hero>.container{position:absolute;inset:0 0 auto;margin-inline:auto;}
.hero-content{padding:160px 0 75px;}
.section--actions{border-top:0;}
@media(max-width:760px){
.hero{min-height:730px;}
.hero-photo{position:absolute;inset:auto 0 0;width:100%;height:auto;}
.hero::before{background:linear-gradient(180deg,#0b1014 0%,rgba(5,10,14,.86) 38%,rgba(5,10,14,.22) 76%,transparent 100%);}
.hero-content{padding:120px 0 45px;}
}

/* Compact, full-width hero; portrait is masked independently of text height. */
.hero{display:flex;align-items:center;min-height:690px;background:var(--bg);color:var(--text);--hero-text:var(--text);--hero-muted:var(--muted);}
[data-theme="light"] .hero{--hero-text:var(--text);--hero-muted:var(--muted);}
.hero>.container{position:relative;inset:auto;margin-inline:auto;}
.hero-content{padding:145px 0 85px;max-width:565px;}
.hero-photo{position:absolute;inset:0 0 auto auto;display:block;height:100%;width:auto;max-width:none;object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 13%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 13%,#000 32%);}
.hero::before{background:linear-gradient(90deg,var(--bg) 0%,transparent 60%);opacity:.18;}
.hero::after,[data-theme="light"] .hero::after{display:none;content:none;}
.hero .secondary{color:var(--text);background:transparent;}
.hero h1 .accent{color:var(--accent-hover);}
@media(max-width:760px){
.hero{min-height:735px;align-items:flex-start;}
.hero-content{padding:120px 0 65px;}
.hero-photo{inset:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 34%,#000 72%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.25) 34%,#000 72%);}
.hero::before{background:linear-gradient(180deg,var(--bg),transparent 85%);opacity:.65;}
.hero-content{max-width:560px;}
.hero-copy{max-width:360px;}
}

/* Architectural line illustration replaces the photographic hero. */
.hero{min-height:690px;}
.hero::before{display:none;}
.hero-illustration{position:absolute;right:1.5%;bottom:65px;width:55%;height:auto;max-height:75%;object-fit:contain;object-position:right center;pointer-events:none;opacity:.85;}
[data-theme="dark"] .hero-illustration{filter:invert(1);opacity:.8;}
.hero-content{max-width:520px;}
@media(min-width:761px) and (max-width:1100px){.hero-illustration{width:52%;right:0;}.hero-content{max-width:48%;}.hero h1{font-size:clamp(46px,5.5vw,64px);}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;min-height:0;align-items:stretch;}.hero>.container{order:0;}.hero-content{max-width:100%;padding:120px 0 25px;}.hero-illustration{order:1;position:relative;inset:auto;width:100%;height:auto;max-height:none;margin:0 auto 32px;padding:0 12px;}.hero-copy{max-width:440px;}}

/* Parchment map keeps its crimson and ink palette in both themes. */
.hero-illustration{width:57%;right:.5%;bottom:55px;max-height:80%;opacity:1;filter:none;}
[data-theme="dark"] .hero-illustration{filter:none;opacity:1;}
@media(min-width:761px) and (max-width:1100px){.hero-illustration{width:52%;right:0;}}
@media(max-width:760px){.hero-illustration{width:100%;right:auto;bottom:auto;max-height:none;margin:0 auto 30px;}}

/* Balanced hero columns share the same outer container margins. */
.hero>.container{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:18px;align-items:center;}
.hero-content{max-width:none;padding:145px 0 85px;position:relative;z-index:2;}
.hero-illustration{position:relative;inset:auto;display:block;width:calc(100% + 160px);height:auto;max-height:none;max-width:none;margin:60px 0 0 -160px;object-fit:contain;padding:0;filter:url(#map-feather);-webkit-mask-image:radial-gradient(ellipse at 58% 50%,#000 48%,rgba(0,0,0,.94) 62%,transparent 78%);mask-image:radial-gradient(ellipse at 58% 50%,#000 48%,rgba(0,0,0,.94) 62%,transparent 78%);}
[data-theme="dark"] .hero-illustration{filter:url(#map-feather);opacity:1;}
@media(min-width:761px) and (max-width:1100px){.hero>.container{grid-template-columns:1fr 1.06fr;gap:12px;}.hero-content{max-width:none;}.hero-illustration{width:calc(100% + 65px);margin-left:-65px;}}
@media(max-width:760px){.hero>.container{display:flex;flex-direction:column;gap:0;align-items:stretch;}.hero-content{padding:120px 0 20px;max-width:100%;}.hero-illustration{order:1;width:100%;margin:0 0 25px;padding:0;}}

/* Warm original photo, framed on its banner and crowd. */
.hero>.container{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:22px;}
.hero-crowd{position:relative;display:block;width:100%;height:565px;margin:70px 0 10px;object-fit:cover;object-position:center bottom;filter:sepia(.19) saturate(1.16) brightness(1.08);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 10%,#000 93%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;}
@media(min-width:761px) and (max-width:1100px){.hero-crowd{height:535px;object-fit:cover;}}
@media(max-width:760px){.hero-crowd{order:1;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center bottom;margin:0 0 25px;}.hero-content{padding-bottom:15px;}}
.hero-crowd{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 68%,rgba(0,0,0,.88) 78%,rgba(0,0,0,.35) 91%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 68%,rgba(0,0,0,.88) 78%,rgba(0,0,0,.35) 91%,transparent 100%);}

/* Double exposure lives inside the goddess silhouette; no oval image mask. */
.hero-justice{display:block;position:relative;width:100%;height:600px;object-fit:contain;object-position:center center;margin:85px 0 25px;filter:none;mask-image:none;-webkit-mask-image:none;}
@media(min-width:761px) and (max-width:1100px){.hero-justice{height:560px;margin-top:90px;}}
@media(max-width:760px){.hero-justice{order:1;width:100%;height:auto;max-height:620px;object-fit:contain;margin:0 0 25px;}}

body.admin-bar .site-header{top:32px;}@media(max-width:782px){body.admin-bar .site-header{top:46px;}}
.wp-content-area{padding:150px 0 80px;min-height:65vh;}.entry-content img{max-width:100%;height:auto;}.entry-content a{color:var(--accent-hover);text-decoration:underline;}.wp-pagination{margin:30px 0;}.so-status{padding:12px;border:1px solid var(--border);border-radius:8px;}.field input[type=checkbox]{width:auto;} .consent-line{display:flex;gap:9px;align-items:flex-start;font-size:12px;}.brand .custom-logo{width:auto;max-width:180px;max-height:60px;}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);}
