/* ==========================================================================
   WageMaply v2 — visual layer (append-only, 2026-10-24)
   Pure CSS + inline SVG background. No new image requests, no JS logic
   changes. Calculator math, texts, SEO meta, ad slots and URLs untouched.
   Per-page accent (set via <body> class):
     salary    = money green  #0d9d6c
     etsy      = coral rose   #e11d48
     freelance = indigo       #4f46e5
     overtime  = amber        #d97706
     default   = brand green -> indigo gradient
   ========================================================================== */

/* ---------- per-page accent tokens ---------- */
body{ --page:#0d9d6c; --page-soft:#dcf5e9; --page-grad:linear-gradient(135deg,#0d9d6c 0%,#14b8a6 55%,#4f46e5 130%); }
body.p-salary{ --page:#0d9d6c; --page-soft:#dcf5e9; --page-grad:linear-gradient(135deg,#0d9d6c,#14b8a6); }
body.p-etsy{ --page:#e11d48; --page-soft:#ffe4e6; --page-grad:linear-gradient(135deg,#e11d48,#fb7185); }
body.p-freelance{ --page:#4f46e5; --page-soft:#e6e6fb; --page-grad:linear-gradient(135deg,#4f46e5,#8b85ff); }
body.p-overtime{ --page:#d97706; --page-soft:#fef3c7; --page-grad:linear-gradient(135deg,#d97706,#f59e0b); }
[data-theme="dark"] body.p-salary{ --page:#2dd4a0; --page-soft:#0f2c24; }
[data-theme="dark"] body.p-etsy{ --page:#fb7185; --page-soft:#3a1220; }
[data-theme="dark"] body.p-freelance{ --page:#8b85ff; --page-soft:#1b1c4a; }
[data-theme="dark"] body.p-overtime{ --page:#fbbf24; --page-soft:#3a2a08; }
[data-theme="dark"] body{ --page:#2dd4a0; --page-soft:#0f2c24; }

/* ---------- immersive finance background (fixed, behind content) ---------- */
.fx-bg{ position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.fx-blob{ position:absolute; border-radius:50%; filter:blur(70px); will-change:transform; }
.fx-blob-a{ width:60vw; height:60vw; min-width:340px; min-height:340px; top:-18vw; right:-12vw;
  background:radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--page) 34%, transparent), transparent 68%); opacity:.55; }
.fx-blob-b{ width:52vw; height:52vw; min-width:300px; min-height:300px; bottom:-16vw; left:-14vw;
  background:radial-gradient(circle at 60% 40%, color-mix(in srgb, var(--page) 26%, transparent), transparent 68%); opacity:.45; }
[data-theme="dark"] .fx-blob-a{ opacity:.38; }
[data-theme="dark"] .fx-blob-b{ opacity:.30; }

.fx-parallax{ position:absolute; inset:0; will-change:transform; }
.fx-el{ position:absolute; color:var(--page); opacity:.14; animation:fx-float 11s ease-in-out infinite alternate; }
[data-theme="dark"] .fx-el{ opacity:.20; }
.fx-el svg{ display:block; width:100%; height:100%; overflow:visible; }
@keyframes fx-float{
  from{ transform:translateY(-10px) rotate(-2deg); }
  to{ transform:translateY(14px) rotate(3deg); }
}
/* floating finance motifs — positions tuned mobile-first, no overflow */
.fx-coin{ width:150px; height:150px; top:9%; right:-18px; animation-duration:12s; }
.fx-coin-sm{ width:64px; height:64px; top:64%; left:4%; animation-duration:9s; animation-delay:-3s; }
.fx-bars{ width:170px; height:120px; top:38%; left:-14px; animation-duration:13s; animation-delay:-5s; }
.fx-line{ width:220px; height:110px; top:22%; left:52%; animation-duration:10s; animation-delay:-2s; }
.fx-bill{ width:180px; height:100px; bottom:12%; right:2%; animation-duration:14s; animation-delay:-7s; }
.fx-keys{ width:120px; height:120px; bottom:26%; left:8%; animation-duration:11s; animation-delay:-4s; }
.fx-pct{ width:90px; height:90px; top:56%; right:10%; animation-duration:10s; animation-delay:-6s; font-family:var(--font-head); }
@media(max-width:640px){
  .fx-coin{ width:104px; height:104px; top:11%; }
  .fx-bars{ width:120px; height:84px; }
  .fx-line{ width:150px; height:76px; left:44%; }
  .fx-bill,.fx-keys,.fx-pct{ display:none; }
  .fx-blob{ filter:blur(56px); }
}

/* ---------- stacking: content floats above the background ---------- */
main, footer{ position:relative; z-index:1; }

/* ---------- glass panels (calculators, cards, info panels) ---------- */
.panel, .tool-card{
  background:color-mix(in srgb, var(--surface) 76%, transparent);
  -webkit-backdrop-filter:blur(18px) saturate(1.25);
  backdrop-filter:blur(18px) saturate(1.25);
  border:1px solid color-mix(in srgb, var(--border) 65%, transparent);
  box-shadow:0 18px 44px rgba(15,27,45,.10);
}
[data-theme="dark"] .panel, [data-theme="dark"] .tool-card{
  background:color-mix(in srgb, var(--surface) 72%, transparent);
  box-shadow:0 18px 44px rgba(0,0,0,.40);
}
.howto{
  background:color-mix(in srgb, var(--page-soft) 72%, transparent);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border:1px solid color-mix(in srgb, var(--page) 22%, transparent);
}

/* ---------- hero: reference-style giant headline + glass stat chips ---------- */
.hero{ padding:96px 0 72px; background:none; }
.hero h1{ font-size:clamp(2.6rem,8vw,4.6rem); letter-spacing:-.03em; max-width:20ch; }
.hero p.lead{ font-size:clamp(1.05rem,2.4vw,1.3rem); }
.hero-stats div{
  background:color-mix(in srgb, var(--surface) 70%, transparent);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border:1px solid color-mix(in srgb, var(--border) 65%, transparent);
  border-radius:16px; padding:14px 20px 12px; box-shadow:0 10px 26px rgba(15,27,45,.08);
}
.hero-stats{ gap:16px; }
.hero-stats div b{ color:var(--page); }
.btn-primary{ background:var(--page-grad); box-shadow:0 14px 30px color-mix(in srgb, var(--page) 38%, transparent); }
.btn-ghost{
  background:color-mix(in srgb, var(--surface) 70%, transparent);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

/* ---------- tool cards: per-calculator accent top bar ---------- */
.tool-card{ position:relative; overflow:hidden; }
.tool-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--page-grad); }
.tool-card:nth-child(1)::before{ background:linear-gradient(135deg,#0d9d6c,#14b8a6); }
.tool-card:nth-child(2)::before{ background:linear-gradient(135deg,#e11d48,#fb7185); }
.tool-card:nth-child(3)::before{ background:linear-gradient(135deg,#4f46e5,#8b85ff); }
.tool-card:nth-child(4)::before{ background:linear-gradient(135deg,#d97706,#f59e0b); }
.tool-card:nth-child(1) .go{ color:#0a7a54; }
.tool-card:nth-child(2) .go{ color:#be123c; }
.tool-card:nth-child(3) .go{ color:#4f46e5; }
.tool-card:nth-child(4) .go{ color:#b45309; }
[data-theme="dark"] .tool-card:nth-child(1) .go{ color:#2dd4a0; }
[data-theme="dark"] .tool-card:nth-child(2) .go{ color:#fb7185; }
[data-theme="dark"] .tool-card:nth-child(3) .go{ color:#8b85ff; }
[data-theme="dark"] .tool-card:nth-child(4) .go{ color:#fbbf24; }

/* ---------- calculator pages: accent applied to key visuals ---------- */
.calc-hero h1{ position:relative; padding-bottom:16px; }
.calc-hero h1::after{ content:""; position:absolute; left:0; bottom:0; width:72px; height:5px; border-radius:99px; background:var(--page-grad); }
.calc-hero .lead strong{ color:var(--page); }
.result-hero .big{ background:var(--page-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
input:focus, select:focus, textarea:focus{ border-color:var(--page); }
input[type=range]{ accent-color:var(--page); }
.seg button.on{ color:var(--page); }
.breakdown li.total .v{ color:var(--page); }
.faq-q::after{ color:var(--page); }
.brand-mark{ background:var(--page-grad); }
.main-nav a.active{ color:var(--page); background:var(--page-soft); }
[data-theme="dark"] .main-nav a.active{ color:var(--page); }

/* ---------- hero image: realistic finance visual, two-column on desktop ---------- */
.hero .wrap{ display:grid; grid-template-columns:1.05fr .95fr; column-gap:36px; align-items:center; }
.hero-kicker, .hero h1, .hero p.lead, .hero-cta, .hero-stats{ grid-column:1; }
.hero-media{ grid-column:2; grid-row:1 / span 5; margin:0; will-change:transform; }
.hero-media img{
  display:block; width:100%; height:auto; aspect-ratio:1 / 1.15; object-fit:cover; object-position:50% 42%;
  -webkit-mask-image:radial-gradient(ellipse 92% 92% at 50% 50%, #000 62%, transparent 99%);
  mask-image:radial-gradient(ellipse 92% 92% at 50% 50%, #000 62%, transparent 99%);
  animation:hero-float 7s ease-in-out infinite alternate;
}
@keyframes hero-float{ from{ transform:translateY(-8px); } to{ transform:translateY(10px); } }
[data-theme="dark"] .hero-media img{ filter:brightness(.92); }
@media(max-width:900px){
  .hero .wrap{ grid-template-columns:1fr; }
  .hero-kicker, .hero h1, .hero p.lead, .hero-cta, .hero-stats, .hero-media{ grid-column:1; }
  .hero-media{ grid-row:auto; max-width:430px; margin:6px auto 0; }
  .hero-media img{ aspect-ratio:16 / 11; object-position:50% 40%; }
}

/* ---------- reduced motion: background goes fully still ---------- */
@media (prefers-reduced-motion: reduce){
  .fx-el{ animation:none; }
  .hero-media img{ animation:none; }
  .float-card{ animation:none; }
  html{ scroll-behavior:auto; }
  .tool-card, .btn{ transition:none; }
}

/* ==========================================================================
   WageMaply hero-ref — full-bleed photo scene, reference layout (2026-10-24)
   Homepage only. Calculator pages, footer, ad slots, URLs, SEO untouched.
   ========================================================================== */
.hero-ref{ padding:0; background:none; }
.hero-ref .wrap{ display:block; }
.hero-scene{ position:absolute; left:0; right:0; top:-60px; bottom:0; overflow:hidden; }
.hero-scene img{ width:100%; height:100%; object-fit:cover; object-position:100% 50%; will-change:transform; }
.hero-veil{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 30%, rgba(255,255,255,.45) 55%, rgba(255,255,255,.10) 75%, rgba(255,255,255,0) 100%); }
.hero-ref .hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:32px; align-items:center; padding-top:96px; padding-bottom:72px; min-height:660px; }
.hero-ref h1{ font-size:clamp(2.4rem,4.8vw,3.7rem); line-height:1.05; letter-spacing:-.02em; color:#101828; max-width:none; }
.hero-ref h1 .grad{ background:linear-gradient(90deg,#2563eb,#0d9d6c); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-ref .hero-kicker{ background:rgba(255,255,255,.78); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.9); }
.hero-ref p.lead{ color:#3b4a5f; max-width:52ch; }
.hero-ref .btn-primary{ background:linear-gradient(135deg,#0d9d6c,#2563eb); box-shadow:0 14px 30px rgba(13,157,108,.35); }
.btn-glass{ background:rgba(255,255,255,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.9); color:#101828; box-shadow:0 10px 26px rgba(15,27,45,.12); }
.hero-ref .hero-stats{ gap:14px; }
.hero-ref .hero-stats div{ background:rgba(255,255,255,.80); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); display:flex; align-items:center; gap:10px; padding:12px 16px; }
.hero-ref .hero-stats div b{ font-size:1.25rem; line-height:1.1; }
.hs-ic{ font-size:1.15rem; line-height:1; }
.hs-tx{ display:flex; flex-direction:column; }
.hs-tx span{ font-size:.85rem; }

/* floating glass stat cards over the scene */
.hero-floats{ position:relative; min-height:520px; }
.float-card{ position:absolute; min-width:190px; color:#fff; background:linear-gradient(135deg, rgba(16,38,58,.58), rgba(16,38,58,.34)); -webkit-backdrop-filter:blur(16px) saturate(1.2); backdrop-filter:blur(16px) saturate(1.2); border:1px solid rgba(255,255,255,.38); border-radius:18px; padding:14px 18px 12px; box-shadow:0 20px 40px rgba(0,0,0,.25); animation:float-y 6s ease-in-out infinite alternate; }
.float-card .fc-label{ display:block; font-size:.8rem; opacity:.88; margin-bottom:2px; }
.float-card b{ display:block; font-family:var(--font-head); font-size:1.5rem; line-height:1.15; }
.fc-up{ display:inline-block; color:#4ade80; font-weight:700; font-size:.9rem; margin-top:2px; }
.hero-floats{ display:flex; gap:12px; align-items:flex-start; min-height:0; align-self:start; margin-top:8px; }
.float-card{ position:static; flex:1 1 0; min-width:0; padding:12px 14px 11px; }
.float-card .fc-label{ font-size:.75rem; }
.float-card b{ font-size:1.35rem; }
.fc-hourly{ animation-delay:-1s; }
.fc-takehome{ animation-delay:-3s; }
.fc-deduct{ animation-delay:-2s; }
.fc-row{ display:flex; align-items:center; gap:10px; margin-top:6px; }
@keyframes float-y{ from{ transform:translateY(-6px); } to{ transform:translateY(8px); } }
.mini-bars{ display:flex; align-items:flex-end; gap:3px; height:26px; margin-top:8px; }
.mini-bars i{ display:block; width:7px; height:var(--h); background:linear-gradient(180deg,#5eead4,#2563eb); border-radius:3px; }
.mini-donut{ flex:none; width:34px; height:34px; border-radius:50%; background:conic-gradient(#5eead4 0 22%, rgba(255,255,255,.28) 22% 100%); position:relative; }
.mini-donut::after{ content:""; position:absolute; inset:8px; border-radius:50%; background:#1d3149; }

/* tool cards with illustration */
.tool-img{ width:100%; height:150px; object-fit:cover; border-radius:12px; margin-bottom:6px; background:#f1f5f9; }
.tool-search{ max-width:420px; margin:0 0 18px; }
.tool-search input{ width:100%; padding:12px 16px; border-radius:12px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-size:1rem; font-family:inherit; }
.tool-card.hidden{ display:none; }
.search-toggle{ border:1px solid var(--border); background:var(--surface); color:var(--text); width:40px; height:40px; border-radius:12px; cursor:pointer; font-size:1.15rem; display:grid; place-items:center; margin-left:8px; }
.search-toggle:hover{ transform:scale(1.06); }

/* dark mode: darker veil so text still reads over the bright photo */
[data-theme="dark"] .hero-veil{ background:linear-gradient(100deg, rgba(8,15,26,.94) 0%, rgba(8,15,26,.82) 30%, rgba(8,15,26,.42) 55%, rgba(8,15,26,.12) 75%, rgba(8,15,26,0) 100%); }
[data-theme="dark"] .hero-ref h1{ color:#f1f5f9; }
[data-theme="dark"] .hero-ref p.lead{ color:#cbd5e1; }
[data-theme="dark"] .hero-ref .hero-kicker{ background:rgba(15,27,45,.6); }
[data-theme="dark"] .btn-glass{ background:rgba(15,27,45,.55); color:#f1f5f9; border-color:rgba(255,255,255,.25); }
[data-theme="dark"] .hero-ref .hero-stats div{ background:rgba(15,27,45,.55); }

.hero-banner{ display:none; }
@media(max-width:900px){
  /* Mobile hero: the SAME scene as desktop, as a BACKGROUND (not an <img> block),
     text on top, floating cards hidden. */
  .hero-ref{ background:none; }
  [data-theme="dark"] .hero-ref{ background:none; }
  .hero-ref .hero-scene{ display:block; top:0; bottom:0; }
  .hero-ref .hero-scene img{ object-position:75% 50%; transform:none !important; }
  .hero-ref .hero-veil{ display:block; background:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.93) 32%, rgba(255,255,255,.62) 58%, rgba(255,255,255,.28) 82%, rgba(255,255,255,.08) 100%); }
  [data-theme="dark"] .hero-ref .hero-veil{ background:linear-gradient(180deg, rgba(8,15,26,.97) 0%, rgba(8,15,26,.93) 32%, rgba(8,15,26,.62) 58%, rgba(8,15,26,.28) 82%, rgba(8,15,26,.08) 100%); }
  .hero-ref .hero-inner{ grid-template-columns:1fr; padding-top:56px; padding-bottom:48px; gap:28px; min-height:0; }
  .hero-ref .hero-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:470px; }
  .hero-ref .hero-stats div{ padding:10px 12px; }
  .hero-ref .hero-stats div b{ font-size:1.1rem; }
  .hs-tx span{ font-size:.78rem; }
  .hero-floats{ min-height:0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:0; align-self:auto; align-items:stretch; }
  .float-card{ position:static; animation:none; min-width:0; padding:10px 12px 9px; }
  .float-card .fc-label{ font-size:.65rem; }
  .float-card b{ font-size:1.02rem; }
  .mini-bars{ height:18px; margin-top:6px; }
  .mini-donut{ width:26px; height:26px; }
  .mini-donut::after{ inset:6px; }
  .hero-ref + .ad-slot{ margin:36px auto; }
  #tools{ padding-top:12px; }
  .hero-floats{ display:none; }
}
