
:root {
  --navy:#071d3a; --blue:#145ebc; --text:#081a36; --slate:#52647a; --line:#d8e3ef;
  --amber-bg:#fff0df; --amber:#e55c14; --shadow:0 22px 60px rgba(7,29,58,.13);
  --soft-shadow:0 10px 30px rgba(7,29,58,.08); --radius-xl:28px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(180deg,#f7fbff 0%,#fff 76%)}
.bc-page{min-height:100vh;overflow-x:hidden}
.bc-hero{position:relative;min-height:clamp(650px,69vh,820px);padding:clamp(42px,4.8vw,74px) clamp(34px,6vw,96px) 0;isolation:isolate;background:#f7fbff}
.bc-hero-art{position:absolute;inset:0 0 auto 0;height:clamp(455px,49vw,650px);background:url("assets/hero/bastioncove_desktop_hero_clean_1920x650.png") center top/cover no-repeat;z-index:-2}
.bc-hero::after{content:"";position:absolute;left:0;right:0;top:clamp(365px,39vw,540px);height:245px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.88) 58%,#fff 100%);z-index:-1}
.bc-header{max-width:1380px;margin:0 auto}.bc-logo-header{display:block;width:clamp(315px,35vw,540px);height:auto;background:transparent}
.bc-card{max-width:1120px;margin:clamp(310px,33vw,470px) auto 0;background:rgba(255,255,255,.973);border:1px solid rgba(202,216,232,.88);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:clamp(50px,5vw,78px) clamp(30px,5vw,74px) clamp(36px,4vw,54px);text-align:center;backdrop-filter:blur(14px)}
.bc-card h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,6.2vw,78px);line-height:1.02;letter-spacing:-.045em;color:var(--navy)}
.bc-pill{display:inline-flex;margin-top:18px;padding:8px 18px;border-radius:10px;background:#eaf2ff;color:var(--blue);font-weight:800;font-size:clamp(14px,1.3vw,18px)}
.bc-meta{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:clamp(16px,3vw,36px);align-items:center;max-width:830px;margin:clamp(36px,4vw,54px) auto 34px}
.bc-meta-item{display:flex;justify-content:center;align-items:center;gap:14px;text-align:left}.bc-meta-item img{width:34px;height:34px}.bc-meta-item span{display:block;color:var(--slate);font-size:15px;margin-bottom:2px}.bc-meta-item strong{font-size:20px}
.bc-badge{display:inline-block;padding:7px 14px;border-radius:10px;background:var(--amber-bg);color:var(--amber)}.bc-rule,.bc-trust-rule{width:1px;height:58px;background:var(--line)}
.bc-pricing{display:grid;grid-template-columns:1fr auto 1fr auto 1.1fr;gap:clamp(12px,2vw,26px);align-items:center;border:1px solid #ccd8e7;border-radius:18px;padding:clamp(26px,3vw,40px) clamp(18px,3vw,42px);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,253,255,.98))}
.bc-price span{display:block;font-weight:800;font-size:15px;margin-bottom:10px}.bc-price strong{font-size:clamp(34px,4vw,48px);color:var(--navy)}.bc-total strong{font-size:clamp(52px,6.4vw,76px);color:var(--blue);letter-spacing:-.04em}.bc-op{font-size:34px;font-weight:700;color:var(--navy)}
.bc-time,.bc-secure{display:inline-flex;align-items:center;gap:10px;color:#344762;font-weight:500}.bc-time{margin:28px 0 24px}.bc-time img{width:25px;height:25px}
.bc-cta{appearance:none;border:0;border-radius:12px;width:100%;padding:23px 30px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,38px);font-weight:700;color:#fff;background:linear-gradient(135deg,#063681,#075dc3);box-shadow:0 12px 26px rgba(10,72,150,.24);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:18px}.bc-cta img{width:34px;height:34px;filter:brightness(0) invert(1)}
.bc-secure{margin-top:20px}.bc-secure img{width:19px;height:19px}
.bc-trust{max-width:880px;margin:44px auto;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:28px;align-items:center;padding:0 30px}.bc-trust-item{display:flex;justify-content:center;align-items:center;gap:18px;font-weight:800;line-height:1.28}.bc-trust-item img{width:46px;height:46px}
.bc-faq{max-width:1120px;margin:0 auto 52px;border:1px solid #d6e1ef;border-radius:14px;background:rgba(255,255,255,.90);box-shadow:var(--soft-shadow)}.bc-faq summary{cursor:pointer;padding:24px 34px;font-weight:800;font-size:20px;list-style:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.bc-faq summary::-webkit-details-marker{display:none}
.bc-question{width:32px;height:32px;display:inline-grid;place-items:center;border:2px solid #9bb4d1;border-radius:50%;color:var(--navy)}.bc-chevron{font-size:28px;color:var(--navy)}.bc-faq-body{padding:0 34px 28px;color:#344762}.bc-faq-body h3{margin:22px 0 6px;color:var(--navy)}
.bc-footer{border-top:1px solid #e0e8f1;background:rgba(247,250,253,.80);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:28px clamp(26px,6vw,92px);color:#43546b}.bc-logo-footer{width:170px;height:auto;display:block}.bc-footer p{font-size:14px;margin:0}.bc-footer nav{justify-self:end;display:flex;gap:34px}.bc-footer a{color:var(--navy);text-decoration:none;font-weight:700}
@media(max-width:900px){.bc-hero{min-height:auto;padding:26px 18px 0}.bc-hero-art{height:355px}.bc-hero::after{top:292px}.bc-logo-header{width:min(88vw,390px)}.bc-card{margin-top:230px;padding:34px 18px 28px;border-radius:22px}.bc-card h1{font-size:42px}.bc-meta{grid-template-columns:1fr;gap:18px;margin:32px auto}.bc-rule{display:none}.bc-meta-item{justify-content:flex-start;max-width:250px;width:100%;margin:0 auto}.bc-pricing{grid-template-columns:1fr;gap:12px}.bc-op{font-size:22px}.bc-cta{font-size:28px;padding:22px 18px}.bc-trust{grid-template-columns:1fr;gap:22px;margin:34px auto}.bc-trust-rule{display:none}.bc-footer{grid-template-columns:1fr;justify-items:center;text-align:center}.bc-footer nav{justify-self:center;flex-wrap:wrap;justify-content:center}}


/* Asset 001 v4 footer logo: icon + wordmark only, no tagline */
.bc-logo-footer{width:170px;height:auto;display:block;}


/* === Production polish pass === */
.bc-skip-link{
  position:absolute;
  left:16px;
  top:-60px;
  z-index:999;
  background:#fff;
  color:#071d3a;
  padding:10px 14px;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(7,29,58,.18);
  font-weight:800;
}
.bc-skip-link:focus{top:16px;}

.bc-hero{
  min-height:clamp(595px,64vh,760px);
}

.bc-hero-art{
  height:clamp(418px,45vw,590px);
}

.bc-hero::after{
  top:clamp(330px,35vw,490px);
}

.bc-card{
  margin-top:clamp(274px,29.8vw,420px);
}

.bc-logo-header{
  width:clamp(288px,32vw,500px);
}

.bc-cta{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
  position:relative;
}
.bc-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 31px rgba(10,72,150,.28);
  filter:saturate(1.04);
}
.bc-cta:active{transform:translateY(0);}
.bc-cta:focus-visible,
.bc-faq summary:focus-visible,
.bc-footer a:focus-visible{
  outline:3px solid rgba(20,94,188,.35);
  outline-offset:4px;
  border-radius:10px;
}
.bc-cta-loading{display:none;}
.bc-cta.is-loading .bc-cta-label{display:none;}
.bc-cta.is-loading .bc-cta-loading{display:inline;}
.bc-cta.is-loading{
  cursor:wait;
  opacity:.92;
}

.bc-error{
  margin:16px auto 0;
  max-width:680px;
  color:#9b1c1c;
  background:#fff1f1;
  border:1px solid #ffd0d0;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
}

.bc-secure{margin-bottom:0;}
.bc-faq-body h2{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.bc-footer nav a:hover{
  text-decoration:underline;
}

.bc-legal-page{
  background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);
}
.bc-legal{
  max-width:820px;
  margin:0 auto;
  padding:64px 24px;
  color:#081a36;
}
.bc-legal-logo{
  width:min(420px,90vw);
  height:auto;
  margin-bottom:32px;
}
.bc-legal h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:44px;
  letter-spacing:-.03em;
}
.bc-legal p{
  font-size:18px;
  line-height:1.6;
  color:#43546b;
}
.bc-legal a{
  color:#145ebc;
  font-weight:800;
}

@media (max-width: 900px){
  .bc-hero{
    min-height:auto;
  }
  .bc-logo-header{
    width:min(84vw,370px);
  }
  .bc-card{
    margin-top:215px;
  }
  .bc-footer nav{
    gap:18px;
  }
}


/* Final hero geometry tweak */
.bc-hero-art{
  background-position:center top;
}

/* NET-002 controlled validation identity notice */
.bc-validation-notice {
  margin: 16px auto 0;
  max-width: 760px;
  padding: 10px 14px;
  border: 1px solid #d6a316;
  border-radius: 10px;
  background: #fff8dc;
  color: #674b00;
  font-weight: 700;
  text-align: center;
}
