@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,30,1;9..144,700,30,1&display=swap');
:root{--cream:#fff9ed;--ink:#493124;--teal:#447e78;--peach:#f7d9c7;--sage:#e3edda;--yellow:#f9e8b8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}a{color:inherit}header{background:#fffdf8;border-bottom:1px solid #e9dfd1;position:sticky;top:0;z-index:5}.nav{max-width:1160px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:25px;text-decoration:none;line-height:1.05}.brand span{color:#d98368}.links{display:flex;gap:24px;flex-wrap:wrap}.links a{text-decoration:none;font-weight:600;font-size:14px}.links a:hover,.links a:focus{color:#a95b47}main{max-width:1160px;margin:auto;padding:28px 24px 70px}.hero{background:linear-gradient(115deg,#fbe5d1,#fdf4df 60%,#e7f0e4);border-radius:28px;padding:50px;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--teal);font-size:13px}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:12px 0}h1{font-size:clamp(40px,5vw,68px)}h2{font-size:clamp(30px,3.6vw,44px)}h3{font-size:24px}.hero p{font-size:18px;max-width:540px}.hero img{width:100%;height:380px;object-fit:cover;object-position:center 35%;border:9px solid #fff;border-radius:24px;box-shadow:0 12px 28px #6c514333;transform:rotate(2deg)}.btn{display:inline-block;background:var(--teal);color:white;text-decoration:none;font-weight:700;border-radius:40px;padding:13px 23px;margin:10px 10px 0 0}.btn.secondary{background:white;color:var(--teal);border:2px solid var(--teal)}.section{margin-top:58px}.intro{max-width:700px;font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.card{background:#fff;border:1px solid #ecdfd1;border-radius:22px;padding:23px;box-shadow:0 5px 18px #6c51430b}.card:nth-child(2){background:#e8f1ed}.card:nth-child(3){background:#fff1d4}.card .emoji{font-size:36px}.feature{background:#f9ebdf;border-radius:28px;padding:32px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo{background:white;padding:8px 8px 14px;border-radius:9px;box-shadow:0 5px 14px #51392320;min-width:0}.photo img{width:100%;height:180px;object-fit:cover;border-radius:4px}.photo b{display:block;text-align:center;padding-top:8px;font-family:Fraunces,Georgia,serif}.small{font-size:13px;color:#765d4d}.story{max-width:770px;margin:28px auto;font-size:18px}.story p{margin-bottom:20px}.video{background:#e7f0e9;border-radius:24px;padding:30px;text-align:center}.video iframe{width:100%;max-width:340px;height:560px;border:0;border-radius:18px;background:#222}.footer{background:#3f6e68;color:white;padding:35px 24px;text-align:center}.footer a{color:white}.note{font-size:13px;color:#6e5a4a}.sketch{font-size:70px;line-height:1.2} @media(max-width:800px){.hero,.feature{grid-template-columns:1fr}.hero{padding:28px}.hero img{height:300px}.cards{grid-template-columns:1fr}.links{gap:12px}.nav{align-items:flex-start;flex-direction:column}.photo img{height:130px}}@media(max-width:470px){.photos{gap:6px}.photo{padding:5px}.photo img{height:100px}.photo b{font-size:12px}.hero{padding:22px}main{padding:16px 14px 45px}}/* Keep Merlin's entire face and ears visible in the story photographs. */
.photo img{height:220px;object-fit:contain;object-position:center center;background:#f8f0e6;display:block}
.hero img{object-position:center top}
@media(max-width:800px){.photo img{height:190px}}
@media(max-width:470px){.photo img{height:125px}}

/* Whimsical banner-led homepage update */
.banner-hero{width:100%;overflow:hidden;border-radius:24px;background:#f7e8d7;box-shadow:0 8px 25px #6c51431c}.banner-hero img{width:100%;height:auto;display:block}.welcome{text-align:center;padding:30px 24px 12px;max-width:820px;margin:auto}.welcome h1{font-size:clamp(34px,4vw,52px);margin:8px 0}.welcome p{font-size:18px;margin:10px auto;max-width:680px}.welcome .btn{margin-top:12px}.about{background:#e8f1ed;border-radius:24px;padding:30px 36px}.about p{max-width:760px;font-size:17px}.card{transition:transform .15s ease}.card:hover{transform:translateY(-2px)}@media(max-width:600px){.banner-hero{border-radius:14px}.welcome{padding:25px 8px 4px}.welcome p{font-size:16px}.about{padding:24px}}
