/* About Biviti: "We ask the second question" (v54). Loaded after service-pilot.css on .ab-page only.
   One idea carried through five experiences: the hero pairs a question clients ask with the one Biviti asks next; the team
   photograph opens between "Finance people who speak systems" and "Systems people who speak finance"; "Hear it for yourself"
   answers what clients say with the questions Biviti asks back; the standards become the questions Biviti asks itself;
   the close invites the first question. Light-led: the hero is the one dark moment; photography carries the contrast.
   Ranges: desktop >= 1001 | 701-1000 tablet | <= 700 phone. */

.ab-page{--ab-max:1280px;--ab-white:#ffffff;--ab-ivory:#fbf9f6;--ab-text:#1f1a1b;--ab-muted:#5a5153;--ab-soft:#1f1a1b66;--ab-track:#1f1a1b1f;
 --ab-accent:#72253a;--ab-wine:#72253a;--ab-champ:#e9cfaa;--ab-cream:#f8f3ea;--ab-on-dark:#e4d8cc;--ab-ease:cubic-bezier(.2,.7,.2,1);
 --ab-bleed:max(var(--content-edge),calc((100vw - var(--ab-max)) / 2))}
html[data-theme=dark] .ab-page{--ab-white:#141012;--ab-ivory:#110d0f;--ab-text:#f7ecdf;--ab-muted:#d6c8c1;--ab-soft:#f7ecdf70;--ab-track:#f7ecdf26;--ab-accent:#f0cfaa}
.ab-sec{position:relative;isolation:isolate;padding:124px var(--content-edge);color:var(--ab-text);overflow-x:clip}
.ab-wrap{max-width:var(--ab-max);margin:0 auto;position:relative}
.ab-page .ab-sec h2{font-size:54px;line-height:1.02;letter-spacing:-.04em;margin:0;text-wrap:balance;color:var(--ab-text)}
.ab-sec p,.ab-sec li{font-size:17px;line-height:1.6}
.ab-sec p{margin:0}
.ab-kicker{font-size:15px!important;font-weight:600;color:var(--ab-accent);margin:0 0 20px!important}
.ab-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ab-page picture{display:block}
.ab-page img{max-width:100%}
.ab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:36px}
.ab-actions .text-action{margin:0}
.ab-page em{font-style:normal;color:var(--ab-wine)}
html[data-theme=dark] .ab-page em{color:var(--ab-champ)}

/* shared autoplay controls (hero pairs and "Hear it for yourself") */
.ab-play{appearance:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 16px;border-radius:999px;border:1px solid currentColor;background:none;color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer;opacity:.85;flex:none}
.ab-play:hover{opacity:1}
.ab-play-icon{position:relative;width:10px;height:12px}
.ab-play-icon:before,.ab-play-icon:after{content:'';position:absolute;top:0;bottom:0;width:3px;background:currentColor;border-radius:1px}
.ab-play-icon:before{left:0}.ab-play-icon:after{right:0}
.ab-play[aria-pressed=true] .ab-play-icon:before{width:0;height:0;background:none;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;border-radius:0}
.ab-play[aria-pressed=true] .ab-play-icon:after{display:none}
[data-cycle][data-state=manual] .ab-play,[data-cycle][data-state=off] .ab-play{display:none}
.ab-play:focus-visible,.ab-seg:focus-visible,.ab-tseg:focus-visible{outline:2px solid var(--ab-accent);outline-offset:3px}
@keyframes ab-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ab-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ============ 1  Hero ============ */
.ab-hero{position:relative;isolation:isolate;overflow:hidden;background:#0d090b;color:var(--ab-cream);min-height:min(900px,max(700px,100svh));display:flex}
.ab-hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.ab-hero-media picture{height:100%}
.ab-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
html.p2-motion .ab-hero-media img{animation:p2-settle 2.8s var(--ab-ease) both}
.ab-hero-media:after{content:'';position:absolute;inset:0;background:
 linear-gradient(180deg,#0b0709d9 0%,#0b070900 26%),
 linear-gradient(90deg,#0b0709f2 0%,#0b0709cc 36%,#0b070966 64%,#0b070926 100%),
 linear-gradient(0deg,#0b0709b3 0%,#0b070900 36%)}
.ab-hero-inner{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:64px;align-items:end;max-width:calc(var(--ab-max) + 2 * var(--content-edge));margin:0 auto;padding:170px var(--content-edge) 96px;width:100%;box-sizing:border-box}
.ab-hero .micro{color:var(--ab-champ);margin:0}
.ab-hero h1{font-size:clamp(54px,7vw,112px)!important;line-height:.94!important;letter-spacing:-.05em!important;margin:22px 0 28px!important;color:#fbf6ee;font-weight:800;text-wrap:balance}
.ab-hero h1 span{color:var(--ab-champ)}
.ab-hero-lead{font-size:20px!important;line-height:1.55!important;color:var(--ab-on-dark);max-width:540px}
.ab-hero .text-action{color:var(--ab-champ)!important}
.ab-hero a:focus-visible{outline:2px solid var(--ab-champ);outline-offset:4px}
html.p2-motion .ab-hero-copy>*{animation:p2-rise 1s var(--ab-ease) both}
html.p2-motion .ab-hero-copy>:nth-child(2){animation-delay:.1s}html.p2-motion .ab-hero-copy>:nth-child(3){animation-delay:.2s}html.p2-motion .ab-hero-copy>:nth-child(4){animation-delay:.3s}
html.p2-motion .ab-pairs{animation:p2-rise 1s var(--ab-ease) .45s both}
.ab-pairs{background:#0f0a0cb8;border-top:1px solid #e9cfaa59;padding:22px 26px 12px;color:var(--ab-cream)}
.ab-pairs .ab-play:focus-visible,.ab-pairs .ab-seg:focus-visible{outline-color:var(--ab-champ)}
.ab-pairs-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.ab-pairs-title{font-size:13px!important;font-weight:600;letter-spacing:.3px;color:var(--ab-champ)}
.ab-pairs-list{list-style:none;margin:0;padding:0;display:grid}
.ab-pair+.ab-pair{margin-top:22px}
html.p2-js .ab-pair{grid-area:1/1;margin:0;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s,visibility 0s .45s}
html.p2-js .ab-pair.is-on{visibility:visible;opacity:1;transform:none;transition:opacity .6s var(--ab-ease) .1s,transform .6s var(--ab-ease) .1s}
.ab-pair p span{display:block;font-size:12.5px;font-weight:600;letter-spacing:.3px;margin-bottom:4px}
.ab-pair-first{font-size:16px!important;line-height:1.4!important;color:#e4d8ccb3}
.ab-pair-first span{color:#e4d8cc8c}
.ab-pair-second{margin-top:16px!important;font-size:23px!important;line-height:1.25!important;font-weight:600;letter-spacing:-.3px;color:#fbf6ee}
.ab-pair-second span{color:var(--ab-champ)}
.ab-segs{display:flex;gap:6px;margin-top:8px}
.ab-seg{appearance:none;flex:1;min-height:44px;min-width:44px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center}
.ab-seg i,.ab-tseg i{display:block;width:100%;height:3px;border-radius:2px;background:#f8f3ea33;position:relative;overflow:hidden}
.ab-seg i:after,.ab-tseg i:after{content:'';position:absolute;inset:0;background:var(--ab-champ);transform:scaleX(0);transform-origin:left}
.ab-tseg i{background:var(--ab-track)}
.ab-tseg i:after{background:var(--ab-wine)}
html[data-theme=dark] .ab-tseg i:after{background:var(--ab-champ)}
.is-done>i:after,[data-cycle]:not([data-state=playing]) [aria-current=true]>i:after{transform:none}
[data-cycle][data-state=playing] [aria-current=true]>i:after{animation:ab-fill var(--dur,5s) linear forwards}
[data-cycle][data-state=playing].is-held [aria-current=true]>i:after{animation-play-state:paused}

/* ============ 2  The people who ask it ============ */
.ab-team{background:var(--ab-ivory);padding:130px 0 110px}
.ab-team .ab-wrap{padding:0 var(--content-edge);box-sizing:content-box}
.ab-team-lines span{display:block;font-size:clamp(40px,5vw,78px);line-height:1;letter-spacing:-.045em;font-weight:800}
.ab-team-lines span+span{margin-left:clamp(0px,6.5vw,104px);margin-top:6px}
.ab-page .ab-sec .ab-team-lines{font-size:inherit;letter-spacing:inherit}
.ab-reveal{margin:68px 0 0}
.ab-reveal-frame{height:min(48vw,700px);overflow:hidden;clip-path:inset(0 var(--ri,0%) round var(--rr,0px))}
.ab-reveal-frame picture{height:100%}
.ab-reveal-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 32%;transform:scale(var(--rs,1));transform-origin:50% 40%}
.ab-team-after{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:end;margin-top:56px!important}
.ab-team-after .ab-team-last{grid-column:2;grid-row:1;justify-self:end;text-align:right}
.ab-team-after .ab-team-note{grid-column:1;grid-row:1}
.ab-team-last{font-size:clamp(32px,4.2vw,66px)!important;line-height:1.02!important;letter-spacing:-.045em;font-weight:800;max-width:15ch}
.ab-team-note{font-size:17px!important;color:var(--ab-muted);max-width:440px;padding-bottom:8px}

/* ============ 3  Hear it for yourself ============ */
.ab-hear{background:var(--ab-white)}
.ab-hear-head{max-width:820px}
.ab-page .ab-sec .ab-hear-head h2{font-size:clamp(38px,4.2vw,60px)}
.ab-hear-stage{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:72px;align-items:start;margin-top:64px}
.ab-hear-portrait{margin:0;position:sticky;top:110px}
.ab-hear-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}
.ab-hear-portrait figcaption{margin-top:14px;font-size:14px;color:var(--ab-muted)}
.ab-hear-nav{display:flex;align-items:flex-start;gap:24px;color:var(--ab-text)}
.ab-tsegs{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ab-tseg{appearance:none;border:0;background:none;padding:0 0 6px;margin:0;font:inherit;cursor:pointer;text-align:left;min-height:48px;color:var(--ab-soft);display:grid;align-content:start;gap:12px;transition:color .3s}
.ab-tseg span{font-size:14px;font-weight:600;line-height:1.25}
.ab-tseg[aria-current=true]{color:var(--ab-text)}
@media (hover:hover){.ab-tseg:hover{color:var(--ab-text)}}
.ab-talks{display:grid;margin-top:48px}
.ab-talk+.ab-talk{margin-top:48px}
html.p2-js .ab-talk{grid-area:1/1;margin:0;visibility:hidden;opacity:0;transition:opacity .4s,visibility 0s .4s}
html.p2-js .ab-talk.is-on{visibility:visible;opacity:1;transition:opacity .5s var(--ab-ease)}
.ab-talk-say span,.ab-talk-label,.ab-talk-why span{display:block;font-size:13px!important;font-weight:600;letter-spacing:.3px;color:var(--ab-accent);margin-bottom:12px!important;line-height:1.4!important}
.ab-talk-say{font-size:clamp(30px,3.3vw,50px)!important;line-height:1.12!important;letter-spacing:-.035em;font-weight:400;text-wrap:balance;max-width:20ch}
.ab-talk-ask{margin-top:40px}
.ab-talk-ask ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ab-talk-ask li{position:relative;padding:10px 0 10px 30px;font-size:21px;line-height:1.35;font-weight:600;letter-spacing:-.25px}
.ab-talk-ask li:before{content:'';position:absolute;left:2px;top:calc(10px + .52em);width:8px;height:8px;border-radius:50%;background:var(--ab-wine)}
html[data-theme=dark] .ab-talk-ask li:before{background:var(--ab-champ)}
html.p2-motion .ab-talk.is-on .ab-talk-ask li{animation:ab-in .6s var(--ab-ease) both;animation-delay:calc(.2s + var(--k) * .14s)}
html.p2-motion .ab-talk.is-on .ab-talk-why{animation:ab-in .6s var(--ab-ease) .7s both}
.ab-talk-why{margin-top:34px!important;font-size:18px!important;color:var(--ab-muted);max-width:560px}

/* ============ 4  The questions we ask ourselves ============ */
.ab-self{background:#f3efe9;padding-top:124px;padding-bottom:124px}
html[data-theme=dark] .ab-self{background:#18120f}
.ab-self-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:88px;align-items:stretch}
.ab-self-media{position:relative;margin:-124px calc(-1 * var(--ab-bleed)) -124px 0;min-height:560px;overflow:hidden}
.ab-self-media picture{position:sticky;top:0;height:100%}
.ab-self-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 45%}
.ab-self-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f3efe9 0%,#f3efe900 22%)}
html[data-theme=dark] .ab-self-media:after{background:linear-gradient(90deg,#18120f 0%,#18120f00 22%)}
.ab-self-list{list-style:none;margin:56px 0 0;padding:0;display:grid;gap:40px}
.ab-self-list li{position:relative;padding-left:40px}
.ab-self-list li:before{content:'';position:absolute;left:4px;top:.5em;width:10px;height:10px;border-radius:50%;background:var(--ab-wine)}
html[data-theme=dark] .ab-self-list li:before{background:var(--ab-champ)}
.ab-self-q{font-size:clamp(24px,2.3vw,32px)!important;line-height:1.18!important;letter-spacing:-.025em;font-weight:700;text-wrap:balance}
.ab-self-a{margin-top:10px!important;font-size:16.5px!important;line-height:1.55!important;color:var(--ab-muted);max-width:520px}
.ab-self-end{margin-top:64px!important;font-size:clamp(26px,2.7vw,40px)!important;line-height:1.12!important;letter-spacing:-.035em;font-weight:800;color:var(--ab-accent);max-width:20ch}
html.p2-motion .ab-self-list li{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ab-ease),transform .9s var(--ab-ease);transition-delay:calc(var(--k) * .08s)}
html.p2-motion .ab-self-list.is-in li{opacity:1;transform:none}

/* ============ 5  Close ============ */
.ab-close{background:var(--ab-ivory);padding:124px 0 64px}
.ab-close .ab-wrap{padding:0 var(--content-edge);box-sizing:content-box}
.ab-close-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}
.ab-page .ab-close h2{font-size:clamp(48px,6.2vw,100px);line-height:.95;letter-spacing:-.05em;font-weight:800}
.ab-close-side>p{font-size:18px!important;color:var(--ab-muted);max-width:460px}
.ab-close .ab-actions{margin-top:28px}
.ab-close .text-action{color:var(--ab-accent)!important}
.ab-close-photo{position:relative;margin:72px 0 0;height:min(44vw,640px);overflow:hidden}
.ab-close-photo picture{height:100%}
.ab-close-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.ab-close-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b0709b3 0%,#0b070900 46%),linear-gradient(90deg,#0b070966 0%,#0b070900 50%)}
.ab-close-photo figcaption{position:absolute;z-index:1;left:var(--ab-bleed);bottom:48px;font-size:clamp(34px,4.6vw,74px);line-height:1;letter-spacing:-.045em;font-weight:800;color:var(--ab-champ);max-width:14ch}
.ab-trust{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:40px;align-items:center;margin-top:56px!important}
.ab-trust-title{font-size:15px!important;font-weight:600;color:var(--ab-muted);line-height:1.4!important;max-width:240px}
.ab-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:22px;align-items:center}
.ab-logos li{display:grid;place-items:center;height:60px}
.ab-logos img{max-width:100%;max-height:44px;width:auto;height:auto;filter:grayscale(1);opacity:.72}
html[data-theme=dark] .ab-logos li{background:#f4efe8;border-radius:10px;padding:0 10px}
html[data-theme=dark] .ab-logos img{opacity:.85}

/* ============ Tablet 701-1000 ============ */
@media (max-width:1000px){
 .ab-sec{padding-top:96px;padding-bottom:96px}
 .ab-page .ab-sec h2{font-size:42px}
 .ab-hero{min-height:0}
 .ab-hero-inner{grid-template-columns:1fr;gap:48px;padding:160px var(--content-edge) 72px}
 .ab-pairs{max-width:560px}
 .ab-team{padding:100px 0 88px}
 .ab-team-after{grid-template-columns:1fr;gap:22px}
 .ab-team-after .ab-team-last{grid-column:1}
 .ab-team-after .ab-team-note{grid-column:1;grid-row:2;justify-self:end;text-align:right}
 .ab-hear-stage{grid-template-columns:1fr;gap:40px;margin-top:44px}
 .ab-hear-portrait{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px}
 .ab-hear-portrait img{aspect-ratio:16/9;object-position:50% 16%}
 .ab-hear-portrait figcaption{margin:0;writing-mode:initial}
 .ab-self-grid{grid-template-columns:1fr;gap:0}
 .ab-self-media{order:-1;min-height:0;height:44vw;margin:-96px calc(-1 * var(--content-edge)) 56px}
 .ab-self-media:after{background:linear-gradient(0deg,#f3efe9 0%,#f3efe900 40%)}
 html[data-theme=dark] .ab-self-media:after{background:linear-gradient(0deg,#18120f 0%,#18120f00 40%)}
 .ab-self-list{margin-top:44px}
 .ab-close{padding:96px 0 56px}
 .ab-close-top{grid-template-columns:1fr;gap:28px}
 .ab-trust{grid-template-columns:1fr;gap:22px}
 .ab-logos{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ============ Phone <= 700 ============ */
@media (max-width:700px){
 .ab-sec{padding-top:80px;padding-bottom:80px}
 .ab-page .ab-sec h2{font-size:34px}
 .ab-sec p,.ab-sec li{font-size:16px}
 .ab-hero-media img{object-position:50% 50%}
 .ab-hero-media:after{background:linear-gradient(180deg,#0b0709e6 0%,#0b070999 30%,#0b0709b3 60%,#0b0709f2 100%)}
 .ab-hero-inner{padding:128px var(--content-edge) 56px;gap:36px}
 .ab-hero h1{font-size:46px!important;letter-spacing:-.045em!important;margin:16px 0 20px!important}
 .ab-hero-lead{font-size:17px!important}
 .ab-actions{flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}
 .ab-pairs{padding:18px 18px 8px}
 .ab-pair-second{font-size:20px!important}
 .ab-team{padding:84px 0 72px}
 .ab-team-lines span{font-size:clamp(34px,10vw,44px)}
 .ab-team-lines span+span{margin-left:0;margin-top:10px}
 .ab-reveal{margin-top:44px}
 .ab-reveal-frame{height:auto;aspect-ratio:900/815}
 .ab-team-after{grid-template-columns:1fr;gap:22px;margin-top:40px!important}
 .ab-team-after .ab-team-last{grid-column:1;justify-self:start;text-align:left}
 .ab-team-after .ab-team-note{grid-column:1;grid-row:2;justify-self:start;text-align:left}
 .ab-team-last{font-size:34px!important}
 .ab-hear-portrait{display:none}
 .ab-hear-nav{flex-direction:column;align-items:stretch;gap:6px}
 .ab-hear-nav .ab-play{align-self:flex-start}
 .ab-tsegs{gap:6px}
 .ab-tseg{min-height:44px;gap:0}
 .ab-tseg span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .ab-tseg{align-content:center}
 .ab-talks{margin-top:24px}
 .ab-talk-say{font-size:30px!important}
 .ab-talk-ask{margin-top:30px}
 .ab-talk-ask li{font-size:18px;padding:8px 0 8px 26px}
 .ab-talk-why{font-size:16px!important}
 .ab-self{padding-top:80px;padding-bottom:80px}
 .ab-self-media{height:56vw;margin:-80px calc(-1 * var(--content-edge)) 40px}
 .ab-self-list li{padding-left:32px}
 .ab-self-q{font-size:24px!important}
 .ab-self-end{font-size:26px!important;margin-top:52px!important}
 .ab-close{padding:80px 0 48px}
 .ab-page .ab-close h2{font-size:44px}
 .ab-close-photo{margin-top:48px;height:auto;aspect-ratio:4/3.3}
 .ab-close-photo img{object-position:40% 12%}
 .ab-close-photo figcaption{left:var(--content-edge);bottom:26px;font-size:32px}
 .ab-trust{margin-top:40px!important}
 .ab-logos{gap:12px}
 .ab-logos li{height:52px}
}

@media (prefers-reduced-motion:reduce){.ab-page *,.ab-page *:before,.ab-page *:after{animation:none!important;transition:none!important}.ab-reveal-frame{clip-path:none!important}.ab-reveal-frame img{transform:none!important}}
