/* Bowe Recruitment: bespoke homepage */
body.bowe-front #content > .ast-container{max-width:none !important;width:100%;padding:0 !important;margin:0;display:block;}
body.bowe-front #content{padding:0 !important;}

.bowe-home{--wrap:1240px;font-family:var(--bw-body);color:var(--bw-ink);overflow:hidden;}
.bowe-home :where(h1,h2,h3,p,figure,blockquote,ol,li){margin:0;padding:0;border:0;}
.bowe-home :where(ol){list-style:none;}
.bowe-home img{display:block;max-width:100%;height:auto;}
.bh-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 32px;box-sizing:border-box;}
.bh-section{padding:120px 0;position:relative;}
.bh-light{background:var(--bw-bg);color:var(--bw-ink);}
.bh-dark{background:var(--bw-ink);color:var(--bw-cream);}
.bh-h2{font-family:var(--bw-display);font-weight:700;font-size:clamp(32px,4.2vw,56px);line-height:1.06;letter-spacing:-.02em;color:inherit;}
.bh-h2 em,.bh-hero__title em{font-style:normal;color:var(--bw-gold);}
.bh-eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--bw-display);font-weight:700;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--bw-gold);margin-bottom:22px !important;}
.bh-eyebrow::before{content:"";width:38px;height:2px;background:var(--bw-gold);}
.bh-head{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;margin-bottom:64px;}
.bh-head p{font-size:18px;line-height:1.6;color:var(--bw-muted);}
.bh-head--center{display:block;text-align:center;max-width:900px;}

/* Buttons */
.bh-btn{display:inline-flex;align-items:center;gap:10px;padding:17px 34px;border-radius:999px;font-family:var(--bw-display);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none !important;transition:transform .3s var(--bw-ease),background .3s,color .3s,border-color .3s;border:2px solid transparent;}
.bh-btn:hover{transform:translateY(-3px);}
.bh-btn--gold{background:var(--bw-gold);color:var(--bw-ink) !important;}
.bh-btn--gold:hover{background:var(--bw-gold-lt);}
.bh-btn--ghost{border-color:rgba(245,243,238,.55);color:var(--bw-cream) !important;}
.bh-btn--ghost:hover{border-color:var(--bw-gold);color:var(--bw-gold) !important;}
.bh-btn--ink{background:var(--bw-ink);color:var(--bw-gold) !important;}
.bh-btn--ink:hover{background:#2a2622;}
.bh-link{display:inline-flex;gap:10px;font-family:var(--bw-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--bw-ink) !important;text-decoration:none !important;border-bottom:2px solid var(--bw-gold);padding-bottom:6px;margin-top:12px;}
.bh-link span{transition:transform .3s var(--bw-ease);}
.bh-link:hover span{transform:translateX(6px);}

/* ---------- HERO ---------- */
.bh-hero{position:relative;min-height:calc(100vh - 100px);min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center;background:var(--bw-ink);color:var(--bw-cream);overflow:hidden;isolation:isolate;}
.bh-hero__slides{position:absolute;inset:0;z-index:-2;}
.bh-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.12);transition:opacity 1.4s var(--bw-ease),transform 7s linear;}
.bh-hero__slide.is-active{opacity:1;transform:scale(1);}
.bh-hero__scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(20,18,16,.92) 0%,rgba(20,18,16,.72) 38%,rgba(20,18,16,.25) 70%,rgba(20,18,16,.45) 100%),
  linear-gradient(0deg,rgba(20,18,16,.9) 0%,rgba(20,18,16,0) 35%),
  linear-gradient(180deg,rgba(198,150,46,.18),rgba(198,150,46,0) 30%);}
.bh-hero__content{padding-top:48px;padding-bottom:150px;}
.bh-hero__sector{display:flex;align-items:center;gap:16px;font-family:var(--bw-display);font-weight:700;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--bw-gold);margin-bottom:28px !important;height:20px;overflow:hidden;}
.bh-hero__rule{width:56px;height:2px;background:var(--bw-gold);transform-origin:left;animation:bhRule 1.2s var(--bw-ease) .2s both;}
.bh-hero__sector-text{display:inline-block;}
.bh-hero__sector-text.is-out{animation:bhOut .45s var(--bw-ease) both;}
.bh-hero__sector-text.is-in{animation:bhIn .6s var(--bw-ease) both;}
.bh-hero__title{font-family:var(--bw-display);font-weight:700;font-size:clamp(32px,4.32vw,67px);line-height:1;letter-spacing:-.03em;color:var(--bw-cream);}
.bh-line{display:block;overflow:hidden;padding-bottom:.08em;}
.bh-line > span{display:inline-block;animation:bhRise 1.1s var(--bw-ease) both;}
.bh-line:nth-child(1) > span{animation-delay:.25s;}
.bh-line:nth-child(2) > span{animation-delay:.4s;}
.bh-line:nth-child(3) > span{animation-delay:.55s;}
.bh-hero__lead{max-width:52ch;font-size:clamp(16px,1.35vw,20px);line-height:1.6;color:rgba(245,243,238,.82);margin-top:30px !important;animation:bhFade 1s var(--bw-ease) .85s both;}
.bh-hero__ctas{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px;animation:bhFade 1s var(--bw-ease) 1.05s both;}
.bh-hero__nav{position:absolute;left:0;right:0;bottom:44px;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;animation:bhFade 1s var(--bw-ease) 1.3s both;}
.bh-hero__dot{all:unset;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;color:rgba(245,243,238,.55);transition:color .3s;}
.bh-hero__dot:hover,.bh-hero__dot.is-active{color:var(--bw-cream);}
.bh-hero__dot:focus-visible{outline:2px solid var(--bw-gold);outline-offset:6px;}
.bh-hero__dot-num{font-family:var(--bw-display);font-weight:700;font-size:13px;color:var(--bw-gold);}
.bh-hero__dot-label{font-family:var(--bw-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bh-hero__bar{grid-column:1 / -1;height:2px;background:rgba(245,243,238,.2);position:relative;overflow:hidden;margin-top:10px;}
.bh-hero__bar i{position:absolute;inset:0;background:var(--bw-gold);transform:scaleX(0);transform-origin:left;}
.bh-hero__dot.is-active .bh-hero__bar i{animation:bhProgress var(--bh-dur,6500ms) linear both;}
.bh-hero.is-paused .bh-hero__dot.is-active .bh-hero__bar i{animation-play-state:paused;}
.bh-hero__scroll{position:absolute;right:32px;top:50%;width:26px;height:44px;border:2px solid rgba(245,243,238,.5);border-radius:999px;display:none;}
.bh-hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:4px;background:var(--bw-gold);animation:bhScroll 1.8s var(--bw-ease) infinite;}
@media (min-width:1100px){.bh-hero__scroll{display:block;}}

@keyframes bhRise{from{transform:translateY(110%);}to{transform:none;}}
@keyframes bhFade{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes bhRule{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes bhIn{from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:none;}}
@keyframes bhOut{from{opacity:1;transform:none;}to{opacity:0;transform:translateY(-100%);}}
@keyframes bhProgress{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes bhScroll{0%{opacity:0;transform:translateY(0);}40%{opacity:1;}100%{opacity:0;transform:translateY(16px);}}
@keyframes bhMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- TICKER ---------- */
.bh-ticker{background:var(--bw-gold);color:var(--bw-ink);overflow:hidden;padding:20px 0;border-top:1px solid rgba(20,18,16,.15);}
.bh-ticker__track{display:flex;align-items:center;gap:36px;width:max-content;animation:bhMarquee 38s linear infinite;}
.bh-ticker span{font-family:var(--bw-display);font-weight:700;font-size:clamp(18px,2vw,26px);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.bh-ticker i{width:12px;height:12px;background:var(--bw-ink);transform:rotate(45deg);flex:none;}

/* ---------- ABOUT ---------- */
.bh-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;}
.bh-about__media{position:relative;padding:0 0 40px 40px;}
.bh-about__frame{position:absolute;left:0;bottom:0;width:78%;height:82%;border:2px solid var(--bw-gold);}
.bh-about__media img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.85) contrast(1.05);}
.bh-about__badge{position:absolute;right:-28px;top:48px;background:var(--bw-ink);color:var(--bw-cream);padding:26px 30px;display:flex;flex-direction:column;gap:4px;box-shadow:0 20px 40px -20px rgba(20,18,16,.6);}
.bh-about__badge strong{font-family:var(--bw-display);font-size:40px;line-height:1;color:var(--bw-gold);}
.bh-about__badge span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;}
.bh-about__text p:not(.bh-eyebrow){font-size:17px;line-height:1.7;color:#3b3530;margin-top:22px !important;max-width:60ch;}
.bh-about__text .bh-h2{margin-bottom:8px !important;}

/* ---------- STATS ---------- */
.bh-stats{padding:90px 0;background:
  radial-gradient(ellipse at 20% 0%,rgba(198,150,46,.16),transparent 55%),var(--bw-ink);}
.bh-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);}
.bh-stat{padding:10px 32px;border-left:1px solid var(--bw-line);display:flex;flex-direction:column;gap:12px;}
.bh-stat:first-child{border-left:0;padding-left:0;}
.bh-stat__num{font-family:var(--bw-display);font-weight:700;font-size:clamp(46px,5.5vw,80px);line-height:1;color:var(--bw-gold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.bh-stat__label{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,243,238,.7);}

/* ---------- SERVICES BENTO ---------- */
.bh-bento{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr;gap:20px;min-height:620px;}
.bh-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:40px;border-radius:14px;overflow:hidden;text-decoration:none !important;isolation:isolate;transition:transform .45s var(--bw-ease);}
.bh-tile:hover{transform:translateY(-6px);}
.bh-tile h3{font-family:var(--bw-display);font-weight:700;font-size:clamp(24px,2.4vw,34px);line-height:1.1;color:inherit;}
.bh-tile p{font-size:16px;line-height:1.6;max-width:44ch;opacity:.85;}
.bh-tile__num{position:absolute;top:34px;left:40px;font-family:var(--bw-display);font-weight:700;font-size:14px;letter-spacing:.2em;}
.bh-tile__more{font-family:var(--bw-display);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;gap:8px;margin-top:6px;}
.bh-tile__more span{transition:transform .3s var(--bw-ease);}
.bh-tile:hover .bh-tile__more span{transform:translateX(8px);}
.bh-tile--feature{grid-row:1 / span 2;color:var(--bw-cream);}
.bh-tile--feature::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--tile-img) center/cover;transform:scale(1.02);transition:transform 1.2s var(--bw-ease);}
.bh-tile--feature::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,18,16,.95) 10%,rgba(20,18,16,.35) 60%,rgba(20,18,16,.15));}
.bh-tile--feature:hover::before{transform:scale(1.09);}
.bh-tile--feature .bh-tile__num,.bh-tile--feature .bh-tile__more{color:var(--bw-gold);}
.bh-tile--dark{background:var(--bw-ink);color:var(--bw-cream);}
.bh-tile--dark .bh-tile__num,.bh-tile--dark .bh-tile__more{color:var(--bw-gold);}
.bh-tile--gold{background:var(--bw-gold);color:var(--bw-ink);}
.bh-tile--dark::after,.bh-tile--gold::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:2px solid currentColor;opacity:.12;transform:rotate(45deg);transition:transform .8s var(--bw-ease);}
.bh-tile--dark:hover::after,.bh-tile--gold:hover::after{transform:rotate(90deg);}

/* ---------- JOURNEY ---------- */
.bh-journey{position:relative;padding:160px 0;overflow:hidden;color:var(--bw-cream);isolation:isolate;}
.bh-journey__bg{position:absolute;inset:-18% 0;z-index:-2;background:var(--journey-img) center/cover;will-change:transform;}
.bh-journey::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,18,16,.25),rgba(20,18,16,.85) 60%);}
.bh-journey__inner{display:flex;justify-content:flex-end;}
.bh-journey__card{max-width:560px;background:rgba(20,18,16,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-left:3px solid var(--bw-gold);padding:52px;}
.bh-journey__card p{font-size:17px;line-height:1.7;color:rgba(245,243,238,.82);margin:22px 0 32px !important;}

/* ---------- WHY ---------- */
.bh-why__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:96px;align-items:start;}
.bh-why__intro{position:sticky;top:140px;}
.bh-why__intro p{font-size:18px;line-height:1.6;color:var(--bw-muted);margin:24px 0 36px !important;}
.bh-why__list li{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:40px 0;border-top:1px solid rgba(20,18,16,.14);transition:padding .4s var(--bw-ease);}
.bh-why__list li:last-child{border-bottom:1px solid rgba(20,18,16,.14);}
.bh-why__list li:hover{padding-left:14px;}
.bh-why__list li > span{font-family:var(--bw-display);font-weight:700;font-size:64px;line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--bw-gold);transition:color .4s;}
.bh-why__list li:hover > span{color:var(--bw-gold);}
.bh-why__list h3{font-family:var(--bw-display);font-weight:700;font-size:24px;margin-bottom:10px !important;color:var(--bw-ink);}
.bh-why__list p{font-size:16px;line-height:1.65;color:#4a433c;}

/* ---------- TESTIMONIALS ---------- */
.bh-testimonials{padding-bottom:130px;}
.bh-testimonials .bh-head{margin-bottom:56px;}
.bh-tmarquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);outline:none;}
.bh-tmarquee__track{display:flex;gap:28px;width:max-content;animation:bhMarquee 60s linear infinite;padding:10px 0;}
.bh-tmarquee:hover .bh-tmarquee__track,.bh-tmarquee:focus-within .bh-tmarquee__track{animation-play-state:paused;}
.bh-quote{position:relative;width:420px;flex:none;background:var(--bw-ink-2);border:1px solid var(--bw-line);border-radius:14px;padding:44px 38px 34px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;transition:border-color .3s,transform .4s var(--bw-ease);}
.bh-quote:hover{border-color:var(--bw-gold);transform:translateY(-6px);}
.bh-quote__mark{position:absolute;top:6px;right:28px;font-family:Georgia,serif;font-size:110px;line-height:1;color:var(--bw-gold);opacity:.35;}
.bh-quote blockquote{font-size:17px;line-height:1.65;color:rgba(245,243,238,.9);font-style:normal;background:none;}
.bh-quote figcaption{display:flex;align-items:center;gap:14px;}
.bh-quote__avatar{width:46px;height:46px;border-radius:50%;background:var(--bw-gold);color:var(--bw-ink);display:grid;place-items:center;font-family:var(--bw-display);font-weight:700;font-size:18px;flex:none;}
.bh-quote figcaption strong{display:block;font-family:var(--bw-display);color:var(--bw-cream);font-size:15px;}
.bh-quote figcaption em{display:block;font-style:normal;color:var(--bw-gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;}

/* ---------- CTA ---------- */
.bh-cta{background:var(--bw-gold);color:var(--bw-ink);padding:110px 0;position:relative;overflow:hidden;}
.bh-cta::before,.bh-cta::after{content:"";position:absolute;width:420px;height:420px;border:2px solid rgba(20,18,16,.12);transform:rotate(45deg);}
.bh-cta::before{left:-180px;top:-200px;}
.bh-cta::after{right:-160px;bottom:-240px;}
.bh-cta__inner{text-align:center;position:relative;z-index:1;}
.bh-cta h2{font-family:var(--bw-display);font-weight:700;font-size:clamp(34px,5vw,68px);line-height:1.05;letter-spacing:-.02em;color:var(--bw-ink);}
.bh-cta p{font-size:19px;margin:18px auto 38px !important;max-width:50ch;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .bh-section{padding:90px 0;}
  .bh-about__grid,.bh-why__grid{grid-template-columns:1fr;gap:56px;}
  .bh-about__badge{right:12px;}
  .bh-why__intro{position:static;}
  .bh-head{grid-template-columns:1fr;gap:18px;}
  .bh-stats__grid{grid-template-columns:repeat(3,1fr);row-gap:40px;}
  .bh-stat{padding:10px 18px;}

  .bh-hero__nav{grid-template-columns:repeat(5,1fr);gap:10px;}
  .bh-hero__dot-label{display:none;}
}
@media (max-width:760px){
  .bh-wrap{padding:0 20px;}
  .bh-hero{min-height:calc(100svh - 80px);}
  .bh-hero__content{padding-top:60px;padding-bottom:130px;}
  .bh-bento{grid-template-columns:1fr;grid-template-rows:auto;min-height:0;}
  .bh-tile{min-height:280px;padding:30px;}
  .bh-tile--feature{grid-row:auto;min-height:420px;}
  .bh-tile__num{top:26px;left:30px;}
  .bh-quote{width:300px;padding:36px 26px 28px;}
  .bh-journey{padding:100px 0;}
  .bh-journey__card{padding:34px 26px;}
  .bh-why__list li{grid-template-columns:70px 1fr;}
  .bh-why__list li > span{font-size:44px;}
  .bh-about__media{padding:0 0 24px 24px;}
}
@media (prefers-reduced-motion:reduce){
  .bh-hero__slide{transition:opacity .01s;transform:none !important;}
  .bh-line > span,.bh-hero__lead,.bh-hero__ctas,.bh-hero__nav,.bh-hero__rule{animation:none !important;}
  .bh-ticker__track,.bh-tmarquee__track{animation:none;}
  .bh-tmarquee{overflow-x:auto;}
}

@media (max-width:600px){
  .bh-stats__grid{grid-template-columns:1fr;}
  .bh-stat{border-left:0;padding:0;}
}
