/* FinThots consolidated Offerings page */
.offx-page,
.offx-page button,
.offx-page input,
.offx-page select,
.offx-page textarea,
.offx-page summary { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.offx-page { color:#09213c; background:#fff; font-size:16px; font-weight:400; }
.offx-shell { width:min(1500px,calc(100% - 144px)); margin:0 auto; }
.offx-kicker { color:#f58220; font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.offx-title { font-size:clamp(30px,3vw,42px); font-weight:800; line-height:1.08; letter-spacing:-1.2px; }
.offx-copy { color:#617080; font-size:15px; line-height:1.65; }

.offx-hero {
  position:relative;
  min-height:560px;
  padding:128px 0 56px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background-image:linear-gradient(90deg,#002a36 0%,#003b49 56%,#00495a 100%);
  background-color:#003a48;
}
.offx-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(0,31,41,.97) 0%,rgba(0,31,41,.82) 42%,rgba(0,31,41,.32) 72%,rgba(0,31,41,.18) 100%); pointer-events:none; }
.offx-hero-art {
  position:absolute;
  top:50%;
  right:-2%;
  width:76%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:right center;
  transform:translateY(-50%);
  opacity:.34;
  pointer-events:none;
}
.offx-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr; align-items:center; }
.offx-hero .offx-kicker { display:inline-flex; align-items:center; gap:8px; color:#38BDF8; padding:6px 14px; border:1px solid rgba(14,165,233,.2); border-radius:20px; background:rgba(14,165,233,.1); font-size:11px; font-weight:700; letter-spacing:1.8px; }
.offx-hero .offx-kicker::before { content:""; width:7px; height:7px; border-radius:50%; background:#10B981; box-shadow:none; animation:pulse 2s infinite; }
.offx-hero h1 { color:#fff; font-size:clamp(38px,4.2vw,50px); font-weight:800; line-height:1.04; letter-spacing:-2px; margin:16px 0 20px; max-width:650px; }
.offx-hero h1 span { color:#f58220; }
.offx-hero p { color:rgba(255,255,255,.74); font-size:16px; line-height:1.72; max-width:630px; }
.offx-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.offx-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 22px; border-radius:7px; font-size:15px; font-weight:700; transition:transform .18s,background .2s,border-color .2s; }
.offx-btn:hover { transform:translateY(-2px); }
.offx-btn-primary { color:#fff; background:#f58220; border:1px solid #f58220; }
.offx-btn-primary:hover { background:#df6f14; }
.offx-btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.04); }
.offx-btn-ghost:hover { border-color:#19c7d4; background:rgba(25,199,212,.10); }

.offx-toolkit { padding:80px 0 84px; background:#fff; }
.offx-toolkit-head { max-width:1050px; margin-bottom:30px; }
.offx-toolkit-head .offx-kicker { color:#ef7300; font-size:20px; font-weight:600; letter-spacing:0; text-transform:none; margin-bottom:24px; }
.offx-toolkit-head .offx-title { margin-bottom:8px; font-size:clamp(34px,3.2vw,46px); color:#050505; letter-spacing:-1.5px; }
.offx-toolkit-head .offx-copy { color:#202020; font-size:18px; line-height:1.5; max-width:1020px; }
.offx-toolkit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:stretch; }
.offx-tool-card { min-width:0; min-height:176px; padding:24px 20px; border:1px solid #dfe8ea; border-radius:7px; background:#fff; box-shadow:0 5px 16px rgba(5,46,60,.07); transition:transform .2s,box-shadow .2s,border-color .2s; display:grid; grid-template-columns:58px minmax(0,1fr); align-items:start; gap:16px; text-decoration:none; overflow:hidden; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.offx-tool-card:hover { transform:translateY(-4px); border-color:rgba(25,199,212,.55); box-shadow:0 14px 30px rgba(5,46,60,.12); }
.offx-tool-visual { width:58px; height:58px; min-width:58px; display:flex; align-items:center; justify-content:center; align-self:start; transform:translateY(-5px); border-radius:12px; overflow:hidden; }
.offx-tool-visual img { display:block; width:58px; height:58px; max-width:100%; object-fit:cover; }
.offx-tool-copy { min-width:0; width:100%; position:relative; }
.offx-tool-card h3 { color:#0b263f; font-size:15.5px; font-weight:800; line-height:1.3; margin:1px 0 8px; overflow-wrap:anywhere; }
.offx-tool-card p { color:#657483; font-size:14.5px; font-weight:400; line-height:1.58; margin:0; }

.offx-details { padding:86px 0 92px; color:#fff; background:radial-gradient(circle at 7% 10%,rgba(14,148,158,.16),transparent 26%),radial-gradient(circle at 94% 88%,rgba(14,148,158,.12),transparent 24%),linear-gradient(135deg,#002f38 0%,#003841 48%,#002d36 100%); overflow:hidden; }
.offx-details-head { margin-bottom:38px; }
.offx-details .offx-title { color:#fff; }
.offx-details .offx-copy { color:rgba(255,255,255,.68); }
.offx-offering { box-sizing:border-box; display:grid; grid-template-columns:minmax(370px,.82fr) minmax(520px,1.18fr); align-items:start; gap:44px; padding:38px; margin-bottom:30px; border:1px solid rgba(31,184,191,.26); border-radius:20px; background:linear-gradient(145deg,rgba(0,45,54,.72),rgba(0,40,49,.88)); box-shadow:0 22px 55px rgba(0,18,23,.22),inset 0 1px 0 rgba(255,255,255,.025); }
.offx-offering:last-child { margin-bottom:0; }
.offx-offering-intro { min-width:0; padding:4px 4px 0; display:flex; flex-direction:column; align-self:start; }
.offx-offering-num { width:max-content; color:#f58220; font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; padding:8px 17px; border:1px solid rgba(245,130,32,.48); border-radius:999px; }
.offx-offering-intro h3 { color:#fff; font-size:clamp(30px,3vw,42px); line-height:1.04; letter-spacing:-1.2px; margin:18px 0 12px; max-width:480px; }
.offx-offering-intro > p { color:rgba(255,255,255,.7); font-size:15px; line-height:1.58; max-width:490px; }
.offx-offering-intro .offx-btn { align-self:flex-start; min-width:162px; min-height:44px; }
.offx-offering-art { width:100%; height:235px; object-fit:contain; object-position:center bottom; margin:8px 0 -4px; filter:drop-shadow(0 18px 24px rgba(0,0,0,.18)); }
.offx-proof { min-height:96px; margin-top:18px; padding:17px 18px 17px 84px; border:1px solid rgba(31,184,191,.34); border-radius:12px; background:rgba(3,61,69,.58); position:relative; display:flex; flex-direction:column; justify-content:center; }
.offx-proof::before { content:"↗"; position:absolute; left:18px; top:50%; width:48px; height:48px; transform:translateY(-50%); display:grid; place-items:center; border:1px solid #0ba7b0; border-radius:50%; color:#f58220; font-size:24px; }
.offx-proof strong { display:block; color:#f58220; font-size:11px; letter-spacing:1.25px; text-transform:uppercase; margin-bottom:5px; }
.offx-proof span { color:rgba(255,255,255,.8); font-size:13px; line-height:1.5; }
.offx-accordion { display:grid; align-content:start; gap:13px; padding:28px; border:1px solid rgba(31,184,191,.3); border-radius:18px; background:rgba(0,41,49,.5); }
.offx-accordion details { border:1px solid rgba(31,184,191,.3); border-radius:12px; background:linear-gradient(135deg,rgba(0,58,66,.82),rgba(0,48,57,.86)); overflow:hidden; }
.offx-accordion summary { min-height:72px; padding:0 58px 0 82px; display:flex; align-items:center; justify-content:space-between; gap:16px; color:#f4ffff; font-size:16px; font-weight:700; cursor:pointer; list-style:none; position:relative; }
.offx-accordion summary::-webkit-details-marker { display:none; }
.offx-accordion summary::before { content:"✦"; position:absolute; left:18px; top:50%; width:42px; height:42px; transform:translateY(-50%); display:grid; place-items:center; border:1px solid #0aa6af; border-radius:50%; color:#f58220; font-size:17px; }
.offx-accordion details:nth-child(2n) summary::before { content:"▣"; }
.offx-accordion details:nth-child(3n) summary::before { content:"◇"; }
.offx-accordion summary::after { content:"+"; position:absolute; right:20px; color:#fff; font-size:27px; font-weight:300; }
.offx-accordion details[open] { border-color:rgba(31,184,191,.5); background:linear-gradient(135deg,rgba(0,64,73,.95),rgba(0,51,60,.94)); box-shadow:0 9px 24px rgba(0,18,23,.16); }
.offx-accordion details[open] summary { color:#6be1e7; border-bottom:1px solid rgba(92,200,208,.14); }
.offx-accordion details[open] summary::after { transform:rotate(45deg); }
.offx-answer { padding:18px 24px 20px 82px; box-sizing:border-box; }
.offx-answer p { color:rgba(255,255,255,.72); font-size:14.5px; line-height:1.62; }
.offx-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:11px; }
.offx-tags span { padding:5px 8px; border:1px solid rgba(92,200,208,.24); border-radius:5px; color:#bdeff1; background:rgba(92,200,208,.06); font-size:11px; font-weight:600; }

.offx-process { padding:80px 0 84px; background:#fff; overflow:hidden; }
.offx-process-head { max-width:760px; margin-bottom:38px; }
.offx-process-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; position:relative; }
.offx-process-grid::before { content:""; position:absolute; left:8%; right:8%; top:23px; height:2px; background:linear-gradient(90deg,#0789ee,#19b7aa,#f58220,#09213c); opacity:.45; }
.offx-step { position:relative; z-index:1; padding:0 10px 16px; text-align:center; }
.offx-step-num { width:46px; height:46px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:var(--step); box-shadow:0 0 0 6px #fff,0 8px 18px rgba(5,46,60,.18); font-size:13px; font-weight:800; }
.offx-step img { width:100%; height:104px; object-fit:contain; margin-bottom:8px; }
.offx-step h3 { color:#0b263f; font-size:16px; margin-bottom:7px; }
.offx-step p { color:#687784; font-size:14.5px; line-height:1.62; }

.offx-cta { padding:48px 0; background:linear-gradient(135deg,#e8f8f6,#dff5f4); border-top:1px solid #d3ecea; overflow:hidden; }
.offx-cta-grid { display:grid; grid-template-columns:minmax(180px,280px) minmax(360px,1fr) minmax(180px,280px); gap:30px; align-items:center; }
.offx-cta-art { width:100%; height:230px; object-fit:contain; transform:scale(1.28); }
.offx-cta-content { text-align:center; }
.offx-cta h2 { color:#0b263f; font-size:clamp(26px,3vw,38px); line-height:1.1; margin-bottom:9px; }
.offx-cta p { color:#5d6d79; font-size:14.5px; line-height:1.62; max-width:640px; margin:0 auto; }
.offx-cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:22px; }
.offx-cta .offx-btn-ghost { color:#063c43; border-color:#0f7c82; background:transparent; }

@media(min-width:1025px) {
  .offx-hero-art {
    top:56px;
    right:2%;
    width:68%;
    height:calc(100% - 96px);
    transform:none;
    object-position:right center;
    opacity:1;
  }
}

@media(max-width:1024px) {
  .offx-shell { width:min(1500px,calc(100% - 48px)); }
  .offx-hero-grid { grid-template-columns:1fr; }
  .offx-toolkit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .offx-tool-card:nth-child(n) { grid-template-columns:58px minmax(0,1fr); }
  .offx-offering { grid-template-columns:1fr; gap:28px; padding:30px; }
  .offx-offering-art { height:260px; }
  .offx-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; }
  .offx-process-grid::before { display:none; }
  .offx-cta-grid { grid-template-columns:minmax(145px,190px) minmax(320px,1fr) minmax(145px,190px); gap:18px; }
  .offx-cta-art { height:190px; transform:scale(1.24); }
}
@media(max-width:760px) {
  .offx-shell { width:min(1500px,calc(100% - 48px)); }
  .offx-hero { min-height:520px; padding:104px 0 72px; align-items:center; }
  .offx-hero-art { top:50%; right:-18%; bottom:auto; width:125%; height:112%; object-position:center; transform:translateY(-50%); opacity:.21; }
  .offx-hero-grid { grid-template-columns:1fr; text-align:left; }
  .offx-hero h1,.offx-hero p { margin-left:0; margin-right:0; }
  .offx-hero-actions { justify-content:flex-start; }
  .offx-toolkit,.offx-details,.offx-process { padding:56px 0; }
  .offx-toolkit-grid { grid-template-columns:1fr; }
  .offx-toolkit-head .offx-kicker { font-size:17px; margin-bottom:16px; }
  .offx-toolkit-head .offx-copy { font-size:15px; }
  .offx-tool-card:nth-child(n) { min-height:0; padding:20px; grid-template-columns:54px minmax(0,1fr); gap:14px; }
  .offx-tool-visual { width:54px; height:54px; min-width:54px; }
  .offx-tool-visual img { width:54px; height:54px; }
  .offx-tool-card h3 { font-size:15.5px; }
  .offx-tool-card p { font-size:14.5px; }
  .offx-offering { grid-template-columns:1fr; gap:10px; padding:18px; }
  .offx-offering-intro { padding:8px 2px; }
  .offx-offering-art { height:210px; margin-top:12px; }
  .offx-proof { min-height:88px; padding:15px 14px 15px 72px; }
  .offx-proof::before { left:14px; width:42px; height:42px; }
  .offx-accordion { padding:14px; gap:10px; border-radius:14px; }
  .offx-accordion summary { min-height:64px; padding:0 48px 0 62px; font-size:14px; }
  .offx-accordion summary::before { left:10px; width:36px; height:36px; }
  .offx-accordion summary::after { right:14px; }
  .offx-answer { padding:16px 14px 18px 62px; }
  .offx-process-grid { grid-template-columns:1fr; }
  .offx-step { display:grid; grid-template-columns:1fr; gap:10px; justify-items:center; text-align:center; align-items:center; padding:0 0 24px; }
  .offx-step-num { margin:0 auto; }
  .offx-step img { width:100%; max-width:180px; height:125px; margin:0; }
  .offx-step > div:last-child { max-width:320px; }
  .offx-cta { padding:42px 0; }
  .offx-cta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; text-align:center; }
  .offx-cta-content { grid-column:1 / -1; grid-row:1; }
  .offx-cta-art { width:100%; height:170px; margin:0 auto; transform:scale(1.18); }
  .offx-cta-art-left { grid-column:1; grid-row:2; }
  .offx-cta-art-right { grid-column:2; grid-row:2; }
  .offx-cta-actions { justify-content:center; }
}
@media(max-width:480px) {
  .offx-shell { width:min(1500px,calc(100% - 36px)); }
  .offx-hero { min-height:500px; padding-bottom:64px; }
  .offx-hero-art { height:108%; }
  .offx-hero h1 { font-size:36px; }
  .offx-tool-card:nth-child(n) { grid-template-columns:48px minmax(0,1fr); padding:18px 16px; gap:12px; }
  .offx-tool-visual { width:48px; height:48px; min-width:48px; }
  .offx-tool-visual img { width:48px; height:48px; }
  .offx-offering-intro h3 { font-size:23px; }
  .offx-offering-art { height:180px; }
  .offx-accordion summary { font-size:13px; }
  .offx-step { grid-template-columns:1fr; gap:10px; }
  .offx-step-num { width:40px; height:40px; }
  .offx-step img { max-width:160px; height:110px; }
  .offx-cta-actions,.offx-btn { width:100%; }
}
