/* Bio-Lec Home page styles.
   Loaded inline by biolec-home-template.php alongside common.css.
   The box-sizing reset (*, *::before, *::after) lives in common.css — not duplicated here.
   Everything below is home-specific: its own .blm-page design-token system
   (green base + blue brand override), section styles and responsive passes. */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --green-primary:  #2BA528;
  --green-deep:     #1E6B1A;
  --green-leaf:     #7FC97F;
  --green-wash:     #EAF5E9;
  --green-ink:      #0F3D0D;
  --cream:          #FAF7F0;
  --cream-2:        #F3EFE4;
  --ink:            #1A1F1A;
  --ink-2:          #2E332D;
  --stone:          #6B7269;
  --stone-2:        #9AA09A;
  --line:           #E6E4DC;
  --line-2:         #D5D2C7;
  --white:          #FFFFFF;
  --success:        #2BA528;
  --warning:        #C97A1A;
  --danger:         #B3261E;
  --info:           #3A6FAE;
  --success-bg:     #EAF5E9;
  --warning-bg:     #FBF0E2;
  --danger-bg:      #F8E6E4;
  --info-bg:        #E6EEF7;
  --font-serif:     'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-sans:      'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:      'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --fs-micro:       0.75rem;
  --fs-small:       0.875rem;
  --fs-body:        1rem;
  --fs-lead:        1.125rem;
  --fs-h4:          1.25rem;
  --fs-h3:          1.5rem;
  --fs-h2:          2rem;
  --fs-h1:          2.75rem;
  --fs-display:     3.5rem;
  --lh-tight:       1.15;
  --lh-snug:        1.3;
  --lh-normal:      1.55;
  --lh-loose:       1.75;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-label: 0.08em;
  --sp-0: 0; --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px; --sp-10: 128px;
  --r-xs:   4px; --r-sm:   6px; --r-md:   12px; --r-lg:   20px; --r-xl:   28px; --r-pill: 999px;
  --shadow-1: 0 1px 2px rgba(30,107,26,0.04), 0 8px 24px rgba(30,107,26,0.06);
  --shadow-2: 0 2px 4px rgba(30,107,26,0.06), 0 16px 32px rgba(30,107,26,0.08);
  --shadow-3: 0 4px 8px rgba(30,107,26,0.08), 0 32px 48px rgba(30,107,26,0.10);
  --shadow-focus: 0 0 0 2px var(--cream), 0 0 0 4px var(--green-primary);
  --ease-out:    cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0.0, 0.2, 1);
  --dur-fast:    160ms; --dur-med: 240ms; --dur-slow: 400ms;
  --maxw-prose: 1040px; --maxw-full: 1200px;
}

html { -webkit-text-size-adjust: 100%; }

/* Scoped to .blm-page so theme styles don't bleed */
.blm-page {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--ink);
  background: var(--cream);
  overflow-x: hidden;
}
.blm-page h1,.blm-page .h1{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0 0 var(--sp-4);text-wrap:pretty;}
.blm-page h2,.blm-page .h2{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0 0 var(--sp-3);text-wrap:pretty;}
.blm-page h3,.blm-page .h3{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-h3);line-height:var(--lh-snug);color:var(--ink);margin:0 0 var(--sp-3);}
.blm-page h4,.blm-page .h4{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-snug);color:var(--ink);margin:0 0 var(--sp-2);}
.blm-page .eyebrow,.blm-page .overline{font-family:var(--font-sans);font-weight:600;font-size:var(--fs-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--green-deep);margin:0 0 var(--sp-2);}
.blm-page p,.blm-page .body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--ink-2);margin:0 0 var(--sp-4);text-wrap:pretty;}
.blm-page .lead{font-size:var(--fs-lead);line-height:var(--lh-loose);color:var(--ink-2);}
.blm-page .small{font-size:var(--fs-small);line-height:var(--lh-snug);color:var(--stone);}
.blm-page .micro{font-size:var(--fs-micro);line-height:var(--lh-snug);color:var(--stone);}
.blm-page .display{font-family:var(--font-serif);font-weight:500;font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);}
.blm-page a{color:var(--green-deep);text-decoration:none;transition:color var(--dur-fast) var(--ease-out);}
.blm-page a:hover{text-decoration:underline;text-underline-offset:3px;}
.blm-page a:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--r-xs);}
.blm-page hr{border:0;border-top:1px solid var(--line);margin:var(--sp-6) 0;}
.blm-page img{display:block;max-width:100%;}

/* Buttons */
.blm-page .btn{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-5);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:600;line-height:1;border-radius:var(--r-pill);border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);white-space:nowrap;}
.blm-page .btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);}
.blm-page .btn:active{transform:scale(0.98);transition-duration:100ms;}
.blm-page .btn--primary{background:var(--green-primary);color:#fff;border-color:var(--green-primary);}
.blm-page .btn--primary:hover{background:var(--green-deep);border-color:var(--green-deep);}
.blm-page .btn--secondary{background:var(--cream);color:var(--green-deep);border-color:var(--green-deep);}
.blm-page .btn--secondary:hover{background:var(--green-wash);}
.blm-page .btn--ghost{background:transparent;color:var(--green-deep);padding:0 var(--sp-3);}
.blm-page .btn--ghost:hover{text-decoration:underline;text-underline-offset:3px;}
.blm-page .btn--sm{min-height:36px;padding:0 var(--sp-4);font-size:var(--fs-small);}
.blm-page .btn--lg{min-height:52px;padding:0 var(--sp-6);font-size:var(--fs-lead);}

/* Form fields */
.blm-page .field{display:flex;flex-direction:column;gap:var(--sp-2);}
.blm-page .field__label{font-family:var(--font-sans);font-size:var(--fs-small);font-weight:500;color:var(--ink);}
.blm-page .input,.blm-page .textarea,.blm-page .select{width:100%;min-height:44px;padding:10px var(--sp-4);font-family:var(--font-sans);font-size:var(--fs-body);color:var(--ink);background:var(--white);border:1px solid var(--line-2);border-radius:var(--r-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);}
.blm-page .input::placeholder,.blm-page .textarea::placeholder{color:var(--stone-2);}
.blm-page .input:hover,.blm-page .textarea:hover,.blm-page .select:hover{border-color:var(--stone);}
.blm-page .input:focus,.blm-page .textarea:focus,.blm-page .select:focus{outline:none;border-color:var(--green-primary);box-shadow:0 0 0 3px rgba(43,165,40,.18);}
.blm-page .textarea{min-height:120px;padding-top:12px;resize:vertical;}

/* Badge */
.blm-page .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-sans);font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;border-radius:var(--r-pill);background:var(--green-wash);color:var(--green-deep);border:1px solid transparent;}
.blm-page .badge--success{background:var(--success-bg);color:var(--success);}
.blm-page .badge--warn{background:var(--warning-bg);color:var(--warning);}
.blm-page .badge--danger{background:var(--danger-bg);color:var(--danger);}
.blm-page .badge--neutral{background:var(--cream-2);color:var(--stone);}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ============ Blue brand override ============ */
.blm-page{
  --blue:        #329ae0;
  --blue-deep:   #0065b8;
  --blue-ink:    #06294a;
  --blue-leaf:   #8fc6ec;
  --blue-wash:   #eaf4fc;
  --blue-wash-2: #dcecf9;
  --green-primary: var(--blue);
  --green-deep:    var(--blue-deep);
  --green-leaf:    var(--blue-leaf);
  --green-wash:    var(--blue-wash);
  --green-ink:     var(--blue-ink);
  --font-serif:    var(--font-sans);
  --success:       var(--blue);
  --success-bg:    var(--blue-wash);
  --shadow-1: 0 1px 2px rgba(0,101,184,.05), 0 10px 28px rgba(0,101,184,.07);
  --shadow-2: 0 2px 6px rgba(0,101,184,.07), 0 20px 40px rgba(0,101,184,.10);
  --shadow-3: 0 6px 14px rgba(0,101,184,.10), 0 36px 60px rgba(0,101,184,.14);
}
.blm-page .bg-sand{ background:var(--cream-2); }
.blm-page .bg-sky{ background:#eef5fc; }
.blm-page .bg-white{ background:var(--white); }
.blm-page .bg-cream{ background:var(--cream); }
.blm-page .bg-pink{ background:#fceef4; }
.blm-page .bg-sage{ background:#e2ddbe; }
.blm-page .bg-wash{ background:var(--blue-wash); }
.blm-page .bg-grey{ background:#d6d6d6; }
.blm-page .bg-mist{ background:#eef2f6; }
/* Container width/centering now come from the shared .blm-container (common.css). */
.blm-page .btn--primary{ color:#fff; }
.blm-page section{ scroll-margin-top:var(--blm-sticky-top,88px); }
.blm-page .eyebrow{ color: var(--blue-deep); }

/* HERO */
.blm-page .hero{ position:relative; background:var(--white); padding:clamp(40px,7vw,90px) 0 clamp(48px,7vw,96px); overflow:hidden; }
.blm-page .hero::before{ content:""; position:absolute; top:-220px; right:-160px; width:680px; height:680px; background:radial-gradient(circle at center,rgba(50,154,224,.32),transparent 62%); pointer-events:none; }
.blm-page .hero::after{ content:""; position:absolute; left:-180px; bottom:-200px; width:520px; height:520px; background:radial-gradient(circle at center,rgba(0,101,184,.18),transparent 62%); pointer-events:none; }
.blm-page .hero__grid{ position:relative; display:grid; grid-template-columns:1.04fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.blm-page .hero__eyebrow{ display:inline-flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-pill); padding:7px 16px 7px 8px; box-shadow:var(--shadow-1); }
.blm-page .hero__eyebrow .pp{ display:inline-flex; align-items:center; gap:6px; background:var(--blue-wash); color:var(--blue-deep); font-size:11px; font-weight:700; letter-spacing:.04em; padding:4px 10px; border-radius:var(--r-pill); }
.blm-page .hero__eyebrow .tx{ font-size:13px; font-weight:600; color:var(--ink-2); }
.blm-page .hero h1{ font-size:clamp(2.5rem,5vw,4rem); line-height:1.04; margin:22px 0 18px; }
.blm-page .hero h1 em{ font-style:normal; position:relative; color:var(--blue-deep); white-space:nowrap; background-image:linear-gradient(transparent 68%,color-mix(in srgb,var(--blue-leaf) 55%,transparent) 0); background-repeat:no-repeat; padding-bottom:.02em; }
.blm-page .hero__lead{ font-size:var(--fs-lead); color:var(--stone); max-width:38ch; margin-bottom:30px; }
.blm-page .hero__cta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-bottom:34px; }
.blm-page .hero__rating{ display:flex; align-items:center; gap:10px; }
.blm-page .hero__rating .stars{ position:relative; display:inline-block; font-size:17px; line-height:1; letter-spacing:2px; color:#D9E2EC; }
.blm-page .hero__rating .stars::before{ content:"★★★★★"; }
.blm-page .hero__rating .stars span{ position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; color:#F2A52E; }
.blm-page .hero__rating .stars span::before{ content:"★★★★★"; }
.blm-page .hero__rating .t{ font-size:13px; color:var(--stone); }
.blm-page .hero__rating .t b{ color:var(--ink); }
.blm-page .hero__points{ display:flex; flex-wrap:nowrap; gap:10px 22px; }
.blm-page .hero__points span{ display:inline-flex; align-items:center; gap:9px; font-size:var(--fs-small); font-weight:600; color:var(--ink-2); white-space:nowrap; }
.blm-page .hero__points i{ width:18px; height:18px; color:var(--blue); }
.blm-page .hero__media{ position:relative; }
.blm-page .hero__photo{ position:relative; z-index:1; border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/4.4; box-shadow:var(--shadow-3); background:var(--blue-wash); }
.blm-page .hero__photo img{ width:100%; height:100%; object-fit:cover; }
.blm-page .hero__blob{ position:absolute; inset:auto -28px -34px auto; width:62%; aspect-ratio:1; background:linear-gradient(150deg,var(--blue),var(--blue-deep)); border-radius:42% 58% 56% 44%/50% 44% 56% 50%; z-index:0; opacity:.9; }
.blm-page .hero__chip{ position:absolute; z-index:2; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-2); padding:13px 16px; display:flex; align-items:center; gap:12px; }
.blm-page .hero__chip i{ width:24px; height:24px; color:var(--blue); }
.blm-page .hero__chip .k{ font-family:var(--font-serif); font-size:1.25rem; font-weight:600; color:var(--ink); line-height:1; }
.blm-page .hero__chip .v{ font-size:12px; color:var(--stone); }
.blm-page .hero__chip--a{ top:24px; left:-30px; }
.blm-page .hero__chip--b{ bottom:42px; right:-26px; }
/* Trustpilot rating chip (replaces the plain icon+text chip body) */
.blm-page .hero__chip--trust{ padding:11px 15px; }
.blm-page .tp{ display:flex; flex-direction:column; gap:5px; text-decoration:none; cursor:pointer; }
.blm-page a.tp:hover{ text-decoration:none; }
.blm-page a.tp:hover .tp__top span{ text-decoration:underline; }
.blm-page .tp__top{ display:flex; align-items:center; gap:6px; font-family:var(--font-sans); font-weight:700; font-size:13px; color:var(--ink); }
.blm-page .tp__top .tp__rate{ margin-left:4px; color:var(--ink); font-weight:700; }
.blm-page .tp__top .tp__logo{ width:16px; height:16px; color:#00b67a; }
.blm-page .tp__stars{ display:flex; gap:3px; }
.blm-page .tp__stars span{ width:18px; height:18px; border-radius:3px; background:#00b67a; display:grid; place-items:center; }
.blm-page .tp__stars svg{ width:13px; height:13px; color:#fff; }
.blm-page .tp__txt{ font-size:11px; color:var(--stone); }
.blm-page .tp__txt b{ color:var(--ink); }
@media(max-width:880px){ .blm-page .hero__grid{ grid-template-columns:1fr; } .blm-page .hero__media{ order:-1; max-width:440px; } .blm-page .hero__chip--a{ left:-6px; } .blm-page .hero__chip--b{ right:-6px; } }

/* Trust band */
.blm-page .band{ background:var(--blue-deep); color:#fff; }
.blm-page .band .blm-container{ display:flex; flex-wrap:wrap; gap:18px 44px; justify-content:center; align-items:center; padding:20px 24px; }
.blm-page .band__item{ display:inline-flex; align-items:center; gap:11px; font-size:var(--fs-small); font-weight:600; color:#eaf4fc; }
.blm-page .band__item i{ width:20px; height:20px; color:var(--blue-leaf); }
.blm-page .band__sep{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.35); }
@media(max-width:680px){ .blm-page .band__sep{ display:none; } }

/* Section heading */
.blm-page .sec{ padding:clamp(56px,8vw,104px) 0; }
.blm-page .sec--tight{ padding:clamp(40px,5vw,64px) 0; }
.blm-page .sechead{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:44px; }
.blm-page .sechead h2{ font-size:var(--fs-h2); margin:8px 0 0; }
.blm-page .sechead .lead2{ margin:10px 0 0; color:var(--stone); max-width:48ch; }
.blm-page .sechead a.more{ display:inline-flex; align-items:center; gap:7px; font-weight:700; white-space:nowrap; }
.blm-page .sechead a.more i{ width:17px; height:17px; transition:transform var(--dur-fast); }
.blm-page .sechead a.more:hover i{ transform:translateX(3px); }
.blm-page .sec-center{ text-align:center; }
.blm-page .sec-center .sechead{ flex-direction:column; align-items:center; }
.blm-page .sec-center .lead2{ margin-inline:auto; }

/* Bento categories */
.blm-page .bento{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:18px; }
.blm-page .tile{ position:relative; border-radius:var(--r-lg); overflow:hidden; display:block; background:var(--blue-wash); border:1px solid var(--line); transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med); }
.blm-page .tile:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); text-decoration:none; }
.blm-page .tile.big{ grid-column:span 2; grid-row:span 2; }
.blm-page .tile.wide{ grid-column:span 2; }
.blm-page .tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform var(--dur-slow) var(--ease-out); }
.blm-page .tile.contain img{ object-fit:contain; padding:26px; mix-blend-mode:multiply; }
.blm-page .tile:hover img{ transform:scale(1.06); }
.blm-page .tile__sheen{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,41,74,.05) 30%,rgba(6,41,74,.82)); }
.blm-page .tile__c{ position:absolute; left:20px; right:20px; bottom:18px; color:#fff; z-index:2; }
.blm-page .tile__c .n{ font-family:var(--font-serif); font-weight:600; font-size:var(--fs-h3); line-height:1.05; }
.blm-page .tile.big .n{ font-size:2rem; }
.blm-page .tile__c .s{ font-size:13px; opacity:.9; margin-top:5px; display:inline-flex; align-items:center; gap:7px; }
.blm-page .tile__c .s i{ width:15px; height:15px; }
.blm-page .tile__count{ position:absolute; top:14px; left:14px; z-index:2; background:rgba(255,255,255,.92); color:var(--blue-deep); font-size:12px; font-weight:700; padding:4px 11px; border-radius:var(--r-pill); }
@media(max-width:860px){ .blm-page .bento{ grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; } .blm-page .tile.big{ grid-row:span 2; } }

/* Products */
/* New-arrivals cards use the shared .product card (common.css, scoped .bl-pcard-grid).
   Only the grid layout lives here. */
.blm-page .prods{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:980px){ .blm-page .prods{ grid-template-columns:repeat(2,1fr); } }

/* Spring deals — light airy card that matches the promo image background
   (no seam), with dark copy + a solid brand-blue CTA. */
.blm-page .deals{ border-radius:var(--r-xl); overflow:hidden; position:relative; background:linear-gradient(120deg,#f4f9fe 0%,#e4f0fb 52%,#d4e8f8 100%); color:var(--ink); display:grid; grid-template-columns:1.1fr 1fr; align-items:center; border:1px solid #d3e6f7; box-shadow:0 18px 40px rgba(0,101,184,.14); }
.blm-page .deals::before{ content:""; position:absolute; left:-80px; top:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(50,154,224,.18),transparent 65%); pointer-events:none; }
.blm-page .deals__copy{ position:relative; z-index:1; padding:clamp(32px,5vw,64px); }
.blm-page .deals .badge{ background:#0065B8; color:#fff; }
.blm-page .deals h2{ color:var(--blue-deep); font-size:var(--fs-display); margin:14px 0 12px; }
.blm-page .deals p{ color:var(--ink-2); max-width:40ch; margin-bottom:26px; }
.blm-page .deals .btn--secondary{ background:linear-gradient(120deg,#329AE0,#0065B8); border-color:transparent; color:#fff; box-shadow:0 8px 18px rgba(0,101,184,.28); }
.blm-page .deals .btn--secondary:hover{ filter:brightness(1.06); transform:translateY(-1px); }
/* Promo graphic shares the card's light background → seamless blend. */
.blm-page .deals__media{ align-self:stretch; position:relative; min-height:360px; }
.blm-page .deals__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center right; }
.blm-page .deals__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#e4f0fb 0%,rgba(228,240,251,.55) 12%,transparent 30%); }
@media(max-width:820px){ .blm-page .deals{ grid-template-columns:1fr; } .blm-page .deals__media{ min-height:240px; } .blm-page .deals__media::after{ background:linear-gradient(0deg,transparent 72%,rgba(228,240,251,.9)); } }

/* Made-in-UK banner — deep brand-blue gradient to match the theme */
.blm-page .ukband{ position:relative; margin-top:34px; }
.blm-page .ukband__inner{ position:relative; overflow:hidden; background:linear-gradient(120deg,#013a6b 0%,#0065B8 60%,#1f86d6 100%); color:#fff; border-radius:var(--r-xl); padding:30px clamp(28px,5vw,56px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; box-shadow:0 14px 32px rgba(1,58,107,.30); }
.blm-page .ukband__inner::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 88% 50%,rgba(255,255,255,.14),transparent 42%); pointer-events:none; }
.blm-page .ukband__flag{ position:absolute; top:-26px; left:50%; transform:translateX(-50%); width:54px; height:54px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 4px 14px rgba(1,33,105,.4); z-index:2; }
.blm-page .ukband__flag svg{ width:100%; height:100%; display:block; }
.blm-page .ukband__txt{ position:relative; z-index:1; display:flex; align-items:center; gap:16px; }
.blm-page .ukband__txt .lbl{ font-family:var(--font-sans); font-weight:700; font-size:clamp(.95rem,1.6vw,1.18rem); letter-spacing:.06em; text-transform:uppercase; line-height:1.3; }
.blm-page .ukband__txt .lbl em{ font-style:normal; color:#bfe2ff; }
.blm-page .ukband__txt > i{ width:26px; height:26px; color:#bfe2ff; flex-shrink:0; }
.blm-page .ukband .btn{ position:relative; z-index:1; background:#fff; border-color:#fff; color:var(--blue-deep); box-shadow:0 6px 16px rgba(0,0,0,.18); }
.blm-page .ukband .btn:hover{ background:var(--blue-wash); border-color:var(--blue-wash); color:var(--blue-deep); }
@media(max-width:680px){ .blm-page .ukband__inner{ flex-direction:column; text-align:center; padding-top:36px; } .blm-page .ukband__txt{ flex-direction:column; gap:10px; } }

/* Category grid */
.blm-page .catgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.blm-page .ccard{ position:relative; display:flex; align-items:center; gap:18px; background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg); padding:22px 24px; overflow:hidden; transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med),border-color var(--dur-med); }
.blm-page .ccard::after{ content:""; position:absolute; right:-40px; bottom:-40px; width:120px; height:120px; border-radius:50%; background:var(--blue-wash); opacity:.6; transition:transform var(--dur-med) var(--ease-out); }
.blm-page .ccard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:var(--blue-leaf); text-decoration:none; }
.blm-page .ccard:hover::after{ transform:scale(1.4); }
.blm-page .ccard__ic{ position:relative; z-index:1; width:58px; height:58px; border-radius:var(--r-md); background:linear-gradient(135deg,var(--blue),var(--blue-deep)); display:grid; place-items:center; flex-shrink:0; box-shadow:0 6px 14px rgba(0,101,184,.25); }
.blm-page .ccard__ic i,.blm-page .ccard__ic svg{ width:28px!important; height:28px!important; color:#fff; }
.blm-page .ccard__tx{ position:relative; z-index:1; flex:1; }
.blm-page .ccard__tx .n{ display:block; font-family:var(--font-sans); font-weight:700; font-size:var(--fs-body); color:var(--ink); line-height:1.2; }
.blm-page .ccard__tx .c{ display:block; font-size:13px; color:var(--stone); margin-top:3px; }
.blm-page .ccard__go{ position:relative; z-index:1; width:36px; height:36px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; color:var(--blue-deep); flex-shrink:0; transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast); }
.blm-page .ccard:hover .ccard__go{ background:var(--blue); border-color:var(--blue); color:#fff; }
.blm-page .ccard__go i,.blm-page .ccard__go svg{ width:18px!important; height:18px!important; }
@media(max-width:860px){ .blm-page .catgrid{ grid-template-columns:1fr; } }

/* Steps */
.blm-page .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blm-page .step{ position:relative; background:linear-gradient(135deg,#eaf4fc 0%,#d3e7f8 55%,#bcd9f3 100%); border:1px solid #b8d6f1; border-radius:var(--r-lg); padding:30px 26px; box-shadow:0 8px 22px rgba(0,101,184,.10); }
.blm-page .step__no{ position:absolute; top:-18px; left:50%; transform:translateX(-50%); width:42px; height:42px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-family:var(--font-serif); font-weight:600; font-size:1.2rem; box-shadow:var(--shadow-1); }
.blm-page .step .ic{ width:50px; height:50px; border-radius:var(--r-md); background:#0065b8; display:grid; place-items:center; margin:14px 0 16px; box-shadow:0 6px 14px rgba(0,101,184,.28); }
.blm-page .step .ic i,
.blm-page .step .ic svg{ width:26px; height:26px; color:#fff; stroke:#fff; }
.blm-page .step h4{ margin:0 0 6px; }
.blm-page .step p{ margin:0; color:var(--stone); font-size:var(--fs-small); }
@media(max-width:760px){ .blm-page .steps{ grid-template-columns:1fr; } }

/* Feature band */
.blm-page .feature{ background:linear-gradient(120deg,var(--blue-deep),var(--blue) 85%); color:#fff; position:relative; overflow:hidden; }
.blm-page .feature::before{ content:""; position:absolute; right:-160px; top:-120px; width:520px; height:520px; background:radial-gradient(circle,rgba(50,154,224,.28),transparent 60%); }
.blm-page .feature__grid{ position:relative; display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(32px,5vw,72px); align-items:center; }
.blm-page .feature__media{ border-radius:var(--r-xl); overflow:hidden; aspect-ratio:6/5; box-shadow:var(--shadow-3); background:#0a3a66; }
.blm-page .feature__media img{ width:100%; height:100%; object-fit:cover; }
.blm-page .feature .eyebrow{ color:var(--blue-leaf); }
.blm-page .feature h2{ color:#fff; font-size:var(--fs-h1); }
.blm-page .feature > .feature__grid > div > p{ color:rgba(255,255,255,.78); }
.blm-page .feature ul{ list-style:none; padding:0; margin:26px 0 30px; display:grid; gap:16px; }
.blm-page .feature li{ display:flex; gap:13px; align-items:flex-start; }
.blm-page .feature li .lic{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); display:grid; place-items:center; flex-shrink:0; }
.blm-page .feature li i{ width:18px; height:18px; color:var(--blue-leaf); }
.blm-page .feature li b{ color:#fff; display:block; }
.blm-page .feature li span{ color:rgba(255,255,255,.7); font-size:var(--fs-small); }
.blm-page .feature .btn--secondary{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff; }
.blm-page .feature .btn--secondary:hover{ background:rgba(255,255,255,.1); }
@media(max-width:860px){ .blm-page .feature__grid{ grid-template-columns:1fr; } .blm-page .feature__media{ order:-1; } }
@media(max-width:680px){ .blm-page .feature .blm-container{ padding-left:28px; padding-right:28px; } }

/* Reviews */
.blm-page .reviews{ background:var(--blue-wash); }
.blm-page .reviews.sec{ padding:clamp(36px,4vw,56px) 0; }
.blm-page .reviews .sechead{ margin-bottom:28px; }
.blm-page .reviews .sechead h2{ font-size:var(--fs-h2); }
/* CusRev reviews slider ([cusrev_reviews_slider]) — restyled to match the page.
   CusRev outputs .cr-* markup inside .reviews__slider. */
.blm-page .reviews__slider{ position:relative; margin-top:8px; padding:0 44px; }
.blm-page .reviews__slider .cr-reviews-slider{ margin:0; }

/* Card */
.blm-page .reviews__slider .cr-review-card{ height:auto; padding:6px 9px; }
.blm-page .reviews__slider .cr-review-card-inner{
  background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow-1); padding:22px 24px; height:100%;
  display:flex; flex-direction:column; transition:box-shadow .18s ease, transform .18s ease;
}
.blm-page .reviews__slider .cr-review-card-inner:hover{ box-shadow:var(--shadow-2); transform:translateY(-3px); }

/* Header: avatar + name + verified */
.blm-page .reviews__slider .reviewer{ align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:14px; }
.blm-page .reviews__slider .cr-avatar img,
.blm-page .reviews__slider .cr-avatar{ border-radius:50%; }
.blm-page .reviews__slider .reviewer-name{ font-weight:700; color:var(--ink); font-size:14px; }
.blm-page .reviews__slider .reviewer-verified,
.blm-page .reviews__slider .cr-reviewer-verified{ color:var(--blue); font-size:11.5px; font-weight:600; }
.blm-page .reviews__slider .cr-avatar-check{ color:var(--blue); }

/* Stars */
.blm-page .reviews__slider .cr-rating-icon-frnt{ color:#F2A52E; }
.blm-page .reviews__slider .cr-rating-icon-base,
.blm-page .reviews__slider .cr-rating-icon-bg{ color:#E3E1D8; }

/* Body text */
.blm-page .reviews__slider .review-content,
.blm-page .reviews__slider .review-text{ color:var(--ink-2); font-size:var(--fs-small); line-height:1.55; }
.blm-page .reviews__slider .datetime{ color:var(--stone); font-size:11.5px; }

/* Product link footer */
.blm-page .reviews__slider .review-product{
  background:var(--blue-wash); border-radius:12px; padding:12px 14px; margin-top:auto;
  display:flex; align-items:center; gap:12px;
}
.blm-page .reviews__slider .review-thumbnail img,
.blm-page .reviews__slider .cr-product-thumbnail img{ border-radius:8px; }
.blm-page .reviews__slider .review-product a{ color:var(--blue-deep); font-weight:600; text-decoration:none; line-height:1.4; }
.blm-page .reviews__slider .review-product a:hover{ text-decoration:underline; }

/* Arrows */
.blm-page .reviews__slider .cusrevslick-prev,
.blm-page .reviews__slider .cusrevslick-next,
.blm-page .reviews__slider .slick-prev,
.blm-page .reviews__slider .slick-next{
  width:38px; height:38px; border-radius:50%; background:var(--white) !important;
  border:1px solid var(--line); box-shadow:var(--shadow-1); z-index:3;
}
.blm-page .reviews__slider .cusrevslick-prev:hover,
.blm-page .reviews__slider .cusrevslick-next:hover,
.blm-page .reviews__slider .slick-prev:hover,
.blm-page .reviews__slider .slick-next:hover{ background:var(--blue) !important; border-color:var(--blue); }
.blm-page .reviews__slider .cusrevslick-prev{ left:0; }
.blm-page .reviews__slider .cusrevslick-next{ right:0; }
.blm-page .reviews__slider .cusrevslick-prev:before,
.blm-page .reviews__slider .cusrevslick-next:before,
.blm-page .reviews__slider .slick-prev:before,
.blm-page .reviews__slider .slick-next:before{ color:var(--blue-deep); opacity:1; }
.blm-page .reviews__slider .cusrevslick-prev:hover:before,
.blm-page .reviews__slider .cusrevslick-next:hover:before,
.blm-page .reviews__slider .slick-prev:hover:before,
.blm-page .reviews__slider .slick-next:hover:before{ color:#fff; }

/* Dots */
.blm-page .reviews__slider .cusrevslick-dots li button:before,
.blm-page .reviews__slider .slick-dots li button:before{ color:var(--blue); font-size:9px; opacity:.35; }
.blm-page .reviews__slider .cusrevslick-dots li.cusrevslick-active button:before,
.blm-page .reviews__slider .slick-dots li.slick-active button:before{ color:var(--blue-deep); opacity:1; }

@media(max-width:680px){ .blm-page .reviews__slider{ padding:0 30px; } }

/* Blog */
.blm-page .posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blm-page .post{ border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); background:var(--white); display:flex; flex-direction:column; transition:transform var(--dur-med),box-shadow var(--dur-med); }
.blm-page .post:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); text-decoration:none; }
.blm-page .post__media{ aspect-ratio:16/10; overflow:hidden; background:var(--blue-wash); position:relative; }
.blm-page .post__media img{ width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow); }
.blm-page .post:hover .post__media img{ transform:scale(1.06); }
.blm-page .post__tag{ position:absolute; top:14px; left:14px; background:var(--white); color:var(--blue-deep); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:5px 11px; border-radius:var(--r-pill); }
.blm-page .post__body{ padding:20px 22px 24px; }
.blm-page .post__body h3{ font-size:var(--fs-h4); margin:0 0 8px; color:var(--ink); }
.blm-page .post__body p{ color:var(--stone); font-size:var(--fs-small); margin:0 0 12px; }
.blm-page .post__more{ font-size:var(--fs-small); font-weight:700; color:var(--blue-deep); display:inline-flex; align-items:center; gap:6px; }
.blm-page .post__more i{ width:15px; height:15px; }
@media(max-width:860px){ .blm-page .posts{ grid-template-columns:1fr; } }

/* Newsletter signup */
.blm-page .signup{ display:grid; grid-template-columns:1.05fr 1fr; background:var(--white); border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-2); }
.blm-page .signup__form{ padding:clamp(32px,4vw,56px); }
.blm-page .signup__form .eyebrow{ color:var(--blue-deep); }
.blm-page .signup__form h2{ font-size:var(--fs-h2); margin:6px 0 8px; }
.blm-page .signup__form .sub{ color:var(--stone); margin:0 0 26px; max-width:42ch; }
.blm-page .signup__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.blm-page .signup .field__label{ display:flex; align-items:center; gap:4px; }
.blm-page .signup .field__label .req{ color:var(--danger); }
.blm-page .signup .field{ margin-bottom:18px; }
.blm-page .signup .input{ background:var(--cream); }
.blm-page .signup__robot{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:max-content; max-width:100%; background:var(--cream); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:12px 16px; margin:4px 0 24px; }
.blm-page .signup__robot .lft{ display:flex; align-items:center; gap:12px; }
.blm-page .signup__robot .box{ width:26px; height:26px; border:2px solid var(--line-2); border-radius:4px; background:var(--white); cursor:pointer; display:grid; place-items:center; color:transparent; transition:all var(--dur-fast); }
.blm-page .signup__robot .box.checked{ background:var(--blue); border-color:var(--blue); color:#fff; }
.blm-page .signup__robot .box i{ width:17px; height:17px; }
.blm-page .signup__robot .lbl{ font-size:var(--fs-small); color:var(--ink-2); }
.blm-page .signup__robot .rc{ display:flex; flex-direction:column; align-items:center; gap:2px; color:var(--stone-2); }
.blm-page .signup__robot .rc i{ width:22px; height:22px; color:var(--blue); }
.blm-page .signup__robot .rc span{ font-size:9px; letter-spacing:.04em; }
.blm-page .signup__submit{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.blm-page .signup__note{ font-size:12px; color:var(--stone); display:inline-flex; align-items:center; gap:6px; }
.blm-page .signup__note i{ width:15px; height:15px; color:var(--blue); }
.blm-page .signup__media{ position:relative; min-height:420px; background:var(--blue-wash); }
.blm-page .signup__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blm-page .signup__quote{ position:absolute; left:22px; bottom:22px; right:22px; background:rgba(255,255,255,.94); backdrop-filter:blur(4px); border-radius:var(--r-md); padding:16px 18px; box-shadow:var(--shadow-2); display:flex; gap:12px; align-items:flex-start; }
.blm-page .signup__quote i{ width:22px; height:22px; color:var(--blue); flex-shrink:0; }
.blm-page .signup__quote p{ margin:0; font-size:var(--fs-small); color:var(--ink-2); line-height:1.45; }
.blm-page .signup__quote b{ color:var(--ink); }
/* Ninja Form ([ninja_form id=6]) layout: first two fields share a row, the rest full width */
.blm-page .signup__nf nf-fields-wrap{ display:flex; flex-wrap:wrap; gap:0 16px; }
.blm-page .signup__nf nf-field{ width:100%; }
.blm-page .signup__nf nf-field:nth-child(1),
.blm-page .signup__nf nf-field:nth-child(2){ width:calc(50% - 8px); }
@media(max-width:680px){
  .blm-page .signup__nf nf-field:nth-child(1),
  .blm-page .signup__nf nf-field:nth-child(2){ width:100%; }
}
@media(max-width:820px){ .blm-page .signup{ grid-template-columns:1fr; } .blm-page .signup__media{ min-height:300px; order:-1; } .blm-page .signup__row{ grid-template-columns:1fr; } }

/* Mobile pass */
@media(max-width:680px){
  .blm-page .sec{ padding:48px 0; }
  .blm-page .sec--tight{ padding:36px 0; }
  .blm-page .sechead{ flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:30px; }
  .blm-page .sechead h2{ font-size:1.7rem; }
  .blm-page .sec-center .sechead{ align-items:center; text-align:center; }
  .blm-page .hero{ padding:36px 0 44px; }
  .blm-page .hero h1{ font-size:clamp(2.1rem,8vw,2.6rem); }
  .blm-page .hero h1 em{ white-space:normal; }
  .blm-page .hero__eyebrow{ flex-wrap:wrap; }
  .blm-page .hero__cta{ gap:12px; margin-bottom:26px; }
  .blm-page .hero__cta .btn{ width:100%; justify-content:center; }
  .blm-page .hero__points{ flex-wrap:wrap; gap:10px 18px; }
  .blm-page .hero__media{ max-width:none; }
  .blm-page .hero__chip{ padding:10px 13px; }
  .blm-page .hero__chip .k{ font-size:1.05rem; }
  .blm-page .hero__chip--a{ top:12px; left:6px; }
  .blm-page .hero__chip--b{ bottom:12px; right:6px; }
  .blm-page .bento{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .blm-page .tile{ aspect-ratio:16/10; }
  .blm-page .tile.big,.blm-page .tile.wide{ grid-column:auto; grid-row:auto; }
  .blm-page .tile.big .n{ font-size:1.5rem; }
  .blm-page .prods{ grid-template-columns:1fr 1fr; gap:12px; }
  .blm-page .deals__copy{ padding:30px 24px; }
  .blm-page .deals h2{ font-size:2.2rem; }
  .blm-page .feature ul{ margin:20px 0 24px; }
  .blm-page .signup__form{ padding:28px 22px; }
  .blm-page .signup__form h2{ font-size:1.5rem; }
  .blm-page .signup__submit{ flex-direction:column; align-items:stretch; }
  .blm-page .signup__submit .btn{ width:100%; justify-content:center; }
  .blm-page .steps{ gap:30px; }
}
@media(max-width:430px){
  .blm-page .prods{ grid-template-columns:1fr; }
  .blm-page .hero__rating{ width:100%; }
}
