/*
Theme Name: K&G Holdings
Description: Block theme for K&G Holdings, a Cameroon-based consultancy and digital services company. Every page is built from editable blocks and patterns.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kg-holdings
*/

:root{
  --kg-deep:#0A2F24;--kg-forest:#0E4A38;--kg-leaf:#14614A;--kg-sun:#E9A820;
  --kg-paper:#F6F8F5;--kg-mist:#E9EFEA;--kg-ink:#10261F;--kg-muted:#45594F;--kg-line:#C5D2C9;
  --kg-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0}
h1,h2,h3,h4{font-family:var(--kg-display);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0 0 .6em;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,4.4rem)}
h2{font-size:clamp(1.75rem,3.2vw,2.6rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
h4{font-size:1.05rem}
p{margin:0 0 1em;max-width:66ch}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--kg-sun);outline-offset:3px;border-radius:2px}
.wp-site-blocks>*{margin-block-start:0}
.kg-main{display:block}

/* layout primitives */
.wp-block-group.kg-wrap{max-width:1160px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
.kg-sec{padding-block:clamp(3.5rem,8vw,6.5rem)}
.kg-alt{background:var(--kg-mist)}
.kg-lede{font-size:1.2rem;color:var(--kg-muted)}
.kg-spaced{margin-top:3rem}
.kg-strip{height:14px;background-color:var(--kg-deep);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Cpolygon points='14,1 27,7 14,13 1,7' fill='none' stroke='%23E9A820' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:repeat-x}

/* header */
.kg-site-header{position:sticky;top:0;z-index:50;background:var(--kg-deep);color:#fff}
.admin-bar .kg-site-header{top:32px}
@media (max-width:782px){.admin-bar .kg-site-header{top:46px}}
.kg-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:68px}
.kg-brand{display:flex;align-items:center;gap:.7rem}
.kg-mark{flex:none}
.kg-brand-text{display:block}
.kg-brand-title{margin:0;font-family:var(--kg-display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em;line-height:1.1}
.kg-brand-title a{color:#fff;text-decoration:none}
.kg-brand-tag{margin:0;font-size:.72rem;color:#B9D0C4;line-height:1.2}
.kg-nav{font-size:.95rem;font-weight:600}
.kg-nav .wp-block-navigation-item__content{color:#DCE9E2;text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.kg-nav .wp-block-navigation-item__content:hover{color:#fff}
.kg-nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--kg-sun)}
.kg-nav .wp-block-navigation__responsive-container-open{color:#fff;border:1px solid #3B6454;border-radius:6px;padding:.35rem}
.kg-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--kg-deep)!important;color:#fff!important}
.kg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.1rem;padding:.7rem 0}
.kg-nav .wp-block-navigation__responsive-container-close{color:#fff}
@media (min-width:1101px){
  .kg-nav .wp-block-navigation__responsive-container-open{display:none}
  .kg-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:block;position:static;background:none;color:inherit}
  .kg-nav .wp-block-navigation__responsive-container-content{display:flex;padding:0}
  .kg-nav .wp-block-navigation__container{flex-direction:row;gap:1.4rem}
}

/* buttons and links */
.kg-btns .wp-block-button .wp-block-button__link{font-family:inherit;font-weight:700;font-size:1rem;border-radius:6px;padding:.85rem 1.4rem;border:2px solid transparent;text-decoration:none;transition:transform .15s ease,background-color .15s ease}
.kg-btns .kg-btn-sun .wp-block-button__link{background:var(--kg-sun);color:#10261F}
.kg-btns .kg-btn-sun .wp-block-button__link:hover{background:#F2B93C}
.kg-btns .kg-btn-line .wp-block-button__link{background:transparent;color:#fff;border-color:#7FA595}
.kg-btns .kg-btn-line .wp-block-button__link:hover{border-color:#fff}
.kg-btns .kg-btn-solid .wp-block-button__link{background:var(--kg-forest);color:#fff}
.kg-btns .kg-btn-solid .wp-block-button__link:hover{filter:brightness(1.15)}
.kg-btns{gap:.9rem}
.kg-arr .wp-block-button__link::after,.kg-tlink a::after{content:"";display:inline-block;width:1em;height:1em;margin-left:.5em;vertical-align:-.14em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s ease}
.kg-arr .wp-block-button__link:hover::after,.kg-tlink a:hover::after{transform:translateX(3px)}
.kg-tlink{margin:0}
.kg-tlink a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--kg-sun);padding-bottom:2px}
.kg-tlink a:hover{border-bottom-color:var(--kg-forest)}

/* hero */
.kg-hero{background:var(--kg-deep);color:#fff}
.kg-hero h1{color:#fff;margin-bottom:.45em}
.kg-hero p{color:#C9DCD2;font-size:1.2rem}
.kg-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}
.kg-hero-grid>*{margin:0}
.kg-hero .kg-btns{margin-top:1.8rem}
.kg-hero-art{width:100%;max-width:460px;justify-self:end;display:block;height:auto}
.kg-zone{transform-box:fill-box;transform-origin:left center}
@media (prefers-reduced-motion:no-preference){
  .kg-zone{animation:kgunroll .9s cubic-bezier(.2,.7,.2,1) both}
  .kg-zone.kg-z2{animation-delay:.14s}
  .kg-zone.kg-z3{animation-delay:.28s}
  @keyframes kgunroll{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media (max-width:860px){.kg-hero-grid{grid-template-columns:1fr}.kg-hero-art{justify-self:start;max-width:380px}}

/* page header */
.kg-phead{background:var(--kg-deep);color:#fff}
.kg-phead .kg-wrap{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem)}
.kg-phead h1,.kg-phead .wp-block-post-title,.kg-phead .wp-block-query-title{font-size:clamp(2.2rem,4.8vw,3.8rem);max-width:20ch;color:#fff;margin:0 0 .5em}
.kg-phead p,.kg-phead .wp-block-post-date{color:#C9DCD2;font-size:1.2rem;max-width:62ch;margin:0}
.kg-phead .wp-block-post-date{font-size:1rem;margin-top:.5rem}

/* split */
.kg-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.kg-split>*{margin:0}
@media (max-width:860px){.kg-split{grid-template-columns:1fr}}

/* ledger (three areas) */
.kg-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--kg-ink)}
.kg-ledger>.wp-block-group{padding:1.8rem 1.6rem 2rem 0;border-right:1px solid var(--kg-line)}
.kg-ledger>.wp-block-group+.wp-block-group{padding-left:1.6rem}
.kg-ledger>.wp-block-group:last-child{border-right:0}
.kg-ledger p{color:var(--kg-muted)}
.kg-glyph{width:56px;height:56px;margin-bottom:1.1rem;display:block}
@media (max-width:860px){
  .kg-ledger{grid-template-columns:1fr}
  .kg-ledger>.wp-block-group,.kg-ledger>.wp-block-group+.wp-block-group{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--kg-line)}
}

/* approach steps */
.kg-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--kg-line);margin-top:2.5rem}
.kg-steps>.wp-block-group{position:relative;padding:1.8rem 1.2rem 0 0}
.kg-steps>.wp-block-group::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;background:var(--kg-sun);transform:rotate(45deg)}
.kg-step-n{font-family:var(--kg-display);font-weight:700;font-size:2rem;color:var(--kg-forest);margin:0 0 .2rem}
.kg-steps h3{font-size:1.15rem}
.kg-steps p:not(.kg-step-n){font-size:.98rem;color:var(--kg-muted)}
@media (max-width:980px){
  .kg-steps{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--kg-line);margin-left:7px}
  .kg-steps>.wp-block-group{padding:0 0 1.8rem 1.8rem}
  .kg-steps>.wp-block-group::before{top:.4rem;left:-8px}
}

/* three-column grids */
.kg-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem 2rem;margin-top:2.5rem}
.kg-grid3>.wp-block-group{border-top:3px solid var(--kg-forest);padding-top:1rem}
.kg-grid3 p{color:var(--kg-muted);margin:0}
.kg-grid3.kg-grid2{grid-template-columns:repeat(2,1fr)}
@media (max-width:860px){.kg-grid3,.kg-grid3.kg-grid2{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.kg-grid3,.kg-grid3.kg-grid2{grid-template-columns:1fr}}

/* rows */
.kg-rows{margin-top:2rem}
.kg-rows>.wp-block-group{display:grid;grid-template-columns:1fr 2fr;gap:1rem 2rem;padding:1.4rem 0;border-top:1px solid var(--kg-line)}
.kg-rows>.wp-block-group:last-child{border-bottom:1px solid var(--kg-line)}
.kg-rows h3,.kg-rows p{margin:0}
.kg-rows p{color:var(--kg-muted)}
@media (max-width:700px){.kg-rows>.wp-block-group{grid-template-columns:1fr}}

/* closing band */
.kg-closing{background:var(--kg-forest);color:#fff}
.kg-closing h2{color:#fff;max-width:18ch}
.kg-closing p{color:#CFE1D8;font-size:1.15rem}
.kg-closing-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.kg-closing-inner>*{margin:0}
.kg-closing .kg-btns{justify-self:end}
@media (max-width:860px){.kg-closing-inner{grid-template-columns:1fr}.kg-closing .kg-btns{justify-self:start}}

/* bullet lists */
.kg-ticks{margin:0}
.kg-ticks li{position:relative;padding-left:1.4rem;margin-bottom:.45rem}
.kg-ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--kg-sun);transform:rotate(45deg)}
.kg-ticks.kg-cols{columns:2;column-gap:2rem}
.kg-ticks.kg-cols li{break-inside:avoid}
@media (max-width:640px){.kg-ticks.kg-cols{columns:1}}

/* entries (business areas, services) */
.kg-entry{display:grid;grid-template-columns:5fr 7fr;gap:clamp(1.5rem,4vw,4rem);padding-block:2.8rem;border-top:2px solid var(--kg-ink)}
.kg-entry:first-child{border-top:0;padding-top:0}
.kg-entry>*{margin:0}
.kg-entry p{color:var(--kg-muted)}
.kg-tag{font-family:var(--kg-display);font-weight:500;font-size:1.15rem;color:var(--kg-forest)!important;margin:0 0 1rem}
.kg-entry .kg-btns{margin-top:1.4rem}
@media (max-width:860px){.kg-entry{grid-template-columns:1fr}}
.kg-jump{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:3rem}
.kg-jump li{margin:0}
.kg-jump a{display:inline-block;font-weight:600;color:var(--kg-ink);text-decoration:none;border:1.5px solid var(--kg-line);border-radius:999px;padding:.45rem 1rem}
.kg-jump a:hover{border-color:var(--kg-forest)}

/* values */
.kg-values{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;margin-top:2rem}
.kg-values>.wp-block-group{padding:1.1rem 0;border-top:1px solid var(--kg-line)}
.kg-values h3{font-size:1.15rem;margin-bottom:.25em}
.kg-values p{margin:0;color:var(--kg-muted)}
@media (max-width:700px){.kg-values{grid-template-columns:1fr}}

/* trio */
.kg-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.kg-trio>.wp-block-group{border-left:3px solid var(--kg-sun);padding-left:1.2rem}
.kg-trio h3{font-family:inherit;font-size:1rem;color:var(--kg-muted);font-weight:600;margin-bottom:.4rem}
.kg-statement{font-family:var(--kg-display);font-weight:700;font-size:1.35rem;line-height:1.25;letter-spacing:-.01em;margin:0 0 .8rem}
.kg-small{color:var(--kg-muted);line-height:1.55;margin:0}
@media (max-width:860px){.kg-trio{grid-template-columns:1fr}}

/* leader */
.kg-leader{display:grid;grid-template-columns:140px 1fr;gap:2rem;align-items:start;margin-top:2rem}
.kg-avatar{width:140px;height:140px;margin:0;background:var(--kg-forest);display:grid;place-items:center;color:var(--kg-sun);font-family:var(--kg-display);font-weight:700;font-size:2.6rem;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.kg-role{color:var(--kg-muted);font-weight:600}
@media (max-width:600px){.kg-leader{grid-template-columns:1fr}.kg-avatar{width:110px;height:110px;font-size:2rem}}

/* empty state */
.kg-empty{border:1.5px dashed var(--kg-line);padding:1.6rem;max-width:62ch;margin-top:2rem}
.kg-empty h3{margin-bottom:.3em}
.kg-empty p{margin:0;color:var(--kg-muted)}

/* case study format */
.kg-format{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;margin-top:1.5rem}
.kg-format>.wp-block-group{border-top:3px solid var(--kg-forest);padding-top:.8rem}
.kg-format h4{margin-bottom:.2em}
.kg-format p{font-size:.95rem;color:var(--kg-muted);margin:0}
@media (max-width:980px){.kg-format{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.kg-format{grid-template-columns:1fr}}

/* contact */
.kg-contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.kg-contact-grid>*{margin:0}
.kg-dt{font-weight:700;margin:1.2rem 0 0}
.kg-dd{margin:0;color:var(--kg-muted)}
@media (max-width:860px){.kg-contact-grid{grid-template-columns:1fr}}
.kg-form{display:grid;gap:1.1rem}
.kg-field{display:grid;gap:.35rem}
.kg-two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:600px){.kg-two{grid-template-columns:1fr}}
.kg-form label{font-weight:600;font-size:.98rem}
.kg-form input,.kg-form select,.kg-form textarea{font:inherit;color:var(--kg-ink);background:#fff;border:1.5px solid #7E948A;border-radius:6px;padding:.75rem .85rem;width:100%;box-sizing:border-box}
.kg-form textarea{min-height:150px;resize:vertical}
.kg-form .kg-opt{color:var(--kg-muted);font-weight:400}
.kg-form .kg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kg-submit{font:inherit;font-weight:700;background:var(--kg-forest);color:#fff;border:2px solid transparent;border-radius:6px;padding:.85rem 1.4rem;cursor:pointer}
.kg-submit:hover{filter:brightness(1.15)}
.kg-notice{padding:1rem 1.2rem;border-left:4px solid var(--kg-forest);background:var(--kg-mist);font-weight:600;margin-bottom:1.2rem}
.kg-notice.kg-err{border-left-color:#B3261E;color:#8C1D18}

/* posts */
.kg-post{padding:1.4rem 0;border-top:1px solid var(--kg-line)}
.kg-post .wp-block-post-title{font-size:1.5rem;margin:.2rem 0 .4rem}
.kg-post .wp-block-post-title a{color:var(--kg-ink);text-decoration:none}
.kg-post .wp-block-post-date{color:var(--kg-muted);font-size:.95rem}
.kg-prose{max-width:760px}
.kg-prose p{max-width:none}

/* footer */
.kg-site-footer{background:var(--kg-deep);color:#C9DCD2;font-size:.98rem}
.kg-foot{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.2fr;gap:2.5rem;padding-block:3.5rem 2.5rem}
.kg-foot h4{font-family:inherit;font-size:.95rem;font-weight:700;color:#fff;letter-spacing:0;margin-bottom:.8rem}
.kg-foot a,.kg-legal a{color:#C9DCD2;text-decoration:none}
.kg-foot a:hover,.kg-legal a:hover{color:#fff;text-decoration:underline}
.kg-foot p{max-width:38ch;margin-bottom:.8rem}
.kg-foot .kg-fb{font-family:var(--kg-display);color:#fff;font-weight:700;font-size:1.3rem;margin-bottom:.4rem}
.kg-linklist li{margin-bottom:.4rem}
.kg-legal{border-top:1px solid #1D4A3B;padding-block:1.3rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;align-items:center;font-size:.92rem}
.kg-legal p{margin:0}
.kg-legal .kg-linklist{display:flex;gap:1.4rem;flex-wrap:wrap}
.kg-legal .kg-linklist li{margin:0}
@media (max-width:900px){.kg-foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.kg-foot{grid-template-columns:1fr}}
