/* e.Lens company site: overrides on top of the Sinatra template (colour option A, 2026-10-21) */
:root {
  --energy: #4A9E7F;
  --energy-text: #6FB09B;
  --spend: #E0B35A; /* temporary until SpendAssure brand colour is confirmed */
  --peach: #E8A87C;
  --line: #1F2329;
  /* background colours: Sinatra originals (--deep-graphite #0d0f12, --carbon-shadow #111418) */
  --panel: #151516;
}

/* Team */
.elens-team { display: grid; gap: 1.5rem; }
.elens-person { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: 2.5rem; background: var(--carbon-shadow); border: 1px solid var(--line); border-radius: 1.25rem; padding: 2rem; }
.elens-person .elens-portrait { min-height: 19rem; }
.elens-person .elens-photo { width: 100%; height: 100%; min-height: 19rem; max-height: 24rem; object-fit: cover; object-position: center top; border-radius: 1rem; display: block; }
.elens-person h3 { margin: 0; font-size: 1.9rem; font-weight: 500; }
.elens-role { margin-top: .4rem; color: var(--energy-text); font-weight: 600; font-size: .95rem; }
.elens-person p { margin: 1.1rem 0 0; color: var(--light-grey); line-height: 1.7; max-width: 46rem; }
.elens-person p.elens-creds { font-size: .85rem; letter-spacing: .04em; color: var(--medium-grey); }
.elens-linkedin { display: inline-block; margin-top: 1.25rem; color: var(--white); font-weight: 600; text-decoration: underline; }

/* Legal pages */
.elens-legal { padding-top: 10rem; padding-bottom: 6rem; }
.elens-legal .pp-header-inner, .elens-legal .pp-content-inner { max-width: 48rem; }
.elens-legal .pp-tag { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--medium-grey); }
.elens-legal .pp-h1 { margin: 1rem 0 .75rem; font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1.1; }
.elens-legal .pp-meta { color: var(--light-grey); }
.elens-legal .pp-meta a, .elens-legal .pp-content a { color: var(--white) !important; text-decoration: underline; }
.elens-legal .pp-section { margin-top: 2.75rem; }
.elens-legal h2 { font-size: 1.4rem; font-weight: 500; margin: 0 0 .9rem; }
.elens-legal h3 { font-size: 1.05rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.elens-legal p, .elens-legal li { color: var(--light-grey); line-height: 1.7; }
.elens-legal .pp-highlight { background: var(--carbon-shadow); border: 1px solid var(--line); border-radius: .8rem; padding: 1.25rem 1.5rem; margin-top: 1rem; }
.elens-legal table { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: .9rem; }
.elens-legal th, .elens-legal td { border-bottom: 1px solid var(--line); padding: .6rem .5rem; text-align: left; color: var(--light-grey); vertical-align: top; }
.elens-legal th { color: var(--white); font-weight: 600; }

body { font-family: Inter, sans-serif; }
h1, h2, h3,
.text-size-xxdisplay, .text-size-xhuge, .text-size-xxlarge, .text-size-xlarge,
.heading-4, .text-size, .elens-logo { font-family: Satoshi, Inter, sans-serif; }

/* Neutral primary button; product buttons carry their product colour */
.button { background-color: var(--white); }
.button.is-energy { background-color: var(--energy); }
.button.is-spend { background-color: var(--spend); }

.elens-logo { font-size: 1.35rem; font-weight: 700; letter-spacing: -0.01em; color: var(--white); text-decoration: none; display: flex; align-items: center; gap: .6rem; }
.elens-logo .dot { color: var(--peach); }

/* Hero */
.elens-hero { padding-top: 11rem; padding-bottom: 7rem; }
.elens-eyebrow { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--medium-grey); }
.elens-hero-heading { margin: 1.5rem 0 0; font-size: clamp(2.2rem, 4.4vw, 4.2rem); font-weight: 500; line-height: 1.08; letter-spacing: -0.02em; max-width: 68rem; }
.elens-hero-heading span { color: var(--light-grey); }
.elens-nowrap { white-space: nowrap; }
.elens-hero-line { display: block; }
.elens-hero-sub { margin: 1.75rem 0 0; max-width: 66rem; font-size: clamp(1.05rem, 1.3vw, 1.25rem); line-height: 1.55; color: var(--medium-grey); }
.elens-hero .double-button-wrapper { margin-top: 3rem; justify-content: flex-start; }

/* Section heading */
.elens-section-head { margin-bottom: 4rem; }
.elens-section-head h2 { margin: 1rem 0 0; font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; }

/* Product accents */
.elens-tag { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.is-energy-text { color: var(--energy-text); }
.is-spend-text { color: var(--spend); }
.features.is-energy-block .check-icon-wrap { background-color: rgba(74, 158, 127, .18); }
.features.is-spend-block .check-icon-wrap { background-color: rgba(224, 179, 90, .16); }
.features-content .double-button-wrapper { justify-content: flex-start; margin-top: 2rem; }

.elens-placeholder { min-height: 26rem; border: 1.5px dashed #3A3F47; border-radius: 1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; text-align: center; padding: 2rem; color: var(--light-grey); background: var(--panel); }
.elens-placeholder strong { color: var(--white); font-weight: 600; }

/* Team */
.elens-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 52rem; }
.elens-team-grid .card-image-wrapper .elens-placeholder { min-height: 22rem; }

/* Contact panel and company details */
.elens-contact { background: var(--carbon-shadow); border: 1px solid var(--line); border-radius: 1.5rem; padding: 3.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
.elens-contact a.elens-mail { color: var(--white); font-size: 1.6rem; font-weight: 600; }
.elens-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem 1.5rem; font-size: .95rem; }
.elens-details span { display: block; font-size: .75rem; color: var(--medium-grey); }

/* Cookie banner */
#cookie-banner { display: none; position: fixed; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; z-index: 10000; justify-content: center; }
.cookie-box { background: var(--carbon-shadow); border: 1px solid #2A2F37; border-radius: 1rem; padding: 1.75rem; max-width: 34rem; width: 100%; box-shadow: 0 24px 80px rgba(0, 0, 0, .5); }
.cookie-box h3 { margin: 0 0 .5rem; font-size: 1.15rem; font-weight: 600; }
.cookie-box p { margin: 0 0 1rem; font-size: .9rem; line-height: 1.6; color: var(--light-grey); }
.cookie-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 0; border-top: 1px solid #2A2F37; font-size: .85rem; }
.cookie-row small { display: block; color: var(--medium-grey); }
.cookie-row input { width: 1rem; height: 1rem; accent-color: var(--energy); }
.cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.cookie-actions button { padding: .8rem; border-radius: .6rem; font: 600 .9rem Inter, sans-serif; cursor: pointer; border: 1px solid #3A3F47; background: transparent; color: var(--white); }
.cookie-actions button.primary { background: var(--white); color: #0D0F12; border-color: var(--white); }
.cookie-box .cookie-link { font-size: .78rem; color: var(--light-grey); text-decoration: underline; }
.cookie-settings { background: none; border: none; padding: 0; color: var(--light-grey); font: inherit; cursor: pointer; text-decoration: underline; }

@media screen and (max-width: 767px) {
  .elens-hero { padding-top: 8rem; padding-bottom: 4rem; }
  .elens-team-grid, .elens-contact, .elens-details, .elens-person { grid-template-columns: minmax(0, 1fr); }
  .elens-contact { padding: 2rem; }
}
