/* Eden and Dane — /resources. Uses sitewide tokens only. */

.res-eyebrow{font-family:var(--sans,sans-serif);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sage,#8a9a7b);margin:0 0 14px}
.res-eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.res-eyebrow a:hover{border-bottom-color:var(--clay,#b8755a)}

/* ---- hub ---- */
.res-hero{max-width:760px;margin:0 auto;padding:150px 28px 42px;text-align:center}
.res-hero__title{font-family:var(--display,Georgia,serif);font-weight:300;
  font-size:clamp(34px,5.4vw,58px);line-height:1.08;color:var(--moss,#2b3a2a);margin:0 0 20px}
.res-hero__intro{font-family:var(--sans,sans-serif);font-size:15px;line-height:1.75;
  color:var(--ink,#1a1f18);opacity:.82;margin:0}

.res-grid-wrap{max-width:1180px;margin:0 auto;padding:20px 28px 110px}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:34px 26px}

.res-card{display:block;text-decoration:none;color:inherit}
.res-card__shot{border-radius:var(--radius-md,18px);overflow:hidden;
  background:var(--cream,#ebe3d3);border:1px solid var(--nav-border,rgba(43,58,42,.1));
  aspect-ratio:900/1165;margin-bottom:16px}
.res-card__shot img{width:100%;height:100%;object-fit:cover;object-position:top center;
  display:block;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
.res-card:hover .res-card__shot img{transform:scale(1.028)}
.res-card__title{font-family:var(--display,Georgia,serif);font-weight:400;font-size:20px;
  line-height:1.24;color:var(--moss,#2b3a2a);margin:0 0 7px}
.res-card__line{font-family:var(--sans,sans-serif);font-size:13px;line-height:1.6;
  color:var(--ink,#1a1f18);opacity:.7;margin:0 0 10px}
.res-card__go{font-family:var(--sans,sans-serif);font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--sage,#8a9a7b);
  border-bottom:1px solid var(--clay,#b8755a);padding-bottom:2px}

/* ---- landing page ---- */
.res-page{max-width:1120px;margin:0 auto;padding:150px 28px 110px}
.res-page__head{max-width:720px;margin:0 0 52px}
.res-page__title{font-family:var(--display,Georgia,serif);font-weight:300;
  font-size:clamp(30px,4.6vw,50px);line-height:1.1;color:var(--moss,#2b3a2a);margin:0 0 20px}
.res-page__summary{font-family:var(--sans,sans-serif);font-size:16px;line-height:1.75;
  color:var(--ink,#1a1f18);opacity:.85;margin:0}

.res-page__cols{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:64px;
  align-items:start}

.res-page__body h2{font-family:var(--display,Georgia,serif);font-weight:400;font-size:23px;
  line-height:1.25;color:var(--moss,#2b3a2a);margin:38px 0 12px}
.res-page__body h2:first-child{margin-top:0}
.res-page__body p{font-family:var(--sans,sans-serif);font-size:15px;line-height:1.8;
  color:var(--ink,#1a1f18);opacity:.86;margin:0 0 16px}

/* ---- gate ---- */
.res-page__aside{position:sticky;top:104px}
.res-gate{border:1px solid var(--nav-border,rgba(43,58,42,.14));
  border-radius:var(--radius-md,18px);overflow:hidden;background:var(--paper,#faf7f1)}
.res-gate__shot{background:var(--cream,#ebe3d3);max-height:210px;overflow:hidden}
.res-gate__shot img{width:100%;height:auto;display:block;object-position:top center}
.res-gate__form,.res-gate__done{padding:22px 24px 24px}
.res-gate__title{font-family:var(--display,Georgia,serif);font-size:21px;
  color:var(--moss,#2b3a2a);margin:0 0 6px}
.res-gate__note{font-family:var(--sans,sans-serif);font-size:12px;line-height:1.6;
  color:var(--sage,#8a9a7b);margin:0 0 16px}
.res-gate__done .res-gate__note{margin:14px 0 0}

.res-gate .form-field{margin-bottom:13px}
.res-gate label{display:block;font-family:var(--sans,sans-serif);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sage,#8a9a7b);margin-bottom:5px}
.res-gate input[type=text],.res-gate input[type=email]{width:100%;box-sizing:border-box;
  padding:11px 13px;font-family:var(--sans,sans-serif);font-size:14px;
  color:var(--ink,#1a1f18);background:transparent;
  border:1px solid var(--nav-border,rgba(43,58,42,.18));border-radius:10px}
.res-gate input:focus{outline:none;border-color:var(--sage,#8a9a7b);
  box-shadow:0 0 0 3px rgba(138,154,123,.16)}

.res-gate__btn{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:13px 18px;
  border:none;border-radius:999px;background:var(--moss,#2b3a2a);color:var(--paper,#faf7f1);
  font-family:var(--sans,sans-serif);font-size:13.5px;text-align:center;text-decoration:none;
  cursor:pointer;transition:opacity .2s ease}
.res-gate__btn:hover{opacity:.88}
.res-gate__error{font-family:var(--sans,sans-serif);font-size:12.5px;line-height:1.5;
  color:var(--clay,#b8755a);margin:12px 0 0}

.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.res-related{margin-top:26px;padding:20px 24px;
  border:1px solid var(--nav-border,rgba(43,58,42,.12));border-radius:var(--radius-md,18px)}
.res-related__title{font-family:var(--sans,sans-serif);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sage,#8a9a7b);margin:0 0 12px}
.res-related ul{list-style:none;margin:0;padding:0}
.res-related li{margin-bottom:9px}
.res-related a{font-family:var(--sans,sans-serif);font-size:13.5px;line-height:1.5;
  color:var(--ink,#1a1f18);text-decoration:none;
  border-bottom:1px solid var(--nav-border,rgba(43,58,42,.2))}
.res-related a:hover{border-bottom-color:var(--clay,#b8755a)}

@media (max-width:900px){
  .res-page__cols{grid-template-columns:1fr;gap:44px}
  .res-page__aside{position:static}
  .res-hero{padding-top:120px}
  .res-page{padding-top:120px}
  .res-gate__shot{max-height:170px}
}
