@font-face{font-family:Freight;src:url('assets/Freight Text Pro Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Montreal;src:url('assets/PPNeueMontreal-Book.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montreal;src:url('assets/PPNeueMontreal-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
:root{font-family:Montreal,Arial,sans-serif;color:#111;--cream:#f2f3e9;background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #314735;outline-offset:5px}
.masthead{height:6.875vw;min-height:80px;padding:2.55vw 2.71vw;display:flex;align-items:center}.masthead a{display:block;line-height:0}.masthead img{width:7.8vw;min-width:100px;height:auto;display:block}
main{padding:0 2.71vw 30px}.hero{isolation:isolate;position:relative;aspect-ratio:1817/719;border-radius:20px;overflow:hidden;container-type:inline-size;background:#edf0df}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;pointer-events:none}
.orbit-position{position:absolute;left:49.778%;top:128.995%;width:96.805%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.hero.centred .orbit-position{left:50%;top:50%;width:min(76%,140cqh)}
.orbit{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.orbit-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.orbit-main{opacity:.88}.orbit-trail-near{transform:rotate(-1.1deg);opacity:.18;filter:blur(2px)}.orbit-trail-far{transform:rotate(-2.2deg);opacity:.10;filter:blur(4px)}
.opening{position:relative;padding:3.91% 0 0 3.52%;width:44.36%}h1{font-family:Freight,Georgia,serif;font-size:3.8536cqw;font-weight:500;line-height:1.142857;letter-spacing:0;margin:0;width:100%}.problem{margin-top:3.027cqw;width:28.233cqw;font-size:1.6511cqw;line-height:1.2}.problem p{margin:0}.problem .answer{font-weight:500;margin-bottom:1.98cqw}.arrow{display:block;margin-top:.05em}.partnership{position:absolute;left:57.07%;top:69.54%;width:37.04%;font-size:1.6511cqw;line-height:1.2;margin:0}
.preview-controls{max-width:1400px;margin:26px auto 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:#5d6259;font-size:13px}.preview-label{margin-right:auto;display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;background:#7d8b68}.options{display:flex;gap:4px;padding:4px;background:#f5f5f0;border:1px solid #e7e8df;border-radius:30px}.options button,.pause{border:0;border-radius:24px;padding:10px 15px;cursor:pointer;background:transparent;color:#62675e;transition:background .2s,color .2s}.options button[aria-pressed=true]{background:#283a2c;color:var(--cream)}.options button:hover:not([aria-pressed=true]){background:#e8eadf}.pause{border:1px solid #dcded3;color:#343d30;min-width:118px}.pause:disabled{opacity:.45;cursor:default}.preview-controls p{flex-basis:100%;text-align:right;font-size:12px;margin:0;line-height:1.5;color:#777d70}
@media(min-width:1921px){body{max-width:2200px;margin:auto}}
@media(max-width:900px){.masthead{height:88px;padding:24px}.masthead img{width:112px}main{padding:0 20px 24px}.hero{aspect-ratio:auto;min-height:670px;border-radius:18px}.opening{padding:36px 30px 0;width:85%}h1{font-size:clamp(38px,5.5vw,58px);line-height:1.08}.problem{margin-top:36px;width:min(360px,100%);font-size:21px;line-height:1.25}.problem .answer{margin-bottom:24px}.partnership{left:auto;right:30px;top:auto;bottom:44px;width:52%;font-size:21px;line-height:1.25}.preview-controls{gap:12px}.preview-label{flex-basis:60%}.options{order:2}.preview-controls p{order:3;text-align:left}.pause{margin-left:auto}}
@media(max-width:560px){.masthead{height:82px;padding:24px 20px}.masthead img{min-width:0;width:100px}main{padding:0 12px 24px}.hero{min-height:790px;border-radius:16px}.opening{padding:32px 24px 0;width:100%}h1{font-size:clamp(36px,9.7vw,49px);max-width:430px}.problem{font-size:20px;width:94%;margin-top:34px;max-width:300px}.problem .answer{margin-bottom:24px}.partnership{left:24px;right:24px;width:auto;bottom:38px;font-size:20px;line-height:1.3}.hero-background{object-position:48% center}.options{width:100%;justify-content:space-between;gap:0}.options button{padding:10px 9px;font-size:11px}.preview-controls{margin:20px 6px 0}.preview-label{flex-basis:auto}.preview-controls p{max-width:310px}}

#playback-status{font-variant-numeric:tabular-nums;min-width:142px;font-size:12px;color:#3d513e} @media(max-width:900px){#playback-status{order:3}.preview-controls p{order:4}}


.timeline-control{display:flex;align-items:center;gap:16px;flex-basis:100%;font-size:12px;color:#62675e}.timeline-control span{white-space:nowrap}.timeline-control input{width:100%;accent-color:#334c3a;cursor:pointer}.timeline-control input:focus-visible{outline:2px solid #334c3a;outline-offset:3px}@media(max-width:900px){.timeline-control{order:4}.preview-controls p{order:5}}@media(max-width:560px){.options button{padding:10px 8px;font-size:10px}}

@media(max-width:900px){.orbit-position{width:180%;top:79%}.hero.centred .orbit-position{width:125%;top:52%}}
@media(prefers-reduced-motion:reduce){.orbit{will-change:auto}}

.orbit-morph{display:none;position:absolute;inset:0;width:100%;height:100%}.orbit.morph-ready .orbit-morph{display:block}.orbit.morph-ready .orbit-art{visibility:hidden}

/* A stationary fine grain unifies the background and animated material. */
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url('assets/hero-grain.svg');background-size:240px 240px;opacity:.18;mix-blend-mode:soft-light}
.hero .opening,.hero .partnership{z-index:1}


/* Sticky nav on homepage (added 2026-11-11). Header moved out of .hero-stage in page-content.html so it can sit above the page; fixed, and the stage gets matching top padding. */
body.home .lean-masthead{position:fixed;top:0;left:0;right:0;z-index:1000}
body.home.admin-bar .lean-masthead{top:32px}
@media screen and (max-width:782px){body.home.admin-bar .lean-masthead{top:46px}}
body.home .hero-stage{padding-top:66px}
@media (max-width:767px){body.home .hero-stage{padding-top:50px}}


/* Nav Contact glow after the hero (added 2026-11-11) */
body.home .lean-masthead .js-contact-popup-trigger > a{transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}
body.home .lean-masthead.is-past-hero .js-contact-popup-trigger > a{background-color:var(--lime,#e4ff9b);border-color:var(--lime,#e4ff9b);box-shadow:0 0 18px 4px rgba(228,255,155,.85),0 0 4px rgba(190,230,90,.6)}
body.home .lean-masthead.is-past-hero .js-contact-popup-trigger > a:hover{background-color:#f0ffcc}


/* H1 balanced wrap (added 2026-11-11) */
body.home .hero h1{text-wrap:balance}


/* Hero services line (added 2026-11-11) */
body.home .problem .hero-levers-line{margin-top:1.3em;font-size:.7em;letter-spacing:.07em;text-transform:uppercase;font-weight:500;opacity:.8;white-space:nowrap;width:max-content;max-width:none}
body.home .problem .hero-levers-line span{margin:0 .55em;opacity:.6}
@media (max-width:767px){body.home .problem .hero-levers-line{font-size:.68em;letter-spacing:.02em}body.home .problem .hero-levers-line span{margin:0 .35em}}
@media (max-width:359px){body.home .problem .hero-levers-line{font-size:.6em;letter-spacing:0}}


/* Hero client quote, bottom right (added 2026-11-11) */
body.home .hero .partnership .hero-quote{display:block}
body.home .hero .partnership .hero-quote-by{display:block;margin-top:.9em;font-size:.68em;letter-spacing:.07em;text-transform:uppercase;font-weight:500;opacity:.7}
body.home .hero .partnership .hero-quote-by{display:flex;align-items:center;gap:.9em;opacity:1}
body.home .hero .partnership .hero-quote-by span{opacity:.7}
body.home .hero .partnership .hero-quote-avatar{flex:none;width:3.4em;height:3.4em;border-radius:50%;object-fit:cover;display:block}

@media (max-width:767px){body.home .hero .partnership{display:none}}


/* Hero quote: further right, right-aligned, 2 lines (added 2026-11-11) */
@media (min-width:901px){body.home .hero .partnership{left:auto;right:5.89%;width:min(27%,21em);text-align:right}body.home .hero .partnership .hero-quote{text-wrap:balance}body.home .hero .partnership .hero-quote-by{justify-content:flex-end}body.home .hero .partnership .hero-quote-by span{white-space:nowrap}}


/* Comparison: split view, pain points, You -> partner (added 2026-11-11) */
.comparison-scroll{margin-top:clamp(96px,9vw,170px)}
.comparison-sticky:has(.comparison.split) .comparison-labels button{opacity:1}
#comparison .vendor{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.25em}
#comparison .vendor small{display:block;font-size:.62em;letter-spacing:.07em;text-transform:uppercase;color:rgb(133,138,125);line-height:1.2}
#comparison .vendor strong{color:#1c1c1c;font-weight:500;line-height:1.2}
#comparison .service .sub{display:block;font-style:normal;font-size:.72em;opacity:.7;margin-top:.25em;line-height:1.2}
#comparison .after-view>.partner-owner{width:max-content;left:50%;right:auto;transform:translateX(-50%);background:#fff;border-radius:40px;padding:.55em 1.3em;box-shadow:0 0 22px 4px rgba(228,255,155,.55)}
#comparison .after-view>.partner-owner strong{color:#111}
#comparison .after-view>.growth-lead::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:var(--you-line,17px);background:rgba(255,255,255,.6)}
#comparison{--gap:clamp(8px,1cqw,14px)}
#comparison.split .before-view,#comparison.split .after-view{clip-path:none!important}
#comparison.split .before-view{left:0;right:auto;width:var(--divider);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(max(min(150px,100%),calc((100% - 2*var(--gap))/3)),1fr));justify-content:center;grid-auto-rows:min-content;align-content:center;gap:var(--gap);padding:clamp(16px,2.2cqw,36px)}
#comparison.split .after-view{left:var(--divider);right:0;width:auto;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap);padding:clamp(16px,2.2cqw,36px)}
#comparison.split .before-view>.growth-lead{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;grid-column:1/-1;justify-self:center;margin-bottom:calc(var(--gap)*2.2);z-index:2}
#comparison.split .before-view>img.connections{position:absolute;inset:14% 4% 6%;width:92%;height:80%;opacity:.55;z-index:0;object-fit:fill}
#comparison.split .before-view>svg{display:none}
#comparison.split .vendor{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-height:0;transform:none!important;z-index:1;padding:.75em .7em;max-width:300px;justify-self:stretch}
#comparison.split .vendor strong{font-size:.92em}
#comparison.split .after-view>.growth-lead,#comparison.split .after-view>.partner-owner,#comparison.split .after-view>.service-grid{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;z-index:2}
#comparison.split .after-view>.growth-lead::after{height:calc(var(--gap)*1.6)}
#comparison.split .after-view>.after-connectors{display:none}
#comparison.split .after-view>.partner-owner{margin:calc(var(--gap)*.6) 0 calc(var(--gap)*1.2)}
#comparison.split .after-view>.service-grid{width:100%;max-width:900px;margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--gap)}
#comparison.split .service{min-height:clamp(52px,5.2cqw,76px)}
#comparison.split .service.service-strategy{grid-column:span 2}
#comparison.split .before-view>*,#comparison.split .after-view>*:not(.comparison-background){transition:opacity .2s ease}
#comparison.split .is-narrow>*:not(.comparison-background){opacity:0}
@keyframes lean-compare-nudge{0%,100%{translate:0 0}30%{translate:-8px 0}60%{translate:8px 0}}
#comparison.compare-hint .compare-divider img{animation:lean-compare-nudge 1.4s ease-in-out .8s 3}
@media (prefers-reduced-motion:reduce){#comparison.compare-hint .compare-divider img{animation:none}}


/* Result cards as case-study links (added 2026-11-11) */
#results .result-card{position:relative;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
#results .result-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(17,17,17,.08)}
#results .result-card .rc-eyebrow{font-size:.72em;letter-spacing:.07em;text-transform:uppercase;font-weight:500;opacity:.6}
#results .result-card .rc-link{margin-top:auto;padding-top:1em;font-size:.82em;font-weight:500;color:#111;text-decoration:none;border-top:1px solid rgba(17,17,17,.1)}
#results .result-card .rc-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
#results .result-card .rc-link span{display:inline-block;transition:transform .25s ease}
#results .result-card:hover .rc-link span{transform:translateX(4px)}
#results .result-card .rc-link:focus-visible{outline:2px solid #111;outline-offset:4px}


/* Slack section hidden for now (2026-11-11). Delete this rule to bring it back. */
#working-with-us{display:none!important}


/* Services: two simple cards (added 2026-11-11) */
#services.offers{display:block}
#services .offers-title{margin:0 0 clamp(28px,3vw,48px)}
#services .offer-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
#services .offer-card{background:#f2f3e9;border-radius:18px;padding:clamp(28px,3vw,48px);display:flex;flex-direction:column;gap:.9em}
#services .offer-card .eyebrow{margin:0;font-size:.72em;letter-spacing:.07em;text-transform:uppercase;font-weight:500;opacity:.6}
#services .offer-card h3{margin:0;font-family:FreightTextPro,Freight,Georgia,serif;font-weight:600;font-size:clamp(26px,2.3vw,40px);line-height:1.1}
#services .offer-card p{margin:0}
#services .offer-card .offer-fit{opacity:.65;font-size:.9em}
#services .offer-card .button{margin-top:auto;align-self:flex-start}
@media (max-width:767px){#services .offer-cards{grid-template-columns:1fr}}


/* Services as pricing-style plans (added 2026-11-11) */
#services .plans-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:0 0 clamp(28px,3vw,48px)}
#services .plans-head .offers-title{margin:0}
#services .plans-sub{margin:0;max-width:34em;opacity:.7}
#services .plan{background:#f2f3e9;border:1px solid rgba(17,17,17,.08);gap:0;padding:clamp(28px,2.6vw,44px)}
#services .plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:28px;margin-bottom:1.1em}
#services .plan-badge{font-size:.68em;letter-spacing:.06em;text-transform:uppercase;font-weight:500;background:var(--lime,#e4ff9b);color:#111;border-radius:40px;padding:.45em .9em;white-space:nowrap}
#services .plan h3{margin:0 0 .45em}
#services .plan-for{opacity:.7;margin:0 0 1.6em!important}
#services .plan .plan-cta{margin:0 0 1.8em;align-self:stretch;justify-content:center;text-align:center}
#services .plan-list{list-style:none;margin:0;padding:1.6em 0 0;border-top:1px solid rgba(17,17,17,.12);display:grid;gap:.85em}
#services .plan-list li{position:relative;padding-left:1.8em;margin:0;line-height:1.35}
#services .plan-list li::before{content:"";position:absolute;left:0;top:.12em;width:1.15em;height:1.15em;border-radius:50%;background:#111 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%23e4ff9b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
#services .plan-list li.off{opacity:.45}
#services .plan-list li.off::before{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 8h6' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/80% no-repeat;box-shadow:inset 0 0 0 1px rgba(17,17,17,.4)}
#services .plan-featured{background:#141414;color:#f2f3e9;border-color:#141414}
#services .plan-featured .plan-list{border-top-color:rgba(242,243,233,.18)}
#services .plan-featured .plan-list li::before{background-color:var(--lime,#e4ff9b);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
#services .plan-featured .eyebrow{color:#f2f3e9}

@media (min-width:768px){#services .plan h3{min-height:2.2em}}
