
:root{
  --pad: max(32px, calc(50vw - 600px));
  --navy:#152B43;
  --navy-2:#1E3D5C;
  --navy-ink:#0C1B2C;
  --green:#81C440;
  --green-lt:#9AD45E;
  --green-dk:#4F8A22;
  --mint:#EAF5DE;
  --shell:#EDF1F5;
  --shell-2:#E3EAF0;
  --white:#FFFFFF;
  --line:#DCE4EA;
  --grey:#5C6B78;
  --font:'Google Sans',system-ui,-apple-system,sans-serif;
  --r:22px;
  --shadow:0 18px 44px rgba(21,43,67,.08);
  --shadow-lg:0 28px 60px rgba(21,43,67,.14);
  --ease:cubic-bezier(.16,1,.3,1);
}
body.bc.bc,body.bc *:not(.joinchat *),body.bc *:not(.joinchat *)::before,body.bc *:not(.joinchat *)::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.bc.bc{font-family:var(--font);color:var(--navy-ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.bc.bc img{max-width:100%;display:block}
body.bc.bc a{color:inherit;text-decoration:none}
body.bc.bc section{padding-left:var(--pad);padding-right:var(--pad)}

body.bc.bc .pill{display:inline-flex;align-items:center;gap:9px;background:var(--mint);color:var(--green-dk);font-size:12.5px;font-weight:700;letter-spacing:.04em;padding:8px 16px;border-radius:100px;text-transform:uppercase}
body.bc.bc .pill i{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}
body.bc.bc .pill.ghost{background:rgba(255,255,255,.12);color:#fff}
body.bc.bc .pill.navy{background:var(--navy);color:var(--green-lt)}
body.bc.bc h1{font-size:clamp(36px,5.4vw,66px);font-weight:800;line-height:1.06;letter-spacing:-.035em}
body.bc.bc h2{font-size:clamp(28px,3.6vw,46px);font-weight:800;line-height:1.12;letter-spacing:-.028em}
body.bc.bc h3{font-size:20px;font-weight:700;letter-spacing:-.012em;line-height:1.65}
body.bc.bc p{color:var(--grey);font-size:16px}
body.bc.bc .lead{font-size:18px;color:#33424E;line-height:1.65}
body.bc.bc .center{text-align:center;max-width:680px;margin:0 auto 52px}
body.bc.bc .center .pill{margin-bottom:20px}
body.bc.bc .center p{margin-top:16px}
body.bc.bc .on-dark h2,body.bc.bc .on-dark h3{color:#fff}
body.bc.bc .on-dark p{color:rgba(255,255,255,.7)}
body.bc.bc .on-dark .lead{color:rgba(255,255,255,.76)}

body.bc.bc .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-size:15px;font-weight:700;padding:16px 30px;border-radius:100px;border:1.5px solid transparent;transition:.28s var(--ease);min-height:50px;cursor:pointer}
body.bc.bc .btn-green{background:var(--green);color:#fff}
body.bc.bc .btn-green:hover{background:var(--green-dk);transform:translateY(-3px);box-shadow:0 14px 30px rgba(129,196,64,.34)}
body.bc.bc .btn-navy{background:var(--navy);color:#fff}
body.bc.bc .btn-navy:hover{background:var(--navy-2);transform:translateY(-3px)}
body.bc.bc .btn-out{border-color:var(--line);color:var(--navy);background:#fff}
body.bc.bc .btn-out:hover{border-color:var(--navy);transform:translateY(-3px)}
body.bc.bc .btn-out.ghost{border-color:rgba(255,255,255,.3);color:#fff;background:transparent}
body.bc.bc .btn-out.ghost:hover{background:#fff;color:var(--navy);border-color:#fff}

body.bc.bc [data-anim]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
body.bc.bc [data-anim].in{opacity:1;transform:none}
body.bc.bc [data-anim][data-d="1"]{transition-delay:.08s}
body.bc.bc [data-anim][data-d="2"]{transition-delay:.16s}
body.bc.bc [data-anim][data-d="3"]{transition-delay:.24s}
body.bc.bc [data-anim][data-d="4"]{transition-delay:.32s}
body.bc.bc [data-anim][data-d="5"]{transition-delay:.4s}/* ---------- nav ---------- */


body.bc.bc header.site{position:sticky;top:0;z-index:120;background:rgba(237,241,245,.92);backdrop-filter:blur(16px)}
body.bc.bc nav{padding:16px var(--pad)}
body.bc.bc .nav-shell{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 12px 10px 22px;box-shadow:0 6px 22px rgba(21,43,67,.06)}
body.bc.bc .logo{display:flex;align-items:center;gap:11px;min-height:48px}
body.bc.bc .logo img{height:40px;width:auto}
body.bc.bc .logo-t b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1}
body.bc.bc .logo-t small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.15em;color:var(--grey);margin-top:4px}
body.bc.bc .nav-links{display:flex;gap:26px}
body.bc.bc .nav-links a{font-size:14.5px;font-weight:600;color:var(--navy);transition:.2s}
body.bc.bc .nav-links a:hover{color:var(--green-dk)}
body.bc.bc .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;min-width:48px;min-height:48px;align-items:center;justify-content:center}
body.bc.bc .burger span{width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.3s var(--ease)}
body.bc.bc .burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.bc.bc .burger.on span:nth-child(2){opacity:0}
body.bc.bc .burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.bc.bc .mobile{display:none;margin:0 var(--pad) 12px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:12px 22px 22px}
body.bc.bc .mobile.open{display:block}
body.bc.bc .mobile a{display:block;padding:15px 0;font-weight:600;font-size:16px;border-bottom:1px solid var(--line);color:var(--navy)}
body.bc.bc .mobile .btn{width:100%;margin-top:18px}
body.bc.bc .mobile-row{display:flex;gap:10px;margin-top:10px}
body.bc.bc .mobile-row a{flex:1;text-align:center;border:1px solid var(--line);border-radius:100px;padding:13px 0;font-size:13.5px}/* ---------- hero (grey, slideshow) ---------- */


body.bc.bc .intro{background:linear-gradient(170deg,var(--shell) 0%,var(--shell-2) 100%);padding-top:44px;padding-bottom:88px}
body.bc.bc .intro-top{display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center}
body.bc.bc .intro h1{margin:20px 0 22px}
body.bc.bc .intro h1 span{color:var(--green-dk)}
body.bc.bc .intro-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
body.bc.bc .trust{display:flex;gap:26px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
body.bc.bc .trust div b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--navy)}
body.bc.bc .trust div span{font-size:13px;color:var(--grey);line-height:1.4;display:block}
body.bc.bc .intro-right{display:flex;flex-direction:column;gap:18px}
body.bc.bc .nres-pill{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px}
body.bc.bc .nres-pill b{background:var(--green);color:#fff;font-size:12px;font-weight:800;border-radius:100px;padding:4px 11px;white-space:nowrap;margin-top:1px}
body.bc.bc .nres-pill span{font-size:13.5px;color:var(--navy);line-height:1.5}
body.bc.bc .nres-pill small{display:block;color:var(--grey);font-size:11.5px;margin-top:3px}

body.bc.bc .intro-art{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--navy)}
body.bc.bc .slides{position:relative;height:480px}
body.bc.bc .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease-in-out}
body.bc.bc .slide.active{opacity:1}
body.bc.bc .slide img{width:100%;height:100%;object-fit:cover}
body.bc.bc .thermal{position:absolute;inset:auto 0 0 0;height:56%;background:linear-gradient(to top,rgba(12,27,44,.94) 0%,rgba(21,43,67,.5) 46%,transparent 100%);z-index:2}
body.bc.bc .art-card{position:absolute;left:20px;right:20px;bottom:20px;z-index:3;display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.97);border-radius:16px;padding:16px 18px}
body.bc.bc .art-card b{background:var(--mint);color:var(--green-dk);border-radius:12px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0}
body.bc.bc .art-card span{font-size:13.5px;color:var(--navy);font-weight:600;line-height:1.45}
body.bc.bc .dots{position:absolute;top:18px;right:18px;z-index:3;display:flex;gap:0}
body.bc.bc .dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);border:0;cursor:pointer;padding:10px;background-clip:content-box;box-sizing:content-box;transition:.3s}
body.bc.bc .dot.active{background:var(--green);background-clip:content-box}/* ---------- pain points ---------- */


body.bc.bc .pains{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .check-wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:start}
body.bc.bc .chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
body.bc.bc .chip{display:flex;gap:13px;align-items:center;border-radius:100px;padding:14px 20px 14px 14px;font-size:14.8px;font-weight:600;line-height:1.4;transition:.3s var(--ease);border:1px solid transparent;text-align:left;font-family:var(--font);cursor:pointer;width:100%;position:relative}
body.bc.bc .chip:hover{transform:translateX(5px)}
body.bc.bc .chip .tick{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;opacity:.32;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.28s}
body.bc.bc .chip .tick svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:.28s}
body.bc.bc .chip[aria-pressed="true"]{transform:translateX(5px);box-shadow:0 12px 28px rgba(21,43,67,.16)}
body.bc.bc .chip[aria-pressed="true"] .tick{opacity:1;background:var(--green);border-color:var(--green);color:#fff}
body.bc.bc .chip[aria-pressed="true"] .tick svg{opacity:1;stroke:#fff}
body.bc.bc .picker{position:sticky;top:110px;background:var(--navy);border-radius:var(--r);padding:28px 26px;color:#fff}
body.bc.bc .pk-head{display:flex;align-items:baseline;gap:9px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:18px}
body.bc.bc .pk-head b{font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--green-lt);line-height:1}
body.bc.bc .pk-head span{font-size:13px;color:rgba(255,255,255,.6);font-weight:600}
body.bc.bc .pk-empty{font-size:14px;color:rgba(255,255,255,.62);line-height:1.6}
body.bc.bc .pk-item{padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.18);animation:pkIn .45s var(--ease)}
@keyframes pkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.bc.bc .pk-item:last-of-type{border-bottom:0}
body.bc.bc .pk-item b{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-lt);margin-bottom:8px}
body.bc.bc .pk-item .stat{display:block;font-size:16px;font-weight:800;color:#fff;letter-spacing:-.01em;margin-bottom:6px}
body.bc.bc .pk-item p{font-size:13.5px;color:rgba(255,255,255,.66);line-height:1.55}
body.bc.bc .picker .btn{width:100%;margin-top:20px}
body.bc.bc .pk-note{font-size:11.5px;color:rgba(255,255,255,.45);text-align:center;margin-top:10px;line-height:1.5}
body.bc.bc .chip i{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.bc.bc .chip i svg{width:19px;height:19px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.bc.bc .c-cost{background:var(--navy);color:#fff}
body.bc.bc .c-cost i{background:rgba(129,196,64,.22)} body.bc.bc .c-cost i svg{stroke:var(--green-lt)}
body.bc.bc .c-comfort{background:var(--mint);color:var(--navy)}
body.bc.bc .c-comfort i{background:#fff} body.bc.bc .c-comfort i svg{stroke:var(--green-dk)}
body.bc.bc .c-comply{background:var(--shell);color:var(--navy)}
body.bc.bc .c-comply i{background:#fff} body.bc.bc .c-comply i svg{stroke:var(--navy)}
body.bc.bc .c-stage{background:#fff;border-color:var(--line);color:var(--navy)}
body.bc.bc .c-stage i{background:var(--shell)} body.bc.bc .c-stage i svg{stroke:var(--navy-2)}/* ---------- why ---------- */


body.bc.bc .why{padding-top:92px;padding-bottom:92px;background:var(--mint)}
body.bc.bc .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.bc.bc .wcard{background:#fff;border-radius:var(--r);padding:32px 30px;transition:.34s var(--ease)}
body.bc.bc .wcard:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
body.bc.bc .wicon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:var(--shell);transition:.34s var(--ease)}
body.bc.bc .wcard:hover .wicon{background:var(--navy);transform:rotate(-6deg)}
body.bc.bc .wicon svg{width:24px;height:24px;stroke:var(--navy);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:.34s}
body.bc.bc .wcard:hover .wicon svg{stroke:var(--green-lt)}
body.bc.bc .wcard h3{margin-bottom:10px}
body.bc.bc .wcard p{font-size:15px}
body.bc.bc .wtag{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;color:var(--green-dk);background:var(--mint);padding:6px 13px;border-radius:100px}/* ---------- products (dark) ---------- */


body.bc.bc .offer{padding-top:92px;padding-bottom:92px;background:var(--navy)}
body.bc.bc .rail{display:grid;grid-auto-flow:column;grid-auto-columns:310px;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}
body.bc.bc .rail::-webkit-scrollbar{height:6px}
body.bc.bc .rail::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:100px}
body.bc.bc .rail::-webkit-scrollbar-thumb{background:var(--green);border-radius:100px}
body.bc.bc .rcard{scroll-snap-align:start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.34s var(--ease)}
body.bc.bc .rcard:hover{transform:translateY(-7px);border-color:var(--green);background:rgba(129,196,64,.09)}
body.bc.bc .rcard img{height:165px;width:100%;object-fit:cover}
body.bc.bc .rcard-b{padding:24px;flex:1;display:flex;flex-direction:column;gap:9px}
body.bc.bc .rcard-b small{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-lt)}
body.bc.bc .rcard-b h3{font-size:18px;color:#fff}
body.bc.bc .rcard-b p{font-size:14.5px;color:rgba(255,255,255,.66)}
body.bc.bc .rail-hint{font-size:13px;color:rgba(255,255,255,.55);font-weight:600;margin-top:16px;display:flex;align-items:center;gap:8px}/* ---------- services ---------- */


body.bc.bc .svcs{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.bc.bc .svc{background:var(--shell);border-radius:var(--r);padding:28px 26px;display:flex;gap:16px;align-items:flex-start;transition:.34s var(--ease)}
body.bc.bc .svc:hover{background:var(--navy);transform:translateY(-6px);box-shadow:var(--shadow-lg)}
body.bc.bc .svc:hover h3{color:#fff} body.bc.bc .svc:hover p{color:rgba(255,255,255,.7)}
body.bc.bc .svc:hover b{background:var(--green);color:#fff}
body.bc.bc .svc b{flex:0 0 38px;height:38px;border-radius:12px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;transition:.34s}
body.bc.bc .svc h3{font-size:17px;margin-bottom:6px;transition:.34s;line-height:1.3}
body.bc.bc .svc p{font-size:14.5px;transition:.34s}/* ---------- NRES band ---------- */


body.bc.bc .nres{background:var(--green);padding-top:56px;padding-bottom:56px}
body.bc.bc .nres-inner{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}
body.bc.bc .nres-num{font-size:clamp(46px,6vw,76px);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1;white-space:nowrap}
body.bc.bc .nres-num small{font-size:.36em;font-weight:700;letter-spacing:0}
body.bc.bc .nres-txt h3{color:#fff;font-size:22px;margin-bottom:6px}
body.bc.bc .nres-txt p{color:rgba(255,255,255,.86);font-size:15px;max-width:60ch}
body.bc.bc .nres-src{font-size:12px;color:rgba(255,255,255,.8);text-align:right;line-height:1.55;border-left:1px solid rgba(255,255,255,.35);padding-left:24px}/* ---------- process ---------- */


body.bc.bc .process{padding-top:92px;padding-bottom:92px;background:var(--shell)}
body.bc.bc .proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.bc.bc .proc{background:#fff;border-radius:var(--r);padding:32px 26px 30px;transition:.34s var(--ease)}
body.bc.bc .proc:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg)}
body.bc.bc .proc-n{font-size:50px;font-weight:800;letter-spacing:-.05em;color:#fff;line-height:1;margin-bottom:14px;-webkit-text-stroke:1.5px var(--line);transition:.34s}
body.bc.bc .proc:hover .proc-n{-webkit-text-stroke:1.5px var(--green)}
body.bc.bc .proc h3{font-size:18px;margin-bottom:9px}
body.bc.bc .proc p{font-size:14.5px}
body.bc.bc .proc-t{display:block;margin-top:18px;font-size:12px;font-weight:700;color:var(--green-dk);letter-spacing:.04em;text-transform:uppercase}/* ---------- certs ---------- */


body.bc.bc .certs{padding-top:88px;padding-bottom:88px;background:linear-gradient(150deg,var(--navy-2) 0%,var(--navy-ink) 100%)}
body.bc.bc .cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body.bc.bc .cert{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:28px 24px;transition:.34s var(--ease)}
body.bc.bc .cert:hover{background:rgba(129,196,64,.12);border-color:var(--green);transform:translateY(-7px)}
body.bc.bc .cert b{display:flex;width:46px;height:46px;border-radius:14px;background:var(--green);color:#fff;align-items:center;justify-content:center;margin-bottom:18px}
body.bc.bc .cert b svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.bc.bc .cert h3{font-size:16px;color:#fff;margin-bottom:8px;line-height:1.4}
body.bc.bc .cert p{font-size:13.5px;color:rgba(255,255,255,.58)}/* ---------- testimonials ---------- */


body.bc.bc .voices{padding-top:92px;padding-bottom:92px;background:var(--shell)}
body.bc.bc .voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.bc.bc .voice{background:#fff;border-radius:var(--r);padding:32px 30px;display:flex;flex-direction:column;gap:18px;transition:.34s var(--ease)}
body.bc.bc .voice:hover{background:var(--mint);transform:translateY(-6px);box-shadow:var(--shadow)}
body.bc.bc .stars{color:var(--green-dk);font-size:15px;letter-spacing:3px;line-height:1.65}
body.bc.bc .voice p{font-size:15.5px;color:var(--navy-ink);line-height:1.7;flex:1}
body.bc.bc .voice-by{display:flex;align-items:center;gap:14px}
body.bc.bc .avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:var(--navy);color:var(--green-lt);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:.04em}
body.bc.bc .voice-by b{display:block;font-size:14.5px;font-weight:700;color:var(--navy)}
body.bc.bc .voice-by span{font-size:12.5px;color:var(--grey)}/* ---------- cta ---------- */


body.bc.bc .cta{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .cta-box{background:var(--navy);border-radius:32px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;color:#fff;position:relative;overflow:hidden}
body.bc.bc .cta-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(129,196,64,.2) 0%,transparent 68%);top:-200px;right:-140px;pointer-events:none}
body.bc.bc .cta-box h2{color:#fff;margin:18px 0}
body.bc.bc .cta-l{position:relative;z-index:2}
body.bc.bc .map-wrap{margin-top:26px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.16)}
body.bc.bc .map-wrap iframe{width:100%;height:230px;border:0;display:block;filter:grayscale(.3) contrast(1.05)}
body.bc.bc .map-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;background:rgba(255,255,255,.07);flex-wrap:wrap}
body.bc.bc .map-bar span{font-size:13.5px;color:rgba(255,255,255,.86);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
body.bc.bc .map-bar svg{width:17px;height:17px;fill:none;stroke:var(--green-lt);stroke-width:1.8;flex-shrink:0;margin-top:2px}
body.bc.bc .map-bar a{font-size:12.5px;font-weight:700;color:var(--green-lt);white-space:nowrap;border-bottom:1px solid rgba(154,212,94,.45);padding-bottom:2px}
body.bc.bc .map-bar a:hover{color:#fff;border-color:#fff}
body.bc.bc form:not(.elementor-form){background:#fff;border-radius:24px;padding:34px;color:var(--navy-ink);position:relative;z-index:2}
body.bc.bc form h3{margin-bottom:4px;color:var(--navy)}
body.bc.bc form small{display:block;color:var(--grey);font-size:13.5px;margin-bottom:20px}
body.bc.bc .f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.bc.bc .field{margin-bottom:13px}
body.bc.bc .field label{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:6px}
body.bc.bc .field input,body.bc.bc .field select,body.bc.bc .field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:13px;font-family:var(--font);font-size:16px;background:var(--shell);min-height:50px;color:var(--navy-ink)}
body.bc.bc .field textarea{min-height:80px;resize:vertical}
body.bc.bc .field input:focus,body.bc.bc .field select:focus,body.bc.bc .field textarea:focus{outline:none;border-color:var(--green);background:#fff}
body.bc.bc form .btn{width:100%;margin-top:6px}
body.bc.bc form .fine{font-size:12px;color:var(--grey);text-align:center;margin-top:12px}/* ---------- footer ---------- */


body.bc.bc footer{background:var(--navy-ink);color:#fff;padding-top:72px;padding-bottom:32px;padding-left:var(--pad);padding-right:var(--pad)}
body.bc.bc .f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:42px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.14)}
body.bc.bc .f-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}
body.bc.bc .f-logo img{height:46px;width:auto}
body.bc.bc .f-logo b{display:block;font-size:21px;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1}
body.bc.bc .f-logo small{display:block;font-size:10px;font-weight:700;letter-spacing:.15em;color:rgba(255,255,255,.55);margin-top:4px}
body.bc.bc .f-top p{font-size:14.5px;line-height:1.7;max-width:34ch;color:rgba(255,255,255,.6)}
body.bc.bc .f-h{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-lt);margin-bottom:16px}
body.bc.bc .f-col a,body.bc.bc .f-col address{display:block;font-size:14.5px;color:rgba(255,255,255,.7);padding:7px 0;font-style:normal;line-height:1.6;transition:.2s}
body.bc.bc .f-col a:hover{color:var(--green-lt)}
body.bc.bc .f-bot{padding-top:24px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.44)}

body.bc.bc .wa{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.4);z-index:200;transition:.3s}
body.bc.bc .wa:hover{transform:scale(1.09)}
body.bc.bc .wa svg{width:30px;height:30px;fill:#fff}/* ---------- product spec line ---------- */



body.bc.bc .rcard-b .spec{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;line-height:1.5;color:var(--green-lt);font-weight:600}/* ---------- field readings ---------- */


body.bc.bc .evidence{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .ev-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:44px}
body.bc.bc .ev-head h2{margin-top:18px}
body.bc.bc .ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body.bc.bc .ev-photo{margin:0;background:var(--shell);border-radius:var(--r);overflow:hidden;transition:.34s var(--ease)}
body.bc.bc .ev-photo:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
body.bc.bc .ev-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
body.bc.bc .ev-photo figcaption{padding:16px 18px 18px}
body.bc.bc .ev-photo b{display:block;font-size:15px;color:var(--navy);letter-spacing:-.01em}
body.bc.bc .ev-photo span{display:block;font-size:12.5px;color:var(--grey);margin-top:3px;line-height:1.45}
body.bc.bc .ev-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
body.bc.bc .ev-stats>div{background:var(--navy);color:#fff;border-radius:var(--r);padding:26px 24px}
body.bc.bc .ev-stats b{display:block;font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--green-lt);line-height:1;margin-bottom:10px}
body.bc.bc .ev-stats span{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.72)}
body.bc.bc .ev-note{font-size:13px;color:var(--grey);margin-top:22px;max-width:92ch;line-height:1.6}/* ---------- process: dark photo section ---------- */


body.bc.bc .process{position:relative;isolation:isolate;background:var(--navy) url("https://images.unsplash.com/photo-1662120399978-738d233edbec?auto=format&fit=crop&w=1800&q=70") center/cover no-repeat}
body.bc.bc .process::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,43,67,.9) 0%,rgba(21,43,67,.84) 50%,rgba(12,27,44,.94) 100%);z-index:-1}
body.bc.bc .process .center h2{color:#fff}
body.bc.bc .process .center p{color:rgba(255,255,255,.72)}
body.bc.bc .process .pill.navy{background:rgba(255,255,255,.12);color:#fff}
body.bc.bc .proc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}
body.bc.bc .proc:hover{background:rgba(129,196,64,.12);border-color:var(--green);box-shadow:none}
body.bc.bc .proc-n{color:var(--green);-webkit-text-stroke:0;opacity:.95}
body.bc.bc .proc:hover .proc-n{-webkit-text-stroke:0;color:var(--green-lt)}
body.bc.bc .proc h3{color:#fff}
body.bc.bc .proc p{color:rgba(255,255,255,.7)}
body.bc.bc .proc-t{color:var(--green-lt)}/* ---------- projects ---------- */


body.bc.bc .projects{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .pj-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:40px}
body.bc.bc .pj-head h2{margin-top:18px}
body.bc.bc .pj-head p{font-size:16.5px;color:#33424E}
body.bc.bc .pj-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:18px}
body.bc.bc .pj{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--navy);color:#fff;cursor:pointer;isolation:isolate}
body.bc.bc .pj.feat{grid-column:span 2;grid-row:span 2}
body.bc.bc .pj img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
body.bc.bc .pj:hover img{transform:scale(1.06)}
body.bc.bc .pj-cap{position:absolute;inset:auto 0 0 0;padding:52px 22px 20px;background:linear-gradient(to top,rgba(12,27,44,.92) 0%,rgba(12,27,44,.5) 55%,transparent 100%)}
body.bc.bc .pj-cap small{display:block;font-size:12px;font-weight:600;color:var(--green-lt);margin-bottom:5px}
body.bc.bc .pj-cap h3{color:#fff;font-size:18px;line-height:1.25}
body.bc.bc .pj.feat .pj-cap h3{font-size:24px}
body.bc.bc .pj-cap span{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:12px;font-weight:600;color:rgba(255,255,255,.8);background:rgba(255,255,255,.14);padding:5px 10px;border-radius:100px}
body.bc.bc .pj-cap span::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='9' cy='10' r='2'/><path d='m21 16-5-5-8 8'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='9' cy='10' r='2'/><path d='m21 16-5-5-8 8'/></svg>") center/contain no-repeat}
body.bc.bc .pj-text{grid-column:1 / -1;background:var(--mint);color:var(--navy-ink);padding:30px 34px;display:grid;grid-template-columns:minmax(220px,.9fr) 1.7fr auto;gap:36px;align-items:center;cursor:default}
body.bc.bc .pj-text h3{margin-bottom:0}
body.bc.bc .pj-text p{margin:0}
body.bc.bc .pj-text a{white-space:nowrap}
body.bc.bc .pj-text small{font-size:12px;font-weight:700;color:var(--green-dk);margin-bottom:8px}
body.bc.bc .pj-text h3{font-size:18px;color:var(--navy);margin-bottom:10px;line-height:1.3}
body.bc.bc .pj-text p{font-size:13.5px;line-height:1.55;flex:1}
body.bc.bc .pj-text a{font-size:14px;font-weight:700;color:#fff;background:var(--navy);padding:14px 22px;border-radius:100px;transition:.25s}
body.bc.bc .pj-text a:hover{background:var(--green)}/* lightbox */


body.bc.bc .lb{position:fixed;inset:0;z-index:400;background:rgba(12,27,44,.94);display:none;align-items:center;justify-content:center;padding:24px}
body.bc.bc .lb.open{display:flex}
body.bc.bc .lb img{max-width:min(1200px,100%);max-height:calc(100vh - 150px);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5);object-fit:contain;background:#000}
body.bc.bc .lb-cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#fff;padding:0 80px}
body.bc.bc .lb-cap b{display:block;font-size:16px}
body.bc.bc .lb-cap span{font-size:13px;color:rgba(255,255,255,.7)}
body.bc.bc .lb button{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
body.bc.bc .lb button:hover{background:var(--green);border-color:var(--green)}
body.bc.bc .lb button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body.bc.bc .lb-close{top:20px;right:20px}
body.bc.bc .lb-prev{left:20px;top:50%;transform:translateY(-50%)}
body.bc.bc .lb-next{right:20px;top:50%;transform:translateY(-50%)}
body.bc.bc .lb-count{position:absolute;top:32px;left:24px;color:rgba(255,255,255,.7);font-size:13px;font-weight:600}
body.bc.bc.lb-lock{overflow:hidden}/* ---------- certs photo background + academia ---------- */


body.bc.bc .certs{position:relative;isolation:isolate;background:var(--navy-ink) url("https://images.unsplash.com/photo-1675924359326-4794b12c3027?auto=format&fit=crop&w=1800&q=70") center/cover no-repeat}
body.bc.bc .certs::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(30,61,92,.9) 0%,rgba(12,27,44,.94) 100%);z-index:-1}
body.bc.bc .academia{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin-top:48px;padding-top:44px;border-top:1px solid rgba(255,255,255,.14)}
body.bc.bc .ac-text h3{font-size:24px;color:#fff;margin:18px 0 12px;letter-spacing:-.02em}
body.bc.bc .ac-text p{font-size:15px;color:rgba(255,255,255,.7);line-height:1.65}
body.bc.bc .ac-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.bc.bc .ac-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.14)}/* ---------- contact: full-bleed photo section with the form ---------- */


body.bc.bc .cta{position:relative;isolation:isolate;padding-top:110px;padding-bottom:110px;color:#fff;background:var(--navy) url("https://images.unsplash.com/photo-1527690499469-ef2eff9c6735?auto=format&fit=crop&w=2000&q=72") center/cover no-repeat;overflow:hidden}
body.bc.bc .cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(21,43,67,.8) 0%,rgba(21,43,67,.74) 50%,rgba(12,27,44,.88) 100%)}
body.bc.bc .cta::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
body.bc.bc .cta-box{background:none;border-radius:0;padding:0;gap:56px;overflow:visible;align-items:start}
body.bc.bc .cta-box h2{font-size:clamp(30px,3.8vw,48px)}
body.bc.bc .cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
body.bc.bc .cta-actions .btn{border-radius:8px;padding:16px 30px}
body.bc.bc .map-wrap{margin-top:30px;background:rgba(12,27,44,.55);backdrop-filter:blur(6px)}
body.bc.bc .bn-corner{position:absolute;width:34px;height:34px;border:2px solid var(--green);z-index:1}
body.bc.bc .bn-corner.tl{top:40px;left:calc(var(--pad) - 14px);border-right:0;border-bottom:0}
body.bc.bc .bn-corner.tr{top:40px;right:calc(var(--pad) - 14px);border-left:0;border-bottom:0}
body.bc.bc .bn-corner.bl{bottom:40px;left:calc(var(--pad) - 14px);border-right:0;border-top:0}
body.bc.bc .bn-corner.br{bottom:40px;right:calc(var(--pad) - 14px);border-left:0;border-top:0}

@media (max-width:1100px){
  body.bc.bc .ev-grid,body.bc.bc .ev-stats{grid-template-columns:repeat(2,1fr)}
  body.bc.bc .pj-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:230px}}
@media (max-width:960px){
  body.bc.bc .ev-head,body.bc.bc .pj-head,body.bc.bc .academia{grid-template-columns:1fr;gap:18px}
  body.bc.bc .evidence,body.bc.bc .projects{padding-top:70px;padding-bottom:70px}
  body.bc.bc .cta{padding-top:80px;padding-bottom:80px}
  body.bc.bc .cta-box{gap:36px}
  body.bc.bc .pj-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  body.bc.bc .pj.feat{grid-column:span 2;grid-row:span 1}
  body.bc.bc .pj-text{grid-template-columns:1fr;gap:12px;grid-row:span 2;align-content:center}
  body.bc.bc .pj-text a{justify-self:start}}
@media (max-width:768px){}
@media (max-width:520px){
  body.bc.bc .ev-grid,body.bc.bc .ev-stats,body.bc.bc .ac-photos{grid-template-columns:1fr}
  body.bc.bc .pj-grid{grid-template-columns:1fr;grid-auto-rows:240px}
  body.bc.bc .pj.feat{grid-column:span 1}
  body.bc.bc .pj-text{padding:24px 22px;grid-row:span 2}
  body.bc.bc .evidence,body.bc.bc .projects{padding-top:54px;padding-bottom:54px}
  body.bc.bc .cta{padding-top:64px;padding-bottom:64px}
  body.bc.bc .cta-actions .btn{width:100%}
  body.bc.bc .bn-corner{width:22px;height:22px}
  body.bc.bc .bn-corner.tl,body.bc.bc .bn-corner.tr{top:18px} body.bc.bc .bn-corner.bl,body.bc.bc .bn-corner.br{bottom:18px}
  body.bc.bc .bn-corner.tl,body.bc.bc .bn-corner.bl{left:12px} body.bc.bc .bn-corner.tr,body.bc.bc .bn-corner.br{right:12px}
  body.bc.bc .lb{padding:12px}
  body.bc.bc .lb-cap{padding:0 16px;bottom:14px}
  body.bc.bc .lb-prev,body.bc.bc .lb-next{top:auto;bottom:70px;transform:none;width:42px;height:42px}
  body.bc.bc .lb-prev{left:16px} body.bc.bc .lb-next{right:16px}
  body.bc.bc .lb img{max-height:calc(100vh - 190px)}}

@media (prefers-reduced-motion:reduce){body.bc.bc [data-anim]{opacity:1;transform:none;transition:none}}

@media (max-width:1100px){
  body.bc.bc .chip-grid{grid-template-columns:repeat(2,1fr)}
  body.bc.bc .check-wrap{grid-template-columns:1fr;gap:24px}
  body.bc.bc .picker{position:static}
  body.bc.bc .cert-grid,body.bc.bc .proc-grid{grid-template-columns:repeat(2,1fr)}
  body.bc.bc .f-top{grid-template-columns:1fr 1fr}
  body.bc.bc .nres-inner{grid-template-columns:auto 1fr;gap:24px}
  body.bc.bc .nres-src{grid-column:1 / -1;text-align:left;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.35);padding-top:14px}}
@media (max-width:960px){
  body.bc.bc .nav-links,body.bc.bc .nav-shell .btn{display:none}
  body.bc.bc .burger{display:flex}
  body.bc.bc .intro-top{grid-template-columns:1fr;gap:38px}
  body.bc.bc .slides{height:340px}
  body.bc.bc .why-grid,body.bc.bc .svc-grid,body.bc.bc .voice-grid{grid-template-columns:1fr 1fr}
  body.bc.bc .cta-box{grid-template-columns:1fr;padding:40px 32px;gap:36px}
  body.bc.bc .pains,body.bc.bc .why,body.bc.bc .offer,body.bc.bc .svcs,body.bc.bc .process,body.bc.bc .voices,body.bc.bc .cta{padding-top:70px;padding-bottom:70px}
  body.bc.bc .certs{padding-top:70px;padding-bottom:70px}}
@media (max-width:768px){
  body.bc.bc .chip-grid,body.bc.bc .why-grid,body.bc.bc .svc-grid,body.bc.bc .voice-grid,body.bc.bc .cert-grid,body.bc.bc .proc-grid{grid-template-columns:1fr}
  body.bc.bc .f-top{grid-template-columns:1fr 1fr;gap:32px}
  body.bc.bc .slides{height:290px}
  body.bc.bc .trust{gap:20px}}
@media (max-width:520px){
  body.bc.bc h1{font-size:34px} body.bc.bc h2{font-size:27px} body.bc.bc .lead{font-size:16px}
  body.bc.bc .f-row,body.bc.bc .f-top{grid-template-columns:1fr}
  body.bc.bc .cta-box{padding:30px 22px;border-radius:24px}
  body.bc.bc .intro{padding-bottom:64px}
  body.bc.bc .slides{height:250px}
  body.bc.bc .rail{grid-auto-columns:272px}
  body.bc.bc form:not(.elementor-form){padding:26px 22px}
  body.bc.bc .chip{font-size:14.2px;padding:13px 18px 13px 13px;border-radius:20px}
  body.bc.bc .nres-num{font-size:44px}
  body.bc.bc .pains,body.bc.bc .why,body.bc.bc .offer,body.bc.bc .svcs,body.bc.bc .process,body.bc.bc .voices,body.bc.bc .cta{padding-top:54px;padding-bottom:54px}
  body.bc.bc .certs{padding-top:56px;padding-bottom:56px}
  body.bc.bc .f-col a{padding:10px 0}
  body.bc.bc .wa{width:54px;height:54px;right:16px;bottom:16px}}

/* ================================================================
   WordPress / Elementor integration layer  (Becorp)
   Everything above this line is the option-2 prototype stylesheet,
   scoped to body.bc.bc. Nothing above is edited.
   ================================================================ */

/* --- sticky header must clear the WP admin bar --- */


/* --- strip Elementor's own container padding / gaps / width caps --- */
body.bc.bc .e-con.bc-raw,body.bc.bc .elementor-element.bc-raw{
  --padding-block-start:0px;--padding-block-end:0px;
  --padding-inline-start:0px;--padding-inline-end:0px;
  --margin-block-start:0px;--margin-block-end:0px;
  --margin-inline-start:0px;--margin-inline-end:0px;
  --row-gap:0px;--column-gap:0px;--content-width:100%;
  max-width:none;width:100%
}
body.bc.bc .bc-raw>.elementor-widget{width:100%;margin:0}
body.bc.bc .elementor-widget-html{margin:0}
body.bc.bc .elementor-widget:not(:last-child){margin-block-end:0}
body.bc.bc .elementor-section,body.bc.bc .elementor-container{max-width:none}
body.bc.bc main.site-main,body.bc.bc .page-content,body.bc.bc .site-main{padding:0;margin:0;max-width:none}
body.bc.bc .site-header,body.bc.bc .site-footer{display:none}

/* --- keep every section visible while editing in Elementor --- */
body.elementor-editor-active [data-anim],
body.elementor-editor-preview [data-anim]{opacity:1!important;transform:none!important}

/* ================================================================
   Loading animation  (logo lockup + green sweep)
   ================================================================ */
#bc-loader{position:fixed;inset:0;z-index:9999;background:var(--shell);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  transition:opacity .55s var(--ease),visibility .55s var(--ease)}
#bc-loader.bc-done{opacity:0;visibility:hidden}
#bc-loader .bc-l-mark{display:flex;align-items:center;gap:13px;animation:bcRise .75s var(--ease) both}
#bc-loader .bc-l-mark img{height:58px;width:auto}
#bc-loader .bc-l-t b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1}
#bc-loader .bc-l-t small{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--grey);margin-top:5px}
#bc-loader .bc-l-bar{width:132px;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
#bc-loader .bc-l-bar i{display:block;height:100%;width:38%;background:var(--green);border-radius:2px;
  animation:bcSweep 1.05s var(--ease) infinite}
@keyframes bcRise{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes bcSweep{0%{transform:translateX(-120%)}100%{transform:translateX(345%)}}
html.bc-loading,html.bc-loading body{overflow:hidden}
@media (prefers-reduced-motion:reduce){
  #bc-loader .bc-l-mark{animation:none}
  #bc-loader .bc-l-bar i{animation:none;width:100%}
}

/* ================================================================
   Elementor Pro form, dressed as the prototype's enquiry form
   ================================================================ */
body.bc.bc .cta .bc-formcard{background:#fff;border-radius:24px;padding:34px;color:var(--navy-ink);position:relative;z-index:2}
body.bc.bc .cta .bc-formcard .bc-fh{font-size:20px;font-weight:700;letter-spacing:-.012em;color:var(--navy);margin-bottom:4px}
body.bc.bc .cta .bc-formcard .bc-fs{display:block;color:var(--grey);font-size:13.5px;margin-bottom:20px}
body.bc.bc .cta .bc-formcard .bc-fine{font-size:12px;color:var(--grey);text-align:center;margin-top:12px}

/* The prototype's form{} rule paints the white card. .bc-formcard already does that,
   so the Elementor <form> inside it must contribute no card of its own. */
body.bc.bc .cta .bc-formcard form.elementor-form{background:none;border-radius:0;padding:0;
  color:inherit;position:static}

/* Elementor's field groups are flex and the grid stretches them, which grew every
   input to the row height. Block layout reproduces the prototype's .field exactly. */
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;
  gap:0 12px;margin:0;align-items:start}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-group{display:block;width:auto;max-width:none;
  padding:0;margin:0 0 13px}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-group.elementor-col-100{grid-column:1 / -1}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-group > .elementor-field{flex-grow:0}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-label{display:block;font-size:12.5px;font-weight:700;
  color:var(--navy);margin-bottom:6px;padding:0;line-height:1.65;letter-spacing:0}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-textual,
body.bc.bc .cta .bc-formcard .elementor-widget-form select.elementor-field-textual,
body.bc.bc .cta .bc-formcard .elementor-widget-form textarea.elementor-field-textual{width:100%;padding:14px 16px;
  border:1.5px solid var(--line);border-radius:13px;font-family:var(--font);font-size:16px;
  background:var(--shell);min-height:50px;height:auto;color:var(--navy-ink);box-shadow:none;
  line-height:normal}
body.bc.bc .cta .bc-formcard .elementor-widget-form textarea.elementor-field-textual{min-height:80px;resize:vertical}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-textual:focus,
body.bc.bc .cta .bc-formcard .elementor-widget-form select.elementor-field-textual:focus,
body.bc.bc .cta .bc-formcard .elementor-widget-form textarea.elementor-field-textual:focus{outline:none;border-color:var(--green);
  background:#fff;box-shadow:none}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-textual::placeholder{color:var(--grey);opacity:.75}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-type-submit{grid-column:1 / -1;margin:0}
body.bc.bc .cta .bc-formcard .elementor-widget-form button[type=submit].elementor-button{display:inline-flex;align-items:center;
  justify-content:center;gap:10px;width:100%;font-family:var(--font);font-size:15px;
  font-weight:700;line-height:normal;padding:16px 30px;border-radius:100px;
  border:1.5px solid transparent;min-height:50px;cursor:pointer;background:var(--green);
  color:#fff;transition:.28s var(--ease);margin-top:6px}
body.bc.bc .cta .bc-formcard .elementor-widget-form button[type=submit].elementor-button:hover{background:var(--green-dk);
  transform:translateY(-3px);box-shadow:0 14px 30px rgba(129,196,64,.34)}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-message{font-size:13.5px;margin-top:10px;line-height:1.5}
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-message.elementor-message-success{color:var(--green-dk)}

@media (max-width:520px){
  body.bc.bc .cta .bc-formcard{padding:26px 22px}
  body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-form-fields-wrapper{grid-template-columns:1fr}
}

/* ================================================================
   Theme Builder location wrappers
   ================================================================
   Elementor wraps each template in <header|footer class="elementor-location-*">
   plus a container and two widget divs, and that wrapper is a direct child of
   <body> — exactly where the prototype puts header.site / footer.

   HEADER: header.site cannot be the sticky element here. Its parent box is only
   its own height, so sticky has nowhere to travel; and making the wrappers
   display:contents (the obvious fix) puts a backdrop-filter element under three
   box-less ancestors, which stops Chrome painting the header's translucent
   background at all — page content shows through the bar while scrolling.
   So the outermost wrapper carries sticky + background + blur instead. It sits
   in the same place in the DOM as the prototype's header, so the result is
   identical, with one ordinary compositing layer instead of four.             */
body.bc.bc header.elementor-location-header{
  position:sticky;top:0;z-index:120;
  background:rgba(237,241,245,.92);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
body.bc.bc.admin-bar header.elementor-location-header{top:32px}
@media (max-width:782px){body.bc.bc.admin-bar header.elementor-location-header{top:46px}}
body.bc.bc header.elementor-location-header > .e-con,
body.bc.bc header.elementor-location-header .e-con-inner,
body.bc.bc header.elementor-location-header .elementor-widget-html,
body.bc.bc header.elementor-location-header .elementor-widget-container{display:block}
body.bc.bc header.site{position:static;top:auto;z-index:auto;
  background:none;-webkit-backdrop-filter:none;backdrop-filter:none}

/* FOOTER: the wrapper is a <footer>, so the prototype's footer{} rule painted the
   navy background and 72px padding a second time. Neutralise it rather than
   removing its box. */
body.bc.bc footer.elementor-location-footer{background:none;padding:0;color:inherit}
body.bc.bc footer.elementor-location-footer > .e-con,
body.bc.bc footer.elementor-location-footer .e-con-inner,
body.bc.bc footer.elementor-location-footer .elementor-widget-html,
body.bc.bc footer.elementor-location-footer .elementor-widget-container{display:block}

/* containers that carry a prototype class must not inherit Elementor's flex box */
body.bc.bc .e-con.cta{display:block}

/* CTA: the prototype's .cta-l is a plain block, and .bn-corner must position
   against section.cta, not against the widget wrapper Elementor puts around it. */
body.bc.bc .e-con.cta-l{display:block}
body.bc.bc .bc-corners,
body.bc.bc .bc-corners > .elementor-widget-container{display:contents}

/* Elementor sets vertical-align:middle on fields and makes the select a block inside a
   flex wrapper. The prototype's controls are baseline-aligned inline-blocks, which is
   what gives the textarea's row its 7px descender gap and the select its 53px height. */
body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-select-wrapper{display:block}
body.bc.bc .cta .bc-formcard .elementor-widget-form select.elementor-field-textual{display:inline-block;
  vertical-align:baseline}
body.bc.bc .cta .bc-formcard .elementor-widget-form textarea.elementor-field-textual{vertical-align:baseline}

/* .wa sits inside the footer template, so it inherits footer{color:#fff} instead of
   the body colour it inherits in the prototype. The icon is fill:#fff either way. */
body.bc.bc .wa{color:var(--navy-ink)}

/* Elementor strips the select's native appearance (and its own caret is removed by
   the remove-before class), which also costs 2px of height. The prototype uses the
   native control, arrow included. */
body.bc.bc .cta .bc-formcard .elementor-widget-form select.elementor-field-textual{
  -webkit-appearance:auto;-moz-appearance:auto;appearance:auto}

/* bc-raw zeroes Elementor's --row-gap/--column-gap; on the two block-level CTA
   containers the prototype leaves gap at its initial value. No visual effect,
   but it keeps the computed styles identical. */
body.bc.bc .e-con.cta,body.bc.bc .e-con.cta-l{gap:normal}

/* Below 520px the prototype's .f-row stacks its two fields and contributes its own
   12px row gap on top of each .field's 13px margin. The Elementor form is one flat
   grid, so the extra 12px is added after the first field of each former pair. */
@media (max-width:520px){
  body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-group-name,
  body.bc.bc .cta .bc-formcard .elementor-widget-form .elementor-field-group-email{margin-bottom:25px}
}

/* ================================================================
   Mobile readability fixes — deliberate deviations from the prototype,
   approved by the client 2026-09-23. The prototype has the same faults;
   everything else on the page still matches it pixel for pixel.
   ================================================================ */

/* NRES band. The prototype keeps the "1°C = 7%" figure beside the copy all the
   way down (grid-template-columns:auto 1fr below 1100px), which at 375px leaves
   the text roughly 125px wide — every line breaks after two or three words.
   Stack the figure above the copy once the text column would drop below ~300px. */
@media (max-width:640px){
  body.bc.bc .nres-inner{grid-template-columns:1fr;gap:16px}
  body.bc.bc .nres-num{font-size:48px}
  body.bc.bc .nres-txt h3{font-size:20px;line-height:1.25}
  body.bc.bc .nres-txt p{font-size:15px}
  body.bc.bc .nres-src{padding-top:16px}
}

/* The select shows two arrows: Elementor injects its own caret SVG
   (.select-caret-down-wrapper) and we restore the native one with
   appearance:auto (which is also what gives the control the prototype's
   53px height). Keep the native arrow, drop Elementor's. */
body.bc.bc .cta .bc-formcard .elementor-widget-form .select-caret-down-wrapper{display:none}

/* ================================================================
   Project cards: auto-advancing photo carousel (client request 2026-09-23).
   Each card keeps its cover as frame 1 — the cover is a purpose-made 1200x900
   crop, the gallery photos are mixed portrait/landscape — then cycles that
   project's own photos. Cards only run while on screen. Single-photo projects
   stay static. Clicking still opens the lightbox.
   ================================================================ */
body.bc.bc .pj-slides{position:absolute;inset:0;z-index:0;border-radius:inherit;overflow:hidden}
body.bc.bc .pj-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .9s ease-in-out,transform .8s var(--ease)}
body.bc.bc .pj-slides img.on{opacity:1}
body.bc.bc .pj-cap{z-index:1}
@media (prefers-reduced-motion:reduce){
  body.bc.bc .pj-slides img{transition:none}
}

/* ================================================================
   Hero backdrop (client request 2026-09-23: 背景太简单, 要隐隐约约的设计).
   The prototype's .intro is a flat two-stop grey. Three low-alpha layers
   give it depth without asking for attention:
     1. a warm green wash on the sun side (top right),
     2. a cool navy wash opposite it — the thermal gradient this concept
        is named after, stated in light rather than in words,
     3. the same faint 72px grid the contact band already uses, masked so
        it dissolves before it reaches the headline.
   Nothing here exceeds 5% alpha; the section's own gradient still reads
   as the background colour.
   ================================================================ */
body.bc.bc .intro{position:relative;isolation:isolate}

/* washes: centres pushed well off-canvas so the falloff never shows an edge */
body.bc.bc .intro::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1150px 880px at 106% 14%, rgba(129,196,64,.19) 0%,
                    rgba(129,196,64,.08) 38%, rgba(129,196,64,0) 70%),
    radial-gradient(1000px 760px at -16% 124%, rgba(30,61,92,.12) 0%,
                    rgba(30,61,92,.05) 40%, rgba(30,61,92,0) 70%);
  /* the sticky header's 92%-opaque band covers the first 102px of this
     section and mutes whatever sits under it, which showed up as a hard
     horizontal step. Ramp the washes in below the header instead. */
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 200px);
  mask-image:linear-gradient(180deg, transparent 0, #000 200px);
}

/* ----------------------------------------------------------------
   The blueprint grid is shared by the sticky header and the hero so the
   two read as one surface, and it drifts one cell every 45s — slow enough
   that you notice it only if you stop and look.

   The header's height is not a round number (113.75px wide-screen, 102px
   once the nav collapses, and it grows again around 961px where the links
   wrap), so the phase that makes the lines continue across the seam is set
   at runtime: becorp.js writes the measured height into --bc-hdr and the
   hero offsets its grid by -that.
   ---------------------------------------------------------------- */
:root{--bc-grid:72px;--bc-hdr:114px}
@media (max-width:768px){:root{--bc-grid:56px}}
@media (max-width:520px){:root{--bc-grid:48px}}

@keyframes bcGridDrift{
  from{background-position:0 var(--bc-gy), 0 var(--bc-gy)}
  to  {background-position:var(--bc-grid) calc(var(--bc-gy) + var(--bc-grid)),
                           var(--bc-grid) calc(var(--bc-gy) + var(--bc-grid))}
}

body.bc.bc header.elementor-location-header::after,
body.bc.bc .intro::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(21,43,67,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,43,67,.055) 1px, transparent 1px);
  background-size:var(--bc-grid) var(--bc-grid);
  background-position:0 var(--bc-gy), 0 var(--bc-gy);
  animation:bcGridDrift 45s linear infinite;
}

/* header: grid sits above its own translucent band, below the nav pill */
body.bc.bc header.elementor-location-header::after{
  --bc-gy:0px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 76%, transparent 99%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 12%, #000 76%, transparent 99%);
}

/* hero: same grid, phase-shifted by the header's height so the lines carry
   straight through the seam, then faded out on all four sides */
body.bc.bc .intro::after{
  --bc-gy:calc(-1 * var(--bc-hdr));
  -webkit-mask-image:
    linear-gradient(180deg, #000 0%, rgba(0,0,0,.85) 52%, transparent 94%),
    linear-gradient(90deg, transparent 0%, #000 12%, #000 76%, transparent 99%);
  mask-image:
    linear-gradient(180deg, #000 0%, rgba(0,0,0,.85) 52%, transparent 94%),
    linear-gradient(90deg, transparent 0%, #000 12%, #000 76%, transparent 99%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}

@media (prefers-reduced-motion:reduce){
  body.bc.bc header.elementor-location-header::after,
  body.bc.bc .intro::after{animation:none}
}

/* the washes are sized in px, so on a narrow viewport the same radii cover the
   whole screen and the hero reads green. Scale them down with the breakpoint. */
@media (max-width:768px){
  body.bc.bc .intro::before{
    background:
      radial-gradient(560px 520px at 112% 6%, rgba(129,196,64,.15) 0%,
                      rgba(129,196,64,.06) 40%, rgba(129,196,64,0) 72%),
      radial-gradient(480px 440px at -20% 102%, rgba(30,61,92,.10) 0%,
                      rgba(30,61,92,0) 70%);
    -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 160px);
    mask-image:linear-gradient(180deg, transparent 0, #000 160px);
  }
}
@media (max-width:520px){
  body.bc.bc .intro::before{
    background:
      radial-gradient(400px 420px at 116% 4%, rgba(129,196,64,.13) 0%,
                      rgba(129,196,64,0) 72%),
      radial-gradient(360px 360px at -24% 100%, rgba(30,61,92,.09) 0%,
                      rgba(30,61,92,0) 72%);
    -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 140px);
    mask-image:linear-gradient(180deg, transparent 0, #000 140px);
  }
}

/* ---------- native-widget companion rules (2026-09-28) ---------- */
body.bc.bc .pill .pill-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:block}

/* ---------- native-widget width fix: Elementor's e-con-full always sets width:100%, which is wrong for badges/tags/buttons that must shrink to their own content ---------- */
body.bc.bc .pill,
body.bc.bc .wtag,
body.bc.bc .btn,
body.bc.bc .pj-cap span{width:auto}

body.bc.bc .elementor-widget-text-editor .elementor-widget-container,
body.bc.bc .elementor-widget-text-editor{color:inherit}
body.bc.bc .elementor-heading-title{margin:0;font-family:inherit;color:inherit}
body.bc.bc .elementor-widget-text-editor{font-family:inherit;font-weight:inherit}

body.bc.bc .elementor-widget-heading:has(h1),
body.bc.bc .elementor-widget-heading:has(h2),
body.bc.bc .elementor-widget-heading:has(h3),
body.bc.bc .elementor-widget-heading:has(h4),
body.bc.bc .elementor-widget-text-editor{display:contents}

body.bc.bc .svc .svc-num{flex:0 0 38px;height:38px;border-radius:12px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;transition:.34s}
body.bc.bc .svc:hover .svc-num{background:var(--green);color:#fff}

body.bc.bc .cert .cert-icon{display:flex;width:46px;height:46px;border-radius:14px;background:var(--green);color:#fff;align-items:center;justify-content:center;margin-bottom:18px}
body.bc.bc .voice-by .voice-name{display:block;font-size:14.5px;font-weight:700;color:var(--navy)}

body.bc.bc .elementor-widget.proc-n{margin-bottom:14px}

body.bc.bc .stars .elementor-heading-title{line-height:1.65}

body.bc.bc .ev-photo .ev-cap-title{display:block;font-size:15px;color:var(--navy);letter-spacing:-.01em}
body.bc.bc .ev-stats .ev-stat-num{display:block;font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--green-lt);line-height:1;margin-bottom:10px}

body.bc.bc .ev-photo .figcaption-wrap{padding:16px 18px 18px}

body.bc.bc .rcard-b .rcard-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-lt)}

body.bc.bc .chip .chip-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.bc.bc .pk-head .pk-count{font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--green-lt);line-height:1}
body.bc.bc .pk-item .pk-item-label{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--green-lt);margin-bottom:8px}

body.bc.bc [hidden]{display:none}

body.bc.bc .pj-cap .pj-eyebrow{display:block;font-size:12px;font-weight:600;color:var(--green-lt);margin-bottom:5px}
body.bc.bc .pj-text .pjtext-eyebrow{font-size:12px;font-weight:700;color:var(--green-dk);margin-bottom:8px;display:block}

body.bc.bc .trust .trust-num{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--navy)}
body.bc.bc .nres-pill .nres-pill-badge{background:var(--green);color:#fff;font-size:12px;font-weight:800;border-radius:100px;padding:4px 11px;white-space:nowrap;margin-top:1px}
body.bc.bc .art-card .art-card-num{background:var(--mint);color:var(--green-dk);border-radius:12px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0}

body.bc.bc .trust .trust-item{width:auto}

body.bc.bc .dots{width:auto}

body.bc.bc .map-bar a{width:auto}

body.bc.bc .c-cost .chip-icon{background:rgba(129,196,64,.22)} body.bc.bc .c-cost .chip-icon svg{stroke:var(--green-lt)}
body.bc.bc .c-comfort .chip-icon{background:#fff} body.bc.bc .c-comfort .chip-icon svg{stroke:var(--green-dk)}
body.bc.bc .c-comply .chip-icon{background:#fff} body.bc.bc .c-comply .chip-icon svg{stroke:var(--navy)}
body.bc.bc .c-stage .chip-icon{background:var(--shell)} body.bc.bc .c-stage .chip-icon svg{stroke:var(--navy-2)}
body.bc.bc .cert .cert-icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

body.bc.bc .chip .chip-icon svg{width:19px;height:19px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

body.bc.bc .slide .elementor-widget-image{height:100%}

body.bc.bc .pj .elementor-widget-image{height:100%;position:absolute;inset:0}

body.bc.bc .art-card{width:auto}

body.bc.bc .chip:focus{outline:none}
body.bc.bc .chip:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

body.bc.bc .chip{-webkit-user-select:none;user-select:none}


/* --- About Us (pages 49, 159, 162, 165) is built with native Elementor controls. The reset above (margin:0;padding:0 on *) outranks Elementor's container padding and auto-centering, so restore them for this page only. --- */
body.bc.bc :is(.elementor-49,.elementor-159,.elementor-162,.elementor-165,.elementor-354,.elementor-355,.elementor-356,.elementor-357,.elementor-358) .e-con{padding-block-start:var(--padding-top);padding-block-end:var(--padding-bottom);padding-inline-start:var(--padding-left);padding-inline-end:var(--padding-right)}
body.bc.bc :is(.elementor-49,.elementor-159,.elementor-162,.elementor-165,.elementor-354,.elementor-355,.elementor-356,.elementor-357,.elementor-358) .e-con>.e-con-inner{margin-inline:auto;padding:0;width:100%;max-width:var(--content-width)}

body.bc.bc :is(.elementor-165) .elementor-field-textual{padding:14px 16px}

/* ===================== 2026-10-05 amendments: Google Sans, new logo, core values, SOP, academia ===================== */
@font-face{font-family:'Google Sans';src:url('brand/fonts/GoogleSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url('brand/fonts/GoogleSans-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url('brand/fonts/GoogleSans-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Google Sans';src:url('brand/fonts/GoogleSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* logo lockups (the artwork already carries the BECORP GROUP wordmark) */
body.bc.bc .logo{gap:0}
body.bc.bc .logo img{height:54px;width:auto;display:block}
body.bc.bc .f-logo{gap:0}
body.bc.bc .f-logo img{height:60px;width:auto;display:block}
#bc-loader .bc-l-mark{gap:0}
#bc-loader .bc-l-mark img{height:88px;width:auto}

/* core values */
body.bc.bc .usp{padding-top:92px;padding-bottom:92px;background:#fff}
body.bc.bc .usp .center{max-width:760px}
body.bc.bc .usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.bc.bc .usp-card{background:var(--shell);border:1.5px solid transparent;border-radius:var(--r);padding:34px 30px 32px;transition:.34s var(--ease)}
body.bc.bc .usp-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lg);background:#fff;border-color:var(--line)}
body.bc.bc .usp-card.feat{background:var(--mint);border-color:var(--green)}
body.bc.bc .usp-card.feat:hover{background:#fff}
body.bc.bc .usp-ic{display:flex;align-items:center;height:72px;margin-bottom:22px}
body.bc.bc .usp-ic .elementor-widget-container{display:flex;align-items:center;height:100%}
body.bc.bc .usp-ic img{height:64px;width:auto;max-width:96px;object-fit:contain}
body.bc.bc .usp-card h3{margin-bottom:10px}
body.bc.bc .usp-card p{font-size:15px}
body.bc.bc .usp-card .wtag{background:var(--green);color:#fff}
@media (max-width:960px){body.bc.bc .usp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){body.bc.bc .usp-grid{grid-template-columns:1fr}body.bc.bc .usp{padding-top:54px;padding-bottom:54px}}

/* SOP: six steps */
@media (min-width:1101px){body.bc.bc .proc-grid{grid-template-columns:repeat(3,1fr)}}
body.bc.bc .process .center h2{max-width:20ch;margin-left:auto;margin-right:auto}

/* academia: institution cards in place of the photos */
body.bc.bc .ac-photos{align-items:stretch}
body.bc.bc .ac-inst{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;justify-content:center}
body.bc.bc .ac-inst-ab{font-size:44px;font-weight:700;letter-spacing:-.03em;color:var(--green-lt);line-height:1;margin-bottom:16px}
body.bc.bc .ac-inst-n{font-size:17px;font-weight:600;color:#fff;line-height:1.35;margin-bottom:6px}
body.bc.bc .ac-inst-s{font-size:14px;color:rgba(255,255,255,.7);line-height:1.5}
@media (max-width:960px){body.bc.bc .ac-photos{grid-template-columns:1fr 1fr}}
@media (max-width:520px){body.bc.bc .ac-photos{grid-template-columns:1fr}}

body.bc.bc .elementor-field-label,body.bc.bc .elementor-heading-title,body.bc.bc .elementor-field-group .elementor-field,body.bc.bc .elementor-select-wrapper,body.bc.bc .elementor-button{font-family:var(--font)}
body.bc.bc .nres-pill .nres-pill-badge{flex:0 0 auto;align-self:flex-start}
body.bc.bc .usp-ic,body.bc.bc .usp-ic .elementor-widget-image,body.bc.bc .usp-ic .elementor-widget-container{justify-content:flex-start;text-align:left}
body.bc.bc .usp-ic .elementor-widget-image{width:auto}
body.bc.bc .usp-ic{align-items:flex-start}
body.bc.bc .ac-inst{padding:0;overflow:hidden;justify-content:flex-start}
body.bc.bc .ac-inst-img,body.bc.bc .ac-inst-img .elementor-widget-container{width:100%;margin:0}
body.bc.bc .ac-inst-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:0;border-radius:0}
body.bc.bc .ac-inst-ab{margin:22px 24px 12px;font-size:36px}
body.bc.bc .ac-inst-n,body.bc.bc .ac-inst-s{margin-left:24px;margin-right:24px}
body.bc.bc .ac-inst-s{margin-bottom:26px}
body.bc.bc .ac-text .pill{align-self:flex-start}

/* Join Chat uses the brand font; the blanket reset above skips .joinchat so its own spacing survives */
body.bc .joinchat,body.bc .joinchat__box,body.bc .joinchat__button{font-family:var(--font)}

/* ---------- hero heading amendment (2026-10-30): main title + green subheading ---------- */
body.bc.bc .intro h1{font-size:clamp(32px,3.5vw,50px);margin:20px 0 14px}
body.bc.bc .hero-sub .elementor-heading-title{font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--green-dk);margin:0 0 22px}
@media (max-width:520px){
  body.bc.bc .intro h1{font-size:28px}
  body.bc.bc .hero-sub .elementor-heading-title{font-size:18px}
}

/* ---------- NRES band amendment (2026-10-30): larger, raised approx sign + evident 'saving' label ---------- */
body.bc.bc .nres-num .nres-approx{display:inline-block;font-size:.62em;font-weight:700;letter-spacing:0;line-height:1;vertical-align:.22em;margin:0 .04em}
body.bc.bc .nres-num .nres-pct{display:inline-block;vertical-align:top;text-align:center}
body.bc.bc .nres-num .nres-save{display:block;font-size:.4em;font-weight:800;letter-spacing:.02em;line-height:1;margin-top:.16em}

