/* Lucky Ledgers — shared styles */
html{scroll-behavior:smooth}
body{margin:0;background:#faf9f4;font-family:'Source Sans 3',sans-serif;color:#1c352a}
a{color:#2e5843;text-decoration:none}
input::placeholder,textarea::placeholder{color:#9aa89f}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes wipeIn{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}
@keyframes slideR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
@keyframes cloverIn{from{opacity:0;transform:rotate(-90deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}

/* Nav */
.navlink{color:#3c5548;padding-bottom:3px;background:linear-gradient(#c9a45c,#c9a45c) left bottom / 0% 2px no-repeat;transition:background-size .3s}
.navlink:hover{background-size:100% 2px;color:#3c5548}
.navlink.active{color:#14273a;background-size:100% 2px}

/* Buttons */
.btn-green{background:#2e7d46;color:#fff;border-radius:99px;font-weight:600;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.4,1)}
.btn-green:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(46,125,70,.34);background:#256a3a;color:#fff;gap:14px}
.btn-outline{border:1.5px solid #9db5a8;color:#14273a;border-radius:99px;font:600 15px 'Source Sans 3',sans-serif;transition:all .25s}
.btn-outline:hover{background:#14273a;color:#fff;border-color:#14273a}
.btn-gold{background:#c9a45c;color:#14273a;border-radius:99px;display:inline-flex;align-items:center;gap:9px;transition:all .25s cubic-bezier(.2,.8,.4,1)}
.btn-gold:hover{transform:translateY(-3px);background:#e0bd74;box-shadow:0 16px 34px rgba(0,0,0,.4);gap:15px;color:#14273a}

/* Links */
.arrow-link{display:inline-flex;align-items:center;gap:8px;color:#2e7d46;font:600 15px 'Source Sans 3',sans-serif;padding-bottom:3px;background:linear-gradient(#c9a45c,#c9a45c) left bottom / 0% 2.5px no-repeat;transition:background-size .35s,gap .25s}
.arrow-link:hover{background-size:100% 2.5px;gap:13px;color:#2e7d46}
.navy-link{color:#14273a;font:600 15px 'Source Sans 3',sans-serif;padding-bottom:3px;background:linear-gradient(#c9a45c,#c9a45c) left bottom / 0% 2.5px no-repeat;transition:background-size .35s;display:inline-flex;align-items:center;gap:7px}
.navy-link:hover{background-size:100% 2.5px;color:#14273a}
.footlink{color:#4a5c52;transition:color .2s}
.footlink:hover{color:#2e7d46}

/* Cards */
.card-lift{transition:all .35s cubic-bezier(.2,.8,.4,1)}
.card-lift:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(20,39,58,.12)}
.card-lift-sm{transition:all .3s}
.card-lift-sm:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,39,58,.12)}
.card-topline{background-image:linear-gradient(90deg,#c9a45c,#e0c88a);background-repeat:no-repeat;background-size:0% 3px;background-position:left top;transition:all .35s cubic-bezier(.2,.8,.4,1)}
.card-topline:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(20,39,58,.12);background-size:100% 3px}
.step-card{background:#fff;border:1px solid rgba(28,53,42,.08);border-radius:14px;padding:26px;height:100%;box-sizing:border-box;transition:all .35s cubic-bezier(.2,.8,.4,1)}
.step-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(20,39,58,.1);border-color:rgba(201,164,92,.5)}

/* Pills */
.pill{border:1px solid rgba(28,53,42,.18);color:#14273a;padding:8px 16px;border-radius:99px;font:500 13.5px 'Source Sans 3',sans-serif;transition:all .25s}
.pill:hover{background:#14273a;color:#fff;border-color:#14273a}
.area-pill{border:1px solid rgba(28,53,42,.14);color:#33473c;padding:7px 15px;border-radius:99px;font:500 13.5px 'Source Sans 3',sans-serif;background:#fff;transition:all .25s;cursor:default}
.area-pill:hover{border-color:#2e7d46;color:#2e7d46}
.area-pill-dark{border:1px solid rgba(243,239,228,.22);color:rgba(243,239,228,.85);padding:6px 13px;border-radius:99px;font:500 12.5px 'Source Sans 3',sans-serif;transition:all .25s;cursor:default}
.area-pill-dark:hover{border-color:#c9a45c;color:#c9a45c}

/* Form */
.field{border:1.5px solid rgba(28,53,42,.15);border-radius:10px;padding:13px 16px;font:400 15px 'Source Sans 3',sans-serif;color:#14273a;background:#fdfdfb;outline:none;transition:border-color .25s,box-shadow .25s}
.field:focus{border-color:#2e7d46;box-shadow:0 0 0 3px rgba(46,125,70,.12)}
.chip{border:1.5px solid rgba(28,53,42,.15);color:#33473c;padding:8px 16px;border-radius:99px;font:500 13.5px 'Source Sans 3',sans-serif;cursor:pointer;transition:all .2s;user-select:none}
.chip:hover{border-color:#2e7d46;color:#2e7d46}
.chip.on{background:#2e7d46;color:#fff;border-color:#2e7d46}

/* FAQ */
.faq-item{background:#fff;border:1px solid rgba(28,53,42,.09);border-radius:12px;overflow:hidden;transition:box-shadow .3s,border-color .3s}
.faq-item:hover{box-shadow:0 8px 24px rgba(20,39,58,.08);border-color:rgba(201,164,92,.5)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.8,.3,1)}
.faq-icon{width:26px;height:26px;border-radius:50%;background:rgba(46,125,70,.1);color:#2e7d46;display:flex;align-items:center;justify-content:center;font:500 17px sans-serif;flex:none;transition:transform .35s cubic-bezier(.2,.8,.4,1)}

/* Reveal — hidden start state only applies when JS is running (html.js), so content always shows without it */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}

@media (max-width:860px){
  [data-mq="navlinks"]{display:none !important}
  [data-mq="hamburger"]{display:flex !important}
  [data-mq="stack"]{grid-template-columns:1fr !important}
  [data-mq="stack2"]{grid-template-columns:1fr 1fr !important}
  [data-mq="h1"]{font-size:42px !important;line-height:1.12 !important}
  [data-mq="h2"]{font-size:32px !important}
  [data-mq="wrap"]{flex-wrap:wrap !important}
  [data-mq="slot"]{width:100% !important}
}
@media (max-width:560px){
  [data-mq="stack2"]{grid-template-columns:1fr !important}
  [data-mq="h1"]{font-size:34px !important}
  [data-mq="h2"]{font-size:28px !important}
}
