/* Holter Strategic revision layer. Load after client.css. New page sections use the hx- prefix. */
:root{--hx-ease:cubic-bezier(.7,0,.2,1);--hx-out:cubic-bezier(.2,.8,.2,1);--hx-rule-dark:#4a6158;--hx-soft-dark:#b3c2b4}

/* Image-led homepage hero. The supplied artwork remains unaltered. */
.hx-image-hero{position:relative;isolation:isolate;overflow:hidden;background:#142820;color:var(--paper)}
.hx-image-hero__media{position:absolute;inset:0 -27% 0 27%;z-index:-2}
.hx-image-hero__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 45%}
.hx-image-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#142820 0%,rgba(20,40,32,.98) 27%,rgba(20,40,32,.88) 38%,rgba(20,40,32,.45) 48%,transparent 59%)}
.hx-image-hero__body{position:relative;padding-block:clamp(52px,5.2vw,86px);min-height:720px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hx-image-hero .eyebrow{color:var(--lime);margin:0 0 26px}
.hx-image-hero h1{max-width:720px;margin:0 0 28px;font-size:clamp(55px,5.15vw,84px);line-height:.97;letter-spacing:-.06em;font-weight:650;color:#fffdf7}
.hx-image-hero h1 span{display:block}
.hx-image-hero h1 span+span{color:var(--lime);margin-top:.22em}
.hx-image-hero .intro{max-width:530px;margin:0;color:#fffdf7;font-size:18px;line-height:1.6;letter-spacing:0}
.hx-image-hero .actions{margin-top:27px;gap:28px}
.hx-image-hero .btn{background:var(--lime);border-color:var(--lime);color:var(--forest)}
.hx-image-hero .btn:hover{background:#fffdf7;border-color:#fffdf7}
.hx-image-hero .text-link{color:#fffdf7}
.hx-image-hero :focus-visible{outline-color:var(--lime)}
@media(min-width:1800px){.hx-image-hero__body{min-height:820px}.hx-image-hero .intro{max-width:580px;font-size:20px}}
@media(max-width:1100px){
 .hx-image-hero__media{position:relative;inset:auto;z-index:auto;aspect-ratio:1725/912}
 .hx-image-hero__media img{object-fit:contain}
 .hx-image-hero:after{display:none}
 .hx-image-hero__body{min-height:0;padding-block:45px 52px}
 .hx-image-hero h1{font-size:clamp(46px,7.6vw,78px);max-width:none}
 .hx-image-hero h1 br{display:none}
 .hx-image-hero .intro{max-width:690px}
}
@media(max-width:580px){
 .hx-image-hero__body{padding-block:32px 40px}
 .hx-image-hero .eyebrow{font-size:9px;margin-bottom:22px}
 .hx-image-hero h1{font-size:clamp(36px,10.7vw,58px);line-height:1.03;letter-spacing:-.052em;margin-bottom:24px}
 .hx-image-hero h1 span+span{margin-top:.35em}
 .hx-image-hero .intro{font-size:16px;line-height:1.6}
 .hx-image-hero .actions{gap:20px;margin-top:24px}
}

/* Header and footer refinements */
.brand i{display:inline-block;transition:transform .6s var(--hx-out)}
.brand:hover i,.brand:focus-visible i{transform:rotate(120deg)}
.site-nav a:not(.nav-cta){background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;padding-bottom:3px;transition:background-size .3s var(--hx-out)}
.site-nav a:not(.nav-cta):hover,.site-nav a:not(.nav-cta)[aria-current]{text-decoration:none;background-size:100% 1px}
.nav-cta{transition:background .2s,color .2s}
.nav-cta span{display:inline-block;transition:transform .25s var(--hx-out)}
.nav-cta:hover{background:var(--forest);color:var(--paper);text-decoration:none}
.nav-cta:hover span{transform:translate(3px,-3px)}
.site-footer :focus-visible,.hx-shift :focus-visible,.hx-demo--feature :focus-visible{outline-color:var(--lime)}
.site-footer .footer-links a{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 100%/0 1px;transition:background-size .3s var(--hx-out)}
.site-footer .footer-links a:hover{background-size:100% 1px}

/* Shared */
.btn span{display:inline-block;transition:transform .25s var(--hx-out)}
.btn:hover span{transform:translate(3px,-3px)}
.hx-star{position:absolute;display:block;aspect-ratio:1;pointer-events:none;animation:hx-turn 4s var(--hx-out) both}
.hx-star,.hx-star:before,.hx-star:after{background:linear-gradient(var(--orange),var(--orange)) center/17% 100% no-repeat}
.hx-star:before,.hx-star:after{content:'';position:absolute;inset:0}
.hx-star:before{transform:rotate(60deg)}
.hx-star:after{transform:rotate(-60deg)}

/* Home hero */
.hx-hero{position:relative;overflow:hidden;padding:clamp(44px,6vw,96px) 0 clamp(56px,7vw,104px);border-bottom:1px solid var(--line)}
.hx-hero__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.hx-kicker{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 clamp(28px,4vw,52px);font-size:11px;font-weight:650;letter-spacing:.15em;text-transform:uppercase}
.hx-kicker span+span:before{content:'';display:inline-block;width:36px;height:1px;margin-right:18px;background:var(--orange);vertical-align:middle}
.hx-hero__title{grid-column:1/-1;position:relative;z-index:1;margin:0 0 clamp(32px,4vw,56px);font-size:clamp(52px,9.2vw,148px);font-weight:650;line-height:.9;letter-spacing:-.068em}
.hx-hero__title mark{position:relative;z-index:0;padding:0 .03em;background:none;color:inherit}
.hx-hero__title mark:before{content:'';position:absolute;z-index:-1;left:-.02em;right:-.02em;bottom:.04em;height:.4em;background:var(--lime);transform-origin:0 50%;animation:hx-swipe .9s var(--hx-ease) .3s both}
.hx-hero__title em,.hx-phero h1 em{font-style:normal;color:var(--orange)}
.hx-hero__title em:after,.hx-phero h1 em:after{content:'';display:inline-block;width:.055em;height:.74em;margin-left:.07em;background:var(--orange);vertical-align:-.02em;animation:hx-blink 1s steps(1) .8s 3}
.hx-hero__foot{grid-column:1/8;position:relative;z-index:1}
.hx-hero__lede{max-width:600px;margin:0;font-size:clamp(18px,1.6vw,23px);line-height:1.5;letter-spacing:-.015em}
.hx-hero__foot .actions{margin-top:30px}
.hx-hero .hx-star{grid-column:9/-1;grid-row:3;justify-self:end;position:relative;width:clamp(200px,24vw,340px);margin:0 -2vw -10vw 0}

/* Shift: out / in ledger */
.hx-shift{padding:clamp(64px,9vw,128px) 0;background:var(--forest);color:var(--paper)}
.hx-shift__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);align-items:start}
.hx-shift .eyebrow{color:var(--lime)}
.hx-shift h2{color:var(--on-dark,var(--paper));font-size:clamp(38px,4.4vw,66px)}
.hx-shift__head p:not(.eyebrow){max-width:440px;color:#d1d9cf;font-size:18px}
.hx-ledger{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}
.hx-ledger__label{margin:0 0 14px;font-size:11px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;color:var(--hx-soft-dark)}
.hx-ledger__col--in .hx-ledger__label{color:var(--lime)}
.hx-ledger ul{list-style:none;margin:0;padding:0}
.hx-ledger li{padding:16px 0 18px;border-top:1px solid var(--hx-rule-dark);font-size:clamp(20px,1.9vw,28px);line-height:1.2;letter-spacing:-.03em}
.hx-ledger__col--out li{color:var(--hx-soft-dark)}
.hx-ledger s{text-decoration:none;background:linear-gradient(var(--bright,#df5d36),var(--bright,#df5d36)) no-repeat 0 58%/100% 3px;transition:background-size .7s var(--hx-ease)}
.hx-ledger__col--in li{position:relative;padding-left:1.1em;color:var(--lime);font-weight:550;transition:opacity .6s var(--hx-out),transform .6s var(--hx-out)}
.hx-ledger__col--in li:before{content:'+';position:absolute;left:0;top:15px;font-weight:400}
.hx-ledger__col--out li:nth-child(2) s{transition-delay:.15s}.hx-ledger__col--out li:nth-child(3) s{transition-delay:.3s}.hx-ledger__col--out li:nth-child(4) s{transition-delay:.45s}
.hx-ledger__col--in li:nth-child(1){transition-delay:.7s}.hx-ledger__col--in li:nth-child(2){transition-delay:.85s}.hx-ledger__col--in li:nth-child(3){transition-delay:1s}

/* Kindly Edit demo */
.hx-demo{padding:clamp(64px,8vw,120px) 0;background:var(--lime);color:var(--forest)}
.hx-demo__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:clamp(32px,4vw,56px)}
.hx-demo__head{grid-column:1/-1;display:grid;grid-template-columns:7fr 5fr;gap:24px 48px;align-items:end}
.hx-demo__head .eyebrow{grid-column:1/-1;margin:0;color:var(--forest)}
.hx-demo__title{margin:0;color:var(--forest);font-size:clamp(48px,7.4vw,118px);line-height:.92;letter-spacing:-.065em}
.hx-demo__title span{display:inline-block;transition:opacity .5s var(--hx-out),transform .6s var(--hx-out)}
.hx-demo__title span:nth-child(2){transition-delay:.12s}.hx-demo__title span:nth-child(3){transition-delay:.24s;color:var(--orange)}
.hx-demo__head>p:not(.eyebrow){max-width:380px;margin:0 0 .4em;font-size:clamp(18px,1.6vw,22px);line-height:1.45}
.kindly-demo{grid-column:2/-1;margin:0}
.kindly-demo__frame{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--forest);border:2px solid var(--forest);box-shadow:14px 14px 0 var(--orange);transition:transform .9s var(--hx-out),box-shadow .4s}
.kindly-demo video{display:block;width:100%;height:100%;object-fit:contain;background:var(--forest)}
.kindly-demo.is-playing .kindly-demo__frame{box-shadow:6px 6px 0 var(--orange)}
.kindly-demo figcaption{margin-top:22px;font-size:12px}
.kindly-demo figcaption a{font-weight:650;margin-left:10px}
.kindly-demo__description{font-size:12px;line-height:1.6;margin-top:8px;max-width:600px}
.kindly-demo__description summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kindly-demo__description p{font-size:14px;line-height:1.6;margin:12px 0 0}
.hx-demo--feature{background:var(--forest);color:var(--paper)}
.hx-demo--feature .hx-demo__head{grid-column:1/5;display:block;align-self:center}
.hx-demo--feature .hx-demo__head .eyebrow{margin-bottom:24px;color:var(--lime)}
.hx-demo--feature .hx-demo__title{color:var(--on-dark,var(--paper));font-size:clamp(48px,5.6vw,92px)}
.hx-demo--feature .hx-demo__title span{display:block}
.hx-demo--feature .hx-demo__title span:nth-child(3){color:var(--lime)}
.hx-demo--feature .hx-demo__head>p:not(.eyebrow){margin-top:22px;font-size:15px;color:var(--hx-soft-dark)}
.hx-demo--feature .kindly-demo{grid-column:5/-1;align-self:center}
.hx-demo--feature .kindly-demo__frame{border-color:var(--hx-rule-dark);box-shadow:14px 14px 0 var(--lime)}
.hx-demo--feature .kindly-demo.is-playing .kindly-demo__frame{box-shadow:6px 6px 0 var(--lime)}
.hx-steps{list-style:none;counter-reset:hx-step;margin:32px 0 0;padding:0}
.hx-steps li{counter-increment:hx-step;display:grid;grid-template-columns:34px 1fr;padding:12px 0;border-top:1px solid var(--hx-rule-dark);font-size:17px;line-height:1.4}
.hx-steps li:before{content:'0' counter(hx-step);color:var(--lime);font-size:12px;padding-top:4px}

/* Founder */
.hx-maker{padding:clamp(72px,9vw,136px) 0;overflow:hidden}
.hx-maker__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(48px,7vw,112px);align-items:center}
.hx-maker__photo{position:relative;margin:0 0 clamp(36px,4vw,64px) 16px}
.hx-maker__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:grayscale(100%) contrast(1.05);box-shadow:-16px 16px 0 var(--lime)}
.hx-maker__year{position:absolute;left:-.05em;bottom:-.34em;font-size:clamp(84px,11vw,176px);font-weight:700;line-height:1;letter-spacing:-.075em;color:var(--orange);transition:opacity .7s var(--hx-out),transform .8s var(--hx-out)}
.hx-maker h2{font-size:clamp(40px,4.8vw,72px);line-height:.98}
.hx-maker__copy p:not(.eyebrow){max-width:560px;font-size:18px;line-height:1.7}
.hx-maker__copy .eyebrow{color:var(--orange)}
.hx-maker__copy .actions{margin-top:12px}

/* Closing call */
.hx-call{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) 0;background:var(--orange);color:var(--white)}
.hx-call__grid{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:32px clamp(40px,6vw,96px);align-items:end}
.hx-call h2{position:relative;z-index:1;margin:0;color:var(--white);font-size:clamp(46px,6.6vw,104px);line-height:.92;letter-spacing:-.065em}
.hx-call__body{position:relative;z-index:1}
.hx-call__body p{max-width:440px;font-size:18px;line-height:1.55}
.hx-call .btn{background:var(--white);border-color:var(--white);color:var(--forest)}
.hx-call .btn:hover{background:var(--forest);border-color:var(--forest);color:var(--white)}
.hx-call :focus-visible{outline-color:var(--white)}
.hx-star--call{right:-90px;top:-140px;width:300px;opacity:.16}
.hx-star--call,.hx-star--call:before,.hx-star--call:after{background-image:linear-gradient(var(--white),var(--white))}

/* Platform hero */
.hx-phero{padding:clamp(52px,7vw,104px) 0 clamp(52px,6vw,88px)}
.hx-phero .eyebrow{color:var(--orange)}
.hx-phero h1{max-width:1180px;margin-bottom:28px;font-size:clamp(46px,8vw,124px);line-height:.92;letter-spacing:-.066em}
.hx-phero__lede{max-width:600px;margin:0;font-size:clamp(18px,1.6vw,23px);line-height:1.5}

/* Platform: underneath */
.hx-under{padding:clamp(64px,8vw,120px) 0;background:var(--white);border-top:1px solid var(--line)}
.hx-under__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.hx-under h2{font-size:clamp(38px,4.4vw,64px)}
.hx-under__copy p:not(.eyebrow){max-width:540px}
.hx-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.hx-stack__label{margin:0 0 12px;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hx-stack__col--ours .hx-stack__label{color:var(--orange)}
.hx-stack ul{list-style:none;margin:0;padding:0}
.hx-stack li{margin-top:8px;padding:14px 16px;border:1px solid #a9b59e;background:#e6e7dc;font-size:14px;line-height:1.35;transition:opacity .5s var(--hx-out),transform .6s var(--hx-out)}
.hx-stack__col--ours li{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.hx-stack__col--ours li.is-key{padding-block:30px;background:var(--lime);border-color:var(--lime);color:var(--forest);font-weight:650}
.hx-stack li:nth-child(2){transition-delay:.08s}.hx-stack li:nth-child(3){transition-delay:.16s}.hx-stack li:nth-child(4){transition-delay:.24s}.hx-stack li:nth-child(5){transition-delay:.32s}
.hx-stack__note{grid-column:1/-1;margin:6px 0 0;font-size:12px;color:var(--muted)}

/* Platform: agents and questions */
.hx-agents{padding:clamp(64px,8vw,120px) 0;border-top:1px solid var(--line)}
.hx-agents__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);align-items:start}
.hx-agents h2{font-size:clamp(42px,5vw,76px);line-height:.95}
.hx-agents__copy p:not(.eyebrow){font-size:18px;line-height:1.7}
.hx-faq details{border-top:1px solid var(--forest)}
.hx-faq details:last-child{border-bottom:1px solid var(--forest)}
.hx-faq summary{position:relative;display:block;padding:22px 48px 22px 0;cursor:pointer;list-style:none;font-size:clamp(19px,1.7vw,24px);font-weight:550;line-height:1.3;letter-spacing:-.02em}
.hx-faq summary::-webkit-details-marker{display:none}
.hx-faq summary:after{content:'+';position:absolute;right:4px;top:50%;font-size:30px;font-weight:300;line-height:1;color:var(--orange);transform:translateY(-50%);transition:transform .3s var(--hx-out)}
.hx-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.hx-faq summary:hover{color:var(--orange)}
.hx-faq details p{max-width:620px;margin:0 0 24px;font-size:16px;line-height:1.7;color:var(--muted)}

/* Motion states. JS adds .hx-motion only outside the editor and when motion is allowed. */
.hx-motion .hx-reveal{transition:opacity .7s var(--hx-out),transform .8s var(--hx-out)}
.hx-motion .hx-reveal:not(.is-in){opacity:0;transform:translateY(28px)}
.hx-motion .hx-ledger:not(.is-in) s{background-size:0 3px}
.hx-motion .hx-ledger:not(.is-in) .hx-ledger__col--in li{opacity:0;transform:translateX(-14px)}
.hx-motion .hx-demo__head:not(.is-in) .hx-demo__title span{opacity:0;transform:translateY(.35em)}
.hx-motion .kindly-demo:not(.is-in) .kindly-demo__frame{transform:rotate(-1.5deg) translateY(24px)}
.hx-motion .hx-maker__photo:not(.is-in) .hx-maker__year{opacity:0;transform:translateY(.3em)}
.hx-motion .hx-stack:not(.is-in) li{opacity:0;transform:translateY(-18px)}

@keyframes hx-turn{from{transform:rotate(-60deg)}to{transform:rotate(0deg)}}
@keyframes hx-swipe{from{transform:scaleX(0)}}
@keyframes hx-blink{50%{opacity:0}}

/* Responsive */
@media(max-width:1100px){
.hx-hero .hx-star{grid-column:8/-1;margin-bottom:-14vw}
.hx-demo--feature .hx-demo__head{grid-column:1/-1}
.hx-demo--feature .hx-demo__title span{display:inline-block}
.hx-demo--feature .kindly-demo{grid-column:1/-1}
.hx-ledger li{font-size:21px}
}
@media(max-width:820px){
.hx-hero__foot{grid-column:1/-1}
.hx-hero .hx-star{position:absolute;right:-30px;top:-10px;grid-row:auto;width:150px;margin:0}
.hx-shift__grid,.hx-maker__grid,.hx-under__grid,.hx-agents__grid{grid-template-columns:1fr}
.hx-demo__head{grid-template-columns:1fr}
.kindly-demo{grid-column:1/-1}
.hx-maker__photo{max-width:440px}
.hx-call__grid{grid-template-columns:1fr}
}
@media(max-width:580px){
.hx-hero__title{font-size:clamp(46px,13.4vw,64px)}
.hx-hero .hx-star{width:96px;right:-18px;top:-6px}
.hx-kicker{font-size:10px;padding-right:70px}
.hx-kicker span+span:before{display:none}
.hx-ledger{grid-template-columns:1fr 1fr;gap:20px}
.hx-ledger li{font-size:18px;min-height:106px}
.kindly-demo__frame{box-shadow:8px 8px 0 var(--orange)}
.hx-demo--feature .kindly-demo__frame{box-shadow:8px 8px 0 var(--lime)}
.hx-demo__title,.hx-demo--feature .hx-demo__title{font-size:clamp(42px,12.4vw,56px)}
.hx-maker__photo{margin-left:10px}
.hx-maker__photo img{box-shadow:-10px 10px 0 var(--lime)}
.hx-maker h2,.hx-agents h2{font-size:38px}
.hx-stack{gap:10px}
.hx-stack li{padding:11px 10px;font-size:12px}
.hx-stack__col--ours li.is-key{padding-block:22px}
.hx-call h2{font-size:clamp(44px,12.4vw,58px)}
.hx-star--call{width:200px;right:-70px;top:-90px}
.hx-phero h1{font-size:clamp(40px,11.4vw,56px)}
}

/* Editor and reduced motion: everything visible, nothing moving */
body.cantata-editing .hx-star,body.kindly-editing .hx-star,html.ce-on .hx-star,
body.cantata-editing .hx-hero__title mark:before,body.kindly-editing .hx-hero__title mark:before,html.ce-on .hx-hero__title mark:before{animation:none}
body.cantata-editing :is(.hx-hero__title,.hx-phero h1) em:after,body.kindly-editing :is(.hx-hero__title,.hx-phero h1) em:after,html.ce-on :is(.hx-hero__title,.hx-phero h1) em:after{display:none}
@media(prefers-reduced-motion:reduce){
.hx-star,.hx-hero__title mark:before,.hx-hero__title em:after,.hx-phero h1 em:after{animation:none!important}
.hx-motion .hx-reveal,.hx-motion .hx-ledger__col--in li,.hx-motion .hx-demo__title span,.hx-motion .kindly-demo__frame,.hx-motion .hx-maker__year,.hx-motion .hx-stack li{opacity:1!important;transform:none!important}
.hx-motion .hx-ledger s{background-size:100% 3px!important}
}
