/* KPC website styles (clients/ypokpc/pages/*). Shared by all website pages.
   Page-specific styles live inside each page. */

/* Base reset for every website page (removes the browser's default white margin) */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
/* ======== KPC website design system (was assets/kpc-system.css on the old site) ======== */
/* KPC canonical design system — derived from index.php */
:root{
 --ink:#07121f;--ink2:#0b1c2e;--navy:#07121f;--navy2:#0b1c2e;
 --paper:#f4f1e9;--cream:#f4f1e9;--white:#fffdf8;
 --gold:#c9a25a;--gold2:#e1c58e;--muted:#8190a2;
 --serif:'Playfair Display',Georgia,serif;--display:'Playfair Display',Georgia,serif;
 --sans:'DM Sans',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;
 --ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--sans)!important;-webkit-font-smoothing:antialiased}
.wrap{width:min(1240px,calc(100% - 56px))!important;margin-left:auto!important;margin-right:auto!important}
.eyebrow{font-family:var(--sans)!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;font-weight:700!important}
/* Canonical display voice: strong, cinematic Playfair from the homepage. */
.hero h1,.display,.hero-title,
.section h2,.intro h2,.section-head h2,.movement h2,
.hero-note strong,.criterion h3,.can h3,.confirm h3,
.kin h3,.pipe h3,.pipeline-step h3,.way h3,
.people-title,.person-name,.value-title,.faq-question,
blockquote,.quote,.serif{
 font-family:var(--serif)!important;
}
.hero h1,.display,.hero-title{font-weight:400!important;letter-spacing:-.035em!important;line-height:.94!important}
.hero h1 em,.display em,.hero-title em{font-family:var(--serif)!important;font-style:italic!important;font-weight:400!important;color:var(--gold2)!important}
.hero p,.hero-lede,.lede{font-family:var(--sans)!important;line-height:1.55!important}
.btn,.cta,.button{font-family:var(--sans)!important;font-weight:700!important}
/* Shared chrome follows the homepage too. */
.kpc-shared-header,.kpc-shared-footer{font-family:var(--sans)!important}
.kpc-shared-header .ksh-mark{font-family:var(--serif)!important;color:var(--gold2)!important;border-color:rgba(225,197,142,.55)!important;font-weight:400!important;letter-spacing:.03em!important}
.kpc-shared-header .ksh-name,.kpc-shared-header .ksh-nav a{font-family:var(--sans)!important}
.kpc-shared-footer h4{color:var(--gold2)!important}
.kpc-shared-footer .ksf-bottom b{color:var(--gold2)!important}
@media(max-width:760px){.wrap{width:calc(100% - 34px)!important}}


/* Shared KPC header — integrated over the hero, persistent after scroll */
.kpc-shared-header{
 position:absolute;z-index:1000;top:0;left:0;right:0;padding:22px 0;
 font-family:var(--sans);color:#fff;
 background:transparent;border-bottom:1px solid transparent;
 transition:background .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease),padding .32s var(--ease),backdrop-filter .32s var(--ease);
}
.kpc-shared-header.is-scrolled{
 position:fixed;
 background:rgba(7,18,31,.94);
 border-bottom-color:rgba(255,255,255,.09);
 box-shadow:0 10px 32px rgba(0,0,0,.12);
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 padding:13px 0;
 animation:kpcHeaderIn .28s var(--ease) both;
}
@keyframes kpcHeaderIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.kpc-shared-header .ksh-wrap{width:min(1240px,calc(100% - 56px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.kpc-shared-header .ksh-brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}
.kpc-shared-header .ksh-mark{width:43px;height:43px;border:1px solid rgba(255,255,255,.42);display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.12em;transition:width .3s var(--ease),height .3s var(--ease)}
.kpc-shared-header.is-scrolled .ksh-mark{width:38px;height:38px}
.kpc-shared-header .ksh-name{font-size:13px;font-weight:600;letter-spacing:.025em;white-space:nowrap}
.kpc-shared-header .ksh-nav{display:flex;align-items:center;gap:28px}
.kpc-shared-header .ksh-nav a{color:inherit;text-decoration:none;font-size:13px;font-weight:600;opacity:.82;transition:opacity .2s ease}
.kpc-shared-header .ksh-nav a:hover{opacity:1}
.kpc-shared-header .ksh-login{border:1px solid rgba(255,255,255,.36);padding:11px 18px;border-radius:2px;opacity:1!important}
.kpc-shared-header.is-scrolled .ksh-login{padding:9px 16px}
.kpc-shared-header .ksh-back:before{content:'←';margin-right:8px}
@media(max-width:760px){
 .kpc-shared-header{padding:16px 0}.kpc-shared-header.is-scrolled{padding:10px 0}
 .kpc-shared-header .ksh-wrap{width:calc(100% - 34px)}.kpc-shared-header .ksh-name{display:none}
 .kpc-shared-header .ksh-nav{gap:15px}.kpc-shared-header .ksh-nav a:not(.ksh-login):not(.ksh-back){display:none}
 .kpc-shared-header .ksh-back{font-size:12px}.kpc-shared-header .ksh-login{padding:9px 13px}
}
@media(prefers-reduced-motion:reduce){.kpc-shared-header,.kpc-shared-header .ksh-mark{transition:none}.kpc-shared-header.is-scrolled{animation:none}}

/* KPC official logo in shared header */
.kpc-shared-header .ksh-brand{display:flex!important;align-items:center!important;text-decoration:none!important;min-width:0}
.kpc-shared-header .ksh-logo{display:block;width:auto;height:70px;max-width:min(720px,52vw);object-fit:contain}
@media(max-width:760px){.kpc-shared-header .ksh-logo{height:48px;max-width:68vw}}


/* KPC header logo sizing */
.kpc-shared-header .ksh-brand,
.kpc-shared-header .ksh-logo-link {
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
}
.kpc-shared-header .ksh-brand img,
.kpc-shared-header .ksh-logo,
.kpc-shared-header .ksh-logo-link img {
    display:block !important;
    width:auto !important;
    height:96px !important;
    max-width:610px !important;
    object-fit:contain !important;
}
@media(max-width:1100px){
    .kpc-shared-header .ksh-brand img,
    .kpc-shared-header .ksh-logo,
    .kpc-shared-header .ksh-logo-link img{
        height:78px !important;
        max-width:490px !important;
    }
}
@media(max-width:760px){
    .kpc-shared-header .ksh-brand img,
    .kpc-shared-header .ksh-logo,
    .kpc-shared-header .ksh-logo-link img{
        height:58px !important;
        max-width:min(68vw,360px) !important;
    }
}


/* Shared KPC footer (from the website's includes/footer.php) */
.kpc-shared-footer{background:#07111b;color:rgba(255,255,255,.68);padding:78px 0 30px;font-family:var(--sans,"DM Sans"),Arial,sans-serif}
.kpc-shared-footer .ksf-wrap{width:min(1240px,calc(100% - 56px));margin:auto}
.kpc-shared-footer .ksf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:56px;padding-bottom:62px}
.kpc-shared-footer h4{color:#b8924e;font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px;font-weight:800}
.kpc-shared-footer a{display:block;color:rgba(255,255,255,.67);text-decoration:none;font-size:13px;line-height:1.45;margin:0 0 10px;transition:.2s ease}
.kpc-shared-footer a:hover{color:#fff;transform:translateX(2px)}
.kpc-shared-footer .ksf-bottom{border-top:1px solid rgba(255,255,255,.09);padding-top:22px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px;color:rgba(255,255,255,.42)}
.kpc-shared-footer .ksf-bottom a{display:inline;margin:0;color:rgba(255,255,255,.62);font-size:12px}
.kpc-shared-footer .ksf-bottom b{color:rgba(255,255,255,.86);letter-spacing:.05em}
@media(max-width:850px){.kpc-shared-footer .ksf-grid{gap:40px}.kpc-shared-footer .ksf-wrap{width:calc(100% - 34px)}}
@media(max-width:520px){.kpc-shared-footer{padding-top:58px}.kpc-shared-footer .ksf-grid{grid-template-columns:1fr;gap:30px;padding-bottom:44px}.kpc-shared-footer .ksf-bottom{align-items:flex-start;flex-direction:column}}
