:root{
  --kabli-plum:#32252E;
  --kabli-plum-deep:#2B2028;
  --kabli-plum-raised:#40313B;
  --kabli-bone:#F5F0E8;
  --kabli-sand:#D8C9B8;
  --kabli-coral:#D8785F;
  --kabli-ink:#211D1E;
  --kabli-border-dark:rgba(216,201,184,.24);
  --kabli-border-light:rgba(33,29,30,.18);
  --kabli-muted-dark:rgba(245,240,232,.76);
  --kabli-muted-light:rgba(33,29,30,.72);
  --kabli-font-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --kabli-font-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--kabli-plum-deep)}
body.kabli-site,body{margin:0;background:var(--kabli-plum-deep);color:var(--kabli-bone);font-family:var(--kabli-font-sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.admin-bar .kabli-site-header{top:32px}
@media(max-width:782px){body.admin-bar .kabli-site-header{top:46px}}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%;height:auto}
::selection{background:var(--kabli-coral);color:var(--kabli-plum-deep)}
.kabli-container{width:min(100%,88rem);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}
@media(min-width:768px){.kabli-container{padding-left:3rem;padding-right:3rem}}
@media(min-width:1280px){.kabli-container{padding-left:4.5rem;padding-right:4.5rem}}
.kabli-narrow{width:min(calc(100% - 2.5rem),48rem);margin-inline:auto}
.kabli-medium{width:min(calc(100% - 2.5rem),56rem);margin-inline:auto}
.surface-plum{background:var(--kabli-plum-deep);color:var(--kabli-bone)}
.surface-plum-raised{background:var(--kabli-plum-raised);color:var(--kabli-bone)}
.surface-bone{background:var(--kabli-bone);color:var(--kabli-ink)}
.surface-sand{background:var(--kabli-sand);color:var(--kabli-ink)}
.kabli-section{padding-top:6rem;padding-bottom:6rem}
.kabli-section-lg{padding-top:7rem;padding-bottom:7rem}
@media(min-width:768px){.kabli-section{padding-top:9rem;padding-bottom:9rem}.kabli-section-lg{padding-top:10rem;padding-bottom:10rem}}
.kabli-h1,.kabli-display,.kabli-h2,.kabli-serif-md{font-family:var(--kabli-font-display);font-weight:400;font-style:normal;font-variant-alternates:normal;font-feature-settings:"kern" 1,"liga" 1,"clig" 1,"calt" 0,"dlig" 0,"hlig" 0,"swsh" 0,"salt" 0;margin:0}
.kabli-h1{font-size:clamp(3rem,9vw,7.5rem);line-height:.95;letter-spacing:-.035em;text-wrap:balance}
.kabli-display{font-size:clamp(3.25rem,11vw,9rem);line-height:.92;letter-spacing:-.04em}
.kabli-h2{font-size:clamp(2.375rem,5.4vw,4.5rem);line-height:1;letter-spacing:-.03em;text-wrap:balance}
.kabli-h3{font-family:var(--kabli-font-sans);font-size:clamp(1.25rem,1.7vw,1.5rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0}
.kabli-serif-md{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.1;letter-spacing:-.02em}
.kabli-label{font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;line-height:1.4;margin:0}
.kabli-lead{font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.55}
.kabli-body{font-size:clamp(1.0625rem,1.1vw,1.1875rem);line-height:1.7}
.kabli-wordmark{font-family:var(--kabli-font-sans);font-weight:800;letter-spacing:.24em;text-transform:uppercase;line-height:1}
.kabli-mark,.text-primary{color:var(--kabli-coral)}
.text-sand{color:var(--kabli-sand)}
.text-muted{color:var(--kabli-muted-dark)}
.surface-bone .text-muted,.surface-sand .text-muted{color:var(--kabli-muted-light)}
.kabli-rule{display:block;width:4.5rem;height:2px;background:var(--kabli-coral)}
.kabli-btn,.kabli-btn-ghost,.kabli-btn-dark{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.95rem 2rem;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s ease,filter .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.kabli-btn{background:var(--kabli-coral);color:var(--kabli-plum-deep)}
.kabli-btn:hover{filter:brightness(1.07);transform:translateY(-2px)}
.kabli-btn-ghost{background:transparent;border:1px solid currentColor;color:inherit}
.kabli-btn-ghost:hover{background:var(--kabli-coral);border-color:var(--kabli-coral);color:var(--kabli-plum-deep)}
.kabli-btn-dark{background:var(--kabli-plum-deep);color:var(--kabli-bone)}
.kabli-link{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:2px solid rgba(245,240,232,.35);font-weight:700;font-size:1rem;transition:.2s ease}
.surface-bone .kabli-link,.surface-sand .kabli-link{border-color:rgba(33,29,30,.3)}
.kabli-link:hover{color:var(--kabli-coral);border-color:var(--kabli-coral);gap:1rem}
.kabli-grid-2{display:grid;gap:3.5rem}
@media(min-width:1024px){.kabli-grid-2{grid-template-columns:1fr 1fr;gap:6rem}.kabli-grid-2.wide-left{grid-template-columns:1.2fr 1fr}.kabli-grid-2.wide-right{grid-template-columns:1fr 1.2fr}}
.kabli-grid-3{display:grid;gap:3rem}
@media(min-width:768px){.kabli-grid-3{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.kabli-stack>*+*{margin-top:1.25rem}.kabli-stack-lg>*+*{margin-top:2rem}
.kabli-list{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid currentColor}
.kabli-list li{padding:.75rem 0;border-bottom:1px solid currentColor}
.surface-plum .kabli-list{border-color:var(--kabli-border-dark)}
.surface-bone .kabli-list,.surface-sand .kabli-list{border-color:var(--kabli-border-light)}
.kabli-topline{border-top:2px solid var(--kabli-coral);padding-top:2rem}
.kabli-leftline{border-left:2px solid var(--kabli-coral);padding-left:1.5rem}
.kabli-divider{border-top:1px solid var(--kabli-border-dark)}
.surface-bone .kabli-divider,.surface-sand .kabli-divider{border-color:var(--kabli-border-light)}

/* Typography guard: keep KABLI headings on the approved display face without stylistic alternates. */
.kabli-site h1,.kabli-site h2,.kabli-site .kabli-h1,.kabli-site .kabli-display,.kabli-site .kabli-h2,.kabli-site .kabli-serif-md{font-family:var(--kabli-font-display);font-style:normal;font-variant-alternates:normal;font-feature-settings:"kern" 1,"liga" 1,"clig" 1,"calt" 0,"dlig" 0,"hlig" 0,"swsh" 0,"salt" 0}
.kabli-site h1,.kabli-site h2{font-weight:400}
.kabli-site h3,.kabli-site h4,.kabli-site h5,.kabli-site h6,.kabli-site p,.kabli-site li,.kabli-site a,.kabli-site button,.kabli-site input,.kabli-site textarea,.kabli-site select{font-family:var(--kabli-font-sans)}

/* Header */
.kabli-site-header{position:sticky;top:0;z-index:1000;background:rgba(43,32,40,.96);border-bottom:1px solid var(--kabli-border-dark);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.kabli-header-inner{min-height:5.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.kabli-logo{font-size:2rem;color:var(--kabli-bone)!important}
.kabli-desktop-nav{display:none;align-items:center;gap:1.75rem}
.kabli-desktop-nav a{font-size:15px;font-weight:600;color:rgba(245,240,232,.78)!important}
.kabli-desktop-nav a:hover{color:var(--kabli-coral)!important}
.kabli-desktop-nav .kabli-btn{color:var(--kabli-plum-deep)!important}
.kabli-menu-toggle{display:flex;background:transparent;border:0;color:var(--kabli-bone)!important;padding:.6rem;cursor:pointer}
.kabli-menu-toggle svg{width:28px;height:28px}
.kabli-mobile-menu{display:none;border-top:1px solid var(--kabli-border-dark);background:var(--kabli-plum-deep)}
.kabli-mobile-menu.is-open{display:block}
.kabli-mobile-menu nav{display:flex;flex-direction:column;padding-top:1rem;padding-bottom:1rem}
.kabli-mobile-menu a{padding:1rem 0;border-bottom:1px solid var(--kabli-border-dark);font-weight:600;color:var(--kabli-bone)!important}
.kabli-mobile-menu .kabli-btn{margin:1.5rem 0 .5rem;padding:1rem;color:var(--kabli-plum-deep)!important}
@media(min-width:768px){.kabli-header-inner{min-height:6.75rem}.kabli-desktop-nav{display:flex}.kabli-menu-toggle,.kabli-mobile-menu{display:none!important}}

/* Footer */
.kabli-site-footer{background:var(--kabli-plum-deep);color:var(--kabli-bone);border-top:1px solid var(--kabli-border-dark)}
.kabli-footer-grid{display:grid;gap:4rem}
@media(min-width:1024px){.kabli-footer-grid{grid-template-columns:1.6fr 1fr 1fr}}
.kabli-footer-links{list-style:none;padding:0;margin:1.5rem 0 0}.kabli-footer-links li+li{margin-top:.65rem}
.kabli-footer-links a{color:rgba(245,240,232,.75)!important}.kabli-footer-links a:hover{color:var(--kabli-coral)!important}
.kabli-footer-bottom{margin-top:5rem;padding-top:2rem;border-top:1px solid var(--kabli-border-dark);display:flex;flex-direction:column;gap:1rem;font-size:.9rem;color:rgba(245,240,232,.62)}
@media(min-width:640px){.kabli-footer-bottom{flex-direction:row;justify-content:space-between;align-items:flex-start}}
.kabli-footer-built{margin:.35rem 0 0;color:rgba(245,240,232,.74)}
.kabli-footer-built strong{color:var(--kabli-bone);font-weight:700}

/* Start/public layouts */
.kabli-hero{min-height:82vh;display:flex;flex-direction:column;justify-content:center;padding-top:6rem;padding-bottom:6rem}
@media(min-width:768px){.kabli-hero{min-height:90vh;padding-top:8rem;padding-bottom:8rem}}
.kabli-hero-bottom{margin-top:3.5rem;display:grid;gap:3rem}
@media(min-width:1024px){.kabli-hero-bottom{grid-template-columns:1fr minmax(0,26rem);align-items:end}.kabli-hero-actions{justify-content:flex-end}}
.kabli-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2rem}
.kabli-path-cards{display:grid}
@media(min-width:768px){.kabli-path-cards{grid-template-columns:1fr 1fr}}
.kabli-path-card{padding:4rem 1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:4rem;border-top:1px solid var(--kabli-border-dark)}
@media(min-width:768px){.kabli-path-card{padding:6rem 3rem}.kabli-path-card:first-child{border-right:1px solid var(--kabli-border-dark)}}
@media(min-width:1280px){.kabli-path-card{padding-left:5rem;padding-right:5rem}}
.kabli-poster{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding-top:7rem;padding-bottom:7rem}
@media(min-width:768px){.kabli-poster{min-height:72vh;padding-top:10rem;padding-bottom:10rem}.kabli-poster .align-right{align-self:flex-end;text-align:right}}
.kabli-number{font-family:var(--kabli-font-display);font-weight:400;font-style:normal;font-variant-alternates:normal;font-feature-settings:"kern" 1,"liga" 1,"clig" 1,"calt" 0,"dlig" 0,"hlig" 0,"swsh" 0,"salt" 0;font-size:clamp(3rem,6vw,4rem);line-height:1;color:var(--kabli-coral)}
.kabli-card-grid{display:grid;gap:1px;background:var(--kabli-border-dark)}
.kabli-card-grid article{background:var(--kabli-plum-deep);padding:2rem}
@media(min-width:768px){.kabli-card-grid{grid-template-columns:1fr 1fr}.kabli-card-grid article{padding:3.5rem}}

/* Projects / portfolio */
.kabli-project-grid{display:grid;gap:1px;background:var(--kabli-border-light);border:1px solid var(--kabli-border-light)}
.kabli-project-card{background:var(--kabli-bone);padding:2rem;min-width:0}
.kabli-project-card .kabli-link{word-break:break-word}
@media(min-width:768px){.kabli-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kabli-project-card{padding:2.75rem}}
@media(min-width:1180px){.kabli-project-grid.kabli-project-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Forms */
.kabli-field{width:100%;margin-top:.75rem;border:1px solid rgba(33,29,30,.26);background:transparent;color:var(--kabli-ink)!important;padding:.875rem 1rem;outline:none;border-radius:0;-webkit-text-fill-color:var(--kabli-ink);opacity:1}
.kabli-field:focus{border-color:var(--kabli-coral);box-shadow:0 0 0 1px var(--kabli-coral)}
.kabli-field::placeholder{color:rgba(33,29,30,.5)!important;-webkit-text-fill-color:rgba(33,29,30,.5)}
.kabli-field-dark{width:100%;margin-top:1.25rem;border:1px solid rgba(216,201,184,.32)!important;background:#251C23!important;color:var(--kabli-bone)!important;-webkit-text-fill-color:var(--kabli-bone)!important;padding:1rem;outline:none;border-radius:0;caret-color:var(--kabli-coral)!important;opacity:1!important}
.kabli-field-dark:focus{border-color:var(--kabli-coral)!important;box-shadow:0 0 0 1px var(--kabli-coral)}
.kabli-field-dark::placeholder{color:rgba(245,240,232,.48)!important;-webkit-text-fill-color:rgba(245,240,232,.48)!important;opacity:1!important}
textarea.kabli-field-dark{min-height:8rem;resize:vertical}
select.kabli-field option{color:#111;background:#fff}
.kabli-form-group+ .kabli-form-group{margin-top:2rem}
.kabli-alert{border-left:2px solid var(--kabli-coral);padding:1rem 1.25rem;background:rgba(216,120,95,.08)}
.kabli-success{border-left:2px solid var(--kabli-coral);padding-left:2rem}
.kabli-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Program / account shell */
.kabli-app-main{min-height:60vh;background:var(--kabli-plum-deep);color:var(--kabli-bone)}
.kabli-program-wrap{width:min(calc(100% - 2.5rem),48rem);margin:0 auto;padding:5rem 0 7rem}
.kabli-program-map{width:min(calc(100% - 2.5rem),56rem);margin:0 auto;padding:5rem 0 7rem}
.kabli-program-title{margin-top:.75rem}
.kabli-program-intro{margin-top:2rem;color:rgba(245,240,232,.82);white-space:pre-line}
.kabli-blocks{margin-top:3rem}.kabli-blocks>*+*{margin-top:2.5rem}
.kabli-block{color:var(--kabli-bone)}
.kabli-block-card{border:1px solid rgba(216,201,184,.24);background:var(--kabli-plum-raised);padding:1.5rem}
.kabli-block-accent{border-left:2px solid var(--kabli-coral);background:rgba(64,49,59,.72);padding:1.25rem 1.5rem}
.kabli-block p{margin:0}.kabli-block p+p{margin-top:.75rem}
.kabli-block-body{margin-top:.75rem;color:rgba(245,240,232,.84);white-space:pre-line}
.kabli-choice-list{margin-top:1.25rem;display:grid;gap:.75rem}
.kabli-choice{display:flex;align-items:flex-start;gap:.75rem;color:var(--kabli-bone);cursor:pointer}
.kabli-choice input{margin-top:.45rem;accent-color:var(--kabli-coral)}
.kabli-save-status{min-height:1.5em;margin-top:.5rem!important;font-size:.9rem;color:rgba(245,240,232,.6)}
.kabli-recall-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1rem}
.kabli-recall-item{padding-top:1rem;border-top:1px solid var(--kabli-border-dark)}
.kabli-recall-item:first-child{padding-top:0;border-top:0}
.kabli-missing{color:rgba(245,240,232,.58)}
.kabli-program-nav{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--kabli-border-dark);display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}
.kabli-program-step-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem}
.kabli-step{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border:1px solid var(--kabli-border-dark);background:var(--kabli-plum-raised);padding:1.2rem 1.4rem;color:var(--kabli-bone)}
.kabli-step:hover{border-color:var(--kabli-coral)}
.kabli-step.locked{opacity:.38;cursor:not-allowed}.kabli-step-status{font-size:.85rem;color:rgba(245,240,232,.6)}
.kabli-week-reflection,.kabli-help-box,.kabli-restart-box{margin-top:3.5rem;border:1px solid var(--kabli-border-dark);background:var(--kabli-plum-raised);padding:1.5rem}
.kabli-help-trigger,.kabli-text-button{background:none;border:0;padding:0;color:var(--kabli-bone);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.kabli-meta-row{display:flex;flex-wrap:wrap;gap:1rem 2rem;color:rgba(245,240,232,.68);font-size:.9rem}

/* Account/dashboard */
.kabli-account-grid{display:grid;gap:3rem}
@media(min-width:900px){.kabli-account-grid{grid-template-columns:1.2fr .8fr}}
.kabli-panel{border:1px solid var(--kabli-border-dark);background:var(--kabli-plum-raised);padding:1.5rem}
.kabli-panel+ .kabli-panel{margin-top:1.5rem}
.kabli-account-program{border-top:1px solid var(--kabli-border-dark);padding:1.5rem 0}.kabli-account-program:first-child{border-top:0}

/* Misc */
.kabli-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}
.kabli-spacer-1{margin-top:.5rem}.kabli-spacer-2{margin-top:1rem}.kabli-spacer-3{margin-top:1.5rem}.kabli-spacer-4{margin-top:2rem}.kabli-spacer-5{margin-top:2.5rem}.kabli-spacer-6{margin-top:3rem}.kabli-spacer-8{margin-top:4rem}
.kabli-max-10{max-width:10ch}.kabli-max-12{max-width:12ch}.kabli-max-14{max-width:14ch}.kabli-max-16{max-width:16ch}.kabli-max-18{max-width:18ch}.kabli-max-2xl{max-width:42rem}
.kabli-hidden{display:none!important}
@media(prefers-reduced-motion:no-preference){.kabli-rise{animation:kabli-rise .7s cubic-bezier(.22,1,.36,1) both}}@keyframes kabli-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:640px){body{font-size:17px}.kabli-program-wrap,.kabli-program-map{width:min(calc(100% - 2rem),48rem);padding-top:3.5rem}.kabli-block-card,.kabli-block-accent,.kabli-panel{padding:1.25rem}.kabli-step{align-items:flex-start;flex-direction:column}.kabli-h1{font-size:clamp(3.1rem,15vw,5rem)}}
/* Mobile/Safari contrast hardening. KABLI never relies on inherited Hostinger theme colours. */
.kabli-app-main{color-scheme:dark}
.kabli-app-main input,.kabli-app-main textarea,.kabli-app-main select{-webkit-appearance:none;appearance:none}
.kabli-field-dark:-webkit-autofill,.kabli-field-dark:-webkit-autofill:hover,.kabli-field-dark:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #251C23 inset!important;box-shadow:0 0 0 1000px #251C23 inset!important;-webkit-text-fill-color:#F5F0E8!important;caret-color:#D8785F!important}
.kabli-app-main h1,.kabli-app-main h2,.kabli-app-main h3,.kabli-app-main p,.kabli-app-main label,.kabli-app-main li{opacity:1}
.kabli-app-main .kabli-h2,.kabli-app-main .kabli-h3,.kabli-app-main .kabli-serif-md{color:#F5F0E8}
.kabli-app-main .kabli-btn{color:#2B2028!important}

/* KABLI 0.9.6 — official wordmark asset */
.kabli-logo-link{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0}
.kabli-logo-image{display:block;width:clamp(8.75rem,13vw,11.5rem);height:auto;max-width:none}
.kabli-footer-logo-link{display:inline-block;line-height:0}
.kabli-footer-logo-image{display:block;width:clamp(13rem,28vw,24rem);height:auto;max-width:100%}
@media(max-width:767px){.kabli-logo-image{width:8.75rem}.kabli-footer-logo-image{width:min(18rem,82vw)}}
