/* BCT TOP polish — quieter corporate system, green as an accent only */

:root{
  --bct-green:#2f8f5b;
  --bct-green-dark:#1f6f46;
  --bct-green-pale:#f3f8f5;
  --bct-line:#d7ddd9;
  --bct-ink:#111;
}

html{
  overflow-x:hidden;
}

/* --------------------------------------------------------------------------
   FIRST VIEW
   Replace decorative panel shapes with restrained typography.
   -------------------------------------------------------------------------- */
body.home-v2 .hero--panel-field{
  min-height:650px;
  padding:0 7vw;
  justify-content:flex-start;
  background:#fff;
  overflow:hidden;
}

body.home-v2 .panel-field{
  display:none!important;
}

body.home-v2 .hero--panel-field::before{
  content:"BCT";
  position:absolute;
  z-index:0;
  right:4vw;
  top:49%;
  transform:translate3d(18px,-50%,0);
  font-size:clamp(150px,23vw,360px);
  line-height:.72;
  font-weight:850;
  letter-spacing:-.09em;
  color:#eef2ef;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1.15s cubic-bezier(.2,.7,.2,1);
}

body.home-v2:not(.is-loading) .hero--panel-field::before{
  opacity:1;
  transform:translate3d(0,-50%,0);
}

body.home-v2 .hero--panel-field::after{
  content:"";
  position:absolute;
  z-index:2;
  left:7vw;
  top:31%;
  width:42px;
  height:2px;
  background:var(--bct-green-dark);
}

body.home-v2 .hero--panel-field .hero__inner{
  z-index:3;
  width:min(820px,70vw);
  padding:0 0 54px;
  text-align:left;
}

body.home-v2 .hero--panel-field h1{
  margin:0;
  max-width:820px;
  font-size:clamp(50px,5.65vw,86px);
  line-height:1.2;
  font-weight:650;
  letter-spacing:-.055em;
}

body.home-v2 .hero--panel-field .hero__news{
  left:7vw;
}

body.home-v2 .top-transition{
  display:none!important;
}

/* --------------------------------------------------------------------------
   ABOUT → OUR ROLE
   The brush sits across the existing section boundary as a decorative layer.
   It must not add height or change either section's dimensions.
   -------------------------------------------------------------------------- */
body.home-v2 .top-about{
  position:relative;
  border-bottom:0!important;
}

body.home-v2 .bct-about-role-bridge{
  position:relative;
  z-index:1;
  width:100%;
  height:0;
  overflow:visible;
  clip-path:inset(-100vh 0);
  pointer-events:none;
}

body.home-v2 .bct-about-role-bridge img{
  position:absolute;
  top:0;
  left:50%;
  width:118vw;
  max-width:none;
  height:auto;
  opacity:.82;
  transform:translate(-50%,-50%) scaleY(.72);
  transform-origin:center;
  display:block;
}

body.home-v2 .mix-role{
  position:relative;
  background:transparent;
  border-top:0!important;
  border-bottom:0!important;
}

body.home-v2 .top-about > *,
body.home-v2 .mix-role__head,
body.home-v2 .mix-role__cards{
  position:relative;
  z-index:2;
}

/* --------------------------------------------------------------------------
   OUR ROLE
   Editorial cards with illustration, type, rules and whitespace.
   -------------------------------------------------------------------------- */
body.home-v2 .mix-role__cards{
  gap:0;
  border-top:1px solid var(--bct-ink);
  border-bottom:1px solid var(--bct-ink);
}

body.home-v2 .mix-role__card{
  min-height:445px;
  padding:24px 28px 32px;
  border:0;
  border-right:1px solid var(--bct-line);
  background:#fff;
  transition:background .35s ease;
}

body.home-v2 .mix-role__card:last-child{border-right:0}
body.home-v2 .mix-role__card::after{display:none!important}
body.home-v2 .mix-role__card::before{display:none!important}

body.home-v2 .mix-role__visual{
  height:215px;
  margin:0 0 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}

body.home-v2 .mix-role__visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}

body.home-v2 .mix-role__card:hover{
  background:var(--bct-green-pale);
}

body.home-v2 .mix-role__card:hover .mix-role__visual img{
  transform:translateY(-4px);
}

body.home-v2 .mix-role__card h3{
  margin-bottom:16px;
  font-size:clamp(20px,1.7vw,25px);
}

body.home-v2 .mix-role__card p{
  max-width:300px;
  font-size:12px;
  line-height:1.9;
}

/* --------------------------------------------------------------------------
   HISTORY
   A single timeline replaces the large abstract background graphic.
   -------------------------------------------------------------------------- */
body.home-v2 .mix-history__mark{display:none!important}

body.home-v2 .mix-history__grid{
  position:relative;
  padding-top:38px;
  border-top:0;
}

body.home-v2 .mix-history__grid::before,
body.home-v2 .mix-history__grid::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:2px;
}

body.home-v2 .mix-history__grid::before{
  right:0;
  background:var(--bct-line);
}

body.home-v2 .mix-history__grid::after{
  width:100%;
  background:var(--bct-green-dark);
  transform:scaleX(0);
  transform-origin:left center;
  animation:bct-timeline-grow 1.25s cubic-bezier(.2,.75,.2,1) forwards;
  animation-timeline:view();
  animation-range:entry 12% cover 34%;
}

@keyframes bct-timeline-grow{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

body.home-v2 .mix-history__item{
  min-height:250px;
  padding-top:14px;
}

body.home-v2 .mix-history__year{
  margin-bottom:50px;
  color:var(--bct-green-dark);
}

/* --------------------------------------------------------------------------
   BCT NAVIGATION
   Quiet editorial navigation cards, without abstract illustrations.
   -------------------------------------------------------------------------- */
body.home-v2 .mix-links__grid{
  gap:0;
  border-top:1px solid var(--bct-ink);
  border-bottom:1px solid var(--bct-ink);
}

body.home-v2 .mix-links__card{
  min-height:240px;
  padding:34px 32px 30px;
  border:0;
  border-right:1px solid var(--bct-line);
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:background .35s ease;
}

body.home-v2 .mix-links__card:last-child{border-right:0}
body.home-v2 .mix-links__visual{display:none!important}

body.home-v2 .mix-links__card::before{
  color:var(--bct-green-dark);
  font-size:11px;
  font-weight:800;
  line-height:1;
  letter-spacing:.12em;
}

body.home-v2 .mix-links__card:nth-child(1)::before{content:"01 / ABOUT"}
body.home-v2 .mix-links__card:nth-child(2)::before{content:"02 / COMPANY"}

body.home-v2 .mix-links__label{
  position:static;
  min-height:0;
  padding:0;
  border-top:0;
  background:transparent;
  grid-template-columns:1fr auto;
}

body.home-v2 .mix-links__name{
  font-size:clamp(25px,2.8vw,40px);
  font-weight:600;
  letter-spacing:-.04em;
}

body.home-v2 .mix-links__arrow{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--bct-ink);
  border-radius:50%;
  transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease;
}

body.home-v2 .mix-links__card:hover{background:var(--bct-green-pale)}

body.home-v2 .mix-links__card:hover .mix-links__arrow{
  transform:translateX(5px);
  background:var(--bct-green-dark);
  border-color:var(--bct-green-dark);
  color:#fff;
}

/* One subtle interaction language across text links. */
body.home-v2 .top-about__link span,
body.home-v2 .top-own__copy a span,
body.home-v2 .top-news__more,
body.home-v2 .top-news__arrow{
  transition:transform .28s ease,color .28s ease;
}

body.home-v2 .top-about__link:hover span,
body.home-v2 .top-own__copy a:hover span{transform:translateX(5px)}

body.home-v2 .top-news__row:hover .top-news__arrow{
  transform:translateX(5px);
  color:var(--bct-green-dark);
}

@media(max-width:900px){
  body.home-v2 .hero--panel-field{
    min-height:600px;
    padding:0 24px;
  }
  body.home-v2 .hero--panel-field::before{
    right:-7vw;
    font-size:clamp(120px,30vw,260px);
  }
  body.home-v2 .hero--panel-field::after{
    left:24px;
    top:28%;
  }
  body.home-v2 .hero--panel-field .hero__inner{
    width:min(760px,86vw);
    padding-bottom:60px;
  }
  body.home-v2 .hero--panel-field .hero__news{left:24px;right:24px}

  body.home-v2 .mix-role__cards{grid-template-columns:1fr}
  body.home-v2 .mix-role__card{
    min-height:0;
    padding:26px 28px 30px;
    border-right:0;
    border-bottom:1px solid var(--bct-line);
  }
  body.home-v2 .mix-role__card:last-child{border-bottom:0}
  body.home-v2 .mix-role__visual{
    height:220px;
    margin-bottom:22px;
  }

  body.home-v2 .mix-history__grid{padding-top:26px}

  body.home-v2 .mix-links__grid{grid-template-columns:1fr}
  body.home-v2 .mix-links__card{
    min-height:190px;
    border-right:0;
    border-bottom:1px solid var(--bct-line);
  }
  body.home-v2 .mix-links__card:last-child{border-bottom:0}
}

@media(max-width:600px){
  body.home-v2 .hero--panel-field{
    min-height:560px;
    padding:0 20px;
  }
  body.home-v2 .hero--panel-field::before{
    right:-17vw;
    top:47%;
    font-size:48vw;
    color:#f1f4f2;
  }
  body.home-v2 .hero--panel-field::after{
    left:20px;
    top:25%;
    width:32px;
  }
  body.home-v2 .hero--panel-field .hero__inner{
    width:92%;
    padding-bottom:78px;
  }
  body.home-v2 .hero--panel-field h1{font-size:clamp(38px,10vw,50px)}

  body.home-v2 .mix-role__card{
    padding:20px 22px 26px;
  }
  body.home-v2 .mix-role__visual{
    height:180px;
    margin-bottom:18px;
  }
  body.home-v2 .mix-links__card{
    padding-left:22px;
    padding-right:22px;
  }
  body.home-v2 .mix-links__name{font-size:27px}
}

@media(prefers-reduced-motion:reduce){
  body.home-v2 .hero--panel-field::before,
  body.home-v2 .mix-role__card,
  body.home-v2 .mix-role__visual img,
  body.home-v2 .mix-links__card,
  body.home-v2 .mix-links__arrow{
    transition:none!important;
  }
  body.home-v2 .mix-history__grid::after{
    animation:none!important;
    transform:scaleX(1);
  }
}

@media(max-width:900px){
  body.home-v2 .bct-about-role-bridge img{
    left:50%;
    width:160vw;
    opacity:.72;
    transform:translate(-50%,-50%) scaleY(.78);
  }
}


/* Unified top-page section heading hierarchy */
body.home-v2 .top-about__title > .top-section__eyebrow,
body.home-v2 .mix-role__title h2,
body.home-v2 .top-own__head h2,
body.home-v2 .top-news__head h2{
  margin-top:0;
  font-size:clamp(48px,5.8vw,82px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:620;
  color:var(--bct-ink);
  text-transform:none;
}
body.home-v2 .top-about__title > .top-section__eyebrow{
  margin-bottom:38px;
}

@media(max-width:600px){
  body.home-v2 .top-about__title > .top-section__eyebrow,
  body.home-v2 .mix-role__title h2,
  body.home-v2 .top-own__head h2,
  body.home-v2 .top-news__head h2{
    font-size:clamp(46px,12vw,54px);
  }
  body.home-v2 .top-about__title > .top-section__eyebrow{
    margin-bottom:32px;
  }
}


/* Own and News heading refinements */
body.home-v2 .top-own__head .top-section__eyebrow{
  margin-bottom:30px;
  font-size:14px;
  line-height:1;
  letter-spacing:.16em;
  font-weight:750;
  color:var(--bct-ink);
}
body.home-v2 .top-own__head h2{
  font-size:clamp(44px,5vw,70px);
}
@media(max-width:600px){
  body.home-v2 .top-own__head .top-section__eyebrow{
    margin-bottom:24px;
    font-size:14px;
  }
  body.home-v2 .top-own__head h2{
    font-size:44px;
  }
}


/* Business hierarchy: section first, service second */
body.home-v2 .top-own__head .top-section__eyebrow{
  margin-bottom:34px;
  font-size:clamp(48px,5.8vw,82px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:620;
  color:var(--bct-ink);
  text-transform:none;
}
body.home-v2 .top-own__head h2{
  font-size:clamp(32px,3.35vw,50px);
  line-height:1.15;
  letter-spacing:-.04em;
  font-weight:620;
}
@media(max-width:600px){
  body.home-v2 .top-own__head .top-section__eyebrow{
    margin-bottom:30px;
    font-size:clamp(46px,12vw,54px);
  }
  body.home-v2 .top-own__head h2{
    font-size:34px;
  }
}


/* Top business: folder-style horizontal tabs */
body.home-v2 .top-business .top-own__head{padding-bottom:64px}
body.home-v2 .top-business .top-own__head .top-section__eyebrow{margin-bottom:0}
body.home-v2 .business-tabs{margin:38px 4vw 84px}
body.home-v2 .business-tabs__nav{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  gap:0;
  padding-left:0;
  margin-bottom:-1px;
}
body.home-v2 .business-tabs__tab{
  position:relative;
  width:min(360px,34vw);
  min-height:82px;
  margin-bottom:0;
  padding:18px 28px 19px;
  border:1px solid var(--bct-ink);
  border-bottom-color:var(--bct-ink);
  background:#f4f4f2;
  color:var(--bct-ink);
  display:flex;
  align-items:flex-end;
  gap:0;
  text-align:left;
  cursor:pointer;
  transition:width .58s cubic-bezier(.22,.75,.2,1),background-color .35s ease,padding .58s cubic-bezier(.22,.75,.2,1);
}
body.home-v2 .business-tabs__tab+ .business-tabs__tab{margin-left:-1px}
body.home-v2 .business-tabs__tab::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:3px;
  background:#fff;
  opacity:0;
}
body.home-v2 .business-tabs__tab.is-active{
  width:min(440px,40vw);
  padding-left:34px;
  background:#fff;
  border-bottom-color:#fff;
}
body.home-v2 .business-tabs__tab.is-active::before{opacity:1}
body.home-v2 .business-tabs__tab strong{font-size:clamp(18px,2vw,28px);line-height:1.1;letter-spacing:-.04em}
body.home-v2 .business-tabs__frame{
  position:relative;
  z-index:1;
  min-height:490px;
  border:1px solid var(--bct-ink);
  background:#fff;
  overflow:hidden;
}
body.home-v2 .business-tabs__panel{
  position:absolute;
  inset:0;
  padding:60px 6vw;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);
  gap:6vw;
  align-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(6%);
  transition:opacity .42s ease,transform .68s cubic-bezier(.22,.75,.2,1),visibility 0s linear .68s;
}
body.home-v2 .business-tabs[data-active="1"] [data-business-panel="0"]{transform:translateX(-6%)}
body.home-v2 .business-tabs__panel.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
  transition-delay:0s;
}
body.home-v2 .business-tabs__copy h2{margin:0 0 28px;font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-.06em;font-weight:620}
body.home-v2 .business-tabs__copy h2 span{display:block;margin-top:10px;font-size:.22em;line-height:1.2;letter-spacing:.16em;font-weight:750}
body.home-v2 .business-tabs__copy p{max-width:590px;margin:0 0 32px;font-size:14px;line-height:2;color:#343a40}
body.home-v2 .business-tabs__copy>a{display:inline-flex;gap:42px;padding-bottom:7px;border-bottom:1px solid var(--bct-ink);font-size:12px;font-weight:700}
body.home-v2 .business-tabs__media{display:block;height:100%;min-height:300px;overflow:hidden}
body.home-v2 .business-tabs__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.75,.2,1)}
body.home-v2 .business-tabs__media:hover img{transform:scale(1.025)}

@media(max-width:800px){
  body.home-v2 .top-business .top-own__head{padding-bottom:42px}
  body.home-v2 .business-tabs{margin:28px 20px 64px}
  body.home-v2 .business-tabs__nav{padding-left:0}
  body.home-v2 .business-tabs__tab{
    width:50%;
    min-height:68px;
    padding:13px 12px 14px;
    gap:0;
  }
  body.home-v2 .business-tabs__tab.is-active{width:58%;padding-left:15px}
  body.home-v2 .business-tabs__tab strong{font-size:clamp(15px,4.2vw,19px)}
  body.home-v2 .business-tabs__frame{min-height:560px}
  body.home-v2 .business-tabs__panel{
    padding:38px 24px 26px;
    grid-template-columns:1fr;
    grid-template-rows:auto 180px;
    gap:28px;
    align-content:start;
  }
  body.home-v2 .business-tabs__copy h2{font-size:clamp(34px,9vw,44px);margin-bottom:20px}
  body.home-v2 .business-tabs__copy p{font-size:13px;line-height:1.9;margin-bottom:24px}
  body.home-v2 .business-tabs__media{min-height:0;height:180px}
}
@media(max-width:420px){
  body.home-v2 .business-tabs__tab strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  body.home-v2 .business-tabs__tab,
  body.home-v2 .business-tabs__panel,
  body.home-v2 .business-tabs__media img{transition:none!important}
}
