/* Direction B, lower half: plan-a-day tool, levels climb, journal, get-the-app, footer. */

/* 04 plan a day: dish shelf left, a receipt-like summary right */
.plan{max-width:1440px}
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(20px,3vw,44px);align-items:start;max-width:1300px}
.pd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:14px}
.pd-tile{position:relative;text-align:left;background:var(--card);border-radius:26px;padding:7px 7px 14px;box-shadow:0 0 0 1px var(--line);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease)}
.pd-tile img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px;margin-bottom:10px}
.pd-tile b{display:block;padding:0 8px;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.15;letter-spacing:-.01em}
.pd-tile small{display:block;padding:4px 8px 0;font-size:13px;color:var(--grey)}
.pd-tile>i{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--card);color:transparent;font-size:18px;box-shadow:0 0 0 1.5px var(--line);transition:background-color 220ms var(--ease),transform 320ms var(--ease)}
.pd-tile:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line),var(--shadow)}
.pd-tile:active{transform:scale(.98)}
.pd-tile[aria-pressed="true"]{box-shadow:0 0 0 2.5px var(--ember)}
.pd-tile[aria-pressed="true"]>i{background:var(--ember);color:var(--onEmber);box-shadow:none;transform:scale(1.08)}
.pd-sum{position:sticky;top:100px;background:var(--card);border-radius:32px;padding:28px;box-shadow:0 0 0 1px var(--line),var(--shadow)}
.pd-empty b{font-family:var(--display);font-size:28px;line-height:1.05;letter-spacing:-.03em}
.pd-empty p{color:var(--grey);margin-top:10px}
.pd-kcal b{display:block;font-family:var(--display);font-weight:900;font-size:84px;line-height:.9;letter-spacing:-.05em;color:var(--ink)}
.pd-kcal span{color:var(--grey);font-size:14px;font-weight:600}
.pd-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;margin:20px 0 16px;gap:3px}
.pd-bar span{border-radius:99px;transition:flex 420ms var(--ease)}
.pd-mac{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pd-mac div{background:var(--ground);border-radius:16px;padding:10px 12px}
.pd-mac i{display:block;width:10px;height:10px;border-radius:50%;margin-bottom:6px}
.pd-mac b{display:block;font-size:18px}
.pd-mac small{font-size:12px;color:var(--grey);font-weight:600}
.pd-shop{margin-top:22px;border-top:1.5px dashed var(--line);padding-top:18px}
.pd-shop h4{display:flex;justify-content:space-between;align-items:baseline;font-size:22px;margin-bottom:8px}
.pd-shop h4 span{font:600 13px var(--body);color:var(--grey);letter-spacing:0}
.pd-shop li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;text-transform:capitalize}
.pd-shop li span:last-child{color:var(--grey);white-space:nowrap;text-transform:none}
.pd-more{margin-top:10px;font-size:13px;color:var(--emberText);font-weight:700}

/* 05 levels: four stops climbing up to the right, like the route itself */
.climb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,28px);align-items:end;max-width:1300px}
.climb li{background:var(--card);border-radius:32px;padding:26px 24px 28px;box-shadow:0 0 0 1px var(--line);border-top:0}
.climb li:nth-child(1){margin-bottom:0}.climb li:nth-child(2){margin-bottom:60px}.climb li:nth-child(3){margin-bottom:120px}.climb li:nth-child(4){margin-bottom:180px}
.climb .n{display:block;font-family:var(--display);font-weight:900;font-size:clamp(64px,8vw,128px);line-height:.85;letter-spacing:-.06em;color:var(--c);font-variation-settings:"opsz" 144}
.climb span{display:block;font-weight:800;font-size:18px;margin-top:14px}
.climb p{color:var(--grey);font-size:15px;margin-top:4px}

/* 06 journal: one lead story as a wide plate, then a row list */
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.cats a{padding:9px 16px;border-radius:999px;background:var(--card);box-shadow:0 0 0 1px var(--line);font-weight:600;font-size:14px;white-space:nowrap;transition:background-color 200ms var(--ease)}
.cats a:hover{background:var(--t-orange)}
.cats a.on{background:var(--ink);color:var(--ground);box-shadow:none}
.lead-post{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;max-width:1300px}
.lead-post img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:40px;transition:transform 900ms var(--ease)}
.lead-post:hover img{transform:scale(.985)}
.lp-txt small,.posts small{color:var(--emberText);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.lp-txt b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(32px,3.6vw,54px);line-height:1;letter-spacing:-.035em;margin:12px 0 16px}
.lp-txt>span{color:var(--grey);font-size:18px}
.posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:clamp(40px,5vw,70px);max-width:1300px}
.posts a{display:block}
.posts img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:26px;margin-bottom:14px;transition:transform 600ms var(--ease)}
.posts a:hover img{transform:rotate(-2deg) scale(1.02)}
.posts b{display:block;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.12;letter-spacing:-.015em;margin-top:6px}

/* the end of the route: ember ground, ink type */
.get{background:var(--ember);color:var(--onEmber);border-radius:56px 56px 0 0;margin-top:40px;padding-top:clamp(60px,8vw,110px)}
.get .stop{background:var(--ink);color:var(--ember);box-shadow:0 0 0 8px var(--ember)}
.get .mega{font-size:clamp(72px,17vw,260px)}
.get-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:40px}
.get-row p{font-size:clamp(18px,1.8vw,24px);max-width:30ch;font-weight:500}

.foot{background:var(--ink);color:#CFC6BD;padding:70px var(--side) 34px}
.foot .cols{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:32px;max-width:none}
.foot .brand{color:var(--ground)}
.foot p{font-size:15px;margin-top:10px;max-width:28ch}
.foot h4{font:800 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ground);margin-bottom:14px}
.foot .cols a{display:block;width:max-content;padding:4px 0;font-size:15px;white-space:nowrap;transition:color 200ms var(--ease)}
.foot .cols a:hover{color:var(--ember)}
.legal{margin-top:60px;font-size:13px;color:#A39A91}

@media (max-width:1000px){
  .pd{grid-template-columns:1fr}.pd-sum{position:relative;top:0}
  .climb{grid-template-columns:repeat(2,minmax(0,1fr))}
  .climb li:nth-child(n){margin-bottom:0}.climb li:nth-child(even){margin-top:40px}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lead-post{grid-template-columns:1fr}
  .foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .cols>div:first-child{grid-column:1/-1}
}
@media (max-width:520px){
  .pd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pd-tile b{font-size:15px}.pd-tile small{font-size:12px}
  .climb{gap:10px}.climb li{padding:20px 16px;border-radius:24px}
  .posts{gap:14px}.posts b{font-size:17px}
  .get{border-radius:36px 36px 0 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:1ms !important;animation-duration:1ms !important}
}
/* page doors: cards linking to the site's pages */
.door-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:40px}
.door-list a{display:flex;flex-direction:column;gap:8px}
.door-list img{aspect-ratio:3/4;object-fit:cover;border-radius:24px;width:100%;transition:transform 300ms var(--ease)}
.door-list a:hover img{transform:translateY(-4px)}
.door-list small{font-size:14px;font-weight:800;color:var(--emberText)}
.door-list b{font-family:var(--display);font-size:22px;line-height:1.15}
