.family-theme-library{grid-column:1/-1;margin-top:12px;padding:28px;border:1px solid #d4dfca;border-radius:22px;background:#f8faf0;min-width:0;color:#2c5149}
.family-theme-library .dark-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #2d6c56;background:#2d6c56;color:#fff;border-radius:24px;padding:11px 18px;font-family:inherit;font-weight:700;cursor:pointer}
.family-theme-library .outline-button{color:#315c45;background:#fffdf6;border-color:#b9cdb0}
.family-adventure-skip:not(:focus){clip-path:inset(50%);pointer-events:none}
@media(max-width:540px){.family-theme-library{padding:20px 14px}}
.family-themes-heading{max-width:790px;margin-bottom:25px}.family-themes-heading h2{font-size:clamp(27px,3.5vw,41px);line-height:1.2;margin:0 0 15px}.family-themes-heading>p{font-size:16px;line-height:1.8}.family-themes-heading .section-kicker{color:#587049;font-size:12px;margin:0 0 12px;letter-spacing:.08em}
.family-themes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.family-theme-card{min-width:0;border:1px solid #cdd9c7;background:#fffdf6;border-radius:21px;overflow:hidden}.family-theme-card[hidden]{display:none}.family-theme-card>img{width:100%;height:215px;object-fit:cover;display:block}.family-theme-card-copy{padding:25px}.family-theme-age{display:inline-block;font-size:12px;font-weight:700;color:#526b42;padding:6px 10px;border-radius:15px;background:#eaf0e1}.family-theme-card h3{font:700 28px/1.25 'DM Sans',Arial,sans-serif;margin:15px 0;color:#2c5149;overflow-wrap:anywhere}.family-theme-card p{font-size:16px;line-height:1.75;color:#415f51;margin:0 0 15px}.family-theme-card .family-theme-time{font-size:13px;color:#5a704c}.family-theme-card ul{padding-left:20px;margin:17px 0 22px}.family-theme-card li{font-size:14px;line-height:1.7;color:#496548;margin:6px 0}.family-theme-guide{font-size:14px;line-height:1.6;color:#315d45;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0;min-height:44px;align-content:center}.family-theme-card [data-family-theme-actions]{margin-top:16px}.family-theme-card [data-family-theme-actions]>p{font-size:13px;line-height:1.7;margin:8px 0;color:#64724f}.family-theme-card button{min-height:46px;max-width:100%;white-space:normal;font-size:14px;line-height:1.6;height:auto;text-align:center;justify-content:center}.family-theme-card button:disabled{opacity:.6;cursor:not-allowed}.family-theme-active{display:inline-block;background:#e0eddb;padding:10px 14px;border-radius:12px;font-size:14px;color:#355f3e;font-weight:700}
.family-theme-preview{padding:27px;border:1px solid #bdcda7;background:#f3f6e9;border-radius:19px;margin-bottom:20px}.family-theme-preview[hidden]{display:none}.family-theme-preview h3{font:700 25px/1.3 'DM Sans',Arial,sans-serif;margin:0 0 14px;color:#2c5149}.family-theme-preview p,.family-theme-preview li{font-size:15px;line-height:1.8;color:#456144}.family-theme-preview ul{padding-left:22px}.family-theme-preview-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.family-theme-preview-actions button,.family-theme-preview [data-theme-age-focus],#familyThemeUndo{font-size:14px;line-height:1.7;min-height:46px;height:auto;max-width:100%;white-space:normal;text-align:center;justify-content:center}.family-theme-preview-actions button:disabled{opacity:.55;cursor:not-allowed}.family-theme-status{font-size:14px;line-height:1.8;color:#45613e;margin:0 0 17px}.family-theme-status:empty{display:none}#familyThemeUndo{margin:0 0 23px}.family-theme-library :is(button,a):focus-visible,.family-theme-library h3[tabindex="-1"]:focus-visible{outline:3px solid #83a86b;outline-offset:4px}.family-theme-library{scroll-margin-top:105px}.family-plan-theme-title{font-size:21px;font-weight:700;color:#355a41;margin:17px 0;line-height:1.5}.family-plan-story{padding:20px;border:1px solid #cbd8bd;border-radius:16px;background:#fff9e8;margin-top:22px;color:#35563e}.family-plan-story h3{font-size:19px;line-height:1.5;margin:5px 0 12px}.family-plan-story>small{font-size:12px;color:#5e714c}.family-plan-story p{font-size:14px;line-height:1.8;margin:0 0 12px}.family-plan-story a{font-size:15px;font-weight:700;color:#315e43;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-block:7px;line-height:1.7}.family-plan-story .family-story-url{display:block;font-size:11px;overflow-wrap:anywhere;color:#657455}
.family-adventure-page{margin:0;background:#fffaf1;color:#2c5149;font-family:'DM Sans',Arial,sans-serif}.family-adventure-page *{box-sizing:border-box}.family-adventure-page a{color:#315f48;text-underline-offset:4px}.family-adventure-header{max-width:1170px;margin:auto;padding:24px 18px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #dedfce}.family-adventure-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:750;text-decoration:none;white-space:nowrap}.family-adventure-header nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.family-adventure-header nav a{padding:10px 12px;border-radius:20px;font-size:13px;text-decoration:none;min-height:44px;align-content:center}.family-adventure-header nav a[aria-current]{background:#e4eddc;color:#315b40;font-weight:700}.family-adventure-skip{position:fixed;top:-100px;left:16px;z-index:40;padding:15px;background:#fff4cd;border:2px solid #63824f;border-radius:10px}.family-adventure-skip:focus{top:14px}.family-adventure-page main{max-width:1170px;margin:auto;padding:32px 18px 70px;outline:none}.family-adventure-back{font-size:14px;display:inline-block;padding:10px 0;min-height:44px}.family-adventure-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin:26px 0 38px}.family-adventure-hero h1{font-size:clamp(32px,4.8vw,56px);line-height:1.12;margin:0 0 20px;overflow-wrap:anywhere}.family-adventure-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;color:#5a704a;margin:0 0 15px;line-height:1.6}.family-adventure-lead{font-size:20px;line-height:1.75;margin:0 0 20px}.family-adventure-facts{font-size:14px;line-height:1.8;color:#5d714f;margin:0 0 23px}.family-adventure-hero>img{width:100%;height:375px;object-fit:cover;border-radius:23px}.family-adventure-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:14px 20px;background:#2d6c56;color:#fff!important;border-radius:25px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.6;text-align:center}.family-adventure-intro{max-width:830px;font-size:21px;line-height:1.85;margin:28px 0}.family-adventure-toc{display:flex;flex-wrap:wrap;gap:12px;padding:22px;border:1px solid #d3ddc7;border-radius:16px;background:#eff3e7;margin:28px 0 40px}.family-adventure-toc a{padding:10px 12px;background:#fffdf5;border:1px solid #d3ddc7;border-radius:12px;min-height:44px;font-size:14px;line-height:1.7;text-decoration:none}.family-adventure-page h2{font-size:29px;line-height:1.3;margin:0 0 22px}.family-adventure-page h3{font-size:24px;line-height:1.4;margin:0 0 15px}.family-adventure-page h4{font-size:14px;line-height:1.7;margin:0 0 10px}.family-adventure-page :is(section,aside){scroll-margin-top:24px;outline:none}.family-adventure-stops{padding:0;list-style:none;display:grid;gap:24px;margin:0 0 35px}.family-adventure-stops>li{padding:29px;border:1px solid #d0ddc6;border-radius:21px;background:#fffef8;min-width:0}.family-adventure-stop-heading{display:flex;gap:16px;align-items:start;margin-bottom:16px}.family-adventure-stop-heading>span{width:43px;height:43px;border-radius:50%;background:#e4eddc;display:grid;place-items:center;font-size:14px;flex-shrink:0}.family-adventure-stop-heading small{font-size:13px;color:#627449;display:block;margin-bottom:7px}.family-adventure-stops>li>p{font-size:19px;line-height:1.85;margin:0 0 22px}.family-adventure-prep{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:22px;background:#f1f4e9;border-radius:15px;margin:20px 0}.family-adventure-prep p,.family-adventure-prep li{font-size:15px;line-height:1.8;margin:0}.family-adventure-prep ul{padding-left:20px;margin:0}.family-adventure-stops>li>a{font-size:15px;font-weight:700;line-height:1.7;display:inline-block;padding-block:10px;min-height:44px}.family-adventure-story{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center;padding:25px;border:1px solid #d7d3b6;background:#fff5df;border-radius:22px;margin:34px 0}.family-adventure-story>img{width:100%;height:205px;object-fit:cover;border-radius:15px}.family-adventure-story p:not(.family-adventure-kicker),.family-adventure-finish p,.family-adventure-safety p{font-size:18px;line-height:1.85;margin:0 0 18px}.family-adventure-story a{font-size:15px;font-weight:700;line-height:1.7;display:inline-block;padding-block:8px;min-height:44px}.family-adventure-finish{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin:40px 0}.family-adventure-finish h3{font-size:19px;margin:24px 0 12px}.family-adventure-safety{padding:27px;background:#edf2e5;border:1px solid #d0ddc3;border-radius:18px;margin:30px 0}.family-adventure-safety h2{font-size:23px}.family-adventure-page :is(a,[tabindex]):focus-visible{outline:3px solid #7b9e64;outline-offset:5px}.family-adventure-page p,.family-adventure-page h2,.family-adventure-page h3{overflow-wrap:anywhere}
@media(max-width:800px){.family-themes-grid{grid-template-columns:1fr}.family-theme-card{display:grid;grid-template-columns:210px 1fr}.family-theme-card>img{height:100%;min-height:240px}.family-adventure-hero{grid-template-columns:1fr;gap:26px}.family-adventure-hero>img{height:auto;max-height:420px;object-fit:cover}.family-adventure-story{grid-template-columns:1fr}.family-adventure-story>img{height:auto;max-height:350px}.family-adventure-header{align-items:start;flex-direction:column}.family-adventure-header nav{justify-content:flex-start}.family-adventure-finish{grid-template-columns:1fr;gap:20px}}
@media(max-width:540px){.family-theme-card{display:block}.family-theme-card>img{height:195px;min-height:0}.family-theme-card-copy{padding:22px}.family-theme-card h3{font-size:25px}.family-theme-preview{padding:22px 17px}.family-theme-preview-actions{display:grid}.family-themes-heading h2{font-size:28px}.family-adventure-page main{padding:22px 16px 50px}.family-adventure-header{padding:18px 16px}.family-adventure-header nav{gap:3px}.family-adventure-header nav a{font-size:12px;padding:10px}.family-adventure-hero{margin:20px 0 26px}.family-adventure-hero h1{font-size:34px}.family-adventure-lead,.family-adventure-intro{font-size:19px}.family-adventure-toc{padding:15px;gap:9px}.family-adventure-toc a{width:100%;font-size:13px}.family-adventure-stops>li{padding:22px 17px}.family-adventure-stop-heading{gap:12px}.family-adventure-page h2{font-size:26px}.family-adventure-page h3{font-size:23px}.family-adventure-prep{grid-template-columns:1fr;padding:18px;gap:20px}.family-adventure-stops>li>p{font-size:18px}.family-adventure-story{padding:20px 17px}.family-adventure-safety{padding:22px 17px}.family-adventure-story p:not(.family-adventure-kicker),.family-adventure-finish p,.family-adventure-safety p{font-size:17px}}
@media print{.family-adventure-page{background:#fff;color:#111}.family-adventure-header nav,.family-adventure-skip,.family-adventure-back,.family-adventure-button,.family-adventure-toc{display:none}.family-adventure-page main{max-width:none;padding:0}.family-adventure-header{padding:0 0 7mm}.family-adventure-hero{grid-template-columns:1.5fr 1fr;gap:8mm;margin:5mm 0}.family-adventure-hero h1{font-size:25pt}.family-adventure-hero>img{height:auto;max-height:55mm}.family-adventure-lead,.family-adventure-intro{font-size:12pt;line-height:1.7}.family-adventure-page h2{font-size:17pt}.family-adventure-page h3{font-size:14pt}.family-adventure-stops>li{padding:5mm;break-inside:avoid}.family-adventure-prep{padding:4mm;gap:6mm}.family-adventure-stops>li>p,.family-adventure-story p:not(.family-adventure-kicker),.family-adventure-finish p,.family-adventure-safety p{font-size:11pt;line-height:1.7}.family-adventure-prep p,.family-adventure-prep li{font-size:10pt}.family-adventure-story{grid-template-columns:45mm 1fr;padding:5mm;gap:6mm;break-inside:avoid}.family-adventure-story>img{height:auto}.family-adventure-finish{grid-template-columns:1fr 1fr;gap:7mm}.family-adventure-safety{padding:5mm;break-inside:avoid}.family-plan-print-sheet .family-plan-story{break-inside:avoid;padding:4mm}.family-plan-print-sheet .family-story-url{font-size:9pt;display:block;overflow-wrap:anywhere}}
