:root { --ink:#342d38; --muted:#746a77; --paper:#fbf8f6; --raspberry:#a94f73; --blush:#f3dbe4; --lavender:#e8e0f2; --line:#ded4dc; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 "Avenir Next","Trebuchet MS",Arial,sans-serif; }
a { color:var(--raspberry); text-underline-offset:4px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--raspberry); outline-offset:5px; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:500; line-height:1.15; }
h1 { font-size:clamp(2.8rem,6vw,4.5rem); margin:12px 0 20px; }
h2 { font-size:clamp(1.6rem,3vw,2.35rem); margin:0 0 24px; }
h3 { font-size:1.55rem; margin:0 0 12px; }
p { margin:0 0 16px; }
.skip-link { position:absolute; top:-100px; left:16px; z-index:2; background:white; padding:12px; }
.skip-link:focus { top:12px; }
.theme-header { background:white; padding:12px max(16px,calc((100% - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.theme-header img { width:94px; }
.theme-header nav { display:flex; gap:6px; flex-wrap:wrap; }
.theme-header nav a { padding:10px 12px; min-height:44px; border-radius:999px; font-weight:700; text-decoration:none; }
.theme-header [aria-current] { background:var(--lavender); color:var(--ink); }
main { width:min(1120px,calc(100% - 32px)); margin:24px auto 60px; }
.theme-breadcrumbs { color:var(--muted); font-size:.9rem; }
.theme-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:64px; align-items:center; margin:36px 0 64px; }
.theme-eyebrow { color:var(--raspberry); font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.theme-hero-line { font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; }
.theme-hero-paper { margin:0 auto; width:min(100%,330px); background:white; border:1px solid var(--line); padding:12px; box-shadow:0 16px 40px #342d3812; border-radius:8px; transform:rotate(3deg); }
.theme-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin:26px 0; }
.theme-button { display:inline-flex; min-height:48px; padding:12px 20px; align-items:center; justify-content:center; border-radius:999px; background:var(--raspberry); color:white; font-weight:700; text-decoration:none; text-align:center; }
.theme-promises { display:flex; gap:8px; flex-wrap:wrap; list-style:none; padding:0; }
.theme-promises li { background:var(--lavender); padding:6px 12px; border-radius:999px; font-size:.85rem; }
#colorings { scroll-margin-top:24px; }
.theme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.theme-card { background:white; border:1px solid var(--line); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; }
.theme-picture { display:block; background:white; padding:20px; }
.theme-picture img { width:100%; aspect-ratio:1055/1491; object-fit:contain; }
.theme-card-copy { padding:0 24px 24px; flex:1; display:flex; flex-direction:column; }
.species-name { color:var(--muted); font-size:.92rem; }
.theme-fact { font-size:.94rem; }
.theme-fact a { display:block; font-size:.82rem; margin-top:6px; }
.theme-card .theme-button { margin-top:auto; font-size:.93rem; }
.theme-download { display:block; text-align:center; padding:12px 6px 0; min-height:44px; }
.theme-guides { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:64px 0; }
.theme-guides section { padding:28px; border-radius:20px; background:var(--lavender); }
.theme-guides section:nth-child(2) { background:var(--blush); }
.theme-guides ol { margin:0; padding-left:20px; }
.theme-guides li { padding:0 0 10px 8px; }
.theme-faq details { border-top:1px solid var(--line); padding:16px 0; }
.theme-faq details:last-child { border-bottom:1px solid var(--line); }
.theme-faq summary { cursor:pointer; font-weight:700; min-height:28px; }
.theme-faq details p { margin:14px 0 4px; max-width:780px; }
.theme-related { margin:48px 0; }
.theme-related a { display:inline-block; background:white; border:1px solid var(--line); border-radius:999px; padding:10px 18px; margin:0 8px 10px 0; text-decoration:none; min-height:44px; }
.theme-footer { padding:28px 16px; border-top:1px solid var(--line); background:white; text-align:center; color:var(--muted); }
@media (max-width:900px) { .theme-hero { gap:28px; } .theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .theme-header { padding:12px 16px; gap:12px; } .theme-header img { width:72px; } .theme-header nav { gap:0; } .theme-header nav a { padding:10px 8px; } .theme-hero { grid-template-columns:1fr; margin:28px 0 48px; gap:24px; } .theme-hero-paper { width:220px; } .theme-grid,.theme-guides { grid-template-columns:1fr; } .theme-guides { margin:40px 0; } .theme-actions { gap:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
