/* Homepage layout: original art, Fraunces and Fredoka. */
.home{--max:1280px}
.home :is(a,button,input,select):focus-visible{outline:3px solid #215a83;outline-offset:4px}
.home .skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.home .review-strip{font-size:12px;min-height:30px}
.home .site-header{height:82px}
.home .site-header nav{font-size:15px}
.home .site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.home .site-header nav .guide-link{display:inline-flex}
.home-welcome{display:grid;grid-template-columns:46% 54%;align-items:center;padding-block:8px 32px}
.welcome-copy{padding-right:26px}
.welcome-copy .eyebrow{font-size:13px;letter-spacing:0;gap:7px;margin-bottom:16px}
.tiny-sun{font-size:21px;color:#946226;line-height:1}
.home .welcome-copy h1{font-size:clamp(43px,4.4vw,63px);line-height:1.08;letter-spacing:-2px;margin:0 0 18px}
.welcome-copy h1 em{font-weight:450;color:#44634f}
.welcome-copy>p:not(.eyebrow):not(.welcome-note){font-size:17px;line-height:1.65;margin-bottom:20px}
.welcome-copy .button{font-size:16px;min-height:48px;padding:12px 20px;gap:22px}
.welcome-note{font-size:13px;color:#526357;margin:12px 0 0}
.oak-scene{margin:0;min-width:0;position:relative;padding-bottom:22px}
.oak-scene>img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:54px 18px 18px 18px}
.oak-scene figcaption{position:absolute;bottom:0;left:26px;right:18px;border:1px solid #e8dcc7;border-radius:12px;background:#fffaf0;box-shadow:0 6px 20px #3a42200d;padding:10px 14px;color:#41513c;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px}
.scene-leaf{font-size:20px;color:#946226}

/* Keep the path from the welcome to the first real game short. */
.collection-section{padding-block:26px 60px;border-top:1px solid var(--line)}
.collection-heading{margin-bottom:18px}
.collection-heading h2{font-size:36px;margin:0}
.discovery-tools{display:grid;grid-template-columns:minmax(220px,1fr) 175px minmax(200px,250px);gap:14px;align-items:end;margin:0}
.field{min-width:0}
.field label:not(.sr-only){display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px}
.input-shell{position:relative}
.input-shell svg{position:absolute;width:20px;height:20px;left:14px;top:14px;stroke:#5b6b72;stroke-width:1.6;fill:none;pointer-events:none}
.field input,.field select{width:100%;height:48px;border:1px solid #aab5af;background:#fffdfa;color:var(--navy);border-radius:10px;font:16px 'Segoe UI',sans-serif}
.field input{padding:0 12px 0 43px}
.field input::placeholder{color:#627068;opacity:1}
.field select{padding:0 10px}
.collection-meta{display:flex;justify-content:space-between;gap:16px;margin:14px 0 18px;font-size:13px;color:#59635d}
.collection-meta p{margin:0}
.adventure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px}
.adventure-card{border:1px solid #dedccc;background:#fffdf9;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,border-color .2s}
.adventure-card:hover{box-shadow:0 12px 35px #344c3b10;border-color:#b8c3b7}
.adventure-picture{position:relative;display:block;width:100%;padding:0;border:0;background:#eee6d5;overflow:hidden;aspect-ratio:16/10;flex-shrink:0;cursor:pointer}
.adventure-picture img{display:block;width:100%;height:100%;object-fit:contain}
.home .adventure-picture:focus-visible{outline-offset:-5px}
.age-badge{position:absolute;left:14px;bottom:14px;background:#fffaf2;color:#284536;box-shadow:0 2px 8px #15281915;padding:5px 10px;border-radius:8px;font-size:13px;font-weight:650}
.adventure-body{padding:22px;display:flex;flex-direction:column;flex:1}
.adventure-body .skill-label{font-size:13px;font-weight:600;letter-spacing:0;color:#52694f;margin:0 0 10px}
.adventure-body h3{font:500 29px/1.16 Fraunces,Georgia,serif;color:var(--navy);letter-spacing:-.6px;margin:0 0 12px}
.adventure-action{font-size:16px;line-height:1.6;margin:0 0 20px;color:#4b5952}
.adventure-bottom{margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.adventure-link{border:1px solid #304f3e;border-radius:100px;background:#304f3e;color:#fff;white-space:nowrap;font-size:15px;font-weight:600;padding:10px 19px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:18px}
.adventure-link:hover{background:#223e2f}
.adventure-link.material-link{color:var(--navy);background:transparent;border-color:#a4aea0}
.adventure-link.material-link:hover{background:#e5eadc}

/* Aro is the complete example set, with verified material previews. */
.adventure-set{grid-column:1/-1;display:grid;grid-template-columns:1.08fr 1fr;background:#edf0e3;border-color:#cdd4bd;align-items:center}
.adventure-set .adventure-picture{border-radius:0 32px 32px 0;background:#e8e0c8}
.adventure-set .adventure-body{padding:28px 32px}
.adventure-set h3{font-size:42px}
.adventure-set .adventure-bottom{margin-top:0}
.adventure-set .adventure-bottom{gap:10px}
.adventure-set .adventure-link{padding-inline:16px;gap:12px}
.set-preview{display:flex;align-items:center;gap:18px;margin-top:24px;padding-top:18px;border-top:1px solid #cdd4bd}
.set-thumbnails{display:flex;align-items:center;width:155px;flex-shrink:0}
.set-thumbnails img{width:58px;height:78px;object-fit:contain;filter:drop-shadow(0 3px 3px #31432122);transform:rotate(-7deg)}
.set-thumbnails img+img{margin-left:-10px;transform:rotate(5deg)}
.set-thumbnails img:last-child{transform:rotate(-3deg)}
.set-preview p{font-size:13px;line-height:1.6;color:#465742;margin:0}
.set-preview strong{display:block;font-size:14px;color:var(--navy);margin-bottom:5px}
.empty-state{border:1px dashed #b4beb1;border-radius:20px;background:#f3f3e9;padding:32px;text-align:center}
.empty-state img{margin:0 auto 15px;object-fit:contain}
.empty-state h3{font:500 30px Fraunces,serif;margin-bottom:12px;color:var(--navy)}
.load-error{padding:25px;background:#f2eddf;border-radius:14px}

.home-library{background:#f0e9dc;padding:54px 0 60px;border-block:1px solid #e4ddcf}
.home-library .eyebrow{font-size:13px}
.home-library h2{font-size:40px}
.library-intro{font-size:16px;line-height:1.7}
.library-intro p{margin-bottom:10px}
.home .text-link{font-size:15px}
.home-materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-material{border:1px solid #e1d9cc;border-radius:17px;overflow:hidden;background:#fffaf2;display:flex;flex-direction:column;min-width:0}
.paper-preview{height:290px;padding:24px 30px;display:flex;justify-content:center;align-items:center;background:#e6d8bf}
.paper-preview img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;filter:drop-shadow(1px 8px 9px #38312628);transform:rotate(-4deg)}
.sky-tint .paper-preview{background:#e0e9e9}
.sky-tint .paper-preview img{transform:rotate(4deg)}
.sage-tint .paper-preview{background:#e2e6d5}
.sage-tint .paper-preview img{transform:rotate(-3deg)}
.home-material-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.home-material-copy .eyebrow{font-size:12px;margin-bottom:12px;letter-spacing:0}
.home-material-copy h3{font:500 28px/1.18 Fraunces,serif;color:var(--navy);letter-spacing:-.5px;margin-bottom:12px}
.home-material-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;color:#536052;margin-bottom:20px}
.home-material-copy .text-link{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #e4e0d5;padding-top:14px;align-items:center;min-height:44px}
.home .text-link small{font-size:12px;font-weight:400;color:#536052;white-space:nowrap}
.home-grown-ups{display:grid;grid-template-columns:44% 56%;padding-block:60px}
.grown-up-heading{padding-right:48px}
.grown-up-heading .eyebrow{font-size:13px}
.grown-up-heading h2{font-size:39px;margin-bottom:20px}
.grown-up-heading>p:not(.eyebrow){font-size:16px;line-height:1.7}
.parent-guide-button{display:flex;width:fit-content;font-size:16px;min-height:49px;margin:22px 0 18px;padding:13px 20px}
.grown-up-heading>.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.grown-up-notes{padding:0 0 0 32px;border-left:1px solid #d8ddd2}
.grown-up-notes>div{position:relative;padding:0 0 22px 43px;margin-bottom:22px;border-bottom:1px solid #dedfd6}
.grown-up-notes>div:last-child{border:0;margin:0;padding-bottom:0}
.grown-up-notes span{position:absolute;left:0;top:1px;font:500 24px Fraunces,serif;color:#8a6c38}
.grown-up-notes h3{font:500 23px/1.3 Fraunces,serif;color:var(--navy);margin-bottom:8px}
.grown-up-notes p{font-size:16px;line-height:1.7;color:#536052;margin:0}
.home footer{padding-block:28px;font-size:14px}
#home-game-dialog{width:calc(100% - 24px);max-width:1600px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:16px;overflow:hidden}
.home-game-head{height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:16px;border-bottom:1px solid var(--line)}
.home-game-head h2{font:500 20px Fredoka,sans-serif;letter-spacing:0}
.home-game-head .small-button{display:inline-flex;align-items:center;justify-content:center;gap:12px}
#home-game-frame{height:calc(100% - 64px)}
#home-game-frame iframe{border:0;display:block;width:100%;height:100%}

@media(min-width:1101px){
  .collection-section{display:grid;grid-template-columns:1fr 1.8fr;column-gap:28px;align-items:end}
  .collection-heading{margin:0 0 5px}
  .discovery-tools{grid-template-columns:minmax(175px,1fr) 135px minmax(170px,205px)}
  .collection-meta,.adventure-grid,.empty-state,.load-error,.collection-section>noscript{grid-column:1/-1}
}
@media(max-width:1100px){
  .home .wrap{width:calc(100% - 56px)}
  .home-welcome{grid-template-columns:45% 55%}
  .home .welcome-copy h1{font-size:48px}
  .desktop-break{display:none}
  .oak-scene figcaption{position:static;box-shadow:none;margin-top:8px;padding:8px 12px;font-size:12px}
  .oak-scene{padding-bottom:0}
  .adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .adventure-set .adventure-body{padding:24px}
  .adventure-set h3{font-size:34px}
  .set-preview{gap:10px}
  .set-thumbnails{width:90px}
  .set-thumbnails img{width:38px;height:63px}
  .set-thumbnails img+img{margin-left:-8px}
  .home-materials{gap:18px}
  .paper-preview{height:240px;padding:20px}
  .home-material-copy{padding:20px}
  .grown-up-heading{padding-right:28px}
}
@media(max-width:760px){
  .home .wrap{width:calc(100% - 36px)}
  .home .review-strip{font-size:12px;padding-inline:18px}
  .home .site-header{height:auto;min-height:100px;flex-wrap:wrap;padding-block:14px 6px;gap:6px}
  .home .site-header .wordmark{font-size:29px}
  .home .site-header nav{width:100%;gap:26px;justify-content:flex-start;font-size:14px}
  .home .site-header nav a{display:inline-flex;min-height:44px}
  .home .header-button{display:none}
  .home-welcome{grid-template-columns:1fr;gap:12px;padding-block:12px 24px}
  .welcome-copy{display:contents}
  .welcome-copy .eyebrow{grid-row:1;font-size:13px;line-height:1.5;margin:0}
  .home .welcome-copy h1{grid-row:2;font-size:clamp(38px,10.6vw,54px);margin:0;letter-spacing:-1.5px}
  .home .welcome-copy h1 br{display:block}
  .oak-scene{grid-row:3;margin:0}
  .oak-scene>img{border-radius:28px 12px 12px 12px}
  .oak-scene figcaption{display:none}
  .welcome-copy>p:not(.eyebrow):not(.welcome-note){grid-row:4;font-size:16px;line-height:1.6;margin:0}
  .welcome-copy .button{grid-row:5;justify-self:start}
  .welcome-note{grid-row:6;font-size:13px;margin:0}
  .collection-section{padding-block:22px 36px}
  .collection-heading{margin-bottom:16px}
  .collection-heading h2{font-size:32px}
  .discovery-tools{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px 12px}
  .search-field{grid-column:1/-1}
  .field input,.field select{font-size:16px}
  .field select{padding-inline:8px}
  .collection-meta{font-size:12px;align-items:flex-start;gap:12px;margin-block:12px 16px}
  .collection-meta>p:last-child{max-width:165px;text-align:right}
  .adventure-grid{gap:22px}
  .adventure-body{padding:20px}
  .adventure-body h3{font-size:28px}
  .adventure-set{display:flex}
  .adventure-set .adventure-picture{border-radius:0}
  .adventure-set .adventure-body{padding:22px}
  .adventure-set h3{font-size:32px}
  .adventure-set .adventure-action{margin-bottom:16px}
  .set-preview{gap:14px;margin-top:20px;padding-top:18px}
  .set-thumbnails{width:103px}
  .set-thumbnails img{width:43px;height:74px}
  .home-library{padding-block:36px}
  .home-library h2{font-size:34px}
  .home-library .section-heading{gap:20px}
  .home-materials{grid-template-columns:1fr;gap:22px}
  .home-material{display:grid;grid-template-columns:40% 60%}
  .paper-preview{height:100%;padding:20px 16px}
  .home-material-copy{padding:22px}
  .home-grown-ups{grid-template-columns:1fr;padding-block:36px;gap:28px}
  .grown-up-heading{padding:0}
  .grown-up-heading h2{font-size:34px}
  .grown-up-notes{border-left:0;border-top:1px solid #dedfd6;padding:26px 0 0}
  .home-game-head{height:82px;padding:10px 12px;gap:10px}
  .home-game-head h2{font-size:17px;max-width:50%}
  .home-game-head .small-button{font-size:13px;min-height:46px;max-width:155px;padding:8px 12px}
  #home-game-frame{height:calc(100% - 82px)}
}
@media(max-width:500px){
  .adventure-grid{grid-template-columns:1fr}
  .home-material{display:flex}
  .paper-preview{height:275px;min-height:0;padding:22px}
  .home-material-copy h3{font-size:29px}
  .home footer{gap:16px}
}
@media(prefers-reduced-motion:reduce){.adventure-card{transition:none}}
