/*
Theme Name: KUKUZA
Version: 1.0.3
Requires at least: 6.7
Requires PHP: 8.2
Description: A bold public information and events theme for KUKUZA Kizazi Kipya.
Author: KUKUZA
License: GPL-2.0-or-later
Text Domain: kukuza
*/
@font-face{font-family:Bangers;src:url(assets/fonts/Bangers-Regular.ttf) format('truetype');font-display:swap}
:root{--red:#cb1326;--cream:#fff3db;--ink:#151311;--white:#fff;--line:2px solid var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--red) var(--cream)}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}::selection{color:var(--cream);background:var(--red)}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:3px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.02;text-wrap:balance}h1,h2,.poster-type,.art-caption,.footer-word,.screen-art strong{font-family:Bangers,sans-serif;font-weight:400;letter-spacing:.015em}h1{font-size:clamp(3.6rem,6.6vw,6rem)}h2{font-size:clamp(2.7rem,4.7vw,4.8rem)}h3{font-size:1.65rem;line-height:1.2}p{max-width:68ch}h1 span,h2 span{color:var(--red)}.skip{position:absolute;top:-100px;background:var(--cream);z-index:100;padding:12px}.skip:focus{top:0}.site-header{padding:18px 5%;display:flex;gap:28px;align-items:center;justify-content:space-between;border-bottom:var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:30px;font-weight:900;line-height:1}.brand img{width:49px;height:60px;object-fit:contain}.brand small{display:block;font-size:11px;letter-spacing:.2em;margin-top:9px}.nav-links{display:flex;list-style:none;gap:27px;padding:0;margin:0;font-size:15px;font-weight:700;flex-wrap:wrap}.nav-links a{text-decoration:none}.nav-links a:hover{text-decoration:underline}.button,button,input[type=submit]{display:inline-flex;gap:20px;justify-content:center;align-items:center;background:var(--red);color:white;border:2px solid var(--ink);padding:13px 24px;text-decoration:none;font-size:16px;font-weight:700;border-radius:0;cursor:pointer;min-height:48px}.button:hover,button:hover,input[type=submit]:hover{background:var(--ink);color:var(--cream)}.button.cream{background:var(--cream);color:var(--ink)}.button.cream:hover{background:var(--ink);color:var(--cream)}.text-link{font-weight:700}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:650px;background:var(--red);color:var(--cream);overflow:hidden;border-bottom:var(--line)}.hero-copy{padding:65px 0 70px 9%;position:relative;z-index:1}.hero h1{font-size:clamp(3.3rem,6.5vw,6rem);margin-bottom:30px;line-height:.99}.hero h1 span{color:var(--ink)}.hero p{max-width:420px;font-size:18px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:28px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:570px}.hero-disc{position:absolute;width:440px;height:440px;border-radius:50%;background:var(--cream);border:var(--line)}.hero-art>.hero-feather{position:relative;width:530px;max-width:none;height:530px;object-fit:contain;transform:rotate(12deg)}.art-caption{position:absolute;bottom:25px;right:10%;font-size:60px;line-height:.9;color:var(--cream);transform:rotate(-8deg);text-shadow:2px 2px var(--ink)}.statement-strip{display:flex;gap:30px;justify-content:space-around;padding:19px;background:var(--ink);color:var(--cream);font-size:14px;font-weight:800;letter-spacing:.06em}.section{padding:80px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;gap:30px;justify-content:space-between;align-items:end;margin-bottom:32px}.section-heading h2{margin:0}.empty{padding:36px 0;border-top:var(--line);border-bottom:var(--line)}.empty h3{font-family:Bangers;font-size:36px;margin-bottom:12px}.empty p:last-child{margin-bottom:0}.watch-band{background:var(--ink);color:var(--cream);padding:75px 6%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.watch-band h2 span,.watch-band h1 span{color:#ff5362}.watch-band p{max-width:500px}.fine{font-size:13px;line-height:1.6;margin-top:20px}.screen-art{border:2px solid var(--cream);padding:30px;background:var(--red);display:flex;flex-direction:column;gap:25px;transform:rotate(3deg);box-shadow:9px 9px 0 var(--cream)}.screen-art strong{font-size:clamp(32px,3.5vw,50px);line-height:1.05}.screen-label{font-size:12px;font-weight:700;letter-spacing:.12em}.play-symbol{font-size:38px;align-self:center;line-height:1.2}.screen-art>span:last-child{font-size:13px;border-top:1px solid var(--cream);padding-top:15px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-section h2{font-size:clamp(2.7rem,4.1vw,4.2rem);margin-bottom:0}.lead{font-size:24px;line-height:1.4}.signup-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:70px 6%;border-top:var(--line);background:#f2dfbe}.signup-section h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.site-footer{padding:50px 6% 20px;background:var(--ink);color:var(--cream)}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer-word{font-size:65px;text-decoration:none}.footer-top h2{font-family:Arial,sans-serif;font-size:17px;font-weight:700}.footer-top a{font-size:15px}.footer-top .footer-word{font-size:65px}.footer-top p{font-size:14px}.footer-bottom{margin-top:50px;padding-top:18px;border-top:1px solid #82796d;display:flex;justify-content:space-between;gap:15px;font-size:12px}.page-title{background:var(--red);color:var(--cream);padding:65px 6%;border-bottom:var(--line)}.page-title h1{max-width:1000px;margin-bottom:20px}.page-title p:last-child{margin-bottom:0}.page-content{max-width:1000px;min-height:300px}.page-content h2{font-size:42px;margin-top:40px}.page-content h3{margin-top:30px}.page-content p{max-width:72ch}.page-content li{margin-bottom:10px}.page-content .wp-block-image img{height:auto}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:35px}.event-card .poster{position:relative;background:var(--red);min-height:350px;display:flex;align-items:start;overflow:hidden;text-decoration:none;border:var(--line);padding:25px;color:var(--cream)}.poster>img:not(.poster-mark){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.poster-type{font-size:45px;line-height:1.02;max-width:80%;z-index:1}.poster-mark{position:absolute;width:230px;right:-35px;bottom:-20px;transform:rotate(15deg)}.sample{position:absolute;bottom:14px;left:14px;padding:5px 9px;font-size:12px;background:var(--cream);color:var(--ink);font-weight:bold;z-index:2}.event-info{padding:20px 0}.event-date{font-size:13px;font-weight:bold;margin-bottom:12px}.event-info h3 a{text-decoration:none}.event-info p{font-size:14px;margin-bottom:8px}.event-info .status{display:inline-block;border:1px solid;padding:2px 9px;font-size:12px}.event-full-poster{max-height:700px;width:auto}.archive-section{border-top:var(--line)}.news-list article{padding:25px 0;border-bottom:var(--line)}.news-list h2{font-size:40px}.news-list article>p:first-child{font-size:14px}.sample-inline{border:2px solid;padding:12px;display:inline-block;font-weight:bold}.kukuza-form,.kz-form{max-width:560px}.kukuza-form label,.kz-form label{display:block;font-weight:bold;margin:15px 0 7px}input:not([type=checkbox]):not([type=submit]),textarea{display:block;width:100%;max-width:100%;border:2px solid var(--ink);border-radius:0;padding:12px;background:var(--cream);color:var(--ink);caret-color:var(--red)}textarea{min-height:150px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--red);vertical-align:middle}.kukuza-notice,.kukuza-message,.kz-notice{border:2px solid;padding:20px;margin:20px 0}.kukuza-honeypot,.kz-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled,input:disabled{opacity:.6;cursor:not-allowed}.watch-page{min-height:570px}.watch-page h1{font-size:clamp(3rem,6vw,6rem)}
@media(min-width:1550px){.hero-copy{padding-left:max(6vw,calc((100vw - 1400px)/2))}}@media(max-width:1000px){.site-header{gap:15px;padding:16px 4%;flex-wrap:wrap}.site-header nav{order:3;width:100%;border-top:1px solid;padding-top:13px}.nav-links{justify-content:space-between;gap:12px}.hero{min-height:560px}.hero-copy{padding-top:50px}.hero-art{min-height:500px}.hero-disc{width:320px;height:320px}.hero-art>.hero-feather{width:420px;height:420px}.art-caption{font-size:45px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card .poster{min-height:330px}.hero h1{font-size:clamp(3.1rem,6.9vw,5.5rem)}}
@media(max-width:650px){body{font-size:16px}.brand{font-size:25px}.brand img{width:36px;height:48px}.brand small{font-size:9px}.header-watch{font-size:13px;padding:10px 13px;gap:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 0}.hero h1{font-size:clamp(2.9rem,12vw,4.8rem);margin-bottom:22px}.hero p{font-size:16px}.hero-art{min-height:340px}.hero-art>.hero-feather{width:340px;height:340px}.hero-disc{width:280px;height:280px}.art-caption{bottom:20px;right:12%}.statement-strip{gap:12px;flex-wrap:wrap;justify-content:center;font-size:10px;padding:15px}.section{padding:48px 6%}.section-heading{align-items:start;flex-direction:column;gap:20px}.watch-band,.about-section,.signup-section{grid-template-columns:1fr;gap:36px;padding:48px 6%}.watch-band .screen-art{margin:10px 10px 10px 0;transform:rotate(2deg)}.footer-top{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}.event-grid{grid-template-columns:1fr}.event-card .poster{min-height:350px}.page-title{padding:40px 6%}.page-title h1{font-size:3.3rem;overflow-wrap:anywhere}.page-content h2{font-size:34px}.lead{font-size:21px}.screen-art strong{font-size:37px}.button{padding:12px 18px}.actions{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Homepage poster composition */
.hero {
  position: relative;
  grid-template-columns: 1.05fr 1fr;
  min-height: clamp(398px, 27.6vw, 475px);
  border-bottom: 0;
  background: #c80020;
}
.hero-copy {
  padding: clamp(20px, 1.4vw, 32px) 0 clamp(74px, 5.4vw, 95px) 15.4%;
  z-index: 2;
}
.hero h1 {
  font-size: clamp(3.45rem, 4.65vw, 5.6rem);
  line-height: .93;
  margin-bottom: 12px;
}
.hero p { max-width: 355px; font-size: 16px; line-height: 1.35; margin-bottom: 0; }
.hero .actions { margin-top: 14px; gap: 20px; }
.hero .button { min-height: 44px; padding: 8px 17px; font-size: 14px; }
.hero .text-link { font-size: 14px; }
.hero-art { min-height: 0; align-self: stretch; }
.hero-art > .hero-disc {
  position: absolute;
  width: min(82%, 540px);
  height: auto;
  top: 2%;
  left: 4%;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.hero-art > .hero-feather {
  position: absolute;
  width: min(61%, 390px);
  height: auto;
  top: 5%;
  left: 15%;
  transform: rotate(12deg);
}
.hero-skyline {
  position: absolute;
  bottom: -1px;
  left: 9%;
  width: 67%;
  pointer-events: none;
}
.art-caption {
  right: 12%;
  bottom: 11%;
  font-size: clamp(2.15rem, 3.2vw, 4rem);
  line-height: .86;
  z-index: 1;
}
.art-caption::after {
  content: "";
  display: block;
  height: .18em;
  margin-top: .10em;
  background: currentColor;
  clip-path: polygon(0 82%, 33% 23%, 100% 0, 94% 45%, 100% 65%, 65% 76%, 1% 100%);
}
@media (max-width: 1000px) and (min-width: 651px) {
  .hero-copy { padding-left: 9%; }
  .hero h1 { font-size: clamp(2.6rem, 5.25vw, 3.6rem); }
  .hero-art > .hero-disc { width: 94%; left: 0; top: 9%; }
  .hero-art > .hero-feather { width: 70%; left: 12%; top: 11%; }
  .art-caption { right: 9%; bottom: 12%; }
}
@media (max-width: 650px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 36px 6% 4px; }
  .hero h1 { font-size: clamp(2.9rem, 12vw, 4.8rem); }
  .hero-art { min-height: clamp(270px, 74vw, 410px); }
  .hero-art > .hero-disc { width: min(96%, 490px); left: 50%; top: 1%; transform: translateX(-50%); }
  .hero-art > .hero-feather { width: min(68%, 350px); left: 50%; top: 5%; transform: translateX(-50%) rotate(12deg); }
  .hero-skyline { width: 110%; max-width: none; left: -5%; }
  .art-caption { right: 8%; bottom: 12%; }
}

@media (max-width: 380px) {
  .site-header { column-gap: 8px; }
  .site-header .brand { gap: 8px; font-size: 23px; }
  .site-header .brand img { width: 32px; }
  .site-header .header-watch { gap: 7px; padding: 8px 11px; font-size: 13px; }
  .site-header .nav-links { gap: 8px; font-size: 14px; }
}

/* Reference proportions and Nairobi roofline */
.hero-skyline { width: min(57%, 830px); left: 10.8%; bottom: -27px; }
@media (min-width: 1001px) {
  .site-header { padding: 7px 7.9%; gap: 24px; }
  .site-header .brand { font-size: 24px; gap: 9px; }
  .site-header .brand img { width: 37px; height: 36px; }
  .site-header .brand small { font-size: 9px; margin-top: 5px; }
  .site-header .header-watch { min-height: 36px; font-size: 13px; padding: 6px 17px; gap: 10px; }
  .hero { min-height: clamp(338px, 27.55vw, 420px); }
  .hero-copy { padding: 12px 0 47px 15.4%; }
  .hero h1 { font-size: clamp(3.25rem, 4.9vw, 5rem); line-height: .88; margin-bottom: 9px; }
  .hero .actions { margin-top: 12px; }
  .hero .button { min-height: 36px; padding: 6px 16px; }
  .hero-art > .hero-disc { width: min(73.4%, 515px); left: 5%; top: 2.5%; }
  .hero-art > .hero-feather { width: min(52%, 355px); left: 13.2%; top: 0; }
  .art-caption { right: 12%; bottom: 6.5%; }
  .statement-strip { padding-block: 10px; }
  .hero-skyline { left: 15.6%; }
}
@media (max-width: 650px) {
  .hero-skyline { width: 105%; left: -2.5%; bottom: -10px; }
}
