.tkp-editorial,.tkp-card-grid{box-sizing:border-box;max-width:1280px;margin:0 auto;padding:clamp(3rem,8vw,8rem) clamp(1.25rem,4vw,4rem);font-family:inherit;color:#20241f}.tkp-eyebrow{font-size:.7rem;letter-spacing:.16em;line-height:1.5;font-weight:700;margin:0 0 1.5rem}.tkp-editorial h2{font-size:clamp(2.7rem,6vw,6.5rem);line-height:.96;letter-spacing:-.05em;font-weight:400;margin:0 0 2rem}.tkp-editorial h2 em{font-family:Georgia,serif;font-weight:400}.tkp-editorial__copy>p{font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65;max-width:54ch;margin:0 0 2rem}.tkp-button{display:inline-block;color:inherit;border-bottom:1px solid currentColor;padding:0 0 .65rem;text-decoration:none;font-size:.72rem;letter-spacing:.14em;font-weight:700}.tkp-button span,.tkp-card__link span{margin-left:.5rem}.tkp-editorial__media img{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover}.tkp-editorial{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,8vw,9rem);align-items:center;background:#f4f2ec}.tkp-editorial--reverse{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.tkp-editorial--reverse .tkp-editorial__copy{order:2}.tkp-editorial--reverse .tkp-editorial__media{order:1}.tkp-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1rem;background:#f4f2ec}.tkp-card{position:relative;display:block;min-height:clamp(360px,44vw,620px);overflow:hidden;color:#fff;background:#52605a;text-decoration:none}.tkp-card img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tkp-card:hover img{transform:scale(1.04)}.tkp-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.66))}.tkp-card__content{position:absolute;inset:auto 2rem 2rem}.tkp-card__number{display:block;font-size:.7rem;letter-spacing:.14em;margin-bottom:1.5rem}.tkp-card h3{font-size:clamp(1.8rem,3vw,3.8rem);line-height:1;letter-spacing:-.04em;font-weight:400;margin:0 0 1.5rem}.tkp-card__link{font-size:.7rem;letter-spacing:.14em;font-weight:700}@media(max-width:760px){.tkp-editorial,.tkp-editorial--reverse{grid-template-columns:1fr;gap:2.5rem}.tkp-editorial--reverse .tkp-editorial__copy,.tkp-editorial--reverse .tkp-editorial__media{order:initial}.tkp-card-grid{grid-template-columns:1fr}.tkp-card{min-height:430px}.tkp-card__content{inset:auto 1.5rem 1.5rem}}


/* Cover hero: all rules scoped to the plugin component; no theme or WPBakery globals. */
.tkp-hero.tkp-hero--cover{box-sizing:border-box;isolation:isolate;position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:none;min-height:clamp(620px,calc(100svh - 90px),900px);margin:0;overflow:hidden;padding:clamp(38px,4vw,68px) clamp(24px,4vw,70px) 0;background-color:#26372d;background-image:var(--tkp-hero-image,none);background-position:center;background-size:cover;color:#fff;font-family:inherit}
.tkp-hero.tkp-hero--cover *{box-sizing:border-box}
.tkp-hero.tkp-hero--cover .tkp-hero__copy{position:relative;z-index:1;width:min(100%,960px);max-width:960px;margin:0;padding:0}
.tkp-hero.tkp-hero--cover .tkp-hero__eyebrow{margin:0 0 22px;color:#fff;font-size:11px;line-height:1.5;letter-spacing:.14em;font-weight:600}
.tkp-hero.tkp-hero--cover .tkp-hero__title{display:block;margin:0 0 24px;padding:0;max-width:950px;color:#fff;font-family:Georgia,serif;font-size:clamp(54px,7.1vw,120px);line-height:.94;letter-spacing:-.045em;font-weight:400;text-transform:none;text-wrap:balance}
.tkp-hero.tkp-hero--cover .tkp-hero__title span,.tkp-hero.tkp-hero--cover .tkp-hero__title em{display:block;color:#fff;font:inherit;line-height:inherit;letter-spacing:inherit}
.tkp-hero.tkp-hero--cover .tkp-hero__title em{color:#dc8d80;font-style:italic}
.tkp-hero.tkp-hero--cover .tkp-hero__lead{max-width:570px;margin:0 0 32px;color:#fff;font-size:clamp(15px,1.2vw,18px);line-height:1.6;font-weight:400}
.tkp-hero.tkp-hero--cover .tkp-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 36px}
.tkp-hero.tkp-hero--cover .tkp-hero__button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 23px;border:1px solid #fff;border-radius:0;color:#fff;background:transparent;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s}
.tkp-hero.tkp-hero--cover .tkp-hero__button--primary{background:#b7654d;border-color:#b7654d}
.tkp-hero.tkp-hero--cover .tkp-hero__button:hover{background:#fff;border-color:#fff;color:#24352c}
.tkp-hero.tkp-hero--cover .tkp-hero__nav{position:relative;z-index:1;align-self:flex-end;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(750px,100%);margin:0;border-top:1px solid rgba(255,255,255,.35)}
.tkp-hero.tkp-hero--cover .tkp-hero__nav a{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:108px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:13px;font-weight:600;line-height:1.3;background:rgba(0,0,0,.08)}
.tkp-hero.tkp-hero--cover .tkp-hero__nav a:first-child{border-left:1px solid rgba(255,255,255,.28)}
.tkp-hero.tkp-hero--cover .tkp-hero__nav-number{font-size:17px;font-weight:400;letter-spacing:.06em}
@media(max-width:767px){.tkp-hero.tkp-hero--cover{min-height:640px;padding:52px 22px 0;background-position:58% center;background-image:var(--tkp-hero-image,none)}.tkp-hero.tkp-hero--cover .tkp-hero__title{font-size:clamp(46px,10vw,72px);line-height:1.01;letter-spacing:-.04em}.tkp-hero.tkp-hero--cover .tkp-hero__lead{font-size:15px;line-height:1.55}.tkp-hero.tkp-hero--cover .tkp-hero__actions{gap:10px;margin-bottom:38px}.tkp-hero.tkp-hero--cover .tkp-hero__button{min-height:46px;padding:10px 14px;font-size:10px}.tkp-hero.tkp-hero--cover .tkp-hero__nav{width:calc(100% + 44px);margin:0 -22px;grid-template-columns:repeat(3,minmax(0,1fr))}.tkp-hero.tkp-hero--cover .tkp-hero__nav a{min-height:82px;padding:12px 9px;font-size:11px}.tkp-hero.tkp-hero--cover .tkp-hero__nav-number{font-size:14px}}
@media(max-width:390px){.tkp-hero.tkp-hero--cover .tkp-hero__title{font-size:43px}.tkp-hero.tkp-hero--cover .tkp-hero__nav a{font-size:10px;padding:10px 6px}}

/* v0.3.0: overlay sits above background but below all hero content. */
.tkp-hero.tkp-hero--cover::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-opacity,.4)) 0%,rgba(var(--tkp-overlay-rgb,16,37,29),calc(var(--tkp-overlay-opacity,.4)*.55)) 55%,transparent 100%)}
.tkp-hero.tkp-hero--overlay-uniform::before{background:rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-opacity,.4))}
.tkp-hero.tkp-hero--overlay-bottom::before{background:linear-gradient(0deg,rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-opacity,.4)),transparent)}
.tkp-hero.tkp-hero--no-overlay::before{display:none}
.tkp-editorial h2{font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:1.04;letter-spacing:-.035em}
.tkp-editorial .tkp-eyebrow{font-size:.7rem;line-height:1.5;letter-spacing:.16em;font-weight:700;margin:0 0 1.5rem}
.tkp-card-grid .tkp-card,.tkp-card-grid .tkp-card:visited,.tkp-card-grid .tkp-card:hover{color:#fff}
.tkp-card-grid .tkp-card .tkp-card__content,.tkp-card-grid .tkp-card .tkp-card__content *{color:#fff}
.tkp-card-grid .tkp-card .tkp-card__shade{background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.78) 100%)}
.tkp-card-grid .tkp-card h3{color:#fff!important}
@media(max-width:767px){
.tkp-hero.tkp-hero--cover::before{background:linear-gradient(90deg,rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-mobile-opacity,.5)),rgba(var(--tkp-overlay-rgb,16,37,29),calc(var(--tkp-overlay-mobile-opacity,.5)*.55)))}
.tkp-hero.tkp-hero--overlay-uniform::before{background:rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-mobile-opacity,.5))}
.tkp-hero.tkp-hero--overlay-bottom::before{background:linear-gradient(0deg,rgba(var(--tkp-overlay-rgb,16,37,29),var(--tkp-overlay-mobile-opacity,.5)),transparent)}
.tkp-hero.tkp-hero--no-overlay::before{display:none}
.tkp-editorial,.tkp-editorial--reverse{gap:1.5rem}
.tkp-editorial__copy>p:last-child{margin-bottom:0}
.tkp-editorial h2{font-size:clamp(2.3rem,8vw,3.7rem);line-height:1.08}
}

/* 0.3.1 Editorial: WPBakery row owns background, outer width and spacing.
   Keep existing shortcode compatible; internal image/text grid remains component-owned. */
.tkp-editorial{width:100%;max-width:none;margin:0;padding:0;background:transparent;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,72px)}
.tkp-editorial--reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.tkp-editorial__copy{min-width:0}
.tkp-editorial h2{font-size:clamp(2.6rem,4.1vw,4.9rem);line-height:1.06;overflow-wrap:normal}
.tkp-editorial h2 em{color:#b96b50;font-style:italic}
@media(max-width:760px){.tkp-editorial,.tkp-editorial--reverse{grid-template-columns:minmax(0,1fr);gap:24px}.tkp-editorial h2{font-size:clamp(2.3rem,8vw,3.7rem)}}

/* v0.4.0 – only typographic components; WPBakery controls backgrounds, columns and padding. */
.tkp-type-kicker{margin:0 0 18px!important;font-family:inherit;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tkp-type-heading{margin:0 0 24px!important;padding:0!important;font-family:Georgia,serif;font-size:clamp(38px,4.2vw,70px);font-weight:400;letter-spacing:-.04em;line-height:1.04;color:inherit;overflow-wrap:normal}
.tkp-type-heading em{font:inherit;font-style:italic}
.tkp-type-heading--compact{font-size:clamp(30px,3vw,52px)}
.tkp-type-heading--light{color:#fff}
.tkp-type-lead{margin:0 0 24px!important;font-size:clamp(16px,1.25vw,19px);line-height:1.65;color:inherit}
.tkp-type-lead--compact{font-size:16px}.tkp-type-lead--light{color:#fff}
.tkp-type-kicker--center,.tkp-type-heading--center,.tkp-type-lead--center{text-align:center}
.tkp-type-kicker--right,.tkp-type-heading--right,.tkp-type-lead--right{text-align:right}
@media(max-width:767px){.tkp-type-heading{font-size:clamp(36px,8vw,52px)}.tkp-type-heading--compact{font-size:clamp(30px,7vw,42px)}}

/* 0.5.0 design system: scoped component tokens, WPBakery row owns outer width/spacing. */
.tkp-ds{--tkp-ds-bg:#fff;--tkp-ds-ink:#173226;--tkp-ds-accent:#b96b50;--tkp-ds-line:#dedbd4;box-sizing:border-box;color:var(--tkp-ds-ink);font-family:inherit}
.tkp-ds--cream{--tkp-ds-bg:#f6f3ed;--tkp-ds-ink:#173226;--tkp-ds-accent:#b96b50;--tkp-ds-line:#d9d3c9}
.tkp-ds--dark{--tkp-ds-bg:#173226;--tkp-ds-ink:#fff;--tkp-ds-accent:#e7b9a8;--tkp-ds-line:rgba(255,255,255,.28)}
.tkp-ds--terra{--tkp-ds-bg:#b75c43;--tkp-ds-ink:#173226;--tkp-ds-accent:#173226;--tkp-ds-line:rgba(23,50,38,.35)}
.tkp-ds-head{width:100%;max-width:none;padding:0;background:transparent}
.tkp-ds--center{text-align:center}.tkp-ds--right{text-align:right}
.tkp-ds .tkp-ds-kicker{margin:0 0 18px;color:var(--tkp-ds-accent);font-size:11px;line-height:1.5;letter-spacing:.15em;font-weight:700;text-transform:uppercase}
.tkp-ds .tkp-ds-title{margin:0 0 22px;padding:0;color:var(--tkp-ds-ink);font-family:Georgia,serif;font-size:clamp(38px,4.2vw,70px);font-weight:400;line-height:1.04;letter-spacing:-.04em}
.tkp-ds .tkp-ds-title em{font:inherit;font-style:italic;color:var(--tkp-ds-accent)}
.tkp-ds .tkp-ds-intro{max-width:62ch;margin:0;color:var(--tkp-ds-ink);font-size:clamp(16px,1.25vw,19px);line-height:1.65}
.tkp-ds--center .tkp-ds-intro{margin-inline:auto}.tkp-ds--right .tkp-ds-intro{margin-left:auto}
.tkp-ds-nav{width:100%;background:var(--tkp-ds-bg);padding:clamp(20px,3vw,38px)}
.tkp-ds-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--tkp-ds-line);border-left:1px solid var(--tkp-ds-line)}
.tkp-ds-nav--2 .tkp-ds-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tkp-ds-nav--4 .tkp-ds-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.tkp-ds-nav-grid a{display:flex;flex-direction:column;gap:12px;min-height:115px;padding:22px;border-right:1px solid var(--tkp-ds-line);border-bottom:1px solid var(--tkp-ds-line);color:var(--tkp-ds-ink);text-decoration:none;font-size:16px;font-weight:600}
.tkp-ds-nav-grid a span:last-child{align-self:flex-end;margin-top:auto}.tkp-ds-nav-num{color:var(--tkp-ds-accent);font-size:12px;letter-spacing:.12em}
.tkp-ds-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding:clamp(30px,5vw,76px);background:var(--tkp-ds-bg)}
.tkp-ds-faq-items details{border-bottom:1px solid var(--tkp-ds-line)}.tkp-ds-faq-items details:first-child{border-top:1px solid var(--tkp-ds-line)}
.tkp-ds-faq-items summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;list-style:none;color:var(--tkp-ds-ink);font-weight:600}.tkp-ds-faq-items summary::-webkit-details-marker{display:none}
.tkp-ds-faq-mark{font-size:22px;font-weight:400}.tkp-ds-faq-items details[open] .tkp-ds-faq-mark{transform:rotate(45deg)}.tkp-ds-faq-answer{padding:0 26px 20px 0;line-height:1.65}.tkp-ds-faq-answer p{margin:0;color:var(--tkp-ds-ink)}
.tkp-ds-cta{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,100px);width:100%;padding:clamp(40px,6vw,90px);background:var(--tkp-ds-bg)}
.tkp-ds-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.tkp-ds-cta-actions .tkp-ds-kicker{margin-bottom:4px}
.tkp-ds-cta-primary{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:15px 0;border-bottom:1px solid var(--tkp-ds-line);color:var(--tkp-ds-ink);font-family:Georgia,serif;font-size:clamp(26px,3vw,42px);text-decoration:none}
.tkp-ds-cta-secondary{color:var(--tkp-ds-ink);font-size:14px;text-decoration:underline;text-underline-offset:5px}
@media(max-width:767px){.tkp-ds .tkp-ds-title{font-size:clamp(35px,8vw,52px)}.tkp-ds-nav-grid,.tkp-ds-nav--2 .tkp-ds-nav-grid,.tkp-ds-nav--4 .tkp-ds-nav-grid{grid-template-columns:1fr 1fr}.tkp-ds-nav-grid a{min-height:95px;padding:16px;font-size:14px}.tkp-ds-faq,.tkp-ds-cta{grid-template-columns:1fr;padding:32px 22px;gap:28px}}
@media(max-width:420px){.tkp-ds-nav-grid,.tkp-ds-nav--2 .tkp-ds-nav-grid,.tkp-ds-nav--4 .tkp-ds-nav-grid{grid-template-columns:1fr}}
