:root{

  --forest:#1f5437;
  --forest-dark:#153b27;

  --sage:#8aa06f;
  --sage-light:#dce6d1;

  --cream:#f7f2e8;
  --cream-2:#fbf8f1;

  --ink:#182219;
  --muted:#5f685f;

  --line:
    rgba(
      24,
      34,
      25,
      .14
    );

  --soft-pill:#dfe8d2;
  --soft-pill-text:#274030;

  --warn-pill:#eadbb5;
  --warn-pill-text:#5f4e2c;

  --white:#ffffff;

}


/* =========================================================
   GLOBAL
   ========================================================= */

*{

  box-sizing:border-box;

}


html{

  scroll-behavior:smooth;

  overflow-x:hidden;

}


body{

  margin:0;

  min-height:100vh;

  overflow-x:hidden;

  position:relative;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  background:

    linear-gradient(

      180deg,

      var(--forest)
      0
      250px,

      var(--sage)
      250px
      100%

    );

  color:
    var(--ink);

}


a{

  color:inherit;

}


button,
input,
select{

  font:inherit;

}


/* =========================================================
   MAIN PAGE WRAPPER
   ========================================================= */

.shell{

  width:
    min(
      1120px,
      100%
    );

  margin:
    0 auto;

  padding:
    22px
    18px
    70px;

  position:relative;

  z-index:2;

}


/* =========================================================
   FIXED BACKGROUND MASCOT
   ========================================================= */

.mascot-bg{

  position:fixed;

  right:
    12px;

  bottom:
    0;

  width:
    min(
      27vw,
      330px
    );

  z-index:0;

  pointer-events:none;

  opacity:.48;

}


.mascot-bg img{

  display:block;

  width:100%;

  height:auto;

  object-fit:contain;

  filter:

    drop-shadow(

      0
      12px
      28px

      rgba(
        0,
        0,
        0,
        .10
      )

    );

}


/* =========================================================
   HEADER
   ========================================================= */

.top{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:16px;

  color:
    var(--cream);

  margin-bottom:14px;

  position:relative;

  z-index:3;

}


.logo{

  font-family:
    Georgia,
    serif;

  font-size:
    1.7rem;

  letter-spacing:
    -.03em;

  color:
    var(--cream);

}


.tagline{

  font-size:
    .72rem;

  letter-spacing:
    .18em;

  text-transform:
    uppercase;

  color:
    rgba(
      255,
      255,
      255,
      .88
    );

}


/* =========================================================
   NAV
   ========================================================= */

.nav{

  display:flex;

  gap:8px;

  flex-wrap:wrap;

  margin:
    12px
    0
    20px;

  position:relative;

  z-index:3;

}


.nav a{

  text-decoration:none;

  color:
    var(--cream);

  border:

    1px
    solid

    rgba(
      247,
      242,
      232,
      .35
    );

  background:

    rgba(
      247,
      242,
      232,
      .10
    );

  padding:
    9px
    13px;

  border-radius:
    999px;

  font-size:
    .82rem;

}


.nav a:hover{

  background:

    rgba(
      247,
      242,
      232,
      .18
    );

}


/* =========================================================
   SHARED CARDS
   ========================================================= */

.hero,
.card,
.filters-card,
.extension-card,
.claim,
.claim-row,
.empty,
.disclaimer-box{

  background:
    var(--cream-2);

  border:

    1px
    solid

    var(--line);

  border-radius:
    24px;

  box-shadow:

    0
    14px
    40px

    rgba(
      16,
      45,
      28,
      .10
    );

  position:relative;

  z-index:2;

}


.card{

  padding:
    18px;

}


/* =========================================================
   HERO
   ========================================================= */

.hero{

  padding:
    30px;

}


.eyebrow{

  font-size:
    .72rem;

  letter-spacing:
    .17em;

  text-transform:
    uppercase;

  color:
    #5b734f;

  font-weight:
    900;

}


.money-sparkles{

  font-size:
    1.05rem;

  letter-spacing:
    .28em;

  color:
    #6d8751;

}


/* =========================================================
   HEADINGS
   ========================================================= */

h1,
h2,
h3{

  font-family:
    Georgia,
    serif;

  font-weight:
    500;

  letter-spacing:
    -.035em;

  margin:
    .35rem
    0
    .65rem;

  color:
    var(--ink);

}


h1{

  font-size:

    clamp(

      2.7rem,

      7vw,

      5.2rem

    );

  line-height:
    .94;

  max-width:
    850px;

}


h2{

  font-size:
    2rem;

}


h3{

  font-size:
    1.35rem;

}


.lede{

  color:
    var(--muted);

  line-height:
    1.55;

  max-width:
    760px;

}


.small{

  font-size:
    .82rem;

  color:
    var(--muted);

  line-height:
    1.45;

}


/* =========================================================
   DASHBOARD STATS
   ========================================================= */

.stats{

  display:grid;

  grid-template-columns:

    repeat(
      4,
      1fr
    );

  gap:
    10px;

  margin-top:
    20px;

}


.stat{

  background:
    #eef1e8;

  border-radius:
    18px;

  padding:
    16px;

  min-height:
    90px;

}


.stat strong{

  display:block;

  font:

    500
    1.9rem
    Georgia,
    serif;

  color:
    var(--ink);

}


.stat span{

  font-size:
    .78rem;

  color:
    var(--muted);

  line-height:
    1.25;

}


/* =========================================================
   SECTION HEADERS
   ========================================================= */

.section-head{

  display:flex;

  align-items:end;

  justify-content:space-between;

  gap:
    18px;

  margin:
    28px
    0
    12px;

  position:relative;

  z-index:2;

}


.section-head h2{

  margin:0;

  color:
    var(--cream);

}


.section-head .eyebrow{

  color:
    #e5eedf;

}


/* =========================================================
   CLAIM GRID
   ========================================================= */

.grid{

  display:grid;

  grid-template-columns:

    repeat(

      2,

      minmax(
        0,
        1fr
      )

    );

  gap:
    14px;

  position:relative;

  z-index:2;

}


.claim{

  padding:
    20px;

  display:flex;

  flex-direction:column;

  gap:
    14px;

}


.claim-top{

  display:flex;

  justify-content:space-between;

  gap:
    14px;

}


.amount{

  font-family:
    Georgia,
    serif;

  font-size:
    1.45rem;

  text-align:right;

  max-width:
    180px;

  color:
    var(--ink);

}


.amount small{

  display:block;

  font:

    700
    .67rem
    Inter,
    sans-serif;

  color:
    var(--muted);

  text-transform:
    uppercase;

  letter-spacing:
    .08em;

  margin-top:
    4px;

}


/* =========================================================
   BADGES
   ========================================================= */

.pills{

  display:flex;

  gap:
    7px;

  flex-wrap:
    wrap;

}


.pill{

  font-size:
    .68rem;

  font-weight:
    900;

  letter-spacing:
    .045em;

  text-transform:
    uppercase;

  padding:
    7px
    10px;

  border-radius:
    999px;

  line-height:
    1.2;

}


.pill.good{

  background:
    var(--soft-pill);

  color:
    var(--soft-pill-text);

}


.pill.warn{

  background:
    var(--warn-pill);

  color:
    var(--warn-pill-text);

}


.pill.dark{

  background:
    #d6ddd1;

  color:
    #294132;

}


.pill.soft{

  background:
    #ece8df;

  color:
    #5f5a51;

}


/* =========================================================
   BUTTONS
   ========================================================= */

.button,
button{

  border:0;

  border-radius:
    14px;

  padding:
    12px
    16px;

  background:
    var(--forest);

  color:
    var(--cream);

  font-weight:
    850;

  text-decoration:none;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  cursor:pointer;

}


.button:hover,
button:hover{

  opacity:.95;

}


.button.secondary{

  background:
    #e8ebe3;

  color:
    var(--ink);

}


.button.ghost{

  background:
    transparent;

  border:

    1px
    solid

    var(--line);

  color:
    var(--ink);

}


.actions{

  display:flex;

  gap:
    9px;

  flex-wrap:
    wrap;

  margin-top:auto;

}


.actions .button{

  flex:1;

}


/* =========================================================
   NOTICES
   ========================================================= */

.notice{

  background:
    #edf2e8;

  border-radius:
    16px;

  padding:
    13px
    14px;

  color:
    #566156;

  font-size:
    .88rem;

  line-height:
    1.45;

}


.notice.warn{

  background:
    #f2e7d7;

  color:
    #71523a;

}


.notice.fun{

  background:
    #e5edd8;

  color:
    #355032;

}


/* =========================================================
   DISCOVER FILTERS
   ========================================================= */

.filter-checks{

  display:flex;

  gap:
    14px;

  flex-wrap:
    wrap;

  flex:1;

}


.check{

  display:flex;

  align-items:center;

  gap:
    7px;

  font-size:
    .93rem;

  font-weight:
    700;

  cursor:pointer;

  color:
    var(--cream);

}


.check input{

  width:
    17px;

  height:
    17px;

  accent-color:
    #f1f5eb;

}


.sort-wrap{

  display:flex;

  align-items:center;

  gap:
    8px;

  font-size:
    .83rem;

  font-weight:
    800;

  color:
    var(--cream);

}


.sort-wrap label{

  color:
    var(--cream);

}


.sort-wrap select{

  border:

    1px
    solid

    rgba(
      255,
      255,
      255,
      .45
    );

  background:
    #fff;

  border-radius:
    10px;

  padding:
    8px
    10px;

  color:
    var(--ink);

}


/* =========================================================
   DARK AREA TEXT
   ========================================================= */

.on-dark,
.on-dark p,
.on-dark label,
.on-dark span,
.on-dark .eyebrow,
.on-dark .lede{

  color:
    var(--cream)
    !important;

}


/* =========================================================
   EMPTY STATES
   ========================================================= */

.empty{

  display:grid;

  grid-template-columns:

    minmax(
      150px,
      220px
    )

    1fr;

  align-items:center;

  gap:
    20px;

  padding:
    24px;

}


.empty img{

  display:block;

  width:100%;

  max-width:
    180px;

  height:auto;

  margin:auto;

  object-fit:contain;

}


/* =========================================================
   MY CLAIMS
   ========================================================= */

.claim-list{

  display:grid;

  gap:
    12px;

}


.claim-row{

  padding:
    18px;

  display:grid;

  grid-template-columns:

    minmax(
      0,
      1.4fr
    )

    minmax(
      180px,
      .7fr
    )

    minmax(
      170px,
      .7fr
    );

  gap:
    18px;

  align-items:center;

}


.status-title{

  font-weight:
    900;

  color:
    var(--ink);

}


.status-sub{

  font-size:
    .78rem;

  color:
    var(--muted);

  margin-top:
    3px;

}


/* =========================================================
   AUTOFILL CARD
   ========================================================= */

.extension-card{

  padding:
    24px;

  margin-top:
    22px;

}


.extension-card .eyebrow,
.extension-card h2{

  color:
    var(--ink);

}


.extension-card .lede{

  color:
    var(--muted);

}


/* =========================================================
   FAQ
   ========================================================= */

.faq-list{

  display:grid;

  gap:
    10px;

  margin-top:
    18px;

}


details{

  background:
    var(--cream-2);

  border:

    1px
    solid

    var(--line);

  border-radius:
    18px;

  padding:
    14px
    16px;

}


summary{

  font-weight:
    850;

  cursor:pointer;

}


details p{

  color:
    var(--muted);

  line-height:
    1.55;

}


/* =========================================================
   DISCLAIMER
   ========================================================= */

.disclaimer-box{

  padding:
    24px;

}


.disclaimer-box h3{

  margin-top:
    18px;

}


/* =========================================================
   FOOTER
   ========================================================= */

.footer{

  margin-top:
    30px;

  padding:
    20px
    4px;

  color:
    #eef3e9;

  font-size:
    .78rem;

  display:flex;

  justify-content:
    space-between;

  gap:
    14px;

  flex-wrap:
    wrap;

  position:relative;

  z-index:2;

}


.footer a{

  color:
    #eef3e9;

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(
  max-width:
  760px
){

  body{

    background:

      linear-gradient(

        180deg,

        var(--forest)
        0
        200px,

        var(--sage)
        200px
        100%

      );

  }


  .shell{

    padding:

      14px
      12px
      88px;

  }


  .top{

    align-items:
      flex-start;

  }


  .tagline{

    display:none;

  }


  /* ---------------------------
     Fixed mascot on mobile
     --------------------------- */

  .mascot-bg{

    right:
      -12px;

    bottom:
      62px;

    width:

      min(
        48vw,
        205px
      );

    opacity:
      .08;

  }


  /* ---------------------------
     Bottom navigation
     --------------------------- */

  .nav{

    position:fixed;

    bottom:0;
    left:0;
    right:0;

    z-index:20;

    margin:0;

    padding:

      8px
      8px
      12px;

    background:

      rgba(
        21,
        59,
        39,
        .96
      );

    backdrop-filter:
      blur(8px);

    justify-content:
      space-around;

  }


  .nav a{

    font-size:
      .7rem;

    padding:
      8px
      7px;

    border:0;

    background:
      transparent;

  }


  /* ---------------------------
     Hero
     --------------------------- */

  .hero{

    padding:
      20px;

  }


  h1{

    font-size:

      clamp(
        2.5rem,
        13vw,
        4.1rem
      );

  }


  /* ---------------------------
     Stats
     --------------------------- */

  .stats{

    grid-template-columns:

      repeat(
        2,
        1fr
      );

  }


  /* ---------------------------
     Claims
     --------------------------- */

  .grid{

    grid-template-columns:
      1fr;

  }


  .claim-top{

    flex-direction:
      column;

  }


  .amount{

    text-align:left;

    max-width:none;

  }


  .claim-row{

    grid-template-columns:
      1fr;

    gap:
      10px;

  }


  /* ---------------------------
     Filters
     --------------------------- */

  .filter-checks{

    display:grid;

    grid-template-columns:
      1fr;

    width:
      100%;

  }


  .check{

    color:
      var(--cream);

    font-size:
      .88rem;

  }


  .sort-wrap{

    width:
      100%;

    flex-wrap:
      wrap;

  }


  .sort-wrap select{

    flex:1;

  }


  /* ---------------------------
     Empty state
     --------------------------- */

  .empty{

    grid-template-columns:
      1fr;

    text-align:center;

  }


  .empty img{

    width:
      150px;

  }
.discover-mascot-wrap{
  margin-top:10px;
  margin-bottom:14px;
}

.discover-mascot{
  display:block;
  width:30px;
  height:auto;
  opacity:.9;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}

@media(max-width:760px){
  .discover-mascot{
    width:30px;
  }
}
}/* tiny mascot under Discover heading */
/* =========================================
   DISCOVER HEADER + MINI GOBLIN
   ========================================= */

.discover-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;

  margin:28px 0 18px;

  min-height:120px;
}

.discover-heading-copy{
  flex:1;
}

.discover-heading-copy h2{
  margin:4px 0 0;

  color:var(--cream);

  font-size:clamp(
    2rem,
    4vw,
    3rem
  );
}

.discover-mascot-wrap{
  width:160px;

  display:flex;
  align-items:center;
  justify-content:center;

  flex-shrink:0;
}

.discover-mascot{
  display:block !important;

  width:130px !important;
  max-width:130px !important;

  height:auto !important;

  margin:0 !important;

  opacity:.95;

  object-fit:contain;

  filter:drop-shadow(
    0 8px 18px rgba(0,0,0,.15)
  );
}


/* =========================================
   DISCOVER MOBILE
   ========================================= */

@media(max-width:760px){

  .discover-heading-row{
    min-height:90px;

    gap:10px;

    margin:18px 0 14px;
  }

  .discover-heading-copy h2{
    font-size:2rem;
  }

  .discover-mascot-wrap{
    width:80px;
  }

  .discover-mascot{
    width:65px !important;
    max-width:65px !important;
  }

}