/* ============================================================
   Bremanger — "What you get" / recruitment package
   Ported from the Claude Design handoff (inline styles → scoped
   .bp- classes). Fonts come from the site (Cormorant Garamond +
   Glacial Indifference via styles.css). Teal already matches the
   Bremanger accent. Two pieces: .bp-front (homepage band) and
   .bp-page (the full /bremanger/what-you-get/ page).
   ============================================================ */

.bp-front, .bp-page {
  --bp-teal:#2a8f8a;
  --bp-teal-soft:#4fb3ab;
  --bp-teal-bright:#5fc7bd;
  --bp-teal-deep:#1f6f6b;
  --bp-warm:#FBF9F6;
  --bp-cream:#F1EBE3;
  --bp-midnight:#0A1628;
  --bp-ink:#1a1a1a;
  --bp-ink2:#4a4a4a;
  --bp-muted:#737373;
  --bp-line:rgba(42,143,138,0.18);
  --bp-on-dark:#EAF3F1;
  --bp-on-dark-mute:rgba(234,243,241,0.62);
  --bp-on-dark-line:rgba(120,190,184,0.22);
  --bp-pad:clamp(24px,5vw,72px);
  --bp-cw:1180px;
}

/* ---- shared ---- */
.bp-eyebrow { display:block; font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--bp-teal); }
.bp-rule { display:block; width:80px; height:1px; background:var(--bp-teal); margin-bottom:20px; }
.bp-title { font-family:var(--font-display); font-weight:300; font-size:clamp(38px,4.4vw,60px); line-height:1.04; letter-spacing:-0.02em; margin:0; color:var(--bp-ink); }
.bp-title em { font-style:italic; font-weight:400; color:var(--bp-teal); }

.bp-front a:focus-visible,
.bp-page a:focus-visible,
.bp-page button:focus-visible { outline:2px solid var(--bp-teal); outline-offset:3px; }

/* ============================================================
   1 · FRONT SECTION (homepage band) — replaces .b-package
   ============================================================ */
.bp-front { font-family:var(--font-body); background:var(--bp-warm); color:var(--bp-ink); padding:clamp(28px,4vh,52px) var(--bp-pad) clamp(56px,8vh,104px); }
.bp-front__inner { max-width:1320px; margin:0 auto; }
.bp-front__top { display:grid; grid-template-columns:1.25fr 0.75fr; gap:clamp(28px,4vw,56px); align-items:stretch; }
.bp-front__head { max-width:720px; }
.bp-front__head .bp-title { margin-top:18px; }
.bp-front__intro { font-size:clamp(17px,1.4vw,20px); line-height:1.6; color:var(--bp-ink2); margin:22px 0 0; max-width:600px; }
.bp-front__media { position:relative; min-height:260px; align-self:stretch; border-radius:16px; overflow:hidden; }
.bp-front__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

.bp-figband { display:grid; grid-template-columns:repeat(4,1fr); margin:clamp(40px,5vh,60px) 0 clamp(32px,4vh,44px); border-top:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
.bp-fig { padding:clamp(22px,3vh,34px) clamp(16px,2vw,30px) clamp(22px,3vh,34px) 0; }
.bp-fig + .bp-fig { border-left:1px solid var(--bp-line); padding-left:clamp(18px,2vw,30px); }
.bp-fig__num { display:block; font-family:var(--font-display); font-weight:300; font-size:clamp(34px,3.6vw,56px); line-height:0.98; letter-spacing:-0.03em; color:var(--bp-teal); white-space:nowrap; }
.bp-fig__unit { font-size:0.42em; color:var(--bp-teal-soft); font-weight:400; }
.bp-fig__label { display:block; font-size:13px; color:var(--bp-ink2); margin-top:12px; }

.bp-front__foot { display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; }
.bp-front__note { font-family:var(--font-display); font-style:italic; font-size:clamp(17px,1.5vw,21px); color:var(--bp-muted); margin:0; max-width:460px; line-height:1.4; }

.bp-cta { display:inline-flex; align-items:center; gap:14px; background:var(--bp-teal); color:#fff; text-decoration:none; font-size:14px; font-weight:700; letter-spacing:0.04em; padding:17px 26px; border-radius:999px; flex:0 0 auto; box-shadow:0 10px 26px rgba(42,143,138,0.28); transition:background .2s, transform .2s; }
.bp-cta:hover { background:var(--bp-teal-deep); transform:translateY(-1px); }
.bp-cta svg { width:26px; height:13px; stroke:#fff; fill:none; flex:0 0 auto; }

/* ============================================================
   2 · FULL PAGE shell
   ============================================================ */
.bp-page { font-family:var(--font-body); background:var(--bp-warm); color:var(--bp-ink); }
.bp-sec-head { max-width:680px; margin-bottom:clamp(34px,5vh,52px); }
.bp-sec-title { font-family:var(--font-display); font-weight:300; font-size:clamp(34px,3.6vw,52px); line-height:1.08; letter-spacing:-0.02em; margin:18px 0 0; color:var(--bp-ink); }
.bp-sec-title em { font-style:italic; font-weight:400; color:var(--bp-teal); }
.bp-dek { font-size:clamp(16px,1.3vw,19px); line-height:1.6; color:var(--bp-ink2); margin:clamp(26px,3vh,34px) 0 0; max-width:560px; }

/* ---- HERO (dark) ---- */
.bp-hero { position:relative; overflow:hidden; background:radial-gradient(120% 120% at 80% 0%, #12263d 0%, #0a1628 55%); color:var(--bp-on-dark); }
/* top padding clears the Freysta header (~77px) + the Bremanger stripe (~60px) */
.bp-hero__inner { position:relative; max-width:var(--bp-cw); margin:0 auto; padding:clamp(152px,20vh,200px) var(--bp-pad) clamp(56px,9vh,104px); display:grid; grid-template-columns:1.08fr 0.92fr; gap:clamp(28px,4vw,64px); align-items:stretch; }
.bp-hero__text { min-width:0; }
.bp-hero__eyebrow { color:var(--bp-teal-bright); }
.bp-hero .bp-title { color:#fff; margin-top:20px; font-size:clamp(40px,4.6vw,72px); }
.bp-hero .bp-title em { color:var(--bp-teal-bright); }
.bp-hero__lede { font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:var(--bp-on-dark-mute); margin:26px 0 0; max-width:620px; }
.bp-hero__stats { display:flex; flex-wrap:wrap; gap:clamp(22px,3vw,44px); margin-top:clamp(40px,6vh,64px); }
.bp-hero__stat-num { display:block; font-family:var(--font-display); font-weight:300; font-size:clamp(34px,3.2vw,50px); line-height:1; letter-spacing:-0.03em; color:var(--bp-teal-bright); white-space:nowrap; }
.bp-hero__stat-unit { font-size:0.4em; color:var(--bp-teal-soft); }
.bp-hero__stat-label { display:block; font-size:12.5px; color:var(--bp-on-dark-mute); margin-top:11px; }
.bp-hero__media { position:relative; min-height:380px; align-self:stretch; border-radius:20px; overflow:hidden; }
.bp-hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* ---- CALCULATOR section ---- */
.bp-calc-sec { background:var(--bp-warm); padding:clamp(56px,9vh,110px) var(--bp-pad); }
.bp-calc-inner { max-width:var(--bp-cw); margin:0 auto; }

.bp-calc { position:relative; overflow:hidden; background:linear-gradient(155deg,#0f2034 0%,#0a1628 60%); border-radius:22px; padding:clamp(30px,3.4vw,52px); box-shadow:0 30px 70px rgba(10,22,40,0.30); font-family:var(--font-body); color:var(--bp-on-dark); }
.bp-calc__ghost { position:absolute; top:-34px; right:-10px; font-family:var(--font-display); font-size:150px; font-weight:300; line-height:1; letter-spacing:-0.04em; color:rgba(95,199,189,0.06); pointer-events:none; white-space:nowrap; }
.bp-calc__grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,3vw,56px); align-items:start; }
.bp-calc__kicker { display:block; font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--bp-teal-bright); margin-bottom:14px; }
.bp-calc__prompt { font-family:var(--font-display); font-weight:400; font-size:clamp(30px,3vw,42px); line-height:1.04; letter-spacing:-0.02em; margin:0; color:#fff; }

.bp-switch { display:inline-flex; gap:4px; padding:4px; background:rgba(255,255,255,0.04); border:1px solid var(--bp-on-dark-line); border-radius:999px; margin-top:18px; }
.bp-seg { font:inherit; cursor:pointer; border:none; background:transparent; color:var(--bp-on-dark-mute); font-size:13.5px; font-weight:600; letter-spacing:0.02em; padding:9px 18px; border-radius:999px; transition:background .25s,color .25s; }
.bp-seg.is-on { background:var(--bp-teal-bright); color:var(--bp-midnight); }

.bp-calc__prompt-sub { font-size:15px; line-height:1.55; color:var(--bp-on-dark-mute); margin:20px 0 24px; max-width:360px; }
.bp-pills { display:flex; flex-direction:column; gap:9px; }
.bp-pill { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; width:100%; text-align:left; cursor:pointer; font:inherit; color:inherit; background:rgba(255,255,255,0.03); border:1px solid var(--bp-on-dark-line); border-radius:12px; padding:14px 16px; transition:background .3s,border-color .3s; }
.bp-pill.is-on { background:rgba(95,199,189,0.10); border-color:rgba(95,199,189,0.5); }
.bp-pill__dot { width:22px; height:22px; border-radius:7px; border:1.5px solid var(--bp-on-dark-line); display:flex; align-items:center; justify-content:center; flex:0 0 auto; transition:background .3s,border-color .3s; }
.bp-pill.is-on .bp-pill__dot { background:var(--bp-teal-bright); border-color:var(--bp-teal-bright); }
.bp-pill__dot svg { width:11px; height:11px; display:none; }
.bp-pill.is-on .bp-pill__dot svg { display:block; }
.bp-pill__label { font-size:15.5px; color:var(--bp-on-dark); line-height:1.25; }
.bp-pill__note { font-size:10.5px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--bp-on-dark-mute); transition:color .3s; }
.bp-pill.is-on .bp-pill__note { color:var(--bp-teal-bright); }

.bp-whorow { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-3px 0 1px; padding:8px 16px 10px 51px; flex-wrap:wrap; }
.bp-whorow__label { font-size:12.5px; color:var(--bp-on-dark-mute); }
.bp-whoseg { display:inline-flex; gap:3px; padding:3px; background:rgba(255,255,255,0.04); border:1px solid var(--bp-on-dark-line); border-radius:999px; flex:0 0 auto; }
.bp-whobtn { font:inherit; cursor:pointer; border:none; background:transparent; color:var(--bp-on-dark-mute); font-size:12.5px; font-weight:600; padding:6px 14px; border-radius:999px; transition:background .2s,color .2s; }
.bp-whobtn.is-on { background:var(--bp-teal-bright); color:var(--bp-midnight); }

.bp-stepper { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-2px 0 2px; padding:10px 16px 10px 51px; }
.bp-stepper__label { font-size:13px; color:var(--bp-on-dark-mute); }
.bp-stepctrls { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.bp-stepbtn { width:30px; height:30px; border-radius:8px; border:1px solid rgba(95,199,189,0.45); background:transparent; color:var(--bp-teal-bright); font-size:19px; line-height:1; cursor:pointer; font-family:var(--font-body); }
.bp-stepval { font-family:var(--font-display); font-size:24px; min-width:16px; text-align:center; color:#fff; }

.bp-calc__right { padding-top:6px; }
.bp-total__kicker { display:block; font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--bp-on-dark-mute); }
.bp-total__row { display:flex; align-items:baseline; gap:12px; margin-top:10px; flex-wrap:nowrap; }
.bp-total__kr { font-family:var(--font-display); font-weight:300; font-size:clamp(64px,7vw,104px); line-height:0.9; letter-spacing:-0.04em; color:var(--bp-teal-bright); font-variant-numeric:tabular-nums; white-space:nowrap; }
.bp-total__unit { font-family:var(--font-display); font-size:clamp(28px,3vw,40px); font-weight:300; color:var(--bp-teal-soft); }
.bp-total__sub { display:block; font-size:14.5px; color:var(--bp-on-dark-mute); margin-top:10px; }
.bp-calc__rule { height:1px; background:var(--bp-on-dark-line); margin:26px 0 4px; }
.bp-empty { font-family:var(--font-display); font-style:italic; font-size:21px; color:var(--bp-on-dark-mute); margin:20px 0 6px; line-height:1.4; }
.bp-lines { display:flex; flex-direction:column; }
.bp-line { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid var(--bp-on-dark-line); text-decoration:none; color:inherit; }
.bp-line__left { display:block; min-width:0; }
.bp-line__title { display:block; font-family:var(--font-display); font-size:23px; color:#fff; line-height:1.1; }
.bp-line__note { display:block; font-size:11.5px; color:var(--bp-teal-bright); margin-top:4px; }
.bp-line__cta { display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--bp-on-dark-mute); margin-top:7px; }
.bp-line__cta svg { width:11px; height:11px; stroke:var(--bp-teal-bright); fill:none; flex:0 0 auto; }
.bp-line__val { font-family:var(--font-display); font-size:30px; color:var(--bp-on-dark); font-variant-numeric:tabular-nums; white-space:nowrap; flex:0 0 auto; }
.bp-line__val-unit { font-size:17px; color:var(--bp-on-dark-mute); }
.bp-line__val.is-qual { font-style:italic; color:var(--bp-teal-bright); font-size:26px; }

/* ---- DEEP DIVES (cream) ---- */
.bp-dd-sec { background:var(--bp-cream); padding:clamp(56px,9vh,110px) var(--bp-pad); }
.bp-dd-inner { max-width:var(--bp-cw); margin:0 auto; }
.bp-dd-head { max-width:680px; margin-bottom:clamp(24px,4vh,40px); }
.bp-dd { display:grid; grid-template-columns:300px 1fr; gap:clamp(28px,4vw,64px); padding:clamp(30px,4vh,44px) 0; border-top:1px solid var(--bp-line); align-items:start; }
.bp-dd:last-child { border-bottom:1px solid var(--bp-line); }
.bp-dd__no { display:block; font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:0.18em; color:var(--bp-teal-deep); margin-bottom:12px; }
.bp-dd__fig { display:block; font-family:var(--font-display); font-weight:300; font-size:clamp(40px,3.6vw,56px); line-height:0.96; letter-spacing:-0.03em; color:var(--bp-teal); }
.bp-dd__unit { display:block; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--bp-muted); margin-top:10px; }
.bp-dd__right { max-width:640px; }
.bp-dd__title { font-family:var(--font-display); font-weight:400; font-size:clamp(24px,2vw,30px); line-height:1.12; letter-spacing:-0.01em; margin:0; color:var(--bp-ink); }
.bp-dd__detail { font-size:clamp(15px,1.15vw,16.5px); line-height:1.65; color:var(--bp-ink2); margin:12px 0 0; }
.bp-dd__terms { display:grid; grid-template-columns:repeat(2,1fr); gap:9px 22px; margin:20px 0 0; }
.bp-dd__term { display:flex; gap:9px; font-size:13.5px; line-height:1.45; color:var(--bp-ink2); }
.bp-dd__term svg { flex:0 0 auto; margin-top:3px; width:13px; height:13px; stroke:var(--bp-teal); fill:none; }
.bp-dd__cta { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; letter-spacing:0.13em; text-transform:uppercase; color:var(--bp-teal); text-decoration:none; margin-top:22px; }
.bp-dd__cta svg { width:13px; height:13px; stroke:var(--bp-teal); fill:none; flex:0 0 auto; }

/* ---- AMBASSADORS (light) ---- */
.bp-amb { background:var(--bp-warm); padding:clamp(56px,9vh,104px) var(--bp-pad); }
.bp-amb-inner { max-width:var(--bp-cw); margin:0 auto; }
.bp-amb-head { max-width:680px; margin-bottom:clamp(28px,4vh,44px); }
.bp-amb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2vw,30px); }
.bp-amb-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.bp-amb-card__media { width:100%; height:300px; border-radius:14px; overflow:hidden; }
.bp-amb-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.bp-amb-card:hover .bp-amb-card__media img { transform:scale(1.04); }
.bp-amb-card__name { font-family:var(--font-display); font-size:23px; color:var(--bp-ink); margin-top:18px; line-height:1.12; }
.bp-amb-card__line { font-size:14.5px; line-height:1.5; color:var(--bp-ink2); margin-top:7px; }
.bp-amb-card__link { display:inline-flex; align-items:center; gap:9px; font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--bp-teal); margin-top:14px; }
.bp-amb-card__link svg { width:22px; height:11px; stroke:var(--bp-teal); fill:none; flex:0 0 auto; }

/* ---- CLOSE (dark) ---- */
.bp-close { background:radial-gradient(120% 120% at 20% 0%, #12263d 0%, #0a1628 60%); color:var(--bp-on-dark); padding:clamp(64px,10vh,120px) var(--bp-pad); }
.bp-close-inner { max-width:var(--bp-cw); margin:0 auto; }
.bp-close__eyebrow { color:rgba(255,255,255,0.72); }
.bp-close .bp-sec-title { color:#fff; max-width:760px; }
.bp-close .bp-sec-title em { color:var(--bp-teal-bright); }
.bp-close__lede { font-size:clamp(17px,1.4vw,20px); line-height:1.6; color:var(--bp-on-dark-mute); margin:22px 0 0; max-width:560px; }
.bp-close-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,1.6vw,24px); margin-top:clamp(40px,6vh,60px); }
.bp-close-card { display:flex; flex-direction:column; gap:8px; padding:clamp(24px,2.4vw,32px); background:rgba(255,255,255,0.04); border:1px solid var(--bp-on-dark-line); border-radius:16px; text-decoration:none; color:inherit; transition:background .25s, border-color .25s; }
.bp-close-card:hover { background:rgba(255,255,255,0.07); border-color:rgba(95,199,189,0.4); }
.bp-close-card__label { font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--bp-teal-bright); }
.bp-close-card__title { font-family:var(--font-display); font-size:25px; color:#fff; line-height:1.1; margin-top:4px; }
.bp-close-card__desc { font-size:14.5px; line-height:1.55; color:var(--bp-on-dark-mute); }
.bp-close-card__link { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--bp-teal-bright); margin-top:auto; padding-top:14px; }
.bp-close-card__link svg { width:24px; height:12px; stroke:var(--bp-teal-bright); fill:none; flex:0 0 auto; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1000px){
  .bp-front__top { grid-template-columns:1fr; }
  .bp-front__media { min-height:240px; }
  .bp-hero__inner { grid-template-columns:1fr; }
  .bp-hero__media { min-height:300px; }
  .bp-calc__grid { grid-template-columns:1fr; gap:clamp(34px,6vw,48px); }
}
@media (max-width:820px){
  .bp-amb-grid { grid-template-columns:1fr; gap:28px; }
  .bp-close-cards { grid-template-columns:1fr; }
}
@media (max-width:760px){
  .bp-dd { grid-template-columns:1fr; gap:18px; }
}
@media (max-width:620px){
  .bp-dd__terms { grid-template-columns:1fr; }
  .bp-calc__ghost { font-size:92px; top:-22px; }
}
@media (max-width:560px){
  .bp-figband { grid-template-columns:repeat(2,1fr); }
  .bp-fig { padding-right:clamp(12px,3vw,20px); }
  .bp-fig:nth-child(2n+1) { border-left:none; padding-left:0; }
  .bp-fig:nth-child(2n) { border-left:1px solid var(--bp-line); padding-left:clamp(16px,4vw,24px); }
}
