/* ==========================================================================
   Homepage redesign (wireframe). Namespaced .hw-*. No inline CSS.
   ========================================================================== */
.hw {
    --hw-navy: #1b3a5c;
    --hw-navy-deep: #122a44;
    --hw-green: #138b4c;
    --hw-green-dark: #0f6f3c;
    --hw-green-tint: #eaf6ef;
    --hw-sand: #f7f8fa;
    --hw-ink: #1f2937;
    --hw-muted: #6b7280;
    --hw-line: #e5e9ee;
}

.hw-section { --hw-navy:#1b3a5c; --hw-navy-deep:#122a44; --hw-green:#138b4c; --hw-green-dark:#0f6f3c; --hw-green-tint:#eaf6ef; --hw-sand:#f7f8fa; --hw-muted:#6b7280; --hw-line:#e5e9ee; }

.hw-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14.5px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.hw-btn--primary, .hw-btn--primary:hover, .hw-btn--primary:focus { background:#138b4c; color:#fff; }
.hw-btn--primary:hover { background:#0f6f3c; }
.hw-btn--navy, .hw-btn--navy:hover, .hw-btn--navy:focus { background:#1b3a5c; color:#fff; }
.hw-btn--outline, .hw-btn--outline:hover, .hw-btn--outline:focus { background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.hw-btn--outline:hover { background:rgba(255,255,255,.1); }
.hw-btn--white, .hw-btn--white:hover, .hw-btn--white:focus { background:#fff; color:#0f6f3c; }

/* ---------- HERO ---------- */
.hw-hero { position:relative; isolation:isolate; background:#123d67 url('/uploads/custom-images/theme_business_slider_1.jpg') center center/cover no-repeat; color:#fff; min-height:666px; padding:96px 0 86px; }
.hw-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(18,61,103,.98) 0%,rgba(18,61,103,.91) 38%,rgba(18,61,103,.68) 68%,rgba(18,61,103,.42) 100%); }
.hw-hero__content { display:flex; align-items:center; min-height:484px; }
.hw-hero__copy { max-width:620px; }
.hw-hero__eyebrow { display:inline-block; background:rgba(255,255,255,.12); padding:5px 14px; border-radius:20px; font-size:12.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; }
.hw-hero__title { font-size:56px; line-height:1.08; margin:26px 0 20px; color:#fff; max-width:650px; }
.hw-hero__lead { font-size:16.5px; color:#cfe0ee; max-width:480px; line-height:1.6; margin:0; }
.hw-hero__cta { display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; align-items:center; }
.hw-hero__help { font-size:12.5px; color:#9fb6cb; margin-top:12px; }

/* ---------- PROOF STRIP ---------- */
.hw-proof { background:#122a44; padding:22px 0; }
.hw-proof__inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; }
.hw-proof__viewport { flex:1 1 720px; min-width:0; overflow:hidden; }
.hw-proof__logos { display:flex; width:max-content; gap:22px; align-items:center; animation:hw-proof-scroll 42s linear infinite; }
.hw-proof__logo { display:flex; align-items:center; justify-content:center; width:130px; min-width:130px; }
.hw-proof__logo img { display:block; max-width:100%; max-height:44px; width:auto; filter:brightness(0) invert(1); opacity:.8; transition:.3s; }
.hw-proof__logo img:hover { opacity:1; }
.hw-proof__stat { color:#fff; font-size:13px; font-weight:600; }
.hw-proof__stat b { color:#2ec77e; font-size:16px; margin-right:6px; }
@keyframes hw-proof-scroll { from { transform:translateX(0); } to { transform:translateX(calc(-50% - 11px)); } }
@media (prefers-reduced-motion:reduce) { .hw-proof__logos { animation-play-state:paused; } }

/* ---------- SECTION HEAD ---------- */
.hw-head { text-align:center; max-width:640px; margin:0 auto 50px; }
.hw-head__kicker { display:inline-flex; align-items:center; gap:9px; color:#0f6f3c; background:#eaf6ef; border:1px solid #b8dfc8; border-radius:999px; padding:7px 17px; font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.hw-head__kicker i { font-size:13px; letter-spacing:0; }
.hw-head__title { font-size:38px; margin:16px 0 12px; color:#1b3a5c; }
.hw-head__lead { color:#607996; font-size:16px; line-height:1.55; margin:0 auto; max-width:620px; }

/* ---------- PUBLIC SESSIONS ---------- */
.hw-bridge { padding:78px 0 82px; background:#fbfcfc; }
.hw-sessions { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hw-scard { display:flex; flex-direction:column; border:1px solid #d5e0e8; border-radius:16px; overflow:hidden; background:#fff; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.hw-scard:hover { transform:translateY(-5px); border-color:#9bd5b2; box-shadow:0 18px 34px rgba(18,61,103,.14); }
.hw-scard__thumb { position:relative; height:248px; display:flex; align-items:flex-start; padding:14px; overflow:hidden; background:linear-gradient(135deg,#0f6f3c,#138b4c); }
.hw-scard__thumb::after { content:""; position:absolute; inset:0; background:rgba(18,61,103,.04); pointer-events:none; }
.hw-scard__thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.hw-scard:hover .hw-scard__thumb img { transform:scale(1.05); }
.hw-scard__badge { position:relative; z-index:1; display:inline-flex; align-items:center; padding:5px 11px; border-radius:999px; background:#fff; color:#1b3a5c; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.hw-scard__title { font-size:17px; color:#1b3a5c; font-weight:700; line-height:1.4; margin:0 0 8px; transition:color .2s ease; }
.hw-scard__title a { color:inherit; transition:.2s; }
.hw-scard:hover .hw-scard__title, .hw-scard:hover .hw-scard__title a { color:#0f6f3c; }
.hw-scard__body { padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
.hw-scard__meta { font-size:12.5px; color:#607996; display:flex; gap:12px; flex-wrap:wrap; margin-bottom:13px; }
.hw-scard__meta i { color:#138b4c; margin-right:3px; }
.hw-scard__outcome { font-size:13.5px; color:#1b3a5c; font-weight:600; line-height:1.5; margin:0 0 6px; }
.hw-scard__desc { font-size:13px; color:#6b7280; line-height:1.55; margin:0 0 18px; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hw-scard__foot { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #d5e0e8; padding-top:16px; margin-top:auto; }
.hw-scard__price { font-weight:800; color:#0f6f3c; font-size:17px; }
.hw-scard__link { font-size:13px; font-weight:700; color:#0f6f3c; border:1px solid #a9d9bc; padding:9px 15px; border-radius:10px; transition:background .2s ease, color .2s ease, border-color .2s ease; white-space:nowrap; }
.hw-scard:hover .hw-scard__link, .hw-scard__link:hover, .hw-scard__link:focus { background:#138b4c; border-color:#138b4c; color:#fff; }
.hw-bridge__foot { text-align:center; margin-top:30px; }
.hw-bridge__note { font-size:13px; color:#6b7280; margin-top:12px; }

/* ---------- AL EXPERIENCE ---------- */
.hw-exp { padding:60px 0; background:#f7f8fa; }
.hw-exp__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.hw-exp__kicker { color:#138b4c; font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; }
.hw-exp__title { font-size:28px; color:#1b3a5c; margin:10px 0 16px; line-height:1.25; }
.hw-outcome { list-style:none; padding:0; margin:0 0 22px; }
.hw-outcome li { display:flex; gap:12px; padding:14px 0; border-bottom:1px solid #e5e9ee; }
.hw-outcome__ico { flex-shrink:0; width:30px; height:30px; border-radius:8px; background:#eaf6ef; color:#0f6f3c; display:flex; align-items:center; justify-content:center; font-weight:800; }
.hw-outcome__txt b { display:block; font-size:14.5px; color:#1b3a5c; margin-bottom:2px; }
.hw-outcome__txt span { font-size:13.5px; color:#6b7280; line-height:1.5; }

/* collage */
.hw-collage { display:grid; grid-template-columns:1fr 1.2fr; grid-template-rows:1fr 1fr; gap:16px; }
.hw-collage__tile { position:relative; border-radius:14px; overflow:hidden; box-shadow:0 8px 26px rgba(22,20,57,.12); }
.hw-collage__tile img { width:100%; height:100%; object-fit:cover; display:block; }
.hw-collage__tile--tall { grid-row:1 / span 2; grid-column:2; }
.hw-collage__play, .hw-collage__play:hover, .hw-collage__play:focus { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%; background:rgba(255,255,255,.92); color:#138b4c; font-size:20px; padding-left:4px; box-shadow:0 8px 24px rgba(0,0,0,.25); transition:.25s; }
.hw-collage__play:hover { transform:translate(-50%,-50%) scale(1.08); background:#fff; color:#0f6f3c; }

/* ---------- TESTIMONIALS ---------- */
.hw-testi { padding:60px 0; background:#122a44; color:#fff; }
.hw-testi .hw-head__kicker { color:#7fd3a4; }
.hw-testi .hw-head__title { color:#fff; }
.hw-testi__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hw-tcard { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:24px; }
.hw-tcard__stars { color:#f2b84b; font-size:14px; margin-bottom:12px; letter-spacing:2px; }
.hw-tcard__quote { font-size:14px; line-height:1.6; color:#dce6ee; margin:0 0 16px; }
.hw-tcard__person { display:flex; align-items:center; gap:10px; }
.hw-tcard__avatar { width:40px; height:40px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,#138b4c,#12603b); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:15px; }
.hw-tcard__name { font-weight:700; font-size:13.5px; }
.hw-tcard__role { font-size:12px; color:#8fa6bc; }

/* ---------- SERVICES ---------- */
.hw-services { padding:60px 0; background:#fff; }
.hw-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; }
.hw-svc { border:1px solid #e5e9ee; border-radius:12px; padding:22px; display:flex; flex-direction:column; }
.hw-svc__ico { width:64px; height:64px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; color:#0f6f3c; font-size:22px; overflow:hidden; }
.hw-svc__ico img { max-width:100%; max-height:100%; object-fit:contain; }
.hw-svc__title { font-size:16px; color:#1b3a5c; margin:0 0 6px; }
.hw-svc__title a { color:inherit; }
.hw-svc__desc { font-size:13.5px; color:#6b7280; line-height:1.55; margin:0 0 16px; flex:1; }
.hw-svc__link, .hw-svc__link:hover, .hw-svc__link:focus { font-size:13px; font-weight:700; color:#138b4c; }
.hw-svc__link:hover { color:#0f6f3c; }

/* ---------- FINAL CTA ---------- */
/* Homepage footer normally slides up (-160px) to tuck under the old newsletter shape;
   the flat green CTA has no shape, so cancel the overlap here (homepage only). */
body.home_business .footer__area-two { margin-top: 0; }

.hw-final { padding:54px 0; background:#138b4c; color:#fff; }
.hw-final__inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.hw-final__inner > div { flex:1 1 auto; min-width:0; }
.hw-final__inner .hw-btn { flex:0 0 auto; }
.hw-final__title { font-size:24px; margin:0; color:#fff; }
.hw-final__lead { font-size:14px; color:#ddf0e4; margin:6px 0 0; }

/* ---------- DELIVERY OPTIONS ---------- */
.hw-delivery { padding:82px 0 88px; background:#f7faf9; }
.hw-delivery__intro { display:flex; align-items:center; justify-content:space-between; gap:48px; margin-bottom:48px; }
.hw-delivery__copy { max-width:700px; }
.hw-delivery__title { color:#1b3a5c; font-size:38px; line-height:1.15; margin:16px 0 10px; }
.hw-delivery__lead { color:#607996; font-size:16px; line-height:1.55; margin:0; max-width:650px; }
.hw-delivery__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hw-delivery__card { position:relative; display:flex; flex-direction:column; min-height:244px; padding:28px; overflow:hidden; border:1px solid #d5e0e8; border-radius:16px; background:#fff; color:#1b3a5c; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.hw-delivery__card::after { content:""; position:absolute; right:0; bottom:0; left:0; height:3px; background:#138b4c; transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.hw-delivery__card:hover, .hw-delivery__card:focus-visible { transform:translateY(-5px); border-color:#9bd5b2; box-shadow:0 18px 34px rgba(18,61,103,.14); color:#1b3a5c; }
.hw-delivery__card:hover::after, .hw-delivery__card:focus-visible::after { transform:scaleX(1); }
.hw-delivery__icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:24px; border-radius:12px; background:#eaf6ef; color:#0f6f3c; font-size:20px; transition:background .25s ease, color .25s ease; }
.hw-delivery__card:hover .hw-delivery__icon, .hw-delivery__card:focus-visible .hw-delivery__icon { background:#138b4c; color:#fff; }
.hw-delivery__number { position:absolute; top:15px; right:22px; color:#eef2f4; font-size:48px; font-weight:800; line-height:1; }
.hw-delivery__card-title { display:block; margin-bottom:10px; color:#1b3a5c; font-size:17px; font-weight:700; transition:color .2s ease; }
.hw-delivery__card:hover .hw-delivery__card-title, .hw-delivery__card:focus-visible .hw-delivery__card-title { color:#0f6f3c; }
.hw-delivery__text { display:block; color:#607996; font-size:13.5px; line-height:1.65; }
.hw-delivery__link { display:block; margin-top:auto; padding-top:18px; color:#138b4c; font-size:13px; font-weight:700; }
.hw-delivery__link i { margin-left:6px; transition:transform .2s ease; }
.hw-delivery__card:hover .hw-delivery__link i, .hw-delivery__card:focus-visible .hw-delivery__link i { transform:translateX(4px); }

/* ---------- responsive ---------- */
@media (max-width:900px) {
    .hw-exp__grid, .hw-sessions, .hw-testi__grid, .hw-svc-grid { grid-template-columns:1fr; }
    .hw-delivery__grid { grid-template-columns:1fr 1fr; }
    .hw-hero { min-height:560px; padding:72px 0 64px; }
    .hw-hero__content { min-height:424px; }
    .hw-hero__title { font-size:42px; }
    .hw-collage { grid-template-columns:1fr 1fr; }
    .hw-collage__tile--tall { grid-row:auto; grid-column:auto; }
    .hw-final__inner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:575px) {
    .hw-section .container { padding-left:20px; padding-right:20px; }
    .hw-hero__eyebrow { font-size:11px; line-height:1.6; border-radius:8px; padding:6px 12px; }
    .hw-hero { min-height:0; padding:58px 0 52px; background-position:62% center; }
    .hw-hero__content { min-height:0; }
    .hw-hero__title { font-size:30px; }
    .hw-hero__lead { font-size:15px; }
    .hw-head { margin-bottom:34px; }
    .hw-head__title, .hw-exp__title { font-size:28px; }
    .hw-head__lead { font-size:14px; }
    .hw-delivery { padding:60px 0 64px; }
    .hw-delivery__intro { align-items:flex-start; flex-direction:column; gap:28px; margin-bottom:34px; }
    .hw-delivery__title { font-size:30px; }
    .hw-delivery__lead { font-size:14px; }
    .hw-delivery__grid { grid-template-columns:1fr; gap:16px; }
    .hw-delivery__card { min-height:220px; padding:24px; }
    .hw-proof__inner { justify-content:center; }
    .hw-proof__viewport { flex-basis:100%; }
    .hw-proof__logo { width:calc((100vw - 84px) / 3); min-width:105px; }
    .hw-proof__logo img { max-height:38px; }
}
