/* jesselivingston.com — shared styles (cream/forest system) */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;padding:0;background:#F4EFE4;color:#122231;font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;}
a{color:inherit;text-decoration:none;}
::selection{background:#123A33;color:#F4EFE4;}
/* sticky footer: pin to bottom on short pages */
footer{margin-top:auto;}
/* align the nav column with the section content column (sections use a 40px outer gutter) */
header > div{max-width:1220px !important;}
/* offset in-page anchors (e.g. /#about) below the fixed nav */
section[id]{scroll-margin-top:84px;}

/* hover + active states */
.nl{transition:color .15s ease;}
.nl:hover{color:#16584A;}
.nl.active{color:#16584A;}
.btn-d{transition:background .15s ease;}
.btn-d:hover{background:#0d2a24 !important;}
.btn-o{transition:background .15s ease;}
.btn-o:hover{background:#FBF8F2;}
.btn-l{transition:background .15s ease;}
.btn-l:hover{background:#fff !important;}
.btn-ff{transition:background .15s ease,color .15s ease;}
.btn-ff:hover{background:#123A33 !important;color:#EDE7DA !important;}
.h-link{transition:color .15s ease;}
.h-link:hover{color:#0d2a24 !important;}
.card{transition:transform .15s ease,border-color .15s ease;}
.card:hover{transform:translateY(-3px);}
.card-cream:hover{border-color:#C9B99F !important;}
input:focus,textarea:focus{outline:none;border-color:#16584A;}

/* responsive */
@media(max-width:880px){
  header > div{padding:0 22px !important;}
  #navlinks .nl{display:none !important;}
  .hero-wrap{flex-direction:column !important;gap:40px !important;align-items:flex-start !important;}
  .hero-wrap > div{flex:1 1 auto !important;width:100%;}
  .avatar{width:240px !important;height:240px !important;}
  .avatar img{width:226px !important;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr !important;}
  .exp-row{flex-direction:column !important;gap:6px !important;}
  .exp-row > div:first-child{width:auto !important;}
  section{padding-left:22px !important;padding-right:22px !important;}
  h1{font-size:36px !important;}
  h2{font-size:30px !important;}
}
